:root {
    --vkc-bg: #ffffff;
    --vkc-panel: #ffffff;
    --vkc-text: #181522;
    --vkc-muted: #686273;
    --vkc-border: #dedbe6;
    --vkc-primary: #6d4aff;
    --vkc-accent: #18c3b2;
    --vkc-primary-text: #ffffff;
    --vkc-danger: #a31515;
    --vkc-success: #147a35;
    --vkc-radius: 26px;
    --vkc-shadow: 0 30px 90px rgba(13, 8, 28, .28), 0 8px 28px rgba(13, 8, 28, .16);
}

html.vkc-consent-open {
    overflow: hidden;
}

.vkc-consent-layer[hidden],
.vkc-consent-reopen[hidden],
.vkc-consent-preferences[hidden],
.vkc-consent-actions .vkc-btn[hidden],
.vkc-policy-links[hidden],
.vkc-policy-links [hidden] {
    display: none !important;
}

.vkc-consent-layer {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: clamp(12px, 2.2vw, 28px);
    background: rgba(9, 7, 16, .42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s ease, backdrop-filter .35s ease, background .35s ease;
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
    font-family: inherit;
}

.vkc-consent-layer.is-visible,
.vkc-consent-layer.is-closing {
    pointer-events: auto;
}

.vkc-consent-layer.is-visible {
    background: rgba(9, 7, 16, .52);
    opacity: 1;
    -webkit-backdrop-filter: blur(10px) saturate(115%);
    backdrop-filter: blur(10px) saturate(115%);
}

.vkc-position-bottom-left {
    justify-content: flex-start;
}

.vkc-position-bottom-right {
    justify-content: flex-end;
}

.vkc-position-center {
    align-items: center;
}

.vkc-consent-dialog {
    position: relative;
    isolation: isolate;
    width: min(1040px, 100%);
    max-height: calc(100vh - clamp(24px, 4.4vw, 56px));
    max-height: calc(100dvh - clamp(24px, 4.4vw, 56px));
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: var(--vkc-radius);
    background: var(--vkc-panel);
    color: var(--vkc-text);
    box-shadow: var(--vkc-shadow);
    opacity: 0;
    transform-origin: 50% 100%;
    scrollbar-width: thin;
    scrollbar-color: rgba(110, 101, 127, .38) transparent;
}

.vkc-position-bottom-left .vkc-consent-dialog,
.vkc-position-bottom-right .vkc-consent-dialog {
    width: min(640px, 100%);
}

.vkc-position-center .vkc-consent-dialog {
    width: min(790px, 100%);
    transform-origin: 50% 50%;
}

.vkc-consent-dialog::-webkit-scrollbar {
    width: 8px;
}

.vkc-consent-dialog::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 99px;
    background: rgba(110, 101, 127, .38);
    background-clip: padding-box;
}

.vkc-consent-content {
    position: relative;
    z-index: 2;
    padding: clamp(24px, 3.4vw, 38px);
}

.vkc-consent-glow {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
}

.vkc-consent-glow span {
    position: absolute;
    display: block;
    border-radius: 999px;
    filter: blur(8px);
    opacity: .16;
    transform: translate3d(0, 0, 0);
}

.vkc-glow-one {
    top: -110px;
    right: 7%;
    width: 290px;
    height: 250px;
    background: var(--vkc-primary);
}

.vkc-glow-two {
    right: -80px;
    bottom: -110px;
    width: 260px;
    height: 250px;
    background: var(--vkc-accent);
    opacity: .12 !important;
}

.vkc-glow-three {
    top: 28%;
    left: -100px;
    width: 210px;
    height: 210px;
    background: var(--vkc-accent);
    opacity: .08 !important;
}

.vkc-theme-midnight .vkc-consent-dialog {
    border-color: rgba(255, 255, 255, .13);
    box-shadow: 0 34px 110px rgba(0, 0, 0, .48), inset 0 1px rgba(255, 255, 255, .05);
}

.vkc-theme-midnight .vkc-consent-glow span {
    opacity: .28;
    filter: blur(20px);
}

.vkc-theme-minimal .vkc-consent-dialog {
    border-color: rgba(25, 23, 31, .15);
    box-shadow: 0 22px 60px rgba(13, 8, 28, .18);
}

.vkc-theme-minimal .vkc-consent-glow {
    display: none;
}

.vkc-consent-close {
    position: absolute;
    z-index: 5;
    top: 16px;
    right: 16px;
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(126, 118, 141, .22);
    border-radius: 50%;
    background: rgba(255, 255, 255, .66);
    color: var(--vkc-text);
    box-shadow: 0 8px 24px rgba(23, 18, 35, .09);
    cursor: pointer;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.vkc-theme-midnight .vkc-consent-close {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .07);
}

.vkc-consent-close:hover {
    border-color: var(--vkc-primary);
    transform: rotate(4deg) scale(1.05);
}

