/* Reuse the site's typography and palette; scoped selectors survive CSS order. */
#cc-main {
  --cc-font-family: var(--font, 'Work Sans', sans-serif);
  --cc-primary-color: var(--navy, #101d3c);
  --cc-secondary-color: var(--muted, #5a667b);
  --cc-btn-primary-bg: var(--teal, #244ee4);
  --cc-btn-primary-hover-bg: var(--teal-dark, #183dc4);
  --cc-btn-primary-border-color: var(--teal, #244ee4);
  --cc-btn-primary-hover-border-color: var(--teal-dark, #183dc4);
  --cc-btn-secondary-bg: #edf2ff;
  --cc-btn-secondary-color: #101d3c;
  --cc-toggle-on-bg: var(--teal, #244ee4);
  --cc-toggle-off-bg: #5a667b;
  --cc-modal-border-radius: 6px;
  --cc-btn-border-radius: 3px;
}
#cc-main .cm { max-width: 640px; }
#cc-main .cm__title, #cc-main .pm__title { font-family: var(--head, 'Archivo', sans-serif); font-size: 1.4rem; font-weight: 500; letter-spacing: -.025em; }
#cc-main .cm__desc, #cc-main .pm__section-desc { font-size: .95rem; line-height: 1.65; }
#cc-main .cm__texts { padding: 24px 24px 18px; }
#cc-main .cm__btns { padding: 0 24px 20px; border: 0; }
#cc-main .cm__btn, #cc-main .pm__btn { min-height: 48px; font-size: .9rem; font-weight: 500; padding: 12px 14px; }
#cc-main .cm__footer { background: #f5f7fb; padding: 12px 24px; }
#cc-main .cm__footer a { font-weight: 400; color: #26344f; }
#cc-main .pm { max-width: 680px; }
#cc-main .pm__header, #cc-main .pm__body, #cc-main .pm__footer { padding: 20px 24px; }
#cc-main .pm__section-toggles { margin: 20px 0; }
#cc-main .pm__section--toggle { border: 1px solid #dbe1eb; border-radius: 3px; margin: 0 0 12px; overflow: visible; }
#cc-main .pm__section-title-wrapper { position: relative; background: #f5f7fb; min-height: 64px; }
#cc-main .pm__section--toggle .pm__section-title { font-family: var(--head, 'Archivo', sans-serif); font-weight: 500; font-size: 1.1rem; line-height: 1.3; background: transparent; padding: 20px 155px 20px 18px; margin: 0; border: 0; }
#cc-main .pm__section-arrow { display: none; }
#cc-main .pm__section--toggle .pm__section-desc-wrapper { display: block; padding: 12px 18px 16px; }
#cc-main .pm__section-desc { margin: 0; }
#cc-main .section__toggle-wrapper { right: 18px; top: 50%; margin-top: -12px; }
#cc-main .consent-switch-state { position: absolute; right: 60px; top: 0; line-height: 24px; white-space: nowrap; font-size: .85rem; color: #26344f; }
#cc-main .section__toggle:disabled ~ .toggle__icon { display: none; }
#cc-main .section__toggle:disabled ~ .consent-switch-state { right: 0; font-weight: 500; }
#cc-main .section__toggle:focus-visible ~ .toggle__icon { outline: 3px solid #101d3c; outline-offset: 4px; }
#cc-main .pm__btn[data-role=save] { background: #244ee4; border-color: #244ee4; color: #fff; min-width: 190px; }
#cc-main .pm__btn[data-role=save]:hover { background: #183dc4; }
#cc-main a:focus-visible, #cc-main button:focus-visible { outline: 3px solid #101d3c; outline-offset: 3px; }
.consent-status { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 2147483647; background: #101d3c; color: #fff; border-radius: 3px; padding: 12px 20px; max-width: calc(100% - 32px); box-shadow: 0 4px 20px #101d3260; }
.consent-status:empty { display: none; }
.footer-bottom { flex-wrap: wrap; }
.cookie-settings-link { text-decoration: underline; text-underline-offset: .2em; }
.booking-placeholder { border: 1px solid #dbe1eb; border-radius: 3px; padding: 24px; background: #fff; color: #26344f; }
.booking-placeholder p { margin: 0 0 18px; }
.booking-placeholder [hidden] { display: none !important; }
main .cookie-details { max-width: none; margin: 0; }
main .cookie-details h2 { font-size: 1.7rem; margin: 36px 0 18px; }
main .cookie-details h3 { font-size: 1.2rem; margin: 26px 0 12px; }
main .cookie-details p + p { margin-top: 18px; }
main .cookie-details .cookie-updated { font-size: .9rem; }
main .cookie-page-head h1 { font-size: clamp(2.5rem, 4vw, 4rem); }
.cookie-table-wrap { margin: 24px 0; overflow-x: auto; }
.cookie-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .9rem; }
.cookie-table th, .cookie-table td { padding: 14px 12px; border-bottom: 1px solid #dbe1eb; vertical-align: top; }
.cookie-table th { background: #f5f7fb; font-weight: 500; }
.cookie-table code { overflow-wrap: anywhere; }
@media(max-width: 640px) {
  #cc-main .cm__texts { padding: 20px 20px 14px; }
  #cc-main .cm__btns { padding: 0 20px 16px; }
  #cc-main .cm__footer { padding: 12px 20px; }
  #cc-main .pm__header, #cc-main .pm__body, #cc-main .pm__footer { padding: 16px; }
  #cc-main .pm__btn-group, #cc-main .pm__btn[data-role=save] { width: 100%; }
  #cc-main .pm__btn-group:empty { display: none; }
  #cc-main .pm__section--toggle .pm__section-title { padding-left: 14px; padding-right: 140px; font-size: 1rem; }
  #cc-main .pm__section--toggle .pm__section-desc-wrapper { padding: 12px 14px; }
  .booking-placeholder { padding: 16px; }
  .cookie-table th, .cookie-table td { padding: 12px 8px; }
}
@media(prefers-reduced-motion: reduce) { #cc-main *, #cc-main *::before, #cc-main *::after { transition: none !important; } }
#cc-main .cm.cm--wide { width: 640px; max-width: calc(100vw - 32px); }
#cc-main .cm__texts .cm__title, #cc-main .cm__texts .cm__desc { padding-left: 0; padding-right: 0; }
#cc-main .cm__texts .cm__desc { padding-bottom: 0; }
#cc-main .pm { height: auto; max-height: calc(100% - 32px); }
#cc-main .pm__section--toggle .pm__section-desc { padding: 0; background: #fff; }
#cc-main .pm__section--toggle .pm__section-desc-wrapper { background: #fff; }
#cc-main .pm__section-toggles { margin: 12px 0; }
@media(max-width: 640px) {
  #cc-main .cm.cm--wide { width: calc(100% - 16px); max-width: none; }
  #cc-main .pm { height: 100%; max-height: 100%; }
}
#cc-main .cm.cm--wide .cm__btn { padding: 12px 14px; }
#cc-main .cm__footer .cm__links { padding: 0; }
#cc-main .pm__section:last-child { border: 0; padding: 0; }
@media(min-width: 641px) { #cc-main .cm__btn { white-space: nowrap; } }
@media(max-width: 640px) {
  /* The vendor's mobile padding uses !important; override only the nested copy. */
  #cc-main .cm__texts .cm__title, #cc-main .cm__texts .cm__desc { padding-left: 0 !important; padding-right: 0 !important; }
  #cc-main .cm__footer .cm__links { padding: 0 !important; }
}
