/* =========================================================
   İkon temel stili
========================================================= */
.icon{width:1.3em;height:1.3em;flex:none;}

/* =========================================================
   Glassmorphism yüzeyi (header, dropdown, floating butonlar)
========================================================= */
.glass{
  background:var(--glass-bg);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);
  backdrop-filter:blur(var(--glass-blur)) saturate(150%);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-soft);
}

/* =========================================================
   Butonlar
========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--font-accent);
  font-size:.78rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:.95rem 1.8rem;
  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), border-color var(--dur-fast);
  white-space:nowrap;
}
.btn--lg{padding:1.05rem 2.1rem;font-size:.8rem;}
.btn--block{display:flex;width:100%;}
.btn .icon{width:1.15em;height:1.15em;}

.btn--primary{
  background:var(--color-taupe-dark);
  color:var(--color-paper);
  box-shadow:0 14px 26px -14px rgba(111,93,78,.65);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(111,93,78,.7);}

.btn--ghost{
  background:transparent;
  color:var(--color-ink);
  border:1.4px solid rgba(44,38,33,.22);
}
.btn--ghost:hover{border-color:var(--color-taupe-dark);color:var(--color-taupe-dark);background:rgba(155,136,119,.08);}

.btn--soft{
  background:rgba(155,136,119,.14);
  color:var(--color-taupe-dark);
  border:1px solid rgba(155,136,119,.3);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.btn--soft:hover{background:rgba(155,136,119,.22);transform:translateY(-2px);}

.btn--whatsapp{
  background:var(--color-whatsapp-deep);color:#fff;
  box-shadow:0 14px 26px -12px rgba(18,135,74,.5);
}
.btn--whatsapp:hover{transform:translateY(-2px);}

/* Sürekli ama göz yormayan nabız efekti; rengi --pulse-rgb ile ayarlanır. */
.btn--pulse{position:relative;--pulse-rgb:37,211,102;}
.btn--pulse::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  box-shadow:0 0 0 0 rgba(var(--pulse-rgb),.5);
  animation:btn-pulse 2.8s ease-out infinite;
  pointer-events:none;
}
@keyframes btn-pulse{
  0%{box-shadow:0 0 0 0 rgba(var(--pulse-rgb),.42);}
  70%{box-shadow:0 0 0 14px rgba(var(--pulse-rgb),0);}
  100%{box-shadow:0 0 0 0 rgba(var(--pulse-rgb),0);}
}
@media (prefers-reduced-motion: reduce){
  .btn--pulse::after{animation:none;}
}

/* Ok işaretli metin bağlantısı */
.link-arrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-accent);font-size:.76rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--color-taupe-dark);
}
.link-arrow .icon{width:1.1em;height:1.1em;transition:transform var(--dur-fast) var(--ease-out);}
.link-arrow:hover .icon{transform:translateX(4px);}

/* =========================================================
   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:.6rem .75rem .6rem 1.4rem;
  border-radius:var(--radius-pill);
  transition:box-shadow var(--dur-med) var(--ease-out), background var(--dur-med);
}
.site-header.is-scrolled .site-header__inner{
  box-shadow:var(--shadow-lift);
  background:var(--glass-bg-solid);
}
.brand{display:flex;align-items:center;flex:none;min-width:0;}
.brand__logo{height:42px;width:auto;max-width:44vw;}
@media (max-width:480px){
  .brand__logo{height:34px;}
  .site-header__inner{padding-left:1rem;}
}

.main-nav{display:none;}
@media (min-width:1060px){
  .main-nav{display:block;}
}
.main-nav__list{display:flex;align-items:center;gap:.2rem;}
.nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:.35rem;
  font-family:var(--font-accent);
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  padding:.75rem .95rem;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-taupe-dark);background:rgba(155,136,119,.12);}
.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:330px;
  padding:1rem;
  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 cam yüzeyden farklı olarak dropdown içeriği daha
     okunur olsun diye arka plan neredeyse tam opak. */
  background:var(--glass-bg-solid);
  border:1px solid rgba(44,38,33,.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);
}
.dd-flat{display:flex;flex-direction:column;gap:.1rem;}
.dd-flat a{
  display:flex;align-items:center;gap:.8rem;
  padding:.7rem .7rem;border-radius:var(--radius-sm);
  font-size:.98rem;font-weight:400;
  transition:background var(--dur-fast),color var(--dur-fast);
}
.dd-flat a:hover{background:rgba(155,136,119,.12);color:var(--color-taupe-dark);}
.dd-icon{width:1.35em;height:1.35em;color:var(--color-taupe);flex:none;}
.dropdown-foot{margin-top:.6rem;padding-top:.8rem;border-top:1px solid rgba(44,38,33,.1);padding-inline:.7rem;}

