/* Google-Fonts-Import entfernt (Datenschutz) – Schriften lokal über assets/design/fonts/google.css */
/* ==========================================================================
   Frankenland Reisen – Komponenten (bundle.css)
   Nutzt ausschließlich die Variablen aus tokens.css. Präfix: fr-
   Zustände: :hover/:focus-visible/:active/:disabled sowie die Demo-Klassen
   .is-hover/.is-focus/.is-active/.is-disabled für die Dokumentation.
   ========================================================================== */

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:28px;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--secondary);text-underline-offset:3px}
a:hover{color:var(--secondary-hover)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);margin:0}
h1,.fr-h1{font-size:40px;line-height:48px;font-weight:700;letter-spacing:-.01em}
h2,.fr-h2{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.005em}
h3,.fr-h3{font-size:24px;line-height:32px;font-weight:600}
h4,.fr-h4{font-size:20px;line-height:28px;font-weight:600}
p{margin:0}
.fr-lead{font-size:19px;line-height:30px;color:var(--text)}
.fr-small{font-size:15px;line-height:24px}
.fr-caption{font-size:13px;line-height:20px;color:var(--text-muted)}
.fr-muted{color:var(--text-muted)}
.fr-kicker{font-family:var(--font-display);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
@media (max-width:767px){
  h1,.fr-h1{font-size:30px;line-height:38px}
  h2,.fr-h2{font-size:26px;line-height:34px}
  h3,.fr-h3{font-size:21px;line-height:28px}
  .fr-lead{font-size:18px;line-height:28px}
}
:focus-visible,.is-focus{outline:3px solid var(--focus-ring);outline-offset:2px}
.fr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Layout ---------- */
.fr-container{max-width:calc(var(--container-max) + 2 * var(--space-6));margin:0 auto;padding:0 var(--space-6)}
@media (max-width:767px){.fr-container{padding:0 var(--space-4)}}
.fr-section{padding:var(--space-8) 0}
.fr-section--muted{background:var(--surface-muted)}
.fr-section--tight{padding:var(--space-7) 0}
@media (max-width:767px){.fr-section{padding:var(--space-7) 0}.fr-section__head--center{text-align:left}}
.fr-section__head{max-width:760px;margin-bottom:var(--space-6)}
.fr-section__head--center{margin-left:auto;margin-right:auto;text-align:center}
.fr-section__head p{margin-top:var(--space-3);font-size:19px;line-height:30px}
.fr-section__head .fr-kicker{display:block;margin-bottom:var(--space-2)}
.fr-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}
@media (min-width:480px){.fr-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:768px){.fr-grid--2,.fr-grid--3,.fr-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fr-grid--3{grid-template-columns:repeat(3,1fr)}.fr-grid--4{grid-template-columns:repeat(4,1fr)}}
.fr-stack>*+*{margin-top:var(--space-4)}
.fr-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}

/* ---------- Icon ---------- */
.fr-icon{display:inline-block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:var(--fr-icon) center/contain no-repeat;mask:var(--fr-icon) center/contain no-repeat;vertical-align:middle}
.fr-icon--sm{width:18px;height:18px}
.fr-icon--lg{width:32px;height:32px}

