/*
 * XAN Office v1.2.79 — Mobil / Tablet Premium Final
 * Son responsive sözleşme katmanı. Desktop kurallarına dokunmaz.
 * Amaç: safe-area, dock/FAB geometrisi, touch hedefleri, mobil form zoomu,
 * açılır menü taşması ve proje/footer etkileşim alanlarını tek yerde normalize etmek.
 */

@media (max-width:1024px){
  :root{
    --xan-v279-safe-top:env(safe-area-inset-top,0px);
    --xan-v279-safe-right:env(safe-area-inset-right,0px);
    --xan-v279-safe-bottom:env(safe-area-inset-bottom,0px);
    --xan-v279-safe-left:env(safe-area-inset-left,0px);
    --xan-v279-header-h:62px;
    --xan-v279-dock-h:64px;
    --xan-v279-dock-gap:10px;
  }

  html{overflow-x:clip!important;scroll-padding-top:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top) + 10px)}
  body{max-width:100%!important;overflow-x:clip!important;-webkit-text-size-adjust:100%!important}

  /* Header: notch/safe-area uyumlu tek yükseklik sözleşmesi. */
  .xan-header,
  .xan-header-v120,.xan-header-v121,.xan-header-v122,.xan-header-v123,.xan-header-v124{
    height:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top))!important;
    min-height:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top))!important;
  }
  .xan-header .xan-header-inner{
    box-sizing:border-box!important;
    height:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top))!important;
    min-height:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top))!important;
    padding-top:var(--xan-v279-safe-top)!important;
    padding-left:max(14px,var(--xan-v279-safe-left))!important;
    padding-right:max(14px,var(--xan-v279-safe-right))!important;
  }
  .xan-header .xan-nav-toggle{
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
    touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(5,89,112,.12)!important;
  }
  .xan-header .xan-brand,.xan-header .xan-brand-backdrop{min-height:44px!important}
  .xan-header .xan-logo-img-dark,.xan-header .xan-logo-img-white{width:112px!important;max-width:min(112px,42vw)!important;max-height:44px!important}

  /* Açılır navigasyon viewport dışına taşmaz; klavye/touch ile kaydırılabilir. */
  .xan-nav.is-open{
    top:calc(var(--xan-v279-header-h) + var(--xan-v279-safe-top) + 8px)!important;
    left:max(10px,var(--xan-v279-safe-left))!important;
    right:max(10px,var(--xan-v279-safe-right))!important;
    width:auto!important;
    max-height:calc(100dvh - var(--xan-v279-header-h) - var(--xan-v279-safe-top) - var(--xan-v279-safe-bottom) - 28px)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
  }
  .xan-nav.is-open .xan-menu a,
  .xan-nav.is-open .xan-mobile-nav-actions-v194 :is(a,button){min-height:46px!important;touch-action:manipulation!important}

  /* Tablet dock: ekranın tamamına yayılmaz; 4 öğe tek ritimde kalır. */
  body.xan-has-mobile-dock{padding-bottom:calc(var(--xan-v279-dock-h) + 30px + var(--xan-v279-safe-bottom))!important}
  .xan-mobile-dock{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    position:fixed!important;
    left:50%!important;right:auto!important;
    width:min(calc(100% - 32px - var(--xan-v279-safe-left) - var(--xan-v279-safe-right)),680px)!important;
    transform:translateX(-50%)!important;
    bottom:calc(var(--xan-v279-dock-gap) + var(--xan-v279-safe-bottom))!important;
    min-height:var(--xan-v279-dock-h)!important;
    border-radius:19px!important;
    z-index:2147483000!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:linear-gradient(135deg,rgba(5,89,112,.98),rgba(19,54,76,.98))!important;
    border:1px solid rgba(255,255,255,.20)!important;
    box-shadow:0 14px 40px rgba(4,31,64,.23)!important;
    -webkit-backdrop-filter:blur(14px) saturate(1.08)!important;
    backdrop-filter:blur(14px) saturate(1.08)!important;
  }
  .xan-mobile-dock a{
    min-width:0!important;min-height:var(--xan-v279-dock-h)!important;
    padding:7px 4px!important;gap:4px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    color:#fff!important;text-decoration:none!important;text-align:center!important;
    touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(255,255,255,.12)!important;
  }
  .xan-mobile-dock a span{font-size:12px!important;line-height:1.08!important;font-weight:500!important;white-space:nowrap!important;color:#fff!important}
  .xan-mobile-dock :is(svg,.xan-icon){width:20px!important;height:20px!important;flex:0 0 auto!important}
  .xan-mobile-dock a[aria-current="page"]{background:rgba(255,255,255,.14)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.58)!important}
  .xan-mobile-dock a:focus-visible{outline:2px solid #fff!important;outline-offset:-4px!important}
  html.xan-mobile-nav-open .xan-mobile-dock{opacity:.18!important;pointer-events:none!important}

  /* XAN Asistan FAB: dock ile çakışmaz; dock kapalıysa viewport altına iner. */
  body.xan-has-mobile-assistant:not(.xan-customer-ai-standalone-v196) .xan-mobile-assistant-cta-v195{
    right:max(14px,var(--xan-v279-safe-right))!important;
    bottom:calc(var(--xan-v279-dock-h) + var(--xan-v279-dock-gap) + 18px + var(--xan-v279-safe-bottom))!important;
    width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;
    touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  }
  body.xan-has-mobile-assistant:not(.xan-has-mobile-dock):not(.xan-customer-ai-standalone-v196){padding-bottom:calc(82px + var(--xan-v279-safe-bottom))!important}
  body.xan-has-mobile-assistant:not(.xan-has-mobile-dock):not(.xan-customer-ai-standalone-v196) .xan-mobile-assistant-cta-v195{
    bottom:calc(14px + var(--xan-v279-safe-bottom))!important;
  }
  body:not(.xan-has-mobile-assistant):not(.xan-has-mobile-dock){padding-bottom:var(--xan-v279-safe-bottom)!important}

  /* Touch kontratı: gerçek etkileşim elemanları 44px altına düşmez. */
  :where(.xan-btn,.xan-list-card-actions-v132 a,.xan-list-card-actions-v132 button,.xan-project-tools-v164 button,.xan-project-tools-v164 a){
    min-height:44px!important;touch-action:manipulation!important;
  }

  /* Proje filtreleri/tablet araç çubukları dar alanda sayfayı genişletmez. */
  body.xan-project-page :where(.xan-listing-toolbar-v133,.xan-project-hero-shell-v120,.xan-project-hero-shell-v123,.xan-listing-layout-v171,.xan-listing-results-v171){min-width:0!important;max-width:100%!important}
  body.xan-project-page :where(.xan-project-filterbar,.xan-project-hero-chips-v120){overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important}

  /* Footer: sabit dock/FAB son iletişim satırlarını örtmesin. */
  body.xan-has-mobile-dock .xan-footer{padding-bottom:calc(var(--xan-v279-dock-h) + 56px + var(--xan-v279-safe-bottom))!important}
  body.xan-has-mobile-dock.xan-has-mobile-assistant .xan-footer{padding-bottom:calc(var(--xan-v279-dock-h) + 104px + var(--xan-v279-safe-bottom))!important}
  body.xan-has-mobile-assistant:not(.xan-has-mobile-dock) .xan-footer{padding-bottom:calc(94px + var(--xan-v279-safe-bottom))!important}
  .xan-footer :where(a,button){touch-action:manipulation!important}
  .xan-footer-contact-action-v209{overflow-wrap:anywhere!important}
}

