/* Buchungskalender (CalendarApp) im Royal-Design
   Überschreibt das Standard-Aussehen; Funktion und Abgleich mit Airbnb/Booking bleiben unverändert. */
#zhcal-root{--k-frei:#FFFFFF;--k-belegt:#D8CBB3;--k-reserviert:#EFE5D2;--k-navy:#103052;--k-text:#14202E;--k-muted:#6B7280;font-family:'Montserrat',system-ui,sans-serif !important;color:var(--k-text) !important}
#zhcal-root *{font-family:inherit !important}

/* Legende */
#zhcal-root .zhcal_legend{font-size:14px !important;color:var(--k-muted) !important;margin-bottom:14px !important}
#zhcal-root .zhcal_legend span{display:inline-flex !important;align-items:center;gap:8px;margin-right:22px !important}
#zhcal-root .zhcal_info{width:16px !important;height:16px !important;border-radius:3px !important;border:1px solid #CFC4B0 !important}
#zhcal-root .zhcal_info.zhcal_blocked{background:var(--k-belegt) !important}
#zhcal-root .zhcal_info.zhcal_reserved{background:var(--k-reserviert) !important}

/* Monate */
#zhcal-root .zhcal_margin{margin:0 8px !important}
#zhcal-root table.zhcal_month{border-collapse:separate !important;border-spacing:3px !important;background:transparent !important}
#zhcal-root th.zhcal_month{background:transparent !important;color:var(--k-navy) !important;font-family:'Playfair',Georgia,serif !important;font-weight:400 !important;font-size:22px !important;height:auto !important;padding:4px 0 10px !important;text-align:center !important}
#zhcal-root tr.zhcal_month_days th{background:transparent !important;color:var(--k-muted) !important;font-size:12px !important;font-weight:600 !important;letter-spacing:.06em;text-transform:uppercase;padding-bottom:6px !important}

/* Tage */
#zhcal-root td.zhcal_days,#zhcal-root td.zhcal_tag_leer{background:var(--k-frei) !important;border-radius:4px !important;overflow:hidden;color:var(--k-text) !important}
#zhcal-root td.zhcal_tag_leer{background:transparent !important}
#zhcal-root td.zhcal_days{box-shadow:inset 0 0 0 1px #E2DCD2}
#zhcal-root div.zhcal_tag{color:var(--k-text) !important;font-size:14px !important;font-weight:500 !important;height:40px !important;line-height:40px !important}
/* Ganze Tage – «Belegt» hat Vorrang vor «Reserviert» */
#zhcal-root div.zhcal_tag{background:transparent !important}
#zhcal-root div.zhcal_tag.zhcal_reserved{background:var(--k-reserviert) !important;color:var(--k-text) !important}
#zhcal-root div.zhcal_tag.zhcal_blocked{background:var(--k-belegt) !important;color:#7A6A50 !important}

/* Halbe Tage: Anreise = Dreieck unten rechts (.zhcal_before), Abreise = Dreieck oben links (.zhcal_after).
   Jede Hälfte erhält ihre eigene Farbe – so stimmen auch Wechseltage und kurze Aufenthalte (z. B. Mi–So). */
#zhcal-root .zhcal_tag.zhcal_anfang_reserved .zhcal_before{border-bottom-color:var(--k-reserviert) !important}
#zhcal-root .zhcal_tag.zhcal_anfang_blocked .zhcal_before{border-bottom-color:var(--k-belegt) !important}
#zhcal-root .zhcal_tag.zhcal_ende_reserved .zhcal_after{border-top-color:var(--k-reserviert) !important}
#zhcal-root .zhcal_tag.zhcal_ende_blocked .zhcal_after{border-top-color:var(--k-belegt) !important}

