/* Generated bundle: tools/build-runtime-bundles.php */
/* =========================================================
   ENB SERVICE WIDTH GUARD
   Amaç: karma hizmet sayfalarında form, yorum, SSS, fiyat
   ve içerik bloklarının ekran genişliğine göre güvenli
   kalması; iç kartların parent dışına taşmaması.

   Kritik prensip:
   - Sadece sayfanın ana kabuğu header shell değerine hizalanır.
   - Form/yorum/SSS içindeki max-w-* veya kartlar zorla 1500/1600px'e
     büyütülmez. Bu önceki genişlik bozulmalarının ana nedeniydi.
========================================================= */

/*
 * html/body genişlik + box-sizing + overflow-x temeli zaten global.css ve
 * enb-global-width-stabilizer.css tarafından sağlanır. Hizmet katmanı aynı
 * shell tokenlarını yeniden hesaplamak yerine merkezi global tokenları kullanır.
 */
html body.enb-body{
  --enb-service-mobile-gutter:16px;
  --enb-service-shell-max:var(--enb-global-shell-max, var(--enb-layout-shell, var(--enb-header-shell, 1552px)));
  --enb-service-shell-width:var(--enb-global-shell-width, min(calc(100% - var(--enb-layout-edge-gap, 48px)), var(--enb-service-shell-max)));
}

html body.enb-body :where(main, section, article, div, form, fieldset){
  min-width:0;
}

html body.enb-body :where(.grid, .flex) > *{
  min-width:0;
}

/* img/svg/video/canvas global.css içinde zaten güvenlidir; iframe hizmet katmanında kalır. */
html body.enb-body iframe{
  max-width:100%;
}

html body.enb-body :where(table){
  max-width:100%;
}

html body.enb-body :where(input, select, textarea, button){
  max-width:100%;
}

html body.enb-body :where(input, select, textarea){
  min-width:0;
}