.vkc-consent-close svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.vkc-consent-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, .65fr);
    align-items: end;
    gap: clamp(24px, 4vw, 52px);
    padding-right: 36px;
}

.vkc-position-bottom-left .vkc-consent-layout,
.vkc-position-bottom-right .vkc-consent-layout,
.vkc-position-center .vkc-consent-layout {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-right: 30px;
}

.vkc-consent-kicker {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 16px;
}

.vkc-consent-icon {
    position: relative;
    display: inline-grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 16px;
    background: var(--vkc-primary);
    color: var(--vkc-primary-text);
    box-shadow: 0 14px 32px rgba(41, 27, 98, .2);
    overflow: hidden;
}

.vkc-consent-icon::before {
    content: "";
    position: absolute;
    inset: -40%;
    background: linear-gradient(125deg, transparent 35%, rgba(255, 255, 255, .48), transparent 65%);
    transform: translateX(-65%) rotate(9deg);
}

.vkc-consent-layer.is-visible .vkc-consent-icon::before {
    animation: vkc-icon-shine 1.15s .38s ease both;
}

.vkc-consent-icon svg {
    position: relative;
    z-index: 1;
    width: 32px;
    height: 32px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vkc-shield-shape {
    stroke-width: 2.5;
}

.vkc-shield-check {
    stroke-width: 3.1;
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
}

.vkc-consent-layer.is-visible .vkc-shield-check {
    animation: vkc-check-draw .62s .46s cubic-bezier(.2, .8, .2, 1) forwards;
}

.vkc-hide-icon .vkc-consent-icon {
    display: none;
}

.vkc-consent-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border: 1px solid rgba(112, 101, 132, .17);
    border-radius: 999px;
    background: rgba(255, 255, 255, .58);
    color: var(--vkc-muted);
    font-size: 11px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: .09em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.vkc-theme-midnight .vkc-consent-badge {
    border-color: rgba(255, 255, 255, .11);
    background: rgba(255, 255, 255, .06);
}

.vkc-consent-copy h2 {
    max-width: 720px;
    margin: 0 0 12px;
    color: inherit;
    font: inherit;
    font-size: clamp(26px, 3.2vw, 40px);
    font-weight: 790;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.vkc-position-bottom-left .vkc-consent-copy h2,
.vkc-position-bottom-right .vkc-consent-copy h2,
.vkc-position-center .vkc-consent-copy h2 {
    font-size: clamp(26px, 4vw, 36px);
}

.vkc-consent-copy > p:not(.vkc-policy-links) {
    max-width: 760px;
    margin: 0;
    color: var(--vkc-muted);
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.62;
}

.vkc-policy-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 13px 0 0;
    color: var(--vkc-muted);
    font-size: 12px;
    line-height: 1.4;
}

.vkc-policy-links a {
    color: inherit;
    font-weight: 680;
    text-decoration: none;
    text-underline-offset: 3px;
}

.vkc-policy-links a:hover {
    color: var(--vkc-primary);
    text-decoration: underline;
}

.vkc-policy-divider {
    opacity: .55;
}

.vkc-consent-trust {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid rgba(115, 105, 134, .16);
    border-radius: 18px;
    background: rgba(255, 255, 255, .48);
    color: var(--vkc-text);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.vkc-theme-midnight .vkc-consent-trust {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .045);
}

.vkc-theme-minimal .vkc-consent-trust {
    background: transparent;
}

.vkc-trust-orbit {
    position: relative;
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--vkc-accent);
    border-radius: 50%;
}

.vkc-trust-orbit::before,
.vkc-trust-orbit::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

.vkc-trust-orbit::before {
    inset: 6px;
    border: 1px dashed var(--vkc-primary);
    opacity: .72;
}

.vkc-trust-orbit::after {
    width: 7px;
    height: 7px;
    background: var(--vkc-accent);
    box-shadow: 0 0 0 5px rgba(24, 195, 178, .13);
}

.vkc-consent-layer.is-visible .vkc-trust-orbit::before {
    animation: vkc-orbit-spin 5s linear infinite;
}

.vkc-consent-trust strong,
.vkc-consent-trust small {
    display: block;
}

.vkc-consent-trust strong {
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 1.2;
}

.vkc-consent-trust small {
    color: var(--vkc-muted);
    font-size: 11px;
    line-height: 1.42;
}

.vkc-consent-preferences {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0 0;
}

.vkc-position-bottom-left .vkc-consent-preferences,
.vkc-position-bottom-right .vkc-consent-preferences,
.vkc-position-center .vkc-consent-preferences {
    grid-template-columns: 1fr;
}

.vkc-consent-category {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 17px;
    border: 1px solid rgba(112, 101, 132, .16);
    border-radius: 18px;
    background: rgba(255, 255, 255, .52);
    opacity: 0;
    transform: translateY(12px);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.vkc-theme-midnight .vkc-consent-category {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .045);
}

