/* =========================================================
   EN BABA ORGANİZASYON - FULL CSS (DÜZELTİLMİŞ)
   ✅ Modal içi dropdown (Temalı / Yaşa göre) KESİLMEZ
   ✅ Scroll modal body yerine içerik wrapper’da
   ✅ Z-index / tıklanabilirlik fix
========================================================= */

/* no scrollbar helper */
.no-scrollbar::-webkit-scrollbar{display:none;}
.no-scrollbar{-ms-overflow-style:none; scrollbar-width:none;}

/* tab panels */
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ===========================
   ENB BUTTON (base)
=========================== */
.enb-btn-box{
  position: relative;
  overflow: hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;

  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:10px 4px;
  min-height:55px;

  box-shadow:
    0 1px 2px rgba(0,0,0,.06),
    0 6px 16px rgba(0,0,0,.08);

  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  cursor:pointer;
  will-change: transform;
}

.enb-btn-box:hover{
  transform:translateY(-2px);
  box-shadow:
    0 4px 10px rgba(0,0,0,.10),
    0 14px 28px rgba(0,0,0,.14);
}

.enb-btn-box.active{
  background:#eef2ff;
  border-color:#6366f1;
  box-shadow:
    0 0 0 2px rgba(99,102,241,.35),
    0 10px 26px rgba(99,102,241,.25);
}

.enb-btn-box span.icon{
  font-size:16px;
  margin-bottom:2px;
  transition:transform .2s ease, filter .2s ease;
}
.enb-btn-box span.label{
  font-size:10px;
  font-weight:600;
  color:#4b5563;
  text-align:center;
}
.enb-btn-box .desc{
  font-size:11px;
  color:#94a3b8;
  font-weight:500;
}
.enb-btn-box:hover span.icon{
  transform:scale(1.15);
  filter:brightness(1.1);
}

/* ===========================
   Ripple (use ::before)
=========================== */
.enb-btn-box::before{
  content:"";
  position:absolute;
  width:0; height:0;
  left: var(--ripple-x, 50%);
  top:  var(--ripple-y, 50%);
  background: rgba(0,0,0,.12);
  border-radius:50%;
  transform: translate(-50%, -50%) scale(0);
  opacity:0;
  transition: transform .45s ease, opacity .30s ease, width .45s ease, height .45s ease;
  pointer-events:none;
}
.enb-btn-box.ripple-animate::before{
  width:200px;
  height:200px;
  transform: translate(-50%, -50%) scale(1);
  opacity:0;
}

/* ===========================
   Optional hint
=========================== */
.enb-btn-box[data-hint]::after{
  content: attr(data-hint);
  font-size:10px;
  color:#64748b;
  margin-top:2px;
}

