/** Shopify CDN: Minification failed

Line 5458:6 Unexpected ".8"

**/
/* ============================================================
   TECHSERVICE — V0 HOMEPAGE
   Stile: light mode + e-commerce italiano professionale
   ============================================================ */

/* RESET + BASE */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-primary);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; border: none; background: none; cursor: pointer; color: inherit; }
ul { list-style: none; }
input, select, textarea { font: inherit; }

/* DESIGN TOKENS */
:root {
  /* Background */
  --bg: #FFFFFF;
  --bg-soft: #FAFAFA;
  --bg-card: #FAFAFA;
  --bg-dark: #1F1F1F;     /* nero ancora più morbido (era #171717 zinc-900 → ora più rilassato) */
  --bg-darker: #141414;   /* per accenti dove serve davvero il nero pieno */

  /* Border */
  --border: #E5E5E5;
  --border-hover: #D4D4D4;
  --border-strong: #A3A3A3;

  /* Text */
  --text-primary: #0A0A0A;
  --text-secondary: #404040;
  --text-tertiary: #737373;
  --text-muted: #A3A3A3;
  --text-inverse: #FAFAFA;

  /* Brand */
  --brand: #EA580C;           /* arancio brunito CTA primario */
  --brand-bright: #F97316;    /* hover */
  --brand-dim: #C2410C;
  --brand-soft: #FFF7ED;      /* badge bg morbido */

  /* Functional */
  --danger: #DC2626;          /* badge sconto, prezzi promo */
  --danger-soft: #FEF2F2;
  --logo-red: #DC2626;
  --logo-blue: #2563EB;
  --success: #16A34A;
  --success-soft: #F0FDF4;
  --whatsapp: #25D366;

  /* Layout */
  --container: 1280px;
  --container-narrow: 1100px;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow: 0 4px 14px rgba(0,0,0,0.06);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.08);

  /* Transition */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --t-fast: 150ms var(--ease);
  --t: 250ms var(--ease);
}

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 24px; }

/* TYPOGRAPHY */
.eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.eyebrow::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  background: var(--brand);
  border-radius: 50%;
}
.eyebrow.no-dot::before { display: none; }

h1, h2, h3, h4, h5 { font-family: 'Inter', sans-serif; font-weight: 800; letter-spacing: -0.02em; color: var(--text-primary); line-height: 1.1; }
h1 { font-size: clamp(36px, 5vw, 56px); }
h2 { font-size: clamp(28px, 3.5vw, 42px); }
h3 { font-size: clamp(20px, 2vw, 26px); font-weight: 700; }
h4 { font-size: 17px; font-weight: 700; }
em.serif { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -0.01em; color: var(--brand); }

.lead { font-size: 17px; color: var(--text-secondary); line-height: 1.6; max-width: 56ch; }
.small { font-size: 13px; color: var(--text-tertiary); }
.mono { font-family: 'JetBrains Mono', monospace; }

/* BUTTONS */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px;
  border-radius: var(--radius-sm);
  font-weight: 600; font-size: 14px;
  letter-spacing: 0.01em;
  transition: all var(--t);
  white-space: nowrap;
  cursor: pointer;
}
.btn-primary {
  background: var(--brand);
  color: #FFFFFF;
}
.btn-primary:hover { background: var(--brand-bright); transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-primary:active { background: var(--brand-dim); transform: translateY(0); }

.btn-ghost {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-strong);
}
.btn-ghost:hover { background: var(--bg-card); border-color: var(--text-primary); }

.btn-dark {
  background: var(--text-primary);
  color: #FFFFFF;
}
.btn-dark:hover { background: #1F1F1F; transform: translateY(-1px); }

.btn-sm { height: 38px; padding: 0 14px; font-size: 13px; }
.btn-block { width: 100%; }

.link-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 600; font-size: 14px;
  color: var(--brand);
  transition: gap var(--t);
}
.link-cta:hover { gap: 10px; }
.link-cta::after { content: '→'; transition: transform var(--t); }

/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */
.announcement {
  background: var(--bg-dark);
  color: #E5E5E5;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  overflow: hidden;
  border-bottom: 1px solid #1F1F1F;
}
.announcement-track {
  display: flex; gap: 64px;
  padding: 11px 0;
  animation: marquee 36s linear infinite;
  white-space: nowrap;
  width: max-content;
}
.announcement-track span { display: inline-flex; align-items: center; gap: 10px; }
.announcement-track .dot { color: var(--brand); }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.announcement:hover .announcement-track { animation-play-state: paused; }

/* ============================================================
   HEADER
   ============================================================ */
.header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 32px;
  align-items: center;
  height: 72px;
}
.brand-logo {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: 19px;
  color: var(--text-primary);
}
.brand-logo img { height: 38px; width: auto; }

.nav { display: flex; gap: 4px; align-items: center; }
.nav a {
  display: inline-block;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  border-radius: var(--radius-sm);
  transition: background var(--t-fast), color var(--t-fast);
}
.nav a:hover { background: var(--bg-card); color: var(--text-primary); }
.nav a.has-mega::after { content: ' ▾'; font-size: 9px; color: var(--text-muted); }

.header-actions { display: flex; align-items: center; gap: 6px; }
.search {
  display: flex; align-items: center;
  width: 260px; height: 40px;
  padding: 0 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  transition: all var(--t);
}
.search:focus-within { background: var(--bg); border-color: var(--text-primary); width: 320px; }
.search svg { width: 16px; height: 16px; color: var(--text-tertiary); flex-shrink: 0; }
.search input { border: 0; background: transparent; flex: 1; padding: 0 10px; outline: none; font-size: 13px; }
.icon-btn {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-pill);
  color: var(--text-secondary);
  transition: background var(--t-fast), color var(--t-fast);
}
.icon-btn:hover { background: var(--bg-card); color: var(--text-primary); }
.icon-btn svg { width: 20px; height: 20px; }
.cart-btn { position: relative; }
.cart-btn .badge {
  position: absolute; top: 2px; right: 2px;
  min-width: 18px; height: 18px;
  background: var(--brand);
  color: #fff;
  font-size: 10px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  padding: 0 4px;
  border: 2px solid var(--bg);
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  padding: 64px 0 56px;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
}
.hero-copy .eyebrow { margin-bottom: 24px; }
.hero h1 { margin-bottom: 20px; }
.hero .lead { margin-bottom: 32px; }
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.hero-meta { display: flex; gap: 28px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--border); }
.hero-meta-item { display: flex; flex-direction: column; gap: 2px; }
.hero-meta-item .n { font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 22px; color: var(--text-primary); letter-spacing: -0.02em; }
.hero-meta-item .l { font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--text-tertiary); }

/* Hero triptych (3 categorie clickabili) */
.hero-triptych {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.cat-tile {
  position: relative;
  aspect-ratio: 3/4.2;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  transition: all var(--t);
  display: flex; flex-direction: column; justify-content: flex-end;
}
.cat-tile:hover { border-color: var(--text-primary); transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.cat-tile-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  background-color: var(--bg-card);
}
.cat-tile-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 30%, rgba(255,255,255,0.7) 70%, #ffffff 100%);
}
.cat-tile-body {
  position: relative;
  padding: 18px 16px;
  display: flex; flex-direction: column; gap: 4px;
}
.cat-tile-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 600;
}
.cat-tile-title {
  font-weight: 800; font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.cat-tile-link {
  margin-top: 6px;
  font-size: 12px; font-weight: 600;
  color: var(--text-secondary);
  display: inline-flex; align-items: center; gap: 4px;
}
.cat-tile:hover .cat-tile-link { color: var(--brand); gap: 8px; }

/* ============================================================
   TRUST BAR
   ============================================================ */
.trust {
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
  padding: 32px 0;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.trust-item { display: flex; gap: 14px; align-items: flex-start; }
.trust-icon {
  width: 44px; height: 44px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
}
.trust-icon svg { width: 22px; height: 22px; }
.trust-text .t { font-weight: 700; font-size: 14px; color: var(--text-primary); margin-bottom: 2px; }
.trust-text .d { font-size: 12px; color: var(--text-tertiary); }

/* ============================================================
   PROMO BANNER (sotto trust, prima delle categorie)
   ============================================================ */
.promo-banner {
  margin: 56px auto;
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border: 1px solid #FED7AA;
  border-radius: var(--radius-lg);
  padding: 32px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
}
.promo-banner h3 { font-size: 22px; margin-bottom: 6px; }
.promo-banner p { color: var(--text-secondary); font-size: 14px; }
.promo-banner .pill {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  margin-bottom: 10px;
}

/* ============================================================
   SECTION GENERIC
   ============================================================ */
.section { padding: 88px 0; }
.section-tight { padding: 56px 0; }
.section-soft { background: var(--bg-soft); }
.section-dark { background: var(--bg-dark); color: var(--text-inverse); }
.section-dark h2, .section-dark h3 { color: var(--text-inverse); }
.section-dark .lead { color: #D4D4D4; }

.section-head { margin-bottom: 48px; max-width: 720px; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head .eyebrow { margin-bottom: 14px; }
.section-head h2 { margin-bottom: 12px; }

/* ============================================================
   CATEGORIES (3 pilastri zigzag)
   ============================================================ */
.categories { display: flex; flex-direction: column; gap: 80px; }
.cat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.cat-row:nth-child(even) .cat-row-visual { order: -1; }
.cat-row-copy .eyebrow { margin-bottom: 16px; }
.cat-row-copy h3 { font-size: clamp(28px, 3vw, 38px); font-weight: 800; margin-bottom: 14px; line-height: 1.1; }
.cat-row-copy .lead { margin-bottom: 22px; max-width: 480px; }
.cat-row-brands {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 26px;
}
.brand-pill {
  display: inline-flex; align-items: center;
  padding: 6px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.cat-row-visual {
  aspect-ratio: 4/3;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--border);
}
.cat-row-visual img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--ease);
}
.cat-row-visual:hover img { transform: scale(1.04); }
.cat-row-visual-tag {
  position: absolute; top: 16px; left: 16px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(8px);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-primary);
}

/* ============================================================
   SOFTWARE UPDATE — USP SECTION
   ============================================================ */
.usp {
  background: var(--bg-dark);
  color: var(--text-inverse);
  border-radius: var(--radius-lg);
  margin: 88px auto;
  padding: 56px 56px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  grid-template-areas:
    "head head"
    "copy form";
  gap: 28px 56px;
  align-items: start;
}
.usp-head { grid-area: head; max-width: 720px; position: relative; z-index: 1; }
.usp-head .eyebrow { margin-bottom: 14px; color: #FED7AA; }
.usp-head .eyebrow::before { background: var(--brand-bright); }
.usp-head h2 { color: #fff; margin: 0; font-size: clamp(28px, 3.2vw, 40px); }
.usp-head h2 em.serif { color: var(--brand-bright); }

.usp .usp-copy { grid-area: copy; align-self: center; }
.usp .usp-form { grid-area: form; }
.usp::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(234,88,12,0.25) 0%, rgba(234,88,12,0) 70%);
  pointer-events: none;
}
.usp-copy { position: relative; z-index: 1; }
.usp .eyebrow { color: #FED7AA; margin-bottom: 18px; }
.usp .eyebrow::before { background: var(--brand-bright); }
.usp h2 { color: #fff; margin-bottom: 16px; }
.usp h2 em.serif { color: var(--brand-bright); }
.usp .lead { color: #D4D4D4; margin-bottom: 28px; }
.usp-features { display: flex; flex-direction: column; gap: 14px; }
.usp-feature { display: flex; gap: 12px; align-items: flex-start; }
.usp-check {
  width: 22px; height: 22px;
  background: var(--brand);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; flex-shrink: 0;
  font-size: 13px; font-weight: 700;
  margin-top: 1px;
}
.usp-feature-text { color: #E5E5E5; font-size: 14px; line-height: 1.55; }

.usp-form {
  position: relative; z-index: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius);
  padding: 32px;
  backdrop-filter: blur(6px);
}
.usp-form-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.usp-form-sub { font-size: 13px; color: #A3A3A3; margin-bottom: 24px; }
.usp-form .field { margin-bottom: 14px; }
.usp-form label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #E5E5E5;
  margin-bottom: 6px;
}
.usp-form input, .usp-form select, .usp-form textarea {
  width: 100%;
  padding: 12px 14px;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-sm);
  color: #fff;
  font-size: 14px;
  font-family: inherit;
}
.usp-form input, .usp-form select { height: 44px; padding: 0 14px; }
.usp-form textarea { line-height: 1.5; }
.usp-form input::placeholder, .usp-form textarea::placeholder { color: #C0C0C0; opacity: 1; }
.usp-form input:focus, .usp-form select:focus, .usp-form textarea:focus { outline: none; border-color: var(--brand-bright); background: rgba(255,255,255,0.1); }

/* USP form actions: 2 bottoni affiancati (Invia + WhatsApp) */
.usp-form-actions {
  display: flex; gap: 10px;
  margin-top: 6px;
}
.usp-form-actions .btn {
  flex: 1;
  height: 48px;
  font-size: 14px;
}
.usp-form-actions .btn-wa {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px;
  background: var(--whatsapp);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background var(--t-fast), transform var(--t-fast);
}
.usp-form-actions .btn-wa:hover { background: #1FB458; transform: translateY(-1px); }
.usp-form-actions .btn-wa svg { width: 18px; height: 18px; }

@media (max-width: 1024px) {
  .usp-form-actions { flex-direction: column; }
}
.usp-form select { appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23A3A3A3' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 32px; }

/* ============================================================
   BEST SELLERS — Product grid
   ============================================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.product-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  transition: all var(--t);
  display: flex; flex-direction: column;
}
.product-card:hover {
  border-color: var(--text-primary);
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.product-image-wrap {
  position: relative;
  aspect-ratio: 1/1;
  background: var(--bg-soft);
  overflow: hidden;
}
.product-image-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform var(--t);
}
.product-card:hover .product-image-wrap img { transform: scale(1.04); }

.product-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--danger);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 5px 9px;
  border-radius: var(--radius-sm);
  z-index: 1;
}
.product-badge.new { background: var(--logo-blue); }
.product-badge.top { background: var(--text-primary); }
.product-fav {
  position: absolute; top: 10px; right: 10px;
  width: 32px; height: 32px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(6px);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--text-tertiary);
  border: 1px solid var(--border);
  transition: all var(--t-fast);
  z-index: 1;
}
.product-fav:hover { color: var(--danger); border-color: var(--danger); }
.product-fav svg { width: 16px; height: 16px; }

.product-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.product-brand {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 600;
  margin-bottom: 6px;
}
.product-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.35;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}
.product-rating { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-tertiary); margin-bottom: 12px; }
.stars { color: var(--brand); letter-spacing: 1px; font-size: 13px; }
.product-price {
  display: flex; align-items: baseline; gap: 8px;
  margin-bottom: 14px; margin-top: auto;
}
.product-price .now {
  font-size: 22px;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.02em;
}
.product-price .was {
  font-size: 13px;
  color: var(--text-muted);
  text-decoration: line-through;
}
.product-save {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--danger);
}
.product-card .btn { width: 100%; }

/* ============================================================
   REVIEWS / SOCIAL PROOF
   ============================================================ */
.reviews-meta {
  display: flex; gap: 40px; justify-content: center;
  margin-bottom: 48px; flex-wrap: wrap;
}
.review-stat { text-align: center; }
.review-stat .n { font-size: 32px; font-weight: 800; color: var(--text-primary); letter-spacing: -0.02em; line-height: 1; margin-bottom: 6px; }
.review-stat .l { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-tertiary); }

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Marquee scorrevole infinito */
.reviews-marquee {
  overflow: hidden;
  padding: 12px 0 16px;
  mask-image: linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}
.reviews-marquee-track {
  display: flex;
  gap: 22px;
  width: max-content;
  animation: revMarquee 90s linear infinite;
  padding: 0 22px;
}
.reviews-marquee:hover .reviews-marquee-track { animation-play-state: paused; }
.reviews-marquee .review-card {
  width: 380px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
@keyframes revMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50%)); }
}
@media (max-width: 640px) {
  .reviews-marquee .review-card { width: 300px; }
}
.review-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 26px;
  display: flex; flex-direction: column; gap: 14px;
  transition: all var(--t);
}
.review-card:hover { border-color: var(--border-hover); box-shadow: var(--shadow); }
.review-head { display: flex; gap: 12px; align-items: center; }
.review-avatar {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dim) 100%);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
}
.review-meta-text .name { font-weight: 700; font-size: 14px; color: var(--text-primary); display: inline-flex; align-items: center; gap: 6px; }
.review-meta-text .name svg { width: 14px; height: 14px; color: var(--logo-blue); }
.review-meta-text .place { font-size: 12px; color: var(--text-tertiary); }
.review-verified {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--success-soft);
  color: var(--success);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: var(--radius-pill);
  width: fit-content;
}
.review-verified::before { content: '●'; }
.review-body { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
.review-product {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-tertiary);
}
.review-product strong { color: var(--text-secondary); font-weight: 600; }

/* ============================================================
   BRANDS MARQUEE
   ============================================================ */
.brands { padding: 72px 0; background: var(--bg-soft); border-block: 1px solid var(--border); overflow: hidden; }
.brands-head { text-align: center; margin-bottom: 36px; }
.brands-head .eyebrow { margin-bottom: 10px; }
.brands-track {
  display: flex;
  gap: 72px;
  animation: marquee 40s linear infinite;
  width: max-content;
  align-items: center;
}
.brand-name {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 26px;
  letter-spacing: 2px;
  color: var(--text-muted);
  text-transform: uppercase;
  white-space: nowrap;
  transition: color var(--t);
}
.brand-name:hover { color: var(--brand); }

/* ============================================================
   LOCATION
   ============================================================ */
.location-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 56px;
  align-items: center;
}
.location-copy .eyebrow { margin-bottom: 16px; }
.location-copy h2 { margin-bottom: 14px; }
.location-copy .lead { margin-bottom: 28px; }
.location-info { display: flex; flex-direction: column; gap: 18px; margin-bottom: 28px; }
.location-info-row { display: flex; gap: 14px; align-items: flex-start; }
.location-info-icon {
  width: 36px; height: 36px;
  background: var(--bg-card);
  border-radius: var(--radius-sm);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
}
.location-info-icon svg { width: 18px; height: 18px; }
.location-info-text .l { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 3px; }
.location-info-text .v { font-size: 14px; color: var(--text-primary); font-weight: 500; }
.location-info-text a { color: var(--text-primary); }
.location-info-text a:hover { color: var(--brand); }

.location-cta { display: flex; gap: 12px; flex-wrap: wrap; }

