/**
 * @author    Ronny Antes
 * @copyright 2026 Ronny Antes - North-Addons
 * @license   North-Addons.de License <https://lizenz.north-addons.de/lizenz.html>
 * @Version   1.4.7
 * @Software  Ferienwohnung CMS
 */

:root{--fw-primary:#0f6b5d;--fw-accent:#e9a64a;--fw-bg:#f4f7f5;--fw-dark:#17332e;--fw-radius:1.1rem}body{background:var(--fw-bg);color:#263630}.navbar-brand{font-weight:800;letter-spacing:.02em}.hero{background:linear-gradient(135deg,var(--fw-primary) 0%,#153c36 58%,#1b2927 100%);color:white;border-radius:0 0 2rem 2rem}.hero-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15)}.section-title{font-weight:800;color:var(--fw-dark)}.card{border:0;border-radius:var(--fw-radius);box-shadow:0 .6rem 2rem rgba(26,51,45,.07)}.gallery-tile{aspect-ratio:4/3;object-fit:cover;border-radius:1rem;width:100%}.availability-day{border-radius:.6rem;padding:.5rem;text-align:center;background:#e9f7ef}.availability-day.busy{background:#fde8e7}.footer{background:#152d29;color:#dce7e4}.builder-drop{min-height:90px;border:2px dashed #cbd5d1;border-radius:1rem;padding:1rem}.builder-item{cursor:grab}.admin-sidebar{min-height:100vh;background:#102a25}.admin-sidebar a{color:#d7e4e1;text-decoration:none;display:block;padding:.65rem .9rem;border-radius:.7rem}.admin-sidebar a:hover,.admin-sidebar a.active{background:#1d4a42;color:#fff}.status-dot{width:.75rem;height:.75rem;border-radius:50%;display:inline-block}.code-log{white-space:pre-wrap;background:#111;color:#d8f5e9;border-radius:.8rem;padding:1rem;max-height:420px;overflow:auto;font-size:.85rem}.drag-handle{cursor:grab}.media-thumb{width:88px;height:66px;object-fit:cover;border-radius:.6rem}.widget-preview{border:1px solid #e2e8e5;border-radius:1rem;padding:1rem;background:#fff}.badge-status-booked{background:#dc3545}.badge-status-reserved{background:#fd7e14}.badge-status-blocked{background:#6c757d}.badge-status-free{background:#198754}@media(max-width:991px){.admin-sidebar{min-height:auto}.hero{border-radius:0 0 1.2rem 1.2rem}}

.rating-stars{color:#d79a00;letter-spacing:.06em}.footer-link,.northaddons-branding a{color:inherit;text-decoration:none}.footer-link:hover,.northaddons-branding a:hover{text-decoration:underline}.northaddons-branding{opacity:.9}.acp-branding .northaddons-branding{margin-top:0!important}.style-asset{aspect-ratio:4/3;object-fit:cover;width:100%}

.footer-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:1.5rem}.footer-meta-center{text-align:center}.footer-meta-right{text-align:right}.footer-preview{background:var(--fw-footer-bg,#152d29);color:#dce7e4}.operator-branding a,.northaddons-branding a{color:inherit;text-decoration:none}.operator-branding a:hover,.northaddons-branding a:hover{text-decoration:underline}.operator-branding,.northaddons-branding{opacity:.92}@media(max-width:767.98px){.footer-meta-grid{grid-template-columns:1fr;align-items:start}.footer-meta-center,.footer-meta-right{text-align:left}}

/* FerienCMS 1.3.0 – globaler Frontend-Header / Spamschutz */
.global-frontend-hero{position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate}
.global-frontend-hero>.container{position:relative;z-index:2;padding-top:4rem;padding-bottom:4rem}
.global-frontend-hero.global-frontend-hero-compact.hero{min-height:220px!important;max-height:300px!important;height:auto!important;overflow:hidden}
.global-frontend-hero.global-frontend-hero-compact>.container{padding-top:2.2rem;padding-bottom:2.2rem}
.global-frontend-hero.global-frontend-hero-compact .hero-card{display:none!important}
.spam-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:767.98px){.global-frontend-hero>.container{padding-top:2.5rem;padding-bottom:2.5rem}.global-frontend-hero.global-frontend-hero-compact.hero{min-height:185px!important;max-height:260px!important}.global-frontend-hero.global-frontend-hero-compact>.container{padding-top:1.5rem;padding-bottom:1.5rem}}

.pdf-embed{overflow:hidden}.pdf-frame-wrap{background:#e9ecef;min-height:280px}.pdf-frame-wrap object,.pdf-frame-wrap iframe{display:block}.pdf-embed .card-header{background:color-mix(in srgb,var(--bs-body-bg,#fff) 94%,var(--bs-primary) 6%)}

/* FerienCMS 1.4.4 – flexible ACP/menu management */
.admin-menu-scroll{max-height:calc(100vh - 185px);overflow-y:auto;padding-right:.25rem;scrollbar-width:thin}.admin-menu-category{color:#9fbab4;padding:.2rem .9rem}.admin-menu-group{color:#d7e4e1;margin:.35rem 0}.admin-menu-group summary{cursor:pointer;padding:.45rem .9rem;font-weight:700}.menu-category,.menu-item{cursor:grab}.menu-item-list{background:rgba(0,0,0,.015)}
@media(max-width:991px){.admin-menu-scroll{max-height:55vh}.admin-sidebar{position:relative}}

/* 1.4.5 Belegungskalender */
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-grid+.calendar-grid{margin-top:.35rem}.calendar-grid-head{font-size:.78rem;font-weight:700;text-align:center;color:var(--bs-secondary-color);margin-bottom:.45rem}.calendar-day{min-height:74px;border:1px solid color-mix(in srgb,var(--calendar-state,#198754) 55%,#fff);border-radius:.65rem;padding:.45rem;background:color-mix(in srgb,var(--calendar-state,#198754) 16%,#fff);color:var(--calendar-state-text,inherit);display:flex;flex-direction:column;justify-content:space-between}.calendar-day-number{font-weight:700}.calendar-day-state{font-size:.72rem;line-height:1.1}.calendar-day.is-today{outline:2px solid var(--bs-primary);outline-offset:1px}.calendar-empty{background:transparent;border-style:dashed;opacity:.25}.calendar-legend-dot{width:.85rem;height:.85rem;border-radius:50%;display:inline-block}@media(max-width:575.98px){.calendar-grid{gap:.2rem}.calendar-day{min-height:56px;padding:.3rem}.calendar-day-state{font-size:.6rem;overflow:hidden;text-overflow:ellipsis}.calendar-grid-head{font-size:.68rem}}

/* FerienCMS 1.4.6 – Siteeditor + Belegungskalender-Widget */
.widget-calendar{overflow:hidden}.widget-calendar[aria-busy="true"]{opacity:.72}.widget-calendar-months{align-items:stretch}.calendar-widget-month{background:color-mix(in srgb,var(--bs-body-bg,#fff) 96%,var(--fw-primary) 4%)}.site-editor-zone{border:1px solid #dce6e2}.site-editor-drop{min-height:84px;border:2px dashed #d6e2de;border-radius:.8rem;padding:.65rem;background:#f8fbfa}.site-editor-widget{cursor:grab;transition:box-shadow .15s ease,opacity .15s ease}.site-editor-widget:hover{box-shadow:0 .35rem 1rem rgba(26,51,45,.08)}.site-editor-widget.is-dragging{opacity:.45}.site-editor-handle{font-size:1.15rem;letter-spacing:-.2rem;padding-right:.25rem;color:#6c7d78;cursor:grab}.site-editor-preview{border:1px solid #dce6e2;border-radius:.8rem;overflow:hidden;background:#fff}.site-editor-preview iframe{background:#fff}.site-editor-preview-sticky{position:sticky;top:1rem}.site-editor-zone[data-widget-zone="header"],.site-editor-zone[data-widget-zone="footer"]{background:color-mix(in srgb,var(--bs-primary-bg-subtle,#cfe2ff) 22%,#fff)}@media(max-width:1399.98px){.site-editor-preview-sticky{position:static}}@media(max-width:575.98px){.widget-calendar .calendar-day{min-height:50px}.widget-calendar .calendar-day-state{display:none}}

/* FerienCMS 1.4.7 – konsistente Widget-Zonen auf allen Frontend-Seiten */
.frontend-widget-layout{margin-top:1.5rem;margin-bottom:1.5rem}.frontend-widget-sidebar .widget-calendar-months>[class*="col-xl-"]{width:100%}.frontend-widget-sidebar .calendar-day{min-height:56px;padding:.35rem}.frontend-widget-sidebar .calendar-day-state{font-size:.62rem}@media(max-width:1199.98px){.frontend-widget-layout{padding-left:0!important;padding-right:0!important}.frontend-widget-sidebar{order:2}.frontend-widget-main{order:1}}

/* FerienCMS 1.4.9 – anklickbare freie Kalendertage + Schnell-pruefen-Widget */
.calendar-day-selectable{text-decoration:none;color:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.calendar-day-selectable:hover,.calendar-day-selectable:focus-visible{color:inherit;transform:translateY(-1px);box-shadow:0 .25rem .7rem rgba(15,107,93,.18);outline:2px solid color-mix(in srgb,var(--calendar-state,#198754) 68%,#0000);outline-offset:1px}.widget-type-quick_check form{margin:0}

/* 1.4.18 Objektbereiche / Galerien */
.object-menu{position:sticky;top:56px;z-index:1010}.object-gallery-cover{height:240px;object-fit:cover}.object-preview-image{width:100%;height:190px;object-fit:cover}.media-thumb{width:72px;height:54px;object-fit:cover;border-radius:.5rem}@media(max-width:767.98px){.object-menu{position:static}.object-gallery-cover{height:210px}.object-preview-image{height:135px}}