@media (max-width:760px){
  :root{--xan-v279-dock-h:60px;--xan-v279-dock-gap:8px}

  .xan-header .xan-header-inner{padding-left:max(12px,var(--xan-v279-safe-left))!important;padding-right:max(12px,var(--xan-v279-safe-right))!important;gap:9px!important}
  .xan-header .xan-logo-img-dark,.xan-header .xan-logo-img-white{width:106px!important;max-width:min(106px,40vw)!important}
  .xan-header .xan-nav-toggle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:13px!important}

  .xan-container{padding-left:max(14px,var(--xan-v279-safe-left))!important;padding-right:max(14px,var(--xan-v279-safe-right))!important}

  .xan-mobile-dock{
    left:max(8px,var(--xan-v279-safe-left))!important;
    right:max(8px,var(--xan-v279-safe-right))!important;
    width:auto!important;transform:none!important;
    border-radius:17px!important;
  }
  .xan-mobile-dock a{min-height:60px!important;padding:6px 2px!important;gap:3px!important}
  .xan-mobile-dock a span{font-size:10.5px!important;letter-spacing:-.01em!important}
  .xan-mobile-dock :is(svg,.xan-icon){width:19px!important;height:19px!important}

  body.xan-has-mobile-assistant:not(.xan-customer-ai-standalone-v196) .xan-mobile-assistant-cta-v195{
    right:max(12px,var(--xan-v279-safe-right))!important;
    bottom:calc(var(--xan-v279-dock-h) + var(--xan-v279-dock-gap) + 12px + var(--xan-v279-safe-bottom))!important;
    width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;
  }
  body.xan-has-mobile-assistant:not(.xan-has-mobile-dock):not(.xan-customer-ai-standalone-v196) .xan-mobile-assistant-cta-v195{bottom:calc(12px + var(--xan-v279-safe-bottom))!important}

  /* iOS Safari: form focus sırasında 16px altı input zoomunu önle. */
  :where(form.xan-search-pro,form.xan-network-filters-v177,form.xan-project-quick-search-v120,.xan-listing-page form)
    :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
      box-sizing:border-box!important;width:100%;max-width:100%!important;min-height:46px!important;font-size:16px!important;line-height:1.35!important;
  }
  :where(form.xan-search-pro,form.xan-network-filters-v177,form.xan-project-quick-search-v120,.xan-listing-page form)
    :where(button,.xan-btn,input[type="submit"]){min-height:46px!important;touch-action:manipulation!important}

  body.xan-project-page :where(.xan-list-card-v171,.xan-project-card,.xan-project-card-v133){min-width:0!important;max-width:100%!important}
  body.xan-project-page :where(.xan-list-card-actions-v132,.xan-project-card-actions){gap:8px!important}
  body.xan-project-page :where(.xan-list-card-actions-v132 a,.xan-list-card-actions-v132 button){font-size:12px!important;line-height:1.25!important;padding-left:8px!important;padding-right:8px!important}

  .xan-footer-links-grid{min-width:0!important}
  .xan-footer-menu a,.xan-contact-row span,.xan-contact-row a{overflow-wrap:anywhere!important;word-break:normal!important}
}

@media (max-width:380px){
  .xan-mobile-dock a span{font-size:10px!important}
  .xan-mobile-dock :is(svg,.xan-icon){width:18px!important;height:18px!important}
  .xan-header .xan-logo-img-dark,.xan-header .xan-logo-img-white{width:100px!important;max-width:38vw!important}
}

/* Kısa yatay telefonlarda 100svh hero + tarayıcı UI sıkışmasını azalt. */
@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){
  body.xan-home .xan-hero,
  body.xan-home .xan-hero-v112,
  body.xan-home .xan-hero-v113,
  body.xan-home .xan-hero-v124{
    height:auto!important;min-height:max(500px,100svh)!important;
  }
  .xan-nav.is-open{max-height:calc(100dvh - var(--xan-v279-header-h) - var(--xan-v279-safe-top) - 20px)!important}
}

@media (prefers-reduced-motion:reduce) and (max-width:1024px){
  .xan-mobile-dock,.xan-mobile-dock a,.xan-mobile-assistant-cta-v195,.xan-nav{transition:none!important;scroll-behavior:auto!important}
}