.vkc-theme-minimal .vkc-consent-category {
    background: transparent;
}

.vkc-consent-layer.is-customizing .vkc-consent-category {
    animation: vkc-category-in .42s cubic-bezier(.2, .75, .25, 1) both;
}

.vkc-consent-layer.is-customizing .vkc-consent-category:nth-child(2) {
    animation-delay: .055s;
}

.vkc-consent-layer.is-customizing .vkc-consent-category:nth-child(3) {
    animation-delay: .11s;
}

.vkc-consent-layer.is-customizing .vkc-consent-category:nth-child(4) {
    animation-delay: .165s;
}

.vkc-category-number {
    display: block;
    margin-bottom: 12px;
    color: var(--vkc-primary);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .12em;
}

.vkc-consent-category strong {
    display: block;
    margin: 0 0 5px;
    color: var(--vkc-text);
    font-size: 14px;
    line-height: 1.25;
}

.vkc-consent-category p {
    margin: 0;
    color: var(--vkc-muted);
    font-size: 12px;
    line-height: 1.48;
}

.vkc-switch {
    position: relative;
    width: 46px;
    height: 27px;
    flex: 0 0 auto;
    margin-top: 1px;
}

.vkc-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.vkc-switch > span {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(102, 94, 119, .23);
    border-radius: 999px;
    background: rgba(114, 105, 131, .22);
    cursor: pointer;
    transition: background .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.vkc-switch > span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(13, 8, 28, .25);
    transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}

.vkc-switch input:checked + span {
    border-color: var(--vkc-primary);
    background: var(--vkc-primary);
    box-shadow: 0 6px 16px rgba(66, 44, 154, .18);
}

.vkc-switch input:checked + span::after {
    transform: translateX(19px);
}

.vkc-switch input:focus-visible + span {
    outline: 3px solid rgba(109, 74, 255, .3);
    outline-offset: 3px;
}

.vkc-switch input:disabled + span {
    cursor: not-allowed;
    opacity: .62;
}

.vkc-consent-actions {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(150px, .85fr) minmax(150px, 1fr);
    gap: 11px;
    margin-top: 24px;
}

.vkc-position-bottom-left .vkc-consent-actions,
.vkc-position-bottom-right .vkc-consent-actions,
.vkc-position-center .vkc-consent-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vkc-position-bottom-left .vkc-btn-secondary,
.vkc-position-bottom-right .vkc-btn-secondary,
.vkc-position-center .vkc-btn-secondary {
    grid-column: 1 / -1;
    grid-row: 2;
}

.vkc-position-bottom-left .vkc-btn-save,
.vkc-position-bottom-right .vkc-btn-save,
.vkc-position-center .vkc-btn-save {
    grid-column: 2;
}

.vkc-btn {
    position: relative;
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 15px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.vkc-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 15%, rgba(255, 255, 255, .18) 50%, transparent 85%);
    opacity: 0;
    transform: translateX(-70%);
    transition: opacity .2s ease, transform .5s ease;
}

.vkc-btn:hover {
    transform: translateY(-2px);
}

.vkc-btn:hover::before {
    opacity: 1;
    transform: translateX(70%);
}

.vkc-btn span,
.vkc-btn svg {
    position: relative;
    z-index: 1;
}

.vkc-btn svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .2s ease;
}

.vkc-btn:hover svg {
    transform: translateX(2px);
}

.vkc-btn-choice {
    box-shadow: 0 11px 26px rgba(24, 19, 42, .13);
}

.vkc-btn-reject {
    border-color: var(--vkc-text);
    background: var(--vkc-text);
    color: var(--vkc-panel);
}

.vkc-btn-accept,
.vkc-btn-save {
    border-color: var(--vkc-primary);
    background: var(--vkc-primary);
    color: var(--vkc-primary-text);
    box-shadow: 0 12px 28px rgba(66, 44, 154, .23);
}

.vkc-btn-secondary {
    border-color: rgba(111, 102, 130, .24);
    background: rgba(255, 255, 255, .52);
    color: var(--vkc-text);
}

.vkc-theme-midnight .vkc-btn-secondary {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .055);
}

.vkc-theme-minimal .vkc-btn-secondary {
    background: transparent;
}

.vkc-consent-footnote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: var(--vkc-muted);
    text-align: center;
}

.vkc-consent-footnote > span {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--vkc-accent);
    box-shadow: 0 0 0 4px rgba(24, 195, 178, .11);
}

.vkc-consent-footnote small {
    font-size: 10px;
    line-height: 1.4;
}

.vkc-btn:focus-visible,
.vkc-consent-close:focus-visible,
.vkc-consent-reopen:focus-visible,
.vkc-inline-preferences-button:focus-visible,
.vkc-form-submit:focus-visible,
.vkc-contact-link:focus-visible {
    outline: 3px solid rgba(109, 74, 255, .34);
    outline-offset: 3px;
}

