/* Designed & Developed by Alihan Balkan | +90 538 073 87 16 */
/* =========================================================
   İkon temel stili
========================================================= */
.icon{width:1.3em;height:1.3em;flex:none;}

/* =========================================================
   Glassmorphism temel yüzeyi (yalnızca header, dropdown,
   floating butonlar ve sosyal menüde kullanılır)
========================================================= */
.glass{
  background:var(--glass-bg);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-soft);
}

/* =========================================================
   Butonlar
========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-accent);
  font-size:.82rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  padding:.95rem 1.7rem;
  border-radius:var(--radius-pill);
  transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
  white-space:nowrap;
}
.btn--primary{
  background:var(--color-orange);
  color:var(--color-paper);
  box-shadow:0 12px 24px -10px rgba(244,123,41,.55);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(244,123,41,.6);}
.btn--ghost{
  background:transparent;
  color:var(--color-ink);
  border:1.5px solid rgba(28,26,23,.25);
}
.btn--ghost:hover{border-color:var(--color-ink);background:rgba(28,26,23,.05);}
.btn--glass-orange{
  background:rgba(244,123,41,.16);
  color:var(--color-orange-dark);
  border:1px solid rgba(244,123,41,.35);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.btn--glass-orange:hover{background:rgba(244,123,41,.26);transform:translateY(-2px);}
.btn--block{width:100%;}
.btn--lg{padding:1.15rem 2.2rem;font-size:.88rem;}
.btn--sm{padding:.7rem 1.3rem;font-size:.72rem;}
.btn--whatsapp{
  background:#25D366;color:#fff;
  box-shadow:0 12px 24px -10px rgba(37,211,102,.55);
}
.btn--whatsapp:hover{transform:translateY(-2px);}

/* =========================================================
   Üst marquee slogan şeridi
========================================================= */
.top-marquee{
  background:var(--color-ink);
  color:var(--bg-primary);
  overflow:hidden;
  padding-block:.55rem;
  position:relative;
}
.top-marquee__track{
  display:flex;
  width:max-content;
  animation:marquee 32s linear infinite;
}
.top-marquee__seg{
  font-family:var(--font-accent);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  padding-right:2.5rem;
  color:var(--color-orange);
  opacity:.92;
}
.top-marquee__seg:nth-child(odd){color:var(--bg-primary);}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .top-marquee__track{animation-duration:90s;}
}

/* =========================================================
   Header
========================================================= */
.site-header{
  position:sticky;top:0;
  z-index:var(--z-header);
  padding:.9rem clamp(.75rem,2.5vw,1.75rem) 0;
}
.site-header__inner{
  max-width:var(--container-max);
  margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.65rem .8rem .65rem 1.4rem;
  border-radius:var(--radius-pill);
  transition:box-shadow var(--dur-med) var(--ease-out);
}
.site-header.is-scrolled .site-header__inner{
  box-shadow:var(--shadow-lift);
}
.brand{display:flex;align-items:center;flex:none;min-width:0;}
.brand__logo{height:30px;width:auto;max-width:38vw;}
@media (max-width:480px){
  .brand__logo{height:24px;}
}

.main-nav{display:none;}
@media (min-width:1120px){
  .main-nav{display:block;}
}
.main-nav__list{display:flex;align-items:center;gap:.35rem;}
.nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:.3rem;
  font-family:var(--font-accent);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;
  padding:.7rem .9rem;border-radius:var(--radius-pill);
  color:var(--color-anthracite);
  transition:color var(--dur-fast), background var(--dur-fast);
}
.nav-link:hover,.nav-link.is-active{color:var(--color-orange-dark);background:rgba(244,123,41,.1);}
.nav-caret{width:.7em;height:.7em;transition:transform var(--dur-fast) var(--ease-out);}
.nav-item.has-dropdown:hover .nav-caret,
.nav-item.has-dropdown:focus-within .nav-caret,
.nav-item.has-dropdown.is-open .nav-caret{transform:rotate(180deg);}