/* ===========================
   Primary (GENEL - SİYAH)
=========================== */
.enb-btn-primary{
  background:#0f0f0f !important;
  border-color:#0f0f0f !important;
  color:#fff !important;
}
.enb-btn-primary .label{ color:#fff !important; }

/* ===========================
   Pulse (ilk giriş)
=========================== */
@keyframes pulseBtn{
  0%{transform:scale(1)}
  50%{transform:scale(1.05)}
  100%{transform:scale(1)}
}
.enb-btn-box.pulse{
  animation:pulseBtn 1s ease 2;
}

/* ===========================
   CTA override (Rezervasyon)
=========================== */
button.enb-btn-box.enb-btn-primary.enb-cta-btn{
  background: linear-gradient(135deg,#4f46e5,#ec4899,#f59e0b) !important;
  color:#fff !important;
  border:0 !important;
  font-weight:800 !important;
  box-shadow:0 12px 30px rgba(79,70,229,.35) !important;
  transform: translateZ(0);
}
button.enb-btn-box.enb-btn-primary.enb-cta-btn[data-hint]::after{
  content:"";
}

@media (prefers-reduced-motion: no-preference){
  button.enb-btn-box.enb-btn-primary.enb-cta-btn{
    animation: enbCtaPulse 2.2s ease-in-out infinite;
  }
  @keyframes enbCtaPulse{
    0%{transform:scale(1)}
    50%{transform:scale(1.06)}
    100%{transform:scale(1)}
  }

  button.enb-btn-box.enb-btn-primary.enb-cta-btn::after{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
    transform:translateX(-120%);
    animation: enbCtaShine 3.2s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes enbCtaShine{
    0%{transform:translateX(-120%)}
    45%{transform:translateX(120%)}
    100%{transform:translateX(120%)}
  }
}
button.enb-btn-box.enb-btn-primary.enb-cta-btn:hover{
  transform: scale(1.08) !important;
  box-shadow: 0 16px 38px rgba(236,72,153,.45) !important;
}

/* ✅ HERO HIZLI MENÜ - element button değilse de yakala (INSTAGRAM YOK) */
[data-enb-menu-open="1"]{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:40px !important;
  padding:6px 12px !important;
  gap:6px !important;
  border-radius:10px !important;

  /* ✅ Instagram/pembe yok → yeşil (WhatsApp hissi) */
  background: linear-gradient(135deg,#ec4899,#f472b6,#a855f7) !important;
  border:0 !important;
  color:#fff !important;
  text-decoration:none !important;

  font-size:14px !important;
  font-weight:800 !important;

  /* ✅ pembe glow yok → yeşil shadow */
  box-shadow:0 12px 30px rgba(236,72,153,.32) !important;

  transform: translateZ(0);
  will-change: transform, box-shadow;

  animation: enbHeroMenuWiggle 2.2s ease-in-out infinite !important;
}

/* WhatsApp tarzı: kısa titreşim burst + bekleme */
@keyframes enbHeroMenuWiggle{
  0%   { transform: translateZ(0) rotate(0deg) scale(1); }
  70%  { transform: translateZ(0) rotate(0deg) scale(1); }

  72%  { transform: translateZ(0) rotate(-2deg) scale(1.02); }
  74%  { transform: translateZ(0) rotate( 2deg) scale(1.02); }
  76%  { transform: translateZ(0) rotate(-2deg) scale(1.02); }
  78%  { transform: translateZ(0) rotate( 2deg) scale(1.02); }

  82%  { transform: translateZ(0) rotate(0deg) scale(1); }
  100% { transform: translateZ(0) rotate(0deg) scale(1); }
}

[data-enb-menu-open="1"]:hover{
  animation: none !important;
  transform: scale(1.06) !important;

  /* ✅ pembe yok → yeşil hover shadow */
  box-shadow: 0 16px 38px rgba(236,72,153,.45) !important;
}

[data-enb-menu-open="1"]:active{
  transform: scale(.98) !important;
}

@media (prefers-reduced-motion: reduce){
  [data-enb-menu-open="1"]{ animation: none !important; }
}


/* ===========================
   Responsive (GENEL grid butonlar)
=========================== */
@media (min-width: 640px){
  .enb-btn-box{ min-height:70px; padding:14px 6px; }
  .enb-btn-box span.icon{ font-size:18px; }
  .enb-btn-box span.label{ font-size:11px; }
}
@media (min-width: 1024px){
  .enb-btn-box{ min-height:80px; padding:16px 8px; }
  .enb-btn-box span.icon{ font-size:20px; }
  .enb-btn-box span.label{ font-size:12px; }
}

/* hızlı menü: responsive büyümeden etkilenmesin */
@media (min-width: 640px){
  button[data-enb-menu-open="1"]{ min-height:40px !important; padding:6px 12px !important; }
}
@media (min-width: 1024px){
  button[data-enb-menu-open="1"]{ min-height:40px !important; padding:6px 12px !important; }
}

/* ===========================
   Step dots
=========================== */
.step-dot{
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  border-radius:9999px;
  border:2px solid #cbd5e1;
  background:#fff;
  color:#64748b;
  font-weight:800;
  flex:0 0 auto;
}
.step-dot.active{
  border-color:#4f46e5;
  color:#4f46e5;
  background:#eef2ff;
}
.step-dot.done{
  border-color:#16a34a;
  color:#16a34a;
  background:#ecfdf5;
}
.step-line{ height:2px; background:#e2e8f0; flex:1 1 auto; }

/* ===========================
   Dropdown scroll nicer
=========================== */
.dd-scroll {
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 transparent;
}
.dd-scroll::-webkit-scrollbar { width: 10px; }
.dd-scroll::-webkit-scrollbar-track { background: transparent; }
.dd-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
.dd-scroll::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ===========================
   Scroll lock
=========================== */
html.enb-lock,
html.enb-lock body {
  overflow: hidden;
}

/* =========================================================
   ✅ QUICK MENU MODAL (FIXED)
   🔥 Dropdown KESİLME SORUNU ÇÖZÜLDÜ
   - panel/body overflow visible
   - scroll, body yerine içerik wrapper’da
   - dropdown z-index yükseltildi
========================================================= */

/* Modal shell */
.enb-qm{
  position: fixed;
  inset: 0;
  z-index: 999999;
}

/* Backdrop */
.enb-qm__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
}

/* Panel */
.enb-qm__panel{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(980px, calc(100% - 24px));
  max-height: min(78vh, 720px);
  background: rgba(255,255,255,.98);
  border-radius: 18px;
  box-shadow: 0 20px 80px rgba(0,0,0,.35);

  /* ✅ FIX: dropdown kesilmesin */
  overflow: visible;

  display: flex;
  flex-direction: column;
}

/* Header */
.enb-qm__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 14px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.98);
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.enb-qm__title{
  display:flex;
  align-items:center;
  gap: 10px;
}

.enb-qm__badge{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.06);
}

.enb-qm__h{ font-weight: 800; font-size: 16px; line-height: 1.1; }
.enb-qm__p{ font-size: 12px; opacity: .7; margin-top: 2px; }

.enb-qm__x{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.9);
  cursor:pointer;
}

/* Body */
.enb-qm__body{
  padding: 14px;

  /* ✅ FIX: dropdown kesilmesin */
  overflow: visible;

  /* Panel yüksekliği kontrol */
  flex: 1 1 auto;
}

/* ✅ Scroll'u body yerine grid wrapper’a veriyoruz
   Not: HTML'de enb-qm__body içinde direkt .grid var.
*/
.enb-qm__body > .grid{
  max-height: 62vh;
  overflow: auto;
  padding-right: 2px;
}

/* Dropdown inside modal */
.enb-qm-dd{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);

  /* ✅ FIX: üstte kalsın */
  z-index: 9999;
}

