/* =====================================================================
   ERVARLAR SAUNA — Duyarlı (responsive) düzenlemeler
   Kontrol noktaları: 1440 · 1280 · 1150 · 1024 · 900 · 768 · 600 · 430 · 360
   ===================================================================== */

/* ---------------------------------------------------------------
   1440px altı — geniş masaüstü sıkılaştırma
   --------------------------------------------------------------- */
@media (max-width: 1440px) {
  .footer-grid { gap: clamp(24px, 2.6vw, 40px); }
}

/* ---------------------------------------------------------------
   1280px altı — menü aralıklarını daralt
   --------------------------------------------------------------- */
@media (max-width: 1280px) {
  .nav__link { padding-inline: 11px; font-size: 0.81rem; }
  .nav__link::after { left: 11px; right: 11px; }
  .brand img { width: 148px; height: 46px; }
  .nav__phone { font-size: 0.845rem; }
  .mega { width: min(960px, calc(100vw - 40px)); }
  .steps { grid-template-columns: repeat(3, 1fr); row-gap: 42px; }
  .steps::before { display: none; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
  .footer-contact-col { grid-column: 1 / -1; }
  .footer-contact { grid-template-columns: repeat(3, 1fr); display: grid; gap: 20px; }
}

/* ---------------------------------------------------------------
   1150px altı — masaüstü menüden mobil menüye geçiş
   --------------------------------------------------------------- */
@media (max-width: 1150px) {
  /* 4 kart 2+2 olarak dengeli iner; 3+1 kırılması olmaz */
  .prod-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .nav__menu, .nav__phone { display: none; }
  .burger { display: inline-flex; }
  .nav { min-height: var(--header-h-sm); }
  :root { --header-h: 66px; }
  .nav__actions .btn--desktop { display: none; }

  .detail-layout { grid-template-columns: 1fr; }
  .detail-aside { position: static; grid-template-columns: repeat(2, 1fr); }
  .contact-layout { grid-template-columns: 1fr; }
  .info-block { grid-template-columns: repeat(2, 1fr); }
}

/* ---------------------------------------------------------------
   1024px altı — tablet yatay
   --------------------------------------------------------------- */
@media (max-width: 1024px) {
  .hero { height: clamp(500px, 70vh, 660px); }
  .hero__title { font-size: clamp(2.1rem, 5.6vw, 3.3rem); }

  .about-split { grid-template-columns: 1fr; gap: 42px; }
  .about-media__main { aspect-ratio: 16 / 10; }
  .about-media__badge { right: 16px; bottom: -16px; }

  .feature { grid-template-columns: 1fr; }
  .feature--flip .feature__media { order: 0; }
  .feature__media { min-height: 300px; aspect-ratio: 16 / 9; }

  .app-showcase { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; }
  .app-tile--big { grid-column: span 2; grid-row: span 1; }
  .app-tile--wide { grid-column: span 2; }

  .hero-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .hero-strip__item:nth-child(3) { border-left: 0; }
  .hero-strip__item:nth-child(n+3) { border-top: 1px solid var(--line-dark-2); }

  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact-col { grid-column: 1 / -1; }
}

/* ---------------------------------------------------------------
   900px altı
   --------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* Kart ızgaraları 6/4/3 öğede de dengeli kalsın */
  .why-grid, .why-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .mv-grid { grid-template-columns: 1fr; }
  .about-points { grid-template-columns: 1fr; }
  .detail-aside { grid-template-columns: 1fr; }
  .info-block { grid-template-columns: 1fr; }
  .cta-strip__in { flex-direction: column; align-items: flex-start; }
  .cta-strip__in .btn { width: 100%; }
}

/* ---------------------------------------------------------------
   768px altı — tablet dikey / büyük telefon
   --------------------------------------------------------------- */
