/* Tema ulaula-style – UX/Layout come ulaula, design moderno, palette personalizzata (Blu Notte + Verde Smeraldo) */
:root {
  --mp-bg: #f3f3f3;
  --mp-white: #ffffff;
  --mp-text: #1a1a1a;
  --mp-text-muted: #6b7280;
  --mp-link: #1e40af;
  --mp-link-hover: #1e3a8a;
  --mp-price: #1a1a1a;
  --mp-price-sale: #b91c1c;
  --mp-border: #e5e7eb;
  --mp-header: #1e3a5f;
  --mp-header-nav: #1e4976;
  --mp-accent: #059669;
  --mp-accent-hover: #047857;
  --mp-accent-light: #34d399;
  --mp-badge: #059669;
  --mp-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --mp-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.08);
  --mp-radius: 8px;
  --mp-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; height: 100%; }
body {
  margin: 0;
  min-height: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: var(--mp-font);
  background: var(--mp-bg);
  color: var(--mp-text);
  line-height: 1.5;
  font-size: 14px;
  overflow-x: hidden;
}

/* ========== HOMEPAGE TOP STILE ulaula (Hero + 4 card sovrapposte) ========== */
.ulaula-top { background: var(--mp-bg); }
.ulaula-top__hero {
  /* Fallback se non è impostata un'immagine */
  background: linear-gradient(180deg, rgba(30,58,95,1) 0%, rgba(243,243,243,1) 85%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  min-height: 520px;
  padding: 2.5rem 0 13.5rem; /* spazio per sovrapporre le card */
}
.ulaula-top__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.05) 45%, rgba(243,243,243,1) 88%);
  pointer-events: none;
}
.ulaula-top__hero-inner { position: relative; z-index: 1; }
/* Hero senza box testo: lasciamo classi legacy senza effetti */
.ulaula-top__hero-glass { display: none; }
.ulaula-top__title, .ulaula-top__subtitle { display: none; }
.ulaula-top__title {
  margin: 0 0 0.25rem;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  line-height: 1.1;
  font-weight: 800;
  color: #0f172a;
}
.ulaula-top__subtitle {
  margin: 0;
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.4;
}
.ulaula-top__cards { margin-top: -11.5rem; position: relative; z-index: 2; }
.ulaula-top__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.ulaula-top-card {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  min-height: 320px;
}
.ulaula-top-card__title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mp-text);
}
.ulaula-top-card__body { flex: 1; }
.ulaula-top-card__thumbs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
.ulaula-top-card__thumb {
  text-decoration: none;
  color: inherit;
  display: block;
}
.ulaula-top-card__thumb-media {
  width: 100%;
  aspect-ratio: 1;
  background: #fafafa;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ulaula-top-card__thumb-media img { width: 100%; height: 100%; object-fit: contain; }
.ulaula-top-card__thumb-text {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.25;
  max-height: 2.5em;
  overflow: hidden;
}
.ulaula-top-card__empty {
  color: var(--mp-text-muted);
  font-size: 0.875rem;
  padding: 0.5rem 0;
}
.ulaula-top-card__footer { padding-top: 0.75rem; }
.ulaula-top-card__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mp-link);
  text-decoration: none;
}
.ulaula-top-card__link:hover { text-decoration: underline; }

@media (max-width: 1024px) {
  .ulaula-top__grid { grid-template-columns: repeat(2, 1fr); }
  .ulaula-top__hero { padding-bottom: 10.5rem; }
  .ulaula-top__cards { margin-top: -9rem; }
}
@media (max-width: 768px) {
  .ulaula-top__hero { min-height: 420px; padding: 1.75rem 0 9.5rem; }
  .ulaula-top__cards { margin-top: -7.25rem; }
  .ulaula-top__grid { grid-template-columns: 1fr; }
  .ulaula-top-card { min-height: 0; }
}
.main-content {
  flex: 1 0 auto;
}

@media (max-width: 768px) {
  /* Spazio in fondo per non far coprire il contenuto dalla tab-bar mobile */
  .main-content {
    padding-bottom: calc(3.5rem + env(safe-area-inset-bottom, 0px));
  }
}
a { color: var(--mp-link); text-decoration: none; }
a:hover { color: var(--mp-link-hover); text-decoration: underline; }
.page-width {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* ========== CARD PRODOTTO COME ulaula ========== */
.product-card,
.ulaula-card {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.product-card:hover,
.ulaula-card:hover {
  border-color: var(--mp-accent);
  box-shadow: var(--mp-shadow-hover);
}
/* Immagine sempre quadrata (1:1) – contenimento badge */
.product-card {
  position: relative;
}
.product-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  flex-shrink: 0;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}
.product-card__media-link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem;
  box-sizing: border-box;
}
.product-card__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.product-card__no-image {
  color: var(--mp-text-muted);
  font-size: 0.75rem;
}
.product-card__badge {
  position: absolute;
  top: 0.35rem;
  left: 0.35rem;
  z-index: 2;
  background: var(--mp-badge);
  color: var(--mp-white);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.2rem;
  max-width: calc(100% - 0.5rem);
  line-height: 1.2;
}

