.cookie-banner[hidden], .cookie-error[hidden], [data-consent-grant][hidden] { display: none !important; }
.cookie-banner { position: fixed; z-index: 10000; bottom: 0; inset-inline: 0; padding: 22px max(24px, calc((100vw - 1200px) / 2)); background: #fff; color: #252630; border-top: 2px solid #312783; box-shadow: 0 -5px 24px #25263014; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; max-height: 48vh; overflow: auto; }
.cookie-banner h2, .cookie-dialog h2 { font: 400 28px/1.2 Georgia, serif; color: #312783; margin: 0 0 10px; }
.cookie-banner p { font: 16px/1.6 Arial, sans-serif; margin: 0; max-width: 76ch; }
.cookie-banner a, .cookie-dialog a { color: #312783; text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cookie-actions button, .consent-allow-button { font: 600 17px/1.4 Arial, sans-serif; padding: 12px 18px; min-height: 48px; border: 1px solid #312783; color: #312783; background: #fff; cursor: pointer; }
.cookie-actions [data-consent-accept], .cookie-actions [data-consent-reject] { flex: 1 1 150px; }
.cookie-actions button:hover, .consent-allow-button:hover { background: #efede5; }
.cookie-actions button:focus-visible, .consent-allow-button:focus-visible, .cookie-dialog input:focus-visible, .cookie-dialog a:focus-visible, .cookie-banner a:focus-visible { outline: 3px solid #9b700b; outline-offset: 4px; }
.cookie-banner .cookie-actions { max-width: 420px; }
.cookie-actions .cookie-settings-button { flex-basis: 100%; border-color: transparent; text-decoration: underline; text-underline-offset: 3px; padding-block: 8px; }
.cookie-error { color: #8a2020; border-left: 3px solid #8a2020; padding: 10px 14px; font: 16px/1.5 Arial, sans-serif; grid-column: 1 / -1; }
.cookie-dialog { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 28px; border: 1px solid #d8d7d2; background: #faf9f5; color: #252630; overflow-y: auto; }
.cookie-dialog:not([open]) { display: none; }
.cookie-dialog::backdrop { background: #17153699; }
body:has(.cookie-dialog[open]) { overflow: hidden; }
.cookie-dialog h2 { font-size: 34px; }
.cookie-dialog p, .cookie-option { font: 17px/1.65 Arial, sans-serif; }
.cookie-necessary { padding: 18px 0; border-block: 1px solid #d8d7d2; margin: 22px 0; }
.cookie-necessary h3 { font: 600 18px/1.5 Arial, sans-serif; color: #312783; margin: 0 0 8px; }
.cookie-necessary p { margin: 0; }
.cookie-option { display: flex; align-items: flex-start; gap: 15px; cursor: pointer; margin-top: 20px; }
.cookie-option input { flex: 0 0 24px; width: 24px; height: 24px; accent-color: #312783; margin: 3px 0 0; }
.cookie-option strong, .cookie-option span span { display: block; }
.cookie-option strong { color: #312783; margin-bottom: 6px; font-size: 18px; }
.cookie-provider-link { margin: 10px 0 24px 39px; }
.cookie-dialog .cookie-explanation { font-size: 16px; line-height: 1.6; }
.cookie-dialog-actions { margin: 24px 0 12px; }
.cookie-dialog-actions button { flex: 1; }
.consent-placeholder { padding: 24px; background: #faf9f5; border: 1px solid #d8d7d2; color: #454a50; }
.consent-placeholder p { font: 16px/1.65 Arial, sans-serif; margin: 0 0 16px; }
.consent-placeholder .consent-allow-button { width: 100%; }
.find-us-google-stage .consent-placeholder { min-height: 370px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 32px; background: #e8eee7; }
.find-us-google-stage .consent-placeholder[hidden] { display: none; }
.find-us-google-stage .consent-placeholder h4 { font: 400 26px/1.3 Georgia, serif; color: #312783; margin: 0 0 16px; }
.find-us-google-stage .consent-allow-button { width: auto; }
[data-rs-placeholder][hidden] { display: none; }
@media (max-width: 759px) {
  .cookie-banner { display: block; padding: 18px 20px; max-height: 50dvh; }
  .cookie-banner h2 { font-size: 24px; }
  .cookie-banner .cookie-actions { margin-top: 14px; max-width: none; gap: 10px; }
  .cookie-banner p { font-size: 16px; }
  .cookie-actions [data-consent-accept], .cookie-actions [data-consent-reject] { flex-basis: 120px; }
  .cookie-actions button { font-size: 16px; padding-inline: 12px; }
  .cookie-dialog { padding: 22px; max-height: calc(100dvh - 24px); }
  .cookie-dialog h2 { font-size: 30px; }
  .find-us-google-stage .consent-placeholder { min-height: 340px; padding: 24px; }
}
@media print { .cookie-banner, .cookie-dialog, [data-consent-manage], [data-consent-grant] { display: none !important; } }
