/* -----------------------------------------------------------------------
   Privacy: the cookie banner (partials/cookie-banner.php), the placeholders
   that stand in for Google Maps until the visitor allows them, and the
   privacy links in the footer and under the forms. Behaviour: the "Cookie
   consent" part of assets/js/site.js.
   ----------------------------------------------------------------------- */

/* Buttons here are .ra-btn (display: flex), which beats the [hidden] rule. */
.cookie-banner[hidden],
.cookie-banner [hidden],
.consent-embed [hidden] {display: none !important}

.cookie-banner {position: fixed; z-index: 999; right: 16px; bottom: 16px; left: 16px; box-sizing: border-box; max-width: 560px; max-height: calc(100vh - 32px); overflow-y: auto; padding: 2rem; border-radius: var(--ra-radius-m); background: var(--ra-light); color: var(--ra-text-body); box-shadow: 0 10px 40px rgba(0, 0, 0, .25); font-size: 1.5rem; line-height: 1.5; text-align: left}
.cookie-banner:focus {outline: none}
.cookie-banner__title {margin: 0 0 .6rem; color: var(--ra-dark); font-size: 1.8rem; font-weight: 700; line-height: 1.3}
.cookie-banner__text {margin: 0}
.cookie-banner a {color: var(--ra-primary); font-weight: 600; text-decoration: underline}
.cookie-banner a:hover {text-decoration: none}
.cookie-banner__options {display: grid; gap: 1.2rem; margin-top: 1.6rem; padding-top: 1.6rem; border-top: 1px solid var(--ra-text-body-10)}
.cookie-banner__option {display: flex; gap: 1rem; align-items: flex-start; color: var(--ra-text-body); cursor: pointer}
.cookie-banner__option input {flex: 0 0 auto; width: 2rem; height: 2rem; margin: .2rem 0 0; accent-color: var(--ra-primary); cursor: pointer}
.cookie-banner__option input:disabled {cursor: default}
.cookie-banner__option strong {display: block; color: var(--ra-dark)}
.cookie-banner__actions {display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.6rem}
.cookie-banner__actions .ra-btn {flex: 1 1 12rem; padding: 1.2rem 1.6rem}
.cookie-banner__more {flex: 0 0 auto; padding: 1rem .6rem; border: 0; background: none; color: var(--ra-primary); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer}
.cookie-banner__more:hover {text-decoration: none}
.cookie-banner :is(a, button, input):focus-visible,
.consent-embed :is(a, button):focus-visible,
.cookie-settings-link:focus-visible {outline: none; box-shadow: var(--ra-focus-ring)}

@media (min-width: 768px) {
.cookie-banner {right: auto; bottom: 24px; left: 24px; padding: 2.4rem}
}
@media (prefers-reduced-motion: no-preference) {
.cookie-banner {animation: cookie-banner-in .3s ease-out}
@keyframes cookie-banner-in {from {opacity: 0; transform: translateY(12px)}}
}
@media print {
.cookie-banner {display: none !important}
}

/* Google Maps placeholder: fills the map's box until the map may load. */
.consent-embed-host {position: relative}
.consent-embed {position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; gap: 1.2rem; align-items: center; justify-content: center; padding: 2.4rem; background: var(--ra-bg-surface); color: var(--ra-text-body); font-size: 1.5rem; line-height: 1.5; text-align: center}
.consent-embed p {max-width: 36rem; margin: 0}
.consent-embed__actions {display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; align-items: center; justify-content: center}
.consent-embed a {color: var(--ra-primary); font-weight: 600; text-decoration: underline}
.consent-embed a:hover {text-decoration: none}

/* Footer: Privacy Policy and Cookie settings (replaced the reCAPTCHA note). */
#brxe-egvhio a,
.cookie-settings-link {color: inherit; text-decoration: underline}
#brxe-egvhio a:hover,
.cookie-settings-link:hover {text-decoration: none}
.cookie-settings-link {padding: 0; border: 0; background: none; font: inherit; cursor: pointer}

/* "Privacy Policy" under the quote forms and the calculator. */
.ra-form-reassurance a,
.order-reassurance a {color: inherit; text-decoration: underline}
