/* Ferienwohnung auf der Website (alle Themes; Farben aus den Variablen des Themes): Wohnungsseite, Belegungskalender,
   Anfrageformular. Pfad: app/bausteine/ferienwohnung/assets/ferien.css → ausgabe/<slug>/assets/ferien.css */
.fw-seite{--fw-farbe:var(--primaer,#1f6f78);--fw-linie:var(--linie,var(--line,#e2ded6));--fw-text2:var(--ink-2,var(--ink2,#5b6168));--fw-flaeche:var(--bg-2,#f4f2ec);
  --fw-belegt:#d9d5cc;margin:0 auto 48px}
.fw-einheit{margin:0 0 40px}
.fw-fotos{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:8px;margin:0 0 24px;border-radius:14px;overflow:hidden}
.fw-fotos .fw-weitere{display:none}
.fw-fotos .fw-plus{position:relative}
.fw-fotos .fw-plus::after{content:attr(data-mehr);position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-weight:700;font-size:20px}
.fw-fotos figure{margin:0;overflow:hidden;cursor:zoom-in;background:var(--fw-flaeche)}
.fw-fotos img{width:100%;height:100%;object-fit:cover;display:block}
.fw-fotos .fw-gross{grid-row:span 2;grid-column:span 2}
.fw-zweispaltig{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:32px;align-items:start}
.fw-fakten{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0}
.fw-fakten li{border:1px solid var(--fw-linie);border-radius:999px;padding:4px 12px;font-size:15px}
.fw-ausstattung{columns:2;column-gap:28px;padding-left:20px}
.fw-ausstattung li{break-inside:avoid;margin:0 0 4px}
.fw-preise{border:1px solid var(--fw-linie);border-radius:14px;padding:18px 20px;background:var(--card,#fff);position:sticky;top:96px}
.fw-preise h3{margin-top:0}
.fw-preise dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 12px}
.fw-preise dt small,.fw-preise dd small{color:var(--fw-text2)}
.fw-preise dd{margin:0;text-align:right;font-weight:700}
.fw-hinweise{border-top:1px solid var(--fw-linie);padding-top:16px}
.fw-kalender-box{margin-top:28px}
/* Kalender */
.fw-kalender{position:relative}
.fw-kal-kopf{display:flex;justify-content:space-between;position:absolute;left:0;right:0;top:0;pointer-events:none}
.fw-kal-pfeil{pointer-events:auto;border:1px solid var(--fw-linie);background:var(--card,#fff);color:inherit;border-radius:999px;width:36px;height:36px;font-size:20px;line-height:1;cursor:pointer}
.fw-kal-pfeil[disabled]{opacity:.35;cursor:default}
.fw-kal-monate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.fw-kal-titel{text-align:center;font-weight:700;margin:6px 0 10px;min-height:24px}
.fw-kal-raster{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.fw-kal-wt{font-size:12px;color:var(--fw-text2);padding:2px 0}
.fw-kal-tag{display:block;width:100%;border:0;border-radius:8px;padding:8px 0;font:inherit;font-size:15px;color:inherit;background:var(--fw-flaeche)}
button.fw-kal-tag{cursor:pointer}
button.fw-kal-tag:hover:not([disabled]){outline:2px solid var(--fw-farbe);outline-offset:-2px}
.fw-kal-tag.fw-kal-belegt{background:var(--fw-belegt);color:#7a776f;text-decoration:line-through}
.fw-kal-tag.fw-kal-anreise{background:linear-gradient(135deg,var(--fw-flaeche) 50%,var(--fw-belegt) 50%)}
.fw-kal-tag.fw-kal-abreise{background:linear-gradient(135deg,var(--fw-belegt) 50%,var(--fw-flaeche) 50%)}
.fw-kal-tag.fw-kal-vorbei{opacity:.35;background:none;text-decoration:none}
.fw-kal-tag.fw-kal-heute{box-shadow:inset 0 0 0 2px var(--fw-text2)}
.fw-kal-tag.fw-kal-von,.fw-kal-tag.fw-kal-bis{background:var(--fw-farbe);color:#fff;text-decoration:none;font-weight:700}
.fw-kal-tag.fw-kal-dazwischen{background:color-mix(in srgb,var(--fw-farbe) 22%,#fff)}
.fw-kal-legende{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fw-text2);margin:12px 0 0}
.fw-kal-legende .fw-kal-tag{width:18px;padding:0;height:18px;display:inline-block}
.fw-kal-frei-muster{background:var(--fw-flaeche)}
/* Formular */
.fw-anfrage-seite{max-width:820px}
.fw-hinweis{font-size:16px;color:var(--fw-text2)}
.fw-formular{display:grid;gap:18px}
.fw-formular fieldset{border:1px solid var(--fw-linie);border-radius:14px;padding:18px;margin:0;background:var(--card,#fff);min-width:0}
.fw-formular legend{font-weight:700;padding:0 6px}
.fw-formular .fw-kalender{margin:0 0 14px}
.fw-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 16px}
.fw-raster.fw-zwei{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fw-formular label{display:flex;flex-direction:column;gap:5px;font-size:15px;font-weight:600;color:var(--fw-text2)}
.fw-formular input,.fw-formular select,.fw-formular textarea{font:inherit;font-size:16px;line-height:1.4;color:var(--ink,#1f2328);background:#fff;border:1px solid #c9c5bc;border-radius:10px;padding:10px 12px;width:100%;min-width:0}
.fw-formular input:focus,.fw-formular select:focus,.fw-formular textarea:focus{outline:2px solid var(--fw-farbe);outline-offset:1px}
.fw-formular .fw-voll{grid-column:1/-1;margin-bottom:12px}
.fw-klein{font-size:14px;color:var(--fw-text2)}
.fw-klein:empty{display:none}
.fw-preisvorschau{margin-top:14px;padding:12px 16px;border-radius:10px;background:var(--fw-flaeche)}
.fw-preisvorschau p{margin:0}
.fw-preisvorschau .fw-summe{font-weight:700;font-size:18px;margin-top:4px}
.fw-chk{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;color:var(--ink,#1f2328)!important}
.fw-chk input{width:20px!important;height:20px;flex:none;margin-top:2px}
.fw-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.fw-knopf{display:inline-flex;align-items:center;justify-content:center;background:var(--fw-farbe);color:#fff;border:0;border-radius:999px;padding:13px 26px;font:inherit;font-size:17px;font-weight:600;line-height:1.2;cursor:pointer;justify-self:start}
.fw-knopf[disabled]{opacity:.6;cursor:wait}
.fw-meldung{margin:0;padding:12px 16px;border-radius:10px;font-weight:600}
.fw-meldung:empty{display:none}
.fw-meldung.fehler{background:#fde4e0;color:#8c2f21}
.fw-fertig{border:1px solid var(--fw-linie);border-radius:14px;padding:22px;background:var(--card,#fff)}
.fw-fertig h2{margin-top:0}
@media (max-width:860px){
  .fw-zweispaltig{grid-template-columns:1fr}
  .fw-preise{position:static}
  .fw-fotos{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .fw-fotos figure:nth-child(n+6){display:none}
  .fw-fotos .fw-gross{grid-column:span 2;grid-row:span 2}
  .fw-ausstattung{columns:1}
}
@media (max-width:640px){
  .fw-kal-monate{grid-template-columns:1fr}
  .fw-kal-monat+.fw-kal-monat{display:none}
  .fw-formular fieldset{padding:14px}
  .fw-knopf{width:100%}
}