.product-card__body {
  padding: 0.75rem 0.85rem 0.85rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.product-card__title {
  font-size: 0.8rem;
  line-height: 1.3;
  margin: 0 0 0.2rem;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
}
.product-card__title a {
  color: #0066c0;
}
.product-card__title a:hover {
  color: var(--mp-accent-hover);
  text-decoration: underline;
}
.product-card__delivery {
  font-size: 0.65rem;
  color: var(--mp-text-muted);
  margin: 0 0 0.25rem;
}
.product-card__price-wrap {
  margin-bottom: 0.4rem;
}
.product-card__price {
  font-weight: 700;
  font-size: 1rem;
  color: var(--mp-price);
}
.product-card__price s {
  font-weight: 400;
  font-size: 0.7rem;
  color: var(--mp-text-muted);
  margin-left: 0.2rem;
}
.product-card__price--sale {
  color: var(--mp-price-sale);
}
.product-card__btn {
  margin-top: auto;
  width: 100%;
  padding: 0.4rem 0.6rem;
  font-size: 0.75rem;
  border-radius: 12px;
  line-height: 1.1;
  min-height: 38px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ========== BOTTONI STILE ulaula ========== */
.btn {
  display: inline-block;
  padding: 0.6rem 1rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  text-align: center;
}
.btn:hover { text-decoration: none; }
.btn--primary {
  background: var(--mp-accent);
  color: #fff;
  box-shadow: 0 2px 5px rgba(13, 148, 136, 0.3);
}
.btn--primary:hover {
  background: var(--mp-accent-hover);
  color: #fff;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.4);
}
.btn--primary:disabled {
  background: var(--mp-text-muted);
  cursor: not-allowed;
  box-shadow: none;
}
.btn--buy {
  background: var(--mp-accent-light);
  color: var(--mp-header);
  border: 1px solid var(--mp-accent);
}
.btn--buy:hover {
  background: #99f6e4;
  color: var(--mp-header);
}
.btn--secondary {
  background: var(--mp-white);
  color: var(--mp-text);
  border: 1px solid var(--mp-border);
}
.btn--secondary:hover {
  background: var(--mp-bg);
  color: var(--mp-text);
}
.btn--block { width: 100%; display: block; }

.collection-tile:hover { border-color: var(--mp-accent); box-shadow: var(--mp-shadow-hover); color: var(--mp-text); }

/* ========== PAGINA CATEGORIE (/collections) ========== */
.categories-page {
  padding: 1.5rem 0 3rem;
}
.categories-page__header {
  margin-bottom: 1.75rem;
}
.categories-page__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--mp-text);
  margin: 0 0 0.35rem;
}
.categories-page__subtitle {
  font-size: 0.9375rem;
  color: var(--mp-text-muted);
  margin: 0;
}
.categories-page__grid {
  display: grid;
  grid-template-columns: repeat(var(--cols-mobile, 2), 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.category-card {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  overflow: hidden;
  text-decoration: none;
  color: var(--mp-text);
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.category-card:hover {
  border-color: var(--mp-accent);
  box-shadow: var(--mp-shadow-hover);
  color: var(--mp-text);
  text-decoration: none;
}
.category-card__media {
  width: 100%;
  aspect-ratio: 1;
  background: var(--mp-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.category-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.category-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mp-border);
  color: var(--mp-text-muted);
}
.category-card__placeholder-icon {
  font-size: 2.5rem;
}
.category-card__body {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.category-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}
.category-card__count {
  font-size: 0.8125rem;
  color: var(--mp-text-muted);
}

@media (min-width: 750px) {
  .categories-page__grid {
    grid-template-columns: repeat(var(--cols-desktop, 4), 1fr);
    gap: 1.25rem;
  }
  .categories-page__title { font-size: 2rem; }
}

/* Tile categorie homepage */
.category-tile {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 10px;
  padding: 1.25rem;
  text-align: center;
  text-decoration: none;
  color: var(--mp-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.category-tile:hover {
  border-color: var(--mp-accent);
  box-shadow: var(--mp-shadow-hover);
  color: var(--mp-text);
  text-decoration: none;
}
.category-tile__icon {
  width: 64px;
  height: 64px;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}
.category-tile__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.category-tile__icon--placeholder {
  background: var(--mp-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mp-text-muted);
  font-size: 1.5rem;
}
.category-tile__label {
  font-size: 0.8125rem;
  font-weight: 500;
}

/* ========== SEZIONI HOMEPAGE STILE ulaula ========== */
.section-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--mp-text);
  margin: 0 0 1.25rem;
  display: block;
}

/* Header sezione: titolo a sinistra, link a destra */
.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
}
.section-head__title { margin: 0; }
.section-head__link {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mp-accent);
  text-decoration: none;
}
.section-head__link:hover {
  color: var(--mp-accent-hover);
  text-decoration: underline;
}
.section-product-grid,
.section-category-tiles {
  padding: 2.25rem 0 2.75rem;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
}

/* ========== CAROUSEL PRODOTTI (scorrevoli) ========== */
.section-product-carousel {
  padding: 2.25rem 0 2.75rem;
}
.section-product-carousel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.section-product-carousel__header .section-title {
  margin: 0;
}
.section-product-carousel__view-all {
  flex-shrink: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--mp-accent);
  text-decoration: none;
}
.section-product-carousel__view-all:hover {
  text-decoration: underline;
  color: var(--mp-accent-hover);
}
.product-carousel {
  /* Wrapper non scrollabile: serve per fissare il fade a destra
     (altrimenti l'overlay scorre “attaccato” ai prodotti). */
  position: relative;
  overflow: hidden;
}
.product-carousel__track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding: 0.25rem 0 1rem;
  padding-left: max(1.25rem, env(safe-area-inset-left));
  padding-right: max(1.25rem, env(safe-area-inset-right));
}
.section-product-carousel__body .product-carousel__track {
  /* Il carousel è già dentro .page-width: evita padding doppio */
  padding-left: 0;
  padding-right: 0;
}
.product-carousel__track::-webkit-scrollbar {
  height: 6px;
}
.product-carousel__track::-webkit-scrollbar-track {
  background: var(--mp-border);
  border-radius: 3px;
}
.product-carousel__track::-webkit-scrollbar-thumb {
  background: var(--mp-text-muted);
  border-radius: 3px;
}

/* Desktop: niente scrollbar, solo frecce */
@media (min-width: 769px) {
  .section-product-carousel__body { position: relative; }
  .product-carousel__track {
    scrollbar-width: none;
  }
  .product-carousel__track::-webkit-scrollbar {
    display: none;
  }

  /* spazio laterale per non coprire le card con le frecce */
  .section-product-carousel__body { padding-left: 2.25rem; padding-right: 2.25rem; }
  .section-product-carousel__body .product-carousel__track { padding-left: 0; padding-right: 0; }

  .carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.10);
    background: rgba(255,255,255,0.92);
    color: #111827;
    box-shadow: 0 8px 18px rgba(0,0,0,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    user-select: none;
    font-size: 28px;
    line-height: 1;
    padding: 0;
  }
  .carousel-arrow:hover {
    background: #fff;
    border-color: rgba(0,0,0,0.18);
  }
  .carousel-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    box-shadow: none;
  }
  .carousel-arrow--prev { left: 0.25rem; }
  .carousel-arrow--next { right: 0.25rem; }
}

/* Fade laterale (sensazione “infinite shelf”) */
.product-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 56px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(243,243,243,0) 0%, rgba(243,243,243,1) 85%);
}
.template-index .section-product-carousel .product-carousel::after {
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 85%);
}
.product-carousel__item {
  flex: 0 0 auto;
  scroll-snap-align: start;
  min-width: 160px;
  max-width: 180px;
  overflow: hidden;
  position: relative;
}
.product-carousel__item .product-card {
  height: 100%;
}
@media (min-width: 769px) {
  .product-carousel__item {
    min-width: 200px;
    max-width: 240px;
  }
}
.product-carousel__empty {
  padding: 2rem max(1.25rem, env(safe-area-inset-left));
  color: var(--mp-text-muted);
  margin: 0;
}

/* ========== CATEGORIE SCORREVOLI (carousel) ========== */
.section-category-tiles--carousel .category-tiles {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}
.section-category-tiles--carousel .category-tiles::-webkit-scrollbar {
  height: 6px;
}
.section-category-tiles--carousel .category-tiles::-webkit-scrollbar-track {
  background: var(--mp-border);
  border-radius: 3px;
}
.section-category-tiles--carousel .category-tiles::-webkit-scrollbar-thumb {
  background: var(--mp-text-muted);
  border-radius: 3px;
}
.category-tiles__track {
  display: flex;
  gap: 1rem;
  padding: 0.25rem 0 1rem;
  padding-left: max(1.25rem, env(safe-area-inset-left));
  padding-right: max(1.25rem, env(safe-area-inset-right));
}
.section-category-tiles:not(.section-category-tiles--carousel) .category-tiles__track {
  display: contents;
}
.section-category-tiles--carousel .category-tile {
  flex: 0 0 auto;
  scroll-snap-align: start;
  min-width: 140px;
  max-width: 160px;
}

