/* Selected direction 03. Presentation overlay, loaded after adult-theme.css. */
:root {
  color-scheme: dark;
  background: #101214;
  color: #f6f5f0;
  --cream: #101214;
  --paper: #101214;
  --ink: #f6f5f0;
  --muted: #b7bab6;
  --line: #3c4142;
  --purple: #f6f5f0;
  --purple-dark: #ffffff;
  --purple-light: #25292b;
  --lavender: #25292b;
  --lime: #303638;
  --coral: #d6c99f;
  --white: #f6f5f0;
  --radius: 0px;
  --shadow: 0 14px 42px rgb(0 0 0 / 28%);
  --collector-surface: #1b1e20;
  --collector-surface-raised: #24282a;
  --collector-accent: #f0ce66;
  --collector-dark-ink: #202321;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
}
::selection { background: var(--collector-accent); color: var(--collector-dark-ink); }
[hidden] { display: none !important; }
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--collector-accent);
  outline-offset: 4px;
}
.shell { width: min(1240px, calc(100% - 96px)); }
.skip-link { background: var(--collector-accent); color: var(--collector-dark-ink); }
.announcement { background: #e5e4de; color: #343735; }
.announcement a { color: inherit; }

/* The pale header is the deliberate contrast at the top of the dark stage. */
.site-header {
  --ink: #202321;
  --muted: #626762;
  --line: #c6c8c0;
  --purple: #202321;
  --purple-dark: #101214;
  --purple-light: #e6e6df;
  --paper: #f6f5f0;
  color-scheme: light;
  background: var(--paper);
  color: var(--ink);
  backdrop-filter: none;
}
.header-inner { min-height: 88px; }
.brand-text strong { font-size: 24px; font-weight: 600; letter-spacing: -.9px; }
.brand-text small { color: var(--muted); font-size: 11px; }
.brand-icon i, .brand-icon i:nth-child(2), .brand-icon i:nth-child(3) {
  background: currentColor;
  border-radius: 0;
}
.search-wrap { border: 1px solid #c6c8c0; border-radius: 0; background: #fff; }
.search-wrap:focus-within { border-color: #725a16; box-shadow: 0 0 0 1px #725a16; }
.search-wrap svg, .search-wrap input::placeholder, .search-wrap kbd { color: #696e68; }
.search-wrap kbd { border-color: #c6c8c0; border-radius: 0; }
.header-action b { background: #202321; color: #f6f5f0; }
.site-header :is(a, button, input, select):focus-visible { outline-color: #725a16; }
.site-header .button.purple, .site-header .button.ink { background: #202321; color: #f6f5f0; }
.site-header .button.purple:hover, .site-header .button.ink:hover { background: #3c413d; }
.quick-nav { min-height: 44px; border-color: #c6c8c0; }
.quick-nav a { display: inline-flex; align-items: center; min-height: 44px; }

/* Exact HTML contract: collector-intro, three scene figures, then the CTA. */
.collector-intro { padding-top: 45px; text-align: center; }
.collector-intro .eyebrow { color: var(--muted); font-size: 10px; font-weight: 400; letter-spacing: .13em; }
.collector-intro h1 {
  margin: 15px 0 0;
  color: var(--ink);
  font-size: clamp(42px, 5.2vw, 76px);
  font-style: normal;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.collector-intro > p { margin: 20px auto 0; color: #c9ccc7; font-size: 15px; line-height: 1.6; }
.collector-stage.shell {
  width: min(1160px, calc(100% - 96px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr) minmax(0, .78fr);
  grid-template-areas: "ship helmet droid";
  column-gap: 28px;
  align-items: center;
  margin-top: 38px;
}
.collector-stage figure { margin: 0; min-width: 0; }
.collector-scene-main { grid-area: helmet; }
.collector-stage .collector-scene-left { grid-area: ship; align-self: end; margin-bottom: 45px; }
.collector-stage .collector-scene-right { grid-area: droid; margin-top: 15px; }
.collector-stage figure > a {
  display: block;
  background: #191c1e;
  box-shadow: 0 22px 42px rgb(0 0 0 / 25%);
}
.collector-stage img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  transform: none;
  mix-blend-mode: normal;
}
.collector-scene-main img { aspect-ratio: 1; }
.collector-scene-left img { aspect-ratio: 3 / 2; }
.collector-scene-right img { aspect-ratio: 3 / 4; }
.collector-stage figcaption { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.collector-stage figcaption span { display: block; color: #b7bab6; font-size: 10px; line-height: 1.5; letter-spacing: .1em; }
.collector-stage figcaption strong { display: block; margin-top: 5px; color: var(--ink); font-size: 13px; line-height: 1.45; font-weight: 400; }
.collector-stage .collector-scene-main figcaption strong { font-size: 16px; font-weight: 600; }
.collector-stage-cta { display: flex; justify-content: center; align-items: center; gap: 24px; margin: 37px auto 48px; }
.collector-stage-cta .button.ink { min-height: 52px; padding: 16px 24px; gap: 32px; background: var(--collector-accent); color: var(--collector-dark-ink); font-weight: 700; }
.collector-stage-cta .button.ink:hover { background: #ffdd7d; }
.collector-stage-cta .button span { font-size: 19px; line-height: 1; }
.collector-stage-cta > p { max-width: 300px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }

/* Existing catalogue controls keep their classes and behavior. */
.button, .category-button, .add-button, .compare-toggle, .dialog-close,
.quantity-control, .gallery-thumb, .variant-selector select, #order-comment { border-radius: 0; }
.button.purple, .button.ink, .button.white { background: #f6f5f0; color: var(--collector-dark-ink); border-color: #f6f5f0; }
.button.purple:hover, .button.ink:hover, .button.white:hover { background: #dce0d7; color: var(--collector-dark-ink); box-shadow: none; }
.button.outline { background: transparent; color: var(--ink); border-color: #727975; }
.button.outline:hover { background: var(--collector-surface-raised); border-color: #b7bab6; }
.circle-link { background: transparent; color: var(--ink); border-color: var(--line); border-radius: 0; }
.circle-link:hover { background: var(--collector-surface-raised); }
.benefits { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.benefit-symbol { background: transparent; color: #d6c99f; border-radius: 0; }
.benefits > div + div { border-left: 0; }
.benefits p > span, .catalog-note, .feature-help { color: var(--muted); }
.worlds-section, .catalog-section { margin-top: 62px; }
.section-heading h2, .how-intro h2, .contact-banner h2 { color: var(--ink); font-weight: 400; letter-spacing: -.035em; }
.world-card, .world-card:nth-child(n) { background: transparent; border: 1px solid var(--line); border-radius: 0; }
.world-card:hover { background: var(--collector-surface); border-color: #818780; transform: none; box-shadow: none; }
.world-count, .category-count, .category-button.active .category-count { color: var(--muted); }
.category-button { background: transparent; color: var(--ink); border: 1px solid transparent; }
.category-button:hover { background: var(--collector-surface-raised); }
.category-button.active { background: #f6f5f0; border-color: #f6f5f0; color: #202321; }
.category-button.active .category-count { color: #555d55; }
.filter-help { background: transparent; border-color: var(--line); border-radius: 0; }
.filter-help p, .filter-help > span { color: var(--muted); }
.filter-help a, .product-details-link, .detail-confirmation a, .detail-source, .detail-feature-actions a,
.delivery-grid a, .purchase-faq a, .category-directory a { color: var(--ink); }
.selection-tools, .catalog-toolbar, .purchase-faq, .purchase-faq details, .category-directory { border-color: var(--line); }
.catalog-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 32px; }
.catalog-main, .catalog-layout > *, .product-card, .product-bottom > span { min-width: 0; }
.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 24px; }
.product-card { background: transparent; border-bottom: 1px solid var(--line); }
.product-card:hover { background: transparent; border-color: #818780; transform: none; box-shadow: none; }
.product-image-wrap { background: var(--collector-surface); border-radius: 0; }
.product-image, .product-card:hover .product-image { object-fit: contain; object-position: center; transform: none; mix-blend-mode: normal; }
.favorite-button { min-width: 44px; min-height: 44px; border-color: #767d78; border-radius: 0; background: #202426; color: #f6f5f0; }
.favorite-button:hover, .favorite-button.active, .favorite-button[aria-pressed="true"] { background: #f0ce66; color: #202321; border-color: #f0ce66; }
.product-category, .product-sku, .price-configuration { color: var(--muted); }
.product-name { color: var(--ink); font-size: 15px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.product-name:hover, .product-name a:hover, .product-open:hover { color: #f0ce66; }
.product-price { color: var(--ink); font-size: 18px; font-weight: 600; white-space: normal; }
.product-bottom { flex-wrap: wrap; }
.add-button { min-height: 44px; background: #f6f5f0; color: #202321; border: 1px solid #f6f5f0; }
.add-button:hover { background: #f0ce66; color: #202321; border-color: #f0ce66; }
.add-button.added, .add-button.in-cart { background: #303638; color: #f6f5f0; border-color: #879184; }
.compare-toggle { color: #d4d8cf; border-color: #69716b; background: transparent; }
.compare-toggle:hover { color: var(--ink); border-color: #f0ce66; }
.compare-toggle.selected { background: #3b382a; color: #f6e6b3; border-color: #c4ac65; }
.empty-state { background: var(--collector-surface); border-color: #69716b; border-radius: 0; }
.empty-icon { background: transparent; color: #f0ce66; border-radius: 0; }

/* Palette only for native dialogs: original sizing, scrolling and open state remain. */
dialog, .feature-dialog, .orbita-welcome-dialog {
  background: var(--collector-surface);
  color: var(--ink);
  border: 1px solid #69716b;
  border-radius: 0;
  box-shadow: 0 24px 90px rgb(0 0 0 / 55%);
}
dialog::backdrop, .feature-dialog::backdrop, .orbita-welcome-dialog::backdrop { background: rgb(0 0 0 / 72%); }
.dialog-close { background: var(--collector-surface-raised); color: var(--ink); border-color: #69716b; }
.dialog-close:hover { background: #343a3b; color: var(--ink); }
.detail-main-image, .cart-image, .gallery-thumb { background: #202426; border-color: var(--line); border-radius: 0; }
.detail-main-image img, .cart-image img, .gallery-thumb img { object-fit: contain; mix-blend-mode: normal; }
.gallery-thumb.active, .gallery-thumb[aria-pressed="true"] { border-color: #f0ce66; }
.detail-title { color: var(--ink); font-weight: 500; letter-spacing: -.025em; overflow-wrap: anywhere; }
.detail-category { color: #d6c99f; }
.detail-description, .detail-section .detail-description, .detail-highlights, .detail-note,
.detail-confirmation p, .cart-info p, .cart-info small, .cart-info > span { color: var(--muted); }
.detail-confirmation { background: #252a2b; border-color: #626d61; border-radius: 0; }
.detail-confirmation strong, .detail-order strong, .cart-price, .cart-line-total { color: var(--ink); }
.detail-order .add-button { background: #f6f5f0; color: #202321; }
.detail-order .add-button:hover { background: #f0ce66; }
.cart-info > strong { color: var(--ink); overflow-wrap: anywhere; }
.cart-heading h2 > span { color: var(--muted); }
.quantity-control { background: #24282a; border-color: #69716b; }
.quantity-control button:hover { background: #363d3e; color: var(--ink); }
.quantity-control button:disabled { color: #8b928c; }
.remove-item { color: #c3c8c0; }
.remove-item:hover { background: #432d29; color: #ffcec3; }
.order-summary { background: #252a2b; border-radius: 0; }
.order-summary p { color: var(--muted); }
#order-comment, .buy-filter-content input, .buy-filter-content select,
.gift-form input, .gift-form select, .shelf-form input, .order-delivery, .variant-selector select {
  background: #202426; color: var(--ink); border: 1px solid #69716b; border-radius: 0;
}
#order-comment::placeholder { color: #b7bab6; }
.buy-filter-content label, .gift-form > label, .shelf-form > label, .variant-selector { color: var(--ink); }
.check-label input[type="checkbox"], .orbita-welcome-checkbox { accent-color: #f0ce66; }
.comparison-bar { background: #24282a; color: var(--ink); border-color: #69716b; border-radius: 0; }
.comparison-scroll, .comparison-table th:first-child, .gift-card { background: #202426; border-color: var(--line); border-radius: 0; }
.comparison-table th, .comparison-table td { border-color: var(--line); }
.comparison-table img { background: #202426; border-radius: 0; object-fit: contain; }
.comparison-product, .gift-card > button[data-feature-product] { color: var(--ink); }
.gift-card small, .gift-card > span { color: var(--muted); }
.dimension-track { background: #3b4242; border-radius: 0; }
.dimension-track i { background: #bdab76; border-radius: 0; }
.dimension-track b { background: #f6f5f0; }
.buyer-table thead { background: #252a2b; }
.toast { background: #f6f5f0; color: #202321; border-radius: 0; }
.noscript { background: #f6f5f0; color: #202321; }

/* Direct product/guide pages and legal documents also receive this overlay. */
.seo-wrap, .document-header, .document-content, .document-footer { color: var(--ink); }
.seo-hero, .seo-gallery img, .seo-card img { background: #202426; border-radius: 0; object-fit: contain; mix-blend-mode: normal; }
.seo-card, .buyer-table { background: #1b1e20; color: var(--ink); border-color: var(--line); border-radius: 0; }
.seo-button { background: #f6f5f0; color: #202321; border-color: #f6f5f0; border-radius: 0; }
.seo-button:hover { background: #f0ce66; color: #202321; }
.seo-wrap a:focus-visible, .buyer-table:focus-visible { outline-color: #f0ce66; }
.buyer-skip { background: #f0ce66; color: #202321; }
.document-content { background: #1b1e20; color: #f6f5f0; border-color: #69716b; border-radius: 0; }
.document-brand, .document-header a, .document-content a, .document-footer a { color: #f6f5f0; }
.document-header a:hover, .document-content a:hover, .document-footer a:hover { color: #f0ce66; }
.document-eyebrow, .document-summary, .document-details dt, .document-footer { color: #b7bab6; }
.document-note { background: #282d2e; color: #f6f5f0; border-left-color: #c4ac65; border-radius: 0; }

/* Document acknowledgements: styling does not change checked/disabled state. */
.orbita-welcome-brand, .orbita-welcome-link, .orbita-welcome-guest, .orbita-welcome-close { color: #f6f5f0; }
.orbita-welcome-brand-icon i:last-child { background: currentColor; }
.orbita-welcome-title { color: var(--ink); font-weight: 600; }
.orbita-welcome-intro, .orbita-welcome-help, .orbita-welcome-note { color: var(--muted); }
.orbita-welcome-document { background: #202426; color: #e2e5dc; border-color: #69716b; border-radius: 0; }
.orbita-welcome-document:has(.orbita-welcome-checkbox:checked) { background: #343528; border-color: #c4ac65; }
.orbita-welcome-continue, .orbita-welcome-guest { border-radius: 0; }
.orbita-welcome-continue { background: #f6f5f0; color: #202321; }
.orbita-welcome-continue:hover:not(:disabled) { background: #f0ce66; color: #202321; }
.orbita-welcome-continue:disabled { background: #42484a; color: #c2c7bf; }
.orbita-welcome-guest:hover, .orbita-welcome-close:hover { background: #343a3b; color: #f6f5f0; }
.orbita-welcome-link:hover { color: #f0ce66; }
.orbita-welcome-footer-links button:focus-visible { outline-color: #f0ce66; }
.steps li > span, .steps li:nth-child(n) > span { background: transparent; color: #d6c99f; }
.delivery-grid article, .delivery-grid article:nth-child(n) { background: var(--collector-surface); border-color: var(--line); border-radius: 0; }
.contact-banner { background: transparent; border-color: var(--line); border-radius: 0; }
.contact-banner p, .footer-bottom { color: var(--muted); }
.contact-spark { color: #d6c99f; }
.mobile-nav { background: #1b1e20; border-color: #69716b; box-shadow: none; }
.mobile-nav > a, .mobile-nav > button { color: #c8cdc4; }
.mobile-nav b { background: #f6f5f0; color: #202321; }

@media (max-width: 1199px) {
  .shell { width: calc(100% - 56px); }
  .collector-stage.shell { width: calc(100% - 56px); column-gap: 20px; }
  .collector-stage .collector-scene-left { margin-bottom: 32px; }
  .catalog-layout { grid-template-columns: 185px minmax(0, 1fr); gap: 24px; }
  .product-grid { gap: 30px 18px; }
}
@media (max-width: 900px) {
  .shell, .collector-stage.shell { width: calc(100% - 48px); }
  .collector-intro { padding-top: 35px; }
  .collector-intro > p { font-size: 14px; }
  .catalog-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 20px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; }
  .collector-stage-cta { gap: 20px; }
}
@media (max-width: 700px) {
  .shell, .collector-stage.shell { width: calc(100% - 40px); }
  .collector-intro { padding-top: 30px; }
  .collector-intro h1 { max-width: 470px; margin: 13px auto 0; font-size: clamp(38px, 10.2vw, 64px); }
  .collector-intro > p { margin-top: 16px; font-size: 12px; line-height: 1.65; }
  .collector-stage.shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "helmet helmet" "ship droid";
    gap: 28px 20px;
    align-items: start;
    margin-top: 30px;
  }
  .collector-scene-main { width: min(100%, 470px); justify-self: center; }
  .collector-stage .collector-scene-left { margin-bottom: 0; align-self: center; }
  .collector-stage .collector-scene-right { width: 85%; margin-top: 0; justify-self: end; }
  .collector-stage figcaption { margin-top: 12px; padding-top: 10px; }
  .collector-stage figcaption span { font-size: 8px; letter-spacing: .08em; }
  .collector-stage figcaption strong { font-size: 11px; }
  .collector-stage .collector-scene-main figcaption strong { font-size: 15px; }
  .collector-stage-cta { margin: 30px auto 32px; flex-wrap: wrap; gap: 15px; text-align: center; }
  .collector-stage-cta > p { max-width: 310px; font-size: 11px; }
}
@media (max-width: 650px) {
  .header-inner { min-height: 114px; padding-block: 12px; }
  .brand-text strong { font-size: 23px; }
  .brand-text small { font-size: 11px; }
  .worlds-section, .catalog-section { margin-top: 40px; }
  .section-heading h2, .how-intro h2, .contact-banner h2 { font-size: 28px; }
  .catalog-layout { display: block; }
  .category-filters { margin-inline: -20px; padding-inline: 20px; }
  .product-grid { gap: 28px 14px; }
  .product-name { font-size: 13px; }
  .product-price { font-size: 16px; }
  .product-category { font-size: 10px; }
  .price-configuration { font-size: 11px; }
  .sort-label select, #order-comment, .buy-filter-content input, .buy-filter-content select,
  .gift-form input, .gift-form select, .shelf-form input, .order-delivery, .variant-selector select { font-size: 16px; }
  .detail-title { font-size: 25px; }
  .cart-info { min-width: 0; }
}
@media (max-width: 360px) {
  .shell, .collector-stage.shell { width: calc(100% - 32px); }
  .category-filters { margin-inline: -16px; padding-inline: 16px; }
  .collector-intro h1 { font-size: 36px; }
  .collector-stage.shell { column-gap: 16px; }
  .product-grid { column-gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .collector-stage a, .collector-stage img, .collector-stage-cta a { transition: none; animation: none; }
}