.vkc-consent-reopen {
    position: fixed;
    z-index: 2147482900;
    right: auto;
    left: auto;
    bottom: calc(var(--vkc-reopen-bottom, 16px) + env(safe-area-inset-bottom, 0px));
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid rgba(112, 101, 132, .2);
    border-radius: 999px;
    background: var(--vkc-panel);
    color: var(--vkc-text);
    box-shadow: 0 10px 30px rgba(16, 11, 29, .18);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 760;
    line-height: 1;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: transform .2s ease, box-shadow .2s ease;
    animation: vkc-reopen-in .42s cubic-bezier(.2, .8, .2, 1) both;
}

.vkc-consent-reopen:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(16, 11, 29, .23);
}

.vkc-consent-reopen.vkc-reopen-right {
    right: calc(var(--vkc-reopen-side, 16px) + env(safe-area-inset-right, 0px));
}

.vkc-consent-reopen.vkc-reopen-left {
    left: calc(var(--vkc-reopen-side, 16px) + env(safe-area-inset-left, 0px));
}

.vkc-consent-reopen.vkc-reopen-display-icon {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
}

.vkc-consent-reopen svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--vkc-primary);
    stroke-width: 1.8;
    stroke-linecap: round;
}

.vkc-inline-preferences-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 16px;
    border: 1px solid rgba(112, 101, 132, .2);
    border-radius: 999px;
    background: var(--vkc-panel);
    color: var(--vkc-text);
    box-shadow: 0 10px 26px rgba(16, 11, 29, .14);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.1;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.vkc-inline-preferences-button:hover {
    transform: translateY(-2px);
    border-color: var(--vkc-primary);
    box-shadow: 0 14px 34px rgba(16, 11, 29, .19);
}

.vkc-inline-preferences-button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--vkc-primary);
    stroke-width: 1.8;
    stroke-linecap: round;
}

.vkc-preferences-display-link {
    min-height: 0;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: underline;
    text-decoration-color: var(--vkc-primary);
    text-underline-offset: 3px;
}

.vkc-preferences-display-link:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
    color: var(--vkc-primary);
}

.vkc-preferences-display-icon {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 50%;
}

.vkc-screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Entry and exit animations */
.vkc-animation-spring.is-visible .vkc-consent-dialog {
    animation: vkc-consent-spring-in .78s cubic-bezier(.16, 1.08, .38, 1) both;
}

.vkc-animation-slide.is-visible .vkc-consent-dialog {
    animation: vkc-consent-slide-in .62s cubic-bezier(.16, 1, .3, 1) both;
}

.vkc-animation-scale.is-visible .vkc-consent-dialog {
    animation: vkc-consent-scale-in .56s cubic-bezier(.16, 1, .3, 1) both;
}

.vkc-animation-fade.is-visible .vkc-consent-dialog {
    animation: vkc-consent-fade-in .46s ease both;
}

.vkc-consent-layer.is-closing {
    opacity: 0;
    transition-duration: .26s;
}

.vkc-consent-layer.is-closing .vkc-consent-dialog {
    animation: vkc-consent-out .26s cubic-bezier(.4, 0, 1, 1) both;
}

