
.paylogee-privacy {
    --ppc-edge: 18px;
    --ppc-radius: 18px;
    --ppc-border: #cfe0db;
    --ppc-text: #10201d;
    --ppc-muted: #60706b;
    --ppc-accent: #0b755f;
    position: relative;
    z-index: 110;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ppc-banner,
.ppc-preferences {
    position: fixed;
    left: var(--ppc-edge);
    bottom: var(--ppc-edge);
    z-index: 112;
    width: min(420px, calc(100vw - 36px));
    max-height: min(78vh, 680px);
    overflow: auto;
    padding: 18px;
    border: 1px solid var(--ppc-border);
    border-radius: var(--ppc-radius);
    background: rgba(255,255,255,.98);
    color: var(--ppc-text);
    box-shadow: 0 22px 70px rgba(19,54,46,.20), 0 3px 12px rgba(19,54,46,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.ppc-preferences {
    width: min(470px, calc(100vw - 36px));
}

.ppc-banner[hidden],
.ppc-preferences[hidden],
.ppc-reopen[hidden] {
    display: none !important;
}

.ppc-banner-head,
.ppc-preferences-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ppc-eyebrow {
    margin: 0 0 4px;
    color: var(--ppc-accent);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ppc-banner h2,
.ppc-preferences h2 {
    margin: 0;
    color: var(--ppc-text);
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.ppc-governance-badge {
    flex: 0 0 auto;
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 5px 8px;
    border: 1px solid #cce5dd;
    border-radius: 999px;
    background: #f0faf7;
    color: #176b5b;
    font-size: 10px;
    font-weight: 850;
}

.ppc-copy {
    margin: 12px 0 0;
    color: var(--ppc-muted);
    font-size: 13px;
    line-height: 1.55;
}

.ppc-signal {
    margin: 12px 0 0;
    padding: 9px 10px;
    border: 1px solid #bde4d8;
    border-radius: 10px;
    background: #f1fbf8;
    color: #245e51;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 720;
}

.ppc-choice-actions,
.ppc-preference-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 15px;
}

.ppc-choice-equal,
.ppc-settings-action,
.ppc-icon-button,
.ppc-reopen {
    appearance: none;
    font: inherit;
    cursor: pointer;
}

.ppc-choice-equal {
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--ppc-accent);
    border-radius: 11px;
    background: #ffffff;
    color: #155e50;
    font-size: 12px;
    font-weight: 900;
}

.ppc-choice-equal:hover,
.ppc-choice-equal:focus-visible {
    background: #eff9f6;
    outline: none;
}

.ppc-settings-action {
    width: 100%;
    min-height: 39px;
    margin-top: 8px;
    padding: 8px 11px;
    border: 1px solid #d6e3df;
    border-radius: 10px;
    background: #f7faf9;
    color: #345e54;
    font-size: 12px;
    font-weight: 850;
}

.ppc-footnote {
    margin: 11px 0 0;
    color: #73827d;
    font-size: 11px;
    line-height: 1.45;
}

.ppc-icon-button {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #d7e4e0;
    border-radius: 10px;
    background: #fff;
    color: #53655f;
    font-size: 20px;
    line-height: 1;
}

.ppc-governance-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
}

.ppc-governance-summary div {
    padding: 10px;
    border: 1px solid #e0e9e6;
    border-radius: 11px;
    background: #f8fbfa;
}

.ppc-governance-summary span,
.ppc-governance-summary strong {
    display: block;
}

.ppc-governance-summary span {
    color: #73817c;
    font-size: 10px;
    font-weight: 780;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ppc-governance-summary strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: #263a34;
    font-size: 11px;
}

.ppc-categories {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.ppc-category {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid #dde8e4;
    border-radius: 12px;
    background: #fff;
}

.ppc-category.is-required {
    background: #f6faf8;
}

.ppc-category-copy strong,
.ppc-category-copy span {
    display: block;
}

.ppc-category-copy strong {
    color: #20342e;
    font-size: 13px;
}

.ppc-category-copy span {
    margin-top: 3px;
    color: #667670;
    font-size: 11px;
    line-height: 1.4;
}

.ppc-switch-wrap {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ppc-switch-wrap input[data-privacy-category] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ppc-switch {
    position: relative;
    width: 42px;
    height: 24px;
    border: 1px solid #bfcfca;
    border-radius: 999px;
    background: #dfe8e5;
    transition: background .15s ease, border-color .15s ease;
}

.ppc-switch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(26,53,46,.20);
    transition: transform .15s ease;
}

.ppc-switch-wrap input[data-privacy-category]:checked + .ppc-switch {
    border-color: var(--ppc-accent);
    background: var(--ppc-accent);
}

.ppc-switch-wrap input[data-privacy-category]:checked + .ppc-switch::after {
    transform: translateX(18px);
}

.ppc-switch-wrap input[data-privacy-category]:focus-visible + .ppc-switch {
    outline: 2px solid #64b9a7;
    outline-offset: 2px;
}

.ppc-switch-wrap input[data-privacy-category]:disabled + .ppc-switch {
    opacity: .6;
}

.ppc-required-label {
    color: #48665e;
    font-size: 10px;
    font-weight: 850;
}

.ppc-reopen {
    position: fixed;
    left: var(--ppc-edge);
    bottom: var(--ppc-edge);
    z-index: 111;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 11px;
    border: 1px solid #c9dad5;
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #315f54;
    box-shadow: 0 10px 30px rgba(20,55,47,.12);
    font-size: 11px;
    font-weight: 900;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.ppc-reopen span {
    color: var(--ppc-accent);
}

@media (max-width: 760px) {
    .ppc-banner,
    .ppc-preferences {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        max-height: 62vh;
        border-radius: 16px;
    }

    .ppc-reopen {
        left: 12px;
        bottom: 148px;
    }

    .ppc-governance-summary,
    .ppc-choice-actions,
    .ppc-preference-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 460px) {
    .ppc-banner,
    .ppc-preferences {
        max-height: 66vh;
    }

    .ppc-reopen {
        bottom: 126px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ppc-switch,
    .ppc-switch::after {
        transition: none;
    }
}