.dropdown-panel{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translate(-50%,10px);
  min-width:340px;
  padding:1.3rem 1.5rem;
  border-radius:var(--radius-md);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--dur-med) var(--ease-premium), transform var(--dur-med) var(--ease-premium), visibility var(--dur-med);
  z-index:var(--z-header);
  /* Header'daki hafif glass'tan farklı olarak dropdown içeriği daha
     belirgin/okunur olsun diye arka plan neredeyse tam opak. */
  background:var(--glass-bg-solid);
  border:1px solid rgba(28,26,23,.08);
  box-shadow:var(--shadow-lift);
}
.nav-item.has-dropdown:hover .dropdown-panel,
.nav-item.has-dropdown:focus-within .dropdown-panel,
.nav-item.has-dropdown.is-open .dropdown-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);
}
.dropdown-grid--egitimler{
  display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:.35rem 2rem;
  min-width:420px;
}
.dd-col{display:flex;flex-direction:column;gap:.35rem;padding-block:.55rem;border-bottom:1px solid rgba(28,26,23,.07);}
.dd-col:nth-last-child(-n+2){border-bottom:none;padding-bottom:0;}
.dd-title{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--font-accent);font-size:.92rem;letter-spacing:.01em;
  color:var(--color-ink);font-weight:600;
}
.dd-title:hover{color:var(--color-orange-dark);}
.dd-icon{width:1.2em;height:1.2em;color:var(--color-orange);flex:none;}
.dd-icon--sm{width:1.35em;height:1.35em;}
.dd-sublist{display:flex;flex-wrap:wrap;gap:.3rem .7rem;padding-left:1.8rem;margin-top:.1rem;}
.dd-sublist a{font-size:.82rem;color:var(--color-anthracite);}
.dd-sublist a:hover{color:var(--color-orange-dark);}
.dropdown-panel--simple .dd-flat{display:flex;flex-direction:column;gap:.1rem;min-width:230px;}
.dd-flat a{display:flex;align-items:center;gap:.7rem;padding:.6rem .4rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;}
.dd-flat a:hover{background:rgba(244,123,41,.09);color:var(--color-orange-dark);}
.dd-flat--text a{font-family:var(--font-accent);font-size:.92rem;letter-spacing:.01em;}
.dropdown-foot{margin-top:.7rem;padding-top:.8rem;border-top:1px solid rgba(28,26,23,.1);}
.dropdown-cta{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-accent);font-size:.78rem;letter-spacing:.03em;
  color:var(--color-orange-dark);font-weight:600;
}
.dropdown-cta .icon{width:1em;height:1em;}

.header-actions{display:flex;align-items:center;gap:.6rem;flex:none;}
@media (max-width:1119px){
  /* Ön Kayıt CTA'sı floating buton ve mobil menüde zaten var; tam menü
     görünmeden (hamburger'lı ara genişliklerde) header'ın taşmasını
     önlemek için burada gizlenir. */
  .header-actions .btn{display:none;}
}
/* Dil değiştirme (TR/EN) — header-actions'ın İLK çocuğu olarak eklenir.
   Bu tek konum her iki kırılım noktasını da karşılar: 1120px ve üzerinde
   yanındaki tek görünür kardeş "Ön Kayıt" butonu olduğu için onun solunda;
   1120px altında ise Ön Kayıt gizlendiğinden hamburger'ın solunda kalır.
   Bu yüzden ayrıca responsive bir konum kuralına gerek yoktur — ancak
   .btn sınıfını KULLANMAMALIDIR, aksi halde yukarıdaki
   `.header-actions .btn{display:none}` kuralıyla mobilde gizlenirdi. */
.lang-switch{
  display:inline-flex;align-items:center;flex:none;
  padding:3px;border-radius:999px;
  background:rgba(28,26,23,.06);
}
.lang-switch__opt{
  font-family:var(--font-accent);font-size:.72rem;font-weight:600;letter-spacing:.06em;
  line-height:1;padding:.46rem .6rem;border-radius:999px;
  color:var(--color-anthracite);
  transition:background var(--dur-fast),color var(--dur-fast);
}
.lang-switch__opt.is-active{background:var(--color-orange);color:var(--color-paper);}
@media (hover:hover){
  .lang-switch__opt:not(.is-active):hover{color:var(--color-orange-dark);}
}
@media (max-width:480px){
  .lang-switch__opt{font-size:.68rem;padding:.42rem .5rem;}
}

.hamburger{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:rgba(28,26,23,.06);position:relative;
}
@media (min-width:1120px){.hamburger{display:none;}}
.hamburger-icon{position:absolute;width:20px;height:20px;transition:opacity var(--dur-fast),transform var(--dur-fast);}
.hamburger-icon--close{opacity:0;transform:scale(.6) rotate(-45deg);}
.hamburger[aria-expanded="true"] .hamburger-icon--open{opacity:0;transform:scale(.6) rotate(45deg);}
.hamburger[aria-expanded="true"] .hamburger-icon--close{opacity:1;transform:none;}

