/* 8.6.8: compact reading, explicit purchase state and consistent interactive contrast. */
body.scc-template-edition.single-product div.product .woocommerce-tabs { padding-top: 0; margin-top: 1.5rem; }
body.scc-template-edition.single-product #tab-description {
  padding: clamp(.9rem,1.7vw,1.4rem); border-top-width: 3px; tab-size: 4;
}
body.scc-template-edition.single-product #tab-description > p { margin-block: .7rem; font-size: .94rem; line-height: 1.65; }
body.scc-template-edition.single-product #tab-description > :is(ul,ol) { margin-block: .8rem; gap: .5rem; }
body.scc-template-edition.single-product #tab-description > :is(ul,ol) > li {
  padding: .6rem .8rem .6rem 2.1rem; border-radius: .5rem; font-size: .9rem; line-height: 1.6;
}
body.scc-template-edition.single-product #tab-description > ul > li::before { left: .65rem; top: .82rem; width: .9rem; height: .9rem; background-size: .8rem; }
body.scc-template-edition.single-product #tab-description :is(h2,h3,h4,h5,h6) {
  margin-block: 1rem .45rem; padding-bottom: .3rem; line-height: 1.3; color: #285c65;
  border-bottom: 1px solid #d4e8e3; font-size: 1.1rem;
}
body.scc-template-edition.single-product #tab-description h2 { font-size: 1.3rem; }
body.scc-template-edition.single-product #tab-description h3 { font-size: 1.18rem; }
body.scc-template-edition.single-product #tab-description li :is(ul,ol) {
  display: block; padding-left: 1.1rem; margin-block: .35rem 0; border-left: 2px solid #c8e6df;
}
body.scc-template-edition.single-product #tab-description li li { margin-block: .2rem; padding: 0 .2rem; }
body.scc-template-edition.single-product #tab-description li p + p { margin-top: .4rem; }
body.scc-template-edition.single-product #tab-description blockquote { margin-block: .8rem; padding: .65rem 1rem; border-left: 3px solid #cc8aa0; background: #fff8fa; }
body.scc-template-edition.single-product #tab-description :is(pre,code) { tab-size: 4; }
body.scc-template-edition.single-product #tab-description pre { overflow-x: auto; padding: .8rem; border-radius: .5rem; background: #edf6f4; }
body.scc-template-edition.single-product #tab-description [style*="mso-tab-count"] { white-space: pre; }
body.scc-template-edition.single-product #tab-description a { color: #296777; text-decoration-color: #72b7b0; text-decoration-thickness: 1px; }
body.scc-template-edition.single-product #tab-description a:is(:hover,:focus-visible) { color: #8a3f60; text-decoration-color: currentColor; background: #fff0f5; }
body.scc-template-edition.single-product #tab-title-description a {
  display: inline-flex; color: #285e65; background: #eaf7f3; border: 1px solid #bfded6;
  border-radius: .55rem; font-size: .8rem; font-weight: 650; text-transform: none; text-decoration: none;
}
body.scc-template-edition.single-product #tab-title-description a:is(:hover,:focus-visible),
body.scc-template-edition.single-product #tab-title-description.active a { color: #18564e; background: #dff3eb; border-color: #53ac9c; }
body.scc-template-edition.single-product div.product .product_meta {
  margin-top: .85rem; padding-top: .65rem; border-top: 1px solid #e0e9eb;
  font: 400 .69rem/1.6 var(--scc-font-body); letter-spacing: 0; text-transform: none; color: #64777e;
}
body.scc-template-edition.single-product div.product .product_meta :is(span,a) { font: inherit; text-transform: none; color: inherit; }
body.scc-template-edition.single-product div.product .product_meta a { opacity: 1; text-decoration: underline; text-underline-offset: .15em; text-decoration-color: #bacbd0; }
body.scc-template-edition.single-product div.product .product_meta a:hover { color: #245f69; text-decoration-color: currentColor; }
.scc-product-cart-state { margin-block: 1rem; padding: 1rem; border: 1px solid #b7ded1; border-left: 3px solid #269d83; border-radius: .7rem; background: #eefaf5; }
.scc-product-cart-state[hidden] { display: none !important; }
.scc-product-cart-state > strong { display: flex; align-items: center; gap: .5rem; color: #245e50; font-size: 1rem; }
.scc-product-cart-state > p { margin: .45rem 0 .8rem; font-size: .85rem; line-height: 1.55; }
body.single-product .summary:has(.scc-product-cart-state[data-in-cart="1"]) form.cart { display: none !important; }
/* Native WooCommerce links must not add a third action to result cards. */
.scc-live-search__results .added_to_cart,
.scc7-course-card .added_to_cart,
.scc-course-card .added_to_cart,
.woocommerce ul.products .added_to_cart { display: none !important; }
/* Predictable states on light surfaces; dark-surface overrides below. */
body.scc-v8-compact a { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
body.scc-v8-compact :is(a,button):focus-visible { outline: 2px solid #247e79; outline-offset: 3px; }
body.scc-v8-compact :is(.scc-button--primary,.scc7-button--primary,.single_add_to_cart_button):is(:hover,:focus-visible) { color: #fff; background: #275b70; box-shadow: 0 4px 14px rgba(35,88,105,.18); }
body.scc-v8-compact :is(.scc7-button--ghost,.scc7-button--white,.scc-button--outline):is(:hover,:focus-visible) { color: #215c68; background: #e7f5f3; border-color: #86bfb7; }
body.scc-v8-compact .scc7-text-link:not(.scc7-text-link--light):is(:hover,:focus-visible) { color: #8a3f60; text-decoration: underline; text-underline-offset: .25em; }
body.scc-v8-compact :is(.scc7-footer,.scc7-topbar,.scc7-scroll-subnav,.scc7-nav-mega__intro) a {
  color: #f2fbfa; text-decoration-color: transparent; text-underline-offset: .25em;
}
body.scc-v8-compact :is(.scc7-footer,.scc7-topbar,.scc7-scroll-subnav,.scc7-nav-mega__intro) a:is(:hover,:focus-visible) {
  color: #aff8e8; background-color: rgba(255,255,255,.08); text-decoration: underline; text-decoration-color: currentColor;
}
body.scc-v8-compact :is(.scc7-text-link--light,.scc-button--ghost-light,.scc7-button--outline-light) { color: #f2fbfa; }
body.scc-v8-compact :is(.scc7-text-link--light,.scc-button--ghost-light,.scc7-button--outline-light):is(:hover,:focus-visible) {
  color: #aff8e8; background-color: rgba(255,255,255,.08); border-color: #92ceca;
  text-decoration: underline; text-underline-offset: .25em;
}
body.scc-v8-compact :is(.scc7-footer,.scc7-topbar,.scc7-scroll-subnav,.scc7-nav-mega__intro,.scc7-certificate-cta) :is(a,button):focus-visible { outline-color: #a4f6e7; }
body.scc-v8-compact .scc7-scroll-subnav a { min-height: 2.1rem; padding: .25rem .45rem; border-radius: .35rem; }
body.scc-v8-compact .scc7-mobile-actions a:last-child { color: #3d2634; }
body.scc-v8-compact .scc7-mobile-actions a:is(:hover,:focus-visible) { color: #fff; background: #275b70; }
body.scc-v8-compact .scc7-mobile-actions a:last-child:is(:hover,:focus-visible) { color: #fff; background: #87435f; }
/* The navbar owns the upper stacking context, including its mega menu. */
@media (min-width:1081px) {
  body.scc-v8-compact .scc7-navbar { z-index: 3; }
  body.scc-v8-compact .scc7-scroll-subnav { z-index: 1; }
  body.scc-v8-compact .scc7-header:has(.scc7-nav-item--mega:is(:hover,:focus-within)) .scc7-scroll-subnav { opacity: 0; visibility: hidden; pointer-events: none; }
}
/* Retain native PhotoSwipe gestures and controls, with a truly black surface. */
body.single-product .pswp { z-index: 100000; }
body.single-product .pswp__bg { background: #000 !important; opacity: 1 !important; }
body.single-product .pswp:fullscreen { width: 100%; height: 100%; inset: 0; background: #000; }
body.single-product .pswp__button--fs { display: none !important; }
body.single-product .pswp__button { color: #fff; border: 0; border-radius: 0; box-shadow: none; }
body.single-product .pswp__button:is(:hover,:focus-visible) { background-color: rgba(255,255,255,.15); }
.scc7-faculty-collaboration .scc7-section-heading { max-width: 62rem; }
.scc7-faculty-collaboration .scc7-eyebrow { color: #39717a; }
.scc7-faculty-collaboration .scc7-faculty-standard__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.scc-faculty-note { font-size: .8rem; color: #576f77; margin-top: 1rem; }
@media (max-width:640px) {
  .scc7-faculty-collaboration .scc7-faculty-standard__cards { grid-template-columns: 1fr; }
  body.scc-template-edition.single-product #tab-description > :is(ul,ol) > li { padding: .6rem .7rem .6rem 2rem; }
}
@media (prefers-reduced-motion:reduce) {
  body.scc-v8-compact a, body.scc-v8-compact button { transition: none; }
}
