/* =====================================================================
   ESAS GOLD · BANNER TASARIM SİSTEMİ
   Tüm banner'lar bu dosyayı kullanır. Renk, font, çerçeve, fiyat bloğu
   gibi ortak parçalar burada bir kez tanımlıdır.

   Ölçek: her banner kendi tasarım ölçüsüyle (--w × --h) çizilir ve
   bulunduğu kutunun genişliğine göre orantılı büyür/küçülür.
   1 tasarım pikseli = var(--u)
   Animasyon kancaları: [data-anim="..."]
   ===================================================================== */

/* ---------- 1. TOKENLAR ---------- */
.eg {
  --navy: #1B2A55;
  --night: #0B1328;
  --cream: #F3EEE5;
  --ivory: #F7F1E3;
  --gold: #FECB19;
  --gold-deep: #FECB19;
  --gold-bright: #FECB19;
  --mist: #D5DAE8;
  --slate: #6B7290;
  --slate-light: #A9B1C9;
  --ruby: #8E1B2E;
  --sapphire: #23397E;
  --emerald: #0E6646;
  --f-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --f-body: 'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------- 2. TEMALAR ---------- */
/* Krem: açık, ferah */
.eg--krem  { --bg: var(--cream); --ink: var(--navy); --title: var(--navy); --muted: #3A4466; --accent: var(--gold-deep);
             --cta-bg: var(--navy); --cta-ink: #fff; --old: var(--slate); --sep: rgba(27,42,85,.15); --line: rgba(254,203,25,.11); }
/* Karma: krem zemin + lüks altın detaylar */
.eg--karma { --bg: var(--cream); --ink: var(--navy); --title: var(--navy); --muted: #3A4466; --accent: var(--gold-deep);
             --cta-bg: var(--navy); --cta-ink: #fff; --old: var(--slate); --sep: rgba(27,42,85,.15); --line: rgba(254,203,25,.11); }
/* Lüks gece mavisi */
.eg--luks  { --bg: var(--night); --ink: #fff; --title: var(--ivory); --muted: var(--mist); --accent: var(--gold-bright);
             --cta-bg: var(--gold-bright); --cta-ink: var(--night); --old: var(--slate-light); --sep: rgba(255,255,255,.2); --line: rgba(254,203,25,.07); }
/* İkili: gece mavisi metin alanı + krem ürün alanı */
.eg--ikili { --bg: var(--night); --ink: #fff; --title: var(--ivory); --muted: var(--mist); --accent: var(--gold);
             --cta-bg: var(--gold); --cta-ink: var(--night); --old: var(--slate-light); --sep: rgba(255,255,255,.2); --line: rgba(254,203,25,.07); }
/* Krem alan içindeki öğeler (İkili temada ürün tarafı) */
.eg-on-cream { --ink: var(--navy); --title: var(--navy); --old: var(--slate); --sep: rgba(27,42,85,.15); }

/* ---------- 3. KABUK ---------- */
.eg { container-type: inline-size; width: 100%; margin: 0 auto; font-family: var(--f-body); }
.eg *, .eg *::before, .eg *::after { box-sizing: border-box; }
.eg__stage {
  --u: calc(100cqw / var(--w));
  position: relative; overflow: hidden; width: 100%;
  aspect-ratio: var(--w) / var(--h);
  background: var(--bg); color: var(--ink);
}
.eg a { color: inherit; text-decoration: none; }
.eg__layer { position: absolute; inset: 0; pointer-events: none; }
.eg .eg__abs { position: absolute; }

/* ---------- 4. ARKA PLAN KATMANLARI ---------- */
.eg-light-cream { background: radial-gradient(ellipse 52% 82% at var(--lx, 69%) var(--ly, 46%), rgba(255,255,255,.85) 0%, rgba(255,255,255,.45) 45%, rgba(255,255,255,0) 78%); }
.eg-light-night { background: radial-gradient(ellipse 55% 85% at var(--lx, 68%) var(--ly, 42%), rgba(70,96,168,.42) 0%, rgba(40,60,120,.18) 40%, rgba(11,19,40,0) 75%); }
.eg-velvet { filter: blur(calc(6 * var(--u)));
  background: linear-gradient(112deg, transparent 18%, rgba(255,255,255,.045) 27%, transparent 36%, transparent 52%, rgba(255,255,255,.035) 61%, transparent 70%, rgba(255,255,255,.03) 84%, transparent 92%); }
.eg-lattice {
  background:
    repeating-linear-gradient(60deg, var(--line) 0, var(--line) 1px, transparent 1px, transparent calc(46 * var(--u))),
    repeating-linear-gradient(-60deg, var(--line) 0, var(--line) 1px, transparent 1px, transparent calc(46 * var(--u)));
  -webkit-mask-image: radial-gradient(ellipse var(--mw, 50%) var(--mh, 72%) at var(--mx, 70%) var(--my, 50%), #000 0%, transparent 80%);
          mask-image: radial-gradient(ellipse var(--mw, 50%) var(--mh, 72%) at var(--mx, 70%) var(--my, 50%), #000 0%, transparent 80%);
}
.eg-vignette-night { background: radial-gradient(ellipse 75% 95% at var(--vx, 55%) 50%, transparent 55%, rgba(0,0,0,.6) 100%); }
.eg-vignette-cream { background: radial-gradient(ellipse 78% 100% at var(--vx, 55%) 50%, rgba(254,203,25,0) 58%, rgba(254,203,25,.12) 100%); }

/* Altın çift çerçeve + elmas süsleri */
.eg-frame  { position: absolute; inset: calc(var(--fi, 24) * var(--u)); border: 1px solid var(--accent); opacity: .62; pointer-events: none; }
.eg-frame--inner { inset: calc((var(--fi, 24) + 7) * var(--u)); opacity: .26; }
.eg-orn { position: absolute; width: calc(12 * var(--u)); height: calc(12 * var(--u)); min-width: 7px; min-height: 7px;
  background: var(--bg); border: 1px solid var(--accent); transform: translate(-50%, -50%) rotate(45deg); pointer-events: none; }

/* İkili: krem yay (büyük daire) */
.eg-arc { position: absolute; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #FFFDF8 0%, #F7F2E9 40%, var(--cream) 70%);
  box-shadow: 0 0 0 2px var(--accent), 0 0 calc(60 * var(--u)) rgba(0,0,0,.45); }
.eg-arc-ring { position: absolute; border-radius: 50%; border: 1px solid var(--accent); opacity: .35; }

/* ---------- 5. TİPOGRAFİ ---------- */
.eg-copy { position: relative; display: flex; flex-direction: column; gap: calc(var(--gap, 22) * var(--u)); }
.eg-copy--center { align-items: center; text-align: center; }
.eg-eyebrow { margin: 0; font-size: calc(var(--fs-eyebrow, 14) * var(--u)); font-weight: 500; letter-spacing: .28em; color: var(--accent); text-transform: uppercase; }
.eg-title { margin: 0; font-family: var(--f-display); font-style: italic; font-weight: 500;
  font-size: calc(var(--fs-title, 92) * var(--u)); line-height: .95; letter-spacing: -.01em; color: var(--title); }
.eg-title span { display: block; }
.eg-title--caps { font-style: normal; font-family: var(--f-body); font-weight: 500; letter-spacing: .12em; line-height: 1.05; text-transform: uppercase; }
.eg-rule { width: calc(64 * var(--u)); height: max(1px, calc(2 * var(--u))); background: var(--accent); }
.eg-desc { margin: 0; font-size: calc(var(--fs-desc, 18) * var(--u)); font-weight: 300; line-height: 1.55; color: var(--muted); }

/* ---------- 6. BUTON + İNDİRİM ---------- */
.eg-actions { display: flex; align-items: center; gap: calc(20 * var(--u)); margin-top: calc(6 * var(--u)); }
.eg-cta { display: inline-flex; align-items: center; justify-content: center;
  height: calc(var(--cta-h, 52) * var(--u)); padding: 0 calc(var(--cta-px, 34) * var(--u));
  background: var(--cta-bg); color: var(--cta-ink) !important; font-size: calc(var(--fs-cta, 15) * var(--u)); font-weight: 600;
  letter-spacing: .14em; border-radius: 2px; transition: filter .2s ease; white-space: nowrap; }
.eg-cta:hover { filter: brightness(1.12); }
.eg-cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.eg-cta--ghost { background: transparent; color: var(--ink) !important; border: 1px solid var(--accent); }
/* Birden çok buton: grup halinde, indirim yanında */
.eg-buttons { display: flex; flex-wrap: wrap; gap: calc(12 * var(--u)); }
.eg-actions--iki { flex-wrap: wrap; row-gap: calc(14 * var(--u)); }
.eg-actions--iki .eg-cta { --cta-px: 24; }

/* Ürün kartı butonu: fiyatların altında, ürüne gider */
.eg-product__link { display: flex; flex-direction: column; align-items: center; gap: inherit; }
.eg-card-cta { --cta-h: 40; --cta-px: 26; --fs-cta: 12; margin-top: calc(4 * var(--u)); }
.eg-on-cream .eg-card-cta { --cta-bg: var(--navy); --cta-ink: #fff; }
.eg-on-cream .eg-card-cta:hover { filter: none; background: var(--gold-deep); }
.eg--krem .eg-card-cta:hover, .eg--karma .eg-card-cta:hover { filter: none; background: var(--gold-deep); }
/* Koyu temada kart butonu çerçeveli: ana butonla (dolu altın) yarışmasın */
.eg--luks .eg-card-cta { background: transparent; color: var(--ivory) !important; border: 1px solid var(--accent); }
.eg--luks .eg-card-cta:hover { filter: none; background: var(--accent); color: var(--night) !important; }
/* Düğün Seti: buton sağdaki dar (170 birim) metin sütununda, sola yaslı */
[data-banner="dugun-seti"] .eg-card-cta { --cta-px: 18; margin-top: calc(6 * var(--u)); }
/* Grid kartları: ürün görseli + hemen altında ürün butonu */
.eg-media { display: flex; flex-direction: column; align-items: center; gap: calc(14 * var(--u)); }
.eg-media .eg-card-cta { margin-top: 0; }
/* Açık zeminli gridlerde ana buton da lacivert: ürün butonu çerçeveli olur */
.eg--krem .eg-media .eg-card-cta, .eg--karma .eg-media .eg-card-cta { background: transparent; color: var(--navy) !important; border: 1px solid var(--navy); }
.eg--krem .eg-media .eg-card-cta:hover, .eg--karma .eg-media .eg-card-cta:hover { background: var(--navy); color: #fff !important; }
/* 3'lü grid: görselin altında ürün + kategori butonu yan yana */
.eg-g3-btns { flex-direction: row; justify-content: center; gap: calc(12 * var(--u)); }
.eg-g3-btns .eg-cta { --cta-h: 40; --cta-px: 20; --fs-cta: 12; }
/* Dar kartlar (Altın Zincir 172 birim): buton daha sıkı */
[data-banner="altin-zincir-hero"] .eg-card-cta { --cta-px: 14; --fs-cta: 11; --cta-h: 36; letter-spacing: .1em; }
.eg-discount { display: flex; align-items: baseline; gap: calc(6 * var(--u)); color: var(--ink); }
.eg-discount b { font-family: var(--f-display); font-size: calc(var(--fs-disc, 44) * var(--u)); font-weight: 600; line-height: 1; color: var(--disc-color, var(--accent)); }
.eg--krem .eg-discount b, .eg--karma .eg-discount b { --disc-color: var(--navy); }
.eg-discount span { font-size: calc(14 * var(--u)); font-weight: 500; letter-spacing: .14em; }

/* ---------- 7. ÜRÜN + FİYAT ---------- */
.eg-product { position: relative; display: flex; flex-direction: column; align-items: center; gap: calc(var(--pgap, 14) * var(--u)); }
.eg-name { margin: 0; font-size: calc(var(--fs-name, 14) * var(--u)); font-weight: 500; letter-spacing: .2em; color: var(--ink); text-align: center; }
.eg-prices { display: flex; gap: calc(28 * var(--u)); justify-content: center; }
.eg-sep { width: 1px; background: var(--sep); }
.eg-price { display: flex; flex-direction: column; align-items: center; gap: calc(4 * var(--u)); }
.eg-ct { display: inline-flex; align-items: center; height: calc(26 * var(--u)); padding: 0 calc(12 * var(--u));
  border: 1px solid var(--accent); border-radius: 999px; font-size: calc(13 * var(--u)); font-weight: 600; letter-spacing: .08em; color: var(--ct-color, var(--ink)); }
.eg--luks .eg-ct, .eg--ikili .eg-ct { --ct-color: var(--accent); }
.eg-on-cream .eg-ct { --ct-color: var(--navy); }
.eg-old { font-size: calc(var(--fs-old, 14) * var(--u)); color: var(--old); text-decoration: line-through; }
.eg-new { font-size: calc(var(--fs-new, 30) * var(--u)); font-weight: 600; line-height: 1; color: var(--ink); letter-spacing: -.01em; }
.eg-from { font-size: calc(11 * var(--u)); font-weight: 500; letter-spacing: .2em; color: var(--old); text-transform: uppercase; }

/* Ürün görseli */
.eg-photo { position: relative; }
.eg-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
/* Ürün görselleri şeffaf zeminli WebP: her zeminde ve animasyonda (transform) sorunsuz çalışır. */
.eg-shadow { position: absolute; left: 50%; transform: translateX(-50%); border-radius: 50%; filter: blur(calc(3 * var(--u)));
  background: radial-gradient(ellipse at center, rgba(27,42,85,.30) 0%, rgba(27,42,85,.10) 45%, rgba(27,42,85,0) 72%); }

/* Koyu zeminde ürün: fildişi madalyon */
.eg-disc { position: relative; border-radius: 50%; overflow: hidden;
  background: radial-gradient(circle at 50% 30%, #FDFBF6 0%, #F3ECDF 55%, #E6DAC4 100%);
  box-shadow: 0 0 0 2px rgba(254,203,25,.85), 0 0 0 calc(9 * var(--u)) var(--bg), 0 0 0 calc(10 * var(--u)) rgba(254,203,25,.4),
              0 calc(30 * var(--u)) calc(60 * var(--u)) rgba(0,0,0,.55), 0 0 calc(90 * var(--u)) rgba(120,150,220,.18); }

/* Gerçek çekim fotoğrafı (mankenli) için kemer çerçeve */
.eg-arch { position: absolute; overflow: hidden; border-radius: 999px 999px 0 0; }
.eg-arch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eg-arch-frame { position: absolute; border: 1px solid var(--accent); border-radius: 999px 999px 0 0; pointer-events: none; }

/* Mankenli tam yükseklik panel (koyu zemine erir) */
.eg-panel-photo { position: absolute; top: 0; bottom: 0; overflow: hidden; }
.eg-panel-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eg-panel-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,19,40,0) var(--fade, 55%), var(--bg) 100%); }

/* Değerli taş vurgu rengi (renkli taş gridleri) */
.eg-gem-ruby     { --gem: var(--ruby); }
.eg-gem-sapphire { --gem: var(--sapphire); }
.eg-gem-emerald  { --gem: var(--emerald); }
.eg-gem-dot { display: inline-block; width: calc(10 * var(--u)); height: calc(10 * var(--u)); background: var(--gem); transform: rotate(45deg); }

/* ---------- 9. RESPONSIVE ----------
   Geniş banner'lar (eg--wide) 1000 px'den dar kutuda dikey düzene geçer.
   Mobil tasarım 760 birim genişlikte çizilir; --u en fazla 640 px'lik
   genişliğe göre hesaplanır, içerik ortalanır. Gridler dar kutuda
   küçük yazıları büyütür.                                              */
.eg-mob-group { display: contents; }

@container (max-width: 999px) {
  .eg--wide .eg__stage {
    --u: calc(min(100cqw, 640px) / 760);
    aspect-ratio: auto; display: flex; flex-direction: column; align-items: center;
    gap: calc(44 * var(--u)); padding: calc(64 * var(--u)) calc(36 * var(--u)) calc(64 * var(--u));
  }
  .eg--wide .eg__abs, .eg--wide .eg-arch {
    position: relative !important; left: auto !important; top: auto !important; right: auto !important;
    transform: none !important;
  }
  .eg--wide .eg-arc, .eg--wide .eg-arc-ring, .eg--wide .eg-orn, .eg--wide .eg-arch-frame { display: none; }
  .eg--wide .eg-frame { --fi: 14; }

  /* metin bloğu */
  .eg--wide .eg-copy { width: min(100%, calc(640 * var(--u))) !important; align-items: center; text-align: center; --gap: 22 !important; }
  .eg--wide .eg-eyebrow { font-size: calc(20 * var(--u)); }
  .eg--wide .eg-title { font-size: calc(96 * var(--u)); }
  .eg--wide .eg-desc { font-size: calc(27 * var(--u)); }
  .eg--wide .eg-actions { justify-content: center; flex-wrap: wrap; gap: calc(28 * var(--u)); }
  .eg--wide .eg-cta { --cta-h: 88 !important; --cta-px: 52 !important; --fs-cta: 24 !important; }
  .eg--wide .eg-actions--iki { flex-direction: column; gap: calc(24 * var(--u)); }
  .eg--wide .eg-buttons { flex-direction: column; align-items: stretch; width: calc(480 * var(--u)); gap: calc(16 * var(--u)); }
  .eg--wide .eg-actions--iki .eg-cta { --cta-h: 80 !important; --cta-px: 24 !important; --fs-cta: 22 !important; }
  .eg--wide .eg-card-cta { --cta-h: 64 !important; --cta-px: 36 !important; --fs-cta: 19 !important; }
  [data-banner="altin-zincir-hero"] .eg-card-cta { --cta-h: 56 !important; --cta-px: 12 !important; --fs-cta: 15 !important; letter-spacing: .06em; }
  .eg--wide .eg-discount b { font-size: calc(68 * var(--u)); }
  .eg--wide .eg-discount span { font-size: calc(22 * var(--u)); }

  /* ürün + fiyat */
  .eg--wide .eg-name { font-size: calc(21 * var(--u)) !important; letter-spacing: .14em; }
  .eg--wide .eg-ct { height: calc(40 * var(--u)); padding: 0 calc(16 * var(--u)); font-size: calc(20 * var(--u)); }
  .eg--wide .eg-price { --fs-new: 40 !important; --fs-old: 21 !important; }
  .eg--wide .eg-from { font-size: calc(16 * var(--u)); letter-spacing: .06em; text-align: center; }
  .eg--wide .eg-mob-row { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; }

  /* krem ürün alanı (İkili temalarda) */
  .eg--wide .eg-mob-cream {
    width: calc(100% + 72 * var(--u)) !important; margin: 0 calc(-36 * var(--u)) calc(-64 * var(--u));
    padding: calc(56 * var(--u)) calc(16 * var(--u)) calc(72 * var(--u));
    gap: calc(28 * var(--u)) !important;
    background: radial-gradient(ellipse 70% 90% at 50% 40%, #FFFDF8 0%, #F7F2E9 45%, var(--cream) 80%);
    border-top: 2px solid var(--accent); border-radius: 50% 50% 0 0 / calc(64 * var(--u)) calc(64 * var(--u)) 0 0;
  }

  /* 01 Tektaş: iki ürün yan yana */
  [data-banner="tektas-hero"] .eg-product { width: calc(354 * var(--u)) !important; }
  [data-banner="tektas-hero"] .eg-price { --fs-new: 36 !important; }
  [data-banner="tektas-hero"] .eg-prices { gap: calc(18 * var(--u)); }

  /* 02 Altın Zincir: kemer fotoğraf + 3 zincir */
  [data-banner="altin-zincir-hero"] .eg-arch { width: calc(440 * var(--u)) !important; height: calc(560 * var(--u)) !important; box-shadow: 0 0 0 1px var(--accent), 0 0 0 calc(10 * var(--u)) var(--cream), 0 0 0 calc(11 * var(--u)) rgba(254,203,25,.5); }
  [data-banner="altin-zincir-hero"] .eg-mob-row { gap: calc(24 * var(--u)) !important; align-items: flex-start; }
  [data-banner="altin-zincir-hero"] .eg-product { width: calc(212 * var(--u)) !important; }
  [data-banner="altin-zincir-hero"] .eg-photo { width: calc(200 * var(--u)) !important; height: calc(250 * var(--u)) !important; }

  /* 04 Baget: metin üstte, iki yüzük altta */
  [data-banner="baget-tekli"] .eg__stage { flex-direction: row; flex-wrap: wrap; justify-content: center; column-gap: calc(48 * var(--u)); }
  [data-banner="baget-tekli"] .eg-copy { order: -1; flex-basis: 100%; }
  [data-banner="baget-tekli"] .eg-product { width: calc(300 * var(--u)) !important; }
  [data-banner="baget-tekli"] .eg-disc { width: calc(280 * var(--u)) !important; height: calc(280 * var(--u)) !important; }

  /* 06 Düğün Seti: mankenli fotoğraf üstte, set ve fiyat krem alanda */
  [data-banner="dugun-seti"] .eg-panel-photo {
    position: relative; top: auto; bottom: auto; width: calc(520 * var(--u)) !important; height: calc(700 * var(--u));
    border-radius: 999px 999px 0 0; box-shadow: 0 0 0 1px var(--accent), 0 0 0 calc(10 * var(--u)) var(--bg), 0 0 0 calc(11 * var(--u)) rgba(254,203,25,.5);
  }
  [data-banner="dugun-seti"] .eg-panel-photo img { top: calc(-150 * var(--u)) !important; }
  [data-banner="dugun-seti"] .eg-panel-photo::after { background: linear-gradient(180deg, rgba(11,19,40,0) 80%, rgba(11,19,40,.35) 100%); }
  [data-banner="dugun-seti"] .eg-mob-group { display: flex; }
  [data-banner="dugun-seti"] .eg-mob-group .eg-copy { width: calc(260 * var(--u)) !important; align-items: flex-start; text-align: left; }
  [data-banner="dugun-seti"] .eg-mob-group .eg-photo { width: calc(340 * var(--u)) !important; height: calc(380 * var(--u)) !important; }

  /* 08 Hediye: madalyon, başlık ve metin alt alta */
  [data-banner="hediye"] .eg__stage { gap: calc(18 * var(--u)); padding-block: calc(48 * var(--u)) calc(52 * var(--u)); }
  [data-banner="hediye"] .eg-frame { --fi: 10; }
  [data-banner="hediye"] .eg-gift-disc { width: calc(180 * var(--u)) !important; height: calc(180 * var(--u)) !important; order: 0; }
  [data-banner="hediye"] .eg-gift-disc img { left: calc(30 * var(--u)) !important; top: calc(-152 * var(--u)) !important; width: calc(120 * var(--u)) !important; height: calc(330 * var(--u)) !important; }
  [data-banner="hediye"] .eg-gift-title { order: 1; font-size: calc(110 * var(--u)) !important; }
  [data-banner="hediye"] .eg-gift-text { order: 2; width: auto !important; white-space: normal !important; text-align: center; gap: calc(12 * var(--u)) !important; }
  [data-banner="hediye"] .eg-gift-text p:last-child { font-size: calc(26 * var(--u)) !important; line-height: 1.4; }
}

/* 2'li grid: dar kutuda küçük yazılar büyür */
@container (max-width: 560px) {
  .eg[data-banner^="grid2"] .eg-copy { --gap: 9 !important; }
  .eg[data-banner^="grid2"] .eg-title { font-size: calc(48 * var(--u)); }
  .eg[data-banner^="grid2"] .eg-eyebrow { font-size: calc(22 * var(--u)); }
  .eg[data-banner^="grid2"] .eg-ct { height: calc(40 * var(--u)); padding: 0 calc(16 * var(--u)); font-size: calc(23 * var(--u)); }
  .eg[data-banner^="grid2"] .eg-price { --fs-new: 46 !important; --fs-old: 23 !important; }
  .eg[data-banner^="grid2"] .eg-cta { --cta-h: 60 !important; --fs-cta: 18 !important; --cta-px: 20 !important; }
}
/* 3'lü grid: dar kutuda küçük yazılar büyür */
@container (max-width: 380px) {
  .eg[data-banner^="grid3"] .eg-eyebrow { font-size: calc(21 * var(--u)); }
  .eg[data-banner^="grid3"] .eg-title { font-size: calc(66 * var(--u)); }
  .eg[data-banner^="grid3"] .eg-ct { height: calc(38 * var(--u)); padding: 0 calc(16 * var(--u)); font-size: calc(21 * var(--u)); }
  .eg[data-banner^="grid3"] .eg-price { --fs-new: 40 !important; --fs-old: 22 !important; gap: calc(6 * var(--u)); }
  .eg[data-banner^="grid3"] .eg-g3-btns .eg-cta { --cta-h: 48; --cta-px: 18; --fs-cta: 14; }
}

/* ---------- 8. SAYFA DÜZENİ (inceleme sayfası) ---------- */
.eg-row { display: grid; gap: var(--row-gap, 30px); }
.eg-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.eg-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .eg-row--2, .eg-row--3 { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) { .eg * { transition: none !important; animation: none !important; } }

/* ---------- 10. WORDPRESS / ELEMENTOR UYUMU ----------
   Tema ve Elementor'un genel img / başlık kuralları (ör. .elementor img
   { height:auto }) banner yerleşimini bozmasın diye özgüllük artırılır. */
.eg .eg-photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.eg .eg-arch img, .eg .eg-panel-photo img { max-width: none; border: 0; border-radius: 0; box-shadow: none; }
.eg .eg-arch img { height: 100%; }
.eg .eg-disc img { max-width: none; }
.eg .eg-title, .eg .eg-name, .eg .eg-desc { text-transform: none; }
.eg .eg-eyebrow { text-transform: uppercase; }
.eg-wrap { width: 100%; margin-inline: auto; }
.eg .eg-price--gizli { justify-content: center; }

/* Elementor container içinde widget kutusu tam genişlik olmalı. Aksi halde
   .eg'deki container-type: inline-size yüzünden Elementor banner yüksekliğini
   dar genişlikte hesaplar (mobilde ~30px) ve sonraki bölümler banner'ın
   üzerine biner. */
.e-con > .elementor-widget[class*="elementor-widget-eg_"],
.e-con > .e-con-inner > .elementor-widget[class*="elementor-widget-eg_"] { width: 100%; max-width: 100%; }

/* EsasGold logo sarısı açık zemin okunurluğu. */
.eg--krem .eg-eyebrow, .eg--karma .eg-eyebrow { color: var(--navy); }
.eg-on-cream .eg-card-cta:hover,
.eg--krem .eg-card-cta:hover,
.eg--karma .eg-card-cta:hover { color: var(--navy) !important; }