/* ============================================================
   Pama Core — stili indipendenti dal tema.
   Token iniettati da PHP: --pama-brand, --pama-save,
   --pama-grade-a, --pama-grade-a-bg, --pama-grade-b, --pama-grade-b-bg
   ============================================================ */
:root{
  --pama-brand:#0BB497; --pama-save:#12160F;
  --pama-grade-a:#0A9C84; --pama-grade-a-bg:#E6F8F4;
  --pama-grade-b:#9A6B1E; --pama-grade-b-bg:#F6EFDF;
  --pama-ink:#12160F; --pama-line:#E8E7DF;
}

/* ---------- Ribbons sul catalogo / singolo ---------- */
.woocommerce ul.products li.product,
.pama-has-ribbons{ position:relative; }
.pama-ribbons{ position:absolute; top:12px; left:0; z-index:3; display:flex; flex-direction:column; gap:7px; pointer-events:none; }
.pama-ribbon{
  display:inline-flex; align-items:center; height:26px; padding:0 16px 0 11px;
  font:600 11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.03em; color:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.22);
  clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);
}
.pama-ribbon.r-save{ background:var(--pama-save); }
.pama-ribbon.r-a{ background:var(--pama-grade-a); }
.pama-ribbon.r-b{ background:var(--pama-grade-b); }