/* Blättern: eigene Pfeile (Navy) auf dem Button – CalendarApp verschiebt auf dem Handy die Hintergrundgrafik der Kreise */
#zhcal-root .zhcal_nav{background-color:#FFFFFF !important;background-image:none !important;border:1px solid #E2DCD2 !important;border-radius:999px !important;width:40px !important;height:40px !important;transform:none !important;z-index:2}
#zhcal-root .zhcal_nav button{background-color:transparent !important;background-repeat:no-repeat !important;background-position:center center !important;background-size:18px 18px !important;border:0 !important;width:100% !important;height:100% !important;cursor:pointer}
#zhcal-root .zhcal_nav.zhcal_before button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23103052' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") !important}
#zhcal-root .zhcal_nav.zhcal_after button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23103052' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") !important}
#zhcal-root .zhcal_nav:hover{border-color:var(--k-navy) !important;background-color:#F7F4EF !important}
@media (max-width:600px){#zhcal-root .zhcal_margin{margin:0 !important}#zhcal-root .zhcal_nav{width:36px !important;height:36px !important}}

/* Buttons */
#zhcal-root a.zhcal_btn,#zhcal-root a.zhcal_submit{background:var(--k-navy) !important;border:0 !important;color:#F7F4EF !important;border-radius:999px !important;font-weight:700 !important;font-size:16px !important;padding:0 28px !important;height:50px !important;line-height:50px !important;text-decoration:none !important;display:inline-block !important;transition:background .2s}
#zhcal-root a.zhcal_btn:hover,#zhcal-root a.zhcal_submit:hover{background:#0B2340 !important;color:#fff !important}
#zhcal-root .zhcal_buchunglink{text-align:center;margin-top:20px !important}

/* Anfrageformular */
#zhcal-root .zhcal_buchungcont{background:transparent !important;text-align:left}
#zhcal-root .zhcal_buchungcont h3{font-family:'Playfair',Georgia,serif !important;font-weight:300 !important;font-size:28px !important;color:var(--k-navy) !important;margin:28px 0 16px !important}
#zhcal-root .zhcal_text,#zhcal-root .zhcal_element{font-size:13px !important;letter-spacing:.04em;color:var(--k-text) !important;font-weight:700 !important}
#zhcal-root input,#zhcal-root select,#zhcal-root textarea{font-family:'Montserrat',system-ui,sans-serif !important;font-size:16px !important;font-weight:400 !important;border:1px solid #C9C1B4 !important;border-radius:4px !important;background:#fff !important;color:var(--k-text) !important;min-height:46px !important;box-sizing:border-box !important}
#zhcal-root textarea{padding:12px 14px !important}
#zhcal-root input:focus,#zhcal-root select:focus,#zhcal-root textarea:focus{outline:2px solid #806128 !important;outline-offset:1px}
#zhcal-root .zhcal_summe{background:var(--k-navy) !important;color:#F7F4EF !important;border-radius:6px !important}
#zhcal-root .zhcal_summe a{color:#C9A96A !important}

/* Datumsauswahl im Formular */
#zhcal-root .ui-datepicker{border:1px solid #E2DCD2 !important;border-radius:6px !important;background:#fff !important;box-shadow:0 18px 40px rgba(16,48,82,.15) !important}
#zhcal-root .ui-datepicker-header{background:transparent !important;border:0 !important;color:var(--k-navy) !important;font-weight:600 !important}
#zhcal-root .ui-state-default{background:#fff !important;border:1px solid #E2DCD2 !important;color:var(--k-text) !important;border-radius:3px !important;text-align:center !important}
#zhcal-root .ui-state-highlight{border-color:#806128 !important}
#zhcal-root .ui-state-active,#zhcal-root .ui-state-hover{background:var(--k-navy) !important;color:#fff !important;border-color:var(--k-navy) !important}
#zhcal-root .ui-state-disabled .ui-state-default{background:#F3EFE7 !important;color:#B5AC9C !important}

/* Rahmen des Standard-Designs entfernen, Tage ausserhalb des Monats dämpfen */
#zhcal-root table,#zhcal-root td,#zhcal-root th,#zhcal-root div.zhcal_month,#zhcal-root .zhcal_margin,#zhcal-root .zhcal_tag{border:0 !important}
#zhcal-root th.zhcal_month{border-bottom:1px solid #E2DCD2 !important}
#zhcal-root td.zhcal_tag_leer,#zhcal-root td.zhcal_tag_leer *{color:#C5BCAE !important;box-shadow:none !important;background:transparent !important}
#zhcal-root .zhcal_legend > div{display:flex;justify-content:center;gap:4px}
#zhcal-root .zhcal_legend span{border:0 !important}

/* Beschriftungen wie im übrigen Formular (nicht in Grossbuchstaben) */
#zhcal-root .zhcal_element label{text-transform:none !important;font-size:14px !important;font-weight:700 !important;letter-spacing:0 !important;color:#14202E !important;line-height:1.4 !important;margin-bottom:6px !important;display:block}

/* Beispieltexte im Formular deutlich als Hinweis erkennbar (hell, kursiv) */
#zhcal-root input::placeholder,#zhcal-root textarea::placeholder{color:#B3AA9C !important;opacity:1 !important;font-style:italic}