.location-map {
  aspect-ratio: 4/3;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
}
.location-map iframe { width: 100%; height: 100%; border: 0; }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.newsletter {
  background: var(--bg-dark);
  color: var(--text-inverse);
  padding: 56px 0;
}
.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  align-items: center;
}
.newsletter h3 { color: #fff; font-size: 24px; margin-bottom: 6px; }
.newsletter p { color: #A3A3A3; font-size: 14px; }
.newsletter-form { display: flex; gap: 10px; }
.newsletter-form input {
  flex: 1;
  height: 48px;
  padding: 0 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-sm);
  color: #fff;
  font-size: 14px;
}
.newsletter-form input:focus { outline: none; border-color: var(--brand-bright); background: rgba(255,255,255,0.1); }
.newsletter-form input::placeholder { color: #737373; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--bg-dark);
  color: #A3A3A3;
  padding: 64px 0 24px;
  border-top: 1px solid #1F1F1F;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid #1F1F1F;
}
.footer-brand .brand-logo { color: #fff; margin-bottom: 16px; }
.footer-brand p { font-size: 13px; line-height: 1.6; max-width: 280px; margin-bottom: 22px; color: #A3A3A3; }
.footer-social { display: flex; gap: 8px; }
.footer-social a {
  width: 34px; height: 34px;
  background: rgba(255,255,255,0.06);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #D4D4D4;
  transition: all var(--t-fast);
}
.footer-social a:hover { background: var(--brand); color: #fff; }
.footer-social svg { width: 16px; height: 16px; }

.footer-col h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--brand-bright);
  margin-bottom: 18px;
}
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: 13px; color: #A3A3A3; transition: color var(--t-fast); }
.footer-col a:hover { color: #fff; }

.footer-bottom {
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding-top: 24px;
  flex-wrap: wrap;
}
.footer-legal {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.8px;
  color: #737373;
}
.footer-payments { display: flex; gap: 8px; flex-wrap: wrap; }
.payment-pill {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.5px;
  padding: 5px 9px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
  color: #D4D4D4;
}

/* ============================================================
   FLOATING WHATSAPP
   ============================================================ */
.whatsapp-float {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 56px; height: 56px;
  background: var(--whatsapp);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  z-index: 99;
  transition: transform var(--t);
}
.whatsapp-float:hover { transform: scale(1.08); }
.whatsapp-float svg { width: 28px; height: 28px; }
.whatsapp-float::after {
  content: '';
  position: absolute; inset: -4px;
  border-radius: 50%;
  background: var(--whatsapp);
  opacity: 0.3;
  z-index: -1;
  animation: pulse 2s ease-out infinite;
}
@keyframes pulse {
  0% { transform: scale(1); opacity: 0.3; }
  100% { transform: scale(1.5); opacity: 0; }
}

/* ============================================================
   NEW TOPBAR — TechService distintiva (non copia Workshop)
   ============================================================ */
.topbar {
  background: var(--bg-dark);
  color: #FAFAFA;
  border-bottom: 1px solid #1F1F1F;
  font-size: 12px;
  overflow: hidden;
}
.topbar-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: 42px;
  gap: 28px;
}

/* SX — heritage statement */
.topbar-heritage {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FAFAFA;
  font-weight: 600;
  white-space: nowrap;
}
.topbar-heritage::before {
  content: '';
  display: inline-block;
  width: 7px; height: 7px;
  background: var(--brand);
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(234,88,12,0.6);
  animation: pulseDot 2s ease-out infinite;
}
@keyframes pulseDot {
  0%   { box-shadow: 0 0 0 0 rgba(234,88,12,0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(234,88,12,0); }
  100% { box-shadow: 0 0 0 0 rgba(234,88,12,0); }
}

/* CENTRO — marquee con messaggi servizio */
.topbar-marquee {
  overflow: hidden;
  position: relative;
  height: 42px;
  display: flex; align-items: center;
  mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.topbar-marquee-track {
  display: flex; gap: 48px;
  animation: tbMarquee 38s linear infinite;
  white-space: nowrap;
  width: max-content;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #D4D4D4;
}
.topbar-marquee-track span { display: inline-flex; align-items: center; gap: 8px; }
.topbar-marquee-track .sep { color: var(--brand); font-weight: 700; }
.topbar:hover .topbar-marquee-track { animation-play-state: paused; }
@keyframes tbMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* DX — CTA WhatsApp + Newsletter */
.topbar-ctas {
  display: inline-flex; align-items: center; gap: 4px;
}
.topbar-cta {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #FAFAFA;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background var(--t-fast), color var(--t-fast);
  white-space: nowrap;
}
.topbar-cta:hover { background: rgba(255,255,255,0.07); }
.topbar-cta svg { width: 15px; height: 15px; }
.topbar-cta.wa { color: #5EE89C; }
.topbar-cta.wa:hover { color: #fff; background: var(--whatsapp); }

/* wrapper bianco con padding per dare il "gap" tra topbar e header */
.header-wrap {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.header-dark {
  background: var(--bg-dark);
  color: #FAFAFA;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.18);
  margin: 0 auto;
  max-width: calc(var(--container) - 0px);
}
.header-dark-inner {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto;
  gap: 22px;
  align-items: center;
  height: 88px;
  padding: 0 22px;
}
.menu-btn {
  display: inline-flex; align-items: center; gap: 10px;
  height: 50px; padding: 0 18px;
  background: transparent;
  color: #FAFAFA;
  border: 1.5px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.3px;
  transition: all var(--t-fast);
  cursor: pointer;
}
.menu-btn:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.35); }
.menu-btn svg { width: 22px; height: 22px; }

.brand-block {
  display: inline-flex; align-items: center;
  text-decoration: none;
}
.brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.brand-lockup-row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  color: #FAFAFA;
}
.anni-block {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  padding-bottom: 2px;
}
.anni-num {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-size: 32px;
  letter-spacing: -0.04em;
  display: inline-flex;
  align-items: flex-start;
  color: #FAFAFA;
  line-height: 0.9;
}
.anni-num sup {
  font-size: 12px;
  margin-left: 2px;
  margin-top: 4px;
  color: #FAFAFA;
  font-weight: 700;
}
.anni-lbl {
  font-family: 'Inter', sans-serif;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FAFAFA;
  margin-top: 4px;
}
.brand-wm {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-weight: 900;
  font-size: 44px;
  letter-spacing: -0.03em;
  color: #FAFAFA;
  line-height: 0.95;
  text-shadow: 0 2px 0 rgba(0,0,0,0.35);
  white-space: nowrap;
}

/* Bandiera tricolore unica sotto anniversary + wordmark */
.brand-flag {
  display: flex;
  height: 5px;
  width: 100%;
  margin-top: 5px;
  border-radius: 1px;
  overflow: hidden;
}
.brand-flag .g { flex: 1; background: #009246; }
.brand-flag .w { flex: 1; background: #F1F2F1; }
.brand-flag .r { flex: 1; background: #CE2B37; }

.big-search {
  display: flex; align-items: stretch;
  height: 54px;
  background: #FAFAFA;
  border-radius: var(--radius-sm);
  overflow: hidden;
  max-width: 640px;
}
.big-search input {
  flex: 1;
  border: 0; outline: 0;
  padding: 0 22px;
  font-size: 15px;
  background: transparent;
  color: var(--text-primary);
}
.big-search input::placeholder { color: var(--text-muted); }
.big-search button {
  width: 64px;
  background: var(--danger);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--t-fast);
  cursor: pointer;
}
.big-search button:hover { background: #B91C1C; }
.big-search button svg { width: 22px; height: 22px; }

.header-account {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  height: 50px;
  font-size: 13px;
  color: #FAFAFA;
  line-height: 1.15;
  padding: 0 14px;
  border-left: 1px solid rgba(255,255,255,0.12);
  border-right: 1px solid rgba(255,255,255,0.12);
  text-decoration: none;
  transition: background var(--t-fast);
}
.header-account:hover { background: rgba(255,255,255,0.05); }
.header-account .top { font-size: 11px; color: #A3A3A3; }
.header-account .bottom { font-weight: 700; font-size: 13.5px; color: #FAFAFA; }

.header-cart {
  display: inline-flex; align-items: center; gap: 10px;
  height: 50px;
  padding: 0 14px;
  color: #FAFAFA;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  border-radius: var(--radius-sm);
  transition: background var(--t-fast);
}
.header-cart:hover { background: rgba(255,255,255,0.05); }
.header-cart .cart-icon { position: relative; display: inline-flex; align-items: center; }
.header-cart .cart-icon svg { width: 26px; height: 26px; }
.header-cart .cart-icon .num {
  position: absolute; top: -7px; right: -8px;
  min-width: 18px; height: 18px;
  background: var(--danger);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  padding: 0 5px;
  border: 2px solid var(--bg-dark);
}

/* ============================================================
   HERO SLIDER PROMO (compatto, sotto header)
   ============================================================ */
.hero-slider-section {
  padding: 28px 0 0;
}
.hero-slider {
  position: relative;
  width: 100%;
  height: 380px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-card);
}
.hero-slide {
  position: absolute; inset: 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  opacity: 0;
  transition: opacity 600ms ease;
  pointer-events: none;
}
.hero-slide.active { opacity: 1; pointer-events: auto; }
.hero-slide-text {
  padding: 48px 56px;
  display: flex; flex-direction: column; justify-content: center; gap: 14px;
  color: #fff;
  position: relative;
  z-index: 2;
}
.hero-slide-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FFD600;
  font-weight: 600;
}
.hero-slide h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 900;
  line-height: 1.05;
  color: #fff;
  margin: 0;
}
.hero-slide p {
  font-size: 15px;
  line-height: 1.55;
  color: #D4D4D4;
  max-width: 460px;
  margin: 4px 0 12px;
}
.hero-slide-price {
  display: inline-flex; align-items: baseline; gap: 12px;
  margin-bottom: 8px;
}
.hero-slide-price .now { font-size: 36px; font-weight: 900; color: #fff; letter-spacing: -0.02em; }
.hero-slide-price .was { font-size: 16px; color: #A3A3A3; text-decoration: line-through; }
.hero-slide-price .disc { background: var(--danger); color: #fff; font-size: 14px; font-weight: 800; padding: 4px 10px; border-radius: 6px; }
.hero-slide .btn { width: fit-content; }

.hero-slide-img {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 40px;
}
.hero-slide-img img {
  max-width: 100%; max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.4));
}

/* sfondi differenti per le slide */
.hero-slide.slide-1 { background: linear-gradient(135deg, #0A0A0A 0%, #1A1A1A 50%, #2A1810 100%); }
.hero-slide.slide-2 { background: linear-gradient(135deg, #0F1B2D 0%, #1B2845 50%, #0A0A0A 100%); }
.hero-slide.slide-3 { background: linear-gradient(135deg, #2A0E0A 0%, #1A0A05 50%, #0A0A0A 100%); }

/* hero slider controls */
.hero-slider-dots {
  position: absolute; bottom: 18px; left: 56px;
  display: flex; gap: 8px;
  z-index: 3;
}
.hero-slider-dot {
  width: 28px; height: 4px;
  background: rgba(255,255,255,0.25);
  border-radius: 999px;
  cursor: pointer;
  transition: background var(--t);
  border: 0;
}
.hero-slider-dot.active { background: #FFD600; width: 56px; }
.hero-slider-arrows {
  position: absolute; top: 50%; transform: translateY(-50%);
  right: 18px;
  display: flex; flex-direction: column; gap: 10px;
  z-index: 3;
}
.hero-slider-arrows button {
  width: 42px; height: 42px;
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all var(--t-fast);
}
.hero-slider-arrows button:hover { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.4); }
.hero-slider-arrows svg { width: 18px; height: 18px; }

/* ============================================================
   3 CATEGORIE GIGANTI (sotto slider)
   ============================================================ */
.giant-cats {
  padding: 36px 0 28px;
}
.giant-cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.giant-cat {
  position: relative;
  display: block;
  aspect-ratio: 5/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-card);
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--border);
  transition: all var(--t);
}
.giant-cat:hover { transform: translateY(-4px); border-color: var(--text-primary); box-shadow: var(--shadow-lg); }
.giant-cat-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
}
.giant-cat-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.15) 60%, transparent 100%);
}
.giant-cat-body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 24px 26px;
  color: #fff;
  z-index: 1;
  display: flex; flex-direction: column; gap: 6px;
}
.giant-cat-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #FFD600;
  font-weight: 600;
}
.giant-cat-title {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 28px;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.giant-cat-meta {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #E5E5E5;
}
.giant-cat-meta::after { content:'→'; transition: transform var(--t); }
.giant-cat:hover .giant-cat-meta::after { transform: translateX(4px); }

/* ============================================================
   SUBCATEGORIES GRID (9 tile)
   ============================================================ */
.subcats {
  padding: 36px 0 56px;
}
.subcats-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 22px;
  gap: 16px;
}
.subcats-head h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 0;
}
.subcats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.subcat-tile {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  transition: all var(--t-fast);
}
.subcat-tile:hover { border-color: var(--text-primary); background: var(--bg-soft); transform: translateY(-2px); }
.subcat-tile-icon {
  width: 48px; height: 48px;
  background: var(--bg-card);
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
  transition: all var(--t-fast);
}
.subcat-tile:hover .subcat-tile-icon { background: var(--brand); color: #fff; }
.subcat-tile-icon svg { width: 24px; height: 24px; }
.subcat-tile-text {
  display: flex; flex-direction: column; gap: 2px;
  min-width: 0;
}
.subcat-tile-name {
  font-weight: 700;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.25;
}
.subcat-tile-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
}

/* ============================================================
   PCARD VARIANTE PREVENTIVO (no prezzo, CTA WhatsApp)
   ============================================================ */
.pcard.is-quote .pcard-price-row { display: none; }
.pcard-quote-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 8px;
  background: var(--whatsapp);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  padding: 11px 16px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: all var(--t-fast);
}
.pcard-quote-cta:hover { background: #1FB458; transform: translateY(-1px); }
.pcard-quote-cta svg { width: 16px; height: 16px; }
.pcard-quote-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-bottom: 10px;
  margin-top: auto;
}

/* ============================================================
   CAROUSEL PRODOTTI — stile WorkshopItaly
   ============================================================ */
.product-carousel-section { padding: 72px 0; }
.product-carousel-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 24px;
  gap: 16px; flex-wrap: wrap;
}
.product-carousel-head h2 {
  font-size: 24px;
  font-weight: 800;
  margin: 0;
}
.carousel-link {
  color: var(--danger);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: color var(--t-fast);
}
.carousel-link:hover { color: #B91C1C; text-decoration: underline; }

.product-carousel {
  position: relative;
}
.product-carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 5 * 18px) / 6);
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 4px 24px;
  scrollbar-width: thin;
  scrollbar-color: var(--border-strong) transparent;
}
.product-carousel-track::-webkit-scrollbar { height: 6px; }
.product-carousel-track::-webkit-scrollbar-track { background: transparent; }
.product-carousel-track::-webkit-scrollbar-thumb { background: var(--border); border-radius: 999px; }

.pcard {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 18px 18px 22px;
  display: flex; flex-direction: column;
  scroll-snap-align: start;
  box-shadow: 0 1px 0 var(--border), 0 6px 20px rgba(0,0,0,0.04);
  border: 1px solid transparent;
  transition: all var(--t);
  text-decoration: none;
  color: inherit;
  min-height: 360px;
  position: relative;
}
.pcard:hover { transform: translateY(-3px); border-color: var(--border-hover); box-shadow: 0 1px 0 var(--border-hover), 0 12px 30px rgba(0,0,0,0.08); }
.pcard-imgwrap {
  aspect-ratio: 1/1;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  background: #fff;
}
.pcard-imgwrap img {
  max-width: 100%; max-height: 100%;
  object-fit: contain;
}
.pcard-brand {
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.5px;
  color: var(--text-primary);
  margin-bottom: 8px;
  text-transform: uppercase;
}
.pcard-brand.in-promo { color: var(--danger); }
.pcard-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.4;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(3 * 1.4em);
}
.pcard-price-row {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 8px;
  margin-top: auto;
}
.pcard-price-col { display: flex; flex-direction: column; gap: 2px; }
.pcard-was { font-size: 13px; color: var(--text-tertiary); text-decoration: line-through; }
.pcard-now { font-size: 22px; font-weight: 800; color: var(--text-primary); letter-spacing: -0.01em; }
.pcard-disc {
  font-size: 15px;
  font-weight: 800;
  color: var(--danger);
}

/* SUPER PROMO badge sulla card */
.pcard-superpromo {
  position: absolute; top: 10px; right: 10px;
  width: 78px; height: 78px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23FFD600'/><stop offset='1' stop-color='%23FF9800'/></linearGradient></defs><path d='M50 5 L60 22 L80 18 L75 38 L92 50 L75 62 L80 82 L60 78 L50 95 L40 78 L20 82 L25 62 L8 50 L25 38 L20 18 L40 22 Z' fill='url(%23g)' stroke='%23000' stroke-width='2'/></svg>") no-repeat center / contain;
  display: inline-flex; align-items: center; justify-content: center;
  transform: rotate(-8deg);
  z-index: 2;
  pointer-events: none;
}
.pcard-superpromo span {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 9px;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  color: #000;
  letter-spacing: 0;
  transform: rotate(0deg);
  padding: 0 10px;
}

/* Carousel arrows */
.carousel-arrows { display: flex; gap: 8px; }
.carousel-arrow {
  width: 40px; height: 40px;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--text-primary);
  cursor: pointer;
  transition: all var(--t-fast);
  box-shadow: var(--shadow-sm);
}
.carousel-arrow:hover { background: var(--text-primary); color: #fff; border-color: var(--text-primary); }
.carousel-arrow svg { width: 16px; height: 16px; }
.carousel-arrow:disabled { opacity: 0.4; cursor: not-allowed; }

/* ============================================================
   SUPER PROMO SECTION
   ============================================================ */
.super-promo {
  background:
    radial-gradient(ellipse at top left, rgba(220,38,38,0.25) 0%, transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(234,88,12,0.18) 0%, transparent 55%),
    var(--bg-dark);
  color: #FAFAFA;
  border-radius: 18px;
  margin: 56px auto;
  overflow: hidden;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 0;
  position: relative;
  border: 1px solid rgba(220,38,38,0.2);
}
.super-promo-left {
  padding: 44px 36px;
  display: flex; flex-direction: column; justify-content: center;
  gap: 28px;
  position: relative;
  overflow: hidden;
  min-height: 460px;
  z-index: 1;
}

/* Pattern grafico "rays" stilizzato sopra il banner */
.super-promo-left::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 320px; height: 320px;
  background: conic-gradient(
    from 215deg at 50% 50%,
    transparent 0deg,
    rgba(255,214,0,0.15) 30deg,
    transparent 60deg,
    rgba(220,38,38,0.2) 90deg,
    transparent 120deg,
    rgba(255,152,0,0.18) 150deg,
    transparent 180deg,
    rgba(220,38,38,0.15) 210deg,
    transparent 240deg
  );
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.7;
  filter: blur(4px);
  animation: spinSlow 60s linear infinite;
}
@keyframes spinSlow { to { transform: rotate(360deg); } }

.super-promo-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(220,38,38,0.18);
  border: 1px solid rgba(220,38,38,0.35);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #FCA5A5;
  font-weight: 700;
  width: fit-content;
}
.super-promo-tag::before {
  content: '';
  width: 7px; height: 7px;
  background: var(--danger);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--danger);
  animation: pulseDot 1.6s ease-out infinite;
}