/* Mobil nav */
.mobile-nav{
  position:fixed;inset:0;z-index:var(--z-overlay);
  display:flex;align-items:flex-start;justify-content:center;padding:6.5rem 1rem 2rem;
  background:rgba(20,18,16,.35);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.mobile-nav[hidden]{display:none;}
.mobile-nav__panel{width:100%;max-width:460px;border-radius:var(--radius-lg);padding:1.4rem;max-height:85vh;overflow-y:auto;background:var(--glass-bg-solid);box-shadow:var(--shadow-lift);}
.mobile-nav__cta{margin-bottom:1.2rem;}
.mobile-nav__list{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.4rem;}
.mobile-nav__item>a{display:block;padding:.95rem .6rem;font-family:var(--font-accent);font-size:1rem;font-weight:500;border-bottom:1px solid rgba(28,26,23,.08);}
.mobile-nav__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.95rem .6rem;font-family:var(--font-accent);font-size:1rem;font-weight:500;border-bottom:1px solid rgba(28,26,23,.08);}
.mobile-caret{width:.85em;height:.85em;transition:transform var(--dur-fast);}
.mobile-nav__trigger[aria-expanded="true"] .mobile-caret{transform:rotate(180deg);}
.mobile-nav__panel-sub{display:flex;flex-direction:column;padding:.3rem .6rem .8rem 1.2rem;}
.mobile-nav__panel-sub[hidden]{display:none;}
.mobile-nav__panel-sub a{padding:.6rem 0;font-size:1rem;color:var(--color-anthracite);}
.mobile-nav__all{color:var(--color-orange-dark) !important;font-weight:600;}

/* =========================================================
   Discount popup
========================================================= */
.discount-popup{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1.25rem;}
.discount-popup[hidden]{display:none;}
.discount-popup__backdrop{position:absolute;inset:0;background:rgba(20,18,16,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.discount-popup__card{
  position:relative;max-width:460px;width:100%;padding:2.4rem 2.2rem;border-radius:var(--radius-lg);
  background:rgba(250,246,240,.94);text-align:left;
  animation:pop-in .5s var(--ease-premium);
}
.discount-popup__card h2{margin-block:.5rem .8rem;font-size:clamp(1.6rem,3vw,2.1rem);}
.discount-popup__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:rgba(28,26,23,.06);display:grid;place-items:center;}
.discount-popup__close .icon{width:1em;height:1em;}
.discount-popup__actions{display:flex;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap;}
.text-orange{color:var(--color-orange-dark);}
@keyframes pop-in{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:none;}}

/* =========================================================
   Sağ-alt: birleşik sohbet + Ön Kayıt kulesi
========================================================= */
.floating-stack{
  position:fixed;right:clamp(1rem,4vw,2rem);bottom:clamp(1rem,4vh,2rem);
  z-index:var(--z-floating);
  display:flex;flex-direction:column;align-items:center;
  /* Gizliyken bile 62px genişliğinde yer kaplayan sosyal menü (46px ikon +
     8px*2 dolgu), üstteki toggle butonundan (56px) geniş olduğu için
     kapsayıcıyı da genişletip butonu 3px içeri kaydırıyordu — sol alttaki
     "yukarı çık" butonuyla piksel hizası bozuluyordu. Kapsayıcıyı doğrudan
     buton çapına sabitleyerek ikisini de aynı kenar boşluğuna oturtuyoruz. */
  width:56px;
  transition:opacity var(--dur-med), visibility var(--dur-med);
}
.floating-stack.is-near-footer:not([data-open="true"]){opacity:0;visibility:hidden;pointer-events:none;}

.floating-menu{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:.7rem;}

/* Ön Kayıt: sağ kenara yaslı, yukarı doğru uzanan sade dikey sekme.
   Sohbet kulesinden bağımsızdır; ekranın dikey ortasında durduğu için
   hiçbir zaman onunla çakışmaz. */
.floating-registration{
  position:fixed;right:0;top:50%;transform:translateY(-50%);
  z-index:var(--z-floating);
  display:flex;align-items:center;justify-content:center;
  padding:1.6rem .65rem;
  border-radius:var(--radius-lg) 0 0 var(--radius-lg);
  background:var(--glass-bg-solid);
  border:1px solid rgba(28,26,23,.08);border-right:none;
  box-shadow:var(--shadow-lift);
  color:var(--color-ink);
  transition:padding var(--dur-fast) var(--ease-out), background var(--dur-fast), opacity var(--dur-med), visibility var(--dur-med);
}
.floating-registration:hover{padding-right:1rem;background:var(--color-orange);color:var(--color-paper);}
.floating-registration.is-near-footer{opacity:0;visibility:hidden;pointer-events:none;}
/* .btn--pulse (pages.css) position:relative belirtir; bu daha sonra
   yüklendiği için floating-registration'ın position:fixed'ini ezip
   elementin footer'ın altına düşmesine yol açıyordu — burada geri kazanılır. */
.floating-registration.btn--pulse{position:fixed;--pulse-rgb:244,123,41;}
.floating-registration__label{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--font-accent);font-size:.78rem;letter-spacing:.14em;font-weight:600;
}
/* Sağ kenarda, dikey ortada durduğu için sohbet kulesiyle (sağ-alt köşe)
   hiçbir ekran genişliğinde çakışmaz; mobilde sadece biraz incelir. */
