/* ZİRVE TEMİZLİK — PROFESSIONAL HEADER SUBMENUS v2
 * Clean, non-overlapping desktop dropdowns + mobile accordion menus.
 */

/* ---------- Desktop header/nav layout safeguards ---------- */
.site-header .header-inner{grid-template-columns:minmax(300px,340px) minmax(0,1fr) auto;column-gap:22px;}
.site-header .main-nav{min-width:0;overflow:visible;}
.site-header .main-nav > ul{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,30px);width:100%;margin:0;padding:0;list-style:none;flex-wrap:nowrap;}
.site-header .main-nav > ul > li{position:relative;flex:0 0 auto;margin:0;padding:0;}
.site-header .main-nav > ul > li > a{white-space:nowrap;}
.site-header .header-actions{flex:0 0 auto;min-width:0;position:relative;z-index:20;}
.site-header .header-phone{min-width:220px;}
.site-header .header-whatsapp{min-width:180px;}

/* At tighter desktop widths, reduce gaps before allowing mobile layout. */
@media (max-width:1500px) and (min-width:821px){
  .site-header .header-inner{grid-template-columns:minmax(280px,300px) minmax(0,1fr) auto;column-gap:16px;}
  .site-header .main-nav > ul{gap:clamp(14px,1.55vw,24px);}
  .site-header .main-nav a{font-size:14px;padding-left:0;padding-right:0;}
  .site-header .header-phone{min-width:195px;}
  .site-header .header-whatsapp{min-width:165px;padding-left:16px!important;padding-right:16px!important;}
}

/* ---------- Nested menus: always vertical ---------- */
.main-nav ul ul{display:block;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:auto;margin:0;padding:0;list-style:none;}
.main-nav li{position:relative;}
.main-nav > ul > li.menu-item-has-children > a{padding-right:23px;}
.main-nav > ul > li.menu-item-has-children > a::after{
  content:"";position:absolute;right:1px;top:50%;width:7px;height:7px;
  border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:translateY(-65%) rotate(45deg);transition:transform .2s ease,color .2s ease;
}
.main-nav > ul > li.menu-item-has-children:hover > a::after,
.main-nav > ul > li.menu-item-has-children:focus-within > a::after{
  transform:translateY(-25%) rotate(225deg);color:#f4b51b;
}
.main-nav > ul > li > ul.sub-menu{
  position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%,7px);
  min-width:250px;max-width:320px;padding:8px;background:#fff;
  border:1px solid #dfe8f1;border-radius:12px;box-shadow:0 18px 38px rgba(8,43,86,.14);
  opacity:0;visibility:hidden;pointer-events:none;z-index:500;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.main-nav > ul > li.menu-item-has-children:hover > ul.sub-menu,
.main-nav > ul > li.menu-item-has-children:focus-within > ul.sub-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);
}
.main-nav ul.sub-menu > li:not(:last-child){border-bottom:1px solid #edf2f6;}
.main-nav ul.sub-menu > li > a{
  display:flex;width:100%;box-sizing:border-box;align-items:center;min-height:40px;padding:10px 12px;
  border-radius:8px;color:#12385f!important;text-decoration:none;font-size:13px!important;
  font-weight:700!important;line-height:1.25!important;white-space:normal;transition:background .18s ease,color .18s ease,transform .18s ease;
}
.main-nav ul.sub-menu > li > a:hover,
.main-nav ul.sub-menu > li > a:focus-visible{
  background:#f7faff;color:#0b63d9!important;transform:translateX(2px);outline:none;
}
.main-nav ul.sub-menu > li.current-menu-item > a,
.main-nav ul.sub-menu > li.current-menu-ancestor > a{background:#fff7df;color:#b47e00!important;}

/* second level: vertical flyout */
.main-nav ul.sub-menu > li.menu-item-has-children{position:relative;}
.main-nav ul.sub-menu > li.menu-item-has-children > a{padding-right:28px;}
.main-nav ul.sub-menu > li.menu-item-has-children > a::after{
  content:"";position:absolute;right:13px;top:50%;width:6px;height:6px;
  border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-50%) rotate(-45deg);
}
.main-nav ul.sub-menu > li.menu-item-has-children > ul.sub-menu{
  position:absolute;top:-9px;left:calc(100% + 7px);min-width:230px;padding:8px;background:#fff;
  border:1px solid #dfe8f1;border-radius:12px;box-shadow:0 16px 34px rgba(8,43,86,.12);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateX(7px);z-index:501;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.main-nav ul.sub-menu > li.menu-item-has-children:hover > ul.sub-menu,
.main-nav ul.sub-menu > li.menu-item-has-children:focus-within > ul.sub-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);
}

