.vit-privacy-footer-link { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 0; border: 0; background: transparent; color: var(--vit-footer-link); font: inherit; text-decoration: underline; cursor: pointer; }
.vit-privacy-footer-link:hover, .vit-privacy-footer-link:focus-visible { color: var(--vit-footer-link-hover); }
.vit-privacy-modal[aria-hidden="true"] { display: none; }
.vit-privacy-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 18px; }
.vit-privacy-backdrop { position: absolute; inset: 0; background: rgba(var(--vit-privacy-overlay-rgb, 17, 17, 17), .72); }
.vit-privacy-dialog { position: relative; z-index: 1; width: min(100%, 660px); max-height: min(88vh, 760px); overflow-y: auto; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--vit-privacy-border); border-radius: max(10px, var(--vit-radius)); background: var(--vit-privacy-background); color: var(--vit-privacy-text); box-shadow: 0 4px 18px rgba(0, 0, 0, .06); }
.vit-privacy-dialog:focus { outline: 2px solid var(--vit-focus-outline); outline-offset: 2px; }
.vit-privacy-close { position: absolute; top: 12px; right: 12px; display: none; place-items: center; width: 38px; height: 38px; min-height: 38px; padding: 0; border: 1px solid var(--vit-privacy-border); border-radius: 999px; background: var(--vit-privacy-secondary); color: var(--vit-privacy-text); cursor: pointer; }
.vit-privacy-modal.has-consent .vit-privacy-close { display: inline-grid; }
.vit-privacy-logo { width: auto; max-width: min(var(--vit-privacy-logo-max-width), 80%); max-height: 72px; margin: 0 0 18px; object-fit: contain; }
.vit-privacy-site-name { margin: 0 0 16px; font-weight: 800; }
.vit-privacy-dialog h2 { margin: 0 42px 12px 0; color: var(--vit-privacy-text); font-size: clamp(1.45rem, 4vw, 2rem); line-height: 1.12; }
.vit-privacy-dialog p { margin: 0 0 14px; color: var(--vit-privacy-text); }
.vit-privacy-categories, .vit-privacy-setting { display: grid; gap: 12px; margin: 18px 0; }
.vit-privacy-categories > div, .vit-privacy-setting { padding: 14px; border: 1px solid var(--vit-privacy-border); border-radius: max(8px, var(--vit-radius)); background: var(--vit-privacy-secondary); }
.vit-privacy-categories strong, .vit-privacy-setting strong { display: block; margin-bottom: 4px; color: var(--vit-privacy-text); }
.vit-privacy-categories span, .vit-privacy-setting > span { display: inline-flex; width: fit-content; margin-bottom: 8px; padding: 3px 8px; border: 1px solid var(--vit-privacy-border); border-radius: 999px; color: var(--vit-privacy-text); font-size: .76rem; font-weight: 800; }
.vit-privacy-setting { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.vit-privacy-setting em { display: block; color: var(--vit-privacy-text); font-style: normal; }
.vit-privacy-setting input[type="checkbox"] { width: 48px; height: 28px; accent-color: var(--vit-privacy-primary); }
.vit-privacy-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.vit-privacy-button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--vit-privacy-border); border-radius: var(--vit-button-radius); background: var(--vit-privacy-secondary); color: var(--vit-privacy-text); font: inherit; font-weight: 800; cursor: pointer; }
.vit-privacy-button-primary { border-color: var(--vit-privacy-primary); background: var(--vit-privacy-primary); color: var(--vit-privacy-primary-text, #ffffff); }
.vit-privacy-button:hover, .vit-privacy-button:focus-visible { border-color: var(--vit-privacy-primary); }
.vit-privacy-links { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 18px; font-size: .86rem; }
.vit-privacy-links a, .vit-privacy-links a:visited { color: var(--vit-privacy-link); text-decoration: underline; }
@media (max-width: 520px) {
	.vit-privacy-modal { align-items: end; padding: 10px; }
	.vit-privacy-dialog { width: 100%; max-height: 90vh; border-radius: 10px 10px 0 0; }
	.vit-privacy-actions, .vit-privacy-button { width: 100%; }
	.vit-privacy-setting { grid-template-columns: 1fr; }
}