/* Dropdown container görünümü */
.enb-qm-dd > div{
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

/* Dropdown UL scroll daha konforlu */
.enb-qm-dd ul{
  max-height: 320px;
  overflow: auto;
  scrollbar-width: thin;
}

/* highlight target section */
.enb-qm-highlight{
  outline: 3px solid rgba(99,102,241,.25);
  border-radius: 14px;
  transition: outline-color .2s ease;
}

/* küçük ek: dropdown açıkken üstte kalsın */
.enb-qm [data-dd-menu]:not(.hidden){
  position: absolute;
}

/* mobile iyileştirme */
@media (max-width: 640px){
  .enb-qm__body > .grid{ max-height: 70vh; }
}

/* =========================================================
   SALES + VITRIN PATCH (Desktop inceltme + hiyerarşi)
   - Desktop’ta %10-15 sıkılaştırma
   - Satış kartları (Fiyat/Premium/Rezervasyon) az farkla önde
========================================================= */

/* Yazı sıkılığı (genel) */
.enb-btn-box span.label{
  letter-spacing: .1px;
}
.enb-btn-box .desc{
  line-height: 1.15;
}

/* Satış kartları için küçük vurgu */
.enb-btn-sale{
  border-color: rgba(99,102,241,.18);
  box-shadow:
    0 2px 6px rgba(0,0,0,.06),
    0 10px 22px rgba(79,70,229,.10);
}
.enb-btn-sale:hover{
  box-shadow:
    0 6px 14px rgba(0,0,0,.10),
    0 18px 34px rgba(79,70,229,.14);
}

/* ✅ Desktop inceltme (büyük his azalt, dokunulabilirlik kalsın) */
@media (min-width: 1024px){
  .enb-btn-box{
    min-height: 72px;          /* önce 80px */
    padding: 14px 8px;         /* önce 16px 8px */
    border-radius: 12px;       /* 10px yerine az daha premium */
  }
  .enb-btn-box span.icon{
    font-size: 19px;           /* önce 20px */
  }
  .enb-btn-box span.label{
    font-size: 11.5px;         /* önce 12px */
  }
  .enb-btn-box .desc{
    font-size: 10.5px;         /* 11px -> biraz sıkı */
  }

  /* Satış kartı desktop’ta 1 tık daha büyük kalsın (hiyerarşi) */
  .enb-btn-box.enb-btn-sale{
    min-height: 76px;
  }
}

/* ✅ 640+ aralığında da çok az sıkılık */
@media (min-width: 640px) and (max-width: 1023px){
  .enb-btn-box{ min-height: 66px; padding: 12px 6px; } /* önce 70/14 */
  .enb-btn-box span.icon{ font-size: 17.5px; }         /* önce 18 */
  .enb-btn-box span.label{ font-size: 10.5px; }        /* önce 11 */
}

/* HERO - CLS SAFE */
.enb-hero{
  /* yükseklik her ekranda sabit bir aralıkta kalsın */
  min-height: 360px;
}
@media (min-width: 640px){
  .enb-hero{ min-height: 420px; }
}
@media (min-width: 768px){
  .enb-hero{ height: clamp(330px, 44vh, 460px); }
}

/* background img: yerleşim sabit */
.enb-hero__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: top;
  transform: translateZ(0);
}

