/* ──────────────────────────────────────────────
   RESPONSIVE — mobile-first overrides
─────────────────────────────────────────────── */

/* WhatsApp floating action button */
.fab {
  position: fixed;
  right: clamp(1rem, 4vw, 2rem);
  bottom: clamp(1rem, 4vw, 2rem);
  z-index: var(--z-fab);
  width: 58px; height: 58px;
  border-radius: var(--r-full);
  background: #25d366;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 30px rgba(37, 211, 102, 0.45);
  transition: transform var(--t-base), box-shadow var(--t-base);
  animation: fabPulse 2.6s ease-in-out infinite;
}
.fab:hover { transform: scale(1.08); }
.fab svg { width: 30px; height: 30px; }
@keyframes fabPulse {
  0%, 100% { box-shadow: 0 10px 30px rgba(37,211,102,0.45), 0 0 0 0 rgba(37,211,102,0.5); }
  50%      { box-shadow: 0 10px 30px rgba(37,211,102,0.45), 0 0 0 14px rgba(37,211,102,0); }
}

/* ≤1024px */
@media (max-width: 1024px) {
  .reviews__grid { grid-template-columns: repeat(2, 1fr); }
  .gallery__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ≤860px — tablet / mobile nav */
@media (max-width: 860px) {
  .nav__burger { display: flex; }
  .nav__links {
    position: fixed;
    inset: var(--nav-h) 0 auto 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: rgba(8, 20, 32, 0.55);            /* muted translucent, matches the dark bg */
    -webkit-backdrop-filter: blur(22px) saturate(130%);
    backdrop-filter: blur(22px) saturate(130%);
    padding: var(--sp-4) var(--container-pad) var(--sp-6);
    border-top: 1px solid rgba(255,255,255,0.08);
    transform: translateY(-120%);
    transition: transform var(--t-base);
    box-shadow: var(--sh-lg);
  }
  .nav__links.is-open { transform: translateY(0); }
  .nav__links a {
    padding: var(--sp-4) 0;
    border-bottom: 1px solid var(--c-line-d);
    font-size: var(--fs-base);
  }
  .nav__links a::after { display: none; }

  .services__grid { grid-template-columns: 1fr; }
  .boat { grid-template-columns: 1fr; }
  .boat__media { order: -1; }
  .callout { grid-template-columns: 1fr; }
  .callout__media { order: -1; }
  .faq-wrap { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .booking-grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}

/* ≤600px */
@media (max-width: 600px) {
  .reviews__grid { grid-template-columns: 1fr; }
  .gallery__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
  .gallery__item--wide { grid-column: span 2; }
  .gallery__item--tall { grid-row: span 1; }
  .form-grid { grid-template-columns: 1fr; }
  .boat__specs { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .hero__meta { gap: var(--sp-6); }
  .shirts { flex-direction: column; text-align: center; align-items: stretch; }
}

/* ≤400px */
@media (max-width: 400px) {
  .hero__cta { flex-direction: column; }
  .hero__cta .btn { width: 100%; }
  .booking-actions .btn { min-width: 100%; }
}