/* ---------- Bildplatzhalter ---------- */
.fr-ph{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden;background:linear-gradient(160deg,#c9d3df,#9fb0c4);color:var(--white);aspect-ratio:4/3;width:100%}
.fr-ph::after{content:attr(data-label);position:absolute;right:var(--space-2);bottom:var(--space-2);font:600 11px/16px var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:rgba(31,35,41,.62);color:var(--white);padding:2px var(--space-2);border-radius:var(--radius-sm)}
.fr-ph--sea{background:linear-gradient(180deg,#f3c9a1 0%,#e9a87f 30%,#7fa6c9 58%,#3f6f9c 100%)}
.fr-ph--sunset{background:linear-gradient(180deg,#f7d9a8 0%,#ef9f7a 45%,#9b6a7d 75%,#4e4a6b 100%)}
.fr-ph--snow{background:linear-gradient(180deg,#203a63 0%,#3d5f8f 45%,#b9cbe0 72%,#eef3f8 100%)}
.fr-ph--green{background:linear-gradient(170deg,#cfe1b9 0%,#88b07a 45%,#4d7a52 100%)}
.fr-ph--city{background:linear-gradient(170deg,#f1dcc4 0%,#c99f80 40%,#8a6c63 70%,#4a4553 100%)}
.fr-ph--desert{background:linear-gradient(175deg,#f8e2b5 0%,#e7b77a 45%,#b8794b 100%)}
.fr-ph--river{background:linear-gradient(180deg,#e8eef4 0%,#a9c2d6 40%,#6d93ad 70%,#3f6276 100%)}
.fr-ph--portrait{background:linear-gradient(160deg,#dfe5ec,#aebdcc)}
.fr-ph--seal{background:var(--neutral-100);border:1px dashed var(--neutral-500);color:var(--text-muted)}
.fr-ph--seal::after{background:transparent;color:var(--text-muted);position:static;margin:auto}

/* ---------- Buttons ---------- */
.fr-btn{--bg:var(--primary);--fg:var(--white);--bd:var(--primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border:2px solid var(--bd);border-radius:var(--radius-md);background:var(--bg);color:var(--fg);font:600 16px/24px var(--font-display);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}
.fr-btn:hover,.fr-btn.is-hover{--bg:var(--primary-hover);--bd:var(--primary-hover);color:var(--fg)}
.fr-btn:active,.fr-btn.is-active{--bg:var(--red-800);--bd:var(--red-800)}
.fr-btn:disabled,.fr-btn.is-disabled,.fr-btn[aria-disabled=true]{--bg:var(--neutral-300);--bd:var(--neutral-300);--fg:var(--neutral-700);cursor:not-allowed}
.fr-btn--secondary{--bg:var(--secondary);--bd:var(--secondary)}
.fr-btn--secondary:hover,.fr-btn--secondary.is-hover{--bg:var(--secondary-hover);--bd:var(--secondary-hover)}
.fr-btn--secondary:active,.fr-btn--secondary.is-active{--bg:var(--blue-800);--bd:var(--blue-800)}
.fr-btn--outline{--bg:var(--white);--fg:var(--primary);--bd:var(--primary)}
.fr-btn--outline:hover,.fr-btn--outline.is-hover{--bg:var(--red-50);--fg:var(--primary-hover);--bd:var(--primary-hover)}
.fr-btn--outline:active,.fr-btn--outline.is-active{--bg:var(--red-100);--fg:var(--red-800);--bd:var(--red-800)}
.fr-btn--outline:disabled,.fr-btn--outline.is-disabled{--bg:var(--white);--fg:var(--neutral-600);--bd:var(--neutral-300)}
.fr-btn--text{--bg:transparent;--bd:transparent;--fg:var(--secondary);padding-left:var(--space-2);padding-right:var(--space-2);text-decoration:underline;text-decoration-thickness:1px}
.fr-btn--text:hover,.fr-btn--text.is-hover{--bg:var(--blue-50);--bd:transparent;--fg:var(--secondary-hover)}
.fr-btn--text:active,.fr-btn--text.is-active{--bg:var(--blue-100);--bd:transparent;--fg:var(--blue-800)}
.fr-btn--text:disabled,.fr-btn--text.is-disabled{--bg:transparent;--bd:transparent;--fg:var(--neutral-600);text-decoration:none}
.fr-btn--book{--bg:var(--accent);--bd:var(--accent);--fg:var(--neutral-900);text-transform:uppercase;letter-spacing:.06em;min-height:44px;padding:var(--space-2) var(--space-4)}
.fr-btn--book:hover,.fr-btn--book.is-hover{--bg:var(--gold-300);--bd:var(--gold-300);--fg:var(--neutral-900)}
.fr-btn--book:active,.fr-btn--book.is-active{--bg:var(--white);--bd:var(--white);--fg:var(--neutral-900)}
.fr-btn--book:focus-visible,.fr-btn--book.is-focus{outline-color:var(--focus-ring-inverse)}
.fr-btn--book:disabled,.fr-btn--book.is-disabled{--bg:var(--red-300);--bd:var(--red-300);--fg:var(--red-900)}
.fr-btn--inverse{--bg:var(--white);--bd:var(--white);--fg:var(--primary)}
.fr-btn--inverse:hover,.fr-btn--inverse.is-hover{--bg:var(--red-50);--bd:var(--red-50);--fg:var(--red-700)}
.fr-btn--inverse:focus-visible{outline-color:var(--focus-ring-inverse)}
.fr-btn--sm{min-height:40px;padding:var(--space-2) var(--space-4);font-size:15px}
.fr-btn--lg{min-height:56px;padding:var(--space-4) var(--space-6);font-size:17px}
.fr-btn--block{display:flex;width:100%}
.fr-btn--upper{text-transform:uppercase;letter-spacing:.06em}
.fr-link{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--secondary);text-decoration:none}
.fr-link:hover{color:var(--secondary-hover);text-decoration:underline}
.fr-link .fr-icon{width:18px;height:18px}

/* ---------- Badges ---------- */
.fr-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.fr-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font:600 12px/16px var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:var(--neutral-100);color:var(--neutral-800);white-space:nowrap}
.fr-badge .fr-icon{width:14px;height:14px}
.fr-badge--new{background:var(--primary);color:var(--white)}
.fr-badge--ship{background:var(--blue-600);color:var(--white)}
.fr-badge--pickup{background:var(--success-700);color:var(--white)}
.fr-badge--hotel{background:var(--white);color:var(--neutral-800);box-shadow:inset 0 0 0 1px var(--neutral-300)}
.fr-badge--tip{background:var(--accent);color:var(--neutral-900)}
.fr-badge--soft{background:var(--red-50);color:var(--red-700)}
.fr-badge--info{background:var(--blue-50);color:var(--blue-900)}
.fr-badge--warning{background:var(--warning-50);color:var(--warning-700)}

/* ---------- Formulare ---------- */
.fr-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.fr-label{font:600 14px/20px var(--font-display);color:var(--neutral-700)}
.fr-help{font-size:14px;line-height:20px;color:var(--text-muted)}
.fr-error{display:flex;gap:var(--space-1);align-items:center;font-size:14px;line-height:20px;color:var(--error-700);font-weight:600}
.fr-error .fr-icon{width:18px;height:18px}
.fr-input,.fr-select,.fr-trigger{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--white);color:var(--text);font:400 17px/22px var(--font-body);transition:border-color .15s,box-shadow .15s}
.fr-input::placeholder{color:var(--neutral-500)}
.fr-input:hover,.fr-select:hover,.fr-trigger:hover,.fr-input.is-hover,.fr-trigger.is-hover{border-color:var(--neutral-800)}
.fr-input:focus,.fr-select:focus,.fr-trigger:focus-visible,.fr-input.is-focus,.fr-trigger.is-focus{outline:3px solid var(--focus-ring);outline-offset:0;border-color:var(--focus-ring)}
.fr-input:disabled,.fr-select:disabled,.fr-trigger:disabled,.fr-input.is-disabled,.fr-trigger.is-disabled{background:var(--neutral-100);border-color:var(--neutral-300);color:var(--neutral-600);cursor:not-allowed}
.fr-field--error .fr-input,.fr-field--error .fr-select{border-color:var(--error-700);border-width:2px}
.fr-select{appearance:none;-webkit-appearance:none;padding-right:var(--space-7);background:var(--white) no-repeat right 14px center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");cursor:pointer}
.fr-trigger{display:flex;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer}
.fr-trigger>span:not(.fr-icon){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-trigger .fr-icon{color:var(--primary)}
.fr-trigger .fr-icon--chevron-down{color:var(--neutral-700);transition:transform .15s}
.fr-trigger[aria-expanded=true]{border-color:var(--focus-ring)}
.fr-trigger[aria-expanded=true] .fr-icon--chevron-down{transform:rotate(180deg)}
.fr-trigger.is-placeholder>span:first-of-type{color:var(--neutral-600)}
.fr-input-group{display:flex;gap:var(--space-2)}
.fr-input-group .fr-input{flex:1}

/* Checkbox / Radio */
.fr-check{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font-size:16px;line-height:24px;padding:var(--space-1) 0}
.fr-check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);display:grid;place-content:center;cursor:pointer;transition:background .12s,border-color .12s}
.fr-check input[type=radio]{border-radius:50%}
.fr-check input::after{content:"";width:12px;height:12px;background:var(--white);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0}
.fr-check input[type=radio]::after{-webkit-mask:none;mask:none;border-radius:50%;width:10px;height:10px}
.fr-check input:checked{background:var(--secondary);border-color:var(--secondary)}
.fr-check input:checked::after{opacity:1}
.fr-check:hover input,.fr-check.is-hover input{border-color:var(--neutral-800)}
.fr-check input:focus-visible,.fr-check.is-focus input{outline:3px solid var(--focus-ring);outline-offset:2px}
.fr-check input:disabled{background:var(--neutral-100);border-color:var(--neutral-300);cursor:not-allowed}
.fr-check input:disabled+span{color:var(--neutral-600)}
.fr-check small{color:var(--text-muted);font-size:14px;margin-left:var(--space-1)}

/* Popover (Dropdown-Panel) */
.fr-dd{position:relative}
.fr-popover{position:absolute;z-index:40;top:calc(100% + var(--space-2));left:0;min-width:100%;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4)}
.fr-popover[hidden]{display:none}
.fr-popover__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--border);margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);background:var(--neutral-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}

/* Mehrfachauswahl */
.fr-multi{width:min(640px,calc(100vw - 32px))}
.fr-multi__group+.fr-multi__group{margin-top:var(--space-4)}
.fr-multi__title{font:600 13px/16px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}
.fr-multi__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--space-4)}
@media (max-width:640px){.fr-multi__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fr-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.fr-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-3);border-radius:var(--radius-pill);background:var(--blue-50);color:var(--blue-900);font:600 14px/24px var(--font-display);border:0;cursor:pointer}
.fr-chip .fr-icon{width:16px;height:16px}
.fr-chip:hover{background:var(--blue-100)}

/* Zeitraum-Kalender */
.fr-cal{width:min(620px,calc(100vw - 32px))}
.fr-cal__months{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:640px){.fr-cal__months{grid-template-columns:1fr}.fr-cal__months>.fr-cal__month+.fr-cal__month{display:none}}
.fr-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}
.fr-cal__title{font:600 16px/24px var(--font-display)}
.fr-cal__nav{width:40px;height:40px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--white);display:grid;place-items:center;cursor:pointer;color:var(--text)}
.fr-cal__nav:hover{background:var(--neutral-100)}
.fr-cal__nav:disabled{opacity:.4;cursor:not-allowed}
.fr-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.fr-cal__wd{font:600 12px/24px var(--font-display);color:var(--text-muted);text-align:center}
.fr-cal__day{height:40px;border:0;background:transparent;font:500 15px/1 var(--font-body);color:var(--text);cursor:pointer;border-radius:var(--radius-md);position:relative}
.fr-cal__day:hover,.fr-cal__day.is-hover{background:var(--neutral-100)}
.fr-cal__day:disabled{color:var(--neutral-400);cursor:not-allowed;background:transparent;text-decoration:line-through}
.fr-cal__day.is-today{box-shadow:inset 0 0 0 1px var(--neutral-500)}
.fr-cal__day.is-range{background:var(--blue-100);border-radius:0;color:var(--blue-900)}
.fr-cal__day.is-start,.fr-cal__day.is-end{background:var(--secondary);color:var(--white);font-weight:700}
.fr-cal__day.is-start{border-radius:var(--radius-md) 0 0 var(--radius-md)}
.fr-cal__day.is-end{border-radius:0 var(--radius-md) var(--radius-md) 0}
.fr-cal__day.is-start.is-end{border-radius:var(--radius-md)}
.fr-cal__presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}

/* Personenauswahl */
.fr-stepper{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--white)}
.fr-stepper__btn{width:40px;height:40px;border-radius:var(--radius-pill);border:0;background:var(--blue-50);color:var(--blue-800);display:grid;place-items:center;cursor:pointer;transition:background .12s}
.fr-stepper__btn:hover,.fr-stepper__btn.is-hover{background:var(--blue-100)}
.fr-stepper__btn:active,.fr-stepper__btn.is-active{background:var(--blue-200)}
.fr-stepper__btn:disabled{background:var(--neutral-100);color:var(--neutral-400);cursor:not-allowed}
.fr-stepper__value{min-width:32px;text-align:center;font:700 20px/24px var(--font-display)}
.fr-stepper-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}

/* ---------- Suchleiste ---------- */
.fr-search{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5);border:1px solid var(--border)}
.fr-search__title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}
.fr-search__title .fr-icon{color:var(--primary)}
.fr-search__fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:var(--space-4);align-items:end}
.fr-search__q{position:relative}
.fr-search__q .fr-icon{position:absolute;left:14px;top:12px;color:var(--primary);pointer-events:none}
.fr-search__q .fr-input{padding-left:46px}
.fr-search__count{font-size:14px;line-height:20px;color:var(--text-muted);margin-top:var(--space-3)}
.fr-search__count strong{color:var(--text)}
@media (max-width:1100px){.fr-search__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fr-search__fields>.fr-field:first-child,.fr-search__fields>.fr-btn{grid-column:1/-1}}
@media (max-width:560px){.fr-search__fields{grid-template-columns:1fr}}

/* ---------- Reiseteaser-Karte ---------- */
.fr-trip{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;height:100%}
.fr-trip:hover,.fr-trip.is-hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.fr-trip__top{position:relative}
.fr-trip__media{position:relative;display:block;overflow:hidden}
.fr-trip__media .fr-ph{aspect-ratio:3/2;transition:transform .4s}
.fr-trip:hover .fr-trip__media .fr-ph{transform:scale(1.03)}
.fr-trip__badges{position:absolute;left:var(--space-3);top:var(--space-3);right:64px}
.fr-trip__price{position:absolute;left:0;bottom:var(--space-3);background:var(--primary);color:var(--white);padding:var(--space-1) var(--space-3);border-radius:0 var(--radius-md) var(--radius-md) 0;font:700 20px/28px var(--font-display);text-decoration:none}
.fr-trip__price small{font-size:13px;font-weight:600;margin-right:2px}
.fr-trip__price:hover{background:var(--primary-hover);color:var(--white)}
.fr-trip__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5);flex:1}
.fr-trip__meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:14px;line-height:20px;color:var(--text-muted)}
.fr-trip__meta span{display:inline-flex;align-items:center;gap:var(--space-1)}
.fr-trip__meta .fr-icon{width:16px;height:16px}
.fr-trip__title{font:600 20px/28px var(--font-display);margin:0}
.fr-trip__title a{color:var(--text);text-decoration:none}
.fr-trip__title a:hover{color:var(--primary)}
.fr-trip__text{font-size:15px;line-height:24px;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fr-trip__foot{margin-top:auto;padding-top:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
/* Merken */
.fr-save{position:absolute;top:var(--space-3);right:var(--space-3);width:44px;height:44px;border-radius:var(--radius-pill);border:0;background:var(--white);color:var(--primary);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s,background .15s}
.fr-save:hover,.fr-save.is-hover{background:var(--red-50);transform:scale(1.06)}
.fr-save:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.fr-save .fr-icon{width:22px;height:22px}
.fr-save[aria-pressed=true]{background:var(--primary);color:var(--white)}
.fr-save--inline{position:static;box-shadow:none;border:1px solid var(--border);width:auto;height:44px;padding:0 var(--space-4);display:inline-flex;gap:var(--space-2);font:600 15px/1 var(--font-display)}

/* Reisezeile (Listenansicht) */
.fr-trip--row{flex-direction:row}
.fr-trip--row .fr-trip__top{flex:0 0 38%;display:flex}.fr-trip--row .fr-trip__media{flex:1}
.fr-trip--row .fr-trip__media .fr-ph{height:100%;aspect-ratio:auto;min-height:220px}
@media (max-width:720px){.fr-trip--row{flex-direction:column}.fr-trip--row .fr-trip__media .fr-ph{aspect-ratio:3/2;min-height:0}}

/* ---------- Reisekategorie-Kachel ---------- */
.fr-cat{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--white);isolation:isolate}
.fr-cat .fr-ph{aspect-ratio:4/5;transition:transform .4s}
.fr-cat .fr-ph::after{display:none}
.fr-cat::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(31,35,41,0) 40%,rgba(31,35,41,.82) 100%)}
.fr-cat__label{position:absolute;z-index:2;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font:700 20px/26px var(--font-display);color:var(--white)}
.fr-cat__label .fr-icon{flex:none;width:36px;height:36px;padding:8px;border-radius:var(--radius-pill);background:var(--primary);transition:transform .2s}
.fr-cat:hover .fr-ph{transform:scale(1.05)}
.fr-cat:hover .fr-cat__label .fr-icon{transform:translateX(4px)}
.fr-cat:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}