@media (max-width: 768px) {
  :root { --section-y: clamp(52px, 11vw, 76px); }

  body { font-size: 15.5px; }

  .topbar__list--secondary { display: none; }
  .topbar__in { justify-content: center; }

  /* svh: mobil tarayıcı adres çubuğu açılıp kapanırken yükseklik zıplamasın */
  .hero { height: auto; min-height: 82vh; }
  @supports (height: 100svh) {
    .hero { min-height: 82svh; }
  }
  .hero__inner { padding-bottom: 96px; padding-top: calc(var(--header-h) + 60px); }

  /* Editörden gelen geniş tablolar dar ekranda taşmasın */
  .rte table { display: block; overflow-x: auto; max-width: 100%; }
  .rte th, .rte td { white-space: nowrap; }
  .hero__desc { font-size: 1rem; margin-bottom: 24px; }
  .hero__btns .btn { flex: 1 1 auto; min-width: 160px; }
  .hero__nav { bottom: 20px; }
  .hero__arrows { display: none; }

  .prod-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
  .gal-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
  .ref-grid { grid-template-columns: 1fr; }
  .quality-grid { grid-template-columns: 1fr; }
  .why-grid, .why-grid--4, .why-grid--2 { grid-template-columns: 1fr; }
  .usage-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .step { padding-right: 10px; }
  .step__num { width: 46px; height: 46px; margin-bottom: 14px; }

  .form-grid { grid-template-columns: 1fr; }
  .detail-gal { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

  .footer-legal__in { flex-direction: column; align-items: flex-start; }

  .lb__prev, .lb__next { top: auto; bottom: 22px; transform: none; }
  .lb__prev { left: 50%; margin-left: -58px; }
  .lb__next { left: 50%; margin-left: 8px; }
  .lb__cap { bottom: 86px; }
}

/* ---------------------------------------------------------------
   600px altı — telefon
   --------------------------------------------------------------- */
@media (max-width: 600px) {
  .hero__title { font-size: clamp(1.95rem, 9vw, 2.7rem); }
  .hero__pre { font-size: 0.66rem; letter-spacing: 0.2em; margin-bottom: 14px; }
  .hero__pre::before { width: 22px; }

  .app-showcase { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .app-tile--big, .app-tile--wide { grid-column: span 1; }

  .hero-strip__grid { grid-template-columns: 1fr; }
  .hero-strip__item + .hero-strip__item { border-left: 0; border-top: 1px solid var(--line-dark-2); }
  .hero-strip__item { padding: 20px; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-brand img { width: 156px; height: 49px; }

  .steps { grid-template-columns: 1fr; row-gap: 26px; }
  /* Numara solda tam yükseklik, başlık ve metin sağ sütunda.
     Alan adı verilmezse 3. çocuk (p) 46px'lik sütuna düşüp kelimeleri harf harf kırar. */
  .step {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-areas: "num title" "num text";
    column-gap: 16px;
    row-gap: 4px;
    align-items: start;
    padding-right: 0;
  }
  .step__num { grid-area: num; margin-bottom: 0; }
  .step h3   { grid-area: title; }
  .step p    { grid-area: text; }

  .mini-step { flex-direction: row; padding: 15px 18px; }
  .detail-gal { grid-template-columns: repeat(2, 1fr); }

  .prod-grid, .prod-grid--featured, .gal-grid { grid-template-columns: 1fr; }

  .about-media__badge { position: static; margin-top: 16px; display: inline-block; }

  .btn { padding: 14px 22px; font-size: 0.82rem; }
  .stack-cta .btn { width: 100%; }

  .sec-title { font-size: clamp(1.55rem, 6.6vw, 2rem); }

  .form-card { padding: 22px 18px; }
  .feature__body { padding: 26px 20px 30px; }
  .mv-card { padding: 26px 22px; }
  .q-card { padding: 22px 20px 24px; }
  .info-item { padding: 17px 18px; }
  .aside-card { padding: 22px 20px; }
}

/* Mobil alt bar aktifken içerik payı */
@media (max-width: 900px) {
  /* env(): iPhone home indicator payı alt bara ekleniyor; yüzen butonlar
     bu payı hesaba katmazsa barın altında kalır. */
  body.has-mobile-bar { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  body.has-mobile-bar .fab-wa { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  body.has-mobile-bar .to-top { bottom: calc(146px + env(safe-area-inset-bottom, 0px)); }
  .mobile-bar.is-on { display: block; }
}

/* ---------------------------------------------------------------
   430px altı — küçük telefon
   --------------------------------------------------------------- */
@media (max-width: 430px) {
  :root { --gutter: 18px; }
  .hero { min-height: 78vh; }
  .hero__btns { flex-direction: column; }
  .hero__btns .btn { width: 100%; }
  .hero__dot { width: 26px; }
  .mnav { width: 92vw; }
  .filters { gap: 7px; }
  .filter-btn { padding: 8px 14px; font-size: 0.76rem; }
  .pcard__body { padding: 19px 18px 21px; }
  .cta-band__btns .btn { width: 100%; }
  .lb__close { top: 12px; right: 12px; }
}

/* ---------------------------------------------------------------
   360px altı
   --------------------------------------------------------------- */
@media (max-width: 360px) {
  :root { --gutter: 15px; }
  body { font-size: 15px; }
  .brand img { width: 128px; height: 40px; }
  .detail-gal { grid-template-columns: 1fr; }
  .mobile-bar__item { font-size: 0.64rem; }
}

/* ---------------------------------------------------------------
   Yatay telefon — kısa ekranlar
   --------------------------------------------------------------- */
@media (max-height: 520px) and (orientation: landscape) {
  .hero { min-height: 460px; height: auto; }
  .hero__inner { padding-top: calc(var(--header-h) + 34px); padding-bottom: 64px; }
  .mnav__body { padding-bottom: 12px; }
}

/* ---------------------------------------------------------------
   Yazdırma
   --------------------------------------------------------------- */
@media print {
  .site-header, .topbar, .mnav, .mnav-backdrop, .fab-wa, .to-top,
  .mobile-bar, .hero__nav, .site-footer, .cta-band, .cta-strip { display: none !important; }
  body { background: #fff; color: #000; }
  .section, .page-hero { padding-block: 12px; background: #fff !important; color: #000 !important; }
  .rte p, .rte li { color: #222 !important; }
  a { text-decoration: underline; }
}

/* ---------------------------------------------------------------
   Video galerisi
   --------------------------------------------------------------- */
@media (max-width: 1024px) {
  .vid-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .vid-grid { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); }
}

@media (max-width: 600px) {
  .vid-grid, .vid-strip { grid-template-columns: 1fr; }
  .vid-card__play { width: 56px; height: 56px; }
  .vid-card__play svg { width: 20px; height: 20px; }
  .vid-card__body { padding: 17px 18px 20px; }
  .vplayer { padding: 12px; }
  .vplayer__close { top: 10px; right: 10px; width: 42px; height: 42px; }
  .vplayer__title { font-size: 0.9rem; }
}
