.elementor-kit-199054{--e-global-color-primary:#1E3A32;--e-global-color-secondary:#F4F2EC;--e-global-color-text:#1E3A32;--e-global-color-accent:#1E3A32;--e-global-color-5a676c5:#FFFFFF;--e-global-color-e2e099c:#D9C9AA;--e-global-color-2abc135:#1E3A32;--e-global-color-9f8b7bd:#8DA68F;--e-global-color-616fab6:#EAE7DF;--e-global-color-b0e72b5:#D9C9AA;--e-global-color-b0b996a:#1E3A3214;--e-global-color-2335715:#1E3A32;--e-global-color-7f5dc34:#56655E;--e-global-color-ff54fda:#152A24;--e-global-color-f41314b:#F4F2EC;--e-global-color-8eff146:#56655E;--e-global-color-c0a5ta1:#6E8FA3;--e-global-typography-363027e-font-family:"Playfair Display";--e-global-typography-363027e-font-size:62px;--e-global-typography-363027e-font-weight:400;--e-global-typography-363027e-line-height:1.1em;--e-global-typography-0dddfe7-font-family:"Playfair Display";--e-global-typography-0dddfe7-font-size:46px;--e-global-typography-0dddfe7-font-weight:400;--e-global-typography-0dddfe7-line-height:1.15em;--e-global-typography-39cc623-font-family:"Montserrat";--e-global-typography-39cc623-font-size:16px;--e-global-typography-39cc623-font-weight:400;--e-global-typography-ea9ed07-font-family:"Montserrat";--e-global-typography-ea9ed07-font-size:13px;--e-global-typography-ea9ed07-font-weight:500;--e-global-typography-ea9ed07-text-transform:uppercase;--e-global-typography-ea9ed07-line-height:1.8em;--e-global-typography-ea9ed07-letter-spacing:0.06em;--e-global-typography-6fe98b5-font-family:"Montserrat";--e-global-typography-6fe98b5-font-size:13px;--e-global-typography-6fe98b5-font-weight:500;--e-global-typography-6fe98b5-letter-spacing:0.04em;--e-global-typography-3973106-font-family:"Playfair Display";--e-global-typography-3973106-font-size:22px;--e-global-typography-3973106-font-weight:400;--e-global-typography-3973106-line-height:1.25em;--e-global-typography-42599fa-font-family:"Montserrat";--e-global-typography-42599fa-font-size:12px;--e-global-typography-42599fa-font-weight:500;--e-global-typography-42599fa-text-transform:uppercase;--e-global-typography-42599fa-line-height:1.55em;--e-global-typography-42599fa-letter-spacing:2px;--e-global-typography-d19284c-font-family:"Montserrat";--e-global-typography-d19284c-font-size:15px;--e-global-typography-d19284c-font-weight:400;--e-global-typography-d19284c-line-height:1.6em;background-color:var( --e-global-color-5a676c5 );color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-199054 e-page-transition{background-color:#FFBC7D;}.elementor-kit-199054 h1{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 h2{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 h3{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 h4{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 h5{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 h6{font-family:"Playfair Display", Sans-serif;font-weight:400;}.elementor-kit-199054 button,.elementor-kit-199054 input[type="button"],.elementor-kit-199054 input[type="submit"],.elementor-kit-199054 .elementor-button{border-style:solid;border-radius:0px 0px 0px 0px;}.elementor-kit-199054 button:hover,.elementor-kit-199054 button:focus,.elementor-kit-199054 input[type="button"]:hover,.elementor-kit-199054 input[type="button"]:focus,.elementor-kit-199054 input[type="submit"]:hover,.elementor-kit-199054 input[type="submit"]:focus,.elementor-kit-199054 .elementor-button:hover,.elementor-kit-199054 .elementor-button:focus{border-style:solid;}.elementor-kit-199054 img{border-radius:0px 0px 0px 0px;}.elementor-kit-199054 input:not([type="button"]):not([type="submit"]),.elementor-kit-199054 textarea,.elementor-kit-199054 .elementor-field-textual{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-199054{--e-global-typography-363027e-font-size:44px;--e-global-typography-0dddfe7-font-size:36px;font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-199054{--e-global-typography-363027e-font-size:34px;--e-global-typography-0dddfe7-font-size:30px;font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.cwp-search-bar .cwp-search-bar__action:hover {
		color:#ffffff !important;
	}
	
	.cwp-collection .cwp-collection__footer .cwp-collection__view-all,
	.cwp-collection .cwp-collection__footer .cwp-collection__view-all:visited {
		color:#ffffff !important;
	}
	
	.cwp-search-bar .cwp-search-bar__clear-date {
		position: absolute !important;
    right: 6px !important;
    top: 50% !important;
		background: rgba(0, 0, 0, 0.2) !important;
    background-color: rgba(0, 0, 0, 0.2) !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
		align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
		border-radius: 50% !important;
		min-height: 0 !important;
    line-height: 1 !important;
    z-index: 2 !important;
		cursor: pointer !important;
		color: #fff !important;
	}
	.cwp-search-bar .cwp-search-bar__clear-date:hover {
		transform: translateY(-50%) !important;
		background: rgba(0, 0, 0, 0.45) !important;
    background-color: rgba(0, 0, 0, 0.45) !important;
	}
	
	.cwp-search-bar .cwp-date-picker__apply {
    padding: 8px 20px !important;
    border: none !important;
    border-radius: 6px !important;
    background: var(--cwp-primary, #1B6B93) !important;
    background-color: var(--cwp-primary, #1B6B93) !important;
    color: #FFFFFF !important;
    font-family: var(--cwp-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin: 0 !important;
    min-height: 0 !important;
    line-height: normal !important;
	}
	.cwp-search-bar .cwp-date-picker__apply:hover, .cwp-search-bar .cwp-date-picker__apply:focus {
    filter: brightness(0.85) !important;
    border: none !important;
    outline: none !important;
	}
	.cwp-search-bar .cwp-date-picker__clear {
		background: none !important;
		background-color: transparent !important;
		border: none !important;
		font-family: var(--cwp-font-body) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		color: var(--cwp-text, #2c2e33) !important;
		text-decoration: underline !important;
		cursor: pointer !important;
		padding: 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
	}
	.cwp-search-bar .cwp-date-picker__clear:hover, .cwp-search-bar .cwp-date-picker__clear:focus {
    color: var(--cwp-cal-selected, #6C4CE0) !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
	}
	
	.cwp-root.cwp-collection {
		background: transparent;
	}
	
	@media (max-width: 767px) {
		.cwp-root.cwp-collection .cwp-card {
			max-width: 100%;
		}

	}

.elementor-element-edit-mode .cwp-filter-sort-dropdown,.elementor-element-edit-mode  .cwp-search-bar__dropdown, .elementor-element-edit-mode .cwp-date-picker{
		    display:none !important;
		}


.cwp-search-bar:hover
 {
    box-shadow: unset !important;
    border-color: unset !important;
}

.cwp-search-bar .cwp-search-bar__action--filter:hover {
    color: unset !important;
}

@media (min-width: 1280px) {
    .cwp-split-view {
        grid-template-columns: 70fr 30fr !important;
    }
    
    .cwp-split-view .cwp-split-view__results .cwp-property-grid:not(.cwp-property-grid--list) {
    grid-template-columns: repeat(3, 1fr) !important;
}
}

@media (max-width: 1024px) {
    .cwp-root .cwp-map-close {
        bottom: calc(88px + max(16px, env(safe-area-inset-bottom)) + 12px) !important;
        z-index: 1102 !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2) !important;
    }
}

.cwp-search-bar-wrapper .cwp-search-bar {
    padding-right: 0;
    border: none !important;
}
.cwp-search-bar-wrapper .cwp-search-bar__actions {
    gap: 0 !important;
    height: 100%;
}
.cwp-search-bar-wrapper .cwp-search-bar__actions button {
    height: 100% !important;
    border-radius: 0 !important;
}

.cwp-search-bar-wrapper .cwp-search-bar__actions .cwp-search-bar__action--filter {
    border: 0 !important;
}

.cwp-search-bar-wrapper .cwp-search-bar__actions .cwp-search-bar__action--filter:hover {
    color: inherit !important;
    border-color: transparent !important;
}

.cwp-search-bar-wrapper .cwp-search-bar__actions .cwp-search-bar__action--search {
    padding: 20px !important;
    width: 110px !important;
    margin-right: -6px !important;
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    background: var( --e-global-color-e2e099c ) !important;
    color: var( --e-global-color-primary ) !important;
    font-family: var(--e-global-typography-ea9ed07-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-ea9ed07-font-size) !important;
    font-weight: var(--e-global-typography-ea9ed07-font-weight) !important;
    text-transform: var(--e-global-typography-ea9ed07-text-transform) !important;
    line-height: var(--e-global-typography-ea9ed07-line-height) !important;
    letter-spacing: var(--e-global-typography-ea9ed07-letter-spacing) !important;
}
.cwp-search-bar-wrapper .cwp-search-bar .cwp-search-bar__action--search:hover {
    transform: scale(1) !important;
}
.cwp-search-bar-wrapper .cwp-search-bar__actions .cwp-search-bar__action--search:after {
    content:"Search";
}
.cwp-search-bar-wrapper .cwp-search-bar__actions .cwp-search-bar__action--search svg {
    display: none !important;
}


@media (max-width: 1024px) {
    .cwp-card-grid, .cwp-search-page .cwp-property-grid {
        padding-bottom: 0 !important;
    }
}


.cwp-root  .cwp-pms-widget-mobile-bar__inner{
    background: #fff;
}


/* ===========================================================================
   NORTON COURT FARM - CUSTOM CSS
   Consolidated from Code Snippets on 2026-09-09.

   NOTE: two fixes could NOT be moved here because they require JavaScript,
   and remain as Code Snippets:
     #63  Reviews "Load More" button  - the Elfsight widget renders inside a
          shadow root, which page CSS cannot cross; a <style> has to be
          injected into the root with JS.
     #64  Chat bubble + cookie button above the mobile booking bar - needs to
          measure the bar and apply a transform inside the chat widget's
          shadow root.
   =========================================================================== */
/*=== ncf-search-fixes ===*/
/* ---------------------------------------------------------------------------
   North Somerset Stays - Search results tweaks
   1. Map panel = half the split view on desktop
   2. No movement on hover / focus / click for the map buttons
   3. No movement on hover / focus / click for the listing carousel arrows

   Overrides connect plugin: reset.css, connect-public.css, search.css,
   property-card.css.

   SPECIFICITY NOTE - this is why the .elementor-kit-199054s look repetitive.
   reset.css and connect-public.css both carry rules like
     .cwp-root .cwp-card__carousel-nav:hover { transform: ... !important }
   which is (0,3,0) + !important. Matching that specificity only wins on
   source order, which is not reliable here. Repeating the class three times
   lifts these to (0,4,0) so they win outright, and avoids depending on
   .cwp-root being an ancestor at all.
--------------------------------------------------------------------------- */

/* 1. MAP = 50% ------------------------------------------------------------
   Plugin default is 45/55, widening to 42/58 at 1440px and 40/60 at 1536px.
   :not(--map-collapsed) is load-bearing - the collapsed rule is
   `minmax(0,1fr) 0fr !important`, and without the :not() this rule would
   outrank it and the map could never collapse. Desktop only: below 1025px
   the split view is block flow and the map is an overlay. */
@media (min-width: 1025px) {
	.cwp-split-view:not(.cwp-split-view--map-collapsed) {
		grid-template-columns: minmax(0, 50fr) minmax(0, 50fr) !important;
	}
}

/* 2. LISTING IMAGE CAROUSEL ARROWS ---------------------------------------
   translateY(-50%) is the vertical centring and must be kept; only the
   scale(1.05) is dropped. */
.cwp-card__carousel-nav.cwp-card__carousel-nav.cwp-card__carousel-nav:hover,
.cwp-card__carousel-nav.cwp-card__carousel-nav.cwp-card__carousel-nav:focus,
.cwp-card__carousel-nav.cwp-card__carousel-nav.cwp-card__carousel-nav:focus-visible,
.cwp-card__carousel-nav.cwp-card__carousel-nav.cwp-card__carousel-nav:active {
	transform: translateY(-50%) !important;
}

/* 3. MAP BUTTONS - Show map / Show list / Hide map ------------------------
   translateX(-50%) is the horizontal centring and must be kept.
   Note connect-public.css sets `transform: scale(0.97)` on
   .cwp-map-close:active under 767px, which drops the centring entirely and
   makes the button jump left on tap - restoring translateX(-50%) fixes
   that too. */
.cwp-map-fab.cwp-map-fab.cwp-map-fab:hover,
.cwp-map-fab.cwp-map-fab.cwp-map-fab:focus,
.cwp-map-fab.cwp-map-fab.cwp-map-fab:focus-visible,
.cwp-map-fab.cwp-map-fab.cwp-map-fab:active,
.cwp-map-close.cwp-map-close.cwp-map-close:hover,
.cwp-map-close.cwp-map-close.cwp-map-close:focus,
.cwp-map-close.cwp-map-close.cwp-map-close:focus-visible,
.cwp-map-close.cwp-map-close.cwp-map-close:active,
.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle:hover,
.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle:focus,
.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle:focus-visible,
.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle.cwp-map-button-bar__toggle:active {
	transform: translateX(-50%) !important;
}

/* 4. DESKTOP BOUNDARY CHEVRON --------------------------------------------
   No hover transform today, but pinned so a plugin update cannot introduce
   one. translateY(-50%) is its vertical centring. */
.cwp-map-toggle.cwp-map-toggle.cwp-map-toggle:hover,
.cwp-map-toggle.cwp-map-toggle.cwp-map-toggle:focus,
.cwp-map-toggle.cwp-map-toggle.cwp-map-toggle:focus-visible,
.cwp-map-toggle.cwp-map-toggle.cwp-map-toggle:active {
	transform: translateY(-50%) !important;
}


/* 6. "SIMILAR PROPERTIES" CAROUSEL ARROWS --------------------------------
   reset.css: .cwp-root .cwp-carousel-btn:hover
   -> translateY(-50%) scale(1.05) !important
   Base is `position:absolute; top:50%; transform:translateY(-50%)`, so the
   translate is the vertical centring and must stay; only the scale goes.
   Tripled class = (0,4,0), beating the .cwp-root rule's (0,3,0). */
.cwp-carousel-btn.cwp-carousel-btn.cwp-carousel-btn:hover,
.cwp-carousel-btn.cwp-carousel-btn.cwp-carousel-btn:focus,
.cwp-carousel-btn.cwp-carousel-btn.cwp-carousel-btn:focus-visible,
.cwp-carousel-btn.cwp-carousel-btn.cwp-carousel-btn:active {
	transform: translateY(-50%) !important;
}
/*=== ncf-listview-type ===*/
/* ---------------------------------------------------------------------------
   North Somerset Stays - property card list view typography
   Brings list view in line with grid view. Measured off the live cards:

                 GRID (target)                 LIST (was)
     title       Playfair Display 20px (display font)   Montserrat 19px
     rating      Inter 14px/14                 Inter 13px/13
     location    Inter 16px/25.6               Inter 14px/22.4
     specs       Inter 16px/22.4               same  - left alone
     price       Inter 16px/22.4               same  - left alone

   The serif title (Lora) was the obvious mismatch; list view was falling back
   to Montserrat. Only the three properties that actually differ are overridden.

   Class repeated to lift specificity - the connect plugin sets its list-view
   rules with .cwp-root prefixes and !important, which a plain override loses
   to. Applies anywhere the list view is used (Properties and Search Results).
--------------------------------------------------------------------------- */

.cwp-property-grid--list .cwp-card .cwp-card__title.cwp-card__title.cwp-card__title {
	font-family: var(--cwp-font-display, 'Playfair Display', serif) !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.2px !important;
}

.cwp-property-grid--list .cwp-card .cwp-card__rating.cwp-card__rating.cwp-card__rating {
	font-family: var(--cwp-font-body, 'Montserrat', sans-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 14px !important;
}

.cwp-property-grid--list .cwp-card .cwp-card__location.cwp-card__location.cwp-card__location {
	font-family: var(--cwp-font-body, 'Montserrat', sans-serif) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 25.6px !important;
}

/* ===========================================================================
   Property video (snippet #67 renders the markup, styles live here)
   Aspect ratio is set inline from the oEmbed response; portrait reels are
   capped in width so a 9:16 video does not dominate the page.
   =========================================================================== */
.cwp-property-video {
	margin: 0 0 8px;
}

.cwp-property-video__frame {
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 0 auto 0 0;
	overflow: hidden;
	border-radius: 12px;
	background: #000;
}

.cwp-property-video--portrait .cwp-property-video__frame {
	max-width: 380px;
}

.cwp-property-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	display: block;
}

/*=== ncf-blog-posts (imported posts) ===*/
.ncf-post{--ncf-p:var(--e-global-color-primary,#1E3A32);--ncf-a:var(--e-global-color-accent,#1E3A32);--ncf-bg:var(--e-global-color-616fab6,#EAE7DF);--ncf-cr:var(--e-global-color-secondary,#F4F2EC);--ncf-bd:var(--e-global-color-b0e72b5,#D9C9AA);font-family:var(--e-global-typography-d19284c-font-family,'Montserrat'),sans-serif;font-weight:300;font-size:16px;line-height:1.75;color:var(--e-global-color-text,#1E3A32)}
.ncf-post h2,.ncf-post h3,.ncf-post h4{font-family:var(--e-global-typography-0dddfe7-font-family,"Playfair Display"),serif;font-weight:400;color:var(--ncf-p);line-height:1.15;margin:1.6em 0 .5em}
.ncf-post h2{font-size:clamp(28px,3.2vw,38px)}.ncf-post h3{font-size:clamp(22px,2.4vw,27px)}.ncf-post h4{font-size:21px}
.ncf-post p,.ncf-post ul,.ncf-post ol{margin:0 0 1.1em}.ncf-post li{margin-bottom:.4em}
.ncf-post a{color:var(--ncf-p);text-decoration:underline;text-underline-offset:3px}.ncf-post a:hover{color:var(--ncf-a)}
.ncf-post img{display:block;max-width:100%;height:auto;border-radius:14px;margin:1.4em auto}
.ncf-post hr{border:0;border-top:1px solid var(--ncf-bd);margin:2.2em 0}
.ncf-post blockquote,.ncf-post .testimonial-box{border-left:4px solid var(--ncf-a);background:var(--ncf-cr);padding:18px 22px;border-radius:0 12px 12px 0;font-style:italic;margin:1.5em 0}
.ncf-post .testimonial-author{font-style:normal;font-weight:700;margin-top:8px}
.ncf-post .highlight-box,.ncf-post .feature-box,.ncf-post .event-info,.ncf-post .intro-section,.ncf-post .info-note,.ncf-post .author-info,.ncf-post .join-family{background:var(--ncf-cr);border:1px solid var(--ncf-bd);border-left:4px solid var(--ncf-a);border-radius:14px;padding:22px 24px;margin:1.6em 0}
.ncf-post .highlight-box h4,.ncf-post .feature-box h3,.ncf-post .feature-box h4{margin-top:0}
.ncf-post .blog-meta{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--ncf-a)}
.ncf-post .prize-grid,.ncf-post .image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:1.6em 0}
.ncf-post .prize-item,.ncf-post .event-card,.ncf-post .image-card,.ncf-post .faq-item{background:#fff;border:1px solid var(--ncf-bd);border-radius:16px;padding:22px 24px;margin:0 0 20px;box-shadow:0 6px 18px var(--e-global-color-b0b996a,rgba(30,42,36,.08))}
.ncf-post .prize-grid .prize-item,.ncf-post .image-grid .image-card{margin:0}
.ncf-post .prize-item h3,.ncf-post .event-card h3,.ncf-post .faq-item h3,.ncf-post .faq-question{margin-top:0}
.ncf-post .prize-emoji{margin-right:6px}
.ncf-post .event-card{padding:0;overflow:hidden}.ncf-post .event-card img{margin:0;border-radius:0;width:100%;aspect-ratio:16/9;object-fit:cover}.ncf-post .event-content{padding:20px 24px}
.ncf-post .image-card img{margin:0 0 12px}
.ncf-post .faq-question{font-family:var(--e-global-typography-0dddfe7-font-family,"Playfair Display"),serif;font-size:22px;font-weight:600;color:var(--ncf-p)}
.ncf-post details{border-bottom:1px solid var(--ncf-bd);padding:14px 0}.ncf-post summary{cursor:pointer;font-weight:700;color:var(--ncf-p)}
.ncf-post .steps{display:grid;gap:14px;margin:1.4em 0}.ncf-post .step{display:flex;gap:16px;align-items:flex-start}
.ncf-post .step-number{flex:none;width:40px;height:40px;border-radius:50%;background:var(--ncf-a);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.ncf-post .how-to-enter,.ncf-post .final-cta,.ncf-post .call-to-action,.ncf-post .cta-container,.ncf-post .plan-retreat-section{background:var(--ncf-p);color:#fff;border-radius:18px;padding:32px 28px;margin:2em 0;text-align:center}
.ncf-post .how-to-enter h2,.ncf-post .how-to-enter h3,.ncf-post .final-cta h2,.ncf-post .final-cta h3,.ncf-post .call-to-action h2,.ncf-post .call-to-action h3,.ncf-post .cta-container h2,.ncf-post .cta-container h3,.ncf-post .plan-retreat-section h2,.ncf-post .plan-retreat-section h3{color:#fff;margin-top:0}
.ncf-post .how-to-enter a:not(.cta-button),.ncf-post .final-cta a:not(.cta-button),.ncf-post .call-to-action a:not(.cta-button),.ncf-post .cta-container a:not(.cta-button),.ncf-post .plan-retreat-section a:not(.cta-button){color:#D9C9AA}
.ncf-post .how-to-enter .step{text-align:left}
.ncf-post .cta-wrapper{text-align:center;margin:1.6em 0}
.ncf-post .cta-button{display:inline-block;background:var(--ncf-a);color:#fff!important;text-decoration:none!important;font-weight:700;letter-spacing:.04em;padding:14px 30px;border-radius:999px;margin:6px;transition:background .2s}.ncf-post .cta-button:hover{background:var(--ncf-p)}
.ncf-post .social-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.ncf-post .author-info{display:flex;gap:18px;align-items:center}.ncf-post .author-image{width:90px;height:90px;object-fit:cover;border-radius:50%;margin:0;flex:none}
@media(max-width:767px){.ncf-post{font-size:16px}.ncf-post .how-to-enter,.ncf-post .final-cta,.ncf-post .call-to-action,.ncf-post .cta-container,.ncf-post .plan-retreat-section{padding:24px 18px}.ncf-post .author-info{flex-direction:column;text-align:center}}
/*=== /ncf-blog-posts ===*/

/*=== ncf-connect-fonts ===*/
.cwp-search-bar__action, .cwp-search-bar__action-label, .cwp-search-bar__action-badge,
.cwp-search-bar button, .cwp-location-picker button, .cwp-root button, .cwp-root input, .cwp-root select, .cwp-root textarea,
.cwp-gallery__counter, .cwp-lightbox, .cwp-modal { font-family: var(--cwp-font-body, 'Montserrat', sans-serif); }
.cwp-results-header__title, .cwp-modal__title, .cwp-root .cwp-modal__title, .cwp-modal .cwp-modal__title { font-family: var(--cwp-font-display, 'Playfair Display', serif) !important; font-weight: 400; }
.cwp-gallery__counter, .cwp-gallery__counter span, .cwp-lightbox__counter { font-family: var(--cwp-font-body, 'Montserrat', sans-serif) !important; }
/*=== /ncf-connect-fonts ===*/

/*=== ncf-property-bottom-bar ===*/
/* Single property: keep cookie button above the mobile booking bar (offset set by snippet JS). */
/* CookieYes revisit button — light DOM, so plain CSS reaches it.
   No transition on purpose: a running CSS transition outranks !important in
   the cascade, which left this pinned at the old value when the offset
   changed. The offset only moves on load/resize, so instant is correct. */
.cky-btn-revisit-wrapper {
	bottom: calc(15px + var(--ncf-bottom-bar, 0px)) !important;
}

/* Drop the 140px reserve under the property page.
   connect-public.css:6948 sets
     @media (max-width:1023px){.cwp-root.cwp-property-page{padding-bottom:140px!important}}
   with the comment "Prevent page content from hiding behind the fixed
   compact bar". Removed on request — the bar is ~72px tall and still fixed
   over the page, so the last ~72px of content now sits beneath it. If
   anything at the very bottom ends up covered, change the 0 below to 72px.
   Doubled class = (0,3,0), beating the plugin rule's (0,2,0). */
@media (max-width: 1023px) {
	.cwp-root.cwp-property-page.cwp-property-page {
		padding-top: 40px !important;
		padding-bottom: 0 !important;
	}
}
/*=== /ncf-property-bottom-bar ===*/

/*=== ncf-card-title ===*/
/* Listing card titles: 24px everywhere (homepage grids, search results, properties page). */
.cwp-card .cwp-card__title.cwp-card__title.cwp-card__title,
.cwp-card .cwp-card__title.cwp-card__title.cwp-card__title a { font-size: 24px !important; line-height: 1.2 !important; letter-spacing: -0.2px !important; }
@media (max-width: 767px) {
  .cwp-card .cwp-card__title.cwp-card__title.cwp-card__title,
  .cwp-card .cwp-card__title.cwp-card__title.cwp-card__title a { font-size: 22px !important; }
}
/*=== /ncf-card-title ===*/

/* ncf-page-utilities: shared styles for Home, Our Story, Meet the team and FAQ (replaces per-widget custom CSS) */
.elementor .elementor-element.ncf-img-4x5.ncf-img-4x5 img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.elementor .elementor-element.ncf-img-3x4.ncf-img-3x4 img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.elementor .elementor-element.ncf-img-4x3.ncf-img-4x3 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.elementor .elementor-element.ncf-img-1x1.ncf-img-1x1 img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
@media (min-width:1025px){.elementor .e-con.ncf-sticky-desktop.ncf-sticky-desktop{position:sticky;top:110px}}
.elementor .ncf-stars{color:var(--e-global-color-2abc135);letter-spacing:.1em}
.elementor .ncf-stars.ncf-stars--light{color:var(--e-global-color-e2e099c)}
.elementor .elementor-element.ncf-link-underline.ncf-link-underline a{text-decoration:underline}
.elementor .elementor-element.ncf-link-inherit.ncf-link-inherit a{color:inherit;font-weight:600;font-size:15px}
.elementor .elementor-element.ncf-toggle-lines.ncf-toggle-lines .elementor-toggle-item{border-top:1px solid #1E3A322E;border-bottom:1px solid #1E3A322E;border-left:0;border-right:0}
.elementor .elementor-element.ncf-toggle-lines.ncf-toggle-lines .elementor-toggle-item+.elementor-toggle-item{border-top:0}
.elementor .elementor-element.ncf-toggle-lines.ncf-toggle-lines .elementor-tab-title{font-size:24px}
.elementor .elementor-element.ncf-toggle-lines.ncf-toggle-lines .elementor-tab-content{max-width:620px}
.elementor .elementor-element.ncf-accordion-lines.ncf-accordion-lines .elementor-accordion-item{border-left:0;border-right:0;border-top:1px solid #1E3A322E;border-bottom:0}
.elementor .elementor-element.ncf-accordion-lines.ncf-accordion-lines .elementor-accordion-item:last-child{border-bottom:1px solid #1E3A322E}
.elementor .elementor-element.ncf-accordion-lines.ncf-accordion-lines .elementor-tab-title{font-size:26px;line-height:1.2}
.elementor .elementor-element.ncf-accordion-lines.ncf-accordion-lines .elementor-tab-content{max-width:680px;border-top:0}
.elementor .ncf-faq-label{display:block;font-family:var(--e-global-typography-39cc623-font-family),sans-serif;font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--e-global-color-2abc135);margin-bottom:6px}
/* /ncf-page-utilities */

/*=== nss-connect-brand: Connect plugin fonts + colours follow the brand ===*/
:root, .cwp-root, .cwp-search-bar-wrapper, .cwp-modal { --cwp-font-body: 'Montserrat', sans-serif; --cwp-font-display: 'Playfair Display', serif; --cwp-primary: #1E3A32; --cwp-accent: #1E3A32; }
/*=== /nss-connect-brand ===*/

/*=== nss-connect-contrast: Connect plugin greys lifted to WCAG AA (4.5:1) ===*/
.cwp-root .cwp-card__location, .cwp-root .cwp-card__price-unit, .cwp-root .cwp-card__price-prefix, .cwp-root .cwp-badge.cwp-card__type, .cwp-root .cwp-property-address, .cwp-search-bar-wrapper .cwp-search-bar__value, .cwp-root .cwp-cal__weekday, .cwp-root .cwp-property-meta, .cwp-root .cwp-property__meta, .cwp-root .cwp-card__specs, .cwp-root .cwp-card__specs span { color: #56655E !important; }
/*=== /nss-connect-contrast ===*/

/*=== ncf-toc: blog post table of contents ===*/
.ncf-post .ncf-toc{background:var(--e-global-color-616fab6,#EAE7DF);border-radius:14px;padding:22px 26px;margin:1.5em 0 2em}
.ncf-post .ncf-toc__title{font-size:20px;margin:0 0 .6em}
.ncf-post .ncf-toc ul{margin:0;padding-left:1.2em;columns:2;column-gap:32px}
.ncf-post .ncf-toc li{margin:0 0 .35em;break-inside:avoid}
.ncf-post .ncf-toc a{color:var(--e-global-color-primary,#1E3A32);text-decoration:none}
.ncf-post .ncf-toc a:hover{text-decoration:underline}
.ncf-post figure{margin:1.6em 0}
.ncf-post figure img{border-radius:14px;width:100%;height:auto}
.ncf-post figcaption{font-size:13px;color:var(--e-global-color-7f5dc34,#56655E);margin-top:.5em}
@media(max-width:767px){.ncf-post .ncf-toc ul{columns:1}}
/*=== /ncf-toc ===*//* End custom CSS */