/* ==========================================================================
   Petal & Stem — responsive.css
   Breakpoints: 1280, 1024, 768, 430, 390, 360
   ========================================================================== */

/* ---------- Large desktop (≤1280) ---------- */
@media (max-width: 1280px) {
  :root { --container: 1140px; }
  .nav__links { gap: 1.3rem; }
  .occasions { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Tablet landscape (≤1024) ---------- */
@media (max-width: 1024px) {
  :root { --nav-h: 70px; }
  .nav__links { display: none; }
  .nav__toggle { display: inline-flex; }

  .hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero__visual { aspect-ratio: 4 / 3; max-width: 560px; margin-inline: auto; order: -1; }
  .hero__text { text-align: center; }
  .hero__text .lead { margin-inline: auto; }
  .hero__cta { justify-content: center; }
  .hero__meta { justify-content: center; }

  .bloom__inner { grid-template-columns: 1fr; gap: 3rem; }
  .bloom__stage { max-width: 420px; margin-inline: auto; }
  .bloom__text { min-height: 200px; }

  .compare { grid-template-columns: 1fr; }
  .compare__vs { padding: 0.5rem 0; }

  .occasions { grid-template-columns: repeat(3, 1fr); }

  .horizontal__pin { display: none; }
  .horizontal__mobile { display: block; }
  .horizontal__head { position: static; padding: 0 1.5rem 2rem; }

  .steps { grid-template-columns: repeat(2, 1fr); }
  .craft-story { grid-template-columns: repeat(3, 1fr); }
  .craft-story__item:nth-child(4), .craft-story__item:nth-child(5) { display: none; }

  .maker { grid-template-columns: 1fr; gap: 2.5rem; }
  .maker__visual { max-width: 480px; margin-inline: auto; }
  .maker__text { text-align: center; }
  .maker__text .lead { margin-inline: auto; }
  .maker__sign { justify-content: center; }

  .meanings { grid-template-columns: repeat(2, 1fr); }

  .bloom-month { grid-template-columns: 1fr; }
  .bloom-month__media { max-width: 440px; margin-inline: auto; }

  .gallery { columns: 3; }

  .footer__top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer__brand { grid-column: 1 / -1; }

  .shop-layout { grid-template-columns: 1fr; }
  .shop-filters { position: static; display: none; }
  .shop-filters.is-open { display: block; }
  .filter-toggle { display: inline-flex; }
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .pdp { grid-template-columns: 1fr; }
  .pdp__gallery { position: static; max-width: 560px; margin-inline: auto; }

  .builder { grid-template-columns: 1fr; }
  .preview { position: static; }

  .split-feature { grid-template-columns: 1fr; }
  .split-feature__media { aspect-ratio: 16/10; max-width: 560px; margin-inline: auto; }
  .split-feature--reverse .split-feature__media { order: 0; }
  .values-grid { grid-template-columns: 1fr; }
}

/* ---------- Tablet portrait (≤768) ---------- */
@media (max-width: 768px) {
  :root { --space-10: 5rem; --space-9: 4rem; }
  .section { padding-block: 3.5rem; }

  .occasions { grid-template-columns: repeat(2, 1fr); }

  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .gallery { columns: 2; }

  .footer__top { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; text-align: center; }

  .form-row { grid-template-columns: 1fr; }

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

  .builder__steps { gap: 0.2rem; }
  .builder__step-dot .lbl { display: none; }
  .builder__step-line { width: 14px; }

  .pdp__thumbs { grid-template-columns: repeat(4, 1fr); }

  .nav__actions .icon-btn:nth-child(1) { display: none; } /* hide search on small */
  .hero__meta { gap: 1.5rem; }
}

/* ---------- Mobile (≤430) ---------- */
@media (max-width: 430px) {
  body { font-size: 15px; }
  .brand { font-size: 1.25rem; }
  .hero__cta { flex-direction: column; }
  .hero__cta .btn-flower { width: 100%; }
  .hero__meta { flex-wrap: wrap; gap: 1.2rem; }

  .occasions { grid-template-columns: 1fr 1fr; gap: 0.7rem; }
  .occasion__title { font-size: 1.05rem; }

  .shop-grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .product-card__body { padding: 1rem; }
  .product-card__name { font-size: 1.05rem; }

  .meanings { grid-template-columns: 1fr 1fr; }
  .choice-grid { grid-template-columns: repeat(3, 1fr); }

  .pdp__cta { flex-direction: column; }
  .pdp__cta .btn-flower { width: 100%; }

  .builder__nav { flex-direction: column-reverse; }
  .builder__nav .btn-flower { width: 100%; }

  .finder__options { grid-template-columns: 1fr 1fr; }

  .drawer__panel { width: 100%; }

  .delivery-info__grid { grid-template-columns: 1fr; }

  .wa-float { width: 50px; height: 50px; bottom: 1.2rem; right: 1.2rem; }
}

/* ---------- Small mobile (≤390) ---------- */
@media (max-width: 390px) {
  .hero__meta .num { font-size: 1.5rem; }
  .choice-grid { grid-template-columns: repeat(2, 1fr); }
  .finder__options { grid-template-columns: 1fr; }
}

/* ---------- Tiny mobile (≤360) ---------- */
@media (max-width: 360px) {
  .container { padding-inline: 1rem; }
  .product-card__name { font-size: 0.98rem; }
  .product-card__price { font-size: 1.1rem; }
}
