/* ===========================================================================
   px2image · Özel Gün modu stilleri (css/style.css'ten otomatik ayıklandı: build-ozel-gunler.js)
   Gerekli renk değişkenleri: site temasında zaten varsa :root bloğunu silebilirsiniz.
   Değerler "R G B" üçlüsüdür (rgb(var(--x) / alfa) ile kullanılır).
   =========================================================================== */
.gun-bar, .gun-logo-tag {
  --c-fg: 255 255 255;      /* ana yazı */
  --c-header: 29 40 58;     /* header zemini */
  --c-border: 52 74 106;    /* çizgiler */
  --c-input: 37 52 75;
  --c-muted: 174 182 193;
  --c-dim: 85 92 104;
  --c-ink: 15 21 31;
  --a-300: 251 230 173;     /* vurgu (altın) */
  --a-400: 248 214 119;
}

/* ---------------------------------------------------------------------------
   Özel Gün modu (js/gun.js): üst şerit, köşe rozeti, menü altı renk çizgisi, anma kurdelesi, açılış efekti
--------------------------------------------------------------------------- */
/* üst şerit: sitenin koyu zemini, solda günün renginde vurgu, altın çerçeveli amblem */
.gun-bar { position: sticky; top: 0; z-index: 55; display: flex; align-items: center; justify-content: center; gap: 14px; height: 64px; padding: 0 16px; background: radial-gradient(60% 140% at 50% 0%, color-mix(in srgb, var(--gun1) 22%, transparent), transparent 70%), rgb(var(--c-header)); border-bottom: 1px solid rgb(var(--c-border)); color: rgb(var(--c-fg)); overflow: hidden; animation: gun-down 600ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.gun-bar::before { content: ''; position: absolute; left: 0; right: 0; top: 0; z-index: 1; height: 2px; background: linear-gradient(90deg, transparent, var(--gun1) 20%, rgb(var(--a-300)) 30%, var(--gun1) 40%, transparent 50%, var(--gun1) 70%, rgb(var(--a-300)) 80%, var(--gun1) 90%, transparent); }
.gun-bar::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / 0.06) 50%, transparent 60%); background-size: 250% 100%; animation: gun-shine 7s ease-in-out 1s infinite; pointer-events: none; }
.gun-em { position: relative; display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--gun1) 55%, #fff 10%), color-mix(in srgb, var(--gun1) 70%, #000)); box-shadow: 0 0 0 1.5px rgb(var(--a-400)), 0 0 14px -2px rgb(var(--a-400) / 0.7); color: #fff; font-size: 14px; }
.gun-em .gun-flag { width: 22px; height: auto; border-radius: 2px; box-shadow: 0 1px 3px rgb(0 0 0 / 0.4); transform-origin: 0 50%; animation: gun-wave 2.4s ease-in-out infinite; }
.gun-em.is-sm { width: 26px; height: 26px; font-size: 11px; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--g1) 55%, #fff 10%), color-mix(in srgb, var(--g1) 70%, #000)); }
.gun-em.is-sm .gun-flag { width: 16px; }
.gun-bar-tx { position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 2px 12px; max-width: min(640px, 70%); padding: 7px 18px; border-radius: 999px; background: rgb(var(--c-header) / 0.78); box-shadow: 0 0 0 1px rgb(var(--a-400) / 0.25), 0 6px 20px -8px rgb(0 0 0 / 0.7); backdrop-filter: blur(6px); text-align: center; }
.gun-bar-tx b { background: linear-gradient(90deg, rgb(var(--c-fg)), rgb(var(--a-300))); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 15px; font-weight: 900; letter-spacing: 0.01em; }
.gun-bar-tx small { color: rgb(var(--c-muted)); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; }
.gun-bar::before { background-size: 200% 100%; animation: gun-line 4s linear infinite; }
.gun-bar-tx b { background-size: 220% 100%; background-image: linear-gradient(90deg, rgb(var(--c-fg)) 0%, rgb(var(--c-fg)) 35%, rgb(var(--a-300)) 50%, rgb(var(--c-fg)) 65%, rgb(var(--c-fg)) 100%); animation: gun-text 5s ease-in-out infinite; }
html[data-gun="anma"] .gun-bar::before { animation-duration: 9s; }
html[data-gun="anma"] .gun-em.is-ring::after { animation-duration: 8s; background: conic-gradient(from 0deg, transparent 0 60%, rgb(255 255 255 / 0.7) 80%, transparent 100%); }
html[data-gun="anma"] .gun-em.is-ring::before { animation: none; }
html[data-gun="anma"] .gun-bar-tx b { animation: gun-breathe 4s ease-in-out infinite; }
html[data-gun="anma"] .gun-bar { background: rgb(8 8 10); }
html[data-gun="anma"] .gun-bar::before { background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.5), transparent); }
html[data-gun="anma"] .gun-bar-tx b { background: none; color: #fff; }
html[data-gun="anma"] .gun-em { background: #050505; box-shadow: 0 0 0 1.5px rgb(255 255 255 / 0.6); }
/* menü şeridin altına yapışır */
html[data-gun] header.sticky { top: var(--gun-h, 0px) !important; }
.gun-fx { position: fixed; inset: 0; z-index: 90; width: 100vw; height: 100vh; pointer-events: none; }
@media (max-width: 1199px) { .gun-em { width: 28px; height: 28px; font-size: 12px; } .gun-bar-tx b { font-size: 13px; } .gun-bar-tx small { font-size: 11px; } }
@keyframes gun-down { from { transform: translateY(-100%); opacity: 0; } }
@keyframes gun-up { to { transform: translateY(-100%); opacity: 0; margin-bottom: -46px; } }
@keyframes gun-shine { 0%, 55% { background-position: 130% 0; } 85%, 100% { background-position: -30% 0; } }
@keyframes gun-pop { from { opacity: 0; transform: scale(0.4) rotate(-12deg); } }
@keyframes gun-out { to { opacity: 0; transform: scale(0.5); } }
@keyframes gun-line { from { background-position: 0 0; } to { background-position: -200% 0; } }
@keyframes gun-rise { 0% { opacity: 0; transform: translateY(0) scale(var(--s)) rotate(0); } 20% { opacity: 1; } 100% { opacity: 0; transform: translateY(-58px) scale(var(--s)) rotate(200deg); } }
@keyframes gun-spin { to { transform: rotate(360deg); } }
@keyframes gun-halo { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--gun1) 70%, transparent); } 100% { box-shadow: 0 0 0 12px transparent; } }
@keyframes gun-text { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes gun-breathe { 50% { opacity: 0.75; } }
@keyframes gun-wave { 0%, 100% { transform: skewY(-4deg) scaleX(1); } 50% { transform: skewY(4deg) scaleX(0.92); } }
@keyframes gun-float { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(1deg); } }