/* overlay */
.enb-hero__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.70), rgba(0,0,0,.35), rgba(0,0,0,.10));
}

/* content layout */
.enb-hero__inner{
  position:relative;
  max-width: 72rem; /* ~max-w-6xl */
  margin: 0 auto;
  padding: 56px 20px 28px;
  text-align:center;
}

/* typographic stability */
.enb-hero__micro{
  font-size: 13px;
  opacity:.9;
  margin-bottom: 10px;
}
.enb-hero__title{
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  font-size: clamp(28px, 4vw, 52px);
  margin: 0 0 10px;
}
.enb-hero__sub{
  max-width: 56ch;
  margin: 0 auto 12px;
  font-size: clamp(15px, 1.6vw, 20px);
  opacity: .95;
}

/* badge row */
.enb-hero__badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin: 10px 0 12px;
}
.enb-hero__badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  backdrop-filter: blur(6px);
}

/* ticker + cta */
.enb-hero__ticker{ margin-top: 10px; }
.enb-hero__cta{
  margin-top: 14px;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}
.enb-hero__hint{
  margin-top: 10px;
  font-size: 13px;
  opacity: .9;
}
.enb-hero__local{
  margin-top: 10px;
  font-size: 12px;
  opacity: .85;
}

/* mobilde CTA full */
@media (max-width: 640px){
  .enb-hero__cta a,
  .enb-hero__cta button{
    width: 100%;
    justify-content:center;
  }
}

/* =========================
   EBBV NAV ARROW JITTER FIX
   transform overwrite engeli
========================= */
.ebbv__nav,
.ebbv__nav:hover,
.ebbv__nav:active,
.ebbv__nav:focus,
.ebbv__nav:focus-visible{
  transform: translateY(-50%) !important;
}

/* basma efekti istiyorsan (zıplamadan) */
.ebbv__nav:active{
  transform: translateY(-50%) scale(.96) !important;
}

.ebbv__nav{
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  touch-action: manipulation;
  outline: none;
}

.step-dot{
  width:24px;
  height:24px;
  font-size:12px;
}

.enb-hero--dark{
  margin-top:16px;
}

/* =========================================================
   DÜĞÜN INCLUDE SAYFALARINDA MOBILE NAV RENK GARANTİSİ
   (4 item yapına göre nth-child)
========================================================= */
#mobileNav .nav-item{ color: #64748b !important; } /* default slate */

/* 1) Ana Sayfa (kahverengi) */
#mobileNav > a.nav-item:nth-of-type(1){
  color:#6F4E37 !important;
}
#mobileNav > a.nav-item:nth-of-type(1):hover{
  color:#5A3E2B !important;
}

/* 2) Destek (WhatsApp yeşil) -> button */
#mobileNav > button.nav-item{
  color:#16a34a !important;
}
#mobileNav > button.nav-item:hover{
  color:#15803d !important;
}

/* 3) Hizmetler (slate/indigo hover) */
#mobileNav > a.nav-item:nth-of-type(2){
  color:#64748b !important;
}
#mobileNav > a.nav-item:nth-of-type(2):hover{
  color:#4f46e5 !important;
}

/* 4) Kategoriler (slate/indigo hover) -> ikinci button */
#mobileNav > button.nav-item:nth-of-type(2){
  color:#64748b !important;
}
#mobileNav > button.nav-item:nth-of-type(2):hover{
  color:#4f46e5 !important;
}

.enb-hero__overlay--bottom{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.35) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.75) 100%
  );
  z-index:1;
}

.enb-hero__content{
  position:relative;
  z-index:2;
}

.enb-hero__content{
  backdrop-filter: blur(4px);
}

/* =====================================================
   EN BABA – DÜĞÜN ORGANİZASYONU
   SAYFA EK CSS (SEO / UI POLISH)
===================================================== */

/* -----------------------------------------------------
   GENEL İÇERİK AKIŞI
----------------------------------------------------- */
#detay h2,
#detay h3,
#detay h4,
#sss h2,
#sss h3,
#teklif h2,
#teklif h3 {
  letter-spacing: -0.02em;
}

#detay p,
#sss p,
#teklif p {
  text-wrap: pretty;
}

#detay section,
#sss .accordion-item,
#teklif article,
#teklif section {
  scroll-margin-top: 110px;
}

/* -----------------------------------------------------
   DETAY PANELİ
----------------------------------------------------- */
#detay {
  position: relative;
}

#detay .space-y-14 > section {
  position: relative;
}

