/* Dhimi Studio — fixes from the 2 Oct 2026 live audits. Loaded last on every page.
   Scope: only the issues listed in the audit fix brief. Palette unchanged (navy / cream / muted gold). */

/* Waitlist bug: an element with the `hidden` attribute must stay hidden even when a
   button class sets `display`. Checkout scripts toggle `hidden`; CSS no longer overrides it. */
[hidden] { display: none !important; }

/* ---------- Contrast (audit-measured failures) ---------- */
/* "CURIOUS SIDE" kicker on the light Spark door: gold #e4b15a on white was 1.96:1 → dark gold 5.3:1 */
.ax-door:not(.dark) .ax-kicker,
.ax-section .ax-card .ax-kicker { color: #8a5a12 !important; }
/* "Explore Forge →" on the navy Forge door: #8a5a12 on navy was 2.88:1 → light gold ≈ 8.9:1 */
.ax-door.dark .ax-link { color: #e4b15a !important; }

/* ---------- Mobile menu (homepage panel colour, wordmark, empty area, hidden button) ---------- */
@media (max-width: 920px) {
  body.page-home:not(.nav-solid) .nav-links { background: #0e1c33 !important; }
  .nav-links { padding-top: 4.5rem !important; justify-content: flex-start !important; }
  .mobile-menu-brand span { color: #1c1915 !important; }
  body.page-home:not(.nav-solid) .mobile-menu-brand span { color: #ffffff !important; }
  body.page-home:not(.nav-solid) .mobile-menu-brand { border-bottom-color: rgba(255,255,255,.18) !important; }
  /* keep the menu button above the open panel so it can close it */
  .nav-actions { position: relative; z-index: 300; }
}

/* ---------- Footer: brand + Spark + Forge + Studio + Contact ---------- */
@media (min-width: 901px) {
  .foot-grid { grid-template-columns: 1.4fr repeat(4, 1fr) !important; }
}
.site-footer h5 a { text-decoration: none; }

/* ---------- Homepage first screen: readable message + visible next step ---------- */
.cine-giant { text-decoration: none; }
.cine-lockup {
  position: absolute; z-index: 6; left: 6vw; right: 6vw; top: clamp(5.5rem, 13vh, 8.5rem);
  margin: 0; max-width: 34rem; color: #fff;
}
.cine-lockup .cine-line1 { display: block; font-family: Fraunces, serif; font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.15; font-weight: 600; }
.cine-lockup .cine-line2 { display: block; margin-top: .5rem; font: 700 .78rem/1.4 Inter, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #e4b15a; }
.cine-cue {
  position: absolute; z-index: 6; left: 6vw; top: calc(clamp(5.5rem, 13vh, 8.5rem) + 7.5rem);
  display: inline-flex; align-items: center; gap: .4rem; padding: .7rem 1rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.45); background: rgba(14,28,51,.45); color: #fff; text-decoration: none;
  font: 600 .92rem/1 Inter, sans-serif;
}
.cine-cue:hover, .cine-cue:focus-visible { background: rgba(228,177,90,.25); }
@media (min-width: 801px) {
  .cine-cue { top: auto; bottom: 4vh; left: auto; right: 4vw; }
}

/* Punchline is no longer one large link: explicit About link instead */
.ax-home-punchline .ax-actions { margin-top: 1rem; }
/* Punchline heading keeps its original size now that the H1 sits in the first screen */
.ax-home-punchline .ax-punchline-title { color: #fff; font-size: clamp(2.4rem, 4.6vw, 4.1rem); line-height: 1.02; font-weight: 560; margin: .35rem 0 .8rem; }
.cine-lockup h1.cine-line1 { margin: 0; color: #fff; }
@media (max-width: 920px) {
  body.page-home:not(.nav-solid) .mobile-menu-brand img { filter: brightness(0) invert(1); }
}

/* Door mascots (Oct 2026 repaint): the PNG/WebP carries its own soft shadow under the feet,
   so the CSS drop-shadow that also outlined the wings is switched off. */
.ax-door-mascot { filter: none !important; }

/* Cookie consent banner (Europe only, see assets/consent.js) */
.dhimi-consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;max-width:560px;margin:0 auto;background:#141B33;color:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:14px;line-height:1.45;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.dhimi-consent p{margin:0;flex:1 1 260px}
.dhimi-consent a{color:#E8A33D;text-decoration:underline}
.dhimi-consent-actions{display:flex;gap:8px}
.dhimi-consent button{min-height:44px;padding:0 16px;border-radius:8px;border:1px solid #E8A33D;background:transparent;color:#fff;font:inherit;cursor:pointer}
.dhimi-consent button[data-c="yes"]{background:#E8A33D;color:#141B33;font-weight:700}

/* Mobile tap targets and small text (audit R37) */
@media (max-width: 760px) {
  .site-footer a, .breadcrumb a, .foot-legal a {
    display: inline-flex; align-items: center; min-height: 44px; min-width: 44px;
  }
  .site-footer li { margin: 0; }
  .status-badge, .badge-soon { font-size: 12px !important; }
}

/* Homepage hero (Oct 2026): rotating ring text removed; DHIMI on the left, owl standing on the right */
.cine-hero-owl { left: auto !important; right: 5vw !important; bottom: 0; }
.cine-giant { right: auto; }
@media (min-width: 801px) {
  .cine-cue { top: calc(clamp(5.5rem, 13vh, 8.5rem) + 7.5rem); bottom: auto; left: 6vw; right: auto; }
}
@media (max-width: 800px) {
  .cine-hero-owl { right: 0 !important; height: 40vh; }
  .cine-giant { font-size: 16.5vw; left: 4vw; }
}

/* About: brand logo in the founder card instead of the letter V */
.founder-mark-logo img { width: min(110px, 60%); height: auto; display: block; }
.ax-steps span { line-height: 1.5; }

/* Our story page */
.story-flow { max-width: 52rem; }
.story-p { font-size: 1.08rem; line-height: 1.7; color: #3e3933; margin: 0 0 1rem; }
.story-steps { display: grid; gap: .9rem; margin-top: 1.2rem; }
.story-step { display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; align-items: start; background: #fff; border: 1px solid var(--ax-line); border-radius: 16px; padding: 1rem 1.1rem; }
.story-step h3 { margin: 0 0 .3rem; font-family: Fraunces, serif; font-size: 1.15rem; }
.story-step p { margin: 0; line-height: 1.6; color: #3e3933; }
.story-num { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #0b1c2c; color: #e0c48a; font: 700 1rem/1 Fraunces, serif; }

/* Shop cards: real covers / product images instead of plain colour blocks */
.p4-card-media.has-img { padding: 0; background: #f6f0e5; }

/* Finance waitlist form */
.finance-form { max-width: 40rem; }
.finance-form input, .finance-form select, .finance-form textarea { width: 100%; box-sizing: border-box; }
.ax-card img.cover[src*="/assets/cards/"] { height: auto; aspect-ratio: 16 / 10; object-fit: cover; }

/* Homepage hero (3 Oct 2026, owner request): visible heading/tagline removed (kept for screen readers and SEO),
   rotating ring text restored, "Choose" button moved to the top-left */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.cine-cue { top: clamp(5.2rem, 11vh, 7rem) !important; bottom: auto !important; left: 6vw !important; right: auto !important; }

/* About: founder text + "About Dhimi Studio" narrative (3 Oct 2026) */
.founder-copy p { line-height: 1.6; }
.founder-support { margin-top: .9rem !important; padding: .6rem .8rem; border-left: 3px solid #e0c48a; background: rgba(224,196,138,.12); border-radius: 6px; }
.about-story { max-width: 52rem; }
.about-story p { font-size: 1.06rem; line-height: 1.7; color: #3e3933; margin: 0 0 1rem; }
.about-story .about-em { font-family: Fraunces, serif; font-size: 1.3rem; color: #0b1c2c; }
.about-story .about-worlds { margin: .4rem 0 1.4rem; }
.about-story .about-worlds h3 a { color: inherit; text-decoration: none; }
.about-story .about-dedication { font-style: italic; }
.about-story .about-tagline { font: 700 .82rem/1.4 Inter, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #8a5a12; }