/* ---------- Prezzo "da nuovo" + risparmio ---------- */
.pama-price-wrap .pama-was{ color:#9aa09a; text-decoration:line-through; margin-right:.4em; font-size:.86em; }
.pama-save-badge{ display:inline-block; background:var(--pama-ink); color:#fff; font:700 .72em/1 ui-monospace,monospace; padding:.32em .5em; border-radius:6px; vertical-align:middle; }
.pama-grade-tag{ display:inline-flex; padding:4px 10px; border-radius:100px; font:600 12px/1 ui-monospace,monospace; }
.pama-grade-tag.gA{ background:var(--pama-grade-a-bg); color:var(--pama-grade-a); }
.pama-grade-tag.gB{ background:var(--pama-grade-b-bg); color:var(--pama-grade-b); }

/* ---------- Finder (baseline; il tema può sovrascrivere) ---------- */
.pama-finder .finder-groups{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-bottom:24px; border-bottom:1px solid var(--pama-line); }
.pama-finder .fgroup h4{ font:500 12px/1 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.1em; color:#8b9089; margin:0 0 12px; }
.pama-finder .chip-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pama-finder .fchip{ padding:9px 15px; border-radius:100px; border:1.5px solid var(--pama-line); background:#fff; font-size:13.5px; font-weight:600; color:#5c615a; cursor:pointer; transition:.18s; }
.pama-finder .fchip:hover{ border-color:var(--pama-ink); color:var(--pama-ink); }
.pama-finder .fchip.on{ background:var(--pama-brand); border-color:var(--pama-brand); color:#fff; }
.pama-finder .finder-results{ display:flex; flex-direction:column; gap:10px; margin:22px 0; }
.pama-finder .fi-item{ display:flex; align-items:center; gap:12px; padding:10px 14px; border:1px solid var(--pama-line); border-radius:14px; background:#fff; text-decoration:none; color:inherit; min-width:0; transition:border-color .18s, box-shadow .18s; }
.pama-finder .fi-item:hover{ border-color:var(--pama-brand); box-shadow:0 8px 20px rgba(18,22,15,.07); }
.pama-finder .fi-thumb{ width:48px; height:48px; border-radius:8px; object-fit:cover; flex-shrink:0; background:#f5f5f3; }
.pama-finder .fi-grade{ width:30px; height:30px; border-radius:9px; display:grid; place-items:center; font:700 13px/1 ui-monospace,monospace; flex-shrink:0; }
.pama-finder .fi-grade.gA{ background:var(--pama-grade-a-bg); color:var(--pama-grade-a); }
.pama-finder .fi-grade.gB{ background:var(--pama-grade-b-bg); color:var(--pama-grade-b); }
.pama-finder .fi-info{ min-width:0; flex:1; }
.pama-finder .fi-info b{ display:block; font-size:13.5px; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pama-finder .fi-info span{ font:11px/1 ui-monospace,monospace; color:#8b9089; }
.pama-finder .fi-price{ text-align:right; flex-shrink:0; }
.pama-finder .fi-price s{ display:block; font-size:10.5px; color:#9aa09a; }
.pama-finder .fi-price b{ font-size:15px; }
.pama-finder .fi-empty{ grid-column:1/-1; text-align:center; padding:26px; color:#5c615a; }
.pama-finder .finder-cta{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
@media (max-width:860px){ .pama-finder .finder-groups{ grid-template-columns:1fr; } }

/* ---------- Comparatore: pulsante ---------- */
.pama-compare-toggle{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.pama-compare-toggle.on{ background:var(--pama-brand)!important; color:#fff!important; border-color:var(--pama-brand)!important; }

/* ---------- Comparatore: barra fluttuante ---------- */
.pama-compare-bar{
  position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:1000;
  display:flex; align-items:center; gap:18px; max-width:calc(100vw - 32px);
  background:#fff; border:1px solid var(--pama-line); border-radius:100px;
  padding:10px 12px 10px 18px; box-shadow:0 18px 50px rgba(18,22,15,.18);
}
.pama-compare-bar[hidden]{ display:none !important; }
.pama-compare-bar__items{ display:flex; gap:8px; }
.pama-compare-bar .pama-compare-clear{ background:none; border:none; color:#8b9089; font-size:13px; cursor:pointer; }
.pama-compare-go.button{ background:var(--pama-brand); color:#fff; border-radius:100px; padding:10px 20px; }

/* ---------- Comparatore: tabella ---------- */
.pama-compare-table-wrap{ overflow-x:auto; }
.pama-compare-table{ width:100%; border-collapse:collapse; }
.pama-compare-table th,.pama-compare-table td{ border:1px solid var(--pama-line); padding:14px; text-align:center; vertical-align:middle; }
.pama-compare-table .rowlbl{ text-align:left; font:500 12px/1.2 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.06em; color:#8b9089; background:#fafaf8; white-space:nowrap; }
.pama-compare-table .cmp-head a{ display:block; text-decoration:none; color:inherit; }
.pama-compare-table .cmp-head img{ width:90px; height:auto; margin:0 auto 8px; }
.pama-compare-table .cmp-name{ display:block; font-weight:700; font-size:14px; }
.pama-compare-table .cmp-remove{ margin-top:8px; background:none; border:none; color:#b04; font-size:12px; cursor:pointer; }
.pama-compare-table .cmp-save{ background:var(--pama-ink); color:#fff; padding:3px 8px; border-radius:6px; font:700 12px/1 ui-monospace,monospace; }
.pama-compare-root.loading{ opacity:.5; }
.pama-compare-empty{ text-align:center; color:#5c615a; padding:50px 20px; }

/* ---------- Flash ---------- */
.pama-cmp-flash{
  position:fixed; bottom:80px; left:50%; transform:translate(-50%,140%);
  background:var(--pama-ink); color:#fff; padding:12px 20px; border-radius:100px;
  font-size:14px; font-weight:600; z-index:1100; box-shadow:0 14px 40px rgba(0,0,0,.25);
  transition:transform .35s cubic-bezier(.2,1.2,.3,1);
}
.pama-cmp-flash.show{ transform:translate(-50%,0); }

/* ---------- Singolo prodotto: chip specifiche + test ---------- */
.pama-spec-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 18px; }
.pama-spec-chip{ font:600 12px/1 ui-monospace,monospace; padding:7px 11px; border-radius:8px; background:#f4f4ef; color:#12160f; }
.pama-spec-chip.pama-spec-grade.gA{ background:var(--pama-grade-a-bg); color:var(--pama-grade-a); }
.pama-spec-chip.pama-spec-grade.gB{ background:var(--pama-grade-b-bg); color:var(--pama-grade-b); }
.pama-stock-chip.pama-stock-in{ background:var(--pama-grade-a-bg); color:var(--pama-grade-a); }
.pama-stock-chip.pama-stock-out{ background:#fbeaea; color:#b3261e; }
/* La disponibilità è mostrata come chip: nascondi il duplicato di WooCommerce (tranne quello delle varianti). */
.pama-product .summary p.stock{ display:none; }
.pama-product .summary .woocommerce-variation-availability p.stock{ display:block; }
.pama-spec-table{ width:100%; border-collapse:collapse; margin-bottom:28px; max-width:560px; }
.pama-spec-table th,.pama-spec-table td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--pama-line); }
.pama-spec-table th{ width:40%; color:#5c615a; font-weight:600; }
.pama-tests-title{ font-size:18px; margin:8px 0 16px; }
.pama-tests-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px 18px; }
.pama-tests-grid li{ display:flex; align-items:center; gap:9px; font-size:14px; }
.pama-tests-grid li.ok{ color:#12160f; }
.pama-tests-grid li.ok svg{ color:var(--pama-grade-a); }
.pama-tests-grid li.ko{ color:#9aa09a; text-decoration:line-through; }
.pama-tests-grid li.ko svg{ color:#cbcbc4; }
@media (max-width:720px){ .pama-tests-grid{ grid-template-columns:1fr 1fr; } }

/* ============================================================
   Pagina prodotto — descrizione in evidenza
   ============================================================ */
.pama-shortdesc-hl .woocommerce-product-details__short-description{
  border-top:1px solid var(--pama-line);
  border-bottom:1px solid var(--pama-line);
  padding:16px 2px; margin:18px 0; color:#3a3f38;
  font-size:15.5px; line-height:1.7;
}
.pama-shortdesc-hl .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }
.pama-shortdesc-hl .woocommerce-product-details__short-description strong{ color:var(--pama-ink); }

/* ============================================================
   Social proof — badge
   ============================================================ */
.pama-social{ display:flex; flex-flow:row wrap; align-items:center; gap:6px 18px; margin:10px 0 2px; font-size:12.5px; color:#6b716a; }
.pama-social-it{ display:inline-flex; align-items:center; gap:6px; }
.pama-social-it svg{ color:#a7aca4; flex:0 0 auto; }
.pama-social-it b{ color:var(--pama-ink); font-weight:700; }
.pama-social-watch svg{ color:var(--pama-brand); }

/* ============================================================
   Social proof — toast notifiche d'acquisto
   ============================================================ */
.pama-toast-root{
  position:fixed; left:18px; bottom:18px; z-index:9999;
  display:flex; flex-direction:column; gap:10px; max-width:330px; pointer-events:none;
}
.pama-toast{
  display:flex; align-items:flex-start; gap:11px;
  background:#fff; border:1px solid var(--pama-line); border-radius:13px;
  box-shadow:0 12px 30px rgba(12,22,18,.16); padding:12px 14px;
  transform:translateX(-120%); opacity:0; transition:transform .42s cubic-bezier(.2,.8,.2,1), opacity .42s;
  pointer-events:auto;
}
.pama-toast.in{ transform:translateX(0); opacity:1; }
.pama-toast-x{
  flex:0 0 auto; align-self:flex-start; margin:-3px -4px 0 2px;
  width:24px; height:24px; border:0; background:transparent; color:#9aa09a;
  border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s;
}
.pama-toast-x:hover{ background:#f0f1ee; color:var(--pama-ink); }
.pama-toast-ic{
  flex:0 0 auto; width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--pama-brand); color:#fff;
}
.pama-toast-txt{ font-size:13px; line-height:1.45; color:#2b3a36; }
.pama-toast-txt b{ color:var(--pama-ink); }
.pama-toast-prod{ display:block; font-weight:600; color:var(--pama-ink); }
.pama-toast-ago{ display:block; font-size:11px; color:#9aa09a; margin-top:2px; }
@media (max-width:600px){ .pama-toast-root{ left:10px; right:10px; bottom:10px; max-width:none; } }

/* ============================================================
   Bundle "Acquista insieme"
   ============================================================ */
.pama-bundle{
  margin:20px 0; padding:18px; border:1px solid var(--pama-line); border-radius:16px;
  background:linear-gradient(180deg,#fff, #fafbfa);
}
.pama-bundle-head{ display:flex; align-items:center; gap:9px; margin-bottom:14px; color:var(--pama-ink); font-size:15px; }
.pama-bundle-head svg{ color:var(--pama-brand); }
.pama-bundle-items{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.pama-bundle-it{ width:104px; text-align:center; }
.pama-bundle-it a{ text-decoration:none; color:inherit; }
.pama-bundle-it img{
  width:104px; height:104px; object-fit:contain; border:1px solid var(--pama-line);
  border-radius:12px; background:#fff; padding:6px; display:block; margin:0 auto 6px;
}
.pama-bundle-it span{ display:block; font-size:11.5px; line-height:1.35; color:#4a4f48;
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pama-bundle-plus{ font-size:22px; font-weight:300; color:#aab0a8; }
.pama-bundle-foot{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--pama-line);
}
.pama-bundle-tot{ display:flex; align-items:baseline; gap:8px; }
.pama-bundle-tot span{ font-size:12px; color:#6b706a; }
.pama-bundle-tot b{ font-size:20px; color:var(--pama-ink); font-weight:800; }
.pama-bundle-tot s{ color:#9aa09a; font-size:14px; }
.pama-bundle-add.button{
  background:var(--pama-brand) !important; color:#fff !important; border:0 !important;
  border-radius:999px !important; padding:11px 22px !important; font-weight:700 !important;
}

/* ============================================================
   Barra "Aggiungi al carrello" fissa (mobile)
   ============================================================ */
.pama-sticky-cart{
  position:fixed; left:0; right:0; bottom:0; z-index:80;
  display:none; align-items:center; gap:14px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background:#fff; border-top:1px solid var(--pama-line);
  box-shadow:0 -8px 24px rgba(12,22,18,.12);
}
.pama-sticky-cart.show{ display:flex; }
.pama-sticky-info{ flex:1; min-width:0; line-height:1.1; }
.pama-sticky-price{ font-weight:800; font-size:18px; color:var(--pama-ink); white-space:nowrap; }
.pama-sticky-price del{ color:#9aa09a; font-weight:400; font-size:.78em; margin-right:5px; }
.pama-sticky-price ins{ text-decoration:none; }
.pama-sticky-btn{
  flex-shrink:0; border:0; background:var(--pama-brand); color:#fff;
  font-weight:700; font-size:15px; padding:14px 26px; border-radius:100px; cursor:pointer;
}
.pama-sticky-btn:active{ transform:scale(.97); }
/* Solo su mobile/tablet stretto */
@media (min-width:769px){ .pama-sticky-cart{ display:none !important; } }

/* ============================================================
   Marchio in evidenza (logo) nella scheda prodotto
   ============================================================ */
.pama-identity{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:8px 0 14px; }
.pama-identity .pama-brandmark{ margin:0; }
.pama-brandmark{ margin:6px 0 14px; }
.pama-brandmark a{ display:inline-block; line-height:0; }
.pama-brandmark img{ height:24px; width:auto; max-width:120px; object-fit:contain; display:block; transition:opacity .15s; }
.pama-brandmark a:hover img{ opacity:.7; }

/* ============================================================
   Countdown (offerta + ordina entro)
   ============================================================ */
.pama-countdown{ margin:14px 0; }
.pama-cd-sale{
  display:flex; flex-direction:column; gap:12px; padding:16px 18px;
  background:linear-gradient(135deg,#fff 0%,#fdeceb 100%);
  border:1.5px solid #f2c4bf; border-radius:14px;
  box-shadow:0 8px 24px rgba(192,39,29,.12); position:relative; overflow:hidden;
}
.pama-cd-sale::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:#e0352b; }
.pama-cd-sale .pama-cd-label{ display:inline-flex; align-items:center; gap:8px; font:800 12.5px/1 ui-monospace,monospace; letter-spacing:.05em; text-transform:uppercase; color:#c0271d; }
.pama-cd-sale .pama-cd-label::before{ content:""; width:9px; height:9px; border-radius:50%; background:#e0352b; box-shadow:0 0 0 0 rgba(224,53,43,.5); animation:pama-cd-pulse 1.3s infinite; }
@keyframes pama-cd-pulse{ 0%{ box-shadow:0 0 0 0 rgba(224,53,43,.5);} 70%{ box-shadow:0 0 0 7px rgba(224,53,43,0);} 100%{ box-shadow:0 0 0 0 rgba(224,53,43,0);} }
.pama-cd-timer{ display:inline-flex; align-items:center; gap:7px; }
.pama-cd-seg{
  display:inline-flex; flex-direction:column; align-items:center; gap:3px;
  background:#15181300; background:linear-gradient(180deg,#23272150,#15181300),#1a1d18;
  color:#fff; border-radius:10px; padding:9px 12px; min-width:52px;
}
.pama-cd-seg b{ font-size:24px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.pama-cd-seg i{ font-style:normal; font-size:9px; text-transform:uppercase; opacity:.6; letter-spacing:.05em; }
.pama-cd-sep{ font-weight:800; font-size:20px; color:#c0271d; opacity:.55; }
.pama-cd-expired-msg{ font-weight:800; color:#b3261e; font-size:15px; }

.pama-cd-ship{
  display:flex; align-items:center; gap:11px; padding:12px 15px;
  background:var(--pama-grade-a-bg); border-radius:13px; font-size:14px; color:#2b3a36;
}
.pama-cd-ship .pama-cd-ico{ color:var(--pama-brand); flex-shrink:0; display:flex; }
.pama-cd-ship .pama-cd-timer{ font-weight:800; color:var(--pama-ink); font-variant-numeric:tabular-nums; }

/* Riga identità: disponibilità colorata */
.pama-avail{ display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:12.5px; font-weight:700; line-height:1; }
.pama-avail::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.pama-avail-ok{ background:var(--pama-grade-a-bg); color:#1f8f5f; }
.pama-avail-mid{ background:#fff3e0; color:#c2730a; }
.pama-avail-low{ background:#fdecea; color:#d23b2e; }
.pama-avail-out{ background:#f1f1f0; color:#7b807a; }

/* Countdown offerta su una riga */
.pama-cd-inline{
  display:inline-flex; align-items:center; gap:9px; margin:10px 0;
  padding:8px 14px; border-radius:10px; background:#fdeceb; border:1px solid #f2c4bf;
}
.pama-cd-inline .pama-cd-ico{ display:flex; color:#c0271d; flex:0 0 auto; }
.pama-cd-inline .pama-cd-label{ font:800 11.5px/1 ui-monospace,monospace; letter-spacing:.05em; text-transform:uppercase; color:#c0271d; }
.pama-cd-inline .pama-cd-timer{ color:var(--pama-ink); font-weight:800; font-size:15px; font-variant-numeric:tabular-nums; letter-spacing:.01em; }

/* ============================================================
   Box specifiche premium — raggruppato per categoria
   ============================================================ */
.pama-specbox{ margin:16px 0; border:1px solid var(--pama-line); border-radius:14px; overflow:hidden; background:#fff; }
.pama-spec-cat{ padding:13px 16px; }
.pama-spec-cat + .pama-spec-cat,
.pama-spec-more{ border-top:1px solid var(--pama-line); }
.pama-spec-cat__h{ margin:0 0 11px; font:700 10px/1 ui-monospace,monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--pama-brand); }
.pama-spec-cat__items{ display:grid; grid-template-columns:1fr 1fr; gap:13px 18px; }
.pama-spec-item{ display:flex; align-items:center; gap:11px; min-width:0; }
.pama-spec-item__ico{ flex:0 0 auto; width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:var(--pama-grade-a-bg); color:var(--pama-brand); }
.pama-spec-item__ico svg{ width:18px; height:18px; }
.pama-spec-item__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.pama-spec-item__k{ font:600 10px/1 ui-monospace,monospace; letter-spacing:.04em; text-transform:uppercase; color:#9aa09a; }
.pama-spec-item__v{ font-size:14px; font-weight:700; color:var(--pama-ink); line-height:1.2; word-break:break-word; }
.pama-spec-more > summary{ cursor:pointer; list-style:none; padding:12px 16px; display:flex; align-items:center; justify-content:center; gap:7px; font-weight:700; font-size:12.5px; color:var(--pama-brand); user-select:none; }
.pama-spec-more > summary::-webkit-details-marker{ display:none; }
.pama-spec-more > summary .chev{ transition:transform .2s ease; }
.pama-spec-more[open] > summary{ border-bottom:1px solid var(--pama-line); }
.pama-spec-more[open] > summary .chev{ transform:rotate(180deg); }
@media (max-width:480px){ .pama-spec-cat__items{ grid-template-columns:1fr; } }

/* ============================================================
   Sezione promo Shop
   ============================================================ */
.pama-promo{ margin:0 0 28px; }
.pama-promo__head h2{ margin:0 0 14px; font-size:18px; font-weight:800; color:var(--pama-ink); letter-spacing:-.01em; }
.pama-promo__row{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.pama-promo__row::-webkit-scrollbar{ height:6px; }
.pama-promo__row::-webkit-scrollbar-thumb{ background:var(--pama-line); border-radius:99px; }

.pama-promo-card{ flex:0 0 auto; width:170px; scroll-snap-align:start; display:flex; flex-direction:column; border:1px solid var(--pama-line); border-radius:13px; overflow:hidden; background:#fff; text-decoration:none; transition:box-shadow .18s, transform .18s; }
.pama-promo-card:hover{ box-shadow:0 10px 26px rgba(8,14,11,.10); transform:translateY(-2px); }
.pama-promo-card__img{ position:relative; aspect-ratio:1/1; display:block; background:#fff; }
.pama-promo-card__img img{ width:100%; height:100%; object-fit:contain; padding:10px; }
.pama-promo-card__badge{ position:absolute; top:8px; left:8px; background:var(--pama-ink); color:#fff; font-size:11px; font-weight:800; padding:3px 7px; border-radius:7px; }
.pama-promo-card__body{ display:flex; flex-direction:column; gap:5px; padding:10px 12px 13px; }
.pama-promo-card__t{ font-size:12.5px; font-weight:600; color:var(--pama-ink); line-height:1.3; }
.pama-promo-card__p{ font-size:13px; font-weight:800; color:var(--pama-ink); }
.pama-promo-card__p del{ font-weight:500; color:#9aa09a; font-size:11.5px; margin-right:4px; }

.pama-promo-cat{ flex:0 0 auto; width:150px; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; gap:9px; padding:16px 12px; border:1px solid var(--pama-line); border-radius:13px; background:#fff; text-decoration:none; transition:box-shadow .18s, transform .18s; }
.pama-promo-cat:hover{ box-shadow:0 10px 26px rgba(8,14,11,.10); transform:translateY(-2px); }
.pama-promo-cat__img{ width:64px; height:64px; border-radius:12px; overflow:hidden; background:var(--pama-grade-a-bg); display:grid; place-items:center; }
.pama-promo-cat__img img{ width:100%; height:100%; object-fit:cover; }
.pama-promo-cat__ph{ width:100%; height:100%; background:var(--pama-grade-a-bg); }
.pama-promo-cat__t{ font-size:13px; font-weight:700; color:var(--pama-ink); text-align:center; line-height:1.25; }
.pama-promo-cat__n{ font-size:11px; color:#9aa09a; }

/* ============================================================
   Rassicurazioni + FAQ (colonna prodotto)
   ============================================================ */
.pama-reassure{ display:grid; grid-template-columns:1fr 1fr; gap:11px 18px; margin:16px 0; padding:15px 16px; border:1px solid var(--pama-line); border-radius:13px; background:var(--pama-grade-a-bg); }
.pama-reassure__item{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; color:#2b3a36; line-height:1.25; }
.pama-reassure__ico{ flex:0 0 auto; color:var(--pama-brand); display:flex; }
.pama-reassure__ico svg{ width:20px; height:20px; }
@media (max-width:480px){ .pama-reassure{ grid-template-columns:1fr; } }

.pama-faq{ margin:18px 0; }
.pama-faq__title{ margin:0 0 8px; font-size:15px; font-weight:800; color:var(--pama-ink); }
.pama-faq__item{ border-top:1px solid var(--pama-line); }
.pama-faq__item:last-child{ border-bottom:1px solid var(--pama-line); }
.pama-faq__item > summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 2px; font-size:14px; font-weight:700; color:var(--pama-ink); user-select:none; }
.pama-faq__item > summary::-webkit-details-marker{ display:none; }
.pama-faq__item > summary .chev{ flex:0 0 auto; color:#9aa09a; transition:transform .2s ease; }
.pama-faq__item[open] > summary .chev{ transform:rotate(180deg); }
.pama-faq__a{ padding:0 2px 14px; font-size:13.5px; line-height:1.55; color:#5b615a; }
.pama-faq__a p{ margin:0 0 8px; }
.pama-faq__a p:last-child{ margin:0; }

/* ============================================================
   Resi e garanzie — trigger + pannello off-canvas
   ============================================================ */
.pama-returns-trigger{ display:flex; align-items:center; gap:11px; width:100%; margin:14px 0; padding:13px 15px; border:1px solid var(--pama-line); border-radius:13px; background:#fff; cursor:pointer; text-align:left; font:inherit; transition:border-color .15s, box-shadow .15s; }
.pama-returns-trigger:hover{ border-color:var(--pama-ink); box-shadow:0 4px 14px rgba(8,14,11,.06); }
.pama-returns-trigger__ico{ flex:0 0 auto; color:var(--pama-brand); display:flex; }
.pama-returns-trigger__txt{ flex:1 1 auto; font-size:14px; font-weight:700; color:var(--pama-ink); }
.pama-returns-trigger__arrow{ flex:0 0 auto; color:#9aa09a; display:flex; }

.pama-returns-overlay{ position:fixed; inset:0; background:rgba(8,14,11,.45); opacity:0; transition:opacity .3s ease; z-index:99998; }
.pama-returns-overlay.show{ opacity:1; }
.pama-returns-panel{ position:fixed; top:0; right:0; height:100%; width:min(92vw,460px); background:#fff; z-index:99999; transform:translateX(100%); transition:transform .34s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; box-shadow:-12px 0 40px rgba(8,14,11,.18); }
.pama-returns-panel.open{ transform:translateX(0); }
.pama-returns-panel__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--pama-line); flex:0 0 auto; }
.pama-returns-panel__head h2{ margin:0; font-size:18px; font-weight:800; color:var(--pama-ink); }
.pama-returns-close{ flex:0 0 auto; border:0; background:none; color:var(--pama-ink); cursor:pointer; padding:4px; display:flex; }
.pama-returns-panel__body{ overflow-y:auto; padding:22px; -webkit-overflow-scrolling:touch; }
.pama-returns-panel__body h3{ margin:24px 0 12px; font-size:18px; font-weight:800; color:var(--pama-ink); }
.pama-returns-panel__body h3:first-child{ margin-top:0; }
.pama-returns-panel__body p{ margin:0 0 14px; font-size:14px; line-height:1.6; color:#4f554e; }
.pama-returns-panel__body strong{ color:var(--pama-ink); }
.pama-returns-panel__body ul{ margin:0 0 14px; padding-left:20px; }
.pama-returns-panel__body li{ font-size:14px; line-height:1.6; color:#4f554e; margin-bottom:6px; }
