.fha {
--fha-bg: #FBFAF7;
--fha-flaeche: #FFFFFF;
--fha-flaeche-alt: #F6F3F6;
--fha-rand: #E5DEE6;
--fha-rand-hell: #EFEAF0;
--fha-text: #2C2C2C;
--fha-text-2: #5F5560;
--fha-text-3: #8A7F88;
--fha-akzent: #7D6285;
--fha-akzent-dunkel: #665070;
--fha-akzent-hell: #C3AECB;
--fha-highlight: #F1EAF4;
--fha-gruen: #5E835E;
--fha-rot: #A04646;
--fha-serif: 'Cormorant Garamond', Georgia, serif;
--fha-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
font-family: var(--fha-sans);
font-size: 17px;
line-height: 1.6;
color: var(--fha-text);
max-width: 980px;
margin: 32px auto;
-webkit-font-smoothing: antialiased;
container-type: inline-size;
}
.fha *, .fha *::before, .fha *::after { box-sizing: border-box; }
.fha p { margin: 0 0 10px; }
.fha [hidden] { display: none !important; } .fha button { padding: 0; margin: 0; font-family: var(--fha-sans); font-weight: 400; line-height: 1.3; text-shadow: none; background-image: none; }
.fha button:focus, .fha button:hover, .fha button:active { background-image: none; box-shadow: none; }
.fha h1, .fha h2, .fha h3, .fha h4, .fha h5, .fha h6 { font-family: var(--fha-serif) !important; letter-spacing: normal; text-transform: none; color: var(--fha-text); }
.fha ul, .fha li { list-style: none; }
.fha ul li { margin-left: 0; margin-right: 0; }
.fha li::marker { content: none; }
.fha a { color: var(--fha-akzent); }
.fha a.fha-knopf, .fha a.fha-knopf:visited, .fha a.fha-knopf:hover { color: #fff; text-decoration: none; }
.fha a.fha-knopf--hell, .fha a.fha-knopf--hell:visited, .fha a.fha-knopf--hell:hover { color: var(--fha-akzent); }
.fha .fha-leer{ text-align: center; color: var(--fha-text-2); padding: 24px 0; }
.fha .fha-kicker{ font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--fha-akzent); margin: 0 0 6px !important; font-weight: 500; }
.fha .fha-karte__titel{ font-family: var(--fha-serif); font-weight: 500; font-size: 32px; line-height: 1.15; color: var(--fha-text); margin: 0 0 6px; }
.fha .fha-fuer{ color: var(--fha-text-2); font-size: 15px; }
.fha .fha-text{ color: var(--fha-text); }
.fha .fha-text p:last-child{ margin-bottom: 0; }
.fha .fha-klein{ font-size: 14px; color: var(--fha-text-3); margin-top: 8px; } .fha .fha-knopf{
display: inline-flex; align-items: center; justify-content: center;
min-height: 52px; padding: 14px 30px;
background: var(--fha-akzent); color: #fff; border: 0; border-radius: 8px;
font-family: var(--fha-sans); font-size: 17px; font-weight: 500; letter-spacing: .02em;
cursor: pointer; transition: background .2s, transform .2s; text-decoration: none;
}
.fha .fha-knopf:hover{ background: var(--fha-akzent-dunkel); }
.fha .fha-knopf:focus-visible, .fha .fha-gs-wahl:focus-visible, .fha .fha-link:focus-visible, .fha .fha-zurueck:focus-visible{ outline: 3px solid var(--fha-akzent-hell); outline-offset: 2px; }
.fha .fha-knopf[disabled]{ opacity: .6; cursor: wait; }
.fha .fha-knopf[aria-expanded="true"]{ background: var(--fha-flaeche); color: var(--fha-akzent); box-shadow: inset 0 0 0 1.5px var(--fha-akzent); }
.fha .fha-link, .fha .fha-zurueck{
background: none; border: 0; padding: 8px 0; color: var(--fha-akzent);
font: 500 16px var(--fha-sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}
.fha .fha-knoepfe{ display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 16px; } .fha .fha-pille, .fha .fha-umschalter{
min-height: 44px; padding: 8px 18px; border: 1.5px solid var(--fha-rand); border-radius: 99px;
background: #fff; color: var(--fha-text); font: 500 15px var(--fha-sans); cursor: pointer; transition: all .15s;
}
.fha .fha-pille:hover, .fha .fha-umschalter:hover{ border-color: var(--fha-akzent-hell); }
.fha .fha-pille[aria-pressed="true"]{ background: var(--fha-akzent); border-color: var(--fha-akzent); color: #fff; }
.fha .fha-pille:focus-visible, .fha .fha-umschalter:focus-visible, .fha .fha-kal__tag:focus-visible, .fha .fha-kal__pfeil:focus-visible, .fha .fha-dialog__zu:focus-visible{ outline: 3px solid var(--fha-akzent-hell); outline-offset: 2px; }
.fha .fha-knopf--hell{ background: #fff; color: var(--fha-akzent); box-shadow: inset 0 0 0 1.5px var(--fha-akzent); }
.fha .fha-knopf--hell:hover{ background: var(--fha-highlight); }
.ist-markiert { animation: fha-markiert 2.4s ease; }
@keyframes fha-markiert { 0%, 60% { box-shadow: 0 0 0 4px var(--fha-akzent-hell); } 100% { box-shadow: 0 0 0 0 transparent; } } .fha .fha-bild--leer{ display: flex; align-items: center; justify-content: center; color: var(--fha-akzent-hell); min-height: 220px; background: linear-gradient(160deg, var(--fha-highlight), #E9DFEE); }
.fha.fha-pakete{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fha .fha-pk{
display: flex; flex-direction: column; background: var(--fha-flaeche);
border: 1px solid var(--fha-rand); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,.04);
}
.fha .fha-pk__bild{ aspect-ratio: 3 / 2; background: var(--fha-highlight); overflow: hidden; }
.fha .fha-pk__bild img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.fha .fha-pk__bild.fha-bild--leer{ min-height: 0; }
.fha .fha-pk__inhalt{ display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.fha .fha-pk__titel{ font-family: var(--fha-serif); font-weight: 500; font-size: 28px; line-height: 1.15; color: var(--fha-text); margin: 0 0 4px; }
.fha .fha-pk__fuss{ margin-top: auto; padding-top: 6px; }
.fha .fha-pk__fuss .fha-knopf{ width: 100%; margin-top: 12px; }
.fha .fha-liste{ list-style: none; margin: 12px 0 0; padding: 0; }
.fha .fha-liste li{ position: relative; padding: 5px 0 5px 28px; border-top: 1px solid var(--fha-rand-hell); }
.fha .fha-liste li:first-child{ border-top: 0; }
.fha .fha-liste li::before{ content: ''; position: absolute; left: 4px; top: 14px; width: 12px; height: 7px; border-left: 2px solid var(--fha-akzent); border-bottom: 2px solid var(--fha-akzent); transform: rotate(-45deg); }
.fha .fha-liste--kurz li{ font-size: 16px; padding-top: 3px; padding-bottom: 3px; border-top: 0; }
.fha .fha-liste--kurz li::before{ top: 11px; }
.fha .fha-mehr{ font-size: 14px; color: var(--fha-text-3); margin: 2px 0 0 28px !important; }
.fha .fha-preis{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 16px 0 4px; padding: 12px 16px; background: var(--fha-flaeche-alt); border-radius: 10px; }
.fha .fha-preis__statt{ color: var(--fha-text-3); text-decoration: line-through; font-size: 15px; }
.fha .fha-preis__wert{ font-family: var(--fha-serif); font-size: 34px; font-weight: 600; color: var(--fha-akzent-dunkel); line-height: 1; }
.fha .fha-preis__wert--klein{ font-size: 24px; }
.fha .fha-preis__einheit{ color: var(--fha-text-2); font-size: 15px; }
.fha .fha-preis__zusatz{ flex-basis: 100%; color: var(--fha-text-2); font-size: 15px; } html.fha-gesperrt { overflow: hidden; }
.fha .fha-dialog{
width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; margin: auto;
border: 0; border-radius: 16px; background: var(--fha-flaeche); color: var(--fha-text);
box-shadow: 0 24px 64px rgba(44, 30, 50, .3); overflow: hidden; display: none; flex-direction: column;
font-family: var(--fha-sans); font-size: 17px; line-height: 1.6;
}
.fha .fha-dialog[open]{ display: flex; }
.fha .fha-dialog::backdrop{ background: rgba(44, 34, 48, .55); }
.fha .fha-dialog__kopf{ display: flex; align-items: center; gap: 16px; padding: 16px 16px 14px 28px; border-bottom: 1px solid var(--fha-rand); background: var(--fha-flaeche); }
.fha .fha-dialog__titel{ flex: 1; font-family: var(--fha-serif); font-size: 26px; font-weight: 500; line-height: 1.2; margin: 0 !important; }
.fha .fha-dialog__zu{ flex: none; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--fha-flaeche-alt); color: var(--fha-text); font-size: 28px; line-height: 1; cursor: pointer; }
.fha .fha-dialog__zu:hover{ background: var(--fha-highlight); }
.fha .fha-dialog__inhalt{ overflow-y: auto; overscroll-behavior: contain; }
.fha .fha-dialog__details{ padding: 22px 28px 6px; }
.fha .fha-dialog__details .fha-feld__titel{ margin-top: 18px !important; }
.fha .fha-dialog .fha-formbox{ padding: 22px 28px 28px; }
.fha .fha-dialog__details + .fha-formbox{ margin-top: 18px; border-top: 1px solid var(--fha-rand); } .fha .fha-va-h{ font-family: var(--fha-serif); font-weight: 500; font-size: 28px; line-height: 1.2; margin: 30px 0 12px; color: var(--fha-text); }
.fha .fha-va-block > .fha-va-h:first-child{ margin-top: 0; }
.fha .fha-va-block--saison{ margin-bottom: 30px; }
.fha .fha-va-leiste{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--fha-rand); }
.fha .fha-va-monate{ display: flex; flex-wrap: wrap; gap: 8px; }
.fha .fha-va-ansicht{ display: inline-flex; padding: 3px; border-radius: 99px; background: var(--fha-flaeche-alt); margin-left: auto; }
.fha .fha-umschalter{ border: 0; background: transparent; min-height: 40px; }
.fha .fha-umschalter[aria-pressed="true"]{ background: var(--fha-akzent); color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.fha .fha-va-zeile{
display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 0 22px; align-items: start;
background: var(--fha-flaeche); border: 1px solid var(--fha-rand); border-radius: 14px; padding: 20px 22px; margin-bottom: 12px;
}
.fha .fha-va-zeile--aus{ opacity: .7; }
.fha .fha-va-zeile--bild{ grid-template-columns: 200px minmax(0, 1fr) auto; padding: 14px 22px 14px 14px; align-items: center; }
.fha .fha-va-zeile__bild{ position: relative; align-self: stretch; min-height: 150px; border-radius: 10px; overflow: hidden; background: var(--fha-highlight); }
.fha .fha-va-zeile__bild img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.fha .fha-va-zeile__bild .fha-badge{ position: absolute; left: 10px; top: 10px; min-width: 58px; background: rgba(255,255,255,.94); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.fha .fha-va-zeile__titel{ font-family: var(--fha-serif); font-weight: 500; font-size: 26px; line-height: 1.15; margin: 0 0 4px; color: var(--fha-text); }
.fha .fha-va-zeile__text .fha-text{ font-size: 16px; color: var(--fha-text-2); }
.fha .fha-va-zeile__text .fha-fuer{ margin: 6px 0 0 !important; }
.fha .fha-va-zeile__aktion{ align-self: center; }
.fha .fha-va-zeile__aktion .fha-knopf{ white-space: nowrap; }
.fha .fha-va-frei{ display: inline-block; font-size: 14px; color: var(--fha-text-3); white-space: nowrap; padding: 8px 0; }
.fha .fha-va-paket{ display: inline-block; margin-top: 8px; color: var(--fha-akzent); font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.fha .fha-badge{ display: flex; flex-direction: column; align-items: center; background: var(--fha-highlight); border-radius: 12px; padding: 8px 4px 10px; text-align: center; line-height: 1; }
.fha .fha-badge__klein{ font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--fha-text-2); margin-bottom: 4px; }
.fha .fha-badge__tag{ font-family: var(--fha-serif); font-size: 34px; font-weight: 600; color: var(--fha-akzent-dunkel); }
.fha .fha-badge__tag small{ font-size: 22px; }
.fha .fha-badge__monat{ font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--fha-akzent); margin-top: 4px; }
.fha .fha-marke{ display: inline-block; margin-top: 8px !important; padding: 4px 12px; border-radius: 99px; background: var(--fha-text); color: #fff; font-size: 14px; font-weight: 500; }
.fha .fha-marke--hell{ background: #FFF1D6; color: #7A5212; }
.fha .fha-va-tagfilter{ display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-weight: 500; margin: 0 0 14px !important; }
.fha .fha-va-feier{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 34px; padding: 24px 28px; background: var(--fha-highlight); border-radius: 14px; }
.fha .fha-va-feier > div{ flex: 1 1 340px; }
.fha .fha-va-feier p{ margin: 0 !important; color: var(--fha-text-2); }
.fha .fha-va-feier .fha-va-feier__titel{ font-family: var(--fha-serif); font-size: 26px; font-weight: 500; color: var(--fha-text); margin-bottom: 4px !important; } .fha .fha-va-kalender{ margin-bottom: 26px; padding: 18px 20px 20px; background: var(--fha-flaeche); border: 1px solid var(--fha-rand); border-radius: 14px; }
.fha .fha-kal__kopf{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.fha .fha-kal__monat{ font-family: var(--fha-serif); font-size: 26px; font-weight: 500; margin: 0 !important; }
.fha .fha-kal__pfeil{ width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--fha-rand); background: #fff; font-size: 24px; line-height: 1; color: var(--fha-akzent); cursor: pointer; }
.fha .fha-kal__pfeil[disabled]{ opacity: .35; cursor: default; }
.fha .fha-kal__raster{ display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.fha .fha-kal__wt{ text-align: center; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--fha-text-3); padding: 4px 0; }
.fha .fha-kal__tag{
position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; overflow: hidden; min-height: 78px; padding: 6px 8px;
border: 1px solid var(--fha-rand-hell); border-radius: 8px; background: #fff; font: 400 15px var(--fha-sans); color: var(--fha-text); text-align: left;
}
.fha .fha-kal__tag.ist-vorbei{ color: var(--fha-text-3); background: var(--fha-bg); }
.fha .fha-kal__tag.ist-heute .fha-kal__zahl{ background: var(--fha-text); color: #fff; border-radius: 99px; padding: 0 7px; }
.fha .fha-kal__tag.hat-termin{ cursor: pointer; background: var(--fha-highlight); border-color: var(--fha-akzent-hell); }
.fha .fha-kal__tag.hat-termin:hover{ border-color: var(--fha-akzent); }
.fha .fha-kal__tag.ist-gewaehlt{ background: var(--fha-akzent); border-color: var(--fha-akzent); color: #fff; }
.fha .fha-kal__zahl{ font-weight: 600; font-size: 15px; line-height: 22px; }
.fha .fha-kal__titel{ max-width: 100%; font-size: 12px; line-height: 1.3; margin-top: 4px; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; color: var(--fha-akzent-dunkel); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.fha .fha-kal__tag.ist-gewaehlt .fha-kal__titel{ color: #fff; }
.fha .fha-kal__punkt{ display: none; }
.fha .fha-kal__leer{ min-height: 1px; }
.fha .fha-kal__saison{ margin: 14px 0 0 !important; font-size: 15px; color: var(--fha-text-2); }
.fha .fha-kal__saison button{ background: none; border: 0; padding: 0; font: 500 15px var(--fha-sans); color: var(--fha-akzent); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } .fha .fha-bald__liste{ list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 10px; }
.fha .fha-bald__liste a, .fha .fha-bald__liste li > div{ display: flex; align-items: center; gap: 16px; padding: 12px 16px; background: var(--fha-flaeche); border: 1px solid var(--fha-rand); border-radius: 12px; color: var(--fha-text); text-decoration: none; }
.fha .fha-bald__liste a:hover{ border-color: var(--fha-akzent-hell); }
.fha.fha-bald .fha-badge{ width: 62px; flex: none; padding: 6px 4px 8px; }
.fha.fha-bald .fha-badge__tag{ font-size: 28px; }
.fha .fha-bald__text{ flex: 1; display: flex; flex-direction: column; }
.fha .fha-bald__titel{ font-family: var(--fha-serif); font-size: 22px; font-weight: 600; line-height: 1.2; }
.fha .fha-bald__wann{ font-size: 14px; color: var(--fha-text-2); } .fha.fha-bald--reihe{ text-align: center; }
.fha.fha-bald--reihe .fha-bald__liste{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; text-align: left; }
.fha.fha-bald--reihe .fha-bald__liste a, .fha.fha-bald--reihe .fha-bald__liste li > div{ height: 100%; align-items: flex-start; padding: 16px; border-color: var(--fha-akzent-hell); box-shadow: 0 4px 14px rgba(125, 98, 133, .08); }
.fha.fha-bald--reihe .fha-bald__liste a:hover{ border-color: var(--fha-akzent); }
.fha.fha-bald--reihe .fha-bald__pfeil{ display: none; }
.fha.fha-bald--reihe .fha-bald__titel{ font-size: 20px; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.fha.fha-bald .fha-knopf{ margin-top: 6px; min-height: 46px; padding: 10px 24px; }
.fha .fha-bald__pfeil{ font-size: 28px; color: var(--fha-akzent); } .fha .fha-formbox{ background: var(--fha-flaeche-alt); padding: 28px 32px 30px; }
.fha .fha-formbox--offen{ background: var(--fha-flaeche); border: 1px solid var(--fha-rand); border-radius: 14px; }
.fha .fha-form__titel{ font-family: var(--fha-serif); font-weight: 500; font-size: 26px; margin: 0 0 16px; color: var(--fha-text); }
.fha .fha-form__titel--gross{ font-size: 32px; margin-bottom: 8px; }
.fha .fha-grid2{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-bottom: 14px; }
.fha .fha-feld{ display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.fha .fha-grid2 .fha-feld{ margin-bottom: 0; }
.fha .fha-feld--breit{ grid-column: 1 / -1; }
.fha .fha-feld--schmal{ max-width: 240px; }
.fha .fha-feld > span, .fha .fha-feld__titel, .fha .fha-chips legend{ font-size: 15px; font-weight: 500; color: var(--fha-text-2); }
.fha .fha-feld__titel{ margin: 6px 0 8px !important; }
.fha input:not([type=checkbox]):not([type=radio]), .fha select, .fha textarea {
width: 100%; min-height: 50px; padding: 12px 14px;
border: 1.5px solid var(--fha-rand); border-radius: 8px; background: #fff;
font: 400 17px var(--fha-sans); color: var(--fha-text); line-height: 1.4;
-webkit-appearance: none; appearance: none;
}
.fha select { background-image: linear-gradient(45deg, transparent 50%, var(--fha-akzent) 50%), linear-gradient(135deg, var(--fha-akzent) 50%, transparent 50%); background-position: calc(100% - 20px) 22px, calc(100% - 14px) 22px; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.fha textarea { min-height: 96px; resize: vertical; }
.fha input:focus, .fha select:focus, .fha textarea:focus { outline: none; border-color: var(--fha-akzent); box-shadow: 0 0 0 3px var(--fha-highlight); }
.fha .ist-fehler { border-color: var(--fha-rot) !important; }
.fha .fha-check{ display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--fha-text-2); margin: 6px 0 16px; cursor: pointer; }
.fha .fha-check input{ width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--fha-akzent); }
.fha .fha-check a{ color: var(--fha-akzent); }
.fha .fha-hp{ position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fha .fha-fehler{ background: #FBEDED; color: var(--fha-rot); border-radius: 8px; padding: 12px 16px; margin-bottom: 14px; font-size: 16px; }
.fha .fha-feld__hinweis{ font-size: 14px; color: var(--fha-text-3); }
.fha .fha-zaehler{ align-self: flex-end; color: var(--fha-text-3); font-size: 13px; }
.fha .fha-chips{ border: 0; padding: 0; margin: 0 0 16px; }
.fha .fha-chips legend{ margin-bottom: 8px; padding: 0; }
.fha .fha-chips label{ display: inline-block; margin: 0 8px 8px 0; cursor: pointer; }
.fha .fha-chips input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.fha .fha-chips span{ display: inline-block; padding: 10px 16px; border: 1.5px solid var(--fha-rand); border-radius: 99px; background: #fff; font-size: 16px; transition: all .15s; }
.fha .fha-chips input:checked + span{ background: var(--fha-akzent); border-color: var(--fha-akzent); color: #fff; }
.fha .fha-chips input:focus-visible + span{ outline: 3px solid var(--fha-akzent-hell); outline-offset: 2px; }
.fha .fha-chips--radio label{ display: block; margin-right: 0; }
.fha .fha-chips--radio span{ display: block; border-radius: 10px; }
.fha .fha-erfolg{ text-align: center; padding: 24px 12px; outline: none; }
.fha .fha-erfolg__haken{ width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: var(--fha-gruen); color: #fff; font-size: 30px; line-height: 56px; }
.fha .fha-erfolg h3{ font-family: var(--fha-serif); font-size: 30px; font-weight: 500; margin: 0 0 8px; } .fha .fha-gs-reiter{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.fha .fha-schritte{ display: flex; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; counter-reset: s; }
.fha .fha-schritte li{ flex: 1; counter-increment: s; padding: 10px 12px; border-bottom: 3px solid var(--fha-rand); color: var(--fha-text-3); font-size: 15px; }
.fha .fha-schritte li::before{ content: counter(s) '. '; }
.fha .fha-schritte li.ist-aktiv{ border-color: var(--fha-akzent); color: var(--fha-text); font-weight: 500; }
.fha .fha-schritte li.ist-fertig{ border-color: var(--fha-akzent-hell); color: var(--fha-text-2); }
.fha .fha-gs-kat{ font-family: var(--fha-serif); font-size: 28px; font-weight: 500; margin: 26px 0 12px; }
.fha .fha-gs-kat:first-child{ margin-top: 0; }
.fha .fha-gs-raster{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.fha .fha-gs-wahl{
display: flex; flex-direction: column; text-align: left; padding: 0; overflow: hidden;
background: var(--fha-flaeche); border: 1.5px solid var(--fha-rand); border-radius: 12px; cursor: pointer;
font-family: var(--fha-sans); color: var(--fha-text); transition: border-color .2s, transform .2s, box-shadow .2s;
}
.fha .fha-gs-wahl:hover{ border-color: var(--fha-akzent-hell); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.fha .fha-gs-wahl__bild{ height: 150px; overflow: hidden; }
.fha .fha-gs-wahl__bild img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.fha .fha-gs-wahl__bild.fha-bild--leer{ min-height: 150px; }
.fha .fha-gs-wahl__titel{ display: block; padding: 16px 18px 4px; font-family: var(--fha-serif); font-size: 24px; font-weight: 600; line-height: 1.2; }
.fha .fha-gs-wahl__text{ display: block; padding: 0 18px; font-size: 14px; color: var(--fha-text-2); line-height: 1.5; }
.fha .fha-gs-wahl__preis{ display: block; margin-top: auto; padding: 14px 18px 18px; font-weight: 600; color: var(--fha-akzent-dunkel); font-size: 18px; }
.fha .fha-gs-wahl__preis s{ color: var(--fha-text-3); font-weight: 400; font-size: 15px; margin-right: 4px; }
.fha .fha-gs-gestalten{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; margin-top: 10px; }
.fha .fha-gs-info{ margin: 0 0 18px; padding: 14px 18px; background: var(--fha-flaeche-alt); border-radius: 10px; }
.fha .fha-gs-info .fha-liste{ margin-top: 0; }
.fha .fha-gs-info__preis{ margin: 8px 0 0 !important; font-weight: 600; color: var(--fha-akzent-dunkel); font-size: 18px; }
.fha .fha-gs-info__preis s{ color: var(--fha-text-3); font-weight: 400; font-size: 15px; }
.fha .fha-gs-info .fha-klein{ margin: 4px 0 0 !important; }
.fha .fha-gs-betraege{ display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.fha .fha-gs-betraege button{
min-width: 84px; min-height: 50px; padding: 0 18px; border: 1.5px solid var(--fha-rand); border-radius: 8px;
background: #fff; font: 600 18px var(--fha-sans); color: var(--fha-text); cursor: pointer;
}
.fha .fha-gs-betraege button[aria-pressed="true"]{ background: var(--fha-akzent); border-color: var(--fha-akzent); color: #fff; }
.fha .fha-gs-vorschau{ position: sticky; top: 24px; }
.fha .fha-gs-karte{
aspect-ratio: 1.6 / 1; border-radius: 14px; padding: 26px 30px; color: #fff; position: relative; overflow: hidden;
background: radial-gradient(circle at 85% 15%, rgba(255,255,255,.14) 0 70px, transparent 71px), linear-gradient(140deg, #8E739A 0%, #6C5276 100%);
box-shadow: 0 16px 40px rgba(76, 54, 86, .28); display: flex; flex-direction: column;
}
.fha .fha-gs-karte p{ margin: 0 !important; }
.fha .fha-gs-karte__marke{ font-family: var(--fha-serif); font-size: 22px; font-style: italic; opacity: .95; }
.fha .fha-gs-karte__art{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; opacity: .8; margin-top: 2px !important; }
.fha .fha-gs-karte .fha-gs-karte__titel{ font-family: var(--fha-serif); font-size: 34px; font-weight: 600; line-height: 1.1; margin-top: auto !important; }
.fha .fha-gs-karte__wert{ font-size: 17px; font-weight: 500; opacity: .95; }
.fha .fha-gs-karte__text{ font-family: var(--fha-serif); font-style: italic; font-size: 17px; line-height: 1.35; margin-top: 8px !important; opacity: .95; min-height: 0; }
.fha .fha-gs-karte__namen{ display: flex; justify-content: space-between; gap: 12px; font-size: 13px; margin-top: 10px !important; opacity: .9; }
.fha .fha-gs-karte__fuss{ font-size: 11px; opacity: .75; margin-top: 6px !important; }
.fha .fha-gs-korb{ display: grid; gap: 10px; margin-bottom: 8px; }
.fha .fha-gs-posten{ display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 16px; align-items: center; padding: 16px 20px; background: var(--fha-flaeche); border: 1px solid var(--fha-rand); border-radius: 12px; }
.fha .fha-gs-posten__titel{ font-weight: 600; }
.fha .fha-gs-posten__info{ grid-column: 1; font-size: 14px; color: var(--fha-text-2); }
.fha .fha-gs-posten__preis{ font-weight: 600; color: var(--fha-akzent-dunkel); white-space: nowrap; }
.fha .fha-gs-posten button{ background: none; border: 0; color: var(--fha-text-3); cursor: pointer; font-size: 14px; text-decoration: underline; padding: 6px; }
.fha .fha-gs-summe{ display: flex; justify-content: space-between; padding: 14px 20px; font-size: 19px; font-weight: 600; border-top: 2px solid var(--fha-akzent-hell); margin-top: 4px; }
.fha .fha-gs-schritt[data-schritt="3"] .fha-formbox{ margin-top: 18px; }
.fha .fha-hinweisbox{ background: var(--fha-highlight); border-radius: 10px; padding: 14px 18px; margin: 4px 0 16px; font-size: 15px; color: var(--fha-text-2); }
.fha .fha-hinweisbox p:last-child{ margin-bottom: 0; }
.fha .fha-adresse{ margin-bottom: 6px; }
.fha .fha-gs-wege{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 4px; }
.fha .fha-gs-danach{ padding: 4px 0 0; outline: none; }
.fha .fha-gs-danach strong{ color: var(--fha-akzent-dunkel); }
.fha .fha-gs-text { font: 400 14px/1.5 var(--fha-sans); color: var(--fha-text-2); background: var(--fha-flaeche-alt); min-height: 200px; margin: 8px 0 14px; } @container (max-width: 700px) {
.fha.fha-pakete{ grid-template-columns: 1fr; }
.fha .fha-va-zeile{ grid-template-columns: 64px minmax(0, 1fr); gap: 0 16px; }
.fha .fha-va-zeile__aktion{ grid-column: 2; margin-top: 14px; }
.fha .fha-va-zeile--bild{ grid-template-columns: 150px minmax(0, 1fr); align-items: start; }
.fha .fha-kal__tag{ min-height: 64px; }
} @media (max-width: 760px) {
.fha { font-size: 17px; margin: 20px auto; }
.fha.fha-pakete{ grid-template-columns: 1fr; gap: 18px; }
.fha .fha-pk__inhalt{ padding: 18px 18px 20px; }
.fha .fha-pk__titel{ font-size: 26px; }
.fha .fha-formbox{ padding: 22px 18px 24px; }
.fha .fha-grid2{ grid-template-columns: 1fr; } .fha .fha-dialog{ width: 100vw; max-width: 100vw; height: 100%; max-height: 100%; border-radius: 0; margin: 0; }
.fha .fha-dialog__kopf{ padding: 10px 10px 10px 18px; }
.fha .fha-dialog__titel{ font-size: 22px; }
.fha .fha-dialog__details{ padding: 18px 18px 4px; }
.fha .fha-dialog .fha-formbox{ padding: 20px 18px 28px; }
.fha .fha-va-leiste{ gap: 10px; }
.fha .fha-va-monate{ flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 2px; scrollbar-width: none; }
.fha .fha-va-monate::-webkit-scrollbar, .fha .fha-gs-reiter::-webkit-scrollbar{ display: none; }
.fha .fha-va-monate .fha-pille{ flex: none; }
.fha .fha-va-ansicht{ margin-left: 0; }
.fha .fha-va-zeile{ grid-template-columns: minmax(0, 1fr); gap: 0; padding: 16px 18px 18px; }
.fha .fha-va-zeile > .fha-badge{ display: none; } .fha .fha-va-zeile--bild{ grid-template-columns: minmax(0, 1fr); padding: 0 0 18px; overflow: hidden; }
.fha .fha-va-zeile--bild .fha-va-zeile__bild{ aspect-ratio: 16 / 9; min-height: 0; border-radius: 0; margin-bottom: 14px; }
.fha .fha-va-zeile--bild .fha-va-zeile__text, .fha .fha-va-zeile--bild .fha-va-zeile__aktion{ padding: 0 18px; }
.fha .fha-va-zeile__aktion{ grid-column: 1; margin-top: 14px; }
.fha .fha-va-zeile__aktion .fha-knopf{ width: 100%; }
.fha .fha-va-frei{ padding: 0; }
.fha .fha-va-zeile__titel{ font-size: 23px; }
.fha .fha-badge__tag{ font-size: 28px; }
.fha .fha-badge__tag small{ font-size: 18px; }
.fha .fha-va-kalender{ padding: 14px 10px 14px; }
.fha .fha-kal__raster{ gap: 3px; }
.fha .fha-kal__tag{ min-height: 46px; align-items: center; padding: 4px 2px; }
.fha .fha-kal__titel{ display: none; }
.fha .fha-kal__punkt{ display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--fha-akzent); margin-top: 4px; }
.fha .fha-kal__tag.ist-gewaehlt .fha-kal__punkt{ background: #fff; }
.fha .fha-va-feier{ padding: 20px; }
.fha .fha-gs-gestalten{ grid-template-columns: 1fr; gap: 24px; }
.fha .fha-gs-vorschau{ position: static; order: -1; }
.fha .fha-gs-karte{ padding: 20px 22px; aspect-ratio: auto; min-height: 220px; }
.fha .fha-gs-karte .fha-gs-karte__titel{ font-size: 28px; }
.fha .fha-schritte li{ font-size: 13px; padding: 8px 4px; }
.fha .fha-schritte li::before{ content: none; }
.fha .fha-knopf{ width: 100%; }
.fha .fha-knopf.fha-oeffnen{ width: 100%; }
.fha .fha-feld--schmal{ max-width: none; }
.fha .fha-gs-reiter{ flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.fha.fha-bald--reihe .fha-bald__liste{ grid-template-columns: 1fr; }
.fha .fha-gs-reiter .fha-pille{ flex: none; }
}