/* Port of the existing coa-clarity COA paywall visual component (2026-09-12).
   Scoped to the contact dialog: no changes to dossier or review paywalls. */
html:has(#vd-contact-paywall[open]) { overflow:hidden; }
#vd-contact-paywall { box-sizing:border-box; width:min(1040px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; margin:auto; border:1px solid #475d73; border-radius:12px; color:#0b1d30; background:#ffffff; box-shadow:0 32px 120px #000b; overflow:auto; overscroll-behavior:contain; font:400 16px/1.7 "Space Grotesk",system-ui,sans-serif; }
#vd-contact-paywall *,#vd-contact-paywall *::before,#vd-contact-paywall *::after { box-sizing:border-box; }
#vd-contact-paywall:not([open]) { display:none; }
#vd-contact-paywall::backdrop { background:#030406cf; backdrop-filter:blur(8px); }
#vd-contact-paywall .vdc-inner { position:relative; padding:40px 46px; background:radial-gradient(ellipse at 0% 0%,#d4c4a511,transparent 60%),linear-gradient(135deg,#ffffff,#ffffff); }
#vd-contact-paywall .vdc-close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:50px; height:50px; padding:14px; border:1px solid #475d73; border-radius:50%; background:#ffffff; color:#0b1d30; cursor:pointer; }
#vd-contact-paywall .vdc-close svg { width:20px; height:20px; }
#vd-contact-paywall .vdc-close:hover { background:#ffffff; border-color:#475d73; }
#vd-contact-paywall .vdc-brand { display:flex; align-items:center; gap:14px; margin:0 52px 27px 0; color:#0b1d30; font-size:18px; font-weight:500; }
#vd-contact-paywall .vdc-brand img { width:38px; height:38px; object-fit:contain; margin-right:4px; }
#vd-contact-paywall .vdc-brand>span { padding:4px 11px; border:1px solid #1d63d3; border-radius:3px; color:#1d63d3; font-size:11px; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; }
#vd-contact-paywall h2 { font:400 clamp(32px,4.6vw,51px)/1.12 Fraunces,Georgia,serif; letter-spacing:-.035em; margin:0 0 20px; color:#0b1d30; }
#vd-contact-paywall header>p:not(.vdc-brand) { margin:0; max-width:65ch; font-size:16px; line-height:1.75; color:#475d73; }
#vd-contact-paywall .vdc-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); gap:36px; align-items:start; margin-top:34px; }
#vd-contact-paywall .vdc-benefits { margin:0; padding:0; border-top:1px solid #475d73; list-style:none; }
#vd-contact-paywall .vdc-benefits li { padding:19px 0; margin:0; border-bottom:1px solid #475d73; }
#vd-contact-paywall .vdc-benefits strong { display:block; color:#0b1d30; font-size:16px; font-weight:500; margin-bottom:7px; }
#vd-contact-paywall .vdc-benefits span { display:block; color:#475d73; font-size:14px; line-height:1.7; }
#vd-contact-paywall .vdc-plans { display:grid; gap:13px; min-width:0; }
#vd-contact-paywall .vdc-plan-heading { font-size:14px; color:#0b1d30; margin:0 0 1px; }
#vd-contact-paywall .vdc-plan { display:flex; flex-direction:column; min-width:0; padding:22px 24px; border:1px solid #475d73; border-radius:7px; background:#ffffff; color:#0b1d30; text-decoration:none; }
#vd-contact-paywall a.vdc-plan:hover { border-color:#475d73; background:#ffffff; }
#vd-contact-paywall .vdc-plan-label { font-size:16px; font-weight:500; }
#vd-contact-paywall .vdc-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin:7px 0 2px; }
#vd-contact-paywall .vdc-price>strong { font-size:40px; font-weight:500; line-height:1.2; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
#vd-contact-paywall .vdc-price>span,#vd-contact-paywall .vdc-terms { font-size:14px; color:#475d73; }
#vd-contact-paywall .vdc-plan-action { display:flex; justify-content:space-between; gap:14px; margin-top:18px; padding-top:14px; border-top:1px solid #475d73; font-size:14px; font-weight:500; }
#vd-contact-paywall .vdc-lifetime { padding:0; background:#0b1d30; border-color:#0b1d30; color:#ffffff; }
#vd-contact-paywall .vdc-plan-main { display:flex; flex-direction:column; padding:22px 24px; border-radius:6px 6px 0 0; color:inherit; text-decoration:none; }
#vd-contact-paywall .vdc-plan-bitcoin { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:12px 24px; border-top:1px solid #475d73; border-radius:0 0 6px 6px; color:inherit; text-decoration:none; font-size:14px; font-weight:500; }
#vd-contact-paywall .vdc-plan-main:hover,#vd-contact-paywall .vdc-plan-bitcoin:hover { background:#0b1d30; }
#vd-contact-paywall .vdc-lifetime a:focus-visible { outline:2px solid #ffffff; outline-offset:-5px; }
#vd-contact-paywall .vdc-lifetime .vdc-price>span,#vd-contact-paywall .vdc-lifetime .vdc-terms { color:#475d73; }
#vd-contact-paywall .vdc-lifetime .vdc-plan-action { border-color:#475d73; }
#vd-contact-paywall .vdc-minor { margin:5px 0 0; font-size:14px; line-height:1.7; color:#475d73; }
#vd-contact-paywall .vdc-minor a,#vd-contact-paywall .vdc-protection a { color:#0b1d30; text-underline-offset:4px; text-decoration:underline; }
#vd-contact-paywall :is(a,button,summary):focus-visible { outline:2px solid #475d73; outline-offset:4px; }
#vd-contact-paywall .vdc-protection { margin-top:30px; padding-top:24px; border-top:1px solid #475d73; color:#475d73; font-size:14px; }
#vd-contact-paywall .vdc-protection-heading h3 { margin:0 0 5px; color:#0b1d30; font-size:18px; font-weight:500; }
#vd-contact-paywall .vdc-protection p { margin:0; }
#vd-contact-paywall .vdc-protection-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:20px 36px; margin-top:20px; }
#vd-contact-paywall .vdc-protection h4 { margin:0 0 7px; color:#0b1d30; font-size:15px; font-weight:500; }
#vd-contact-paywall .vdc-protection .vdc-protection-note { margin-top:20px; font-size:13px; }
@media(max-width:720px) {
 #vd-contact-paywall .vdc-columns { display:flex; flex-direction:column; gap:26px; }
 #vd-contact-paywall .vdc-plans { order:-1; width:100%; grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr)); }
 #vd-contact-paywall .vdc-plan-heading,#vd-contact-paywall .vdc-minor { grid-column:1/-1; }
 #vd-contact-paywall .vdc-plan { padding:17px 15px; }
 #vd-contact-paywall .vdc-lifetime { padding:0; }
 #vd-contact-paywall .vdc-plan-main { flex:1; padding:17px 15px; }
 #vd-contact-paywall .vdc-plan-bitcoin { padding:12px 15px; }
 #vd-contact-paywall .vdc-plan-action { margin-top:auto; padding-top:14px; }
 #vd-contact-paywall .vdc-terms { padding-bottom:14px; }
 #vd-contact-paywall .vdc-benefits { width:100%; }
}
@media(max-width:620px) {
 #vd-contact-paywall { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:9px; }
 #vd-contact-paywall .vdc-inner { padding:28px 24px; }
 #vd-contact-paywall h2 { font-size:34px; }
 #vd-contact-paywall .vdc-brand { margin-bottom:26px; gap:9px; font-size:16px; }
 #vd-contact-paywall .vdc-brand img { width:30px; height:30px; }
 #vd-contact-paywall .vdc-brand>span { padding:2px 6px; }
 #vd-contact-paywall .vdc-close { width:44px; height:44px; padding:11px; top:12px; right:12px; }
}
@media(max-width:480px) {
 #vd-contact-paywall .vdc-plans { grid-template-columns:1fr; }
}