.category-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}
/* Hero full-width, attaccato ai bordi, impatto visivo */
.home-hero {
  width: 100%;
  margin: 0;
  padding: 5rem 0;
  min-height: 380px;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #1e3a5f 0%, #0f2744 50%, #1e4976 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 50% at 100% 0%, rgba(5, 150, 105, 0.15) 0%, transparent 50%);
  pointer-events: none;
}
.home-hero .page-width {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}
.template-index .main-content { background: var(--mp-bg); }
.template-index main#MainContent { padding-top: 0; }
.template-index .home-hero { padding-top: 0; }
.template-index .section-product-grid .product-card,
.template-index .section-product-carousel .product-card,
.template-index .section-category-tiles .category-tile,
.template-index .banner-inner { border-radius: var(--mp-radius); }
.home-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin: 0 0 0.5rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.home-hero__subtitle {
  font-size: 1rem;
  margin: 0 auto 1.5rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
  max-width: 32em;
}
.section-banner {
  padding: 2rem 0;
}

/* Strip prodotti centrale stile ulaula (riempie tutta la riga) */
.section-banner--strip {
  padding: 1.75rem 0 2rem;
}

.banner-strip {
  background: var(--mp-white);
  border-radius: var(--mp-radius);
  box-shadow: var(--mp-shadow);
  padding: 1.25rem 1.25rem 1.5rem;
}

.banner-strip__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.banner-strip__title {
  margin: 0;
  font-size: 1.15rem;
}

.banner-strip__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mp-accent);
  text-decoration: none;
}

.banner-strip__link:hover {
  text-decoration: underline;
}

.banner-strip__track {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
  -webkit-overflow-scrolling: touch;
}
.banner-strip__track-wrap {
  position: relative;
}

@media (min-width: 769px) {
  /* Desktop: niente scrollbar, frecce come i carousel */
  .banner-strip__track {
    scrollbar-width: none;
  }
  .banner-strip__track::-webkit-scrollbar {
    display: none;
  }
  /* spazio laterale per le frecce */
  .banner-strip__track-wrap { padding-left: 2.25rem; padding-right: 2.25rem; }
}

.banner-strip__track::-webkit-scrollbar {
  height: 6px;
}
.banner-strip__track::-webkit-scrollbar-track {
  background: var(--mp-border);
  border-radius: 3px;
}
.banner-strip__track::-webkit-scrollbar-thumb {
  background: var(--mp-text-muted);
  border-radius: 3px;
}

.banner-strip__item {
  flex: 0 0 180px;
  max-width: 200px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--mp-border);
  padding: 0.6rem;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  position: relative;
  overflow: hidden;
}

.banner-strip__item:hover {
  border-color: var(--mp-accent);
  box-shadow: var(--mp-shadow-hover);
}