.super-promo-left h3 {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-size: 44px;
  font-weight: 900;
  color: #FFFFFF;
  margin: 0;
  letter-spacing: -0.03em;
  line-height: 0.95;
  text-transform: uppercase;
}
.super-promo-left h3 .accent {
  background: linear-gradient(180deg, #FFD600 0%, #FF9800 50%, #FF5722 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  font-size: 64px;
  letter-spacing: -0.04em;
  text-shadow: 0 2px 12px rgba(255, 152, 0, 0.4);
}
.super-promo-left p {
  font-size: 14px;
  color: #D4D4D4;
  line-height: 1.55;
  margin: 0;
  max-width: 280px;
}
.super-promo-btn {
  display: inline-flex; align-items: center; gap: 8px;
  justify-content: center;
  height: 52px; padding: 0 28px;
  background: #FFD600;
  color: #000;
  font-weight: 800;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: all var(--t);
  width: fit-content;
  box-shadow: 0 6px 24px rgba(255, 214, 0, 0.3);
}
.super-promo-btn:hover { background: #FFC400; transform: translateY(-2px); box-shadow: 0 12px 32px rgba(255, 214, 0, 0.45); }

/* Sticker "fino a -X%" decorativo */
.super-promo-sticker {
  position: absolute;
  bottom: 30px; right: 28px;
  width: 96px; height: 96px;
  background: var(--danger);
  border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff;
  font-family: 'Archivo Black', sans-serif;
  font-weight: 900;
  line-height: 1;
  transform: rotate(-12deg);
  box-shadow: 0 8px 24px rgba(220,38,38,0.4);
  border: 3px dashed rgba(255,255,255,0.5);
}
.super-promo-sticker .big { font-size: 28px; letter-spacing: -0.04em; }
.super-promo-sticker .small { font-size: 9px; letter-spacing: 1.5px; margin-top: 3px; text-transform: uppercase; opacity: 0.92; }

.super-promo-right {
  padding: 36px 36px 36px 12px;
  background: var(--bg-dark);
  overflow: hidden;
}
.super-promo-right .product-carousel-track {
  padding: 8px 4px 16px;
  grid-auto-columns: 260px;
}
.super-promo-right .pcard {
  background: #FAFAFA;
  box-shadow: none;
  border: 1px solid #1F1F1F;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1180px) {
  .header-dark-inner { grid-template-columns: auto auto 1fr auto; gap: 14px; }
  .header-account { display: none; }
  .product-carousel-track { grid-auto-columns: calc((100% - 3 * 18px) / 4); }
  .super-promo { grid-template-columns: 1fr; }
  .super-promo-left { min-height: auto; padding: 32px; }
  .super-promo-right .product-carousel-track { grid-auto-columns: 240px; }
  .hero-slide-text { padding: 36px 36px; }
  .hero-slide h2 { font-size: 30px; }
  .giant-cats-grid { gap: 14px; }
  .giant-cat-title { font-size: 22px; }
  .subcats-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .cat-row, .location-grid, .newsletter-grid { grid-template-columns: 1fr; gap: 32px; }
  /* USP mobile: ordine HEAD → FORM → COPY (form sotto al titolo) */
  .usp {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "form"
      "copy";
    gap: 24px;
    padding: 36px 28px;
  }
  .usp::before { display: none; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .product-carousel-track { grid-auto-columns: calc((100% - 2 * 18px) / 3); }
  .reviews-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .nav { display: none; }
  .search { width: 200px; }
  .search:focus-within { width: 220px; }
  .anni-block { display: none; }
  .big-search { height: 48px; }
  .topbar-rating .text-long { display: none; }
  .giant-cats-grid { grid-template-columns: 1fr; }
  .giant-cat { aspect-ratio: 16/8; }
  .subcats-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-slider { height: 320px; }
  .hero-slide { grid-template-columns: 1fr; }
  .hero-slide-img { display: none; }
}
/* ============================================================
   TOPBAR — info pratiche (era Variante A, ora standard su tutte le pagine)
   ============================================================ */
.topbar-min {
  background: var(--bg-dark);
  color: #D4D4D4;
  border-bottom: 1px solid #1F1F1F;
  font-size: 12px;
}
.topbar-min-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 40px;
  gap: 18px;
}
.topbar-min-left, .topbar-min-right {
  display: inline-flex; align-items: center; gap: 14px;
}
.topbar-min a {
  display: inline-flex; align-items: center; gap: 7px;
  color: #D4D4D4;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.3px;
  text-decoration: none;
  transition: color var(--t-fast);
  white-space: nowrap;
}
.topbar-min a:hover { color: #fff; }
.topbar-min a svg { width: 14px; height: 14px; opacity: 0.75; }
.topbar-min a:hover svg { opacity: 1; }
.topbar-min .sep { color: #525252; font-size: 11px; user-select: none; }
.topbar-min strong { color: #FAFAFA; font-weight: 700; letter-spacing: 0.4px; }

/* Responsive topbar-min */
@media (max-width: 900px) {
  .topbar-min-left, .topbar-min-right { gap: 10px; }
  .topbar-min a { font-size: 12px; }
}
@media (max-width: 768px) {
  .topbar-min-inner { height: 38px; gap: 12px; }
  .topbar-min-left .sep:last-of-type,
  .topbar-min-left a:last-of-type { display: none; }  /* nascondi "Showroom Barile (PZ)" */
  .topbar-min-right .sep:nth-of-type(1) { display: none; }
  .topbar-min-right a:nth-of-type(2) { display: none; }  /* nascondi "Diventa rivenditore" */
  .topbar-min a { font-size: 11.5px; gap: 5px; }
  .topbar-min a svg { width: 12px; height: 12px; }
}
@media (max-width: 480px) {
  .topbar-min-inner { height: 36px; }
  /* su small: nascondi anche "info@..." e "Traccia ordine", lascia solo Tel + Newsletter */
  .topbar-min-left a:nth-of-type(2),
  .topbar-min-left .sep:nth-of-type(1) { display: none; }
  .topbar-min-right a:nth-of-type(1) { display: none; }
  .topbar-min strong { font-size: 11.5px; }
  .topbar-min-left strong { letter-spacing: 0.3px; }
}

/* Header bianco/light */
.header-wrap-light {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 0 var(--border);
}
.header-light {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto;
  gap: 24px;
  align-items: center;
  height: 86px;
}
.menu-btn-light {
  display: inline-flex; align-items: center; gap: 10px;
  height: 46px; padding: 0 18px;
  background: transparent;
  color: var(--text-primary);
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 14px;
  transition: all var(--t-fast);
  cursor: pointer;
}
.menu-btn-light:hover { background: var(--bg-card); border-color: var(--text-primary); }
.menu-btn-light svg { width: 20px; height: 20px; }

/* Logo originale come immagine grande */
.brand-img-block {
  display: inline-flex; align-items: center; gap: 14px;
  text-decoration: none;
  padding-right: 14px;
  border-right: 1px solid var(--border);
}
.brand-img-block img {
  height: 56px;
  width: auto;
  display: block;
}
.brand-img-tag {
  display: flex; flex-direction: column; gap: 2px;
}
.brand-img-tag .heritage {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 700;
}
.brand-img-tag .sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

/* Search medio bianco */
.search-light {
  display: flex; align-items: stretch;
  height: 50px;
  background: var(--bg-card);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  max-width: 580px;
  transition: border-color var(--t-fast);
}
.search-light:focus-within { border-color: var(--text-primary); background: var(--bg); }
.search-light input {
  flex: 1;
  border: 0; outline: 0;
  padding: 0 20px;
  font-size: 14px;
  background: transparent;
  color: var(--text-primary);
}
.search-light input::placeholder { color: var(--text-muted); }
.search-light button {
  width: 58px;
  background: var(--brand);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--t-fast);
  cursor: pointer;
  border: 0;
}
.search-light button:hover { background: var(--brand-bright); }
.search-light button svg { width: 20px; height: 20px; }

.header-light-account {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  padding: 0 12px;
  height: 46px;
  border-radius: var(--radius-sm);
  transition: background var(--t-fast);
}
.header-light-account:hover { background: var(--bg-card); }
.header-light-account svg { width: 22px; height: 22px; color: var(--text-secondary); }
.header-light-account .col { display: flex; flex-direction: column; line-height: 1.2; }
.header-light-account .col small { font-size: 10px; color: var(--text-tertiary); font-weight: 500; }

.header-light-cart {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--text-primary);
  color: #fff;
  text-decoration: none;
  padding: 0 18px;
  height: 46px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 14px;
  transition: all var(--t-fast);
}
.header-light-cart:hover { background: var(--brand); transform: translateY(-1px); }
.header-light-cart .cart-icon { position: relative; }
.header-light-cart svg { width: 22px; height: 22px; }
.header-light-cart .num {
  position: absolute; top: -8px; right: -8px;
  min-width: 18px; height: 18px;
  background: var(--danger);
  color: #fff;
  font-size: 10px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; padding: 0 4px;
  border: 2px solid var(--text-primary);
}

/* ============================================================
   VARIANTE B — Header DARK 2 righe + filtri rapidi
   ============================================================ */
.header-two-row {
  background: var(--bg-dark);
  color: #FAFAFA;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.18);
  padding: 16px 22px 14px;
}
.header-two-row-top {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 22px;
  align-items: center;
  margin-bottom: 14px;
}
/* Riga 1 PULITA: solo menu+logo SX e account+carrello DX */
.header-row-clean {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  gap: 24px;
}
.header-row-left {
  display: inline-flex; align-items: center; gap: 18px;
}
.header-row-right {
  display: inline-flex; align-items: center; gap: 12px;
}

/* Riga 1 — grid 5 colonne con grid-template-areas (appiattisco wrapper con display:contents) */
.header-row-3col {
  display: grid !important;
  grid-template-columns: auto auto 1fr auto auto !important;
  grid-template-areas: "menu logo search account cart" !important;
  gap: 16px;
  align-items: center;
}
/* I wrapper .header-row-left/.header-row-right diventano "trasparenti": i loro children direct grid items */
.header-row-3col .header-row-left,
.header-row-3col .header-row-right {
  display: contents;
}
/* Assegno aree ai children diretti */
.header-row-3col > .header-row-left > .menu-btn,
.header-row-3col > .menu-btn { grid-area: menu; }
.header-row-3col > .header-row-left > .brand-real,
.header-row-3col > .brand-real { grid-area: logo; }
.header-row-3col > .header-row-center { grid-area: search; display: flex; align-items: center; justify-content: center; }
.header-row-3col > .header-row-right > .header-account,
.header-row-3col > .header-account { grid-area: account; }
.header-row-3col > .header-row-right > .header-cart,
.header-row-3col > .header-cart { grid-area: cart; }

/* Search centrale */
.search-center {
  display: flex; align-items: stretch;
  width: 100%;
  max-width: 540px;
  height: 50px;
  background: #FAFAFA;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.search-center input {
  flex: 1;
  border: 0; outline: 0;
  padding: 0 20px;
  font-size: 14px;
  background: transparent;
  color: var(--text-primary);
}
.search-center input::placeholder { color: var(--text-muted); }
.search-center button {
  width: 60px;
  background: var(--danger);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: 0;
  transition: background var(--t-fast);
}
.search-center button:hover { background: #B91C1C; }
.search-center button svg { width: 22px; height: 22px; }

/* Nuovo logo SVG inline (adattamento provvisorio prima del logo definitivo) */
.brand-real {
  display: inline-flex; align-items: center; gap: 10px;
  text-decoration: none;
  color: inherit;
  height: 50px;
}
.brand-mark {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}
.brand-text {
  display: flex; flex-direction: column;
  line-height: 1;
  justify-content: center;
}
.brand-wm-clean {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-size: 20px;
  letter-spacing: -0.02em;
  color: #FAFAFA;
  text-transform: uppercase;
  line-height: 1;
}
.brand-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--brand-bright);
  margin-top: 4px;
  line-height: 1;
}

/* Riga 2 — solo chip filtri (search rimossa) */
.chips-only {
  justify-content: center !important;
  padding: 4px 0;
}
.chips-only .quick-chips {
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .header-row-3col { grid-template-columns: 1fr; gap: 14px; }
  .header-row-center { order: 3; }
  .brand-text { display: none; }
  .search-center { max-width: 100%; }
}
.header-two-row-bottom {
  display: flex;
  gap: 12px;
  align-items: center;
}
.search-fullwidth {
  flex: 1;
  display: flex; align-items: stretch;
  height: 48px;
  background: #FAFAFA;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.search-fullwidth input {
  flex: 1;
  border: 0; outline: 0;
  padding: 0 20px;
  font-size: 14px;
  background: transparent;
  color: var(--text-primary);
}
.search-fullwidth button {
  width: 56px;
  background: var(--danger);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: 0;
}
.search-fullwidth button:hover { background: #B91C1C; }
.search-fullwidth button svg { width: 20px; height: 20px; }

.quick-chips {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.quick-chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 36px; padding: 0 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-pill);
  color: #FAFAFA;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-decoration: none;
  transition: all var(--t-fast);
  white-space: nowrap;
}

/* Default desktop: mostra nome FULL, nascondi SHORT */
.quick-chip .qc-full { display: inline; }
.quick-chip .qc-short { display: none; }
@media (max-width: 768px) {
  .quick-chip .qc-full { display: none; }
  .quick-chip .qc-short { display: inline; }
}
.quick-chip:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.quick-chip.is-promo { background: var(--danger); border-color: var(--danger); color: #fff; }
.quick-chip.is-promo:hover { background: #B91C1C; }
.quick-chip svg { width: 13px; height: 13px; }

/* Variante B usa lo stesso brand-block ma compatto */
.header-two-row .brand-block { gap: 12px; }
.header-two-row .anni-num { font-size: 26px; }
.header-two-row .anni-lbl { font-size: 7.5px; }
.header-two-row .brand-wm { font-size: 32px; }

/* B v2: Trust badge in centro riga 1 */
.header-trust-mid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.header-trust-item {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: inherit;
  transition: all var(--t-fast);
  white-space: nowrap;
}
.header-trust-item:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-1px);
}
.header-trust-item.is-phone {
  background: rgba(234,88,12,0.12);
  border-color: rgba(234,88,12,0.25);
}
.header-trust-item.is-phone:hover {
  background: rgba(234,88,12,0.2);
  border-color: rgba(234,88,12,0.45);
}
.header-trust-icon {
  width: 32px; height: 32px;
  background: rgba(255,255,255,0.06);
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
}
.header-trust-item.is-phone .header-trust-icon {
  background: var(--brand);
  color: #fff;
}
.header-trust-icon svg { width: 16px; height: 16px; }
.header-trust-text {
  display: flex; flex-direction: column;
  line-height: 1.15;
  min-width: 0;
}
.header-trust-text .t {
  font-size: 13px;
  font-weight: 700;
  color: #FAFAFA;
  letter-spacing: -0.005em;
}
.header-trust-text .s {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #A3A3A3;
  margin-top: 2px;
}

/* Topbar pulita (no marquee) */
.topbar-clean {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  gap: 16px;
}
.topbar-clean .topbar-ctas {
  display: inline-flex; align-items: center; gap: 6px;
}
.topbar-sep {
  color: #525252;
  font-size: 12px;
  user-select: none;
}
.topbar-cta.phone {
  color: var(--brand-bright);
  font-weight: 700;
  letter-spacing: 0.4px;
}
.topbar-cta.phone:hover { color: #fff; background: rgba(234,88,12,0.18); }
.topbar-cta.phone svg { color: var(--brand-bright); }

/* B v2: logo PNG reale dentro container BIANCO arrotondato */
.logo-real-dark {
  display: inline-flex; align-items: center; gap: 14px;
  text-decoration: none;
  padding-right: 16px;
  border-right: 1px solid rgba(255,255,255,0.12);
}
.logo-real-dark .logo-box {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 0 rgba(0,0,0,0.3);
  border: 1px solid #E5E5E5;
}
.logo-real-dark img {
  height: 44px;
  width: auto;
  display: block;
}
.logo-real-dark .anniv-mini {
  display: flex; flex-direction: column; line-height: 1.05;
}
.logo-real-dark .anniv-mini .n {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-size: 20px;
  letter-spacing: -0.03em;
  color: #FAFAFA;
}
.logo-real-dark .anniv-mini .n sup {
  font-size: 9px;
  margin-left: 1px;
  color: var(--brand);
  font-weight: 800;
}
.logo-real-dark .anniv-mini .l {
  font-family: 'JetBrains Mono', monospace;
  font-size: 7.5px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #A3A3A3;
  margin-top: 2px;
}

/* compatto account header-2-row per evitare overflow */
.header-two-row .header-account {
  padding: 8px 12px;
  border-left: 1px solid rgba(255,255,255,0.12);
  border-right: 1px solid rgba(255,255,255,0.12);
  height: auto;
  line-height: 1.25;
}
.header-two-row .header-account .top { font-size: 10.5px; color: #A3A3A3; letter-spacing: 0.3px; }
.header-two-row .header-account .bottom { font-size: 12.5px; }
.header-two-row .header-cart { font-size: 13px; padding: 0 12px; height: 44px; }
.header-two-row .header-cart .cart-icon svg { width: 26px; height: 26px; }

/* B v2: aggiusto la riga 2 — search bilanciata + chip filtri 1 sola riga */
.header-two-row-bottom { gap: 14px; align-items: center; }
.header-two-row-bottom .search-fullwidth { flex: 1 1 0; min-width: 0; }
.header-two-row-bottom .quick-chips { flex: 0 0 auto; flex-wrap: nowrap; gap: 6px; }
.header-two-row-bottom .quick-chip {
  padding: 0 12px;
  height: 38px;
  font-size: 12px;
  letter-spacing: 0.2px;
}
.header-two-row-bottom .quick-chip.is-promo { padding: 0 14px; }

@media (max-width: 1180px) {
  .header-trust-item { padding: 8px 10px; }
  .header-trust-item:nth-child(2) { display: none; } /* nascondi Klarna su tablet */
  .header-trust-text .s { display: none; }
  .header-two-row-bottom .search-fullwidth { max-width: 50%; }
}
@media (max-width: 900px) {
  .header-trust-mid { display: none; }
  .header-two-row-bottom .search-fullwidth { max-width: 100%; }
}

@media (max-width: 1024px) {
  .header-light { grid-template-columns: auto auto 1fr auto; gap: 14px; }
  .header-light-account { display: none; }
  .brand-img-tag { display: none; }
  .header-two-row-bottom { flex-direction: column; align-items: stretch; gap: 10px; }
  .quick-chips { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
}

/* ============================================================
   PAGINE INTERNE — Recensioni & Categoria
   ============================================================ */

/* Breadcrumb */
.breadcrumb {
  padding: 22px 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  border-bottom: 1px solid var(--border);
}
.breadcrumb a { color: var(--text-secondary); text-decoration: none; }
.breadcrumb a:hover { color: var(--brand); }
.breadcrumb .sep { color: var(--text-muted); margin: 0 8px; }
.breadcrumb .current { color: var(--text-primary); font-weight: 600; }

/* Page hero */
.page-hero {
  padding: 48px 0 36px;
  border-bottom: 1px solid var(--border);
}
.page-hero h1 {
  font-size: clamp(32px, 4vw, 48px);
  margin-bottom: 14px;
}
.page-hero .lead { max-width: 620px; }
.page-hero-meta {
  display: flex; gap: 36px; flex-wrap: wrap;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}
.page-hero-meta-item .n {
  font-size: 28px;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1;
}
.page-hero-meta-item .l {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-top: 6px;
}

/* Reviews page — toolbar filtri */
.reviews-toolbar {
  display: flex; gap: 12px; flex-wrap: wrap;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--border);
}
.review-filter {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--t-fast);
  text-decoration: none;
}
.review-filter:hover { border-color: var(--text-primary); color: var(--text-primary); }
.review-filter.active {
  background: var(--text-primary);
  color: #fff;
  border-color: var(--text-primary);
}
.review-filter svg { width: 14px; height: 14px; }

.reviews-toolbar-sort {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px;
  color: var(--text-tertiary);
}
.reviews-toolbar-sort select {
  padding: 7px 28px 7px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23737373' stroke-width='1.5' fill='none'/></svg>") no-repeat right 10px center;
  appearance: none;
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 500;
}

/* Reviews page — griglia completa */
.reviews-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding: 36px 0;
}
.review-card-full {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  display: flex; flex-direction: column; gap: 14px;
  transition: all var(--t);
}
.review-card-full:hover { border-color: var(--border-hover); box-shadow: var(--shadow); }
.review-card-full .photo-slot {
  aspect-ratio: 16/9;
  background: var(--bg-card);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  overflow: hidden;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 4px;
  background-size: cover;
  background-position: center;
}
.review-card-full .photo-slot.empty::before {
  content: '📷 Foto cliente';
}
.review-card-full .photo-slot.has-img::before { display: none; }
.review-card-full .meta-line {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.review-card-full .stars { font-size: 14px; }
.review-card-full .date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
  letter-spacing: 0.4px;
}

/* Pagination */
.pagination {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 6px;
  padding: 32px 0 64px;
  border-top: 1px solid var(--border);
  margin-top: 12px;
}
.pagination a, .pagination span {
  min-width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg);
  transition: all var(--t-fast);
  padding: 0 12px;
}
.pagination a:hover { border-color: var(--text-primary); color: var(--text-primary); }
.pagination .active { background: var(--text-primary); color: #fff; border-color: var(--text-primary); }
.pagination .dots { border: 0; background: transparent; }

/* CTA "Scrivi recensione" */
.write-review-cta {
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border: 1px solid #FED7AA;
  border-radius: var(--radius-lg);
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  margin: 12px 0;
}
.write-review-cta h3 { font-size: 22px; margin-bottom: 6px; }
.write-review-cta p { color: var(--text-secondary); max-width: 540px; font-size: 14px; }

/* ============================================================
   PAGINA CATEGORIA (Utensileria) — sidebar + grid prodotti
   ============================================================ */
.category-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 36px;
  padding: 36px 0 64px;
}

/* Sidebar */
.cat-sidebar {
  position: sticky;
  top: 220px;
  align-self: start;
  display: flex; flex-direction: column; gap: 24px;
  font-size: 14px;
}
.filter-block {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 20px;
}
.filter-block h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.filter-list { display: flex; flex-direction: column; gap: 8px; }
.filter-list a {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 14px;
  color: var(--text-secondary);
  text-decoration: none;
  padding: 4px 0;
  transition: color var(--t-fast);
}
.filter-list a:hover { color: var(--brand); }
.filter-list a.active { color: var(--brand); font-weight: 700; }
.filter-list a .count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
  letter-spacing: 0.4px;
}
.filter-checkbox {
  display: flex; align-items: center; gap: 10px;
  font-size: 13.5px;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 3px 0;
}
.filter-checkbox input[type="checkbox"] { accent-color: var(--brand); width: 16px; height: 16px; }
.filter-checkbox .count {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
}
.filter-price {
  display: flex; gap: 8px;
  margin-top: 8px;
}
.filter-price input {
  width: 50%;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
}
.filter-apply {
  width: 100%;
  height: 38px;
  background: var(--text-primary);
  color: #fff;
  border: 0;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  margin-top: 10px;
  transition: background var(--t-fast);
}
.filter-apply:hover { background: var(--brand); }

/* Catalog body */
.cat-body {
  display: flex; flex-direction: column; gap: 24px;
}
.cat-body-head {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.cat-body-head .count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
}
.cat-body-head .count strong { color: var(--text-primary); font-weight: 700; }
.cat-grid-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

@media (max-width: 1024px) {
  .category-layout { grid-template-columns: 1fr; }
  .cat-sidebar { position: static; }
  .reviews-page-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-grid-products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .reviews-page-grid { grid-template-columns: 1fr; }
  /* utensileria → 2 col su mobile (richiesta esplicita), non 1 col */
  .cat-grid-products { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .write-review-cta { grid-template-columns: 1fr; padding: 24px; }
}

/* ============================================================
   PAGINE VETRINA (Diagnostica / Stazioni A/C) — solo preventivo
   ============================================================ */

/* Page hero impattante con form preventivo inline */
.quote-hero {
  background:
    radial-gradient(ellipse at top right, rgba(234,88,12,0.12) 0%, transparent 50%),
    radial-gradient(ellipse at bottom left, rgba(37,99,235,0.08) 0%, transparent 50%),
    var(--bg-dark);
  color: var(--text-inverse);
  padding: 64px 0 56px;
  border-bottom: 1px solid #1F1F1F;
}
.quote-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center;
}
.quote-hero-copy .eyebrow { color: var(--brand-bright); margin-bottom: 16px; }
.quote-hero-copy .eyebrow::before { background: var(--brand); }
.quote-hero-copy h1 {
  color: #fff;
  margin-bottom: 16px;
  font-size: clamp(34px, 4.5vw, 54px);
}
.quote-hero-copy h1 em.serif { color: var(--brand-bright); }
.quote-hero-copy .lead {
  color: #D4D4D4;
  font-size: 17px;
  margin-bottom: 28px;
}
.quote-hero-bullets {
  display: flex; flex-direction: column; gap: 12px;
  margin-bottom: 28px;
}
.quote-hero-bullets li {
  display: flex; align-items: flex-start; gap: 12px;
  color: #E5E5E5;
  font-size: 14.5px;
  line-height: 1.5;
}
.quote-hero-bullets li::before {
  content: '✓';
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px;
  background: var(--brand);
  border-radius: 50%;
  color: #fff;
  font-size: 12px; font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Form preventivo nel hero (in vetro) */
.quote-form-block {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 32px;
  backdrop-filter: blur(8px);
}
.quote-form-title {
  font-size: 20px; font-weight: 800;
  color: #fff;
  margin-bottom: 6px;
}
.quote-form-sub {
  font-size: 13px;
  color: #A3A3A3;
  margin-bottom: 22px;
}
.quote-form-block .field { margin-bottom: 12px; }
.quote-form-block label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #A3A3A3;
  margin-bottom: 6px;
}
.quote-form-block input,
.quote-form-block select,
.quote-form-block textarea {
  width: 100%;
  padding: 12px 14px;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-sm);
  color: #fff;
  font-size: 14px;
  font-family: inherit;
}
.quote-form-block input:focus,
.quote-form-block select:focus,
.quote-form-block textarea:focus {
  outline: none;
  border-color: var(--brand-bright);
  background: rgba(0,0,0,0.45);
}
.quote-form-block textarea { resize: vertical; min-height: 70px; }
.quote-form-block select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23A3A3A3' stroke-width='1.5' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 32px;
}
.quote-form-foot {
  display: flex; gap: 10px; margin-top: 16px;
}
.quote-form-foot .btn { flex: 1; }
.quote-form-foot .btn-wa {
  background: var(--whatsapp);
  color: #fff;
  height: 48px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: var(--radius-sm);
  font-weight: 700; font-size: 14px;
  text-decoration: none;
  transition: background var(--t-fast);
}
.quote-form-foot .btn-wa:hover { background: #1FB458; }
.quote-form-foot .btn-wa svg { width: 18px; height: 18px; }

/* Brand strip */
.brand-strip-section {
  padding: 48px 0;
  border-bottom: 1px solid var(--border);
}
.brand-strip-head {
  text-align: center;
  margin-bottom: 28px;
}
.brand-strip-head .eyebrow { margin-bottom: 8px; }
.brand-strip-head h2 { font-size: 26px; }
.brand-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  flex-wrap: wrap;
}
.brand-strip .brand-name {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  text-transform: uppercase;
  transition: color var(--t);
  cursor: default;
}
.brand-strip .brand-name:hover { color: var(--brand); }

