/* Gece Yarısı Neonu · neon-afterhours — Atölye #7 (#397, Mina).
   Contract: docs/tasarim/v2/yon.md §2 row 7, §3 (electric), §4. Selectors: [data-theme] + .inv-cover only.
   Name glow = filter: drop-shadow (no text-shadow, D-053). */

[data-theme="neon-afterhours"] {
  /* yon.md §4.1 (1): this theme owns the whole cover composition; page.js sets <body data-cover="theme"> */
  --inv-cover-owned: 1;

  --inv-bg: #0E0B14;
  --inv-surface: #1A1522;
  --inv-text: #F4F0FA;
  --inv-text-muted: #B7AFC4;
  --inv-primary: #FF4FA3;
  --inv-on-primary: #0E0B14;
  --inv-accent: #43E6FF;
  --inv-ornament: #FF4FA3;
  --inv-border: #3A3046;
  --inv-backdrop: #0A080F;
  --inv-danger: #FF8A80;
  --inv-focus: var(--inv-text);

  --inv-font-script: 'Sacramento', cursive;               /* neon name */
  --inv-font-display: 'Space Grotesk', system-ui, sans-serif; /* #1432: Monoton leaves titles/digits (system-v4 §1); neon name stays Sacramento */
  --inv-font-body: 'Space Grotesk', system-ui, sans-serif;
  --inv-display-weight: 700;
  --inv-display-transform: uppercase;
  --inv-display-tracking: .08em;
  --inv-body-size: 1rem;
  --inv-radius: 10px;

  /* motion: electric, broken (yon.md §3 column "Elektrikli") */
  --inv-motion-intro-total: 2400ms;
  --inv-motion-ease-open: steps(6, jump-end);
  --inv-motion-name-in: 900ms; /* flicker-on of the whole name; per-letter 70 ms needs letter spans (README) */
  --inv-motion-reveal: 400ms;
  --inv-motion-reveal-distance: 0px;
  --inv-motion-stagger: 50ms;
  --inv-motion-micro: 120ms;
  --inv-motion-ambient: neon;

  --inv-art-backdrop: image-set(url("/themes/neon-afterhours/art/backdrop.webp") 1x, url("/themes/neon-afterhours/art/backdrop-2x.webp") 2x); /* #432 D-058: 256 CSS px tile, 512 px at dpr 2 */
  --inv-art-scene: url("/themes/neon-afterhours/art/wall-2x.webp");
  --inv-art-scene-1x: url("/themes/neon-afterhours/art/wall-1x.webp");
  --inv-art-flank-left: url("/themes/neon-afterhours/art/flank-left-2x.webp");
  --inv-art-flank-right: url("/themes/neon-afterhours/art/flank-right-2x.webp");
  --inv-art-divider: url("/themes/neon-afterhours/art/divider.svg");
  --inv-art-corner: url("/themes/neon-afterhours/art/corner.svg");
  --inv-art-icon-schedule: url("/themes/neon-afterhours/art/icon-schedule.svg");
  --inv-art-icon-rsvp: url("/themes/neon-afterhours/art/icon-rsvp.svg");
  --inv-art-icon-gift: url("/themes/neon-afterhours/art/icon-gift.svg");
  --inv-art-icon-gallery: url("/themes/neon-afterhours/art/icon-gallery.svg");
  --inv-art-icon-guestbook: url("/themes/neon-afterhours/art/icon-guestbook.svg");
  --inv-art-icon-share: url("/themes/neon-afterhours/art/icon-share.svg");
}

/* ---- Cover: brick wall, lit neon portal, the name written in pink tube light ---- */
[data-theme="neon-afterhours"] .inv-cover {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100svh;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: var(--space-3);
  padding: 14svh var(--space-12) 18svh;
  text-align: center;
  color: var(--inv-text);
  background: var(--inv-bg);
}
[data-theme="neon-afterhours"] .inv-cover__art {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    url("art/neon-accents.svg") 50% 50% / contain no-repeat,
    url("art/neon-frame.svg") 50% 50% / contain no-repeat,
    image-set(var(--inv-art-scene-1x) 1x, var(--inv-art-scene) 2x) 50% 50% / cover no-repeat;
}
[data-theme="neon-afterhours"] .inv-cover__eyebrow {
  margin: 0;
  background: color-mix(in srgb, var(--inv-bg) 84%, transparent); padding: var(--space-1) var(--space-3); /* görev 679: görsel üstünde AA */
  font: 400 clamp(.9375rem, .85rem + .35vw, 1.125rem)/1.3 var(--inv-font-body); /* #1432: Monoton only on the name; eyebrow uses the body grotesk 15 → 18 */
  letter-spacing: .14em;
  text-transform: var(--inv-display-transform);
  color: var(--inv-accent);
  max-width: 16rem; /* #445: uzun tür cümlesi de neon kemerin içinde kalır */
}
[data-theme="neon-afterhours"] .inv-cover__names {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  column-gap: .2em;
  max-width: 16rem; /* stays inside the neon portal */
  /* görev 669: script ascenders rise ~.2em above the 1.05 line box; keep them clear of the eyebrow */
  margin: .2em 0 0;
  font: 400 clamp(3.75rem, 2.9rem + 3.4vw, 6rem)/1.05 var(--inv-font-script); /* 60 → 96 */
  color: var(--inv-primary);
  filter: drop-shadow(0 0 3px var(--inv-primary)) drop-shadow(0 0 14px color-mix(in srgb, var(--inv-primary) 65%, transparent));
}
[data-theme="neon-afterhours"] .inv-cover__date {
  margin: var(--space-2) 0 0;
  background: color-mix(in srgb, var(--inv-bg) 84%, transparent); padding: var(--space-1) var(--space-3); /* görev 679: görsel üstünde AA */
  /* Monoton is illegible ≤ 18 px: the date uses the body grotesk, uppercase + tracked (README §Tipografi) */
  font: 400 var(--inv-text-date)/1.4 var(--inv-font-body); /* 13 → 15 */
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: clamp(.1em, .06em + .4vw, .18em);
  text-transform: uppercase;
  color: var(--inv-text);
}
[data-theme="neon-afterhours"] .inv-cover__venue {
  margin: 0;
  background: color-mix(in srgb, var(--inv-bg) 84%, transparent); padding: var(--space-1) var(--space-3); /* görev 678: görsel üstünde AA */
  font: 400 1rem/1.5 var(--inv-font-body);
  color: var(--inv-text-muted);
}
[data-theme="neon-afterhours"] .inv-cover__scroll {
  position: absolute;
  left: 50%;
  bottom: 1.2svh;
  translate: -50% 0;
  font: 400 .875rem/1 var(--inv-font-body);
  color: var(--inv-text);
  background: color-mix(in srgb, var(--inv-bg) 84%, transparent); padding: var(--space-1) var(--space-3); /* görev 678: görsel üstünde AA */
}