/* ---------- Aktions-/Promo-Kachel ---------- */
.fr-promo{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--blue-600);color:var(--white);text-decoration:none;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;min-height:100%}
.fr-promo:hover,.fr-promo.is-hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--white)}
.fr-promo:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.fr-promo__body{padding:var(--space-5);flex:1;display:flex;gap:var(--space-3);align-items:flex-start}
.fr-promo__icon{flex:none;width:44px;height:44px;border-radius:var(--radius-pill);background:rgba(255,255,255,.16);display:grid;place-items:center}
.fr-promo__title{font:700 19px/26px var(--font-display);color:var(--white);margin:0}
.fr-promo__text{font-size:15px;line-height:22px;margin-top:var(--space-1);color:var(--white)}
.fr-promo__code{display:inline-block;margin-top:var(--space-2);padding:2px var(--space-2);border:1px dashed rgba(255,255,255,.8);border-radius:var(--radius-sm);font:700 14px/20px var(--font-display);letter-spacing:.1em}
.fr-promo__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--blue-700);font:600 14px/20px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.fr-promo--red{background:var(--primary)}
.fr-promo--red .fr-promo__foot{background:var(--red-700)}

/* ---------- Tipp-Block ---------- */
.fr-tip{display:grid;grid-template-columns:1.1fr 1fr;background:var(--white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md)}
.fr-tip__media{position:relative;display:block}
.fr-tip__media .fr-ph{height:100%;aspect-ratio:auto;min-height:420px}
.fr-tip__label{position:absolute;top:var(--space-5);left:var(--space-5)}
.fr-tip__body{padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.fr-tip__sub{font:600 16px/24px var(--font-display);color:var(--primary)}
.fr-tip__title a{color:inherit;text-decoration:none}
.fr-tip__title a:hover{color:var(--primary)}
.fr-tip__facts{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.fr-tip__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}
@media (max-width:900px){.fr-tip{grid-template-columns:1fr}.fr-tip__media .fr-ph{min-height:0;aspect-ratio:16/9}.fr-tip__body{padding:var(--space-5)}}
.fr-fact{display:flex;align-items:center;gap:var(--space-2)}
.fr-fact .fr-icon{color:var(--primary)}
.fr-fact__label{display:block;font:600 12px/16px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.fr-fact__value{display:block;font:600 16px/22px var(--font-display);color:var(--text)}
.fr-price{display:flex;flex-direction:column;line-height:1}
.fr-price__pre{font:600 13px/16px var(--font-display);color:var(--text-muted);letter-spacing:.02em}
.fr-price__value{font:700 32px/36px var(--font-display);color:var(--primary);text-decoration:none}
.fr-price__value small{font-size:18px;margin-right:4px}
a.fr-price__value:hover{color:var(--primary-hover)}

/* ---------- Leistungslisten ---------- */
.fr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.fr-list li{position:relative;padding-left:32px;font-size:16px;line-height:24px}
.fr-list li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;background:var(--success-700);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.fr-list--check li::before{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.fr-list--cross li::before{background:var(--error-700);--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E")}
.fr-list--plus li::before{background:var(--secondary);--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E")}
.fr-list--sm li{font-size:15px;line-height:22px}
.fr-list li b{font-weight:600}
.fr-list .fr-list__price{float:right;font-weight:600;color:var(--text);margin-left:var(--space-3)}
.fr-box{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--neutral-50)}
.fr-box h3,.fr-box h4{margin-bottom:var(--space-3)}
.fr-box .fr-list+h3,.fr-box .fr-list+h4{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}
.fr-box+.fr-box{margin-top:var(--space-4)}

/* ---------- Fahrer-Empfehlung ---------- */
.fr-driver{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);height:100%}
.fr-driver__head{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-5) var(--space-5) var(--space-4)}
.fr-driver__photo{flex:none;width:88px;height:88px;border-radius:var(--radius-pill);overflow:hidden;border:3px solid var(--white);box-shadow:0 0 0 2px var(--primary)}
.fr-driver__photo .fr-ph{aspect-ratio:1;height:100%}
.fr-driver__photo .fr-ph::after{font-size:9px;right:50%;transform:translateX(50%);bottom:30%}
.fr-driver__name{font:700 19px/24px var(--font-display);margin:0}
.fr-driver__role{font-size:14px;line-height:20px;color:var(--text-muted)}
.fr-driver__quote{padding:0 var(--space-5) var(--space-4);font-size:15px;line-height:24px;font-style:italic;color:var(--text)}
.fr-driver__trips{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--border)}
.fr-driver__trip{display:grid;grid-template-columns:1fr auto;gap:2px var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);align-items:center}
.fr-driver__trip:last-child{border-bottom:0}
.fr-driver__trip:hover{background:var(--red-50)}
.fr-driver__trip:hover .fr-driver__tt{color:var(--primary);text-decoration:underline}
.fr-driver__tt{font:600 15px/22px var(--font-display)}
.fr-driver__td{grid-column:1;font-size:14px;line-height:20px;color:var(--text-muted)}
.fr-driver__tp{grid-row:1/span 2;grid-column:2;font:700 17px/22px var(--font-display);color:var(--primary);text-align:right;white-space:nowrap}
.fr-driver__tp small{display:block;font-size:12px;color:var(--text-muted);font-weight:600}

