/*
Theme Name: LumenGlint
Theme URI: https://example.invalid/lumenglint
Author: Oversea
Description: Accessible, conversion-focused block theme for healthcare exam resources.
Version: 0.1.11
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: oversea-store
*/

:root {
  color-scheme: light;
  --hq-blue-50: #eff6ff;
  --hq-blue-100: #dbeafe;
  --hq-blue-200: #bfdbfe;
  --hq-green-50: #f0fdf4;
  --hq-green-100: #dcfce7;
  --hq-slate-100: #f1f5f9;
  --hq-slate-200: #e2e8f0;
  --hq-slate-300: #cbd5e1;
  --hq-shadow-sm: 0 1px 2px rgb(15 23 42 / 5%);
  --hq-shadow-md: 0 16px 40px rgb(15 23 42 / 9%);
  --hq-shadow-lg: 0 28px 70px rgb(30 58 138 / 14%);
  --hq-radius-sm: 8px;
  --hq-radius-md: 12px;
  --hq-radius-lg: 20px;
  --hq-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --hq-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --lg-brand-navy: #041c55;
  --lg-brand-mid: #08357f;
  --lg-brand-blue: #0a4b9e;
  --lg-brand-cyan: #51c8ff;
  --lg-brand-slate: #5f7fa6;
  /* LumenGlint motion tokens: fast enough for frequent commerce actions,
   * with one shared curve so hover, route and overlay motion feel related. */
  --lg-motion-fast: 140ms;
  --lg-motion-ui: 180ms;
  --lg-motion-enter: 220ms;
  --lg-ease-hover: ease;
  --lg-ease-enter: cubic-bezier(0.23, 1, 0.32, 1);
  --lg-ease-move: cubic-bezier(0.77, 0, 0.175, 1);
}

* {
  box-sizing: border-box;
}

html {
  /* Route changes must reset immediately. Smooth scrolling kept the previous
   * page's scroll range alive while a new main/footer layout was swapped in. */
  scroll-behavior: auto;
}

body {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--text);
  min-height: 100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* WooCommerce injects an empty mini-cart live region on every page. The
 * storefront renders its own transactional status regions; keep the empty
 * helper out of catalog/product role queries without affecting the cart. */
body:has(.hq-catalog-main) .widget_shopping_cart_live_region,
body:has(.hq-product-detail) .widget_shopping_cart_live_region {
  display: none !important;
}

a {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

:where(a, button, input, select, summary, textarea) {
  min-height: 44px;
}

:where(a, button, input, select, summary, textarea):focus-visible {
  border-radius: 4px;
  outline: 3px solid var(--wp--preset--color--brand);
  outline-offset: 3px;
}

button,
.wp-element-button,
.wp-block-button__link {
  cursor: pointer;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease,
    transform 140ms var(--hq-ease-out);
}

button:active,
.wp-element-button:active,
.wp-block-button__link:active {
  transform: scale(0.98);
}

img {
  height: auto;
  max-width: 100%;
}

.wp-site-blocks {
  min-height: 100vh;
  overflow: clip;
}

.hq-skip-link {
  background: var(--wp--preset--color--text);
  color: var(--wp--preset--color--surface);
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-160%);
  transition: transform 160ms var(--hq-ease-out);
  z-index: 100000;
}

.hq-skip-link:focus {
  transform: translateY(0);
}

