/* Patch M2.4 — data-driven NSH heater product page shell */
.heater-pdp{min-height:100vh;background:#fff;color:#292826}
.heater-pdp__top{padding-top:24px;padding-bottom:76px}
.heater-pdp__top>.breadcrumb{margin-bottom:26px}
.heater-pdp__hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.78fr);gap:clamp(44px,6vw,96px);align-items:start}
.heater-gallery{min-width:0}
.heater-gallery__main{position:relative;display:grid;place-items:center;min-height:660px;overflow:hidden;border:1px solid rgba(41,40,38,.08);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#f5f2ee 58%,#ebe7e1 100%);box-shadow:0 20px 54px rgba(41,40,38,.07)}
.heater-gallery__main img{width:100%;height:100%;max-height:760px;padding:36px;object-fit:contain;mix-blend-mode:multiply}
.heater-gallery__main>span:not(.heater-gallery__badge){font-size:92px;font-weight:700;color:rgba(41,40,38,.14)}
.heater-gallery__badge{position:absolute;left:18px;bottom:18px;padding:7px 10px;border:1px solid rgba(41,40,38,.09);border-radius:999px;background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#76716b;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.heater-gallery__thumbs{display:flex;gap:9px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
.heater-gallery__thumbs::-webkit-scrollbar{display:none}
.heater-gallery__thumb{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;padding:4px;border:1px solid #e5e2dd;border-radius:12px;background:#faf9f7;cursor:pointer;transition:border-color 160ms ease,box-shadow 160ms ease}
.heater-gallery__thumb:hover,.heater-gallery__thumb.is-active{border-color:#292826;box-shadow:0 0 0 1px #292826 inset}
.heater-gallery__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.heater-gallery__more{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border:1px solid #e5e2dd;border-radius:12px;color:#6e6963;font-size:12px;font-weight:700}
.heater-buybox{position:sticky;top:112px;padding:10px 0 0}
.heater-buybox h1{max-width:660px;margin:10px 0 12px;font-size:clamp(28px,2.15vw,34px);line-height:1.08;letter-spacing:-.032em}
.heater-buybox__intro{max-width:590px;margin-top:22px;color:#6f6b65;font-size:16px;line-height:1.62}
.heater-buybox__price{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:28px 0 24px;padding:18px 0;border-block:1px solid #ece9e4}
.heater-buybox__price span{color:#77726c;font-size:12px;font-weight:650}
.heater-buybox__price strong{font-size:26px;letter-spacing:-.025em}
.heater-variants{margin:0;padding:0;border:0}
.heater-variants legend{margin-bottom:10px;font-size:12px;font-weight:750}
.heater-variants__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.heater-variant{display:grid;gap:4px;min-height:62px;padding:11px 13px;border:1px solid #dedbd6;border-radius:12px;background:#fff;color:#292826;text-align:left;font:inherit;cursor:pointer;transition:border-color 160ms ease,background 160ms ease,box-shadow 160ms ease}
.heater-variant:hover,.heater-variant.is-active{border-color:#292826;background:#f7f5f2;box-shadow:0 0 0 1px #292826 inset}
.heater-variant span{font-size:12px;font-weight:700;line-height:1.25}
.heater-variant small{color:#77726c;font-size:10px}
.heater-buybox__identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.heater-buybox__identity>span{display:grid;gap:5px;min-width:0;padding:12px;border-radius:11px;background:#f6f4f1}
.heater-buybox__identity small{color:#7c7770;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.heater-buybox__identity strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.heater-buybox__actions{display:grid;grid-template-columns:1.1fr .9fr;gap:9px;margin-top:18px}
.heater-buybox__actions .button{width:100%}
.heater-buybox__preview-note{margin-top:12px;color:#8a857e;font-size:10px;line-height:1.45}
.heater-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:34px}
.heater-proof-card{display:grid;align-content:start;min-height:146px;padding:20px;border:1px solid #e7e3dd;border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,243,239,.74));box-shadow:0 10px 26px rgba(41,40,38,.035)}
.heater-proof-card>span{color:#77726c;font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.heater-proof-card strong{margin:16px 0 7px;font-size:clamp(22px,2.4vw,34px);line-height:1;letter-spacing:-.04em}
.heater-proof-card small{color:#77726c;font-size:11px;line-height:1.35}
.heater-pdp__story{border-top:1px solid #ebe8e3;background:linear-gradient(180deg,#f8f6f3 0%,#fff 22%,#fff 100%)}
.heater-story-section{padding:108px 0;border-bottom:1px solid #ece9e4}
.heater-section-heading{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(300px,.9fr) minmax(300px,.78fr);gap:34px;align-items:start;margin-bottom:54px}
.heater-section-heading>span{padding-top:8px;color:#8c867e;font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.heater-section-heading h2{font-size:clamp(38px,4.5vw,64px);line-height:.98;letter-spacing:-.052em}
.heater-section-heading p{padding-top:5px;color:#6f6b65;font-size:16px;line-height:1.65}
.heater-coverage__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:24px}
.heater-coverage__visual{position:relative;min-height:590px;overflow:hidden;border:1px solid #e5e0d9;border-radius:26px;background:linear-gradient(145deg,#ece9e4,#faf8f5 65%,#fff)}
.heater-coverage__source{position:absolute;z-index:7;top:46px;left:50%;display:grid;place-items:center;gap:7px;transform:translateX(-50%);color:#615d57;font-size:10px;font-weight:700;text-transform:uppercase}
.heater-coverage__source i{display:block;width:86px;height:18px;border-radius:7px;background:#292826;box-shadow:0 9px 20px rgba(41,40,38,.2)}
.heater-coverage__field{position:absolute;left:50%;border-radius:50%;transform:translateX(-50%);filter:blur(.2px)}
.heater-coverage__field--outer{top:76px;width:82%;height:480px;background:radial-gradient(ellipse at 50% 8%,rgba(241,145,58,.13),rgba(244,177,87,.09) 40%,rgba(250,215,166,.04) 70%,transparent 72%)}
.heater-coverage__field--middle{top:86px;width:62%;height:390px;background:radial-gradient(ellipse at 50% 8%,rgba(238,123,39,.23),rgba(244,164,70,.13) 48%,transparent 72%)}
.heater-coverage__field--inner{top:90px;width:38%;height:300px;background:radial-gradient(ellipse at 50% 8%,rgba(224,90,26,.30),rgba(243,145,47,.15) 54%,transparent 73%)}
.heater-person{position:absolute;z-index:6;width:23px;height:23px;border:7px solid #fff;border-radius:50%;background:#494640;box-shadow:0 8px 18px rgba(41,40,38,.18)}
.heater-person:after{content:"";position:absolute;top:18px;left:50%;width:12px;height:20px;border-radius:8px;background:#494640;transform:translateX(-50%)}
.heater-person--one{top:235px;left:38%}.heater-person--two{top:235px;right:38%}.heater-person--three{top:385px;left:28%}.heater-person--four{top:385px;right:28%}
.heater-coverage__legend{position:absolute;z-index:8;left:22px;bottom:20px;display:flex;gap:18px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#77726c;font-size:9px}
.heater-coverage__legend span{display:flex;align-items:center;gap:6px}.heater-coverage__legend i{width:8px;height:8px;border-radius:50%}.heater-coverage__legend .is-strong{background:#df6825}.heater-coverage__legend .is-comfort{background:#eea35d}.heater-coverage__legend .is-edge{background:#f3d4b6}
.heater-coverage__summary{display:flex;flex-direction:column;padding:38px;border:1px solid #e5e0d9;border-radius:26px;background:#fff}
.heater-result-label{color:#7c7770;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.heater-coverage__summary>strong{margin:18px 0 34px;font-size:clamp(48px,6vw,84px);line-height:.9;letter-spacing:-.065em}
.heater-placement-card{margin-top:auto;padding:24px;border-radius:18px;background:#292826;color:#fff}
.heater-placement-card>span{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;opacity:.64}.heater-placement-card h3{margin:12px 0 9px;font-size:25px}.heater-placement-card p{color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}
.heater-coverage__note{margin-top:20px;color:#827d76;font-size:10px;line-height:1.5}
.heater-intensity__panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:center;padding:44px;border:1px solid #e6e2dc;border-radius:24px;background:#fff}
.heater-intensity__panel>div:first-child{display:grid;gap:8px}.heater-intensity__panel span{color:#7d7871;font-size:11px}.heater-intensity__panel strong{font-size:clamp(34px,4vw,56px);letter-spacing:-.05em}.heater-intensity__panel small{color:#6f6b65;font-size:12px}
.heater-intensity__scale{display:grid;grid-template-columns:auto repeat(4,1fr) auto;gap:7px;align-items:center}.heater-intensity__scale i{height:64px;border-radius:10px;background:linear-gradient(180deg,#f5d6b9,#f1b77f)}.heater-intensity__scale i:nth-of-type(2){background:linear-gradient(180deg,#f3c697,#ec9850)}.heater-intensity__scale i:nth-of-type(3){background:linear-gradient(180deg,#eeaa66,#e5762e)}.heater-intensity__scale i:nth-of-type(4){background:linear-gradient(180deg,#e98b3f,#d95620)}
.heater-energy__calculator{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:12px}
.heater-energy__calculator>*{min-height:170px;padding:26px;border:1px solid #e5e1db;border-radius:20px;background:#fff}
.heater-energy__result{display:grid;align-content:center}.heater-energy__result span,.heater-energy__calculator label>span{color:#7c7770;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.heater-energy__result strong{margin:10px 0 6px;font-size:48px;letter-spacing:-.055em}.heater-energy__result small{color:#7c7770;font-size:11px}
.heater-energy__calculator label{display:grid;align-content:center;gap:14px}.heater-energy__calculator label>div{display:flex;align-items:baseline;gap:8px}.heater-energy__calculator input{min-width:0;width:100%;padding:0;border:0;background:transparent;color:#292826;font:inherit;font-size:36px;font-weight:700;letter-spacing:-.04em;outline:0}.heater-energy__calculator b{color:#7c7770;font-size:11px;white-space:nowrap}
.heater-spec-groups{display:grid;gap:10px}
.heater-spec-group{overflow:hidden;border:1px solid #e4e0da;border-radius:18px;background:#fff}
.heater-spec-group summary{display:grid;grid-template-columns:44px 1fr 24px;gap:18px;align-items:start;padding:25px;list-style:none;cursor:pointer}.heater-spec-group summary::-webkit-details-marker{display:none}.heater-spec-group summary>span{color:#a19b93;font-size:11px;font-weight:700}.heater-spec-group summary>div{display:grid;gap:6px}.heater-spec-group summary strong{font-size:20px}.heater-spec-group summary small{max-width:650px;color:#77726c;font-size:12px;line-height:1.45}.heater-spec-group summary>b{font-size:22px;font-weight:400;transition:transform 160ms ease}.heater-spec-group[open] summary>b{transform:rotate(45deg)}
.heater-spec-group dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 25px 25px;overflow:hidden;border:1px solid #ebe8e3;border-radius:13px;background:#ebe8e3}.heater-spec-group dl>div{min-height:92px;padding:17px;background:#faf9f7}.heater-spec-group dt{color:#817c75;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.heater-spec-group dd{margin-top:9px;font-size:13px;font-weight:650;line-height:1.35}
.heater-final-cta{display:grid;justify-items:center;text-align:center}.heater-final-cta>span{color:#847f78;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.heater-final-cta h2{max-width:900px;margin:20px 0 32px;font-size:clamp(42px,5.5vw,76px);line-height:.96;letter-spacing:-.058em}.heater-final-cta>div{display:flex;gap:10px}
@media(max-width:1080px){.heater-pdp__hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:38px}.heater-gallery__main{min-height:560px}.heater-proof-grid{grid-template-columns:repeat(2,1fr)}.heater-section-heading{grid-template-columns:120px 1fr}.heater-section-heading p{grid-column:2}.heater-coverage__layout{grid-template-columns:1fr}.heater-coverage__summary{min-height:430px}.heater-spec-group dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.heater-pdp__top{padding-top:14px;padding-bottom:50px}.heater-pdp__hero{grid-template-columns:1fr}.heater-gallery__main{min-height:420px;border-radius:18px}.heater-gallery__main img{padding:20px}.heater-buybox{position:static}.heater-buybox h1{font-size:28px}.heater-buybox__identity{grid-template-columns:1fr}.heater-proof-grid{grid-template-columns:1fr 1fr}.heater-proof-card{min-height:124px;padding:16px}.heater-proof-card strong{font-size:24px}.heater-story-section{padding:72px 0}.heater-section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:34px}.heater-section-heading p{grid-column:auto}.heater-coverage__visual{min-height:470px}.heater-person--one{left:33%}.heater-person--two{right:33%}.heater-person--three{left:23%}.heater-person--four{right:23%}.heater-coverage__summary{min-height:400px;padding:26px}.heater-intensity__panel{grid-template-columns:1fr;padding:26px}.heater-energy__calculator{grid-template-columns:1fr}.heater-energy__calculator>*{min-height:140px}.heater-spec-group summary{grid-template-columns:30px 1fr 20px;padding:20px;gap:12px}.heater-spec-group dl{grid-template-columns:1fr;margin:0 16px 16px}.heater-final-cta>div,.heater-buybox__actions{grid-template-columns:1fr;display:grid;width:100%}}
@media(max-width:440px){.heater-proof-grid{grid-template-columns:1fr}.heater-variants__grid{grid-template-columns:1fr}.heater-coverage__legend{right:12px;left:12px;justify-content:center;gap:10px}.heater-coverage__visual{min-height:430px}.heater-person--three,.heater-person--four{top:340px}.heater-gallery__thumb{width:62px;height:62px;flex-basis:62px}}
