/* ==========================================================================
   UPO SICILIA — responsive.css
   Adattamenti per tablet, smartphone (fino a 360 px) e schermi molto grandi.
   ========================================================================== */

/* Schermi molto grandi: limita l'altezza della hero e allarga i respiri */
@media (min-width: 1800px) {
  .hero { min-height: 820px; }
}

/* Notebook piccoli / tablet orizzontale
   ------------------------------------------------------------------------ */
@media (max-width: 1024px) {
  .main-nav a { padding-inline: 0.6rem; font-size: 0.94rem; }
  .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .product-layout,
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
}

/* Tablet verticale / smartphone grandi
   ------------------------------------------------------------------------ */
@media (max-width: 860px) {
  :root { --header-h: 72px; }

  /* Navigazione: passa al menu hamburger */
  .main-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .header-cta { display: none; }
  .brand__logo { width: 46px; height: 46px; }
  .brand__name { font-size: 1.25rem; }

  .hero { min-height: 78vh; }
  .hero__actions .btn { flex: 1 1 220px; }

  .split,
  .split--reverse,
  .contact-grid { grid-template-columns: 1fr; }
  .split--reverse .split__media { order: 0; }
  .split__media { max-width: 560px; }

  .impact { grid-template-columns: 1fr; text-align: left; }
  .impact__media { order: -1; }

  .shop-toolbar { grid-template-columns: 1fr 1fr; }
  .shop-toolbar .field--search { grid-column: 1 / -1; }

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

/* Smartphone
   ------------------------------------------------------------------------ */
@media (max-width: 560px) {
  :root { --section-y: 3.4rem; }

  body { font-size: 1rem; }           /* mai sotto i 16 px */

  .hero__content { padding-block: 4.5rem 3.5rem; }
  .trust-row { gap: 0.8rem 1.4rem; }
  .trust-row li { font-size: 0.86rem; }

  .grid-products { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
  .card-product__body { padding: 0.95rem 0.9rem 1.05rem; }
  .card-product h3 { font-size: 1.12rem; }
  .card-product__desc { display: none; }         /* schede compatte su mobile */
  .price { font-size: 1.25rem; }
  .btn-icon { width: 44px; height: 44px; }

  .steps { grid-template-columns: 1fr; }
  .step { display: grid; grid-template-columns: auto 1fr; gap: 0 1rem; }
  .step::before { grid-row: 1 / 3; align-self: start; }
  .step svg { display: none; }

  .shop-toolbar { grid-template-columns: 1fr; padding: 0.9rem; }
  .shop-meta { flex-direction: column; align-items: flex-start; }

  .gallery__thumbs { grid-template-columns: repeat(4, 1fr); gap: 0.5rem; }
  .buy-row .btn { flex: 1 1 100%; }

  .cart-item { grid-template-columns: 72px minmax(0, 1fr); }
  .cart-item__img { width: 72px; height: 72px; }
  .cart-item__line-price { grid-column: 2; text-align: left; }

  .newsletter-form { flex-direction: column; }

  .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .frame-offset::after { inset: 14px -12px -14px 12px; }
  .frame-offset--left::after { inset: 14px 12px -14px -12px; }

  .map-embed iframe { height: 260px; }
  .cookie-bar { left: 10px; right: 10px; bottom: 10px; padding: 1rem 1.1rem 1.1rem; }
  .toast-region { right: 10px; bottom: 10px; }
}

/* Smartphone compatti (fino a 360 px)
   ------------------------------------------------------------------------ */
@media (max-width: 380px) {
  .grid-products { grid-template-columns: 1fr; }
  .card-product__desc { display: block; }
  .brand__sub { display: none; }
  .hero__actions .btn { flex-basis: 100%; }
  .qty button { width: 42px; }
  .qty input { width: 46px; }
}