#detay .space-y-14 > section > h3 {
  color: #0f172a;
}

#detay .space-y-14 > section > p,
#detay .space-y-14 > section li {
  color: #334155;
}

#detay .space-y-14 > section ul {
  padding-left: 0;
}

/* -----------------------------------------------------
   ORGANİZASYON SÜRECİ KUTULARI
----------------------------------------------------- */
#detay .grid > div.bg-white.rounded-2xl.p-5.border.border-slate-200.shadow-sm {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
  will-change: transform;
}

#detay .grid > div.bg-white.rounded-2xl.p-5.border.border-slate-200.shadow-sm:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  border-color: rgba(99, 102, 241, 0.24);
}

/* -----------------------------------------------------
   "KİMLER İÇİN UYGUN?" KARTLARI
----------------------------------------------------- */
#detay .grid.max-w-4xl > div.bg-white.rounded-2xl.p-5.shadow-sm.border.border-slate-200 {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#detay .grid.max-w-4xl > div.bg-white.rounded-2xl.p-5.shadow-sm.border.border-slate-200:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
  border-color: rgba(236, 72, 153, 0.22);
}

#detay .grid.max-w-4xl h4 {
  color: #111827;
}

#detay .grid.max-w-4xl p {
  color: #475569;
}

/* -----------------------------------------------------
   LOKAL METİN BLOKLARI
----------------------------------------------------- */
#detay section.max-w-3xl.mx-auto p {
  line-height: 1.8;
}

#detay section.max-w-3xl.mx-auto h3 {
  margin-bottom: 1rem;
}

/* -----------------------------------------------------
   PAKET KARTLARI – ÜST FİYAT PANELİ
----------------------------------------------------- */
#fiyatlar-panel .grid.md\:grid-cols-3 > div {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease;
}

#fiyatlar-panel .grid.md\:grid-cols-3 > div:hover {
  filter: saturate(1.03);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
}

#fiyatlar-panel .grid.md\:grid-cols-3 h3 {
  letter-spacing: -0.01em;
}

#fiyatlar-panel .grid.md\:grid-cols-3 button {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

#fiyatlar-panel .grid.md\:grid-cols-3 button:hover {
  transform: translateY(-1px);
}

#fiyatlar-panel .grid.md\:grid-cols-3 button:active {
  transform: translateY(0);
}

/* -----------------------------------------------------
   REZERVASYON SOL PAKETLERİ
----------------------------------------------------- */
#teklif article {
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

#teklif article:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

#teklif article .select-package {
  min-width: 88px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

#teklif article .select-package:hover {
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
}

/* -----------------------------------------------------
   REZERVASYON FORMU
----------------------------------------------------- */
#rezervasyonForm {
  position: sticky;
  top: 110px;
}

#rezervasyonForm input,
#rezervasyonForm select,
#rezervasyonForm textarea {
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

#rezervasyonForm input:focus,
#rezervasyonForm select:focus,
#rezervasyonForm textarea:focus {
  outline: none;
  border-color: rgba(99, 102, 241, 0.55);
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.10);
  background: #fff;
}

/* step göstergesi */
.step-dot {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  color: #475569;
  background: #e2e8f0;
  border: 1px solid #cbd5e1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.step-line {
  flex: 1 1 auto;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e2e8f0, #cbd5e1);
}

.step-dot.is-active,
.step-dot.active {
  color: #fff;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  border-color: transparent;
  box-shadow: 0 10px 20px rgba(79, 70, 229, 0.24);
}

.step-dot.is-done,
.step-dot.done {
  color: #fff;
  background: linear-gradient(135deg, #10b981, #059669);
  border-color: transparent;
}

/* step panel geçişi */
.step-panel {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
}

.step-panel.hidden {
  display: none !important;
}

#rezervasyonForm .step-next,
#rezervasyonForm .step-prev,
#rezervasyonForm #btnWhatsapp,
#rezervasyonForm #btnPayment {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

#rezervasyonForm .step-next:hover,
#rezervasyonForm .step-prev:hover,
#rezervasyonForm #btnWhatsapp:hover,
#rezervasyonForm #btnPayment:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.10);
}

/* -----------------------------------------------------
   SEPET ÖZETİ
----------------------------------------------------- */
#cartBadge,
#cartTotal,
#sumToplam,
#sumKapora {
  font-variant-numeric: tabular-nums;
}

#cartTotal,
#sumToplam {
  letter-spacing: -0.01em;
}

/* -----------------------------------------------------
   EKSTRA HİZMETLER GRID
----------------------------------------------------- */
#teklif .ekstra-checkbox {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}


