/* =========================================================
   Özsal Teknik — Premium Header
   itfirm-child / assets/css/ozsal-header.css
   Not: Renk/tipografi sistemi footer ile aynı kalsın diye
   ozsal-footer.css'teki --sf-* paletiyle birebir eşleşen
   kendi değişkenlerini (--sh-*) tanımlar; footer dosyası
   olmadan da bağımsız çalışır.
   ========================================================= */

:root{
  --sh-ink:#0B0D12;
  --sh-blue:#2684D1;
  --sh-blue-2:#5AB1F2;
  --sh-red:#FC381F;
  --sh-red-2:#FF7A52;
  --sh-purple:#8355F5;
  --sh-text:#12151C;
  --sh-text-dim:#5B6472;
  --sh-line:#E7EAF0;
  --sh-paper:#F6F8FB;
  --sh-header-h:88px;
  --sh-header-h-scrolled:68px;
  --sh-ease:cubic-bezier(.22,.9,.32,1);
}

.sh-site-header,
.sh-site-header *,
.sh-mobile-panel,
.sh-mobile-panel *{
  box-sizing:border-box;
}

/* Erişilebilirlik: "içeriğe geç" linki sadece klavye ile odaklanınca görünür */
.sh-skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100000;
  background:var(--sh-ink);
  color:#fff;
  padding:12px 18px;
  border-radius:0 0 10px 0;
  font-family:'Sora',sans-serif;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.sh-skip-link:focus{
  left:0;
}

/* ---------------------------------------------------------
   HEADER SHELL
   --------------------------------------------------------- */
.sh-site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--sh-line);
  font-family:'Sora',sans-serif;
  -webkit-font-smoothing:antialiased;
  transition:box-shadow .35s var(--sh-ease), border-color .35s var(--sh-ease);
}
.sh-site-header::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--sh-blue), var(--sh-purple), var(--sh-red), transparent);
  opacity:.75;
}
.sh-site-header.is-scrolled{
  box-shadow:0 18px 40px -18px rgba(11,13,18,0.28);
}

/* WordPress admin bar uyumu (sabit menü admin bar'ın altında kalsın) */
body.admin-bar .sh-site-header{ top:32px; }
@media (max-width:782px){
  body.admin-bar .sh-site-header{ top:46px; }
}

.sh-nav-wrap{
  max-width:none;
  width:100%;
  margin:0 auto;
  padding:0 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  height:var(--sh-header-h);
  transition:height .35s var(--sh-ease);
}
.sh-site-header.is-scrolled .sh-nav-wrap{ height:var(--sh-header-h-scrolled); }

/* ---------------------------------------------------------
   LOGO
   --------------------------------------------------------- */
.sh-brand{
  display:flex;
  align-items:center;
  flex:none;
  min-width:0;
}
.sh-brand img,
.sh-brand.custom-logo-link img,
.sh-site-header .custom-logo{
  height:52px !important;
  width:auto !important;
  max-width:220px !important;
  max-height:52px !important;
  display:block;
  object-fit:contain;
  transition:height .35s var(--sh-ease), transform .3s var(--sh-ease);
}
.sh-site-header.is-scrolled .sh-brand img,
.sh-site-header.is-scrolled .custom-logo{ height:42px !important; max-height:42px !important; }
.sh-brand:hover img,
.sh-brand:hover .custom-logo{ transform:scale(1.035); }

/* ---------------------------------------------------------
   PRIMARY NAV (desktop)
   --------------------------------------------------------- */
.sh-primary-nav{
  display:flex;
  align-items:center;
  gap:4px;
  flex:1;
  justify-content:center;
  min-width:0;
}
.sh-nav-item{ position:relative; }
.sh-nav-link{
  display:flex;
  align-items:center;
  gap:6px;
  padding:12px 15px;
  font-family:'Sora',sans-serif;
  font-size:16.5px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--sh-text);
  border-radius:10px;
  white-space:nowrap;
  transition:color .2s var(--sh-ease), background .2s var(--sh-ease);
}
.sh-nav-link .sh-chev{
  width:10px; height:10px;
  transition:transform .3s var(--sh-ease);
  opacity:.55;
  flex:none;
}
.sh-nav-link::after{
  content:"";
  position:absolute;
  left:15px; right:15px; bottom:6px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--sh-blue), var(--sh-red));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--sh-ease);
}
.sh-nav-item:hover > .sh-nav-link,
.sh-nav-item.is-open > .sh-nav-link{
  color:var(--sh-blue);
  background:rgba(38,132,209,0.07);
}
.sh-nav-item:hover > .sh-nav-link::after,
.sh-nav-item.is-open > .sh-nav-link::after{ transform:scaleX(1); }
.sh-nav-item.is-open > .sh-nav-link .sh-chev{ transform:rotate(180deg); }

