/* Host styling only. Estate survey core remains byte-identical. */
.has-pdp-gallery .overlay__frame{height:calc(100dvh - 152px)}
.has-pdp-gallery .overlay__media{position:sticky;top:0;align-self:start;max-height:100dvh}
.pdp-gallery{padding:12px 0 0; background:var(--c-bg)}
.pdp-gallery__strip{display:flex;gap:8px;justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory}
.pdp-gallery__strip button{flex:0 0 62px;height:64px;padding:3px;border:1px solid transparent;scroll-snap-align:center}
.pdp-gallery__strip button[aria-pressed=true]{border-color:currentColor}
.pdp-gallery__strip img{width:100%;height:100%;object-fit:cover}
.pdp-gallery__nav{display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px}
.pdp-gallery__nav button{min-height:32px;min-width:44px}
.has-pdp-gallery .overlay__book{bottom:160px}
.is-brief .overlay__book{display:none}
.is-brief .overlay__content{display:block;padding:clamp(24px,4vw,70px);padding-top:32px}
.pdp-brief{max-width:640px;margin:auto;min-width:0}
.pdp-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:clamp(48px,9vh,100px);font-size:13px}
.pdp-top button{min-height:44px}
.pdp-brief .buy-kicker{font-size:14px;margin-bottom:28px}
.pdp-brief h2,.pdp-brief .question-text{font-size:clamp(32px,4vw,64px);line-height:1.05;letter-spacing:-.045em;font-weight:600;margin:0 0 36px}
.pdp-brief label{display:block;font-size:15px;margin:0 0 12px}
.pdp-brief input,.pdp-brief textarea{width:100%;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:16px 0;outline-offset:5px;box-sizing:border-box}
.pdp-brief input{font-size:clamp(20px,2vw,30px)}
.pdp-brief textarea{font-size:clamp(18px,1.65vw,24px);line-height:1.45;min-height:170px;resize:vertical;border:1px solid #aeb4ae;padding:18px}
.pdp-brief ::placeholder{color:#717870;opacity:1}
.pdp-brief .buy-next,.pdp-brief .primary{display:block;background:var(--c-red);color:var(--c-bg);padding:18px 24px;min-height:54px;margin:28px 0 0;font-size:18px;width:100%;text-align:center;border:0;cursor:pointer}
.pdp-help{display:inline-block;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin:18px 16px 0 0;padding:8px 0;min-height:36px}
.pdp-local-note{font-size:12px;line-height:1.55;margin-top:20px;opacity:.8}
.pdp-notice{font-size:13px;line-height:1.5;margin-bottom:24px;max-width:400px}
.pdp-lead{font-size:24px;line-height:1.3;margin:14px 0}
.pdp-note{font-size:17px;line-height:1.5;margin:20px 0}
.pdp-brief-excerpt{font-size:17px;line-height:1.5;border-top:1px solid #bbc0b7;margin-top:30px;padding-top:22px;white-space:pre-wrap;overflow-wrap:anywhere}
.pdp-changes{font-size:14px;margin-top:22px}.pdp-changes summary{cursor:pointer;padding:12px 0}.pdp-changes div{display:flex;gap:8px;flex-wrap:wrap}.pdp-changes button{border:1px solid currentColor;padding:12px;min-height:44px}.pdp-changes button[aria-pressed=true]{background:var(--c-red);color:var(--c-bg)}.pdp-changes p{font-size:12px;margin-top:12px}
.pdp-brief .survey-card{background:none;border:0;padding:0;box-shadow:none;color:inherit}
.pdp-brief .question-stage{outline:none;min-height:0}
.pdp-brief .question-context{font-size:16px;line-height:1.5;margin-bottom:24px}
.pdp-brief .progress{margin:0 0 24px}.pdp-brief .progress-track{height:2px;background:#d5d8cf}.pdp-brief .progress-fill{height:2px;background:var(--c-red)}
.pdp-brief .progress-text{font-size:12px;margin-bottom:14px;display:flex;justify-content:space-between}
.pdp-brief .choice-list{display:flex;flex-direction:column;gap:0}
.pdp-brief .option{display:flex;align-items:center;gap:12px;width:100%;padding:18px 0;border:0;border-bottom:1px solid #aeb4ae;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:22px;min-height:62px;cursor:pointer}
.pdp-brief .option.selected{font-weight:650}.pdp-brief .option-key{font-size:12px;opacity:.65}.pdp-brief .option-check{width:16px;height:16px;margin-left:auto}.pdp-brief .option-check svg{width:16px}.pdp-brief .option-detail{font-size:14px}
.pdp-brief .nav-row{display:flex;gap:16px;align-items:center;margin-top:25px}.pdp-brief .nav-row .primary{margin:0;flex:1}.pdp-brief .secondary{padding:14px 0;min-width:55px;font-size:14px}.pdp-brief button:disabled{opacity:.4;cursor:default}
.pdp-brief .key-hint{font-size:11px;opacity:.65;margin-top:14px}.pdp-brief .validation{color:#9c351f;font-size:14px;margin-top:14px}
.pdp-brief :focus-visible,.pdp-gallery :focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:991px){
 /* Long product labels must stay within their column beside the small photo. */
 .has-pdp-gallery .ov-genres{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}
 .has-pdp-gallery .ov-genres li{white-space:normal;overflow-wrap:anywhere;max-width:100%}
 .has-pdp-gallery .overlay__media{position:relative;max-height:none}
 .has-pdp-gallery .overlay__frame{height:auto;max-height:55svh;aspect-ratio:4/3}
 .has-pdp-gallery .overlay__book{bottom:12px}
 .is-brief .overlay__frame{max-height:32svh;aspect-ratio:16/9}
 .is-brief .overlay__content{padding:28px 24px 80px}
 .pdp-top{margin-bottom:36px}.pdp-brief .buy-kicker{margin-bottom:24px}
 .pdp-brief h2,.pdp-brief .question-text{font-size:38px;margin-bottom:26px}
 .pdp-gallery__strip button{flex-basis:54px;height:54px}
 .pdp-brief textarea{font-size:18px;min-height:150px}
}
@media(prefers-reduced-motion:reduce){.pdp-brief *{scroll-behavior:auto!important}}
.pdp-brief .option-check{opacity:0}.pdp-brief .option.selected .option-check{opacity:1}
.pdp-brief:not(:has([data-question="companyDescription"])) .pdp-notice{display:none}
.pdp-brief .progress-text{margin:10px 0 22px;font-size:12px}