/* ---------- Bewertung ---------- */
.fr-stars{display:inline-flex;gap:2px;color:var(--accent)}
.fr-stars .fr-icon{width:20px;height:20px}
.fr-review{display:flex;flex-direction:column;gap:var(--space-3);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);height:100%;box-shadow:var(--shadow-sm)}
.fr-review__title{font:700 18px/24px var(--font-display);margin:0}
.fr-review__quote{margin:0;font-size:17px;line-height:28px;flex:1}
.fr-review__quote::before{content:"„"}
.fr-review__quote::after{content:"“"}
.fr-review__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border)}
.fr-seal{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);height:100%;justify-content:center}
.fr-seal .fr-ph{width:120px;aspect-ratio:1;border-radius:var(--radius-pill)}
.fr-seal__score{font:700 32px/36px var(--font-display)}

/* ---------- Newsletter ---------- */
.fr-newsletter{background:var(--primary);color:var(--white);border-radius:var(--radius-xl);padding:var(--space-7) var(--space-6);display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-6);align-items:center}
.fr-newsletter h2{color:var(--white)}
.fr-newsletter p{color:var(--white);margin-top:var(--space-2)}
.fr-newsletter .fr-label{color:var(--white)}
.fr-newsletter .fr-input{border-color:var(--white)}
.fr-newsletter .fr-input:focus{outline-color:var(--focus-ring-inverse);border-color:var(--white)}
.fr-newsletter .fr-btn:focus-visible{outline-color:var(--focus-ring-inverse)}
.fr-newsletter__legal{font-size:13px;line-height:20px;color:var(--white);opacity:.92;margin-top:var(--space-2)}
.fr-newsletter__legal a{color:var(--white)}
.fr-newsletter__ok{display:flex;gap:var(--space-2);align-items:center;background:var(--white);color:var(--success-700);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-weight:600}
@media (max-width:860px){.fr-newsletter{grid-template-columns:1fr;padding:var(--space-6) var(--space-5)}}
@media (max-width:480px){.fr-newsletter .fr-input-group{flex-direction:column}}

