#header {
    padding: 1.25em 0 1.1em;
    overflow: visible;
}
#header .logo {
    top: .35em;
}
#header .logo div,
#header .logo.container {
    overflow: visible;
}
.site-branding {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    overflow: visible;
}
.site-logo {
    width: 7.25rem;
    height: auto;
    display: block;
    flex: 0 0 auto;
}
.site-branding-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .3rem;
    text-align: left;
}
#header .logo .site-branding h1 {
    display: block;
    margin: 0;
    line-height: 1.02;
}
#header .logo .site-branding p {
    display: block;
    margin: 0;
    line-height: 1.1;
}
#header .logo .site-branding #logo {
    display: inline-block;
    margin: 0;
}
#banner {
    background-image: linear-gradient(rgba(13,31,26,.35), rgba(13,31,26,.45)), url("../../images/ferienhaus/large/hero-wohnzimmer.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
#banner .content {
    background-color: rgba(18,35,31,.78);
    max-width: 60rem;
    margin: 0 auto;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
#banner .content p {
    color: rgba(255,255,255,.88);
    text-transform: none;
    line-height: 1.6;
}
.hero-actions, .hero-facts {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .75rem;
}.hero-actions { margin: 0 0 1.5rem 0; }
.hero-actions li, .actions.stacked li { padding: 0; }
.hero-actions .button { min-width: 15rem; }
.hero-facts span { display: inline-block; padding: .45rem .9rem; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; font-family: 'Open Sans Condensed', sans-serif; text-transform: uppercase; background: rgba(255,255,255,.08); }
#nav li.current a, .button, input[type="button"], input[type="submit"], input[type="reset"], button { background-color: #6f8a64; }
#main { border-top-color: #88a17b; border-bottom-color: #c8d2c7; }
.box.feature .image.featured, .box.post .image.featured { border-radius: .45rem; overflow: hidden; }
.box.feature .image.featured img, .box.post .image.featured img { width: 100%; aspect-ratio: 4/3; object-fit: cover; cursor: zoom-in; }
.compact-text { text-align: left; min-height: 100%; }
.quick-facts, .legal-card { text-align: left; }
.quick-facts ul.divided li { font-size: 1rem; line-height: 1.7; }
.booking-placeholder, .contact-card, .legal-card, .calendar-card { background: #fff; border-radius: .6rem; box-shadow: inset 0 0 0 1px rgba(107,119,112,.14); padding: 2rem; text-align: left; }
.form-grid { display: grid; gap: 1rem; margin-bottom: 1rem; }
.form-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.one-col { grid-template-columns: 1fr; }
.inquiry-form label { display: block; font-weight: 700; margin-bottom: .4rem; }
.inquiry-form input, .inquiry-form textarea, .inquiry-form select { width: 100%; }
.form-actions { margin-top: 1rem; }
.contact-shortcut {
    margin-bottom: .75rem;
}
.contact-shortcut-actions {
    margin: 0 0 1.5rem;
}
.whatsapp-link {
    background-color: #25d366 !important;
    border-color: #25d366 !important;
    color: #fff !important;
}
.whatsapp-link:hover,
.whatsapp-link:focus {
    background-color: #1fb85a !important;
    border-color: #1fb85a !important;
}
.form-actions .whatsapp-link {
    margin-left: .75rem;
}
.floating-whatsapp {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 9000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 9rem;
    padding: .85rem 1.2rem;
    border-radius: 999px;
    box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.18);
    font-weight: 700;
    text-decoration: none;
}
.form-message { border-radius: .5rem; padding: 1rem 1.25rem; margin-bottom: 1.25rem; }
.form-message.error { background: #fff1f0; color: #8c2f2a; }
.form-message.success { background: #edf8ee; color: #315c34; }
.hp-field { position: absolute; left: -9999px; }
.small-note { color: #6b7770; font-size: .95rem; }
.actions.stacked { display: flex; flex-direction: column; gap: .75rem; margin-top: 1.5rem; }
.calendar-legend { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1rem 0 1.5rem; }
.legend-item { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .65rem; border-radius: 999px; font-size: .95rem; }
.legend-item.free { background: #eef5eb; color: #476241; }
.legend-item.booked { background: #f8dede; color: #9b3939; }
.legend-item.blocked { background: #ebedf0; color: #5f6975; }
.calendar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.calendar-month { border: 1px solid rgba(107,119,112,.14); border-radius: .6rem; padding: 1rem; background: #fbfcfb; overflow: hidden; }
.calendar-month h3 { margin-bottom: .8rem; text-transform: capitalize; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.calendar-weekdays span { text-align: center; font-size: .85rem; color: #6b7770; }
.calendar-day {
    display: grid;
    place-items: center;
    width: 100%;
    min-width: 0;
    min-height: 2.6rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .45rem;
    font-size: .9rem;
    line-height: 1;
    font-family: inherit;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    background: #f3f7f2;
}
.calendar-day.is-free { background: #eef5eb; color: #476241; cursor: pointer; }
.calendar-day.is-booked { background: #f7d8d8; color: #9b3939; }
.calendar-day.is-blocked { background: #e6eaef; color: #5f6975; }
.calendar-day.is-past { background: #f3f3f3; color: #aaa; }
.calendar-day.is-today { outline: 2px solid #6f8a64; outline-offset: -2px; }
.calendar-day.is-empty { background: transparent; }
.calendar-day[disabled] { opacity: 1; }
.availability-picker { margin-top: 1.5rem; }
.admin-panel { max-width: 1100px; margin: 0 auto; }
.admin-table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.admin-table th, .admin-table td { padding: .75rem; border-bottom: 1px solid rgba(107,119,112,.15); text-align: left; }
.lightbox-source-only { display: none !important; }
.lightbox { position: fixed; inset: 0; background: rgba(8,12,10,.92); display: flex; align-items: center; justify-content: center; padding: 2rem 4.5rem; opacity: 0; pointer-events: none; transition: opacity .2s ease; z-index: 10000; }
.lightbox.is-open { opacity: 1; pointer-events: auto; }
.lightbox-figure { margin: 0; max-width: min(92vw, 1120px); max-height: 92vh; text-align: center; }
.lightbox img { max-width: 100%; max-height: calc(92vh - 4.5rem); border-radius: .5rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.35); }
.lightbox figcaption { color: #fff; margin-top: .85rem; font-size: 1rem; }
.lightbox-close, .lightbox-nav {
    position: absolute;
    display: grid;
    place-items: center;
    border: 0;
    padding: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    color: #fff;
    appearance: none;
    -webkit-appearance: none;
}
.lightbox-close { top: 1rem; right: 1rem; width: 4rem; height: 4rem; }
.lightbox-close span {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    line-height: 1;
    font-size: 2rem;
    transform: none;
}
.lightbox-nav { top: 50%; transform: translateY(-50%); width: 3.5rem; height: 3.5rem; }
.lightbox-nav span { line-height: 1; font-size: 2.25rem; transform: translateY(-2px); }
.lightbox-nav.prev { left: 1rem; }
.lightbox-nav.next { right: 1rem; }
body.lightbox-open { overflow: hidden; }
.price-list { list-style: none; margin: 0; padding: 0; }
.price-list li { padding: 1rem 0; border-top: 1px solid rgba(107,119,112,.15); }
.price-list li:first-child { border-top: 0; padding-top: 0; }
.price-item-title { display: block; font-weight: 700; color: #476241; }
.price-item-value { display: block; margin-top: .35rem; line-height: 1.7; }
.toggle-control { display: flex; align-items: center; gap: .85rem; min-height: 3.5rem; }
.toggle-switch { position: relative; display: inline-flex; align-items: center; }
.toggle-switch input { position: absolute; opacity: 0; pointer-events: none; }
.toggle-slider {
    position: relative;
    width: 3.5rem;
    height: 2rem;
    border-radius: 999px;
    background: #ccd7c7;
    transition: background .2s ease;
    display: inline-block;
}
.toggle-slider::after {
    content: '';
    position: absolute;
    top: .2rem;
    left: .2rem;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: #fff;
    transition: transform .2s ease;
    box-shadow: 0 .2rem .5rem rgba(0,0,0,.12);
}
.toggle-switch input:checked + .toggle-slider { background: #6f8a64; }
.toggle-switch input:checked + .toggle-slider::after { transform: translateX(1.5rem); }
.toggle-text { font-weight: 700; min-width: 2rem; }
details.legal-toggle summary { cursor: pointer; font-weight: 700; }
details.legal-toggle summary::-webkit-details-marker { display: none; }
details.legal-toggle summary::after { content: '+'; float: right; font-size: 1.2rem; }
details.legal-toggle[open] summary::after { content: '−'; }
.legal-toggle-content { margin-top: 1rem; }
@media screen and (max-width: 980px) { .site-branding { gap: 1rem; } .site-logo { width: 5.5rem; } .calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 736px) {
    #banner .content { padding-left: 1.5rem; padding-right: 1.5rem; }
    .site-branding { display: flex; flex-direction: column; align-items: center; gap: .8rem; }
    .site-logo { width: 5rem; margin: 0 auto; display: block; }
    .hero-actions .button { min-width: 0; width: 100%; }
    .booking-placeholder, .contact-card, .legal-card, .calendar-card { padding: 1.5rem; }
    .form-grid.two-col, .calendar-grid { grid-template-columns: 1fr; }
    .lightbox { padding: 1rem 3.75rem; }
    .lightbox-close { width: 3.5rem; height: 3.5rem; top: .75rem; right: .75rem; }
    .lightbox-nav { width: 3rem; height: 3rem; }
    .lightbox-nav.prev { left: .5rem; }
    .lightbox-nav.next { right: .5rem; }
    .form-actions .whatsapp-link { margin-left: 0; margin-top: .75rem; }
    .floating-whatsapp { right: .75rem; bottom: .75rem; min-width: 0; padding: .8rem 1rem; }
    .admin-table { display: block; overflow-x: auto; }
}
.calendar-day.is-selected-start, .calendar-day.is-selected-end { background: #6f8a64; color: #fff; }
.calendar-day.is-selected-range { background: #d8e8d1; color: #365032; }
.admin-sections { display: grid; gap: 2rem; }
.season-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media screen and (max-width: 736px) { .season-grid { grid-template-columns: 1fr; } }