@media (max-width:640px){
  .floating-registration{padding:1.2rem .5rem;}
  .floating-registration__label{font-size:.72rem;}
}

.floating-social__collapse{
  max-height:0;overflow:hidden;width:100%;display:flex;justify-content:center;
  /* hover'da büyüyen yuvarlak ikonların kenarları overflow:hidden tarafından
     kesilmesin diye içeride küçük bir nefes payı. */
  padding:8px;
  transition:max-height .45s var(--ease-premium);
}
.floating-stack[data-open="true"] .floating-social__collapse{max-height:26rem;}
.floating-social__menu{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding-top:.7rem;}
.floating-social__menu li{
  opacity:0;transform:translateY(14px) scale(.8);
  transition:opacity .32s var(--ease-premium), transform .32s var(--ease-premium);
  transition-delay:calc(var(--i,0) * 45ms);
  pointer-events:none;
}
.floating-stack[data-open="true"] .floating-social__menu li{opacity:1;transform:none;pointer-events:auto;}
.floating-social__item{
  position:relative;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  /* Ana toggle ve Ön Kayıt sekmesiyle aynı yüzey dili. */
  background:var(--glass-bg-solid);
  border:1px solid rgba(28,26,23,.08);
  color:var(--color-anthracite);
  box-shadow:var(--shadow-soft);
  transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast), background var(--dur-fast);
}
.floating-social__item:hover{transform:scale(1.1);background:var(--color-orange);color:var(--color-paper);}
/* Ana toggle butonundaki nabız efektinin küçük ve hafif bir versiyonu —
   menü açıldığında her ikon da aynı hareket dilini paylaşsın diye.
   --i, li'den miras alınan sıralama indeksidir; her ikon birbirinin
   ardından hafifçe gecikmeli nabız atar. */
.floating-social__item::before{
  content:'';position:absolute;inset:-2px;border-radius:50%;
  border:1px solid rgba(244,123,41,.4);
  opacity:0;pointer-events:none;
}
.floating-stack[data-open="true"] .floating-social__item::before{
  animation:toggle-pulse 2.8s ease-out infinite;
  animation-delay:calc(var(--i,0) * .3s);
}
@media (prefers-reduced-motion: reduce){
  .floating-social__item::before{animation:none !important;}
}
.floating-social__tooltip{
  position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);
  background:var(--color-ink);color:var(--bg-primary);
  font-family:var(--font-accent);font-size:.68rem;letter-spacing:.05em;
  padding:.4rem .7rem;border-radius:var(--radius-sm);white-space:nowrap;
  opacity:0;visibility:hidden;transition:opacity var(--dur-fast);
}
.floating-social__item:hover .floating-social__tooltip{opacity:1;visibility:visible;}
@media (max-width:640px){.floating-social__tooltip{display:none;}}

/* Ön Kayıt sekmesiyle birebir aynı yüzey: aynı zemin, aynı ince kenarlık,
   aynı gölge — kule artık ayrı bir "glass" dili değil, sitedeki tek
   floating-buton görünümünü paylaşıyor. */
.floating-social__toggle{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;position:relative;color:var(--color-ink);
  background:var(--glass-bg-solid);
  border:1px solid rgba(28,26,23,.08);
  box-shadow:var(--shadow-lift);
  transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast);
}
.floating-social__toggle:hover{transform:scale(1.06);}
.floating-social__toggle-icon{position:absolute;width:1.3em;height:1.3em;transition:opacity var(--dur-fast),transform var(--dur-fast);color:var(--color-orange-dark);}
.floating-social__toggle-icon--close{opacity:0;transform:rotate(-40deg) scale(.7);}
.floating-social__toggle[aria-expanded="true"] .floating-social__toggle-icon:not(.floating-social__toggle-icon--close){opacity:0;transform:rotate(40deg) scale(.7);}
.floating-social__toggle[aria-expanded="true"] .floating-social__toggle-icon--close{opacity:1;transform:none;}

/* Dikkat çeken, hafif ve premium bir radyal nabız efekti — buton açılıp
   kapansa da (aria-expanded değişse de) kesintisiz devam eder, böylece
   sohbet kulesi her zaman "canlı" hisseder. */
