/* Shared consent controls: independent of each page's layout stylesheet. */
.consent-layer { position: fixed; z-index: 9999; inset: 0; display: grid; align-items: end; justify-items: center; padding: 24px; overflow-y: auto; background: rgba(38, 39, 31, .48); }
.consent-layer[hidden], .consent-manage[hidden] { display: none; }
.consent-dialog { box-sizing: border-box; width: min(100%, 620px); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 30px; border: 1px solid #dcdcd1; border-radius: 16px; background: #faf7f0; color: #26271f; box-shadow: 0 18px 60px rgba(38,39,31,.2); font-family: 'DM Sans', Arial, sans-serif; line-height: 1.6; }
.consent-dialog .eyebrow { margin: 0 0 12px; color: #a73917; font: 700 11px/1.5 'DM Sans', Arial, sans-serif; letter-spacing: 1.9px; text-transform: uppercase; }
.consent-dialog h2 { margin: 0; color: #26271f; font: 700 clamp(26px, 5vw, 34px)/1.15 Manrope, 'DM Sans', Arial, sans-serif; letter-spacing: -1px; text-transform: none; }
.consent-dialog > p:not(.eyebrow) { margin: 16px 0 0; line-height: 1.6; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.consent-choice, .consent-primary { box-sizing: border-box; min-height: 48px; padding: 12px 16px; border: 1px solid #26271f; border-radius: 7px; background: #faf7f0; color: #26271f; box-shadow: none; font: 700 14px/1.4 'DM Sans', Arial, sans-serif; cursor: pointer; }
.consent-choice:hover { background: #e6e9da; }
.consent-choice[data-consent="manage"] { grid-column: 1 / -1; border-color: #dcdcd1; }
.consent-primary { background: #26271f; color: #faf7f0; }
.consent-primary:hover { background: #414337; }
.consent-layer :is(button, input, a):focus-visible, .consent-settings:focus-visible { outline: 3px solid #a73917; outline-offset: 3px; }
.consent-manage { display: grid; gap: 14px; margin-top: 18px; padding: 16px; border: 1px solid #dcdcd1; border-radius: 8px; background: #e6e9da; }
.consent-manage label { display: flex; align-items: center; gap: 10px; min-height: 32px; font-weight: 600; }
.consent-manage input { width: 20px; height: 20px; margin: 0; accent-color: #26271f; }
.consent-dialog .consent-small { color: #64665a; font-size: 12px; }
.consent-small a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.consent-settings { position: fixed; z-index: 9998; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); min-height: 44px; padding: 10px 14px; border: 1px solid #dcdcd1; border-radius: 7px; background: #faf7f0; color: #26271f; font: 600 12px/1.4 'DM Sans', Arial, sans-serif; box-shadow: 0 3px 14px rgba(38,39,31,.12); cursor: pointer; }
.consent-settings:hover { border-color: #26271f; }
@media (max-width: 520px) { .consent-layer { padding: 12px; } .consent-dialog { max-height: calc(100dvh - 24px); padding: 22px; border-radius: 12px; } .consent-actions { grid-template-columns: 1fr; } }