/* -----------------------------------------------------
   SSS / ACCORDION
----------------------------------------------------- */
.accordion-item {
  transition:
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease;
}

.accordion-item:hover {
  border-color: rgba(99, 102, 241, 0.20);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.accordion-header {
  background: #fff;
  transition: background-color 0.18s ease;
}

.accordion-header:hover {
  background: #f8fafc;
}

.accordion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
}

.accordion-item.is-open .accordion-icon,
.accordion-item.active .accordion-icon {
  background: #eef2ff;
  border-color: #c7d2fe;
  color: #4338ca;
  transform: rotate(45deg);
}

.accordion-content {
  will-change: max-height;
}

/* -----------------------------------------------------
   GALERİ
----------------------------------------------------- */
.gallery-item {
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    filter 0.22s ease;
}

.gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 45px rgba(15, 23, 42, 0.18);
}

.gallery-item img,
.gallery-item video {
  transition:
    transform 0.35s ease,
    opacity 0.25s ease;
}

.gallery-item:hover img,
.gallery-item:hover video {
  transform: scale(1.03);
}

/* -----------------------------------------------------
   İLÇE LİNK GRID
----------------------------------------------------- */
#galeri .grid a[href*="-dugun-organizasyonu"],
#teklif .grid a[href*="-dugun-organizasyonu"] {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease;
}

#galeri .grid a[href*="-dugun-organizasyonu"]:hover,
#teklif .grid a[href*="-dugun-organizasyonu"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

/* -----------------------------------------------------
   HIZLI MENÜ MODAL
----------------------------------------------------- */
.enb-qm__panel {
  box-shadow: 0 24px 70px rgba(2, 6, 23, 0.24);
}

.enb-qm__body .enb-btn-box {
  min-height: 92px;
}

.enb-qm-dd .bg-white {
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16);
}

/* -----------------------------------------------------
   MOBİL İYİLEŞTİRMELER
----------------------------------------------------- */
@media (max-width: 1024px) {
  #rezervasyonForm {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767px) {
  #detay {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  #detay .space-y-14 {
    gap: 2.5rem;
  }

  #detay h2 {
    font-size: 1.8rem;
    line-height: 1.15;
  }

  #detay h3,
  #sss h2,
  #teklif h2 {
    line-height: 1.2;
  }

  #detay .grid.max-w-4xl,
  #detay .max-w-4xl.mx-auto.grid {
    gap: 1rem;
  }

  #rezervasyonForm {
    padding: 1rem;
  }

  .step-dot {
    width: 34px;
    height: 34px;
    min-width: 34px;
    font-size: 13px;
  }

  .accordion-header {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
  }

  #fiyatlar-panel .grid.md\:grid-cols-3 > div {
    transform: none !important;
  }
}

@media (max-width: 480px) {
  #detay h2 {
    font-size: 1.6rem;
  }

  #detay h3,
  #sss h2,
  #teklif h2 {
    font-size: 1.35rem;
  }

  #rezervasyonForm .step-next,
  #rezervasyonForm .step-prev,
  #rezervasyonForm #btnWhatsapp,
  #rezervasyonForm #btnPayment {
    min-height: 46px;
  }
}

