/* ===== SNZ PDP FINAL - layout mockup v3 ===== */
:root{
  --snz-green:#2f7a3d;
  --snz-green-dark:#215a2c;
  --snz-line:#e6e6e6;
  --snz-soft:#f6f8f5;
}

/* pagina a larghezza piena */
.sfpdp-page{max-width:1440px!important;margin:0 auto!important;padding:0 20px!important;width:100%!important}
.product-info-main,.column.main,.page-main{max-width:none!important;width:auto!important}

/* ---- riga alta: gallery grande + colonna informazioni ---- */
@media (min-width:1024px){
  .sfpdp-top{
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;
    gap:40px!important;
    align-items:start!important;
  }
  .sfpdp-media{min-width:0!important;position:sticky;top:110px}
}
.sfpdp-media img{width:100%!important;height:auto!important;object-fit:contain!important;image-rendering:auto}
.sfpdp-media #gallery-main{border:1px solid var(--snz-line);border-radius:14px;background:#fff;overflow:hidden}
.sfpdp-summary{min-width:0!important}

/* ---- colonna informazioni: testo a sinistra, buy box a destra ---- */
@media (min-width:1240px){
  .sfpdp-info{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:24px!important;
    align-items:start!important;
  }
  .sfpdp-info > .sfpdp-category-badge,
  .sfpdp-info > .sfpdp-title,
  .sfpdp-info > .sfpdp-sku,
  .sfpdp-info > .sfpdp-rating,
  .sfpdp-info > .sfpdp-benefits{grid-column:1}
  .sfpdp-info > .sfpdp-price-stock,
  .sfpdp-info > .sfpdp-tier-prices,
  .sfpdp-info > .sfpdp-form,
  .sfpdp-info > .sfpdp-buy-row{
    grid-column:2;
    background:#fff;
    border:1px solid var(--snz-line);
    border-left-width:1px;
    padding:14px 16px;
    margin:0!important;
  }
  .sfpdp-info > .sfpdp-price-stock{border-radius:14px 14px 0 0;border-bottom:0;padding-top:18px}
  .sfpdp-info > .sfpdp-tier-prices,
  .sfpdp-info > .sfpdp-form{border-top:0;border-bottom:0}
  .sfpdp-info > .sfpdp-buy-row{border-radius:0 0 14px 14px;border-top:0;padding-bottom:18px}
}

/* titolo e testi */
.sfpdp-title{font-size:28px!important;line-height:1.25!important;font-weight:700!important;margin:6px 0 8px!important}
.sfpdp-sku{font-size:12px;color:#7b7b7b}
.sfpdp-category-badge{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--snz-green);font-weight:700}
.sfpdp-benefits{background:var(--snz-soft);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6}
.sfpdp-benefits ul{margin:0;padding-left:18px}

/* prezzo centrato, sconto evidente */
.sfpdp-price-stock{text-align:center!important}
.sfpdp-price .price,.sfpdp-price .special-price .price{font-size:30px!important;font-weight:800!important;color:var(--snz-green)!important;line-height:1.1}
.sfpdp-price .old-price .price,.sfpdp-price del,.sfpdp-price s{font-size:16px!important;color:#111!important;text-decoration:line-through!important;font-weight:500!important}
.sfpdp-stock{font-size:13px;color:var(--snz-green);font-weight:600;margin-top:4px}

/* multi-confezione: intatto, solo rifinitura */
.nwc-tier-selector__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.nwc-tier-choice{border:1px solid var(--snz-line);border-radius:10px;padding:8px 6px;text-align:center;font-size:12px;line-height:1.3;background:#fff}
.nwc-tier-choice.is-selected,.nwc-tier-choice[aria-checked="true"]{border-color:var(--snz-green);box-shadow:inset 0 0 0 1px var(--snz-green);background:var(--snz-soft)}

/* riga acquisto */
.sfpdp-buy-row{display:flex!important;flex-wrap:wrap;gap:10px;align-items:center}
.sfpdp-buy-row .field.qty,.sfpdp-buy-row input[type="number"]{max-width:78px}
#product-addtocart-button{flex:1 1 160px;background:var(--snz-green)!important;border-color:var(--snz-green)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important;padding:13px 18px!important}
#product-addtocart-button:hover{background:var(--snz-green-dark)!important}

/* rail promozionale (blocchi CMS) */
.snz-rail{display:grid;gap:12px;margin-top:18px}
.snz-rail > *{border:1px solid var(--snz-line);border-radius:12px;overflow:hidden;background:#fff}
.snz-rail img{display:block;width:100%;height:auto}
@media (min-width:768px) and (max-width:1239px){.snz-rail{grid-template-columns:1fr 1fr}}
@media (min-width:1240px){.snz-rail{grid-template-columns:1fr 1fr 1fr}}

/* servizi / tab / correlati */
.sfpdp-services{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:34px 0!important;background:var(--snz-soft);border-radius:14px;padding:16px}
.sfpdp-services > *{text-align:center;font-size:13px;line-height:1.4}
.sfpdp-tabs{margin:34px 0!important;border:1px solid var(--snz-line);border-radius:14px;background:#fff;padding:0 18px 18px}
.sfpdp-tabs-nav{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--snz-line);padding:12px 0}
.sfpdp-tabs-nav button,.sfpdp-tabs-nav a{border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}
.sfpdp-tabs-nav [aria-selected="true"],.sfpdp-tabs-nav .active{background:var(--snz-green);color:#fff}
.sfpdp-related{margin:34px 0 50px!important}

/* ---------------- MOBILE ---------------- */
@media (max-width:1023px){
  .sfpdp-page{padding:0 12px!important}
  .sfpdp-top{display:block!important}
  .sfpdp-media{margin-bottom:16px}
  .sfpdp-title{font-size:22px!important}
  .sfpdp-info{display:block!important}
  .sfpdp-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sfpdp-buy-row{position:sticky;bottom:0;z-index:30;background:#fff;padding:10px 0;border-top:1px solid var(--snz-line)}
}