/* ---------- Header & Navigation ---------- */
.fr-header{background:var(--white);position:relative;z-index:50}
.fr-header__top{display:flex;align-items:center;gap:var(--space-6);padding-top:var(--space-4);padding-bottom:var(--space-4)}
.fr-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex:none}
.fr-logo img{height:64px;width:auto}
.fr-logo .fr-logo__claim{display:block;height:26px;width:auto;align-self:flex-end;margin-bottom:2px}
@media (max-width:1023px){.fr-logo .fr-logo__claim{height:20px;margin-bottom:1px}}
.fr-header__search{flex:1;max-width:380px;margin-left:auto;position:relative}
.fr-header__search .fr-input{padding-left:44px;border-radius:var(--radius-pill);background:var(--neutral-50)}
.fr-header__search .fr-icon{position:absolute;left:14px;top:12px;color:var(--primary)}
.fr-hotline{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--text)}
.fr-hotline__icon{width:44px;height:44px;border-radius:var(--radius-pill);background:var(--red-50);color:var(--primary);display:grid;place-items:center}
.fr-hotline small{display:block;font:600 12px/16px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.fr-hotline strong{display:block;font:700 20px/24px var(--font-display);color:var(--primary);white-space:nowrap}
.fr-hotline:hover strong{color:var(--primary-hover);text-decoration:underline}
.fr-favlink{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--text);font:600 13px/16px var(--font-display);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}
.fr-favlink:hover{background:var(--red-50);color:var(--primary)}
.fr-favlink .fr-icon{color:var(--primary);width:26px;height:26px}
.fr-favcount{position:absolute;top:-2px;right:4px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:var(--primary);color:var(--white);font:700 12px/20px var(--font-display);text-align:center}
.fr-nav{background:var(--primary);color:var(--white)}
.fr-nav__inner{display:flex;align-items:stretch;gap:var(--space-1)}
.fr-nav__list{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;flex:1;min-width:0}
.fr-nav__item{position:static}
.fr-nav__item--rel{position:relative}
.fr-nav__link{display:flex;align-items:center;gap:var(--space-1);height:60px;padding:0 var(--space-4);color:var(--white);text-decoration:none;font:500 16px/24px var(--font-display);letter-spacing:.03em;background:transparent;border:0;cursor:pointer;white-space:nowrap;position:relative}
.fr-nav__link .fr-icon{width:18px;height:18px;transition:transform .15s}
.fr-nav__link:hover,.fr-nav__link.is-hover,.fr-nav__link[aria-expanded=true]{background:var(--primary-hover);color:var(--white)}
.fr-nav__link[aria-expanded=true] .fr-icon--chevron-down{transform:rotate(180deg)}
.fr-nav__link[aria-current=page]::after,.fr-nav__link.is-active::after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:10px;height:3px;border-radius:2px;background:var(--white)}
.fr-nav__link:focus-visible,.fr-nav__link.is-focus{outline:3px solid var(--focus-ring-inverse);outline-offset:-5px}
.fr-nav__cta{display:flex;align-items:center;margin-left:auto;padding-left:var(--space-3)}
.fr-nav__toggle{display:none}
.fr-menu{position:absolute;top:100%;left:0;min-width:300px;background:var(--white);color:var(--text);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3) 0;list-style:none;margin:0;z-index:60;border-top:3px solid var(--primary-hover)}
.fr-menu[hidden]{display:none}
.fr-menu a{display:block;padding:var(--space-2) var(--space-5);color:var(--text);text-decoration:none;font:500 15px/24px var(--font-display)}
.fr-menu a:hover,.fr-menu a:focus-visible{background:var(--red-50);color:var(--primary-hover);outline-offset:-3px}
.fr-mega{position:absolute;left:0;right:0;top:100%;background:var(--white);color:var(--text);box-shadow:var(--shadow-lg);z-index:60;border-top:3px solid var(--primary-hover)}
.fr-mega[hidden]{display:none}
.fr-mega__inner{display:grid;grid-template-columns:3fr 1fr;gap:var(--space-6);padding-top:var(--space-6);padding-bottom:var(--space-6)}
.fr-mega__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1) var(--space-5)}
.fr-mega__cols a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text);text-decoration:none;font:500 15px/22px var(--font-display)}
.fr-mega__cols a .fr-icon{color:var(--primary);width:20px;height:20px}
.fr-mega__cols a:hover,.fr-mega__cols a:focus-visible{background:var(--red-50);color:var(--primary-hover)}
.fr-mega__cols a.is-all{font-weight:700}
.fr-mega__title{grid-column:1/-1;font:600 13px/16px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-2) var(--space-3)}
@media (max-width:1180px){
  .fr-nav__link{padding:0 var(--space-3);font-size:15px}
  .fr-header__search{display:none}
}
@media (max-width:1023px){
  .fr-nav__toggle{display:flex}
  .fr-nav__list{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--white);box-shadow:var(--shadow-lg);max-height:calc(100vh - 120px);overflow:auto;z-index:70;padding:var(--space-2) 0}
  .fr-nav.is-open .fr-nav__list{display:flex}
  .fr-nav__inner{position:relative}
  .fr-nav__list .fr-nav__link{color:var(--text);height:auto;padding:var(--space-4) var(--space-5);justify-content:space-between;border-bottom:1px solid var(--border);font-weight:600;width:100%}
  .fr-nav__list .fr-nav__link:hover,.fr-nav__list .fr-nav__link[aria-expanded=true]{background:var(--red-50);color:var(--primary)}
  .fr-nav__list .fr-nav__link:focus-visible{outline-color:var(--focus-ring)}
  .fr-nav__list .fr-nav__link[aria-current=page]::after{display:none}
  .fr-menu,.fr-mega{position:static;box-shadow:none;border-top:0;border-radius:0;background:var(--neutral-50)}
  .fr-mega__inner{grid-template-columns:1fr;padding:var(--space-3) var(--space-4)}
  .fr-mega__cols{grid-template-columns:1fr 1fr}
  .fr-mega__promo{display:none}
  .fr-logo img{height:48px}
  .fr-hotline__text{display:none}
  .fr-header__top{gap:var(--space-3)}
  .fr-hotline{margin-left:auto}
}
@media (max-width:480px){.fr-mega__cols{grid-template-columns:1fr}.fr-logo .fr-logo__claim{display:none}.fr-nav__cta .fr-btn{padding:var(--space-2) var(--space-3);font-size:14px}}

/* ---------- Breadcrumb ---------- */
.fr-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);list-style:none;margin:0;padding:var(--space-4) 0;font-size:15px;line-height:22px}
.fr-breadcrumb li{display:flex;align-items:center;gap:var(--space-2)}
.fr-breadcrumb li+li::before{content:"";width:16px;height:16px;background:var(--neutral-500);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.fr-breadcrumb a{color:var(--secondary)}
.fr-breadcrumb [aria-current]{color:var(--text-muted)}

/* ---------- Eckdatenleiste ---------- */
.fr-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4);padding:var(--space-5);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.fr-facts .fr-fact .fr-icon{width:28px;height:28px;padding:0}
.fr-facts .fr-fact__icon{flex:none;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--red-50);color:var(--primary);display:grid;place-items:center}