.banner-strip__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: var(--mp-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

.banner-strip__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.banner-strip__deal-badge {
  position: absolute;
  top: 0.35rem;
  left: 0.35rem;
  right: auto;
  bottom: auto;
  z-index: 2;
  background: #cc0c39;
  color: #fff;
  font-weight: 800;
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.banner-strip__info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.banner-strip__product-title {
  font-size: 0.8rem;
  line-height: 1.3;
  max-height: 2.6em;
  overflow: hidden;
}

.banner-strip__price {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--mp-price);
}
.banner-strip__price-current { font-weight: 800; }
.banner-strip__price-compare {
  margin-left: 0.35rem;
  font-weight: 600;
  color: var(--mp-text-muted);
  font-size: 0.8rem;
}

.banner-strip__empty {
  margin: 0;
  font-size: 0.875rem;
  color: var(--mp-text-muted);
}

@media (max-width: 768px) {
  .banner-strip {
    border-radius: 12px;
    padding: 1rem 1rem 1.25rem;
  }
  .banner-strip__item {
    flex: 0 0 150px;
    min-width: 0;
  }
}

/* ========== CARD PRODOTTO – rifiniture ========== */
.product-card__body {
  padding: 1rem 1.1rem;
}
@media (min-width: 769px) {
  .product-card__title { min-height: 2.85em; }
}

/* Mobile: gutter laterale come ulaula – main ha il padding, tutto il contenuto rispettato */
@media (max-width: 768px) {
  :root {
    --mobile-gutter: 1.5rem;
    --header-mobile-gutter: 1.5rem;
  }
  main#MainContent {
    padding-left: max(var(--mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--mobile-gutter), env(safe-area-inset-right));
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0));
    padding-top: 0.5rem;
  }
  .page-width {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
  }
  .cart-page {
    padding: 1.25rem 0 1.75rem;
  }
  .cart-items {
    padding: 0.75rem;
  }
  .cart-item {
    gap: 0.75rem;
    padding: 0.75rem 0;
    align-items: flex-start;
  }
  .cart-item__image {
    width: 72px;
    height: 72px;
  }
  .cart-item__price-wrap {
    text-align: left;
    font-size: 0.8rem;
  }
  .cart-summary {
    margin-top: 1.25rem;
    position: static;
    width: 100%;
  }
  .collection-layout { grid-template-columns: 1fr; }
  .collection-sidebar { position: static; }
  .product-page__layout { grid-template-columns: 1fr; }
  .search-form { flex-direction: column; }
  .search-form__submit { width: 100%; }

  .section-product-grid,
  .section-category-tiles,
  .section-product-carousel { padding: 1.75rem 0 2rem; }
  .section-title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid var(--mp-accent);
  }
  /* Griglia 2x2: card quadrate su mobile, più grandi e con più padding interno */
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
  }
  .product-grid .product-card {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    box-shadow: var(--mp-shadow);
    overflow: hidden;
  }
  .product-grid .product-card__media {
    flex: 1;
    min-height: 0;
    padding: 0.75rem;
    aspect-ratio: unset;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product-grid .product-card__body {
    flex-shrink: 0;
    min-height: 5.5rem;
    padding: 0.75rem 0.8rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }
  .product-grid .product-card__title {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    min-height: 2.4em;
    display: -webkit-box;
      line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--mp-text);
    margin: 0;
  }
  .product-grid .product-card__title a {
    color: var(--mp-text);
    text-decoration: none;
  }
  .product-grid .product-card__title a:hover {
    color: var(--mp-accent);
    text-decoration: underline;
  }
  .product-grid .product-card__delivery {
    font-size: 0.6rem;
    margin: 0;
  }
  .product-grid .product-card__price-wrap {
    margin: 0;
  }
  .product-grid .product-card__price {
    font-size: 0.9375rem;
  }
  .product-grid   .product-card__btn {
    margin-top: auto;
    padding: 0.5rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    width: 100%;
    text-align: center;
    border-radius: 8px;
    line-height: 1.1;
    min-height: 38px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* Nuovi arrivi / Offerte del giorno: immagini più grandi su mobile */
  .section-product-grid--compact .product-grid .product-card {
    aspect-ratio: unset;
  }
  .section-product-grid--compact .product-grid .product-card__media {
    flex: 1 1 auto;
    aspect-ratio: 1;
    min-height: 140px;
    padding: 0.5rem;
  }
  .section-product-grid--compact .product-grid .product-card__body {
    min-height: 4.25rem;
  }
  .product-card {
    border-radius: 10px;
    box-shadow: var(--mp-shadow);
    overflow: hidden;
  }
  .product-card__media {
    padding: 0.65rem;
    aspect-ratio: 1;
  }
  /* Badge sconto stile ulaula: barra rossa sotto l’immagine */
  .product-card__badge {
    top: 0.35rem;
    left: 0.35rem;
    bottom: auto;
    right: auto;
    width: auto;
    margin: 0;
    border-radius: 6px;
    padding: 0.25rem 0.45rem;
    font-size: 0.7rem;
    text-align: center;
    background: #c41e3a;
    color: #fff;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.15rem;
    line-height: 1.2;
    max-width: calc(100% - 0.5rem);
  }
  .product-card__badge-percent { font-weight: 700; }
  .product-card__badge-label { font-size: 0.6rem; }
  .product-card__badge-time { display: none; }
  .product-card__body {
    padding: 0.75rem 0.7rem 0.85rem;
  }
  .product-card__title {
    font-size: 0.8125rem;
    min-height: 2.5em;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    line-height: 1.25;
  }
  .product-card__delivery { font-size: 0.65rem; margin-bottom: 0.2rem; }
  .product-card__price { font-size: 0.9375rem; }
  .product-card__btn {
    padding: 0.5rem 0.5rem;
    font-size: 0.75rem;
    margin-top: 0.35rem;
    line-height: 1.1;
    min-height: 38px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* Carousel: card larghe come ulaula (2 visibili e mezzo) */
  .product-carousel__item {
    min-width: 200px;
    max-width: 260px;
  }
  .category-tile {
    padding: 1rem;
    border-radius: 12px;
  }
  .category-tiles {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.875rem;
  }
  .home-hero {
    padding: 2rem 0;
  }
  .home-hero .page-width {
    padding-left: max(var(--mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--mobile-gutter), env(safe-area-inset-right));
    max-width: none;
  }
  .banner-inner { padding: 1.5rem 1rem; border-radius: 12px; }

  /* ========== HOMEPAGE MOBILE – rifiniture ========== */
  .template-index .home-hero {
    padding: 0 0 4rem 0;
    min-height: 300px;
  }
  .template-index .home-hero__title {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
  }
  .template-index .home-hero__subtitle {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
  }
  .template-index .home-hero .btn--primary {
    padding: 0.7rem 1.25rem;
    font-size: 0.9375rem;
  }
  .template-index .section-category-tiles,
  .template-index .section-product-carousel,
  .template-index .section-product-grid {
    padding: 2rem 0;
  }
  .template-index .section-category-tiles:first-of-type {
    padding-top: 1.5rem;
  }
  .template-index .section-title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
  }
  .template-index .section-product-grid.page-width {
    padding-left: max(0.6rem, env(safe-area-inset-left));
    padding-right: max(0.6rem, env(safe-area-inset-right));
  }
  .template-index .section-product-grid .product-grid {
    gap: 0.5rem;
  }
  .template-index .section-product-grid .product-card {
    border-radius: 10px;
  }
  .template-index .section-category-tiles.page-width {
    padding-left: 0;
    padding-right: 0;
  }
  .template-index .section-banner.page-width {
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
  }
  .template-index .banner-inner {
    padding: 1.5rem 1.25rem;
    border-radius: 10px;
  }
  .template-index .section-product-carousel .section-product-carousel__header {
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
    margin-bottom: 0.75rem;
  }
  /* Header mobile sulla home: si distingue dall’hero (stesso blu) */
  /* Navbar mobile: stesso colore ovunque (var --mp-header) */
  .site-header--mobile {
    background: var(--mp-header);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  }
  body.header-home .site-header--mobile {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  body.header-home .shopify-section:first-of-type {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    margin: 0;
  }
  /* Hero full-bleed sulla home: esce dal padding di main, attaccato ai bordi */
  body.header-home .home-hero {
    width: calc(100% + 2 * max(var(--mobile-gutter), env(safe-area-inset-right)));
    max-width: none;
    margin-left: calc(-1 * max(var(--mobile-gutter), env(safe-area-inset-left)));
    margin-right: calc(-1 * max(var(--mobile-gutter), env(safe-area-inset-right)));
    padding-left: max(var(--mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--mobile-gutter), env(safe-area-inset-right));
    box-sizing: border-box;
  }
  body.header-home .home-hero .page-width {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
  }
}

/* Breakpoint tablet: 3 col prodotti se spazio */
@media (min-width: 481px) and (max-width: 768px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 769px) {
  .product-grid { gap: 1.5rem; }
  .category-tiles { gap: 1.25rem; }

  /* ========== DESKTOP HOMEPAGE – GRIGLIA COME ulaula.IT ========== */
  /* Riga 1: Hero a tutta larghezza | Riga 2: 4 blocchi affiancati | Riga 3: 2 blocchi larghi */
  .template-index main#MainContent {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem 1.25rem;
    align-items: start;
  }
  .template-index main#MainContent > .shopify-section:first-child {
    grid-column: 1 / -1;
  }
  /* Riga 2: Categorie e Banner in 2 colonne; In evidenza e Scelte per te a tutta larghezza (come Offerte top per te) */
  .template-index main#MainContent > .shopify-section:nth-child(2),
  .template-index main#MainContent > .shopify-section:nth-child(4) {
    grid-column: span 1;
    margin-bottom: 0;
  }
  .template-index main#MainContent > .shopify-section:nth-child(3),
  .template-index main#MainContent > .shopify-section:nth-child(5) {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }
  /* Riga 3: Offerte del giorno | Nuovi arrivi – ciascuno 2 colonne */
  .template-index main#MainContent > .shopify-section:nth-child(6),
  .template-index main#MainContent > .shopify-section:nth-child(7) {
    grid-column: span 2;
    margin-bottom: 0;
  }

  /* Blocchi bianchi (come ulaula: “Riprendi da dove hai lasciato”, “I tuoi prodotti in offerta”, ecc.) */
  .template-index .section-category-tiles.page-width,
  .template-index .section-product-grid.page-width,
  .template-index .section-banner.page-width,
  .template-index .section-product-carousel {
    background: var(--mp-white);
    border-radius: var(--mp-radius);
    box-shadow: var(--mp-shadow);
    padding: 1.25rem 1rem 1.5rem;
    margin-bottom: 0;
    height: 100%;
    min-height: 320px;
    box-sizing: border-box;
  }
  .template-index .section-product-carousel__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0;
    margin-bottom: 1rem;
  }
  .template-index .section-product-carousel .product-carousel {
    padding: 0;
  }

  /* Blocco 1/4: Categorie – 2 colonne di tile (come “Shop by Department”) */
  .template-index main#MainContent > .shopify-section:nth-child(2) .category-tiles,
  .template-index main#MainContent > .shopify-section:nth-child(2).section-category-tiles--carousel .category-tiles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    overflow: visible;
    scroll-snap-type: none;
  }
  .template-index main#MainContent > .shopify-section:nth-child(2) .category-tiles__track {
    display: contents;
  }
  .template-index main#MainContent > .shopify-section:nth-child(2) .category-tile {
    flex: unset;
    min-width: unset;
    max-width: unset;
    padding: 0.75rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(2) .category-tile__icon {
    width: 48px;
    height: 48px;
    margin-bottom: 0.35rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(2) .category-tile__label {
    font-size: 0.75rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(2) .section-title {
    margin-bottom: 1rem;
    font-size: 1.1rem;
  }

  /* In evidenza e Scelte per te: carousel orizzontale a tutta larghezza (come Offerte top per te), niente override */

  /* Blocco 1/4: Banner CTA (es. “Offerte di oggi” / “Scopri di più”) */
  .template-index main#MainContent > .shopify-section:nth-child(4) .banner-inner {
    margin: 0;
    padding: 1rem;
    text-align: center;
  }
  .template-index main#MainContent > .shopify-section:nth-child(4) .banner-inner h2 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(4) .banner-inner p {
    font-size: 0.8125rem;
    margin-bottom: 0.75rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(4) .section-banner {
    min-height: auto;
  }

  /* Riga 3: Offerte del giorno | Nuovi arrivi – 2 colonne di prodotti ciascuno */
  .template-index main#MainContent > .shopify-section:nth-child(6) .product-grid,
  .template-index main#MainContent > .shopify-section:nth-child(7) .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .template-index main#MainContent > .shopify-section:nth-child(6) .section-title,
  .template-index main#MainContent > .shopify-section:nth-child(7) .section-title {
    margin-bottom: 1rem;
    font-size: 1.15rem;
  }
  .template-index .section-product-grid.page-width {
    min-height: auto;
  }

  /* Sezioni aggiuntive dopo la 7ª: righe intere come le fasce prodotti in basso su ulaula */
  .template-index main#MainContent > .shopify-section:nth-child(n+8) {
    grid-column: 1 / -1;
  }

  /* Desktop: categorie in griglia (niente scroll) – anche fuori da template-index */
  .section-category-tiles--carousel .category-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    overflow: visible;
    scroll-snap-type: none;
    -webkit-overflow-scrolling: auto;
  }
  .section-category-tiles--carousel .category-tiles__track {
    display: contents;
  }
  .section-category-tiles--carousel .category-tile {
    flex: unset;
    min-width: unset;
    max-width: unset;
    scroll-snap-align: unset;
  }

  /* Desktop: carousel prodotti in griglia – anche fuori da template-index */
  .section-product-carousel .product-carousel {
    overflow: visible;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    padding: 0 1.25rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
    scroll-snap-type: none;
  }
  .section-product-carousel .product-carousel__track {
    display: contents;
  }
  .section-product-carousel .product-carousel__item {
    flex: unset;
    min-width: unset;
    max-width: unset;
    scroll-snap-align: unset;
  }

  /* Desktop: badge sconto piccolo in angolo (non barra) */
  .product-card__badge {
    top: 0.35rem;
    left: 0.35rem;
    bottom: auto;
    right: auto;
    width: auto;
    padding: 0.15rem 0.4rem;
    font-size: 0.65rem;
    flex-direction: row;
    background: var(--mp-badge);
    border-radius: 2px;
  }
  .product-card__badge-label,
  .product-card__badge-time { display: none; }
}