/* -----------------------------------------------------
   ERİŞİLEBİLİRLİK
----------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
  }

  .gallery-item,
  .accordion-item,
  .step-panel,
  #teklif article,
  #fiyatlar-panel .grid.md\:grid-cols-3 > div,
  #detay .grid > div,
  #detay .grid.max-w-4xl > div {
    transition: none !important;
    animation: none !important;
  }
}

#tickerMount{
  margin-top: 1rem;
  min-height: 56px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.enb-pricing-section{
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(244,114,182,.18), transparent 60%),
    linear-gradient(180deg, #fffafc 0%, #fff7fb 42%, #fdfcff 100%);
}

.enb-price-card{
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.enb-price-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
}

.enb-price-card--mini{
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

.enb-price-card--featured{
  background: linear-gradient(180deg, #ec4899 0%, #7e22ce 100%);
}

.enb-price-card--vip{
  background: linear-gradient(180deg, #7c3aed 0%, #312e81 100%);
}

.enb-price-btn{
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}

.enb-price-btn:hover{
  transform: translateY(-1px);
}

.enb-price-btn--pink{
  background:#ec4899;
  color:#fff;
}

.enb-price-btn--pink:hover{
  background:#db2777;
}

.enb-price-btn--gold{
  background:#fde047;
  color:#111827;
}

.enb-price-btn--gold:hover{
  background:#facc15;
}

.enb-price-btn--purple{
  background:#a855f7;
  color:#fff;
}

.enb-price-btn--purple:hover{
  background:#9333ea;
}

.enb-pricing-info{
  background: rgba(255,255,255,.72);
  border:1px solid rgba(226,232,240,.9);
  box-shadow: 0 18px 50px rgba(15,23,42,.07);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.enb-pricing-subtable{
  background: linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(248,250,252,.95) 100%);
  border:1px solid #e2e8f0;
}

.enb-table-shell{
  border:1px solid #e2e8f0;
  border-radius: 18px;
  overflow: hidden;
  background:#fff;
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

.enb-table-shell table{
  color:#334155;
}

.enb-table-shell thead{
  background: linear-gradient(90deg, #f472b6 0%, #a855f7 100%);
  color:#fff;
}

.enb-table-shell tbody tr{
  border-top:1px solid #e2e8f0;
}

.enb-table-shell tbody tr:nth-child(even){
  background:#fafafc;
}

.enb-links-section{
  background:
    radial-gradient(1000px 420px at 50% 0%, rgba(236,72,153,.10), transparent 60%),
    linear-gradient(180deg, #fffafc 0%, #f8fbff 100%);
}

.enb-links-card{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}

.enb-links-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
  border-color: rgba(244,114,182,.35);
  background: rgba(255,255,255,.94);
}

.enb-price-card--lux{
  background: linear-gradient(180deg, #fff7d6 0%, #ffe38b 100%);
  border: 2px solid #facc15;
  color: #5b4300;
}

.enb-price-btn--lux{
  background: #d97706;
  color: #fff;
}

.enb-price-btn--lux:hover{
  background: #b45309;
}

.enb-price-rail{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:4px 6px 10px;
  margin-inline:-6px;
  scrollbar-width:none;
}

.enb-price-rail::-webkit-scrollbar{
  display:none;
}

.enb-price-rail > .enb-price-card{
  flex:0 0 85%;
  max-width:85%;
  scroll-snap-align:start;
}

.enb-price-rail-hint{
  display:block;
}

@media (min-width:640px){
  .enb-price-rail > .enb-price-card{
    flex:0 0 58%;
    max-width:58%;
  }
}

@media (min-width:768px){
  .enb-price-rail{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    overflow:visible;
    padding:0;
    margin:0;
  }

  .enb-price-rail > .enb-price-card{
    flex:unset;
    max-width:none;
  }
}

@media (min-width:1280px){
  .enb-price-rail{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (min-width:768px){
  .enb-price-rail-hint{
    display:none;
  }
}
.enb-party-builder-gateway .group{
  will-change: transform;
}

.enb-party-builder-gateway a,
.enb-party-builder-gateway button{
  min-height: 100%;
}

@media (max-width: 1023px){
  .enb-party-builder-gateway .grid{
    gap: 14px;
  }
}


/* =====================================================
   DÜĞÜN SAYFASI TEMA AYARLARI
===================================================== */
.enb-pricing-section{
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(244,114,182,.12), transparent 60%),
    linear-gradient(180deg, #fffdfb 0%, #fff9fb 42%, #fcfbff 100%);
}

.enb-price-card--mini{
  background: linear-gradient(180deg, #334155 0%, #0f172a 100%);
}

.enb-price-card--featured{
  background: linear-gradient(180deg, #d946ef 0%, #7c3aed 100%);
}

.enb-price-card--vip{
  background: linear-gradient(180deg, #8b5cf6 0%, #312e81 100%);
}

.enb-price-card--lux{
  background: linear-gradient(180deg, #fff7d6 0%, #ffe38b 100%);
  border: 2px solid #facc15;
  color: #5b4300;
}

#detay,
#fiyatlar-panel,
#teklif,
#sss,
#yorumlar{
  scroll-margin-top: 110px;
}

#galeri .gallery-item .absolute.bottom-3 p.text-sm,
#detay h3,
#fiyatlar-panel h2,
#yorumlar h2{
  letter-spacing: -.02em;
}


/* =====================================================
   DÜĞÜN MEKAN & CATERING BLOKLARI
===================================================== */
#mekan-rehberi,
#catering-menuleri{
  scroll-margin-top:110px;
}

#mekan-rehberi .enb-pricing-info,
#catering-menuleri .enb-pricing-info{
  background:
    radial-gradient(800px 220px at 50% 0%, rgba(244,114,182,.12), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,250,252,.98) 100%);
}

#mekan-rehberi .enb-links-card,
#catering-menuleri .enb-links-card{
  min-height: 100%;
}

