:root{--hp-village-ink:#45453d;--hp-village-accent:#5c5c4b;--hp-village-muted:#6c6c66;--hp-village-line:#d1d1ca;--hp-village-paper:#f7f7f5;}

.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:#5c5c4b;--hp-calendar-active-hover:#45453d;}

/* A selected stay is a village-colour range; availability states above remain global. */
:root{--hp-calendar-selected-range:#e3e3d9;}
: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;}