/* ---------- Abschnittsleiste ---------- */
.fr-subnav{position:sticky;top:0;z-index:30;background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 2px 6px rgba(31,35,41,.04)}
.fr-subnav__list{display:flex;gap:var(--space-1);list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.fr-subnav__link{display:block;padding:var(--space-4) var(--space-4);font:600 16px/24px var(--font-display);color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}
.fr-subnav__link:hover,.fr-subnav__link.is-hover{color:var(--text);border-bottom-color:var(--neutral-300)}
.fr-subnav__link[aria-current=true],.fr-subnav__link.is-active{color:var(--primary);border-bottom-color:var(--primary)}
.fr-subnav__link:focus-visible{outline-offset:-3px}

/* ---------- Buchungsbox ---------- */
.fr-bookbox{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.fr-bookbox__section{padding:var(--space-5)}
.fr-bookbox__section+.fr-bookbox__section{border-top:1px solid var(--border)}
.fr-bookbox__hl{background:var(--neutral-50)}
.fr-bookbox__hl h3{font:700 18px/24px var(--font-display);margin-bottom:var(--space-3)}
.fr-bookbox__price{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}
.fr-bookbox__price .fr-price__value{font-size:36px;line-height:40px}
.fr-bookbox__note{display:flex;gap:var(--space-2);align-items:center;font-size:14px;line-height:20px;color:var(--text-muted);margin-top:var(--space-3);justify-content:center}
.fr-bookbox__note .fr-icon{width:18px;height:18px;color:var(--success-700)}
.fr-bookbox .fr-field+.fr-field{margin-top:var(--space-4)}

/* Termin-Optionen (ohne Preise) */
.fr-options{list-style:none;margin:0;padding:var(--space-2);max-height:300px;overflow:auto}
.fr-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;text-align:left;font:500 16px/22px var(--font-body);color:var(--text);cursor:pointer}
.fr-option:hover,.fr-option.is-hover{background:var(--neutral-100)}
.fr-option[aria-selected=true]{background:var(--blue-50);color:var(--blue-900);font-weight:700}
.fr-option[aria-selected=true]::after{content:"";width:20px;height:20px;background:var(--secondary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.fr-option:disabled{color:var(--neutral-600);cursor:not-allowed}
.fr-option small{font-size:13px;color:var(--warning-700);font-weight:600}

/* ---------- Buchungsschritte ---------- */
.fr-steps{display:flex;list-style:none;margin:0;padding:0;counter-reset:s;gap:var(--space-2)}
.fr-steps li{flex:1;display:flex;align-items:center;gap:var(--space-3);font:600 15px/20px var(--font-display);color:var(--text-muted);position:relative;padding-bottom:var(--space-3);border-bottom:4px solid var(--neutral-200)}
.fr-steps li::before{counter-increment:s;content:counter(s);flex:none;width:32px;height:32px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--neutral-200);color:var(--neutral-800);font-weight:700}
.fr-steps li.is-done{color:var(--text);border-bottom-color:var(--success-700)}
.fr-steps li.is-done::before{content:"✓";background:var(--success-700);color:var(--white)}
.fr-steps li.is-current{color:var(--primary);border-bottom-color:var(--primary)}
.fr-steps li.is-current::before{background:var(--primary);color:var(--white)}
@media (max-width:720px){.fr-steps li span{display:none}.fr-steps li.is-current span{display:inline}}

/* Preisübersicht (Buchung) */
.fr-summary{display:flex;flex-direction:column;gap:var(--space-2);font-size:16px;line-height:24px}
.fr-summary__row{display:flex;justify-content:space-between;gap:var(--space-3)}
.fr-summary__row span:last-child{white-space:nowrap;font-weight:600}
.fr-summary__row--discount{color:var(--success-700)}
.fr-summary__total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--neutral-800);padding-top:var(--space-3);margin-top:var(--space-2);font:700 18px/24px var(--font-display)}
.fr-summary__total span:last-child{font-size:28px;line-height:32px;color:var(--primary)}

/* Hinweise / Status */
.fr-alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);background:var(--info-50);color:var(--info-700);font-size:15px;line-height:22px}
.fr-alert .fr-icon{flex:none}
.fr-alert--success{background:var(--success-50);color:var(--success-700)}
.fr-alert--warning{background:var(--warning-50);color:var(--warning-700)}
.fr-alert--error{background:var(--error-50);color:var(--error-700)}
.fr-alert strong{display:block;font-family:var(--font-display)}

/* Choice-Karte (Zustieg, Zimmer, Versicherung) */
.fr-choice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--white);cursor:pointer;transition:border-color .12s,background .12s}
.fr-choice:hover{border-color:var(--neutral-800)}
.fr-choice:has(input:checked){border:2px solid var(--secondary);background:var(--blue-50);padding:calc(var(--space-4) - 1px)}
.fr-choice input{margin-top:3px}
.fr-choice__body{flex:1;min-width:0}
.fr-choice__title,.fr-choice__text{display:block}
.fr-choice__title{font:600 16px/22px var(--font-display)}
.fr-choice__text{font-size:14px;line-height:20px;color:var(--text-muted)}
.fr-choice__price{font:600 15px/22px var(--font-display);white-space:nowrap}

/* ---------- Galerie ---------- */
.fr-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-2);border-radius:var(--radius-xl);overflow:hidden;height:460px}
.fr-gallery .fr-ph{aspect-ratio:auto;height:100%}
.fr-gallery>*:first-child{grid-row:1/span 2}
.fr-gallery__more{position:relative}
.fr-gallery__more .fr-btn{position:absolute;right:var(--space-3);bottom:var(--space-3)}
@media (max-width:767px){.fr-gallery{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.fr-gallery>*:not(:first-child){display:none}.fr-gallery .fr-ph{aspect-ratio:4/3}}

/* ---------- Reisemerkmale (Icon-Leiste wie Live-Seite) ---------- */
.fr-features{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);list-style:none;margin:0 0 var(--space-5);padding:0}
.fr-feature{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--white);font:600 14px/20px var(--font-display);color:var(--text)}
.fr-feature .fr-icon{width:22px;height:22px;color:var(--primary)}

/* ---------- Reise-Infokasten (Kopf der Reisedetailseite) ---------- */
.fr-tripinfo{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.fr-tripinfo__title{font:700 32px/40px var(--font-display);margin:0;text-wrap:balance}
.fr-tripinfo__sub{font:600 18px/26px var(--font-display);color:var(--primary);margin-top:var(--space-1)}
.fr-tripinfo__price .fr-price__value{font-size:40px;line-height:44px}
.fr-tripinfo__price{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.fr-tripinfo__facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-5);margin:0}
.fr-tripinfo__facts div{display:contents}
.fr-tripinfo__facts dt{display:flex;align-items:center;gap:var(--space-2);font:600 14px/22px var(--font-display);color:var(--text-muted)}
.fr-tripinfo__facts dt .fr-icon{color:var(--primary)}
.fr-tripinfo__facts dd{margin:0;font:600 16px/22px var(--font-display)}
.fr-tripinfo__label{font:600 13px/16px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}
@media (max-width:767px){.fr-tripinfo{padding:var(--space-5)}.fr-tripinfo__title{font-size:26px;line-height:34px}}

/* ---------- Reiseverlauf als Zeitleiste ---------- */
.fr-timeline{list-style:none;margin:var(--space-5) 0 var(--space-4);padding:0;position:relative}
.fr-timeline::before{content:"";position:absolute;left:43px;top:12px;bottom:12px;width:2px;background:var(--red-100)}
.fr-timeline__item{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-4);padding-bottom:var(--space-5)}
.fr-timeline__item:last-child{padding-bottom:0}
.fr-timeline__day{position:relative;z-index:1;align-self:start;justify-self:center;background:var(--primary);color:var(--white);font:700 13px/18px var(--font-display);letter-spacing:.04em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);white-space:nowrap}
.fr-timeline__title{font:600 18px/26px var(--font-display);margin:0 0 var(--space-1)}
.fr-timeline__item p{font-size:16px;line-height:26px}
@media (max-width:560px){.fr-timeline::before{left:15px}.fr-timeline__item{grid-template-columns:minmax(0,1fr);gap:var(--space-2);padding-left:36px}.fr-timeline__day{justify-self:start;margin-left:-36px}}

