/* ============================================================
   EcrinVIP — front geneli (layout) stilleri. Tüm sayfalarda yüklenir.
   ============================================================ */

/* DateTimePicker teması (altın/siyah) */
.aht-dtpicker-overlay { z-index: 2200; }
.aht-dtpicker-cont { border: 1px solid #E5E5E5; border-radius: 3px; box-shadow: 0 18px 50px rgba(11,11,11,.20); overflow: hidden; }
.aht-dtpicker-content { font-family: 'Inter', sans-serif; border-radius: 3px; }
.aht-dtpicker-header .dtpicker-title { color: #0b0b0b; font-weight: 700; font-family: 'Montserrat', sans-serif; }
.aht-dtpicker-header .dtpicker-value { color: #990000; font-weight: 700; }
.aht-dtpicker-header .dtpicker-close, .aht-dtpicker-header .dtpicker-close:hover { color: #0b0b0b; }
.aht-dtpicker-components .dtpicker-comp > * { color: #0b0b0b; }
.aht-dtpicker-components .dtpicker-comp > :hover { color: #990000; }
.aht-dtpicker-components .dtpicker-compButton { color: #990000; }
.aht-dtpicker-overlay .dtpicker-compValue:focus { background: #f2f2f2; }
.aht-dtpicker-buttonCont .dtpicker-button { border-radius: 3px; font-weight: 700; }
.aht-dtpicker-buttonCont .dtpicker-buttonSet { background: #990000; }
.aht-dtpicker-buttonCont .dtpicker-buttonSet:hover { background: #c39a2f; }
.aht-dtpicker-buttonCont .dtpicker-buttonClear { background: #0b0b0b; }
.aht-dtpicker-buttonCont .dtpicker-buttonClear:hover { background: #2a2a2a; }

/* Gövde + tema bileşenleri */
body { background-color: #ffffff; color: #0b0b0b; font-family: 'Inter', sans-serif; }
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; }
.aht-hide-scrollbar::-webkit-scrollbar { display: none; }
.aht-hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
/* Rezervasyon kartı: net beyaz, kurumsal */
.aht-glass { background: #ffffff; border: 1px solid #E5E5E5; box-shadow: 0 20px 50px rgba(11,11,11,.18); }
#main-nav.nav-scrolled { box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06); }
/* Scroll-reveal animasyonu */
.aht-reveal { opacity: 0; transform: translateY(26px);
  transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--rd, 0ms); will-change: opacity, transform; }
.aht-reveal.in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .aht-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }
/* Logo */
/* Logo kaynağı 200x50; net kalması için görüntü boyutu kaynağı aşmayacak şekilde sınırlandı.
   Daha büyük/keskin logo için en az ~400x100 px görsel yükleyin. */
.aht-logo { height: 40px; width: auto; max-width: 200px; object-fit: contain; display: block;
             image-rendering: -webkit-optimize-contrast; backface-visibility: hidden; }
@media (min-width: 768px) { .aht-logo { height: 44px; max-width: 200px; } }
@media (min-width: 1280px) { .aht-logo { height: 48px; max-width: 200px; } }
/* Dil değiştirici */
.aht-lang-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px;
               background: #f0f0f0; border: 1px solid rgba(11,11,11,.14); border-radius: 999px; }
.aht-lang-opt { display: inline-flex; align-items: center; justify-content: center; min-width: 34px;
            padding: 5px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em;
            color: #43474d; line-height: 1; text-decoration: none; transition: color .15s, background .15s, box-shadow .15s; }
.aht-lang-opt:hover { color: #0b0b0b; }
.aht-lang-opt.is-active { background: #ffffff; color: #0b0b0b; box-shadow: 0 1px 2px rgba(11,11,11,.18); }
@media (max-width: 380px) { .aht-lang-opt { min-width: 30px; padding: 5px 9px; font-size: 12px; } }
/* İçerik (prose) başlık hiyerarşisi */
.aht-prose { color: #2b2f36; line-height: 1.75; font-size: 16px; }
.aht-prose h1, .aht-prose h2, .aht-prose h3,
.aht-prose h4, .aht-prose h5, .aht-prose h6 {
  font-family: "Montserrat", system-ui, sans-serif; color: #0b0b0b; font-weight: 700;
  line-height: 1.25; margin: 1.4em 0 .55em; letter-spacing: -.01em; }
.aht-prose h1 { font-size: 32px; }
.aht-prose h2 { font-size: 26px; padding-bottom: .3em; border-bottom: 1px solid rgba(17,20,26,.08); }
.aht-prose h3 { font-size: 21px; }
.aht-prose h4 { font-size: 18px; }
.aht-prose h5 { font-size: 16px; text-transform: uppercase; letter-spacing: .04em; color: #45464d; }
.aht-prose h6 { font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: #6b6d73; }
.aht-prose h1:first-child, .aht-prose h2:first-child, .aht-prose h3:first-child { margin-top: 0; }
.aht-prose p { margin-bottom: 1em; }
.aht-prose strong { color: #11141a; font-weight: 700; }
.aht-prose a { color: #990000; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.aht-prose ul { list-style: disc; padding-left: 1.5em; margin-bottom: 1em; }
.aht-prose ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 1em; }
.aht-prose li { margin-bottom: .35em; }
@media (min-width: 768px) { .aht-prose h1 { font-size: 38px; } .aht-prose h2 { font-size: 28px; } }

/* Yatay carousel (popüler noktalar, yorumlar) */
.aht-rail { position: relative; }
.aht-rail-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 2px 16px; -ms-overflow-style: none; scrollbar-width: none; }
.aht-rail-track::-webkit-scrollbar { display: none; }
.aht-rail-item { scroll-snap-align: start; flex: 0 0 auto; }
.aht-rail-nav { position: absolute; top: 42%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: #fff; border: 1px solid rgba(11,11,11,.12); box-shadow: 0 8px 22px rgba(11,11,11,.14); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 6; color: #0b0b0b; transition: background .15s, color .15s, opacity .15s; }
.aht-rail-nav:hover { background: #0b0b0b; color: #fff; }
.aht-rail-nav i { font-size: 22px; }
.aht-rail-prev { left: -10px; } .aht-rail-next { right: -10px; }
.aht-rail-nav[disabled] { opacity: .35; cursor: default; }
@media (max-width: 768px) { .aht-rail-nav { display: none; } }

/* ---- Premium Editorial: organik dalga geçişi + altın editöryel ayrıntılar ---- */
.aht-wave { line-height: 0; margin: 0; padding: 0; }
.aht-wave svg { display: block; width: 100%; height: 56px; }
@media (min-width: 768px) { .aht-wave svg { height: 88px; } }

/* Editöryel üst etiket (eyebrow) — antik pirinç çizgiler arasında */
.aht-eyebrow { display: inline-flex; align-items: center; gap: .75rem; color: #b08d57;
  font-family: Montserrat, Inter, sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; }
.aht-eyebrow::before, .aht-eyebrow::after { content: ""; width: 2rem; height: 1px;
  background: linear-gradient(90deg, transparent, #b08d57); }
.aht-eyebrow::after { background: linear-gradient(90deg, #b08d57, transparent); }
.aht-eyebrow--start::before { display: none; }

/* Başlık altı ince altın kural (editöryel imza) */
.aht-rule { display: block; width: 68px; height: 2px; margin-top: 1.1rem;
  background: linear-gradient(90deg, #b08d57, rgba(176,141,87,0)); border-radius: 3px; }
.aht-rule--center { margin-left: auto; margin-right: auto;
  background: linear-gradient(90deg, rgba(176,141,87,0), #b08d57, rgba(176,141,87,0)); }

/* Organik kart — asimetrik yaprak köşe + sıcak hairline */
.aht-organic { border-radius: 3px; }
.aht-organic-alt { border-radius: 3px; }

/* ---- "Nasıl Çalışır" — organik adım kartları (sitedeki tek yumuşak yüzey) ----
   Asimetrik yaprak formu; kartlar sırayla ayna simetrisiyle dizilir, böylece
   dizi mekanik değil akışkan görünür. */
.aht-step-card { border-radius: 3.5rem 1rem 3.5rem 1rem;
  transition: border-radius .5s cubic-bezier(.22,.61,.36,1), transform .3s, box-shadow .3s, border-color .3s; }
/* Ayna varyantı — sınıfla verilir (DOM sırasına bağlı :nth-child kırılgan olurdu) */
.aht-step-card--alt { border-radius: 1rem 3.5rem 1rem 3.5rem; }
.aht-step-card:hover, .aht-step-card--alt:hover { border-radius: 2.25rem; }

/* Dikey kaydırma — simetriyi kırar. transform DEĞİL margin kullanılır;
   Tailwind'in hover:-translate-y-2 utility'si transform'u eziyor. */
@media (min-width: 768px) { .aht-step-card--alt { margin-top: 1.75rem; } }

/* İkon: gerçek blob formu — köşeler yüzde bazlı, hover'da akışkan biçimde değişir */
.aht-step-icon { border-radius: 58% 42% 47% 53% / 52% 46% 54% 48%;
  transition: border-radius .6s cubic-bezier(.22,.61,.36,1), transform .35s; }
.group:hover .aht-step-icon { border-radius: 44% 56% 60% 40% / 45% 58% 42% 55%; }

/* Akışkan bağlantı eğrisi (düz çizgi yerine) */
.aht-step-flow { position: absolute; inset: 3.5rem 8% auto 8%; height: 90px; z-index: 0; pointer-events: none; }
.aht-step-flow svg { width: 100%; height: 100%; overflow: visible; }
.aht-step-flow path { stroke: #b08d57; stroke-opacity: .45; stroke-width: 2; fill: none;
  stroke-dasharray: 5 9; stroke-linecap: round; }

@media (max-width: 767px) {
  .aht-step-card, .aht-step-card--alt { border-radius: 2.5rem .75rem 2.5rem .75rem; margin-top: 0; }
  .aht-step-flow { display: none; }
}

/* Kurumsal hizmet carousel'i (aht-carousel): başlıkta gezinme + alt ilerleme çubuğu */
.aht-carousel { position: relative; }
.aht-carousel-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 2px 6px; -ms-overflow-style: none; scrollbar-width: none; }
.aht-carousel-track::-webkit-scrollbar { display: none; }
.aht-carousel-item { scroll-snap-align: start; flex: 0 0 auto; }
.aht-carousel-btn { width: 46px; height: 46px; border-radius: 3px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.22); background: transparent; color: #fff; cursor: pointer; transition: background .18s, border-color .18s, opacity .18s; }
.aht-carousel-btn:hover:not(:disabled) { background: #990000; border-color: #990000; }
.aht-carousel-btn:disabled { opacity: .28; cursor: default; }
/* Açık (krem) zemin üzerindeki varyant — koyu çerçeve/ikon, hover'da bordo dolgu */
.aht-carousel-btn--light { border-color: rgba(28,26,24,.22); color: #1c1a18; }
.aht-carousel-btn--light:hover:not(:disabled) { background: #990000; border-color: #990000; color: #fff; }
/* Açık zeminde ilerleme çubuğu rayı */
.aht-rt .aht-carousel-progress { background: rgba(28,26,24,.12); }
.aht-carousel-progress { margin-top: 30px; height: 3px; border-radius: 99px; background: rgba(255,255,255,.12); position: relative; overflow: hidden; }
.aht-carousel-progress-bar { position: absolute; top: 0; left: 0; height: 100%; width: 30%; border-radius: 99px; background: linear-gradient(90deg, #990000, #6e0000); transition: width .2s ease, transform .2s ease; }
@media (max-width: 640px) { .aht-carousel-progress { display: none; } }

/* Yukarı çık butonu — sağ alt, sayfa aşağı kayınca belirir (minimalist/modern) */
.aht-scroll-top { position: fixed; right: 20px; bottom: 24px; z-index: 55; width: 50px; height: 50px; border: 0;
  border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center;
  background: #1a1a1a; color: #ffb4a8; box-shadow: 0 8px 22px rgba(11,11,11,.28);
  opacity: 0; transform: translateY(18px) scale(.85); pointer-events: none;
  transition: opacity .35s cubic-bezier(.22,.61,.36,1), transform .35s cubic-bezier(.22,.61,.36,1), background .2s, color .2s; }
.aht-scroll-top.show { opacity: 1; transform: none; pointer-events: auto; }
.aht-scroll-top i { font-size: 24px; transition: transform .2s ease; }
.aht-scroll-top:hover { background: #990000; color: #fff; box-shadow: 0 12px 28px rgba(153,0,0,.4); transform: translateY(-3px); }
.aht-scroll-top:hover i { transform: translateY(-2px); }
.aht-scroll-top::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1.5px solid rgba(153,0,0,.35);
  opacity: 0; transform: scale(.8); transition: opacity .35s, transform .35s; }
.aht-scroll-top.show:hover::after { opacity: 1; transform: scale(1); }
@media (max-width: 640px) { .aht-scroll-top { right: 14px; bottom: 16px; width: 46px; height: 46px; } }

/* Sabit iletişim butonları (float CTA) */
.aht-float-cta { position: fixed; left: 18px; bottom: 22px; z-index: 50; display: flex; flex-direction: column; gap: 14px;
  opacity: 0; transform: translateY(16px) scale(.92); pointer-events: none;
  transition: opacity .45s cubic-bezier(.22,.61,.36,1), transform .45s cubic-bezier(.22,.61,.36,1); }
.aht-float-cta.is-shown { opacity: 1; transform: none; pointer-events: auto; }
.aht-fcta { position: relative; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: #fff; text-decoration: none; box-shadow: 0 10px 26px rgba(17,20,26,.22);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease; }
.aht-fcta:hover { transform: translateY(-3px) scale(1.06); box-shadow: 0 16px 34px rgba(17,20,26,.30); }
.aht-fcta:active { transform: scale(.96); }
.aht-fcta-call { background: linear-gradient(135deg, #990000 0%, #b30000 120%); color: #ffffff; }
.aht-fcta-wa { background: linear-gradient(135deg, #25D366 0%, #128C7E 130%); }
.aht-fcta i { font-size: 26px; }
.aht-fcta::before { content: ''; position: absolute; inset: 0; border-radius: 50%; z-index: -1;
  animation: fctaPulse 2.6s ease-out infinite; }
.aht-fcta-wa::before { box-shadow: 0 0 0 0 rgba(37,211,102,.55); animation-delay: 1.3s; }
@keyframes fctaPulse { 0% { box-shadow: 0 0 0 0 currentColor; opacity: .5; } 70% { box-shadow: 0 0 0 16px currentColor; opacity: 0; } 100% { opacity: 0; } }
.aht-fcta-call::before { color: rgba(153,0,0,.55); } .aht-fcta-wa::before { color: rgba(37,211,102,.55); }
.aht-fcta-label { position: absolute; left: 68px; white-space: nowrap; background: #1a1a1a; color: #fff;
  font-size: 13px; font-weight: 600; padding: 7px 13px; border-radius: 3px; opacity: 0; transform: translateX(-6px);
  pointer-events: none; transition: opacity .2s ease, transform .2s ease; box-shadow: 0 6px 16px rgba(0,0,0,.18); }
.aht-fcta-label::before { content: ''; position: absolute; left: -5px; top: 50%; transform: translateY(-50%);
  border: 5px solid transparent; border-right-color: #1a1a1a; }
.aht-fcta:hover .aht-fcta-label { opacity: 1; transform: none; }
@media (max-width: 767px) { .aht-fcta-label { display: none; } .aht-float-cta { left: 14px; bottom: 16px; } }
@media (prefers-reduced-motion: reduce) { .aht-fcta::before { animation: none; } .aht-float-cta { transition: opacity .3s ease; transform: none; } }

/* ===================== Anasayfa bölüm arka planı (admin'den renk/resim) ===================== */
/* İç section kendi zeminini wrapper'a giydiriyoruz; wrapper'ın bg'si görünsün diye şeffaflaştır */
.aht-hs-bg > section { background: transparent !important; }
.aht-hs-bg-image { background-repeat: no-repeat; }

/* ===================== Sosyal paylaş butonları ===================== */
.aht-share-box { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.aht-share-label { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0b0b0b; margin-right: 2px; }
.aht-share-btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 3px;
  border: 1.5px solid #d9d9d9; background: #fff; color: #0b0b0b; cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.aht-share-btn i { font-size: 23px; }
.aht-share-btn:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 8px 18px rgba(11,11,11,.16); }
.aht-share-btn.s-fb:hover { background: #1877f2; border-color: #1877f2; }
.aht-share-btn.s-x:hover  { background: #0b0b0b; border-color: #0b0b0b; }
.aht-share-btn.s-wa:hover { background: #25d366; border-color: #25d366; }
.aht-share-btn.s-ig:hover { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color: #dc2743; }
.aht-share-copied { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); background: #0b0b0b; color: #fff;
  padding: 10px 18px; border-radius: 3px; font-size: 13px; font-weight: 600; z-index: 9999; opacity: 0; transition: opacity .2s; }
.aht-share-copied.show { opacity: 1; }

/* ===================== Üst bar (aht-topbar) ===================== */
.aht-topbar { display: none; background: #0b0b0b; color: rgba(255,255,255,.72); font-size: 13.5px; }
@media (min-width: 768px) { .aht-topbar { display: block; } }
.aht-topbar-item { display: inline-flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.75); text-decoration: none; white-space: nowrap; transition: color .15s ease; }
.aht-topbar-item:hover { color: #ffb4a8; }
.aht-topbar-item i { color: #ffb4a8; font-size: 16px; }
.aht-topbar-social { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 3px;
  background: rgba(255,255,255,.10); color: #ffffff; border: 1px solid rgba(255,255,255,.14);
  transition: background .18s, color .18s, border-color .18s, transform .18s; }
.aht-topbar-social:hover { background: #990000; color: #fff; border-color: #990000; transform: translateY(-1px); }
.aht-topbar-social i { font-size: 18px; }
@media (max-width: 1100px) { .topbar-hide-md { display: none; } }
@media (max-width: 900px)  { .topbar-hide-sm { display: none; } }

/* ===================== Sticky / kayan modern menü ===================== */
.aht-nav-inner { height: 80px; transition: height .28s cubic-bezier(.4,0,.2,1); }
/* Ortalı menüyü genişlet (logo sola, buton sağa kayar) */
@media (min-width: 1024px) { .aht-nav-inner { max-width: 1390px; } }
#main-nav { box-shadow: 0 1px 0 rgba(11,11,11,.06);
  transition: background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease; }
/* Aşağı kaydırınca: cam efekti + belirgin gölge + incelen yükseklik (modern) */
#main-nav.nav-scrolled { background: rgba(46,49,50,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(11,11,11,.28); }
/* Koyu nav üzerinde logoyu beyaza çevir (ECRIN VIP koyu lacivert + altın → tek renk beyaz) */
.aht-nav-logo { filter: brightness(0) invert(1); }
/* Dil/Para pill — koyu nav için açık/şeffaf varyant */
#main-nav .aht-pref-pill { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.18); color: #fff; }
#main-nav .aht-pref-pill:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.35); box-shadow: none; }
#main-nav .aht-pref-pill-sep { color: rgba(255,255,255,.55); }
#main-nav .aht-pref-pill-cur { color: #ffb4a8; }
#main-nav .aht-pref-pill-caret { color: rgba(255,255,255,.7); }
#main-nav.nav-scrolled .aht-nav-inner { height: 62px; }
.aht-logo { transition: height .28s cubic-bezier(.4,0,.2,1); }
#main-nav.nav-scrolled .aht-logo { height: 34px; }
@media (min-width: 768px)  { #main-nav.nav-scrolled .aht-logo { height: 38px; } }
@media (min-width: 1280px) { #main-nav.nav-scrolled .aht-logo { height: 40px; } }

/* ===================== Free Quote / Rezervasyonum — düz (flat) buton ===================== */
.aht-btn-quote { display: inline-flex; align-items: center; gap: .5rem; background: #990000; color: #fff; border: 0;
  font-family: 'Inter', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .03em; text-transform: uppercase;
  line-height: 1; text-decoration: none; padding: .95rem 1.7rem; border-radius: 3px; cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.aht-btn-quote:hover { background: #1a1a1a; color: #ffb4a8; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11,11,11,.22); }
.aht-btn-quote i { font-size: 18px; }
/* Navbar'daki Rezervasyonum butonu mobilde gizli (yalnız logo + menü kalır; yatay kayma önlenir) */
@media (max-width: 1023px) { .nav-quote { display: none !important; } }
/* Yatay taşma güvenliği — overflow-x:clip sticky'yi bozmaz (hidden bozardı) */
html, body { max-width: 100%; overflow-x: clip; }

/* Koyu (Night) CTA bölümünde aht-btn hover'ı Night'a dönüp kaybolmasın → koyu altın kalsın */
.bg-primary-container .aht-btn:hover,
.bg-theme-dark .aht-btn:hover {
  background: #800000; color: #fff;
  box-shadow: 0 10px 26px rgba(153,0,0,.35); transform: translateY(-2px);
}