.enb-qm__head{
  background: linear-gradient(180deg, rgba(255,247,251,.98), rgba(255,255,255,.98));
}

.enb-qm__badge{
  background: linear-gradient(135deg, rgba(236,72,153,.14), rgba(168,85,247,.14));
}

.enb-qm__panel{
  border: 1px solid rgba(244,114,182,.16);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .3s ease;
}

.accordion-icon {
  transition: transform .3s ease;
}

/* =========================================================
   MEKAN SELECT – FINAL UI
========================================================= */

.mekan-select {
  position: relative;
  transition: all .28s ease;
  cursor: pointer;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* hover */
.mekan-select:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
  border-color: #c7d2fe;
}

/* aktif seçim */
.mekan-select.active {
  border: 2px solid #6366f1;
  background: linear-gradient(180deg, #eef2ff 0%, #ffffff 100%);
  box-shadow: 0 16px 40px rgba(99,102,241,0.25);
  transform: translateY(-4px) scale(1.01);
}

/* glow efekti */
.mekan-select.active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  box-shadow: 0 0 0 2px rgba(99,102,241,0.3),
              0 0 40px rgba(99,102,241,0.25);
  pointer-events: none;
}

/* üst badge highlight */
.mekan-select.active span {
  background: #6366f1 !important;
  color: #fff !important;
}

/* ikon büyüme */
.mekan-select.active .text-3xl {
  transform: scale(1.15);
  transition: .25s;
}

/* CTA yazı rengi */
.mekan-select.active .text-indigo-700 {
  color: #4338ca !important;
}

/* tik işareti */
.mekan-select.active::before {
  content: "✔";
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #6366f1;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* mobil optimizasyon */
@media (max-width: 640px) {
  .mekan-select {
    padding: 16px;
  }

  .mekan-select.active {
    transform: scale(1.02);
  }
}

/* =========================
   ENB HERO TICKER – DESKTOP
========================= */

.enb-hero__ticker {
  width: 100%;
  display: flex;
  justify-content: center;   /* tam ortalama */
  align-items: center;
  margin-top: 20px;
  padding: 0 16px;
}

/* wrapper */
#liveTicker {
  width: 100%;
  max-width: 900px; /* desktop genişlik */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* text box */
#liveTickerText {
  width: 100%;
  text-align: center;

  padding: 16px 28px;

  border-radius: 999px;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;

  color: #0f172a;

  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.95),
    rgba(248,250,252,0.85)
  );

  backdrop-filter: blur(14px);

  border: 1px solid rgba(255,255,255,0.6);

  box-shadow:
    0 12px 40px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.7);

  transition: all 0.35s ease;

  letter-spacing: 0.2px;
}

/* highlight text */
#liveTickerText b {
  font-weight: 700;
  color: #020617;
}

/* animasyon */
.enb-ticker-anim {
  animation: enbTickerFade 0.5s ease;
}

@keyframes enbTickerFade {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(0.97);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* hover efekti (desktop fark yaratır) */
#liveTickerText:hover {
  transform: translateY(-2px) scale(1.015);
  box-shadow:
    0 18px 50px rgba(0,0,0,0.14),
    inset 0 1px 0 rgba(255,255,255,0.8);
}

/* =========================
   LARGE SCREEN (ULTRA)
========================= */

@media (min-width: 1280px) {
  #liveTicker {
    max-width: 1000px;
  }

  #liveTickerText {
    font-size: 17px;
    padding: 18px 34px;
  }
}

/* =========================
   TABLET
========================= */

@media (max-width: 1024px) {
  #liveTicker {
    max-width: 720px;
  }

  #liveTickerText {
    font-size: 15px;
    padding: 14px 22px;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 640px) {
  #liveTickerText {
    font-size: 13px;
    padding: 10px 14px;
    border-radius: 18px;
  }
}

/* =========================================
   MASA & SANDALYE DÜZENİ
========================================= */

#masa-sandalye-duzeni {
  scroll-margin-top: 110px;
}

#masa-sandalye-duzeni select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #475569 50%),
    linear-gradient(135deg, #475569 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 44px;
}

#masa-sandalye-duzeni .enb-layout-card {
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255,255,255,.8);
}

#masa-sandalye-duzeni .enb-layout-summary-strong {
  color: #312e81;
}

@media (min-width: 1024px) {
  #masa-sandalye-duzeni {
    padding: 2rem;
  }
}

@media (max-width: 640px) {
  #masa-sandalye-duzeni {
    border-radius: 24px;
    padding: 1.15rem;
  }
}

#layoutPlannerWrap {
  transition: all .25s ease;
}