/* ============================================================
   MOBILE STYLES — White Water Farms
   Applies ONLY at max-width breakpoints. Desktop untouched.
   ============================================================ */

/* ── HAMBURGER BUTTON (hidden by default, shown on mobile) ── */
.hamburger-btn {
  display: none;
  background: none;
  border: none;
  color: #F7F3EC;
  font-size: 28px;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  line-height: 1;
  position: relative;
  z-index: 51;
}

/* ── MOBILE NAV DROPDOWN ── */
.mobile-nav {
  display: none;
  flex-direction: column;
  background: #2C2416;
  position: fixed;
  top: 92px;
  left: 0;
  right: 0;
  z-index: 48;
  border-top: 1px solid rgba(233,222,214,0.12);
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}

.mobile-nav.open {
  display: flex;
}

.mobile-nav a {
  color: #e9ded6;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 1rem 2rem;
  border-bottom: 1px solid rgba(233,222,214,0.1);
  min-height: 44px;
  display: flex;
  align-items: center;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.mobile-nav a:hover { opacity: 0.5; }
.mobile-nav a.active { color: #9B8AC4; opacity: 1; }

/* ═══════════════════════════════════════════════════════════
   768px BREAKPOINT
═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── NAV ── */
  .site-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nav-links { display: none !important; }
  .hamburger-btn { display: flex !important; align-items: center !important; padding: 0 !important; margin: 0 !important; }

  /* Logo — 60px, vertically centered with hamburger */
  .site-nav img,
  .site-nav a img { height: 60px !important; width: auto !important; margin: 0 !important; padding: 0 !important; }

  /* ── HERO SECTIONS ── */
  .hero-section {
    height: auto !important;
    min-height: 50vh !important;
    padding-top: 90px !important;
  }
  .hero-copy {
    padding: 0 1.5rem 3rem !important;
    max-width: 90% !important;
    width: 90% !important;
  }
  .hero-section h1,
  .hero-copy h1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }
  .hero-copy p { max-width: 100% !important; }

  /* ── SECTION PADDING ── */
  .dark-section   { padding: 3rem 1.5rem !important; }
  .cream-section  { padding: 3rem 1.5rem !important; }
  .site-footer    { padding: 2.5rem 1.5rem !important; }

  /* Override inline-padded sections */
  section[style*="padding:0 6rem 6rem"]    { padding: 0 1.5rem 3rem !important; }
  section[style*="padding: 0 6rem 6rem"]   { padding: 0 1.5rem 3rem !important; }
  section[style*="padding:80px 6rem"]      { padding: 3rem 1.5rem !important; }
  section[style*="padding: 80px 6rem"]     { padding: 3rem 1.5rem !important; }
  section[style*="padding:8rem 6rem"]      { padding: 4rem 1.5rem !important; }
  section[style*="padding: 8rem 6rem"]     { padding: 4rem 1.5rem !important; }

  /* ── GRIDS → SINGLE COLUMN ── */
  .two-col,
  .card-grid,
  .stat-grid,
  .benefit-grid,
  .three-col,
  .tip-grid,
  .bring-grid,
  .photo-grid,
  .contact-grid,
  .basin-grid,
  .photo-pair {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .two-col       { gap: 2rem !important; }
  .contact-grid  { gap: 2.5rem !important; }

  /* ── FOOTER ── */
  .footer-grid {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 2rem !important;
  }
  .footer-grid ul  { align-items: center !important; }
  .footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
    text-align: center !important;
  }

  /* ── IMAGES ── */
  img { max-width: 100% !important; }

  /* Content images — override any fixed inline heights */
  .dark-section img,
  .cream-section img,
  .two-col img,
  .photo-pair img,
  section img { height: auto !important; }

  /* Footer & nav logos — keep them compact */
  .site-footer img,
  footer img      { height: 36px !important; width: auto !important; max-width: 200px !important; }
  .site-nav a img,
  .site-nav img   { max-width: 100% !important; }

  /* ── BUTTONS & LINKS ── */
  .btn-outline,
  .btn-outline-dark,
  .btn-submit {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  /* Button flex containers → column so buttons stack full-width */
  div[style*="display:flex"][style*="gap:1.25rem"][style*="justify-content:center"],
  div[style*="display: flex"][style*="gap: 1.25rem"][style*="justify-content: center"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* ── INNER CONTAINER ── */
  .inner { padding-left: 0 !important; padding-right: 0 !important; }

  /* ── PREVENT HORIZONTAL OVERFLOW ── */
  body { overflow-x: hidden !important; }

  /* ── INDEX FOOTER (Tailwind grid) ── */
  footer .grid {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  footer .grid > div { text-align: center !important; }

  /* ── STAT NUMBERS ── */
  .stat-number { font-size: 40px !important; }

  /* ── CARD PADDING ── */
  .card { padding: 1.75rem 1.5rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   390px BREAKPOINT (iPhone 14, SE)
═══════════════════════════════════════════════════════════ */
@media (max-width: 390px) {

  /* ── NAV LOGO ── */
  .site-nav img,
  .site-nav a img { height: 60px !important; margin: 0 !important; padding: 0 !important; }

  /* Mobile nav top offset to match logo height */
  .mobile-nav { top: 92px !important; }

  /* ── HERO ── */
  .hero-copy {
    padding: 0 1rem 2.5rem !important;
  }
  .hero-section h1,
  .hero-copy h1 { font-size: 1.75rem !important; }

  /* ── STAT NUMBERS ── */
  .stat-number { font-size: 34px !important; }

  /* ── SECTION PADDING ── */
  .dark-section   { padding: 2.5rem 1rem !important; }
  .cream-section  { padding: 2.5rem 1rem !important; }
  .site-footer    { padding: 2rem 1rem !important; }

  /* ── FOOTER SPACING ── */
  .footer-grid { gap: 1.5rem !important; }
}