.hq-announcement {
  background: var(--wp--preset--color--brand-dark);
  color: var(--wp--preset--color--surface);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.hq-announcement p {
  margin: 0;
}

.hq-site-header {
  backdrop-filter: blur(14px);
  background: rgb(255 255 255 / 92%);
  border-bottom: 1px solid rgb(203 213 225 / 70%);
  box-shadow: var(--hq-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 100;
}

.admin-bar .hq-site-header {
  top: 32px;
}

.hq-brand {
  gap: 0.75rem;
  text-decoration: none;
}

.hq-brand-mark {
  align-items: center;
  background: var(--wp--preset--color--brand);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgb(29 78 216 / 24%);
  color: var(--wp--preset--color--surface);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  height: 2.25rem;
  justify-content: center;
  letter-spacing: -0.04em;
  width: 2.25rem;
}

.hq-site-header .wp-block-site-title {
  font-size: 1.0625rem;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.hq-site-header .wp-block-site-title a {
  align-items: center;
  color: var(--wp--preset--color--text);
  display: inline-flex;
  min-height: 44px;
  text-decoration: none;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close,
.wc-block-customer-account__link,
.wc-block-mini-cart__button {
  min-width: 44px;
}

.hq-site-header .wp-block-navigation-item__content {
  align-items: center;
  color: #334155;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 600;
  min-height: 44px;
  padding-inline: 0.25rem;
  text-decoration: none;
  transition: color 160ms ease;
}

.hq-header-cta .wp-block-button__link {
  min-height: 44px;
  padding: 0.65rem 1rem;
}

.hq-hero {
  background:
    radial-gradient(circle at 80% 18%, rgb(191 219 254 / 68%), transparent 28rem),
    linear-gradient(180deg, var(--hq-blue-50) 0%, #fff 88%);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.hq-hero::before {
  background-image:
    linear-gradient(rgb(29 78 216 / 5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(29 78 216 / 5%) 1px, transparent 1px);
  background-size: 36px 36px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, black, transparent 76%);
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.hq-hero-copy {
  max-width: 650px;
}

.hq-eyebrow {
  align-items: center;
  color: var(--wp--preset--color--brand-dark);
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 750;
  gap: 0.5rem;
  letter-spacing: 0.08em;
  margin-block-end: 1.25rem;
  text-transform: uppercase;
}

.hq-eyebrow::before {
  background: var(--wp--preset--color--brand);
  border-radius: 999px;
  content: "";
  height: 0.5rem;
  width: 0.5rem;
}

.hq-hero h1 {
  font-size: clamp(2.75rem, 6vw, 5.25rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin-block: 0;
  max-width: 11ch;
}

.hq-hero-lead {
  color: #475569;
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
  line-height: 1.65;
  margin-block: 1.5rem 2rem;
  max-width: 58ch;
}

.hq-hero .wp-block-buttons {
  gap: 0.75rem;
}

.hq-primary-button .wp-block-button__link {
  box-shadow: 0 10px 26px rgb(29 78 216 / 22%);
  min-height: 50px;
  padding: 0.8rem 1.25rem;
}

.hq-secondary-button .wp-block-button__link {
  background: rgb(255 255 255 / 75%);
  border: 1px solid var(--hq-slate-300);
  color: var(--wp--preset--color--brand-dark);
  min-height: 50px;
  padding: 0.8rem 1.25rem;
}

.hq-hero-note {
  align-items: center;
  color: var(--wp--preset--color--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0.75rem 1.25rem;
  margin-block-start: 1.25rem;
}

.hq-hero-note span {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
}

.hq-hero-note span::before,
.hq-trust-item::before,
.oversea-trust-list li::before {
  border: solid var(--wp--preset--color--success);
  border-width: 0 2px 2px 0;
  content: "";
  height: 0.65rem;
  transform: rotate(45deg) translateY(-1px);
  width: 0.35rem;
}

.hq-preview-shell {
  margin-inline: auto;
  max-width: 500px;
  perspective: 1200px;
  position: relative;
}

.hq-preview-shell::before {
  background: var(--wp--preset--color--brand);
  border-radius: 999px;
  content: "";
  filter: blur(70px);
  inset: 15% 10%;
  opacity: 0.17;
  position: absolute;
  z-index: -1;
}

.hq-preview-card {
  background: rgb(255 255 255 / 96%);
  border: 1px solid rgb(191 219 254 / 80%);
  border-radius: 24px;
  box-shadow: var(--hq-shadow-lg);
  overflow: hidden;
  transform: rotateY(-2deg) rotateX(1deg);
}

.hq-preview-topbar {
  align-items: center;
  background: var(--hq-blue-50);
  border-bottom: 1px solid var(--hq-blue-100);
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  padding: 0.9rem 1rem;
}

.hq-window-dots {
  display: flex;
  gap: 0.35rem;
}

.hq-window-dots i {
  background: var(--hq-slate-300);
  border-radius: 50%;
  display: block;
  height: 0.45rem;
  width: 0.45rem;
}

.hq-preview-label {
  color: var(--wp--preset--color--brand-dark);
  font-size: 0.75rem;
  font-weight: 750;
}

.hq-preview-body {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.hq-progress-meta {
  color: var(--wp--preset--color--muted);
  display: flex;
  font-size: 0.75rem;
  font-weight: 650;
  justify-content: space-between;
}

.hq-progress-track {
  background: var(--hq-slate-100);
  border-radius: 999px;
  height: 0.4rem;
  margin-block: 0.55rem 1.5rem;
  overflow: hidden;
}

.hq-progress-value {
  background: var(--wp--preset--color--brand);
  border-radius: inherit;
  height: 100%;
  width: 68%;
}

.hq-question-kicker {
  color: var(--wp--preset--color--brand);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hq-question {
  font-size: 1.0625rem;
  font-weight: 720;
  letter-spacing: -0.015em;
  line-height: 1.45;
  margin-block: 0.5rem 1rem;
}

.hq-answer-list {
  display: grid;
  gap: 0.625rem;
}

.hq-answer {
  align-items: center;
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: 10px;
  color: #334155;
  display: flex;
  font-size: 0.875rem;
  gap: 0.75rem;
  min-height: 44px;
  padding: 0.7rem 0.8rem;
}

.hq-answer-letter {
  align-items: center;
  background: var(--hq-slate-100);
  border-radius: 6px;
  color: #475569;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 750;
  height: 1.65rem;
  justify-content: center;
  width: 1.65rem;
}

.hq-rationale {
  background: var(--hq-green-50);
  border: 1px solid var(--hq-green-100);
  border-radius: 10px;
  color: #166534;
  font-size: 0.8125rem;
  line-height: 1.55;
  margin-block-start: 1rem;
  padding: 0.9rem;
}

.hq-preview-float {
  align-items: center;
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: 12px;
  bottom: -1.25rem;
  box-shadow: var(--hq-shadow-md);
  display: flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 0.75rem;
  padding: 0.8rem 1rem;
  position: absolute;
  right: -1rem;
}

.hq-preview-float-icon {
  align-items: center;
  background: var(--hq-green-100);
  border-radius: 8px;
  color: #166534;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.hq-trust-bar {
  background: #fff;
  border-block: 1px solid var(--hq-slate-200);
}

.hq-trust-grid {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: repeat(3, 1fr);
}

.hq-trust-item {
  align-items: center;
  color: #334155;
  display: flex;
  font-size: 0.875rem;
  font-weight: 650;
  gap: 0.75rem;
  justify-content: center;
  margin: 0;
  min-height: 44px;
}

.hq-section {
  padding-block: clamp(4rem, 9vw, 7rem);
}

.hq-section-alt {
  background: var(--wp--preset--color--surface-alt);
}

.hq-section-heading {
  margin-block-end: clamp(2rem, 5vw, 3.5rem);
  max-width: 720px;
}

.hq-section-heading.is-centered {
  margin-inline: auto;
  text-align: center;
}

.hq-section-heading h2 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  letter-spacing: -0.045em;
  line-height: 1.08;
  margin-block: 0.5rem 1rem;
}

.hq-section-heading p:last-child {
  color: var(--wp--preset--color--muted);
  font-size: 1.0625rem;
  margin-block-end: 0;
}

.hq-section-heading:not(.is-centered) > :where(.wp-block-heading, p:not(.hq-eyebrow)) {
  margin-inline-end: auto !important;
  margin-inline-start: 0 !important;
}

.hq-step-grid,
.hq-offer-grid,
.hq-topic-grid {
  gap: 1rem;
}

.hq-step-card,
.hq-offer-card,
.hq-topic-card {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  height: 100%;
  padding: clamp(1.25rem, 3vw, 2rem);
  position: relative;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms var(--hq-ease-out);
}

.hq-step-number {
  align-items: center;
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: 10px;
  color: var(--wp--preset--color--brand);
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 800;
  height: 2.5rem;
  justify-content: center;
  margin-block-end: 1.25rem;
  width: 2.5rem;
}

.hq-step-card h3,
.hq-offer-card h3,
.hq-topic-card h3 {
  font-size: 1.25rem;
  letter-spacing: -0.025em;
  margin-block: 0 0.6rem;
}

.hq-step-card p,
.hq-offer-card p,
.hq-topic-card p {
  color: var(--wp--preset--color--muted);
  font-size: 0.9375rem;
  line-height: 1.65;
}

.hq-offer-card {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.hq-offer-card.is-featured {
  border-color: var(--wp--preset--color--brand);
  box-shadow: 0 18px 42px rgb(29 78 216 / 12%);
}

.hq-card-badge {
  align-self: flex-start;
  background: var(--hq-blue-50);
  border-radius: 999px;
  color: var(--wp--preset--color--brand-dark);
  font-size: 0.75rem;
  font-weight: 750;
  margin-block-end: 1.25rem;
  padding: 0.4rem 0.7rem;
}

.hq-offer-card.is-featured .hq-card-badge {
  background: var(--wp--preset--color--brand);
  color: #fff;
}

.hq-card-list {
  color: #334155;
  font-size: 0.9rem;
  line-height: 1.5;
  list-style: none;
  margin: 1.25rem 0 1.75rem;
  padding: 0;
}

.hq-card-list li {
  display: flex;
  gap: 0.65rem;
  margin-block: 0.65rem;
}

.hq-card-list li::before {
  border: solid var(--wp--preset--color--success);
  border-width: 0 2px 2px 0;
  content: "";
  flex: 0 0 auto;
  height: 0.65rem;
  margin: 0.15rem 0 0 0.15rem;
  transform: rotate(45deg);
  width: 0.35rem;
}

.hq-card-link {
  align-items: center;
  color: var(--wp--preset--color--brand);
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 750;
  margin-block-start: auto;
  min-height: 44px;
}

.hq-card-sample-link {
  color: var(--wp--preset--color--brand-dark);
  font-size: 0.875rem;
  font-weight: 750;
  min-height: 44px;
  padding-block: 0.7rem;
}

.hq-scope-panel {
  background:
    linear-gradient(135deg, rgb(30 58 138 / 100%), rgb(29 78 216 / 96%));
  border-radius: 28px;
  color: #fff;
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 4rem);
  position: relative;
}

.hq-scope-panel::after {
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 50%;
  content: "";
  height: 22rem;
  position: absolute;
  right: -10rem;
  top: -13rem;
  width: 22rem;
}

.hq-scope-panel h2,
.hq-scope-panel h3 {
  color: #fff;
}

.hq-scope-panel p {
  color: rgb(255 255 255 / 78%);
}

.hq-scope-facts {
  display: grid;
  gap: 0.75rem;
}

.hq-scope-fact {
  background: rgb(255 255 255 / 9%);
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 12px;
  padding: 1rem;
}

.hq-scope-fact strong {
  display: block;
  font-size: 0.875rem;
  margin-block-end: 0.25rem;
}

.hq-scope-fact span {
  color: rgb(255 255 255 / 72%);
  font-size: 0.8125rem;
}

.hq-topic-card a {
  align-items: center;
  color: inherit;
  display: inline-flex;
  min-height: 44px;
  text-decoration: none;
}

.hq-topic-meta {
  color: var(--wp--preset--color--brand);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hq-product-collection {
  margin-block-start: 2rem;
}

.hq-product-collection .wc-block-product {
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  overflow: hidden;
  padding: 1rem;
}

.hq-product-collection .wc-block-components-product-image img {
  aspect-ratio: 4 / 3;
  background: var(--hq-slate-100);
  border-radius: var(--hq-radius-md);
  object-fit: cover;
}

.hq-faq {
  margin-inline: auto;
  max-width: 820px;
}

.hq-faq details {
  border-bottom: 1px solid var(--hq-slate-200);
  padding-block: 0.35rem;
}

.hq-faq summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  font-weight: 720;
  justify-content: space-between;
  list-style: none;
  padding-block: 1rem;
}

.hq-faq summary::-webkit-details-marker {
  display: none;
}

.hq-faq summary::after {
  color: var(--wp--preset--color--brand);
  content: "+";
  font-size: 1.35rem;
  font-weight: 450;
  margin-inline-start: 1rem;
  transition: transform 180ms var(--hq-ease-out);
}

.hq-faq details[open] summary::after {
  transform: rotate(45deg);
}

.hq-faq details p {
  color: var(--wp--preset--color--muted);
  margin-block: 0 1.25rem;
  max-width: 68ch;
}

.hq-final-cta {
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: 28px;
  padding: clamp(2rem, 6vw, 4.5rem);
  text-align: center;
}

.hq-final-cta h2 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  letter-spacing: -0.045em;
  margin-block: 0 1rem;
}

.hq-final-cta p {
  color: var(--wp--preset--color--muted);
  margin-inline: auto;
  max-width: 58ch;
}

.hq-site-footer {
  background: #0f172a;
  color: rgb(255 255 255 / 72%);
  margin-block-start: clamp(4rem, 8vw, 7rem);
}

.hq-site-footer .wp-block-site-title a,
.hq-site-footer h2,
.hq-site-footer h3 {
  color: #fff;
}

.hq-site-footer .wp-block-site-title a {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
}

.hq-site-footer a {
  color: rgb(255 255 255 / 76%);
}

.hq-site-footer .wp-block-navigation {
  align-items: flex-start;
}

.hq-site-footer .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0.25rem;
}

.hq-site-footer .wp-block-navigation-item__content {
  min-height: 44px;
  text-decoration: none;
}

.hq-footer-meta {
  border-top: 1px solid rgb(255 255 255 / 12%);
  color: rgb(255 255 255 / 58%);
  font-size: 0.8125rem;
  margin-block-start: 2.5rem;
  padding-block-start: 1.5rem;
}

.oversea-product-main {
  background: linear-gradient(180deg, var(--hq-blue-50), #fff 26rem);
}

.oversea-product-main .wp-block-post-title {
  font-size: clamp(2.25rem, 5vw, 4rem);
  letter-spacing: -0.05em;
}

.oversea-product-main .wp-block-column:last-child {
  align-self: flex-start;
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-md);
  padding: clamp(1.25rem, 3vw, 2rem);
  position: sticky;
  top: 8rem;
}

.oversea-product-main .wp-block-woocommerce-product-price {
  color: var(--wp--preset--color--text);
  font-weight: 750;
}

.oversea-product-main .single_add_to_cart_button {
  min-height: 48px;
}

/* Catalog and product journey components.  The view model owns availability;
 * these styles only provide a readable, keyboard-friendly presentation. */
.hq-catalog-main,
.hq-product-detail {
  background: linear-gradient(180deg, var(--hq-blue-50), #fff 28rem);
}

.hq-catalog-shell,
.hq-product-shell {
  margin-inline: auto;
  max-width: 1200px;
  padding-block: clamp(2.5rem, 6vw, 5rem);
  padding-inline: clamp(1rem, 4vw, 2rem);
}

.hq-catalog-shell > h1,
.hq-product-copy > h1 {
  font-size: clamp(2.25rem, 5vw, 4.2rem);
  letter-spacing: -0.05em;
  line-height: 1;
  margin-block: 0.35rem 1rem;
}

.hq-catalog-lead,
.hq-product-lead {
  color: var(--wp--preset--color--muted);
  font-size: 1.08rem;
  line-height: 1.65;
  max-width: 68ch;
}

.hq-catalog-filters {
  align-items: start;
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-md);
  box-shadow: var(--hq-shadow-sm);
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-block: 2rem 1rem;
  padding: 1rem;
}

.hq-catalog-filter-field {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.hq-catalog-filter-field--search,
.hq-catalog-filter-field--version {
  grid-column: span 2;
}

.hq-catalog-filter-advanced {
  display: block;
  grid-column: 1 / -1;
}

.hq-catalog-filter-advanced-fields {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hq-catalog-filter-field {
  align-self: start;
}

.hq-catalog-filter-field label {
  color: #334155;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
}

.hq-catalog-filter-field input,
.hq-catalog-filter-field select {
  background: #fff;
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  color: var(--wp--preset--color--text);
  font: inherit;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  width: 100%;
}

.hq-catalog-filter-submit {
  align-self: end;
  grid-column: 5;
  justify-self: end;
  min-height: 44px;
  white-space: nowrap;
  width: auto;
}

.hq-active-filters {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-end: 1rem;
}

.hq-filter-chip,
.hq-catalog-card__status,
.hq-product-badges span {
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: 999px;
  color: var(--wp--preset--color--brand-dark);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.35rem 0.65rem;
}

.hq-filter-clear {
  font-weight: 700;
  margin-inline-start: auto;
}

.hq-catalog-summary {
  color: #475569;
  margin-block: 1rem;
}

.hq-catalog-filter-warning {
  color: #9a3412;
  font-size: 0.875rem;
  margin-inline-start: 0.75rem;
}

.hq-catalog-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hq-catalog-card {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  min-width: 0;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--hq-ease-out);
}

.hq-catalog-card:focus-within {
  border-color: var(--hq-blue-200);
  box-shadow: var(--hq-shadow-md);
  transform: translateY(-2px);
}

@media (hover: hover) and (pointer: fine) {
  .hq-catalog-card:hover {
    border-color: var(--hq-blue-200);
    box-shadow: var(--hq-shadow-md);
    transform: translateY(-2px);
  }
}

.hq-catalog-card__title {
  color: inherit;
  text-decoration: none;
}

.hq-catalog-card__title:hover,
.hq-catalog-card__title:focus-visible {
  color: var(--wp--preset--color--brand);
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.15em;
}

.hq-catalog-card__cover,
.hq-product-cover {
  align-content: space-between;
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
  color: #fff;
  display: grid;
  min-height: 10rem;
  overflow: hidden;
  padding: 1rem;
  position: relative;
}

.hq-catalog-card__cover[data-cover-track="mcat"],
.hq-product-cover[data-cover-track="mcat"] {
  background: linear-gradient(135deg, #123b76, #0d7ca8);
}

.hq-catalog-card__cover[data-cover-track="california-bar"],
.hq-product-cover[data-cover-track="california-bar"] {
  background: linear-gradient(135deg, #30204f, #a16f2d);
}

.hq-catalog-card__cover img,
.hq-product-cover img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0.88;
  position: absolute;
  width: 100%;
}

.hq-catalog-card__cover::after,
.hq-product-cover::after {
  background: linear-gradient(180deg, rgb(8 35 89 / 8%), rgb(8 35 89 / 72%));
  content: "";
  inset: 0;
  position: absolute;
}

.hq-catalog-card__cover > :not(img),
.hq-product-cover > :not(img) {
  position: relative;
  z-index: 1;
}

.hq-catalog-card__cover strong {
  font-size: 1.35rem;
  max-width: 9ch;
}

.hq-catalog-card__cover span,
.hq-product-cover span {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hq-product-cover small {
  align-self: end;
  font-size: 0.8rem;
  position: relative;
  z-index: 1;
}

.hq-catalog-card__body {
  display: flex;
  flex-direction: column;
  min-height: 17rem;
  padding: 1rem 1.1rem 1.15rem;
}

.hq-catalog-card__meta {
  color: var(--wp--preset--color--brand);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.hq-catalog-card h2 {
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-block: 0.55rem;
}

.hq-catalog-card__body > p:not(.hq-catalog-card__meta) {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-block: 0 0.75rem;
}

.hq-catalog-card dl,
.hq-fact-panel dl {
  display: grid;
  gap: 0.4rem;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
}

.hq-catalog-card dl div,
.hq-fact-panel dl div {
  min-width: 0;
}

.hq-catalog-card dt,
.hq-fact-panel dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.72rem;
}

.hq-catalog-card dd,
.hq-fact-panel dd {
  font-size: 0.84rem;
  font-weight: 700;
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
}

.hq-catalog-card__status {
  align-self: flex-start;
  margin-block: auto 0.65rem;
}

.hq-catalog-card.is-unavailable .hq-catalog-card__status {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.hq-card-link {
  color: var(--wp--preset--color--brand);
  font-weight: 750;
}

.hq-catalog-notice,
.hq-catalog-empty,
.hq-product-state,
.hq-bundle-panel,
.hq-topic-panel {
  background: #fff;
  border: 1px solid var(--hq-blue-100);
  border-radius: var(--hq-radius-md);
  margin-block: 1rem;
  padding: 1rem 1.1rem;
}

.hq-catalog-notice--error,
.hq-product-state--warning {
  border-color: #fed7aa;
  color: #9a3412;
}

.hq-catalog-empty {
  text-align: center;
}

.hq-catalog-pagination {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin-block: 2rem;
}

.hq-catalog-pagination a,
.hq-catalog-pagination span {
  align-items: center;
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding-inline: 0.7rem;
  text-decoration: none;
}

.hq-catalog-pagination span {
  background: var(--wp--preset--color--brand);
  border-color: var(--wp--preset--color--brand);
  color: #fff;
  font-weight: 750;
}

.hq-catalog-meta {
  color: var(--wp--preset--color--muted);
  font-size: 0.8rem;
  margin-block-start: 2rem;
}

.hq-breadcrumbs {
  align-items: center;
  color: var(--wp--preset--color--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.85rem;
  gap: 0.5rem;
  margin-block-end: 2rem;
}

.hq-product-layout {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
}

.hq-product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block: 1.25rem;
}

.hq-fact-panel,
.hq-purchase-panel,
.hq-trust-card {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  margin-block: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.hq-fact-panel h2,
.hq-purchase-panel h2,
.hq-trust-card h2 {
  font-size: 1rem;
  margin-block: 0 1rem;
}

.hq-product-aside {
  align-self: start;
  position: sticky;
  top: 8rem;
}

.hq-product-cover {
  border-radius: var(--hq-radius-lg);
  min-height: 19rem;
  box-shadow: var(--hq-shadow-md);
}

.hq-product-cover strong {
  font-size: 2rem;
  max-width: 8ch;
}

.hq-product-cover small {
  font-size: 0.9rem;
  font-weight: 700;
}

.hq-price {
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-block: 0 1rem;
}

.hq-price span {
  color: var(--wp--preset--color--muted);
  display: block;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-block-start: 0.25rem;
}

.hq-payment-options {
  display: grid;
  gap: 0.75rem;
}

.hq-payment-option {
  align-items: center;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-md);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.9rem;
}

.hq-payment-option--primary {
  border-color: var(--hq-blue-200);
  box-shadow: 0 8px 22px rgb(29 78 216 / 9%);
}

.hq-payment-option p {
  margin: 0;
}

.hq-payment-option p strong,
.hq-payment-option p span {
  display: block;
}

.hq-woo-cart-form {
  display: inline-flex;
  margin: 0;
}

.hq-woo-cart-form button {
  min-height: 44px;
}

.hq-payment-option p span {
  color: var(--wp--preset--color--muted);
  font-size: 0.8rem;
  margin-block-start: 0.25rem;
}

.hq-payment-unavailable {
  color: #9a3412;
  font-size: 0.78rem;
  max-width: 19rem;
}

.hq-payment-note {
  color: var(--wp--preset--color--muted);
  font-size: 0.8rem;
  line-height: 1.5;
  margin-block: 0.9rem 0;
}

.hq-trust-card ul,
.hq-product-sections ul,
.hq-bundle-panel ul {
  margin: 0;
  padding-inline-start: 1.2rem;
}

.hq-product-sections {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: 3rem;
}

.hq-product-sections > section,
.hq-product-faq {
  border-top: 1px solid var(--hq-slate-200);
  padding-block: 1.25rem;
}

.hq-product-sections h2,
.hq-bundle-panel h2,
.hq-topic-panel h2,
.hq-product-faq h2 {
  font-size: 1.15rem;
  margin-block: 0 0.65rem;
}

.hq-product-sections li,
.hq-bundle-panel li,
.hq-trust-card li {
  margin-block: 0.45rem;
}

.hq-check-list {
  list-style: "✓  ";
}

.hq-muted-list {
  color: var(--wp--preset--color--muted);
}

.hq-bundle-panel,
.hq-topic-panel,
.hq-product-faq {
  margin-block-start: 1.5rem;
}

.hq-bundle-panel li {
  display: grid;
  gap: 0.15rem;
  margin-block: 0.8rem;
}

.hq-bundle-panel li span {
  color: var(--wp--preset--color--muted);
  font-size: 0.87rem;
}

.hq-bundle-note {
  color: var(--wp--preset--color--muted);
  font-size: 0.87rem;
}

.hq-product-faq details {
  border-bottom: 1px solid var(--hq-slate-200);
  padding-block: 0.4rem;
}

.hq-product-faq summary {
  cursor: pointer;
  font-weight: 700;
  min-height: 44px;
  padding-block: 0.6rem;
}

@media (max-width: 900px) {
  .hq-catalog-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hq-catalog-filter-advanced {
    display: block;
  }

  .hq-catalog-filter-advanced-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hq-catalog-filter-field--search,
  .hq-catalog-filter-field--version,
  .hq-catalog-filter-submit {
    grid-column: 1 / -1;
  }

  .hq-catalog-filter-submit {
    justify-self: stretch;
    width: 100%;
  }

  .hq-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hq-product-layout {
    grid-template-columns: 1fr;
  }

  .hq-product-aside {
    position: static;
  }

  .hq-product-cover {
    min-height: 12rem;
  }
}

@media (max-width: 560px) {
  .hq-catalog-filters,
  .hq-catalog-grid,
  .hq-product-sections {
    grid-template-columns: 1fr;
  }

  .hq-payment-option {
    align-items: stretch;
    flex-direction: column;
  }

  .hq-payment-option a,
  .hq-payment-option button {
    width: 100%;
  }
}

/* Guest lifecycle, support status, privacy and accessibility pages. */
.hq-lifecycle-main {
  background: linear-gradient(180deg, var(--hq-blue-50), #fff 26rem);
}

.hq-lifecycle-shell {
  margin-inline: auto;
  max-width: 860px;
  padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);
}

.hq-lifecycle-shell > h1,
.hq-lifecycle-page h1 {
  font-size: clamp(2rem, 5vw, 3.6rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
  margin-block: 0.4rem 1rem;
}

.hq-lifecycle-shell section,
.hq-support-summary,
.hq-accessibility-facts {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-md);
  box-shadow: var(--hq-shadow-sm);
  margin-block: 1.25rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.hq-lifecycle-shell li {
  margin-block: 0.65rem;
}

.hq-support-summary,
.hq-accessibility-facts {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hq-support-summary dt,
.hq-accessibility-facts dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.hq-support-summary dd,
.hq-accessibility-facts dd {
  font-weight: 750;
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
}

.hq-checkbox {
  align-items: flex-start;
  border-top: 1px solid var(--hq-slate-200);
  display: flex;
  gap: 0.75rem;
  min-height: 44px;
  padding-block: 0.8rem;
}

.hq-checkbox input {
  block-size: 1.25rem;
  inline-size: 1.25rem;
  margin-block-start: 0.1rem;
}

.hq-checkbox span,
.hq-checkbox small {
  display: block;
}

.hq-checkbox small {
  color: var(--wp--preset--color--muted);
  margin-block-start: 0.2rem;
}

.hq-woo-cart-form {
  margin: 0;
}

.hq-woo-cart-form button {
  min-height: 44px;
}

@media (max-width: 640px) {
  .hq-support-summary,
  .hq-accessibility-facts {
    grid-template-columns: 1fr;
  }
}

.oversea-trust-list {
  list-style: none;
  padding-inline-start: 0;
}

.oversea-trust-list li {
  align-items: flex-start;
  display: flex;
  gap: 0.7rem;
  margin-block: 0.7rem;
}

.hq-guest-panel,
.hq-guest-order {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-md);
  margin-inline: auto;
  max-width: 720px;
  padding: clamp(1.5rem, 5vw, 3rem);
}

.hq-guest-panel h1,
.hq-guest-order h1 {
  letter-spacing: -0.045em;
  margin-block: 0.5rem 1rem;
}

.hq-guest-form {
  display: grid;
  gap: 0.7rem;
  margin-block-start: 1.75rem;
}

.hq-guest-form label {
  color: #334155;
  font-size: 0.875rem;
  font-weight: 700;
  margin-block-start: 0.4rem;
}

.hq-guest-form input,
.hq-guest-form textarea {
  background: #fff;
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  color: var(--wp--preset--color--text);
  font: inherit;
  min-height: 48px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.hq-guest-form textarea {
  min-height: 140px;
  resize: vertical;
}

.hq-guest-form__hint,
.hq-guest-order__muted,
.hq-guest-order__item small {
  color: var(--wp--preset--color--muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

.hq-guest-form__notice {
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: var(--hq-radius-sm);
  color: var(--wp--preset--color--brand-dark);
  margin-block: 1.25rem;
  padding: 0.9rem 1rem;
}

.hq-guest-form__notice--error:focus-visible {
  outline: 3px solid var(--wp--preset--color--brand);
  outline-offset: 3px;
}

.hq-field-error {
  color: var(--wp--preset--color--danger);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.45;
  margin: -0.25rem 0 0;
}

.hq-guest-form [aria-invalid="true"],
.hq-public-form [aria-invalid="true"] {
  border-color: var(--wp--preset--color--danger);
  box-shadow: 0 0 0 1px var(--wp--preset--color--danger);
}

.hq-guest-form[aria-busy="true"],
.hq-public-form[aria-busy="true"],
.hq-help-feedback[aria-busy="true"] {
  cursor: progress;
}

.hq-guest-form [aria-disabled="true"],
.hq-public-form [aria-disabled="true"],
.hq-help-feedback [aria-disabled="true"] {
  cursor: progress;
  opacity: 0.72;
}

.hq-guest-order__header {
  border-bottom: 1px solid var(--hq-slate-200);
  padding-block-end: 1.5rem;
}

.hq-guest-order__status {
  color: var(--wp--preset--color--success);
  font-weight: 700;
  margin-block-end: 0;
}

.hq-guest-order__summary {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  margin-block: 1.5rem 2.25rem;
}

.hq-guest-order__summary dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.hq-guest-order__summary dd {
  font-weight: 700;
  margin: 0.25rem 0 0;
}

.hq-guest-order__items {
  display: grid;
  gap: 0.75rem;
}

.hq-guest-order__item {
  align-items: start;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-md);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem;
}

.hq-guest-order__item h3 {
  font-size: 1rem;
  margin-block: 0 0.35rem;
}

.hq-guest-order__item p {
  color: var(--wp--preset--color--muted);
  font-size: 0.875rem;
  margin: 0;
}

.hq-guest-order__item small {
  grid-column: 1 / -1;
}

.hq-guest-order__help {
  border-top: 1px solid var(--hq-slate-200);
  margin-block-start: 2rem;
  padding-block-start: 1.5rem;
}

.hq-guest-order__help h2 {
  font-size: 1.25rem;
  margin-block: 0 0.5rem;
}

.hq-guest-form--compact {
  margin-block-start: 1rem;
}

.hq-guest-button--quiet {
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--muted);
  font: inherit;
  justify-self: start;
  min-height: 44px;
  padding-inline: 0;
  text-decoration: underline;
}

.hq-page {
  margin-inline: auto;
  max-width: 1200px;
  padding: clamp(2rem, 5vw, 4rem) 1.25rem;
}

.hq-page-hero {
  margin-inline: auto;
  max-width: 960px;
}

.hq-page-hero h1 {
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  letter-spacing: -0.05em;
  line-height: 1;
  margin-block: 0 1rem;
  max-width: 16ch;
}

.hq-page-lead {
  color: var(--wp--preset--color--muted);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.65;
  max-width: 62ch;
}

.hq-page-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block: 2rem;
}

.hq-button-secondary {
  align-items: center;
  border: 1px solid var(--hq-slate-300);
  border-radius: 0.5rem;
  color: var(--wp--preset--color--brand-dark);
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 0.65rem 1rem;
}

.hq-card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 2rem;
}

.hq-info-card,
.hq-policy-section,
.hq-update,
.hq-provider-shell {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.hq-info-card h2,
.hq-policy-section h2,
.hq-update h2,
.hq-provider-shell h2 {
  font-size: 1.35rem;
  letter-spacing: -0.025em;
  margin-block: 0 0.65rem;
}

.hq-info-card p,
.hq-info-card li,
.hq-policy-section p,
.hq-update p,
.hq-update li,
.hq-provider-shell p {
  color: #475569;
  line-height: 1.65;
}

.hq-card-kicker,
.hq-version {
  color: var(--wp--preset--color--brand);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hq-info-band,
.hq-page-notice {
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: var(--hq-radius-lg);
  margin-block: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.hq-page-notice--error {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

.hq-empty-cart-recovery {
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: var(--hq-radius-lg);
  margin-inline: auto;
  max-width: 760px;
  padding: clamp(1.5rem, 5vw, 3rem);
  text-align: center;
}

.hq-empty-cart-recovery .hq-page-actions,
.hq-mor-return .hq-page-actions {
  align-items: center;
  justify-content: center;
}

.hq-mor-return {
  margin-inline: auto;
  max-width: 820px;
}

.hq-info-band h2 {
  margin-block: 0 0.5rem;
}

.hq-two-column {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  margin-block: 2rem;
}

.hq-public-form {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  display: grid;
  gap: 0.7rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.hq-public-form h2 {
  margin-block: 0 0.5rem;
}

.hq-public-form label {
  color: #334155;
  font-size: 0.875rem;
  font-weight: 700;
  margin-block-start: 0.35rem;
}

.hq-public-form input:not([type="checkbox"]):not([type="radio"]),
.hq-public-form textarea {
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  font: inherit;
  min-height: 48px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.hq-public-form textarea {
  min-height: 120px;
  resize: vertical;
}

.hq-form-hint {
  color: var(--wp--preset--color--muted);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.hq-faq {
  margin-block: 2rem;
  max-width: 900px;
}

.hq-faq details {
  border-bottom: 1px solid var(--hq-slate-200);
  padding-block: 0.35rem;
}

.hq-faq summary {
  cursor: pointer;
  font-weight: 750;
  min-height: 44px;
  padding-block: 0.75rem;
}

.hq-faq details p {
  color: #475569;
  max-width: 70ch;
}

.hq-policy-list,
.hq-update-list {
  display: grid;
  gap: 1rem;
  margin-block: 2rem;
  max-width: 900px;
}

.hq-update {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: minmax(180px, 0.65fr) minmax(0, 1fr);
}

.hq-progress {
  align-items: center;
  background: var(--hq-blue-50);
  border: 1px solid var(--hq-blue-100);
  border-radius: var(--hq-radius-md);
  display: inline-flex;
  gap: 0.65rem;
  margin-block: 1.5rem;
  padding: 0.75rem 1rem;
}

.hq-progress-dot {
  background: var(--wp--preset--color--brand);
  border-radius: 50%;
  display: inline-block;
  height: 0.6rem;
  width: 0.6rem;
}

.hq-reference {
  font-size: 1.05rem;
}

@media (max-width: 720px) {
  .hq-card-grid,
  .hq-two-column,
  .hq-update {
    grid-template-columns: 1fr;
  }
}

/* Approved LumenGlint MCAT value-series landing page.  This block intentionally
 * owns its geometry so the public first screen does not inherit legacy HealthQ
 * catalog spacing or block-theme wrappers. */
.lg-shell {
  margin-inline: auto;
  max-width: 1280px;
  width: calc(100% - 3rem);
}

.lg-skip-link {
  background: #0b1f41;
  color: #fff;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-160%);
  z-index: 100000;
}

.lg-skip-link:focus {
  transform: translateY(0);
}

.lg-site-header {
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  border-bottom: 1px solid #d5e2f2;
  min-height: 124px;
  position: relative;
}

body.lg-menu-open {
  overflow: hidden;
}

.lg-loading-status {
  height: 1px;
  overflow: hidden;
  position: fixed;
  width: 1px;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.oversea-digital-checkout-notice {
  align-items: flex-start;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-block: 0 1.25rem;
  padding: 0.9rem 1rem;
}

.oversea-digital-checkout-notice span {
  color: #334155;
  font-size: 0.92rem;
}

.oversea-order-recovery {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 1rem;
  margin-block: 1.5rem;
  padding: 1.25rem;
}

.oversea-order-recovery__reference {
  font-size: 1.35rem;
  letter-spacing: 0.08em;
}

html.lg-route-loading .lg-site-header::after,
html.lg-native-loading .lg-site-header::after {
  animation: lg-route-progress 900ms var(--hq-ease-in-out) infinite;
  background: linear-gradient(90deg, var(--lg-brand-blue), var(--lg-brand-cyan), var(--lg-brand-blue));
  background-size: 200% 100%;
  bottom: -2px;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 5;
}

.lg-link-loading {
  cursor: progress !important;
  opacity: 0.64;
  pointer-events: none;
}

/* Soft navigation replaces the main content in-place. A short GPU-only
 * settle keeps the new page from teleporting into the viewport. */
.wp-site-blocks > main {
  opacity: 1;
  transform: translateY(0);
  transition: opacity var(--lg-motion-enter) var(--lg-ease-enter),
    transform var(--lg-motion-enter) var(--lg-ease-enter);
}

html.lg-content-swapping .wp-site-blocks > main {
  /* Never hide the new page during a route swap. A transparent main looks like
   * a missing content band when the footer is already in the viewport. */
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .wp-site-blocks > main {
    transition: opacity 160ms ease;
  }

  html.lg-content-swapping .wp-site-blocks > main {
    transform: none;
  }
}

/* P2 comparison-first catalog. Keep one server-rendered filter form and one
 * result list; layout changes by viewport without duplicating controls. */
.hq-catalog-browser {
  align-items: start;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
  margin-block-start: 2rem;
}

.hq-catalog-filter-rail {
  align-self: start;
  position: sticky;
  top: 1rem;
}

.hq-catalog-filters {
  display: block;
  margin: 0;
  padding: 0.85rem;
}

.hq-catalog-filter-advanced,
.hq-catalog-filter-advanced > summary {
  display: block;
}

.hq-catalog-filter-advanced > summary {
  color: #0b1f41;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 800;
  list-style-position: inside;
  min-height: 44px;
  padding: 0.6rem 0.25rem;
}

.hq-catalog-filter-advanced > summary span {
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 700;
}

.hq-catalog-filter-advanced-fields {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
  padding-block-start: 0.5rem;
}

.hq-catalog-filter-field--search,
.hq-catalog-filter-field--version,
.hq-catalog-filter-submit {
  grid-column: auto;
}

.hq-catalog-filter-submit {
  justify-self: stretch;
  margin-block-start: 0.85rem;
  width: 100%;
}

.hq-active-filters {
  gap: 0.4rem;
  margin-block: 0.75rem 0;
}

.hq-filter-chip {
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
}

.hq-filter-chip:hover,
.hq-filter-chip:focus-visible {
  background: #dbeafe;
  border-color: #93c5fd;
}

.hq-filter-chip span {
  font-size: 1rem;
  line-height: 1;
}

.hq-filter-clear {
  margin-inline-start: 0;
  min-height: 44px;
  padding: 0.55rem 0.3rem;
}

.hq-catalog-result-column {
  min-width: 0;
}

.hq-catalog-preview-banner {
  align-items: start;
  background: #edf4ff;
  border: 1px solid #bfdbfe;
  border-radius: var(--hq-radius-md);
  color: #173f78;
  display: grid;
  gap: 0.2rem;
  margin-block: 1.25rem 0;
  padding: 0.85rem 1rem;
}

.hq-catalog-preview-banner strong {
  color: #0b3e87;
}

.hq-catalog-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hq-catalog-card {
  display: grid;
  grid-template-columns: minmax(6.5rem, 7.5rem) minmax(0, 1fr);
  overflow: clip;
}

.hq-catalog-card__cover {
  min-height: 100%;
}

.hq-catalog-card__cover .hq-cover-fallback {
  inset: auto 0.8rem 0.8rem;
}

.hq-catalog-card__cover .hq-cover-fallback span {
  font-size: 0.82rem;
}

.hq-catalog-card__body {
  min-height: 0;
  padding: 0.9rem 1rem 1rem;
}

.hq-catalog-card__body > p:not(.hq-catalog-card__meta) {
  margin-block-end: 0.65rem;
}

.hq-catalog-result__facts {
  display: grid;
  gap: 0.55rem 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hq-catalog-result__facts .hq-catalog-card__status {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.hq-catalog-card__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  justify-content: space-between;
  margin-block-start: 0.85rem;
}

.hq-catalog-card__actions .hq-catalog-card__status {
  background: #eff6ff;
  border-radius: 999px;
  color: #075fd8;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 0.35rem 0.55rem;
}

@media (max-width: 800px) {
  .hq-catalog-browser {
    grid-template-columns: 1fr;
  }

  .hq-catalog-filter-rail {
    position: static;
  }

  .hq-catalog-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hq-catalog-browser {
    margin-block-start: 1.25rem;
  }

  .hq-catalog-card {
    grid-template-columns: 1fr;
  }

  .hq-catalog-card__cover {
    min-height: 6rem;
  }

  .hq-catalog-result__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

/* P2 navigation: four top-level destinations with one complete guest-help
 * disclosure. The historical account route remains available but is no
 * longer presented as a login destination. */
.lg-help-menu {
  position: relative;
}

.lg-help-tools {
  position: relative;
}

.lg-help-tools > summary {
  align-items: center;
  color: #111b30;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.08rem;
  font-weight: 500;
  gap: 0.45rem;
  list-style: none;
  min-height: 48px;
  white-space: nowrap;
}

.lg-help-tools > summary::-webkit-details-marker {
  display: none;
}

.lg-help-tools > summary::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
  height: 0.42rem;
  margin-block-start: -0.22rem;
  transform: rotate(45deg);
  transition: transform var(--lg-motion-fast) var(--lg-ease-hover);
  width: 0.42rem;
}

.lg-help-tools[open] > summary::after {
  margin-block-start: 0.2rem;
  transform: rotate(225deg);
}

.lg-help-tools > summary:hover,
.lg-help-tools > summary:focus-visible,
.lg-help-tools > summary.is-active {
  color: #075fd8;
}

.lg-help-tools > summary:focus-visible {
  border-radius: 0.35rem;
  outline: 3px solid rgb(8 97 219 / 35%);
  outline-offset: 3px;
}

.lg-help-tools-panel {
  background: #fff;
  border: 1px solid #d9e0ea;
  border-radius: 0.75rem;
  box-shadow: 0 12px 30px rgb(15 31 58 / 14%);
  display: grid;
  gap: 0.2rem;
  min-width: 13.5rem;
  padding: 0.55rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  z-index: 30;
}

.lg-help-tools-panel .lg-help-action {
  border-radius: 0.5rem;
  color: #075fd8;
  font-size: 0.95rem;
  font-weight: 750;
  min-height: 44px;
  padding-inline: 0.7rem;
  width: 100%;
}

.lg-help-tools-panel .lg-help-action::after {
  display: none;
}

.lg-help-tools-panel .lg-help-action:hover,
.lg-help-tools-panel .lg-help-action:focus-visible {
  background: #eff6ff;
}

@media (max-width: 1023px) {
  .lg-help-menu,
  .lg-help-tools {
    width: 100%;
  }

  .lg-help-tools > summary {
    font-size: 1rem;
    justify-content: space-between;
    padding-inline: 0.85rem;
    width: 100%;
  }

  .lg-help-tools-panel {
    border: 0;
    border-left: 2px solid #dbeafe;
    border-radius: 0;
    box-shadow: none;
    margin: 0 0.85rem 0.35rem;
    min-width: 0;
    padding: 0.1rem 0 0.1rem 0.35rem;
    position: static;
    width: calc(100% - 1.7rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-help-tools > summary::after {
    transition: none;
  }
}

@keyframes lg-route-progress {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 200% 0;
  }
}

.lg-header-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 124px;
}

.lg-brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 206px;
  min-height: 44px;
  text-decoration: none;
}

.lg-brand img {
  display: block;
  height: auto;
  width: 196px;
}

.lg-primary-nav {
  align-items: center;
  display: flex;
  gap: 4rem;
  margin-left: auto;
  transform: translateX(0.8rem);
}

.lg-primary-nav a,
.lg-account-link {
  align-items: center;
  color: #111b30;
  display: inline-flex;
  font-size: 1.08rem;
  font-weight: 500;
  min-height: 48px;
  position: relative;
  text-decoration: none;
  white-space: nowrap;
}

.lg-primary-nav a::after {
  background: linear-gradient(90deg, var(--lg-brand-blue), var(--lg-brand-cyan));
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--lg-motion-ui) var(--lg-ease-hover);
  width: 100%;
}

.lg-primary-nav a:focus-visible::after,
.lg-primary-nav a.is-active::after {
  transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
  .lg-primary-nav a:hover::after {
    transform: scaleX(1);
  }
}

.lg-primary-nav a.is-active {
  color: #075fd8;
  font-weight: 700;
}

.lg-account-link {
  color: #39465b;
  margin-left: clamp(1.25rem, 2.2vw, 2.4rem);
  width: 2.4rem;
  transform: translateX(1.25rem);
}

.lg-account-link .dashicons {
  font-size: 1.9rem;
  height: 1.9rem;
  width: 1.9rem;
}

.lg-menu-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid #c7d1df;
  border-radius: 0.5rem;
  color: #111b30;
  display: none;
  gap: 0.35rem;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0.45rem;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    border-color var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
}

@media (hover: hover) and (pointer: fine) {
  .lg-menu-toggle:hover {
    background: var(--hq-blue-50);
    border-color: var(--hq-blue-200);
  }
}

.lg-menu-toggle .dashicons {
  font-size: 1.45rem;
  height: 1.45rem;
  width: 1.45rem;
}

.lg-menu-toggle-label {
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.lg-mcat-page {
  background: #f9fbfe;
  color: #101b32;
  margin: 0;
}

/* WordPress wpautop can leave one empty paragraph after a shortcode. It has
 * no visual purpose, but its default margin becomes the exact blank strip at
 * the end of the mobile home page. */
.lg-mcat-page > p:empty,
.lumenglint-catalog > p:empty,
.lumenglint-samples > p:empty,
.lumenglint-upgrade > p:empty,
.lumenglint-library > p:empty,
.lumenglint-rights > p:empty {
  display: none;
}

.wp-site-blocks > main:has(.lg-mcat-page),
.wp-site-blocks > main:has(.lg-offer-page),
.wp-site-blocks > main:has(.lumenglint-catalog),
.wp-site-blocks > main:has(.lumenglint-samples),
.wp-site-blocks > main:has(.lumenglint-upgrade),
.wp-site-blocks > main:has(.lumenglint-library),
.wp-site-blocks > main:has(.lumenglint-rights),
.wp-site-blocks > main:has(.hq-guest-panel),
.wp-site-blocks > main:has(.hq-guest-order) {
  margin-block-start: 0;
  max-width: none !important;
  padding-block: 0 !important;
  padding-inline: 0 !important;
  width: 100%;
}

.lg-mcat-hero {
  align-items: start;
  display: grid;
  gap: 2.1rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.70fr);
  margin-inline: auto;
  max-width: 1360px;
  padding: 1.8rem 0 1.9rem;
}

.lg-mcat-copy {
  min-width: 0;
  padding: 1.6rem 0 0;
}

.lg-mcat-eyebrow {
  color: #075fd8;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
}

.lg-mcat-copy h1 {
  color: #101a30;
  font-size: clamp(3.4rem, 3.82vw, 3.65rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 1;
  margin: 0;
  max-width: 800px;
}

.lg-mcat-lead {
  color: #57647a;
  font-size: 1.37rem;
  letter-spacing: -0.015em;
  line-height: 1.45;
  margin: 1.65rem 0 0;
}

.lg-mcat-visual {
  margin: 0.5rem 0 0 -2.8rem;
  max-width: 820px;
  width: calc(100% + 4rem);
}

.lg-mcat-visual img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 820px;
}

.lg-mcat-offers {
  padding-top: 0;
}

.lg-mcat-primary-offer {
  background: #fff;
  border: 1px solid #d7dce5;
  border-radius: 1.05rem;
  box-shadow: 0 8px 22px rgb(15 31 58 / 8%);
  padding: 1rem 1.55rem 0.9rem;
  transition: border-color var(--lg-motion-ui) var(--lg-ease-hover),
    box-shadow var(--lg-motion-ui) var(--lg-ease-hover),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

.lg-mcat-badge {
  background: #075fd8;
  border-radius: 0.38rem;
  box-shadow: 0 4px 8px rgb(7 95 216 / 24%);
  color: #fff;
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.5rem 0.7rem;
}

.lg-mcat-primary-offer h2 {
  color: #101a30;
  font-size: 1.72rem;
  letter-spacing: -0.035em;
  line-height: 1.2;
  margin: 0.8rem 0 0.4rem;
}

.lg-mcat-price {
  color: #0861db;
  font-size: 3.05rem;
  font-weight: 760;
  letter-spacing: -0.07em;
  line-height: 1;
  margin: 0;
}

.lg-mcat-checklist {
  border-top: 2px solid #dfe3ea;
  list-style: none;
  margin: 1.75rem 0 1rem;
  padding: 0.65rem 0 0;
}

.lg-mcat-checklist li {
  align-items: center;
  color: #27354d;
  display: flex;
  font-size: 1.03rem;
  gap: 0.65rem;
  line-height: 1.25;
  min-height: 2rem;
}

.lg-mcat-checklist .dashicons {
  color: #1470f1;
  font-size: 1.42rem;
  height: 1.42rem;
  width: 1.42rem;
}

.lg-mcat-savings {
  align-items: center;
  background: #f1f6ff;
  border: 1px solid #bfd3ff;
  border-radius: 0.5rem;
  color: #485873;
  display: flex;
  font-size: 0.98rem;
  gap: 0.62rem;
  line-height: 1.3;
  margin: 0 0 1.15rem;
  min-height: 53px;
  padding: 0.55rem 0.75rem;
}

.lg-mcat-savings .dashicons {
  color: #1168e8;
  font-size: 1.4rem;
  height: 1.4rem;
  width: 1.4rem;
}

.lg-mcat-savings strong {
  color: #075fd8;
}

.lg-mcat-cta {
  align-items: center;
  background: #075fd8;
  border-radius: 0.52rem;
  color: #fff;
  display: flex;
  font-size: 1.28rem;
  font-weight: 700;
  gap: 0.82rem;
  justify-content: center;
  min-height: 58px;
  text-decoration: none;
  transition: background-color 160ms ease, transform 140ms var(--hq-ease-out);
}

.lg-mcat-cta:hover,
.lg-mcat-cta:focus-visible {
  background: #064eb4;
  color: #fff;
}

.lg-mcat-cta:active {
  transform: scale(0.985);
}

.lg-mcat-cta .dashicons {
  font-size: 1.65rem;
  height: 1.65rem;
  width: 1.65rem;
}

.lg-mcat-secondary-offers {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0.95rem;
}

.lg-mcat-secondary-offer {
  align-items: center;
  background: #fff;
  border: 1px solid #d7dce5;
  border-radius: 0.8rem;
  color: #111b30;
  display: flex;
  gap: 0.7rem;
  min-height: 126px;
  padding: 0.85rem 0.75rem;
  text-decoration: none;
  transition: background-color var(--lg-motion-ui) var(--lg-ease-hover),
    border-color var(--lg-motion-ui) var(--lg-ease-hover),
    box-shadow var(--lg-motion-ui) var(--lg-ease-hover),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

.lg-mcat-secondary-offer:focus-visible {
  border-color: #8db8ff;
  box-shadow: 0 4px 14px rgb(15 31 58 / 8%);
}

@media (hover: hover) and (pointer: fine) {
  .lg-mcat-primary-offer:hover,
  .lg-mcat-secondary-offer:hover {
    border-color: var(--hq-blue-200);
    box-shadow: var(--hq-shadow-md);
    transform: translateY(-2px);
  }
}

.lg-mcat-round-icon {
  align-items: center;
  background: #eef4ff;
  border-radius: 50%;
  color: #075fd8;
  display: inline-flex;
  flex: 0 0 58px;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.lg-mcat-round-icon .dashicons {
  font-size: 1.9rem;
  height: 1.9rem;
  width: 1.9rem;
}

.lg-mcat-round-icon img {
  display: block;
  height: 58px;
  object-fit: cover;
  width: 58px;
}

.lg-mcat-secondary-offer > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.lg-mcat-secondary-offer strong {
  font-size: 1.08rem;
  white-space: nowrap;
}

.lg-mcat-secondary-offer b {
  color: #075fd8;
  font-size: 1.5rem;
  letter-spacing: -0.04em;
}

.lg-mcat-secondary-offer small {
  color: #5d697d;
  font-size: 0.9rem;
  line-height: 1.2;
}

.lg-mcat-samples-link {
  color: #075fd8;
  display: block;
  font-size: 1.02rem;
  font-weight: 700;
  margin: 0.7rem 0 0;
  min-height: 0;
  text-align: right;
  text-decoration: none;
}

.lg-mcat-offers > p {
  margin-bottom: 0;
}

.lg-mcat-primary-offer > p:empty {
  display: none;
}

.lg-mcat-primary-offer > p:last-child {
  margin-bottom: 0.75rem;
  margin-top: 1.75rem;
}

.lg-mcat-samples-link:hover,
.lg-mcat-samples-link:focus-visible {
  text-decoration: underline;
}

.lg-mcat-trust-strip {
  background: #fff;
  border-top: 1px solid #d9e0ea;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 2.2rem max(2.6rem, calc((100vw - 1360px) / 2 + 2.6rem)) 2.15rem;
}

.lg-mcat-trust-strip > div {
  align-items: center;
  display: flex;
  gap: 1.1rem;
}

.lg-mcat-trust-icon {
  align-items: center;
  color: #0861db;
  display: inline-flex;
  flex: 0 0 3rem;
  justify-content: center;
  width: 3rem;
}

.lg-mcat-trust-icon .dashicons {
  font-size: 2.7rem;
  height: 2.7rem;
  width: 2.7rem;
}

.lg-mcat-trust-icon img {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.lg-mcat-trust-strip strong,
.lg-mcat-trust-strip small {
  display: block;
}

.lg-mcat-trust-strip strong {
  color: #1d2a42;
  font-size: 1.05rem;
  margin-bottom: 0.3rem;
}

.lg-mcat-trust-strip small {
  color: #667287;
  font-size: 0.93rem;
}

@media (prefers-reduced-motion: reduce) {
  html.lg-route-loading .lg-site-header::after,
  html.lg-native-loading .lg-site-header::after {
    animation: none;
  }
}

@media (max-width: 1050px) {
  .lg-primary-nav {
    gap: 1.1rem;
  }

  .lg-mcat-hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr);
    padding-inline: 1.75rem;
  }

  .lg-mcat-copy h1 {
    font-size: clamp(2.7rem, 5.8vw, 3.8rem);
  }

  .lg-mcat-visual {
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }

  .lg-mcat-visual img {
    width: 100%;
  }
}

/* The full desktop nav needs more than the 800px mobile threshold once the
 * account utility contains both the account CTA and order-recovery disclosure.
 * Collapse before the 1024px desktop test boundary so tablet widths never
 * create a horizontal page scroll while 1024px remains a desktop layout. */
@media (max-width: 1023px) {
  .lg-shell {
    width: calc(100% - 2rem);
  }

  .lg-site-header {
    min-height: 100px;
  }

  .lg-header-inner {
    min-height: 100px;
    position: relative;
  }

  .lg-brand {
    flex-basis: 164px;
  }

  .lg-brand img {
    height: auto;
    width: 158px;
  }

  .lg-menu-toggle {
    display: inline-flex;
    margin-left: auto;
  }

  .lg-primary-nav {
    background: #fff;
    border: 1px solid #d9e0ea;
    border-radius: 0.75rem;
    box-shadow: 0 12px 30px rgb(15 31 58 / 12%);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    left: 0;
    margin: 0;
    padding: 0.5rem;
    position: absolute;
    right: 0;
    top: calc(100% - 0.25rem);
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transform-origin: top center;
    transition: opacity var(--lg-motion-ui) var(--lg-ease-enter),
      transform var(--lg-motion-ui) var(--lg-ease-enter),
      visibility 0s linear var(--lg-motion-ui);
    visibility: visible;
    z-index: 20;
  }

  .lg-primary-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
    visibility: visible;
  }

  html.lg-js .lg-primary-nav {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px) scale(0.97);
    visibility: hidden;
  }

  html.lg-js .lg-primary-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
  }

  .lg-primary-nav a {
    font-size: 1rem;
    justify-content: flex-start;
    padding-inline: 0.85rem;
    width: 100%;
  }

  .lg-account-link {
    margin-left: 0.5rem;
    transform: none;
  }

  .lg-mcat-hero {
    grid-template-columns: 1fr;
    padding: 2rem 1rem 1.5rem;
  }

  .lg-mcat-copy {
    padding-top: 0;
  }

  .lg-mcat-copy h1 {
    font-size: clamp(2.65rem, 8vw, 4rem);
  }

  .lg-mcat-visual {
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }

  .lg-mcat-visual img {
    width: 100%;
  }

  .lg-mcat-trust-strip {
    grid-template-columns: 1fr;
    padding: 1.75rem 1rem;
  }
}

@media (max-width: 560px) {
  .lg-brand {
    flex-basis: 150px;
    transform: none;
  }

  .lg-brand img {
    width: 146px;
  }

  .lg-mcat-copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.2rem);
  }

  .lg-account-link {
    display: none;
  }

  .lg-mcat-eyebrow {
    font-size: 0.95rem;
  }

  .lg-mcat-lead {
    font-size: 1.08rem;
  }

  .lg-mcat-secondary-offers {
    grid-template-columns: 1fr;
  }

  .lg-mcat-samples-link {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-primary-nav a::after,
  .lg-mcat-cta,
  .lg-mcat-secondary-offer,
  .lg-mcat-primary-offer,
  .lumenglint-product,
  .lumenglint-home-trust span,
  .lumenglint-home-tracks > div,
  .lg-subject-grid label,
  .lg-menu-toggle,
  .lg-offer-picker,
  .lg-offer-picker-close {
    transition: none;
  }

  .lg-primary-nav,
  .lg-mcat-primary-offer,
  .lg-mcat-secondary-offer,
  .lumenglint-product,
  .lumenglint-home-trust span,
  .lumenglint-home-tracks > div,
  .lg-subject-grid label,
  .lg-offer-picker {
    transform: none;
  }

  .lg-offer-picker {
    opacity: 1;
  }

  .lg-offer-picker.is-closing {
    opacity: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .hq-site-header .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--brand);
  }

  .hq-primary-button .wp-block-button__link:hover {
    background: var(--wp--preset--color--brand-dark);
    box-shadow: 0 12px 30px rgb(29 78 216 / 28%);
    transform: translateY(-1px);
  }

  .hq-secondary-button .wp-block-button__link:hover {
    background: #fff;
    border-color: var(--wp--preset--color--brand);
    transform: translateY(-1px);
  }

  .hq-step-card:hover,
  .hq-offer-card:hover,
  .hq-topic-card:hover {
    border-color: var(--hq-blue-200);
    box-shadow: var(--hq-shadow-md);
    transform: translateY(-2px);
  }

  .hq-card-link:hover {
    color: var(--wp--preset--color--brand-dark);
  }
}

@media (max-width: 782px) {
  .admin-bar .hq-site-header {
    top: 46px;
  }

  .hq-announcement {
    display: none;
  }

  .hq-site-header {
    padding-inline: 1.25rem !important;
  }

  .hq-site-header .wp-block-buttons.hq-header-cta {
    display: none;
  }

  .hq-hero {
    padding-block: 3.5rem 4.75rem !important;
  }

  .hq-hero h1 {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .hq-hero-copy {
    text-align: left;
  }

  .hq-preview-shell {
    margin-block-start: 2rem;
  }

  .hq-preview-card {
    transform: none;
  }

  .hq-preview-float {
    bottom: -1rem;
    right: 0.75rem;
  }

  .hq-trust-grid {
    grid-template-columns: 1fr;
  }

  .hq-trust-item {
    justify-content: flex-start;
  }

  .hq-section {
    padding-block: 4rem;
  }

  .oversea-product-main .wp-block-column:last-child {
    position: static;
  }

  .hq-guest-order__summary {
    grid-template-columns: 1fr;
  }

  .hq-guest-order__item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .hq-hero .wp-block-buttons,
  .hq-final-cta .wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .hq-hero .wp-block-button,
  .hq-hero .wp-block-button__link,
  .hq-final-cta .wp-block-button,
  .hq-final-cta .wp-block-button__link {
    width: 100%;
  }

  .hq-preview-float {
    display: none;
  }

  .hq-scope-panel {
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* LumenGlint catalog, sample, upgrade and rights surfaces. */
.lumenglint-catalog,
.lumenglint-samples,
.lumenglint-upgrade,
.lumenglint-library,
.lumenglint-rights {
  margin-inline: auto;
  max-width: 1120px;
  padding: clamp(2rem, 4vw, 3.5rem) 1.25rem;
}

.lumenglint-catalog h1,
.lumenglint-samples h1,
.lumenglint-upgrade h1,
.lumenglint-library h1,
.lumenglint-rights h1 {
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  letter-spacing: -0.05em;
  line-height: 1;
  margin-block: 0 1rem;
  max-width: 16ch;
}

.lumenglint-catalog > p:not(.eyebrow),
.lumenglint-samples > p:not(.eyebrow),
.lumenglint-upgrade > p:not(.eyebrow),
.lumenglint-library > p:not(.eyebrow),
.lumenglint-rights > p:not(.eyebrow) {
  color: var(--wp--preset--color--muted);
  line-height: 1.7;
  max-width: 68ch;
}

.lumenglint-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 2rem;
}

.lumenglint-product {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  padding: 1.25rem;
  transition: border-color var(--lg-motion-ui) var(--lg-ease-hover),
    box-shadow var(--lg-motion-ui) var(--lg-ease-hover),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

.hq-two-column {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
}

.hq-public-form {
  min-width: 0;
}

@media (max-width: 900px) {
  .hq-two-column {
    grid-template-columns: 1fr;
  }
}

.lg-mcat-cta.lg-preview-cta {
  background: #fff;
  border: 1px solid #075fd8;
  color: #075fd8;
}

.lg-mcat-cta.lg-preview-cta:hover,
.lg-mcat-cta.lg-preview-cta:focus-visible {
  background: #eff6ff;
  color: #064eb4;
}

@media (hover: hover) and (pointer: fine) {
  .lumenglint-product:hover,
  .lumenglint-product:focus-within {
    border-color: var(--hq-blue-200);
    box-shadow: var(--hq-shadow-md);
    transform: translateY(-3px);
  }
}

.lumenglint-product h2 {
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  margin-block: 0 0.6rem;
}

.lumenglint-product p {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
}

.lumenglint-status {
  border-top: 1px solid var(--hq-slate-200);
  font-weight: 700;
  margin-block-start: 1rem;
  padding-block-start: 0.75rem;
}

.lumenglint-samples form {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  display: grid;
  gap: 0.75rem;
  margin-block: 2rem;
  max-width: 520px;
  padding: 1.25rem;
}

.lumenglint-samples select {
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  font: inherit;
  min-height: 48px;
  padding: 0.65rem;
}

/* Free Sample Collections: dense rows keep the full catalogue visible without
   the empty lower-page space created by the former single-select form. */
.lumenglint-sample-library {
  max-width: 1180px;
}

.lumenglint-sample-hero {
  display: grid;
  gap: 0.75rem;
  margin-block-end: 1.5rem;
  max-width: 760px;
}

.lumenglint-sample-hero > p:not(.eyebrow),
.lumenglint-sample-detail-hero > p:not(.eyebrow) {
  color: var(--wp--preset--color--muted);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.7;
  margin: 0;
}

.lumenglint-sample-filters {
  align-items: center;
  border-bottom: 1px solid var(--hq-slate-200);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block: 1.5rem 2.25rem;
  padding-block-end: 0.75rem;
}

.lumenglint-sample-filter {
  border-radius: 999px;
  color: var(--hq-ink);
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.6rem 0.9rem;
  text-decoration: none;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    color var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
}

.lumenglint-sample-filter:hover,
.lumenglint-sample-filter:focus-visible {
  background: var(--hq-slate-100);
  color: var(--hq-blue-700);
  transform: translateY(-1px);
}

.lumenglint-sample-filter.is-active {
  background: var(--hq-ink);
  color: #fff;
}

.lumenglint-sample-collection {
  animation: lg-sample-collection-enter var(--lg-motion-enter) var(--lg-ease-enter) both;
  margin-block: 0 2.5rem;
}

.lumenglint-sample-collection + .lumenglint-sample-collection {
  animation-delay: 60ms;
}

.lumenglint-sample-collection-heading {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-block-end: 0.75rem;
}

.lumenglint-sample-collection-heading h2 {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: -0.04em;
  margin: 0;
}

.lumenglint-sample-collection-heading .eyebrow {
  margin-block-end: 0.35rem;
}

.lumenglint-sample-count,
.lumenglint-sample-status {
  color: var(--wp--preset--color--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.lumenglint-sample-rows {
  border-top: 1px solid var(--hq-slate-200);
}

.lumenglint-sample-row {
  align-items: center;
  border-bottom: 1px solid var(--hq-slate-200);
  display: grid;
  gap: 1rem;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  padding: 1.1rem 0;
  transition: background-color var(--lg-motion-ui) var(--lg-ease-hover),
    padding-inline var(--lg-motion-ui) var(--lg-ease-enter),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

.lumenglint-sample-row:hover,
.lumenglint-sample-row:focus-within {
  background: linear-gradient(90deg, rgba(239, 246, 255, 0.8), rgba(255, 255, 255, 0));
  padding-inline: 0.75rem;
  transform: translateX(3px);
}

.lumenglint-sample-row-preview {
  align-self: stretch;
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: 0.55rem;
  display: block;
  min-height: 5.9rem;
  overflow: hidden;
}

.lumenglint-sample-row-preview img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: top;
  width: 100%;
}

.lumenglint-sample-detail-link {
  grid-column: 2;
  justify-self: start;
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

.lumenglint-sample-row-main {
  min-width: 0;
}

.lumenglint-sample-row-kicker {
  color: var(--wp--preset--color--muted);
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  margin: 0 0 0.2rem;
  text-transform: uppercase;
}

.lumenglint-sample-row h3 {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  margin: 0;
}

.lumenglint-sample-row-main > p:last-child {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0.3rem 0 0;
}

.lumenglint-sample-row-meta {
  grid-column: 2;
  display: grid;
  gap: 0.35rem;
}

.lumenglint-sample-row-meta > span:first-child {
  color: var(--wp--preset--color--muted);
  font-size: 0.86rem;
}

.lumenglint-sample-status {
  color: #147a52;
  font-size: 0.7rem;
}

.lumenglint-sample-footnote {
  border-top: 1px solid var(--hq-slate-200);
  color: var(--wp--preset--color--muted);
  font-size: 0.85rem;
  line-height: 1.6;
  margin-block: 1rem 0;
  padding-block-start: 1rem;
}

.lumenglint-sample-empty {
  background: var(--hq-slate-100);
  border: 1px dashed var(--hq-slate-300);
  border-radius: var(--hq-radius-lg);
  display: grid;
  gap: 0.4rem;
  margin-block: 1.5rem;
  padding: 1.25rem;
}

.lumenglint-sample-empty a {
  color: var(--hq-blue-700);
  font-weight: 700;
}

.lumenglint-sample-detail {
  max-width: 1080px;
}

.lumenglint-sample-back {
  color: var(--hq-blue-700);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.lumenglint-sample-detail-hero {
  animation: lg-sample-collection-enter var(--lg-motion-enter) var(--lg-ease-enter) both;
  margin-block: 1.5rem 2.25rem;
  max-width: 760px;
}

.lumenglint-sample-detail-grid {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr);
}

.lumenglint-sample-preview-card,
.lumenglint-sample-facts,
.lumenglint-sample-download-card {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
}

.lumenglint-sample-preview-card {
  padding: 1rem;
}

.lumenglint-sample-preview-art {
  align-items: center;
  aspect-ratio: 4 / 5;
  background: radial-gradient(circle at 20% 20%, #dbeafe, #172554 72%);
  border-radius: calc(var(--hq-radius-lg) - 0.25rem);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.lumenglint-sample-preview-art::after {
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  content: '';
  height: 16rem;
  position: absolute;
  right: -6rem;
  top: -5rem;
  width: 16rem;
}

.lumenglint-sample-preview-art span,
.lumenglint-sample-preview-art strong,
.lumenglint-sample-preview-art small {
  position: relative;
  z-index: 1;
}

.lumenglint-sample-preview-art span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.lumenglint-sample-preview-art strong {
  font-size: clamp(3rem, 8vw, 5rem);
  letter-spacing: -0.08em;
  line-height: 1;
  margin-block: 0.35rem;
}

.lumenglint-sample-preview-art small {
  opacity: 0.78;
}

.lumenglint-sample-preview-note,
.lumenglint-sample-license {
  color: var(--wp--preset--color--muted);
  font-size: 0.88rem;
  line-height: 1.6;
  margin: 1rem 0 0;
}

.lumenglint-sample-facts {
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.lumenglint-sample-facts dl {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.lumenglint-sample-facts dl div {
  border-bottom: 1px solid var(--hq-slate-200);
  padding-block-end: 0.65rem;
}

.lumenglint-sample-facts dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lumenglint-sample-facts dd {
  font-weight: 700;
  margin: 0.25rem 0 0;
}

.lumenglint-sample-download-card {
  background: var(--hq-slate-100);
  box-shadow: none;
  padding: 1rem;
}

.lumenglint-sample-download-card h2 {
  font-size: 1.2rem;
  letter-spacing: -0.03em;
  margin: 0.2rem 0 0.45rem;
}

.lumenglint-sample-download-card p:not(.eyebrow):not(.lumenglint-sample-license) {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin-block: 0 0.9rem;
}

.lumenglint-sample-download {
  transition: box-shadow var(--lg-motion-ui) var(--lg-ease-hover),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

.lumenglint-sample-download:hover,
.lumenglint-sample-download:focus-visible {
  box-shadow: 0 0.8rem 1.5rem rgba(23, 37, 84, 0.18);
  transform: translateY(-2px);
}

.lumenglint-sample-download.is-disabled {
  cursor: not-allowed;
  opacity: .52;
  box-shadow: none;
  transform: none;
}

@keyframes lg-sample-collection-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .lumenglint-sample-row {
    align-items: start;
    grid-template-columns: 4.5rem minmax(0, 1fr);
  }

  .lumenglint-sample-row-meta {
    grid-column: 2 / -1;
    grid-row: 2;
  }

  .lumenglint-sample-detail-link {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
  }

  .lumenglint-sample-detail-grid {
    grid-template-columns: 1fr;
  }

  .lumenglint-sample-preview-card {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1fr);
  }

  .lumenglint-sample-preview-note {
    align-self: center;
    margin: 0;
  }
}

@media (max-width: 480px) {
  .lumenglint-sample-collection-heading {
    align-items: start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .lumenglint-sample-row {
    gap: 0.7rem;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    padding-block: 1rem;
  }

  .lumenglint-sample-detail-link {
    grid-column: 2;
    justify-self: start;
    grid-row: 3;
  }

  .lumenglint-sample-row-meta {
    grid-column: 2;
    grid-row: 2;
  }

  .lumenglint-sample-preview-card {
    grid-template-columns: 1fr;
  }

  .lumenglint-sample-preview-art {
    aspect-ratio: 16 / 9;
  }

  .lumenglint-sample-facts dl {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lumenglint-sample-collection,
  .lumenglint-sample-detail-hero {
    animation: none;
  }

  .lumenglint-sample-row:hover,
  .lumenglint-sample-row:focus-within,
  .lumenglint-sample-download:hover,
  .lumenglint-sample-download:focus-visible {
    transform: none;
  }
}

.lumenglint-upgrade ul,
.lumenglint-rights dl {
  line-height: 1.7;
  margin-block: 1.5rem;
  max-width: 68ch;
}

.lumenglint-rights dl {
  display: grid;
  gap: 0.5rem 1rem;
  grid-template-columns: 9rem minmax(0, 1fr);
}

.lumenglint-rights dt {
  color: var(--wp--preset--color--muted);
  font-weight: 700;
}

.lumenglint-rights dd {
  margin: 0;
}

.lumenglint-home {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 7rem) var(--wp--preset--spacing--50);
}

.lumenglint-home-hero {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.lumenglint-home h1 {
  max-width: 760px;
  margin: 0 auto 1.25rem;
  font-size: clamp(2.7rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.lumenglint-home-lead {
  max-width: 650px;
  margin: 0 auto;
  color: var(--wp--preset--color--muted);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.lumenglint-home-actions,
.lumenglint-home-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem 1.25rem;
  align-items: center;
  margin: 2rem 0 0;
}

.lumenglint-home-actions .wp-element-button {
  min-height: 44px;
}

.lumenglint-home-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: clamp(3rem, 8vw, 6rem) 0;
}

.lumenglint-home-trust span,
.lumenglint-home-tracks > div {
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--brand) 20%, transparent);
  border-radius: 1.25rem;
  background: var(--wp--preset--color--surface-alt);
  padding: 1.25rem;
  transition: border-color var(--lg-motion-ui) var(--lg-ease-hover),
    box-shadow var(--lg-motion-ui) var(--lg-ease-hover),
    transform var(--lg-motion-ui) var(--lg-ease-enter);
}

@media (hover: hover) and (pointer: fine) {
  .lumenglint-home-trust span:hover,
  .lumenglint-home-tracks > div:hover {
    border-color: var(--hq-blue-200);
    box-shadow: var(--hq-shadow-md);
    transform: translateY(-3px);
  }
}

.lumenglint-home-trust span {
  color: var(--wp--preset--color--brand-dark);
  font-weight: 700;
  text-align: center;
}

.lumenglint-home-tracks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.lumenglint-home-tracks h2 {
  margin: 0.25rem 0 0.65rem;
}

.lumenglint-home-tracks p {
  color: var(--wp--preset--color--muted);
}

.lumenglint-home-footer {
  margin-top: 3rem;
}

@media (max-width: 700px) {
  .lumenglint-home-trust,
  .lumenglint-home-tracks {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .lumenglint-grid,
  .lumenglint-rights dl {
    grid-template-columns: 1fr;
  }

  .lumenglint-rights dt {
    margin-block-start: 0.75rem;
  }
}

/* LumenGlint offer detail and cart-entry surfaces. Keep selection controls
 * comfortable on touch devices and let the two-column layout collapse before
 * labels become cramped. */
.lg-offer-page {
  margin-inline: auto;
  max-width: 1120px;
  padding: clamp(2rem, 6vw, 5rem) 1.25rem;
}

.lg-offer-page h1 {
  font-size: clamp(2.25rem, 6vw, 4.75rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 0 0 1rem;
  max-width: 15ch;
}

.lg-offer-back {
  color: var(--wp--preset--color--brand-dark);
  font-weight: 700;
}

.lg-offer-lead {
  color: var(--wp--preset--color--muted);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.65;
  max-width: 68ch;
}

.lg-offer-layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  margin-block-start: 2rem;
}

.lg-offer-summary,
.lg-offer-form {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.lg-offer-price {
  color: var(--wp--preset--color--brand-dark);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  margin-block: 0 1.25rem;
}

.lg-offer-summary ul {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lg-offer-summary li {
  align-items: flex-start;
  display: flex;
  gap: 0.5rem;
  line-height: 1.5;
}

.lg-offer-summary .dashicons {
  color: var(--wp--preset--color--brand);
  flex: 0 0 auto;
  margin-block-start: 0.1rem;
}

.lg-offer-form {
  display: grid;
  gap: 1.25rem;
}

.lg-offer-picker {
  border: 0;
  border-radius: 1.15rem;
  box-shadow: 0 28px 90px rgb(15 31 58 / 28%);
  color: var(--wp--preset--color--ink, #111b30);
  margin: auto;
  max-height: min(760px, calc(100dvh - 2rem));
  max-width: min(620px, calc(100vw - 2rem));
  overflow: auto;
  opacity: 0;
  padding: 0;
  transform: translateY(8px) scale(0.97);
  transition: opacity var(--lg-motion-enter) var(--lg-ease-enter),
    transform var(--lg-motion-enter) var(--lg-ease-enter),
    overlay var(--lg-motion-enter) allow-discrete,
    display var(--lg-motion-enter) allow-discrete;
  width: 620px;
}

.lg-offer-picker[open] {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.lg-offer-picker.is-closing {
  opacity: 0;
  transform: translateY(8px) scale(0.97);
}

@starting-style {
  .lg-offer-picker[open] {
    opacity: 0;
    transform: translateY(8px) scale(0.97);
  }
}

.lg-offer-picker::backdrop {
  background: rgb(8 19 43 / 0%);
  backdrop-filter: blur(3px);
  transition: background-color var(--lg-motion-enter) var(--lg-ease-enter);
}

.lg-offer-picker[open]::backdrop {
  background: rgb(8 19 43 / 56%);
}

.lg-offer-picker.is-closing::backdrop {
  background: rgb(8 19 43 / 0%);
}

.lg-offer-picker-inner {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.lg-offer-picker-header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-block-end: 1.25rem;
}

.lg-offer-picker-header h2 {
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1.1;
  margin: 0.25rem 0 0.55rem;
}

.lg-offer-picker-intro {
  color: var(--wp--preset--color--muted);
  line-height: 1.5;
  margin: 0;
  max-width: 48ch;
}

.lg-offer-picker-close {
  align-items: center;
  background: transparent;
  border: 1px solid var(--hq-slate-200);
  border-radius: 999px;
  color: var(--wp--preset--color--muted);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 2.35rem;
  font-size: 1.65rem;
  height: 2.35rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 2.35rem;
}

.lg-offer-picker-close:hover,
.lg-offer-picker-close:focus-visible {
  border-color: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--brand);
}

.lg-offer-picker-form[hidden] {
  display: none;
}

.lg-offer-picker-form .lg-offer-submit[disabled] {
  background: var(--hq-slate-300);
  cursor: not-allowed;
  opacity: 0.78;
}

.lg-offer-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.lg-offer-form legend {
  font-size: 1.1rem;
  font-weight: 800;
  margin-block-end: 0.8rem;
}

.lg-subject-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lg-subject-grid label {
  align-items: center;
  background: var(--wp--preset--color--surface-alt);
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-sm);
  cursor: pointer;
  display: flex;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    border-color var(--lg-motion-fast) var(--lg-ease-hover),
    box-shadow var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
}

.lg-subject-grid label:has(input:checked) {
  border-color: var(--wp--preset--color--brand);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--brand) 18%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  .lg-subject-grid label:hover {
    border-color: var(--hq-blue-200);
    transform: translateY(-1px);
  }
}

.lg-subject-grid input {
  accent-color: var(--wp--preset--color--brand);
  flex: 0 0 auto;
  min-height: 18px;
  min-width: 18px;
}

.lg-offer-submit {
  align-items: center;
  background: var(--wp--preset--color--brand);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 800;
  gap: 0.5rem;
  justify-content: center;
  min-height: 50px;
  padding: 0.8rem 1.25rem;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    box-shadow var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
  width: 100%;
}

.lg-offer-submit:hover,
.lg-offer-submit:focus-visible {
  background: var(--wp--preset--color--brand-dark);
}

.lg-offer-submit:active {
  box-shadow: 0 1px 0 rgb(15 31 58 / 14%);
  transform: scale(0.985);
}

.lg-offer-submit[disabled] {
  background: var(--hq-slate-300);
  color: var(--hq-slate-700);
  cursor: not-allowed;
  opacity: 0.82;
}

.lg-offer-submit[disabled]:hover,
.lg-offer-submit[disabled]:focus-visible {
  background: var(--hq-slate-300);
}

.lg-offer-notice {
  background: #fff3ed;
  border: 1px solid #e8a78a;
  border-radius: var(--hq-radius-sm);
  color: #7d2e1e;
  line-height: 1.5;
  padding: 0.85rem 1rem;
}

.lg-offer-help,
.lg-offer-note,
.lg-offer-fixed-scope {
  color: var(--wp--preset--color--muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

.lg-offer-selection-status,
.lg-offer-preview-save-status {
  color: var(--wp--preset--color--muted);
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0.5rem 0 0;
}

@media (max-width: 760px) {
  .lg-offer-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .lg-offer-picker {
    max-height: calc(100dvh - 1rem);
    max-width: calc(100vw - 1rem);
  }

  .lg-offer-picker-inner {
    padding: 1.1rem;
  }

  .lg-subject-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep the reduced-motion contract after the dialog declarations above so
 * the opt-out cannot be overwritten by the component's normal transition. */
@media (prefers-reduced-motion: reduce) {
  .lg-offer-picker,
  .lg-offer-picker::backdrop,
  .lg-offer-picker-close,
  .lg-subject-grid label,
  .lg-offer-submit {
    transition: none;
  }

  .lg-offer-picker[open] {
    opacity: 1;
    transform: none;
  }

  .lg-offer-picker.is-closing {
    opacity: 0;
    transform: none;
  }
}

/* -------------------------------------------------------------------------
 * LumenGlint storefront polish
 *
 * These rules intentionally live last: older block-theme defaults and the
 * first-pass footer are still present for editor compatibility, but the
 * public template gets one consistent flow, control treatment, and footer.
 * ------------------------------------------------------------------------- */

/* A block-theme wrapper must not clip focus rings, mobile menus, or route
 * content. Clipping here also made the end of some templates look detached
 * from the footer while the browser was calculating the scroll range. */
.wp-site-blocks {
  overflow: visible;
}

/* WordPress supplies this skip link globally. The custom header used to add a
 * second one with different wording, so keep one accessible, predictable
 * control instead. */
#wp-skip-link.skip-link {
  background: #0b1f41;
  border-radius: 0.5rem;
  color: #fff;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-160%);
  transition: transform var(--lg-motion-fast) var(--lg-ease-enter);
  z-index: 100000;
}

#wp-skip-link.skip-link:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  transform: translateY(0);
  width: auto;
}

/* Remove the template-part's inherited marketing margin on every public
 * route, not just the bespoke LumenGlint landing pages. */
.wp-site-blocks > footer.wp-block-template-part,
.hq-site-footer {
  margin-block-start: 0 !important;
}

/* The account icon was ambiguous and duplicated the navigation destination.
 * Make it an explicit, text-labelled order-status CTA on desktop. */
.lg-account-link {
  align-items: center;
  background: #fff;
  border: 1px solid #b9c7d9;
  border-radius: 999px;
  color: #0b1f41;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 700;
  gap: 0.4rem;
  justify-content: center;
  margin-left: 1rem;
  padding: 0 0.85rem;
  text-decoration: none;
  transform: none;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    border-color var(--lg-motion-fast) var(--lg-ease-hover),
    color var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
  width: auto;
}

.lg-account-link .dashicons {
  font-size: 1rem;
  height: 1rem;
  width: 1rem;
}

.lg-account-link:hover,
.lg-account-link:focus-visible {
  background: #eff6ff;
  border-color: #0861db;
  color: #075fd8;
}

.lg-account-link:active {
  transform: scale(0.98);
}

.lg-menu-toggle .lg-menu-icon-close {
  display: none !important;
}

.lg-menu-toggle[aria-expanded="true"] .lg-menu-icon-open {
  display: none;
}

.lg-menu-toggle[aria-expanded="true"] .lg-menu-icon-close {
  display: inline-block !important;
}

/* Purpose-built footer: a compact brand block, two useful link groups, a
 * standards card, and one legal line. Every text role has an explicit scale
 * so it does not inherit three different WordPress block font presets. */
.hq-site-footer {
  background: linear-gradient(145deg, var(--lg-brand-navy) 0%, var(--lg-brand-mid) 58%, #0b1830 100%);
  color: rgb(255 255 255 / 74%);
  padding: 0 !important;
}

.hq-footer-shell {
  margin-inline: auto;
  max-width: 1180px;
  padding: clamp(2rem, 3.5vw, 3.25rem) clamp(1rem, 3vw, 2.5rem) 1.25rem;
  width: 100%;
}

.hq-footer-grid {
  align-items: start;
  display: grid;
  gap: clamp(1.5rem, 3vw, 3rem);
  grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 0.7fr)) minmax(220px, 0.95fr);
}

.hq-footer-brand-column {
  align-self: start;
}

.hq-footer-brand {
  align-items: center;
  color: #fff;
  display: inline-flex;
  gap: 0.7rem;
  min-height: 44px;
  text-decoration: none;
}

.hq-footer-brand-logo {
  align-items: center;
  display: inline-flex;
  filter: drop-shadow(0 12px 24px rgb(0 0 0 / 20%));
  justify-content: center;
  width: 11.75rem;
}

.hq-footer-brand-logo img {
  display: block;
  height: auto;
  width: 100%;
}

.hq-footer-tagline {
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  margin: 1.25rem 0 0;
  max-width: 34ch;
}

.hq-footer-description {
  color: rgb(255 255 255 / 58%);
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0.7rem 0 0;
  max-width: 38ch;
}

.hq-footer-brand-action {
  align-items: center;
  background: rgb(255 255 255 / 8%);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 0.5rem;
  color: #fff;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.7rem;
  margin-top: 1.15rem;
  min-height: 40px;
  padding: 0.55rem 0.8rem;
  text-decoration: none;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    border-color var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
}

.hq-footer-brand-action:hover,
.hq-footer-brand-action:focus-visible {
  background: rgb(255 255 255 / 14%);
  border-color: rgb(255 255 255 / 36%);
  color: #fff;
}

.hq-footer-brand-action:active {
  transform: scale(0.98);
}

.hq-footer-heading {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.hq-footer-nav ul {
  display: grid;
  gap: 0.05rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hq-footer-nav a {
  align-items: center;
  border-radius: 0.35rem;
  color: rgb(255 255 255 / 74%);
  display: inline-flex;
  font-size: 0.875rem;
  line-height: 1.35;
  min-height: 38px;
  padding-inline: 0.35rem;
  text-decoration: none;
  transition: background-color var(--lg-motion-fast) var(--lg-ease-hover),
    color var(--lg-motion-fast) var(--lg-ease-hover);
}

.hq-footer-nav a:hover,
.hq-footer-nav a:focus-visible {
  background: rgb(255 255 255 / 9%);
  color: #fff;
}

.hq-footer-standards {
  background: rgb(255 255 255 / 5%);
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 0.85rem;
  padding: 1rem 1.1rem;
}

.hq-footer-standards .hq-footer-heading {
  margin-bottom: 0.8rem;
}

.hq-footer-standards ul {
  display: grid;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hq-footer-standards li {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1.45rem minmax(0, 1fr);
}

.hq-footer-standard-mark {
  color: #76b3ff;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.35;
  padding-top: 0.1rem;
}

.hq-footer-standards li > span:last-child {
  display: grid;
  gap: 0.2rem;
}

.hq-footer-standards strong {
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.35;
}

.hq-footer-standards small {
  color: rgb(255 255 255 / 56%);
  font-size: 0.72rem;
  line-height: 1.4;
}

.hq-footer-meta {
  align-items: start;
  border-top: 1px solid rgb(255 255 255 / 13%);
  color: rgb(255 255 255 / 50%);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
  padding: 1rem 0 0;
}

.hq-footer-meta p {
  font-size: 0.75rem;
  line-height: 1.55;
  margin: 0;
  max-width: 92ch;
}

.hq-footer-meta .hq-footer-meta-note {
  color: rgb(255 255 255 / 40%);
  max-width: 30ch;
  text-align: right;
}

/* Keep the closing action visually connected to the footer. The stock page,
 * shop, and product templates reserve a large bottom padding intended for a
 * long marketing page; these focused customer journeys do not need it. */
.wp-site-blocks > main#main-content:not(:has(.lg-mcat-page, .lg-offer-page, .lumenglint-catalog, .lumenglint-samples, .lumenglint-upgrade, .lumenglint-library, .lumenglint-rights, .hq-guest-panel, .hq-guest-order)) {
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

.hq-page {
  padding-bottom: clamp(1rem, 2vw, 1.5rem);
}

.hq-lifecycle-shell {
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.hq-lifecycle-shell > :last-child,
.hq-lifecycle-shell .entry-content > :last-child {
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .hq-footer-grid {
    grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 0.75fr));
  }

  .hq-footer-standards {
    grid-column: 1 / -1;
  }

  .hq-footer-standards ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .hq-footer-grid {
    gap: 1.75rem;
    grid-template-columns: 1fr;
  }

  .hq-footer-standards {
    grid-column: auto;
  }

  .hq-footer-standards ul {
    grid-template-columns: 1fr;
  }

  .hq-footer-nav a {
    min-height: 44px;
  }

  .hq-footer-nav ul {
    column-gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hq-footer-meta {
    display: grid;
    gap: 0.6rem;
  }

  .hq-footer-meta .hq-footer-meta-note {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .lg-account-link {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  #wp-skip-link.skip-link,
  .lg-account-link,
  .hq-footer-nav a,
  .hq-footer-brand-action {
    transition: none;
  }
}

/* Unified guest service entry and the account/support hub. */
.lg-primary-nav .lg-account-link {
  min-height: 44px;
}

.lg-primary-nav .lg-account-link::after {
  display: none;
}

.lg-account-menu {
  align-items: center;
  display: flex;
  gap: 0.45rem;
  position: relative;
}

.lg-account-tools {
  position: relative;
}

.lg-account-tools > summary {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #c7d1df;
  border-radius: 999px;
  color: #334155;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  gap: 0.35rem;
  justify-content: center;
  list-style: none;
  min-height: 44px;
  padding: 0 0.75rem;
  white-space: nowrap;
}

.lg-account-tools > summary::-webkit-details-marker {
  display: none;
}

.lg-account-tools > summary::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
  height: 0.4rem;
  margin-block-start: -0.2rem;
  transform: rotate(45deg);
  transition: transform var(--lg-motion-fast) var(--lg-ease-hover);
  width: 0.4rem;
}

.lg-account-tools[open] > summary,
.lg-account-tools > summary:hover,
.lg-account-tools > summary:focus-visible {
  background: #eff6ff;
  border-color: #0861db;
  color: #075fd8;
}

.lg-account-tools[open] > summary::after {
  margin-block-start: 0.2rem;
  transform: rotate(225deg);
}

.lg-account-tools-panel {
  background: #fff;
  border: 1px solid #d9e0ea;
  border-radius: 0.75rem;
  box-shadow: 0 12px 30px rgb(15 31 58 / 14%);
  display: grid;
  gap: 0.35rem;
  min-width: 13rem;
  padding: 0.7rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  z-index: 30;
}

.lg-account-tools-panel > span {
  color: #64748b;
  font-size: 0.82rem;
  line-height: 1.35;
  padding-inline: 0.55rem;
}

.lg-account-tools-panel .lg-find-order-link {
  align-items: center;
  border-radius: 0.5rem;
  color: #075fd8;
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 800;
  min-height: 44px;
  padding-inline: 0.55rem;
  text-decoration: none;
}

.lg-account-tools-panel .lg-find-order-link::after {
  display: none;
}

.lg-account-tools-panel .lg-find-order-link:hover,
.lg-account-tools-panel .lg-find-order-link:focus-visible {
  background: #eff6ff;
  color: #064bb1;
}

.hq-page--account {
  background: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 1.25rem;
  max-width: min(100%, 960px);
}

.entry-content .hq-page--account {
  max-width: min(100%, 960px);
}

main .entry-content:has(.hq-page--account) {
  max-width: min(100%, 960px);
}

.hq-page--account .hq-page-hero {
  max-width: none;
}

.lg-account-hub {
  margin-block: clamp(1.75rem, 4vw, 3rem) 0;
}

.lg-account-card-grid {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.25rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lg-account-card {
  background: #fff;
  border: 1px solid #d9e4f1;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgb(15 31 58 / 8%);
  color: #0b1f41;
  display: flex;
  flex-direction: column;
  min-height: 15rem;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  text-decoration: none;
  transition: border-color var(--lg-motion-fast) var(--lg-ease-hover),
    box-shadow var(--lg-motion-fast) var(--lg-ease-hover),
    transform var(--lg-motion-fast) var(--lg-ease-enter);
}

.lg-account-card:hover,
.lg-account-card:focus-visible {
  border-color: #86b7ed;
  box-shadow: 0 14px 30px rgb(15 31 58 / 12%);
  color: #075fd8;
  transform: translateY(-2px);
}

.lg-account-card:focus-visible {
  outline: 3px solid rgb(8 97 219 / 35%);
  outline-offset: 3px;
}

.lg-account-card-icon {
  color: #0861db;
  font-size: 1.7rem;
  height: 1.7rem;
  margin-block-end: 1.25rem;
  width: 1.7rem;
}

.lg-account-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.lg-account-card-title,
.lg-account-card-description,
.lg-account-card-cta {
  display: block;
}

.lg-account-card-title {
  color: #0b1f41;
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.lg-account-card-description {
  color: #475569;
  line-height: 1.6;
  margin-block: 0.65rem 1.5rem;
}

.lg-account-card-cta {
  align-items: center;
  color: #075fd8;
  display: inline-flex;
  font-weight: 800;
  gap: 0.35rem;
  margin-block-start: auto;
  min-height: 44px;
}

.lg-account-card-cta .dashicons {
  font-size: 1.05rem;
  height: 1.05rem;
  width: 1.05rem;
}

.lg-service-context {
  align-items: center;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  margin-block: 0 1.5rem;
  max-width: 100%;
  padding: 0.4rem 0.75rem;
  width: fit-content;
}

.lg-service-context a,
.lg-service-context [aria-current="page"] {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
}

.lg-service-context a {
  color: #075fd8;
  font-weight: 800;
  text-decoration: none;
}

.lg-service-context a:focus-visible {
  border-radius: 0.35rem;
  outline: 3px solid rgb(8 97 219 / 35%);
  outline-offset: 2px;
}

.lg-service-context [aria-hidden="true"] {
  color: #64748b;
}

.lg-service-context [aria-current="page"] {
  color: #334155;
  font-weight: 700;
}

@media (max-width: 1023px) {
  .lg-primary-nav .lg-account-link {
    margin-left: 0;
    width: 100%;
  }

  .lg-account-menu {
    align-items: stretch;
    flex-direction: column;
    gap: 0.15rem;
    width: 100%;
  }

  .lg-account-tools > summary {
    justify-content: space-between;
    padding-inline: 0.85rem;
    width: 100%;
  }

  .lg-account-tools-panel {
    border-radius: 0.6rem;
    box-shadow: none;
    margin-block-start: 0.15rem;
    min-width: 0;
    position: static;
  }

  .lg-account-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .lg-primary-nav .lg-account-link {
    display: inline-flex;
  }

  .lg-service-context {
    border-radius: 999px;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.35rem;
    overflow: hidden;
    padding-inline: 0.65rem;
    white-space: nowrap;
    width: 100%;
  }

  .lg-service-context a,
  .lg-service-context [aria-current="page"] {
    min-height: 46px;
  }

  .lg-service-context-home {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lg-service-context-current,
  .lg-service-context-separator {
    flex: 0 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-account-card {
    transition: none;
  }

  .lg-account-card:hover,
  .lg-account-card:focus-visible {
    transform: none;
  }
}

/* Ownership A storefront states: preview-only surfaces must be explicit and
 * useful, never blue disabled controls that look like a broken checkout. */
.hq-preview-actions,
.lg-offer-preview-actions,
.lumenglint-sample-download-unavailable {
  background: #fffaf0;
  border: 1px solid #f2c879;
  border-radius: var(--hq-radius-md);
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}

.hq-preview-actions strong,
.lg-offer-preview-actions strong,
.lumenglint-sample-download-unavailable strong {
  color: #7c4a03;
}

.hq-preview-actions span,
.lg-offer-preview-actions span,
.lumenglint-sample-download-unavailable span {
  color: #6b4f1d;
  font-size: 0.9rem;
  line-height: 1.5;
}

.hq-preview-actions a,
.lg-offer-preview-actions a,
.lumenglint-sample-download-unavailable a {
  font-weight: 750;
  min-height: 38px;
}

.lg-preview-sample-cta {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-align: center;
  text-decoration: none;
}

.lg-mcat-builder-form > p:has(> .lg-preview-sample-cta),
.lg-ca-builder-form > p:has(> .lg-preview-sample-cta) {
  margin: 0.75rem clamp(1.3rem, 3vw, 2.25rem) 0;
}

.lg-mcat-builder-form > p > .lg-preview-sample-cta,
.lg-ca-builder-form > p > .lg-preview-sample-cta {
  display: flex;
  width: 100%;
}

.hq-text-link {
  color: var(--wp--preset--color--brand-dark);
}

.hq-catalog-summary {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
}

.hq-catalog-summary-total {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
}

.hq-catalog-filter-advanced > summary {
  display: none;
}

.hq-catalog-empty--invalid {
  border-color: #f2c879;
}

.hq-search-empty {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  margin-inline: auto;
  max-width: 720px;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
}

.hq-search-results-heading {
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.hq-search-results-heading h1 {
  margin-block: 0.35rem 0.65rem;
}

.hq-search-results > ul,
.hq-search-results .wp-block-post-template {
  display: grid;
  gap: 1rem;
  list-style: none;
  padding: 0;
}

.hq-search-result-card {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}

.hq-search-result-card h2 {
  margin-top: 0;
}

.hq-search-result-meta {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-block: 1rem;
}

.hq-search-result-meta div {
  min-width: 0;
}

.hq-search-result-meta dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.hq-search-result-meta dd {
  font-size: 0.92rem;
  font-weight: 650;
  margin: 0.2rem 0 0;
}

.hq-search-result-summary {
  color: var(--wp--preset--color--muted);
  margin-bottom: 1rem;
}

.hq-search-result-action-wrap {
  margin-bottom: 0;
}

.hq-search-result-action {
  font-weight: 700;
}

.hq-recovery-search {
  margin-block: 1.5rem;
  text-align: left;
}

.hq-recovery-search label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.hq-recovery-search > div {
  display: flex;
  gap: 0.6rem;
}

.hq-recovery-search input {
  border: 1px solid var(--hq-slate-300);
  border-radius: var(--hq-radius-sm);
  flex: 1 1 auto;
  min-height: 44px;
  min-width: 0;
  padding: 0.7rem 0.85rem;
}

.hq-search-empty-actions,
.hq-recovery-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.hq-not-found {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  margin-inline: auto;
  max-width: 760px;
  padding: clamp(1.5rem, 5vw, 3rem);
}

@media (max-width: 680px) {
  .hq-search-result-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hq-recovery-search > div {
    align-items: stretch;
    flex-direction: column;
  }

  .hq-recovery-search button,
  .hq-search-empty-actions > *,
  .hq-recovery-links > * {
    width: 100%;
  }
}

/* The guest forms keep a server-side honeypot. It must never occupy layout,
 * the tab order, or the accessible tree even when the backend uses its legacy
 * id/name markup. */
.hq-guest-form__honeypot,
.hq-guest-form input[name="website"],
.hq-guest-form input[id$="-website"] {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.hq-cover-art {
  align-items: center;
  display: grid;
  inset: 0;
  justify-items: center;
  overflow: hidden;
  position: absolute;
}

.hq-product-cover > .hq-cover-art,
.hq-catalog-card__cover > .hq-cover-art {
  inset: 0;
  position: absolute;
}

.hq-catalog-card__cover .hq-cover-art img,
.hq-product-cover .hq-cover-art img {
  object-fit: contain;
  opacity: 1;
  padding: 0.65rem;
}

.hq-product-cover[data-cover-source="illustration"],
.hq-catalog-card__cover[data-cover-source="illustration"] {
  background: #edf3fb;
}

.hq-product-cover[data-cover-source="illustration"]::after,
.hq-catalog-card__cover[data-cover-source="illustration"]::after {
  background: linear-gradient(180deg, transparent 68%, rgb(8 35 89 / 14%));
}

.hq-product-cover[data-cover-source="illustration"] > :not(.hq-cover-art),
.hq-catalog-card__cover[data-cover-source="illustration"] > :not(.hq-cover-art),
.hq-cover-art:not(.is-fallback) .hq-cover-fallback {
  display: none;
}

.hq-cover-fallback {
  align-items: start;
  display: grid;
  gap: 0.3rem;
  inset: auto 1rem 1rem;
  position: absolute;
  z-index: 2;
}

.hq-cover-fallback strong {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  max-width: none;
  text-transform: uppercase;
}

.hq-cover-fallback span {
  font-size: 1.1rem;
  letter-spacing: -0.02em;
  line-height: 1.15;
  max-width: 18ch;
  text-transform: none;
}

.hq-cover-art.is-fallback img {
  display: none;
}

.hq-cover-brand {
  position: relative;
  z-index: 3;
}

.lumenglint-sample-download-unavailable a {
  color: var(--wp--preset--color--brand-dark);
}

.lg-menu-backdrop {
  background: rgb(8 19 43 / 42%);
  border: 0;
  inset: 0;
  min-height: 0;
  padding: 0;
  position: fixed;
  width: 100%;
  z-index: 15;
}

.lg-menu-backdrop[hidden] {
  display: none;
}

.lumenglint-catalog {
  margin-inline: auto;
  max-width: 1200px;
  padding: clamp(2.5rem, 7vw, 5.5rem) clamp(1rem, 4vw, 2rem);
}

.lumenglint-catalog-lead {
  color: var(--wp--preset--color--muted);
  font-size: 1.1rem;
  line-height: 1.65;
  max-width: 66ch;
}

.lumenglint-catalog-state {
  background: #fffaf0;
  border: 1px solid #f2c879;
  border-radius: var(--hq-radius-md);
  color: #7c4a03;
  margin-block: 1.5rem;
  padding: 0.9rem 1rem;
}

.lumenglint-product {
  background: #fff;
  border: 1px solid var(--hq-slate-200);
  border-radius: var(--hq-radius-lg);
  box-shadow: var(--hq-shadow-sm);
  min-width: 0;
  padding: 1.25rem;
}

.lumenglint-product-meta {
  color: var(--wp--preset--color--brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lumenglint-product h2 {
  font-size: 1.35rem;
  line-height: 1.2;
}

.lumenglint-product-price,
.lumenglint-status {
  font-weight: 750;
}

.lumenglint-status {
  color: #7c4a03;
}

@media (max-width: 1023px) {
  .lg-menu-backdrop {
    display: block;
  }
}

@media (max-width: 560px) {
  .hq-catalog-filters {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
  }

  .hq-catalog-filter-advanced {
    background: var(--hq-slate-100);
    border: 1px solid var(--hq-slate-200);
    border-radius: var(--hq-radius-sm);
    display: block;
    grid-column: 1;
    padding: 0.35rem 0.65rem;
  }

  .hq-catalog-filter-advanced > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 0.9rem;
    font-weight: 750;
    justify-content: space-between;
    min-height: 44px;
  }

  .hq-catalog-filter-advanced-fields {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
    padding-block: 0.5rem 0.35rem;
  }

  .hq-catalog-filter-advanced:not([open]) .hq-catalog-filter-advanced-fields {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-menu-backdrop {
    transition: none;
  }
}

/* At exactly 1024px the desktop account utility is still present. Tighten the
 * narrow tablet/desktop seam and let hero-card copy wrap so the page's actual
 * geometry, rather than overflow clipping, stays inside the viewport. */
@media (min-width: 1024px) and (max-width: 1050px) {
  .lg-brand {
    flex-basis: 190px;
    transform: none;
  }

  .lg-brand img {
    width: 184px;
  }

  .lg-primary-nav {
    gap: 0.75rem;
    transform: none;
  }

  .lg-primary-nav .lg-account-link {
    margin-left: 0.25rem;
    padding-inline: 0.65rem;
  }

  .lg-account-tools > summary {
    padding-inline: 0.55rem;
  }

  .lg-mcat-secondary-offer > span:last-child {
    min-width: 0;
  }

  .lg-mcat-secondary-offer strong {
    white-space: normal;
  }
}

/* MCAT 1–7 subject builder. This late block deliberately replaces the old
 * three-offer composition without changing shared California offer styles. */
.lg-mcat-page .lg-mcat-hero {
  align-items: start;
  background:
    radial-gradient(circle at 14% 12%, rgb(34 185 255 / 11%), transparent 31%),
    linear-gradient(135deg, #f8fbff 0%, #edf5ff 55%, #f7fbff 100%);
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.82fr);
  max-width: none;
  min-height: 0;
  padding: clamp(2.5rem, 5vw, 5rem) max(1.25rem, calc((100vw - 1500px) / 2 + 2rem));
}

.lg-mcat-story {
  align-self: start;
}

.lg-mcat-story .lg-mcat-visual {
  margin-left: 0;
  width: 100%;
}

.lg-mcat-eyebrow span {
  background: #e5eefb;
  border-radius: 999px;
  color: #365475;
  display: inline-block;
  font-size: 0.68em;
  letter-spacing: 0.03em;
  margin-left: 0.45rem;
  padding: 0.3rem 0.55rem;
  vertical-align: 0.12em;
}

.lg-mcat-story h1 {
  font-size: clamp(3.25rem, 5.2vw, 5.55rem);
  letter-spacing: -0.067em;
  line-height: 0.96;
}

.lg-mcat-story .lg-mcat-lead {
  max-width: 590px;
}

.lg-mcat-builder {
  align-self: start;
  background: #fff;
  border: 1px solid #c4d7ee;
  border-radius: 1.4rem;
  box-shadow: 0 22px 60px rgb(7 30 77 / 14%);
  min-width: 0;
  overflow: hidden;
}

.lg-mcat-builder-head {
  padding: clamp(1.45rem, 3vw, 2.2rem) clamp(1.3rem, 3vw, 2.25rem) 1.25rem;
}

.lg-mcat-builder-kicker {
  color: #075fd8;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  margin: 0 0 0.6rem;
  text-transform: uppercase;
}

.lg-mcat-builder h2 {
  color: #101a30;
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
  margin: 0;
}

.lg-mcat-builder-head > p:last-child {
  color: #60708a;
  line-height: 1.5;
  margin: 0.7rem 0 0;
}

.lg-mcat-complete-row {
  align-items: center;
  background: #eaf2ff;
  border-block: 1px solid #c6d9f8;
  display: grid;
  gap: 0.5rem 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem clamp(1.3rem, 3vw, 2.25rem);
}

.lg-mcat-complete-row > div > span:last-child {
  color: #60708a;
  display: block;
  font-size: 0.83rem;
  margin-top: 0.35rem;
}

.lg-mcat-complete-label {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
}

.lg-mcat-best-value {
  background: #075fd8;
  border-radius: 0.35rem;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 0.28rem 0.45rem;
  text-transform: uppercase;
}

.lg-mcat-complete-row > strong {
  color: #075fd8;
  font-size: 1.85rem;
  font-weight: 850;
  grid-row: 1 / span 2;
  letter-spacing: -0.05em;
}

.lg-mcat-complete-row button {
  background: #fff;
  border: 1px solid #91b7ee;
  border-radius: 999px;
  color: #0649a5;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
  grid-column: 2;
  min-height: 42px;
  padding: 0.55rem 0.9rem;
}

.lg-mcat-complete-row button:hover,
.lg-mcat-complete-row button:focus-visible {
  border-color: #075fd8;
  box-shadow: 0 0 0 3px rgb(7 95 216 / 14%);
}

.lg-mcat-builder-form,
.lg-mcat-builder-form fieldset {
  margin: 0;
}

.lg-mcat-builder-form fieldset {
  border: 0;
  padding: 1.3rem clamp(1.3rem, 3vw, 2.25rem) 1.1rem;
}

.lg-mcat-builder-form legend {
  color: #26344d;
  font-size: 0.9rem;
  font-weight: 800;
  padding: 0 0 0.8rem;
}

.lg-mcat-subject-grid {
  display: grid;
  gap: 0.58rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lg-mcat-subject {
  align-items: center;
  background: #f5f8fd;
  border: 1px solid #d7e0ec;
  border-radius: 0.72rem;
  color: #26344d;
  cursor: pointer;
  display: flex;
  gap: 0.65rem;
  min-height: 50px;
  padding: 0.65rem 0.72rem;
  position: relative;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--lg-ease-enter);
}

.lg-mcat-subject:last-child {
  grid-column: 1 / -1;
}

.lg-mcat-subject:hover,
.lg-mcat-subject:has(input:checked) {
  border-color: #075fd8;
}

.lg-mcat-subject:has(input:checked) {
  background: #edf4ff;
  box-shadow: 0 0 0 2px rgb(7 95 216 / 12%);
  color: #063d8f;
}

.lg-mcat-subject input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.lg-mcat-checkmark {
  align-items: center;
  background: #fff;
  border: 1.5px solid #9eabc0;
  border-radius: 0.34rem;
  display: inline-flex;
  flex: 0 0 20px;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.lg-mcat-subject input:focus-visible + .lg-mcat-checkmark {
  outline: 3px solid rgb(7 95 216 / 32%);
  outline-offset: 2px;
}

.lg-mcat-subject input:checked + .lg-mcat-checkmark {
  background: #075fd8;
  border-color: #075fd8;
}

.lg-mcat-subject input:checked + .lg-mcat-checkmark::after {
  border: solid #fff;
  border-width: 0 2px 2px 0;
  content: "";
  height: 8px;
  transform: rotate(45deg) translate(-1px, -1px);
  width: 4px;
}

.lg-mcat-subject-name {
  font-size: 0.88rem;
  font-weight: 720;
  line-height: 1.25;
}

.lg-mcat-selection-summary {
  border-top: 1px solid #d8e1ef;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 clamp(1.3rem, 3vw, 2.25rem);
  padding-top: 1.15rem;
}

.lg-mcat-selection-summary p {
  margin: 0;
}

.lg-mcat-selection-summary [data-count] {
  color: #60708a;
  font-size: 0.88rem;
  font-weight: 700;
}

.lg-mcat-selection-summary [data-price] {
  color: #075fd8;
  font-size: clamp(2.4rem, 4vw, 3.1rem);
  font-weight: 850;
  letter-spacing: -0.065em;
  line-height: 1;
  margin-top: 0.35rem;
}

.lg-mcat-selection-summary [data-unit] {
  color: #60708a;
  font-size: 0.82rem;
  line-height: 1.35;
  margin-top: 0.4rem;
}

.lg-mcat-builder-savings {
  align-self: center;
  color: #147a43;
  font-size: 0.86rem;
  font-weight: 800;
  max-width: 160px;
  text-align: right;
}

.lg-mcat-nudge {
  align-items: center;
  background: #f4f8ff;
  border: 1px solid #c8daf5;
  border-radius: 0.72rem;
  color: #29466f;
  display: flex;
  gap: 0.65rem;
  line-height: 1.35;
  margin: 1rem clamp(1.3rem, 3vw, 2.25rem) 0;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
}

.lg-mcat-nudge > span {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: #075fd8;
  display: inline-flex;
  flex: 0 0 30px;
  font-weight: 900;
  height: 30px;
  justify-content: center;
}

.lg-mcat-nudge strong {
  font-size: 0.88rem;
}

.lg-mcat-nudge[data-priority="high"] {
  background: #eaf2ff;
  border-color: #9ebff0;
  color: #153d78;
}

.lg-mcat-nudge[data-complete="true"] {
  background: #ebf8f0;
  border-color: #aad7bd;
  color: #145c35;
}

.lg-mcat-builder-action {
  background: #075fd8;
  border: 0;
  border-radius: 0.72rem;
  color: #fff;
  cursor: pointer;
  display: block;
  font: inherit;
  font-weight: 820;
  margin: 1rem clamp(1.3rem, 3vw, 2.25rem) 0;
  min-height: 54px;
  padding: 0.8rem 1rem;
  width: calc(100% - 2 * clamp(1.3rem, 3vw, 2.25rem));
}

.lg-mcat-builder-action:hover:not(:disabled),
.lg-mcat-builder-action:focus-visible:not(:disabled) {
  background: #0649a5;
  box-shadow: 0 8px 20px rgb(7 95 216 / 20%);
}

.lg-mcat-builder-action:disabled {
  background: #aab7c9;
  cursor: not-allowed;
}

.lg-mcat-builder-action.lg-preview-disabled {
  display: none;
}

.lg-mcat-builder-status {
  color: #60708a;
  font-size: 0.78rem;
  line-height: 1.4;
  margin: 0.65rem clamp(1.3rem, 3vw, 2.25rem) clamp(1.4rem, 3vw, 2rem);
  min-height: 1.1em;
  text-align: center;
}

.lg-mcat-mobile-action {
  display: none;
}

@media (max-width: 1100px) {
  .lg-mcat-page .lg-mcat-hero {
    grid-template-columns: 1fr;
    padding-inline: max(1.25rem, calc((100vw - 760px) / 2));
  }

  .lg-mcat-story {
    text-align: center;
  }

  .lg-mcat-story .lg-mcat-lead,
  .lg-mcat-story h1,
  .lg-mcat-story .lg-mcat-visual img {
    margin-inline: auto;
  }

  .lg-mcat-story .lg-mcat-visual {
    margin-inline: 0;
    width: 100%;
  }

  .lg-mcat-builder {
    justify-self: center;
    max-width: 650px;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .lg-mcat-page {
    padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }

  .lg-mcat-page .lg-mcat-hero {
    gap: 2.4rem;
    padding: 2.6rem 1rem 5.5rem;
  }

  .lg-mcat-story {
    padding-top: 0;
    text-align: left;
  }

  .lg-mcat-story h1 {
    font-size: clamp(2.7rem, 12vw, 3.5rem);
  }

  .lg-mcat-builder {
    border-radius: 1.1rem;
  }

  .lg-mcat-builder-head,
  .lg-mcat-builder-form fieldset {
    padding-inline: 1.15rem;
  }

  .lg-mcat-complete-row {
    padding-inline: 1.15rem;
  }

  .lg-mcat-complete-row > strong {
    font-size: 1.55rem;
  }

  .lg-mcat-subject-grid {
    gap: 0.48rem;
  }

  .lg-mcat-subject {
    min-height: 58px;
    padding: 0.55rem 0.58rem;
  }

  .lg-mcat-subject:last-child {
    grid-column: auto;
  }

  .lg-mcat-selection-summary,
  .lg-mcat-nudge {
    margin-inline: 1.15rem;
  }

  .lg-mcat-builder-action {
    margin-inline: 1.15rem;
    width: calc(100% - 2.3rem);
  }

  .lg-mcat-builder-status {
    margin-inline: 1.15rem;
  }

  .lg-mcat-mobile-action:not([hidden]) {
    align-items: center;
    background: rgb(255 255 255 / 96%);
    border-top: 1px solid #c8d5e6;
    bottom: 0;
    box-shadow: 0 -8px 24px rgb(31 63 112 / 10%);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    left: 0;
    padding: 0.7rem max(1rem, env(safe-area-inset-left)) calc(0.7rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));
    position: fixed;
    right: 0;
    z-index: 12;
  }

  .lg-mcat-mobile-action span strong,
  .lg-mcat-mobile-action span small {
    display: block;
  }

  .lg-mcat-mobile-action span small {
    color: #075fd8;
    font-size: 1.15rem;
    font-weight: 850;
  }

  .lg-mcat-mobile-action button,
  .lg-mcat-mobile-action .lg-preview-sample-cta {
    background: #075fd8;
    border: 0;
    border-radius: 0.6rem;
    color: #fff;
    font: inherit;
    font-weight: 800;
    min-height: 44px;
    padding: 0.65rem 1rem;
  }

  .lg-mcat-mobile-action button:disabled {
    background: #aab7c9;
  }
}

@media (max-width: 355px) {
  .lg-mcat-subject-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-mcat-subject,
  .lg-mcat-builder-action {
    transition: none;
  }
}

/* California Bar coverage planner. It shares MCAT's guided-selection product
 * strategy while using a warmer editorial surface and a single exam blueprint
 * instead of a catalog-card wall. */
.lg-ca-page {
  --lg-ca-navy: #14233f;
  --lg-ca-blue: #1d5ca8;
  --lg-ca-coral: #c94732;
  --lg-ca-paper: #f6f0e5;
  background: #fcfaf5;
  color: #17243b;
  margin: 0;
  max-width: none !important;
  overflow: clip;
  width: 100%;
}

.lg-ca-page > p:empty {
  display: none;
}

.wp-site-blocks > main:has(.lg-ca-page) {
  margin-block-start: 0;
  max-width: none !important;
  padding-block: 0 !important;
  padding-inline: 0 !important;
  width: 100%;
}

.wp-site-blocks > main .entry-content:has(.lg-ca-page) {
  max-width: none !important;
  width: 100%;
}

.lg-ca-hero {
  align-items: center;
  background:
    radial-gradient(circle at 12% 16%, rgb(80 129 189 / 28%), transparent 30%),
    linear-gradient(135deg, var(--lg-brand-navy) 0%, var(--lg-brand-mid) 62%, #123d83 100%);
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.82fr);
  min-height: calc(100svh - 86px);
  padding: clamp(3rem, 5.5vw, 5.7rem) max(1.25rem, calc((100vw - 1460px) / 2 + 2rem));
}

.lg-ca-story {
  animation: lg-ca-rise 520ms var(--lg-ease-enter) both;
  color: #fff;
  min-width: 0;
}

.lg-ca-eyebrow,
.lg-ca-builder-kicker {
  color: #8fc2ff;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.lg-ca-story h1 {
  color: #fff;
  font-size: clamp(3.4rem, 5.2vw, 5.8rem);
  letter-spacing: -0.068em;
  line-height: 0.95;
  margin: 0;
  max-width: 760px;
}

.lg-ca-lead {
  color: #cdd9ea;
  font-size: clamp(1.05rem, 1.65vw, 1.32rem);
  line-height: 1.55;
  margin: 1.5rem 0 0;
  max-width: 610px;
}

.lg-ca-blueprint {
  border: 1px solid rgb(188 212 241 / 34%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(2rem, 5vw, 4rem);
  max-width: 650px;
}

.lg-ca-blueprint > div {
  display: grid;
  gap: 0.35rem;
  min-height: 150px;
  padding: clamp(1rem, 2.4vw, 1.5rem);
}

.lg-ca-blueprint > div + div {
  border-left: 1px solid rgb(188 212 241 / 34%);
}

.lg-ca-blueprint > div span {
  color: #8fc2ff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.lg-ca-blueprint > div strong {
  align-self: end;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 2.5vw, 2.1rem);
  font-weight: 500;
}

.lg-ca-blueprint > div small {
  color: #b9c7da;
  line-height: 1.4;
}

.lg-ca-blueprint > p {
  align-items: center;
  background: rgb(255 255 255 / 7%);
  border-top: 1px solid rgb(188 212 241 / 34%);
  display: flex;
  gap: 1rem;
  grid-column: 1 / -1;
  justify-content: space-between;
  margin: 0;
  padding: 0.85rem clamp(1rem, 2.4vw, 1.5rem);
}

.lg-ca-blueprint > p span {
  color: #cdd9ea;
  font-size: 0.82rem;
  text-transform: uppercase;
}

.lg-ca-blueprint > p strong {
  color: #fff;
  font-size: 0.95rem;
}

.lg-ca-blueprint > p strong small {
  color: #b9c7da;
  display: block;
  font-size: 0.72rem;
  font-weight: 400;
  margin-top: 0.2rem;
}

.lg-ca-builder {
  animation: lg-ca-rise 520ms 80ms var(--lg-ease-enter) both;
  background: #fffdf8;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 1.25rem;
  box-shadow: 0 28px 75px rgb(3 12 27 / 30%);
  min-width: 0;
  overflow: hidden;
}

.lg-ca-builder-head {
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.3rem, 3vw, 2.25rem) 1.25rem;
}

.lg-ca-builder-kicker {
  color: var(--lg-ca-blue);
}

.lg-ca-builder h2 {
  color: var(--lg-ca-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 0;
}

.lg-ca-builder-head > p:last-child {
  color: #657086;
  line-height: 1.5;
  margin: 0.75rem 0 0;
}

.lg-ca-complete-row {
  align-items: center;
  background: #eaf2fb;
  border: 0;
  border-block: 1px solid #bfd3e8;
  color: var(--lg-ca-navy);
  cursor: pointer;
  display: flex;
  font: inherit;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem clamp(1.3rem, 3vw, 2.25rem);
  text-align: left;
  width: 100%;
}

.lg-ca-complete-row > span,
.lg-ca-complete-row small {
  display: block;
}

.lg-ca-complete-row > span:last-child {
  text-align: right;
}

.lg-ca-complete-row > span:last-child > strong {
  color: var(--lg-ca-blue);
  font-size: 1.6rem;
  letter-spacing: -0.05em;
}

.lg-ca-complete-row small {
  color: #617087;
  font-size: 0.78rem;
  margin-top: 0.25rem;
}

.lg-ca-complete-row > span:last-child small {
  color: #147046;
  font-weight: 800;
}

.lg-ca-best-value {
  background: var(--lg-ca-blue);
  border-radius: 0.25rem;
  color: #fff;
  display: inline-block;
  font-size: 0.64rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin-bottom: 0.32rem;
  margin-right: 0.45rem;
  padding: 0.25rem 0.4rem;
  text-transform: uppercase;
}

.lg-ca-complete-row:hover,
.lg-ca-complete-row:focus-visible,
.lg-ca-complete-row[aria-pressed="true"] {
  background: #dceaf8;
}

.lg-ca-complete-row:focus-visible {
  outline: 3px solid rgb(143 194 255 / 55%);
  outline-offset: -3px;
}

.lg-ca-builder-form,
.lg-ca-builder-form fieldset {
  margin: 0;
}

.lg-ca-builder-form fieldset {
  border: 0;
  padding: 1.35rem clamp(1.3rem, 3vw, 2.25rem) 1.2rem;
}

.lg-ca-builder-form legend {
  color: #354158;
  font-size: 0.86rem;
  font-weight: 800;
  padding-bottom: 0.75rem;
}

.lg-ca-coverage-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lg-ca-coverage {
  align-items: center;
  background: #f8f5ef;
  border: 1px solid #ddd5c8;
  border-radius: 0.75rem;
  cursor: pointer;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 100px;
  padding: 0.85rem;
  position: relative;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--lg-ease-enter);
}

.lg-ca-coverage:hover,
.lg-ca-coverage:has(input:checked) {
  border-color: var(--lg-ca-blue);
}

.lg-ca-coverage:hover {
  transform: translateY(-2px);
}

.lg-ca-coverage:has(input:checked) {
  background: #edf4fb;
  box-shadow: 0 0 0 2px rgb(29 92 168 / 11%);
}

.lg-ca-coverage input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.lg-ca-checkmark {
  align-items: center;
  background: #fff;
  border: 1.5px solid #8794a8;
  border-radius: 50%;
  display: inline-flex;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.lg-ca-coverage input:focus-visible + .lg-ca-checkmark {
  outline: 3px solid rgb(29 92 168 / 30%);
  outline-offset: 2px;
}

.lg-ca-coverage input:checked + .lg-ca-checkmark {
  background: var(--lg-ca-blue);
  border-color: var(--lg-ca-blue);
}

.lg-ca-coverage input:checked + .lg-ca-checkmark::after {
  border: solid #fff;
  border-width: 0 2px 2px 0;
  content: "";
  height: 8px;
  transform: rotate(45deg) translate(-1px, -1px);
  width: 4px;
}

.lg-ca-coverage span:nth-of-type(2) strong,
.lg-ca-coverage span:nth-of-type(2) small {
  display: block;
}

.lg-ca-coverage span:nth-of-type(2) strong {
  color: var(--lg-ca-navy);
  font-size: 1rem;
}

.lg-ca-coverage span:nth-of-type(2) small {
  color: #657086;
  font-size: 0.75rem;
  line-height: 1.35;
  margin-top: 0.2rem;
}

.lg-ca-coverage b {
  color: var(--lg-ca-blue);
  font-size: 1.05rem;
  grid-column: 2;
}

.lg-ca-selection-summary {
  border-top: 1px solid #ded8ce;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 clamp(1.3rem, 3vw, 2.25rem);
  padding-top: 1.1rem;
}

.lg-ca-selection-summary p {
  margin: 0;
}

.lg-ca-selection-summary [data-ca-selection] {
  color: var(--lg-ca-navy);
  font-weight: 850;
}

.lg-ca-selection-summary [data-ca-scope] {
  color: #657086;
  font-size: 0.78rem;
  line-height: 1.4;
  margin-top: 0.3rem;
  max-width: 330px;
}

.lg-ca-selection-summary [data-ca-price] {
  color: var(--lg-ca-blue);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 850;
  letter-spacing: -0.06em;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.lg-ca-selection-summary [data-ca-savings] {
  color: #147046;
  font-size: 0.78rem;
  font-weight: 850;
  margin-top: 0.35rem;
  text-align: right;
}

.lg-ca-nudge {
  align-items: center;
  background: #f3f7fb;
  border: 1px solid #c7d8ea;
  border-radius: 0.7rem;
  color: #304a6c;
  display: flex;
  gap: 0.65rem;
  line-height: 1.35;
  margin: 1rem clamp(1.3rem, 3vw, 2.25rem) 0;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
}

.lg-ca-nudge > span {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--lg-ca-blue);
  display: inline-flex;
  flex: 0 0 30px;
  font-weight: 900;
  height: 30px;
  justify-content: center;
}

.lg-ca-nudge strong {
  font-size: 0.82rem;
}

.lg-ca-nudge[data-complete="true"] {
  background: #e9f6ee;
  border-color: #aed2ba;
  color: #165638;
}

.lg-ca-builder-action {
  background: var(--lg-ca-coral);
  border: 0;
  border-radius: 0.7rem;
  color: #fff;
  cursor: pointer;
  display: block;
  font: inherit;
  font-weight: 850;
  margin: 1rem clamp(1.3rem, 3vw, 2.25rem) 0;
  min-height: 54px;
  padding: 0.8rem 1rem;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--lg-ease-enter);
  width: calc(100% - 2 * clamp(1.3rem, 3vw, 2.25rem));
}

.lg-ca-builder-action:hover:not(:disabled),
.lg-ca-builder-action:focus-visible:not(:disabled) {
  background: #aa3625;
  box-shadow: 0 10px 22px rgb(138 43 30 / 24%);
  transform: translateY(-1px);
}

.lg-ca-builder-action:disabled {
  background: #a9b0bc;
  cursor: not-allowed;
}

.lg-ca-builder-status {
  color: #657086;
  font-size: 0.75rem;
  line-height: 1.4;
  margin: 0.65rem clamp(1.3rem, 3vw, 2.25rem) clamp(1.4rem, 3vw, 2rem);
  min-height: 1.1em;
  text-align: center;
}

.lg-ca-focused {
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1.35fr);
  margin-inline: auto;
  max-width: 1240px;
  padding: clamp(4rem, 8vw, 7rem) 1.5rem;
}

.lg-ca-focused .lg-ca-eyebrow {
  color: var(--lg-ca-blue);
}

.lg-ca-focused-head h2 {
  color: var(--lg-ca-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 1;
  margin: 0;
}

.lg-ca-focused-head > p:last-child {
  color: #657086;
  line-height: 1.6;
  margin: 1rem 0 0;
}

.lg-ca-focused-list {
  border-top: 1px solid #cfc7ba;
}

.lg-ca-focused-list a {
  align-items: center;
  border-bottom: 1px solid #cfc7ba;
  color: var(--lg-ca-navy);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.25rem 0;
  text-decoration: none;
  transition: color 160ms ease, padding-inline 160ms var(--lg-ease-enter);
}

.lg-ca-focused-list a:hover,
.lg-ca-focused-list a:focus-visible {
  color: var(--lg-ca-blue);
  padding-inline: 0.65rem;
}

.lg-ca-focused-list span strong,
.lg-ca-focused-list span small {
  display: block;
}

.lg-ca-focused-list span strong {
  font-size: 1.05rem;
}

.lg-ca-focused-list span small {
  color: #657086;
  font-size: 0.82rem;
  margin-top: 0.25rem;
}

.lg-ca-focused-list b {
  white-space: nowrap;
}

.lg-ca-focused-list i {
  font-style: normal;
  margin-left: 0.45rem;
}

.lg-ca-trust-strip {
  background: var(--lg-ca-paper);
  border-top: 1px solid #ddd3c2;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: clamp(2rem, 4vw, 3rem) max(1.5rem, calc((100vw - 1240px) / 2));
}

.lg-ca-trust-strip > div {
  align-items: center;
  display: flex;
  gap: 0.9rem;
}

.lg-ca-trust-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 54px;
  justify-content: center;
}

.lg-ca-trust-icon img {
  height: 46px;
  object-fit: contain;
  width: auto;
}

.lg-ca-trust-strip strong,
.lg-ca-trust-strip small {
  display: block;
}

.lg-ca-trust-strip strong {
  color: var(--lg-ca-navy);
  font-size: 0.92rem;
}

.lg-ca-trust-strip small {
  color: #657086;
  font-size: 0.76rem;
  line-height: 1.4;
  margin-top: 0.2rem;
}

.lg-ca-mobile-action {
  display: none;
}

@keyframes lg-ca-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1100px) {
  .lg-ca-hero {
    grid-template-columns: 1fr;
    padding-inline: max(1.25rem, calc((100vw - 760px) / 2));
  }

  .lg-ca-story,
  .lg-ca-story h1,
  .lg-ca-story .lg-ca-lead,
  .lg-ca-blueprint {
    margin-inline: auto;
  }

  .lg-ca-story {
    text-align: center;
  }

  .lg-ca-blueprint {
    text-align: left;
  }

  .lg-ca-builder {
    justify-self: center;
    max-width: 660px;
    width: 100%;
  }

  .lg-ca-focused {
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
  }
}

@media (max-width: 760px) {
  .lg-ca-focused {
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .lg-ca-trust-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .lg-ca-hero {
    gap: 2.25rem;
    min-height: 0;
    padding: 2.8rem 1rem 5.5rem;
  }

  .lg-ca-story {
    text-align: left;
  }

  .lg-ca-story h1 {
    font-size: clamp(2.8rem, 13vw, 3.75rem);
  }

  .lg-ca-blueprint > div {
    min-height: 125px;
    padding: 0.9rem;
  }

  .lg-ca-blueprint > p {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.85rem 0.9rem;
  }

  .lg-ca-builder {
    border-radius: 1rem;
  }

  .lg-ca-builder-head,
  .lg-ca-builder-form fieldset,
  .lg-ca-complete-row {
    padding-inline: 1.1rem;
  }

  .lg-ca-coverage-grid {
    grid-template-columns: 1fr;
  }

  .lg-ca-coverage {
    min-height: 78px;
  }

  .lg-ca-selection-summary,
  .lg-ca-nudge {
    margin-inline: 1.1rem;
  }

  .lg-ca-selection-summary {
    grid-template-columns: 1fr;
  }

  .lg-ca-selection-summary [data-ca-price],
  .lg-ca-selection-summary [data-ca-savings] {
    text-align: left;
  }

  .lg-ca-builder-action {
    margin-inline: 1.1rem;
    width: calc(100% - 2.2rem);
  }

  .lg-ca-builder-status {
    margin-inline: 1.1rem;
  }

  .lg-ca-focused {
    padding-inline: 1rem;
  }

  .lg-ca-focused-list a {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.6rem;
  }

  .lg-ca-mobile-action:not([hidden]) {
    align-items: center;
    background: rgb(255 253 248 / 97%);
    border-top: 1px solid #cfc7ba;
    bottom: 0;
    box-shadow: 0 -8px 24px rgb(20 35 63 / 14%);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    left: 0;
    padding: 0.7rem max(1rem, env(safe-area-inset-left)) calc(0.7rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));
    position: fixed;
    right: 0;
    z-index: 12;
  }

  .lg-ca-mobile-action span strong,
  .lg-ca-mobile-action span small {
    display: block;
  }

  .lg-ca-mobile-action span small {
    color: var(--lg-ca-blue);
    font-size: 1.1rem;
    font-weight: 850;
  }

  .lg-ca-mobile-action button,
  .lg-ca-mobile-action .lg-preview-sample-cta {
    background: var(--lg-ca-coral);
    border: 0;
    border-radius: 0.6rem;
    color: #fff;
    font: inherit;
    font-weight: 850;
    min-height: 44px;
    padding: 0.65rem 1rem;
  }

  .lg-ca-mobile-action button:disabled {
    background: #a9b0bc;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-ca-story,
  .lg-ca-builder {
    animation: none;
  }

  .lg-ca-coverage,
  .lg-ca-builder-action,
  .lg-ca-focused-list a {
    transition: none;
  }

  .lg-ca-coverage:hover,
  .lg-ca-builder-action:hover:not(:disabled) {
    transform: none;
  }
}

/* Keep the P2 filter label visible after the legacy ownership overrides. */
.hq-catalog-filter-advanced > summary {
  display: block;
}

@media (max-width: 560px) {
  .hq-catalog-filter-advanced > summary {
    display: flex;
  }
}

/* P2 product detail: decision information, action, then long-form detail in
 * DOM order; desktop grid placement adds navigation without changing it. */
.hq-product-layout {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-areas:
    "nav copy next"
    "nav body next";
  grid-template-columns: minmax(8.5rem, 0.28fr) minmax(0, 1fr) minmax(17rem, 0.68fr);
}

.hq-product-copy {
  grid-area: copy;
  min-width: 0;
}

.hq-product-next-step {
  align-self: start;
  grid-area: next;
  min-width: 0;
  position: sticky;
  top: 1rem;
}

.hq-product-section-nav {
  align-self: start;
  display: grid;
  gap: 0.2rem;
  grid-area: nav;
  position: sticky;
  top: 1rem;
}

.hq-product-section-nav strong {
  color: #64748b;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  margin-block-end: 0.35rem;
  text-transform: uppercase;
}

.hq-product-section-nav a {
  align-items: center;
  border-left: 2px solid #dbe3ee;
  color: #334155;
  display: flex;
  font-size: 0.9rem;
  min-height: 44px;
  padding-inline: 0.65rem;
  text-decoration: none;
}

.hq-product-section-nav a:hover,
.hq-product-section-nav a:focus-visible {
  border-color: #0861db;
  color: #075fd8;
}

.hq-product-body {
  grid-area: body;
  min-width: 0;
}

.hq-product-next-step .hq-product-cover {
  height: 10rem;
  min-height: 10rem;
}

.hq-product-next-step .hq-purchase-panel,
.hq-product-next-step .hq-trust-card {
  margin-block: 0.85rem 0;
}

.hq-product-next-step > .hq-product-state {
  font-size: 0.9rem;
  line-height: 1.45;
  margin-block: 0.65rem 0;
  padding: 0.75rem 0.85rem;
}

.hq-product-next-step .hq-purchase-panel {
  padding: 0.85rem;
}

.hq-product-next-step .hq-purchase-panel h2 {
  margin-block-end: 0.45rem;
}

.hq-product-next-step .hq-price {
  font-size: 1.25rem;
  margin-block-end: 0.65rem;
}

.hq-product-next-step .hq-preview-actions {
  padding: 0.75rem;
}

.hq-product-next-step .hq-payment-option {
  align-items: stretch;
  flex-direction: column;
}

.hq-product-next-step .hq-payment-option .wp-element-button,
.hq-product-next-step .hq-payment-option .hq-button-secondary {
  justify-content: center;
  text-align: center;
  width: 100%;
}

.hq-product-next-step .hq-product-actions {
  font-size: 0.82rem;
  line-height: 1.7;
}

.hq-product-sections {
  grid-template-columns: 1fr;
  margin-block-start: 0;
}

.hq-product-disclosure {
  border-top: 1px solid var(--hq-slate-200);
  scroll-margin-top: 1rem;
}

.hq-product-disclosure > summary {
  color: #0b1f41;
  cursor: pointer;
  font-size: 1.15rem;
  font-weight: 800;
  min-height: 48px;
  padding-block: 0.8rem;
}

.hq-product-disclosure > div {
  padding-block: 0 0.75rem;
}

#product-overview,
#product-faq {
  scroll-margin-top: 1rem;
}

@media (max-width: 900px) {
  .hq-product-layout {
    display: grid;
    gap: 1.25rem;
    grid-template-areas:
      "copy"
      "next"
      "body";
    grid-template-columns: minmax(0, 1fr);
  }

  .hq-product-section-nav {
    display: none;
  }

  .hq-product-next-step {
    position: static;
  }

  .hq-product-next-step .hq-product-cover {
    height: 13rem;
    min-height: 13rem;
  }

  .hq-product-body {
    padding-block-end: max(1rem, env(safe-area-inset-bottom));
  }
}

/* P2 task-first Footer. Critical guest actions stay visible while optional
 * link groups collapse natively on compact screens. */
.hq-footer-shell {
  padding-block: 1.5rem 1rem;
}

.hq-footer-tasks {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-end: 1.5rem;
  max-width: 42rem;
}

.hq-footer-task {
  align-items: center;
  background: rgb(255 255 255 / 8%);
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 0.75rem;
  color: #fff;
  display: flex;
  gap: 0.7rem;
  min-height: 64px;
  padding: 0.65rem 0.8rem;
  text-decoration: none;
}

.hq-footer-task:hover,
.hq-footer-task:focus-visible {
  background: rgb(255 255 255 / 13%);
  border-color: rgb(118 179 255 / 65%);
  color: #fff;
}

.hq-footer-task-icon {
  align-items: center;
  background: #075fd8;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 2rem;
  font-weight: 850;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.hq-footer-task > span:last-child {
  display: grid;
  gap: 0.1rem;
}

.hq-footer-task strong,
.hq-footer-task small {
  display: block;
}

.hq-footer-task small {
  color: rgb(255 255 255 / 62%);
  font-size: 0.72rem;
}

.hq-footer-grid {
  gap: clamp(1.25rem, 3vw, 3rem);
  grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 0.7fr));
}

.hq-footer-tagline {
  font-size: 0.9rem;
  margin-block-start: 0.65rem;
}

.hq-footer-disclosure > summary {
  color: #fff;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  min-height: 44px;
  padding-block: 0.65rem;
  text-transform: uppercase;
}

.hq-footer-disclosure .hq-footer-nav ul {
  grid-template-columns: 1fr;
}

.hq-footer-meta {
  align-items: center;
  margin-block-start: 1.25rem;
  padding-block-start: 0.8rem;
}

.hq-footer-legal-links {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.25rem 0.8rem;
}

.hq-footer-legal-links a {
  color: rgb(255 255 255 / 72%);
  font-size: 0.75rem;
  min-height: 44px;
  align-items: center;
  display: inline-flex;
}

@media (max-width: 700px) {
  .hq-footer-shell {
    padding: 1.1rem 1rem 0.8rem;
  }

  .hq-footer-tasks {
    gap: 0.5rem;
    margin-block-end: 0.8rem;
  }

  .hq-footer-task {
    gap: 0.45rem;
    min-height: 58px;
    padding: 0.5rem 0.55rem;
  }

  .hq-footer-task-icon {
    flex-basis: 1.7rem;
    height: 1.7rem;
    width: 1.7rem;
  }

  .hq-footer-task strong {
    font-size: 0.78rem;
  }

  .hq-footer-task small {
    font-size: 0.65rem;
  }

  .hq-footer-grid {
    gap: 0.15rem;
    grid-template-columns: 1fr;
  }

  .hq-footer-brand {
    min-height: 38px;
  }

  .hq-footer-brand-logo {
    width: 10rem;
  }

  .hq-footer-tagline {
    font-size: 0.78rem;
    line-height: 1.4;
    margin-block: 0.25rem 0.45rem;
    max-width: none;
  }

  .hq-footer-disclosure {
    border-top: 1px solid rgb(255 255 255 / 13%);
  }

  .hq-footer-disclosure > summary {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-inline: 0.15rem;
  }

  .hq-footer-disclosure .hq-footer-nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block-end: 0.4rem;
  }

  .hq-footer-meta {
    gap: 0.25rem;
    margin-block-start: 0.6rem;
    padding-block-start: 0.55rem;
  }

  .hq-footer-meta p {
    font-size: 0.68rem;
    line-height: 1.4;
  }

  .hq-footer-legal-links {
    gap: 0 0.7rem;
  }

  .hq-footer-legal-links a {
    font-size: 0.7rem;
    min-height: 32px;
  }
}

/* Audit P1: fallback covers use one text layer in normal flow. */
.hq-product-cover[data-cover-source="css-fallback"],
.hq-catalog-card__cover[data-cover-source="css-fallback"] {
  height: auto;
  min-height: 10rem;
  align-content: center;
}
.hq-product-cover[data-cover-source="css-fallback"] > :not(.hq-cover-art),
.hq-catalog-card__cover[data-cover-source="css-fallback"] > :not(.hq-cover-art) {
  display: none;
}
.hq-product-cover[data-cover-source="css-fallback"] > .hq-cover-art,
.hq-catalog-card__cover[data-cover-source="css-fallback"] > .hq-cover-art {
  position: relative;
  inset: auto;
  overflow: visible;
  justify-items: start;
}
.hq-cover-art.is-fallback .hq-cover-fallback {
  position: static;
  inset: auto;
  gap: 0.5rem;
}
.hq-cover-art.is-fallback .hq-cover-fallback span {
  font-size: 1.1rem;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  max-width: none;
  overflow-wrap: anywhere;
}
.hq-page .wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  line-height: 1.4;
}
