
.cookie-consent[hidden],
.cookie-preferences[hidden],
[data-cookie-content][hidden],
.cookie-external-placeholder[hidden] {
    display:none !important;
}

.cookie-consent {
    position:fixed;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    z-index:99999;
    width:min(760px, calc(100% - 28px));
    color:#313131;
    font-family:Georgia, "Times New Roman", serif;
}

.cookie-consent-inner {
    position:relative;
    background:#fff;
    border:1px solid #d8dde0;
    border-radius:12px;
    box-shadow:0 10px 28px rgba(0,0,0,.22);
    padding:22px 26px 18px;
}

.cookie-consent h2 {
    margin:0 42px 12px 0;
    text-align:center;
    font-size:21px;
    font-weight:500;
}

.cookie-consent p {
    margin:0 0 16px;
    font-size:15px;
    line-height:1.5;
}

.cookie-close {
    position:absolute;
    right:14px;
    top:10px;
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:#222;
    font-size:29px;
    line-height:1;
    cursor:pointer;
}

.cookie-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.cookie-actions button,
.cookie-external-placeholder button,
.inline-cookie-settings,
.footer-cookie-settings {
    cursor:pointer;
}

.cookie-actions button {
    min-height:48px;
    border:1px solid #e0e4e7;
    border-radius:7px;
    background:#f7f7f7;
    color:#333;
    font:inherit;
    font-size:15px;
}

.cookie-actions .cookie-primary {
    color:#fff;
    background:#247bc1;
    border-color:#247bc1;
}

.cookie-actions [data-cookie-save] {
    grid-column:1 / -1;
    background:#2d9fa5;
    color:#fff;
    border-color:#2d9fa5;
}

.cookie-policy-link {
    text-align:center;
    margin:14px 0 0 !important;
}

.cookie-policy-link a,
.inline-cookie-settings,
.footer-cookie-settings {
    color:#247bc1;
    text-decoration:underline;
    text-underline-offset:2px;
}

.cookie-preferences {
    margin:14px 0 18px;
    border-top:1px solid #e3e7e9;
    border-bottom:1px solid #e3e7e9;
}

.cookie-pref-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 2px;
    border-bottom:1px solid #edf0f1;
}

.cookie-pref-row:last-child { border-bottom:0; }
.cookie-pref-row span { display:block; }
.cookie-pref-row strong { display:block; font-size:15px; }
.cookie-pref-row small { display:block; margin-top:3px; color:#66717a; font-family:Arial,sans-serif; font-size:12px; line-height:1.35; }
.cookie-pref-row input { width:20px; height:20px; flex:0 0 auto; }

.footer-legal {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:5px !important;
    font-size:13px;
}

.footer-cookie-settings,
.inline-cookie-settings {
    border:0;
    padding:0;
    background:transparent;
    font:inherit;
}

.cookie-external-box {
    position:relative;
    min-height:160px;
}

.cookie-external-box.compact {
    min-height:0;
}

.cookie-external-placeholder {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:150px;
    padding:18px;
    box-sizing:border-box;
    text-align:center;
    border:1px solid #d7e1e3;
    border-radius:8px;
    background:#f5f8f8;
    color:#4b555b;
}

.cookie-external-box.compact .cookie-external-placeholder {
    min-height:74px;
    padding:12px;
}

.cookie-external-placeholder p {
    margin:0;
}

.cookie-external-placeholder button {
    border:1px solid #2d9fa5;
    border-radius:6px;
    padding:8px 12px;
    background:#fff;
    color:#216f73;
    font-weight:700;
}

.legal-page {
    max-width:960px;
    margin:0 auto;
    font-size:16px;
    line-height:1.65;
}

.legal-page h1 {
    margin:0 0 4px;
    font-size:31px;
    color:#17365d;
}

.legal-page h2 {
    margin:28px 0 8px;
    padding-top:10px;
    border-top:4px solid #2fa8ad;
    border-radius:5px 5px 0 0;
    font-size:23px;
    color:#17365d;
}

.legal-page h3 {
    margin:20px 0 6px;
    font-size:19px;
}

.legal-updated {
    margin-top:0;
    color:#6a747c;
    font-size:14px;
}

.legal-table-wrap { overflow-x:auto; }
.legal-table {
    width:100%;
    border-collapse:collapse;
    margin:12px 0 20px;
}
.legal-table th,
.legal-table td {
    border:1px solid #d8dfe2;
    padding:10px 12px;
    text-align:left;
    vertical-align:top;
}
.legal-table th { background:#e7f4f4; }

@media(max-width:720px) {
    .cookie-consent {
        bottom:10px;
        width:calc(100% - 18px);
    }
    .cookie-consent-inner {
        padding:18px 16px 14px;
        max-height:calc(100vh - 20px);
        overflow:auto;
    }
    .cookie-consent h2 { font-size:19px; }
    .cookie-consent p { font-size:14px; }
    .cookie-actions {
        grid-template-columns:1fr;
    }
    .cookie-actions [data-cookie-save] {
        grid-column:auto;
    }
}
