/* 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 #5e5850; border-radius:12px; color:#f0ede7; background:#17181b; 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,#1c1d20,#131417); }
#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 #4b4d52; border-radius:50%; background:#1a1b1f; color:#d7d9dc; cursor:pointer; }
#vd-contact-paywall .vdc-close svg { width:20px; height:20px; }
#vd-contact-paywall .vdc-close:hover { background:#2c2e34; border-color:#a6a09a; }
#vd-contact-paywall .vdc-brand { display:flex; align-items:center; gap:14px; margin:0 52px 27px 0; color:#f0ede7; 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 #756854; border-radius:3px; color:#d5c3a6; 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:#f0ede7; }
#vd-contact-paywall header>p:not(.vdc-brand) { margin:0; max-width:65ch; font-size:16px; line-height:1.75; color:#b8bcc4; }
#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 #3c3d42; list-style:none; }
#vd-contact-paywall .vdc-benefits li { padding:19px 0; margin:0; border-bottom:1px solid #3c3d42; }
#vd-contact-paywall .vdc-benefits strong { display:block; color:#eeedf0; font-size:16px; font-weight:500; margin-bottom:7px; }
#vd-contact-paywall .vdc-benefits span { display:block; color:#adb2bb; 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:#c7c9ce; margin:0 0 1px; }
#vd-contact-paywall .vdc-plan { display:flex; flex-direction:column; min-width:0; padding:22px 24px; border:1px solid #56595f; border-radius:7px; background:#222429; color:#eeedf0; text-decoration:none; }
#vd-contact-paywall a.vdc-plan:hover { border-color:#b3b4b9; background:#2c2e34; }
#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:#babec6; }
#vd-contact-paywall .vdc-plan-action { display:flex; justify-content:space-between; gap:14px; margin-top:18px; padding-top:14px; border-top:1px solid #494c53; font-size:14px; font-weight:500; }
#vd-contact-paywall .vdc-lifetime { padding:0; background:#e3ddd2; border-color:#e3ddd2; color:#191b1f; }
#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 #b9b5ac; 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:#f2ece1; }
#vd-contact-paywall .vdc-lifetime a:focus-visible { outline:2px solid #33343a; outline-offset:-5px; }
#vd-contact-paywall .vdc-lifetime .vdc-price>span,#vd-contact-paywall .vdc-lifetime .vdc-terms { color:#4b4b4d; }
#vd-contact-paywall .vdc-lifetime .vdc-plan-action { border-color:#b9b5ac; }
#vd-contact-paywall .vdc-minor { margin:5px 0 0; font-size:14px; line-height:1.7; color:#adb2bb; }
#vd-contact-paywall .vdc-minor a,#vd-contact-paywall .vdc-protection a { color:#d7d9de; text-underline-offset:4px; text-decoration:underline; }
#vd-contact-paywall :is(a,button,summary):focus-visible { outline:2px solid #c2b49f; outline-offset:4px; }
#vd-contact-paywall .vdc-protection { margin-top:30px; padding-top:24px; border-top:1px solid #3c3d42; color:#b8bdc5; font-size:14px; }
#vd-contact-paywall .vdc-protection-heading h3 { margin:0 0 5px; color:#f0ede7; 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:#eeedf0; 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; }
}