/* Sotto-categorie tile per pagina vetrina */
.vetrina-subcats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 36px 0;
}
.vetrina-subcat-tile {
  display: flex; align-items: center; gap: 16px;
  padding: 22px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  transition: all var(--t);
}
.vetrina-subcat-tile:hover { border-color: var(--brand); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.vetrina-subcat-icon {
  width: 56px; height: 56px;
  background: var(--brand-soft);
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
}
.vetrina-subcat-icon svg { width: 28px; height: 28px; }
.vetrina-subcat-text .t { font-size: 16px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.vetrina-subcat-text .s { font-size: 13px; color: var(--text-tertiary); }

/* Griglia card preventivo (senza filtri prezzo) */
.vetrina-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding: 12px 0 36px;
}

/* Sezione "Perché preventivo personalizzato?" */
.why-quote {
  background: var(--bg-soft);
  border-radius: var(--radius-lg);
  padding: 48px 40px;
  margin: 36px 0;
}
.why-quote-head {
  text-align: center;
  margin-bottom: 36px;
}
.why-quote-head h2 { font-size: 28px; margin-bottom: 10px; }
.why-quote-head .lead { margin: 0 auto; }
.why-quote-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.why-quote-item {
  text-align: center;
  padding: 16px;
}
.why-quote-item .icon {
  width: 56px; height: 56px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  margin: 0 auto 16px;
}
.why-quote-item .icon svg { width: 28px; height: 28px; }
.why-quote-item h4 { font-size: 16px; margin-bottom: 6px; }
.why-quote-item p { font-size: 13.5px; color: var(--text-secondary); line-height: 1.5; }

/* Hero compatto per pagine vetrina (no form a destra) */
.quote-hero-compact {
  background:
    radial-gradient(ellipse at top right, rgba(234,88,12,0.12) 0%, transparent 50%),
    radial-gradient(ellipse at bottom left, rgba(37,99,235,0.08) 0%, transparent 50%),
    var(--bg-dark);
  color: var(--text-inverse);
  padding: 56px 0 48px;
  border-bottom: 1px solid #1F1F1F;
}
.quote-hero-compact .container { text-align: center; }
.quote-hero-compact .eyebrow { color: var(--brand-bright); margin-bottom: 14px; justify-content: center; }
.quote-hero-compact .eyebrow::before { background: var(--brand); }
.quote-hero-compact h1 {
  color: #fff;
  margin: 0 auto 14px;
  font-size: clamp(34px, 4.5vw, 54px);
  max-width: 900px;
}
.quote-hero-compact h1 em.serif { color: var(--brand-bright); }
.quote-hero-compact .lead {
  color: #D4D4D4;
  font-size: 17px;
  margin: 0 auto;
  max-width: 700px;
}

/* Sezione bullet point standalone */
.bullets-section {
  padding: 64px 0 56px;
  background: var(--bg);
}
.bullets-section-head {
  text-align: center;
  margin-bottom: 40px;
}
.bullets-section-head .eyebrow { justify-content: center; margin-bottom: 12px; }
.bullets-section-head h2 { font-size: clamp(28px, 3vw, 38px); }
.bullets-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.bullet-card {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px 24px;
  display: flex; flex-direction: column; gap: 12px;
  transition: all var(--t);
}
.bullet-card:hover { border-color: var(--brand); transform: translateY(-3px); box-shadow: var(--shadow); }
.bullet-card .bullet-icon {
  width: 44px; height: 44px;
  background: var(--brand);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 20px; font-weight: 800;
}
.bullet-card h4 {
  font-size: 16px;
  margin: 0;
  color: var(--text-primary);
}
.bullet-card p {
  font-size: 13.5px;
  color: var(--text-secondary);
  line-height: 1.55;
  margin: 0;
}

/* Form preventivo come sezione standalone */
.quote-form-section {
  background: var(--bg-dark);
  color: var(--text-inverse);
  padding: 64px 0;
  position: relative;
  overflow: hidden;
}
.quote-form-section::before {
  content: '';
  position: absolute;
  top: -100px; right: -150px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(234,88,12,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.quote-form-section .container { position: relative; z-index: 1; }
.quote-form-section-head {
  text-align: center;
  margin-bottom: 36px;
}
.quote-form-section-head .eyebrow { color: var(--brand-bright); justify-content: center; margin-bottom: 12px; }
.quote-form-section-head .eyebrow::before { background: var(--brand-bright); }
.quote-form-section-head h2 { color: #fff; font-size: clamp(28px, 3vw, 38px); margin-bottom: 12px; }
.quote-form-section-head .lead { color: #D4D4D4; margin: 0 auto; max-width: 600px; }

.quote-form-standalone {
  max-width: 720px;
  margin: 0 auto;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 36px 40px;
  backdrop-filter: blur(8px);
}
.quote-form-standalone .field { margin-bottom: 16px; }
.quote-form-standalone label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #E5E5E5;
  margin-bottom: 8px;
}
.quote-form-standalone input,
.quote-form-standalone textarea {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-sm);
  color: #FFFFFF;
  font-size: 14.5px;
  font-family: inherit;
}
.quote-form-standalone input::placeholder,
.quote-form-standalone textarea::placeholder {
  color: #C0C0C0;
  opacity: 1;
}
.quote-form-standalone input:focus,
.quote-form-standalone textarea:focus {
  outline: none;
  border-color: var(--brand-bright);
  background: rgba(255,255,255,0.1);
}
.quote-form-standalone textarea { resize: vertical; min-height: 96px; }
.quote-form-actions {
  display: flex; gap: 12px; margin-top: 20px;
}
.quote-form-actions .btn { flex: 1; height: 52px; font-size: 14.5px; }
.quote-form-actions .btn-wa {
  background: var(--whatsapp);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  text-decoration: none;
  flex: 1;
  height: 52px;
  font-size: 14.5px;
  transition: background var(--t-fast);
}
.quote-form-actions .btn-wa:hover { background: #1FB458; }
.quote-form-actions .btn-wa svg { width: 18px; height: 18px; }

/* Marquee brand pagina (più compatto del homepage) */
.page-brands {
  padding: 64px 0;
  background: var(--bg-soft);
  border-block: 1px solid var(--border);
  overflow: hidden;
}
.page-brands-head {
  text-align: center;
  margin-bottom: 28px;
}
.page-brands-head .eyebrow { justify-content: center; margin-bottom: 8px; }
.page-brands-head h2 { font-size: 22px; }
.page-brands-track {
  display: flex;
  gap: 72px;
  animation: marquee 32s linear infinite;
  width: max-content;
  align-items: center;
}
.page-brands-track .brand-name {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 26px;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  text-transform: uppercase;
  white-space: nowrap;
  transition: color var(--t);
}
.page-brands-track .brand-name:hover { color: var(--brand); }
.page-brands:hover .page-brands-track { animation-play-state: paused; }

/* CTA finale prominente prima del footer */
.final-cta {
  background:
    radial-gradient(ellipse at top left, rgba(234,88,12,0.18) 0%, transparent 55%),
    var(--bg-dark);
  color: var(--text-inverse);
  border-radius: var(--radius-lg);
  padding: 56px 48px;
  margin: 48px auto;
  text-align: center;
}
.final-cta h2 { color: #fff; font-size: 36px; margin-bottom: 12px; max-width: 620px; margin-left: auto; margin-right: auto; }
.final-cta h2 em.serif { color: var(--brand-bright); }
.final-cta .lead { color: #D4D4D4; max-width: 540px; margin: 0 auto 28px; }
.final-cta-actions {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}
.final-cta-actions .btn { height: 54px; padding: 0 28px; font-size: 14.5px; }

@media (max-width: 1024px) {
  .quote-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .quote-form-block { padding: 24px; }
  .vetrina-subcats { grid-template-columns: repeat(2, 1fr); }
  .vetrina-grid { grid-template-columns: repeat(2, 1fr); }
  .why-quote-grid { grid-template-columns: repeat(2, 1fr); }
  .bullets-grid { grid-template-columns: repeat(2, 1fr); }
  .quote-form-standalone { padding: 28px 24px; }
  .quote-form-actions { flex-direction: column; }
}
@media (max-width: 640px) {
  .vetrina-subcats { grid-template-columns: 1fr; }
  .vetrina-grid { grid-template-columns: 1fr; }
  .why-quote-grid { grid-template-columns: 1fr; }
  .bullets-grid { grid-template-columns: 1fr; }
  .brand-strip { gap: 32px; }
  .brand-strip .brand-name { font-size: 18px; }
  .page-brands-track .brand-name { font-size: 22px; }
  .why-quote { padding: 32px 22px; }
  .final-cta { padding: 36px 24px; }
  .final-cta h2 { font-size: 26px; }
  .quote-hero-compact { padding: 40px 0 32px; }
}

/* ============================================================
   PAGINA PROMO — la macchina di conversione
   ============================================================ */

/* Hero PROMO impattante con gradient fuoco */
.promo-hero {
  position: relative;
  background:
    radial-gradient(ellipse at top left, #DC2626 0%, transparent 55%),
    radial-gradient(ellipse at bottom right, #F97316 0%, transparent 50%),
    radial-gradient(ellipse at top right, #FFD600 0%, transparent 45%),
    var(--bg-dark);
  color: #fff;
  padding: 56px 0 80px;
  overflow: hidden;
}
.promo-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: conic-gradient(
    from 0deg at 70% 30%,
    transparent 0deg,
    rgba(255,214,0,0.15) 40deg,
    transparent 80deg,
    rgba(220,38,38,0.2) 120deg,
    transparent 160deg,
    rgba(249,115,22,0.18) 200deg,
    transparent 240deg
  );
  animation: spinSlow 80s linear infinite;
  pointer-events: none;
}
.promo-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr auto;
  gap: 56px;
  align-items: center;
}

/* Hero minimal — compatto, niente conic animato, niente sticker */
.promo-hero-minimal {
  padding: 36px 0 40px;
}
.promo-hero-minimal::before { display: none; }
.promo-hero-minimal h1 {
  font-family: 'Archivo Black', sans-serif;
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}
.promo-hero-minimal h1 .accent {
  display: inline;
  background: linear-gradient(180deg, #FFD600 0%, #FF9800 50%, #FF5722 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.promo-hero-minimal .sub {
  font-size: 16px;
  color: #FAFAFA;
}
.promo-hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(255,214,0,0.4);
  padding: 7px 14px;
  border-radius: var(--radius-pill);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #FFD600;
  font-weight: 700;
  width: fit-content;
  margin-bottom: 22px;
  backdrop-filter: blur(6px);
}
.promo-hero-tag::before {
  content: '';
  width: 8px; height: 8px;
  background: #FFD600;
  border-radius: 50%;
  box-shadow: 0 0 12px #FFD600;
  animation: pulseDot 1.4s ease-out infinite;
}

.promo-hero h1 {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(54px, 9vw, 112px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  margin: 0 0 12px;
  text-transform: uppercase;
  color: #fff;
}
.promo-hero h1 .accent {
  display: block;
  background: linear-gradient(180deg, #FFD600 0%, #FF9800 50%, #FF5722 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 4px 24px rgba(255,152,0,0.4);
}
.promo-hero .sub {
  font-size: 19px;
  color: #FAFAFA;
  margin: 0 0 28px;
  max-width: 540px;
  line-height: 1.45;
}
.promo-hero .sub strong { color: #FFD600; font-weight: 800; }
.promo-hero-stats {
  display: flex; gap: 32px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.promo-hero-stat .n {
  font-family: 'Archivo Black', sans-serif;
  font-size: 28px;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
}
.promo-hero-stat .n .em { color: #FFD600; }
.promo-hero-stat .l {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #D4D4D4;
  margin-top: 5px;
}
.promo-hero-cta {
  display: flex; gap: 12px; flex-wrap: wrap;
}
.promo-hero-cta .btn-promo-yellow {
  background: #FFD600;
  color: #0F0F0F;
  height: 56px;
  padding: 0 32px;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 10px;
  box-shadow: 0 8px 28px rgba(255,214,0,0.35);
  transition: all var(--t);
}
.promo-hero-cta .btn-promo-yellow:hover { background: #FFC400; transform: translateY(-2px); box-shadow: 0 14px 36px rgba(255,214,0,0.5); }
.promo-hero-cta .btn-promo-outline {
  background: transparent;
  color: #fff;
  height: 56px;
  padding: 0 24px;
  font-weight: 700;
  font-size: 14px;
  border: 1.5px solid rgba(255,255,255,0.35);
  border-radius: var(--radius-sm);
  text-decoration: none;
  display: inline-flex; align-items: center;
  transition: all var(--t-fast);
}
.promo-hero-cta .btn-promo-outline:hover { background: rgba(255,255,255,0.1); border-color: #fff; }

/* Countdown timer */
.countdown-box {
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255,214,0,0.4);
  border-radius: var(--radius-lg);
  padding: 32px;
  text-align: center;
  min-width: 320px;
}
.countdown-box .label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FFD600;
  font-weight: 700;
  margin-bottom: 16px;
}
.countdown-timer {
  display: flex; gap: 10px; justify-content: center;
}
.countdown-unit {
  display: flex; flex-direction: column;
  min-width: 64px;
}
.countdown-unit .v {
  font-family: 'Archivo Black', sans-serif;
  font-size: 40px;
  color: #fff;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 10px 0;
  line-height: 1;
  letter-spacing: -0.03em;
}
.countdown-unit .u {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #A3A3A3;
  margin-top: 8px;
}

/* Sticker decorativo "fino a -50%" */
.promo-sticker {
  position: absolute;
  top: 24px; right: 24px;
  width: 130px; height: 130px;
  background: var(--danger);
  border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff;
  font-family: 'Archivo Black', sans-serif;
  line-height: 1;
  transform: rotate(-12deg);
  box-shadow: 0 12px 32px rgba(220,38,38,0.5);
  border: 4px dashed rgba(255,255,255,0.5);
  z-index: 2;
}
.promo-sticker .top { font-size: 14px; opacity: 0.9; }
.promo-sticker .big { font-size: 44px; letter-spacing: -0.04em; }
.promo-sticker .bot { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin-top: 4px; }

/* Top deals — 3 card mega */
.top-deals {
  padding: 64px 0 40px;
}
.top-deals-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 28px;
  flex-wrap: wrap; gap: 16px;
}
.top-deals-head h2 {
  font-size: 30px;
  margin: 0;
  display: inline-flex; align-items: center; gap: 12px;
}
.top-deals-head h2::before {
  content: '🔥';
  font-size: 28px;
}
.top-deals-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.deal-card {
  position: relative;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  text-decoration: none;
  color: inherit;
  display: flex; flex-direction: column; gap: 14px;
  transition: all var(--t);
  overflow: hidden;
}
.deal-card::after {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(220,38,38,0.1) 0%, transparent 70%);
  pointer-events: none;
}
.deal-card:hover { border-color: var(--danger); transform: translateY(-6px); box-shadow: 0 16px 40px rgba(220,38,38,0.15); }
.deal-card-badges {
  display: inline-flex; gap: 6px;
  position: relative; z-index: 1;
}
.deal-badge {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.8px;
  padding: 5px 10px;
  border-radius: 6px;
  text-transform: uppercase;
}
.deal-badge.discount { background: var(--danger); color: #fff; }
.deal-badge.top { background: var(--text-primary); color: #fff; }
.deal-badge.flash { background: #FFD600; color: #0F0F0F; }
.deal-badge.stock { background: #FEF2F2; color: var(--danger); border: 1px solid #FCA5A5; }
.deal-card-img {
  aspect-ratio: 1/1;
  background: var(--bg-soft);
  border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  position: relative; z-index: 1;
}
.deal-card-img img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 16px; }
.deal-card-brand {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--danger);
  position: relative; z-index: 1;
}
.deal-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.35;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
  position: relative; z-index: 1;
}
.deal-card-stock {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--danger);
  font-weight: 600;
  letter-spacing: 0.4px;
  display: inline-flex; align-items: center; gap: 6px;
  position: relative; z-index: 1;
}
.deal-card-stock::before { content: '⚡'; }
.deal-card-priceblock {
  display: flex; align-items: baseline; justify-content: space-between;
  flex-wrap: wrap; gap: 8px;
  position: relative; z-index: 1;
}
.deal-card-price .was {
  font-size: 14px;
  color: var(--text-tertiary);
  text-decoration: line-through;
  display: block;
}
.deal-card-price .now {
  font-family: 'Archivo Black', sans-serif;
  font-size: 28px;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1;
}
.deal-card-save {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  background: var(--danger);
  color: #fff;
  padding: 5px 10px;
  border-radius: 6px;
  font-weight: 800;
  letter-spacing: 0.3px;
}
.deal-card .btn {
  width: 100%;
  position: relative;
  z-index: 1;
}

/* Toolbar promo filtri */
.promo-filters {
  padding: 28px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--bg-soft);
  position: sticky;
  top: 0;
  z-index: 50;
}
.promo-filters-inner {
  display: flex; gap: 12px; align-items: center;
  flex-wrap: wrap;
}
.promo-filter-group {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.promo-filter-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-right: 4px;
  align-self: center;
}
.promo-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 13px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  cursor: pointer;
  transition: all var(--t-fast);
}
.promo-chip:hover { border-color: var(--text-primary); color: var(--text-primary); }
.promo-chip.active { background: var(--danger); color: #fff; border-color: var(--danger); }
.promo-chip.active.yellow { background: #FFD600; color: #0F0F0F; border-color: #FFD600; }
.promo-toolbar-sort {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px;
  color: var(--text-tertiary);
}
.promo-toolbar-sort select {
  padding: 7px 28px 7px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23737373' stroke-width='1.5' fill='none'/></svg>") no-repeat right 10px center;
  appearance: none;
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 600;
  cursor: pointer;
}

/* Promo grid prodotti */
.promo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  padding: 36px 0 16px;
}

/* Card promo standard (con prezzo e cta acquista) */
.promo-card {
  position: relative;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: all var(--t);
  text-decoration: none;
  color: inherit;
}
.promo-card:hover {
  border-color: var(--danger);
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(220,38,38,0.12);
}
.promo-card-img {
  position: relative;
  aspect-ratio: 1/1;
  background: var(--bg-soft);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.promo-card-img img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 16px; transition: transform var(--t); }
.promo-card:hover .promo-card-img img { transform: scale(1.05); }
.promo-card-discount {
  position: absolute; top: 10px; left: 10px;
  background: var(--danger);
  color: #fff;
  font-family: 'Archivo Black', sans-serif;
  font-size: 15px;
  padding: 6px 10px;
  border-radius: 6px;
  letter-spacing: -0.02em;
  z-index: 1;
}
.promo-card-flag {
  position: absolute; top: 10px; right: 10px;
  background: #FFD600;
  color: #0F0F0F;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  font-weight: 800;
  text-transform: uppercase;
  z-index: 1;
}
.promo-card-flag.top { background: var(--text-primary); color: #FFD600; }
.promo-card-flag.flash { background: var(--danger); color: #fff; }
.promo-card-body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.promo-card-brand {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--danger);
}
.promo-card-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.4;
  min-height: 2.8em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
}
.promo-card-stock {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-top: -2px;
}
.promo-card-stock.low { color: var(--danger); font-weight: 700; }
.promo-card-stock.low::before { content: '⚡ '; }
.promo-card-price {
  display: flex; align-items: baseline; gap: 8px;
  flex-wrap: wrap; row-gap: 2px;
  margin-top: auto;
}
.promo-card-price .was { font-size: 12.5px; color: var(--text-muted); text-decoration: line-through; }
.promo-card-price .now { font-family: 'Archivo Black', sans-serif; font-size: 22px; color: var(--text-primary); letter-spacing: -0.02em; }
.promo-card-save {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--danger);
  font-weight: 700;
  margin-left: auto;
  align-self: center;
}
.promo-card-cta {
  margin-top: 6px;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 40px;
  background: var(--text-primary);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background var(--t-fast);
}
.promo-card-cta:hover { background: var(--danger); }

/* Trust mid strip */
.promo-trust-strip {
  background: var(--bg-soft);
  border-block: 1px solid var(--border);
  padding: 24px 0;
}
.promo-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.promo-trust-item {
  display: flex; align-items: center; gap: 12px;
}
.promo-trust-ico {
  width: 38px; height: 38px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
}
.promo-trust-ico svg { width: 20px; height: 20px; }
.promo-trust-text .t { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.promo-trust-text .s { font-size: 11.5px; color: var(--text-tertiary); margin-top: 2px; }

/* Newsletter VIP — claim più forte */
.promo-newsletter {
  background:
    radial-gradient(ellipse at top right, rgba(255,214,0,0.18) 0%, transparent 50%),
    var(--bg-dark);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 48px 56px;
  margin: 56px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.promo-newsletter h3 {
  font-size: 28px;
  margin: 0 0 8px;
  color: #fff;
}
.promo-newsletter h3 em.serif { color: #FFD600; }
.promo-newsletter p { color: #D4D4D4; font-size: 14px; margin: 0; }
.promo-newsletter-perk {
  display: flex; align-items: center; gap: 10px;
  margin-top: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #FFD600;
  font-weight: 700;
}
.promo-newsletter-perk::before { content: '🎁'; font-size: 16px; }
.promo-newsletter-form {
  display: flex; gap: 10px;
}
.promo-newsletter-form input {
  flex: 1;
  height: 52px;
  padding: 0 18px;
  background: rgba(255,255,255,0.08);
  border: 1.5px solid rgba(255,214,0,0.4);
  border-radius: var(--radius-sm);
  color: #fff;
  font-size: 14.5px;
}
.promo-newsletter-form input::placeholder { color: #C0C0C0; opacity: 1; }
.promo-newsletter-form input:focus { outline: none; border-color: #FFD600; background: rgba(255,255,255,0.12); }
.promo-newsletter-form button {
  height: 52px;
  padding: 0 28px;
  background: #FFD600;
  color: #0F0F0F;
  border: 0;
  border-radius: var(--radius-sm);
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all var(--t);
}
.promo-newsletter-form button:hover { background: #FFC400; transform: translateY(-1px); }

@media (max-width: 1024px) {
  .promo-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .top-deals-grid { grid-template-columns: 1fr 1fr; }
  .promo-grid { grid-template-columns: repeat(3, 1fr); }
  .promo-trust-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .promo-newsletter { grid-template-columns: 1fr; padding: 36px 32px; }
}
@media (max-width: 640px) {
  .promo-hero { padding: 36px 0 56px; }
  .top-deals-grid, .promo-grid { grid-template-columns: 1fr; }
  .promo-trust-grid { grid-template-columns: 1fr; }
  .countdown-unit .v { font-size: 28px; }
  .promo-sticker { width: 90px; height: 90px; }
  .promo-sticker .big { font-size: 28px; }
}

/* ============================================================
   MEGA MENU (drawer overlay)
   ============================================================ */
.mega-overlay {
  position: fixed; inset: 0;
  background: rgba(10,10,10,0.55);
  backdrop-filter: blur(4px);
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
}
.mega-overlay.open { opacity: 1; visibility: visible; }

.mega-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: min(960px, 92vw);
  background: var(--bg-dark);
  color: var(--text-inverse);
  z-index: 201;
  transform: translateX(-100%);
  transition: transform 350ms cubic-bezier(0.32, 0.72, 0.24, 1);
  display: flex; flex-direction: column;
  box-shadow: 8px 0 32px rgba(0,0,0,0.4);
}
.mega-drawer.open { transform: translateX(0); }

.mega-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 32px;
  border-bottom: 1px solid #1F1F1F;
  flex-shrink: 0;
}
.mega-header h3 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--brand-bright);
  font-weight: 600;
  margin: 0;
}
.mega-close {
  width: 40px; height: 40px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  color: #FAFAFA;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all var(--t-fast);
}
.mega-close:hover { background: var(--danger); border-color: var(--danger); }
.mega-close svg { width: 18px; height: 18px; }

.mega-body {
  flex: 1; overflow-y: auto;
  padding: 32px;
}
.mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 32px;
}
.mega-col h4 {
  display: flex; align-items: center; gap: 10px;
  font-size: 18px;
  font-weight: 800;
  color: #FAFAFA;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #1F1F1F;
}
.mega-col h4 .icon {
  width: 30px; height: 30px;
  background: rgba(234,88,12,0.15);
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand-bright);
  flex-shrink: 0;
}
.mega-col h4 .icon svg { width: 16px; height: 16px; }
.mega-col ul {
  display: flex; flex-direction: column;
  gap: 2px;
}
.mega-col li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
  color: #D4D4D4;
  text-decoration: none;
  transition: color var(--t-fast), padding var(--t-fast);
}
.mega-col li a:hover { color: var(--brand-bright); padding-left: 6px; }
.mega-col li a .count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #525252;
  letter-spacing: 0.3px;
}
.mega-col li.is-quote a .count { color: var(--brand-bright); }

.mega-quick {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #1F1F1F;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.mega-quick a {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: all var(--t-fast);
}
.mega-quick a:hover { background: rgba(234,88,12,0.12); border-color: var(--brand); }
.mega-quick .icon {
  width: 36px; height: 36px;
  background: var(--brand);
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.mega-quick .icon svg { width: 18px; height: 18px; }
.mega-quick .txt {
  display: flex; flex-direction: column;
  gap: 1px;
}
.mega-quick .txt .t { font-size: 13px; font-weight: 700; color: #FAFAFA; }
.mega-quick .txt .s { font-size: 11px; color: #A3A3A3; }

@media (max-width: 768px) {
  .mega-grid { grid-template-columns: 1fr; gap: 24px; }
  .mega-quick { grid-template-columns: 1fr 1fr; }
  .mega-body { padding: 22px; }
}

/* fine varianti */

@media (max-width: 640px) {
  .container, .container-narrow { padding: 0 16px; }
  .hero { padding: 40px 0; }
  .section { padding: 56px 0; }
  .trust-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .products-grid { grid-template-columns: 1fr; }
  .product-carousel-track { grid-auto-columns: 75%; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .search { display: none; }
  .hero-meta { gap: 16px; }
  .hero-meta-item .n { font-size: 18px; }
  .review-stat .n { font-size: 24px; }
  .promo-banner { grid-template-columns: 1fr; padding: 24px; }
  .header-dark-inner { grid-template-columns: auto 1fr auto; height: 72px; }
  .menu-btn span { display: none; }
  .menu-btn { padding: 0 12px; width: 50px; justify-content: center; }
  .brand-wordmark .name { font-size: 24px; }
  .big-search { height: 44px; }
  .big-search button { width: 50px; }
  .topbar-inner { font-size: 11px; gap: 8px; }
  .topbar-rating .stars-yellow { font-size: 12px; }
  .super-promo-left { padding: 24px; }
  .product-carousel-section { padding: 48px 0; }
  .product-carousel-head h2 { font-size: 20px; }
}

/* ============================================================
   MOBILE RESPONSIVE — fix preventivi unified
   Caricato in coda per overrideare regole precedenti dove serve
   ============================================================ */

/* === Tablet (≤900px) ============================================ */
@media (max-width: 900px) {
  /* HEADER row 1: ottimizzazione spazio */
  .header-row-3col { gap: 14px; }
  .header-row-right { gap: 8px; }
  .header-account { display: none; }   /* lascia solo carrello */

  /* Topbar: nascondi separatori, mantieni telefoni e CTA principali */
  .topbar-cta span { font-size: 12px; }

  /* USP software: padding ridotto */
  .usp { padding: 40px 28px; margin: 64px auto; }
}

/* === Mobile large (≤768px) ===================================== */
@media (max-width: 768px) {
  /* HEADER mobile: row 1 [Menu | Logo CENTRO | Carrello] · row 2 [Search full-width] */
  .header-row-3col {
    grid-template-columns: auto 1fr auto !important;
    grid-template-areas:
      "menu logo cart"
      "search search search" !important;
    gap: 10px 12px !important;
    align-items: center;
  }
  .header-row-3col > .header-row-left > .brand-real,
  .header-row-3col > .brand-real {
    justify-self: center;
  }
  .header-row-3col > .header-row-right > .header-account,
  .header-row-3col > .header-account {
    display: none;
  }
  .header-row-3col > .header-row-center {
    margin-top: 6px;
  }

  /* Search bar mobile prominente */
  .search-center {
    max-width: 100%;
    height: 48px;
    border-radius: var(--radius-sm);
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  }
  .search-center input {
    padding: 0 18px;
    font-size: 15px;
    color: var(--text-primary);
  }
  .search-center input::placeholder {
    color: var(--text-muted);
    font-size: 14px;
  }
  .search-center button {
    width: 54px;
    background: var(--danger);
  }
  .search-center button svg { width: 22px; height: 22px; }

  /* Header two-row container: più compatto su mobile */
  .header-two-row { padding: 10px 12px 10px; border-radius: 12px; }

  /* Logo SVG e Menu più piccoli su mobile */
  .header-row-3col > .header-row-left > .brand-real,
  .header-row-3col > .brand-real { height: 40px; }
  .header-row-3col .brand-mark { width: 36px; height: 36px; }
  .menu-btn { height: 40px; padding: 0 12px; font-size: 13px; }
  .menu-btn svg { width: 20px; height: 20px; }
  .header-cart { height: 40px; padding: 0 10px; }
  .header-cart .cart-icon svg { width: 24px; height: 24px; }
  .header-cart .cart-icon .num { min-width: 16px; height: 16px; font-size: 10px; top: -6px; right: -7px; }
  .search-center { height: 44px; }
  .search-center input { padding: 0 14px; font-size: 14px; }
  .search-center button { width: 50px; }
  .search-center button svg { width: 20px; height: 20px; }

  /* Logo compatto: solo SVG mark, niente wordmark testo */
  .brand-text { display: none; }
  .brand-mark { width: 42px; height: 42px; }

  /* Menu button compatto solo icona */
  .menu-btn { padding: 0 12px; height: 44px; }
  .menu-btn span { display: inline; font-size: 13px; }

  /* Carrello: nasconde testo, solo icona+badge */
  .header-cart span:not(.num) { display: none; }
  .header-cart { padding: 0 10px; }
  .header-cart .cart-icon svg { width: 24px; height: 24px; }

  /* Chip filtri: GRID 5 colonne uguali (tab uniformi compatti) */
  .header-two-row-bottom.chips-only {
    justify-content: stretch !important;
    padding: 4px 0 0;
    margin: 4px 0 0;
  }
  .header-two-row-bottom .quick-chips {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    padding: 0;
    gap: 4px;
    width: 100%;
  }
  .quick-chip {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 4px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    line-height: 1;
    border-radius: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
  }
  .quick-chip svg { display: none; }  /* nascondo icona Promo per uniformità */
  .quick-chip.is-promo {
    box-shadow: 0 2px 6px rgba(220,38,38,0.3);
  }

  /* Topbar mobile: nascondi parte extra "(PZ) · Italia", lascia "Dal 1998 · Barile" */
  .topbar-heritage { letter-spacing: 1.1px; font-size: 10px; }
  .topbar-heritage .hh-extra { display: none; }
  .topbar-cta { padding: 6px 8px; }
  .topbar-sep { display: none; }

  /* Hero slider compatto */
  .hero-slider { height: 280px; }
  .hero-slide-text { padding: 26px 22px; }
  .hero-slide h2 { font-size: 24px; }
  .hero-slide .lead, .hero-slide p { font-size: 13px; max-width: 100%; }
  .hero-slider-dots { left: 22px; bottom: 14px; }
  .hero-slider-arrows { right: 10px; }
  .hero-slider-arrows button { width: 36px; height: 36px; }

  /* 3 categorie giganti — già 1 col da 1024, qui rifinire */
  .giant-cat { aspect-ratio: 16/9; }
  .giant-cat-title { font-size: 22px; }

  /* Section padding ridotto */
  .section { padding: 48px 0; }
  .section-head { margin-bottom: 28px; }

  /* Page hero recensioni: meta su 2 col */
  .page-hero-meta { gap: 18px; }
  .page-hero-meta-item .n { font-size: 22px; }

  /* Pagina utensileria: sidebar sotto i prodotti su mobile */
  .category-layout { grid-template-columns: 1fr; gap: 24px; }
  .cat-body { order: 1; }
  .cat-sidebar { order: 2; position: static; }
  .filter-block { padding: 14px 16px; }

  /* Filter block collapsabile: lo lasciamo aperto ma compatto */
  .filter-block h5 { padding-bottom: 8px; margin-bottom: 10px; }

  /* Promo page: filtri NON più sticky su mobile (overlap con header) */
  .promo-filters { position: static; padding: 18px 0; }
  .promo-filters-inner { gap: 10px; flex-wrap: wrap; }
  .promo-toolbar-sort { margin-left: 0; width: 100%; }
  .promo-filter-group { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
  .promo-filter-group::-webkit-scrollbar { display: none; }
  .promo-chip { flex-shrink: 0; }

  /* Promo hero minimal: ridotto su mobile */
  .promo-hero-minimal { padding: 28px 0 32px; }
  .promo-hero-minimal h1 { font-size: 44px !important; }
  .promo-hero-minimal .sub { font-size: 14px !important; }

  /* Card prodotto pcard: ~2 visibili su mobile (48% larghezza) */
  .product-carousel-track { grid-auto-columns: 48%; gap: 12px; }
  .pcard { min-height: auto; padding: 12px 12px 16px; }
  .pcard-title { font-size: 12.5px; -webkit-line-clamp: 2; line-clamp: 2; min-height: calc(2 * 1.4em); }
  .pcard-brand { font-size: 11px; margin-bottom: 4px; }
  .pcard-imgwrap { margin-bottom: 10px; }
  .pcard-now { font-size: 17px; }
  .pcard-was { font-size: 11px; }
  .pcard-disc { font-size: 13px; }

  /* Promo grid 4 col → 2 col */
  .promo-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .promo-card-title { font-size: 13px; }
  .promo-card-price .now { font-size: 19px; }

  /* Top deals 3 col → 1 col già fatto, padding ridotto */
  .top-deals-grid { gap: 16px; }
  .deal-card { padding: 18px; }
  .deal-card-title { font-size: 14px; }
  .deal-card-price .now { font-size: 24px; }

  /* Reviews page grid 2 col → 1 col */
  .reviews-page-grid { grid-template-columns: 1fr; gap: 16px; }
  .reviews-toolbar { gap: 8px; padding: 16px 0; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .reviews-toolbar::-webkit-scrollbar { display: none; }
  .review-filter { flex-shrink: 0; padding: 6px 12px; font-size: 12.5px; }

  /* Vetrina pagine (diagnostica/stazioni): 2 col su mobile (richiesta esplicita) */
  .vetrina-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .bullets-grid { grid-template-columns: 1fr; gap: 14px; }
  .bullets-section { padding: 48px 0 40px; }
  /* Card vetrina compatte su mobile */
  .vetrina-grid .pcard { padding: 12px; min-height: auto; }
  .vetrina-grid .pcard-title { font-size: 12.5px; -webkit-line-clamp: 2; line-clamp: 2; }
  .vetrina-grid .pcard-imgwrap { margin-bottom: 10px; }
  .vetrina-grid .pcard-brand { font-size: 10.5px; }
  .vetrina-grid .pcard-quote-label { font-size: 10px; }
  .vetrina-grid .pcard-quote-cta { padding: 9px 10px; font-size: 12px; gap: 6px; }

  /* Quote form section padding ridotto */
  .quote-form-section { padding: 48px 0; }
  .quote-form-standalone { padding: 24px 20px; }
  .quote-form-actions { flex-direction: column; }

  /* USP form mobile */
  .usp { padding: 32px 24px; margin: 48px auto; }

  /* Newsletter dark mobile */
  .newsletter-grid { grid-template-columns: 1fr; gap: 18px; }
  .newsletter-form { flex-direction: column; gap: 10px; }
  .newsletter-form button { width: 100%; }

  /* Promo newsletter mobile */
  .promo-newsletter { padding: 32px 24px; }
  .promo-newsletter h3 { font-size: 22px; }
  .promo-newsletter-form { flex-direction: column; }
  .promo-newsletter-form button { width: 100%; }

  /* Footer mobile 1 col */
  .footer { padding: 48px 0 20px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
  .footer-payments { flex-wrap: wrap; }

  /* Location section */
  .location-grid { grid-template-columns: 1fr; gap: 24px; }
  .location-map { aspect-ratio: 4/3; }

  /* Mega menu mobile */
  .mega-drawer { width: 100vw; border-radius: 0; }
  .mega-header { padding: 16px 22px; }

  /* Final CTA */
  .final-cta { padding: 36px 22px; margin: 36px auto; }
  .final-cta h2 { font-size: 26px; }
  .final-cta-actions { flex-direction: column; }
  .final-cta-actions .btn { width: 100%; }
}

/* === Mobile small (≤480px) ====================================== */
@media (max-width: 480px) {
  /* Topbar minimale: nasconde heritage, lascia solo CTA dx compatti */
  .topbar-heritage { font-size: 9.5px; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-cta span { display: none; }   /* solo icone */
  .topbar-cta { padding: 6px; }
  .topbar-cta.phone { background: rgba(234,88,12,0.18); padding: 6px 10px; }
  .topbar-cta.phone span { display: inline; font-size: 11px; font-weight: 700; }

  /* Header logo+menu compatti */
  .menu-btn { padding: 0 10px; height: 42px; }
  .menu-btn span { display: none; }
  .brand-mark { width: 38px; height: 38px; }

  /* Search center */
  .search-center { height: 44px; }
  .search-center button { width: 50px; }
  .search-center input { padding: 0 16px; font-size: 13px; }

  /* Hero slider ancora più compatto */
  .hero-slider { height: 240px; }
  .hero-slide h2 { font-size: 20px; }

  /* Section padding */
  .section { padding: 36px 0; }
  .product-carousel-section { padding: 36px 0; }

  /* Promo grid: tieni 2 col anche su small mobile (richiesta esplicita) */
  .promo-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .promo-card-title { font-size: 12px; }
  .promo-card-price .now { font-size: 17px; }

  /* Promo hero h1 più piccolo */
  .promo-hero-minimal h1 { font-size: 36px !important; }

  /* Sticker promo più piccolo */
  .promo-sticker { width: 80px; height: 80px; top: 16px; right: 16px; }
  .promo-sticker .big { font-size: 24px; }
  .promo-sticker .top, .promo-sticker .bot { font-size: 9px; }

  /* Super promo padding */
  .super-promo-left { padding: 22px; }
  .super-promo-left h3 { font-size: 32px; }
  .super-promo-left h3 .accent { font-size: 44px; }

  /* WhatsApp float */
  .whatsapp-float { width: 52px; height: 52px; bottom: 18px; right: 18px; }

  /* Card prodotto pcard ancora più piccoli su small mobile (~1.7 visibili) */
  .product-carousel-track { grid-auto-columns: 60%; gap: 10px; }

  /* USP software form */
  .usp h2 { font-size: 22px; }
}


/* ============================================================
   TECHSERVICE — DAWN OVERRIDES (V1.1)
   Forza font, colori, spacing, card style del V0 sulle sezioni Dawn standard
   ============================================================ */

/* === A1: Inter font ovunque, anche su sezioni Dawn standard === */
body,
.page-width,
.section,
.featured-collection,
.featured-collection h2,
.featured-collection h3,
.multicolumn,
.rich-text,
.image-with-text,
.card,
.card-wrapper,
.card-product,
.card__information,
.card__heading,
.card-information,
.price,
.button,
input, select, textarea {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* === A2: Archivo Black per titoli grandi (h1/h2) Dawn === */
.section-header__title,
.collection-hero__title,
.featured-collection h2,
.featured-collection h3,
.rich-text h2,
.rich-text h1,
.section h2.title,
.section .h2,
.section-content h2,
.title-wrapper-with-link h2 {
  font-family: 'Archivo Black', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  color: var(--text-primary, #0A0A0A) !important;
}

/* === B1: Bottoni primari arancio TechService === */
.button--primary,
button.button--primary,
.product-form__submit,
.shopify-payment-button__button--unbranded,
.featured-collection .card__information a.button,
.button[type="submit"]:not(.btn-wa) {
  --color-button: 234, 88, 12 !important;
  --color-button-text: 255, 255, 255 !important;
  background: #EA580C !important;
  color: #FFFFFF !important;
  border-color: #EA580C !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}
.button--primary:hover,
button.button--primary:hover,
.product-form__submit:hover {
  background: #F97316 !important;
  border-color: #F97316 !important;
}

/* Bottone "Vedi tutti" featured-collection */
.featured-collection a.button,
.collection__view-all .button {
  background: #EA580C !important;
  color: #FFFFFF !important;
  border-color: #EA580C !important;
}

/* === B3: Card prodotto Dawn — prezzo barrato rosso + sconto sempre visibile === */
.price__sale .price-item--sale,
.card .price-item--last {
  color: #DC2626 !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}
.price__sale s,
.card s.price-item--regular {
  color: #737373 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}
.badge.price__badge-sale,
.card__badge .badge--bottom-left {
  background: #DC2626 !important;
  color: #FFFFFF !important;
  border: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
}

/* === C1+C2: Section padding V0 standard === */
.section,
.featured-collection,
.multicolumn,
.image-with-text,
.collection-list,
.rich-text {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}
@media (max-width: 768px) {
  .section,
  .featured-collection,
  .multicolumn,
  .image-with-text,
  .collection-list,
  .rich-text {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

/* === E1-E4: Card prodotto stile V0 (compatte, brand sopra titolo) === */
.featured-collection .card-wrapper,
.card-product {
  background: #FFFFFF !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  overflow: hidden !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.featured-collection .card-wrapper:hover,
.card-product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}
.card__information,
.card-information {
  padding: 12px 14px 16px !important;
  font-family: 'Inter', sans-serif !important;
}
.card__heading,
.card-product .card__heading a {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #0A0A0A !important;
  font-family: 'Inter', sans-serif !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(1.3em * 2) !important;
  margin-bottom: 6px !important;
}
.card__information .caption-with-letter-spacing {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #EA580C !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}

/* === F1: Topbar mobile — nascondi "Diventa rivenditore" su <768px === */
@media (max-width: 768px) {
  .topbar-min-right > a:first-child,
  .topbar-min-right > a:first-child + .sep {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .topbar-min-right a:not(:last-child),
  .topbar-min-right .sep {
    display: none !important;
  }
}

/* === F3: Form preventivo bottoni in colonna su mobile === */
@media (max-width: 768px) {
  .usp-form-actions,
  .quote-form-actions {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .usp-form-actions .btn,
  .usp-form-actions .btn-wa,
  .quote-form-actions .btn,
  .quote-form-actions .btn-wa {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* === F4: Footer responsive 5 → 2 → 1 col === */
@media (max-width: 1024px) {
  .footer-top {
    grid-template-columns: 2fr 1fr 1fr !important;
  }
}
@media (max-width: 768px) {
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
}
@media (max-width: 480px) {
  .footer-top {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* === F5: WhatsApp float button — sempre visibile basso destra === */
.whatsapp-float {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 9999 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 60px !important;
  height: 60px !important;
  background: #25D366 !important;
  color: #FFFFFF !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 16px rgba(37,211,102,0.4) !important;
  transition: transform 0.2s !important;
}
.whatsapp-float:hover {
  transform: scale(1.05) !important;
}
.whatsapp-float svg {
  width: 32px !important;
  height: 32px !important;
}
@media (max-width: 480px) {
  .whatsapp-float {
    width: 52px !important;
    height: 52px !important;
    bottom: 16px !important;
    right: 16px !important;
  }
  .whatsapp-float svg {
    width: 26px !important;
    height: 26px !important;
  }
}

/* === Container width consistency === */
.page-width {
  max-width: 1280px !important;
}

/* === Hide Dawn quick-add buttons globally (already disabled but extra safety) === */
.quick-add,
.quick-add-modal {
  display: none !important;
}

/* === Card prodotto preventivo — bordo arancio per indicare === */
.card-product[data-product-tags*="preventivo"],
.card-wrapper[data-product-tags*="preventivo"] {
  outline: 1px solid #EA580C !important;
  outline-offset: 0 !important;
}

/* ============================================================
   TECHSERVICE V1.2 — % sconto rosso + pcard-style card Dawn
   ============================================================ */

/* Badge % sconto rosso (calcolato in card-product.liquid) */
.ts-card-disc {
  display: inline-block;
  background: #DC2626;
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.01em;
  padding: 3px 9px;
  border-radius: 6px;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1.4;
}

/* Card prodotto Dawn — layout V0 (brand sopra, titolo, prezzo) */
.card-information {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.card-information > * { order: 5; }
.card-information .caption-with-letter-spacing { order: 1 !important; }
.card-information .card-information__wrapper { order: 5; }
.card-information .card__heading { order: 2 !important; margin-top: 0 !important; margin-bottom: 8px !important; }
.card-information .price,
.card-information .ts-card-disc { order: 3 !important; }
.card-information .price { display: inline-flex !important; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Mostra sempre prezzo barrato + nuovo sale style */
.price__regular { display: none !important; }
.price__sale { display: flex !important; align-items: center; gap: 8px; flex-wrap: wrap; }
.price--on-sale .price__regular { display: none !important; }
.price--on-sale .price__sale { display: flex !important; }

/* Card più compatte */
.card-product .card__inner {
  border-radius: 10px;
  overflow: hidden;
}
.card-product .card__media .media {
  border-radius: 6px;
  background: #FAFAFA;
}

/* Hover lift */
.card-wrapper {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-wrapper:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

/* Vendor (brand) sopra titolo, arancio brunito */
.card-information .caption-with-letter-spacing {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #EA580C !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
}

/* Titolo card */
.card__heading,
.card__heading a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
}

/* ============================================================
   TECHSERVICE V1.4 — Fix dettagli carousel + form + reviews mobile
   ============================================================ */

/* 1. NASCONDI VENDOR ARANCIO ("TECHSERVICE") sotto le card carousel */
.featured-collection .card-information .caption-with-letter-spacing,
.featured-collection .caption-with-letter-spacing,
.card__information .caption-with-letter-spacing,
.card-information__wrapper .caption-with-letter-spacing {
  display: none !important;
}

/* 2. NASCONDI BADGE -X% rosso (rimosso da Liquid, ma extra safety) */
.ts-card-disc,
.badge.price__badge-sale {
  display: none !important;
}

/* 3. CARD WORKSHOP-STYLE — box bianchi puliti, foto centrata, padding uniforme */
.featured-collection .card-wrapper {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}
.featured-collection .card-wrapper:hover {
  border-color: #EA580C !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

/* Foto card carousel: aspect-ratio uniforme 1:1 + object-fit contain (no immagini grandi/piccole alternate) */
.featured-collection .card__media,
.featured-collection .card__inner .media,
.featured-collection .card__media .media {
  aspect-ratio: 1 / 1 !important;
  background: #FAFAFA !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.featured-collection .card__media img,
.featured-collection .card__inner img,
.featured-collection .media img {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
  padding: 8% !important;
}

/* Card content padding */
.featured-collection .card__content,
.featured-collection .card-information {
  padding: 12px 14px 14px !important;
}

/* Titolo card */
.featured-collection .card__heading,
.featured-collection .card__heading a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #0A0A0A !important;
  margin: 0 0 6px 0 !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.7em !important;
}

/* Prezzo */
.featured-collection .price {
  font-family: 'Inter', sans-serif !important;
}
.featured-collection .price-item--sale,
.featured-collection .price-item--last {
  color: #DC2626 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}
.featured-collection .price-item--regular,
.featured-collection s {
  color: #737373 !important;
  font-size: 12px !important;
  text-decoration: line-through !important;
}

/* 4. BOTTONE WHATSAPP DIRETTO per prodotti preventivo */
.ts-quote-card-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 10px 12px !important;
  background: #25D366 !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  transition: background 0.2s !important;
  box-shadow: 0 1px 3px rgba(37,211,102,0.3) !important;
}
.ts-quote-card-cta:hover {
  background: #128C7E !important;
  color: #FFFFFF !important;
}
.ts-quote-card-cta svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* 5. SUPER PROMO MOBILE — 2 card visibili (48% width) */
@media (max-width: 768px) {
  .super-promo-right .product-carousel-track,
  .super-promo .product-carousel-track,
  #carousel-superpromo,
  [id^="carousel-superpromo"] {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 48% !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 8px !important;
  }
  .super-promo-right .pcard,
  .super-promo .pcard {
    scroll-snap-align: start !important;
    min-width: 0 !important;
  }
}

/* Featured-collection carousel mobile: slider Dawn → 2 col visibili */
@media (max-width: 768px) {
  .featured-collection .slider--mobile,
  .featured-collection .grid--peek {
    grid-template-columns: repeat(2, calc(50% - 6px)) !important;
    gap: 12px !important;
  }
  .featured-collection .grid__item {
    width: 100% !important;
  }
}

/* 6. REVIEWS MARQUEE STATS — meglio su mobile */
.reviews-meta {
  display: grid !important;
  gap: 24px !important;
}
@media (min-width: 769px) {
  .reviews-meta {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .reviews-meta {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
    padding: 0 16px !important;
  }
  .review-stat {
    text-align: center !important;
  }
  .review-stat .n {
    font-size: 26px !important;
    line-height: 1 !important;
  }
  .review-stat .l {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
  }
}
@media (max-width: 480px) {
  .reviews-meta {
    gap: 14px 12px !important;
  }
  .review-stat .n {
    font-size: 22px !important;
  }
}

/* 7. NASCONDI PREZZO PLACEHOLDER su prodotti preventivo (rimosso da price.liquid ma extra safety) */
.price.price--quote,
.ts-quote-price-label {
  display: none !important;
}

/* 8. FORM PREVENTIVO V0 - assicura font + colors corretti */
.usp,
.usp-form,
.quote-form-section,
.quote-form-standalone {
  font-family: 'Inter', sans-serif !important;
}
.usp h2,
.usp-head h2,
.quote-form-section h2 {
  font-family: 'Archivo Black', sans-serif !important;
  font-weight: 900 !important;
}
.usp h2 em.serif,
.quote-form-section em.serif {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}
.usp-form input,
.usp-form textarea,
.quote-form-standalone input,
.quote-form-standalone textarea {
  font-family: 'Inter', sans-serif !important;
  border: 1.5px solid #E5E5E5 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
}
.usp-form input:focus,
.usp-form textarea:focus {
  border-color: #EA580C !important;
  outline: none !important;
}
.usp-form .btn-primary,
.btn-primary {
  background: #EA580C !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
}
.btn-wa {
  background: #25D366 !important;
  color: #FFFFFF !important;
}

/* ============================================================
   TECHSERVICE V1.5 — Fix uniformità card, bottone WA, form mobile
   ============================================================ */

/* 1. CARD UNIFORM HEIGHT — tutte le card carousel stessa altezza */
.featured-collection .slider,
.featured-collection .grid,
.featured-collection .grid--peek {
  align-items: stretch !important;
}
.featured-collection .grid__item,
.featured-collection .slider__slide {
  display: flex !important;
  height: auto !important;
}
.featured-collection .card-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
}
.featured-collection .card-wrapper .card,
.featured-collection .card-product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  flex: 1 !important;
}
.featured-collection .card__inner {
  flex-shrink: 0 !important;
}
.featured-collection .card__content,
.featured-collection .card__information,
.featured-collection .card-information {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2. BOTTONE WHATSAPP — push to bottom, contenuto dentro card */
.ts-quote-card-cta {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}

/* 3. ASPECT RATIO UNIFORME FOTO — forza 1:1 ovunque */
.featured-collection .card__media,
.featured-collection .card__inner .media,
.featured-collection .ratio,
.featured-collection .ratio--portrait,
.featured-collection .ratio--landscape,
.featured-collection .ratio--square,
.featured-collection .ratio--adapt {
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
}
.featured-collection .card__media img,
.featured-collection .media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 10% !important;
  box-sizing: border-box !important;
  background: #FAFAFA !important;
}

/* 4. FORM MOBILE — label+input stack verticale su mobile + textarea grande */
.usp-form .field,
.quote-form-standalone .field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 14px !important;
  width: 100% !important;
}
.usp-form label,
.quote-form-standalone label {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #A3A3A3 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.usp-form input[type="text"],
.usp-form input[type="email"],
.usp-form input[type="tel"],
.usp-form textarea,
.quote-form-standalone input,
.quote-form-standalone textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.04) !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}
.usp-form input::placeholder,
.usp-form textarea::placeholder,
.quote-form-standalone input::placeholder,
.quote-form-standalone textarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}
.usp-form input:focus,
.usp-form textarea:focus,
.quote-form-standalone input:focus,
.quote-form-standalone textarea:focus {
  border-color: #EA580C !important;
  background: rgba(255,255,255,0.06) !important;
  outline: none !important;
}
.usp-form textarea,
.quote-form-standalone textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

/* 5. BADGE V0 STYLE — "In offerta" arancio TechService, "Esaurito" grigio */
.card__badge .badge {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  border: none !important;
}
.badge.price__badge-sale {
  background: #EA580C !important;
  color: #FFFFFF !important;
}
.badge.price__badge-sold-out {
  background: #404040 !important;
  color: #FFFFFF !important;
}

/* 6. PADDING CARD INTERNO — leggermente più compatto */
.featured-collection .card-wrapper {
  padding: 0 !important;
}
.featured-collection .card__content {
  padding: 12px 14px 14px !important;
}

/* 7. FIX SUPER PROMO MOBILE — 2 card visibili (refresh) */
@media (max-width: 768px) {
  .super-promo-right .product-carousel-track {
    grid-auto-columns: 48% !important;
    gap: 10px !important;
    padding-bottom: 12px !important;
  }
  .super-promo .pcard {
    min-width: 0 !important;
  }
}

/* 8. FORM ACTIONS LAYOUT — bottoni stack mobile */
.usp-form-actions,
.quote-form-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
@media (min-width: 769px) {
  .usp-form-actions,
  .quote-form-actions {
    flex-direction: row !important;
  }
  .usp-form-actions .btn,
  .usp-form-actions .btn-wa,
  .quote-form-actions .btn,
  .quote-form-actions .btn-wa {
    flex: 1 !important;
  }
}
@media (max-width: 768px) {
  .usp-form-actions,
  .quote-form-actions {
    flex-direction: column !important;
  }
}

/* 9. CARD TITOLO — max 2 righe + ellipsis */
.featured-collection .card__heading,
.featured-collection .card__heading a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 2.7em !important;
  max-height: 2.7em !important;
}

/* ============================================================
   TECHSERVICE V1.6 — Featured-collection ora renderizza pcard V0
   ============================================================ */

/* Reset Dawn card styles dentro featured-collection (visto che ora c'è pcard) */
.featured-collection .grid__item {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: block !important;
}
.featured-collection .grid__item .pcard {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Grid pcard nei featured-collection */
.featured-collection .grid--3-col-tablet,
.featured-collection .grid--4-col-desktop {
  gap: 14px !important;
}

/* Mobile: 2 col uniform */
@media (max-width: 768px) {
  .featured-collection .grid--1-col,
  .featured-collection .grid--2-col-tablet-down {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

/* Pcard dentro carousel — forza min-height uniforme */
.featured-collection .pcard {
  min-height: 320px !important;
}
@media (max-width: 768px) {
  .featured-collection .pcard {
    min-height: 280px !important;
  }
}

/* ============================================================
   TECHSERVICE V1.7 — Currency, app block, super promo, vendor, scrollbar
   ============================================================ */

/* 1. NASCONDI "EUR" currency code residuo (extra safety se settings non bastasse) */
.price-item--currencies-disabled .price-item-currency,
.price .currency-code,
.cart-item__currency-code {
  display: none !important;
}

/* 2. NASCONDI APPS BLOCK BIANCO sotto header (extra safety) */
.shopify-section[id*="apps_block"],
.shopify-section[id*="__apps"] {
  display: none !important;
}

/* 3. SUPER PROMO — togli badge giallo "SUPER PROMO!" dentro pcard (rimosso da Liquid ma extra safety) */
.pcard-superpromo {
  display: none !important;
}

/* Super Promo mobile V3.4 — 2 card piene + peek 3a card per suggerire scroll
   (45% = card solo 3-4% più strette di V3.2, peek ~27-50px ben visibile) */
@media (max-width: 768px) {
  .super-promo-right .product-carousel-track,
  #carousel-superpromo,
  [id^="carousel-superpromo"] {
    grid-auto-columns: 45% !important;
    gap: 10px !important;
  }
}

/* ============================================================
   TECHSERVICE V3.8 — ROLLBACK (ha rotto collection mobile)
   Sostituito da V3.9 mirato sotto.
   ============================================================ */
/* DISABLED V3.8 (rollback - causava titolo duplicato + card 1-col mobile)

/* Grid item come flex container per altezza uniforme */
.collection .product-grid .grid__item,
.product-grid .grid__item,
.collection-list .grid__item {
  display: flex !important;
}

/* Card wrapper riempie tutto altezza disponibile */
.collection .card-wrapper,
.product-grid .card-wrapper,
.collection .card-wrapper > .card,
.product-grid .card-wrapper > .card {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Inner content + information flex column */
.collection .card__inner,
.product-grid .card__inner {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.collection .card__content,
.product-grid .card__content,
.collection .card__information,
.product-grid .card__information {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Immagine: aspect-ratio fisso 1/1 (no più altezze inconsistenti) */
.collection .card__media,
.product-grid .card__media,
.collection .card .media,
.product-grid .card .media,
.collection .card__inner .media,
.product-grid .card__inner .media {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.collection .card__media img,
.product-grid .card__media img,
.collection .card .media img,
.product-grid .card .media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6% !important;
}

/* Titolo: 2 righe max con min-height costante (no più troncamenti casuali) */
.collection .card__heading,
.product-grid .card__heading,
.collection .card-information .card__heading,
.product-grid .card-information .card__heading {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(2 * 1.35em) !important;
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #1F1F1F !important;
}
.collection .card__heading a,
.product-grid .card__heading a {
  text-decoration: none !important;
  color: inherit !important;
}

/* Bottone "Preventivo WhatsApp" / Aggiungi al carrello: in BASSO uniforme */
.collection .card__inner .product-form,
.product-grid .card__inner .product-form,
.collection .card__content .product-form,
.product-grid .card__content .product-form,
.collection .card__inner .quick-add,
.product-grid .card__inner .quick-add,
.collection [class*="buy-buttons"],
.product-grid [class*="buy-buttons"] {
  margin-top: auto !important;
}

/* MOBILE: card compatte + bottone WA leggibile ma non gigantesco */
@media (max-width: 768px) {
  .collection .product-grid,
  .product-grid {
    gap: 10px !important;
  }
  .collection .product-grid .grid__item,
  .product-grid .grid__item {
    padding: 0 !important;
  }
  .collection .card-wrapper,
  .product-grid .card-wrapper {
    background: #FFFFFF !important;
    border-radius: 10px !important;
    padding: 10px !important;
    box-shadow: 0 1px 0 #EAEAEA, 0 4px 12px rgba(0,0,0,0.04) !important;
  }

  /* Title mobile più piccolo */
  .collection .card__heading,
  .product-grid .card__heading {
    font-size: 12px !important;
    line-height: 1.3 !important;
    min-height: calc(2 * 1.3em) !important;
    margin-bottom: 8px !important;
  }

  /* Bottone Preventivo WhatsApp: compatto ma cliccabile */
  .collection .product-form__buttons .product-form__submit,
  .product-grid .product-form__buttons .product-form__submit,
  .collection [class*="whatsapp"] a,
  .collection a[href*="wa.me"],
  .product-grid a[href*="wa.me"],
  .collection .btn-whatsapp,
  .product-grid .btn-whatsapp {
    padding: 9px 8px !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    min-height: 40px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
  }
  .collection a[href*="wa.me"] svg,
  .product-grid a[href*="wa.me"] svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
  }

  /* Immagine card mobile padding ridotto */
  .collection .card__media img,
  .product-grid .card__media img {
    padding: 4% !important;
  }

  /* Brand / vendor display compatto */
  .collection .card-information .caption-with-letter-spacing,
  .product-grid .card-information .caption-with-letter-spacing,
  .collection .card__vendor,
  .product-grid .card__vendor {
    font-size: 10px !important;
    color: #1F1F1F !important;
    font-weight: 700 !important;
    margin-bottom: 3px !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
  }

  /* Prezzo (per prodotti normali, non quote) */
  .collection .price,
  .product-grid .price {
    font-size: 14px !important;
  }
  .collection .price__regular .price-item,
  .product-grid .price__regular .price-item {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #1F1F1F !important;
  }
  .collection .price__sale .price-item--regular,
  .product-grid .price__sale .price-item--regular {
    font-size: 11px !important;
    color: #A3A3A3 !important;
  }
}
END V3.8 ROLLBACK */

/* ============================================================
   TECHSERVICE V3.9 — Fix mobile: forza grid 2 col su carousel home + collection
   Bug originale: Dawn `.slider` ha display:flex su mobile quando
   enable_desktop_slider=true, facendo diventare le card 1-col scrollabili
   invece di 2-col grid (che era l'intent di swipe_on_mobile=false in V3.1).
   ============================================================ */

@media (max-width: 768px) {
  /* HOMEPAGE: slider-component wrapper resta BLOCK (NO grid annidato — era il bug card 86px) */
  .featured-collection slider-component,
  .ts-featured-collection slider-component,
  .featured-collection .slider-component-desktop,
  .ts-featured-collection .slider-component-desktop {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
  }
  /* Solo l'UL interno (.slider / .product-grid) è grid 2 col */
  .featured-collection .slider,
  .featured-collection ul.product-grid,
  .ts-featured-collection .slider,
  .ts-featured-collection ul.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding-bottom: 0 !important;
    width: 100% !important;
  }
  .featured-collection .grid__item,
  .featured-collection .slider__slide,
  .featured-collection ul.product-grid > li,
  .ts-featured-collection .grid__item {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    scroll-snap-align: none !important;
  }

  /* COLLECTION page: main-collection-product-grid → grid 2 col fisso mobile */
  .collection .product-grid,
  .collection ul.product-grid,
  .product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .collection .product-grid > li,
  .collection ul.product-grid > li,
  .product-grid > li {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Card padding compatto mobile (senza rompere strutture Dawn) */
  .collection .card-wrapper,
  .product-grid .card-wrapper {
    background: #FFFFFF !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  /* Bottone Preventivo WhatsApp compatto su mobile (no più gigantesco) */
  .collection a[href*="wa.me"],
  .product-grid a[href*="wa.me"],
  .featured-collection a[href*="wa.me"] {
    padding: 8px 6px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    min-height: 38px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: center !important;
  }
  .collection a[href*="wa.me"] svg,
  .product-grid a[href*="wa.me"] svg,
  .featured-collection a[href*="wa.me"] svg {
    width: 12px !important;
    height: 12px !important;
    flex-shrink: 0 !important;
  }
}

/* ============================================================
   TECHSERVICE V4.0 — FORCE mobile grid 2 col con MAX specificity
   Cliente ha confermato V3.9 caricato ma bug persiste (forse cache
   CDN customizer o specificity Dawn troppo alta). V4.0 usa selettori
   con html body + tag prefix per garantire override su qualsiasi
   selettore Dawn più specifico.
   ============================================================ */

@media (max-width: 768px) {
  /* ─── HOMEPAGE: slider-component wrapper resta BLOCK (NO grid annidato!) ─── */
  html body .shopify-section .ts-featured-collection slider-component,
  html body slider-component.page-width-desktop,
  html body slider-component.slider-mobile-gutter,
  html body .featured-collection slider-component {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Solo gli UL interni (.slider / .product-grid / .grid) sono grid 2 col */
  html body .shopify-section .ts-featured-collection .slider,
  html body .shopify-section .ts-featured-collection ul.slider,
  html body .shopify-section .ts-featured-collection ul.product-grid,
  html body .shopify-section .ts-featured-collection ul.grid,
  html body .featured-collection ul.slider,
  html body .featured-collection ul.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Reset slider variant classes che fanno display:flex su desktop ma su mobile creano problemi */
  html body .ts-featured-collection .slider.slider--desktop,
  html body .ts-featured-collection .slider.slider--tablet,
  html body .ts-featured-collection ul.grid.slider {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  /* Grid item: reset width che Dawn imposta via .slider--desktop.grid--Xcol */
  html body .ts-featured-collection .grid__item,
  html body .ts-featured-collection .slider__slide,
  html body .ts-featured-collection ul > li,
  html body .featured-collection .grid__item,
  html body .featured-collection .slider__slide,
  html body .featured-collection ul > li {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    scroll-snap-align: none !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Pseudo-element :after del .slider--desktop che aggiunge padding finto: nascondi */
  html body .ts-featured-collection .slider--desktop:after,
  html body .ts-featured-collection .slider--tablet:after,
  html body .featured-collection .slider--desktop:after,
  html body .featured-collection .slider--tablet:after {
    display: none !important;
    content: none !important;
  }

  /* Frecce slider sotto carousel: nascondi su mobile (no scroll quindi inutili) */
  html body .ts-featured-collection .slider-buttons,
  html body .featured-collection .slider-buttons {
    display: none !important;
  }

  /* ─── COLLECTION page: main-collection-product-grid → grid 2 col fisso ─── */
  html body .shopify-section .collection .product-grid,
  html body .shopify-section .collection ul.product-grid,
  html body .shopify-section .collection ul.grid,
  html body main .collection .product-grid,
  html body main ul.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  html body .shopify-section .collection .product-grid > li,
  html body .shopify-section .collection ul.product-grid > li,
  html body main .collection .product-grid > li {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* ─── Failsafe ultimo livello: forza grid su QUALSIASI .product-grid mobile ─── */
  ul.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   TECHSERVICE V4.1 — Fix titolo duplicato + card uniformi collection
   Dawn card-product.liquid ha 2 .card__content (overlay + standard):
   nascondi quello overlay dentro .card__inner, mantieni quello sotto.
   Inoltre uniforma aspect-ratio immagine + altezze card desktop+mobile.
   ============================================================ */

/* 1. Nascondi titolo overlay duplicato (dentro .card__inner) ─ desktop + mobile */
html body .card-wrapper .card .card__inner > .card__content,
html body .collection .card-wrapper .card__inner .card__content,
html body .product-grid .card-wrapper .card__inner .card__content {
  display: none !important;
}

/* Lascia visibile il .card__content che è SIBLING del .card__inner (titolo standard sotto) */
html body .card-wrapper .card > .card__content,
html body .collection .card-wrapper > .card > .card__content,
html body .collection .card-wrapper .card-information {
  display: flex !important;
  flex-direction: column !important;
}

/* 2. Card uniformi: aspect-ratio quadrato immagine + altezze card */
html body .collection .card-wrapper,
html body .product-grid .card-wrapper {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
html body .collection .card-wrapper > .card,
html body .product-grid .card-wrapper > .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
html body .collection .card-wrapper .card__inner,
html body .product-grid .card-wrapper .card__inner {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  overflow: hidden !important;
  display: block !important;
}
html body .collection .card-wrapper .card__media,
html body .product-grid .card-wrapper .card__media {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
html body .collection .card-wrapper .card__media img,
html body .product-grid .card-wrapper .card__media img,
html body .collection .card-wrapper .card .media img,
html body .product-grid .card-wrapper .card .media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8% !important;
}

/* 3. Card content flex 1 per occupare spazio rimanente */
html body .collection .card-wrapper > .card > .card__content,
html body .product-grid .card-wrapper > .card > .card__content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 12px !important;
}
html body .collection .card-wrapper .card-information,
html body .product-grid .card-wrapper .card-information {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 4. Titolo card (quello GIUSTO, sotto): 2 righe max con min-height fisso */
html body .collection .card-wrapper .card-information .card__heading,
html body .product-grid .card-wrapper .card-information .card__heading {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(2 * 1.35em) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #1F1F1F !important;
  margin: 0 0 8px !important;
}

/* 5. Bottone Preventivo WhatsApp: in BASSO uniforme + larghezza piena */
html body .collection .card-wrapper .product-form,
html body .product-grid .card-wrapper .product-form,
html body .collection .card-wrapper [class*="buy-buttons"],
html body .product-grid .card-wrapper [class*="buy-buttons"],
html body .collection .card-wrapper a[href*="wa.me"],
html body .product-grid .card-wrapper a[href*="wa.me"] {
  margin-top: auto !important;
}

/* MOBILE: dimensioni più compatte */
@media (max-width: 768px) {
  html body .collection .card-wrapper .card-information .card__heading,
  html body .product-grid .card-wrapper .card-information .card__heading {
    font-size: 12px !important;
    min-height: calc(2 * 1.3em) !important;
    line-height: 1.3 !important;
  }
  html body .collection .card-wrapper > .card > .card__content,
  html body .product-grid .card-wrapper > .card > .card__content {
    padding: 8px !important;
  }
  html body .collection .card-wrapper .card__media img,
  html body .product-grid .card-wrapper .card__media img {
    padding: 5% !important;
  }
}

/* 4. VENDOR — il Liquid (product-card-pcard) ora estrae brand dal titolo
   se vendor è "Techservice". Nascondo solo Dawn vendor caption duplicata. */
.featured-collection .card-information .caption-with-letter-spacing {
  display: none !important;
}
/* Hide brand element se vuoto */
.featured-collection .pcard-brand:empty {
  display: none !important;
}

/* 5. CONTATORE "1/7" Dawn slider — nascondi, lascia solo frecce */
.slider-counter,
.slider-counter--current,
.slider-counter--total,
.slider-counter__link {
  display: none !important;
}

/* Frecce Dawn slider stile V0 carousel-arrow */
.slider-buttons,
.slider-button-group {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 16px !important;
  padding-right: 8px !important;
}
.slider-button {
  width: 38px !important;
  height: 38px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E5E5E5 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.slider-button:hover {
  border-color: #EA580C !important;
  background: #EA580C !important;
  color: #FFFFFF !important;
}
.slider-button:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

/* Scrollbar custom sotto carousel (alternativa al counter) */
.featured-collection .slider {
  scrollbar-width: thin !important;
  scrollbar-color: #EA580C #FAFAFA !important;
}
.featured-collection .slider::-webkit-scrollbar {
  height: 4px !important;
  display: block !important;
}
.featured-collection .slider::-webkit-scrollbar-track {
  background: #FAFAFA !important;
  border-radius: 2px !important;
}
.featured-collection .slider::-webkit-scrollbar-thumb {
  background: #EA580C !important;
  border-radius: 2px !important;
}

/* 6. SPAZIATURA RIDOTTA tra le sezioni carousel (Utensileria, Diagnostica, A/C) */
.featured-collection {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
@media (max-width: 768px) {
  .featured-collection {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

/* Titolo featured-collection più stretto */
.featured-collection .title-wrapper,
.featured-collection .title-wrapper-with-link {
  margin-bottom: 16px !important;
}

/* ============================================================
   TECHSERVICE V1.8 — Carousel V0 styling final
   ============================================================ */

/* 1. PLACEHOLDER VUOTO — SVG inline neutro (no T-shirt rosa) */
.pcard-placeholder-empty {
  width: 100%;
  aspect-ratio: 1;
  background: #FAFAFA;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}

/* 2. FRECCE CAROUSEL Dawn → stile V0 chevron piccoli */
.featured-collection .slider-buttons,
.featured-collection slider-component .slider-button-group {
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-end !important;
  margin-top: 12px !important;
  padding-right: 16px !important;
}
.featured-collection .slider-button {
  width: 34px !important;
  height: 34px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
  color: #1F1F1F !important;
}
.featured-collection .slider-button:hover:not(:disabled) {
  background: #1F1F1F !important;
  border-color: #1F1F1F !important;
  color: #FFFFFF !important;
  transform: scale(1.05) !important;
}
.featured-collection .slider-button:disabled {
  opacity: 0.25 !important;
  cursor: not-allowed !important;
}
.featured-collection .slider-button svg {
  width: 16px !important;
  height: 16px !important;
}

/* 3. BOTTONE "VISUALIZZA TUTTO" Dawn → link "Vai ai prodotti →" stile V0 in alto */
.featured-collection .collection__view-all,
.featured-collection .center {
  text-align: right !important;
  margin-top: 0 !important;
  position: absolute !important;
  top: 40px !important;
  right: 16px !important;
}
.featured-collection .collection__view-all .button,
.featured-collection .center .button {
  background: transparent !important;
  border: none !important;
  color: #EA580C !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  text-decoration: none !important;
  letter-spacing: 0.01em !important;
  box-shadow: none !important;
}
.featured-collection .collection__view-all .button:hover,
.featured-collection .center .button:hover {
  color: #F97316 !important;
  text-decoration: underline !important;
}
/* Dawn link al hover */
.featured-collection .collection__view-all .button::after,
.featured-collection .center .button::after {
  content: " →" !important;
}

/* Riposizionamento titolo carousel head */
.featured-collection .title-wrapper-with-link,
.featured-collection .title-wrapper {
  position: relative !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 20px !important;
}

/* 4. TITOLO CARD CASE — preserve normal case */
.pcard-title,
.featured-collection .pcard-title {
  text-transform: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #0A0A0A !important;
  letter-spacing: 0 !important;
}

/* 5. BRAND ARANCIO sopra titolo */
.pcard-brand,
.featured-collection .pcard-brand {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #EA580C !important;
  margin-bottom: 4px !important;
}

/* 6. PCARD container — boxs puliti */
.pcard {
  background: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 10px !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: all 0.15s ease !important;
  height: 100% !important;
}
.pcard:hover {
  border-color: #EA580C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}
.pcard-imgwrap {
  background: #FAFAFA !important;
  border-radius: 6px !important;
  aspect-ratio: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
}
.pcard-imgwrap img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8% !important;
  box-sizing: border-box !important;
}

/* 7. PCARD-QUOTE (preventivo): label + bottone WhatsApp verde */
.pcard-quote-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #404040 !important;
  margin-bottom: 10px !important;
  margin-top: auto !important;
}
.pcard-quote-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  background: #25D366 !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.pcard-quote-cta:hover {
  background: #128C7E !important;
}
.pcard-quote-cta svg {
  width: 16px !important;
  height: 16px !important;
}

/* 8. PCARD-PRICE-ROW (normale): prezzo barrato + prezzo + sconto -X% */
.pcard-price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: auto !important;
  flex-wrap: wrap !important;
}
.pcard-price-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.pcard-was {
  font-size: 12px !important;
  color: #737373 !important;
  text-decoration: line-through !important;
  font-family: 'Inter', sans-serif !important;
}
.pcard-now {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #DC2626 !important;
  font-family: 'Inter', sans-serif !important;
}
.pcard-disc {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #DC2626 !important;
  letter-spacing: -0.01em !important;
}

/* 9. PCARD title 2 righe + ellipsis */
.pcard-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.7em !important;
  margin-bottom: 12px !important;
}

/* 10. Slider mobile: gap migliore */
@media (max-width: 768px) {
  .featured-collection .slider {
    gap: 10px !important;
  }
  .pcard {
    padding: 12px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.0 — Card carousel home stile Workshop minimal + fix mobile
   Obiettivo: card pulite, niente lift hover aggressivo, niente min-height
   forzato, immagine senza padding interno, bottone WA compatto su mobile,
   nessun taglio sotto (overflow visible sui parent slider).
   ============================================================ */

/* 1. RESET min-height/height forzati che gonfiavano la card su mobile */
.featured-collection .pcard,
.pcard {
  min-height: 0 !important;
  height: auto !important;
}

/* 2. Card minimal: border sottile, no shadow di base, transition pulita */
.pcard {
  background: #FFFFFF !important;
  border: 1px solid #EEEEEE !important;
  border-radius: 8px !important;
  padding: 12px !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.pcard:hover {
  transform: none !important;
  border-color: #1F1F1F !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

/* 3. Immagine: aspect-ratio quadrato pulito, niente padding 8% interno */
.pcard-imgwrap {
  background: #FFFFFF !important;
  border-radius: 4px !important;
  margin-bottom: 10px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.pcard-imgwrap img {
  padding: 4% !important;
}

/* 4. Brand chip compatto */
.pcard-brand,
.featured-collection .pcard-brand {
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 4px !important;
}

/* 5. Title: 2 righe max, niente min-height riservato */
.pcard-title,
.featured-collection .pcard-title {
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  min-height: 0 !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

/* 6. Prezzo compatto, sconto pulito */
.pcard-now { font-size: 17px !important; }
.pcard-was { font-size: 11px !important; }
.pcard-disc {
  font-size: 12px !important;
  padding: 2px 6px !important;
  background: #FEE2E2 !important;
  border-radius: 4px !important;
  color: #DC2626 !important;
}
.pcard-price-row { gap: 6px !important; }

/* 7. Bottone WhatsApp preventivo compatto */
.pcard-quote-cta {
  padding: 8px 10px !important;
  font-size: 11.5px !important;
  gap: 6px !important;
}
.pcard-quote-cta svg { width: 14px !important; height: 14px !important; }
.pcard-quote-label {
  font-size: 9.5px !important;
  margin-bottom: 8px !important;
}

/* 8. FIX taglio sotto: overflow visible sui parent del carousel,
   pad-bottom maggiore alla section per dare respiro a frecce + ombra hover */
.featured-collection,
.featured-collection .collection,
.featured-collection slider-component,
.featured-collection .slider,
.featured-collection ul.slider {
  overflow: visible !important;
}
.featured-collection .slider-mobile-gutter {
  overflow: visible !important;
}

/* 9. MOBILE: card davvero compatte, niente più "troppo alte" */
@media (max-width: 768px) {
  .featured-collection .pcard,
  .pcard {
    min-height: 0 !important;
    height: auto !important;
    padding: 10px !important;
    border-radius: 6px !important;
  }
  .pcard-imgwrap { margin-bottom: 8px !important; }
  .pcard-imgwrap img { padding: 2% !important; }
  .pcard-brand,
  .featured-collection .pcard-brand {
    font-size: 9.5px !important;
    margin-bottom: 3px !important;
  }
  .pcard-title,
  .featured-collection .pcard-title {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    min-height: 0 !important;
  }
  .pcard-now { font-size: 15px !important; }
  .pcard-was { font-size: 10.5px !important; }
  .pcard-disc { font-size: 11px !important; padding: 1px 5px !important; }
  .pcard-price-row { gap: 4px !important; }

  /* Bottone WhatsApp ancora più compatto mobile */
  .pcard-quote-cta {
    padding: 7px 8px !important;
    font-size: 10.5px !important;
    gap: 5px !important;
  }
  .pcard-quote-cta svg { width: 12px !important; height: 12px !important; }
  .pcard-quote-label {
    font-size: 9px !important;
    margin-bottom: 6px !important;
  }

  /* Padding-bottom maggiore per evitare taglio frecce/ombra hover */
  .shopify-section .featured-collection,
  .featured-collection .section-padding {
    padding-bottom: 32px !important;
  }

  /* Frecce slider mobile più piccole + spazio */
  .slider-buttons {
    margin-top: 12px !important;
    padding-bottom: 8px !important;
  }
  .slider-button {
    width: 34px !important;
    height: 34px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.1 — Match V0 carousel home identico
   Stile: brand NERO bold, no border, radius 14px, badge sconto
   solo testo rosso, scrollbar visibile, prezzo NOW nero,
   container più largo, 5-6 card visibili.
   ============================================================ */

/* 1. BRAND chip NERO bold Inter (era arancione monospace) */
.pcard-brand,
.featured-collection .pcard-brand {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #1F1F1F !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
.pcard-brand.in-promo {
  color: #DC2626 !important;
}

/* 2. CARD senza border, radius più rotondo (14px), ombra leggera */
.pcard,
.featured-collection .pcard {
  background: #FFFFFF !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 1px 0 #EAEAEA, 0 6px 20px rgba(0,0,0,0.04) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}
.pcard:hover,
.featured-collection .pcard:hover {
  transform: translateY(-3px) !important;
  border-color: transparent !important;
  box-shadow: 0 1px 0 #DDD, 0 12px 30px rgba(0,0,0,0.08) !important;
}

/* 3. BADGE SCONTO solo testo rosso (era pillola #FEE2E2) */
.pcard-disc {
  background: transparent !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #DC2626 !important;
  border-radius: 0 !important;
  letter-spacing: -0.01em !important;
}

/* 4. PREZZO NOW grande NERO (V0 enfatizza prezzo nero + sconto rosso a parte) */
.pcard-now {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1F1F1F !important;
  letter-spacing: -0.01em !important;
  font-family: 'Inter', sans-serif !important;
}
.pcard-was {
  font-size: 13px !important;
  color: #A3A3A3 !important;
  text-decoration: line-through !important;
  font-family: 'Inter', sans-serif !important;
}

/* 5. TITLE 3 righe come V0, Inter weight 500 */
.pcard-title,
.featured-collection .pcard-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #1F1F1F !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  margin-bottom: 14px !important;
}

/* 6. CONTAINER più ampio per i carousel home (V0 ha margini piccoli) */
.featured-collection .page-width {
  max-width: 1400px !important;
}

/* 7. SCROLLBAR orizzontale visibile sotto slider (stile V0) */
.featured-collection .slider {
  scrollbar-width: thin !important;
  scrollbar-color: #D4D4D4 transparent !important;
  padding-bottom: 14px !important;
}
.featured-collection .slider::-webkit-scrollbar {
  height: 5px !important;
  display: block !important;
}
.featured-collection .slider::-webkit-scrollbar-track {
  background: #FAFAFA !important;
  border-radius: 999px !important;
}
.featured-collection .slider::-webkit-scrollbar-thumb {
  background: #D4D4D4 !important;
  border-radius: 999px !important;
}
.featured-collection .slider::-webkit-scrollbar-thumb:hover {
  background: #A3A3A3 !important;
}

/* 8. FRECCE slider entrambe visibili (anche prev quando a inizio scroll) */
.featured-collection .slider-buttons {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding-right: 8px !important;
}
.featured-collection .slider-button {
  width: 40px !important;
  height: 40px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E5E5E5 !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s !important;
}
.featured-collection .slider-button:hover:not(:disabled) {
  border-color: #EA580C !important;
  background: #EA580C !important;
  color: #FFFFFF !important;
}
.featured-collection .slider-button:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

/* 9. PRICE ROW allineamento V0 (was+now stack sx, disc a dx) */
.pcard-price-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-top: auto !important;
  flex-wrap: nowrap !important;
}

/* 10. IMG wrap V0: bianco pulito, no padding 8% */
.pcard-imgwrap {
  background: #FFFFFF !important;
  border-radius: 6px !important;
  margin-bottom: 14px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.pcard-imgwrap img {
  padding: 6% !important;
  object-fit: contain !important;
}

/* 11. MOBILE — riadattamento card V0 mobile */
@media (max-width: 768px) {
  .pcard,
  .featured-collection .pcard {
    padding: 14px !important;
    border-radius: 12px !important;
  }
  .pcard-brand,
  .featured-collection .pcard-brand {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: #1F1F1F !important;
    margin-bottom: 4px !important;
  }
  .pcard-title,
  .featured-collection .pcard-title {
    font-size: 12.5px !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    margin-bottom: 10px !important;
  }
  .pcard-now { font-size: 17px !important; color: #1F1F1F !important; }
  .pcard-was { font-size: 11.5px !important; }
  .pcard-disc { font-size: 12.5px !important; padding: 0 !important; background: transparent !important; }
  .pcard-imgwrap { margin-bottom: 10px !important; }
  .pcard-imgwrap img { padding: 4% !important; }

  /* Container più ampio anche mobile */
  .featured-collection .page-width {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Scrollbar mobile più sottile */
  .featured-collection .slider::-webkit-scrollbar {
    height: 3px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.2 — Match WorkshopItaly identico
   1. Titolo carousel piccolo Inter (no più Archivo Black gigante)
   2. Container quasi full-width, padding laterale ridotto
   3. 6 card visibili invece di 5 (impostato in index.json)
   ============================================================ */

/* 1. CONTAINER: max-width più ampio + padding laterale stile WorkshopItaly */
.shopify-section .featured-collection,
.featured-collection .page-width,
.featured-collection .collection__title.page-width {
  max-width: 1500px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Slider deve estendersi nello stesso container */
.featured-collection slider-component.page-width,
.featured-collection .slider-mobile-gutter.page-width-desktop {
  max-width: 1500px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 2. TITOLO CAROUSEL piccolo Inter (era Archivo Black gigante in h1) */
.featured-collection .collection__title h2,
.featured-collection .collection__title .title,
.featured-collection .title.inline-richtext,
.featured-collection h2.title {
  font-family: 'Inter', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  color: #1F1F1F !important;
  line-height: 1.3 !important;
  margin: 0 0 18px !important;
  text-transform: none !important;
}

/* Bypass override Dawn heading-size h1/h0/hxl/hxxl per i carousel */
.featured-collection .h0,
.featured-collection .h1,
.featured-collection .hxl,
.featured-collection .hxxl {
  font-size: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
}

/* Title wrapper più compatto */
.featured-collection .collection__title.title-wrapper {
  margin-bottom: 14px !important;
  padding-top: 0 !important;
}

/* 3. CARD un filo più strette per stare in 6 colonne */
.featured-collection .grid--6-col-desktop > .grid__item {
  width: calc(16.66% - 12px) !important;
}

/* 4. GAP tra card stretto come WorkshopItaly */
.featured-collection .slider,
.featured-collection .grid--6-col-desktop {
  gap: 14px !important;
}

/* 5. MOBILE: titolo ancora più piccolo + container full */
@media (max-width: 768px) {
  .shopify-section .featured-collection,
  .featured-collection .page-width,
  .featured-collection .collection__title.page-width,
  .featured-collection slider-component.page-width,
  .featured-collection .slider-mobile-gutter.page-width-desktop {
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .featured-collection .collection__title h2,
  .featured-collection .collection__title .title,
  .featured-collection .title.inline-richtext,
  .featured-collection h2.title,
  .featured-collection .h0,
  .featured-collection .h1,
  .featured-collection .hxl,
  .featured-collection .hxxl {
    font-size: 17px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
  }

  .featured-collection .collection__title.title-wrapper {
    margin-bottom: 10px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.3 — Spazio ridotto tra sezioni + sfondo grigio alternato
   stile WorkshopItaly (Utensileria grigio · Diagnostica bianco · AC grigio)
   ============================================================ */

/* 1. SFONDO GRIGIO ALTERNATO: Utensileria + AC su #FAFAFA, Diagnostica bianca */
.shopify-section[id$="__featured_utensileria"],
.shopify-section[id$="__featured_ac"] {
  background: #FAFAFA !important;
}
.shopify-section[id$="__featured_utensileria"] .featured-collection,
.shopify-section[id$="__featured_ac"] .featured-collection {
  background: transparent !important;
}

/* Diagnostica bianca esplicita (no override accidentale) */
.shopify-section[id$="__featured_diagnostica"] {
  background: #FFFFFF !important;
}

/* 2. SPAZIO RIDOTTO tra sezioni: niente margin/extra padding sul wrapper Shopify */
.shopify-section[id$="__featured_utensileria"],
.shopify-section[id$="__featured_diagnostica"],
.shopify-section[id$="__featured_ac"] {
  margin: 0 !important;
}

/* Wrapper interno Dawn .gradient/.collection: niente padding extra */
.shopify-section[id$="__featured_utensileria"] .color-scheme-1,
.shopify-section[id$="__featured_utensileria"] .color-scheme-2,
.shopify-section[id$="__featured_diagnostica"] .color-scheme-1,
.shopify-section[id$="__featured_diagnostica"] .color-scheme-2,
.shopify-section[id$="__featured_ac"] .color-scheme-1,
.shopify-section[id$="__featured_ac"] .color-scheme-2 {
  background: transparent !important;
}

/* 3. CARD su sfondo grigio: leggermente più contrasto (ombra appena più visibile) */
.shopify-section[id$="__featured_utensileria"] .pcard,
.shopify-section[id$="__featured_ac"] .pcard {
  background: #FFFFFF !important;
  box-shadow: 0 1px 0 #E8E8E8, 0 4px 14px rgba(0,0,0,0.05) !important;
}

/* 4. MOBILE: sfondi grigi mantenuti, padding ulteriormente ridotto */
@media (max-width: 768px) {
  .shopify-section[id$="__featured_utensileria"] .section-padding,
  .shopify-section[id$="__featured_diagnostica"] .section-padding,
  .shopify-section[id$="__featured_ac"] .section-padding,
  .shopify-section[id$="__featured_utensileria"] [class*="-padding"],
  .shopify-section[id$="__featured_diagnostica"] [class*="-padding"],
  .shopify-section[id$="__featured_ac"] [class*="-padding"] {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.4 — Fix robusto class-based (no più dipendenza da ID Shopify)
   featured-collection.liquid ora applica classe .ts-bg-soft sul wrapper
   quando bg_style="soft". Più affidabile dei selettori [id$=].
   ============================================================ */

/* Sfondo grigio chiaro via classe applicata dal Liquid */
.ts-featured-collection.ts-bg-soft {
  background: #FAFAFA !important;
}
.ts-featured-collection.ts-bg-soft .collection {
  background: transparent !important;
}

/* Card su sfondo grigio: ombra leggermente più contrastata */
.ts-featured-collection.ts-bg-soft .pcard {
  background: #FFFFFF !important;
  box-shadow: 0 1px 0 #E8E8E8, 0 4px 14px rgba(0,0,0,0.05) !important;
}

/* Reset Dawn color-scheme background che potrebbe sovrapporsi */
.ts-featured-collection.ts-bg-soft.color-scheme-1,
.ts-featured-collection.ts-bg-soft.color-scheme-2,
.ts-featured-collection.ts-bg-soft.color-background-1,
.ts-featured-collection.ts-bg-soft.color-background-2 {
  background: #FAFAFA !important;
}

/* Niente margin tra sezioni featured-collection */
.shopify-section:has(.ts-featured-collection) {
  margin: 0 !important;
}

/* Mobile: bg grigio mantenuto */
@media (max-width: 768px) {
  .ts-featured-collection.ts-bg-soft {
    background: #FAFAFA !important;
  }
}

/* ============================================================
   TECHSERVICE V2.5 — 3 fix piccoli
   1. Sconto SuperPromo che esce dalla card su mobile
   2. (foto categorie giganti — fix lato Liquid + asset locali, no CSS)
   3. Reviews marquee: card più piccole, scroll più veloce
   ============================================================ */

/* ── 1. SUPER PROMO mobile: contieni lo sconto rosso dentro la card ── */
@media (max-width: 768px) {
  /* Permetti al price-row di andare a capo se non ci sta */
  .super-promo-right .pcard .pcard-price-row,
  .super-promo .pcard .pcard-price-row,
  [id^="carousel-superpromo"] .pcard .pcard-price-row {
    flex-wrap: wrap !important;
    gap: 4px !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
  }

  /* Sconto: font ridotto, no wrap interno, allineato a destra */
  .super-promo-right .pcard .pcard-disc,
  .super-promo .pcard .pcard-disc,
  [id^="carousel-superpromo"] .pcard .pcard-disc {
    font-size: 11px !important;
    padding: 0 !important;
    background: transparent !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    color: #DC2626 !important;
    font-weight: 800 !important;
  }

  /* Prezzo col: largo necessario, non comprimere */
  .super-promo-right .pcard .pcard-price-col,
  .super-promo .pcard .pcard-price-col,
  [id^="carousel-superpromo"] .pcard .pcard-price-col {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  .super-promo-right .pcard .pcard-now,
  .super-promo .pcard .pcard-now,
  [id^="carousel-superpromo"] .pcard .pcard-now {
    font-size: 14px !important;
    color: #1F1F1F !important;
  }
  .super-promo-right .pcard .pcard-was,
  .super-promo .pcard .pcard-was,
  [id^="carousel-superpromo"] .pcard .pcard-was {
    font-size: 10px !important;
  }

  /* Contieni overflow card SuperPromo (proteggi da sticker e badge esterni) */
  .super-promo-right .pcard,
  .super-promo .pcard {
    overflow: hidden !important;
    padding: 10px !important;
  }
}

/* ── 3. REVIEWS MARQUEE: card più piccole + scroll più veloce ── */
.reviews-marquee .review-card {
  width: 260px !important;       /* era 380px */
  padding: 16px !important;       /* era 26px */
  gap: 10px !important;           /* era 14px */
}
.reviews-marquee-track {
  animation-duration: 45s !important;  /* era 90s, doppio veloce */
  gap: 14px !important;                /* era 22px, più stretto */
  padding: 0 14px !important;
}
.reviews-marquee .review-card .review-body {
  font-size: 13px !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.reviews-marquee .review-card .review-avatar {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
}
.reviews-marquee .review-card .review-meta-text .name {
  font-size: 13px !important;
}
.reviews-marquee .review-card .review-meta-text .place {
  font-size: 11px !important;
}
.reviews-marquee .review-card .review-verified {
  font-size: 10px !important;
  padding: 2px 6px !important;
}
.reviews-marquee .review-card .stars {
  font-size: 13px !important;
}
.reviews-marquee .review-card .review-product {
  font-size: 11px !important;
}

/* Mobile: card recensioni ancora più piccole */
@media (max-width: 640px) {
  .reviews-marquee .review-card {
    width: 220px !important;
    padding: 14px !important;
  }
  .reviews-marquee-track {
    animation-duration: 35s !important;
    gap: 12px !important;
  }
}

/* ============================================================
   TECHSERVICE V2.7 — Header sticky (rimane in alto durante scroll)
   La topbar (sopra l'header) scrolla via, solo l'header con logo +
   search + chip filtri resta visibile in alto.
   ============================================================ */

/* Header wrapper sticky con z-index alto sopra i contenuti */
.header-wrap {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Backup target: il wrapper Shopify-section per il header group */
.shopify-section-group-header-group .header-wrap,
.shopify-section[id*="header-techservice"] {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* Garantisco che gli ancestor non blocchino sticky */
html, body {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* Mega menu drawer deve stare sopra l'header sticky (z-index più alto) */
.mega-menu-drawer,
.mega-drawer,
[id*="mega"][class*="drawer"] {
  z-index: 200 !important;
}

/* Cart drawer Dawn sopra header */
cart-drawer,
.cart-drawer {
  z-index: 200 !important;
}

/* ============================================================
   TECHSERVICE V2.8 — Pagina collection Utensileria (mobile-first fix)
   1. Titolo "Utensileria" sobrio Inter (era Archivo Black gigante)
   2. Spazio vuoto sotto titolo ridotto (.page-hero + .section padding)
   3. Titoli prodotti NO MORE uppercase (text-transform: none globale)
   4. Card prodotti collection: stesso stile minimal dei carousel home
   ============================================================ */

/* 1. Hero pagina collection: titolo sobrio Inter, no Archivo Black gigante */
.page-hero {
  padding: 24px 0 16px !important;
  border-bottom: none !important;
}
.page-hero h1 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.page-hero .eyebrow {
  font-size: 11px !important;
  margin-bottom: 4px !important;
}
.page-hero .lead {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #525252 !important;
  max-width: 720px !important;
  margin-top: 8px !important;
}

/* 2. Sezione collection: padding ridotto (era >48px) */
.section-collection-utensileria .section,
.section-collection-promo .section {
  padding: 20px 0 32px !important;
}

/* 3. TITOLO PRODOTTI: niente più uppercase (override globale, non solo featured) */
.pcard-title,
.cat-grid-products .pcard-title,
.featured-collection .pcard-title {
  text-transform: none !important;
}

/* 4. Card prodotti collection grid: stesso stile minimal dei carousel home */
.cat-grid-products .pcard {
  background: #FFFFFF !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  padding: 14px !important;
  box-shadow: 0 1px 0 #EAEAEA, 0 6px 20px rgba(0,0,0,0.04) !important;
  min-height: 0 !important;
  height: auto !important;
}
.cat-grid-products .pcard:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 1px 0 #DDD, 0 12px 30px rgba(0,0,0,0.08) !important;
}

/* 5. MOBILE: tutto ancora più compatto */
@media (max-width: 768px) {
  .page-hero {
    padding: 16px 0 8px !important;
  }
  .page-hero h1 {
    font-size: 24px !important;
  }
  .page-hero .lead {
    font-size: 12.5px !important;
    margin-top: 6px !important;
  }
  .section-collection-utensileria .section,
  .section-collection-promo .section {
    padding: 12px 0 24px !important;
  }
  .cat-body-head {
    margin-bottom: 14px !important;
  }
  .cat-grid-products {
    gap: 10px !important;
  }
  .cat-grid-products .pcard {
    padding: 10px !important;
    border-radius: 10px !important;
  }
  .cat-grid-products .pcard-title {
    font-size: 12px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }
  .cat-grid-products .pcard-brand {
    font-size: 10px !important;
    color: #1F1F1F !important;
  }
  .cat-grid-products .pcard-now {
    font-size: 15px !important;
    color: #1F1F1F !important;
  }
  .cat-grid-products .pcard-was {
    font-size: 10.5px !important;
  }
  .cat-grid-products .pcard-disc {
    background: transparent !important;
    padding: 0 !important;
    font-size: 11px !important;
    color: #DC2626 !important;
  }
}

/* ============================================================
   TECHSERVICE V4.2 — Fix allineamento carousel desktop
   Su desktop le card partivano ~270px a destra (buco bianco a sinistra)
   causa Dawn --desktop-margin-left-first-item sul primo slide.
   Allineo lo slider al container del titolo (page-width) + azzero margin.
   ============================================================ */

@media screen and (min-width: 750px) {
  /* Container carousel allineato al titolo: stesso page-width + padding del .page-width Dawn */
  html body .ts-featured-collection .slider-component-desktop,
  html body .ts-featured-collection slider-component.slider-component-desktop,
  html body .ts-featured-collection slider-component {
    max-width: var(--page-width, 1200px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 5rem !important;
    padding-right: 5rem !important;
    box-sizing: border-box !important;
  }

  /* Azzera il margin-left calcolato del primo slide (era la causa del buco) */
  html body .ts-featured-collection .slider--desktop .slider__slide:first-child {
    margin-left: 0 !important;
    scroll-margin-left: 0 !important;
  }
  html body .ts-featured-collection .slider--desktop {
    scroll-padding-left: 0 !important;
    padding-left: 0 !important;
  }
  /* Rimuovi lo spazio fittizio :after dello slider Dawn (padding finale) */
  html body .ts-featured-collection .slider--desktop:after {
    content: none !important;
    display: none !important;
    padding-left: 0 !important;
    width: 0 !important;
  }
}

/* ============================================================
   TECHSERVICE V4.3 — Carousel full-width stile WorkshopItaly + spacing ridotto
   Titolo + card allineati a sinistra (~32px dal bordo), container quasi full-width,
   card grandi con peek a destra. Meno spazio verticale tra le 3 categorie.
   ============================================================ */

@media screen and (min-width: 750px) {
  /* Titolo + carousel full-width allineati a sinistra (override V4.2 page-width) */
  html body .ts-featured-collection .collection__title,
  html body .ts-featured-collection .collection__title.page-width,
  html body .ts-featured-collection slider-component,
  html body .ts-featured-collection .slider-component-desktop,
  html body .ts-featured-collection slider-component.slider-component-desktop {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }

  /* Header carousel (titolo + "Vai ai prodotti") su una riga: titolo sx, link dx */
  html body .ts-featured-collection .collection__title {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  /* Primo slide allineato a sinistra, no margin calcolato Dawn */
  html body .ts-featured-collection .slider--desktop .slider__slide:first-child {
    margin-left: 0 !important;
    scroll-margin-left: 0 !important;
  }
  html body .ts-featured-collection .slider--desktop {
    scroll-padding-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Card un po' più grandi (5-6 visibili su full-width con peek) */
  html body .ts-featured-collection .slider--desktop .grid__item {
    width: calc((100% - 5 * 14px) / 5.5) !important;
    min-width: 220px !important;
  }
}

/* ── Spacing ridotto tra le 3 categorie carousel (desktop + mobile) ── */
html body .ts-featured-collection {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
html body .ts-featured-collection .collection,
html body .ts-featured-collection [class*="section-"][class*="-padding"] {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
html body .shopify-section:has(.ts-featured-collection) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Mobile: carousel padding laterale ridotto + spacing minimo */
@media (max-width: 749px) {
  html body .ts-featured-collection .collection__title,
  html body .ts-featured-collection slider-component {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  html body .ts-featured-collection .collection,
  html body .ts-featured-collection [class*="section-"][class*="-padding"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* ── V4.3: Link "Vai ai prodotti" in alto a destra (stile WorkshopItaly) ── */
.ts-featured-collection .collection__title .ts-view-all-inline {
  color: #EA580C !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  align-self: center !important;
  transition: opacity 0.15s ease !important;
}
.ts-featured-collection .collection__title .ts-view-all-inline:hover {
  text-decoration: underline !important;
  opacity: 0.8 !important;
}
/* Assicura che h2 titolo non spinga via il link */
.ts-featured-collection .collection__title .title {
  margin-bottom: 0 !important;
}
/* Mobile: link sotto il titolo, più piccolo */
@media (max-width: 749px) {
  .ts-featured-collection .collection__title .ts-view-all-inline {
    font-size: 13px !important;
  }
}

/* ============================================================
   TECHSERVICE V4.4 — Sfondo grigio uniforme carousel + spacing minimo
   Tutti e 3 i carousel home (Utens/Diagn/AC) stesso sfondo #FAFAFA
   (no più alternanza bianco/grigio). Card bianche per contrasto.
   Spacing verticale tra categorie ridotto al minimo.
   ============================================================ */

/* 1. SFONDO UNIFORME grigio su TUTTI e 3 i carousel (override bg_style alternato) */
html body .ts-featured-collection,
html body .ts-featured-collection.ts-bg-soft,
html body .ts-featured-collection.ts-bg-none,
html body .ts-featured-collection.color-scheme-1,
html body .ts-featured-collection.color-scheme-2,
html body .ts-featured-collection.color-background-1,
html body .ts-featured-collection.color-background-2 {
  background: #FAFAFA !important;
  background-color: #FAFAFA !important;
}
/* Wrapper interno trasparente per non coprire il grigio */
html body .ts-featured-collection .collection,
html body .ts-featured-collection .isolate {
  background: transparent !important;
}

/* 2. CARD bianche per risaltare sul grigio */
html body .ts-featured-collection .pcard,
html body .ts-featured-collection .card-wrapper,
html body .ts-featured-collection .card-wrapper > .card,
html body .ts-featured-collection .card__inner {
  background: #FFFFFF !important;
}

/* 3. SPACING MINIMO tra le 3 categorie (blocco grigio continuo) */
html body .ts-featured-collection {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html body .ts-featured-collection .collection,
html body .ts-featured-collection [class*="section-"][class*="-padding"] {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Mobile: spacing ancora più compatto */
@media (max-width: 749px) {
  html body .ts-featured-collection {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  html body .ts-featured-collection .collection,
  html body .ts-featured-collection [class*="section-"][class*="-padding"] {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}

/* ============================================================
   TECHSERVICE V4.5 — Sfondo grigio uniforme TUTTA la home + spacing reale
   Body home grigio #FAFAFA (come WorkshopItaly), sezioni neutre trasparenti
   per mostrare il grigio. Spacing tra sezioni minimo (il vero colpevole era
   ts_vertical_padding:20 inline, ora 4).
   ============================================================ */

/* 1. SFONDO GRIGIO su tutta la homepage */
body.template-index,
body.template-index #MainContent,
body.template-index main,
body.template-index .shopify-section-group-header-group ~ * {
  background-color: #FAFAFA !important;
}

/* 2. Sezioni neutre trasparenti (mostrano il grigio del body) */
body.template-index .shopify-section {
  background: transparent !important;
}
/* Wrapper interni delle sezioni neutre trasparenti */
body.template-index .ts-featured-collection,
body.template-index .ts-featured-collection .collection,
body.template-index .ts-featured-collection .isolate,
body.template-index .ts-featured-collection.color-scheme-1,
body.template-index .ts-featured-collection.color-scheme-2 {
  background: transparent !important;
  background-color: transparent !important;
}

/* 3. Elementi BIANCHI che devono risaltare sul grigio (card, form, box) */
body.template-index .pcard,
body.template-index .card-wrapper,
body.template-index .card-wrapper > .card,
body.template-index .card__inner,
body.template-index .usp-form-standalone,
body.template-index .quote-form-standalone,
body.template-index .review-card,
body.template-index .review-card-marquee {
  background: #FFFFFF !important;
}

/* 4. SPACING MINIMO reale tra tutte le sezioni home (era ts_vertical_padding:20) */
body.template-index .shopify-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.template-index .ts-featured-collection [class*="section-"][class*="-padding"] {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* 5. Le sezioni con sfondo SCURO/colorato intenzionale NON devono diventare grigie
   (super promo, newsletter, footer mantengono il loro stile interno) */
body.template-index .super-promo,
body.template-index .newsletter-techservice,
body.template-index .newsletter,
body.template-index .footer,
body.template-index .topbar-min,
body.template-index .header-wrap {
  /* questi hanno il loro bg su elemento interno, restano invariati */
}

@media (max-width: 749px) {
  body.template-index .ts-featured-collection [class*="section-"][class*="-padding"] {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

/* ============================================================
   TECHSERVICE V4.6 — Fix sconto −X% tagliato nelle card carousel mobile
   Su mobile prezzo + sconto non stavano sulla stessa riga e lo sconto
   veniva clippato sul bordo destro. Fix: overflow visibile, nowrap,
   font ridotti, sconto flex-shrink:0.
   ============================================================ */

/* ============================================================
   TECHSERVICE V4.7 — FIX RADICE: classe body ts-home + stop animazione
   (1) body NON aveva .template-index → fix sfondo non si applicava.
       Ora theme.liquid aggiunge .ts-home sulla home → uso quello.
   (2) Card sfalsate sx/dx = animazione Dawn scroll-trigger animate--slide-in
       che rivela le card in cascade. La disabilito → card tutte subito visibili.
   ============================================================ */

/* (2) STOP animazione reveal-on-scroll: card tutte visibili subito, no sfalsamento */
.ts-featured-collection .scroll-trigger,
.ts-featured-collection .grid__item,
.ts-featured-collection .slider__slide,
.ts-featured-collection .animate--slide-in,
.ts-featured-collection .pcard,
body.ts-home .scroll-trigger,
body.ts-home .grid__item.scroll-trigger,
body.ts-home .animate--slide-in {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

/* (1) SFONDO GRIGIO su tutta la home (selettore corretto body.ts-home) */
body.ts-home {
  background: #FAFAFA !important;
  background-color: #FAFAFA !important;
}
body.ts-home #MainContent,
body.ts-home main {
  background: transparent !important;
}
body.ts-home .shopify-section {
  background: transparent !important;
}
body.ts-home .ts-featured-collection,
body.ts-home .ts-featured-collection .collection,
body.ts-home .ts-featured-collection .isolate,
body.ts-home .ts-featured-collection.color-scheme-1,
body.ts-home .ts-featured-collection.color-scheme-2 {
  background: transparent !important;
  background-color: transparent !important;
}

/* Elementi bianchi che risaltano sul grigio */
body.ts-home .pcard,
body.ts-home .card-wrapper,
body.ts-home .card-wrapper > .card,
body.ts-home .card__inner,
body.ts-home .usp-form-standalone,
body.ts-home .quote-form-standalone,
body.ts-home .review-card {
  background: #FFFFFF !important;
}

@media (max-width: 749px) {
  /* Card: niente overflow che taglia lo sconto */
  body.template-index .pcard,
  body.ts-home .pcard,
  body.template-index .ts-featured-collection .pcard {
    overflow: visible !important;
  }

  /* Price row: prezzo a sx, sconto a dx, sulla stessa riga senza taglio */
  body.template-index .pcard-price-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    width: 100% !important;
  }

  /* Colonna prezzo: può restringersi ma non spinge fuori lo sconto */
  body.template-index .pcard-price-col {
    min-width: 0 !important;
    flex: 0 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Prezzi un filo più piccoli per far stare tutto */
  body.template-index .pcard-now {
    font-size: 14px !important;
    white-space: nowrap !important;
  }
  body.template-index .pcard-was {
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  /* Sconto: SEMPRE visibile, non si comprime, non va a capo */
  body.template-index .pcard-disc {
    font-size: 10.5px !important;
    font-weight: 800 !important;
    color: #DC2626 !important;
    background: transparent !important;
    padding: 0 !important;
    margin-left: 2px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    align-self: flex-end !important;
  }
}

/* ============================================================
   PDP — pezzi custom V5-5 (messaggio rate Klarna + chip pagamento)
   ============================================================ */
.ts-pdp-klarna{display:flex;align-items:center;gap:10px;background:#FFE0EB;border-radius:10px;padding:11px 13px;margin:14px 0;font-size:13px;color:#1a1a1a;line-height:1.4;}
.ts-pdp-klarna .k{background:#1a1a1a;color:#FFB3C7;font-weight:800;font-size:12px;padding:4px 9px;border-radius:5px;flex:0 0 auto;}
.ts-pdp-klarna a{text-decoration:underline;font-weight:600;}
.ts-pdp-payrow{margin:16px 0 4px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.ts-pdp-payrow .lbl{width:100%;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#A3A3A3;margin-bottom:2px;}
.ts-pdp-payrow .pc{height:30px;min-width:46px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E5E5E5;border-radius:6px;font-size:11px;font-weight:800;color:#404040;letter-spacing:-.02em;}
.ts-pdp-payrow .pc.klarna{background:#FFB3C7;color:#1a1a1a;border-color:#FFB3C7;}
/* ===================== PDP REFINEMENT (V5-6) ===================== */
/* 2) Aggiungi al carrello: nero prominente come la demo (dynamic checkout nascosto via setting) */
.product .product-form__submit{background:#1F1F1F !important;color:#fff !important;border:1px solid #1F1F1F !important;min-height:54px;border-radius:10px;font-weight:700;font-size:16px;}
.product .product-form__submit:hover:not([disabled]){background:#000 !important;transform:translateY(-1px);}
/* 1) Card "Potrebbero interessarti": titolo leggibile su 2 righe, niente troncature brutte */
.related-products .card__heading,.product-recommendations .card__heading{font-size:14px;line-height:1.35;margin-top:6px;}
.related-products .card__heading a,.product-recommendations .card__heading a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:break-word;white-space:normal;}
.related-products .card__media,.product-recommendations .card__media,.related-products .card .media,.product-recommendations .card .media{background:#fff !important;}
.related-products .price,.product-recommendations .price{font-weight:700;}
/* 4) Galleria: sfondo bianco */
.product__media-wrapper .media,.product__media,.product__media-item .media{background:#fff !important;}
/* 3) Buybox: prezzo piu' marcato vicino alla demo */
.product__info-container .price{font-size:1.5rem;}
/* ===================== PDP REFINEMENT (V5-7) ===================== */
/* Badge pagamento moderni (SVG) */
.ts-pdp-payments{margin:18px 0 4px;}
.ts-pdp-payments .lbl{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#A3A3A3;margin-bottom:9px;}
.ts-paybadges{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.ts-paybadges .tpb{display:inline-flex;line-height:0;}
.ts-paybadges .tpb svg{display:block;border-radius:4px;}
/* Card "Potrebbero interessarti" — fix robusto (Dawn vinceva senza !important) */
.related-products .grid,.product-recommendations .grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:14px !important;}
.related-products .grid__item,.product-recommendations .grid__item,.related-products .card-wrapper{max-width:none !important;width:auto !important;margin:0 !important;}
.related-products .card,.related-products .card__inner,.related-products .card__content,.product-recommendations .card,.product-recommendations .card__content{width:100% !important;}
.related-products .card__information,.product-recommendations .card__information{padding:10px 6px 4px !important;width:100% !important;text-align:left !important;}
.related-products .card__heading,.product-recommendations .card__heading{font-size:13.5px !important;line-height:1.32 !important;margin:0 0 6px !important;text-align:left !important;white-space:normal !important;letter-spacing:0 !important;}
.related-products .card__heading a,.product-recommendations .card__heading a{display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;text-overflow:ellipsis !important;word-break:normal !important;overflow-wrap:break-word !important;white-space:normal !important;max-width:none !important;}
.related-products .card__media,.related-products .card .media,.product-recommendations .card__media{background:#fff !important;}
.related-products .price,.product-recommendations .price{font-weight:700 !important;text-align:left !important;}
@media (min-width:990px){.related-products .grid,.product-recommendations .grid{grid-template-columns:repeat(4,1fr) !important;}}
/* ===================== RECENSIONI JUDGE.ME (V5-8) ===================== */
.ts-reviews{padding:36px 0 8px;}
.ts-reviews-title{font-family:'Archivo Black',sans-serif;font-weight:400;font-size:24px;letter-spacing:-.015em;margin-bottom:18px;color:var(--text-primary);}
.ts-pdp-rating{margin:8px 0 2px;}
.ts-pdp-rating:empty{display:none;}
/* === V6-7: fix card tagliate (overflow griglia utensileria) === */
.cat-grid-products{grid-template-columns:repeat(3,minmax(0,1fr));}
.cat-grid-products>*,.cat-grid-products .pcard{min-width:0;max-width:100%;}
.cat-grid-products .pcard-title{overflow-wrap:anywhere;}
/* V6-10: breakpoint a 1024px (NON 900) così le 2 colonne partono dove la sidebar
   si impila — la regola base sopra è più in basso del media query a riga ~2764
   e lo annullava, lasciando 3 colonne strette nella fascia 901-1024px. */
@media (max-width:1024px){.cat-grid-products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.cat-grid-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}}

/* === V6-10: collezioni FUORI dalla famiglia Utensileria (es. /collections/all, autel)
   → niente sidebar, griglia a tutta larghezza. Su desktop densità 4 colonne;
   sotto i 1024px restano valide le media query 2-colonne qui sopra. === */
.category-layout.cat-layout--full{grid-template-columns:1fr;}
@media (min-width:1025px){
  .cat-layout--full .cat-grid-products{grid-template-columns:repeat(4,minmax(0,1fr));}
}