/* Buying details stay readable in both themes, with an unobtrusive mobile CTA. */
.pdp-lead { color:var(--ink-soft); font-size:16px; line-height:1.65; margin:0 0 16px; }
.pdp-quick-facts { margin:0 0 16px; font-size:14px; }
.pdp-quick-facts:empty { display:none; }
.pdp-quick-facts > div { display:grid; grid-template-columns:72px 1fr; gap:12px; padding:7px 0; }
.pdp-quick-facts dt { color:var(--muted); font-weight:600; }
.pdp-quick-facts dd { margin:0; color:var(--ink); line-height:1.5; }
.pdp-delivery { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px; margin:0 0 16px; }
.pdp-delivery label { display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.pdp-delivery select { width:100%; min-height:44px; padding:9px; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:8px; font:inherit; }
.pdp-delivery p { font-size:14px; line-height:1.5; margin-top:9px; font-weight:600; }
.pdp-delivery small { display:block; color:var(--muted); font-size:12px; line-height:1.5; margin-top:4px; }
#pdpAdd { width:100%; min-height:52px; }
.pdp-payment-note { color:var(--muted); font-size:12px; text-align:center; margin:9px 0; }
.pdp-dispatch { font-size:13px; color:var(--ink-soft); line-height:1.6; margin:12px 0; }
.pdp-details { margin-top:22px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pdp-details summary { cursor:pointer; font-weight:700; min-height:32px; }
.pdp-details[open] summary { margin-bottom:12px; }
.pdp-details > p { font-size:14px; line-height:1.6; color:var(--muted); }
.pdp .pdp-thumbs .pdp-thumb { background:var(--bg3); border:2px solid transparent; padding:2px; border-radius:11px; cursor:pointer; min-width:48px; min-height:48px; }
.pdp .pdp-thumbs .pdp-thumb img { display:block; width:60px; height:60px; border:0; border-radius:7px; object-fit:contain; }
.pdp .pdp-thumbs .pdp-thumb[aria-pressed="true"] { border-color:var(--primary); }
.pdp .pdp-thumbs .pdp-thumb:focus-visible { outline:3px solid var(--purple); outline-offset:3px; }
.pdp-photo-caption { color:var(--muted); font-size:12px; line-height:1.6; margin:10px 0 0; min-height:38px; }
.pdp-customer-note { margin-top:36px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; }
.pdp-review-label { font-size:12px; color:var(--muted); margin-bottom:9px; }
.pdp-customer-note blockquote { margin:0 0 12px; font-size:clamp(18px,3vw,24px); line-height:1.5; color:var(--ink); }
.pdp-customer-note > p:not(:first-child) { font-size:13px; line-height:1.6; }
.pdp-customer-note small { display:block; margin-top:8px; font-size:12px; color:var(--muted); }
.pdp-mobile-buy { display:none; }
.pdp-questions { margin-top:36px; }
.pdp-questions h2 { margin-bottom:14px; font-size:clamp(23px,4vw,30px); }
.pdp-questions details { border-top:1px solid var(--line); padding:14px 0; }
.pdp-questions details:last-child { border-bottom:1px solid var(--line); }
.pdp-questions summary { cursor:pointer; min-height:36px; font-weight:600; line-height:1.5; }
.pdp-questions summary:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.pdp-questions p { color:var(--ink-soft); font-size:15px; line-height:1.7; margin:10px 0 0; max-width:75ch; }
.pdp-questions a { text-decoration:underline; text-underline-offset:3px; }
.pdp-mobile-buy[hidden] { display:none !important; }
@media(max-width:820px) {
  .pdp { padding:20px 16px calc(110px + env(safe-area-inset-bottom)); }
  .pdp-grid { gap:20px; }
  .pdp .pdp-img { max-height:min(64svh,600px); }
  .pdp h1 { font-size:clamp(25px,7vw,34px); line-height:1.2; overflow-wrap:anywhere; }
  .pdp-meta li { flex-wrap:wrap; gap:4px; }
  .pdp-mobile-buy { position:fixed; z-index:990; bottom:0; inset-inline:0; display:flex; align-items:center; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:var(--card); border-top:1px solid var(--line); box-shadow:0 -4px 24px rgba(0,0,0,.12); }
  .pdp-mobile-buy > div { flex:1; min-width:0; }
  .pdp-mobile-buy span { display:block; font-size:11px; color:var(--muted); white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
  .pdp-mobile-buy strong { display:block; font-size:18px; color:var(--ink); }
  .pdp-mobile-buy .btn { min-height:48px; padding:12px 20px; white-space:nowrap; font-size:14px; }
  body:has(.bbc-analytics-choice:not([hidden])) .pdp-mobile-buy { display:none; }
}
