/* FSC Vetrina Prodotto — landing scheda prodotto v1.1
   Scoped .pgp. Colore --pgp-c inline dalla famiglia.
   Fix v1.1:
   - hero centrata dentro wrap standard, non allineata a sinistra pagina
   - incluso/escluso mostra sempre una colonna anche se l'altra manca
   - descrizione, form, band tutti dentro pgp-wrap (allineamento coerente)
   - thumb hero limitata e affiancata correttamente
   - responsive fluido, mobile pulito
*/

.pgp{
  --g1:var(--fsc-r1,#EF5FFF);--g2:var(--fsc-r2,#DEDC12);--g3:var(--fsc-r3,#18ED93);--g4:var(--fsc-r4,#54CCEF);
  --ink:var(--fsc-black,#0D0D0D);--muted:var(--fsc-grey-500,#888680);--line:var(--fsc-grey-100,#E8E6E1);
  --cream:var(--fsc-cream,#F7F6F3);--mono:var(--fsc-mono,"Consolas","Courier New",monospace);
  color:var(--ink);
}
.pgp *,.pgp *::before,.pgp *::after{box-sizing:border-box}

/* Reset gabbia Astra sui prodotti: full-width vero + nessuna sidebar */
body.fscvp-active #content{padding:0!important;margin:0!important}
body.fscvp-active #content > .ast-container,
body.fscvp-active .site-content,
body.fscvp-active .site-content > .ast-container{
  padding:0!important;margin:0!important;
  max-width:none!important;width:100%!important;
  display:block!important;
}
body.fscvp-active #primary,
body.fscvp-active .content-area,
body.fscvp-active .site-content .site-main,
body.fscvp-active .site-content .site-primary-header-inner-wrap,
body.fscvp-active .site-content article,
body.fscvp-active .site-content article.product{
  padding:0!important;margin:0!important;
  max-width:none!important;width:100%!important;
  float:none!important;
}
body.fscvp-active #secondary,
body.fscvp-active .widget-area,
body.fscvp-active .sidebar-main,
body.fscvp-active .ast-woocommerce-sidebar{display:none!important}
body.fscvp-active .entry-header,
body.fscvp-active .ast-single-post-order,
body.fscvp-active .post-navigation,
body.fscvp-active .related.products,
body.fscvp-active .up-sells,
body.fscvp-active .single-product > .product > .images,
body.fscvp-active .single-product > .product > .summary,
body.fscvp-active .single-product > .product > .woocommerce-tabs{display:none!important}
body.fscvp-active .entry-content{margin:0!important;padding:0!important}
body.fscvp-active .ast-woocommerce-container{max-width:none!important;padding:0!important;margin:0!important}
body.fscvp-active #ast-scrollable{padding:0!important}
body.fscvp-active .woocommerce-notices-wrapper{margin:0!important}
/* Woo mostra un breadcrumb sopra il template — via */
body.fscvp-active .woocommerce-breadcrumb{display:none!important}

/* wrap standard: unica gabbia usata da tutte le sezioni */
.pgp-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.pgp-wrap--narrow{max-width:820px}

.pgp-stripe{display:flex;gap:5px;margin-bottom:16px}
.pgp-stripe span{display:block;height:5px;border-radius:3px}
.pgp-stripe span:nth-child(1){width:42px;background:var(--g1)}
.pgp-stripe span:nth-child(2){width:24px;background:var(--g2)}
.pgp-stripe span:nth-child(3){width:56px;background:var(--g3)}
.pgp-stripe span:nth-child(4){width:18px;background:var(--g4)}

/* ─── Hero ─────────────────────────────────────────────── */
.pgp-hero{
  background:var(--cream);
  padding:72px 0 56px;
  position:relative;overflow:hidden;
}
.pgp-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:36px;
  align-items:center;
}
.pgp-hero__copy{position:relative;z-index:2;min-width:0}
.pgp-labels{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.pgp-label{
  font-family:var(--mono);font-size:.66rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  padding:.28rem .85rem;border-radius:99px;
  background:var(--pgp-c-bg,#F7F6F3);color:var(--pgp-c-txt,var(--ink));
  border:1.5px solid var(--pgp-c-bg,#F7F6F3);
}
.pgp-label--sub{background:transparent;color:var(--muted);border-color:var(--line)}
.pgp-hero__title{
  font-size:clamp(2rem,4.4vw,3.2rem);
  font-weight:900;letter-spacing:-.04em;line-height:1.05;
  margin:0 0 14px;color:var(--ink);
  position:relative;display:inline;
  background-image:linear-gradient(var(--pgp-c,#0D0D0D),var(--pgp-c,#0D0D0D));
  background-repeat:no-repeat;
  background-size:100% .16em;
  background-position:0 88%;
  padding-bottom:.05em;
}
.pgp-hero__promise{
  font-size:1.05rem;color:var(--ink);line-height:1.55;
  margin:0 0 18px;max-width:52ch;font-weight:500;
}
.pgp-hero__meta{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-family:var(--mono);font-size:.85rem;
}
.pgp-hero__price{font-weight:700;color:var(--pgp-c-txt,var(--ink))}
.pgp-hero__dur{color:var(--muted);font-size:.8rem}

.pgp-hero__thumb{
  display:flex;justify-content:center;align-items:center;
  position:relative;min-width:0;
}
.pgp-hero__thumb img{
  max-width:220px;width:100%;height:auto;
  border-radius:20px;
  background:#fff;padding:12px;
  border:1px solid var(--line);
  box-shadow:0 20px 40px rgba(13,13,13,.06);
}

/* ─── Descrizione ──────────────────────────────────────── */
.pgp-desc{padding:56px 0 24px}
.pgp-desc__body{font-size:1rem;line-height:1.7;color:var(--ink)}
.pgp-desc__body p{margin:0 0 14px}
.pgp-desc__body h2,.pgp-desc__body h3{
  font-weight:900;letter-spacing:-.02em;
  margin:24px 0 10px;color:var(--ink);
}
.pgp-desc__body h2{font-size:1.35rem}
.pgp-desc__body h3{font-size:1.12rem}
.pgp-desc__body ul,.pgp-desc__body ol{padding-left:20px;margin:0 0 14px}
.pgp-desc__body li{margin-bottom:6px}
.pgp-desc__body a{
  color:var(--pgp-c-txt,var(--ink));
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;
}

/* ─── Incluso / Escluso ────────────────────────────────── */
.pgp-inout{padding:24px 0 56px}
.pgp-inout__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  max-width:900px;margin:0 auto;
}
.pgp-inout__grid--single{
  grid-template-columns:minmax(0,1fr);
  max-width:640px;
}
.pgp-inout__col h2{
  font-size:1.35rem;font-weight:900;letter-spacing:-.03em;
  margin:0 0 14px;color:var(--ink);
}
.pgp-inout__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pgp-inout__col li{
  font-size:.92rem;color:var(--ink);
  padding-left:26px;position:relative;line-height:1.55;
}
.pgp-inout__col li::before{
  content:"";position:absolute;left:0;top:.5em;
  width:14px;height:7px;border-radius:99px;
}
.pgp-inout__col--in li::before{background:var(--pgp-c,var(--g3))}
.pgp-inout__col--out li{color:var(--muted)}
.pgp-inout__col--out li::before{background:var(--line)}

/* ─── Puoi aggiungere anche ────────────────────────────── */
.pgp-also{padding:56px 0;background:var(--cream)}
.pgp-also__head{margin-bottom:22px}
.pgp-also__head h2{
  font-size:1.35rem;font-weight:900;letter-spacing:-.03em;
  margin:0 0 4px;color:var(--ink);
}
.pgp-also__head p{font-size:.9rem;color:var(--muted);margin:0}
.pgp-also__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pgp-also__card{
  display:flex;flex-direction:column;gap:6px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:18px;text-decoration:none;color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease;
}
.pgp-also__card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(13,13,13,.08)}
.pgp-also__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pgp-also__type{
  font-family:var(--mono);font-size:.62rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:3px 10px;border-radius:99px;
}
.pgp-also__price{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.pgp-also__card h4{
  font-size:1rem;font-weight:900;letter-spacing:-.02em;
  margin:4px 0 0;color:var(--ink);
}
.pgp-also__card p{font-size:.82rem;color:var(--muted);line-height:1.55;margin:0}

/* ─── Contatto ─────────────────────────────────────────── */
.pgp-contact{padding:56px 0}

/* ─── Banda finale ─────────────────────────────────────── */
.pgp-band{background:var(--ink);color:#fff}
.pgp-band__inner{
  max-width:1080px;margin:0 auto;padding:44px 20px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.pgp-band__stripes{display:flex;gap:5px;margin-bottom:10px}
.pgp-band__stripes span{display:block;height:5px;border-radius:3px}
.pgp-band__stripes span:nth-child(1){width:34px;background:var(--g1)}
.pgp-band__stripes span:nth-child(2){width:20px;background:var(--g2)}
.pgp-band__stripes span:nth-child(3){width:44px;background:var(--g3)}
.pgp-band__stripes span:nth-child(4){width:16px;background:var(--g4)}
.pgp-band h2{
  font-size:1.4rem;font-weight:900;letter-spacing:-.03em;
  margin:0;color:#fff;
}
.pgp-band p{font-size:.85rem;color:#b9bfc4;margin:6px 0 0}
.pgp-band__cta{
  font-family:var(--mono);font-size:.95rem;font-weight:700;
  color:var(--ink);background:var(--pgp-c,#fff);
  padding:13px 24px;border-radius:99px;
  text-decoration:none;white-space:nowrap;
  transition:transform .15s ease;
}
.pgp-band__cta:hover{transform:translateY(-2px)}

/* ─── Responsive ───────────────────────────────────────── */
@media(max-width:900px){
  .pgp-hero{padding:56px 0 44px}
  .pgp-hero__grid{grid-template-columns:1fr;gap:24px;text-align:center}
  .pgp-hero__copy{text-align:center}
  .pgp-hero__promise{margin-left:auto;margin-right:auto}
  .pgp-hero__meta{justify-content:center}
  .pgp-labels{justify-content:center}
  .pgp-hero__thumb{order:-1;max-width:200px;margin:0 auto}
  .pgp-hero__thumb img{max-width:180px}
  .pgp-inout__grid{grid-template-columns:1fr;gap:24px}
  .pgp-also__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .pgp-hero{padding:48px 0 36px}
  .pgp-hero__title{font-size:2rem}
  .pgp-desc{padding:44px 0 16px}
  .pgp-also__grid{grid-template-columns:1fr}
  .pgp-band__inner{flex-direction:column;text-align:center;padding:36px 20px}
}
@media(prefers-reduced-motion:reduce){.pgp *{transition:none!important}}