/* ========== PAGINA PRODOTTO ========== */
/* ========== PRODUCT PAGE – 3 COLONNE (ulaula-style) ========== */
.product-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) 340px;
  gap: 1.5rem;
  align-items: start;
  padding: 1.5rem 0 2rem;
}
/* Ordine DOM: gallery, buybox, center – desktop: 3 colonne gallery | center | buybox (immagini sempre visibili) */
.product-page__gallery { grid-column: 1; }
.product-page__buybox-wrap { grid-column: 3; }
.product-page__center { grid-column: 2; }
.product-page__gallery {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  overflow: hidden;
  box-shadow: var(--mp-shadow);
  padding: 0.75rem;
}
.product-gallery {
  display: flex;
  gap: 0.5rem;
  flex-direction: row;
}
.product-gallery__thumbs-vertical {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex-shrink: 0;
}
.product-gallery__thumb {
  width: 56px;
  height: 56px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  background: var(--mp-bg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__thumb.is-active,
.product-gallery__thumb:hover { border-color: var(--mp-accent); }
.product-gallery__main-wrap {
  flex: 1;
  min-width: 0;
  background: var(--mp-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
}
.product-gallery__main {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.product-gallery__placeholder {
  aspect-ratio: 1;
  width: 100%;
  background: var(--mp-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mp-text-muted);
  font-size: 0.875rem;
}
.product-gallery__thumbs-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}
.product-gallery__thumbs-horizontal img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
}
.product-gallery__thumbs-horizontal img:hover { border-color: var(--mp-accent); }

.product-page__center {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--mp-shadow);
}
.product-page__title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 600;
  color: var(--mp-text);
  font-family: var(--mp-font);
}
.product-page__rating { margin-bottom: 0.5rem; }
.product-page__rating-stars { color: var(--mp-accent); font-size: 0.875rem; }
.product-page__rating-text { font-size: 0.75rem; color: var(--mp-text-muted); margin-left: 0.35rem; }
.product-page__price-block { margin-bottom: 0.35rem; }
.product-page__price { font-size: 1.25rem; font-weight: 700; color: var(--mp-price); }
.product-page__compare-price { font-size: 0.875rem; color: var(--mp-text-muted); margin-left: 0.5rem; }
.product-page__delivery { font-size: 0.8125rem; color: var(--mp-text-muted); margin: 0 0 0.75rem; }
.product-page__variants { margin-bottom: 0.75rem; }
.product-page__variants label { display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.25rem; }
.product-page__select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  font-size: 0.9375rem;
}
.product-page__description {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--mp-text-muted);
  margin-top: 0.75rem;
}
.product-page__full-description {
  margin-top: 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--mp-border);
}
.product-page__full-description h2 { font-size: 1.125rem; margin: 0 0 1rem; }

.product-page__buybox-wrap { position: relative; }
.product-buybox {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  padding: 1.25rem;
  box-shadow: var(--mp-shadow);
}
.product-buybox--sticky {
  position: sticky;
  top: 1rem;
}
.product-buybox__price {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--mp-price);
  margin-bottom: 0.35rem;
}
.product-buybox__price s { font-size: 0.875rem; color: var(--mp-text-muted); margin-left: 0.5rem; }
.product-buybox__availability { font-size: 0.875rem; color: var(--mp-accent); margin: 0 0 0.25rem; }
.product-buybox__delivery { font-size: 0.8125rem; color: var(--mp-text-muted); margin: 0 0 1rem; }
.product-buybox__form label { display: block; margin-bottom: 0.25rem; font-size: 0.875rem; font-weight: 500; }
.product-buybox__form select,
.product-buybox__form input[type="number"] {
  width: 100%;
  max-width: 100%;
  padding: 0.5rem 0.625rem;
  margin-bottom: 0.6rem;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  font-size: 0.9375rem;
}
.product-buybox__form input[type="number"] { width: 80px; }
.product-buybox__form .btn { width: 100%; padding: 0.65rem 1rem; margin-top: 0.25rem; }
.product-buybox__form--buy { margin-top: 0.5rem; }
.product-buybox__form--buy .btn { margin-top: 0; }