.floating-social__toggle-ring{
  position:absolute;inset:-2px;border-radius:50%;
  border:1.5px solid rgba(244,123,41,.55);
  animation:toggle-pulse 2.8s ease-out infinite;
}
@keyframes toggle-pulse{
  0%{transform:scale(1);opacity:.65;}
  75%{transform:scale(1.45);opacity:0;}
  100%{transform:scale(1.45);opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .floating-social__toggle-ring{animation:none;}
}

/* =========================================================
   Sol-alt: yukarı çık — sağdaki sohbet butonuyla birebir aynı
   görsel dil (glass, boyut, nabız animasyonu), sadece sol kenarda.
========================================================= */
.floating-quicknav{
  position:fixed;left:clamp(1rem,4vw,2rem);bottom:clamp(1rem,4vh,2rem);
  z-index:var(--z-floating);
  transition:opacity var(--dur-med), visibility var(--dur-med);
}
.floating-quicknav.is-near-footer{opacity:0;visibility:hidden;pointer-events:none;}
.floating-quicknav__top{
  /* Sağdaki sohbet butonuyla dikeyde birebir aynı hizada durması için
     görünürlük geçişi transform olmadan, yalnızca opacity ile yapılır. */
  opacity:0;visibility:hidden;
  transition:opacity var(--dur-med), visibility var(--dur-med), background var(--dur-fast);
}
.floating-quicknav__top.is-visible{opacity:1;visibility:visible;transform:none;}

/* =========================================================
   Program kartları
========================================================= */
.program-card{
  height:100%;
  background:var(--color-paper);
  border-radius:var(--radius-md);
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-soft);
  position:relative;
  transition:transform var(--dur-med) var(--ease-premium), box-shadow var(--dur-med) var(--ease-premium);
}
.program-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift);}
/* Kartın üstünü uçtan uca kaplayan, içeriği doğrudan temsil eden
   gerçek fotoğraf. Yalnızca üst köşeler kartın kendi border-radius'una
   uyacak şekilde kırpılır; ::before gibi kart dışına taşan dekoratif
   öğelerin (bkz. .program-card--hazirlik) etkilenmemesi için kırpma
   kartın tamamında değil, yalnızca bu medya kutusunda uygulanır. */
.program-card__media{
  position:relative;width:100%;aspect-ratio:4/3;flex:none;
  overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0;
  background:var(--bg-secondary);
}
.program-card__media img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--dur-med) var(--ease-premium);
}
.program-card:hover .program-card__media img{transform:scale(1.06);}
/* İkon artık ayrı bir kutu değil, başlığın başında küçük bir işaret */
.program-card__icon{width:1.05em;height:1.05em;color:var(--color-orange-dark);flex:none;}
.program-card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:1.4rem 1.6rem;}
.program-card__summary{flex:1 1 auto;}
.program-card__body h3{font-size:1.4rem;margin-bottom:.15rem;display:flex;align-items:center;gap:.5rem;}
.program-card__tagline{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-orange-dark);margin-bottom:.4rem;}
.program-card__summary{font-size:.95rem;color:var(--color-anthracite);margin-bottom:.6rem;}
.program-card__chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.program-card__chips li{
  font-size:.72rem;padding:.3rem .65rem;border-radius:var(--radius-pill);
  background:var(--bg-secondary);color:var(--color-anthracite);
}
.program-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:.8rem 1.6rem 1.6rem;border-top:1px solid var(--color-fog);}
.program-card__format,.program-card__duration{display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--color-anthracite);}
.program-card__format .icon,.program-card__duration .icon{width:1.05em;height:1.05em;opacity:.75;}

/* Kids kart varyasyonu */
.program-card--kids{border-radius:var(--radius-lg);background:var(--color-paper);}
.program-card--kids .program-card__media{border-radius:var(--radius-lg) var(--radius-lg) 0 0;}

/* Hazırlık kart varyasyonu — daha akademik */
/* Hazırlık kartları: altındaki "Süreç" kutularıyla aynı temiz/akademik
   dil — açık zemin, köşede hafif bir parıltı. */
.program-card--hazirlik{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--color-paper) 65%, var(--color-orange-soft) 150%);
}
.program-card--hazirlik::before{
  content:'';position:absolute;top:-30%;right:-20%;width:60%;padding-bottom:60%;
  border-radius:50%;background:radial-gradient(circle, rgba(244,123,41,.16), transparent 70%);
  pointer-events:none;
}

/* =========================================================
   Form
========================================================= */
.form-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem;}
.form-field label{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-anthracite);}
.form-field input,.form-field select,.form-field textarea{
  width:100%;
  max-width:100%;
  background:var(--color-paper);
  border:1.5px solid rgba(28,26,23,.14);
  border-radius:var(--radius-sm);
  padding:.85rem 1rem;
  font-size:1rem;
  color:var(--color-orange-dark);
  transition:border-color var(--dur-fast);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-orange);}
