/* ============================================================
   Dijital Davetiye — Ana Stil Dosyası
   Her tema data-theme attribute'u ile CSS değişkenlerini override eder.
   Sinematik kapı animasyonu + hero düzenleri + tema kimlikleri
   ============================================================ */

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Varsayılan tema renkleri (blush garden / krem-altın) */
  --bg:        #fdf9f4;
  --yuzey:     #fff8f0;
  --kart-bg:   #ffffff;
  --on:        #3a2e24;
  --yakin:     #5a4a3a;
  --soluk:     #9a8878;
  --sinir:     #e8ddd0;
  --vurgu:     #c8a86e;
  --vurgu2:    #a8885a;
  --kapi-sol:  #f5e8d8;
  --kapi-sag:  #ede0cc;
  --kapi-kena: #c8a86e;
  --kapi-ic:   #fdf9f4;
  --muhur-bg:  #c8a86e;
  --muhur-on:  #fff8ee;
  --hero-bg:   linear-gradient(180deg, #f5e8d8 0%, #fdf9f4 100%);
  --hero-on:   #3a2e24;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--bg);
  color: var(--on);
  font-family: var(--font-sans);
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
  min-height: 100dvh;
}

/* ── Yazı stili override'ları ── */
[data-font="playfair"]    { --font-serif: 'Playfair Display', Georgia, serif; }
[data-font="lora"]        { --font-serif: 'Lora', Georgia, serif; }
[data-font="raleway"]     { --font-serif: 'Raleway', sans-serif; }
[data-font="great-vibes"] { --font-dekor: 'Great Vibes', cursive; --font-serif: 'Great Vibes', cursive; }
[data-font="montserrat"]  { --font-serif: 'Montserrat', sans-serif; --font-sans: 'Montserrat', sans-serif; }