/* ---------------------------------------------------------
   HEADER ACTIONS (phone + CTA + hamburger)
   --------------------------------------------------------- */
.sh-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex:none;
}
.sh-phone{
  display:flex;
  align-items:center;
  gap:10px;
  padding-right:14px;
  border-right:1px solid var(--sh-line);
  text-decoration:none;
  cursor:pointer;
  border-radius:10px;
  transition:background .2s var(--sh-ease);
}
.sh-phone:hover{ background:rgba(38,132,209,0.06); }
.sh-phone:hover .sh-txt strong{ color:var(--sh-blue); }
.sh-phone .sh-ico{
  width:38px;height:38px;border-radius:50%;
  background:rgba(38,132,209,0.09);
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.sh-phone .sh-ico svg{ width:17px;height:17px;color:var(--sh-blue); }
.sh-phone .sh-txt{ display:flex; flex-direction:column; line-height:1.25; }
.sh-phone .sh-txt small{ font-size:11.5px; color:var(--sh-text-dim); font-weight:500; }
.sh-phone .sh-txt strong{ font-family:'Sora',sans-serif; font-size:17px; font-weight:700; color:var(--sh-text); }

.sh-cta{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 22px;
  border-radius:11px;
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:16px;
  letter-spacing:.01em;
  color:#fff !important;
  background:linear-gradient(140deg,#2CC94D,#1DA851);
  box-shadow:0 10px 24px -8px rgba(37,211,102,0.5);
  overflow:hidden;
  transition:transform .25s var(--sh-ease), box-shadow .25s var(--sh-ease), background .25s var(--sh-ease);
}
.sh-cta svg{ width:18px; height:18px; flex:none; }
.sh-cta::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform:translateX(-120%);
}
.sh-cta:hover,
.sh-cta:focus,
.sh-cta:active{
  color:#fff !important;
  background:linear-gradient(140deg,#34E05C,#1DA851);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -8px rgba(37,211,102,0.6);
}
.sh-cta:hover::before{ transform:translateX(120%); transition:transform .8s var(--sh-ease); }

.sh-hamburger{
  display:none;
  width:46px;height:46px;
  border-radius:12px;
  background:transparent;
  border:1px solid var(--sh-line);
  align-items:center;justify-content:center;
  cursor:pointer;
  flex:none;
  position:relative;
  z-index:100001;
  padding:0;
}
.sh-hamburger span{
  position:absolute;
  width:20px; height:2px;
  background:var(--sh-text);
  border-radius:2px;
  transition:transform .3s var(--sh-ease), opacity .2s var(--sh-ease), top .3s var(--sh-ease);
}
.sh-hamburger span:nth-child(1){ top:17px; }
.sh-hamburger span:nth-child(2){ top:23px; }
.sh-hamburger span:nth-child(3){ top:29px; }
.sh-hamburger.is-active span:nth-child(1){ top:23px; transform:rotate(45deg); }
.sh-hamburger.is-active span:nth-child(2){ opacity:0; }
.sh-hamburger.is-active span:nth-child(3){ top:23px; transform:rotate(-45deg); }

/* ---------------------------------------------------------
   MEGA / DROPDOWN PANELS (desktop)
   --------------------------------------------------------- */
.sh-mega,
.sh-dropdown{
  position:fixed;
  left:0; right:0;
  background:#fff;
  border-bottom:1px solid var(--sh-line);
  box-shadow:0 24px 48px -20px rgba(11,13,18,0.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .25s var(--sh-ease), transform .25s var(--sh-ease), visibility 0s linear .25s;
  z-index:9998;
}
.sh-dropdown{
  left:auto; right:auto;
  border:1px solid var(--sh-line);
  border-radius:16px;
  padding:18px;
  min-width:460px;
}
.sh-nav-item.is-open .sh-mega,
.sh-nav-item.is-open .sh-dropdown{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .25s var(--sh-ease), transform .25s var(--sh-ease), visibility 0s;
}
.sh-mega-inner{
  max-width:1560px;
  margin:0 auto;
  padding:36px 48px 40px;
  display:grid;
  gap:36px;
}

/* Hizmetlerimiz mega */
.sh-mega-services .sh-mega-inner{ grid-template-columns:1fr 1fr 280px; }
.sh-service-group h4{
  display:flex; align-items:center; gap:9px;
  font-family:'Sora',sans-serif;
  font-size:16px; font-weight:700;
  color:var(--sh-text);
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--sh-line);
}
.sh-service-group h4 .sh-grp-ico{
  width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.sh-service-group.sh-hot h4 .sh-grp-ico{ background:rgba(252,56,31,0.1); color:var(--sh-red); }
.sh-service-group.sh-cold h4 .sh-grp-ico{ background:rgba(38,132,209,0.1); color:var(--sh-blue); }
.sh-service-group .sh-grp-ico svg{ width:15px;height:15px; }

.sh-service-list{ display:flex; flex-direction:column; gap:2px; }
.sh-service-link{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px;
  border-radius:10px;
  transition:background .2s;
}
.sh-service-link:hover{ background:var(--sh-paper); }
.sh-service-link .sh-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--sh-line);
  margin-top:8px;
  flex:none;
  transition:background .2s;
}
.sh-service-link:hover .sh-dot{ background:var(--sh-red); }
.sh-service-link .sh-stxt strong{
  display:block;
  font-family:'Sora',sans-serif;
  font-size:16px; font-weight:600; color:var(--sh-text);
}
.sh-service-link .sh-stxt span{ font-size:12.5px; color:var(--sh-text-dim); }

.sh-mega-promo{
  background:linear-gradient(160deg, var(--sh-ink) 0%, #16283B 100%);
  border-radius:16px;
  padding:26px 24px;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:14px;
  position:relative;
  overflow:hidden;
}
.sh-mega-promo::after{
  content:"";
  position:absolute; right:-30px; bottom:-30px;
  width:130px;height:130px;
  background:radial-gradient(circle, rgba(252,56,31,.5), transparent 70%);
}
.sh-mega-promo .sh-promo-tag{ font-size:22px; color:#ffffff; }
.sh-mega-promo h5{
  font-family:'Sora',sans-serif;
  font-size:21px; font-weight:700; margin:0; line-height:1.3;
  color:#ffffff;
}
.sh-mega-promo p{ font-size:13px; color:#B7C4D2; margin:0; line-height:1.6; }
.sh-mega-promo .sh-promo-btn{
  align-self:flex-start;
  margin-top:6px;
  display:flex; align-items:center; gap:8px;
  background:#fc381f; color:#ffffff;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px;
  padding:10px 16px; border-radius:10px;
  transition:transform .2s;
}
.sh-mega-promo .sh-promo-btn:hover{ transform:translateY(-2px); }
.sh-mega-promo .sh-promo-btn svg{ width:15px;height:15px; }

/* Bölgesel hizmetler mega */
.sh-mega-regions .sh-mega-inner{ grid-template-columns:260px 1fr; align-items:start; }
.sh-region-intro{ display:flex; flex-direction:column; gap:14px; padding-right:24px; border-right:1px solid var(--sh-line); }
.sh-region-intro .sh-grp-ico{
  width:40px;height:40px;border-radius:11px;
  background:rgba(38,132,209,0.09); color:var(--sh-blue);
  display:flex;align-items:center;justify-content:center;
}
.sh-region-intro .sh-grp-ico svg{ width:19px;height:19px; }
.sh-region-intro h5{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; margin:0; line-height:1.4; color:var(--sh-text); }
.sh-region-intro p{ font-size:13px; color:var(--sh-text-dim); line-height:1.65; margin:0; }
.sh-region-intro a{
  display:inline-flex; align-items:center; gap:7px;
  font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--sh-red);
}
.sh-region-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:6px 10px;
}
.sh-region-link{
  display:flex; align-items:center; gap:9px;
  padding:11px 12px;
  border-radius:10px;
  font-size:14.5px; font-weight:500; color:var(--sh-text);
  transition:background .2s, color .2s;
}
.sh-region-link svg{ width:13px;height:13px; color:var(--sh-text-dim); flex:none; transition:color .2s; }
.sh-region-link:hover{ background:var(--sh-paper); color:var(--sh-blue); }
.sh-region-link:hover svg{ color:var(--sh-blue); }

/* Arıza kodları dropdown */
.sh-dropdown-title{
  font-size:11.5px; color:var(--sh-text-dim); padding:6px 10px 12px;
  border-bottom:1px solid var(--sh-line); margin-bottom:8px;
}
.sh-brand-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.sh-brand-link{
  display:flex; align-items:center; gap:10px;
  padding:9px 10px;
  border-radius:9px;
  font-size:14.5px; font-weight:500; color:var(--sh-text);
  transition:background .2s, color .2s;
}
.sh-brand-link:hover{ background:var(--sh-paper); color:var(--sh-red); }
.sh-brand-link .sh-chip{ width:7px;height:7px;border-radius:2px; background:var(--sh-blue-2); flex:none; }

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
.sh-mobile-backdrop,
.sh-mobile-panel{ display:none; }

@media (max-width:992px){
  .sh-primary-nav,
  .sh-phone{ display:none; }
  .sh-hamburger{ display:flex; }
  .sh-nav-wrap{ height:74px; padding:0 20px; }
  .sh-brand{ max-width:52%; overflow:hidden; }
  .sh-brand img,
  .sh-site-header .custom-logo{
    height:40px !important;
    max-height:40px !important;
    width:auto !important;
    max-width:100% !important;
  }
  .sh-cta{ padding:11px 14px; font-size:0; gap:0; }
  .sh-cta svg{ width:19px;height:19px; }
  .sh-actions{ gap:10px; }

  .sh-mobile-backdrop{
    display:block;
    position:fixed; inset:0;
    background:rgba(5,20,35,0.6);
    backdrop-filter:blur(2px);
    opacity:0; visibility:hidden;
    transition:opacity .35s var(--sh-ease), visibility 0s linear .35s;
    z-index:99997;
  }
  .sh-mobile-backdrop.is-open{
    opacity:1; visibility:visible;
    transition:opacity .35s var(--sh-ease), visibility 0s;
  }

  .sh-mobile-panel{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0; right:0; bottom:0;
    width:min(88vw, 380px);
    background:#156fb9;
    box-shadow:-24px 0 60px -20px rgba(5,20,35,0.55);
    z-index:99998;
    transform:translateX(100%);
    transition:transform .45s var(--sh-ease);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .sh-mobile-panel.is-open{ transform:translateX(0); }

  .sh-mobile-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:24px 22px 20px;
    border-bottom:1px solid rgba(255,255,255,0.18);
    flex:none;
  }
  .sh-mobile-head img,
  .sh-mobile-head .custom-logo{
    height:38px !important;
    max-height:38px !important;
    width:auto !important;
    display:block;
    background:#fff;
    padding:6px 10px;
    border-radius:10px;
    box-shadow:0 8px 20px -6px rgba(5,20,35,0.4);
  }

  .sh-mobile-nav{ padding:14px 12px 20px; flex:1; }
  .sh-macc{ border-bottom:1px solid rgba(255,255,255,0.16); }
  .sh-macc-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 10px;
    font-family:'Sora',sans-serif; font-weight:600; font-size:17.5px;
    color:#fff;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .sh-macc-head .sh-chev{ width:11px;height:11px; color:rgba(255,255,255,0.65); transition:transform .3s var(--sh-ease); flex:none; }
  .sh-macc.is-open > .sh-macc-head .sh-chev{ transform:rotate(180deg); color:#fff; }
  .sh-macc.is-open > .sh-macc-head{ color:#fff; }
  .sh-macc-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .38s var(--sh-ease);
  }
  .sh-macc.is-open > .sh-macc-body{ max-height:900px; }
  .sh-macc-body-in{ padding:2px 6px 14px 10px; display:flex; flex-direction:column; gap:2px; }
  .sh-macc-body-in a{
    padding:9px 12px;
    font-size:14.5px; color:rgba(255,255,255,0.82); border-radius:9px;
    display:flex; align-items:center; gap:9px;
    transition:background .18s ease, color .18s ease;
  }
  .sh-macc-body-in a:active,
  .sh-macc-body-in a:hover{ background:rgba(255,255,255,0.14); color:#fff; }
  .sh-macc-body-in a svg{ width:6px;height:6px; color:#fff; flex:none; opacity:.85; }
  .sh-mini-label{ font-size:11.5px; font-weight:600; letter-spacing:.03em; color:rgba(255,255,255,0.6); padding:12px 12px 4px; }

  .sh-mlink{
    display:block;
    padding:16px 10px;
    font-family:'Sora',sans-serif; font-weight:600; font-size:17.5px;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,0.16);
    border-radius:9px;
    transition:background .18s ease;
  }
  .sh-mlink:hover,
  .sh-mlink:active{ background:rgba(255,255,255,0.1); }
}

@media (min-width:993px) and (max-width:1180px){
  .sh-nav-wrap{ padding:0 28px; gap:16px; }
  .sh-nav-link{ padding:12px 11px; font-size:15.5px; }
  .sh-mega-services .sh-mega-inner{ grid-template-columns:1fr 1fr 240px; }
  .sh-region-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Reduced motion: aynı davranış, sadece geçiş süreleri kısalsın */
@media (prefers-reduced-motion: reduce){
  .sh-site-header,
  .sh-nav-wrap,
  .sh-brand img,
  .sh-nav-link,
  .sh-nav-link::after,
  .sh-cta,
  .sh-mega,
  .sh-dropdown,
  .sh-mobile-panel,
  .sh-mobile-backdrop,
  .sh-macc-body,
  .sh-hamburger span{
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
  }
}