.form-field textarea{resize:vertical;min-height:110px;}
.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:#c0392b;}
.form-field__error{font-size:.78rem;color:#c0392b;min-height:1em;}

/* Özel açılır menü: "İlgilenilen Eğitim" gibi çok seçenekli alanlarda
   tarayıcının kendi native <select> açılır penceresi, mobil tarayıcı
   önizlemesi/emülasyonunda ekran genişliğine göre konumlanmayıp taşabiliyor
   — bu tamamen tarayıcının kendi katmanında olduğu için CSS ile
   düzeltilemez. Bunun yerine seçim panelini kendimiz çiziyoruz; böylece
   konum ve genişlik her zaman kapsayıcı alanla (dolayısıyla ekranla)
   sınırlı kalır. Asıl <select> DOM'da kalır (form gönderimi ve JS
   çalışmazsa geri düşüş için); JS başarıyla devreye girdiğinde gizlenir. */
.custom-select{position:relative;}
.custom-select__trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  background:var(--color-paper);
  border:1.5px solid rgba(28,26,23,.14);
  border-radius:var(--radius-sm);
  padding:.85rem 1rem;
  font-family:var(--font-body);font-size:1rem;text-align:left;color:var(--color-orange-dark);
  transition:border-color var(--dur-fast);
}
.custom-select__trigger[data-empty="true"]{color:rgba(28,26,23,.45);}
.custom-select__trigger:focus-visible,
.custom-select__trigger[aria-expanded="true"]{border-color:var(--color-orange);outline:none;}
.form-field.has-error .custom-select__trigger{border-color:#c0392b;}
/* Açıkken tetikleyici ile panel, aralarında boşluk kalan iki ayrı kutu
   gibi değil, tek parça bir bileşen gibi görünsün diye birleşen kenarları
   köşeli yapılıp aradaki boşluk sıfırlanır (panelin gölgesi zaten ayrımı
   yeterince gösteriyor). Panel yukarı açıldığında (--up) bu, tetikleyicinin
   ALT değil ÜST kenarı için uygulanır. */
.custom-select__trigger[aria-expanded="true"]:not(.custom-select__trigger--up){
  border-bottom-left-radius:0;border-bottom-right-radius:0;
}
.custom-select__trigger--up[aria-expanded="true"]{
  border-top-left-radius:0;border-top-right-radius:0;
}
.custom-select__caret{width:1.05em;height:1.05em;flex:none;color:var(--color-anthracite);transition:transform var(--dur-fast) var(--ease-out);}
.custom-select__trigger[aria-expanded="true"] .custom-select__caret{transform:rotate(180deg);}

/* Çerçeve (kenarlık, köşe yuvarlama, gölge) ile içerideki kaydırılan liste
   ayrı katmanlar: liste kendi kaydırma çubuğuyla taşsa da, bu dış çerçeve
   overflow:hidden ile köşeleri her zaman kusursuz kırpar. Kaydırma
   çubuğunu doğrudan yuvarlak köşeli bir elemente koymak, çubuğun düz
   kenarıyla köşe eğrisinin çakışıp köşede tuhaf bir çentik oluşturmasına
   yol açıyordu — bu ayrım o sorunu kökten çözer. */
.custom-select__panel{
  position:absolute;left:0;right:0;top:100%;
  z-index:var(--z-floating);
  overflow:hidden;
  background:var(--glass-bg-solid);
  border:1.5px solid var(--color-orange);
  border-top:none;
  border-radius:var(--radius-sm);
  border-top-left-radius:0;border-top-right-radius:0;
  box-shadow:var(--shadow-lift);
}
.custom-select__panel[hidden]{display:none;}
/* Tetikleyicinin altında yeterli yer yoksa (ekranın alt kısmına yakınsa)
   panel yukarı açılır — native select davranışıyla tutarlı, ekran dışına
   taşmayı önler. Bu durumda birleşen kenar üstten alta döner. */
.custom-select__panel--up{
  top:auto;bottom:100%;
  border-top:1.5px solid var(--color-orange);border-bottom:none;
  border-radius:var(--radius-sm);
  border-bottom-left-radius:0;border-bottom-right-radius:0;
}
.custom-select__list{
  max-height:min(17rem,60vh);overflow-y:auto;overflow-x:hidden;
  padding:.35rem;
  list-style:none;
  /* Kaydırma çubuğunun izi (track) tarayıcı varsayılanıyla beyaz
     çıkıyordu; panelin kendi zeminiyle aynı tona getirip görünmez hale
     getiriyoruz, yalnızca turuncu tonlu tutamaç (thumb) kalıyor. */
  scrollbar-width:thin;
  scrollbar-color:rgba(244,123,41,.45) var(--glass-bg-solid);
}
/* Kaydırma çubuğu: ince bir oluk içinde, kenarlara değmeyen, panelin
   zeminiyle aynı renkte "kenarlıkla" içeri çekilmiş bir tutamaç. */
.custom-select__list::-webkit-scrollbar{width:10px;}
.custom-select__list::-webkit-scrollbar-track{background:var(--glass-bg-solid);}
.custom-select__list::-webkit-scrollbar-thumb{
  background-color:rgba(244,123,41,.5);
  border-radius:99px;
  border:3px solid var(--glass-bg-solid);
  background-clip:padding-box;
}
.custom-select__list::-webkit-scrollbar-thumb:hover{background-color:rgba(244,123,41,.75);}
.custom-select__group-label{
  padding:.6rem .7rem .3rem;
  font-family:var(--font-accent);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--color-orange-dark);font-weight:600;
}
.custom-select__option{
  padding:.65rem .7rem;border-radius:var(--radius-sm);
  font-size:.92rem;color:var(--color-ink);cursor:pointer;
}
.custom-select__option:hover,
.custom-select__option.is-active{background:rgba(244,123,41,.1);color:var(--color-orange-dark);}
.custom-select__option[aria-selected="true"]{font-weight:600;color:var(--color-orange-dark);}
/* Asıl select, JS çalışmazsa normal göründüğü ve çalıştığında gizlendiği
   için display üzerinden değil, JS tarafından eklenen bu sınıf üzerinden
   gizleniyor — böylece JavaScript kapalıyken form yine kullanılabilir. */
