/* Dağdaş Oto Lastik — özel stil katmanı (Bootstrap 5 üzerine) */

:root{
  --accent: #f97316;
  --accent-dark: #ea6a0c;
  --ink: #0f172a;
  --muted: #64748b;
}

/* Yatay taşmayı kesin olarak engelle. "hidden" Safari'de position:sticky'yi
   bozduğu için, destekleyen tarayıcılarda "clip" kullanıyoruz (scroll kutusu
   oluşturmaz, sticky çalışmaya devam eder). Eski tarayıcılar "hidden"a düşer. */
html, body{overflow-x:hidden;}
@supports (overflow:clip){
  html, body{overflow-x:clip;}
}
html, body{max-width:100%;}

body{
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--ink);
  overflow-wrap: break-word;
}

/* Mobil taşma güvenlik ağı — hiçbir medya ekranı aşamaz */
img, svg, video, iframe, canvas{max-width:100%;}

/* Herkese açık sayfalarda da kullanılan kart bileşeni (admin.css yüklenmez) */
.admin-card{background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:20px;}

/* Üst bilgi çubuğu + navbar birlikte, tek parça halinde sayfanın en
   üstünde sabit kalır (kaydırınca kaybolmaz — telefon numarası hep görünür). */
.site-header-sticky{position:sticky; top:0; z-index:1030;}

