/* ===============================
   Global / Utility
=================================*/
:root {
  --ring: 0 0 0 4px rgba(2,132,199,.15);
}

* {
  box-sizing: border-box;
}

html, body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: clip;         /* yatay kaymayı kesin kapat */
  overscroll-behavior-y: none;
}

img, video, iframe {
  max-width: 100% !important;
  height: auto;
  display: block;
}

:focus-visible {
  outline: none;
  box-shadow: var(--ring);
  border-radius: .6rem;
}

/* ===============================
   Navbar & Linkler
=================================*/
.nav-link {
  color: #334155;
}
.nav-link:hover {
  color: #0ea5e9;
}
.mobile-link {
  display: block;
  padding: .6rem 0;
}

/* ===============================
   Butonlar
=================================*/
.btn {
  padding: .65rem 1rem;
  border-radius: .9rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.btn-primary {
  background: #0ea5e9;
  color: #fff;
  box-shadow: var(--ring);
}
.btn-primary:hover {
  background: #0284c7;
}
.btn-outline {
  border-color: #0ea5e9;
  color: #0ea5e9;
}
.btn-outline:hover {
  background: #0ea5e9;
  color: #fff;
}

/* ===============================
   İstatistikler
=================================*/
.stat strong {
  display: block;
  font-size: 1.5rem;
}
.stat span {
  font-size: .75rem;
  color: #64748b;
}

/* ===============================
   Bölüm Başlıkları
=================================*/
.section-head h2 {
  font-size: 1.6rem;
  font-weight: 800;
}
.section-head p {
  color: #64748b;
  margin-top: .25rem;
}

/* ===============================
   Form
=================================*/
.label {
  display: block;
  font-size: .8rem;
  color: #475569;
  margin-bottom: .25rem;
}
.input {
  width: 100%;
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: .65rem .8rem;
  border-radius: .8rem;
  outline: none;
}
.input:focus {
  box-shadow: var(--ring);
  border-color: #0ea5e9;
}
.link {
  color: #0ea5e9;
}
.link:hover {
  text-decoration: underline;
}

/* ===============================
   Footer
=================================*/
.foot-head {
  font-weight: 700;
  margin-bottom: .4rem;
}
.foot-list li {
  margin: .3rem 0;
}

/* ===============================
   HERO Slider
=================================*/
#hero {
  position: relative;
  overflow: hidden; /* sağa sola taşmayı engelle */
}
#hero .slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #e2e8f0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 14px rgba(15,23,42,.08);
}
#hero .slider-btn.prev { left: .25rem; }
#hero .slider-btn.next { right: .25rem; }
#hero .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .5s ease;
  background: #fff;
}
#hero .slide.active { opacity: 1; }
#hero img.slide {
  object-fit: contain;
  background: #fff;
  width: 100%;
  height: 100%;
}

/* ===============================
   Carousel (gallery & reviews)
=================================*/
.carousel {
  position: relative;
  overflow: hidden;
}
.carousel-track {
  display: flex;
  gap: 12px;
  transition: transform .4s ease;
}
.carousel img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.carousel .review {
  min-width: 260px;
  max-width: 260px;
  border: 1px solid #e2e8f0;
  background: #fff;
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0 8px 24px rgba(2,132,199,.06);
}
.carousel .stars {
  color: #f59e0b;
  letter-spacing: .08em;
  font-weight: 800;
}
.cbtn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #e2e8f0;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
}
.cbtn.prev { left: .25rem; }
.cbtn.next { right: .25rem; }

/* ===============================
   Hizmet Kartları
=================================*/
.service-card {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(2,132,199,.12);
}
.service-card img {
  width: 100%;
  height: 140px;
  object-fit: cover;
}
.service-card h3 {
  font-weight: 700;
  padding: .75rem .9rem .2rem;
}
.service-card .desc {
  display: block;
  padding: 0 .9rem 1rem;
  color: #64748b;
}
@media (max-width:767px) {
  /* mobilde hizmetler: sadece başlık + resim, açıklama gizli */
  .service-card .desc { display: none; }
}

/* ===============================
   Extra Güvenlik (kaymaları engelle)
=================================*/
section, header, footer, .container, .max-w-7xl {
  overflow-x: clip;
}