/* ============================================================
   BM Teknik Servis — Ortak stiller
   Tasarım prototipindeki inline stiller şablonlarda korunur;
   bu dosya yalnızca temel sıfırlama, animasyonlar, hover/focus
   sınıfları ve duyarlı (responsive) kuralları içerir.
   ============================================================ */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg,#F7F4EF);font-family:"IBM Plex Sans",system-ui,sans-serif;color:#47535F;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
a{color:#C2410C;text-decoration:none}
a:hover{color:#F2600C}
img{max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit}
::selection{background:var(--accent,#F2600C);color:#fff}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#EDE8E0}
::-webkit-scrollbar-thumb{background:var(--primary,#0D2137);border-radius:9px;border:3px solid #EDE8E0}

/* Panelden yönetilen renkler CSS değişkeni olarak header.php içinde basılır:
   --primary (lacivert), --accent (turuncu) */

/* ---------- Animasyonlar ---------- */
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(242,96,12,.45)}70%{box-shadow:0 0 0 16px rgba(242,96,12,0)}100%{box-shadow:0 0 0 0 rgba(242,96,12,0)}}
@keyframes sheen{0%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Scroll ile açılan bölümler (destekleyen tarayıcılarda görünüm zaman çizelgesi) */
.sec-rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@supports (animation-timeline: view()){
  .sec-rise{animation-timeline:view();animation-range:entry 0% cover 20%}
}

/* ---------- Hover sınıfları (tasarımdaki style-hover karşılıkları) ---------- */
.hv-amber:hover{color:#FFA24D!important}
.hv-nav:hover{color:var(--accent,#F2600C)!important;border-bottom-color:var(--accent,#F2600C)!important}
.hv-cta:hover{background:#D9500A!important;transform:translateY(-2px)}
.hv-cta3:hover{background:#D9500A!important;transform:translateY(-3px)}
.hv-darkorange:hover{background:#D9500A!important}
.hv-wa3:hover{background:#1EA855!important;border-color:#1EA855!important;transform:translateY(-3px)}
.hv-wa3b:hover{background:#17A34A!important;transform:translateY(-3px)}
.hv-wagreen:hover{background:#17A34A!important}
.hv-wafill:hover{background:#1EA855!important;border-color:#1EA855!important}
.hv-dropitem:hover{border-color:var(--accent,#F2600C)!important;background:#FFF7F2!important}
.hv-card:hover{box-shadow:0 34px 60px -34px rgba(13,33,55,.5);border-color:var(--accent,#F2600C)!important}
.hv-post:hover{box-shadow:0 30px 56px -32px rgba(13,33,55,.45);border-color:var(--accent,#F2600C)!important;transform:translateY(-4px)}
.hv-brand:hover{border-color:var(--accent,#F2600C)!important;transform:translateY(-4px)}
.hv-border:hover{border-color:var(--accent,#F2600C)!important}
.hv-faq:hover{border-color:var(--accent,#F2600C)!important;background:#fff!important}
.hv-faq2:hover{border-color:var(--accent,#F2600C)!important;box-shadow:0 20px 40px -30px rgba(13,33,55,.5)}
.hv-navyfill:hover{background:var(--primary,#0D2137)!important;color:#fff!important}
.hv-navybg:hover{background:var(--primary,#0D2137)!important}
.hv-orangefill:hover{background:var(--accent,#F2600C)!important;border-color:var(--accent,#F2600C)!important}
.hv-orange-text:hover{color:var(--accent,#F2600C)!important}

/* ---------- Focus sınıfları (form alanları) ---------- */
.fc-input:focus{border-color:var(--accent,#F2600C)!important;background:#fff!important;outline:none}
.fc-select:focus{border-color:var(--accent,#F2600C)!important;outline:none}

/* ---------- Form doğrulama ---------- */
.field-error{border-color:#DC2626!important;background:#FEF2F2!important}
.field-error-msg{display:block;font:500 12.5px/1.5 'IBM Plex Sans',sans-serif;color:#DC2626;margin-top:-4px}

/* ---------- SSS akordeon ---------- */
.faq-item .faq-answer{display:none}
.faq-item.open .faq-answer{display:block;animation:riseIn .35s ease both}
.faq-item .faq-sign-minus{display:none}
.faq-item.open .faq-sign-plus{display:none}
.faq-item.open .faq-sign-minus{display:inline}

/* ---------- Hizmetler açılır menüsü / mobil menü ---------- */
.svc-dropdown{display:none}
.svc-dropdown.open{display:block;animation:riseIn .3s ease both}
.mobile-menu-overlay{display:none}
.mobile-menu-overlay.open{display:block}
.mobile-menu-overlay .mobile-menu-panel{animation:riseIn .3s ease both}

/* ---------- Masaüstü / mobil kırılımı (1180px, tasarımdaki gibi) ---------- */
.nav-desktop{display:flex}
.btn-hamburger{display:none}
.mobile-bar{display:none}
.mobile-bar-spacer{display:none}
@media (max-width:1179px){
  .nav-desktop{display:none!important}
  .btn-hamburger{display:grid!important}
  .btn-call-header{margin-left:auto}
  .mobile-bar{display:grid!important}
  .mobile-bar-spacer{display:block!important}
}
@media (max-width:420px){
  .btn-call-header span:first-of-type{display:none} /* çok dar ekranda sadece ikon */
}

/* ---------- Küçük ekran ayarlamaları ---------- */
@media (max-width:520px){
  .hide-xs{display:none!important}
}

/* ---------- Özel imleç yalnız fare olan cihazlarda ---------- */
@media (hover:hover) and (pointer:fine){
  .has-cursor-fx{cursor:default}
}

/* ---------- Hareket azaltma tercihi ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .cursor-ring,.cursor-dot{display:none!important}
}

/* ---------- Yazdırma ---------- */
@media print{
  header,footer,.mobile-bar,.cursor-ring,.cursor-dot{display:none!important}
}