@media (max-width: 1024px) {
  .product-page__layout { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .product-page__gallery { grid-column: 1; }
  .product-page__buybox-wrap { grid-column: 2; }
  .product-page__center { grid-column: 1 / -1; }
  .product-gallery__thumbs-vertical { display: none; }
  .product-gallery__thumbs-horizontal { display: flex; }
}
@media (max-width: 768px) {
  .product-page__layout {
    grid-template-columns: 1fr;
    padding: 1rem 0;
  }
  .product-page__gallery,
  .product-page__center,
  .product-page__buybox-wrap { grid-column: 1; }
  .product-buybox--sticky { position: static; }
  .product-gallery__thumbs-vertical { display: none; }
  .product-gallery__thumbs-horizontal { display: flex; }
}

/* ========== ARTICOLO SINGOLO – LAYOUT PULITO COME ulaula ========== */
.article-single {
  padding: 1.5rem 0 3rem;
}
.article-single__card {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  max-width: 900px;
  margin: 0 auto;
}
.article-single__hero {
  width: 100%;
  background: var(--mp-bg);
  overflow: hidden;
}
.article-single__img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--mp-bg);
}
.article-single__inner {
  padding: 2rem 2rem 2.5rem;
  max-width: 100%;
  box-sizing: border-box;
}
.article-single__header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--mp-border);
}
.article-single__title {
  margin: 0 0 0.35rem;
  font-size: 1.625rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--mp-text);
}
.article-single__meta {
  margin: 0;
  font-size: 0.875rem;
  color: var(--mp-text-muted);
}
.article-single__body {
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  overflow-x: hidden;
  box-sizing: border-box;
}
.article-single__body.rte {
  line-height: 1.7;
  font-size: 1rem;
  color: var(--mp-text);
}
.article-single__body.rte p {
  margin: 0 0 1rem;
}
.article-single__body.rte p:last-child {
  margin-bottom: 0;
}
.article-single__body.rte h2 {
  font-size: 1.2rem;
  margin: 1.75rem 0 0.5rem;
  font-weight: 700;
  color: var(--mp-text);
}
.article-single__body.rte h3 {
  font-size: 1.05rem;
  margin: 1.5rem 0 0.4rem;
  font-weight: 600;
  color: var(--mp-text);
}
.article-single__body.rte ul,
.article-single__body.rte ol {
  margin: 0 0 1rem;
  padding-left: 1.5rem;
}
.article-single__body.rte li {
  margin-bottom: 0.35rem;
}
/* Immagini nel contenuto: dimensioni ragionevoli, sempre visibili */
.article-single__body.rte img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block !important;
  visibility: visible !important;
  border-radius: 6px;
  margin: 1rem 0;
  object-fit: contain;
}
.article-single__body.rte p img,
.article-single__body.rte figure img {
  max-width: 100%;
  height: auto;
  display: block !important;
}
.article-single__body.rte iframe,
.article-single__body.rte video {
  max-width: 100%;
}
.article-single__footer {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--mp-border);
}
/* Prodotti correlati sotto articolo */
.article-single__related {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--mp-border);
}
/* Mobile: card con padding, niente attaccata ai bordi, immagini visibili */
@media (max-width: 768px) {
  .article-single { padding: 1rem 0 2rem; }
  .article-single__inner {
    padding: 1.25rem 1.25rem 1.75rem;
  }
  .article-single__title { font-size: 1.25rem; }
  .article-single__body.rte { font-size: 0.9375rem; }
  .article-single__body.rte img,
  .article-single__body.rte p img,
  .article-single__body.rte figure img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    visibility: visible !important;
    margin: 0.75rem 0;
  }
}

/* ========== BREADCRUMB ========== */
.breadcrumb {
  padding: 1.5rem 0 1rem;
  font-size: 0.8125rem;
  color: var(--mp-text-muted);
}
.breadcrumb a {
  color: var(--mp-link);
  text-decoration: none;
}
.breadcrumb a:hover { color: var(--mp-accent); text-decoration: none; }
.breadcrumb__sep {
  margin: 0 0.35rem;
  color: var(--mp-text-muted);
}
.breadcrumb__current {
  color: var(--mp-text);
  font-weight: 500;
}

/* ========== PAGINA COLLEZIONE ========== */
.collection-page { padding: 1.5rem 0; min-height: 60vh; }
.collection-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 1.5rem;
  margin-top: 0.5rem;
}
.collection-sidebar {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 10px;
  padding: 1rem;
  height: fit-content;
  position: sticky;
  top: 1rem;
}
.collection-sidebar__title { margin: 0 0 1rem; font-size: 1rem; font-weight: 600; color: var(--mp-text); }
.collection-filters__group {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--mp-border);
}
.collection-filters__group:last-child { border-bottom: none; }
.collection-filters__heading {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mp-text);
  cursor: pointer;
  font-family: var(--mp-font);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.collection-filters__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.collection-filters__list li { margin-bottom: 0.35rem; }
.collection-filters__link {
  display: block;
  font-size: 0.8125rem;
  color: var(--mp-text-muted);
  text-decoration: none;
  padding: 0.25rem 0;
}
.collection-filters__link:hover,
.collection-filters__link.is-active { color: var(--mp-accent); }
.collection-filters__checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--mp-text-muted);
  cursor: pointer;
}
.collection-filters__checkbox input { width: 1rem; height: 1rem; }
.collection-filters__help { font-size: 0.75rem; color: var(--mp-text-muted); margin: 0.5rem 0 0; }
.collection-filters__price-range{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.collection-filters__price-field{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: default;
  margin: 0;
}
.collection-filters__price-label{
  min-width: 2.25rem;
  color: var(--mp-text-muted);
  font-size: 0.8125rem;
  font-weight: 600;
}
.collection-filters__price-input{
  width: 100%;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--mp-border);
  border-radius: 10px;
  background: #fff;
  color: var(--mp-text);
  font-family: var(--mp-font);
  font-size: 0.875rem;
  line-height: 1.1;
  min-height: 38px;
}
.collection-filters__price-input:focus{
  outline: none;
  border-color: rgba(5, 150, 105, 0.75);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
}
.collection-filters__price-input:disabled{
  opacity: 0.55;
  background: #f3f4f6;
  cursor: not-allowed;
}
.collection-filters__apply{
  margin-top: 0.5rem;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  font-size: 0.8125rem;
}
.collection-title { margin: 0 0 0.5rem; font-size: 1.5rem; font-family: var(--mp-font); }
.collection-description { margin-bottom: 1rem; font-size: 0.875rem; color: var(--mp-text-muted); }
.collection-empty { grid-column: 1 / -1; color: var(--mp-text-muted); margin: 0; }
.pagination {
  margin-top: 2rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.pagination__current { opacity: 0.7; cursor: default; }
.pagination .btn { border-radius: 20px; }

@media (max-width: 768px) {
  /* Layout collezione in colonna su mobile:
     filtri sopra, prodotti sotto, niente overflow laterale */
  .collection-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .collection-sidebar {
    position: static;
    width: 100%;
  }
}

/* ========== PAGINA CARRELLO ========== */
.cart-page { padding: 2rem 0; }
.cart-page__title { margin: 0 0 1.5rem; font-size: 1.5rem; }
.cart-page__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  align-items: start;
}
.cart-items {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 12px;
  padding: 1rem;
  box-shadow: var(--mp-shadow);
}
.cart-item {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--mp-border);
  align-items: center;
}
.cart-item:last-child { border-bottom: none; }
.cart-item__image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mp-bg);
}
.cart-item__image img { width: 100%; height: 100%; object-fit: contain; }
.cart-item__placeholder { font-size: 0.75rem; color: var(--mp-text-muted); }
.cart-item__details { flex: 1; min-width: 0; }
.cart-item__title { font-weight: 600; color: var(--mp-text); text-decoration: none; display: block; }
.cart-item__title:hover { color: var(--mp-accent); text-decoration: none; }
.cart-item__variant { margin: 0.25rem 0 0; font-size: 0.8125rem; color: var(--mp-text-muted); }
.cart-item__price-wrap { text-align: right; }
.cart-item__price { margin: 0; font-weight: 700; color: var(--mp-price); }
.cart-item__price--sale { display: flex; flex-direction: column; align-items: flex-end; gap: 0.15rem; }
.cart-item__price--sale .cart-item__compare { font-size: 0.85rem; font-weight: 600; color: var(--mp-text-muted); text-decoration: line-through; }
.cart-item__price--sale .cart-item__current { font-size: 1rem; font-weight: 700; color: var(--mp-price-sale); }
.cart-item__save { margin: 0.2rem 0 0; font-size: 0.7rem; font-weight: 700; color: var(--mp-accent); }
@media (max-width: 768px) {
  .cart-item__price--sale { align-items: flex-start; }
}
.cart-item__qty { margin: 0.25rem 0 0; font-size: 0.75rem; color: var(--mp-text-muted); }
.cart-item__remove { font-size: 0.75rem; }
.cart-summary {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 12px;
  padding: 1.5rem;
  position: sticky;
  top: 1rem;
  box-shadow: var(--mp-shadow);
}
.cart-summary__subtotal-label { margin: 0 0 0.5rem; font-size: 0.875rem; }
.cart-summary__total { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 700; color: var(--mp-price); }
.cart-summary__checkout { width: 100%; text-align: center; display: block; border-radius: 20px; padding: 0.75rem; }
.cart-empty__text { color: var(--mp-text-muted); margin: 0; }
.cart-empty__btn { margin-top: 0.5rem; display: inline-block; }

