/* Privacy controls */
.consent-backdrop {
    align-items: flex-end;
    background: rgba(0, 0, 0, .55);
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 20px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100000;
}

.consent-panel {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
    max-width: 760px;
    padding: 24px;
    width: 100%;
}

.consent-panel h2 { margin-top: 0; }
.consent-details { display: none; margin: 18px 0; }
.consent-details.is-open { display: flex; flex-direction: column; gap: 10px; }
.consent-details input[type=checkbox] { display: inline-block; width: auto; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.consent-button,
.cookie-preferences-link {
    background: transparent;
    border: 1px solid #2ca9bc;
    border-radius: 3px;
    color: #176d7a;
    cursor: pointer;
    min-height: 42px;
    padding: 9px 16px;
}
.consent-button:focus,
.consent-button:hover { background: #2ca9bc; color: #fff; }
.cookie-preferences-link { border: 0; color: inherit; min-height: 0; padding: 0; }
.external-content-placeholder {
    align-items: center;
    background: #f2f2f2;
    display: flex;
    justify-content: center;
    min-height: 220px;
    width: 100%;
}

@media (max-width: 600px) {
    .consent-backdrop { padding: 10px; }
    .consent-panel { padding: 18px; }
    .consent-actions { flex-direction: column; }
    .consent-button { width: 100%; }
}

.site-cookie-preferences { padding: 12px; text-align: center; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-consent input[type=checkbox] { display: inline-block; width: auto; }
.consent-error { color: #a22323; }
.consent-panel { max-height: calc(100vh - 40px); overflow-y: auto; }