.header-actions{display:flex;align-items:center;gap:.6rem;flex:none;}
@media (max-width:1059px){
  /* İletişim CTA'sı mobil menüde ve yüzen butonlarda 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.
   Bu tek konum her iki kırılım noktasını da karşılar: 1060px üzerinde
   yanındaki tek görünür kardeş İletişim butonu olduğu için onun solunda,
   altında ise hamburger'ın solunda kalır. `.btn` sınıfını KULLANMAMALIDIR,
   aksi halde yukarıdaki kuralla mobilde gizlenirdi. */
.lang-switch{
  display:inline-flex;align-items:center;flex:none;
  padding:3px;border-radius:999px;
  background:rgba(44,38,33,.06);
}
.lang-switch__opt{
  font-family:var(--font-accent);font-size:.7rem;font-weight:500;letter-spacing:.1em;
  line-height:1;padding:.5rem .68rem;border-radius:999px;
  color:var(--color-anthracite);
  transition:background var(--dur-fast),color var(--dur-fast);
}
.lang-switch__opt.is-active{background:var(--color-taupe-dark);color:var(--color-paper);}
@media (hover:hover){
  .lang-switch__opt:not(.is-active):hover{color:var(--color-taupe-dark);}
}
@media (max-width:480px){
  .lang-switch__opt{font-size:.66rem;padding:.46rem .56rem;}
}

.hamburger{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:rgba(44,38,33,.06);position:relative;
}
@media (min-width:1060px){.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(30,25,21,.34);
  -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;}
.mobile-nav__item>a{display:block;padding:.95rem .6rem;font-family:var(--font-accent);font-size:1rem;font-weight:400;letter-spacing:.04em;border-bottom:1px solid rgba(44,38,33,.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:400;letter-spacing:.04em;border-bottom:1px solid rgba(44,38,33,.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:.98rem;color:var(--color-anthracite);}
.mobile-nav__all{color:var(--color-taupe-dark) !important;font-weight:500;}

/* =========================================================
   Sağ-alt: sohbet / hızlı iletişim 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ü, üstteki
     56px'lik toggle butonundan geniş olduğu için kapsayıcıyı genişletip
     butonu içeri kaydırıyor ve sol alttaki "yukarı çık" butonuyla piksel
     hizasını bozuyordu. Kapsayıcı doğrudan buton çapına sabitlenir. */
  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;margin-bottom:.7rem;}

.floating-social__collapse{
  max-height:0;overflow:hidden;width:100%;display:flex;justify-content:center;
  /* hover'da büyüyen yuvarlak ikonların kenarları kesilmesin diye 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;
  background:var(--glass-bg-solid);
  border:1px solid rgba(44,38,33,.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-taupe-dark);color:var(--color-paper);}
/* Ana toggle'daki nabız efektinin küçük versiyonu — menü açıldığında her
   ikon aynı hareket dilini paylaşsın diye. --i, li'den miras alınır. */
.floating-social__item::before{
  content:'';position:absolute;inset:-2px;border-radius:50%;
  border:1px solid rgba(155,136,119,.45);
  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:.06em;
  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;}}

.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(44,38,33,.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-taupe-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;}

.floating-social__toggle-ring{
  position:absolute;inset:-2px;border-radius:50%;
  border:1.5px solid rgba(155,136,119,.6);
  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;}
}

/* Sağ kenar ortası: hızlı WhatsApp sekmesi.
   Kenara yaslı durur (sağ köşeleri düz), yani ekrandan "çıkıyormuş" gibi
   değil kenara tutunmuş bir sekme gibi görünür. İçinde ikon ve dikey
   yazılmış etiket yan yana: ikon solda, yazı sağda. */
.floating-whatsapp{
  position:fixed;right:0;top:50%;transform:translateY(-50%);
  z-index:var(--z-floating);
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:1.15rem .52rem;
  border-radius:var(--radius-md) 0 0 var(--radius-md);
  background:var(--glass-bg-solid);
  border:1px solid rgba(44,38,33,.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), color var(--dur-fast), opacity var(--dur-med), visibility var(--dur-med);
}
.floating-whatsapp:hover{padding-right:.9rem;background:var(--color-whatsapp-deep);color:#fff;}
.floating-whatsapp.is-near-footer{opacity:0;visibility:hidden;pointer-events:none;}
/* .btn--pulse position:relative belirtir; bu daha sonra yüklendiği için
   position:fixed'i ezip öğeyi footer'ın altına düşürüyordu. Geri kazanılır. */
.floating-whatsapp.btn--pulse{position:fixed;--pulse-rgb:37,211,102;}
/* İkon boyutu em yerine px: etiketin punto'su değişse de ikon aynı kalsın
   ve sekmenin genişliği sabit dursun. */
/* Açık zeminde duran ikon: koyu ton kullanılır, açık yeşil krem
   üzerinde 1.98:1 ile neredeyse kayboluyordu. */
.floating-whatsapp .icon{width:18px;height:18px;flex:none;color:var(--color-whatsapp-deep);transition:color var(--dur-fast);}
.floating-whatsapp:hover .icon{color:#fff;}
.floating-whatsapp__label{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--font-accent);font-size:.68rem;letter-spacing:.13em;font-weight:700;
  text-transform:uppercase;line-height:1;
}
/* Telefonda ikon yazının SOLUNA değil ÜSTÜNE alınır.
   Sebep ölçü: dar ekranda kapsayıcının sağ boşluğu ~20px; ikon ile yazı
   yan yana durduğunda sekme ~46px genişliğe çıkıyor ve metnin son
   harflerinin üzerine biniyordu. Dikey dizilimde sekme yalnızca
   uzuyor, genişliği boşluğun içinde kalıyor — ikon da kaybolmuyor. */
@media (max-width:640px){
  .floating-whatsapp{flex-direction:column;padding:.8rem .3rem;gap:.3rem;}
  .floating-whatsapp .icon{width:14px;height:14px;}
  .floating-whatsapp__label{font-size:.58rem;letter-spacing:.1em;}
  .floating-whatsapp:hover{padding-right:.55rem;}
}

/* Sol-alt: yukarı çık — sağdaki toggle ile birebir aynı görsel dil */
.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 butonla 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;}

/* =========================================================
   Sayfa kenarı dekoru (hafif triko/bebek 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-taupe);opacity:.2;}
.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:.15;}
.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;}}

/* =========================================================
   Form
========================================================= */
.form-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem;}
.form-field label{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-anthracite);}
.form-field__hint{text-transform:none;letter-spacing:normal;color:var(--color-anthracite-light);opacity:.85;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;max-width:100%;
  background:var(--color-paper);
  border:1.4px solid rgba(44,38,33,.14);
  border-radius:var(--radius-sm);
  padding:.85rem 1rem;
  font-size:1rem;
  color:var(--color-ink);
  transition:border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(44,38,33,.38);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  border-color:var(--color-taupe);
  box-shadow:0 0 0 3px rgba(155,136,119,.14);
  outline:none;
}
.form-field textarea{resize:vertical;min-height:120px;}
.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;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;}
@media (max-width:640px){.form-row{grid-template-columns:1fr;}}

