:root {
    --saundersfoot-teal: #243b80;
    --saundersfoot-sage: #00809c;
    --saundersfoot-body: #4c4c4c;
    --nav-text: #243b80;
    --nav-active: #243b80;
    --nav-hover: #00809c;
    --nav-arrow: #243b80;
    --nav-arrow-hover: #00809c;
    --dropdown-hover-background: #243b80;
    --footer-background: #141343;
    --footer-link-hover: #72a7bd;
    --footer-credit-link: #72a7bd;
}

h1, h2, h3, h4, h5, h6 { color: #243b80; }
a { color: #243b80; }
:focus-visible { outline-color: #00809c; }

.button,
.nxb-text-block__button,
.nxb-banner__button {
    min-height: 41px;
    padding: 8px 14px;
    border-radius: 6px;
    font: 600 15px/1.5 Poppins, sans-serif;
}
.button-primary,
.nxb-text-block__button--primary,
.nxb-banner__button--primary { background: #243b80; border-color: #243b80; color: #fff; }
.button-light { background: #00809c; border-color: #00809c; color: #fff; }
.header-actions .button:hover { filter: brightness(.9); color: #fff; }
.main-navigation a, .main-navigation button { color: #243b80; }

.nxb-section--light { background: linear-gradient(180deg, #f2fbff, #d2e9f4); }
.nxb-section--dark { background: linear-gradient(180deg, #00809c, #003c4e); }
.nxb-section--accent { background: #72a7bd; }
.nxb-section--teal { background: #003c4e; }
.nxb-section--forest { background: #060c44; }
.nxb-section--rose { background: #b42a52; }
.nxb-section--grey { background: #f9f9f9; }
.nxb-section--grey-gradient { background: linear-gradient(180deg, #f2f2f2, #fff); }
.nxb-section:is(.nxb-section--white,.nxb-section--light,.nxb-section--grey,.nxb-section--grey-gradient) {
    --nxb-heading-colour: #243b80;
    --nxb-eyebrow-colour: #72a7bd;
    color: #4c4c4c;
}
.nxb-text-block__heading { font-size: 40px; line-height: 1.2; }
.nxb-text-block__intro > .nxb-text-block__heading { color: var(--nxb-heading-colour, #243b80); }
.nxb-text-block__intro > .nxb-text-block__secondary-heading { color: var(--nxb-eyebrow-colour, #72a7bd); }
.nxb-simple-pods__heading { color: #243b80; }
.nxb-simple-pods__eyebrow { color: var(--nxb-eyebrow-colour, #72a7bd); }
.nxb-simple-pods__link { color: #243b80; }
.nxb-pods-arrow, .nxb-gallery__arrow { color: #243b80; }
.nxb-code-block__optional { padding: 18px; background: #f2fbff; color: #243b80; }
.nxb-code-block__optional[hidden] { display: none; }
.nxb-code-block__optional p { margin: 0 0 12px; }
.nxb-code-block__optional button, .nxb-code-block__optional a {
    display: inline-block;
    margin-right: 12px;
    border: 0;
    border-radius: 6px;
    padding: 8px 14px;
    background: #243b80;
    color: #fff;
    text-decoration: none;
}

.global-content--top { overflow: hidden; }
.global-content--top .nxb-section { background: #141343; color: #fff; }
.global-content--top .nxb-section a { color: #fff; }
@media (min-width: 992px) {
    .global-content--top .nxb-simple-pods { max-width: 100%; }
    .global-content--top .nxb-simple-pods__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
    .global-content--top .nxb-simple-pods__card { text-align: center; }
}
.nxb-banner { --nxb-banner-accent: #243b80; }
.nxb-banner__title { color: #fff; }
.nxb-contact-form { --nxb-contact-form-accent: #243b80; }
.nxb-contact-form--background-brand {
    --nxb-contact-background: #72a7bd;
    --nxb-contact-colour: #fff;
    --nxb-contact-accent: #fff;
}
.nxb-contact-form--button-brand {
    --nxb-contact-button-background: #243b80;
    --nxb-contact-button-border: #243b80;
    --nxb-contact-button-colour: #fff;
}
.nxb-property-details--sale .nxb-property-details__intro { background: #72a7bd; }
.nxb-property-details--sale .nxb-property-status {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    font: 700 18px/1.2 Poppins, sans-serif;
}
.nxb-property-details__intro h1.nxb-text-block__heading { font-size: 40px; }
.nxb-contact-form__intro { max-width: none; }
.nxb-contact-form__heading { font-size: clamp(30px, 3.1vw, 40px); line-height: 1.2; }
@media (min-width: 992px) {
    .nxb-property-details__inner { width: calc(100% - 25px); max-width: none; }
    .nxb-property-details__intro-grid { gap: 25px; }
    .nxb-property-details--sale .nxb-property-details__features { margin-top: 190px; }
}
.saundersfoot-design-wave--holiday-home { background: #72a7bd; }
.saundersfoot-design-wave--footer { background: #fff; }
.site-footer { background: linear-gradient(180deg, #141343, #07061a); color: #fff; }
.site-footer h2, .site-footer h3, .site-footer a { color: #fff; }
.footer-content .nxb-simple-pods__card,
.footer-content .nxb-simple-pods__text,
.footer-content .nxb-simple-pods__text p { color: #fff; }
@media (min-width: 992px) {
    .footer-content .nxb-simple-pods__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 576px) and (max-width: 991px) {
    .footer-content .nxb-simple-pods__grid { display: block; }
    .footer-content .nxb-simple-pods__card + .nxb-simple-pods__card { margin-left: 60px; margin-top: 25px; }
}

.cookie-consent .cookie-consent__banner { background: #243b80; color: #fff; }
.cookie-consent .cookie-consent__banner :is(h2,p,a,button) { color: #fff; }
.cookie-consent .cookie-consent__banner .cookie-consent__button,
.cookie-consent .cookie-consent__banner .cookie-consent__button:hover,
.cookie-consent .cookie-consent__banner .cookie-consent__button:focus-visible {
    background: transparent;
    border-color: #fff;
    color: #fff;
}
.cookie-consent .cookie-consent__banner .cookie-consent__button--strong { border-width: 2px; font-weight: 700; }

@media (max-width: 767px) {
    .nxb-text-block__heading { font-size: 30px; }
}