/* Galerie kompakt (neben Infokasten) */
.fr-gallery--compact{grid-template-columns:2fr 1fr;grid-template-rows:repeat(3,1fr);height:100%;min-height:440px}
.fr-gallery--compact>*:first-child{grid-row:1/span 3}

/* ---------- Reiter (Reiseverlauf | Hotel | Leistungen | Hinweise) ---------- */
.fr-tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--border);overflow-x:auto;scrollbar-width:none}
.fr-tabs__tab{flex:none;padding:var(--space-3) var(--space-5);border:0;border-bottom:3px solid transparent;margin-bottom:-2px;background:transparent;font:600 17px/24px var(--font-display);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;white-space:nowrap}
.fr-tabs__tab:hover{color:var(--text);background:var(--neutral-50)}
.fr-tabs__tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);background:var(--red-50)}
.fr-tabs__tab:focus-visible{outline-offset:-3px}

/* ---------- Termine | Preise | Onlinebuchung ---------- */
.fr-terms{margin-top:var(--space-8)}
.fr-terms__head{display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-5) var(--space-6);background:var(--primary);color:var(--white);font:700 32px/40px var(--font-display);border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.fr-terms__head .fr-icon{color:var(--white)}
.fr-terms__summary{display:grid;grid-template-columns:minmax(0,1.6fr) auto auto auto auto;align-items:center;border:1px solid var(--border);border-top:0}
.fr-terms__summary>*{padding:var(--space-5) var(--space-5);border-left:1px solid var(--border);text-align:center}
.fr-terms__summary>*:first-child{border-left:0;text-align:left}
.fr-terms__name{font:500 20px/28px var(--font-display);color:var(--primary)}
.fr-terms__days{font:700 20px/28px var(--font-display);color:var(--primary)}
.fr-terms__count{justify-self:center;margin:var(--space-3) var(--space-4);padding:var(--space-1) var(--space-4)!important;border:0!important;background:var(--success-700);color:var(--white);border-radius:var(--radius-sm);font:500 16px/24px var(--font-display)}
.fr-terms__from{font-size:17px;color:var(--primary)}
.fr-terms__from b{font:700 22px/28px var(--font-display)}
.fr-terms__summary .fr-terms__toggle{margin:var(--space-3) var(--space-4);border-left:2px solid var(--primary)}
.fr-terms__toggle .fr-icon{transition:transform .15s}
.fr-terms__toggle[aria-expanded=false] .fr-icon{transform:rotate(180deg)}
.fr-terms__body{padding:var(--space-6) var(--space-5);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.fr-seg{display:inline-flex;flex-wrap:wrap;border:2px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-5)}
.fr-seg__btn{padding:var(--space-2) var(--space-5);border:0;border-left:2px solid var(--border);background:var(--white);color:var(--primary);font:500 17px/26px var(--font-display);cursor:pointer}
.fr-seg__btn:first-child{border-left:0}
.fr-seg__btn:hover{background:var(--red-50)}
.fr-seg__btn[aria-pressed=true]{background:var(--primary);color:var(--white)}
.fr-seg__btn:focus-visible{outline-offset:-4px}
.fr-terms__row{display:grid;grid-template-columns:minmax(150px,1.2fr) 100px minmax(0,2.4fr) 160px 240px;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px dashed var(--neutral-300);align-items:start;font-size:17px;line-height:26px}
.fr-terms__row>span:first-child{display:flex;flex-direction:column;align-items:flex-start}
.fr-terms__row--head{font:700 16px/22px var(--font-display);border-bottom:0;padding-bottom:0}
.fr-terms__price{text-align:right}
.fr-terms__price b{font:700 22px/28px var(--font-display)}
.fr-terms__m{display:none}
.fr-terms__more{margin-top:var(--space-4);background:var(--neutral-100);border:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;color:var(--primary)}
@media (max-width:1100px){.fr-terms__summary{grid-template-columns:1fr 1fr}.fr-terms__summary>*{border-left:0;border-top:1px solid var(--border);text-align:left}.fr-terms__summary>*:first-child{grid-column:1/-1;border-top:0}.fr-terms__summary .fr-terms__toggle{grid-column:1/-1;justify-self:stretch}.fr-terms__count{justify-self:start}}
@media (max-width:900px){.fr-terms__row{grid-template-columns:minmax(0,1fr) auto}.fr-terms__row--head{display:none}.fr-terms__row>span:nth-child(2){display:none}.fr-terms__row>span:nth-child(3){grid-column:1/-1;grid-row:2}.fr-terms__row>span:nth-child(5){grid-column:1/-1}.fr-terms__head{font-size:22px;line-height:30px;padding:var(--space-4)}.fr-seg{display:flex;flex-direction:column;width:100%}.fr-seg__btn{border-left:0;border-top:2px solid var(--border);text-align:left}.fr-seg__btn:first-child{border-top:0}.fr-terms__body{padding:var(--space-4)}}

