/* V47 — form-aware product showroom and procurement certainty layer. */
.v28-pdp-root .v34-gallery-upgraded {
  min-height: 548px;
  background:
    radial-gradient(circle at 52% 34%, rgba(255,255,255,.98) 0 17%, rgba(255,244,236,.86) 44%, rgba(229,209,193,.62) 100%),
    linear-gradient(145deg,#fffaf6,#efe2d8);
  box-shadow: 0 26px 70px rgba(70,49,38,.1);
}

.v28-pdp-root .v34-pdp-media-switcher { background: transparent; }
.v28-pdp-root .v34-pdp-media-panel { padding: clamp(20px,3vw,42px); }
.v28-pdp-root .v34-pdp-media-panel[data-v34-media-panel="product"] > .v41-product-zoom {
  display: grid; place-items: center; inline-size: 100%; block-size: 100%; min-block-size: 0;
}
.v28-pdp-root .v34-pdp-media-panel img.is-product {
  max-inline-size: 94%; max-block-size: 430px; mix-blend-mode: multiply;
  filter: drop-shadow(0 32px 24px rgba(67,45,35,.18));
}

.v47-engineering-dossier {
  place-content: center start!important; justify-items: start; max-inline-size: 560px; margin: auto;
  padding: clamp(26px,5vw,54px)!important; border-style: solid!important; text-align: start!important;
  background:
    linear-gradient(rgba(57,45,43,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,45,43,.055) 1px,transparent 1px),
    rgba(255,252,247,.84)!important;
  background-size: 30px 30px,30px 30px,auto!important;
}
.v47-dossier-icon { display:grid; place-items:center; inline-size:72px; block-size:72px; margin-block-end:12px; border:1px solid #d9c4b6; border-radius:20px; background:#fff7f0; color:#9b4e40; }
.v47-dossier-icon svg { inline-size:36px; block-size:36px; }
.v47-engineering-dossier .v47-dossier-kicker { color:#9b4e40; font-size:10px; font-weight:800; letter-spacing:.13em; }
.v47-engineering-dossier strong { font-size:clamp(30px,4vw,48px)!important; line-height:1; }
.v47-engineering-dossier p { max-inline-size:460px; margin:4px 0 8px; color:#6f625a; font-size:13px; line-height:1.65; }
.v47-engineering-dossier dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; inline-size:100%; margin:8px 0; }
.v47-engineering-dossier dl div { min-width:0; padding:10px; border:1px solid #e6d8ce; border-radius:10px; background:#fffaf6; }
.v47-engineering-dossier dt { color:#8b766b; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.v47-engineering-dossier dd { margin:5px 0 0; color:#392d2b; font-size:12px; font-weight:700; overflow-wrap:anywhere; }

.v28-pdp-root .v47-live-anatomy {
  display:grid; grid-template-columns:minmax(0,1.16fr) minmax(240px,.84fr); gap:18px; align-items:stretch;
  min-height:430px; padding:18px;
  background:
    linear-gradient(rgba(57,45,43,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,45,43,.045) 1px,transparent 1px),
    radial-gradient(circle at 34% 43%,#fffaf4,#e9e4df 78%);
  background-size:34px 34px,34px 34px,auto;
}
.v47-anatomy-product { position:relative; display:grid; place-items:center; min-width:0; min-height:300px; padding:18px; border:1px solid rgba(57,45,43,.08); border-radius:18px; background:rgba(255,255,255,.54); overflow:hidden; }
.v47-anatomy-product::after { content:"PRODUCT ARCHITECTURE"; position:absolute; inset-inline-start:14px; inset-block-end:12px; color:#8c7569; font-size:9px; font-weight:800; letter-spacing:.13em; }
.v47-anatomy-product img { inline-size:100%; block-size:100%; max-block-size:345px; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 22px 22px rgba(57,45,43,.17)); }
.v47-anatomy-product > svg { inline-size:82px; block-size:82px; color:#a75d4c; }
.v47-anatomy-product > strong { margin-block-start:10px; font-size:24px; }
.v47-anatomy-product > span { color:#786860; font-size:12px; }
.v47-anatomy-components { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.v47-live-anatomy[data-form="sleep"] .v47-anatomy-components { grid-template-rows:1fr; }
.v28-pdp-root .v47-live-anatomy .v34-anatomy-card {
  position:static; display:block; width:auto; max-width:none; padding:16px; border-color:rgba(255,255,255,.16); border-radius:16px;
  background:rgba(42,35,33,.9); color:#fff; box-shadow:0 16px 34px rgba(42,35,33,.13);
}
.v47-live-anatomy .v34-anatomy-card > div { display:flex; align-items:center; gap:9px; padding-block-end:11px; border-block-end:1px solid rgba(255,255,255,.13); }
.v47-live-anatomy .v34-anatomy-card svg { inline-size:23px; block-size:23px; color:#f1a28e; flex:0 0 auto; }
.v47-live-anatomy .v34-anatomy-card strong { color:#fff; font-size:11px; line-height:1.35; }
.v47-live-anatomy .v34-anatomy-card ul { display:grid; gap:7px; margin:11px 0 0; padding:0; list-style:none; }
.v47-live-anatomy .v34-anatomy-card li { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:8px; align-items:start; }
.v47-live-anatomy .v34-anatomy-card li span { margin:0; color:rgba(255,255,255,.57); font-size:9px; line-height:1.35; }
.v47-live-anatomy .v34-anatomy-card li b { color:#fff; font-size:10px; line-height:1.4; font-weight:650; overflow-wrap:anywhere; }
.v47-live-anatomy [data-spec-state="verify"] b { color:#f7c071!important; }

.v47-experience-panel figure { position:relative; inline-size:100%; block-size:100%; margin:0; overflow:hidden; border-radius:20px; background:#e7ddd5; }
.v28-pdp-root .v47-experience-panel figure :is(img,video) { inline-size:100%; block-size:100%; max-block-size:none; object-fit:cover; border-radius:20px; }
.v47-experience-panel[data-scene-identity="context"] figure::after { content:"CONTEXT — PRODUCT NOT SHOWN"; position:absolute; inset-block-start:14px; inset-inline-start:14px; padding:7px 9px; border-radius:999px; background:rgba(39,32,30,.78); color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em; }
.v47-experience-panel .v41-media-caption { inset-inline:14px; inset-block-end:14px; width:auto; padding:9px 11px; border-radius:10px; background:rgba(39,32,30,.8); color:#fff; font-size:10px; text-align:start; backdrop-filter:blur(10px); }
.v28-pdp-root .v34-media-tabs { gap:6px; padding:10px; background:rgba(255,252,248,.9); }
.v28-pdp-root .v34-media-tab { min-height:48px; padding:8px 9px; border-radius:11px; font-size:11px; line-height:1.25; }

.v47-hero-links { display:flex; align-items:flex-start; flex-wrap:wrap; gap:4px 18px; margin-block-start:13px; padding-block-start:12px; border-block-start:1px solid #e6dfd5; }
.v47-hero-links > .btn-text,
.v47-hero-links .v38-model-assessment button { min-height:36px; padding:4px 0!important; border:0!important; background:transparent!important; color:#315d4c!important; font-size:12px!important; font-weight:750!important; text-decoration:underline; text-underline-offset:4px; }
.v47-hero-links .v38-model-assessment { display:flex; align-items:flex-start; margin:0; padding:0; border:0; }
.v47-hero-links .v38-model-assessment p { display:none; }
.v28-pdp-root .v28-primary-actions > .btn { min-width:160px; }

.v47-hardware-summary[data-form="sleep"] { grid-template-columns:minmax(0,1fr); }
.v47-hardware-summary [data-spec-state="verify"] { display:none; }
.v47-spec-blocks { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:16px; margin-block-start:12px; }
.v47-spec-block { min-width:0; overflow:hidden; border:1px solid #e3d8cf; border-radius:16px; background:#fff; }
.v47-spec-block.is-verify { align-self:start; border-color:#e5c38f; background:#fffaf1; }
.v47-spec-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:17px 18px; border-block-end:1px solid #eee4dc; background:#faf7f3; }
.is-verify .v47-spec-heading { border-color:#edd8b5; background:#fff4df; }
.v47-spec-heading span:first-child { color:#95624f; font-size:9px; font-weight:850; letter-spacing:.12em; }
.v47-spec-heading h3 { margin:4px 0 0; color:#392d2b; font-size:16px; line-height:1.3; }
.v47-state-badge { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#eaf2ed; color:#315d4c!important; font-size:9px!important; font-weight:850; letter-spacing:.04em!important; }
.is-verify .v47-state-badge { background:#f1d6a6; color:#694714!important; }
.v47-spec-block .v28-spec-table { margin:0!important; }
.v47-spec-block .v28-spec-table > div { padding:14px 17px!important; }
.v47-spec-empty { margin:0; padding:18px; color:#746962; font-size:12px; line-height:1.65; }
.v47-verify-list { margin:0; padding:0 17px; }
.v47-verify-list > div { padding:13px 0; border-block-end:1px solid #eddec6; }
.v47-verify-list dt { color:#8b6b3d; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.v47-verify-list dd { margin:5px 0 0; color:#46362d; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.v47-spec-block.is-verify > .btn { margin:10px 17px 16px; padding-inline:0; color:#7d4c18!important; }
.v47-version-boundary { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:13px 0 0!important; }
.v47-version-boundary strong { color:#8b562f; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

.v28-pdp-root .v28-pdp-nav { transition:transform .22s ease,opacity .18s ease,box-shadow .2s ease; transform-origin:top; }
.v28-pdp-root .v28-pdp-nav.is-scroll-hidden { transform:translateY(calc(-100% - 90px)); opacity:0; pointer-events:none; }

/* The live mobile baseline proved the WhatsApp target overlapped the sample CTA.
   Inline fallback positioning is intentionally overridden here. */
body.v28-pdp-active #abbWhatsApp.abb-whatsapp,
body.v28-pdp-active .abb-whatsapp { bottom:calc(var(--v40-pdp-bar-space,98px) + 14px)!important; }

@media (max-width: 900px) {
  .v28-pdp-root .v47-live-anatomy { grid-template-columns:1fr; }
  .v47-anatomy-product { min-height:230px; }
  .v47-anatomy-components { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
  .v47-live-anatomy[data-form="sleep"] .v47-anatomy-components { grid-template-columns:1fr; }
  .v47-spec-blocks { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  .v28-pdp-root .v34-gallery-upgraded { min-height:490px; }
  .v28-pdp-root .v34-pdp-media-panels { min-height:410px; }
  .v28-pdp-root .v34-pdp-media-panel { padding:14px; }
  .v28-pdp-root .v28-primary-actions { grid-template-columns:1fr 1fr; }
  .v47-hero-links { display:grid; gap:0; }
  .v47-engineering-dossier { padding:22px!important; }
  .v47-engineering-dossier dl { grid-template-columns:1fr; gap:5px; }
  .v47-engineering-dossier dl div { display:grid; grid-template-columns:.9fr 1.1fr; gap:8px; }
  .v47-dossier-icon { inline-size:54px; block-size:54px; }
  .v47-dossier-icon svg { inline-size:28px; block-size:28px; }
  .v28-pdp-root .v47-live-anatomy { min-height:390px; padding:10px; gap:9px; }
  .v47-anatomy-product { min-height:180px; }
  .v47-anatomy-components { gap:8px; }
  .v28-pdp-root .v47-live-anatomy .v34-anatomy-card { padding:12px; }
  .v47-live-anatomy .v34-anatomy-card li { grid-template-columns:1fr; gap:2px; }
  .v47-live-anatomy .v34-anatomy-card li b { font-size:9px; }
  .v28-pdp-root .v34-media-tabs { overflow-x:auto; }
  .v28-pdp-root .v34-media-tab { flex:0 0 auto; min-width:126px; }
  .v47-spec-heading { padding:14px; }
  .v47-version-boundary { grid-template-columns:1fr; gap:4px; }
  body.v28-pdp-active #abbWhatsApp.abb-whatsapp,
  body.v28-pdp-active .abb-whatsapp { inset-inline-end:14px!important; bottom:calc(var(--v40-pdp-bar-space,98px) + 10px)!important; }
}

@media (max-width: 390px) {
  .v47-anatomy-components { grid-template-columns:1fr; }
  .v28-pdp-root .v34-media-tab { min-width:118px; font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .v28-pdp-root .v28-pdp-nav { transition:none; }
}