.custom-select__native.is-enhanced{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;}
@media (max-width:640px){.form-row{grid-template-columns:1fr;}}
.form-status{margin-top:1rem;padding:.9rem 1.1rem;border-radius:var(--radius-sm);font-size:.92rem;display:none;}
.form-status.is-success{display:block;background:rgba(46,139,87,.12);color:#1f6f4d;}
.form-status.is-error{display:block;background:rgba(192,57,43,.1);color:#c0392b;}
.form-status.is-loading{display:block;background:var(--bg-secondary);color:var(--color-anthracite);}
.form-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.6rem;}
/* Mobil dikey görünümde buton ve yanındaki not, sola yaslı kalmak yerine
   dar genişlikte alt alta düşüp ortalanır — daha dengeli bir görünüm. */
@media (max-width:640px){
  .form-submit-row{justify-content:center;text-align:center;}
}
/* Bal küpü (honeypot) alanı: left:-9999px gibi teknikler sayfada yatay taşmaya
   yol açabildiği için "visually-hidden" tekniğiyle akış içinde gizlenir. */
.honeypot{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* =========================================================
   Footer
========================================================= */
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,123,41,.16), transparent 45%),
    radial-gradient(circle at 90% 15%, rgba(37,211,102,.08), transparent 40%),
    linear-gradient(175deg, var(--color-anthracite-deep) 0%, var(--color-ink) 55%, #14120f 100%);
  color:var(--bg-primary);
  padding-block:clamp(3rem,6vw,5rem) 1.5rem;
  overflow:hidden;
}
.footer-notes{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.footer-notes__item{position:absolute;width:22px;height:22px;color:var(--bg-primary);opacity:.05;}
.footer-notes__item--1{top:8%;left:6%;width:30px;height:30px;transform:rotate(-12deg);}
.footer-notes__item--2{top:22%;right:10%;transform:rotate(10deg);}
.footer-notes__item--3{bottom:30%;left:22%;width:18px;height:18px;transform:rotate(6deg);}
.footer-notes__item--4{bottom:14%;right:28%;width:26px;height:26px;transform:rotate(-8deg);}
.footer-notes__item--5{top:55%;left:48%;width:16px;height:16px;transform:rotate(14deg);}
.footer-top{position:relative;display:grid;grid-template-columns:minmax(220px,1fr) 2.4fr;gap:3rem;padding-bottom:2.8rem;border-bottom:1px solid rgba(245,240,233,.14);}
@media (max-width:860px){.footer-top{grid-template-columns:1fr;}}
.footer-brand img{margin-bottom:1.1rem;}
.footer-brand p{font-size:.92rem;color:var(--color-fog);max-width:32ch;}
.footer-social{display:flex;gap:.6rem;margin-top:1.2rem;}
.footer-social__item{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(245,240,233,.08);color:var(--bg-primary);transition:background var(--dur-fast),transform var(--dur-fast),color var(--dur-fast);}
.footer-social__item:hover{background:var(--color-orange);color:var(--color-paper);transform:translateY(-3px);}
.footer-social__item .icon{width:1.1em;height:1.1em;}
.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
@media (max-width:860px){.footer-links{grid-template-columns:repeat(2,1fr);}}
.footer-col h3{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-orange);margin-bottom:.9rem;}
.footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
.footer-col a{font-size:.88rem;color:var(--color-fog);}
.footer-col a:hover{color:var(--bg-primary);}