.skip-link{position:absolute;top:-40px;left:6px;background:var(--accent);color:#fff;padding:8px 12px;border-radius:6px;z-index:2000;}
.skip-link:focus{top:6px;}

.fw-600{font-weight:600;}
.fw-700{font-weight:700;}
.fw-800{font-weight:800;}

/* ---- İkon seti (inline SVG, emoji yerine) ---- */
.icon{flex-shrink:0; vertical-align:-3px;}
.star-rating{display:inline-flex; gap:1px;}
.star-filled{color:#fbbf24;}
.star-filled .icon{fill:currentColor;}
.star-empty{color:#d1d5db;}
.star-empty .icon{fill:currentColor;}

/* ---- Üst bilgi çubuğu ---- */
.topbar{background:var(--ink);color:#cbd5e1;font-size:12.5px;}

/* ---- Navbar ---- */
.navbar-main{background:#fff;box-shadow:0 2px 14px rgba(15,23,42,.06);padding:10px 0;}
.navbar-main .nav-link{font-weight:600;color:var(--ink);padding:8px 14px !important;}
.navbar-main .nav-link:hover{color:var(--accent);}
.btn-call{background:var(--accent);color:#fff;font-weight:700;border-radius:999px;padding:9px 20px;white-space:nowrap;}
.btn-call:hover{background:var(--accent-dark);color:#fff;}

/* ---- Hero / Slider ---- */
.hero-slide{
  min-height: 480px;
  display:flex; align-items:center;
  background-size:cover; background-position:center;
  position:relative;
  color:#fff;
}
/* Sadece başlık/açıklaması OLAN slaytlarda karartma gradyanı uygulanır —
   metnin resmin üzerinde zaten hazır/bitmiş bir tasarım olduğu slaytlarda
   (ör. hazır banner görseli) görseli karartmadan olduğu gibi gösteririz. */
.hero-slide.has-overlay::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(5,9,17,.92) 0%, rgba(5,9,17,.74) 38%, rgba(5,9,17,.42) 68%, rgba(5,9,17,.22) 100%);
}
.hero-slide .hero-inner{position:relative; z-index:2;}
.hero-slide h1{font-size:clamp(28px,5vw,48px); font-weight:800; line-height:1.15;}
.hero-slide p.lead{color:#e2e8f0; font-size:clamp(15px,2vw,19px); max-width:560px;}

/* Metinsiz, hazır tasarım banner slaytları — bu görseller aşırı yassı (~6:1)
   olduğu için "contain" boşluk bırakıyordu. Geçici çözüm: "cover" ile
   hafifçe büyütüp kenarlardan az miktarda kırpıyoruz (merkez korunur) —
   yeni, doğru oranlı (~2.7:1) banner'lar gelince bu değer sadeleştirilecek. */
.hero-slide-contain{
  height:clamp(110px, 22vw, 320px);
  background-color:#0f172a;
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

.emergency-bar{
  background: var(--ink);
  color:#fff;
  border-radius:16px;
  margin-top:28px;
  position:relative; z-index:5;
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.emergency-bar .num{font-size:22px;font-weight:800;color:var(--accent);}

/* ---- Servis kartları ---- */
.service-card{
  border:1px solid #eef0f4; border-radius:16px; padding:28px 24px;
  height:100%; transition:.2s transform, .2s box-shadow;
  background:#fff; display:flex; flex-direction:column;
}
.service-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(15,23,42,.08); border-color:transparent;}
.service-card p{margin-bottom:0;}
.service-more{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:auto; padding-top:16px;
  font-weight:700; font-size:14px; color:var(--accent);
  transition:.2s gap;
}
.service-card:hover .service-more{gap:11px;}
.service-icon{
  width:56px;height:56px;border-radius:14px;
  background:rgba(249,115,22,.12); color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:26px; margin-bottom:16px;
}
/* İkon yerine görsel — kartın üst kenarlarına taşarak oturur */
.service-media{
  margin:-28px -24px 18px; border-radius:16px 16px 0 0;
  overflow:hidden; aspect-ratio:16/10; background:#f1f5f9;
}
.service-media img{width:100%; height:100%; object-fit:cover; display:block; transition:.3s transform;}
.service-card:hover .service-media img{transform:scale(1.04);}

/* ---- Neden biz / avantajlar ---- */
.why-item{display:flex; gap:14px; align-items:flex-start;}
.why-icon{
  flex:0 0 auto; width:46px;height:46px;border-radius:12px;
  background:rgba(249,115,22,.1); color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:20px;
}

/* ---- İstatistik paneli (Neden Biz — sağ taraf) ---- */
.stat-panel{
  background:linear-gradient(135deg, var(--ink), #1e293b);
  box-shadow:0 20px 50px rgba(15,23,42,.22);
}
.stat-panel .stat-num-big{font-size:clamp(26px,3.2vw,38px); font-weight:800; line-height:1; color:#fff;}
.stat-panel .stat-unit{font-size:15px; font-weight:600; color:#cbd5e1; margin-left:3px;}
.stat-panel .stat-label{font-size:12.5px; color:#94a3b8; margin-top:2px;}
.stat-panel .star-rating .icon{width:14px;height:14px;}

/* ---- Çalışma bölgeleri ---- */
.area-pill{
  display:inline-block; background:#fff; border:1px solid #e5e7eb; color:var(--ink);
  border-radius:999px; padding:8px 18px; font-weight:600; font-size:14px; margin:4px;
}

/* ---- Yorumlar ---- */
.testimonial-card{background:#fff;border-radius:16px;border:1px solid #eef0f4;padding:24px;height:100%;}
.stars{color:#fbbf24;letter-spacing:2px;}

/* ---- Galeri ---- */
.gallery-thumb{aspect-ratio:1/1; object-fit:cover; border-radius:12px; width:100%;}

/* ---- Blog ---- */
.blog-card img{aspect-ratio:16/10; object-fit:cover; width:100%; border-radius:14px 14px 0 0;}
.blog-card{border:1px solid #eef0f4; border-radius:14px; overflow:hidden; height:100%; background:#fff;}

/* ---- Footer ---- */
.site-footer{background:var(--ink);}
.footer-links li{margin-bottom:8px;}
.footer-links a{color:#94a3b8; text-decoration:none;}
.footer-links a:hover{color:#fff;}
.social-btn{
  width:36px;height:36px;border-radius:50%;background:#1e293b;color:#fff;
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;
}
.social-btn:hover{background:var(--accent);}

/* ---- Sabit iletişim butonu (sol alt, açılır) ---- */
.fab-stack{
  position:fixed; left:18px; bottom:18px; z-index:1050;
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
}
.fab{
  width:56px;height:56px;border-radius:50%;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:26px; text-decoration:none; border:0; cursor:pointer; padding:0;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.fab-whatsapp{background:#25D366;}
.fab-call{background:var(--accent);}
.fab-main{background:var(--ink); animation:pulse 2.5s infinite;}
.fab-stack.open .fab-main{animation:none; background:var(--accent);}
/* alt butonlar varsayılan olarak gizli, aç deyince belirir */
.fab-child{
  opacity:0; transform:scale(.4) translateY(14px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.fab-stack.open .fab-child{opacity:1; transform:scale(1) translateY(0); pointer-events:auto;}
.fab-stack.open .fab-child:nth-child(2){transition-delay:.04s;}
.fab-main .fab-ico-open,
.fab-main .fab-ico-close{display:flex; align-items:center; justify-content:center;}
.fab-main .fab-ico-close{display:none;}
.fab-stack.open .fab-main .fab-ico-open{display:none;}
.fab-stack.open .fab-main .fab-ico-close{display:flex;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(249,115,22,.5);}
  70%{box-shadow:0 0 0 14px rgba(249,115,22,0);}
  100%{box-shadow:0 0 0 0 rgba(249,115,22,0);}
}

/* ---- Mobil offcanvas menü (sağdan açılır) ---- */
.navbar-toggler:focus{box-shadow:none;}
#mobileMenu{width:84%; max-width:360px; transition:transform .32s ease-in-out;}
#mobileMenu .nav-link{
  padding:14px 2px !important; font-size:16px; font-weight:600;
  border-bottom:1px solid #f1f5f9; color:var(--ink);
}
#mobileMenu .nav-link:hover,
#mobileMenu .nav-link:focus{color:var(--accent);}
.offcanvas-contact{margin-top:22px; display:flex; flex-direction:column; gap:12px;}
.offcanvas-contact .occ-row{
  display:flex; align-items:flex-start; gap:10px;
  color:var(--ink); text-decoration:none; font-size:14px; line-height:1.45;
}
.offcanvas-contact .occ-row .icon{color:var(--accent); flex:0 0 auto; margin-top:1px;}
.offcanvas-contact .occ-row.occ-static{color:var(--muted);}
.offcanvas-contact .occ-actions{display:flex; gap:10px; margin-top:6px;}
.offcanvas-contact .occ-actions .btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
}
.btn-wa{background:#25D366; color:#fff; font-weight:700; border-radius:999px; padding:10px 16px;}
.btn-wa:hover{background:#1eb257; color:#fff;}

/* ---- Çerez bildirimi ---- */
.cookie-bar{position:fixed; left:0; right:0; bottom:0; background:var(--ink); color:#e2e8f0; z-index:1100; box-shadow:0 -6px 20px rgba(0,0,0,.2);}

/* ---- Genel sayfa / makale içerikleri ---- */
.prose{line-height:1.85; color:#334155; overflow-wrap:break-word;}
.prose h2, .prose h3{color:var(--ink); font-weight:800; margin-top:1.6em;}
.prose img{max-width:100%; border-radius:12px;}
.prose table{display:block; width:100%; overflow-x:auto; white-space:nowrap;}
.prose pre{overflow-x:auto; max-width:100%;}

/* ================= MOBİL UYUM ================= */
@media (max-width:768px){
  .fab{width:52px; height:52px; font-size:24px;}
  .fab-stack{left:14px; bottom:14px;}
  /* Çerez çubuğu açıkken sabit buton onun üstünde kalsın */
  body.has-cookiebar .fab-stack{bottom:120px;}
}
@media (max-width:576px){
  .hero-slide{min-height:400px;}
  .hero-slide .hero-inner{padding-top:2rem !important; padding-bottom:2rem !important;}
  .hero-slide h1{font-size:1.7rem;}
  .emergency-bar{margin-top:18px;}
  .emergency-bar.p-4{padding:1.25rem !important;}
  .stat-panel.p-4{padding:1.25rem !important;}
  /* Başlıklar mobilde daha dengeli */
  h1, .h1{font-size:1.7rem; line-height:1.22;}
  h2, .h2{font-size:1.4rem; line-height:1.25;}
  h3, .h3{font-size:1.15rem;}
  .display-1, .display-2, .display-3, .display-4{font-size:1.9rem;}
  /* Bölüm iç boşlukları biraz sıkılaşsın */
  .py-5{padding-top:2.5rem !important; padding-bottom:2.5rem !important;}
  .p-5{padding:1.75rem !important;}
  .mb-5{margin-bottom:2.25rem !important;}
}