/* ---------- Footer ---------- */
.fr-footer{background:var(--surface-inverse);color:var(--neutral-300);font-size:15px;line-height:24px}
.fr-footer a{color:var(--white);text-decoration:none}
.fr-footer a:hover{text-decoration:underline;color:var(--white)}
.fr-footer a:focus-visible{outline-color:var(--focus-ring-inverse)}
.fr-footer__main{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-7)}
.fr-footer__brand .fr-logo-box{display:inline-block;background:var(--white);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}
.fr-footer__brand .fr-logo-box img{height:56px}
.fr-footer h3{font:600 13px/16px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:var(--space-4)}
.fr-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.fr-footer__contact{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}
.fr-footer__contact a,.fr-footer__contact div{display:flex;gap:var(--space-2);align-items:flex-start}
.fr-footer__contact .fr-icon{width:20px;height:20px;color:var(--red-300);margin-top:2px}
.fr-footer__phone{font:700 20px/28px var(--font-display)}
.fr-footer__social{display:flex;gap:var(--space-2);margin-top:var(--space-4)}
.fr-footer__social a{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--neutral-600);border-radius:var(--radius-pill);font-size:14px}
.fr-footer__social a:hover{background:var(--neutral-800);text-decoration:none}
.fr-footer__partners{border-top:1px solid var(--neutral-700);padding-top:var(--space-5);padding-bottom:var(--space-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.fr-footer__partners h3{margin:0 var(--space-4) 0 0}
.fr-footer__partner{width:120px;height:56px;border-radius:var(--radius-md);background:var(--white);display:grid;place-items:center;color:var(--neutral-700);font:700 13px/16px var(--font-display);border:1px dashed var(--neutral-400)}
.fr-footer__bottom{background:#16191e;padding:var(--space-4) 0;font-size:14px}
.fr-footer__bottom .fr-container{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);justify-content:space-between}
.fr-footer__bottom ul{flex-direction:row;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
@media (max-width:1023px){.fr-footer__main{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fr-footer__main{grid-template-columns:1fr}}

/* ---------- Hero / Slideshow: jede Folie = Bild + eine Aktionskachel ---------- */
.fr-hero{position:relative;height:clamp(440px,48vw,600px);overflow:hidden;background:var(--neutral-900)}
.fr-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.fr-hero__slide.is-active{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s}
.fr-hero__slide .fr-ph{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.fr-hero__slide .fr-ph::after{bottom:auto;top:var(--space-4)}
.fr-hero__inner{position:relative;height:100%;display:flex;align-items:flex-start;padding-top:var(--space-8)}
.fr-hero__promo{width:min(520px,100%)}
.fr-hero__promo .fr-promo{box-shadow:var(--shadow-lg);min-height:0}
.fr-hero__promo .fr-promo__title{font-size:26px;line-height:34px}
.fr-hero__promo .fr-promo__text{font-size:17px;line-height:26px}
.fr-hero__controls{position:absolute;left:50%;transform:translateX(-50%);bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3);z-index:3;background:rgba(31,35,41,.55);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2)}
.fr-hero__arrow{width:36px;height:36px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer}
.fr-hero__arrow:hover{background:rgba(255,255,255,.18)}
.fr-hero__arrow:focus-visible,.fr-hero__dot:focus-visible{outline-color:var(--focus-ring-inverse)}
.fr-hero__dots{display:flex;gap:var(--space-2)}
.fr-hero__dot{width:12px;height:12px;border-radius:var(--radius-pill);border:2px solid var(--white);background:transparent;cursor:pointer;padding:0;transition:width .2s}
.fr-hero__dot[aria-current=true]{background:var(--white);width:28px}
@media (max-width:767px){.fr-hero{height:480px}.fr-hero__inner{align-items:flex-end;padding-top:0;padding-bottom:80px}.fr-hero__promo .fr-promo__title{font-size:20px;line-height:26px}.fr-hero__promo .fr-promo__text{font-size:15px;line-height:22px}}

/* ---------- Sonstiges ---------- */
.fr-brochure{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border)}
.fr-brochure .fr-ph{width:96px;aspect-ratio:3/4;border-radius:var(--radius-sm);flex:none}
.fr-brochure .fr-ph::after{font-size:9px;padding:1px 4px}
.fr-brochure__text{flex:1;min-width:240px}
.fr-empty{text-align:center;padding:var(--space-8) var(--space-5);border:2px dashed var(--neutral-300);border-radius:var(--radius-lg);color:var(--text-muted)}
.fr-empty .fr-icon{width:48px;height:48px;color:var(--red-300);margin-bottom:var(--space-3)}
.fr-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}
.fr-toolbar .fr-select{width:auto;min-width:220px}
.fr-proto{background:var(--neutral-900);color:var(--white);font:600 12px/16px var(--font-display);letter-spacing:.04em;text-align:center;padding:6px var(--space-4)}
.fr-icon--search{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")}
.fr-icon--heart{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E")}
.fr-icon--heart-filled{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='black' d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E")}
.fr-icon--phone{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.5 4-2 1.3a10 10 0 0 0 6.2 6.2l1.3-2 4 1.5v3a2 2 0 0 1-2 2A16 16 0 0 1 4.5 5.5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.fr-icon--chevron-down{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.fr-icon--chevron-up{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E")}
.fr-icon--chevron-right{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E")}
.fr-icon--chevron-left{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E")}
.fr-icon--arrow-right{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.fr-icon--check{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.fr-icon--close{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E")}
.fr-icon--plus{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.fr-icon--minus{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}
.fr-icon--menu{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E")}
.fr-icon--calendar{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.fr-icon--users{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6.5 6.5 0 0 1 3.5 6'/%3E%3C/svg%3E")}
.fr-icon--user{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E")}
.fr-icon--clock{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
.fr-icon--map-pin{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E")}
.fr-icon--globe{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17M12 3.5c2.5 2.6 2.5 14.4 0 17M12 3.5c-2.5 2.6-2.5 14.4 0 17'/%3E%3C/svg%3E")}
.fr-icon--bus{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='14' rx='2.5'/%3E%3Cpath d='M4 11h16M8 17.5V20M16 17.5V20'/%3E%3Ccircle cx='8' cy='14.3' r='.6'/%3E%3Ccircle cx='16' cy='14.3' r='.6'/%3E%3C/svg%3E")}
.fr-icon--ship{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15l2 4.5h14L21 15H3zM6 15V9h12v6M12 9V4M9 6h3'/%3E%3C/svg%3E")}
.fr-icon--plane{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 20.5 12 15l4.5 1.5 1 1.5h1.5l-1-3 3.5-1.2c1-.4 1-1.8 0-2.2L18 10.4l1-3H17.5l-1 1.5L12 10.4 10.5 4.5h-2l.5 6.6-4 1.4-1.5-2h-1L3.5 13l-1 2.5h1l1.5-2 4 1.4-.5 5.6z'/%3E%3C/svg%3E")}
.fr-icon--bed{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18V6M3 13h18v5M21 13a3 3 0 0 0-3-3h-7v3'/%3E%3Ccircle cx='7' cy='10.5' r='1.6'/%3E%3C/svg%3E")}
.fr-icon--home{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11 12 4l8 7v9H4z'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E")}
.fr-icon--shield{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 5 6v5.5c0 4.5 3 7.6 7 9 4-1.4 7-4.5 7-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.fr-icon--gift{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='9' width='16' height='11' rx='1.5'/%3E%3Cpath d='M3 9h18M12 9v11M12 9S10.5 4.5 8 5s-1 4 4 4zM12 9s1.5-4.5 4-4 1 4-4 4z'/%3E%3C/svg%3E")}
.fr-icon--book{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4H11v16H5.5A1.5 1.5 0 0 1 4 18.5zM20 5.5A1.5 1.5 0 0 0 18.5 4H13v16h5.5a1.5 1.5 0 0 0 1.5-1.5z'/%3E%3C/svg%3E")}
.fr-icon--mail{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}
.fr-icon--star{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='black' stroke='none' d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E")}
.fr-icon--info{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E")}
.fr-icon--alert{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4 2.8 19.5h18.4z'/%3E%3Cpath d='M12 10v4.5M12 17h.01'/%3E%3C/svg%3E")}
.fr-icon--check-circle{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.5 12.3 2.4 2.4 4.6-4.9'/%3E%3C/svg%3E")}
.fr-icon--tag{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.5V4h8.5l8.5 8.5-8.5 8.5z'/%3E%3Ccircle cx='8' cy='8.5' r='1.3'/%3E%3C/svg%3E")}
.fr-icon--image{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2'/%3E%3Ccircle cx='9' cy='9.5' r='1.6'/%3E%3Cpath d='m4 18 5.5-5.5 4 4 2.5-2.5 4.5 4.5'/%3E%3C/svg%3E")}
.fr-icon--external{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E")}
.fr-icon--download{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10.5l5 5 5-5M5 20h14'/%3E%3C/svg%3E")}
.fr-icon--share{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17.5' cy='5.5' r='2.5'/%3E%3Ccircle cx='6.5' cy='12' r='2.5'/%3E%3Ccircle cx='17.5' cy='18.5' r='2.5'/%3E%3Cpath d='m8.7 10.8 6.6-3.9M8.7 13.2l6.6 3.9'/%3E%3C/svg%3E")}
.fr-icon--print{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V4h10v5M7 17H5a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-2'/%3E%3Crect x='7' y='14' width='10' height='6'/%3E%3C/svg%3E")}
.fr-icon--social{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='4.5'/%3E%3Ccircle cx='12' cy='12' r='3.6'/%3E%3Ccircle cx='16.8' cy='7.2' r='.5'/%3E%3C/svg%3E")}
.fr-icon--chat{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E")}
.fr-icon--filter{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E")}
.fr-icon--euro{--fr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 6.5a6.5 6.5 0 1 0 0 11M4.5 10.5h9M4.5 13.5h9'/%3E%3C/svg%3E")}
