:root {
    --trefach-teal: #2b8640;
    --trefach-sage: #d3ad89;
    --trefach-body: #4c4c4c;
    --nav-text: #2d7138;
    --nav-active: #2d7138;
    --nav-hover: #2d7138;
    --dropdown-hover-background: #2d7138;
}

body { background: #eee; line-height: 1.5; }
.page { background: #fff; }
.site-header { box-shadow: none; }
.header-inner .header-logo img { max-height: 86px; }
.header-actions .button-primary { background: #094312; border-color: #094312; }
.header-actions .button-light { background: #d3ad89; border-color: #d3ad89; color: #fff; }
.global-content--top, .global-content--top .nxb-section { background: #094312; color: #fff; }

.button, .nxb-text-block__button, .nxb-banner__button {
    border-radius: 5px;
    font: 600 15px/1.5 Poppins, sans-serif;
    min-height: 40px;
    padding: 8px 14px;
}
.nxb-banner { --nxb-banner-accent: #d3ad89; }
.nxb-banner__title { font-size: 55px; line-height: 1.2; }
.nxb-banner__button--primary, .nxb-banner__button--secondary {
    background: #d3ad89;
    border-color: #d3ad89;
    color: #fff;
}
.nxb-text-block__heading { font-size: 40px; line-height: 1.2; }
.nxb-text-block__secondary-heading { color: #d3ad89; font: 700 20px/1.2 Poppins, sans-serif; }
.nxb-text-block__button--secondary { background: #d3ad89; border-color: #d3ad89; color: #fff; }
.nxb-section--dark { background: linear-gradient(225deg, #2d7138, #1c5825); }
.nxb-section--accent, .nxb-property-details__intro { background: #2b8640; }
.nxb-section--teal { background: #338640; }
.nxb-section--forest { background: #1c5825; }
.nxb-section--light { background: linear-gradient(0deg, #fbfff9, #f6fff2); }
.nxb-section:is(.nxb-section--white, .nxb-section--grey, .nxb-section--grey-gradient, .nxb-section--light) {
    --nxb-heading-colour: #2b8640;
    --nxb-eyebrow-colour: #d3ad89;
}
.nxb-property-details__intro .nxb-property-facts img { filter: brightness(0) invert(1); }
.nxb-property-details--rental .nxb-property-details__intro-grid { grid-template-columns: minmax(0, 4.7fr) minmax(0, 6.3fr); gap: 30px; }
.nxb-property-details--rental .nxb-property-details__body-grid { grid-template-columns: minmax(0, 4.5fr) minmax(0, 6.5fr); gap: 30px; }
.nxb-property-details--rental .nxb-property-details__intro h1 { font-size: 40px; line-height: 1.2; }
.nxb-property-details--rental .nxb-text-block__buttons .nxb-action:first-child { background: #d3ad89; }
.nxb-property-details--rental .nxb-text-block__buttons .nxb-action:nth-child(2) { background: #094312; }
.nxb-property-details--rental .nxb-contact-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nxb-property-details--rental .nxb-contact-form__field--message { grid-column: 1 / -1; }
.nxb-property-details--rental .nxb-contact-form__heading { color: #2b8640; font-size: 38px; line-height: 1.2; }
.nxb-property-details--rental .nxb-contact-form__intro { margin-bottom: 16px; }
.nxb-property-details--rental .nxb-contact-form__introduction { margin-top: 10px; }
.trefach-design-wave--holiday-home { background: #2b8640; }
.site-footer { background: linear-gradient(180deg, #2b8640, #1c5825); }
.footer-content .trefach-social-links { display: flex; align-items: center; gap: 8px; }
.footer-content .trefach-social-links img { display: block; width: 40px; height: 40px; object-fit: contain; }
.nxb-contact-form--background-brand { --nxb-contact-background: #1c5825; --nxb-contact-colour: #fff; }
.back-to-top-button { background: #d3ad89; }
.nxb-code-block--optional-activated .nxb-code-block__consent { display: none; }
.nxb-code-block__consent { padding: 20px; background: #fbfff9; color: #4c4c4c; }
.nxb-code-block__consent p { margin: 0 0 10px; }
.nxb-code-block__consent button { padding: 8px 14px; border: 0; border-radius: 5px; background: #2b8640; color: #fff; }

.global-content--top .nxb-simple-pods { max-width: none; width: min(100%, 1280px); }
@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-simple-pods, .nxb-gallery { overflow-x: clip; }
.nxb-simple-pods__property-note { display: block; margin-top: 12px; font-size: 14px; }
.nxb-banner--no-media .nxb-banner__media::after { display: none; }
.nxb-banner--no-media .nxb-banner__media { background: #f6f5f3; }
.nxb-banner--external-video .nxb-banner__media::after { background: #000; opacity: .28; z-index: 2; pointer-events: none; }
.nxb-banner__external-video { position: absolute; z-index: 1; top: 50%; left: 50%; width: max(100%, 177.78vh); height: max(100%, 56.25vw); transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.nxb-banner--external-video { position: relative; }
.nxb-banner__source-wave { position: absolute; z-index: 3; bottom: -1px; left: 0; width: 100%; pointer-events: none; line-height: 0; }
.nxb-banner__source-wave img { display: block; width: 100%; height: clamp(55px, 8vw, 115px); object-fit: fill; }

@media (max-width: 767px) {
    .global-content--top .nxb-simple-pods__grid { grid-template-columns: 1fr; }
    .nxb-property-details--rental .nxb-property-details__intro-grid,
    .nxb-property-details--rental .nxb-property-details__body-grid,
    .nxb-property-details--rental .nxb-contact-form__fields { grid-template-columns: minmax(0, 1fr); }
    .nxb-banner__title { font-size: 34px; }
    .nxb-text-block__heading { font-size: 30px; }
    .nxb-text-block__secondary-heading { font-size: 16px; }
}