@media (min-width:1280px){
  /* Sayfa ana kabukları header logo çizgisiyle aynı referansa oturur. */
  html body.enb-body:not(.page-index):not(.page-hizmetler):not(.page-kategoriler) > main.enb-page,
  html body.enb-body > main.max-w-7xl.mx-auto,
  html body.enb-body > main.max-w-6xl.mx-auto,
  html body.enb-body > main.max-w-5xl.mx-auto,
  html body.enb-body > main.max-w-screen-xl.mx-auto,
  html body.enb-body > main.max-w-screen-2xl.mx-auto,
  html body.enb-body > main.container.mx-auto,
  html body.enb-body > main.dkh-container,
  html body.enb-body > main.eh-container,
  html body.enb-body > main.fh-shell,
  html body.enb-body > main.fsh-container,
  html body.enb-body > main.fasil-page,
  html body.enb-body > main.tnm-shell,
  html body.enb-body > main.enb-treat-wrap,
  html body.enb-body #mainContent.dansoz-page.dkh-container,
  html body.page-dansoz-kiralama #mainContent.dansoz-page.dkh-container{
    width:var(--enb-service-shell-width) !important;
    max-width:var(--enb-service-shell-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* Custom shell sınıfları parent dışına taşmadan header shell'e göre davranır. */
  html body.enb-body > :where(section, article, div).max-w-3xl,
  html body.enb-body > :where(section, article, div).max-w-4xl,
  html body.enb-body > :where(section, article, div).max-w-5xl,
  html body.enb-body > :where(section, article, div).max-w-6xl,
  html body.enb-body > :where(section, article, div).max-w-7xl,
  html body.enb-body > :where(section, article, div).max-w-screen-xl,
  html body.enb-body > :where(section, article, div).max-w-screen-2xl,
  html body.enb-body > :where(section, article, div).container,
  html body.enb-body > :where(section, article, div).fh-shell,
  html body.enb-body > :where(section, article, div).fsh-container,
  html body.enb-body > :where(section, article, div).dkh-container,
  html body.enb-body > :where(section, article, div).eh-container,
  html body.enb-body > :where(section, article, div).tnm-shell,
  html body.enb-body > :where(section, article, div).enb-treat-wrap,
  html body.enb-body > :where(section, article, div).max-w-\[1200px\],
  html body.enb-body > :where(section, article, div).max-w-\[1280px\],
  html body.enb-body > :where(section, article, div).max-w-\[1400px\],
  html body.enb-body > :where(section, article, div).max-w-\[1500px\],
  html body.enb-body > :where(section, article, div).max-w-\[1600px\]{
    width:var(--enb-service-shell-width) !important;
    max-width:var(--enb-service-shell-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* İç kart ve iç shell'ler parent'tan büyük olamaz. */
  html body.enb-body :where(main, section, article, div) > :where(
    .enb-form-shell,
    .enb-form-card,
    .form-card,
    .bh-formWrap,
    .dkh-form-card,
    .enb-review-display-shell,
    .enb-qm__panel,
    .fh-faq,
    .fh-faq-inner,
    .fsh-faq,
    .fsh-faq-inner,
    .dkh-faq,
    .dkh-faq-inner,
    .eh-faq,
    .eh-faq-inner
  ){
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-width:0 !important;
  }

  /* Form / rezervasyon / yorum / SSS bölgelerinde grid ve içerik taşmasını keser. */
  html body.enb-body :where(
    [id*="rezervasyon" i],
    [id*="reservation" i],
    [id*="form" i],
    [id*="talep" i],
    [id*="teklif" i],
    [id*="yorum" i],
    [id*="review" i],
    [id*="sss" i],
    [id*="faq" i]
  ) :where(.grid, .flex, form, fieldset, .enb-form-card, .form-card, .enb-review-display-shell){
    max-width:100%;
    min-width:0;
  }
}

@media (max-width:1279.98px){
  html body.enb-body{
    --enb-service-mobile-gutter:16px;
  }

  html body.enb-body :where(
    .fh-shell,
    .fsh-container,
    .dkh-container,
    .eh-container,
    .tnm-shell,
    .enb-treat-wrap,
    .enb-price-rail,
    .enb-qm__panel,
    .enb-form-shell,
    .enb-form-card,
    .form-card,
    .bh-formWrap,
    .dkh-form-card,
    .enb-review-display-shell,
    .fh-faq,
    .fh-faq-inner,
    .fsh-faq,
    .fsh-faq-inner,
    .dkh-faq,
    .dkh-faq-inner,
    .eh-faq,
    .eh-faq-inner
  ){
    width:min(100%, calc(100vw - (var(--enb-service-mobile-gutter) * 2))) !important;
    max-width:min(100%, calc(100vw - (var(--enb-service-mobile-gutter) * 2))) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-width:0 !important;
  }

  html body.enb-body :where(
    [id*="rezervasyon" i],
    [id*="reservation" i],
    [id*="form" i],
    [id*="talep" i],
    [id*="teklif" i],
    [id*="yorum" i],
    [id*="review" i],
    [id*="sss" i],
    [id*="faq" i]
  ) :where(.grid, .flex, form, fieldset){
    max-width:100%;
    min-width:0;
  }
}

@media (max-width:767.98px){
  html body.enb-body{
    --enb-service-mobile-gutter:14px;
  }

  html body.enb-body :where(.enb-form-shell, .enb-form-card, .form-card, .bh-formWrap, .dkh-form-card, .enb-review-display-shell, .enb-price-rail, .enb-qm__panel){
    border-radius:18px;
  }

  html body.enb-body :where(
    [id*="rezervasyon" i],
    [id*="reservation" i],
    [id*="form" i],
    [id*="talep" i],
    [id*="teklif" i],
    [id*="yorum" i],
    [id*="review" i],
    [id*="sss" i],
    [id*="faq" i]
  ) :where(.grid){
    grid-template-columns:minmax(0, 1fr) !important;
  }

  html body.enb-body :where(
    [id*="rezervasyon" i],
    [id*="reservation" i],
    [id*="form" i],
    [id*="talep" i],
    [id*="teklif" i],
    [id*="yorum" i],
    [id*="review" i],
    [id*="sss" i],
    [id*="faq" i]
  ) :where(.flex){
    flex-wrap:wrap;
  }

  html body.enb-body :where(
    [id*="rezervasyon" i],
    [id*="reservation" i],
    [id*="form" i],
    [id*="talep" i],
    [id*="teklif" i],
    [id*="yorum" i],
    [id*="review" i],
    [id*="sss" i],
    [id*="faq" i]
  ) :where(a, button){
    max-width:100%;
  }
}
/* =========================================================
   En Baba Organizasyon | iPhone / iOS Safari Form Zoom Guard
   Amaç:
   - Input/select/textarea focus zoom davranışını 16px ile engellemek
   - Kullanıcının pinch zoom erişilebilirliğini korumak
   - Mobil formları 16px kuralını bozmadan daha kompakt göstermek
   Not:
   - Bu dosya header-assets.php tarafından sayfa özel CSS'lerinden sonra yüklenir.
   - assets/js/enb-ios-zoom-lock.js yalnız eski/kilitli viewport kalıntılarını erişilebilir değere döndürür.
========================================================= */

html,
body{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

@supports (-webkit-touch-callout: none){
  :root{
    --enb-ios-control-font-size:16px;
    --enb-ios-control-height:48px;
    --enb-ios-control-radius:14px;
    --enb-ios-control-pad-x:14px;
  }

  html,
  body,
  body.enb-body{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
    -webkit-font-smoothing:antialiased;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:clip !important;
  }

  @supports not (overflow-x: clip){
    html,
    body,
    body.enb-body{ overflow-x:hidden !important; }
  }

  html.enb-ios-accessible-zoom *,
  html.enb-ios-accessible-zoom *::before,
  html.enb-ios-accessible-zoom *::after{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  /* ---------------------------------------------------------
     1) Sistem geneli no-zoom font güvenliği
     Yazı girilen kontroller 16px altına düşerse iOS focus zoom yapar.
  --------------------------------------------------------- */
  :where(
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="color"]),
    textarea,
    select
  ){
    font-size:var(--enb-ios-control-font-size) !important;
    line-height:1.22 !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="color"])::placeholder,
  textarea::placeholder{
    font-size:var(--enb-ios-control-font-size) !important;
    line-height:1.22 !important;
  }

  /* ---------------------------------------------------------
     2) Header + ana sayfa arama alanları
  --------------------------------------------------------- */
  :where(
    #heroSearchForm input,
    #searchInput,
    #desktopHeaderSearchInput,
    #mobileHeaderSearchInput,
    #mobileMenuSearchInput,
    input[type="search"],
    input[name="q"]
  ){
    font-size:var(--enb-ios-control-font-size) !important;
    line-height:1.22 !important;
    min-height:44px !important;
  }

  #heroSearchForm input::placeholder,
  #searchInput::placeholder,
  #desktopHeaderSearchInput::placeholder,
  #mobileHeaderSearchInput::placeholder,
  #mobileMenuSearchInput::placeholder,
  input[type="search"]::placeholder,
  input[name="q"]::placeholder{
    font-size:var(--enb-ios-control-font-size) !important;
  }

  /* header.css mobil menü alanında 14px + !important kullanır.
     :where() specificity'si sıfır olduğu için Safari no-zoom kuralını doğrudan
     ID selector ile son söz olarak sabitliyoruz. */
  #mobileMenuSearchInput{
    font-size:16px !important;
    line-height:1.22 !important;
    min-height:44px !important;
  }

  #mobileMenuSearchInput::placeholder{
    font-size:16px !important;
  }

  /* ---------------------------------------------------------
     3) Rezervasyon / teklif formlarını iOS'ta daha kompakt tut
     16px font korunur; görsel şişkinlik yükseklik/padding ile düşürülür.
  --------------------------------------------------------- */
  :where(
    .enb-form .enb-field input[type="date"],
    .enb-form .enb-field input[type="time"],
    .enb-form .enb-field input[type="datetime-local"],
    .enb-form .enb-field input[type="number"],
    .enb-form .enb-field input[type="text"],
    .enb-form .enb-field input[type="tel"],
    .enb-form .enb-field input[type="email"],
    .enb-form .enb-field input[type="url"],
    .enb-form .enb-field input[type="search"],
    .enb-form .enb-field select,
    .enb-field input[type="date"],
    .enb-field input[type="time"],
    .enb-field input[type="datetime-local"],
    .enb-field input[type="number"],
    .enb-field input[type="text"],
    .enb-field input[type="tel"],
    .enb-field input[type="email"],
    .enb-field input[type="url"],
    .enb-field input[type="search"],
    .enb-field select
  ){
    -webkit-appearance:none !important;
    appearance:none !important;
    width:100% !important;
    min-height:var(--enb-ios-control-height) !important;
    height:var(--enb-ios-control-height) !important;
    padding:0 var(--enb-ios-control-pad-x) !important;
    border:1px solid rgba(15,23,42,.12) !important;
    border-radius:var(--enb-ios-control-radius) !important;
    background-color:#fff !important;
    background-clip:padding-box !important;
    color:#0f172a !important;
    box-shadow:none !important;
    outline:none !important;
    font-size:var(--enb-ios-control-font-size) !important;
    font-weight:600 !important;
  }

  :where(.enb-form .enb-field textarea, .enb-field textarea){
    -webkit-appearance:none !important;
    appearance:none !important;
    min-height:104px !important;
    padding:13px var(--enb-ios-control-pad-x) !important;
    border:1px solid rgba(15,23,42,.12) !important;
    border-radius:var(--enb-ios-control-radius) !important;
    background-color:#fff !important;
    color:#0f172a !important;
    box-shadow:none !important;
    outline:none !important;
    font-size:var(--enb-ios-control-font-size) !important;
    font-weight:600 !important;
  }

  :where(.enb-form .enb-field select, .enb-field select){
    padding-right:44px !important;
    text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden;
    background-image:
      linear-gradient(45deg, transparent 50%, #64748b 50%),
      linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
    background-position:
      calc(100% - 21px) 50%,
      calc(100% - 15px) 50% !important;
    background-size:6px 6px, 6px 6px !important;
    background-repeat:no-repeat !important;
  }

  :where(
    .enb-form .enb-field input[type="date"],
    .enb-form .enb-field input[type="time"],
    .enb-form .enb-field input[type="datetime-local"],
    .enb-field input[type="date"],
    .enb-field input[type="time"],
    .enb-field input[type="datetime-local"]
  ){
    text-align:left !important;
    letter-spacing:0 !important;
    padding-right:14px !important;
  }

  .enb-form .enb-field input[type="date"]::-webkit-date-and-time-value,
  .enb-form .enb-field input[type="time"]::-webkit-date-and-time-value,
  .enb-form .enb-field input[type="datetime-local"]::-webkit-date-and-time-value,
  .enb-field input[type="date"]::-webkit-date-and-time-value,
  .enb-field input[type="time"]::-webkit-date-and-time-value,
  .enb-field input[type="datetime-local"]::-webkit-date-and-time-value{
    text-align:left !important;
  }

  .enb-form .enb-field input[type="date"]::-webkit-calendar-picker-indicator,
  .enb-form .enb-field input[type="time"]::-webkit-calendar-picker-indicator,
  .enb-form .enb-field input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  .enb-field input[type="date"]::-webkit-calendar-picker-indicator,
  .enb-field input[type="time"]::-webkit-calendar-picker-indicator,
  .enb-field input[type="datetime-local"]::-webkit-calendar-picker-indicator{
    opacity:1 !important;
    cursor:pointer;
    margin-left:6px;
  }

  :where(
    .enb-form .enb-field input:focus,
    .enb-form .enb-field select:focus,
    .enb-form .enb-field textarea:focus,
    .enb-field input:focus,
    .enb-field select:focus,
    .enb-field textarea:focus
  ){
    border-color:rgba(59,130,246,.55) !important;
    box-shadow:0 0 0 3px rgba(59,130,246,.12) !important;
  }

  :where(.enb-form .enb-field select option, .enb-field select option){
    background:#fff !important;
    color:#0f172a !important;
  }

  :where(.enb-form .enb-field input, .enb-form .enb-field select, .enb-field input, .enb-field select){
    transform:translateZ(0);
  }
}