/* Telefon: ülke kodu + numara tek bir bileşen gibi görünsün diye iki
   kutu birleşik çizilir (aradaki kenarlıklar tek çizgiye iner).
   Ülke seçimi için bilerek NATIVE <select> kullanılır: mobilde
   işletim sisteminin kendi seçicisi uzun listelerde her zaman
   özel bir panelden daha kullanışlıdır. */
.phone-field{display:grid;grid-template-columns:auto 1fr;align-items:stretch;}
.phone-field__country{
  -webkit-appearance:none;appearance:none;
  width:auto;min-width:6.2rem;
  border-radius:var(--radius-sm) 0 0 var(--radius-sm);
  border-right-width:0;
  padding-right:2rem;
  font-variant-numeric:tabular-nums;
  cursor:pointer;
  /* Kendi ok işareti (native ok gizlendi) */
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e564e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .7rem center;
  background-size:1em 1em;
}
.phone-field__number{
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
/* Odaklanan kutu, komşusunun kenarlığının altında kalmasın diye öne alınır. */
.phone-field__country:focus,
.phone-field__number:focus{position:relative;z-index:1;}
.form-field.has-error .phone-field__country,
.form-field.has-error .phone-field__number{border-color:#c0392b;}
@media (max-width:400px){
  .phone-field__country{min-width:5.4rem;padding-inline:.7rem 1.7rem;font-size:.92rem;}
}

/* Özel açılır menü: tarayıcının kendi <select> penceresi mobil
   önizlemelerde ekran genişliğine göre konumlanmayıp taşabiliyor ve bu
   kendi katmanında olduğu için CSS ile düzeltilemiyor. Paneli kendimiz
   çiziyoruz; asıl <select> DOM'da kalır (JS çalışmazsa geri düşüş). */
.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.4px solid rgba(44,38,33,.14);
  border-radius:var(--radius-sm);
  padding:.85rem 1rem;
  font-family:var(--font-body);font-size:1rem;text-align:left;color:var(--color-ink);
  transition:border-color var(--dur-fast);
}
.custom-select__trigger[data-empty="true"]{color:rgba(44,38,33,.4);}
.custom-select__trigger:focus-visible,
.custom-select__trigger[aria-expanded="true"]{border-color:var(--color-taupe);outline:none;}
.form-field.has-error .custom-select__trigger{border-color:#c0392b;}
/* Açıkken tetikleyici ve panel tek parça bir bileşen gibi görünsün diye
   birleşen kenarlar köşeli yapılır. 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 ile içerideki kaydırılan liste ayrı katmanlar: liste kendi
   kaydırma çubuğuyla taşsa da dış çerçeve köşeleri kusursuz kırpar. */
.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.4px solid var(--color-taupe);
  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;}
.custom-select__panel--up{
  top:auto;bottom:100%;
  border-top:1.4px solid var(--color-taupe);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;
  scrollbar-width:thin;
  scrollbar-color:rgba(155,136,119,.5) var(--glass-bg-solid);
}
.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(155,136,119,.55);
  border-radius:99px;
  border:3px solid var(--glass-bg-solid);
  background-clip:padding-box;
}
.custom-select__group-label{
  padding:.6rem .7rem .3rem;
  font-family:var(--font-accent);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-taupe-dark);font-weight:500;
}
.custom-select__option{padding:.65rem .7rem;border-radius:var(--radius-sm);font-size:.95rem;color:var(--color-ink);cursor:pointer;}
.custom-select__option:hover,
.custom-select__option.is-active{background:rgba(155,136,119,.12);color:var(--color-taupe-dark);}
.custom-select__option[aria-selected="true"]{font-weight:500;color:var(--color-taupe-dark);}
/* Asıl select JS çalışmazsa normal görünmeli; bu yüzden display ile
   değil, JS'in eklediği bu sınıf ile gizlenir. */