/* ── TEMA: BLUSH GARDEN ── */
[data-theme="dugon-blushgarden"] {
  --bg: #faf6f0; --yuzey: #fef0e8; --kart-bg: #fff8f4;
  --on: #3d2a22; --yakin: #5c3d30; --soluk: #a07060;
  --sinir: #f0d8cc; --vurgu: #c8826e; --vurgu2: #a86050;
  --kapi-sol: rgba(250,246,240,0.92); --kapi-sag: rgba(248,240,232,0.92); --kapi-kena: #3a3020;
  --muhur-bg: #c8826e; --muhur-on: #fff4f0;
  --hero-bg: linear-gradient(180deg,#f8e0d0 0%,#fdf6f1 60%);
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}

/* ── Blush Garden: kapı arka planı — el yazısı dokusu ── */
[data-theme="dugon-blushgarden"] .kapi-sahnesi {
  background:
    /* El yazısı çizgi dokusu */
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 28px,
      rgba(160,112,96,.07) 28px,
      rgba(160,112,96,.07) 29px
    ),
    /* Hafif eğik not kağıdı hissi */
    repeating-linear-gradient(
      -2deg,
      transparent,
      transparent 60px,
      rgba(200,130,110,.04) 60px,
      rgba(200,130,110,.04) 61px
    ),
    /* Krem zemin */
    linear-gradient(160deg, #fdf8f2 0%, #f8f0e8 40%, #fdf6f0 100%);
}

/* Çiçek aranjmanları — sol üst köşe */
[data-theme="dugon-blushgarden"] .kapi-cicek-sol {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 200px;
  height: 200px;
  background:
    /* Beyaz gül — büyük */
    radial-gradient(ellipse 55px 50px at 60px 70px, rgba(248,242,235,0.95) 0%, rgba(240,228,215,0.8) 40%, transparent 70%),
    /* Pembe gül — orta */
    radial-gradient(ellipse 45px 40px at 120px 55px, rgba(230,185,155,0.9) 0%, rgba(210,160,130,0.7) 45%, transparent 70%),
    /* Yapraklar */
    radial-gradient(ellipse 30px 20px at 40px 120px, rgba(180,200,160,0.6) 0%, transparent 70%),
    radial-gradient(ellipse 25px 18px at 90px 130px, rgba(160,185,140,0.5) 0%, transparent 70%),
    radial-gradient(ellipse 20px 15px at 150px 90px, rgba(170,190,150,0.5) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}

/* Çiçek aranjmanları — sağ üst köşe */
[data-theme="dugon-blushgarden"] .kapi-cicek-sag {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 200px;
  height: 200px;
  background:
    radial-gradient(ellipse 50px 45px at 130px 65px, rgba(230,185,155,0.9) 0%, rgba(210,160,130,0.7) 40%, transparent 70%),
    radial-gradient(ellipse 40px 38px at 75px 50px,  rgba(248,242,235,0.9) 0%, rgba(240,228,215,0.8) 45%, transparent 70%),
    radial-gradient(ellipse 28px 20px at 160px 120px, rgba(180,200,160,0.6) 0%, transparent 70%),
    radial-gradient(ellipse 22px 16px at 110px 125px, rgba(160,185,140,0.5) 0%, transparent 70%),
    radial-gradient(ellipse 18px 14px at 50px 100px,  rgba(170,190,150,0.5) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}

/* Düğün kemeri — ortada soluk çizim efekti */
[data-theme="dugon-blushgarden"] .kapi-kemer {
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 160px;
  height: 120px;
  border-top: 1.5px solid rgba(160,112,96,.2);
  border-left: 1px solid rgba(160,112,96,.12);
  border-right: 1px solid rgba(160,112,96,.12);
  border-radius: 80px 80px 0 0;
  pointer-events: none;
  z-index: 1;
}
[data-theme="dugon-blushgarden"] .kapi-kemer::before {
  content: '';
  position: absolute;
  top: 15px; left: 15px; right: 15px;
  height: 90px;
  border-top: 1px solid rgba(160,112,96,.12);
  border-left: 1px solid rgba(160,112,96,.08);
  border-right: 1px solid rgba(160,112,96,.08);
  border-radius: 60px 60px 0 0;
}

/* SVG parmaklık rengi Blush Garden için */
[data-theme="dugon-blushgarden"] .demir-parmaklik line,
[data-theme="dugon-blushgarden"] .demir-parmaklik path,
[data-theme="dugon-blushgarden"] .demir-parmaklik polygon {
  stroke: #2a2018;
}
[data-theme="dugon-blushgarden"] .demir-parmaklik polygon {
  fill: #2a2018;
}

/* Kapı kanatları — saydam, sadece SVG görünsün */
[data-theme="dugon-blushgarden"] .kapi-sol,
[data-theme="dugon-blushgarden"] .kapi-sag {
  background: transparent;
  border-color: rgba(42,32,24,.15);
}
[data-theme="dugon-blushgarden"] .kapi-sol::before,
[data-theme="dugon-blushgarden"] .kapi-sag::before {
  display: none; /* SVG var, texture gereksiz */
}

/* ── TEMA: AFTER DARK ── */
[data-theme="dugon-afterdark"] {
  --bg: #0e0e18; --yuzey: #161628; --kart-bg: #1c1c30;
  --on: #e8e0f8; --yakin: #c8c0e8; --soluk: #8878a8;
  --sinir: #2c2c48; --vurgu: #9878d8; --vurgu2: #7858b8;
  --kapi-sol: #181828; --kapi-sag: #141420; --kapi-kena: #9878d8;
  --muhur-bg: #9878d8; --muhur-on: #0e0e18;
  --hero-bg: linear-gradient(180deg,#181828 0%,#0e0e18 100%);
  --hero-on: #e8e0f8;
}

/* ── TEMA: EDITORIAL / SUNDAY PAPER ── */
[data-theme="dugon-editorial"] {
  --bg: #f5f0e8; --yuzey: #ede8e0; --kart-bg: #faf8f4;
  --on: #1a1410; --yakin: #3a3028; --soluk: #8a7868;
  --sinir: #d8d0c0; --vurgu: #c04030; --vurgu2: #a03020;
  --kapi-sol: #ede8e0; --kapi-sag: #e5e0d8; --kapi-kena: #c04030;
  --muhur-bg: #1a1410; --muhur-on: #f5f0e8;
  --hero-bg: linear-gradient(180deg,#ede8e0 0%,#f5f0e8 100%);
}

/* ── TEMA: ORANGERIE ── */
[data-theme="dugon-orangerie"] {
  --bg: #e8edcc; --yuzey: #dde5b8; --kart-bg: #f0f5d8;
  --on: #2a3418; --yakin: #3a4828; --soluk: #6a7850;
  --sinir: #c8d8a0; --vurgu: #5a7838; --vurgu2: #486030;
  --kapi-sol: #dde5b8; --kapi-sag: #d0d8a8; --kapi-kena: #5a7838;
  --muhur-bg: #2a3418; --muhur-on: #e8edcc;
  --hero-bg: linear-gradient(180deg,#dde5b8 0%,#e8edcc 100%);
}

/* ── TEMA: ATELIER ── */
[data-theme="dugon-atelier"] {
  --bg: #f8f0e4; --yuzey: #f0e4d0; --kart-bg: #fff8ee;
  --on: #2e2018; --yakin: #4a3828; --soluk: #9a7858;
  --sinir: #e0c8a8; --vurgu: #b88848; --vurgu2: #987030;
  --kapi-sol: #f0e4d0; --kapi-sag: #e8d8c0; --kapi-kena: #b88848;
  --muhur-bg: #b88848; --muhur-on: #fff8ee;
  --hero-bg: linear-gradient(180deg,#f0e4d0 0%,#f8f0e4 100%);
}

/* ── TEMA: CARMINE KINA ── */
[data-theme="dugon-carmine"] {
  --bg: #1a0808; --yuzey: #280e0e; --kart-bg: #301010;
  --on: #f8e8d8; --yakin: #e8c8a8; --soluk: #c08060;
  --sinir: #481818; --vurgu: #c86040; --vurgu2: #a84020;
  --kapi-sol: #200a0a; --kapi-sag: #1a0808; --kapi-kena: #c86040;
  --muhur-bg: #c86040; --muhur-on: #1a0808;
  --hero-bg: linear-gradient(180deg,#200a0a 0%,#1a0808 100%);
  --hero-on: #f8e8d8;
}

/* ── TEMA: MOONLIT VOW ── */
[data-theme="dugon-moonlit"] {
  --bg: #0e1828; --yuzey: #141e30; --kart-bg: #182438;
  --on: #d8e8f8; --yakin: #b0c8e0; --soluk: #7090a8;
  --sinir: #243040; --vurgu: #c0d8f0; --vurgu2: #90b8d8;
  --kapi-sol: #141e30; --kapi-sag: #0e1828; --kapi-kena: #c0d8f0;
  --muhur-bg: #c0d8f0; --muhur-on: #0e1828;
  --hero-bg: linear-gradient(180deg,#141e30 0%,#0e1828 100%);
  --hero-on: #d8e8f8;
}

/* ── TEMA: RIVIERA ── */
[data-theme="dugon-riviera"] {
  --bg: #e8f4f0; --yuzey: #d8eee8; --kart-bg: #f0f8f5;
  --on: #183028; --yakin: #284840; --soluk: #608870;
  --sinir: #b0d8c8; --vurgu: #e09848; --vurgu2: #c07830;
  --kapi-sol: #d8eee8; --kapi-sag: #c8e4dc; --kapi-kena: #e09848;
  --muhur-bg: #e09848; --muhur-on: #183028;
  --hero-bg: linear-gradient(180deg,#d8eee8 0%,#e8f4f0 100%);
}

/* ── TEMA: NISAN: ROSE LETTER ── */
[data-theme="nisan-roseletter"] {
  --bg: #fef4f0; --yuzey: #fde8e4; --kart-bg: #fff8f6;
  --on: #3a1820; --yakin: #5a2830; --soluk: #b08090;
  --sinir: #f0c8d0; --vurgu: #d87890; --vurgu2: #b85878;
  --kapi-sol: #fde8e4; --kapi-sag: #f8d8dc; --kapi-kena: #d87890;
  --muhur-bg: #d87890; --muhur-on: #fff8f6;
  --hero-bg: linear-gradient(180deg,#fde8e4 0%,#fef4f0 100%);
}

/* ── TEMA: NISAN: LILAC ROOM ── */
[data-theme="nisan-lilacroom"] {
  --bg: #f4f0fc; --yuzey: #e8e0f8; --kart-bg: #faf8fe;
  --on: #241838; --yakin: #382850; --soluk: #8870b0;
  --sinir: #d8c8f0; --vurgu: #9070c8; --vurgu2: #7050b0;
  --kapi-sol: #e8e0f8; --kapi-sag: #dcd0f0; --kapi-kena: #9070c8;
  --muhur-bg: #9070c8; --muhur-on: #faf8fe;
  --hero-bg: linear-gradient(180deg,#e8e0f8 0%,#f4f0fc 100%);
}

/* ── TEMA: DOĞUM GÜNÜ: CITRUS ── */
[data-theme="dogum-citrusclub"] {
  --bg: #fffbe8; --yuzey: #fff8d0; --kart-bg: #fffef8;
  --on: #2a2010; --yakin: #3a3018; --soluk: #908060;
  --sinir: #f0e098; --vurgu: #e89830; --vurgu2: #c07818;
  --kapi-sol: #fff8d0; --kapi-sag: #fef0b8; --kapi-kena: #e89830;
  --muhur-bg: #e89830; --muhur-on: #fffbe8;
  --hero-bg: linear-gradient(180deg,#fff8d0 0%,#fffbe8 100%);
}

/* ── TEMA: DOĞUM GÜNÜ: CONFETTİ NIGHT ── */
[data-theme="dogum-confettinight"] {
  --bg: #1c1830; --yuzey: #242038; --kart-bg: #2c2840;
  --on: #f8e8f8; --yakin: #e0c8e0; --soluk: #a080a0;
  --sinir: #3c3050; --vurgu: #e070c0; --vurgu2: #c050a0;
  --kapi-sol: #1c1830; --kapi-sag: #181428; --kapi-kena: #e070c0;
  --muhur-bg: #e070c0; --muhur-on: #1c1830;
  --hero-bg: linear-gradient(180deg,#242038 0%,#1c1830 100%);
  --hero-on: #f8e8f8;
}

/* ── TEMA: ASKER: MEKTUP ── */
[data-theme="asker-mektup"] {
  --bg: #f0ede0; --yuzey: #e8e4d4; --kart-bg: #f8f5e8;
  --on: #281e10; --yakin: #3a2e1c; --soluk: #8a7858;
  --sinir: #d0c8a8; --vurgu: #6a7848; --vurgu2: #4a5830;
  --kapi-sol: #e8e4d4; --kapi-sag: #e0d8c8; --kapi-kena: #6a7848;
  --muhur-bg: #4a5830; --muhur-on: #f0ede0;
  --hero-bg: linear-gradient(180deg,#e8e4d4 0%,#f0ede0 100%);
}

/* ── Renk paleti override'ları (data-paleti) ── */
[data-paleti="gece"] {
  --bg:#1a1a2e; --yuzey:#16213e; --kart-bg:#0f3460;
  --on:#e0e0ff; --yakin:#c0c0e8; --soluk:#8080b0;
  --sinir:#2a2a5e; --vurgu:#c8a86e; --vurgu2:#a88848;
  --kapi-sol:#16213e; --kapi-sag:#1a1a2e; --kapi-kena:#c8a86e;
  --muhur-bg:#c8a86e; --muhur-on:#1a1a2e;
  --hero-bg:linear-gradient(180deg,#16213e 0%,#1a1a2e 100%);
  --hero-on:#e0e0ff;
}
[data-paleti="gul-pembe"] {
  --bg:#fdf6f9; --yuzey:#faeaf0; --kart-bg:#fff4f7;
  --on:#3a1828; --soluk:#c080a0; --sinir:#f0c8d8;
  --vurgu:#d4859e; --vurgu2:#b06080;
  --kapi-kena:#d4859e; --muhur-bg:#d4859e;
}
[data-paleti="lacivert"] {
  --bg:#f0f4fc; --yuzey:#e0e8f8; --kart-bg:#f8faff;
  --on:#1a2848; --soluk:#6070a0; --sinir:#c0d0e8;
  --vurgu:#3a5080; --vurgu2:#2a3868;
  --kapi-kena:#3a5080; --muhur-bg:#3a5080; --muhur-on:#f8faff;
}
[data-paleti="adacayi"] {
  --bg:#f3f7f4; --yuzey:#e8f0ea; --kart-bg:#f8fbf8;
  --on:#1a3020; --soluk:#608070; --sinir:#c0d8c8;
  --vurgu:#6a9e7f; --vurgu2:#4a7e5f;
  --kapi-kena:#6a9e7f; --muhur-bg:#6a9e7f;
}
[data-paleti="terra"] {
  --bg:#fdf4ef; --yuzey:#f5e8e0; --kart-bg:#fff8f4;
  --on:#2a1808; --soluk:#a06040; --sinir:#e8c8b0;
  --vurgu:#c06b3a; --vurgu2:#a05020;
  --kapi-kena:#c06b3a; --muhur-bg:#c06b3a;
}
[data-paleti="bordo"] {
  --bg:#fdf4f5; --yuzey:#f8e8ea; --kart-bg:#fff8f9;
  --on:#2a0810; --soluk:#a04050; --sinir:#e8c0c8;
  --vurgu:#8c1c2e; --vurgu2:#6a0e1e;
  --kapi-kena:#8c1c2e; --muhur-bg:#8c1c2e; --muhur-on:#fff8f9;
}
[data-paleti="mint"] {
  --bg:#f2faf7; --yuzey:#e0f5ec; --kart-bg:#f8fefc;
  --on:#0a2820; --soluk:#408870; --sinir:#a8e0c8;
  --vurgu:#3a9e7e; --vurgu2:#207858;
  --kapi-kena:#3a9e7e; --muhur-bg:#3a9e7e;
}
[data-paleti="lila"] {
  --bg:#f8f4fd; --yuzey:#ede0f8; --kart-bg:#fdf8ff;
  --on:#200838; --soluk:#8060b0; --sinir:#d8c0f0;
  --vurgu:#9b6abf; --vurgu2:#7848a0;
  --kapi-kena:#9b6abf; --muhur-bg:#9b6abf;
}
[data-paleti="sampanya"] {
  --bg:#fdf9f0; --yuzey:#f8f0dc; --kart-bg:#fffdf8;
  --on:#201808; --soluk:#907840; --sinir:#e8d8a0;
  --vurgu:#c8a050; --vurgu2:#a07830;
  --kapi-kena:#c8a050; --muhur-bg:#c8a050;
}
[data-paleti="altin"] {
  --bg:#1c1a14; --yuzey:#242018; --kart-bg:#2c2820;
  --on:#f8e8c0; --yakin:#e8c890; --soluk:#b09050;
  --sinir:#3c3828; --vurgu:#d4a830; --vurgu2:#b08820;
  --kapi-sol:#242018; --kapi-sag:#1c1a14; --kapi-kena:#d4a830;
  --muhur-bg:#d4a830; --muhur-on:#1c1a14;
  --hero-bg:linear-gradient(180deg,#242018 0%,#1c1a14 100%);
  --hero-on:#f8e8c0;
}

/* ════════════════════════════════════════════════════════════
   KAPI ANİMASYONU — Sinematik zarf kapısı
   ════════════════════════════════════════════════════════════ */

.kapi-sahnesi {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  cursor: pointer;
  overflow: hidden;
  transition: opacity .6s ease, visibility .6s ease;
}
.kapi-sahnesi.kapali {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Arka plan katmanı (çiçekler, kemer) */
.kapi-arka-plan {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.kapi-ciceк { position: absolute; pointer-events: none; }

/* İki kanatlı kapı */
.kapi-cerceve {
  position: relative;
  width: min(380px, 92vw);
  height: min(560px, 90dvh);
  display: flex;
  align-items: stretch;
  filter: drop-shadow(0 8px 32px rgba(0,0,0,.12));
  z-index: 2;
}

.kapi-sol,
.kapi-sag {
  flex: 1;
  position: relative;
  transition: transform 1.1s cubic-bezier(.77,0,.18,1);
  will-change: transform;
  border: 1.5px solid var(--kapi-kena);
  overflow: hidden;
}
.kapi-sol {
  background: var(--kapi-sol);
  transform-origin: left center;
  border-right: none;
  border-radius: 6px 0 0 0;
}
.kapi-sag {
  background: var(--kapi-sag);
  transform-origin: right center;
  border-left: none;
  border-radius: 0 6px 0 0;
}

/* SVG parmaklık — kapı kanat içi */
.demir-parmaklik {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .85;
}

/* Üst yazı */
.kapi-ust-yazi {
  position: absolute;
  top: 1.4rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--soluk);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 10;
}

/* Kanat dokusu — varsayılan: ince dikey çizgiler */
.kapi-sol::before,
.kapi-sag::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 24px,
    rgba(0,0,0,.03) 24px,
    rgba(0,0,0,.03) 25px
  );
}

/* ── TEMA ÖZEL KAPI DOKULARI ── */

/* After Dark: yıldız tozu parıltısı */
[data-theme="dugon-afterdark"] .kapi-sol::before,
[data-theme="dugon-afterdark"] .kapi-sag::before,
[data-theme="dugon-moonlit"] .kapi-sol::before,
[data-theme="dugon-moonlit"] .kapi-sag::before,
[data-theme="dogum-confettinight"] .kapi-sol::before,
[data-theme="dogum-confettinight"] .kapi-sag::before {
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.15) 1px, transparent 1px),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.10) 1px, transparent 1px),
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.08) 1px, transparent 1px),
    radial-gradient(circle at 30% 80%, rgba(255,255,255,.12) 1px, transparent 1px),
    radial-gradient(circle at 70% 40%, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 60px 60px, 80px 80px, 40px 40px, 70px 70px, 50px 50px;
}

/* Orangerie: yaprak damar dokusu */
[data-theme="dugon-orangerie"] .kapi-sol::before,
[data-theme="dugon-orangerie"] .kapi-sag::before {
  background:
    repeating-linear-gradient(160deg, transparent, transparent 18px, rgba(90,120,56,.07) 18px, rgba(90,120,56,.07) 19px),
    repeating-linear-gradient(20deg,  transparent, transparent 18px, rgba(90,120,56,.05) 18px, rgba(90,120,56,.05) 19px);
}

/* Editorial: gazete kolon çizgisi */
[data-theme="dugon-editorial"] .kapi-sol::before,
[data-theme="dugon-editorial"] .kapi-sag::before {
  background:
    repeating-linear-gradient(90deg, transparent, transparent 48px, rgba(0,0,0,.06) 48px, rgba(0,0,0,.06) 50px),
    repeating-linear-gradient(0deg,  transparent, transparent 32px, rgba(0,0,0,.03) 32px, rgba(0,0,0,.03) 33px);
}

/* Carmine / Kına: altın dantel motifi */
[data-theme="dugon-carmine"] .kapi-sol::before,
[data-theme="dugon-carmine"] .kapi-sag::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 8px, rgba(200,96,64,.15) 8px, rgba(200,96,64,.15) 9px, transparent 9px),
    radial-gradient(circle at 0% 0%,   transparent 8px, rgba(200,96,64,.10) 8px, rgba(200,96,64,.10) 9px, transparent 9px);
  background-size: 32px 32px, 32px 32px;
  background-position: 0 0, 16px 16px;
}

/* Atelier: kağıt lifi dokusu */
[data-theme="dugon-atelier"] .kapi-sol::before,
[data-theme="dugon-atelier"] .kapi-sag::before {
  background:
    repeating-linear-gradient(0deg,   transparent, transparent 3px, rgba(0,0,0,.02) 3px, rgba(0,0,0,.02) 4px),
    repeating-linear-gradient(90deg,  transparent, transparent 3px, rgba(0,0,0,.015) 3px, rgba(0,0,0,.015) 4px);
}

/* Riviera: dalga çizgisi */
[data-theme="dugon-riviera"] .kapi-sol::before,
[data-theme="dugon-riviera"] .kapi-sag::before {
  background: repeating-linear-gradient(
    -45deg,
    transparent, transparent 12px,
    rgba(96,184,191,.08) 12px, rgba(96,184,191,.08) 13px
  );
}

/* Asker: kamuflaj benzeri diagonal */
[data-theme="asker-mektup"] .kapi-sol::before,
[data-theme="asker-mektup"] .kapi-sag::before {
  background:
    repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(74,88,48,.06) 10px, rgba(74,88,48,.06) 20px),
    repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(74,88,48,.04) 10px, rgba(74,88,48,.04) 20px);
}

/* ── TEMA ÖZEL HERO DÜZENLERI ── */

/* Editorial: siyah-beyaz gazete hissi — isim sol hizalı, büyük */
[data-theme="dugon-editorial"] .hero-bolum {
  background: var(--hero-bg);
  align-items: flex-end;
  padding-bottom: 4rem;
}
[data-theme="dugon-editorial"] .hero-metin {
  text-align: left;
  padding: 2rem;
  color: var(--on);
}
[data-theme="dugon-editorial"] .hero-isim {
  font-size: clamp(3rem, 12vw, 6rem);
  font-weight: 700;
  color: var(--on);
  text-shadow: none;
  line-height: .95;
  border-top: 4px solid var(--vurgu);
  padding-top: .6rem;
}
[data-theme="dugon-editorial"] .hero-kicker { color: var(--vurgu); }
[data-theme="dugon-editorial"] .hero-overlay { display: none; }

/* Orangerie: botanik bahçe hissi — merkezi, hafif yeşil sis */
[data-theme="dugon-orangerie"] .hero-overlay {
  background: linear-gradient(180deg, rgba(42,52,24,.05) 0%, rgba(42,52,24,.45) 100%);
}
[data-theme="dugon-orangerie"] .hero-bolum {
  background: var(--hero-bg);
}

/* After Dark / Moonlit / Carmine: koyu arka plan, isim parlak */
[data-theme="dugon-afterdark"] .hero-metin,
[data-theme="dugon-moonlit"] .hero-metin,
[data-theme="dugon-carmine"] .hero-metin,
[data-theme="dogum-confettinight"] .hero-metin {
  color: var(--on);
}
[data-theme="dugon-afterdark"] .hero-overlay {
  background: linear-gradient(180deg, rgba(14,14,24,.3) 0%, rgba(14,14,24,.7) 100%);
}
[data-theme="dugon-moonlit"] .hero-overlay {
  background: linear-gradient(180deg, rgba(14,24,40,.2) 0%, rgba(14,24,40,.65) 100%);
}
[data-theme="dugon-carmine"] .hero-overlay {
  background: linear-gradient(180deg, rgba(26,8,8,.4) 0%, rgba(26,8,8,.75) 100%);
}
[data-theme="dugon-carmine"] .hero-isim {
  color: var(--vurgu);
  text-shadow: 0 2px 24px rgba(200,96,64,.4);
}

/* Riviera: akdeniz açık, pastel */
[data-theme="dugon-riviera"] .hero-overlay {
  background: linear-gradient(180deg, rgba(24,48,40,.05) 0%, rgba(24,48,40,.4) 100%);
}

/* ── BLUSH GARDEN: İçerik sayfası — el yazısı zemin, çiçekler, koyu metin ── */

/* Hero: foto yoksa el yazısı zemin kullan */
[data-theme="dugon-blushgarden"] .hero-bolum {
  background:
    /* El yazısı çizgi dokusu */
    repeating-linear-gradient(
      0deg,
      transparent, transparent 28px,
      rgba(160,112,96,.06) 28px, rgba(160,112,96,.06) 29px
    ),
    repeating-linear-gradient(
      -1.5deg,
      transparent, transparent 56px,
      rgba(180,130,110,.035) 56px, rgba(180,130,110,.035) 57px
    ),
    linear-gradient(160deg, #fdf8f2 0%, #f8f0e8 50%, #fdf6f0 100%);
  min-height: 100vh;
  min-height: 100dvh;
}

/* Foto varsa üstüne el yazısı dokusu bindiriyoruz */
[data-theme="dugon-blushgarden"] .hero-foto {
  opacity: 1;
  mix-blend-mode: normal;
}

/* Overlay: neredeyse şeffaf — foto karanlığı istemiyoruz */
[data-theme="dugon-blushgarden"] .hero-overlay {
  background: linear-gradient(180deg, rgba(253,248,242,.0) 0%, rgba(248,240,232,.15) 100%);
}

/* Metin rengi: koyu kahve (beyaz değil) */
[data-theme="dugon-blushgarden"] .hero-metin {
  color: var(--on);
}
[data-theme="dugon-blushgarden"] .hero-kicker {
  color: var(--soluk);
  opacity: 1;
}
[data-theme="dugon-blushgarden"] .hero-isim {
  color: var(--on);
  text-shadow: none;
}
[data-theme="dugon-blushgarden"] .hero-tarih {
  color: var(--yakin);
}

/* Geri sayım renkleri */
[data-theme="dugon-blushgarden"] .geri-sayim-sayi {
  color: var(--vurgu);
}
[data-theme="dugon-blushgarden"] .geri-sayim-etiket {
  color: var(--soluk);
}

/* Sol üst çiçek aranjmanı — pseudo element ile */
[data-theme="dugon-blushgarden"] .hero-bolum::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 260px; height: 260px;
  background:
    radial-gradient(ellipse 65px 58px at 70px 80px,  rgba(248,242,235,.98) 0%, rgba(238,222,208,.85) 45%, transparent 70%),
    radial-gradient(ellipse 52px 48px at 140px 65px, rgba(228,185,158,.95) 0%, rgba(208,158,132,.75) 45%, transparent 70%),
    radial-gradient(ellipse 38px 28px at 50px 150px, rgba(175,200,155,.65) 0%, transparent 70%),
    radial-gradient(ellipse 30px 22px at 110px 148px,rgba(158,185,138,.55) 0%, transparent 70%),
    radial-gradient(ellipse 24px 18px at 175px 100px,rgba(168,190,148,.5)  0%, transparent 70%),
    radial-gradient(ellipse 20px 14px at 30px 200px, rgba(158,185,138,.4)  0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}

/* Sağ üst çiçek aranjmanı */
[data-theme="dugon-blushgarden"] .hero-bolum::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 260px; height: 260px;
  background:
    radial-gradient(ellipse 58px 52px at 185px 75px, rgba(228,185,158,.95) 0%, rgba(208,158,132,.75) 45%, transparent 70%),
    radial-gradient(ellipse 50px 46px at 115px 60px, rgba(248,242,235,.95) 0%, rgba(238,222,208,.85) 45%, transparent 70%),
    radial-gradient(ellipse 34px 26px at 210px 148px,rgba(175,200,155,.65) 0%, transparent 70%),
    radial-gradient(ellipse 28px 20px at 148px 150px,rgba(158,185,138,.55) 0%, transparent 70%),
    radial-gradient(ellipse 22px 16px at 80px 110px, rgba(168,190,148,.5)  0%, transparent 70%),
    radial-gradient(ellipse 18px 13px at 230px 200px,rgba(158,185,138,.4)  0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}

/* Düğün kemeri — hero ortasında soluk çizim */
[data-theme="dugon-blushgarden"] .hero-metin::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -60%);
  width: 200px; height: 150px;
  border-top: 1.5px solid rgba(160,112,96,.18);
  border-left: 1px solid rgba(160,112,96,.12);
  border-right: 1px solid rgba(160,112,96,.12);
  border-radius: 100px 100px 0 0;
  pointer-events: none;
  z-index: 0;
}
[data-theme="dugon-blushgarden"] .hero-metin {
  position: relative;
}

/* Doğum günü: neşeli */
[data-theme="dogum-citrusclub"] .hero-overlay {
  background: linear-gradient(180deg, rgba(42,32,16,.05) 0%, rgba(42,32,16,.4) 100%);
}
[data-theme="dogum-confettinight"] .hero-overlay {
  background: linear-gradient(180deg, rgba(28,24,48,.3) 0%, rgba(28,24,48,.7) 100%);
}
[data-theme="dogum-confettinight"] .hero-isim {
  color: var(--vurgu);
  text-shadow: 0 0 32px rgba(224,112,192,.5);
}

/* Nişan temalar */
[data-theme="nisan-lilacroom"] .hero-overlay {
  background: linear-gradient(180deg, rgba(36,24,56,.08) 0%, rgba(36,24,56,.5) 100%);
}

/* Kapı açılma animasyonu */
.kapi-sahnesi.aciliyor .kapi-sol {
  transform: perspective(900px) rotateY(-105deg);
}
.kapi-sahnesi.aciliyor .kapi-sag {
  transform: perspective(900px) rotateY(105deg);
}

/* Mühür */
.muhur {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  background: var(--muhur-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--muhur-on);
  z-index: 10;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  letter-spacing: .05em;
  animation: muhur-nefes 2.8s ease-in-out infinite;
}
@keyframes muhur-nefes {
  0%, 100% { box-shadow: 0 4px 16px rgba(0,0,0,.2), 0 0 0 0 rgba(200,168,110,.4); }
  50%       { box-shadow: 0 4px 24px rgba(0,0,0,.25), 0 0 0 10px rgba(200,168,110,.0); }
}

/* Zarf notu */
.zarf-notu {
  position: absolute;
  bottom: 3.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-dekor);
  font-size: 1.05rem;
  color: var(--soluk);
  white-space: nowrap;
  z-index: 10;
  opacity: .85;
  text-align: center;
}

/* Alt ok */
.kapi-alt {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  font-family: var(--font-sans);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--soluk);
  z-index: 10;
  animation: asagi-salla 1.6s ease-in-out infinite;
}
.kapi-alt svg { width:44px;height:44px;opacity:.6; }
@keyframes asagi-salla {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(5px); }
}

/* Partikül arka planı kapı arkasında */
.kapi-sahnesi::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 60%, rgba(200,168,110,.12) 0%, transparent 70%);
  pointer-events: none;
}

/* ════════════════════════════════════════════════════════════
   DAVETİYE İÇERİĞİ
   ════════════════════════════════════════════════════════════ */

.davet-icerik {
  max-width: 560px;
  margin: 0 auto;
  padding: 0 0 4rem;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s ease .3s, transform .8s ease .3s;
}
.davet-icerik.gorunum {
  opacity: 1;
  transform: translateY(0);
}

/* ── HERO ── */
.hero-bolum {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--hero-bg);
}

