/* Owner-approved R2: a single privacy link; no consent/voice state changes. */
#consent-dialog #consent-form{display:block}
#consent-dialog .voice-provider-consent[hidden]{display:none!important}
#consent-dialog .voice-provider-consent:has(.check .consent-note)>.small,
#consent-dialog .voice-native-choice{display:none!important}
#consent-dialog .check .consent-note{display:block;font-size:12px;line-height:1.5;color:#6c7265;margin-top:7px;font-weight:400}
#consent-dialog #consent-form>p.small:has(#details-link){text-align:center;margin:8px 0 6px}
#consent-dialog #details-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.4;font-family:inherit;font-size:11px;font-weight:400;color:#73786d;text-decoration:underline;text-underline-offset:3px}
#consent-dialog .check{grid-column:1/-1;display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start;min-height:58px;padding:10px 0;margin:0;font-size:14px;line-height:1.5;font-weight:400;text-align:left}
#consent-dialog .check>span{min-width:0;overflow-wrap:break-word}
#consent-dialog .check input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;margin:0;flex:none;border:2px solid #b7c2a5;border-radius:10px;background:#fff;box-shadow:inset 0 2px 3px #25371a05;transition:border-color .12s,background-color .12s}
#consent-dialog .check input[type=checkbox]:checked{border-color:#b7ec32;background-color:#f1ffcb;background-image:url("./consent-tick-r4.svg");background-repeat:no-repeat;background-position:center;background-size:36px 36px}
#consent-dialog .check input[type=checkbox]:focus-visible{outline:3px solid #628a20;outline-offset:4px}
@media(hover:hover) and (pointer:fine){#consent-dialog .check,#consent-dialog .check input[type=checkbox]{cursor:url("./consent-paw-r4.svg") 14 5,pointer}#consent-dialog .check:hover input[type=checkbox]:not(:checked){border-color:#91b54c;background-color:#fcfff5}}

@media(max-width:600px){#consent-dialog.consent-sheet{padding:20px;width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 24px)}#consent-dialog .check{gap:12px}}
@media(max-width:360px){#consent-dialog.consent-sheet{padding:16px;width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){#consent-dialog .check input[type=checkbox]{transition:none}}
@media(forced-colors:active){#consent-dialog .check input[type=checkbox]{appearance:auto;-webkit-appearance:auto;background-image:none;box-shadow:none}}

/* Keep actions inside the visual viewport; only the consent text scrolls. */
#consent-dialog.consent-sheet.consent-pinned{
 --consent-edge:12px;
 --consent-height:calc(100vh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
 --consent-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
 padding:0;max-height:var(--consent-height);overflow:hidden;
}
#consent-dialog.consent-pinned #consent-form{display:flex;flex-direction:column;max-height:var(--consent-height);min-height:0;margin:0}
#consent-dialog .consent-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:26px 28px 8px;scroll-padding-block:20px}
#consent-dialog .consent-body:focus-visible{outline:2px solid #628a20;outline-offset:-4px}
#consent-dialog .consent-body>p.small:has(#details-link){text-align:center;margin:8px 0 0}
#consent-dialog .consent-footer{flex:0 0 auto;background:#fff;border-top:1px solid #e9ebe5;padding:14px 28px 18px;box-shadow:0 -8px 18px #fff}
#consent-dialog .consent-footer #consent-error:empty{display:none}
#consent-dialog .consent-footer #consent-error{margin:0 0 10px;font-size:13px;line-height:1.4;max-height:90px;overflow-y:auto}
#consent-dialog .consent-footer .dialog-actions{display:flex;flex-wrap:nowrap;gap:10px;margin:0}
#consent-dialog .consent-footer .dialog-actions>button{min-height:48px}
#consent-dialog .consent-footer .dialog-actions>.primary{flex:1}
@media(max-width:600px){
 #consent-dialog .consent-body{padding:20px 20px 6px}
 #consent-dialog .consent-footer{padding:12px 20px 16px}
}
@media(max-width:360px){
 #consent-dialog .consent-body{padding:18px 16px 4px}
 #consent-dialog .consent-footer{padding:10px 16px 14px}
 #consent-dialog .consent-footer .dialog-actions{gap:8px}
 #consent-dialog .consent-footer .dialog-actions>button{padding-inline:12px}
}

/* Initial dialog focus is semantic, not a box around all consent text. */
#consent-dialog #consent-title:focus{outline:none}
