/* ============================================================
   RESPONSIVE — mobile-first: qui le media query (min-width)
   ============================================================ */

/* >= 600px : tablet piccolo */
@media (min-width: 600px) {
  .grid--cards { grid-template-columns: repeat(2, 1fr); }
  .grid--cat   { grid-template-columns: repeat(3, 1fr); }
  .trust-grid  { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* >= 860px : tablet / desktop */
@media (min-width: 860px) {
  .nav-toggle { display: none; }
  /* Header: logo sx · search centrale · azioni dx · barra menu sotto */
  .brand { margin-right: 0; }
  .header-search { display: flex; }
  .header-search-toggle { display: none; }
  .header-account__txt { display: inline; }
  .nav-row { display: block; }
  .mega-nav .mega-nav__list { gap: 0; }

  .grid--cards { grid-template-columns: repeat(3, 1fr); }
  .grid--cat   { grid-template-columns: repeat(4, 1fr); }
  .tile-grid   { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }

  .story__grid { grid-template-columns: 1fr 1fr; }
  .perso { grid-template-columns: 1.05fr .95fr; gap: 2.5rem; }
}

/* >= 1100px : desktop largo */
@media (min-width: 1100px) {
  .grid--cards { grid-template-columns: repeat(4, 1fr); }
}

/* --- Scheda prodotto --- */
/* mobile: sticky buy bar visibile; gallery non sticky */
@media (max-width: 859px) {
  .sticky-buy { display: flex; }
  .product-gallery { position: static; }
  body { /* spazio per non coprire il footer con la sticky bar */ }
}
@media (min-width: 600px) {
  .product-trust { grid-template-columns: repeat(2, 1fr); }
  .spec-grid { grid-template-columns: repeat(2, 1fr); }
  .spec-grid .spec-row:nth-last-child(2):nth-child(odd) { border-bottom: none; }
}
@media (min-width: 860px) {
  /* gallery protagonista a sinistra, colonna acquisto a destra */
  .product-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
  /* la gallery (più corta) resta visibile mentre si scorre la colonna acquisto */
  .product-hero__gallery { position: sticky; top: clamp(84px, 9vw, 116px); align-self: start; }
  .product-trust { grid-template-columns: repeat(3, 1fr); }
}

/* --- Shop hub --- */
/* mobile: pannello filtri collassato, mostrato via toggle */
@media (max-width: 859px) {
  .filters-panel { display: none; }
  .filters-panel.is-open { display: flex; }
}
@media (min-width: 600px) {
  .macro-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 860px) {
  .macro-grid { grid-template-columns: repeat(3, 1fr); }
  .filters-toggle { display: none; }       /* su desktop i filtri sono sempre visibili */
  .filters-panel { display: flex; }
}

/* --- Scheda prodotto più ampia (full-width elegante; testi lunghi restano boxed) --- */
body.single-product .container:not(.container--narrow) { max-width: var(--container-wide); }

/* --- Info prodotto (SEO/AEO) --- */
@media (min-width: 700px) { .product-info .info-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .product-info .info-grid { grid-template-columns: repeat(3, 1fr); } }

/* --- Landing categoria --- */
@media (min-width: 600px) { .choice-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .choice-grid { grid-template-columns: repeat(5, 1fr); } }

/* --- Pagine istituzionali --- */
@media (min-width: 600px) {
  .value-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 860px) {
  .value-grid { grid-template-columns: repeat(3, 1fr); }
  .contact-grid { grid-template-columns: repeat(3, 1fr); }
}

/* --- Homepage full-width (solo home; testi lunghi restano leggibili) --- */
body.home .container:not(.container--narrow) { max-width: var(--container-wide); }
@media (max-width: 600px) {
  .hero-arrow { width: 40px; height: 40px; }
  .hero-arrow svg { width: 20px; height: 20px; }
}
@media (min-width: 860px) {
  body.home .section { padding-block: clamp(3rem, 7vw, 6rem); }
  body.home .hero__inner { padding-block: clamp(3rem, 7vw, 5.5rem); }
}

/* riduci motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