/* §4.1 (1): page markup wraps the cover text in .inv-cover__content and splits the date into day + time.
   The wrapper is dissolved so the cover grid above places every line itself. */
[data-theme="neon-afterhours"] .inv-cover__content { display: contents; }
[data-theme="neon-afterhours"] .inv-cover__date time { display: block; }
[data-theme="neon-afterhours"] .inv-cover__day { display: block; }
[data-theme="neon-afterhours"] .inv-cover__time { display: block; margin-top: .3em; font-size: var(--inv-text-time-min); color: var(--inv-text-muted); }
[data-theme="neon-afterhours"] .inv-cover__guest, [data-theme="neon-afterhours"] .inv-cover__badge { margin: 0; font: 400 1rem/1.4 var(--inv-font-body); color: var(--inv-text-muted); }
/* Page rules may still reach the cover until page.css scopes them to body:not([data-cover="theme"]) — keep the theme's own flow. */
[data-theme="neon-afterhours"] .inv-cover__names { flex-direction: row; }
@media (min-width: 1024px) { [data-theme="neon-afterhours"] .inv-cover { width: auto; margin-inline: 0; } }

/* #432 D-058: 1440 column is 560x900; the 1120x1800 wall keeps css ratio 2 (780 px phone wall gave 1.39) */
@media (min-width: 1024px) {
  [data-theme="neon-afterhours"] .inv-cover__art {
    background:
      url("art/neon-accents.svg") 50% 50% / contain no-repeat,
      url("art/neon-frame.svg") 50% 50% / contain no-repeat,
      url("art/wall-wide-2x.webp") 50% 50% / cover no-repeat;
  }
}

/* #777 (K-B02/03): Monoton's space glyph is only ~.1em wide, so long lines read as one word.
   The invitation message (up to ~64 characters) uses the body grotesk; the short schedule title keeps Monoton
   with an explicit word gap. Monoton stays on the cover eyebrow and the section eyebrows (≤ 24 characters). */
[data-theme="neon-afterhours"] .inv-message__text {
  font-family: var(--inv-font-body);
  letter-spacing: .01em;
}

/* task 1421: at 1440 the name group (eyebrow + 96 px script in a 16 rem portal) was 422 px tall and ended below 62% of the cover;
   smaller script and a 22svh top start keep it inside the 22-62% band. */
@media (min-width: 1024px) {
  [data-theme="neon-afterhours"] .inv-cover { align-content: start; padding-top: 22svh; }
  [data-theme="neon-afterhours"] .inv-cover__names { font-size: clamp(3.75rem, 3.2rem + 1vw, 4.5rem); }
}

/* Görev 1527: uzun ad (≥ 22 karakter, sayfa data-name-long + --inv-name-chars yazar): her ad tek satıra sığacak boyuta iner, kutu kapak genişliğine açılır; "ad / & / ad" = 3 satır. */
@media (max-width: 47.99rem) {
  [data-theme="neon-afterhours"] .inv-cover__names[data-name-long] { max-width: 100%; font-size: max(26px, calc((100vw - 2 * var(--space-6)) / (var(--inv-name-chars, 17) * .5))); }
  [data-theme="neon-afterhours"] .inv-cover__names[data-name-long] .inv-cover__name { font-size: inherit; }
  /* Task 1536: the long date ("28 AĞUSTOS 2027 · CUMARTESİ") wrapped to 3 lines in tracked capitals; sentence case keeps it at 2. */
  [data-theme="neon-afterhours"] .inv-cover__day { text-transform: none; letter-spacing: .01em; } /* #1641: any date, not only with a long name (28 Ağustos 2027 · Cumartesi = 3 lines in capitals) */
}