@media (max-width: 768px) {
  /* Layout carrello full-width in colonna su mobile */
  .cart-page__layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .cart-summary {
    position: static;
    width: 100%;
    top: auto;
    margin-top: 1.25rem;
  }
}

/* ========== PAGINA RICERCA ========== */
.search-page { padding: 2rem 0; }
.search-page__title { margin: 0 0 1rem; font-size: 1.5rem; }
.search-form {
  margin-bottom: 1.5rem;
  display: flex;
  gap: 0.5rem;
}
.search-form__input {
  flex: 1;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--mp-border);
  border-radius: 8px;
  font-size: 1rem;
}
.search-page__no-results { color: var(--mp-text-muted); margin: 0; }

/* ========== BLOG (lista articoli) ========== */
.ulaula-blog { padding: 2rem 0; }
.blog-title { margin: 0 0 1.5rem; font-size: 1.75rem; }
.blog-articles { display: grid; gap: 1.5rem; }
.blog-card {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--mp-shadow);
}
.blog-card__image-link { display: block; background: var(--mp-bg); }
.blog-card__image { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.blog-card__body { padding: 1.5rem; }
.blog-card__title { margin: 0 0 0.5rem; font-size: 1.25rem; }
.blog-card__title a { color: var(--mp-text); }
.blog-card__title a:hover { color: var(--mp-accent); text-decoration: none; }
.blog-card__meta { margin: 0 0 0.5rem; font-size: 0.875rem; color: var(--mp-text-muted); }
.blog-card__excerpt { font-size: 0.875rem; color: var(--mp-text); line-height: 1.5; }
.blog-card__link { margin-top: 0.75rem; display: inline-block; }
.blog-empty { margin: 0; color: var(--mp-text-muted); }

/* ========== PRODOTTI CORRELATI E RECENSIONI ========== */
.section-related { border-top: 1px solid var(--mp-border); }
.section-reviews { border-top: 1px solid var(--mp-border); }
.reviews-container { min-height: 2rem; }
.reviews-placeholder { font-size: 0.875rem; color: var(--mp-text-muted); margin: 0; }

/* ========== PRODUCT PAGE WRAPPER (breadcrumb) ========== */
.product-page { padding-bottom: 0; }

/* ========== PAGINA GENERICA (page) ========== */
.ulaula-page { padding: 2rem 0; }
.ulaula-page .article-page {
  margin-top: 0.5rem;
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: 8px;
  padding: 1.5rem 1.5rem 2rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.ulaula-page .article-page__body { padding: 0; }
.ulaula-page .article-page__title { margin: 0 0 1rem; font-size: 1.5rem; font-weight: 700; color: var(--mp-text); }
.ulaula-page .article-page .rte { line-height: 1.65; }

/* ========== HOMEPAGE – STRUTTURA “MARKETPLACE” (stile ulaula, senza testi/branding) ========== */
@media (min-width: 769px) {
  /* Desktop: le categorie non stanno in homepage (sono nel menu a tendina in navbar) */
  .template-index .section-category-tiles { display: none; }

  /* Disattiva la griglia a nth-child e torna a layout “feed” */
  .template-index main#MainContent {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Homepage più larga (ulaula è più “wide”) */
  .template-index .page-width {
    max-width: 1400px;
  }

  /* Sezioni: card bianche, padding coerente, spazi pieni */
  .template-index .section-category-tiles.page-width,
  .template-index .section-product-grid.page-width,
  .template-index .section-product-carousel,
  .template-index .section-banner.page-width {
    background: var(--mp-white);
    border: 1px solid var(--mp-border);
    border-radius: 12px;
    box-shadow: var(--mp-shadow);
    margin: 1rem auto;
    box-sizing: border-box;
  }

  .template-index .section-category-tiles.page-width,
  .template-index .section-product-grid.page-width,
  .template-index .section-banner.page-width {
    padding: 1.25rem 1.25rem 1.5rem;
  }

  /* Caroselli prodotti: strip orizzontale come ulaula (anche su desktop) */
  .template-index .section-product-carousel {
    max-width: 1400px;
    padding: 1.25rem 0 1.5rem;
  }
  .template-index .section-product-carousel__header {
    max-width: 1400px;
    margin: 0 auto 0.75rem;
    padding: 0 1.25rem;
  }
  .template-index .section-product-carousel .product-carousel {
    display: block !important;
    overflow: hidden !important;
  }
  .template-index .section-product-carousel .product-carousel__track {
    display: flex !important;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0.25rem 0 0.75rem;
    padding-left: 0;
    padding-right: 0;
  }
  .template-index .section-product-carousel .product-carousel__track::-webkit-scrollbar { display: none; }
  .template-index .section-product-carousel .product-carousel__item {
    flex: 0 0 auto;
    min-width: 220px;
    max-width: 240px;
    scroll-snap-align: start;
  }

  /* Categorie: strip orizzontale (icona + testo) come “scorri” ulaula */
  .template-index .section-category-tiles--carousel .category-tiles {
    display: block !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .template-index .section-category-tiles--carousel .category-tiles__track {
    display: flex !important;
    gap: 1rem;
    padding: 0.25rem 0 0.75rem;
  }
  .template-index .section-category-tiles--carousel .category-tile {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-width: 150px;
  }

  /* Grid prodotti “Offerte/Nuovi arrivi”: 4 colonne belle piene */
  .template-index .section-product-grid .product-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
  }

  /* Banner strip prodotti: la card interna già fa da modulo */
  .template-index .section-banner--strip.page-width {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
  }
}

/* ===========================
   HOMEPAGE: Offerte/Nuovi arrivi più compatti (desktop)
   =========================== */
@media (min-width: 769px) and (max-width: 1099px) {
  .template-index main#MainContent .section-product-grid--compact .product-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 0.9rem !important;
  }
}
@media (min-width: 1100px) and (max-width: 1399px) {
  .template-index main#MainContent .section-product-grid--compact .product-grid {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 0.85rem !important;
  }
}
@media (min-width: 1400px) {
  .template-index main#MainContent .section-product-grid--compact .product-grid {
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 0.8rem !important;
  }
}