/* Mobilde footer içeriği ortalanır; sağa/sola kayma veya asimetrik
   boşluk oluşmaz. */
@media (max-width:640px){
  .footer-top{text-align:center;}
  .footer-brand{display:flex;flex-direction:column;align-items:center;}
  .footer-social{justify-content:center;}
  /* Programlar tek sütunda alt alta gelip footer'ı gereksiz uzatmasın diye
     mobilde de 2 sütunlu, kompakt bir düzen korunur. */
  .footer-links{grid-template-columns:repeat(2,1fr);gap:1.6rem .75rem;}
  .footer-col{display:flex;flex-direction:column;align-items:center;}
  .footer-col h3{font-size:.66rem;margin-bottom:.6rem;}
  .footer-col ul{gap:.4rem;}
  .footer-col a{font-size:.8rem;}
}
.footer-contact{position:relative;display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:1.4rem 2.2rem;padding-block:1.8rem;font-size:.88rem;color:var(--color-fog);}
.footer-contact__item{display:flex;align-items:center;gap:.55rem;}
.footer-contact__item .icon{width:1.1em;height:1.1em;color:var(--color-orange);}
.footer-contact__item a{color:var(--color-fog);}
.footer-contact__item a:hover{color:var(--bg-primary);}
.footer-bottom{position:relative;padding-top:1.2rem;border-top:1px solid rgba(245,240,233,.1);font-size:.78rem;color:rgba(224,223,223,.7);text-align:center;}
.footer-bottom p{margin-inline:auto;}
.footer-bottom a{color:var(--color-orange);}
.footer-bottom a:hover{text-decoration:underline;}

/* =========================================================
   Scroll dekorasyonu (kenarlardaki hafif müzik ikonları)
========================================================= */
.scroll-decor{position:fixed;inset:0;pointer-events:none;z-index:var(--z-decor);overflow:hidden;transition:opacity var(--dur-med);}
.scroll-decor.is-near-footer{opacity:0;}
.scroll-decor__item{position:absolute;width:24px;height:24px;color:var(--color-orange);opacity:.16;}
.scroll-decor__item--left{left:clamp(.5rem,2.5vw,2.2rem);}
.scroll-decor__item--right{right:clamp(.5rem,2.5vw,2.2rem);}
.scroll-decor__item:nth-child(3n){width:18px;height:18px;opacity:.12;}
.scroll-decor__item:nth-child(3n+1){width:28px;height:28px;color:var(--color-anthracite);opacity:.1;}
@media (max-width:1100px){.scroll-decor{display:none;}}

/* =========================================================
   Bölüm filigranı (watermark) — arka planda dekoratif slogan
   tipografisi; içeriğin arkasında kalır, ekran okuyucudan gizlenir.
========================================================= */
.section-watermark{
  position:absolute;inset:0;z-index:-1;
  display:flex;align-items:center;justify-content:center;
  padding:0 1rem 0 20%;
  pointer-events:none;user-select:none;
  overflow:hidden;
}
.section-watermark span{
  display:block;max-width:min(50rem,92%);text-align:center;
  font-family:var(--font-accent);font-style:normal;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;line-height:1.2;
  font-size:clamp(1.6rem,5.8vw,4rem);
  color:var(--color-anthracite);
  -webkit-text-stroke:.026em var(--color-anthracite);
  -webkit-text-fill-color:transparent;
  opacity:.08;
}
@media (max-width:640px){
  .section-watermark{padding-left:12%;}
}
/* Kurumsal sayfasında filigran biraz daha sağa ve aşağıya kaysın */
body[data-page="kurumsal"] .section-watermark{padding-left:30%;padding-top:3.5rem;}
@media (max-width:640px){
  body[data-page="kurumsal"] .section-watermark{padding-left:18%;padding-top:2.2rem;}
}
/* İletişim sayfasında filigran biraz daha sağa ve aşağıya kaysın */
body[data-page="iletisim"] .section-watermark{padding-left:38%;padding-top:5rem;}
@media (max-width:640px){
  body[data-page="iletisim"] .section-watermark{padding-left:24%;padding-top:3rem;}
}
/* Hazırlık sayfasında filigran biraz daha sağa ve yukarıya kaysın */
body[data-page="hazirlik"] .section-watermark{padding-left:36%;padding-bottom:5rem;}
/* Dikey mobilde ise sağa kaydırma yerine ekrana göre yatayda tam
   ortalanır (padding-left, padding-right ile eşitlenir); yalnızca
   hafifçe yukarı alınır. */
@media (max-width:640px){
  body[data-page="hazirlik"] .section-watermark{padding-left:1rem;padding-bottom:3.6rem;}
}

/* Designed & Developed by Alihan Balkan | +90 538 073 87 16 */