/* ---------- Mobile ---------- */
@media (max-width:820px){
  .main-nav{display:none!important;}
  .mobile-menu-nav ul{display:block;margin:0;padding:0;list-style:none;}
  .mobile-menu-nav li{position:relative;padding-right:46px;border-bottom:1px solid #eef3f8;}
  .mobile-menu-nav li.menu-item-has-children > a{padding-right:2px;}
  .mobile-menu-nav li.menu-item-has-children > .dt-mobile-submenu-toggle{
    position:absolute;right:0;top:7px;width:34px;height:34px;padding:0;border:1px solid #dbe6f0;
    border-radius:9px;background:#f7faff;color:#12385f;display:grid;place-items:center;cursor:pointer;
    transition:background .18s ease,border-color .18s ease;
  }
  .mobile-menu-nav .dt-mobile-submenu-toggle::before,
  .mobile-menu-nav .dt-mobile-submenu-toggle::after{
    content:"";position:absolute;width:12px;height:1.8px;border-radius:2px;background:currentColor;transition:transform .18s ease;
  }
  .mobile-menu-nav .dt-mobile-submenu-toggle::after{transform:rotate(90deg);}
  .mobile-menu-nav li.is-submenu-open > .dt-mobile-submenu-toggle{background:#fff7df;border-color:#f0c45d;color:#b07b00;}
  .mobile-menu-nav li.is-submenu-open > .dt-mobile-submenu-toggle::after{transform:rotate(0deg);}
  .mobile-menu-nav li.menu-item-has-children > .sub-menu{display:none!important;padding:0 0 5px 12px;margin:0;border-left:2px solid #f0c45d;}
  .mobile-menu-nav li.menu-item-has-children.is-submenu-open > .sub-menu{display:block!important;}
  .mobile-menu-nav li.menu-item-has-children > .sub-menu li{padding-right:0;}
  .mobile-menu-nav li.menu-item-has-children > .sub-menu a{font-size:13px!important;font-weight:700!important;color:#46627d!important;padding:11px 4px;}
}

@media (prefers-reduced-motion:reduce){
 .main-nav > ul > li > ul.sub-menu,.main-nav ul.sub-menu > li.menu-item-has-children > ul.sub-menu{transition:none;}
}

/* V12: desktop header balance — keep full navigation visible beside compact actions */
@media (min-width:821px){
  .site-header .header-inner{
    grid-template-columns:minmax(280px,310px) minmax(0,1fr) minmax(335px,390px);
    column-gap:20px;
  }
  .site-header .brand{max-width:310px;}
  .site-header .brand img,
  .site-header .brand .site-logo-image{
    max-width:300px;
    max-height:68px;
  }
  .site-header .main-nav{
    min-width:0;
    width:100%;
    overflow:visible;
  }
  .site-header .main-nav > ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(15px,1.35vw,24px);
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    flex-wrap:nowrap;
  }
  .site-header .main-nav > ul > li{flex:0 0 auto;}
  .site-header .main-nav > ul > li > a{
    font-size:14px;
    padding-left:0;
    padding-right:0;
  }
  .site-header .main-nav > ul > li.menu-item-has-children > a{padding-right:19px;}
  .site-header .header-actions{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    min-width:0;
    white-space:nowrap;
  }
  .site-header .header-phone{
    min-width:0;
    width:184px;
    height:56px;
    padding:6px 10px 6px 8px;
    gap:8px;
    border-radius:11px;
  }
  .site-header .header-phone-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:9px;
  }
  .site-header .header-phone-icon svg{width:20px;height:20px;}
  .site-header .header-phone-copy small{font-size:8px;letter-spacing:.06em;}
  .site-header .header-phone-copy strong{margin-top:2px;font-size:15px;}
  .site-header .header-whatsapp{
    min-width:0;
    width:154px;
    height:56px;
    padding:0 14px !important;
    gap:8px;
    border-radius:11px !important;
    font-size:14px !important;
  }
  .site-header .header-whatsapp svg{width:21px;height:21px;}
  .site-header .header-whatsapp span:last-child{font-size:18px;}
}

@media (max-width:1400px) and (min-width:821px){
  .site-header .header-inner{
    grid-template-columns:minmax(250px,285px) minmax(0,1fr) 326px;
    column-gap:14px;
  }
  .site-header .brand img,
  .site-header .brand .site-logo-image{max-width:275px;max-height:64px;}
  .site-header .main-nav > ul{gap:12px;}
  .site-header .main-nav > ul > li > a{font-size:13px;}
  .site-header .header-phone{width:160px;}
  .site-header .header-whatsapp{width:150px;}
}
