.comment-consent-overlay { position: fixed; inset: 0; z-index: 10000; font-family: inherit; }
.comment-consent-backdrop { position: absolute; inset: 0; background: rgba(10, 14, 20, .57); }
.comment-consent-sheet { box-sizing: border-box; position: absolute; left: 50%; bottom: 0; width: min(100%, 430px); max-height: min(90dvh, 760px); overflow-y: auto; transform: translateX(-50%); background: #fff; color: #17202a; border-radius: 18px 18px 0 0; padding: 12px 22px calc(22px + env(safe-area-inset-bottom)); box-shadow: 0 -12px 40px rgba(0,0,0,.24); }
.comment-consent-sheet:focus { outline: none; }
.comment-consent-grip { width: 36px; height: 4px; border-radius: 2px; background: #cbd5e1; margin: 0 auto 12px; }
.comment-consent-close { float: right; border: 0; background: transparent; font-size: 26px; line-height: 1; color: #526074; cursor: pointer; padding: 4px; min-width: 36px; min-height: 36px; }
.comment-consent-sheet h2 { margin: 8px 0; font-size: 19px; line-height: 1.4; }
.comment-consent-sheet p { margin: 8px 0; font-size: 13px; line-height: 1.55; }
.comment-consent-details { padding: 10px 13px; background: #f4f7fa; border-radius: 8px; }
.comment-consent-details p { margin: 5px 0; }
.comment-consent-details strong { display: block; font-size: 12px; }
.comment-consent-links { display: flex; gap: 9px; flex-wrap: wrap; }
.comment-consent-links a { color: #075985; text-decoration: underline; text-underline-offset: 2px; }
.comment-consent-note { color: #475569; }
.comment-consent-error { color: #b91c1c; }
.comment-consent-confirm { display: block; width: 100%; min-height: 48px; margin-top: 15px; border: 0; border-radius: 7px; background: var(--accent, #175a42); color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.comment-consent-confirm:disabled { opacity: .6; cursor: wait; }
.comment-consent-sheet button:focus-visible, .comment-consent-sheet a:focus-visible { outline: 2px solid #075985; outline-offset: 2px; }
@media (min-width: 700px) { .comment-consent-sheet { bottom: 50%; transform: translate(-50%, 50%); border-radius: 16px; } }