/* ---- özel gün sahneleri (js/gun-scene.js) ---- */
.gun-scene { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.gun-scene svg { display: block; width: 100%; height: 100%; overflow: visible; }
/* dalgalanan bayrak: dilimler gecikmeli oynar, üstte ışık-gölge geçer */
.gs-flag { position: absolute; bottom: 4px; display: flex; align-items: flex-start; height: calc(var(--fw) / 1.5 + 22px); }
.gs-flag.is-l { left: 3%; } .gs-flag.is-r { right: 3%; } .gs-flag.is-l2 { left: 11%; bottom: 10px; } .gs-flag.is-r2 { right: 11%; bottom: 10px; }
.gs-pole { flex: 0 0 auto; width: 3px; height: 100%; border-radius: 2px; background: linear-gradient(90deg, #8a8f98, #f4f6f8, #6b7079); position: relative; }
.gs-pole::before { content: ''; position: absolute; top: -4px; left: -2px; width: 7px; height: 7px; border-radius: 50%; background: #e9c46a; }
.gs-cloth { position: relative; display: flex; width: var(--fw); height: calc(var(--fw) / 1.5); margin-top: 2px; filter: drop-shadow(0 3px 4px rgb(0 0 0 / 0.4)); }
.gs-cloth b { flex: 1; height: 100%; background-size: var(--fw) 100%; background-position: calc(var(--i) / var(--n) * var(--fw) * -1) 0; margin-right: -0.4px; animation: gs-wave 1.6s ease-in-out infinite; animation-delay: calc(var(--i) * -0.09s); }
.gs-cloth b::after { content: ''; display: block; width: 100%; height: 100%; background: rgb(0 0 0 / 0.22); animation: gs-shade 1.6s ease-in-out infinite; animation-delay: calc(var(--i) * -0.09s); }
@keyframes gs-wave { 0%, 100% { transform: translateY(calc(var(--i) * -0.18px)); } 50% { transform: translateY(calc(var(--i) * 0.32px + 2px)); } }
@keyframes gs-shade { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }
/* flama dizisi */
.gs-bunting { position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; padding: 0 1%; border-top: 1.5px solid rgb(255 255 255 / 0.5); }
.gs-bunting i { width: 16px; height: 18px; background: var(--c); clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: 50% 0; animation: gs-pennant 2.2s ease-in-out infinite; animation-delay: var(--d); filter: drop-shadow(0 2px 2px rgb(0 0 0 / 0.3)); }
@keyframes gs-pennant { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }
/* yürüyen hayvanlar */
.gs-walk { position: absolute; bottom: 0; left: 0; width: var(--w); height: calc(var(--w) * 0.64); animation: gs-walk var(--t) linear infinite; animation-delay: var(--d); }
.gs-walk svg { animation: gs-bob 0.5s ease-in-out infinite alternate; }
.gs-walk.is-rtl { animation-name: gs-walk-rtl; }
.gs-walk.is-rtl svg { transform: scaleX(-1); animation-name: gs-bob-rtl; }
.gs-walk .lg-a, .gs-walk .lg-b { transform-box: fill-box; transform-origin: 50% 0; animation: gs-leg 0.5s ease-in-out infinite alternate; }
.gs-walk .lg-b { animation-direction: alternate-reverse; }
.gs-walk .tail { transform-box: fill-box; transform-origin: 100% 100%; animation: gs-tail 0.6s ease-in-out infinite alternate; }
@keyframes gs-walk { from { transform: translateX(-120px); } to { transform: translateX(calc(100vw + 40px)); } }
@keyframes gs-walk-rtl { from { transform: translateX(calc(100vw + 40px)); } to { transform: translateX(-120px); } }
@keyframes gs-bob { from { transform: translateY(0); } to { transform: translateY(-1.5px); } }
@keyframes gs-bob-rtl { from { transform: scaleX(-1) translateY(0); } to { transform: scaleX(-1) translateY(-1.5px); } }
@keyframes gs-leg { from { transform: rotate(-22deg); } to { transform: rotate(22deg); } }
@keyframes gs-tail { from { transform: rotate(-12deg); } to { transform: rotate(14deg); } }
/* sıra halinde sallanan / sarkan süsler */
.gs-row { position: absolute; left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 1%; }
.gs-row.is-bottom { bottom: -2px; align-items: flex-end; }
.gs-row.is-top { top: 0; align-items: flex-start; }
.gs-row i { display: block; width: calc(var(--h) * 0.5); height: var(--h); }
.gs-sway { transform-origin: 50% 100%; animation: gs-sway 3.2s ease-in-out infinite; animation-delay: var(--d); }
.gs-swing { transform-origin: 50% 0; animation: gs-swing 2.8s ease-in-out infinite; animation-delay: var(--d); }
@keyframes gs-sway { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
@keyframes gs-swing { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } }
.gun-scene .glow { animation: gs-glow 1.6s ease-in-out infinite alternate; }
@keyframes gs-glow { to { opacity: 0.45; } }
/* yükselen / düşen parçacıklar */
.gs-rise { position: absolute; bottom: -60px; width: 18px; height: 46px; animation: gs-rise var(--t) linear infinite; animation-delay: var(--d); }
.gs-rise.is-h { width: calc(16px * var(--s, 1)); height: calc(15px * var(--s, 1)); bottom: -20px; }
@keyframes gs-rise { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: 1; } 100% { transform: translateY(-130px) translateX(12px); opacity: 0.9; } }
.gs-snow, .gs-pom { position: absolute; top: -8px; width: calc(6px * var(--s, 1)); height: calc(6px * var(--s, 1)); border-radius: 50%; background: #fff; box-shadow: 0 0 6px #fff; animation: gs-fall var(--t) linear infinite; animation-delay: var(--d); }
.gs-pom { width: 8px; height: 8px; background: radial-gradient(circle at 35% 35%, #fff59d, #ffd60a 60%, #e0a800); box-shadow: none; }
@keyframes gs-fall { to { transform: translate(18px, 80px); } }
.gs-star { position: absolute; width: 9px; height: 9px; background: #ffd166; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); filter: drop-shadow(0 0 4px #ffd166); animation: gs-twk 2.4s ease-in-out infinite; animation-delay: var(--d); }
.gs-star.is-blue { background: #8ecae6; filter: drop-shadow(0 0 4px #8ecae6); }
@keyframes gs-twk { 0%, 100% { opacity: 0.2; transform: scale(0.6); } 50% { opacity: 1; transform: scale(1.2) rotate(45deg); } }
/* hilal */
.gs-moon { position: absolute; right: 3%; top: 10px; width: 36px; height: 36px; border-radius: 50%; box-shadow: inset -9px 5px 0 0 #f8f3d4; filter: drop-shadow(0 0 8px rgb(248 243 212 / 0.7)); transform: rotate(-20deg); }
.gs-moon.is-gold { box-shadow: inset -9px 5px 0 0 #ffd166; filter: drop-shadow(0 0 10px rgb(255 209 102 / 0.8)); left: 3%; right: auto; }
/* deniz + vapur (19 Mayıs) */
.gs-sea { position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: repeating-linear-gradient(90deg, #0f4c81 0 30px, #1565a8 30px 60px); opacity: 0.7; animation: gs-sea 3s linear infinite; }
@keyframes gs-sea { to { background-position: 60px 0; } }
.gs-sail { position: absolute; bottom: 4px; left: 0; width: 110px; height: 46px; animation: gs-walk 34s linear infinite, gs-bob 1.2s ease-in-out infinite alternate; }
/* köprü (15 Temmuz) */
.gs-bridge { position: absolute; left: 10%; right: 10%; bottom: 0; height: 60px; opacity: 0.9; }
.gs-blink { animation: gs-twk 2s ease-in-out infinite; animation-delay: var(--d); transform-box: fill-box; transform-origin: center; }
/* Atatürk imzası */
.gs-sig.is-r { left: auto; right: 6%; }
.gs-sig.is-r .gs-sig-ink, .gs-sig.is-r .gs-sig-pen { animation-delay: -4.5s; }
.gs-sig { position: absolute; left: 6%; top: 6px; bottom: 6px; width: 170px; }
.gs-sig svg { filter: drop-shadow(0 0 6px rgb(255 255 255 / 0.6)); }
.gs-sig-ink { position: absolute; inset: 0; animation: gs-write 9s ease-in-out infinite; }
.gs-sig-pen { position: absolute; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px 4px rgb(255 255 255 / 0.8); animation: gs-pen 9s ease-in-out infinite; }
@keyframes gs-write { 0% { clip-path: inset(-20% 100% -20% 0); opacity: 1; } 40% { clip-path: inset(-20% 0 -20% 0); opacity: 1; } 85% { opacity: 1; } 95%, 100% { clip-path: inset(-20% 0 -20% 0); opacity: 0; } }
@keyframes gs-pen { 0% { left: 0; opacity: 1; } 40% { left: 100%; opacity: 1; } 45%, 100% { left: 100%; opacity: 0; } }
@keyframes gs-breathe { 50% { opacity: 0.7; } }
html[data-gun="anma"] .gs-flag.is-l { left: 7%; }
.gs-paws { position: absolute; inset: 0; background-image: radial-gradient(circle, rgb(255 214 165 / 0.18) 3px, transparent 4px); background-size: 46px 30px; }
/* kâğıt uçak / kalem (24 Kasım) */
.gs-fly { position: absolute; left: 0; width: 34px; height: 20px; animation: gs-fly var(--t) linear infinite; animation-delay: var(--d); }
.gs-fly.is-rtl { width: 50px; height: 10px; animation-name: gs-fly-rtl; }
@keyframes gs-fly { 0% { transform: translate(-60px, 10px) rotate(-6deg); } 50% { transform: translate(50vw, -8px) rotate(4deg); } 100% { transform: translate(calc(100vw + 60px), 10px) rotate(-6deg); } }
@keyframes gs-fly-rtl { 0% { transform: translate(calc(100vw + 60px), 0) rotate(8deg); } 100% { transform: translate(-80px, 0) rotate(-8deg); } }
/* mimoza / dişli / ip ışıklar / kravat ipi */
.gs-mim { position: absolute; width: 90px; height: 56px; transform-origin: 0 100%; animation: gs-sway 4s ease-in-out infinite; }
.gs-mim.is-l { left: 0; bottom: 0; } .gs-mim.is-l2 { left: 8%; bottom: -8px; animation-delay: -1.5s; }
.gs-mim.is-r { right: 0; bottom: 0; transform: scaleX(-1); animation-name: gs-sway-r; } .gs-mim.is-r2 { right: 8%; bottom: -8px; transform: scaleX(-1); animation-name: gs-sway-r; animation-delay: -1.5s; }
@keyframes gs-sway-r { 0%, 100% { transform: scaleX(-1) rotate(-6deg); } 50% { transform: scaleX(-1) rotate(6deg); } }
.gs-gear { position: absolute; width: 44px; height: 44px; animation: gs-spin 8s linear infinite; }
.gs-gear.is-l { left: 3%; top: 4px; } .gs-gear.is-l2 { left: calc(3% + 36px); top: 26px; width: 30px; height: 30px; animation-direction: reverse; animation-duration: 5.5s; }
.gs-gear.is-r { right: 3%; top: 4px; } .gs-gear.is-r2 { right: calc(3% + 36px); top: 26px; width: 30px; height: 30px; animation-direction: reverse; animation-duration: 5.5s; }
@keyframes gs-spin { to { transform: rotate(360deg); } }
.gs-lights { position: absolute; left: 0; right: 0; top: 2px; display: flex; justify-content: space-between; padding: 0 1%; border-top: 1.5px solid rgb(255 255 255 / 0.25); }
.gs-lights i { width: 8px; height: 12px; margin-top: 2px; border-radius: 50% 50% 45% 45%; background: var(--c); box-shadow: 0 0 10px var(--c); animation: gs-twk2 1.4s ease-in-out infinite alternate; animation-delay: var(--d); }
@keyframes gs-twk2 { from { opacity: 0.35; } to { opacity: 1; } }
.gs-line { position: absolute; left: 0; right: 0; top: 1px; border-top: 1.5px solid rgb(255 255 255 / 0.3); }
@media (max-width: 767px) {
  .gun-bar { height: 58px; }
  .gun-bar-tx { max-width: 86%; padding: 5px 12px; }
  .gs-flag.is-l2, .gs-flag.is-r2, .gs-mim.is-l2, .gs-mim.is-r2, .gs-gear.is-l2, .gs-gear.is-r2, .gs-sig { display: none; }
  .gs-flag { --fw: 28px !important; }
}

/* ---- 29 Ekim: kırmızı ipek zemin, el yazısı + klasik büyük harf, 29 Ekim amblemi, büyük bayrak ---- */
.gun-bar.is-cumhuriyet { height: 84px; background: linear-gradient(90deg, #5c000b, #b0001a 22%, #d10f26 50%, #b0001a 78%, #5c000b); border-bottom: 1px solid #ffd76a55; }
.gun-bar.is-cumhuriyet::before { height: 2px; background: linear-gradient(90deg, transparent, #ffd76a 30%, #fff6d0 50%, #ffd76a 70%, transparent); background-size: 200% 100%; }
.gun-bar.is-cumhuriyet::after { background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / 0.14) 50%, transparent 60%); background-size: 250% 100%; }
.gs-silk { position: absolute; inset: 0; opacity: 0.55; }
.gs-silk path { fill: rgb(255 255 255 / 0.07); }
.gs-silk-a { animation: gs-silk 9s ease-in-out infinite alternate; }
.gs-silk-b { animation: gs-silk 12s ease-in-out infinite alternate-reverse; }
@keyframes gs-silk { from { transform: translateX(-60px); } to { transform: translateX(60px); } }
.gs-crest { position: absolute; left: 4%; top: 50%; display: flex; align-items: center; gap: 2px; color: #fff; transform: translateY(-50%); filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.35)); }
.gs-crest svg { width: 46px; height: 46px; margin-right: -4px; }
.gs-crest-star { transform-box: fill-box; transform-origin: center; animation: gs-twk 3s ease-in-out infinite; }
.gs-crest b { font-family: 'Playfair Display', serif; font-style: italic; font-size: 54px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.gs-crest em { align-self: flex-end; margin: 0 0 10px 4px; font-family: 'Great Vibes', cursive; font-size: 30px; font-style: normal; line-height: 1; }
.gs-flag-big { bottom: 6px; right: 5% !important; }
.gs-glint { position: absolute; width: 10px; height: 10px; background: #ffe08a; clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%); transform: scale(var(--s)); opacity: 0; animation: gs-glint 3.6s ease-in-out infinite; animation-delay: var(--d); }
@keyframes gs-glint { 0%, 100% { opacity: 0; transform: scale(calc(var(--s) * 0.4)) rotate(0); } 50% { opacity: 0.9; transform: scale(var(--s)) rotate(90deg); } }
.gs-t29 { position: relative; z-index: 3; display: grid; justify-items: center; line-height: 1; text-shadow: 0 2px 10px rgb(80 0 10 / 0.55); }
.gs-script { color: #fff; font-family: 'Great Vibes', cursive; font-size: 44px; line-height: 0.95; padding: 0 12px; clip-path: inset(-30% 100% -30% -5%); animation: gs-pen-write 2.2s cubic-bezier(0.45, 0, 0.25, 1) 0.3s forwards; }
.gs-caps { margin-top: 1px; background: linear-gradient(90deg, #ffe9a8, #fff, #ffd76a, #fff, #ffe9a8); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 17px; font-weight: 800; letter-spacing: 0.28em; text-shadow: none; filter: drop-shadow(0 1px 3px rgb(80 0 10 / 0.6)); animation: gs-caps-in 1s ease 1.6s both, gs-caps-shine 6s linear 2.6s infinite; }
@keyframes gs-pen-write { to { clip-path: inset(-30% -5% -30% -5%); } }
@keyframes gs-caps-in { from { opacity: 0; letter-spacing: 0.6em; } }
@keyframes gs-caps-shine { to { background-position: -200% 0; } }
@media (max-width: 767px) {
  .gun-bar.is-cumhuriyet { height: 70px; }
  .gs-crest { display: none; }
  .gs-script { font-size: 34px; }
  .gs-caps { font-size: 12px; letter-spacing: 0.18em; }
  .gs-flag-big { --fw: 34px !important; right: 3% !important; }
}


/* logonun sağındaki gün imzası */
.gun-logo-tag { position: relative; display: inline-flex; align-items: center; gap: 10px; height: 46px; margin-left: 16px; padding-left: 18px; animation: glt-in 900ms cubic-bezier(0.22, 1, 0.36, 1) 300ms both; }
.gun-logo-tag::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 1.5px; background: linear-gradient(transparent, rgb(var(--a-400)), transparent); }
.gun-logo-tag .gs-flag.is-mini { position: relative; bottom: auto; left: auto; right: auto; height: 38px; }
.glt-tx { display: grid; line-height: 1; }
.glt-script { color: rgb(var(--c-fg)); font-family: 'Great Vibes', cursive; font-size: 27px; line-height: 0.9; padding-right: 4px; clip-path: inset(-30% 100% -30% -5%); animation: gs-pen-write 1.8s cubic-bezier(0.45, 0, 0.25, 1) 700ms forwards; }
.glt-caps { margin-top: 2px; background: linear-gradient(90deg, #ffe9a8, #fff, #ffd76a, #fff, #ffe9a8); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 11px; font-weight: 800; letter-spacing: 0.3em; animation: gs-caps-in 900ms ease 1.6s both, gs-caps-shine 6s linear 2.6s infinite; }
.gun-logo-tag .gs-sig.is-mini { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 110px; height: 40px; }
.gun-logo-tag .gs-sig.is-mini .gs-sig-pen { width: 7px; height: 7px; margin-top: -3.5px; }
@keyframes glt-in { from { opacity: 0; transform: translateX(-12px); } }
/* mobil: eski "logonun son span'ı" kuralını (inline-block !important) ezmek için daha özgül seçici */
@media (max-width: 767px) { html body header > .site-container > a:first-child > span.gun-logo-tag { display: none !important; } }

/* ---- 10 Kasım: siyah-grafit zemin, gümüş yazı, yükselen ışık zerreleri, imza ---- */
.gun-bar.is-ataturk { height: 84px; background: linear-gradient(90deg, #030303, #121316 25%, #1b1c20 50%, #121316 75%, #030303); border-bottom: 1px solid rgb(255 255 255 / 0.12); }
.gun-bar.is-ataturk::before { height: 1.5px; background: linear-gradient(90deg, transparent, #9aa0a8 30%, #f2f2f2 50%, #9aa0a8 70%, transparent); background-size: 200% 100%; animation-duration: 10s; }
.gun-bar.is-ataturk::after { background: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.07) 50%, transparent 58%); background-size: 250% 100%; animation-duration: 12s; }
.gs-mist { position: absolute; inset: 0; background: radial-gradient(40% 120% at 50% 100%, rgb(255 255 255 / 0.06), transparent 70%); animation: gs-breathe 6s ease-in-out infinite; }
.gs-mote { position: absolute; bottom: -6px; width: 3px; height: 3px; border-radius: 50%; background: #fff; box-shadow: 0 0 6px 1px rgb(255 255 255 / 0.7); opacity: 0; transform: scale(var(--s)); animation: gs-mote var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-mote { 0% { opacity: 0; transform: translate(0, 0) scale(var(--s)); } 15% { opacity: 0.7; } 80% { opacity: 0.4; } 100% { opacity: 0; transform: translate(var(--x), -90px) scale(var(--s)); } }
.gs-crest.is-silver { color: #e9eaec; filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gs-crest.is-silver b { background: linear-gradient(180deg, #ffffff, #b9bcc2); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gs-crest-c { display: grid; align-self: center; margin-left: 6px; line-height: 1; }
.gs-crest-c em { font-family: 'Great Vibes', cursive; font-size: 30px; font-style: normal; }
.gs-crest-c small { margin-top: 4px; background: linear-gradient(90deg, #9aa0a8, #fff, #c9ccd1); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 12px; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; white-space: nowrap; }
.gs-t29.is-silver { text-shadow: 0 2px 10px rgb(0 0 0 / 0.7); }
.gs-t29.is-silver .gs-caps { background-image: linear-gradient(90deg, #9aa0a8, #ffffff, #c9ccd1, #ffffff, #9aa0a8); letter-spacing: 0.5em; filter: drop-shadow(0 1px 3px rgb(0 0 0 / 0.8)); }
.gs-sig.is-solo { right: 4% !important; left: auto; width: 190px; top: 10px; bottom: 10px; }
.gs-sig.is-solo .gs-sig-ink, .gs-sig.is-solo .gs-sig-pen { animation-delay: 0.6s; }
/* logo yanı: 09.05 saati */
.glt-clock { width: 40px; height: 40px; color: #d9dbe0; filter: drop-shadow(0 0 6px rgb(255 255 255 / 0.25)); animation: gs-breathe 5s ease-in-out infinite; }
.glt-tx.is-silver .glt-caps { background-image: linear-gradient(90deg, #9aa0a8, #fff, #c9ccd1, #fff, #9aa0a8); }
@media (max-width: 767px) { .gun-bar.is-ataturk { height: 70px; } .gs-sig.is-solo { display: none; } }
.gs-t29 { padding-top: 6px; }
.gs-t29.is-silver .gs-script { font-size: 40px; }


/* 10 Kasım: "10 KASIM 193∞" tek satır, dikeyde ortalı; ∞ üzerinde sürekli dolaşan ışık */
.gs-crest.is-line { top: 50%; align-items: baseline; gap: 14px; transform: translateY(calc(-50% - 4px)); }
.gs-crest.is-line b { font-size: 44px; line-height: 1; }
.gs-yr { display: inline-flex; align-items: center; gap: 0; color: #eceef1; font-family: 'Cinzel', serif; font-size: 27px; font-weight: 700; letter-spacing: 0.08em; line-height: 1; text-shadow: 0 2px 8px rgb(0 0 0 / 0.6); }
.gs-crest .gs-yr svg.gs-inf { width: 31px; height: 12px; margin: 0 0 0 6px; overflow: visible; translate: 0 -1.5px; }
.gs-inf path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.gs-inf-base { stroke: #d9dbe0; stroke-width: 3.6; }
.gs-inf-run { stroke: #ffffff; stroke-width: 4.2; stroke-dasharray: 16 84; filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 8px rgb(255 255 255 / 0.7)); animation: gs-inf-run 3.2s linear infinite; }
@keyframes gs-inf-run { to { stroke-dashoffset: -100; } }
.gs-anniv { position: absolute; top: 50%; display: flex; align-items: center; gap: 10px; transform: translateY(-50%); animation: gs-anniv-in 1s ease 1.8s both; }
@keyframes gs-anniv-in { from { opacity: 0; } }
.gs-anniv b { background: linear-gradient(180deg, #ffffff, #a9adb4); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Playfair Display', serif; font-size: 44px; font-style: italic; font-weight: 800; line-height: 1; }
.gs-anniv span { padding-left: 10px; border-left: 1px solid rgb(255 255 255 / 0.3); color: #d6d8dc; font-family: 'Cinzel', serif; font-size: 12px; font-weight: 800; letter-spacing: 0.26em; line-height: 1.5; text-transform: uppercase; }
@media (max-width: 1200px) { .gs-anniv { display: none; } }

/* ---- 18 Mart: barut dumanı, dev 1915, siper + dikenli tel + bayrak, abide + gelincik ---- */
.gun-bar.is-canakkale { height: 84px; background: linear-gradient(180deg, #2b2724 0%, #1c1a18 60%, #141210 100%); border-bottom: 1px solid rgb(200 170 120 / 0.2); }
.gun-bar.is-canakkale::before { height: 1.5px; background: linear-gradient(90deg, transparent, #8b7355 30%, #e8d5b0 50%, #8b7355 70%, transparent); background-size: 200% 100%; animation-duration: 10s; }
.gun-bar.is-canakkale::after { background: radial-gradient(60% 140% at 50% 120%, rgb(255 120 40 / 0.12), transparent 70%); animation: gs-breathe 5s ease-in-out infinite; }
.gs-smoke { position: absolute; inset: 0; }
.gs-smoke i { position: absolute; top: -40%; width: 340px; height: 180%; border-radius: 50%; background: radial-gradient(closest-side, rgb(160 150 140 / 0.22), transparent 70%); filter: blur(10px); transform: scale(var(--s)); animation: gs-smoke var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-smoke { from { translate: -260px 0; } to { translate: 260px 0; } }
.gs-1915 { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -48%); color: transparent; font-family: 'Cinzel', serif; font-size: 110px; font-weight: 800; letter-spacing: 0.08em; line-height: 1; background: linear-gradient(180deg, rgb(255 255 255 / 0.24), rgb(255 255 255 / 0.04)); -webkit-background-clip: text; background-clip: text; filter: blur(0.4px); }
.gs-ember { position: absolute; bottom: 0; width: 3px; height: 3px; border-radius: 50%; background: #ffb347; box-shadow: 0 0 6px 1px #ff7a1a; opacity: 0; animation: gs-ember var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-ember { 0% { opacity: 0; transform: translate(0, 0); } 15% { opacity: 0.9; } 100% { opacity: 0; transform: translate(var(--x), -86px); } }
.gs-t18 { position: relative; z-index: 3; display: grid; justify-items: center; gap: 5px; padding-top: 4px; text-shadow: 0 2px 12px rgb(0 0 0 / 0.8); }
.gs-t18-big { color: #f4ede0; font-family: 'Cinzel', serif; font-size: 30px; font-weight: 800; letter-spacing: 0.2em; line-height: 1; animation: gs-caps-in 1.4s ease 0.3s both; }
.gs-t18-sub { color: #c9b896; font-family: 'Cinzel', serif; font-size: 11.5px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; animation: gs-anniv-in 1s ease 1.4s both; }
.glt-tx.is-war .glt-caps { background-image: linear-gradient(90deg, #8b7355, #f4ede0, #c9b896, #f4ede0, #8b7355); letter-spacing: 0.22em; }
@media (max-width: 767px) { .gun-bar.is-canakkale { height: 70px; } .gs-1915 { font-size: 70px; } .gs-t18-big { font-size: 20px; letter-spacing: 0.12em; } .gs-t18-sub { font-size: 8.5px; letter-spacing: 0.1em; } .gs-crest.is-war { display: none; } }

/* 18 Mart: defne dalları arasında "18 MART / 1915" */
.gs-crest.is-war { align-items: center; gap: 16px; color: #f4ede0; }
.gs-lau { width: 26px; height: 50px; }
.gs-lau.is-r { transform: scaleX(-1); }
.gs-lau svg { overflow: visible; }
.gs-lau-stem { fill: none; stroke: #c9a227; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: pt-draw 1.2s ease 0.3s forwards; }
.gs-lau-leaf { fill: url(#none); fill: #d4af37; opacity: 0; transform-box: fill-box; transform-origin: 0 100%; animation: gs-leaf 600ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards, gs-leaf-glint 5s ease-in-out infinite; animation-delay: calc(0.6s + var(--i) * 0.18s), calc(2.5s + var(--i) * 0.25s); }
@keyframes pt-draw { to { stroke-dashoffset: 0; } }
@keyframes gs-leaf { from { opacity: 0; scale: 0.2; } to { opacity: 1; scale: 1; } }
@keyframes gs-leaf-glint { 0%, 100% { fill: #c9a227; } 50% { fill: #f6e27a; } }
.gs-war-d { display: grid; justify-items: center; line-height: 1; }
.gs-war-d b { font-family: 'Cinzel', serif; font-size: 26px; font-weight: 800; letter-spacing: 0.1em; color: #f4ede0; text-shadow: 0 2px 8px rgb(0 0 0 / 0.7); }
.gs-war-d small { margin-top: 4px; background: linear-gradient(90deg, #c9a227, #f6e27a, #c9a227); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 13px; font-weight: 800; letter-spacing: 0.5em; padding-left: 0.5em; }
.gs-t18-sub { max-width: 820px; text-align: center; letter-spacing: 0.14em !important; font-size: 10.5px !important; line-height: 1.35; }
.gs-t18-sub b { color: #e9c46a; }
.gun-bar.is-canakkale .gs-flag-big { bottom: 8px; }
.gs-crest.is-war .gs-war-d b { font-style: normal; background: none; -webkit-text-fill-color: currentColor; }
.gs-lau { width: 32px; height: 64px; }
.gs-t18-sub.is-long { max-width: none; white-space: nowrap; font-size: 10.5px !important; letter-spacing: 0.1em !important; }
.gs-t18-sub.is-short { display: none; }
@media (max-width: 1500px) { .gs-t18-sub.is-long { display: none; } .gs-t18-sub.is-short { display: block; } }
@media (max-width: 767px) { .gun-bar.is-canakkale .gs-flag-big { display: none; } .gs-t18-sub.is-short { font-size: 8.5px !important; letter-spacing: 0.08em !important; } }

/* ---- 23 Nisan: açık zemin, kırmızı tipografi, ay-yıldızlı balonlar, konfeti, el ele çocuklar ---- */
.gun-bar.is-cocuk { height: 84px; background: radial-gradient(40% 160% at 0% 100%, rgb(227 10 23 / 0.10), transparent 70%), radial-gradient(40% 160% at 100% 100%, rgb(227 10 23 / 0.10), transparent 70%), linear-gradient(180deg, #fffdfb 0%, #fff4f2 100%); border-bottom: 2px solid #e30a17; color: #7a0a12; }
.gun-bar.is-cocuk::before { height: 3px; background: linear-gradient(90deg, #e30a17, #ff5a64 25%, #e30a17 50%, #ff5a64 75%, #e30a17); background-size: 200% 100%; animation: gs-caps-shine 8s linear infinite; }
.gun-bar.is-cocuk::after { background: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.7) 50%, transparent 58%); background-size: 250% 100%; }
.gs-rise.is-b { width: calc(22px * var(--s)); height: calc(55px * var(--s)); bottom: -64px; opacity: 0; animation-name: gs-bal; filter: drop-shadow(0 3px 4px rgb(140 0 10 / 0.18)); }
@keyframes gs-bal { 0% { transform: translate(0, 0) rotate(-4deg); opacity: 0; } 12% { opacity: 1; } 50% { transform: translate(10px, -80px) rotate(4deg); } 88% { opacity: 1; } 100% { transform: translate(-4px, -160px) rotate(-3deg); opacity: 0; } }
.gs-conf { position: absolute; top: -12px; width: 5px; height: 9px; border-radius: 1px; background: var(--c); opacity: 0; animation: gs-conf var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-conf { 0% { opacity: 0; transform: translate(0, 0) rotate3d(1, 1, 0, 0deg); } 10% { opacity: 0.9; } 90% { opacity: 0.9; } 100% { opacity: 0; transform: translate(var(--x), 110px) rotate3d(1, 1, 0, var(--r)); } }
.gs-crest.is-kid { z-index: 2; align-items: center; gap: 8px; color: #d90f1e; filter: drop-shadow(0 2px 6px rgb(160 0 15 / 0.18)); }
.gs-crest.is-kid > b { background: linear-gradient(180deg, #ff3442, #b3000f); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 58px; padding-right: 4px; }
.gs-crest.is-kid .gs-crest-c em { color: #d90f1e; font-size: 34px; clip-path: inset(-30% 100% -30% -5%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 0.5s forwards; }
.gs-crest.is-kid .gs-crest-c small { margin-top: 2px; padding-left: 6px; background: none; color: #7a0a12; -webkit-text-fill-color: currentColor; font-size: 11px; letter-spacing: 0.2em; }
.gs-kids { position: absolute; right: 4%; bottom: 0; width: 176px; height: 68px; }
.gs-kids svg { width: 100%; height: 100%; overflow: visible; }
.gs-kids > svg { animation: gk-hop 0.9s ease-in-out infinite alternate; }
.gk-la, .gk-lb { transform-box: fill-box; transform-origin: 50% 0; animation: gk-step 0.9s ease-in-out infinite alternate; }
.gk-lb { animation-direction: alternate-reverse; }
.gk-flag { animation: gk-wave 1.4s ease-in-out infinite alternate; }
@keyframes gk-hop { from { transform: translateY(1px); } to { transform: translateY(-3px); } }
@keyframes gk-step { from { transform: rotate(-12deg); } to { transform: rotate(12deg); } }
@keyframes gk-wave { from { transform: rotate(-9deg); } to { transform: rotate(7deg); } }
.gs-t23 { position: relative; z-index: 3; display: grid; justify-items: center; gap: 2px; padding-top: 4px; line-height: 1; }
.gs-t23-caps { display: flex; align-items: center; gap: 12px; color: #7a0a12; font-family: 'Cinzel', serif; font-size: 15px; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; white-space: nowrap; animation: gs-caps-in 1.2s ease 0.2s both; }
.gs-t23-caps::before, .gs-t23-caps::after { content: ''; width: 34px; height: 1.5px; background: linear-gradient(90deg, transparent, #e30a17); }
.gs-t23-caps::after { transform: scaleX(-1); }
.gs-t23-script { color: #d90f1e; font-family: 'Great Vibes', cursive; font-size: 44px; line-height: 1; padding: 0 14px; clip-path: inset(-30% 100% -30% -5%); text-shadow: 0 2px 10px rgb(227 10 23 / 0.18); animation: gs-pen-write 2s cubic-bezier(0.45, 0, 0.25, 1) 0.9s forwards; }
.glt-bal { width: 22px; height: 46px; animation: gk-float 3s ease-in-out infinite alternate; }
.glt-bal svg { display: block; width: 100%; height: 100%; }
@keyframes gk-float { from { transform: translateY(2px) rotate(-5deg); } to { transform: translateY(-3px) rotate(5deg); } }
.glt-tx.is-kid .glt-caps { background-image: linear-gradient(90deg, #ff5a64, #fff, #ff8a92, #fff, #ff5a64); letter-spacing: 0.2em; }
@media (max-width: 1199px) { .gs-t23-caps { font-size: 12px; letter-spacing: 0.14em; } .gs-t23-caps::before, .gs-t23-caps::after { width: 18px; } .gs-t23-script { font-size: 36px; } .gs-crest.is-kid > b { font-size: 46px; } .gs-crest.is-kid .gs-crest-c em { font-size: 28px; } .gs-kids { width: 140px; height: 54px; } }
@media (max-width: 999px) { .gs-kids { display: none; } }
@media (max-width: 767px) { .gun-bar.is-cocuk { height: 70px; } .gs-t23-caps { font-size: 9.5px; letter-spacing: 0.08em; gap: 6px; } .gs-t23-caps::before, .gs-t23-caps::after { width: 10px; } .gs-t23-script { font-size: 32px; } }
.gs-anniv.is-kid { z-index: 2; }
.gs-anniv.is-kid b { background-image: linear-gradient(180deg, #ff3442, #b3000f); }
.gs-anniv.is-kid span { border-left-color: rgb(227 10 23 / 0.35); color: #7a0a12; }
.gs-t23-caps, .gs-t23-script { text-shadow: 0 0 6px #fff8f6, 0 0 14px #fff8f6, 0 2px 10px rgb(227 10 23 / 0.15); }
@media (max-width: 767px) { .gs-rise.is-b { opacity: 0.6; } }
.gs-anniv.is-kid { gap: 6px; filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px #fff8f6); }
.gs-anniv.is-kid span { padding-left: 0; border-left: 0; font-size: 15px; letter-spacing: 0.18em; }
.gs-crest.is-kid { filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px #fff8f6); }
.gs-anniv.is-kid { align-items: baseline; } .gs-anniv.is-kid span { line-height: 1; }

/* ---- 19 Mayıs: krem zemin + rüzgâr çizgileri, ay-yıldızlı 19, sağda dalgalanan bayrak ve onu taşıyan genç ---- */
.gun-bar.is-genclik { height: 84px; background: radial-gradient(50% 160% at 0% 100%, rgb(227 10 23 / 0.08), transparent 70%), linear-gradient(180deg, #fffdfb, #fff3f1); border-bottom: 2px solid #e30a17; color: #7a0a12; }
.gun-bar.is-genclik::before { height: 3px; background: linear-gradient(90deg, #e30a17, #ff5a64 25%, #e30a17 50%, #ff5a64 75%, #e30a17); background-size: 200% 100%; animation: gs-caps-shine 8s linear infinite; }
.gun-bar.is-genclik::after { background: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.7) 50%, transparent 58%); background-size: 250% 100%; }
.gs-wind { position: absolute; left: 0; width: var(--w); height: 1.5px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgb(227 10 23 / 0.35), transparent); opacity: 0; animation: gs-wind var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-wind { 0% { transform: translateX(-20vw); opacity: 0; } 15%, 80% { opacity: 1; } 100% { transform: translateX(90vw); opacity: 0; } }
.gs-crest.is-may { z-index: 2; align-items: center; gap: 4px; color: #d90f1e; filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px #fff8f6); }
.gs-crest.is-may > b { background: linear-gradient(180deg, #ff3442, #b3000f); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 58px; padding-right: 2px; }
.gs-crest.is-may .gs-may-cs { align-self: flex-start; margin: 8px 0 0 -6px; }
.gs-crest.is-may .gs-may-cs svg { width: 24px; height: 24px; margin: 0; animation: gs-breathe 4s ease-in-out infinite; }
.gs-crest.is-may .gs-crest-c { margin-left: 4px; }
.gs-crest.is-may .gs-crest-c em { color: #d90f1e; font-size: 34px; clip-path: inset(-30% 100% -30% -5%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 0.5s forwards; }
.gs-crest.is-may .gs-crest-c small { margin-top: 2px; padding-left: 6px; background: none; color: #7a0a12; -webkit-text-fill-color: currentColor; font-size: 11px; letter-spacing: 0.3em; }
.gs-t23.is-may .gs-t23-caps { font-size: 14px; letter-spacing: 0.16em; }
.gs-anniv.is-may { z-index: 2; }
@media (max-width: 1535px) { .gs-t23.is-may .gs-t23-caps { font-size: 12px; letter-spacing: 0.12em; } .gs-t23.is-may .gs-t23-script { font-size: 38px; } }
@media (max-width: 1199px) { .gs-crest.is-may > b { font-size: 46px; } .gs-crest.is-may .gs-crest-c em { font-size: 28px; } }
@media (max-width: 767px) { .gun-bar.is-genclik { height: 70px; } .gs-t23.is-may .gs-t23-caps { font-size: 8.5px; letter-spacing: 0.06em; } }

/* ---- 23 Nisan: koyu kırmızı zemin (beyaz yerine), beyaz tipografi ---- */
.gun-bar.is-cocuk { background: radial-gradient(50% 150% at 50% 0%, rgb(255 90 100 / 0.28), transparent 70%), linear-gradient(90deg, #5a0710, #9c0d1b 25%, #b8101f 50%, #9c0d1b 75%, #5a0710); border-bottom: 1px solid rgb(255 255 255 / 0.18); }
.gun-bar.is-cocuk::before { height: 2px; background: linear-gradient(90deg, transparent, #ffd6d9 30%, #fff 50%, #ffd6d9 70%, transparent); background-size: 200% 100%; }
.gun-bar.is-cocuk::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.12) 50%, transparent 58%); }
.gun-bar.is-cocuk .gs-crest.is-kid { filter: drop-shadow(0 2px 8px rgb(60 0 6 / 0.55)); }
.gun-bar.is-cocuk .gs-crest.is-kid > b { background-image: linear-gradient(180deg, #ffffff, #ffc9ce); }
.gun-bar.is-cocuk .gs-crest.is-kid .gs-crest-c em { color: #fff; }
.gun-bar.is-cocuk .gs-crest.is-kid .gs-crest-c small { color: #ffd6d9; }
.gun-bar.is-cocuk .gs-t23-caps { color: #ffe9eb; text-shadow: 0 2px 8px rgb(60 0 6 / 0.6); }
.gun-bar.is-cocuk .gs-t23-caps::before, .gun-bar.is-cocuk .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #fff); }
.gun-bar.is-cocuk .gs-t23-script { color: #fff; text-shadow: 0 2px 12px rgb(60 0 6 / 0.6); }
.gun-bar.is-cocuk .gs-anniv.is-kid { filter: drop-shadow(0 2px 8px rgb(60 0 6 / 0.55)); }
.gun-bar.is-cocuk .gs-anniv.is-kid b { background-image: linear-gradient(180deg, #ffffff, #ffc9ce); }
.gun-bar.is-cocuk .gs-anniv.is-kid span { color: #ffe3e5; }
.gun-bar.is-cocuk .gs-rise.is-b { filter: drop-shadow(0 3px 5px rgb(50 0 5 / 0.35)); }
.gun-bar.is-cocuk .gs-kids { filter: drop-shadow(0 2px 6px rgb(60 0 6 / 0.45)); }

/* ---- 19 Mayıs: gece laciverti zemin + kırmızı vurgular, sağda koşan sporcular ---- */
.gun-bar.is-genclik { background: radial-gradient(40% 160% at 0% 50%, rgb(227 10 23 / 0.22), transparent 70%), radial-gradient(40% 160% at 100% 50%, rgb(227 10 23 / 0.22), transparent 70%), linear-gradient(180deg, #181c27, #0e1118); border-bottom: 1px solid rgb(227 10 23 / 0.55); }
.gun-bar.is-genclik::before { height: 2px; background: linear-gradient(90deg, transparent, #e30a17 25%, #ff7a84 50%, #e30a17 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-genclik::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.06) 50%, transparent 58%); }
.gun-bar.is-genclik .gs-wind { background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.22), transparent); }
.gun-bar.is-genclik .gs-crest.is-may { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gun-bar.is-genclik .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ff5a64, #d10f1f); }
.gun-bar.is-genclik .gs-crest.is-may .gs-crest-c em { color: #fff; }
.gun-bar.is-genclik .gs-crest.is-may .gs-crest-c small { color: #b9bec9; }
.gun-bar.is-genclik .gs-t23-caps { color: #eef0f4; text-shadow: 0 2px 8px rgb(0 0 0 / 0.7); }
.gun-bar.is-genclik .gs-t23-caps::before, .gun-bar.is-genclik .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #e30a17); }
.gun-bar.is-genclik .gs-t23-script { color: #ff4652; text-shadow: 0 0 14px rgb(255 50 66 / 0.35), 0 2px 8px rgb(0 0 0 / 0.6); }
.gun-bar.is-genclik .gs-anniv.is-kid { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gun-bar.is-genclik .gs-anniv.is-kid b { background-image: linear-gradient(180deg, #ff5a64, #d10f1f); }
.gun-bar.is-genclik .gs-anniv.is-kid span { color: #c9cdd6; }

/* 19 Mayıs sporcuları */
.gs-athl { position: absolute; right: 3%; top: 0; bottom: 0; width: 290px; }
.gs-court { position: absolute; left: -16px; right: -16px; bottom: 8px; height: 1.5px; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.35) 15%, rgb(255 255 255 / 0.35) 85%, transparent); }
.ar-run { position: absolute; bottom: 6px; width: 42px; height: 77px; filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.6)); }
.ar-run.is-0 { left: 0; } .ar-run.is-1 { left: 80px; } .ar-run.is-2 { left: 160px; } .ar-run.is-3 { left: 244px; }
.ar-run svg { width: 100%; height: 100%; overflow: visible; }
.ar-run g, .ar-run circle { transform-box: view-box; }
/* basketbol: top yere vurup ele döner, kol iter */
.sp-bb .j-ua.a { animation: bb-arm 0.62s ease-in-out infinite; }
.bb-ball { animation: bb-ball 0.62s infinite; }
@keyframes bb-arm { 0%, 100% { rotate: -42deg; } 30% { rotate: -22deg; } 60% { rotate: -30deg; } }
@keyframes bb-ball { 0% { transform: translateY(0); animation-timing-function: cubic-bezier(0.5, 0, 1, 1); } 50% { transform: translateY(24px) scale(1.08, 0.9); animation-timing-function: cubic-bezier(0, 0, 0.5, 1); } 100% { transform: translateY(0); } }
/* futbol: ayak topa vurur, top yükselip iner, döner */
.sp-fb .j-th.a { animation: fb-kick 1.1s ease-in-out infinite; }
.sp-fb .j-th.a .j-sh { animation: fb-shin 1.1s ease-in-out infinite; }
.fb-ball { animation: fb-ball 1.1s infinite; }
.fb-spin { transform-box: fill-box !important; transform-origin: center; animation: gs-spin 1.1s linear infinite; }
@keyframes fb-kick { 0%, 100% { rotate: -55deg; } 35% { rotate: -5deg; } 75% { rotate: 0deg; } }
@keyframes fb-shin { 0%, 100% { rotate: 15deg; } 35% { rotate: 25deg; } 75% { rotate: 40deg; } }
@keyframes fb-ball { 0% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.4, 1); } 50% { transform: translateY(-28px); animation-timing-function: cubic-bezier(0.6, 0, 1, 1); } 100% { transform: translateY(0); } }
@keyframes gs-spin { to { rotate: 360deg; } }
/* tenis: geri çekiş, hızlı forehand, top sağa fırlar */
.sp-tn .j-ua.a { animation: tn-swing 1.6s infinite; }
.tn-ball { animation: tn-ball 1.6s linear infinite; }
@keyframes tn-swing { 0% { rotate: 70deg; animation-timing-function: ease-out; } 38% { rotate: 100deg; animation-timing-function: cubic-bezier(0.6, 0, 0.3, 1); } 56% { rotate: -125deg; animation-timing-function: ease-in-out; } 100% { rotate: 70deg; } }
@keyframes tn-ball { 0% { transform: translate(70px, -10px); opacity: 0; } 15% { opacity: 1; } 47% { transform: translate(0, 0); opacity: 1; } 75% { transform: translate(70px, -18px); opacity: 1; } 76%, 100% { opacity: 0; transform: translate(70px, -18px); } }
/* voleybol: zıplar, tepe noktasında smaç; top öne-aşağı gider */
.vb-jump { animation: vb-jump 1.8s ease-in-out infinite; }
.sp-vb .j-ua.a { animation: vb-arm 1.8s infinite; }
.vb-ball { animation: vb-ball 1.8s infinite; }
@keyframes vb-jump { 0%, 100% { transform: translateY(0); } 15% { transform: translateY(2px); } 48% { transform: translateY(-6px); } 80% { transform: translateY(0); } }
@keyframes vb-arm { 0%, 15% { rotate: 20deg; } 40% { rotate: 150deg; animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } 55% { rotate: 265deg; } 75%, 100% { rotate: 380deg; } }
@keyframes vb-ball { 0% { transform: translate(0, -8px); opacity: 0; } 15% { opacity: 1; } 50% { transform: translate(0, -2px); animation-timing-function: cubic-bezier(0.3, 0, 1, 1); } 75% { transform: translate(46px, 58px); opacity: 1; } 76%, 100% { transform: translate(46px, 58px); opacity: 0; } }
@media (max-width: 1535px) { .gs-athl { width: 230px; } .ar-run.is-1 { left: 62px; } .ar-run.is-2 { left: 124px; } .ar-run.is-3 { left: 188px; } }
@media (max-width: 1199px) { .gs-athl { width: 130px; } .ar-run.is-2, .ar-run.is-3 { display: none; } }
@media (max-width: 899px) { .gs-athl { display: none; } }

/* ---- 15 Temmuz: gece laciverti + ufukta şafak, Şehitler Köprüsü, bayraklı kalabalık ---- */
.gun-bar.is-demokrasi { height: 84px; background: radial-gradient(70% 120% at 70% 130%, rgb(227 10 23 / 0.38), transparent 70%), radial-gradient(50% 100% at 15% 130%, rgb(255 120 60 / 0.16), transparent 70%), linear-gradient(180deg, #070b1c 0%, #0d1430 60%, #1a1834 100%); border-bottom: 1px solid rgb(227 10 23 / 0.5); }
.gun-bar.is-demokrasi::before { height: 2px; background: linear-gradient(90deg, transparent, #e30a17 25%, #ff8a92 50%, #e30a17 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-demokrasi::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.05) 50%, transparent 58%); }
.gs-dawn { position: absolute; inset: 0; background: radial-gradient(60% 90% at 70% 120%, rgb(255 90 70 / 0.22), transparent 70%); animation: gs-breathe 6s ease-in-out infinite; }
.gs-dot { position: absolute; width: var(--s); height: var(--s); border-radius: 50%; background: #fff; opacity: 0.2; animation: gs-dot var(--t) ease-in-out infinite; animation-delay: var(--d); }
@keyframes gs-dot { 50% { opacity: 0.85; box-shadow: 0 0 4px #fff; } }
.gs-bridge15 { position: absolute; inset: 0; opacity: 0.55; }
.gs-bridge15 svg { overflow: hidden !important; }
.b15-lamp { fill: #ffd27a; animation: gs-twk2 1.6s ease-in-out infinite alternate; animation-delay: var(--d); }
.b15-red { fill: #ff2a2a; filter: drop-shadow(0 0 3px #ff2a2a); animation: b15-red 1.2s steps(2, jump-none) infinite; }
@keyframes b15-red { 50% { opacity: 0.15; } }
.b15-car { fill: #fff3c4; transform-box: view-box; animation: b15-car var(--t) linear infinite; animation-delay: var(--d); filter: drop-shadow(0 0 2px #ffd27a); }
.b15-car.is-rtl { fill: #ff4b4b; filter: drop-shadow(0 0 2px #ff2a2a); animation-name: b15-car-r; }
@keyframes b15-car { from { transform: translateX(-20px); } to { transform: translateX(1620px); } }
@keyframes b15-car-r { from { transform: translateX(1620px); } to { transform: translateX(-20px); } }
.gun-bar.is-demokrasi .gs-crest.is-may { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.7)); }
.gun-bar.is-demokrasi .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ff5a64, #d10f1f); }
.gun-bar.is-demokrasi .gs-crest.is-may .gs-crest-c em { color: #fff; }
.gun-bar.is-demokrasi .gs-crest.is-may .gs-crest-c small { color: #b9c0d6; }
.gun-bar.is-demokrasi .gs-t23 { padding: 4px 18px 0; border-radius: 14px; background: radial-gradient(closest-side, rgb(7 11 28 / 0.75), transparent); }
.gun-bar.is-demokrasi .gs-t23-caps { color: #eef0f6; text-shadow: 0 2px 8px rgb(0 0 0 / 0.8); }
.gun-bar.is-demokrasi .gs-t23-caps::before, .gun-bar.is-demokrasi .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #e30a17); }
.gun-bar.is-demokrasi .gs-t23-script { color: #ff4652; text-shadow: 0 0 14px rgb(255 50 66 / 0.35), 0 2px 8px rgb(0 0 0 / 0.7); }
.gun-bar.is-demokrasi .gs-anniv.is-kid { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.7)); }
.gun-bar.is-demokrasi .gs-anniv.is-kid b { background-image: linear-gradient(180deg, #ff5a64, #d10f1f); }
.gun-bar.is-demokrasi .gs-anniv.is-kid span { color: #c9cfe0; }
@media (max-width: 767px) { .gun-bar.is-demokrasi { height: 70px; } .gs-t23.is-dem .gs-t23-caps { font-size: 9.5px; letter-spacing: 0.08em; } }
.gun-bar.is-demokrasi .gs-anniv.is-kid, .gun-bar.is-demokrasi .gs-crest.is-may { padding: 4px 10px; border-radius: 12px; background: radial-gradient(closest-side, rgb(7 11 28 / 0.8), transparent); }
/* 19 Mayıs: Atatürk imzası (crest ile yazı arasında; konumu gun-scene mount hesaplar) */
.gs-sig.gs-ata { right: auto; width: 160px; top: 14px; bottom: 14px; }
.gs-sig.gs-ata .gs-sig-ink, .gs-sig.gs-ata .gs-sig-pen { animation-delay: 0.8s; }
@media (max-width: 1199px) { .gs-sig.gs-ata { display: none; } }

/* ---- 30 Ağustos: koyu bordo-altın, Kocatepe sırtları ardında doğan güneş + ışınlar, tepede bayrak, defneli yıl ---- */
.gun-bar.is-zafer { height: 84px; background: radial-gradient(30% 140% at 84% 110%, rgb(255 190 90 / 0.30), transparent 70%), linear-gradient(180deg, #160806 0%, #2e0b0a 55%, #561410 100%); border-bottom: 1px solid rgb(212 175 55 / 0.45); }
.gun-bar.is-zafer::before { height: 2px; background: linear-gradient(90deg, transparent, #b8892a 25%, #fff1b8 50%, #b8892a 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-zafer::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 230 160 / 0.08) 50%, transparent 58%); }
.gs-rays { position: absolute; right: -100px; bottom: -198px; width: 440px; height: 440px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgb(255 214 130 / 0.13) 0 5deg, transparent 5deg 15deg); -webkit-mask-image: radial-gradient(closest-side, #000 20%, transparent 95%); mask-image: radial-gradient(closest-side, #000 20%, transparent 95%); animation: gs-spin 80s linear infinite; }
.gs-ember.is-gold { background: #ffd27a; box-shadow: 0 0 6px 1px #d4af37; }
.gs-hills { position: absolute; right: 0; bottom: 0; width: 400px; height: 84px; transform-origin: 100% 100%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%); mask-image: linear-gradient(90deg, transparent, #000 22%); }
.gs-hills > svg { position: absolute; left: 20px; top: 0; width: 380px; height: 100%; }
.gs-sun { position: absolute; left: 248px; top: 30px; width: 64px; height: 64px; border-radius: 50%; background: radial-gradient(circle, #fff6d0 0%, #ffd27a 35%, #f08a24 70%, transparent 72%); box-shadow: 0 0 40px 12px rgb(255 190 90 / 0.35); animation: gs-breathe 5s ease-in-out infinite; }
.gs-hills .gs-flag-peak { left: 197px; right: auto; bottom: 35px; }
.gun-bar.is-zafer .gs-crest.is-may { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.7)); }
.gun-bar.is-zafer .gs-crest.is-may > b, .gun-bar.is-zafer .gs-anniv.is-kid b { background-image: linear-gradient(180deg, #fff6d0, #f6e27a 35%, #d4af37 70%, #9c7417); }
.gun-bar.is-zafer .gs-crest.is-may .gs-crest-c em { color: #fff3d6; }
.gun-bar.is-zafer .gs-crest.is-may .gs-crest-c small { color: #d9b86a; }
.gun-bar.is-zafer .gs-t23-caps { font-size: 18px; letter-spacing: 0.32em; background: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.7)); animation: gs-caps-in 1.2s ease 0.2s both, gs-caps-shine 6s linear 1.4s infinite; }
.gun-bar.is-zafer .gs-t23-caps::before, .gun-bar.is-zafer .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #d4af37); }
.gun-bar.is-zafer .gs-t23-script { color: #fff3d6; text-shadow: 0 0 16px rgb(255 200 100 / 0.35), 0 2px 8px rgb(0 0 0 / 0.7); }
.gun-bar.is-zafer .gs-anniv.is-kid { gap: 6px; align-items: baseline; filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.7)); }
.gun-bar.is-zafer .gs-anniv.is-kid span { color: #e8cf8a; }
.gs-anniv.is-zfr .gs-lau { align-self: center; width: 22px; height: 44px; margin: 0 12px 0 0; }
.gs-anniv.is-zfr .gs-lau.is-r { margin: 0 0 0 8px; }
.gs-anniv.is-zfr b { margin-left: 2px; }
.glt-lau { width: 20px; height: 38px; }
.glt-lau svg { width: 100%; height: 100%; overflow: visible; }
.glt-tx.is-zfr .glt-caps { background-image: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); letter-spacing: 0.22em; }
@media (max-width: 1535px) { .gs-hills { transform: scale(0.8); } .gs-rays { right: -124px; bottom: -202px; } .gun-bar.is-zafer .gs-t23-caps { font-size: 15px; } }
@media (max-width: 1199px) { .gs-hills { transform: scale(0.62); } }
@media (max-width: 899px) { .gs-hills, .gs-rays { display: none; } }
@media (max-width: 767px) { .gun-bar.is-zafer { height: 70px; } .gun-bar.is-zafer .gs-t23-caps { font-size: 11px; letter-spacing: 0.2em; } }

/* ---- Yılbaşı: gece mavisi + şampanya altını, sallanan süsler, kar, havai fişekler, yeni yıl ---- */
.gun-bar.is-yilbasi { height: 84px; background: radial-gradient(40% 140% at 50% 120%, rgb(255 214 140 / 0.16), transparent 70%), linear-gradient(180deg, #070a1c 0%, #10163a 60%, #191b44 100%); border-bottom: 1px solid rgb(212 175 55 / 0.4); }
.gun-bar.is-yilbasi::before { height: 2px; background: linear-gradient(90deg, transparent, #b8892a 25%, #fff1b8 50%, #b8892a 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-yilbasi::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 240 200 / 0.06) 50%, transparent 58%); }
.gs-flake { position: absolute; top: -6px; width: var(--s); height: var(--s); border-radius: 50%; background: #fff; opacity: 0; box-shadow: 0 0 4px rgb(255 255 255 / 0.8); animation: gs-flake var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-flake { 0% { opacity: 0; transform: translate(0, 0); } 10% { opacity: 0.85; } 90% { opacity: 0.6; } 100% { opacity: 0; transform: translate(var(--x), 96px); } }
.ny-b { position: absolute; top: 0; width: 22px; height: calc(var(--h) + 29px); transform-origin: 50% 0; animation: ny-swing 3.6s ease-in-out infinite alternate; animation-delay: var(--d); filter: drop-shadow(0 3px 6px rgb(0 0 0 / 0.5)); }
.ny-b::before { content: ''; position: absolute; left: 50%; top: 0; width: 1px; height: var(--h); background: linear-gradient(rgb(212 175 55 / 0.2), #d4af37); }
.ny-b svg { position: absolute; left: 0; bottom: 0; width: 22px; height: 29px; }
@keyframes ny-swing { from { rotate: -5deg; } to { rotate: 5deg; } }
.gun-bar.is-yilbasi .gs-t23-script { order: -1; background: linear-gradient(180deg, #fff6d0, #f6e27a 40%, #d4af37 75%, #a77b1c); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 0 10px rgb(255 214 130 / 0.3)) drop-shadow(0 2px 6px rgb(0 0 0 / 0.6)); }
.gun-bar.is-yilbasi .gs-t23 { gap: 0; padding-top: 0; }
.gun-bar.is-yilbasi .gs-t23-caps { font-size: 12px; letter-spacing: 0.34em; color: #efe6cf; text-shadow: 0 2px 8px rgb(0 0 0 / 0.7); }
.gun-bar.is-yilbasi .gs-t23-caps::before, .gun-bar.is-yilbasi .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #d4af37); }
.gun-bar.is-yilbasi .gs-anniv.is-kid { align-items: center; gap: 10px; filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gun-bar.is-yilbasi .gs-anniv.is-kid b { font-family: 'Cinzel', serif; font-style: normal; font-size: 40px; font-weight: 800; letter-spacing: 0.06em; background-image: linear-gradient(180deg, #fff6d0, #f6e27a 40%, #d4af37 75%, #a77b1c); background-size: 100% 100%; }
.gun-bar.is-yilbasi .gs-anniv.is-kid span { padding-left: 10px; border-left: 1px solid rgb(212 175 55 / 0.5); color: #efe6cf; font-size: 11px; letter-spacing: 0.24em; line-height: 1.5; }
.gs-fws { position: absolute; right: 7%; top: 0; bottom: 0; width: 180px; }
.fw { position: absolute; width: 0; height: 0; }
.fw b { position: absolute; left: -1px; top: 0; width: 2px; height: 12px; border-radius: 2px; background: linear-gradient(#fff3c4, transparent); opacity: 0; animation: fw-trail var(--t) ease-out infinite; animation-delay: var(--d); }
.fw i { position: absolute; left: -1.5px; top: -1.5px; width: 3px; height: 3px; border-radius: 50%; background: var(--c); box-shadow: 0 0 6px var(--c); opacity: 0; animation: fw-pop var(--t) cubic-bezier(0.2, 0.7, 0.3, 1) infinite; animation-delay: var(--d); }
@keyframes fw-trail { 0% { transform: translateY(70px); opacity: 0; } 4% { opacity: 1; } 24% { transform: translateY(0); opacity: 1; } 26%, 100% { transform: translateY(0); opacity: 0; } }
@keyframes fw-pop { 0%, 25% { transform: rotate(var(--a)) translateX(0); opacity: 0; } 27% { opacity: 1; } 60% { transform: rotate(var(--a)) translateX(var(--r)); opacity: 0.95; } 85%, 100% { transform: rotate(var(--a)) translateX(calc(var(--r) * 1.12)) translateY(6px); opacity: 0; } }
.glt-orn { width: 20px; height: 27px; transform-origin: 50% 0; animation: ny-swing 3s ease-in-out infinite alternate; }
.glt-orn svg { display: block; width: 100%; height: 100%; }
.glt-tx.is-ny .glt-caps { background-image: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); letter-spacing: 0.3em; }
@media (max-width: 1199px) { .gs-fws { right: 3%; width: 120px; } .gs-fws .fw:nth-child(n+3) { display: none; } .ny-b:nth-of-type(n+4) { display: none; } }
@media (max-width: 899px) { .gs-fws { display: none; } }
@media (max-width: 767px) { .gun-bar.is-yilbasi { height: 70px; } .gun-bar.is-yilbasi .gs-t23-caps { font-size: 9px; letter-spacing: 0.18em; } .ny-b { display: none; } }

/* ---- 14 Şubat: şarap kırmızısı + gül altını, bokeh ışıklar, düşen gül yaprakları, kalbe dönüşen nabız çizgisi ---- */
.gun-bar.is-sevgililer { height: 84px; background: linear-gradient(90deg, #22050f, #430b1f 28%, #5a1029 50%, #430b1f 72%, #22050f); border-bottom: 1px solid rgb(255 179 198 / 0.3); }
.gun-bar.is-sevgililer::before { height: 2px; background: linear-gradient(90deg, transparent, #c97b84 25%, #ffe0e6 50%, #c97b84 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-sevgililer::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 220 230 / 0.07) 50%, transparent 58%); }
.gs-bokeh { position: absolute; width: var(--s); height: var(--s); border-radius: 50%; background: radial-gradient(circle, var(--c), transparent 70%); opacity: 0.22; filter: blur(4px); animation: gs-bokeh var(--t) ease-in-out infinite alternate; animation-delay: var(--d); }
@keyframes gs-bokeh { from { transform: translate(0, 0) scale(1); opacity: 0.12; } to { transform: translate(24px, -10px) scale(1.25); opacity: 0.3; } }
.gs-petal { position: absolute; top: -14px; width: calc(10px * var(--s)); height: calc(13px * var(--s)); border-radius: 85% 0 85% 0; background: linear-gradient(135deg, #ff8fab, #c2185b 70%, #8a0f3b); opacity: 0; box-shadow: inset -1px -1px 2px rgb(0 0 0 / 0.25); animation: gs-petal var(--t) linear infinite; animation-delay: var(--d); }
@keyframes gs-petal { 0% { opacity: 0; transform: translate(0, 0) rotate3d(1, 0.4, 0, 0deg); } 10% { opacity: 0.9; } 90% { opacity: 0.8; } 100% { opacity: 0; transform: translate(var(--x), 104px) rotate3d(1, 0.4, 0, var(--r)); } }
.gun-bar.is-sevgililer .gs-crest.is-may { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gun-bar.is-sevgililer .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ffe0e6, #f4a7b5 45%, #c97b84 80%, #9c4f5c); }
.gun-bar.is-sevgililer .gs-crest.is-may .gs-crest-c em { color: #ffe0e6; }
.gun-bar.is-sevgililer .gs-t23 { gap: 0; padding-top: 0; }
.gun-bar.is-sevgililer .gs-t23-script { order: -1; font-size: 46px; color: #ffe8ee; text-shadow: 0 0 18px rgb(255 120 160 / 0.45), 0 2px 8px rgb(0 0 0 / 0.6); }
.gun-bar.is-sevgililer .gs-t23-caps { font-size: 12px; letter-spacing: 0.42em; color: #f4b6c2; text-shadow: 0 2px 8px rgb(0 0 0 / 0.6); }
.gun-bar.is-sevgililer .gs-t23-caps::before, .gun-bar.is-sevgililer .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #f4a7b5); }
.gs-beat { position: absolute; right: 3%; top: 10px; bottom: 10px; width: 260px; filter: drop-shadow(0 0 6px rgb(255 120 160 / 0.6)); }
.gs-beat svg { width: 100%; height: 100%; overflow: visible; }
.lv-line { stroke-dasharray: 100 100; animation: lv-draw 5s cubic-bezier(0.5, 0, 0.3, 1) infinite; }
@keyframes lv-draw { 0% { stroke-dashoffset: 100; opacity: 1; } 55% { stroke-dashoffset: 0; opacity: 1; } 85% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.lv-fill { transform-box: fill-box; transform-origin: 50% 60%; opacity: 0; animation: lv-fill 5s ease-in-out infinite; }
@keyframes lv-fill { 0%, 32% { opacity: 0; scale: 0.6; } 42% { opacity: 0.9; scale: 1.08; } 50% { scale: 0.96; } 58% { scale: 1.06; } 66% { scale: 1; } 85% { opacity: 0.9; } 100% { opacity: 0; scale: 1; } }
.glt-heart { width: 22px; height: 20px; animation: lv-pulse 1.2s ease-in-out infinite; filter: drop-shadow(0 0 6px rgb(255 77 121 / 0.7)); }
.glt-heart svg { display: block; width: 100%; height: 100%; }
@keyframes lv-pulse { 0%, 100% { scale: 1; } 15% { scale: 1.18; } 30% { scale: 0.96; } 45% { scale: 1.1; } }
.glt-tx.is-love .glt-caps { background-image: linear-gradient(90deg, #c97b84, #ffe0e6, #f4a7b5, #ffe0e6, #c97b84); letter-spacing: 0.3em; }
@media (max-width: 1199px) { .gs-beat { width: 180px; } }
@media (max-width: 899px) { .gs-beat { display: none; } }
@media (max-width: 767px) { .gun-bar.is-sevgililer { height: 70px; } .gun-bar.is-sevgililer .gs-t23-script { font-size: 34px; } .gun-bar.is-sevgililer .gs-t23-caps { font-size: 9px; } }

/* ---- 30 Ağustos v2: dev "30" + el yazısı Ağustos, anma satırı, kırmızı ZAFER kilidi, barut dumanı ---- */
.gun-bar.is-zafer { background: radial-gradient(30% 140% at 88% 110%, rgb(255 190 90 / 0.30), transparent 70%), radial-gradient(40% 120% at 50% 50%, rgb(200 20 30 / 0.22), transparent 70%), linear-gradient(180deg, #120606 0%, #250909 55%, #3e0d0b 100%); }
.gs-smoke.is-z i { background: radial-gradient(closest-side, rgb(190 170 150 / 0.16), transparent 70%); }
.z30-big { position: absolute; left: 3%; top: 50%; z-index: 2; display: block; height: 84px; transform: translateY(-50%); }
.z30-big b { display: block; font-family: 'Anton', sans-serif; font-size: 104px; font-weight: 400; line-height: 0.84; letter-spacing: -0.01em; background: linear-gradient(180deg, #ff4b4b 0%, #d10f1f 45%, #6d0710 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 12px rgb(0 0 0 / 0.6)); animation: z30-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both; }
.z30-big b::after { content: '30'; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgb(255 240 200 / 0.55) 50%, transparent 60%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gs-caps-shine 5s ease-in-out 1.5s infinite; }
.z30-big em { position: absolute; left: 18px; bottom: 6px; color: #fff3d6; font-family: 'Great Vibes', cursive; font-size: 40px; font-style: normal; line-height: 1; white-space: nowrap; text-shadow: 0 2px 10px rgb(0 0 0 / 0.8); rotate: -8deg; padding: 0 10px; clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 0.9s forwards; }
@keyframes z30-in { from { opacity: 0; transform: translateY(18px) scale(0.92); } }
.z30-mem { position: absolute; left: calc(3% + 150px); top: 50%; z-index: 2; padding-left: 14px; border-left: 1.5px solid rgb(212 175 55 / 0.55); color: #e8d9b4; font-family: 'Cinzel', serif; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; line-height: 1.55; text-transform: uppercase; text-shadow: 0 2px 6px rgb(0 0 0 / 0.8); transform: translateY(-50%); animation: gs-anniv-in 1.2s ease 1.6s both; }
.gs-t30 { position: relative; z-index: 3; display: grid; justify-items: center; padding: 0 30px; line-height: 1; }
.z30-zafer { position: relative; font-family: 'Anton', sans-serif; font-size: 50px; font-weight: 400; letter-spacing: 0.08em; line-height: 0.95; text-transform: uppercase; background: linear-gradient(180deg, #ff5a5a, #e30a17 50%, #9c0612); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 3px 10px rgb(0 0 0 / 0.7)); animation: z30-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both; }
.z30-zafer::after { content: 'ZAFER'; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgb(255 240 200 / 0.6) 50%, transparent 60%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gs-caps-shine 5s ease-in-out 2s infinite; }
.z30-script { position: absolute; left: 52%; top: 22px; color: #fff; font-family: 'Great Vibes', cursive; font-size: 42px; line-height: 1; white-space: nowrap; rotate: -7deg; padding: 0 12px; text-shadow: 0 2px 10px rgb(0 0 0 / 0.85); clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.8s cubic-bezier(0.45, 0, 0.25, 1) 1.1s forwards; }
.z30-ko { display: flex; align-items: center; gap: 10px; margin-top: 4px; margin-right: 90px; color: #e8cf8a; font-family: 'Cinzel', serif; font-size: 12px; font-weight: 800; letter-spacing: 0.4em; text-transform: uppercase; text-shadow: 0 2px 6px rgb(0 0 0 / 0.8); animation: gs-caps-in 1.2s ease 1.6s both; }
.z30-ko::before { content: ''; width: 30px; height: 1.5px; background: linear-gradient(90deg, transparent, #d4af37); }
@media (max-width: 1535px) { .z30-mem { display: none; } }
@media (max-width: 1199px) { .z30-big b { font-size: 88px; } .z30-big em { font-size: 32px; } }
@media (max-width: 767px) { .z30-big { display: none; } .z30-zafer { font-size: 38px; } .z30-script { font-size: 32px; top: 16px; } .z30-ko { font-size: 9.5px; margin-right: 70px; } }

/* ---- Yılbaşı v2: ay, karlı zemin + çamlar, uçan Noel Baba kızağı, yoğun kar ---- */
.gun-bar.is-yilbasi .gs-t23-script { padding: 4px 30px; clip-path: inset(-40% 100% -40% -20%); }
@keyframes gs-pen-write-wide { to { clip-path: inset(-40% -20% -40% -20%); } }
.gun-bar.is-yilbasi .gs-t23-script { animation-name: gs-pen-write-wide; }
.ny-moon { position: absolute; left: 24%; top: 10px; width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 38% 38%, #fffaf0, #f3e6c4 60%, #d9c79a); box-shadow: 0 0 22px 6px rgb(255 240 200 / 0.25); }
.ny-ground { position: absolute; left: 0; right: 0; bottom: 0; height: 12px; filter: drop-shadow(0 -2px 6px rgb(255 255 255 / 0.25)); }
.ny-pines { position: absolute; right: 2%; bottom: 4px; width: 170px; height: 62px; }
.ny-pines svg { width: 100%; height: 100%; overflow: visible; }
.ny-lt { animation: gs-twk2 1.2s ease-in-out infinite alternate; }
.ny-star { transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 4px #ffd27a); animation: gs-breathe 2.4s ease-in-out infinite; }
.ny-fly { position: absolute; left: 0; top: 6px; z-index: 2; width: 150px; height: 39px; animation: ny-fly 22s linear infinite; animation-delay: -4s; }
.ny-fly::before { content: ''; position: absolute; right: 100%; top: 62%; width: 140px; height: 6px; margin-right: -6px; background: radial-gradient(circle, #ffe8a8 0 1px, transparent 1.6px) 0 0 / 9px 6px; -webkit-mask-image: linear-gradient(90deg, transparent, #000); mask-image: linear-gradient(90deg, transparent, #000); opacity: 0.9; filter: drop-shadow(0 0 3px #ffd27a); }
.ny-bob { display: block; width: 100%; height: 100%; filter: drop-shadow(0 0 6px rgb(255 230 160 / 0.55)); animation: ny-bob 2.6s ease-in-out infinite alternate; }
.ny-bob svg { width: 100%; height: 100%; overflow: visible; }
@keyframes ny-fly { from { transform: translateX(-200px); } to { transform: translateX(calc(100vw + 40px)); } }
@keyframes ny-bob { from { transform: translateY(0) rotate(-3deg); } to { transform: translateY(14px) rotate(2deg); } }
.ny-lg { transform-box: view-box; animation: ny-gallop 0.5s ease-in-out infinite alternate; }
.ny-lg.is-b { animation-direction: alternate-reverse; }
@keyframes ny-gallop { from { rotate: -22deg; } to { rotate: 18deg; } }
.gs-flake { filter: blur(0.3px); }
@media (max-width: 1199px) { .ny-pines { width: 120px; height: 44px; } .ny-moon { display: none; } }
@media (max-width: 767px) { .ny-pines { display: none; } .ny-fly { top: 2px; width: 110px; height: 29px; } }

/* ---- Sevgililer v2: "Tüm Sevgililerin / Sevgililer Günü / Kutlu Olsun" ---- */
.gun-bar.is-sevgililer .gs-t23-script { order: 0; font-size: 40px; line-height: 0.95; padding: 0 20px; }
.gun-bar.is-sevgililer .gs-t23-caps { font-size: 10.5px; letter-spacing: 0.4em; }
.gun-bar.is-sevgililer .gs-t23-caps:first-child { margin-bottom: 1px; }
@media (max-width: 767px) { .gun-bar.is-sevgililer .gs-t23-script { font-size: 30px; } .gun-bar.is-sevgililer .gs-t23-caps { font-size: 8px; letter-spacing: 0.2em; } }
/* 30 Ağustos kilit düzeni: ZAFER | (Bayramımız / Kutlu Olsun) */
.gs-t30 { grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; column-gap: 0; padding: 0 10px; }
.z30-zafer { grid-row: 1 / 3; font-size: 56px; }
.z30-script { position: relative; left: auto; top: auto; grid-column: 2; grid-row: 1; justify-self: start; margin: 0 0 -4px -18px; font-size: 40px; rotate: -6deg; }
.z30-ko { grid-column: 2; grid-row: 2; justify-self: start; margin: 2px 0 0 10px; font-size: 11px; letter-spacing: 0.34em; }
.z30-ko::before { display: none; }
.z30-big b { font-size: 88px; line-height: 0.86; padding-top: 4px; }
.z30-big { height: auto; }
.z30-big em { bottom: -2px; }
.z30-mem { left: calc(3% + 132px); }
@media (max-width: 1199px) { .z30-big b { font-size: 76px; } .z30-zafer { font-size: 46px; } .z30-script { font-size: 34px; } }
@media (max-width: 767px) { .z30-zafer { font-size: 38px; } .z30-script { font-size: 28px; margin-left: -14px; } .z30-ko { font-size: 8.5px; margin: 0 0 0 8px; } }
/* yılbaşı: yazı kar zemininin üstünde; kızak yazının önünden geçerken soluklaşır */
.gun-bar.is-yilbasi .gs-t23 { transform: translateY(-5px); }
.gun-bar.is-yilbasi .gs-t23-caps { text-shadow: 0 0 8px rgb(7 10 28 / 0.95), 0 2px 8px rgb(0 0 0 / 0.7); }
.ny-ground { height: 10px; }
@keyframes ny-fly { 0% { transform: translateX(-200px); opacity: 1; } 34% { opacity: 1; } 42%, 58% { opacity: 0.3; } 66% { opacity: 1; } 100% { transform: translateX(calc(100vw + 40px)); opacity: 1; } }
.z30-big b { font-size: 80px; padding-top: 10px; } @media (max-width: 1199px) { .z30-big b { font-size: 70px; } }
.z30-big em { bottom: 4px; }

/* 30 Ağustos v3: sol "30 | Ağustos/1922 | anma" tek sıra; ZAFER | BAYRAMIMIZ / Kutlu Olsun; sağda dalgalanan bayrak */
.z30-big { display: flex; align-items: center; gap: 12px; height: auto; }
.z30-big b { padding-top: 0; font-size: 74px; line-height: 0.9; }
.z30-d { display: grid; justify-items: start; line-height: 1; padding-right: 16px; border-right: 1.5px solid rgb(212 175 55 / 0.5); }
.z30-d em { color: #fff3d6; font-family: 'Great Vibes', cursive; font-size: 36px; font-style: normal; line-height: 1; padding: 0 8px 0 0; text-shadow: 0 2px 10px rgb(0 0 0 / 0.8); clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 0.9s forwards; }
.z30-d small { margin-top: 2px; color: #d9b86a; font-family: 'Cinzel', serif; font-size: 12px; font-weight: 800; letter-spacing: 0.4em; }
.z30-mem { position: static; padding-left: 0; border-left: 0; transform: none; }
.gs-t30 { display: flex; grid-template-columns: none; align-items: center; gap: 16px; padding: 0 10px; }
.z30-zafer { font-size: 58px; letter-spacing: 0.06em; }
.z30-r { display: grid; justify-items: start; gap: 2px; padding-left: 16px; border-left: 1.5px solid rgb(212 175 55 / 0.6); line-height: 1; }
.z30-by { background: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 17px; font-weight: 800; letter-spacing: 0.3em; text-transform: uppercase; filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.7)); animation: gs-caps-in 1.2s ease 0.6s both, gs-caps-shine 6s linear 2s infinite; }
.gs-t30 .z30-ko { margin: 0; color: #fff3d6; font-family: 'Great Vibes', cursive; font-size: 32px; font-weight: 400; letter-spacing: 0; text-transform: none; padding: 0 10px 0 0; clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 1.3s forwards; }
.gun-bar.is-zafer .gs-anniv.is-kid { align-items: center; gap: 10px; }
.gun-bar.is-zafer .gs-anniv.is-kid span { padding-left: 10px; border-left: 1px solid rgb(212 175 55 / 0.5); }
.gun-bar.is-zafer .z30-flag { bottom: 6px; }
@media (max-width: 1199px) { .z30-big b { font-size: 62px; } .z30-d em { font-size: 30px; } .z30-zafer { font-size: 46px; } .z30-by { font-size: 14px; } .gs-t30 .z30-ko { font-size: 26px; } }
@media (max-width: 767px) { .z30-zafer { font-size: 36px; } .gs-t30 { gap: 10px; } .z30-r { padding-left: 10px; } .z30-by { font-size: 11px; letter-spacing: 0.2em; } .gs-t30 .z30-ko { font-size: 22px; } }
.z30-d em { position: static; left: auto; bottom: auto; rotate: 0deg; }
.gs-t30 .z30-ko { grid-column: auto; grid-row: auto; justify-self: start; display: block; }
@media (max-width: 767px) { .z30-big, .gun-bar.is-zafer .z30-flag { display: none; } }
/* yılbaşı: el yazısının üst kıvrımları degrade dolgunun dışında kalmasın */
.gun-bar.is-yilbasi .gs-t23 { transform: none; }
.gun-bar.is-yilbasi .gs-t23-script { font-size: 40px; line-height: 1; padding: 14px 30px 4px; margin: -12px 0 -2px; }
.gun-bar.is-yilbasi .gs-t23-caps { margin-bottom: 8px; }
/* sevgililer: üç satır ferah */
.gun-bar.is-sevgililer .gs-t23 { gap: 3px; padding-top: 0; }
.gun-bar.is-sevgililer .gs-t23-script { font-size: 36px; line-height: 1.15; padding: 0 20px; }
.gun-bar.is-sevgililer .gs-t23-caps { font-size: 9.5px; line-height: 1; letter-spacing: 0.38em; }
.gun-bar.is-sevgililer .gs-t23-caps:first-child { margin-bottom: 0; }
@media (max-width: 767px) { .gun-bar.is-sevgililer .gs-t23-script { font-size: 26px; } .gun-bar.is-sevgililer .gs-t23-caps { font-size: 7.5px; } .gun-bar.is-yilbasi .gs-t23-script { font-size: 32px; } }
.z30-r { gap: 7px; }

/* ================= 8 Mart · 4 Nisan · 1 Mayıs · Anneler · Babalar · 24 Kasım ================= */
/* ortak: gün temasına göre crest + orta yazı renkleri */
.gun-bar.is-kadinlar, .gun-bar.is-hayvanlar, .gun-bar.is-emek, .gun-bar.is-anneler, .gun-bar.is-babalar, .gun-bar.is-ogretmen { height: 84px; }
.gun-bar.is-kadinlar .gs-crest.is-may, .gun-bar.is-hayvanlar .gs-crest.is-may, .gun-bar.is-emek .gs-crest.is-may, .gun-bar.is-ogretmen .gs-crest.is-may { filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.6)); }
.gun-bar.is-kadinlar .gs-t23-caps, .gun-bar.is-hayvanlar .gs-t23-caps, .gun-bar.is-emek .gs-t23-caps, .gun-bar.is-anneler .gs-t23-caps, .gun-bar.is-babalar .gs-t23-caps, .gun-bar.is-ogretmen .gs-t23-caps { text-shadow: 0 2px 8px rgb(0 0 0 / 0.7); }
.gun-bar.is-kadinlar .gs-t23-script, .gun-bar.is-hayvanlar .gs-t23-script, .gun-bar.is-emek .gs-t23-script, .gun-bar.is-anneler .gs-t23-script, .gun-bar.is-babalar .gs-t23-script, .gun-bar.is-ogretmen .gs-t23-script { padding: 0 22px; }
/* anneler / babalar: üç satır */
.gun-bar .gs-t23.is-fm { gap: 3px; padding-top: 0; }
.gun-bar .gs-t23.is-fm .gs-t23-script { font-size: 36px; line-height: 1.15; }
.gun-bar .gs-t23.is-fm .gs-t23-caps { font-size: 9.5px; line-height: 1; letter-spacing: 0.38em; }
.fm-left { position: absolute; left: 4%; top: 50%; z-index: 2; display: flex; align-items: center; gap: 12px; transform: translateY(-50%); }
.fm-left em { font-family: 'Great Vibes', cursive; font-size: 34px; font-style: normal; line-height: 1; padding: 0 10px 0 0; clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.8s cubic-bezier(0.45, 0, 0.25, 1) 0.8s forwards; }
.glt-ic { display: block; flex: 0 0 auto; }
.glt-ic svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* ---- 8 Mart: koyu erik moru, mimoza dalları (ponponlar sırayla açar), uçuşan polen ---- */
.gun-bar.is-kadinlar { background: radial-gradient(40% 140% at 85% 100%, rgb(255 214 10 / 0.16), transparent 70%), linear-gradient(90deg, #1b0a2a, #2e1145 30%, #3a1656 50%, #2e1145 70%, #1b0a2a); border-bottom: 1px solid rgb(255 214 10 / 0.35); }
.gun-bar.is-kadinlar::before { height: 2px; background: linear-gradient(90deg, transparent, #c9a227 25%, #fff3a0 50%, #c9a227 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-kadinlar::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 240 200 / 0.07) 50%, transparent 58%); }
.gs-pollen { position: absolute; width: var(--s); height: var(--s); border-radius: 50%; background: #ffe066; box-shadow: 0 0 6px #ffd60a; opacity: 0; animation: gs-pollen var(--t) ease-in-out infinite; animation-delay: var(--d); }
@keyframes gs-pollen { 0% { opacity: 0; transform: translate(0, 10px); } 20% { opacity: 0.8; } 80% { opacity: 0.6; } 100% { opacity: 0; transform: translate(var(--x), -40px); } }
.gun-bar.is-kadinlar .gs-crest.is-may > b { background-image: linear-gradient(180deg, #fff6b0, #ffd60a 50%, #c99400); }
.gun-bar.is-kadinlar .gs-crest.is-may .gs-crest-c em { color: #f3e8ff; }
.gun-bar.is-kadinlar .gs-t23-caps { color: #e9d8ff; letter-spacing: 0.3em; }
.gun-bar.is-kadinlar .gs-t23-caps::before, .gun-bar.is-kadinlar .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #ffd60a); }
.gun-bar.is-kadinlar .gs-t23-script { color: #fff3a0; text-shadow: 0 0 16px rgb(255 214 10 / 0.35), 0 2px 8px rgb(0 0 0 / 0.6); }
.km-mim { position: absolute; right: 2%; bottom: 0; width: 300px; height: 84px; }
.km-mim svg { width: 100%; height: 100%; overflow: visible; }
.mb-ball { transform-box: fill-box; transform-origin: center; animation: mb-pop 700ms cubic-bezier(0.34, 1.56, 0.64, 1) both; animation-delay: calc(0.3s + var(--i) * 0.12s); }
@keyframes mb-pop { from { scale: 0; } }
.mb-sway { transform-box: view-box; transform-origin: 290px 84px; animation: mb-sway 5s ease-in-out infinite alternate; }
.mb-sway.is-2 { transform-origin: 262px 84px; animation-duration: 4.2s; animation-delay: -1.5s; }
.mb-sway.is-3 { transform-origin: 296px 84px; animation-duration: 3.6s; animation-delay: -0.8s; }
@keyframes mb-sway { from { rotate: -1.5deg; } to { rotate: 1.5deg; } }
.glt-ic.is-mim { width: 42px; height: 28px; }
.glt-tx.is-km .glt-caps { background-image: linear-gradient(90deg, #c9a227, #fff3a0, #ffd60a, #fff3a0, #c9a227); }
@media (max-width: 1199px) { .km-mim { width: 210px; } }
@media (max-width: 899px) { .km-mim { display: none; } }

/* ---- 4 Nisan: gece sokağı, lamba ışığında oturan kedi & köpek, yürüyen pati izleri ---- */
.gun-bar.is-hayvanlar { background: radial-gradient(30% 160% at 86% 0%, rgb(255 200 110 / 0.22), transparent 70%), linear-gradient(180deg, #120d0a 0%, #1d1510 60%, #2a1d13 100%); border-bottom: 1px solid rgb(255 200 120 / 0.3); }
.gun-bar.is-hayvanlar::before { height: 2px; background: linear-gradient(90deg, transparent, #b97a2e 25%, #ffe0a8 50%, #b97a2e 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-hayvanlar::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 230 180 / 0.05) 50%, transparent 58%); }
.gun-bar.is-hayvanlar .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ffe0a8, #ffb347 50%, #c66a12); }
.gun-bar.is-hayvanlar .gs-crest.is-may .gs-crest-c em { color: #fff1dc; }
.gun-bar.is-hayvanlar .gs-crest.is-may .gs-crest-c small { color: #d9a865; font-size: 9.5px; letter-spacing: 0.2em; }
.gun-bar.is-hayvanlar .gs-t23-caps { color: #f6dfbf; letter-spacing: 0.26em; }
.gun-bar.is-hayvanlar .gs-t23-caps::before, .gun-bar.is-hayvanlar .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #ffb347); }
.gun-bar.is-hayvanlar .gs-t23-script { color: #ffcf8a; text-shadow: 0 0 16px rgb(255 170 70 / 0.35), 0 2px 8px rgb(0 0 0 / 0.6); }
.sp-paws { position: absolute; left: 22%; right: 26%; bottom: 0; top: 0; }
.sp-paws i { position: absolute; width: 11px; height: 11px; rotate: 90deg; opacity: 0; animation: sp-paw 7s linear infinite; animation-delay: calc(var(--i) * 0.38s); }
.sp-paws i svg { display: block; width: 100%; height: 100%; }
@keyframes sp-paw { 0% { opacity: 0; } 2% { opacity: 0.45; } 40% { opacity: 0.25; } 60%, 100% { opacity: 0; } }
.sp-street { position: absolute; right: 2%; bottom: 0; width: 220px; height: 84px; }
.sp-street > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.sp-cone { position: absolute; left: 112px; top: 20px; width: 68px; height: 64px; background: linear-gradient(180deg, rgb(255 214 140 / 0.38), rgb(255 214 140 / 0.04)); clip-path: polygon(40% 0, 60% 0, 100% 100%, 0 100%); filter: blur(2px); animation: sp-flick 4s ease-in-out infinite; }
.sp-cone::after { content: ''; position: absolute; left: -30%; right: -30%; bottom: 0; height: 8px; border-radius: 50%; background: radial-gradient(closest-side, rgb(255 214 140 / 0.45), transparent); }
@keyframes sp-flick { 0%, 100% { opacity: 1; } 46% { opacity: 1; } 48% { opacity: 0.75; } 50% { opacity: 1; } 52% { opacity: 0.85; } }
.sp-glow { animation: sp-flick 4s ease-in-out infinite; }
.sp-ctail { transform-box: view-box; transform-origin: 118px 81px; animation: sp-ctail 2.6s ease-in-out infinite alternate; }
@keyframes sp-ctail { from { rotate: -6deg; } to { rotate: 10deg; } }
.sp-dtail { transform-box: view-box; transform-origin: 85px 76px; animation: sp-dtail 0.35s ease-in-out infinite alternate; }
@keyframes sp-dtail { from { rotate: -14deg; } to { rotate: 14deg; } }
.sp-eyes { animation: sp-blink 5s infinite; transform-box: fill-box; transform-origin: center; }
@keyframes sp-blink { 0%, 92%, 100% { scale: 1 1; } 95% { scale: 1 0.1; } }
.sp-moth { transform-box: view-box; transform-origin: 146px 19px; animation: sp-moth 2.6s linear infinite; animation-delay: var(--d); }
@keyframes sp-moth { from { transform: rotate(0deg) translateX(13px) rotate(0deg); } to { transform: rotate(360deg) translateX(13px) rotate(-360deg); } }
.glt-ic.is-paw { width: 24px; height: 24px; rotate: -15deg; animation: lv-pulse 2.4s ease-in-out infinite; }
.glt-tx.is-pet .glt-caps { background-image: linear-gradient(90deg, #b97a2e, #ffe0a8, #ffb347, #ffe0a8, #b97a2e); }
@media (max-width: 1199px) { .sp-street { transform: scale(0.8); transform-origin: 100% 100%; } .sp-paws { display: none; } }
@media (max-width: 899px) { .sp-street { display: none; } }

/* ---- 1 Mayıs: kömür-kırmızı, çapraz çelik dokusu, birbirine geçen dönen dişliler, karanfiller, kıvılcım ---- */
.gun-bar.is-emek { background: radial-gradient(30% 140% at 82% 50%, rgb(255 120 60 / 0.16), transparent 70%), linear-gradient(90deg, #140909, #2a0c0e 30%, #3a0f12 50%, #2a0c0e 70%, #140909); border-bottom: 1px solid rgb(230 57 70 / 0.45); }
.gun-bar.is-emek::before { height: 2px; background: linear-gradient(90deg, transparent, #c1121f 25%, #ff8a92 50%, #c1121f 75%, transparent); background-size: 200% 100%; }
.em-stripes { position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgb(255 255 255 / 0.018) 0 10px, transparent 10px 22px); }
.gs-ember.is-spark { bottom: 40%; width: 2px; height: 2px; background: #ffd27a; box-shadow: 0 0 6px 2px #ff7a1a; }
.gun-bar.is-emek .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ff6b6b, #e30a17 50%, #8a0611); }
.gun-bar.is-emek .gs-crest.is-may .gs-crest-c em { color: #fff; }
.gun-bar.is-emek .gs-t23-caps { color: #f1f1f1; letter-spacing: 0.26em; }
.gun-bar.is-emek .gs-t23-caps::before, .gun-bar.is-emek .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #e63946); }
.gun-bar.is-emek .gs-t23-script { color: #ff5a64; text-shadow: 0 0 16px rgb(255 50 66 / 0.35), 0 2px 8px rgb(0 0 0 / 0.6); }
.em-gears { position: absolute; right: 3%; bottom: 0; width: 240px; height: 84px; filter: drop-shadow(0 3px 8px rgb(0 0 0 / 0.6)); }
.em-gears svg { width: 100%; height: 100%; overflow: visible; }
.em-g { animation: gs-spin 24s linear infinite; }
.em-g.is-b { animation-duration: 15s; animation-direction: reverse; }
.em-g.is-c { animation-duration: 12s; animation-direction: reverse; }
.em-carns { position: absolute; right: calc(3% + 228px); bottom: 0; width: 70px; height: 84px; }
.em-carns svg { width: 100%; height: 100%; overflow: visible; }
.em-carn { transform-box: view-box; animation: mb-sway 3.4s ease-in-out infinite alternate; animation-delay: var(--d); }
.glt-ic.is-gear { width: 30px; height: 30px; animation: gs-spin 10s linear infinite; }
.glt-tx.is-emek .glt-caps { background-image: linear-gradient(90deg, #c1121f, #ffe0e0, #ff5a64, #ffe0e0, #c1121f); }
@media (max-width: 1535px) { .em-carns { display: none; } }
@media (max-width: 1199px) { .em-gears { transform: scale(0.75); transform-origin: 100% 100%; } }
@media (max-width: 899px) { .em-gears { display: none; } }

/* ---- Anneler Günü: gül kurusu-şeftali, sallanan lale buketi, uçuşan kelebekler, solda kendini çizen kalp ---- */
.gun-bar.is-anneler { background: radial-gradient(40% 140% at 80% 100%, rgb(255 180 162 / 0.18), transparent 70%), linear-gradient(90deg, #22101c, #3a1a2c 30%, #4a2236 50%, #3a1a2c 70%, #22101c); border-bottom: 1px solid rgb(255 214 165 / 0.3); }
.gun-bar.is-anneler::before { height: 2px; background: linear-gradient(90deg, transparent, #e5989b 25%, #ffe5d9 50%, #e5989b 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-anneler .gs-t23-caps { color: #ffd6c9; }
.gun-bar.is-anneler .gs-t23-caps::before, .gun-bar.is-anneler .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #ffb4a2); }
.gun-bar.is-anneler .gs-t23-script { color: #fff0e8; text-shadow: 0 0 16px rgb(255 180 162 / 0.4), 0 2px 8px rgb(0 0 0 / 0.6); }
.gun-bar.is-anneler .fm-left em { color: #ffd6a5; text-shadow: 0 2px 8px rgb(0 0 0 / 0.6); }
.fm-heart { width: 38px; height: 34px; filter: drop-shadow(0 0 6px rgb(255 214 165 / 0.6)); }
.fm-heart svg { display: block; width: 100%; height: 100%; overflow: visible; }
.fm-heart path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: pt-draw 1.6s ease 0.3s forwards, lv-pulse 2.4s ease-in-out 2s infinite; transform-box: fill-box; transform-origin: center; }
.an-bq { position: absolute; right: 3%; bottom: 0; width: 150px; height: 84px; }
.an-bq svg { width: 100%; height: 100%; overflow: visible; }
.an-tul { transform-box: view-box; animation: mb-sway 3.2s ease-in-out infinite alternate; animation-delay: var(--d); }
.an-bf { position: absolute; width: 20px; height: 17px; z-index: 2; animation: an-fly 11s ease-in-out infinite; }
.an-bf.is-1 { right: calc(3% + 160px); top: 18px; }
.an-bf.is-2 { right: calc(3% + 60px); top: 6px; animation-duration: 13s; animation-delay: -5s; }
.an-bf svg { display: block; width: 100%; height: 100%; overflow: visible; }
.bf-w { transform-box: fill-box; transform-origin: 100% 50%; animation: bf-flap 0.28s ease-in-out infinite alternate; }
.bf-w.is-r { transform-origin: 0 50%; }
@keyframes bf-flap { from { scale: 1 1; } to { scale: 0.25 1; } }
@keyframes an-fly { 0%, 100% { transform: translate(0, 0) rotate(-8deg); } 25% { transform: translate(-40px, 14px) rotate(6deg); } 50% { transform: translate(-10px, 30px) rotate(-4deg); } 75% { transform: translate(30px, 8px) rotate(8deg); } }
.glt-ic.is-tul { width: 18px; height: 30px; }
.glt-tx.is-fm .glt-caps { background-image: linear-gradient(90deg, #e5989b, #ffe5d9, #ffb4a2, #ffe5d9, #e5989b); letter-spacing: 0.2em; }
@media (max-width: 1199px) { .an-bf { display: none; } .fm-left em { font-size: 28px; } }
@media (max-width: 899px) { .an-bq, .fm-left { display: none; } }

/* ---- Babalar Günü: gece laciverti + altın, solda kravat, sağda sallanan cep saati (gerçek saat) ---- */
.gun-bar.is-babalar { background: radial-gradient(35% 140% at 86% 50%, rgb(212 175 55 / 0.14), transparent 70%), linear-gradient(90deg, #0a1120, #13203a 30%, #192a48 50%, #13203a 70%, #0a1120); border-bottom: 1px solid rgb(212 175 55 / 0.35); }
.gun-bar.is-babalar::before { height: 2px; background: linear-gradient(90deg, transparent, #b8892a 25%, #fff1b8 50%, #b8892a 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-babalar .gs-t23-caps { color: #d9e2f2; }
.gun-bar.is-babalar .gs-t23-caps::before, .gun-bar.is-babalar .gs-t23-caps::after { background: linear-gradient(90deg, transparent, #d4af37); }
.gun-bar.is-babalar .gs-t23-script { background: linear-gradient(180deg, #fff6d0, #f6e27a 40%, #d4af37 75%, #a77b1c); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.6)); padding: 10px 22px 2px; margin: -8px 0 0; }
.gun-bar.is-babalar .fm-left em { color: #f6e27a; text-shadow: 0 2px 8px rgb(0 0 0 / 0.6); }
.fm-tie { width: 18px; height: 46px; transform-origin: 50% 0; animation: ny-swing 3s ease-in-out infinite alternate; filter: drop-shadow(0 2px 4px rgb(0 0 0 / 0.5)); }
.fm-tie svg { display: block; width: 100%; height: 100%; }
.pw { position: absolute; right: 5%; top: 0; width: 70px; height: 84px; filter: drop-shadow(0 4px 10px rgb(0 0 0 / 0.6)); }
.pw svg { width: 100%; height: 100%; overflow: visible; }
.pw-sw { transform-box: view-box; transform-origin: 35px -4px; animation: pw-sw 3.2s ease-in-out infinite alternate; }
@keyframes pw-sw { from { rotate: -7deg; } to { rotate: 7deg; } }
.pw-sec { transform-box: view-box; animation: pw-sec 60s steps(60) infinite; }
@keyframes pw-sec { from { transform: rotate(var(--s0)); } to { transform: rotate(calc(var(--s0) + 360deg)); } }
.glt-ic.is-tie { width: 14px; height: 36px; transform-origin: 50% 0; animation: ny-swing 3s ease-in-out infinite alternate; }
.glt-tx.is-dad .glt-caps { background-image: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); letter-spacing: 0.2em; }
@media (max-width: 899px) { .pw { display: none; } }

/* ---- 24 Kasım: kara tahta, ahşap çerçeve, tebeşir yazı, kendini çizen elma & yıldız, "Teşekkürler" ---- */
.gun-bar.is-ogretmen { background: radial-gradient(60% 140% at 30% 40%, rgb(255 255 255 / 0.05), transparent 70%), radial-gradient(40% 120% at 80% 60%, rgb(255 255 255 / 0.04), transparent 70%), linear-gradient(180deg, #173a2b, #12301f); border-top: 4px solid #6b4423; border-bottom: 5px solid #5a381b; box-shadow: inset 0 3px 6px rgb(0 0 0 / 0.4); }
.gun-bar.is-ogretmen::before { display: none; }
.gun-bar.is-ogretmen::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 255 255 / 0.04) 50%, transparent 58%); }
.ck-smudge { position: absolute; inset: 0; background: radial-gradient(closest-side, rgb(255 255 255 / 0.05), transparent) 18% 30% / 260px 60px no-repeat, radial-gradient(closest-side, rgb(255 255 255 / 0.04), transparent) 62% 70% / 320px 50px no-repeat, radial-gradient(closest-side, rgb(255 255 255 / 0.035), transparent) 88% 20% / 200px 40px no-repeat; }
.gs-chalk { position: absolute; top: -4px; width: var(--s); height: var(--s); border-radius: 50%; background: #f1f3ee; opacity: 0; animation: gs-flake var(--t) linear infinite; animation-delay: var(--d); }
.gun-bar.is-ogretmen .gs-crest.is-may > b { background: none; -webkit-text-fill-color: #f1f3ee; color: #f1f3ee; font-family: 'Cinzel', serif; font-style: normal; font-size: 46px; opacity: 0.94; text-shadow: 0 0 1px #fff, 0 0 6px rgb(255 255 255 / 0.25); }
.gun-bar.is-ogretmen .gs-crest.is-may .gs-crest-c em { color: #f1f3ee; }
.gun-bar.is-ogretmen .gs-crest.is-may .gs-crest-c small { color: #c9d6c4; font-size: 9px; letter-spacing: 0.2em; }
.gun-bar.is-ogretmen .gs-t23-caps { color: #f1f3ee; letter-spacing: 0.3em; text-shadow: 0 0 1px #fff, 0 0 6px rgb(255 255 255 / 0.2); }
.gun-bar.is-ogretmen .gs-t23-caps::before, .gun-bar.is-ogretmen .gs-t23-caps::after { background: linear-gradient(90deg, transparent, rgb(241 243 238 / 0.8)); height: 2px; }
.gun-bar.is-ogretmen .gs-t23-script { color: #fff5b8; text-shadow: 0 0 1px #fff, 0 0 8px rgb(255 245 184 / 0.3); }
.ck-art { position: absolute; right: 3%; bottom: 0; width: 240px; height: 84px; }
.ck-art svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 1px rgb(255 255 255 / 0.6)); opacity: 0.92; }
.ck-d { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ck-draw 9s ease-in-out infinite; animation-delay: calc(var(--i) * 0.5s); }
@keyframes ck-draw { 0% { stroke-dashoffset: 1; opacity: 1; } 15% { stroke-dashoffset: 0; } 80% { stroke-dashoffset: 0; opacity: 1; } 92%, 100% { stroke-dashoffset: 0; opacity: 0; } }
.ck-art em { position: absolute; left: 82px; top: 16px; color: #f1f3ee; font-family: 'Great Vibes', cursive; font-size: 34px; font-style: normal; line-height: 1; padding: 0 10px 0 0; text-shadow: 0 0 1px #fff; clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 2s cubic-bezier(0.45, 0, 0.25, 1) 2s forwards; }
.glt-ic.is-apple { width: 22px; height: 24px; animation: lv-pulse 3s ease-in-out infinite; }
.glt-tx.is-ck .glt-caps { background-image: linear-gradient(90deg, #9fb59a, #ffffff, #c9d6c4, #ffffff, #9fb59a); }
@media (max-width: 1199px) { .ck-art { transform: scale(0.8); transform-origin: 100% 100%; } }
@media (max-width: 899px) { .ck-art { display: none; } }
@media (max-width: 767px) { .gun-bar.is-kadinlar, .gun-bar.is-hayvanlar, .gun-bar.is-emek, .gun-bar.is-anneler, .gun-bar.is-babalar, .gun-bar.is-ogretmen { height: 70px; } .gun-bar .gs-t23.is-fm .gs-t23-script { font-size: 26px; } .gun-bar .gs-t23.is-fm .gs-t23-caps { font-size: 7.5px; } .gun-bar .gs-t23.is-km .gs-t23-caps, .gun-bar .gs-t23.is-pet .gs-t23-caps, .gun-bar .gs-t23.is-emek .gs-t23-caps, .gun-bar .gs-t23.is-ck .gs-t23-caps { font-size: 9px; letter-spacing: 0.12em; } }
.ck-art em { left: 76px; font-size: 30px; }
.fm-tie { width: 22px; height: 56px; }
.glt-ic.is-tul { width: 22px; height: 36px; }

/* ---- yatay üçlü yazı düzeni: [iki satır büyük harf] | el yazısı | [Kutlu Olsun] ---- */
.gs-row3 { position: relative; z-index: 3; display: flex; align-items: center; gap: 22px; line-height: 1; }
.r3-side { color: var(--r3c, #eee); font-family: 'Cinzel', serif; font-size: 12px; font-weight: 800; letter-spacing: 0.3em; line-height: 1.7; text-transform: uppercase; white-space: nowrap; text-shadow: 0 2px 8px rgb(0 0 0 / 0.7); animation: gs-anniv-in 1.2s ease 0.3s both; }
.r3-side.is-l { padding-right: 22px; border-right: 1.5px solid var(--r3l, #d4af37); text-align: right; }
.r3-side.is-r { padding-left: 22px; border-left: 1.5px solid var(--r3l, #d4af37); text-align: left; animation-delay: 2s; }
.r3-script { color: var(--r3s, #fff); font-family: 'Great Vibes', cursive; font-size: 46px; line-height: 1.2; white-space: nowrap; padding: 0 14px; text-shadow: 0 0 16px var(--r3g, transparent), 0 2px 8px rgb(0 0 0 / 0.6); clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 2s cubic-bezier(0.45, 0, 0.25, 1) 0.6s forwards; }
.gs-row3.is-km { --r3c: #e9d8ff; --r3l: rgb(255 214 10 / 0.6); --r3s: #fff3a0; --r3g: rgb(255 214 10 / 0.35); }
.gs-row3.is-emek { --r3c: #eef0f3; --r3l: rgb(245 183 0 / 0.7); --r3s: #f5b700; --r3g: rgb(245 183 0 / 0.3); }
.gs-row3.is-fm { --r3c: #ffd6c9; --r3l: rgb(255 180 162 / 0.6); --r3s: #fff0e8; --r3g: rgb(255 180 162 / 0.4); }
.gs-row3.is-fm.is-dad { --r3c: #d9e2f2; --r3l: rgb(212 175 55 / 0.6); --r3s: #f6e27a; --r3g: rgb(212 175 55 / 0.3); }
.gs-row3.is-tc { --r3c: #efe3c8; --r3l: rgb(212 175 55 / 0.6); --r3s: #f6e7c1; --r3g: rgb(212 175 55 / 0.3); }
@media (max-width: 1535px) { .gs-row3 { gap: 14px; } .r3-side { font-size: 10.5px; letter-spacing: 0.22em; } .r3-side.is-l { padding-right: 14px; } .r3-side.is-r { padding-left: 14px; } .r3-script { font-size: 40px; } }
@media (max-width: 1199px) { .r3-side { font-size: 9.5px; letter-spacing: 0.16em; } .r3-script { font-size: 34px; } .gs-row3 { gap: 10px; } }
@media (max-width: 767px) { .gs-row3 { flex-direction: column; gap: 0; } .r3-side { font-size: 8px; letter-spacing: 0.14em; line-height: 1.3; text-align: center !important; padding: 0 !important; border: 0 !important; } .r3-side br { display: none; } .r3-script { font-size: 28px; line-height: 1.15; } }
.gun-bar.is-anneler .fm-left, .gun-bar.is-babalar .fm-left { display: none; }

/* ---- 1 Mayıs v2: grafit + iş güvenliği sarısı, baret, çelik/sarı dişliler, ikaz şeridi ---- */
.gun-bar.is-emek { background: radial-gradient(30% 140% at 84% 60%, rgb(245 183 0 / 0.14), transparent 70%), linear-gradient(90deg, #121417, #1c1f24 30%, #24282e 50%, #1c1f24 70%, #121417); border-bottom: 1px solid rgb(245 183 0 / 0.45); }
.gun-bar.is-emek::before { height: 2px; background: linear-gradient(90deg, transparent, #b98400 25%, #ffe066 50%, #b98400 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-emek .gs-crest.is-may > b { background-image: linear-gradient(180deg, #ffe066, #f5b700 50%, #9c6f00); }
.em-hazard { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(-45deg, #f5b700 0 10px, #15171a 10px 20px); opacity: 0.85; animation: em-haz 1.6s linear infinite; }
@keyframes em-haz { to { background-position: 28.28px 0; } }
.em-hat { position: absolute; right: calc(3% + 196px); bottom: 3px; width: 84px; height: 52px; z-index: 2; filter: drop-shadow(0 4px 8px rgb(0 0 0 / 0.55)); animation: em-hat 4s ease-in-out infinite; }
.em-hat svg { width: 100%; height: 100%; overflow: visible; }
@keyframes em-hat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
.gs-ember.is-spark { background: #ffe066; box-shadow: 0 0 6px 2px #f5b700; }
@media (max-width: 1199px) { .em-hat { right: calc(3% + 150px); transform: scale(0.8); } }
@media (max-width: 899px) { .em-hat { display: none; } }

/* ---- 24 Kasım v2: koyu ceviz kütüphane + altın, kitap yığını ve kep, kalemle yazılan Teşekkürler ---- */
.gun-bar.is-ogretmen { background: radial-gradient(30% 160% at 82% 0%, rgb(255 214 150 / 0.20), transparent 70%), linear-gradient(90deg, #140d08, #22160e 30%, #2c1d12 50%, #22160e 70%, #140d08); border-top: 0; border-bottom: 1px solid rgb(212 175 55 / 0.4); box-shadow: none; }
.gun-bar.is-ogretmen::before { display: block; height: 2px; background: linear-gradient(90deg, transparent, #b8892a 25%, #fff1b8 50%, #b8892a 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-ogretmen .gs-crest.is-may > b { background: linear-gradient(180deg, #fff1b8, #d4af37 55%, #8a6a1e); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; font-family: 'Playfair Display', serif; font-style: italic; font-size: 54px; opacity: 1; text-shadow: none; }
.gun-bar.is-ogretmen .gs-crest.is-may .gs-crest-c em { color: #f6e7c1; }
.gun-bar.is-ogretmen .gs-crest.is-may .gs-crest-c small { color: #c9a86a; }
.tc-lamp { position: absolute; right: 6%; top: -60px; width: 260px; height: 160px; border-radius: 50%; background: radial-gradient(closest-side, rgb(255 214 150 / 0.16), transparent); animation: gs-breathe 6s ease-in-out infinite; }
.gs-dust { position: absolute; width: var(--s); height: var(--s); border-radius: 50%; background: #ffe6b0; opacity: 0; animation: gs-pollen var(--t) ease-in-out infinite; animation-delay: var(--d); }
.tc-books { position: absolute; right: 3%; bottom: 0; width: 130px; height: 84px; filter: drop-shadow(0 4px 8px rgb(0 0 0 / 0.6)); }
.tc-books svg { width: 100%; height: 100%; overflow: visible; }
.tc-cap { transform-box: view-box; transform-origin: 63px 30px; animation: tc-cap 5s ease-in-out infinite; }
@keyframes tc-cap { 0%, 100% { rotate: -2deg; } 50% { rotate: 2deg; } }
.tc-tas { transform-box: view-box; transform-origin: 86px 23px; animation: ny-swing 1.6s ease-in-out infinite alternate; }
.tc-thx { position: absolute; right: calc(3% + 146px); top: 50%; z-index: 2; height: 46px; transform: translateY(-50%); }
.tc-thx em { display: block; color: #f6e7c1; font-family: 'Great Vibes', cursive; font-size: 36px; font-style: normal; line-height: 1.2; padding: 0 12px 0 4px; text-shadow: 0 2px 8px rgb(0 0 0 / 0.6); clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 2.4s linear 1.2s forwards; }
.tc-pen { position: absolute; left: 0; bottom: 6px; width: 46px; height: 11px; transform-origin: 0 100%; rotate: -32deg; animation: tc-pen 2.4s linear 1.2s both; }
.tc-pen svg { display: block; width: 100%; height: 100%; }
@keyframes tc-pen { 0% { left: 0; opacity: 1; } 10% { transform: translateY(-6px); } 20% { transform: translateY(2px); } 30% { transform: translateY(-5px); } 40% { transform: translateY(1px); } 50% { transform: translateY(-6px); } 60% { transform: translateY(2px); } 70% { transform: translateY(-4px); } 80% { transform: translateY(1px); } 95% { left: calc(100% - 10px); opacity: 1; transform: translateY(0); } 100% { left: calc(100% - 10px); opacity: 0; } }
.glt-ic.is-book { width: 28px; height: 21px; }
.glt-tx.is-ck .glt-caps { background-image: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); }
@media (max-width: 1535px) { .tc-thx { display: none; } }
@media (max-width: 1199px) { .tc-books { transform: scale(0.8); transform-origin: 100% 100%; } }
@media (max-width: 899px) { .tc-books { display: none; } }
.gs-row3.is-love { --r3c: #f4b6c2; --r3l: rgb(244 167 181 / 0.6); --r3s: #ffe8ee; --r3g: rgb(255 120 160 / 0.45); }
/* Atatürk imzası: bir kez yazılır ve kalır (döngüde kaybolmaz) */
@keyframes gs-write-once { from { clip-path: inset(-20% 100% -20% 0); } to { clip-path: inset(-20% 0 -20% 0); } }
@keyframes gs-pen-once { 0% { left: 0; opacity: 1; } 92% { left: 100%; opacity: 1; } 100% { left: 100%; opacity: 0; } }
.gs-sig .gs-sig-ink { animation: gs-write-once 3.6s ease-in-out 0.6s both !important; }
.gs-sig .gs-sig-pen { animation: gs-pen-once 3.6s ease-in-out 0.6s both !important; }

.glt-ic.is-venus { width: 22px; height: 30px; filter: drop-shadow(0 0 6px rgb(255 214 10 / 0.45)); animation: gs-breathe 3s ease-in-out infinite; }
.glt-ic.is-mom { width: 30px; height: 27px; filter: drop-shadow(0 0 6px rgb(255 180 162 / 0.5)); }
.mom-in { transform-box: fill-box; transform-origin: center; animation: lv-pulse 1.6s ease-in-out infinite; }
.glt-ic.is-watch { width: 24px; height: 31px; transform-origin: 50% 0; animation: pw-sw 3s ease-in-out infinite alternate; filter: drop-shadow(0 0 6px rgb(212 175 55 / 0.45)); }
/* 18 Mart: defnesiz, şık "18 | Mart / 1915" */
.gs-crest.is-war2 { z-index: 2; align-items: center; gap: 12px; filter: drop-shadow(0 2px 10px rgb(0 0 0 / 0.75)); }
.gs-crest.is-war2 > b { font-family: 'Cinzel', serif; font-style: normal; font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: 0.02em; background: linear-gradient(180deg, #fbf3e2 0%, #e8d5b0 45%, #b8955e 80%, #8b7355 100%); -webkit-background-clip: text; background-clip: text; color: transparent; animation: z30-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.w18-d { display: grid; justify-items: start; padding-left: 14px; border-left: 1.5px solid rgb(232 213 176 / 0.45); line-height: 1; }
.w18-d em { color: #f4ede0; font-family: 'Great Vibes', cursive; font-size: 36px; font-style: normal; line-height: 1.05; padding: 0 10px 0 0; text-shadow: 0 2px 8px rgb(0 0 0 / 0.8); clip-path: inset(-40% 100% -40% -10%); animation: gs-pen-write 1.6s cubic-bezier(0.45, 0, 0.25, 1) 0.8s forwards; }
.w18-d small { margin-top: 3px; background: linear-gradient(90deg, #b8955e, #fbf3e2, #c9a227, #fbf3e2, #b8955e); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Cinzel', serif; font-size: 13px; font-weight: 800; letter-spacing: 0.5em; animation: gs-caps-in 1.2s ease 1.4s both, gs-caps-shine 6s linear 2.6s infinite; }
@media (max-width: 1199px) { .gs-crest.is-war2 > b { font-size: 46px; } .w18-d em { font-size: 30px; } }
@media (max-width: 767px) { .gs-crest.is-war2 { display: none; } }

/* ---- Ramazan / Kurban Bayramı: gece + altın, geometrik desen, altın hilal ---- */
.gun-bar.is-ramazan, .gun-bar.is-kurban { height: 84px; }
.gun-bar.is-ramazan { background: radial-gradient(40% 140% at 84% 100%, rgb(255 210 122 / 0.16), transparent 70%), linear-gradient(90deg, #04101a, #0a2230 30%, #0d2c3a 50%, #0a2230 70%, #04101a); border-bottom: 1px solid rgb(212 175 55 / 0.4); }
.gun-bar.is-kurban { background: radial-gradient(40% 140% at 84% 100%, rgb(255 210 122 / 0.18), transparent 70%), linear-gradient(90deg, #03100b, #08231a 30%, #0b2e21 50%, #08231a 70%, #03100b); border-bottom: 1px solid rgb(212 175 55 / 0.4); }
.gun-bar.is-ramazan::before, .gun-bar.is-kurban::before { height: 2px; background: linear-gradient(90deg, transparent, #b8892a 25%, #fff1b8 50%, #b8892a 75%, transparent); background-size: 200% 100%; }
.gun-bar.is-ramazan::after, .gun-bar.is-kurban::after { background-image: linear-gradient(105deg, transparent 42%, rgb(255 240 200 / 0.05) 50%, transparent 58%); }
.bl-pattern { position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'44'%20height%3D'44'%3E%3Cpath%20d%3D'M22%203%20L27%2017%20L41%2022%20L27%2027%20L22%2041%20L17%2027%20L3%2022%20L17%2017Z%20M22%2010%20L32%2022%20L22%2034%20L12%2022Z'%20fill%3D'none'%20stroke%3D'%23d4af37'%20stroke-opacity%3D'.09'%20stroke-width%3D'1'%2F%3E%3C%2Fsvg%3E") 0 0 / 44px 44px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000); mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000); }
.bl-left { position: absolute; left: 3%; top: 0; bottom: 0; z-index: 2; display: flex; align-items: flex-start; gap: 10px; }
.bl-moon { align-self: center; width: 50px; height: 50px; filter: drop-shadow(0 0 12px rgb(246 211 101 / 0.55)); animation: gs-breathe 5s ease-in-out infinite; }
.bl-moon svg, .bl-mosque svg, .kb-farm > svg { width: 100%; height: 100%; overflow: visible; }
.bl-fanus { position: relative; width: 20px; height: calc(var(--h) + 40px); transform-origin: 50% 0; animation: ny-swing 3.4s ease-in-out infinite alternate; animation-delay: var(--d); filter: drop-shadow(0 0 8px rgb(255 200 90 / 0.45)); }
.bl-fanus::before { content: ''; position: absolute; left: 50%; top: 0; width: 1px; height: var(--h); background: linear-gradient(rgb(212 175 55 / 0.2), #d4af37); }
.bl-fanus svg { position: absolute; left: 0; bottom: 0; width: 20px; height: 40px; }
.bl-glass { animation: bl-flick 2.2s ease-in-out infinite alternate; animation-delay: inherit; }
@keyframes bl-flick { 0% { opacity: 0.85; } 40% { opacity: 1; } 55% { opacity: 0.8; } 100% { opacity: 1; } }
.bl-mosque { position: absolute; right: 2%; bottom: 0; width: 280px; height: 84px; filter: drop-shadow(0 0 10px rgb(0 0 0 / 0.5)); }
.ms-win { animation: bl-flick 3s ease-in-out infinite alternate; animation-delay: var(--d, 0s); filter: drop-shadow(0 0 3px #ffb347); }
.gs-row3.is-bay { --r3c: #efe6cf; --r3l: rgb(212 175 55 / 0.6); --r3s: #f6e27a; --r3g: rgb(212 175 55 / 0.35); }
.gs-row3.is-bay .r3-script { background: linear-gradient(180deg, #fff6d0, #f6e27a 40%, #d4af37 75%, #a77b1c); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 0 10px rgb(212 175 55 / 0.3)) drop-shadow(0 2px 6px rgb(0 0 0 / 0.6)); padding: 10px 18px 4px; margin: -8px 0 -2px; }
.gs-pollen.is-gold { background: #ffe08a; box-shadow: 0 0 6px #d4af37; }
.lb-head { transform-box: view-box; transform-origin: 42px 18px; animation: lb-graze 5s ease-in-out infinite; }
@keyframes lb-graze { 0%, 30%, 100% { rotate: 0deg; } 45%, 70% { rotate: 28deg; } }
.glt-ic.is-cres { width: 30px; height: 30px; filter: drop-shadow(0 0 6px rgb(246 211 101 / 0.5)); }
.glt-ic.is-lamb { width: 40px; height: 29px; }
.glt-tx.is-bay .glt-caps { background-image: linear-gradient(90deg, #b8892a, #fff1b8, #d4af37, #fff1b8, #b8892a); letter-spacing: 0.2em; }
@media (max-width: 1535px) { .bl-mosque { transform: scale(0.8); transform-origin: 100% 100%; } .bl-fanus:nth-of-type(n+3) { display: none; } }
@media (max-width: 1199px) { .bl-mosque { transform: scale(0.6); } .kb-farm { transform: scale(0.7); } .bl-fanus { display: none; } }
@media (max-width: 899px) { .bl-mosque, .kb-farm { display: none; } }
@media (max-width: 767px) { .gun-bar.is-ramazan, .gun-bar.is-kurban { height: 70px; } .bl-left { display: none; } }

/* Kurban: çayırda koç, inek, kuzu */
.kb-farm { position: absolute; right: 0; bottom: 0; width: 360px; height: 84px; transform-origin: 100% 100%; filter: drop-shadow(0 2px 6px rgb(0 0 0 / 0.45)); -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%); mask-image: linear-gradient(90deg, transparent, #000 18%); }
.kb-farm svg g, .kb-farm svg path, .kb-farm svg ellipse { transform-box: view-box; }
.fm-grass { animation: mb-sway 2.6s ease-in-out infinite alternate; animation-delay: var(--d); }
.fm-tail { transform-origin: 76px 18px; animation: fm-tail 1.8s ease-in-out infinite alternate; }
@keyframes fm-tail { from { rotate: -8deg; } to { rotate: 14deg; } }
.fm-cow-h { transform-origin: 20px 20px; animation: fm-cow 6s ease-in-out infinite; }
@keyframes fm-cow { 0%, 40%, 100% { rotate: 0deg; } 55%, 80% { rotate: -14deg; translate: 0 6px; } }
.fm-ram-h { transform-origin: 54px 26px; animation: fm-ram 5s ease-in-out infinite; }
@keyframes fm-ram { 0%, 100% { rotate: 0deg; } 50% { rotate: -5deg; } }
.fm-breath { transform-origin: 34px 46px; animation: fm-breath 3s ease-in-out infinite; }
@keyframes fm-breath { 50% { scale: 1.015 1.03; } }
@media (max-width: 1535px) { .kb-farm { transform: scale(0.85); } }

/* Shared header: preserve navigation space on every theme. */
.site-header .site-logo { flex-shrink: 0; }
.site-header .gun-logo-tag { flex-shrink: 0; white-space: nowrap; }
@media (max-width: 1100px) { .site-header .gun-logo-tag { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .gun-bar, .gun-bar *, .gun-bar::before, .gun-bar::after,
  .gun-logo-tag, .gun-logo-tag * { animation: none !important; transition: none !important; }
}

/* The page reserves space for fixed side ads; the top strip spans that space. */
@media (min-width: 1000px) {
  html[data-gun] body:has(.market-rail a) > .gun-bar {
    margin-inline: calc(var(--rail-inset, 0px) * -1);
    width: auto;
  }
  html[data-gun] .market-rail {
    top: calc(var(--gun-h, 0px) + 108px);
  }
  html[data-gun] body:not(:has(.site-ticker)) .market-rail {
    top: calc(var(--gun-h, 0px) + 76px);
  }
}
