:root{--hp-village-ink:#45413d;--hp-village-accent:#5c544b;--hp-village-muted:#6c6966;--hp-village-line:#d1ceca;--hp-village-paper:#f7f6f5;}

.hp-village-story-section{border-top:1px solid var(--hp-village-line);}
.hp-village-story{width:100%;max-width:none;color:var(--hp-village-ink);}
.hp-village-story-heading{margin:0 0 40px;max-width:none;}
.hp-village-story-kicker{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--hp-village-muted);margin:0 0 12px;}
.hp-village-story-heading h2{margin:0;font-size:38px;line-height:1.25;color:var(--hp-village-accent);}
.hp-village-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 64px;align-items:start;}
.hp-village-story-item{border-top:1px solid var(--hp-village-line);padding-top:22px;min-width:0;}
.hp-village-story-item h3{font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--hp-village-ink);margin:0 0 14px;}
.hp-village-story-item p{font-size:15px;line-height:1.8;margin:0 0 14px;}
.hp-village-story-item p:last-child{margin-bottom:0;}
.hp-village-story-item a{color:var(--hp-village-accent);text-decoration:underline;text-underline-offset:3px;}
.hp-village-story-item:last-child:nth-child(odd){grid-column:1/-1;}
.hp-pack-layout .hp-pack-overview-title{width:100%;max-width:none;margin-left:0!important;margin-right:0!important;text-align:left;}
@media(max-width:959px){.hp-village-story-grid{gap:28px 32px;}}
@media(max-width:639px){.hp-village-story-grid{grid-template-columns:1fr;gap:26px;}.hp-village-story-heading{margin-bottom:28px;}.hp-village-story-heading h2{font-size:30px;}.hp-village-story-item h3{font-size:20px;}.hp-village-story-item p{font-size:15px;}}

