/* Cookie controls share Pera's typography and STAPPA's blue. */
.stappa { --stappa-floating-gap: 20px; }
.stappa #back-to-top { right: var(--stappa-floating-gap); bottom: var(--stappa-floating-gap); transform-origin: bottom right; }
.stappa-cookie-banner[hidden], .stappa-cookie-panel[hidden], .stappa-consent-placeholder[hidden] { display: none !important; }
.stappa-cookie-banner { position: fixed; z-index: 100000; bottom: 18px; left: 18px; right: 18px; margin: 0 auto; max-width: 1180px; max-height: 65vh; overflow-y: auto; padding: 26px 32px; background: #fff; color: #464646; box-shadow: 0 5px 35px #0005; border-top: 3px solid #087fb1; font-size: 15px; line-height: 1.6; }
.stappa-cookie-banner h2 { font-family: 'Staatliches', sans-serif; font-size: 30px; margin: 0 35px 10px 0; }
.stappa-cookie-banner p { line-height: inherit; margin: 0 28px 18px 0; }
.stappa-cookie-banner a, .stappa-consent-placeholder a { color: #066589; text-decoration: underline; }
.stappa-cookie-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.stappa-cookie-banner button:not(.stappa-cookie-close), .stappa-cookie-page .stappa-cookie-actions button, .stappa-consent-placeholder button { min-height: 44px; background: #087ca8; color: #fff; border: 1px solid #087ca8; padding: 11px 20px; font: inherit; line-height: 1.4; }
.stappa-cookie-banner button:not(.stappa-cookie-close):hover, .stappa-cookie-page .stappa-cookie-actions button:hover, .stappa-consent-placeholder button:hover { background: #056487; border-color: #056487; }
.stappa-cookie-banner .stappa-cookie-close { position: absolute; top: 9px; right: 9px; min-width: 44px; min-height: 44px; font-size: 30px; color: #464646; }
.stappa-cookie-panel { margin-top: 22px; padding-top: 20px; border-top: 1px solid #ddd; }
.stappa-cookie-check { display: flex !important; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.6; margin-bottom: 20px; cursor: pointer; }
.stappa-cookie-check input[type=checkbox] { position: static !important; flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 0 0 !important; accent-color: #087ca8; }
.stappa-cookie-check span { min-width: 0; }
.stappa .stappa-cookie-opener { position: fixed; bottom: var(--stappa-floating-gap); left: var(--stappa-floating-gap); z-index: 99999; padding: 8px 14px; border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #464646; font-size: 13px; min-height: 40px; box-shadow: 0 2px 8px #0003; }
.stappa-cookie-live { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.stappa-cookie-banner button:focus-visible, .stappa-cookie-banner a:focus-visible, .stappa-cookie-opener:focus-visible, .stappa-cookie-page button:focus-visible, .stappa-cookie-check input:focus-visible, .stappa-consent-placeholder button:focus-visible { outline: 2px solid #087ca8 !important; outline-offset: 3px; }
.stappa-cookie-page [data-cookie-form] { background: #2b2b2b; padding: 30px; margin-bottom: 40px; }
.stappa-cookie-page [data-cookie-form] h2 { margin-top: 0; }
.stappa-cookie-page [data-cookie-status] { margin-top: 20px; margin-bottom: 0; }
.stappa-cookie-page [data-cookie-status]:empty { display: none; }
.stappa-cookie-page table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.65; }
.stappa-cookie-page th, .stappa-cookie-page td { text-align: left; vertical-align: top; padding: 16px; border: 1px solid #555; overflow-wrap: anywhere; }
.stappa-cookie-page code { color: #fff; font-size: 14px; }
.stappa-consent-embed { position: relative; display: flex; flex-direction: column; flex: 1; min-height: 450px; }
.stappa-contact-map .stappa-consent-embed > iframe { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
.stappa-consent-placeholder { flex: 1; width: 100%; padding: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #292929; color: #ddd; }
.stappa-consent-placeholder h3 { font-family: 'Staatliches', sans-serif; font-size: 30px; color: #fff; margin-bottom: 20px; }
.stappa-consent-placeholder p { font-size: 16px; line-height: 1.7; margin-bottom: 24px; max-width: 430px; }
@media (max-width: 991px) {
    .stappa-contact-map .stappa-consent-embed { min-height: 300px; }
}
@media (max-width: 575px) {
    .stappa { --stappa-floating-gap: 12px; }
    .stappa-cookie-banner { bottom: 0; left: 0; right: 0; padding: 20px; font-size: 14px; max-height: 60vh; }
    .stappa-cookie-banner h2 { font-size: 26px; }
    .stappa-cookie-banner p { margin-right: 0; }
    .stappa-cookie-actions { gap: 8px; }
    .stappa-cookie-actions button { flex: 1 1 140px; padding: 10px 12px !important; }
    .stappa-cookie-page [data-cookie-form] { padding: 22px; }
    .stappa-cookie-check { font-size: 15px; }
    .stappa-consent-placeholder { padding: 25px; }
    .stappa-cookie-page table { min-width: 650px; }
}