.hero-foto {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.hero-foto-yok {
  position: absolute;
  inset: 0;
  background: var(--hero-bg);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.35) 50%,
    rgba(0,0,0,.65) 100%
  );
}

.hero-metin {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 2rem 1.5rem;
  color: var(--hero-on, var(--on));
}

.hero-kicker {
  display: block;
  font-family: var(--font-sans);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .25em;
  text-transform: uppercase;
  opacity: .85;
  margin-bottom: 1.2rem;
}

.hero-isim {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 10vw, 5rem);
  font-weight: 600;
  line-height: 1.05;
  margin-bottom: 1rem;
  text-shadow: 0 2px 16px rgba(0,0,0,.3);
}

.hero-tarih {
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .12em;
  opacity: .9;
  margin-bottom: 1.5rem;
}

/* Geri sayım */
.geri-sayim {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  flex-wrap: wrap;
}
.geri-sayim-birim {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  background: color-mix(in srgb, currentColor 12%, transparent);
  backdrop-filter: blur(8px);
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: 12px;
  padding: .7rem .9rem;
  min-width: 64px;
}
.geri-sayim-sayi {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: inherit;
  text-shadow: 0 1px 10px color-mix(in srgb, var(--bg) 70%, transparent);
}
.geri-sayim-etiket {
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .88;
  color: inherit;
}

/* ── Bölüm Genel ── */
.bolum {
  padding: 3.5rem 1.5rem;
  text-align: center;
  border-bottom: 1px solid var(--sinir);
}
.bolum:last-of-type { border-bottom: none; }

.bolum-etiket {
  display: inline-block;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--vurgu);
  margin-bottom: .75rem;
}

.bolum-baslik {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 5vw, 2.2rem);
  font-weight: 600;
  color: var(--on);
  line-height: 1.25;
  margin-bottom: 1.2rem;
}

/* ── Davet Metni ── */
.davet-metni {
  font-size: .95rem;
  line-height: 1.75;
  color: var(--yakin);
  max-width: 420px;
  margin: 0 auto 1rem;
}
.aile-metni {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--soluk);
  margin-top: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .3rem .65rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.45;
}
.aile-adi { min-width: 0; overflow-wrap: anywhere; color: var(--yakin); }
.aile-ayrac { flex: 0 0 auto; color: var(--vurgu); font-style: normal; }

/* ── Hikaye ── */
.hikaye-bolum { background: var(--yuzey); }
.hikaye-metin {
  font-size: .92rem;
  line-height: 1.8;
  color: var(--yakin);
  max-width: 440px;
  margin: 0 auto;
  text-align: left;
}

/* ── Galeri Slayt ── */
.galeri-bolum { padding: 3rem 0; }
.slayt-cerceve {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  width: min(560px, calc(100% - 3rem));
  margin: 0 auto;
  aspect-ratio: 3/4;
  background: var(--yuzey);
}
.slayt-sarici {
  display: flex;
  height: 100%;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.slayt-slayt {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
.slayt-foto {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.slayt-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.85);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* Mühür, zarf kapağının ve dinamik yazının üzerinde görünmelidir. */
  z-index: 30;
  transition: background .2s;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.slayt-btn:hover { background: #fff; }
.slayt-onceki { left: .75rem; }
.slayt-sonraki { right: .75rem; }
.slayt-noktalar {
  position: absolute;
  bottom: .75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .4rem;
}
.slayt-nokta {
  position: relative;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background .2s, transform .2s;
  padding: 0;
}
.slayt-nokta::after {
  content: '';
  position: absolute;
  width: 8px; height: 8px;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: rgba(255,255,255,.68);
}
.slayt-nokta.aktif {
  background: transparent;
  transform: scale(1.3);
}
.slayt-nokta.aktif::after { background:#fff; }

/* ── Etkinlik Kartları ── */
.etkinlik-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  padding: 2.5rem 1.5rem;
}
.etkinlik-kart {
  background: var(--kart-bg);
  border: 1px solid var(--sinir);
  border-radius: 16px;
  padding: 1.5rem 1.2rem;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
.etkinlik-kart:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.etkinlik-ikon { font-size: 2rem; margin-bottom: .75rem; line-height: 1; }
.etkinlik-tip {
  font-family: var(--font-sans);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--vurgu);
  margin-bottom: .5rem;
}
.etkinlik-tarih {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--on);
  margin-bottom: .4rem;
  line-height: 1.3;
}
.etkinlik-mekan {
  font-size: .88rem;
  font-weight: 700;
  color: var(--yakin);
  margin-bottom: .25rem;
}
.etkinlik-adres {
  font-size: .78rem;
  color: var(--soluk);
  line-height: 1.4;
}
.harita-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .75rem;
  font-size: .75rem;
  font-weight: 700;
  color: var(--vurgu);
  text-decoration: none;
  border: 1.5px solid var(--vurgu);
  border-radius: 20px;
  min-height: 44px;
  padding: .55rem .85rem;
  transition: all .2s;
}
.harita-link:hover { background: var(--vurgu); color: #fff; }

/* ── Harita ── */
.harita-bolum { padding: 3rem 1.5rem; }
.harita-cerceve {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--sinir);
  height: 260px;
  margin-top: 1rem;
}
.harita-cerceve iframe { width: 100%; height: 100%; border: none; }
.harita-dis-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .75rem;
  font-size: .8rem;
  font-weight: 700;
  color: var(--vurgu);
  text-decoration: none;
  min-height: 44px;
  padding: .55rem .4rem;
}
.harita-dis-link:hover { text-decoration: underline; }

/* ── Program ── */
.program-listesi {
  list-style: none;
  max-width: 400px;
  margin: 0 auto;
  text-align: left;
}
.program-adim {
  display: grid;
  grid-template-columns: 16px 60px 1fr;
  gap: .5rem;
  align-items: start;
  padding: .65rem 0;
  border-bottom: 1px solid var(--sinir);
  font-size: .88rem;
}
.program-adim:last-child { border-bottom: none; }
.program-nokta {
  width: 8px; height: 8px;
  background: var(--vurgu);
  border-radius: 50%;
  margin-top: .35rem;
}
.program-saat { font-weight: 800; color: var(--vurgu); font-size: .8rem; }
.program-aciklama { color: var(--yakin); }
.program-aciklama--tam {
  grid-column: 1 / -1;
  color: var(--yakin);
}

/* ── Aksiyon butonları ── */
.aksiyon-bolum {
  display: flex;
  gap: .75rem;
  justify-content: center;
  flex-wrap: wrap;
  padding: 2.5rem 1.5rem;
}
.takvim-btn, .wa-btn, .paylasim-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.3rem;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
}
.takvim-btn {
  background: var(--kart-bg);
  border: 1.5px solid var(--sinir);
  color: var(--yakin);
}
.takvim-btn:hover { border-color: var(--vurgu); color: var(--vurgu); }
.wa-btn {
  background: #0b7a3e;
  border: none;
  color: #fff;
}
.wa-btn:hover { background: #075f30; }
.paylasim-btn {
  background: var(--kart-bg);
  border: 1.5px solid var(--sinir);
  color: var(--yakin);
}
.paylasim-btn:hover { border-color: var(--vurgu); color: var(--vurgu); }

/* ── RSVP / LCV ── */
.lcv-bolum {
  padding: 3rem 1.5rem;
  background: var(--yuzey);
  border-top: 1px solid var(--sinir);
}
.lcv-baslik {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem,5vw,2rem);
  font-weight: 600;
  color: var(--on);
  text-align: center;
  margin-bottom: 1.5rem;
}
.lcv-form { max-width: 420px; margin: 0 auto; }
.form-satir {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}
@media(max-width:480px){ .form-satir { grid-template-columns: 1fr; } }
.form-grup { margin-bottom: .85rem; }
.form-grup label {
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--on);
  margin-bottom: .3rem;
}
.form-grup input,
.form-grup select,
.form-grup textarea {
  width: 100%;
  padding: .65rem .9rem;
  border: 1.5px solid var(--sinir);
  border-radius: 10px;
  background: var(--kart-bg);
  color: var(--on);
  font-family: var(--font-sans);
  font-size: .88rem;
  transition: border-color .2s;
  appearance: none;
}
.form-grup input:focus,
.form-grup select:focus,
.form-grup textarea:focus {
  outline: none;
  border-color: var(--vurgu);
}
.lcv-gonder {
  width: 100%;
  padding: .85rem;
  background: var(--vurgu);
  color: var(--muhur-on, #fff);
  border: none;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: .5rem;
  transition: background .2s;
}
.lcv-gonder:hover { background: var(--vurgu2); }
.lcv-sonuc {
  margin-top: .75rem;
  padding: .65rem 1rem;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 600;
  text-align: center;
}
.lcv-basari { background: #f0faf4; border: 1px solid #b7e4c7; color: #1a7a3f; }
.lcv-hata   { background: #fff2f2; border: 1px solid #f5c6c6; color: #c0392b; }

/* ── Misafir Defteri ── */
.misafir-defteri-bolum { padding: 3rem 1.5rem; }
.yorum-form { max-width: 420px; margin: 0 auto 2rem; }
.yorum-gonder-btn { margin-top: .5rem; }
.yorum-listesi { max-width: 420px; margin: 0 auto; display: flex; flex-direction: column; gap: .75rem; }
.yorum-karti {
  background: var(--kart-bg);
  border: 1px solid var(--sinir);
  border-radius: 12px;
  padding: 1rem 1.2rem;
}
.yorum-ad { font-weight: 700; font-size: .88rem; color: var(--on); }
.yorum-mesaj { font-size: .85rem; color: var(--yakin); margin-top: .3rem; line-height: 1.5; }
.yorum-tarih { font-size: .7rem; color: var(--soluk); margin-top: .4rem; }
.yorum-yukleniyor { text-align: center; color: var(--soluk); font-size: .85rem; padding: 1rem 0; }

/* ── QR Kod ── */
.qr-bolum { padding: 3rem 1.5rem; }
.qr-cerceve {
  display: table;
  margin: 0 auto;
  padding: .75rem;
  background: var(--kart-bg);
  border: 1px solid var(--sinir);
  border-radius: 12px;
}

/* ── Dijital Davetiye Notu ── */
.dijital-davetiye-not {
  text-align: center;
  padding: 2rem 1.5rem;
  border-top: 1px solid var(--sinir);
  font-size: .8rem;
  color: var(--soluk);
}
.dijital-davetiye-not strong { color: var(--on); }
.dijital-davetiye-not a {
  color: var(--vurgu);
  text-decoration: none;
  font-weight: 700;
  margin: 0 .4rem;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.dijital-davetiye-not a:hover { text-decoration: underline; }

/* ── Footer ── */
.davet-footer {
  text-align: center;
  padding: 1.5rem;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--yakin);
}

/* ── Müzik Butonu ── */
.muzik-btn {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 100;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--vurgu);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,.2);
  transition: transform .2s, background .2s;
}
.muzik-btn:hover { transform: scale(1.08); background: var(--vurgu2); }
.muzik-btn svg { width: 22px; height: 22px; fill: #fff; }
.muzik-btn .nota-dur { display: none; }
.muzik-btn.caliyor .nota-oynat { display: none; }
.muzik-btn.caliyor .nota-dur  { display: block; }
.muzik-btn.caliyor {
  animation: muzik-darbe 1.2s ease-in-out infinite;
}
@keyframes muzik-darbe {
  0%,100% { box-shadow: 0 4px 20px rgba(0,0,0,.2), 0 0 0 0 rgba(200,168,110,.5); }
  50%      { box-shadow: 0 4px 20px rgba(0,0,0,.2), 0 0 0 12px rgba(200,168,110,.0); }
}

/* ── Scroll animasyonları (Intersection Observer) ── */
/* Temel fade-in — mevcut davranış korunur */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s cubic-bezier(0.16,1,0.3,1), transform .7s cubic-bezier(0.16,1,0.3,1);
}
.fade-in.gorunum {
  opacity: 1;
  transform: translateY(0);
}

/* Reveal from left — editöryel/split düzen için */
.reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1);
}
.reveal-left.gorunum {
  opacity: 1;
  transform: translateX(0);
}

/* Reveal from right */
.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1);
}
.reveal-right.gorunum {
  opacity: 1;
  transform: translateX(0);
}

/* Reveal scale — sinematik düzen için drama */
.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity .9s cubic-bezier(0.16,1,0.3,1), transform .9s cubic-bezier(0.16,1,0.3,1);
}
.reveal-scale.gorunum {
  opacity: 1;
  transform: scale(1);
}

