/* =========================================================
   MOBILE SCROLL + MENU FIX
   Scope: mobile/tablet only. Desktop layout is untouched.
   ========================================================= */
@media (max-width: 991px) {
  html {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  /* The original template uses flex on main. On narrow screens, a block
     flow is safer and guarantees all following sections contribute to the
     document's scroll height. */
  main#main-content,
  main {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
  }

  main#main-content > section,
  main#main-content > .content-section,
  main#main-content > .faq-section,
  main#main-content > .makaleler-section,
  main#main-content > .medical-trust-wrapper,
  main#main-content > .schema-faq-visible,
  main#main-content > .svc-white-section,
  main#main-content > .yaptiklarimiz-section,
  main#main-content > .bursa-district-hub,
  main#main-content > .degisim-section {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    flex: none !important;
  }

  /* Do not let the hero's decorative/Swiper layer become a gesture trap. */
  .slider,
  .slider .swiper-container,
  .slider .swiper-wrapper,
  .slider .swiper-slide,
  .slider .slide-inner,
  .slider .slide-image {
    touch-action: pan-y !important;
  }

  .slider .swiper-container {
    pointer-events: none !important;
  }

  .slider::before,
  .slider::after {
    pointer-events: none !important;
  }

  /* Menu remains fixed and independently scrollable when its content is
     taller than the viewport. */
  body.menu-active,
  body.display-nav {
    overflow: hidden !important;
  }

  /* The overlay is intentionally below the open navigation so menu rows
     remain the actual touch target on mobile. */
  body.menu-active .site-navigation,
  body.display-nav .site-navigation {
    z-index: 100000 !important;
    pointer-events: auto !important;
  }

  body.menu-active .site-navigation,
  body.display-nav .site-navigation {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    align-items: flex-start !important;
    padding: 110px 20px 60px !important;
    box-sizing: border-box !important;
  }

  body.menu-active .site-navigation > ul,
  body.display-nav .site-navigation > ul {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 0 30px !important;
    box-sizing: border-box !important;
  }

  /* Entire "Danışmanlıklar" row is the submenu toggle. */
  body.menu-active .site-navigation .dropdown,
  body.display-nav .site-navigation .dropdown {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  body.menu-active .site-navigation .dropdown > b,
  body.display-nav .site-navigation .dropdown > b {
    position: relative !important;
    z-index: 2 !important;
  }

  body.menu-active .site-navigation .dropdown > b > a,
  body.display-nav .site-navigation .dropdown > b > a {
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
  }

  body.menu-active .site-navigation .dropdown > span,
  body.display-nav .site-navigation .dropdown > span {
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body.menu-active .site-navigation .dropdown > ul,
  body.display-nav .site-navigation .dropdown > ul {
    width: 100% !important;
    flex: 0 0 100% !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.menu-active .site-navigation .dropdown.active > ul,
  body.display-nav .site-navigation .dropdown.active > ul {
    display: flex !important;
  }

  body.menu-active .site-navigation .dropdown.active > ul > li,
  body.display-nav .site-navigation .dropdown.active > ul > li {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
}

@media (max-width: 767px) {
  /* Mobile only: leave one blank row above the first menu item.
     This moves the menu content down without changing the hamburger button itself. */
  body.menu-active .site-navigation,
  body.display-nav .site-navigation {
    padding-top: 150px !important;
  }

  .slider {
    min-height: 0 !important;
    height: 90vh !important;
  }
}

/* Robust mobile touch target for the Danışmanlıklar parent row. */
@media (max-width: 991px) {
  body.display-nav .site-navigation .dropdown {
    position: relative !important;
  }

  body.display-nav .site-navigation .dropdown > .mobile-dropdown-toggle {
    position: absolute !important;
    top: -6px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 1000000 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body.display-nav .site-navigation .dropdown.active > .mobile-dropdown-toggle {
    top: -6px !important;
  }
}

/* =========================================================
   MOBILE: keep "+ Danışmanlıklar" on ONE ROW and move the
   complete menu content down by a total of TWO blank rows.
   ========================================================= */
@media (max-width: 767px) {
  body.menu-active .site-navigation,
  body.display-nav .site-navigation {
    /* Existing 150px offset + one additional menu row of space. */
    padding-top: 190px !important;
  }

  body.menu-active .site-navigation .dropdown,
  body.display-nav .site-navigation .dropdown {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    row-gap: 0 !important;
  }

  /* Text and + must stay side-by-side. */
  body.menu-active .site-navigation .dropdown > b,
  body.display-nav .site-navigation .dropdown > b {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  body.menu-active .site-navigation .dropdown > b > a,
  body.display-nav .site-navigation .dropdown > b > a {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  body.menu-active .site-navigation .dropdown > span,
  body.display-nav .site-navigation .dropdown > span {
    display: inline-flex !important;
    position: relative !important;
    flex: 0 0 auto !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 0 0 10px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1000001 !important;
    box-sizing: border-box !important;
  }

  /* Invisible touch layer remains, but is reduced to the same single row. */
  body.menu-active .site-navigation .dropdown > .mobile-dropdown-toggle,
  body.display-nav .site-navigation .dropdown > .mobile-dropdown-toggle {
    top: 50% !important;
    left: 5% !important;
    right: 5% !important;
    width: 90% !important;
    height: 54px !important;
    min-height: 54px !important;
    transform: translateY(-50%) !important;
    z-index: 1000000 !important;
  }

  /* Submenu starts on the next line, below the combined parent row. */
  body.menu-active .site-navigation .dropdown > ul,
  body.display-nav .site-navigation .dropdown > ul {
    order: 3 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-top: 10px !important;
  }
}

/* =========================================================
   MOBILE FINAL MENU INTERACTION FIX
   Keep the full label on one line and keep the hamburger close button
   above the full-screen navigation layer.
   ========================================================= */
@media (max-width: 767px) {
  /* The navbar/hamburger must remain clickable while the menu is open. */
  body.display-nav .navbar,
  body.menu-active .navbar {
    position: relative !important;
    z-index: 1000002 !important;
    pointer-events: auto !important;
  }

  body.display-nav .sandwich,
  body.menu-active .sandwich {
    position: relative !important;
    z-index: 1000003 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  /* Never clip the parent label. */
  body.display-nav .site-navigation .dropdown > b,
  body.menu-active .site-navigation .dropdown > b,
  body.display-nav .site-navigation .dropdown > b > a,
  body.menu-active .site-navigation .dropdown > b > a {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
  }

  /* Let the row grow to the actual text width rather than squeezing it. */
  body.display-nav .site-navigation .dropdown,
  body.menu-active .site-navigation .dropdown {
    min-height: 54px !important;
    height: auto !important;
    flex-wrap: nowrap !important;
  }

  body.display-nav .site-navigation .dropdown > span,
  body.menu-active .site-navigation .dropdown > span {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    margin-left: 10px !important;
    order: 2 !important;
  }

  body.display-nav .site-navigation .dropdown > b,
  body.menu-active .site-navigation .dropdown > b {
    order: 1 !important;
  }

  /* The invisible hit target must never cover the hamburger. */
  body.display-nav .site-navigation .dropdown > .mobile-dropdown-toggle,
  body.menu-active .site-navigation .dropdown > .mobile-dropdown-toggle {
    z-index: 100000 !important;
  }
}

/* =========================================================
   FINAL MOBILE DROPDOWN LAYOUT FIX
   Keep the parent label intact and center its submenu.
   ========================================================= */
@media (max-width: 767px) {
  body.display-nav .site-navigation .dropdown,
  body.menu-active .site-navigation .dropdown {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  body.display-nav .site-navigation .dropdown > b,
  body.menu-active .site-navigation .dropdown > b {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.display-nav .site-navigation .dropdown > b > a,
  body.menu-active .site-navigation .dropdown > b > a {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    overflow: visible !important;
    white-space: nowrap !important;
    transform: none !important;
    position: relative !important;
    text-align: center !important;
  }

  body.display-nav .site-navigation .dropdown > b > a::before,
  body.menu-active .site-navigation .dropdown > b > a::before {
    display: none !important;
    content: none !important;
  }

  body.display-nav .site-navigation .dropdown > span,
  body.menu-active .site-navigation .dropdown > span {
    display: inline-flex !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 0 0 8px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    transform: scale(.5) !important;
    order: 2 !important;
  }

  /* The submenu occupies a full row under the parent and is centered. */
  body.display-nav .site-navigation .dropdown > ul,
  body.menu-active .site-navigation .dropdown > ul {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: visible !important;
  }

  body.display-nav .site-navigation .dropdown.active > ul,
  body.menu-active .site-navigation .dropdown.active > ul {
    display: flex !important;
  }

  body.display-nav .site-navigation .dropdown > ul > li,
  body.menu-active .site-navigation .dropdown > ul > li {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.display-nav .site-navigation .dropdown > ul > li > a,
  body.menu-active .site-navigation .dropdown > ul > li > a {
    display: inline-block !important;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    white-space: normal !important;
    text-align: center !important;
    transform: none !important;
    overflow: visible !important;
  }
}


/* FINAL MOBILE MENU GEOMETRY / TOUCH FIX v6 */
@media (max-width: 767px) {
  /* The close icon must remain a real, unobstructed touch target above the
     full-screen navigation and overlay. */
  body.display-nav .sandwich-menu,
  body.menu-active .sandwich-menu {
    position: fixed !important;
    top: 22px !important;
    right: 22px !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    z-index: 2147483001 !important;
    pointer-events: auto !important;
    touch-action: none !important;
    cursor: pointer !important;
  }

  body.display-nav .sandwich-menu > .sandwich,
  body.menu-active .sandwich-menu > .sandwich {
    width: 36px !important;
    height: 36px !important;
    pointer-events: auto !important;
  }

  /* Keep the navigation panel below the fixed navbar so the hamburger remains clickable. */
  body.display-nav .site-navigation,
  body.menu-active .site-navigation {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
    padding: 190px 20px 60px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 999995 !important;
    pointer-events: auto !important;
    align-items: flex-start !important;
  }

  /* Keep the close control above the open navigation on every mobile/tablet
     width, not only on the narrow-phone breakpoint below. */
  body.display-nav .navbar,
  body.menu-active .navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000005 !important;
    pointer-events: auto !important;
  }

  body.display-nav .sandwich-menu,
  body.menu-active .sandwich-menu {
    position: relative !important;
    z-index: 1000006 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  body.display-nav .navbar,
  body.menu-active .navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000005 !important;
    pointer-events: auto !important;
  }
  body.display-nav .sandwich-menu,
  body.menu-active .sandwich-menu,
  body.display-nav .sandwich,
  body.menu-active .sandwich {
    position: relative !important;
    z-index: 1000006 !important;
    pointer-events: auto !important;
  }
  /* One row: + Danışmanlıklar */
  body.display-nav .site-navigation > ul,
  body.menu-active .site-navigation > ul {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 0 30px !important;
    box-sizing: border-box !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown,
  body.menu-active .site-navigation > ul > li.dropdown {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: max-content max-content !important;
    grid-template-rows: auto auto !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 8px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > b,
  body.menu-active .site-navigation > ul > li.dropdown > b {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    display: block !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > b > a,
  body.menu-active .site-navigation > ul > li.dropdown > b > a {
    display: inline-block !important;
    position: static !important;
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    transform: none !important;
    transition: none !important;
    text-overflow: clip !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > b > a::before,
  body.menu-active .site-navigation > ul > li.dropdown > b > a::before {
    display: none !important;
    content: none !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > span,
  body.menu-active .site-navigation > ul > li.dropdown > span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: scale(.5) !important;
    transform-origin: center !important;
    z-index: 1000007 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }
  /* Submenu = full row, centered inside viewport. */
  body.display-nav .site-navigation > ul > li.dropdown > ul,
  body.menu-active .site-navigation > ul > li.dropdown > ul {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown.active > ul,
  body.menu-active .site-navigation > ul > li.dropdown.active > ul {
    display: flex !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > ul > li,
  body.menu-active .site-navigation > ul > li.dropdown > ul > li {
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
  body.display-nav .site-navigation > ul > li.dropdown > ul > li > a,
  body.menu-active .site-navigation > ul > li.dropdown > ul > li > a {
    display: inline-block !important;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    white-space: normal !important;
    text-align: center !important;
    transform: none !important;
  }
  /* The old invisible proxy is intentionally disabled; direct text/+ touch handlers are used. */
  body.display-nav .mobile-dropdown-toggle,
  body.menu-active .mobile-dropdown-toggle { display: none !important; pointer-events: none !important; }
}