.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-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;}
@media (max-width:640px){
  .form-submit-row{justify-content:center;text-align:center;}
}
/* Bal küpü (honeypot): left:-9999px gibi teknikler yatay taşmaya yol
   açabildiği için "visually-hidden" yöntemiyle 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;
}

/* KVKK onayı */
.form-consent{display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;align-items:start;margin-top:.2rem;}
.form-consent__box{width:20px;height:20px;flex:none;margin-top:.25rem;accent-color:var(--color-taupe-dark);cursor:pointer;}
/* Seçici bilerek iki sınıflı: yukarıdaki `.form-field label` kuralı
   (büyük harf, dar punto) daha yüksek önceliğe sahipti ve onay metnini
   de büyük harfe çeviriyordu. */
.form-consent .form-consent__label{
  font-family:var(--font-body);
  font-size:.86rem;line-height:1.55;color:var(--color-anthracite);cursor:pointer;
  text-transform:none;letter-spacing:normal;font-weight:400;
}
.form-consent .form-field__error{grid-column:2;}
.form-consent__link{
  font:inherit;color:var(--color-taupe-dark);font-weight:500;
  text-decoration:underline;text-underline-offset:2px;
  padding:0;background:none;border:none;cursor:pointer;
}
@media (hover:hover){.form-consent__link:hover{color:var(--color-ink);}}

