[hidden] { display: none !important; }
.cookie-settings-link { border: 0; background: none; color: inherit; padding: 0; font: inherit; text-align: left; cursor: pointer; text-decoration: underline; }
.cookie-banner { position: fixed; z-index: 1000; inset: auto 20px 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 420px); gap: 24px; padding: 24px; background: #fff; color: #202833; border: 1px solid #317381; border-radius: 7px; max-height: 75dvh; overflow: auto; }
.cookie-banner h2, .cookie-dialog h2 { font-size: 24px; font-weight: 500; margin: 0 0 10px; line-height: 1.2; }
.cookie-banner p, .cookie-dialog p { font-size: 17px; line-height: 1.45; margin: 8px 0; }
.cookie-banner a, .cookie-dialog a { color: #225764; text-decoration: underline; }
.cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: center; }
.cookie-actions button { padding: 11px 14px; min-height: 46px; font: inherit; font-size: 17px; font-weight: 400; border: 1px solid #317381; color: #fff; background: #317381; border-radius: 7px; cursor: pointer; line-height: 1.2; overflow-wrap: anywhere; }
.cookie-actions button:hover { background: #22495a; }
.cookie-actions .cookie-customize { grid-column: 1 / -1; background: transparent; border-color: transparent; color: #225764; text-decoration: underline; }
.cookie-actions .cookie-close { grid-column: 1 / -1; }
.cookie-actions button:disabled { opacity: .65; cursor: wait; }
.cookie-dialog { width: min(620px, calc(100% - 32px)); max-height: calc(100dvh - 40px); border: 1px solid #317381; border-radius: 7px; padding: 28px; color: #202833; }
.cookie-dialog::backdrop { background: rgb(0 0 0 / 40%); }
.cookie-dialog[open] { display: flex; flex-direction: column; }
.cookie-dialog h2, .cookie-dialog .cookie-actions { flex-shrink: 0; }
.cookie-dialog__options { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: 4px; }
.cookie-dialog .cookie-admin-note { padding: 12px; border-left: 3px solid #317381; background: #eef6f4; }
.cookie-dialog .cookie-actions { padding-top: 16px; border-top: 1px solid #dbe4e6; }
.cookie-option { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 18px 0; border-block-start: 1px solid #dbe4e6; }
.cookie-option p, .cookie-option > span:last-child { grid-column: 1 / -1; font-size: 17px; }
.cookie-option strong { font-weight: 600; }
.cookie-option input { width: 22px; height: 22px; accent-color: #317381; }
.cookie-message { position: fixed; z-index: 1100; bottom: 16px; left: 16px; right: 16px; padding: 14px; background: #fff; color: #202833; border: 1px solid #317381; border-radius: 7px; }
.form-privacy { grid-column: 1 / -1; font-size: 16px; line-height: 1.5; margin: 0; }
.form-privacy a { text-decoration: underline; }
.page--legal .split-list { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.page--legal .split-list h2 { font-size: 28px; }
.page--legal .split-list .cms-rich { line-height: 1.75; }
.google-business__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center; gap: 56px; }
.google-business__layout--links { grid-template-columns: minmax(0, 1fr); }
.google-business__info { min-width: 0; }
.google-business h2 { font-size: 36px; font-weight: 400; margin: 0 0 28px; }
.google-business__eyebrow { margin: 0 0 12px; color: var(--brand); font-size: 18px; }
.google-business address { font-style: normal; font-size: 20px; line-height: 1.65; }
.google-business address strong { font-weight: 500; }
.google-business .button { font-size: 18px; font-weight: 400; }
.google-business__links { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 28px; }
.google-business__links > a:not(.button), .google-map__privacy { color: var(--brand); text-decoration: underline; text-underline-offset: 4px; font-size: 18px; }
.google-business .button { max-width: 100%; white-space: normal; text-align: center; }
.google-map { position: relative; min-width: 0; height: 440px; background: #eef6f4; border-radius: var(--radius); overflow: hidden; }
.google-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.google-map [data-map-placeholder] { height: 100%; overflow-y: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 28px; text-align: center; }
.google-map [data-map-placeholder] > * { flex-shrink: 0; }
.google-map h3 { font-size: 24px; font-weight: 400; margin: 0; }
.google-map p { max-width: 440px; margin: 0; font-size: 17px; line-height: 1.5; }
@media (max-width: 900px) {
    .google-business__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .google-business h2 { font-size: 30px; }
}
@media (max-width: 700px) {
    .google-map { height: 440px; }
    .google-map [data-map-placeholder] { padding: 20px; }
    .cookie-banner { inset: auto 10px 10px; grid-template-columns: 1fr; gap: 12px; padding: 18px; }
    .cookie-dialog { padding: 20px; }
}