/* Editorial content on the village-colour backgrounds must remain fully legible. */
.uk-section-primary :is(p,li,blockquote,figcaption,.uk-text-meta),
.uk-section-primary :is(p,li,blockquote,figcaption,.uk-text-meta) :is(a,em,span){color:#fff!important;opacity:1;}
.uk-section-primary :is(h1,h2,h3,h4,h5,h6,strong,b),
.uk-section-primary :is(h1,h2,h3,h4,h5,h6,strong,b) :is(a,em,span){color:#fff!important;opacity:1;font-weight:700;}

/* The village logos make the desktop header taller than the main demo header. */
@media(min-width:1200px){
  .hp-search-sidebar,.hp-huette-view .hp-detail-sidebar,
  #hp-impressum-tabs .hp-legal-nav,#hp-datenschutz-tabs .hp-legal-nav,#hp-agb-tabs .hp-legal-nav{top:174px!important;}
  #hp-impressum-tabs .hp-legal-panel,#hp-datenschutz-tabs .hp-legal-panel,#hp-agb-tabs .hp-legal-panel,
  #hp-agb-tabs .hp-legal-panel :is(h3,h4){scroll-margin-top:174px!important;}
}

/* Keep the offer season label consistent with the main demo. */
.offer-card .offer-badge{background:transparent!important;color:#fff!important;font-size:10px!important;font-weight:600!important;padding:0!important;text-shadow:0 1px 3px rgba(0,0,0,.8);}

/* Keep all availability states global; village colours are reserved for a selected stay. */
:root{--hp-calendar-active:#5c544b;--hp-calendar-active-hover:#45413d;}

/* A selected stay is a village-colour range; availability states above remain global. */
:root{--hp-calendar-selected-range:#e6dfd7;}
:is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-start,:is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-end{background:var(--hp-calendar-active)!important;color:#fff!important;}
:is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-start{box-shadow:2px 0 0 var(--hp-calendar-active)!important;}
:is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-end{box-shadow:-2px 0 0 var(--hp-calendar-active)!important;}
:is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-range{background:var(--hp-calendar-selected-range)!important;color:var(--hp-calendar-active)!important;box-shadow:-2px 0 0 var(--hp-calendar-selected-range),2px 0 0 var(--hp-calendar-selected-range)!important;}

/* Final village form/component/widget override — 2026-09-23. */
:root{--hp-calendar-active:#315E68;--hp-calendar-active-hover:#23454D;--hp-calendar-selected-range:#E7EFF0;--hp-widget-primary:#315E68;--hp-widget-dark:#23454D;--hp-widget-light:#E7EFF0;--hp-widget-accent:#627D82;--hp-v-action:#315E68;--hp-v-action-hover:#23454D;--hp-v-text:#23454D;--hp-v-muted:#627D82;--hp-v-paper:#FFFFFF;--hp-v-soft:#E7EFF0;--hp-v-mid:#627D82;--hp-v-border:#C5D4D7;--hp-v-on-action:#FFFFFF;}
/* Booking and inquiry forms: controls, selection and states. */
html body:has(#hpFormHero) #tm-main :is(.uk-button-primary,.btn-primary,.btn-success,.btn-info,#weiterBtn,.hp-submit-btn),
html body #tm-main :is(.hp-form-property,.hp-contact-form,form) :is(.uk-button-primary,.btn-primary,.btn-success,.btn-info,#weiterBtn,.hp-submit-btn){background:#315E68!important;border-color:#315E68!important;color:#fff!important;}
html body:has(#hpFormHero) #tm-main :is(.uk-button-primary,.btn-primary,.btn-success,.btn-info,#weiterBtn,.hp-submit-btn):is(:hover,:focus-visible):not(:disabled),
html body #tm-main :is(.hp-form-property,.hp-contact-form,form) :is(.uk-button-primary,.btn-primary,.btn-success,.btn-info,#weiterBtn,.hp-submit-btn):is(:hover,:focus-visible):not(:disabled){background:#23454D!important;border-color:#23454D!important;color:#fff!important;}
html body #tm-main :is(.hp-form-hero-pill,.hp-selected-badge){background:#315E68!important;border-color:#315E68!important;color:#fff!important;}
html body #tm-main .hp-hut-detail-stack .customaccord .uk-accordion-title{background:#315E68!important;color:#fff!important;}
html body #tm-main .hp-hut-detail-stack .customaccord .uk-accordion-title:hover{background:#23454D!important;}
html body #tm-main .hut-card.selected-hut{border-color:#315E68!important;box-shadow:0 0 0 3px color-mix(in srgb,#315E68 22%,transparent)!important;}
html body #tm-main :is(.hp-form-property,.hp-contact-form,form) :is(.uk-input,.uk-select,.uk-textarea,input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea):focus{border-color:#315E68!important;outline-color:#315E68!important;box-shadow:0 0 0 3px color-mix(in srgb,#315E68 16%,transparent)!important;}
html body #tm-main :is(.hp-form-property,.hp-contact-form,form) :is(.uk-checkbox,.uk-radio,input[type=checkbox],input[type=radio]){accent-color:#315E68!important;}
html body #tm-main :is(.hp-form-property,.hp-contact-form,form) :is(.uk-checkbox,.uk-radio,input[type=checkbox],input[type=radio]):checked{background-color:#315E68!important;border-color:#315E68!important;}
/* Availability calendar. */
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime :is(.hpac-dot-arrival,.hpac-day.arrival){background:#315E68!important;color:#fff!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.arrival:hover{background:#23454D!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime :is(.hpac-dot-stay,.hpac-day.stay){background:#E7EFF0!important;border-color:#627D82!important;color:#23454D!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime :is(.hpac-day.sel-start,.hpac-day.sel-end){background:#315E68!important;color:#fff!important;box-shadow:none!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.sel-range{background:#E7EFF0!important;color:#23454D!important;box-shadow:-2px 0 0 #E7EFF0,2px 0 0 #E7EFF0!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.dep-valid{background:#627D82!important;color:#fff!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.dep-valid:hover{background:#315E68!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime .hpac-day.today{outline-color:#315E68!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime :is(.hpac-selbar,.hpac-date-display.filled){background:#E7EFF0!important;border-color:#627D82!important;color:#23454D!important;}
html body :is(#hpAvailCal,.hpac-original-popup) .hpac-runtime :is(.hpac-nav-btn,.hpac-select):is(:hover,:focus-visible){border-color:#315E68!important;outline-color:#315E68!important;}
html body .hpac-spinner{border-top-color:#315E68!important;}
/* Search, result, detail and modal widgets. */
html body #TN-HP.hp-widget-host,html body #TN-HP.hp-widget-host .hp-widget{--hp-widget-primary:#315E68;--hp-widget-dark:#23454D;--hp-widget-light:#E7EFF0;--hp-widget-accent:#627D82;--hp-v-action:#315E68;--hp-v-action-hover:#23454D;--hp-v-text:#23454D;--hp-v-muted:#627D82;--hp-v-paper:#FFFFFF;--hp-v-soft:#E7EFF0;--hp-v-mid:#627D82;--hp-v-border:#C5D4D7;--hp-v-on-action:#FFFFFF;}
html body #TN-HP.hp-widget-host :is(input,select,textarea):focus{border-color:#315E68!important;outline-color:#315E68!important;box-shadow:0 0 0 3px color-mix(in srgb,#315E68 14%,transparent)!important;}
html body #TN-HP.hp-widget-host :is(input[type=checkbox],input[type=radio]){accent-color:#315E68!important;}
html body #TN-HP.hp-widget-host :is(.text-blue-800,.text-blue-700,.text-blue-600,.text-blue-500,.text-green-800,.text-green-700,.text-green-600,.text-slate-600){color:#315E68!important;}
html body #TN-HP.hp-widget-host :is(.bg-blue-700,.bg-blue-600,.bg-blue-500,.bg-green-700,.bg-green-600,.bg-green-500,.bg-gray-400,.bg-gray-500,.hp-filter-panel footer button,.hp-mobile-filter-trigger,.hp-load-more button,.hp-map-detail,.hp-quote-note button){background-color:#315E68!important;border-color:#315E68!important;color:#fff!important;}
html body #TN-HP.hp-widget-host :is(.bg-blue-700,.bg-blue-600,.bg-blue-500,.bg-green-700,.bg-green-600,.bg-green-500,.bg-gray-400,.bg-gray-500,.hp-filter-panel footer button,.hp-mobile-filter-trigger,.hp-load-more button,.hp-map-detail,.hp-quote-note button):hover{background-color:#23454D!important;border-color:#23454D!important;color:#fff!important;}
html body #TN-HP.hp-widget-host .hp-widget button:is(.bg-yellow-400,.bg-yellow-500){border-color:#315E68!important;}
html body #TN-HP.hp-widget-host .hp-widget button:is(.bg-yellow-400,.bg-yellow-500):hover{border-color:#23454D!important;}
html body #TN-HP.hp-widget-host :is(.bg-blue-100,.bg-green-100,.bg-gray-50,.bg-gray-100,.bg-gray-200){background-color:#E7EFF0!important;}
html body #TN-HP.hp-widget-host :is(.border-blue-500,.border-blue-600,.border-green-500,.border-green-600){border-color:#315E68!important;}
html body #TN-HP.hp-widget-host :is(.hp-filter-reset,.hp-filter-section-toggle,.hp-results-sort button,.hp-map-price,.hp-price,.hp-hut-code,.hp-list-heading a,.hp-exact-card a){color:#315E68!important;}
html body #TN-HP.hp-widget-host :is(.rdrStartEdge,.rdrEndEdge){background:#315E68!important;}
html body #TN-HP.hp-widget-host .rdrInRange{background:color-mix(in srgb,#315E68 26%,#fff)!important;}
html body #TN-HP.hp-widget-host .rdrDayToday .rdrDayNumber span::after{background:#315E68!important;}
html body #TN-HP.hp-widget-host .rdrNextPrevButton:hover{background:#E7EFF0!important;}
html body #TN-HP.hp-widget-host button:focus-visible{outline:2px solid #315E68!important;outline-offset:2px;}
/* Saved huts, comparison, confirmation and consent components. */
html body #hp-compare-app .hp-compare-action,html body #hp-favorites-tab,html body #dcpbanner .dcp-allow,html body #dcppopup :is(#accept,#save){background:#315E68!important;border-color:#315E68!important;color:#fff!important;}
html body #hp-compare-app .hp-compare-action:hover,html body #hp-favorites-tab:hover,html body #dcpbanner .dcp-allow:hover,html body #dcppopup :is(#accept,#save):hover{background:#23454D!important;border-color:#23454D!important;color:#fff!important;}
html body #hp-compare-app :is(.hp-compare-back,.hp-remove-hut){border-color:#315E68!important;color:#315E68!important;}
html body #hp-compare-app :is(.hp-compare-back,.hp-remove-hut):hover{background:#E7EFF0!important;border-color:#627D82!important;color:#23454D!important;}
html body #dcppopup .collapsible .switch input:checked + .slider{background:#315E68!important;}
html body :where(.thankyou,.hp-thankyou){background:linear-gradient(135deg,#315E68,#23454D)!important;}

/* Village page surfaces, bands and legal pages — 2026-09-23. */
:root{--hp-page-surface:#F1F5F6;--hp-soft-surface:#E7EFF0;}
html,html body,html body #tm-page,html body #tm-main,html body .tm-page,html body .uk-section-default,html body .uk-background-default{background-color:#F1F5F6!important;}
html body:has(#hpFormHero) #tm-main,html body .hp-huette-view,html body #TN-HP.hp-widget-host{background-color:#F1F5F6!important;}
html body .tm-header,html body .tm-header-mobile,html body .tm-header .uk-navbar-container,html body .tm-header-mobile .uk-navbar-container{background:#F1F5F6!important;}
html body .tm-toolbar:has(.hp-header-search){background:#315E68!important;border-color:#23454D!important;}
html body .tm-toolbar .hp-topline.hp-contact-only .hp-top-chip,html body .tm-toolbar .hp-top-chip :is(span,svg){color:#fff!important;}
html body .hp-footer{background:#E7EFF0!important;}
html body .hp-footer + .uk-section,html body .uk-section:has(img[src*="fullmarketing_logo"]){background:#315E68!important;}
html body .uk-section:has(img[src*="fullmarketing_logo"]) img{filter:brightness(0) invert(1)!important;}
html body .hp-villages{padding-bottom:0!important;margin-bottom:0!important;background:#F1F5F6!important;}
html body .builder:has(> .hp-villages){margin-bottom:0!important;padding-bottom:0!important;}
html body .builder:has(> .hp-footer),html body .hp-footer{margin-top:0!important;}
html body .hp-villages > :last-child,html body .hp-villages .uk-card,html body .hp-villages .uk-card-media-top,html body .hp-villages picture{margin-bottom:0!important;}
html body .uk-logo img,html body .hp-footer img[src*="logo-huettenpartner"]{filter:none!important;}
html body:has(#hpFormHero) #tm-main .hp-hut-detail-info h3{background:transparent!important;color:#23454D!important;line-height:1.35!important;}
html body:has(#hpFormHero) #tm-main .hp-hut-nebenkosten,html body:has(#hpFormHero) #tm-main .customaccord .uk-accordion-title{background:#E7EFF0!important;color:#23454D!important;}
html body:has(#hpFormHero) #tm-main .customaccord .uk-accordion-title:hover{background:color-mix(in srgb,#E7EFF0 82%,#627D82)!important;}
html body:has(#hpFormHero) #tm-main .hp-selected-badge{background:#E7EFF0!important;color:#23454D!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs){background:#F1F5F6!important;color:#575650!important;--hp-village-accent:#315E68;--hp-village-paper:#F1F5F6;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(.hp-legal-nav,nav,.uk-subnav,.uk-tab){background:#E7EFF0!important;border-color:#627D82!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(.hp-legal-panel,article,.uk-card,.uk-switcher > li){background:#F1F5F6!important;border-color:#627D82!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(h1,h2,h3,h4,h5,h6){color:#23454D!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) a{color:#315E68!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(.uk-active > a,a[aria-selected=true],.hp-legal-nav a.active){background:#315E68!important;color:#fff!important;border-color:#315E68!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(button,.uk-button-primary){background:#315E68!important;color:#fff!important;border-color:#315E68!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) :is(button,.uk-button-primary):hover{background:#23454D!important;}

/* Legal navigation hover and keyboard focus — 2026-09-23. */
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) .hp-legal-tab:is(:hover,:focus-visible){background:#D5E4E7!important;color:#23454D!important;border-color:#315E68!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) .hp-legal-tab[aria-selected="true"]:is(:hover,:focus-visible){background:#23454D!important;color:#fff!important;border-color:#23454D!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) .hp-legal-tab::after{color:currentColor!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) a:focus-visible,html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) button:focus-visible,html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) select:focus-visible{outline:2px solid #315E68!important;outline-offset:2px!important;box-shadow:none!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) .hp-legal-panel a:is(:hover,:focus-visible){color:#23454D!important;text-decoration-color:#315E68!important;}
html body :is(#hp-agb-tabs,#hp-datenschutz-tabs,#hp-impressum-tabs) .hp-legal-mobile select{background:#D5E4E7!important;color:#23454D!important;border-color:#315E68!important;}

/* Shared inner-page muted surfaces — 2026-09-23. */
html body #tm-main .uk-section.uk-section-muted,html body #tm-main .uk-background-muted,html body #tm-main .uk-tile-muted{background-color:#E7EFF0!important;color:#575650!important;}
html body #tm-main .uk-section-muted :is(h1,h2,h3,h4,h5,h6){color:#23454D!important;}
html body #tm-main .uk-section-muted a:not(.uk-button):not(.btn):not(.hp-lm-btn):not(.hp-lm-mehr){color:#315E68!important;}
html body #tm-main .uk-section-muted a:not(.uk-button):not(.btn):not(.hp-lm-btn):not(.hp-lm-mehr):hover{color:#23454D!important;}