.kvkk-modal{
  position:fixed;inset:0;z-index:var(--z-modal);
  display:flex;align-items:center;justify-content:center;
  padding:clamp(1rem,4vw,2.5rem);
  background:rgba(24,20,17,.6);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;
  transition:opacity .25s var(--ease-premium), visibility 0s linear .25s;
}
.kvkk-modal.is-open{opacity:1;visibility:visible;transition:opacity .25s var(--ease-premium), visibility 0s linear 0s;}
.kvkk-modal__panel{
  position:relative;width:min(680px,100%);max-height:82vh;
  display:flex;flex-direction:column;
  background:var(--color-paper);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lift);
  transform:translateY(14px);transition:transform .25s var(--ease-premium);
}
.kvkk-modal.is-open .kvkk-modal__panel{transform:none;}
.kvkk-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;border-bottom:1px solid var(--color-fog);flex:none;}
.kvkk-modal__head h3{font-size:clamp(1.25rem,2.6vw,1.6rem);}
.kvkk-modal__close{
  width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:rgba(44,38,33,.06);color:var(--color-anthracite);
  transition:background var(--dur-fast),color var(--dur-fast);
}
.kvkk-modal__close .icon{width:1.15em;height:1.15em;}
@media (hover:hover){.kvkk-modal__close:hover{background:var(--color-taupe-dark);color:var(--color-paper);}}
.kvkk-modal__body{padding:1.2rem 1.5rem 1.6rem;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:.9rem;line-height:1.65;color:var(--color-anthracite);}
.kvkk-modal__body h4{font-size:.95rem;margin-top:1.2rem;margin-bottom:.35rem;color:var(--color-ink);}
.kvkk-modal__body h4:first-child{margin-top:0;}
.kvkk-modal__body p{margin-bottom:.7rem;max-width:none;}
.kvkk-modal__body ul{margin:0 0 .7rem;padding-left:1.1rem;list-style:disc;}
.kvkk-modal__body li{margin-bottom:.3rem;}
.kvkk-modal__body a{color:var(--color-taupe-dark);text-decoration:underline;}

/* =========================================================
   Footer
========================================================= */
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 10% 0%, rgba(155,136,119,.28), transparent 46%),
    radial-gradient(circle at 92% 18%, rgba(240,214,209,.12), transparent 42%),
    linear-gradient(175deg, #352d26 0%, var(--color-anthracite-deep) 58%, #17130f 100%);
  color:var(--bg-primary);
  padding-block:clamp(3rem,6vw,5rem) 1.5rem;
  overflow:hidden;
}
.footer-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.footer-decor__item{position:absolute;width:22px;height:22px;color:var(--bg-primary);opacity:.06;}
.footer-decor__item--1{top:8%;left:6%;width:32px;height:32px;transform:rotate(-12deg);}
.footer-decor__item--2{top:22%;right:10%;transform:rotate(10deg);}
.footer-decor__item--3{bottom:30%;left:22%;width:18px;height:18px;transform:rotate(6deg);}
.footer-decor__item--4{bottom:14%;right:28%;width:26px;height:26px;transform:rotate(-8deg);}
.footer-decor__item--5{top:55%;left:48%;width:16px;height:16px;transform:rotate(14deg);}

.footer-top{position:relative;display:grid;grid-template-columns:minmax(240px,1fr) 2.1fr;gap:3rem;padding-bottom:2.8rem;border-bottom:1px solid rgba(251,248,245,.14);}
@media (max-width:860px){.footer-top{grid-template-columns:1fr;}}
.footer-brand img{margin-bottom:1.1rem;height:52px;width:auto;}
.footer-brand p{font-size:.92rem;color:var(--color-fog);max-width:34ch;}
.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(251,248,245,.09);color:var(--bg-primary);transition:background var(--dur-fast),transform var(--dur-fast),color var(--dur-fast);}
.footer-social__item:hover{background:var(--color-taupe);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(3,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:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-taupe);margin-bottom:.9rem;font-weight:500;}
.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);}
@media (max-width:860px){
  /* Üç sütun ikiye düşünce üçüncü grup ("Hızlı Erişim") tek başına ikinci
     satırın SOL sütununa düşüyor ve footer sola yaslanmış gibi görünüyordu.
     Satırın tamamını kaplayıp kendi içinde ortalanarak üstündeki iki
     grubun ortasına hizalanır. */
  .footer-col:nth-child(3){grid-column:1 / -1;align-items:center;text-align:center;}
}
@media (max-width:640px){
  .footer-top{text-align:center;}
  .footer-brand{display:flex;flex-direction:column;align-items:center;}
  .footer-brand p{margin-inline:auto;}
  .footer-social{justify-content:center;flex-wrap:wrap;}
  .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:.64rem;margin-bottom:.6rem;}
  .footer-col ul{gap:.4rem;}
  .footer-col a{font-size:.82rem;}
}
.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-taupe);}
.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(251,248,245,.1);font-size:.78rem;color:rgba(222,213,203,.7);text-align:center;}
.footer-bottom p{margin-inline:auto;}
.footer-bottom a{color:var(--color-taupe);}
.footer-bottom a:hover{text-decoration:underline;}
