/* CartSift Midnight: approved visual source ad9aea30dd9923bc24cb576d95650c4328e8019f.
   Presentation only; existing product data, account and billing controllers remain authoritative. */
@import url('/components/midnight-fonts.css');
:root {
  --design-gutter: clamp(1rem, 4vw, 3rem);
  --design-width: 1280px;
  --design-radius: .6875rem;
  --design-radius-control: .4375rem;
  --text: var(--page-text);
  --muted: var(--muted-text);
  --bg: var(--page-background);
  --surface-alt: var(--surface-soft);
  --teal: var(--accent-dark);
}
html { scroll-padding-top: 7rem; }
body { font-size: 1rem; line-height: 1.65; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--accent-dark);
  outline-offset: 4px;
}
input, select, textarea { max-width: 100%; }
textarea { resize: vertical; }
:where(h1,h2,h3) { text-wrap: balance; }
:where(p,li) { overflow-wrap: break-word; }
.button, .search-submit { min-height: 46px; border-radius: var(--design-radius-control); font-size: .9375rem; }
.button { padding: .75rem 1.2rem; gap: .5rem; font-weight: 700; }
.button:disabled, button[disabled] { cursor: not-allowed; }
.button-primary, .search-submit { box-shadow: 0 3px 0 rgb(0 0 0 / .08); }
:root[data-theme="dark"] .button-primary,
:root[data-theme="dark"] .search-submit { color: var(--navy); }
.page-main, .category-page-inner, .search-page-inner, .product-page-inner,
.comparison-page__inner, .account-shell, .section-inner, .category-directory-inner,
.footer-inner, .footer-bottom {
  width: min(var(--design-width), calc(100% - var(--design-gutter) * 2));
  margin-inline: auto;
}
.page-main, .account-shell { padding-block: clamp(2rem, 4vw, 3.5rem) 5rem; }
.page-heading, .account-heading, .settings-heading { margin-bottom: 2rem; }
.page-heading h1, .category-page-heading h1, .category-directory-heading h1,
.search-page-heading h1, .account-heading h1, .settings-heading h1,
.comparison-header h1, .admin-heading h1 {
  font-size: clamp(2rem, 3.9vw, 3.125rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}
.page-heading p, .account-heading p, .settings-heading p { max-width: 65ch; }
.account-heading, .settings-heading, .account-profile-summary { flex-wrap: wrap; min-width: 0; grid-template-columns: minmax(0,1fr); }
.account-shell .button, .settings-card button { white-space: normal; overflow-wrap: anywhere; text-align: center; }
.settings-card { min-width: 0; }
.account-heading > *, .settings-heading > *, .account-profile-summary > * { min-width: 0; max-width: 100%; }
.account-heading h1, .settings-heading h1 { overflow-wrap: anywhere; }
.layout-header .header-inner {
  width: min(1440px, calc(100% - var(--design-gutter) * 2));
  min-height: 84px;
  gap: clamp(.75rem, 1.7vw, 1.6rem);
}
.layout-header .site-nav { gap: clamp(.625rem, 1.65vw, 1.75rem); }
.layout-header .site-nav a { font-size: .875rem; }
.layout-header-autocomplete .search-shell { min-height: 46px; border-radius: var(--design-radius-control); }
.layout-header-autocomplete .search-shell input { font-size: .9375rem; }
.layout-header-autocomplete .search-submit { min-height: 36px; font-size: .8125rem; }
.layout-header .site-account__trigger { border-radius: var(--design-radius-control); }
.layout-header .site-account__menu { padding: .625rem; border-radius: 1rem; }
.layout-header .site-account__menu a,
.layout-header .site-account__menu button { min-height: 44px; font-size: .875rem; }
.layout-header .site-account__menu-heading { font-size: .875rem; }
.homepage-candidate .hero-inner {
  width: min(var(--design-width), calc(100% - var(--design-gutter) * 2));
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(2.5rem, 6vw, 5.25rem);
}
.homepage-candidate .hero-copy h1 {
  font-size: clamp(2.25rem, 4.55vw, 4rem);
  line-height: 1.09;
  letter-spacing: -.052em;
}
.homepage-candidate .hero-lede { font-size: 1.0625rem; max-width: 45ch; margin-block: 1.5rem; }
.homepage-candidate .search-shell--hero { border-radius: 1rem; padding: .5rem; min-height: 64px; }
.homepage-candidate .search-shell--hero input { font-size: 1rem; }
.homepage-candidate .search-shell--hero .search-submit { border-radius: .75rem; min-height: 48px; }
.home-search-note { max-width: 58ch; font-size: .8125rem; line-height: 1.65; }
.hero .showcase { border-radius: 1.75rem; padding: clamp(1.25rem, 2.8vw, 2rem); }
.showcase-picture { height: clamp(15rem, 26vw, 22rem); }
.showcase-slide { grid-template-rows: clamp(15rem, 26vw, 22rem) auto auto auto auto; }
.showcase-picture img { object-fit: contain; }
.showcase-controls button { min-height: 44px; }
.showcase-bottom { line-height: 1.55; }
.home-tool-strip { gap: 0; }
.home-tool-strip > a { min-width: 0; padding: 1.25rem 1.5rem; }
.home-tool-strip strong { font-size: 1rem; }
.home-tool-strip small { font-size: .8125rem; }
.section, .home-intelligence { padding-block: clamp(2.5rem, 5vw, 4rem); }
.home-intelligence-heading { align-items: end; gap: 2rem; }
.home-intelligence-heading > p { max-width: 43ch; }
.home-intelligence-grid { gap: 1.25rem; }
.home-intelligence-grid article { padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: var(--design-radius); }
.home-intelligence-grid h3 { margin-top: 0; font-size: 1.4rem; letter-spacing: -.025em; }
.home-intelligence-grid p { font-size: .9375rem; line-height: 1.75; }
.home-tool-number, .faq-section > h2 > span[aria-hidden="true"] { display: none; }
.faq-section > h2 { gap: 0; }
.home-data-note { font-size: .875rem; max-width: 95ch; line-height: 1.75; }
.category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.category-card, .category-tile, .explore-card, .home-tool-card {
  border-radius: var(--design-radius);
}
.category-card { min-height: 110px; padding: 1.25rem; transition: border-color .15s ease, transform .15s ease; }
.category-card:hover { transform: translateY(-2px); }
.category-card__copy { min-width: 0; }
.category-card__copy strong { font-size: 1rem; }
.category-card__copy small { font-size: .8125rem; line-height: 1.5; }
.category-page-hero { padding-block: 2.5rem; }
.category-content-section { padding-block: 2.5rem; }
.category-page-heading p { max-width: 65ch; }
.layout-category-products { gap: 1.25rem; }
.layout-category-product { border-radius: var(--design-radius); padding: 1.5rem; }
.layout-category-product span { font-size: .875rem; }
.search-workspace { padding-top: 2.5rem; }
.results-layout { grid-template-columns: 224px minmax(0, 1fr); gap: 2rem; }
.product-entity-card { grid-template-columns: 160px minmax(0, 1fr) 240px; border-radius: var(--design-radius); overflow: hidden; }
.product-entity-card__content, .product-entity-card__offer { padding: 1.5rem; }
.product-entity-card__content { min-width: 0; }
.product-entity-card__offer { min-width: 0; }
.product-entity-card__offer .button { min-width: 0; max-width: 100%; white-space: normal; text-align: center; }
.product-entity-card h3 { font-size: 1.125rem; line-height: 1.4; }
.product-entity-card__image { min-height: 190px; }
.product-summary h1 { line-height: 1.15; letter-spacing: -.035em; }
.product-description-section, .price-intelligence-section, .product-details-section,
.retailer-offers-section, .price-history-section { padding-block: 2.5rem; }
.product-section-nav__list { gap: 1.5rem; }
.product-section-nav__list a { min-height: 44px; }
.account-summary-grid { gap: 1rem; }
.account-summary-card, .account-panel, .account-disclosure, .account-empty,
.account-alert-card, .account-history-card, .settings-card, .plan-card,
.admin-panel, .admin-search, .admin-sidebar, .admin-total {
  border-radius: var(--design-radius);
}
.account-panel, .settings-card, .plan-card { padding: clamp(1.25rem, 2.8vw, 2rem); }
.account-panel__heading { gap: 1rem; align-items: baseline; }
.account-panel__heading h2 { font-size: 1.375rem; letter-spacing: -.025em; }
.layout-saved-row { padding-block: 1.25rem; }
.layout-saved-row a { font-size: .9375rem; }
.layout-saved-row p, .layout-saved-row small { font-size: .8125rem; }
.layout-saved-row strong { font-variant-numeric: tabular-nums; }
.settings-content { min-width: 0; }
.settings-account-chip { overflow-wrap: anywhere; }
.settings-card :where(input:not([type="checkbox"]):not([type="radio"]),select),
.auth-card :where(input:not([type="checkbox"]):not([type="radio"]),select),
.admin-search :where(input,select) { min-height: 46px; border-radius: var(--design-radius-control); }
.auth-card, .recovery-card { border-radius: 1.5rem; }
.auth-card h1 { letter-spacing: -.035em; line-height: 1.15; }
.auth-card p { line-height: 1.65; }
.plan-card__price { font-variant-numeric: tabular-nums; }
.plan-card { min-width: 0; }
.plan-card .button { white-space: normal; text-align: center; }
.plan-card__features li { display: block; position: relative; padding-inline-start: 1.8rem; }
.plan-card__features li::before { position: absolute; inset-inline-start: 0; top: 0; }
.policy-main { max-width: 1000px; padding: 3rem var(--design-gutter) 5rem; }
.policy-main article { max-width: 76ch; font-size: 1rem; line-height: 1.85; }
.policy-main h1 { letter-spacing: -.04em; }
.policy-main h2 { line-height: 1.35; }
.policy-nav { gap: .75rem 1.5rem; padding-block: 1.25rem; }
.faq-answer { line-height: 1.8; }
.faq-section details { border-radius: 1rem; }
.faq-section summary { padding-block: 1.25rem; }
.admin-layout { gap: 1.75rem; width: min(1440px, calc(100% - var(--design-gutter) * 2)); }
.admin-sidebar { padding: 1.25rem; min-width: 0; max-width: 100%; }
.admin-sidebar a { min-height: 44px; }
.admin-table th, .admin-table td { padding: 1rem; }
.admin-table th { font-size: .8125rem; letter-spacing: .02em; }
.admin-table td, .admin-counts dd { font-variant-numeric: tabular-nums; }
.admin-table-wrap { border-radius: 1rem; overscroll-behavior-inline: contain; }
.admin-content :where(input,select,textarea) { min-width: 0; }
.site-footer { padding-top: 3rem; }
.footer-inner { gap: 2rem; padding-bottom: 2.5rem; }
.site-footer a { text-underline-offset: .25em; }
@media (max-width: 1100px) {
  .layout-header .header-inner { gap: .875rem; }
  .layout-header .site-nav { gap: .75rem; }
  .layout-header .site-nav a { font-size: .8125rem; }
  .product-entity-card { grid-template-columns: 130px minmax(0, 1fr) 220px; }
  .product-entity-card__content, .product-entity-card__offer { padding: 1.125rem; }
}
@media (max-width: 900px) {
  .homepage-candidate .hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .homepage-candidate .hero-copy h1 { max-width: 18ch; font-size: clamp(2.5rem, 7vw, 3.75rem); }
  .homepage-candidate .hero-lede { max-width: 60ch; }
  .hero .showcase { max-width: 100%; }
  .showcase-picture { height: 280px; }
  .showcase-slide { grid-template-rows: 280px auto auto auto auto; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .results-layout { grid-template-columns: 1fr; }
  .account-shell[data-account-section="settings"] .settings-content { grid-template-columns: 1fr; }
  .admin-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-sidebar nav { display: flex; max-width: 100%; overflow: auto; gap: .375rem; }
  .admin-sidebar a { white-space: nowrap; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 6rem; }
  .layout-header .header-inner { min-height: 72px; }
  .page-main, .account-shell { padding-top: 1.75rem; }
  .homepage-candidate .hero-inner { padding-block: 2rem; }
  .homepage-candidate .hero-copy h1 { font-size: clamp(2rem, 8.5vw, 3rem); }
  .homepage-candidate .hero-lede { font-size: 1rem; }
  .homepage-candidate .search-shell--hero { flex-wrap: wrap; }
  .homepage-candidate .search-shell--hero input { min-width: 0; }
  .home-tool-strip { display: grid; grid-template-columns: 1fr; }
  .home-tool-strip > a { padding: 1rem var(--design-gutter); }
  .home-intelligence-heading { display: block; }
  .home-intelligence-grid { grid-template-columns: 1fr; }
  .category-grid { gap: .75rem; }
  .category-card { padding: 1rem; min-height: 100px; }
  .category-card__copy strong { font-size: .9375rem; }
  .category-card__copy small { font-size: .75rem; }
  .layout-category-products { grid-template-columns: 1fr; }
  .product-entity-card { grid-template-columns: 100px minmax(0, 1fr); }
  .product-entity-card__image { min-height: 140px; padding: 1rem; }
  .product-entity-card__offer { grid-column: 1 / -1; }
  .product-entity-card__content { padding: 1rem; }
  .account-panel__heading { flex-wrap: wrap; }
  .account-panel__heading > a { font-size: .875rem; }
  .layout-saved-row { gap: .75rem; }
  .layout-saved-row > div:last-child { max-width: 40%; }
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-sidebar { padding: 1rem; }
  .admin-panel, .admin-search { padding: 1.25rem; }
  .policy-main { padding-block: 2rem 4rem; }
  .policy-nav { flex-direction: column; gap: .5rem; }
  .footer-inner { gap: 1.5rem; }
}
@media (max-width: 380px) {
  .category-grid { grid-template-columns: 1fr; }
  .product-entity-card { grid-template-columns: 84px minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .category-card:hover { transform: none; }
}

/* Source tokens mapped to the live application's existing semantic variables. */
:root:not([data-theme="dark"]) {
  color-scheme: light;
  --page-background: #b9dcd9; --page: #b9dcd9;
  --surface: #d0e5dd; --surface-soft: #9fc9ca; --surface-strong: #9fc9ca;
  --page-text: #132f3c; --heading: #132f3c; --muted-text: #31535e;
  --muted: var(--muted-text);
  --line: #749da0; --line-strong: #436870;
  --accent: #075647; --accent-dark: #075647; --accent-soft: #b7d8bd;
  --orange: #f3954f; --orange-ink: #994214; --orange-hover: #f9ac63;
  --soft: #2f535f; --yellow: #994214; --yellow-soft: #efd2af;
  --switch-background: #9fc9ca; --switch-border: #436870; --switch-icon: #31535e;
  --header-background: #b9dcd9; --footer-background: #9fc9ca;
  --footer-text: #31535e; --footer-link: #075647;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page-background: #0a1524; --page: #0a1524;
  --surface: #101f30; --surface-soft: #132638; --surface-strong: #132638;
  --page-text: #f0f3ec; --heading: #f0f3ec; --muted-text: #9fadb9;
  --muted: var(--muted-text);
  --line: #293b4c; --line-strong: #536879;
  --accent: #5cdfc9; --accent-dark: #5cdfc9; --accent-soft: #23433f;
  --orange: #ffac69; --orange-ink: #ffac69; --orange-hover: #ffbf8d;
  --soft: #c2cec9; --yellow: #ffac69; --yellow-soft: #26342f;
  --switch-background: #132638; --switch-border: #536879; --switch-icon: #9fadb9;
  --header-background: #0a1524; --footer-background: #101f30;
  --footer-text: #9fadb9; --footer-link: #5cdfc9;
}
:root {
  --navy: #0a1524; --panel: var(--surface); --panel2: var(--surface-soft);
  --radius-card: 11px; --radius-control: 7px; --radius-md: 11px; --radius-lg: 11px;
  --font-body: 'DM Sans', Arial, sans-serif;
  --font-heading: 'Manrope', Arial, sans-serif;
}
body, .account-page { background: var(--page-background); color: var(--page-text); font-family: var(--font-body); }
h1,h2,h3,.home-tool-strip strong { font-family: var(--font-heading); }
:root .layout-header, :root .homepage-candidate .site-header { background: var(--header-background); border-color: var(--line); }
:root .site-footer { background: var(--footer-background); color: var(--footer-text); border-top: 1px solid var(--line); }
.site-footer .footer-links a { color: var(--footer-text); }
.site-footer .footer-links strong { color: var(--heading); }
:root .button-primary, :root .search-submit, :root[data-theme] .homepage-candidate .search-shell--hero .search-submit {
  background: var(--orange); color: #0a1524; border-color: transparent;
}
:root .button-primary:hover, :root .search-submit:hover, :root[data-theme] .homepage-candidate .search-shell--hero .search-submit:hover {
  background: var(--orange-hover); color: #0a1524;
}
:root .button-primary:disabled, :root .search-submit:disabled { opacity: .6; }
:root .search-shell, :root[data-theme] .homepage-candidate .search-shell--hero {
  background: var(--panel2); color: var(--page-text); border-color: var(--line-strong); box-shadow: none;
}
:root[data-theme] .homepage-candidate .search-shell--hero input { color: var(--page-text); }
:root input::placeholder, :root[data-theme] .homepage-candidate .search-shell--hero input::placeholder { color: var(--muted-text); opacity: 1; }
:root[data-theme] .homepage-candidate .search-shell--hero .search-icon,
:root[data-theme] .homepage-candidate .search-shell--hero .search-clear { color: var(--muted-text); }
:root .homepage-candidate { --home-ink-accent: var(--accent); --hero-background: var(--page-background); --hero-glow: transparent; }
:root .homepage-candidate .hero { background: var(--page-background); }
.homepage-candidate .hero-inner { padding-block: 3.25rem 2.25rem; align-items: center; }
.homepage-candidate .hero-copy h1 { max-width: none; font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.14; letter-spacing: -.045em; }
:root[data-theme] .homepage-candidate .hero-copy h1 em { color: var(--accent); }
.homepage-candidate .hero-copy .home-eyebrow { color: var(--muted-text); font-size: .6875rem; letter-spacing: .17em; }
.homepage-candidate .hero-copy .home-eyebrow::before { content: ''; display: inline-block; width: 15px; height: 2px; margin: 0 9px 3px 0; background: var(--orange-ink); }
.homepage-candidate .hero-lede { color: var(--soft); }
.homepage-candidate .search-shell--hero { border-radius: 9px; }
.homepage-candidate .search-shell--hero .search-submit { border-radius: 5px; }
:root .hero .showcase { padding: 0; background: transparent; border: 0; border-radius: 0; }
.showcase-top { margin-bottom: 10px; }
.showcase-top .home-eyebrow { color: var(--muted-text); font-size: .6875rem; }
.showcase-edition { color: var(--orange-ink); }
.showcase-empty { min-height: 0; }
.midnight-concept-hero { position: relative; margin: 0 0 1.25rem; overflow: hidden; border-radius: 11px 80px 11px 11px; background: #071825; }
.midnight-concept-hero img { display: block; width: 100%; height: clamp(290px, 33vw, 445px); object-fit: contain; }
.midnight-concept-hero figcaption { position: absolute; bottom: 0; inset-inline: 0; padding: 28px 20px 16px; background: linear-gradient(transparent,#061522); color: #f0f3ec; font-size: .75rem; line-height: 1.5; }
.showcase-picture { border-radius: 11px 70px 11px 11px; }
.showcase-picture img { border-radius: inherit; }
.showcase-empty > .home-eyebrow { margin-bottom: .5rem; }
.showcase-empty h2 { margin-block: .5rem; }
.showcase-empty [data-message] { color: var(--muted-text); font-size: .875rem; }
.showcase-bottom { color: var(--muted-text); font-size: .75rem; }
.home-tool-strip { width: min(var(--design-width), calc(100% - var(--design-gutter) * 2)); padding-block: 1.5rem; border-color: var(--line); }
.home-tool-strip > a { padding-block: .25rem; border-color: var(--line); }
.home-tool-strip strong { font-size: 1.1875rem; font-weight: 700; }
.home-tool-strip > a:last-child .home-strip-icon { color: var(--orange-ink); }
.midnight-editorial-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.5rem; }
.midnight-editorial-heading h2 { font-size: clamp(1.75rem,3vw,2.25rem); letter-spacing: -.035em; margin: 0; }
.midnight-editorial-heading .home-eyebrow { margin-bottom: .625rem; }
.midnight-editorial-heading > p { max-width: 34ch; color: var(--muted-text); font-size: .8125rem; margin: 0; }
.midnight-editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.midnight-editorial-card { position: relative; display: block; min-width: 0; height: 260px; overflow: hidden; border-radius: 9px; background: #071825; color: #f0f3ec; text-decoration: none; }
.midnight-editorial-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#051622f5,transparent 85%); }
.midnight-editorial-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.midnight-editorial-card:hover img { transform: scale(1.04); }
.midnight-editorial-card > span { position: absolute; left: 24px; bottom: 24px; z-index: 1; display: grid; gap: 6px; }
.midnight-editorial-card small { color: #c2cec9; font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; }
.midnight-editorial-card strong { font-family: var(--font-heading); font-size: 1.625rem; font-weight: 600; letter-spacing: -.025em; }
.midnight-editorial-card b { position: absolute; right: 22px; bottom: 25px; z-index: 1; color: #5cdfc9; font-size: 1.5rem; }
:root :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
:root .homepage-candidate :is(.hero,.home-intelligence) :focus-visible { outline: 3px solid var(--orange-ink); outline-offset: 4px; }
.auth-card, .recovery-card, .faq-section details, .admin-table-wrap { border-radius: 11px; }
:root[data-theme] .product-matching {
  --bg: var(--page-background); --panel: var(--surface); --soft: var(--surface-soft);
  --border: var(--line-strong); --text: var(--page-text); --muted: var(--muted-text);
  --blue: var(--accent-dark); --accent: var(--orange); font-family: var(--font-body);
}
.photo-review-page a { color: var(--accent-dark); }
.photo-review-page button { background: var(--surface-soft); color: var(--page-text); border-color: var(--line-strong); }
.photo-review-page article, .photo-review-page header { border-color: var(--line); }
.photo-review-page article { background: var(--surface); border-radius: 11px; }
.photo-review-page .note, .photo-review-page #message { color: var(--muted-text); }
@media (max-width: 900px) {
  .settings-content, .account-shell[data-account-section="settings"] .settings-content { grid-template-columns: minmax(0,1fr); }
  .homepage-candidate .hero-copy h1 { font-size: clamp(1.875rem, 5.4vw, 3.25rem); max-width: none; }
  .midnight-concept-hero img { height: 390px; }
  .midnight-editorial-card { height: 225px; }
  .midnight-editorial-card > span { left: 16px; }
  .midnight-editorial-card strong { font-size: 1.25rem; }
}
@media (max-width: 640px) {
  .homepage-candidate .hero-copy h1 { font-size: clamp(1.6rem, 7.2vw, 2.6rem); }
  .homepage-candidate .hero .home-search-note { display: block; }
  .midnight-concept-hero img { height: 345px; }
  .midnight-editorial-heading { display: block; }
  .midnight-editorial-heading > p { margin-top: 1rem; max-width: none; }
  .midnight-editorial-grid { grid-template-columns: 1fr; gap: 1rem; }
  .midnight-editorial-card { height: 240px; }
  .midnight-editorial-card > span { left: 24px; }
  .midnight-editorial-card strong { font-size: 1.75rem; }
}

/* Use the available semibold face for clearer orange action labels. */
:root .button-primary, :root .search-submit { font-weight: 600; font-synthesis: none; }

/* Preserve the complete selected headphone image in the category card. */
.midnight-editorial-card img.midnight-headphones-image { object-fit: contain; }

/* Keep the homepage tool cards aligned at narrow viewport widths. */
@media (max-width: 650px) {
  .home-tool-strip { grid-template-columns: minmax(0, 1fr); padding-block: 0; }
  .home-tool-strip > a,
  .home-tool-strip > a:first-child,
  .home-tool-strip > a:last-child { border: 0; padding: 1rem 0; flex-wrap: nowrap; align-items: center; gap: .75rem; }
  .home-tool-strip > a:not(:first-child) { border-top: 1px solid var(--line); }
  .home-tool-strip .home-strip-icon { flex: 0 0 28px; margin: 0; }
  .home-tool-strip > a > span:nth-child(2) { min-width: 0; }
}


/* Shared CartSift backdrop: decoration stays behind content and never animates. */
:root:not([data-theme="dark"]) {
  --page-background:#dce5ed; --page:#dce5ed;
  --surface:#e8eff4; --surface-soft:#dfe9f0; --surface-strong:#d2dfe9;
  --page-text:#263744; --heading:#1e303d; --muted-text:#485f70; --muted:var(--muted-text);
  --line:#b8c9d6; --line-strong:#70889b;
  --accent:#006d68; --accent-dark:#006761; --accent-soft:#e1f1ec;
  --orange:#ff851f; --orange-ink:#994214; --orange-hover:#ffab60;
  --soft:#40596b; --yellow:#805200; --yellow-soft:#fbefd5;
  --switch-background:#d2dfe9; --switch-border:#70889b; --switch-icon:#485f70;
  --header-background:#dce5ed; --footer-background:#dfe9f0;
  --footer-text:#485f70; --footer-link:#006761;
  --site-grid:rgba(25,89,113,.065); --site-teal-glow:rgba(65,179,169,.12); --site-blue-glow:rgba(117,176,214,.12);
  --hero-chart-opacity:.24;
}
:root[data-theme="dark"] {
  --page-background:#0b1725; --page:#0b1725;
  --surface:#122335; --surface-soft:#152a3e; --surface-strong:#1c354b;
  --page-text:#edf4f8; --heading:#f5f8fb; --muted-text:#b0c1cf; --muted:var(--muted-text);
  --line:#30475d; --line-strong:#59768b;
  --accent:#57ded2; --accent-dark:#64e8db; --accent-soft:#183e40;
  --orange:#ff851f; --orange-ink:#ffb477; --orange-hover:#ffab60;
  --soft:#cad7df; --yellow:#ffca75; --yellow-soft:#3a3429;
  --switch-background:#152a3e; --switch-border:#59768b; --switch-icon:#b0c1cf;
  --header-background:#0b1725; --footer-background:#122335;
  --footer-text:#b0c1cf; --footer-link:#64e8db;
  --site-grid:rgba(109,193,199,.065); --site-teal-glow:rgba(22,155,153,.12); --site-blue-glow:rgba(52,104,171,.10);
  --hero-chart-opacity:.32;
}
:root {
  --site-backdrop:radial-gradient(ellipse 800px 560px at 100% 0%,var(--site-teal-glow),transparent 76%),radial-gradient(ellipse 760px 580px at 0% 650px,var(--site-blue-glow),transparent 76%),linear-gradient(to right,var(--site-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--site-grid) 1px,transparent 1px);
}
body {
  background-color:var(--page-background)!important;
  background-image:var(--site-backdrop)!important;
  background-size:auto,auto,72px 72px,72px 72px!important;
  background-repeat:no-repeat,no-repeat,repeat,repeat;
  background-attachment:scroll;
}
:root[data-theme] .homepage-candidate .hero { background:transparent; }
.homepage-candidate .hero-inner { position:relative; isolation:isolate; }
.homepage-candidate .hero-inner::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:var(--hero-chart-opacity);
  background:url("/assets/cartsift-price-chart.svg?v=20261005-visible-background") left center/100% auto no-repeat;
}
/* Information panels are opaque; the grid appears only in the surrounding page. */
:is(.auth-card,.recovery-card,.settings-card,.account-summary-card,.account-panel,.account-disclosure,.plan-card,.admin-panel,.faq-section details,.discovery-panel) { background-color:var(--surface); }
:root .button-primary,:root .search-submit { color:#122033; background:var(--orange); border-color:transparent; }
:root .button-primary:hover,:root .search-submit:hover { color:#122033; background:var(--orange-hover); }
@media(max-width:760px) {
  body { background-size:auto,auto,56px 56px,56px 56px!important; }
  .homepage-candidate .hero-inner::before { background-size:auto 65%; background-position:left 15%; }
}
@media(forced-colors:active) { body { background-image:none!important; } .homepage-candidate .hero-inner::before { display:none; } }

/* Allow the featured-product grid to shrink on narrow screens. */
.homepage-candidate .showcase{grid-template-columns:minmax(0,1fr)}
.homepage-candidate .showcase>*{min-width:0}

/* Light-only image wells and floating price notes follow the shared tinted surfaces. */
:root:not([data-theme="dark"]) :is(.product-autocomplete__thumbnail,.product-entity-card__image,.search-result-image,.product-gallery__stage) { background-color:var(--surface-soft); }
:root:not([data-theme="dark"]) .price-note { background:var(--surface); color:var(--page-text); }