/* Reveal blur — yumuşak odaklanma */
.reveal-blur {
  opacity: 0;
  filter: blur(8px);
  transform: translateY(16px);
  transition: opacity .8s cubic-bezier(0.16,1,0.3,1), filter .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1);
}
.reveal-blur.gorunum {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

/* Bölüm içi alt elementler için kademeli gecikme */
.bolum.gorunum > * {
  animation: bolumIcGiris 0.6s cubic-bezier(0.16,1,0.3,1) both;
}
.bolum.gorunum > *:nth-child(1) { animation-delay: 0.05s; }
.bolum.gorunum > *:nth-child(2) { animation-delay: 0.12s; }
.bolum.gorunum > *:nth-child(3) { animation-delay: 0.19s; }
.bolum.gorunum > *:nth-child(4) { animation-delay: 0.26s; }
.bolum.gorunum > *:nth-child(5) { animation-delay: 0.33s; }
@keyframes bolumIcGiris {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Parallax hero görseli — scroll'a bağlı hafif kayma */
.parallax-hero {
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .fade-in, .reveal-left, .reveal-right, .reveal-scale, .reveal-blur {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .bolum.gorunum > * { animation: none !important; }
  .parallax-hero { transform: none !important; }
}

/* ── Harita overlay (scroll uyarısını engeller) ── */
.harita-cerceve {
  position: relative;
}
.harita-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 1rem;
  transition: background .2s;
}
.harita-overlay:hover {
  background: rgba(0,0,0,.04);
}
.harita-overlay-metin {
  background: rgba(0,0,0,.78);
  color: #fff;
  font-size: .72rem;
  font-family: var(--font-sans, sans-serif);
  padding: .3rem .8rem;
  border-radius: 20px;
  letter-spacing: .04em;
  pointer-events: none;
}
.harita-overlay.aktif {
  display: none;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .hero-isim { font-size: clamp(2.4rem, 12vw, 3.5rem); }
  .etkinlik-grid { grid-template-columns: 1fr; padding: 2rem 1rem; }
  .bolum { padding: 2.5rem 1rem; }
  .lcv-bolum { padding: 2.5rem 1rem; }
  .muzik-btn { bottom: 1rem; right: 1rem; width: 46px; height: 46px; }
  .slayt-cerceve { width: calc(100% - 2rem); margin: 0 auto; }
}

/* ════════════════════════════════════════════════════════════
   6 TEMA CSS DEGISKENLERI
   ════════════════════════════════════════════════════════════ */

[data-theme="dugon-velvetrose"] {
  --bg:       #1a0a0f;
  --yuz:      #2a0f18;
  --on:       #f5e6ea;
  --soluk:    rgba(245,230,234,.55);
  --vurgu:    #c9526a;
  --vurgu2:   #8b1a35;
  --hero-bg:  #1a0a0f;
  --muhur-bg: #c9526a;
  --muhur-on: #fff;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="dugon-goldenhour"] {
  --bg:       #1c1404;
  --yuz:      #2a1e08;
  --on:       #fdf3dc;
  --soluk:    rgba(253,243,220,.55);
  --vurgu:    #d4a017;
  --vurgu2:   #9a6f00;
  --hero-bg:  #1c1404;
  --muhur-bg: #d4a017;
  --muhur-on: #1c1404;
  --font-serif: 'Lora', Georgia, serif;
  --font-sans:  'Raleway', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="dugon-midnightgarden"] {
  --bg:       #06081a;
  --yuz:      #0d1030;
  --on:       #e8ecff;
  --soluk:    rgba(232,236,255,.55);
  --vurgu:    #7b8fff;
  --vurgu2:   #4a5cd4;
  --hero-bg:  #06081a;
  --muhur-bg: #7b8fff;
  --muhur-on: #06081a;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}

/* Midnight Garden etkinlik kartları beyaz olduğu için koyu zemin metin
   renklerini burada kullanmayız. Kart içi renkler ayrı kontrastlanır. */
[data-theme="dugon-midnightgarden"] .etkinlik-kart {
  background: #fffdfb;
  border-color: #cbd2ff;
}
[data-theme="dugon-midnightgarden"] .etkinlik-tip,
[data-theme="dugon-midnightgarden"] .etkinlik-kart .harita-link {
  color: #4256c7;
}
[data-theme="dugon-midnightgarden"] .etkinlik-tarih {
  color: #20264a;
}
[data-theme="dugon-midnightgarden"] .etkinlik-mekan {
  color: #332a24;
}
[data-theme="dugon-midnightgarden"] .etkinlik-adres {
  color: #5b6075;
}
[data-theme="dugon-midnightgarden"] .etkinlik-kart .harita-link {
  border-color: #596ee8;
}
[data-theme="dugon-midnightgarden"] .etkinlik-kart .harita-link:hover {
  background: #4256c7;
  color: #fff;
}
[data-theme="dugon-sagelinen"] {
  --bg:       #f5f2ec;
  --yuz:      #ebe5d8;
  --on:       #2d2a22;
  --soluk:    rgba(45,42,34,.5);
  --vurgu:    #7a8c6e;
  --vurgu2:   #4e6040;
  --hero-bg:  #f5f2ec;
  --muhur-bg: #7a8c6e;
  --muhur-on: #fff;
  --font-serif: 'Raleway', system-ui, sans-serif;
  --font-sans:  'Lora', Georgia, serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="dugon-azurecoast"] {
  --bg:       #f0f7fa;
  --yuz:      #e0f0f6;
  --on:       #0d2d3a;
  --soluk:    rgba(13,45,58,.5);
  --vurgu:    #2a8fb5;
  --vurgu2:   #1a6080;
  --hero-bg:  #f0f7fa;
  --muhur-bg: #2a8fb5;
  --muhur-on: #fff;
  --font-serif: 'Montserrat', system-ui, sans-serif;
  --font-sans:  'Cormorant Garamond', Georgia, serif;
  --font-dekor: 'Great Vibes', cursive;
}

/* ════════════════════════════════════════════════════════════
   ACILIS SAHNESI — TEMEL
   ════════════════════════════════════════════════════════════ */

.kapi-sahnesi {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  background: var(--bg, #faf6f1);
  transition: opacity .7s ease .2s, visibility .7s ease .2s;
}
.kapi-sahnesi.kapali {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

/* ════════════════════════════════════════════════════════════
   ANIMASYON 1 — ZARF (Blush Garden)
   ════════════════════════════════════════════════════════════ */

.acilis-zarf { background: #fdf6f0; }

.zarf-arka {
  position: absolute; inset: 0;
  pointer-events: none; overflow: hidden;
}
.zarf-cicek-sol, .zarf-cicek-sag {
  position: absolute; width: 380px; height: 380px;
  border-radius: 50%; opacity: .16;
}
.zarf-cicek-sol {
  bottom: -100px; left: -100px;
  background: radial-gradient(circle at 60% 60%,
    #e8a4b8 0%, #f4c4ce 35%, #fde8ed 65%, transparent 100%);
}
.zarf-cicek-sag {
  top: -100px; right: -100px;
  background: radial-gradient(circle at 40% 40%,
    #d4899c 0%, #e9b4be 35%, #fce0e6 65%, transparent 100%);
}
.zarf-kap {
  position: relative;
  width: min(360px, 90vw);
  height: min(255px, 64vw);
  perspective: 1000px;
  filter: drop-shadow(0 24px 56px rgba(150,90,100,.2));
  transition: transform .3s ease;
}
.zarf-kap:hover { transform: translateY(-4px); }
.zarf-govde {
  position: absolute; inset: 0;
  background: linear-gradient(150deg, #fdf0e8 0%, #f5dece 100%);
  border: 1px solid color-mix(in srgb, var(--vurgu) 26%, transparent);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), inset 0 -18px 28px rgba(70,45,30,.08);
}
.zarf-ic-alt {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 62%;
  background-image: linear-gradient(0deg, rgba(151,105,78,.28), rgba(255,255,255,.08)), var(--cover-image);
  background-size: cover;
  background-position: center bottom;
  clip-path: polygon(0 42%, 50% 0%, 100% 42%, 100% 100%, 0 100%);
  filter: saturate(.82) brightness(.98);
}
.zarf-ic-sol {
  position: absolute; left: 0; top: 0;
  width: 52%; height: 100%;
  background-image: linear-gradient(135deg, rgba(255,255,255,.16), rgba(121,79,56,.18)), var(--cover-image);
  background-size: 192% 100%;
  background-position: left center;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  filter: saturate(.78) brightness(1.02);
}
.zarf-ic-sag {
  position: absolute; right: 0; top: 0;
  width: 52%; height: 100%;
  background-image: linear-gradient(225deg, rgba(255,255,255,.12), rgba(121,79,56,.2)), var(--cover-image);
  background-size: 192% 100%;
  background-position: right center;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  filter: saturate(.78) brightness(1.01);
}
.zarf-muhur {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 60px; height: 60px; border-radius: 50%;
  background: radial-gradient(circle, #c8917a 0%, #9e6450 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif, serif);
  font-size: .95rem; font-weight: 700; color: #fff;
  box-shadow: 0 3px 14px rgba(130,70,55,.4);
  z-index: 5;
  animation: muhur-nefes 2.8s ease-in-out infinite;
}
.zarf-kapak {
  position: absolute; top: 0; left: 0; right: 0;
  height: 55%;
  transform-origin: top center;
  transform: rotateX(0deg);
  transform-style: preserve-3d;
  transition: transform 1s cubic-bezier(.4,0,.2,1);
  z-index: 10;
}
.zarf-kapak-ic {
  width: 100%; height: 100%;
  background: linear-gradient(160deg, #fbeee4 0%, #f0d8c4 100%);
  clip-path: polygon(0 0, 50% 96%, 100% 0);
  border-radius: 11px 11px 0 0;
  box-shadow: 0 5px 18px rgba(75,45,30,.2);
}
.zarf-kap.aciliyor .zarf-kapak {
  transform: rotateX(-170deg);
}
.zarf-isim-ust {
  position: absolute; bottom: 0; left: 0; right: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding-bottom: 1.4rem; gap: .2rem;
  z-index: 4; text-align: center;
  padding-top: 3rem;
  background: linear-gradient(180deg, transparent 0%, rgba(255,250,246,.78) 48%, rgba(255,250,246,.94) 100%);
}
.zarf-kicker {
  font-family: var(--font-sans, sans-serif);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: #674238;
}
.zarf-isim-ust strong {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.5rem, 7vw, 2rem);
  color: #6b3d30; font-weight: 400; line-height: 1.1;
}
.zarf-tarih {
  font-family: var(--font-sans, sans-serif);
  font-size: .62rem; letter-spacing: .15em;
  color: #674238;
}
.zarf-dokunma { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(140,85,70,.6); }

/* ════════════════════════════════════════════════════════════
   ANIMASYON 2 — IKI KANATLI KAPI (Velvet Rose)
   ════════════════════════════════════════════════════════════ */

.acilis-kapilar { background: #1a0a0f; }
.kapi-arka-plan {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(201,82,106,.12) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(139,26,53,.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(139,26,53,.08) 0%, transparent 50%);
}
.kapi-cerceve {
  position: relative;
  width: min(440px, 86vw, calc(76vh * 2 / 3));
  height: auto; aspect-ratio: 2 / 3;
  perspective: 1200px; transform-style: preserve-3d;
}
.kapi-ust-yazi {
  position: absolute; top: -2.2rem; left: 0; right: 0;
  text-align: center;
  font-family: var(--font-sans, sans-serif);
  font-size: .58rem; font-weight: 700;
  letter-spacing: .28em; text-transform: uppercase;
  color: rgba(201,82,106,.7); z-index: 20;
}
.kapi-sol, .kapi-sag {
  position: absolute; top: 0; bottom: 0; width: 50%;
  background: linear-gradient(180deg, #2e1220 0%, #1a0a0f 100%);
  transition: transform 1.1s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
}
.kapi-sol { left: 0; transform-origin: left center; border-right: 1px solid rgba(201,82,106,.2); }
.kapi-sag { right: 0; transform-origin: right center; border-left: 1px solid rgba(201,82,106,.2); }
.kapi-sol-desen, .kapi-sag-desen {
  position: absolute; inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0px, transparent 28px, rgba(201,82,106,.06) 28px, rgba(201,82,106,.06) 29px),
    repeating-linear-gradient(90deg, transparent 0px, transparent 28px, rgba(201,82,106,.06) 28px, rgba(201,82,106,.06) 29px);
}
.kapi-sol-desen::before, .kapi-sag-desen::before {
  content: ''; position: absolute; inset: 12px;
  border: 1px solid rgba(201,82,106,.18); border-radius: 2px;
}
.kapi-sahnesi.aciliyor .kapi-sol { transform: perspective(1200px) rotateY(-108deg); }
.kapi-sahnesi.aciliyor .kapi-sag { transform: perspective(1200px) rotateY(108deg); }

[data-theme="dugon-velvetrose"] .hero-overlay {
  background: linear-gradient(180deg, rgba(26,10,15,.1) 0%, rgba(26,10,15,.55) 60%, rgba(26,10,15,.82) 100%);
}
[data-theme="dugon-velvetrose"] .hero-isim { color: #f8d0d8; }
[data-theme="dugon-velvetrose"] .hero-tarih { color: rgba(248,208,216,.75); }

/* ════════════════════════════════════════════════════════════
   ANIMASYON 3 — PERDE (Golden Hour)
   ════════════════════════════════════════════════════════════ */

.acilis-perde { background: #1c1404; }
.perde-sol, .perde-sag {
  position: absolute; top: 0; bottom: 0; width: 52%;
  overflow: hidden;
  transition: transform 1.2s cubic-bezier(.4,0,.2,1);
}
.perde-sol { left: 0; transform-origin: left center; }
.perde-sag { right: 0; transform-origin: right center; }
.perde-sol {
  background: linear-gradient(100deg, #3d2800 0%, #5a3c00 30%, #7a5200 60%, #5a3c00 80%, #3d2800 100%);
  box-shadow: 4px 0 24px rgba(0,0,0,.5);
}
.perde-sag {
  background: linear-gradient(260deg, #3d2800 0%, #5a3c00 30%, #7a5200 60%, #5a3c00 80%, #3d2800 100%);
  box-shadow: -4px 0 24px rgba(0,0,0,.5);
}
.perde-kinci {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    180deg, transparent 0px, transparent 18px,
    rgba(212,160,23,.07) 18px, rgba(212,160,23,.07) 19px
  );
}
.perde-sol::before, .perde-sag::before {
  content: ''; position: absolute; top: 0; bottom: 0; width: 6px;
  background: linear-gradient(180deg, rgba(212,160,23,.5) 0%, rgba(212,160,23,.1) 50%, rgba(212,160,23,.5) 100%);
}
.perde-sol::before { right: 0; }
.perde-sag::before { left: 0; }
.perde-rozet {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 64px; height: 64px; border-radius: 50%;
  background: radial-gradient(circle, #d4a017 0%, #9a6f00 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif, serif);
  font-size: .9rem; font-weight: 700; color: #1c1404;
  box-shadow: 0 0 0 4px rgba(212,160,23,.25), 0 4px 20px rgba(0,0,0,.4);
  z-index: 15; animation: muhur-nefes 2.8s ease-in-out infinite;
}
.perde-not {
  position: absolute; bottom: 3rem; left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-dekor, cursive);
  font-size: 1rem; color: rgba(253,243,220,.6);
  white-space: nowrap; z-index: 15;
}
.kapi-sahnesi.aciliyor .perde-sol { transform: translateX(-100%); }
.kapi-sahnesi.aciliyor .perde-sag { transform: translateX(100%); }

[data-theme="dugon-goldenhour"] .hero-overlay {
  background: linear-gradient(180deg, rgba(28,20,4,.1) 0%, rgba(28,20,4,.5) 60%, rgba(28,20,4,.8) 100%);
}
[data-theme="dugon-goldenhour"] .hero-isim { color: #fdf0c0; text-shadow: 0 2px 20px rgba(212,160,23,.3); }

/* ════════════════════════════════════════════════════════════
   ANIMASYON 4 — YILDIZ PATLAMA (Midnight Garden)
   ════════════════════════════════════════════════════════════ */

.acilis-yildiz { background: #06081a; }
.acilis-yildiz::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(123,143,255,.15) 0%, transparent 65%);
  pointer-events: none;
}
.yildiz-arka { position: absolute; inset: 0; pointer-events: none; }
.yildiz-icerik {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 15;
  display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center;
}
.yildiz-ay {
  font-size: 2.4rem; line-height: 1; color: #7b8fff;
  text-shadow: 0 0 20px rgba(123,143,255,.5);
  animation: yildiz-nefes 3s ease-in-out infinite;
}
@keyframes yildiz-nefes {
  0%,100% { text-shadow: 0 0 20px rgba(123,143,255,.5); }
  50%      { text-shadow: 0 0 40px rgba(123,143,255,.9); }
}
.yildiz-kicker {
  font-family: var(--font-sans, sans-serif);
  font-size: .58rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(123,143,255,.6);
}
.yildiz-isim {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.6rem, 8vw, 2.2rem); color: #c8d0ff; line-height: 1.1;
}
.yildiz-tarih {
  font-family: var(--font-sans, sans-serif);
  font-size: .6rem; letter-spacing: .18em; color: rgba(232,236,255,.5);
}
.yildiz-parcacik {
  position: absolute; top: 50%; left: 50%;
  width: 3px; height: 3px; border-radius: 50%;
  background: #7b8fff; opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--aci, 0deg)) translateX(0);
}
.kapi-sahnesi.aciliyor .yildiz-parcacik {
  animation: yildiz-fis 1.4s cubic-bezier(.2,.8,.3,1) forwards;
}
@keyframes yildiz-fis {
  0%   { opacity: 1; transform: translate(-50%,-50%) rotate(var(--aci,0deg)) translateX(4px); }
  60%  { opacity: .9; }
  100% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--aci,0deg)) translateX(var(--uzaklik,35vw)); width: 1px; height: 1px; }
}
[data-theme="dugon-midnightgarden"] .hero-overlay {
  background: linear-gradient(180deg, rgba(6,8,26,.05) 0%, rgba(6,8,26,.5) 60%, rgba(6,8,26,.85) 100%);
}
[data-theme="dugon-midnightgarden"] .hero-isim { color: #c8d0ff; text-shadow: 0 0 40px rgba(123,143,255,.35); }
[data-theme="dugon-midnightgarden"] .hero-tarih { color: #dce2ff; }
[data-theme="dugon-midnightgarden"] .geri-sayim { color: #f3f5ff; }
[data-theme="dugon-midnightgarden"] .geri-sayim-birim {
  background: rgba(123,143,255,.14);
  border-color: rgba(181,192,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px rgba(0,0,0,.2);
}
[data-theme="dugon-midnightgarden"] .geri-sayim-sayi {
  color: #f6f7ff;
  text-shadow: 0 0 18px rgba(123,143,255,.38);
}
[data-theme="dugon-midnightgarden"] .geri-sayim-etiket { color: #cbd3ff; opacity: 1; }
[data-theme="dugon-velvetrose"] .hero-tarih,
[data-theme="dugon-goldenhour"] .hero-tarih { color: color-mix(in srgb, var(--on) 82%, white); }
[data-theme="dugon-velvetrose"] .geri-sayim,
[data-theme="dugon-goldenhour"] .geri-sayim { color: var(--on); }
[data-theme="dugon-velvetrose"] .geri-sayim-birim,
[data-theme="dugon-goldenhour"] .geri-sayim-birim {
  background: color-mix(in srgb, var(--vurgu) 16%, transparent);
  border-color: color-mix(in srgb, var(--vurgu) 48%, transparent);
}

/* ════════════════════════════════════════════════════════════
   ANIMASYON 5 — KITAP ACILIS (Sage & Linen)
   ════════════════════════════════════════════════════════════ */

.acilis-kitap { background: #f5f2ec; }
.acilis-kitap::before {
  content: ''; position: absolute; inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0px, transparent 38px, rgba(122,140,110,.06) 38px, rgba(122,140,110,.06) 39px),
    repeating-linear-gradient(90deg, transparent 0px, transparent 38px, rgba(122,140,110,.06) 38px, rgba(122,140,110,.06) 39px);
  pointer-events: none;
}
.kitap-sarici {
  position: relative;
  width: min(320px, 86vw); height: min(440px, 76vh);
  perspective: 1400px; transform-style: preserve-3d;
  filter: drop-shadow(0 20px 50px rgba(80,80,60,.18));
}
.kitap-sol-sayfa, .kitap-sag-sayfa {
  position: absolute; top: 0; bottom: 0; width: 50%;
  background: linear-gradient(160deg, #f8f4ed 0%, #ede7da 100%);
  overflow: hidden;
  transition: transform 1.3s cubic-bezier(.4,0,.2,1);
  backface-visibility: hidden;
}
.kitap-sol-sayfa { left: 0; transform-origin: left center; border-radius: 4px 0 0 4px; border-right: 1px solid rgba(122,140,110,.2); }
.kitap-sag-sayfa { right: 0; transform-origin: right center; border-radius: 0 4px 4px 0; border-left: 1px solid rgba(122,140,110,.2); }
.kitap-sol-sayfa::before, .kitap-sag-sayfa::before {
  content: ''; position: absolute; inset: 10px;
  border: 1px solid rgba(122,140,110,.15); border-radius: 2px;
}
.kitap-sirt {
  position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 8px;
  background: linear-gradient(180deg, #c8c0a8 0%, #a89e88 50%, #c8c0a8 100%);
  z-index: 5;
}
.kitap-icerik {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .5rem; z-index: 5; pointer-events: none;
}
.kitap-kicker {
  font-family: var(--font-sans, sans-serif);
  font-size: .55rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(45,42,34,.5);
}
.kitap-isim {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.5rem, 7vw, 2rem); color: #2d2a22; line-height: 1.15; font-weight: 400; text-align: center;
}
.kitap-tarih {
  font-family: var(--font-sans, sans-serif);
  font-size: .6rem; letter-spacing: .18em; color: rgba(45,42,34,.45);
}
.kapi-sahnesi.aciliyor .kitap-sol-sayfa { transform: perspective(1400px) rotateY(-108deg); }
.kapi-sahnesi.aciliyor .kitap-sag-sayfa { transform: perspective(1400px) rotateY(108deg); }

[data-theme="dugon-sagelinen"] .hero-overlay {
  background: linear-gradient(180deg, rgba(245,242,236,.05) 0%, rgba(245,242,236,.4) 60%, rgba(245,242,236,.75) 100%);
}
[data-theme="dugon-sagelinen"] .hero-isim { color: #2d2a22; }
[data-theme="dugon-sagelinen"] .hero-tarih { color: rgba(45,42,34,.65); }

/* ============================================================
   PREMIUM KAPAK KOLEKSIYONU — 2026
   Üç amiral tema için gerçek malzeme hissi
   ============================================================ */

/* Blush Garden — botanik işlemeli zarf */
[data-theme="dugon-blushgarden"] .acilis-zarf {
  background:
    radial-gradient(circle at 50% 45%, rgba(255,250,246,.72), rgba(237,211,199,.38)),
    #ead8cf;
}
[data-theme="dugon-blushgarden"] .zarf-kap {
  filter: drop-shadow(0 30px 58px rgba(89,55,45,.28));
}
[data-theme="dugon-blushgarden"] .zarf-govde,
[data-theme="dugon-blushgarden"] .zarf-kapak-ic {
  background-image:
    linear-gradient(rgba(255,248,244,.08), rgba(255,248,244,.08)),
    url('/assets/covers/premium/botanical-embroidered.jpg');
  background-size: cover;
  background-position: center;
}
[data-theme="dugon-blushgarden"] .zarf-govde {
  border: 1px solid rgba(133,91,74,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), inset 0 -18px 30px rgba(91,57,43,.08);
}
[data-theme="dugon-blushgarden"] .zarf-ic-alt,
[data-theme="dugon-blushgarden"] .zarf-ic-sol,
[data-theme="dugon-blushgarden"] .zarf-ic-sag { opacity: .16; }
[data-theme="dugon-blushgarden"] .zarf-isim-ust strong {
  color: #58352d;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
[data-theme="dugon-blushgarden"] .zarf-muhur {
  border: 2px solid rgba(255,225,209,.42);
  box-shadow: 0 7px 18px rgba(87,43,35,.42), inset 0 2px 3px rgba(255,225,210,.35), inset 0 -3px 5px rgba(82,37,30,.32);
}

/* Velvet Rose — kadife ve antik altın varak kapılar */
[data-theme="dugon-velvetrose"] .acilis-kapilar,
[data-theme="dugon-velvetrose"] .kapi-arka-plan { background-color: #170307; }
[data-theme="dugon-velvetrose"] .kapi-sol,
[data-theme="dugon-velvetrose"] .kapi-sag {
  background-image: url('/assets/covers/premium/velvet-foil.jpg');
  background-size: 200% 100%;
  box-shadow: inset 0 0 38px rgba(0,0,0,.32);
}
[data-theme="dugon-velvetrose"] .kapi-sol { background-position: left center; }
[data-theme="dugon-velvetrose"] .kapi-sag { background-position: right center; }
[data-theme="dugon-velvetrose"] .kapi-sol-desen,
[data-theme="dugon-velvetrose"] .kapi-sag-desen { background: none; }
[data-theme="dugon-velvetrose"] .kapi-sol-desen::before,
[data-theme="dugon-velvetrose"] .kapi-sag-desen::before {
  border-color: rgba(205,158,79,.38);
  box-shadow: inset 0 0 0 1px rgba(83,38,21,.7), 0 0 18px rgba(211,158,72,.08);
}
[data-theme="dugon-velvetrose"] .muhur {
  background: radial-gradient(circle at 35% 30%, #d6ae67 0%, #9b652d 52%, #583119 100%);
  border: 2px solid #e0bd77;
  box-shadow: 0 7px 24px rgba(0,0,0,.5), inset 0 2px 4px rgba(255,232,174,.5);
}
[data-theme="dugon-velvetrose"] .kapi-ust-yazi { color: rgba(224,189,119,.82); }

/* Sage & Linen — kör kabartmalı keten kitap */
[data-theme="dugon-sagelinen"] .acilis-kitap {
  background: radial-gradient(circle at 50% 45%, #fbf7ed 0%, #e6decd 100%);
}
[data-theme="dugon-sagelinen"] .kitap-sol-sayfa,
[data-theme="dugon-sagelinen"] .kitap-sag-sayfa {
  background-image: url('/assets/covers/premium/linen-embossed.jpg');
  background-size: 200% 100%;
  box-shadow: inset 0 0 26px rgba(100,83,53,.08);
}
[data-theme="dugon-sagelinen"] .kitap-sol-sayfa { background-position: left center; }
[data-theme="dugon-sagelinen"] .kitap-sag-sayfa { background-position: right center; }
[data-theme="dugon-sagelinen"] .kitap-sol-sayfa::before,
[data-theme="dugon-sagelinen"] .kitap-sag-sayfa::before {
  border-color: rgba(123,102,67,.23);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.34);
}
[data-theme="dugon-sagelinen"] .kitap-sirt {
  background: linear-gradient(90deg, #a89a7d, #e4d8bf 45%, #9e9074);
  box-shadow: 0 0 9px rgba(73,58,36,.24);
}
[data-theme="dugon-sagelinen"] .kitap-isim {
  color: #43382a;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}

@media (max-width: 480px) {
  [data-theme="dugon-blushgarden"] .zarf-govde,
  [data-theme="dugon-blushgarden"] .zarf-kapak-ic { background-position: center; }
}

/* ════════════════════════════════════════════════════════════
   ANIMASYON 6 — CICEK ACILIS (Azure Coast)
   ════════════════════════════════════════════════════════════ */

.acilis-cicek { background: #f0f7fa; }
.acilis-cicek::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(42,143,181,.1) 0%, transparent 65%);
  pointer-events: none;
}
.cicek-arka { position: absolute; inset: 0; pointer-events: none; }
.cicek-icerik {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 15;
  display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center;
}
.cicek-kicker {
  font-family: var(--font-sans, sans-serif);
  font-size: .58rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(42,143,181,.65);
}
.cicek-isim {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.6rem, 8vw, 2.2rem); color: #0d2d3a; line-height: 1.1; font-weight: 400;
}
.cicek-tarih {
  font-family: var(--font-sans, sans-serif);
  font-size: .6rem; letter-spacing: .18em; color: rgba(13,45,58,.5);
}
.cicek-merkez {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%); z-index: 16;
  display: flex; flex-direction: column; align-items: center; gap: .4rem;
}
.cicek-ic {
  width: 80px; height: 80px; border-radius: 50%;
  background: radial-gradient(circle, #2a8fb5 0%, #1a6080 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif, serif);
  font-size: 1.3rem; color: #fff; font-weight: 600;
  box-shadow: 0 4px 24px rgba(42,143,181,.35);
  animation: muhur-nefes 2.8s ease-in-out infinite;
}
.cicek-yaprak {
  position: absolute; top: 50%; left: 50%;
  width: 70px; height: 120px;
  transform-origin: bottom center;
  transform: translate(-50%, -100%) rotate(var(--aci, 0deg));
  opacity: 0;
}
.cicek-yaprak::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, rgba(42,143,181,.7) 0%, rgba(42,143,181,.2) 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform: scaleX(.55);
}
.kapi-sahnesi.aciliyor .cicek-yaprak {
  animation: cicek-ac 1.2s cubic-bezier(.3,.8,.2,1) forwards;
}
@keyframes cicek-ac {
  0%   { opacity: 0; transform: translate(-50%, -100%) rotate(var(--aci, 0deg)) scale(.2); }
  40%  { opacity: .9; }
  100% { opacity: 0; transform: translate(-50%, -200%) rotate(var(--aci, 0deg)) scale(1.6); }
}
[data-theme="dugon-azurecoast"] .hero-overlay {
  background: linear-gradient(180deg, rgba(240,247,250,.05) 0%, rgba(240,247,250,.4) 60%, rgba(240,247,250,.78) 100%);
}
[data-theme="dugon-azurecoast"] .hero-isim { color: #0d2d3a; }
[data-theme="dugon-azurecoast"] .hero-tarih { color: rgba(13,45,58,.65); }

/* ════════════════════════════════════════════════════════════
   BLUSH GARDEN — ICERIK SAYFASI
   ════════════════════════════════════════════════════════════ */

[data-theme="dugon-blushgarden"] .hero-bolum { background: #fdf6f0; }
[data-theme="dugon-blushgarden"] .hero-foto { opacity: 1; mix-blend-mode: normal; }
[data-theme="dugon-blushgarden"] .hero-overlay {
  background: linear-gradient(180deg, rgba(253,246,240,.05) 0%, rgba(253,246,240,.35) 60%, rgba(253,246,240,.7) 100%);
}
[data-theme="dugon-blushgarden"] .hero-isim { color: #6b3d30; text-shadow: none; }
[data-theme="dugon-blushgarden"] .hero-tarih { color: rgba(107,61,48,.65); }
[data-theme="dugon-blushgarden"] .hero-metin p { color: rgba(107,61,48,.75); }
[data-theme="dugon-blushgarden"] .bolum-baslik { color: #6b3d30; }
[data-theme="dugon-blushgarden"] .vurgu-cizgi { background: #c8917a; }

/* ════════════════════════════════════════════════════════════
   TUM TEMALAR — YARDIMCI STILLER
   ════════════════════════════════════════════════════════════ */

.perde-icerik {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%); z-index: 15;
  display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center;
}
.perde-kicker {
  font-family: var(--font-sans, sans-serif);
  font-size: .58rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(212,160,23,.65);
}
.perde-isim {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.6rem, 8vw, 2.2rem); color: #fdf0c0; line-height: 1.1; font-weight: 400;
}
.perde-tarih {
  font-family: var(--font-sans, sans-serif);
  font-size: .6rem; letter-spacing: .18em; color: rgba(253,243,220,.5);
}
.perde-sut {
  position: absolute; top: 0; bottom: 0; width: 3px; left: 30px;
  background: linear-gradient(180deg, transparent 0%, rgba(212,160,23,.3) 50%, transparent 100%);
  pointer-events: none;
}
.perde-sut-sag { left: auto; right: 30px; }

.zarf-notu {
  position: absolute; bottom: 3.8rem; left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-dekor, cursive);
  font-size: 1rem; color: var(--soluk, rgba(100,80,70,.6));
  white-space: nowrap; z-index: 20; text-align: center;
}

/* ── Animasyon responsive ── */
@media (max-width: 480px) {
  .zarf-kap { width: 92vw; height: 65vw; }
  .kitap-sarici { width: 92vw; height: 72vh; }
  .kapi-cerceve { width: min(90vw, calc(76vh * 2 / 3)); height: auto; }
  .zarf-isim-ust strong { font-size: 1.4rem; }
}

/* ════════════════════════════════════════════════════════════
   NİŞAN TEMALARı — CSS DEĞİŞKENLERİ
   ════════════════════════════════════════════════════════════ */

[data-theme="nisan-rosepetal"] {
  --bg: #fdf0f4; --yuz: #f8e0e8; --on: #5a1e30;
  --soluk: rgba(90,30,48,.5); --vurgu: #d4758a; --vurgu2: #a04060;
  --hero-bg: #fdf0f4; --muhur-bg: #d4758a; --muhur-on: #fff;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="nisan-lilacgate"] {
  --bg: #1e1228; --yuz: #2a1a38; --on: #f0e8f8;
  --soluk: rgba(240,232,248,.55); --vurgu: #b87fd4; --vurgu2: #8040a8;
  --hero-bg: #1e1228; --muhur-bg: #b87fd4; --muhur-on: #1e1228;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Lora', Georgia, serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="nisan-goldenring"] {
  --bg: #1a1608; --yuz: #2a2210; --on: #fdf8e8;
  --soluk: rgba(253,248,232,.55); --vurgu: #c8a832; --vurgu2: #906800;
  --hero-bg: #1a1608; --muhur-bg: #c8a832; --muhur-on: #1a1608;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="nisan-starlight"] {
  --bg: #080c1c; --yuz: #101828; --on: #dce8ff;
  --soluk: rgba(220,232,255,.55); --vurgu: #8fa8e8; --vurgu2: #5070c0;
  --hero-bg: #080c1c; --muhur-bg: #8fa8e8; --muhur-on: #080c1c;
  --font-serif: 'Raleway', system-ui, sans-serif;
  --font-sans:  'Cormorant Garamond', Georgia, serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="nisan-vintage"] {
  --bg: #f7f2e8; --yuz: #ede6d4; --on: #3a2a18;
  --soluk: rgba(58,42,24,.5); --vurgu: #8a6848; --vurgu2: #604828;
  --hero-bg: #f7f2e8; --muhur-bg: #8a6848; --muhur-on: #fff;
  --font-serif: 'Lora', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="nisan-blossom"] {
  --bg: #fff8fb; --yuz: #fce8f2; --on: #5a1840;
  --soluk: rgba(90,24,64,.5); --vurgu: #e87fa8; --vurgu2: #c04878;
  --hero-bg: #fff8fb; --muhur-bg: #e87fa8; --muhur-on: #fff;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Manrope', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}

/* ════════════════════════════════════════════════════════════
   DOĞUM GÜNÜ TEMALARı — CSS DEĞİŞKENLERİ
   ════════════════════════════════════════════════════════════ */

[data-theme="dogum-confetti"] {
  --bg: #fff8f0; --yuz: #ffeedd; --on: #3a1a08;
  --soluk: rgba(58,26,8,.5); --vurgu: #ff6b6b; --vurgu2: #cc3030;
  --hero-bg: #fff8f0; --muhur-bg: #ff6b6b; --muhur-on: #fff;
  --font-serif: 'Montserrat', system-ui, sans-serif;
  --font-sans:  'Raleway', system-ui, sans-serif;
  --font-dekor: 'Fredoka', cursive;
}
[data-theme="dogum-balloons"] {
  --bg: #0d1a2e; --yuz: #162240; --on: #e8f4ff;
  --soluk: rgba(232,244,255,.55); --vurgu: #4ecdc4; --vurgu2: #208880;
  --hero-bg: #0d1a2e; --muhur-bg: #4ecdc4; --muhur-on: #0d1a2e;
  --font-serif: 'Fredoka', cursive;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Fredoka', cursive;
}
[data-theme="dogum-carnival"] {
  --bg: #1a0a24; --yuz: #280f38; --on: #fce8ff;
  --soluk: rgba(252,232,255,.55); --vurgu: #ff4da6; --vurgu2: #cc0078;
  --hero-bg: #1a0a24; --muhur-bg: #ff4da6; --muhur-on: #fff;
  --font-serif: 'Bebas Neue', Impact, sans-serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Fredoka', cursive;
}
[data-theme="dogum-sparkle"] {
  --bg: #0a0a0a; --yuz: #181818; --on: #fff8d0;
  --soluk: rgba(255,248,208,.55); --vurgu: #ffd700; --vurgu2: #c8a000;
  --hero-bg: #0a0a0a; --muhur-bg: #ffd700; --muhur-on: #0a0a0a;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="dogum-storybook"] {
  --bg: #fef9f0; --yuz: #fceedd; --on: #3a2008;
  --soluk: rgba(58,32,8,.5); --vurgu: #f4a460; --vurgu2: #c07030;
  --hero-bg: #fef9f0; --muhur-bg: #f4a460; --muhur-on: #fff;
  --font-serif: 'Lora', Georgia, serif;
  --font-sans:  'Caveat', cursive;
  --font-dekor: 'Caveat', cursive;
}
[data-theme="dogum-garden"] {
  --bg: #f0faf0; --yuz: #e0f4e0; --on: #0a2a0a;
  --soluk: rgba(10,42,10,.5); --vurgu: #4caf50; --vurgu2: #2a7a2a;
  --hero-bg: #f0faf0; --muhur-bg: #4caf50; --muhur-on: #fff;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Raleway', system-ui, sans-serif;
  --font-dekor: 'Caveat', cursive;
}

/* ════════════════════════════════════════════════════════════
   ASKER UĞURLAMASI TEMALARı — CSS DEĞİŞKENLERİ
   ════════════════════════════════════════════════════════════ */

[data-theme="asker-mektup"] {
  --bg: #f5f0e8; --yuz: #ece4d4; --on: #2a2010;
  --soluk: rgba(42,32,16,.5); --vurgu: #7a6840; --vurgu2: #504428;
  --hero-bg: #f5f0e8; --muhur-bg: #7a6840; --muhur-on: #fff;
  --font-serif: 'Caveat', cursive;
  --font-sans:  'Lora', Georgia, serif;
  --font-dekor: 'Caveat', cursive;
}
[data-theme="asker-demir"] {
  --bg: #0f1a0f; --yuz: #182418; --on: #d8f0d8;
  --soluk: rgba(216,240,216,.55); --vurgu: #4a7a4a; --vurgu2: #285028;
  --hero-bg: #0f1a0f; --muhur-bg: #4a7a4a; --muhur-on: #fff;
  --font-serif: 'Montserrat', system-ui, sans-serif;
  --font-sans:  'Cormorant Garamond', Georgia, serif;
  --font-dekor: 'Bebas Neue', Impact, sans-serif;
}
[data-theme="asker-perde"] {
  --bg: #1a0000; --yuz: #280808; --on: #ffe8e8;
  --soluk: rgba(255,232,232,.55); --vurgu: #cc0000; --vurgu2: #880000;
  --hero-bg: #1a0000; --muhur-bg: #cc0000; --muhur-on: #fff;
  --font-serif: 'Bebas Neue', Impact, sans-serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Bebas Neue', Impact, sans-serif;
}
[data-theme="asker-gece"] {
  --bg: #040810; --yuz: #080f1c; --on: #d0e0ff;
  --soluk: rgba(208,224,255,.55); --vurgu: #5080c0; --vurgu2: #304880;
  --hero-bg: #040810; --muhur-bg: #5080c0; --muhur-on: #fff;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Montserrat', system-ui, sans-serif;
  --font-dekor: 'Great Vibes', cursive;
}
[data-theme="asker-atlas"] {
  --bg: #f0f4fa; --yuz: #e0e8f4; --on: #0a1828;
  --soluk: rgba(10,24,40,.5); --vurgu: #3a5a8a; --vurgu2: #1a3a6a;
  --hero-bg: #f0f4fa; --muhur-bg: #3a5a8a; --muhur-on: #fff;
  --font-serif: 'Raleway', system-ui, sans-serif;
  --font-sans:  'Cormorant Garamond', Georgia, serif;
  --font-dekor: 'Bebas Neue', Impact, sans-serif;
}
[data-theme="asker-bayrak"] {
  --bg: #fff5f5; --yuz: #ffe8e8; --on: #3a0808;
  --soluk: rgba(58,8,8,.5); --vurgu: #e02020; --vurgu2: #a00000;
  --hero-bg: #fff5f5; --muhur-bg: #e02020; --muhur-on: #fff;
  --font-serif: 'Montserrat', system-ui, sans-serif;
  --font-sans:  'Bebas Neue', Impact, sans-serif;
  --font-dekor: 'Bebas Neue', Impact, sans-serif;
}

/* ════════════════════════════════════════════════════════════
   NİŞAN — AÇILIŞ ARKA PLANLARI
   ════════════════════════════════════════════════════════════ */

.acilis-zarf[class*="nisan-rosepetal"], [data-theme="nisan-rosepetal"] .kapi-sahnesi { background: #fdf0f4; }
[data-theme="nisan-lilacgate"]  .kapi-sahnesi { background: #1e1228; }
[data-theme="nisan-goldenring"] .kapi-sahnesi { background: #1a1608; }
[data-theme="nisan-starlight"]  .kapi-sahnesi { background: #080c1c; }
[data-theme="nisan-vintage"]    .kapi-sahnesi { background: #f7f2e8; }
[data-theme="nisan-blossom"]    .kapi-sahnesi { background: #fff8fb; }

/* Nişan içerik overlay */
[data-theme="nisan-rosepetal"] .hero-overlay {
  background: linear-gradient(180deg, rgba(253,240,244,.05) 0%, rgba(253,240,244,.4) 60%, rgba(253,240,244,.72) 100%);
}
[data-theme="nisan-rosepetal"] .hero-isim { color: #5a1e30; text-shadow: none; }
[data-theme="nisan-rosepetal"] .hero-tarih { color: rgba(90,30,48,.65); }

[data-theme="nisan-lilacgate"] .hero-overlay {
  background: linear-gradient(180deg, rgba(30,18,40,.1) 0%, rgba(30,18,40,.55) 60%, rgba(30,18,40,.82) 100%);
}
[data-theme="nisan-lilacgate"] .hero-isim { color: #e8c8ff; }

[data-theme="nisan-goldenring"] .hero-overlay {
  background: linear-gradient(180deg, rgba(26,22,8,.1) 0%, rgba(26,22,8,.5) 60%, rgba(26,22,8,.8) 100%);
}
[data-theme="nisan-goldenring"] .hero-isim { color: #fdf0a0; text-shadow: 0 2px 20px rgba(200,168,50,.3); }

[data-theme="nisan-starlight"] .hero-overlay {
  background: linear-gradient(180deg, rgba(8,12,28,.05) 0%, rgba(8,12,28,.5) 60%, rgba(8,12,28,.85) 100%);
}
[data-theme="nisan-starlight"] .hero-isim { color: #c0d8ff; text-shadow: 0 0 30px rgba(143,168,232,.35); }

[data-theme="nisan-vintage"] .hero-overlay {
  background: linear-gradient(180deg, rgba(247,242,232,.05) 0%, rgba(247,242,232,.38) 60%, rgba(247,242,232,.72) 100%);
}
[data-theme="nisan-vintage"] .hero-isim { color: #3a2a18; text-shadow: none; }

[data-theme="nisan-blossom"] .hero-overlay {
  background: linear-gradient(180deg, rgba(255,248,251,.05) 0%, rgba(255,248,251,.38) 60%, rgba(255,248,251,.72) 100%);
}
[data-theme="nisan-blossom"] .hero-isim { color: #5a1840; text-shadow: none; }

/* ════════════════════════════════════════════════════════════
   DOĞUM GÜNÜ — AÇILIŞ ARKA PLANLARI & İÇERİK
   ════════════════════════════════════════════════════════════ */

[data-theme="dogum-confetti"]  .kapi-sahnesi { background: #fff8f0; }
[data-theme="dogum-balloons"]  .kapi-sahnesi { background: #0d1a2e; }
[data-theme="dogum-carnival"]  .kapi-sahnesi { background: #1a0a24; }
[data-theme="dogum-sparkle"]   .kapi-sahnesi { background: #0a0a0a; }
[data-theme="dogum-storybook"] .kapi-sahnesi { background: #fef9f0; }
[data-theme="dogum-garden"]    .kapi-sahnesi { background: #f0faf0; }

[data-theme="dogum-confetti"] .hero-overlay {
  background: linear-gradient(180deg, rgba(255,248,240,.05) 0%, rgba(255,248,240,.38) 60%, rgba(255,248,240,.72) 100%);
}
[data-theme="dogum-confetti"] .hero-isim { color: #3a1a08; text-shadow: none; }

[data-theme="dogum-balloons"] .hero-overlay {
  background: linear-gradient(180deg, rgba(13,26,46,.1) 0%, rgba(13,26,46,.52) 60%, rgba(13,26,46,.82) 100%);
}
[data-theme="dogum-balloons"] .hero-isim { color: #c8f0ee; }

[data-theme="dogum-carnival"] .hero-overlay {
  background: linear-gradient(180deg, rgba(26,10,36,.1) 0%, rgba(26,10,36,.52) 60%, rgba(26,10,36,.82) 100%);
}
[data-theme="dogum-carnival"] .hero-isim { color: #ffc8ee; }

[data-theme="dogum-sparkle"] .hero-overlay {
  background: linear-gradient(180deg, rgba(10,10,10,.05) 0%, rgba(10,10,10,.5) 60%, rgba(10,10,10,.85) 100%);
}
[data-theme="dogum-sparkle"] .hero-isim { color: #ffe880; text-shadow: 0 0 30px rgba(255,215,0,.4); }

[data-theme="dogum-storybook"] .hero-overlay {
  background: linear-gradient(180deg, rgba(254,249,240,.05) 0%, rgba(254,249,240,.38) 60%, rgba(254,249,240,.72) 100%);
}
[data-theme="dogum-storybook"] .hero-isim { color: #3a2008; text-shadow: none; }

[data-theme="dogum-garden"] .hero-overlay {
  background: linear-gradient(180deg, rgba(240,250,240,.05) 0%, rgba(240,250,240,.38) 60%, rgba(240,250,240,.72) 100%);
}
[data-theme="dogum-garden"] .hero-isim { color: #0a2a0a; text-shadow: none; }

/* ════════════════════════════════════════════════════════════
   ASKER UĞURLAMASI — AÇILIŞ ARKA PLANLARI & İÇERİK
   ════════════════════════════════════════════════════════════ */

[data-theme="asker-mektup"]  .kapi-sahnesi { background: #f5f0e8; }
[data-theme="asker-demir"]   .kapi-sahnesi { background: #0f1a0f; }
[data-theme="asker-perde"]   .kapi-sahnesi { background: #1a0000; }
[data-theme="asker-gece"]    .kapi-sahnesi { background: #040810; }
[data-theme="asker-atlas"]   .kapi-sahnesi { background: #f0f4fa; }
[data-theme="asker-bayrak"]  .kapi-sahnesi { background: #fff5f5; }

[data-theme="asker-mektup"] .hero-overlay {
  background: linear-gradient(180deg, rgba(245,240,232,.05) 0%, rgba(245,240,232,.38) 60%, rgba(245,240,232,.72) 100%);
}
[data-theme="asker-mektup"] .hero-isim { color: #2a2010; text-shadow: none; }

[data-theme="asker-demir"] .hero-overlay {
  background: linear-gradient(180deg, rgba(15,26,15,.1) 0%, rgba(15,26,15,.52) 60%, rgba(15,26,15,.82) 100%);
}
[data-theme="asker-demir"] .hero-isim { color: #c8e8c8; }

[data-theme="asker-perde"] .hero-overlay {
  background: linear-gradient(180deg, rgba(26,0,0,.1) 0%, rgba(26,0,0,.52) 60%, rgba(26,0,0,.85) 100%);
}
[data-theme="asker-perde"] .hero-isim { color: #ffe0e0; }

[data-theme="asker-gece"] .hero-overlay {
  background: linear-gradient(180deg, rgba(4,8,16,.05) 0%, rgba(4,8,16,.5) 60%, rgba(4,8,16,.85) 100%);
}
[data-theme="asker-gece"] .hero-isim { color: #b8d0f8; text-shadow: 0 0 30px rgba(80,128,192,.35); }

[data-theme="asker-atlas"] .hero-overlay {
  background: linear-gradient(180deg, rgba(240,244,250,.05) 0%, rgba(240,244,250,.38) 60%, rgba(240,244,250,.72) 100%);
}
[data-theme="asker-atlas"] .hero-isim { color: #0a1828; text-shadow: none; }

[data-theme="asker-bayrak"] .hero-overlay {
  background: linear-gradient(180deg, rgba(255,245,245,.05) 0%, rgba(255,245,245,.38) 60%, rgba(255,245,245,.72) 100%);
}
[data-theme="asker-bayrak"] .hero-isim { color: #3a0808; text-shadow: none; }

/* Kategoriye ozel premium kapak yuzeyleri. Dinamik yazi orta alanda kalir. */
[data-theme="nisan-rosepetal"] .zarf-govde,
[data-theme="nisan-rosepetal"] .zarf-kapak-ic,
[data-theme="dogum-confetti"] .zarf-govde,
[data-theme="dogum-confetti"] .zarf-kapak-ic,
[data-theme="asker-mektup"] .zarf-govde,
[data-theme="asker-mektup"] .zarf-kapak-ic {
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 26px rgba(0,0,0,.08), 0 24px 55px rgba(0,0,0,.2);
}
[data-theme="nisan-rosepetal"] .zarf-govde,
[data-theme="nisan-rosepetal"] .zarf-kapak-ic { background-image: url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-confetti"] .zarf-govde,
[data-theme="dogum-confetti"] .zarf-kapak-ic { background-image: url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-mektup"] .zarf-govde,
[data-theme="asker-mektup"] .zarf-kapak-ic { background-image: url('/assets/covers/premium/soldier-turkish-motif.jpg'); }

[data-theme="nisan-lilacgate"] .kapi-sol,
[data-theme="nisan-lilacgate"] .kapi-sag,
[data-theme="dogum-balloons"] .kapi-sol,
[data-theme="dogum-balloons"] .kapi-sag,
[data-theme="asker-demir"] .kapi-sol,
[data-theme="asker-demir"] .kapi-sag {
  background-size: 200% 100%;
  background-blend-mode: multiply;
}
[data-theme="nisan-lilacgate"] .kapi-sol,
[data-theme="nisan-lilacgate"] .kapi-sag { background-image: linear-gradient(rgba(83,35,101,.42),rgba(83,35,101,.42)),url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-balloons"] .kapi-sol,
[data-theme="dogum-balloons"] .kapi-sag { background-image: linear-gradient(rgba(9,38,62,.25),rgba(9,38,62,.25)),url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-demir"] .kapi-sol,
[data-theme="asker-demir"] .kapi-sag { background-image: linear-gradient(rgba(20,50,27,.48),rgba(20,50,27,.48)),url('/assets/covers/premium/soldier-turkish-motif.jpg'); }
[data-theme="nisan-lilacgate"] .kapi-sol,
[data-theme="dogum-balloons"] .kapi-sol,
[data-theme="asker-demir"] .kapi-sol { background-position: left center; }
[data-theme="nisan-lilacgate"] .kapi-sag,
[data-theme="dogum-balloons"] .kapi-sag,
[data-theme="asker-demir"] .kapi-sag { background-position: right center; }

[data-theme="nisan-goldenring"] .perde-sol,
[data-theme="nisan-goldenring"] .perde-sag { background-image: linear-gradient(rgba(55,40,4,.58),rgba(55,40,4,.58)),url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-carnival"] .perde-sol,
[data-theme="dogum-carnival"] .perde-sag { background-image: linear-gradient(rgba(55,8,62,.48),rgba(55,8,62,.48)),url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-perde"] .perde-sol,
[data-theme="asker-perde"] .perde-sag { background-image: linear-gradient(rgba(78,0,0,.34),rgba(78,0,0,.34)),url('/assets/covers/premium/soldier-turkish-motif.jpg'); }
[data-theme="nisan-goldenring"] .perde-sol,
[data-theme="nisan-goldenring"] .perde-sag,
[data-theme="dogum-carnival"] .perde-sol,
[data-theme="dogum-carnival"] .perde-sag,
[data-theme="asker-perde"] .perde-sol,
[data-theme="asker-perde"] .perde-sag { background-size: 200% 100%; background-blend-mode: multiply; }
[data-theme="nisan-goldenring"] .perde-sol,
[data-theme="dogum-carnival"] .perde-sol,
[data-theme="asker-perde"] .perde-sol { background-position: left center; }
[data-theme="nisan-goldenring"] .perde-sag,
[data-theme="dogum-carnival"] .perde-sag,
[data-theme="asker-perde"] .perde-sag { background-position: right center; }

[data-theme="nisan-starlight"] .acilis-yildiz { background-image: linear-gradient(rgba(8,12,28,.78),rgba(8,12,28,.78)),url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-sparkle"] .acilis-yildiz { background-image: linear-gradient(rgba(10,10,10,.76),rgba(10,10,10,.76)),url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-gece"] .acilis-yildiz { background-image: linear-gradient(rgba(4,8,16,.72),rgba(4,8,16,.72)),url('/assets/covers/premium/soldier-turkish-motif.jpg'); }
[data-theme="nisan-starlight"] .acilis-yildiz,
[data-theme="dogum-sparkle"] .acilis-yildiz,
[data-theme="asker-gece"] .acilis-yildiz { background-size: cover; background-position: center; background-blend-mode: multiply; }

[data-theme="nisan-vintage"] .kitap-sol-sayfa,
[data-theme="nisan-vintage"] .kitap-sag-sayfa,
[data-theme="dogum-storybook"] .kitap-sol-sayfa,
[data-theme="dogum-storybook"] .kitap-sag-sayfa,
[data-theme="asker-atlas"] .kitap-sol-sayfa,
[data-theme="asker-atlas"] .kitap-sag-sayfa { background-size: 200% 100%; }
[data-theme="nisan-vintage"] .kitap-sol-sayfa,
[data-theme="nisan-vintage"] .kitap-sag-sayfa { background-image: linear-gradient(rgba(248,241,226,.22),rgba(248,241,226,.22)),url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-storybook"] .kitap-sol-sayfa,
[data-theme="dogum-storybook"] .kitap-sag-sayfa { background-image: linear-gradient(rgba(255,249,236,.12),rgba(255,249,236,.12)),url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-atlas"] .kitap-sol-sayfa,
[data-theme="asker-atlas"] .kitap-sag-sayfa { background-image: linear-gradient(rgba(12,34,69,.52),rgba(12,34,69,.52)),url('/assets/covers/premium/soldier-turkish-motif.jpg'); background-blend-mode: multiply; }
[data-theme="nisan-vintage"] .kitap-sol-sayfa,
[data-theme="dogum-storybook"] .kitap-sol-sayfa,
[data-theme="asker-atlas"] .kitap-sol-sayfa { background-position: left center; }
[data-theme="nisan-vintage"] .kitap-sag-sayfa,
[data-theme="dogum-storybook"] .kitap-sag-sayfa,
[data-theme="asker-atlas"] .kitap-sag-sayfa { background-position: right center; }

[data-theme="nisan-blossom"] .acilis-cicek { background-image: linear-gradient(rgba(255,248,251,.64),rgba(255,248,251,.64)),url('/assets/covers/premium/engagement-ornament.jpg'); }
[data-theme="dogum-garden"] .acilis-cicek { background-image: linear-gradient(rgba(240,250,240,.55),rgba(240,250,240,.55)),url('/assets/covers/premium/birthday-celebration.jpg'); }
[data-theme="asker-bayrak"] .acilis-cicek { background-image: linear-gradient(rgba(255,245,245,.24),rgba(255,245,245,.24)),url('/assets/covers/premium/soldier-turkish-motif.jpg'); }
[data-theme="nisan-blossom"] .acilis-cicek,
[data-theme="dogum-garden"] .acilis-cicek,
[data-theme="asker-bayrak"] .acilis-cicek { background-size: cover; background-position: center; }

/* Koyu temalarda geri sayim icin ortak okunabilirlik katmani. */
:is([data-theme="nisan-lilacgate"],[data-theme="nisan-goldenring"],[data-theme="nisan-starlight"],
    [data-theme="dogum-balloons"],[data-theme="dogum-carnival"],[data-theme="dogum-sparkle"],
    [data-theme="asker-demir"],[data-theme="asker-perde"],[data-theme="asker-gece"]) .hero-tarih { color: color-mix(in srgb, var(--on) 82%, white); }
:is([data-theme="nisan-lilacgate"],[data-theme="nisan-goldenring"],[data-theme="nisan-starlight"],
    [data-theme="dogum-balloons"],[data-theme="dogum-carnival"],[data-theme="dogum-sparkle"],
    [data-theme="asker-demir"],[data-theme="asker-perde"],[data-theme="asker-gece"]) .geri-sayim { color: var(--on); }
:is([data-theme="nisan-lilacgate"],[data-theme="nisan-goldenring"],[data-theme="nisan-starlight"],
    [data-theme="dogum-balloons"],[data-theme="dogum-carnival"],[data-theme="dogum-sparkle"],
    [data-theme="asker-demir"],[data-theme="asker-perde"],[data-theme="asker-gece"]) .geri-sayim-birim {
  background: color-mix(in srgb, var(--vurgu) 16%, transparent);
  border-color: color-mix(in srgb, var(--vurgu) 48%, transparent);
}

/* Kullanici yazi tercihi tema varsayilanindan her zaman once gelir. */
body[data-font="playfair"]    { --font-serif: 'Playfair Display', Georgia, serif; }
body[data-font="lora"]        { --font-serif: 'Lora', Georgia, serif; }
body[data-font="raleway"]     { --font-serif: 'Raleway', sans-serif; }
body[data-font="great-vibes"] { --font-serif: 'Great Vibes', cursive; --font-dekor: 'Great Vibes', cursive; }
body[data-font="montserrat"]  { --font-serif: 'Montserrat', sans-serif; --font-sans: 'Montserrat', sans-serif; }

/* 24 tema icin birbirinden bagimsiz premium kapak varliklari */
[data-theme="dugon-blushgarden"]    { --cover-image:url('/assets/covers/themes/dugon-blushgarden.jpg'); --cover-tint:rgba(255,248,244,.06); }
[data-theme="dugon-velvetrose"]     { --cover-image:url('/assets/covers/themes/dugon-velvetrose.jpg'); --cover-tint:rgba(38,0,10,.12); }
[data-theme="dugon-goldenhour"]     { --cover-image:url('/assets/covers/themes/dugon-goldenhour.jpg'); --cover-tint:rgba(55,35,0,.10); }
[data-theme="dugon-midnightgarden"] { --cover-image:url('/assets/covers/themes/dugon-midnightgarden.jpg'); --cover-tint:rgba(4,7,24,.22); }
[data-theme="dugon-sagelinen"]      { --cover-image:url('/assets/covers/themes/dugon-sagelinen.jpg'); --cover-tint:rgba(248,245,237,.05); }
[data-theme="dugon-azurecoast"]     { --cover-image:url('/assets/covers/themes/dugon-azurecoast.jpg'); --cover-tint:rgba(245,251,253,.18); }
[data-theme="nisan-rosepetal"]      { --cover-image:url('/assets/covers/themes/nisan-rosepetal.jpg'); --cover-tint:rgba(255,244,247,.06); }
[data-theme="nisan-lilacgate"]      { --cover-image:url('/assets/covers/themes/nisan-lilacgate.jpg'); --cover-tint:rgba(48,20,58,.18); }
[data-theme="nisan-goldenring"]     { --cover-image:url('/assets/covers/themes/nisan-goldenring.jpg'); --cover-tint:rgba(54,38,0,.10); }
[data-theme="nisan-starlight"]      { --cover-image:url('/assets/covers/themes/nisan-starlight.jpg'); --cover-tint:rgba(5,8,26,.30); }
[data-theme="nisan-vintage"]        { --cover-image:url('/assets/covers/themes/nisan-vintage.jpg'); --cover-tint:rgba(248,241,226,.08); }
[data-theme="nisan-blossom"]        { --cover-image:url('/assets/covers/themes/nisan-blossom.jpg'); --cover-tint:rgba(255,250,251,.12); }
[data-theme="dogum-confetti"]       { --cover-image:url('/assets/covers/themes/dogum-confetti.jpg'); --cover-tint:rgba(255,250,241,.05); }
[data-theme="dogum-balloons"]       { --cover-image:url('/assets/covers/themes/dogum-balloons.jpg'); --cover-tint:rgba(3,39,47,.12); }
[data-theme="dogum-carnival"]       { --cover-image:url('/assets/covers/themes/dogum-carnival.jpg'); --cover-tint:rgba(38,0,43,.18); }
[data-theme="dogum-sparkle"]        { --cover-image:url('/assets/covers/themes/dogum-sparkle.jpg'); --cover-tint:rgba(0,0,0,.24); }
[data-theme="dogum-storybook"]      { --cover-image:url('/assets/covers/themes/dogum-storybook.jpg'); --cover-tint:rgba(255,252,244,.06); }
[data-theme="dogum-garden"]         { --cover-image:url('/assets/covers/themes/dogum-garden.jpg'); --cover-tint:rgba(242,253,242,.10); }
[data-theme="asker-mektup"]         { --cover-image:url('/assets/covers/themes/asker-mektup.jpg'); --cover-tint:rgba(246,239,222,.05); }
[data-theme="asker-demir"]          { --cover-image:url('/assets/covers/themes/asker-demir.jpg'); --cover-tint:rgba(7,18,8,.20); }
[data-theme="asker-perde"]          { --cover-image:url('/assets/covers/themes/asker-perde.jpg'); --cover-tint:rgba(65,0,0,.15); }
[data-theme="asker-gece"]           { --cover-image:url('/assets/covers/themes/asker-gece.jpg'); --cover-tint:rgba(2,6,16,.24); }
[data-theme="asker-atlas"]          { --cover-image:url('/assets/covers/themes/asker-atlas.jpg'); --cover-tint:rgba(3,17,38,.12); }
[data-theme="asker-bayrak"]         { --cover-image:url('/assets/covers/themes/asker-bayrak.jpg'); --cover-tint:rgba(88,0,0,.08); }

[data-theme] .zarf-govde,
[data-theme] .zarf-kapak-ic {
  background-image:linear-gradient(var(--cover-tint),var(--cover-tint)),var(--cover-image);
  background-size:cover;
  background-position:center;
}
[data-theme] .zarf-ic-sol,
[data-theme] .zarf-ic-sag,
[data-theme] .zarf-ic-alt { opacity:.78; }
[data-theme] .zarf-kapak-ic {
  background-position:center top;
  outline:1px solid color-mix(in srgb, var(--vurgu) 22%, transparent);
  outline-offset:-1px;
}
[data-theme] .zarf-muhur {
  z-index:30;
  border:2px solid rgba(255,255,255,.34);
  box-shadow:0 7px 20px rgba(45,26,18,.34), inset 0 2px 3px rgba(255,255,255,.25);
}
[data-theme] .kapi-sol,
[data-theme] .kapi-sag,
[data-theme] .perde-sol,
[data-theme] .perde-sag,
[data-theme] .kitap-sol-sayfa,
[data-theme] .kitap-sag-sayfa {
  background-image:linear-gradient(var(--cover-tint),var(--cover-tint)),var(--cover-image);
  background-size:200% 100%;
  background-repeat:no-repeat;
}
[data-theme] .kapi-sol,
[data-theme] .perde-sol,
[data-theme] .kitap-sol-sayfa { background-position:left center; }
[data-theme] .kapi-sag,
[data-theme] .perde-sag,
[data-theme] .kitap-sag-sayfa { background-position:right center; }
[data-theme] .acilis-yildiz,
[data-theme] .acilis-cicek {
  background-image:linear-gradient(var(--cover-tint),var(--cover-tint)),var(--cover-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

@media (max-width:480px) {
  [data-theme] .zarf-govde,
  [data-theme] .zarf-kapak-ic,
  [data-theme] .acilis-yildiz,
  [data-theme] .acilis-cicek { background-position:center; }
}

@media (max-width: 520px) {
  .aile-metni { flex-direction: column; gap: .2rem; }
  .aile-ayrac { line-height: 1; }
}
.qr-bolum .harita-dis-link {
  display: flex !important;
  width: max-content;
  margin: .75rem auto 0 !important;
}
@media (max-width:600px) {
  .kapi-alt svg { width:36px;height:36px; }
}

/* Erişilebilirlik: tema vurgu renkleri dekoratif kalabilir; bilgi ve işlem
   metinleri her temanın ana metin rengiyle okunabilir olmalıdır. */
[data-theme] .hero-kicker { opacity:1; }
[data-theme] .bolum-etiket,
[data-theme] .aile-ayrac,
[data-theme] .etkinlik-tip,
[data-theme] .harita-link,
[data-theme] .harita-dis-link,
[data-theme] .dijital-davetiye-not a { color:var(--on); }
[data-theme] .harita-link { border-color:var(--on); }
[data-theme] .lcv-gonder { background:var(--on);color:var(--bg); }
[data-theme] .dijital-davetiye-not { color:var(--yakin); }
[data-theme] .harita-overlay-metin { background:#181818;color:#fff; }

/* Fotoğraf üstündeki küçük bilgiler doğrudan görsel rengine bağlı kalmaz. */
[data-theme] .hero-kicker {
  color:#fff;
  background:#181818;
  padding:.38rem .7rem;
  border-radius:999px;
  width:max-content;
  max-width:calc(100% - 2rem);
  margin-left:auto;
  margin-right:auto;
}
[data-theme] .geri-sayim-birim {
  background:#181818;
  border-color:rgba(255,255,255,.42);
  color:#fff;
}
[data-theme] .etkinlik-kart {
  background:#fffdfb;
  border-color:#d8cec4;
}
[data-theme] .etkinlik-kart .etkinlik-tip,
[data-theme] .etkinlik-kart .etkinlik-tarih,
[data-theme] .etkinlik-kart .etkinlik-mekan,
[data-theme] .etkinlik-kart .harita-link { color:#2d241e; }
[data-theme] .etkinlik-kart .etkinlik-adres { color:#5f554c; }
[data-theme] .etkinlik-kart .harita-link { border-color:#2d241e; }
[data-theme] .lcv-bolum { background:#fffaf5;color:#2d241e; }
[data-theme] .lcv-bolum .bolum-etiket,
[data-theme] .lcv-bolum .lcv-baslik,
[data-theme] .lcv-bolum .form-grup label { color:#2d241e; }
[data-theme] .lcv-bolum .lcv-gonder { background:#2d241e;color:#fff; }

[data-theme] .geri-sayim-sayi,
[data-theme] .geri-sayim-etiket { color:#fff;opacity:1;text-shadow:none; }
[data-theme] .davet-metni {
  color:#2d241e;
  background:#fffdfb;
  border:1px solid #d8cec4;
  border-radius:12px;
  padding:1rem 1.2rem;
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}
[data-theme] .etkinlik-ikon { color:#2d241e; }
[data-theme] .yorum-yukleniyor,
[data-theme] .yorum-listesi > p,
[data-theme] .bolum > p:not(.davet-metni):not(.aile-metni) {
  color:#403830!important;
  background:#fffdfb;
  border-radius:10px;
  padding:.65rem .85rem;
}
[data-theme] .dijital-davetiye-not,
[data-theme] .davet-footer {
  background:#fffaf5;
  color:#2d241e;
}
[data-theme] .dijital-davetiye-not p,
[data-theme] .davet-footer p,
[data-theme] .dijital-davetiye-not a { color:#2d241e; }
[data-theme] .dijital-davetiye-not strong { color:#2d241e!important; }


/* ── WhatsApp Paylaşım Butonu ── */
.wa-paylas-btn{position:fixed;bottom:24px;right:24px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s;text-decoration:none}
.wa-paylas-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.3)}
@media(max-width:480px){.wa-paylas-btn{bottom:16px;right:16px;width:48px;height:48px}.wa-paylas-btn svg{width:24px;height:24px}}


/* ════════════════════════════════════════════════════════════
   DÜZEN VARYASYONLARI — data-layout attribute
   3 farklı içerik düzeni: klasik / split / sinematik
   ════════════════════════════════════════════════════════════ */

/* ── SPLIT: İki sütunlu editöryel düzen ── */
/* Hero ile davet metni yan yana, içerik bölümleri daha geniş */
.davet-icerik[data-layout="split"] .hero-bolum {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 70vh;
  align-items: center;
}
.davet-icerik[data-layout="split"] .hero-foto,
.davet-icerik[data-layout="split"] .hero-foto-yok {
  grid-area: 1 / 1 / 2 / 2;
  height: 100%;
  min-height: 70vh;
}
.davet-icerik[data-layout="split"] .hero-overlay {
  grid-area: 1 / 1 / 2 / 2;
}
.davet-icerik[data-layout="split"] .hero-metin {
  grid-area: 1 / 2 / 2 / 3;
  padding: 3rem 2.5rem;
  text-align: left;
  align-items: flex-start;
}
.davet-icerik[data-layout="split"] .hero-metin .hero-isim {
  font-size: clamp(2.2rem, 6vw, 4rem);
  text-align: left;
}
.davet-icerik[data-layout="split"] .hero-metin .geri-sayim {
  justify-content: flex-start;
}
.davet-icerik[data-layout="split"] .bolum {
  max-width: 760px;
  margin-inline: auto;
}
.davet-icerik[data-layout="split"] .hikaye-bolum,
.davet-icerik[data-layout="split"] .galeri-bolum {
  max-width: 1000px;
}
@media (max-width: 768px) {
  .davet-icerik[data-layout="split"] .hero-bolum {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .davet-icerik[data-layout="split"] .hero-foto,
  .davet-icerik[data-layout="split"] .hero-foto-yok {
    min-height: 45vh;
  }
  .davet-icerik[data-layout="split"] .hero-metin {
    grid-area: auto;
    text-align: center;
    align-items: center;
    padding: 2.5rem 1.5rem;
  }
  .davet-icerik[data-layout="split"] .hero-metin .hero-isim {
    text-align: center;
  }
  .davet-icerik[data-layout="split"] .hero-metin .geri-sayim {
    justify-content: center;
  }
}

/* ── SİNEMATİK: Tam ekran hero, dramatik bölümler ── */
/* Hero tam ekran, bölümler daha geniş padding, drama */
.davet-icerik[data-layout="sinematik"] .hero-bolum {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.davet-icerik[data-layout="sinematik"] .hero-metin .hero-isim {
  font-size: clamp(3rem, 12vw, 7rem);
  letter-spacing: -0.02em;
}
.davet-icerik[data-layout="sinematik"] .hero-metin .hero-kicker {
  letter-spacing: 0.4em;
  font-size: 0.7rem;
  text-transform: uppercase;
}
.davet-icerik[data-layout="sinematik"] .bolum {
  padding-block: 5rem;
  max-width: 720px;
  margin-inline: auto;
}
.davet-icerik[data-layout="sinematik"] .bolum-baslik {
  font-size: clamp(1.8rem, 6vw, 3rem);
}
.davet-icerik[data-layout="sinematik"] .hikaye-bolum,
.davet-icerik[data-layout="sinematik"] .galeri-bolum {
  max-width: 1100px;
  padding-block: 6rem;
}
.davet-icerik[data-layout="sinematik"] .bolum-etiket {
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-size: 0.65rem;
}
@media (max-width: 768px) {
  .davet-icerik[data-layout="sinematik"] .hero-bolum {
    min-height: 85vh;
  }
  .davet-icerik[data-layout="sinematik"] .bolum {
    padding-block: 3.5rem;
  }
}

/* ── KLASİK: Mevcut düzen (varsayılan, ek stil gerekmez) ── */
/* data-layout="klasik" için ek CSS gerekmez — mevcut stiller geçerli */


/* ════════════════════════════════════════════════════════════
   DÜZEN BAZLI SCROLL ANİMASYONLARI
   fade-in sınıfı, data-layout'a göre farklı animasyon davranışı gösterir
   ════════════════════════════════════════════════════════════ */

/* SPLIT düzen: Bölümler soldan sağa kademeli giriş */
.davet-icerik[data-layout="split"] .bolum.fade-in {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1);
}
.davet-icerik[data-layout="split"] .bolum.fade-in.gorunum {
  opacity: 1;
  transform: translateX(0);
}
/* Split'de tek bölümler sağdan, çift bölümler soldan gelsin */
.davet-icerik[data-layout="split"] .bolum.fade-in:nth-child(even) {
  transform: translateX(30px);
}
.davet-icerik[data-layout="split"] .bolum.fade-in:nth-child(even).gorunum {
  transform: translateX(0);
}

/* SİNEMATİK düzen: Bölümler scale + blur ile dramatik giriş */
.davet-icerik[data-layout="sinematik"] .bolum.fade-in {
  opacity: 0;
  transform: scale(0.94);
  filter: blur(6px);
  transition: opacity .9s cubic-bezier(0.16,1,0.3,1),
              transform .9s cubic-bezier(0.16,1,0.3,1),
              filter .9s cubic-bezier(0.16,1,0.3,1);
}
.davet-icerik[data-layout="sinematik"] .bolum.fade-in.gorunum {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

/* Mobilde split/sinematik animasyonları basitleştir */
@media (max-width: 768px) {
  .davet-icerik[data-layout="split"] .bolum.fade-in,
  .davet-icerik[data-layout="split"] .bolum.fade-in:nth-child(even) {
    transform: translateY(24px);
  }
  .davet-icerik[data-layout="sinematik"] .bolum.fade-in {
    transform: translateY(24px);
    filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .davet-icerik[data-layout="split"] .bolum.fade-in,
  .davet-icerik[data-layout="sinematik"] .bolum.fade-in {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* ════════════════════════════════════════════════════════════
   KATEGORİ BAZLI DEKORATİF AYRAÇLAR
   Her kategori (dugon/nisan/dogumgunu/asker) için farklı süsleme
   bolum-baslik'tan sonra dekoratif SVG ayraç gösterir
   ════════════════════════════════════════════════════════════ */

/* Temel ayraç — ortalanmış, vurgu renginde */
.bolum-baslik::after {
  content: '';
  display: block;
  width: 60px;
  height: 24px;
  margin: 1rem auto 0;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.7;
}

/* DÜĞÜN — Çiçek + yaprak motifi */
[data-event="dugon"] .bolum-baslik::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24' fill='none' stroke='%23c8826e' stroke-width='1.2'%3E%3Cpath d='M30 12c-4-6-10-6-10 0s6 6 10 0z'/%3E%3Cpath d='M30 12c4-6 10-6 10 0s-6 6-10 0z'/%3E%3Cpath d='M30 4v16'/%3E%3Cpath d='M22 8c2 2 4 4 8 4s6-2 8-4'/%3E%3C/svg%3E");
}

/* NİŞAN — Yüzük + kalp motifi */
[data-event="nisan"] .bolum-baslik::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24' fill='none' stroke='%23d4758a' stroke-width='1.2'%3E%3Ccircle cx='22' cy='12' r='6'/%3E%3Ccircle cx='38' cy='12' r='6'/%3E%3Cpath d='M30 10l-2 2 2 2 2-2z' fill='%23d4758a'/%3E%3C/svg%3E");
}

/* DOĞUM GÜNÜ — Konfeti + yıldız motifi */
[data-event="dogumgunu"] .bolum-baslik::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24' fill='none' stroke='%23ff6b6b' stroke-width='1.2'%3E%3Cpath d='M15 6l2 4 4 2-4 2-2 4-2-4-4-2 4-2z' fill='%23ff6b6b'/%3E%3Cpath d='M30 4v16' stroke-dasharray='2 3'/%3E%3Cpath d='M45 6l2 4 4 2-4 2-2 4-2-4-4-2 4-2z' fill='%23ff6b6b'/%3E%3C/svg%3E");
}

/* ASKER — Yıldız + madalya motifi */
[data-event="asker"] .bolum-baslik::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24' fill='none' stroke='%237a6840' stroke-width='1.2'%3E%3Cpath d='M30 4l3 6 6 1-4.5 4.5 1 6.5L30 18l-5.5 4 1-6.5L21 11l6-1z' fill='%237a6840'/%3E%3C/svg%3E");
}

/* LCV ve misafir defteri bölümlerinde ayraç gösterme */
.lcv-bolum .bolum-baslik::after,
.misafir-defteri-bolum .bolum-baslik::after,
.qr-bolum .bolum-baslik::after {
  display: none;
}

/* Sinematik düzende ayraç daha büyük */
.davet-icerik[data-layout="sinematik"] .bolum-baslik::after {
  width: 80px;
  height: 32px;
  margin-top: 1.5rem;
}