@keyframes vkc-consent-spring-in {
    0% { opacity: 0; transform: translate3d(0, 58px, 0) scale(.935); }
    56% { opacity: 1; transform: translate3d(0, -7px, 0) scale(1.008); }
    78% { transform: translate3d(0, 2px, 0) scale(.998); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes vkc-consent-slide-in {
    0% { opacity: 0; transform: translate3d(0, 66px, 0); }
    100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes vkc-consent-scale-in {
    0% { opacity: 0; transform: scale(.88); }
    100% { opacity: 1; transform: scale(1); }
}

@keyframes vkc-consent-fade-in {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes vkc-consent-out {
    0% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    100% { opacity: 0; transform: translate3d(0, 20px, 0) scale(.975); }
}

@keyframes vkc-category-in {
    0% { opacity: 0; transform: translateY(12px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes vkc-check-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes vkc-icon-shine {
    0% { transform: translateX(-65%) rotate(9deg); }
    100% { transform: translateX(65%) rotate(9deg); }
}

@keyframes vkc-orbit-spin {
    to { transform: rotate(360deg); }
}

@keyframes vkc-reopen-in {
    0% { opacity: 0; transform: translateY(10px) scale(.94); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Lead form */
.vkc-form-wrap {
    width: 100%;
    box-sizing: border-box;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid var(--vkc-border);
    border-radius: 22px;
    background: var(--vkc-bg);
    color: var(--vkc-text);
    box-shadow: 0 18px 50px rgba(15, 11, 27, .08);
}

.vkc-form-title {
    margin: 0 0 8px;
    color: inherit;
    font-size: clamp(25px, 4vw, 36px);
    line-height: 1.1;
    letter-spacing: -.025em;
}

.vkc-form-intro {
    margin: 0 0 22px;
    color: var(--vkc-muted);
    line-height: 1.6;
}

.vkc-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.vkc-form-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
}

.vkc-form-field-full {
    grid-column: 1 / -1;
}

.vkc-form-field > span {
    color: inherit;
    font-size: 13px;
    font-weight: 700;
}

.vkc-form-field input,
.vkc-form-field textarea {
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid var(--vkc-border);
    border-radius: 12px;
    background: #ffffff;
    color: #171717;
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.vkc-form-field textarea {
    min-height: 126px;
    resize: vertical;
}

.vkc-form-field input:focus,
.vkc-form-field textarea:focus {
    border-color: var(--vkc-primary);
    outline: none;
    box-shadow: 0 0 0 4px rgba(109, 74, 255, .11);
}

.vkc-form-field [aria-invalid="true"] {
    border-color: var(--vkc-danger);
}

.vkc-form-check {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 15px 0 0;
    color: var(--vkc-muted);
    font-size: 12px;
    line-height: 1.5;
}

.vkc-form-check input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.vkc-form-check a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vkc-form-submit {
    min-height: 50px;
    margin-top: 21px;
    padding: 12px 24px;
    border: 1px solid var(--vkc-primary);
    border-radius: 13px;
    background: var(--vkc-primary);
    color: var(--vkc-primary-text);
    box-shadow: 0 12px 26px rgba(66, 44, 154, .2);
    cursor: pointer;
    font: inherit;
    font-weight: 760;
    transition: transform .2s ease, box-shadow .2s ease;
}

.vkc-form-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(66, 44, 154, .25);
}

.vkc-form-submit:disabled {
    cursor: wait;
    opacity: .65;
}

.vkc-form-status {
    min-height: 1.5em;
    margin-top: 12px;
    font-size: 13px;
    font-weight: 650;
}

.vkc-form-status.is-error { color: var(--vkc-danger); }
.vkc-form-status.is-success { color: var(--vkc-success); }

.vkc-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.vkc-inline-contacts,
.vkc-floating-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vkc-contact-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 16px;
    border: 1px solid currentColor;
    border-radius: 999px;
    color: inherit;
    font: inherit;
    font-weight: 680;
    line-height: 1;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.vkc-contact-link:hover {
    transform: translateY(-1px);
}

.vkc-floating-contacts {
    position: fixed;
    z-index: 2147482800;
    left: 14px;
    bottom: 14px;
}

.vkc-floating-contacts .vkc-contact-link {
    background: #ffffff;
    color: #171717;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .14);
}

.vkc-privacy-data {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 7px 16px;
}

.vkc-privacy-data dt { font-weight: 700; }
.vkc-privacy-data dd { margin: 0; }

@media (max-width: 880px) {
    .vkc-consent-layout {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-right: 32px;
    }

    .vkc-consent-trust {
        max-width: 460px;
    }

    .vkc-consent-preferences {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .vkc-consent-layer,
    .vkc-position-center {
        align-items: flex-end;
        padding: 0;
    }

    .vkc-consent-dialog,
    .vkc-position-bottom-left .vkc-consent-dialog,
    .vkc-position-bottom-right .vkc-consent-dialog,
    .vkc-position-center .vkc-consent-dialog {
        width: 100%;
        max-height: 92vh;
        max-height: 94dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: min(var(--vkc-radius), 26px) min(var(--vkc-radius), 26px) 0 0;
        transform-origin: 50% 100%;
    }

    .vkc-consent-content {
        padding: 24px 18px calc(18px + env(safe-area-inset-bottom));
    }

    .vkc-consent-close {
        top: 12px;
        right: 12px;
        width: 38px;
        height: 38px;
    }

    .vkc-consent-layout,
    .vkc-position-bottom-left .vkc-consent-layout,
    .vkc-position-bottom-right .vkc-consent-layout,
    .vkc-position-center .vkc-consent-layout {
        gap: 16px;
        padding-right: 30px;
    }

    .vkc-consent-kicker {
        margin-bottom: 13px;
    }

    .vkc-consent-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .vkc-consent-icon svg {
        width: 28px;
        height: 28px;
    }

    .vkc-consent-badge {
        min-height: 27px;
        font-size: 9px;
    }

    .vkc-consent-copy h2,
    .vkc-position-bottom-left .vkc-consent-copy h2,
    .vkc-position-bottom-right .vkc-consent-copy h2,
    .vkc-position-center .vkc-consent-copy h2 {
        margin-bottom: 10px;
        font-size: clamp(25px, 8vw, 32px);
    }

    .vkc-consent-copy > p:not(.vkc-policy-links) {
        font-size: 14px;
        line-height: 1.55;
    }

    .vkc-consent-trust {
        padding: 13px;
    }

    .vkc-consent-preferences {
        gap: 9px;
        margin-top: 18px;
    }

    .vkc-consent-category {
        padding: 14px;
        border-radius: 15px;
    }

    .vkc-category-number {
        margin-bottom: 8px;
    }

    .vkc-consent-actions,
    .vkc-position-bottom-left .vkc-consent-actions,
    .vkc-position-bottom-right .vkc-consent-actions,
    .vkc-position-center .vkc-consent-actions,
    .vkc-form-grid {
        grid-template-columns: 1fr;
    }

    .vkc-consent-actions {
        gap: 8px;
        margin-top: 18px;
    }

    .vkc-btn {
        min-height: 49px;
    }

    .vkc-btn-accept,
    .vkc-btn-save,
    .vkc-btn-reject,
    .vkc-btn-secondary {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .vkc-consent-footnote {
        align-items: flex-start;
        text-align: left;
    }

    .vkc-reopen-text:not(.vkc-screen-reader-text) {
        display: none;
    }

    .vkc-consent-reopen {
        bottom: calc(var(--vkc-reopen-mobile-bottom, 12px) + env(safe-area-inset-bottom, 0px));
        width: 44px;
        min-width: 44px;
        min-height: 44px;
        justify-content: center;
        padding: 0;
        border-radius: 50%;
    }

    .vkc-consent-reopen.vkc-reopen-right {
        right: calc(var(--vkc-reopen-mobile-side, 12px) + env(safe-area-inset-right, 0px));
    }

    .vkc-consent-reopen.vkc-reopen-left {
        left: calc(var(--vkc-reopen-mobile-side, 12px) + env(safe-area-inset-left, 0px));
    }

    .vkc-floating-contacts {
        right: 64px;
        left: 10px;
        bottom: 10px;
    }

    .vkc-floating-contacts .vkc-contact-link {
        flex: 1 1 auto;
    }

    .vkc-privacy-data {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .vkc-privacy-data dd {
        margin-bottom: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vkc-consent-layer,
    .vkc-consent-dialog,
    .vkc-consent-category,
    .vkc-consent-icon::before,
    .vkc-shield-check,
    .vkc-trust-orbit::before,
    .vkc-consent-reopen,
    .vkc-inline-preferences-button,
    .vkc-btn,
    .vkc-btn::before,
    .vkc-switch > span,
    .vkc-switch > span::after {
        animation: none !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .vkc-consent-layer.is-visible .vkc-consent-dialog,
    .vkc-consent-layer.is-customizing .vkc-consent-category {
        opacity: 1;
        transform: none;
    }

    .vkc-shield-check {
        stroke-dashoffset: 0;
    }
}

/* Standalone canvas used by automatically generated policy pages */
body.vkc-policy-canvas {
    min-width: 320px;
    min-height: 100vh;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 2%, rgba(109, 74, 255, .09), transparent 28rem),
        radial-gradient(circle at 92% 18%, rgba(86, 195, 255, .08), transparent 24rem),
        #f8f7fb;
    color: #1d1926;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.vkc-policy-canvas::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(109, 74, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(109, 74, 255, .025) 1px, transparent 1px);
    background-size: 46px 46px;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .75), transparent 72%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .75), transparent 72%);
}

.vkc-policy-canvas__main {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    min-height: 100vh;
    padding: clamp(28px, 5vw, 72px) 20px clamp(64px, 8vw, 112px);
}

.vkc-policy-canvas__main:focus {
    outline: none;
}

.vkc-policy-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000000;
    padding: 10px 14px;
    border-radius: 10px;
    background: #1d1926;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-180%);
    transition: transform .18s ease;
}

.vkc-policy-skip-link:focus {
    transform: translateY(0);
}

/* Defensive fallback if another plugin overrides the canvas template. */
body.vkc-policy-canvas .entry-title,
body.vkc-policy-canvas .page-title,
body.vkc-policy-canvas .page-header,
body.vkc-policy-canvas .site-header,
body.vkc-policy-canvas .site-footer,
body.vkc-policy-canvas header.site-header,
body.vkc-policy-canvas footer.site-footer {
    display: none !important;
}

/* Automatically generated Privacy and Cookie Policy pages */
.vkc-policy-document {
    --vkc-policy-ink: #1d1926;
    --vkc-policy-muted: #6c6676;
    --vkc-policy-border: #e5e1eb;
    --vkc-policy-soft: #f8f7fa;
    --vkc-policy-primary: var(--vkc-primary, #6d4aff);
    width: min(920px, 100%);
    margin: 0 auto;
    color: var(--vkc-policy-ink);
    font-size: 16px;
    line-height: 1.72;
}

.vkc-policy-document * {
    box-sizing: border-box;
}

.vkc-policy-header {
    position: relative;
    margin-bottom: 30px;
    padding: clamp(24px, 5vw, 42px);
    overflow: hidden;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% -10%, color-mix(in srgb, var(--vkc-policy-primary) 20%, transparent), transparent 34%),
        linear-gradient(145deg, #ffffff, var(--vkc-policy-soft));
}

.vkc-policy-header::after {
    content: "";
    position: absolute;
    right: -48px;
    bottom: -62px;
    width: 180px;
    height: 180px;
    border: 30px solid color-mix(in srgb, var(--vkc-policy-primary) 10%, transparent);
    border-radius: 50%;
}

.vkc-policy-header h1 {
    position: relative;
    z-index: 1;
    margin: 14px 0 0;
    color: var(--vkc-policy-ink);
    font-size: clamp(36px, 6vw, 58px);
    font-weight: 760;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vkc-policy-header p {
    position: relative;
    z-index: 1;
    margin: 9px 0 0;
    color: var(--vkc-policy-muted);
}

.vkc-policy-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid color-mix(in srgb, var(--vkc-policy-primary) 22%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--vkc-policy-primary) 7%, #fff);
    color: var(--vkc-policy-primary);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vkc-policy-document section {
    margin: 0 0 28px;
    padding: 0 3px;
}

.vkc-policy-document h2 {
    margin: 0 0 12px;
    color: var(--vkc-policy-ink);
    font-size: clamp(22px, 3vw, 29px);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.vkc-policy-document p,
.vkc-policy-document li {
    color: var(--vkc-policy-muted);
}

.vkc-policy-document p {
    margin: 0 0 12px;
}

.vkc-policy-document ul,
.vkc-policy-document ol {
    margin: 12px 0 18px;
    padding-left: 1.35em;
}

.vkc-policy-document li + li {
    margin-top: 7px;
}

.vkc-policy-document a {
    color: var(--vkc-policy-primary);
    font-weight: 650;
    text-underline-offset: 3px;
}

.vkc-policy-data-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
}

.vkc-policy-data-grid > div {
    padding: 14px 16px;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 14px;
    background: var(--vkc-policy-soft);
}

.vkc-policy-data-grid dt,
.vkc-policy-data-grid dd {
    margin: 0;
}

.vkc-policy-data-grid dt {
    margin-bottom: 4px;
    color: var(--vkc-policy-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vkc-policy-data-grid dd {
    overflow-wrap: anywhere;
    color: var(--vkc-policy-ink);
    font-weight: 650;
}

.vkc-policy-table-wrap {
    margin: 18px 0;
    overflow-x: auto;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 16px;
    background: #fff;
}

.vkc-policy-table {
    width: 100%;
    min-width: 620px;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    color: var(--vkc-policy-ink);
}

.vkc-policy-table th,
.vkc-policy-table td {
    padding: 15px 17px;
    border: 0;
    border-bottom: 1px solid var(--vkc-policy-border);
    text-align: left;
    vertical-align: top;
}

.vkc-policy-table th {
    background: var(--vkc-policy-soft);
    color: var(--vkc-policy-ink);
    font-size: 12px;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.vkc-policy-table td {
    color: var(--vkc-policy-muted);
    font-size: 14px;
    line-height: 1.55;
}

.vkc-policy-table tr:last-child td {
    border-bottom: 0;
}

.vkc-policy-table small {
    color: var(--vkc-policy-muted);
}

.vkc-policy-pill {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--vkc-policy-primary) 9%, #fff);
    color: var(--vkc-policy-primary);
    font-size: 11px;
    font-weight: 720;
    white-space: nowrap;
}

.vkc-policy-service-list {
    margin: 16px 0;
    padding: 0;
    list-style: none;
}

.vkc-policy-service-list li {
    position: relative;
    margin: 0 0 8px;
    padding: 13px 15px 13px 42px;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 13px;
    background: #fff;
}

.vkc-policy-service-list li::before {
    content: "✓";
    position: absolute;
    top: 13px;
    left: 15px;
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--vkc-policy-primary) 12%, #fff);
    color: var(--vkc-policy-primary);
    font-size: 11px;
    font-weight: 800;
}

.vkc-policy-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.vkc-policy-categories > div {
    padding: 17px;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, var(--vkc-policy-soft));
}

.vkc-policy-categories strong,
.vkc-policy-categories span {
    display: block;
}

.vkc-policy-categories strong {
    margin-bottom: 5px;
    color: var(--vkc-policy-ink);
}

.vkc-policy-categories span {
    margin-bottom: 9px;
    color: var(--vkc-policy-primary);
    font-size: 11px;
    font-weight: 740;
    text-transform: uppercase;
}

.vkc-policy-categories p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
}

.vkc-policy-callout {
    padding: 14px 16px;
    border-left: 4px solid var(--vkc-policy-primary);
    border-radius: 0 12px 12px 0;
    background: var(--vkc-policy-soft);
}

@media (max-width: 720px) {
    .vkc-policy-data-grid,
    .vkc-policy-categories {
        grid-template-columns: 1fr;
    }

    .vkc-policy-document {
        font-size: 15px;
    }

    .vkc-policy-header {
        border-radius: 18px;
    }
}

/* VK Consens 2.0 — granular services, fail-closed states and form notices */
.vkc-consent-status {
    margin: 18px 0 0;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--vkc-primary) 22%, transparent);
    border-radius: 14px;
    background: color-mix(in srgb, var(--vkc-primary) 7%, var(--vkc-panel));
    color: var(--vkc-text);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.5;
}

.vkc-consent-status.is-error {
    border-color: rgba(190, 45, 63, .28);
    background: rgba(190, 45, 63, .08);
    color: #a21f35;
}

.vkc-theme-midnight .vkc-consent-status.is-error { color: #ff9aaa; }

.vkc-consent-status.is-pending::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 8px;
    vertical-align: -2px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: vkc-status-spin .7s linear infinite;
}

@keyframes vkc-status-spin { to { transform: rotate(360deg); } }

.vkc-consent-layer.is-saving .vkc-consent-dialog { cursor: progress; }
.vkc-consent-layer.is-saving .vkc-btn { opacity: .72; }

.vkc-consent-category {
    flex-wrap: wrap;
}

.vkc-category-copy {
    min-width: 0;
    flex: 1 1 calc(100% - 62px);
}

.vkc-service-disclosure {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vkc-primary);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 760;
}

.vkc-service-disclosure svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    transition: transform .2s ease;
}

.vkc-service-disclosure[aria-expanded="true"] svg { transform: rotate(180deg); }
.vkc-service-disclosure:focus-visible { outline: 3px solid color-mix(in srgb, var(--vkc-primary) 28%, transparent); outline-offset: 4px; border-radius: 4px; }

.vkc-service-list {
    width: 100%;
    margin-top: 13px;
    padding-top: 10px;
    border-top: 1px solid rgba(112, 101, 132, .14);
}

.vkc-service-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
}

.vkc-service-row + .vkc-service-row { border-top: 1px dashed rgba(112, 101, 132, .14); }
.vkc-service-row > div { min-width: 0; }
.vkc-service-row strong { margin: 0 0 2px; font-size: 12px; }
.vkc-service-row small { display: block; color: var(--vkc-muted); font-size: 10px; line-height: 1.4; }
.vkc-service-row p { margin-top: 5px; font-size: 10px; line-height: 1.45; }

.vkc-switch-small { width: 38px; height: 23px; }
.vkc-switch-small > span::after { width: 15px; height: 15px; }
.vkc-switch-small input:checked + span::after { transform: translateX(15px); }
.vkc-switch input:indeterminate + span { border-color: var(--vkc-accent); background: color-mix(in srgb, var(--vkc-accent) 65%, var(--vkc-panel)); }

.vkc-form-privacy-notice {
    margin: 15px 0;
    padding: 12px 14px;
    border-left: 3px solid var(--vkc-primary);
    border-radius: 0 11px 11px 0;
    background: color-mix(in srgb, var(--vkc-primary) 6%, transparent);
    color: var(--vkc-muted);
    font-size: 12px;
    line-height: 1.55;
}

.vkc-form-privacy-notice a,
.vkc-marketing-consent a { color: var(--vkc-primary); font-weight: 700; }

.vkc-marketing-consent {
    margin: 18px 0;
    padding: 15px;
    border: 1px solid rgba(112, 101, 132, .18);
    border-radius: 14px;
}

.vkc-marketing-consent legend {
    max-width: 100%;
    padding: 0 5px;
    color: var(--vkc-text);
    font-size: 13px;
    font-weight: 720;
    line-height: 1.45;
}

.vkc-marketing-consent > p { margin: 0 0 10px; color: var(--vkc-muted); font-size: 11px; }
.vkc-marketing-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.vkc-marketing-channels .vkc-form-check { margin: 0; }

@media (max-width: 720px) {
    .vkc-marketing-channels { grid-template-columns: 1fr; }
    .vkc-service-row p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .vkc-consent-status.is-pending::before { animation: none !important; }
}

.vkc-policy-warning {
    border-left-color: #b56a00;
    background: #fff8e7;
    color: #6f4300;
}

.vkc-policy-footer {
    margin-top: 34px;
    padding: 18px 20px;
    border: 1px solid var(--vkc-policy-border);
    border-radius: 16px;
    background: var(--vkc-policy-soft);
    color: var(--vkc-policy-muted);
    font-size: 13px;
}

.vkc-policy-footer p { margin: 0; }
.vkc-legal-sources small { color: var(--vkc-policy-muted); }
.vkc-policy-table code { padding: 2px 6px; border-radius: 5px; background: var(--vkc-policy-soft); }

.vkc-blocked-embed {
    display: none !important;
}

/* External content released after a granular consent choice. */
iframe[data-vkc-activated="1"] {
    animation: vkcExternalContentIn .45s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes vkcExternalContentIn {
    from { opacity: 0; transform: scale(.995); }
    to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    iframe[data-vkc-activated="1"] { animation: none; }
}
