/* ШЁЛК — Responsive layer */

/* ===== Universal guards (all viewports) ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, svg { max-width: 100%; height: auto; }

/* Hamburger hidden on desktop by default */
[data-rs="nav-burger"] { display: none !important; }

/* ---------- TABLET ONLY: 768–1023px ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  [data-rs="hero"] h1 { font-size: 48px !important; line-height: 1.1 !important; }

  [data-rs="nav"], [data-rs="packages"], [data-rs="process"],
  [data-rs="works"], [data-rs="warranty"], [data-rs="faq"],
  [data-rs="cta"] {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  [data-rs="hero-copy"] { padding: 96px 40px 72px !important; }

  [data-rs="packages-grid"] { grid-template-columns: 1fr 1fr !important; }
  [data-rs="packages-grid"] > div:nth-child(3) { grid-column: 1 / -1; }

  [data-rs="process-grid"] { grid-template-columns: 1fr 1fr !important; }

  [data-rs="cta-grid"] { grid-template-columns: 1fr 1fr !important; gap: 64px !important; }
}

/* ---------- MOBILE: ≤767px ---------- */
@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
    position: relative;
  }

  /* Kill horizontal overflow on every section */
  section {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Atelier: kill the full-bleed negative margin trick on mobile */
  [data-rs="atelier"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    aspect-ratio: 4 / 5 !important;
  }
  [data-rs="atelier"] h3 { font-size: 22px !important; }

  /* ===== Typography ===== */
  [data-rs="hero"] h1 { font-size: 36px !important; line-height: 1.15 !important; max-width: none !important; }
  [data-rs="hero"] p  { font-size: 16px !important; line-height: 1.6 !important; margin: 24px 0 32px !important; }
  [data-rs="hero"] [data-rs="hero-eyebrow"] { font-size: 11px !important; margin-bottom: 24px !important; letter-spacing: 0.1em !important; }

  section h2,
  [data-rs="warranty"] h2,
  [data-rs="packages"] h2,
  [data-rs="process"] h2,
  [data-rs="faq"] h2,
  [data-rs="cta"] h2,
  [data-rs="works"] h2 { font-size: 28px !important; line-height: 1.2 !important; max-width: none !important; }
  section h3 { font-size: 22px !important; line-height: 1.25 !important; }

  /* ===== Container padding & vertical rhythm ===== */
  section { padding-top: 60px !important; padding-bottom: 60px !important; }
  [data-rs="nav"], [data-rs="packages"], [data-rs="process"],
  [data-rs="works"], [data-rs="warranty"], [data-rs="faq"],
  [data-rs="cta"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  [data-rs="cta"] { padding-bottom: 80px !important; }

  /* Push content down for fixed nav */
  main { padding-top: 60px !important; }

  /* ===== Hero stack ===== */
  [data-rs="hero-grid"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
  }
  [data-rs="hero-copy"] {
    padding: 48px 20px 60px !important;
    order: 2;
  }
  [data-rs="hero-image"] {
    order: 1;
    height: 70vh !important;
    min-height: 320px !important;
  }
  [data-rs="hero-buttons"] { flex-direction: column !important; gap: 12px !important; align-items: stretch !important; }
  [data-rs="hero-buttons"] > * { width: 100% !important; height: 56px !important; padding: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  [data-rs="hero-techmark"] { display: none !important; }

  /* Section heading two-column heads -> stack */
  [data-rs="section-head"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
  }

  /* ===== Packages: stack ===== */
  [data-rs="packages-grid"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    border-top: 0 !important;
  }
  [data-rs="packages-grid"] > div {
    border-right: 0 !important;
    border-top: 1px solid var(--silver) !important;
    min-height: 0 !important;
    padding: 32px 20px !important;
  }

  /* ===== Process: stack with image-on-top ===== */
  [data-rs="process-grid"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  [data-rs="process-grid"] > div > div:first-child {
    aspect-ratio: 16 / 9 !important;
  }

  /* ===== Works: 1 col ===== */
  [data-rs="works"] > div { max-width: 100% !important; }
  [data-rs="works-grid"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  [data-rs="works-grid"] > div > div[style*="aspect-ratio"] { aspect-ratio: 16 / 9 !important; }

  /* ===== Warranty rows ===== */
  [data-rs="warranty-row"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 24px 0 !important;
  }
  [data-rs="warranty-row"] > div:nth-child(2) { font-size: 32px !important; }

  /* ===== CTA: stack ===== */
  [data-rs="cta-shell"] { grid-template-columns: 1fr !important; gap: 56px !important; }
  [data-rs="cta-grid"] { grid-template-columns: 1fr 1fr !important; gap: 24px !important; margin-top: 40px !important; }
  [data-rs="cta"] h2 { font-size: 32px !important; line-height: 1.15 !important; max-width: none !important; }

  /* ===== Forms: iOS-safe ===== */
  input, select, textarea {
    font-size: 16px !important;
    min-height: 52px !important;
    max-width: 100% !important;
  }
  button[type="submit"] {
    width: 100% !important;
    height: 56px !important;
    font-size: 14px !important;
  }

  /* ===== Nav: hamburger (high specificity) ===== */
  nav[data-rs="nav"] {
    grid-template-columns: 1fr auto !important;
    padding: 14px 20px !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 1000 !important;
    box-shadow: 0 1px 0 rgba(0,0,0,0.08) !important;
    max-width: 100vw !important;
  }
  nav[data-rs="nav"] [data-rs="nav-links"] {
    display: none !important;
  }
  nav[data-rs="nav"] [data-rs="nav-links"][data-open="true"] {
    display: flex !important;
    position: fixed !important;
    top: 60px !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    flex-direction: column !important;
    background: var(--pearl) !important;
    padding: 32px 20px !important;
    gap: 0 !important;
    z-index: 999 !important;
    overflow-y: auto !important;
    max-width: 100vw !important;
  }
  nav[data-rs="nav"] [data-rs="nav-links"][data-open="true"] > a {
    font-size: 18px !important;
    padding: 20px 0 !important;
    min-height: 44px !important;
    border-bottom: 1px solid var(--silver) !important;
    color: var(--graphite) !important;
  }
  nav[data-rs="nav"] [data-rs="nav-phone"] { display: none !important; }
  nav[data-rs="nav"] [data-rs="nav-burger"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
  }

  a, button { min-height: 44px; }
  [data-rs="footer"] { padding: 40px 20px !important; }
  [data-rs="footer"] > * { grid-template-columns: 1fr !important; gap: 24px !important; }
}