@media (min-width: 769px) {
  /* Card più “piccole” dentro Offerte/Nuovi arrivi */
  .template-index main#MainContent .section-product-grid--compact .product-card__media {
    padding: 0.55rem;
  }
  .template-index main#MainContent .section-product-grid--compact .product-card__body {
    padding: 0.65rem 0.7rem 0.75rem;
  }
  .template-index main#MainContent .section-product-grid--compact .product-card__title {
    font-size: 0.74rem;
    line-height: 1.25;
    min-height: 2.35em;
  }
  .template-index main#MainContent .section-product-grid--compact .product-card__delivery {
    font-size: 0.6rem;
    margin-bottom: 0.15rem;
  }
  .template-index main#MainContent .section-product-grid--compact .product-card__price {
    font-size: 0.88rem;
  }
  .template-index main#MainContent .section-product-grid--compact .product-card__btn {
    padding: 0.42rem 0.5rem;
    font-size: 0.72rem;
    border-radius: 8px;
    line-height: 1.1;
    min-height: 36px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ========== PAGINE PROFILO / ACCOUNT (custom) ========== */
.ulaula-customer {
  padding: 1.5rem 0 3rem;
}
.ulaula-customer .breadcrumb {
  margin-bottom: 1rem;
}
.ulaula-customer__inner {
  max-width: 900px;
  margin: 0 auto;
}
.ulaula-customer__inner--form {
  max-width: 420px;
}
.ulaula-customer__title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--mp-text);
}
.ulaula-customer__greeting {
  margin: 0 0 1.5rem;
  color: var(--mp-text-muted);
  font-size: 0.95rem;
}
.ulaula-customer__grid {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.ulaula-customer__box {
  background: var(--mp-white);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  padding: 1.25rem;
  position: relative;
}
.ulaula-customer__box-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--mp-text);
}
.ulaula-customer__box-body {
  font-size: 0.9rem;
  color: var(--mp-text);
}
.ulaula-customer__box-body p {
  margin: 0 0 0.35rem;
}
.ulaula-customer__order-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ulaula-customer__order-item {
  border-bottom: 1px solid var(--mp-border);
}
.ulaula-customer__order-item:last-child {
  border-bottom: none;
}
.ulaula-customer__order-link {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0;
  text-decoration: none;
  color: var(--mp-text);
  font-size: 0.9rem;
}
.ulaula-customer__order-link:hover {
  color: var(--mp-link);
  text-decoration: none;
}
.ulaula-customer__order-name {
  font-weight: 600;
  color: var(--mp-link);
}
.ulaula-customer__order-date {
  color: var(--mp-text-muted);
  font-size: 0.85rem;
}
.ulaula-customer__order-total {
  font-weight: 600;
}
.ulaula-customer__empty {
  color: var(--mp-text-muted);
  font-size: 0.9rem;
  margin: 0;
  padding: 0.5rem 0;
}
.ulaula-customer__link {
  color: var(--mp-link);
  font-weight: 500;
  text-decoration: none;
}
.ulaula-customer__link:hover {
  text-decoration: underline;
}
.ulaula-customer__actions {
  margin-top: 1rem;
}
.ulaula-customer__btn {
  display: inline-block;
  padding: 0.6rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  font-family: var(--mp-font);
  border-radius: var(--mp-radius);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.ulaula-customer__btn--primary {
  background: var(--mp-accent);
  color: var(--mp-white);
  border-color: var(--mp-accent);
}
.ulaula-customer__btn--primary:hover {
  background: var(--mp-accent-hover);
  border-color: var(--mp-accent-hover);
  color: var(--mp-white);
}
.ulaula-customer__btn--secondary {
  background: var(--mp-white);
  color: var(--mp-text);
  border-color: var(--mp-border);
}
.ulaula-customer__btn--secondary:hover {
  background: var(--mp-bg);
  border-color: var(--mp-text-muted);
}
.ulaula-customer__btn--small {
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
}
.ulaula-customer__btn--danger {
  background: transparent;
  color: var(--mp-price-sale);
  border-color: var(--mp-price-sale);
}
.ulaula-customer__btn--danger:hover {
  background: var(--mp-price-sale);
  color: var(--mp-white);
}
.ulaula-customer__form {
  margin-bottom: 1.25rem;
}
.ulaula-customer__errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  padding: 0.75rem 1rem;
  border-radius: var(--mp-radius);
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.ulaula-customer__field {
  margin-bottom: 1rem;
}
.ulaula-customer__field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--mp-text);
}
.ulaula-customer__input {
  width: 100%;
  padding: 0.6rem 0.85rem;
  font-size: 0.9rem;
  font-family: var(--mp-font);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  background: var(--mp-white);
  color: var(--mp-text);
  box-sizing: border-box;
}
.ulaula-customer__input:focus {
  outline: none;
  border-color: var(--mp-accent);
  box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.2);
}
.ulaula-customer__input::placeholder {
  color: var(--mp-text-muted);
}
.ulaula-customer__forgot {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: var(--mp-link);
}
.ulaula-customer__forgot:hover {
  text-decoration: underline;
}
.ulaula-customer__form .ulaula-customer__btn--primary {
  margin-top: 0.25rem;
  width: 100%;
}
.ulaula-customer__switch {
  margin: 0;
  font-size: 0.9rem;
  color: var(--mp-text-muted);
}
.ulaula-customer__switch a {
  font-weight: 500;
}
.ulaula-customer__divider {
  border: none;
  border-top: 1px solid var(--mp-border);
  margin: 1.5rem 0 1rem;
}
.ulaula-customer__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 500px) {
  .ulaula-customer__row {
    grid-template-columns: 1fr;
  }
}
.ulaula-customer__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.ulaula-customer__addresses {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ulaula-customer__address {
  padding: 1.25rem;
}
.ulaula-customer__badge {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  background: var(--mp-accent);
  color: var(--mp-white);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}
.ulaula-customer__address-body {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
.ulaula-customer__address-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.ulaula-customer__form--address {
  margin-top: 1rem;
  padding: 1.25rem;
  background: var(--mp-bg);
  border-radius: var(--mp-radius);
}
.ulaula-customer__checkbox-label {
  font-weight: 400;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.ulaula-customer__form-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}
.ulaula-customer__order-detail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.ulaula-customer__order-meta p {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
}
.ulaula-customer__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.ulaula-customer__table th,
.ulaula-customer__table td {
  padding: 0.6rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--mp-border);
}
.ulaula-customer__table th {
  font-weight: 600;
  color: var(--mp-text);
  background: #fafafa;
}
.ulaula-customer__table--totals td {
  border-bottom: 1px solid var(--mp-border);
}
.ulaula-customer__total-row td {
  padding-top: 0.75rem;
  font-size: 1rem;
  border-bottom: none;
}
.ulaula-pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ulaula-pagination__link {
  display: inline-block;
  padding: 0.4rem 0.75rem;
  font-size: 0.875rem;
  color: var(--mp-link);
  text-decoration: none;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  background: var(--mp-white);
}
.ulaula-pagination__link:hover {
  background: var(--mp-bg);
  text-decoration: none;
  color: var(--mp-link-hover);
}
.ulaula-pagination__current {
  padding: 0.4rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  background: var(--mp-accent);
  color: var(--mp-white);
  border-radius: var(--mp-radius);
}
.ulaula-pagination__ellipsis {
  padding: 0.4rem 0.5rem;
  font-size: 0.875rem;
  color: var(--mp-text-muted);
}
.ulaula-pagination {
  margin-top: 1rem;
}
