
/* V3 — non-fire product pages deliberately reuse the approved original Made-to-Measure layout */
.non-fire-product-page{background:#f7f5f2}
.nfp-product-visual .mtm-image-frame{padding:10px}
.nfp-image-frame img{aspect-ratio:4/5!important;object-fit:cover!important}
.nfp-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.nfp-thumb{height:86px;padding:0;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#e8e4de;cursor:pointer}
.nfp-thumb.active{border-color:#b91c1c}
.nfp-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.nfp-price-block strong{color:#171717}
.nfp-sales-icons{margin-top:0!important}
.nfp-original-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.nfp-original-summary>div{border:1px solid #e0dad3;background:#f8f6f3;border-radius:11px;padding:11px 12px;display:grid;gap:3px}
.nfp-original-summary span{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:#817a73;font-weight:850}
.nfp-original-summary strong{font-size:.8rem}
.nfp-quantity-line{grid-template-columns:90px 90px 1fr!important}
.nfp-buy-group .mtm-submit{margin-top:16px}
.nfp-order-summary dd{max-width:72%;justify-self:end}
.nfp-view-basket{display:block;text-align:center;margin-top:11px;color:#b91c1c;font-size:.78rem;font-weight:850;text-decoration:none}
.nfp-view-basket[hidden]{display:none!important}
.nfp-view-basket:hover{text-decoration:underline}
.nfp-error{min-height:18px;color:#a61d21;font-size:.74rem;margin:8px 0 0;text-align:center}
.nfp-toast{position:fixed;z-index:120;left:50%;bottom:30px;transform:translate(-50%,20px);background:#171717;color:#fff;padding:11px 16px;border-radius:999px;font-size:.82rem;font-weight:800;opacity:0;pointer-events:none;transition:.2s}
.nfp-toast.show{opacity:1;transform:translate(-50%,0)}
.nfp-lower-benefits article>span{font-weight:900}
@media(max-width:920px){.nfp-product-visual{max-width:620px;margin-left:auto;margin-right:auto}.nfp-image-frame img{aspect-ratio:4/5!important}}
@media(max-width:650px){
  .nfp-thumbs{gap:8px}.nfp-thumb{height:68px}
  .nfp-original-summary{grid-template-columns:1fr}
  .nfp-quantity-line{grid-template-columns:74px 78px 1fr!important}
  .nfp-order-summary dd{max-width:62%}
}


/* V7 commerce assurance strip + technical information tabs */
.nfp-commerce-strip{background:#132238;color:#fff;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08)}
.nfp-commerce-strip-grid{display:grid;grid-template-columns:repeat(5,1fr);min-height:66px}
.nfp-commerce-point{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px 17px;border-right:1px solid rgba(255,255,255,.16)}
.nfp-commerce-point:last-child{border-right:0}.nfp-commerce-icon{width:30px;height:30px;display:grid;place-items:center;color:#e33139;font-size:1.05rem;font-weight:950}
.nfp-commerce-point strong,.nfp-commerce-point small{display:block}.nfp-commerce-point strong{font-size:.76rem;line-height:1.2}.nfp-commerce-point small{margin-top:3px;color:#b8c0cb;font-size:.61rem;line-height:1.3}
.nfp-product-info{background:#fff;padding:0 0 66px}.nfp-product-info .container{max-width:1240px}.nfp-info-tabs{display:flex;gap:30px;border-bottom:1px solid #e5e1dd;overflow-x:auto;scrollbar-width:none}.nfp-info-tabs::-webkit-scrollbar{display:none}
.nfp-info-tab{appearance:none;border:0;background:transparent;padding:23px 2px 16px;color:#8d939d;font:inherit;font-size:.92rem;font-weight:900;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.nfp-info-tab.active{color:#b91c1c;border-bottom-color:#b91c1c}.nfp-info-panel{padding:30px 0 0}.nfp-info-panel[hidden]{display:none!important}.nfp-info-panel.active{display:block}
.nfp-spec-table{width:100%;border-collapse:collapse;font-size:.84rem}.nfp-spec-table tr{border-bottom:1px solid #e6e2de}.nfp-spec-table th,.nfp-spec-table td{padding:13px 10px;text-align:left;vertical-align:top}.nfp-spec-table th{width:225px;color:#1b1b1b;font-weight:900}.nfp-spec-table td{color:#555f6b;line-height:1.55}
.nfp-description-copy{max-width:920px;color:#555f6b;font-size:.92rem;line-height:1.8}.nfp-description-copy p{margin:0 0 16px}.nfp-description-copy strong{color:#171717}.nfp-description-copy .tech-note{border-left:3px solid #b91c1c;padding:10px 14px;background:#faf6f5;color:#615b56}
.nfp-delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.nfp-delivery-card{border:1px solid #e2ddd8;border-radius:13px;padding:20px;background:#faf9f7}.nfp-delivery-card span{display:block;color:#b91c1c;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}.nfp-delivery-card strong{display:block;font-size:1rem;margin-top:5px}.nfp-delivery-card p{margin:7px 0 0;color:#66605a;font-size:.78rem;line-height:1.6}
.nfp-delivery-note{margin-top:18px;color:#69635e;font-size:.8rem;line-height:1.7;max-width:900px}
.nfp-faq-list{display:grid;gap:0;max-width:1000px}.nfp-faq-list details{border-bottom:1px solid #e5e1dd;padding:0}.nfp-faq-list summary{list-style:none;cursor:pointer;padding:17px 36px 17px 0;font-size:.88rem;font-weight:900;position:relative}.nfp-faq-list summary::-webkit-details-marker{display:none}.nfp-faq-list summary:after{content:'+';position:absolute;right:4px;top:15px;color:#b91c1c;font-size:1.2rem}.nfp-faq-list details[open] summary:after{content:'−'}.nfp-faq-list p{margin:-3px 0 18px;color:#64605b;font-size:.8rem;line-height:1.7;max-width:900px}
.nfp-tech-source{margin-top:22px;padding:13px 15px;border-radius:10px;background:#f5f2ee;color:#77716b;font-size:.67rem;line-height:1.55}
@media(max-width:1000px){.nfp-commerce-strip-grid{grid-template-columns:repeat(3,1fr)}.nfp-commerce-point:nth-child(3){border-right:0}.nfp-commerce-point:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.13)}.nfp-delivery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.nfp-commerce-strip-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.nfp-commerce-point{min-width:210px;scroll-snap-align:start;border-bottom:0!important}.nfp-info-tabs{gap:22px}.nfp-info-tab{padding-top:19px;font-size:.82rem}.nfp-product-info{padding-bottom:45px}.nfp-info-panel{padding-top:20px}.nfp-spec-table,.nfp-spec-table tbody,.nfp-spec-table tr,.nfp-spec-table th,.nfp-spec-table td{display:block}.nfp-spec-table tr{padding:11px 0}.nfp-spec-table th,.nfp-spec-table td{width:auto;padding:2px 0}.nfp-spec-table th{font-size:.72rem}.nfp-spec-table td{font-size:.78rem}.nfp-delivery-grid{grid-template-columns:1fr}}


/* V8 compact sitewide strip override */
.nfp-commerce-strip{padding:0!important}
.nfp-commerce-strip-grid{min-height:46px!important}
.nfp-commerce-point{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:7px 12px!important;white-space:nowrap}
.nfp-commerce-icon{width:20px!important;height:20px!important;min-width:20px!important;font-size:.88rem!important}
.nfp-commerce-point strong{font-size:.72rem!important;line-height:1.15!important}
.nfp-commerce-point small{display:none!important}
@media(max-width:1000px){.nfp-commerce-strip-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.nfp-commerce-point:nth-child(3){border-right:1px solid rgba(255,255,255,.16)!important}.nfp-commerce-point:nth-child(-n+3){border-bottom:0!important}}
@media(max-width:920px){.nfp-commerce-strip-grid{display:flex!important;overflow-x:auto!important;min-height:46px!important;scrollbar-width:none}.nfp-commerce-strip-grid::-webkit-scrollbar{display:none}.nfp-commerce-point{min-width:174px!important;flex:0 0 auto!important;border-bottom:0!important}}
@media(max-width:600px){.nfp-commerce-strip-grid{min-height:43px!important}.nfp-commerce-point{min-width:158px!important;padding:6px 10px!important}.nfp-commerce-point strong{font-size:.68rem!important}.nfp-commerce-icon{width:18px!important;height:18px!important;min-width:18px!important;font-size:.8rem!important}}


/* V10 retail details + measurement */
.nfp-retail-badges{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 8px}.nfp-retail-badges span{border:1px solid #ddd6cf;background:#fff;border-radius:999px;padding:5px 8px;color:#5e5751;font-size:.62rem;font-weight:900}.nfp-retail-badges span.is-red{background:#b91c1c;border-color:#b91c1c;color:#fff}.nfp-retail-assurance{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 13px}.nfp-retail-assurance>div{display:flex;gap:8px;align-items:flex-start;border:1px solid #e3ddd6;border-radius:10px;background:#fff;padding:9px}.nfp-mini-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f7eeee;color:#b91c1c;font-size:.72rem;font-weight:950;flex:0 0 22px}.nfp-retail-assurance p{margin:0}.nfp-retail-assurance strong,.nfp-retail-assurance small{display:block}.nfp-retail-assurance strong{font-size:.69rem}.nfp-retail-assurance small{font-size:.58rem;color:#776f68;line-height:1.35;margin-top:2px}.nfp-measure-helper{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;background:#f7f3ee;border:1px solid #e4ddd5;border-radius:10px;padding:9px 10px;margin-top:10px}.nfp-measure-helper-icon{width:28px;height:28px;display:grid;place-items:center;background:#fff;border-radius:50%;color:#b91c1c;font-weight:950}.nfp-measure-helper strong,.nfp-measure-helper small{display:block}.nfp-measure-helper strong{font-size:.7rem}.nfp-measure-helper small{font-size:.58rem;color:#70685f;line-height:1.35}.nfp-measure-helper a{color:#b91c1c;font-size:.65rem;font-weight:950;white-space:nowrap}.nfp-purchase-microcopy{display:flex;justify-content:center;gap:6px 12px;flex-wrap:wrap;margin-top:11px;color:#6f6861;font-size:.58rem}.nfp-purchase-microcopy a{color:#b91c1c;font-weight:900}.nfp-measure-section{background:#f2efeb;padding:40px 0 44px;border-top:1px solid #e5dfd9;border-bottom:1px solid #e5dfd9}.nfp-measure-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.nfp-measure-head h2{font-size:1.65rem;margin:.12em 0 .2em}.nfp-measure-head p{margin:0;max-width:780px;color:#68615b;font-size:.8rem}.nfp-measure-phone{background:#fff;border:1px solid #ded7d0;border-radius:12px;padding:9px 12px;font-size:.66rem;white-space:nowrap}.nfp-measure-phone strong{color:#b91c1c}.nfp-measure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.nfp-measure-grid article{position:relative;background:#fff;border:1px solid #e0dad3;border-radius:12px;padding:15px}.nfp-measure-grid article>span{color:#b91c1c;font-size:.58rem;font-weight:950;letter-spacing:.08em}.nfp-measure-symbol{font-size:1.2rem;font-weight:950;color:#171717;margin:7px 0 5px}.nfp-measure-grid h3{font-size:.82rem;margin:0 0 4px}.nfp-measure-grid p{font-size:.67rem;line-height:1.5;color:#706961;margin:0}.nfp-measure-warning{margin-top:12px;border-left:3px solid #b91c1c;background:#fff;padding:10px 12px;font-size:.69rem;color:#625b54}.nfp-measure-warning strong{color:#171717}@media(max-width:800px){.nfp-retail-assurance{grid-template-columns:1fr}.nfp-measure-head{align-items:flex-start;flex-direction:column}.nfp-measure-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.nfp-retail-badges{margin-top:4px}.nfp-retail-assurance>div{padding:8px}.nfp-measure-helper{grid-template-columns:28px 1fr}.nfp-measure-helper a{grid-column:2}.nfp-measure-section{padding:30px 0 34px}.nfp-measure-grid{grid-template-columns:1fr 1fr;gap:7px}.nfp-measure-grid article{padding:12px}.nfp-measure-phone{width:100%;text-align:center}}


/* V15 — secondary retail badges in Hassock navy */
.nfp-retail-badges span:not(.is-red){background:#132238;border-color:#132238;color:#fff}

/* V26: keep the global service strip as a marquee on mobile product pages */
@media (max-width:920px){
  .nfp-commerce-strip.sitewide-commerce-strip{overflow:hidden!important}
  .nfp-commerce-strip.sitewide-commerce-strip .nfp-commerce-strip-grid.is-mobile-marquee{
    display:flex!important;width:max-content!important;max-width:none!important;margin:0!important;
    overflow:visible!important;scroll-snap-type:none!important;animation:hwServiceMarquee 24s linear infinite!important;will-change:transform
  }
  .nfp-commerce-strip.sitewide-commerce-strip .nfp-commerce-strip-grid.is-mobile-marquee .nfp-commerce-point{
    flex:0 0 174px!important;min-width:174px!important;max-width:174px!important;scroll-snap-align:none!important
  }
}
@media (max-width:600px){
  .nfp-commerce-strip.sitewide-commerce-strip .nfp-commerce-strip-grid.is-mobile-marquee .nfp-commerce-point{
    flex-basis:158px!important;min-width:158px!important;max-width:158px!important
  }
}
@media (prefers-reduced-motion:reduce){
  .nfp-commerce-strip.sitewide-commerce-strip .nfp-commerce-strip-grid.is-mobile-marquee{animation:none!important;overflow-x:auto!important;width:100%!important}
}

/* V31 — show complete 2:3 product artwork in gallery (no top/bottom crop) */
.nfp-product-visual .nfp-image-frame{overflow:visible!important}
.nfp-product-visual .nfp-image-frame img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f7f5f2;
}
.nfp-thumbs{align-items:stretch}
.nfp-thumb{
  height:auto!important;
  aspect-ratio:2/1!important;
  background:#f7f5f2!important;
}
.nfp-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f7f5f2;
}
@media(max-width:920px){
  .nfp-product-visual .nfp-image-frame img{aspect-ratio:2/3!important;object-fit:contain!important}
}

/* RRP sale presentation */
.nfp-price-block.has-sale-rrp{grid-template-columns:auto 1fr;align-items:center}.nfp-price-block .sale-rrp-row{grid-column:1/3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.nfp-price-block .sale-rrp-label{font-size:.72rem;font-weight:900;letter-spacing:.06em;color:#7a746e}.nfp-price-block .sale-rrp-value{font-size:.82rem;font-weight:900;color:#b91c1c;text-decoration-thickness:2px;text-decoration-color:#b91c1c}.nfp-price-block .sale-rrp-badge{display:inline-flex!important;grid-column:auto!important;margin:0!important;background:#c91e22;color:#fff!important;border-radius:999px;padding:5px 9px;font-size:.66rem!important;font-weight:950;letter-spacing:.02em}.nfp-price-block.has-sale-rrp>small{grid-column:1}.nfp-price-block.has-sale-rrp>#productPrice{grid-column:2}
