:root {
	--fdeh-accent: #6f3cff;
	--fdeh-accent-dark: color-mix(in srgb, var(--fdeh-accent), #1b1234 24%);
	--fdeh-accent-soft: color-mix(in srgb, var(--fdeh-accent), #fff 91%);
	--fdeh-ink: #201b2d;
	--fdeh-muted: #6f687d;
	--fdeh-line: #e9e5ef;
	--fdeh-surface: #f7f5fa;
	--fdeh-white: #fff;
	--fdeh-radius: 18px;
	--fdeh-shadow: 0 16px 44px color-mix(in srgb, var(--fdeh-accent), transparent 89%);
}

.fdeh-entry,
.fdeh-collection { color: var(--fdeh-ink); font-size: 1rem; line-height: 1.65; }
.fdeh-entry *,
.fdeh-collection * { box-sizing: border-box; }
.fdeh-entry h2,
.fdeh-entry h3,
.fdeh-entry h4,
.fdeh-collection h2,
.fdeh-collection h3 { color: var(--fdeh-ink); line-height: 1.18; }
.fdeh-entry__header { margin: 0 0 1.25rem; }
.fdeh-entry__title { margin: .25rem 0 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.035em; }
.fdeh-entry__eyebrow,
.fdeh-offer__provider,
.fdeh-section__label { margin: 0; color: var(--fdeh-accent); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.fdeh-offer__provider.fdeh-offer__provider--direct { color: var(--fdeh-muted); font-size: 9px !important; font-weight: 650; letter-spacing: .035em; line-height: 1.2; text-transform: none; }
.fdeh-entry__eyebrow-provider--direct { font-size: 9px !important; font-weight: 650; letter-spacing: .035em; text-transform: none; }
.fdeh-entry__intro { max-width: 850px; margin: 0 0 1.35rem; color: var(--fdeh-muted); font-size: clamp(1.05rem, 2vw, 1.2rem); }
.fdeh-entry__intro > :first-child,
.fdeh-entry__content > :first-child { margin-top: 0; }

/* Complete page renderer: one visual owner instead of several loose cards. */
.fdeh-entry--page { container-type: inline-size; margin: 1.5rem 0; padding: clamp(1rem, 2.7vw, 1.7rem); overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: calc(var(--fdeh-radius) + 4px); background: var(--fdeh-white); box-shadow: 0 18px 52px color-mix(in srgb, var(--fdeh-accent), transparent 91%); }
.fdeh-entry--page > .fdeh-entry__intro { margin: 0 0 1.1rem; padding: 0 0 1rem; border-bottom: 1px solid var(--fdeh-line); font-size: clamp(1rem, 1.65vw, 1.12rem); line-height: 1.65; }
.fdeh-entry__box-head { margin: 0 0 1rem; }
.fdeh-entry__box-title { margin: 0; color: var(--fdeh-ink); font-size: clamp(1.4rem, 2.6vw, 1.85rem); line-height: 1.18; letter-spacing: -.025em; }
.fdeh-entry__box-intro { max-width: 850px; margin: .45rem 0 0; color: var(--fdeh-muted); font-size: .98rem; line-height: 1.6; }
.fdeh-entry__box-intro p { margin: 0; }
.fdeh-entry--page > .fdeh-media-grid { margin: 0; border: 0; border-radius: 14px; box-shadow: none; }
.fdeh-entry--page > .fdeh-entry__overview,
.fdeh-entry--page > .fdeh-media-grid + .fdeh-entry__overview { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.fdeh-entry--page .fdeh-entry__overview-main { padding: 1.3rem 1.35rem 1.25rem 0; }
.fdeh-entry--page .fdeh-entry__overview.has-offers { grid-template-columns: minmax(0, 1fr) minmax(220px, .43fr); }
.fdeh-entry--page .fdeh-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fdeh-entry--page .fdeh-facts div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.fdeh-entry--page > .fdeh-section,
.fdeh-entry--page > .fdeh-fit-grid { margin: 0; padding: 1.55rem 0; border-top: 1px solid var(--fdeh-line); }
.fdeh-entry--page > .fdeh-section--practical { margin: 0; padding: 1.55rem 0; border-top: 1px solid var(--fdeh-line); border-radius: 0; background: transparent; }
.fdeh-entry--page > .fdeh-entry__footer { margin-top: 0; padding-top: 1rem; }

.fdeh-set--grossbox { margin: 1.5rem 0; overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: calc(var(--fdeh-radius) + 4px); background: var(--fdeh-white); box-shadow: var(--fdeh-shadow); }
.fdeh-set--grossbox .fdeh-entry__header { margin-bottom: .8rem; }
.fdeh-set--grossbox .fdeh-entry__title { font-size: clamp(1.65rem, 3.2vw, 2.55rem); }
.fdeh-set--grossbox .fdeh-entry__intro { margin-bottom: 1rem; }
.fdeh-set--grossbox > .fdeh-section { margin: 1.7rem 0; }
.fdeh-set--grossbox > .fdeh-fit-grid { margin: 1.7rem 0; }
.fdeh-set--grossbox > .fdeh-media-grid,
.fdeh-set--grossbox > .fdeh-entry__overview { box-shadow: none; }

.fdeh-trust { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: .65rem 0 1rem; }
.fdeh-trust__item { display: inline-flex; align-items: center; gap: .5rem; color: var(--fdeh-ink); font-size: .82rem; line-height: 1.25; }
.fdeh-trust__item > span:last-child { display: grid; }
.fdeh-trust__item small { margin-top: .1rem; color: var(--fdeh-muted); font-size: .72rem; }
.fdeh-trust__dot { flex: 0 0 auto; width: .78rem; height: .78rem; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #8fc8ff, #2e60c9 72%); box-shadow: 0 0 0 3px #edf4ff; }
.fdeh-trust__item--visited .fdeh-trust__dot,
.fdeh-trust__item--local .fdeh-trust__dot { background: radial-gradient(circle at 30% 25%, #8ff3c2, #28a86c 72%); box-shadow: 0 0 0 3px #eaf9f1; }
.fdeh-trust--compact { margin: 0 0 .65rem; }
.fdeh-trust--compact .fdeh-trust__item { font-size: .72rem; font-weight: 700; }
.fdeh-trust--compact .fdeh-trust__dot { width: .62rem; height: .62rem; }
.fdeh-entry__proof { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem 1rem; margin-top: 1.05rem; padding-top: .85rem; border-top: 1px dashed var(--fdeh-line); }
.fdeh-entry__proof .fdeh-trust,
.fdeh-entry__proof .fdeh-editorial-rating { margin: 0; }
.fdeh-entry__proof .fdeh-trust__item { font-size: .76rem; }
.fdeh-entry__proof .fdeh-trust__dot { width: .66rem; height: .66rem; box-shadow: 0 0 0 2px #edf4ff; }
.fdeh-entry__proof .fdeh-trust__item--visited .fdeh-trust__dot,
.fdeh-entry__proof .fdeh-trust__item--local .fdeh-trust__dot { box-shadow: 0 0 0 2px #eaf9f1; }
.fdeh-entry__proof--compact { justify-content: flex-start; margin: .75rem 0; padding-top: .65rem; }
.fdeh-entry__proof--compact:empty { display: none; }
.fdeh-entry__proof--compact .fdeh-trust--compact,
.fdeh-entry__proof--compact .fdeh-editorial-rating--compact { margin: 0; }
.fdeh-entry__proof--below-media { justify-content: flex-start; margin: 0; padding: .85rem .15rem .9rem; border-top: 0; border-bottom: 1px solid var(--fdeh-line); }
.fdeh-entry__proof--below-media .fdeh-trust__item { font-size: .78rem; }

.fdeh-editorial-rating { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .55rem; margin: 0 0 .9rem; padding: .48rem .62rem; border: 1px solid #eadca8; border-radius: 9px; background: #fffdf7; color: #5b430d; font-size: .75rem; line-height: 1.3; }
.fdeh-editorial-rating__stars { position: relative; display: inline-block; overflow: hidden; color: #d8d1bd; font-size: 1rem; letter-spacing: .04em; line-height: 1; white-space: nowrap; }
.fdeh-editorial-rating__stars::before { position: absolute; top: 0; left: 0; width: var(--fdeh-rating-width); overflow: hidden; color: #d79c16; content: "★★★★★"; white-space: nowrap; }
.fdeh-editorial-rating__value { font-weight: 850; }
.fdeh-editorial-rating__basis { color: #6d6250; font-weight: 700; }
.fdeh-editorial-rating small { flex: 1 0 100%; color: #6f687d; font-size: .7rem; }
.fdeh-editorial-rating--compact { display: inline-flex; margin: 0 0 .65rem; padding: .36rem .48rem; font-size: .68rem; }
.fdeh-editorial-rating--compact .fdeh-editorial-rating__stars { font-size: .82rem; }

.fdeh-media-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; min-height: 280px; aspect-ratio: 16 / 7; margin: 1.4rem 0 2rem; overflow: hidden; border-radius: var(--fdeh-radius); background: var(--fdeh-surface); }
.fdeh-entry > .fdeh-media-grid { margin-bottom: 0; border: 1px solid var(--fdeh-line); border-bottom: 0; border-radius: var(--fdeh-radius) var(--fdeh-radius) 0 0; box-shadow: var(--fdeh-shadow); }
.fdeh-media-grid--1 { display: block; aspect-ratio: 16 / 8; }
.fdeh-media-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr; }
.fdeh-media-grid__item { display: block; min-width: 0; min-height: 0; overflow: hidden; }
.fdeh-media-grid__item--static { cursor: default; }
.fdeh-media-grid--3 .fdeh-media-grid__item:first-child { grid-row: 1 / 3; }
.fdeh-media-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.fdeh-media-grid a:hover img,
a.fdeh-media-grid:hover img { transform: scale(1.025); }

.fdeh-entry__overview { display: grid; grid-template-columns: 1fr; gap: 0; align-items: stretch; margin: 1.5rem 0; padding: 0; overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: var(--fdeh-radius); background: var(--fdeh-white); box-shadow: var(--fdeh-shadow); }
.fdeh-entry__overview.has-offers { grid-template-columns: minmax(0, 1.55fr) minmax(245px, .45fr); }
.fdeh-entry > .fdeh-media-grid + .fdeh-entry__overview { margin-top: 0; border-top: 0; border-radius: 0 0 var(--fdeh-radius) var(--fdeh-radius); }
.fdeh-entry__overview-main { padding: 1.3rem 1.35rem 1.35rem; }
.fdeh-entry__overview h2 { margin: 0 0 .85rem; font-size: clamp(1.35rem, 2vw, 1.65rem); letter-spacing: -.02em; }
.fdeh-entry__overview-title { margin: 0 0 .7rem; color: var(--fdeh-muted); font-size: .88rem; font-weight: 800; letter-spacing: .055em; line-height: 1.25; text-transform: uppercase; }
.fdeh-verdict { margin: 0 0 .9rem; padding: .9rem 1rem; border: 0; border-radius: 11px; background: linear-gradient(135deg, var(--fdeh-accent-soft), #fbfaff); font-size: .94rem; line-height: 1.55; }
.fdeh-verdict span { color: var(--fdeh-accent-dark); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fdeh-verdict p { margin: .25rem 0 0; }
.fdeh-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; margin: 0; }
.fdeh-facts div { align-self: stretch; min-height: 0; padding: .7rem .78rem; border: 0; border-radius: 10px; background: var(--fdeh-surface); }
.fdeh-facts dt { color: var(--fdeh-muted); font-size: .74rem; font-weight: 700; text-transform: uppercase; }
.fdeh-facts dd { margin: .2rem 0 0; font-size: .9rem; font-weight: 700; line-height: 1.3; }

.fdeh-section { margin: clamp(2rem, 5vw, 3.5rem) 0; }
.fdeh-section > h2 { margin: .15rem 0 .9rem; font-size: clamp(1.4rem, 2.4vw, 1.85rem); letter-spacing: -.025em; }
.fdeh-section--practical { padding: 1.4rem; border-radius: var(--fdeh-radius); background: var(--fdeh-surface); }
.fdeh-fit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; margin: 2.2rem 0; }
.fdeh-fit-grid__title { grid-column: 1 / -1; margin: 0 0 .15rem; font-size: clamp(1.4rem, 2.4vw, 1.85rem); letter-spacing: -.025em; }
.fdeh-fit { padding: 1.1rem 1.2rem; border: 1px solid var(--fdeh-line); border-radius: 13px; background: var(--fdeh-white); }
.fdeh-fit h3 { margin: 0 0 .55rem; font-size: 1.05rem; }
.fdeh-fit p { margin: 0; }
.fdeh-fit--yes { border-top: 4px solid #2b8a5b; }
.fdeh-fit--no { border-top: 4px solid #d88931; }

.fdeh-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 1rem; }
.fdeh-gallery--1 { grid-template-columns: minmax(0, 1fr); max-width: 720px; }
.fdeh-gallery--1 .fdeh-gallery__item { aspect-ratio: 16 / 9; }
.fdeh-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fdeh-gallery__item { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 13px; background: var(--fdeh-surface); }
.fdeh-gallery__item--static { cursor: default; }
.fdeh-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
a.fdeh-gallery__item:hover img { transform: scale(1.03); }
.fdeh-entry__footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; padding-top: 1rem; border-top: 1px solid var(--fdeh-line); color: var(--fdeh-muted); font-size: .78rem; }

/* Public destination profiles: one closed entity card with photo grid and map. */
.fdeh-destination-page { padding: clamp(1.5rem, 4vw, 3.5rem) 0 clamp(3.5rem, 7vw, 6rem); }
.fdeh-destination-page__inner { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.fdeh-destination { overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: calc(var(--fdeh-radius) + 8px); background: var(--fdeh-white); box-shadow: 0 20px 58px color-mix(in srgb, var(--fdeh-accent), transparent 88%); color: var(--fdeh-ink); font-size: 1rem; line-height: 1.65; }
.fdeh-destination * { box-sizing: border-box; }
.fdeh-destination__hero { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(280px, .85fr); min-height: 430px; overflow: hidden; border-bottom: 1px solid var(--fdeh-line); background: var(--fdeh-surface); }
.fdeh-destination__hero--single { grid-template-columns: minmax(0, 1fr); }
.fdeh-destination__media { width: 100%; height: 100%; min-height: 430px; aspect-ratio: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.fdeh-destination__map { position: relative; min-height: 100%; overflow: hidden; border-left: 1px solid var(--fdeh-line); background: #e8efe9; }
.fdeh-destination__hero--single .fdeh-destination__map { min-height: 360px; border-left: 0; }
.fdeh-destination__map iframe { display: block; width: 100%; height: 100%; min-height: 430px; border: 0; filter: saturate(.82) contrast(.96); }
.fdeh-destination__map a { position: absolute; right: 14px; bottom: 14px; display: inline-flex; min-height: 40px; align-items: center; padding: .55rem .82rem; border-radius: 999px; background: rgba(255,255,255,.95); box-shadow: 0 5px 18px rgba(0,0,0,.13); color: var(--fdeh-ink); font-size: .8rem; font-weight: 800; text-decoration: none; }
.fdeh-destination__body { padding: clamp(1.2rem, 4vw, 3rem); }
.fdeh-destination__header { max-width: 1000px; margin: 0; padding-bottom: clamp(1.5rem, 3vw, 2.2rem); }
.fdeh-destination__title { max-width: 1050px; margin: .28rem 0 0; color: var(--fdeh-ink); font-size: clamp(2.35rem, 5vw, 4.65rem); letter-spacing: -.045em; line-height: 1.02; }
.fdeh-destination__intro-wrap { max-width: 900px; margin: clamp(1.15rem, 2.5vw, 1.8rem) 0 0; }
.fdeh-destination__intro { display: -webkit-box; overflow: hidden; margin: 0; color: var(--fdeh-muted); font-size: clamp(1.05rem, 1.7vw, 1.24rem); line-height: 1.62; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.fdeh-destination__intro-wrap.is-expanded .fdeh-destination__intro { display: block; overflow: visible; -webkit-line-clamp: unset; }
.fdeh-destination__intro > :first-child,
.fdeh-destination__box-intro > :first-child { margin-top: 0; }
.fdeh-destination__intro > :last-child,
.fdeh-destination__box-intro > :last-child { margin-bottom: 0; }
.fdeh-destination__intro-toggle { margin-top: .35rem; padding: 0; border: 0; background: transparent; color: var(--fdeh-accent-dark); font: inherit; font-size: .84rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.fdeh-destination__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1.35rem; }
.fdeh-destination__action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .48rem; padding: .65rem 1rem; border: 1px solid color-mix(in srgb, var(--fdeh-accent), #fff 54%); border-radius: 999px; background: var(--fdeh-white); color: var(--fdeh-accent-dark); font: inherit; font-size: .88rem; font-weight: 850; line-height: 1.1; cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease; }
.fdeh-destination__action:hover { transform: translateY(-1px); }
.fdeh-destination__action--primary { border-color: var(--fdeh-accent); background: var(--fdeh-accent); color: #fff; }
.fdeh-destination__action--primary.is-saved { border-color: var(--fdeh-accent-dark); background: var(--fdeh-accent-dark); }
.fdeh-destination__updated { margin-left: auto; color: var(--fdeh-muted); font-size: .78rem; }
.fdeh-user-rating { max-width: 520px; margin-top: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--fdeh-line); border-radius: 14px; background: var(--fdeh-surface); }
.fdeh-user-rating[hidden] { display: none; }
.fdeh-user-rating p { margin: 0; }
.fdeh-user-rating small { color: var(--fdeh-muted); }
.fdeh-user-rating__stars { display: flex; gap: .16rem; margin-top: .55rem; }
.fdeh-user-rating__stars button { padding: .12rem; border: 0; background: transparent; color: #c7c1b1; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.fdeh-user-rating__stars button.is-active { color: #d79c16; }
.fdeh-user-rating__status { min-height: 1.4em; margin-top: .35rem !important; color: var(--fdeh-muted); font-size: .8rem; }
.fdeh-destination__box { overflow: hidden; padding: 0; border-top: 1px solid var(--fdeh-line); background: var(--fdeh-white); }
.fdeh-destination__proof { justify-content: flex-start; margin: 0; padding: 1.15rem 0; border-top: 0; border-bottom: 1px solid var(--fdeh-line); }
.fdeh-destination__box-intro { max-width: 900px; padding: 1.35rem 0 0; color: var(--fdeh-muted); font-size: 1.02rem; }
.fdeh-destination__section { margin: 0; padding: clamp(1.55rem, 3.5vw, 2.25rem) 0; border-top: 1px solid var(--fdeh-line); }
.fdeh-destination__box > .fdeh-destination__section:first-of-type { border-top: 0; }
.fdeh-destination__box-intro + .fdeh-destination__section { margin-top: 1.35rem; }
.fdeh-destination__section > h2,
.fdeh-destination__section-main > h2 { margin: 0 0 1rem; color: var(--fdeh-ink); font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.028em; line-height: 1.15; }
.fdeh-destination__overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: stretch; }
.fdeh-destination__overview.has-offers { grid-template-columns: minmax(0, 1.55fr) minmax(245px, .45fr); }
.fdeh-destination__section-main { min-width: 0; padding-right: clamp(0rem, 2vw, 1.5rem); }
.fdeh-destination__overview .fdeh-entry__booking { margin: 0; border-radius: 14px; }
.fdeh-destination__overview .fdeh-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fdeh-destination__overview .fdeh-facts div:last-child:nth-child(odd) { grid-column: auto; }
.fdeh-destination__opinion { margin: clamp(1.25rem, 2.5vw, 1.75rem) 0; padding: clamp(1.25rem, 3vw, 1.8rem); border: 0; border-radius: 16px; background: color-mix(in srgb, var(--fdeh-accent-soft), #edf8f1 62%); }
.fdeh-destination__opinion + .fdeh-destination__section { border-top: 0; }
.fdeh-destination__opinion p:last-child { margin-bottom: 0; }
.fdeh-destination__video { margin: clamp(1.25rem, 2.5vw, 1.75rem) 0; padding: clamp(1.25rem, 3vw, 1.8rem); border: 0; border-radius: 16px; background: color-mix(in srgb, var(--fdeh-accent-soft), #edf8f1 74%); }
.fdeh-destination__video-frame { overflow: hidden; border-radius: 12px; background: #111; }
.fdeh-destination__video-frame iframe,
.fdeh-destination__video-frame video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.fdeh-destination__video-frame .wp-video { width: 100% !important; }
.fdeh-destination__fit { margin: 0; }
.fdeh-destination__practical { margin-inline: calc(clamp(1.2rem, 4vw, 3rem) * -1); padding-inline: clamp(1.2rem, 4vw, 3rem); background: var(--fdeh-surface); }
.fdeh-destination__contact { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.45rem, 3vw, 2rem) 0; border-top: 1px solid var(--fdeh-line); }
.fdeh-destination__contact p { margin: .2rem 0; }
.fdeh-destination__contact a { color: var(--fdeh-accent-dark); font-weight: 800; }
.fdeh-destination__footer { margin-top: 0; padding-top: 1.2rem; }
.fdeh-destination__intro-toggle:focus-visible,
.fdeh-destination__action:focus-visible,
.fdeh-user-rating__stars button:focus-visible,
.fdeh-destination__map a:focus-visible { outline: 3px solid color-mix(in srgb, var(--fdeh-accent), #fff 25%); outline-offset: 3px; }

.fdeh-offers { margin: 2rem 0; }
.fdeh-entry__booking { display: flex; min-width: 0; padding: 1.3rem 1.15rem; border: 0; background: color-mix(in srgb, var(--fdeh-accent-soft), #fff 24%); }
.fdeh-entry__booking .fdeh-offers { width: 100%; margin: 0; }
.fdeh-offers > h3 { margin: .2rem 0 1rem; }
.fdeh-offers__grid { display: grid; gap: 12px; }
.fdeh-offer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem 1rem; align-items: center; padding: 1.15rem; border: 0; border-radius: 15px; background: linear-gradient(145deg, var(--fdeh-white), var(--fdeh-accent-soft)); }
.fdeh-offer h4 { margin: .2rem 0 .45rem; font-size: 1.02rem; }
.fdeh-offer__rating,
.fdeh-offer__meta,
.fdeh-offer__price-note { margin: .2rem 0; color: var(--fdeh-muted); font-size: .86rem; }
.fdeh-offer__rating { color: #744f00; font-weight: 700; }
.fdeh-offer__price { margin: .3rem 0 0; font-size: 1.12rem; font-weight: 800; }
.fdeh-offer__disclosure { margin: .18rem 0 0; color: var(--fdeh-muted); font-size: 7pt; line-height: 1.3; }
.fdeh-offer__action { display: flex; flex-direction: column; align-items: stretch; gap: .25rem; max-width: 240px; }
.fdeh-offer__action .fdeh-offer__disclosure { max-width: 240px; font-size: 10px; text-align: left; }
.fdeh-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 48px; padding: .75rem 1.1rem; border: 0; border-radius: 999px; color: #fff !important; background: var(--fdeh-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--fdeh-accent), transparent 70%); font-weight: 800; line-height: 1.1; text-align: center; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.fdeh-button:hover { transform: translateY(-1px); background: var(--fdeh-accent-dark); box-shadow: 0 11px 24px color-mix(in srgb, var(--fdeh-accent), transparent 62%); }
.fdeh-button:focus-visible,
.fdeh-media-grid__item:focus-visible,
.fdeh-gallery__item:focus-visible,
.fdeh-card a:focus-visible { outline: 3px solid color-mix(in srgb, var(--fdeh-accent), #fff 25%); outline-offset: 3px; }
.fdeh-offers--compact .fdeh-offer { grid-template-columns: 1fr; }
.fdeh-offers--compact .fdeh-button { width: 100%; }
.fdeh-entry__booking .fdeh-offers__grid { gap: .9rem; }
.fdeh-entry__booking .fdeh-offer { display: block; align-content: start; padding: 0; border: 0; border-radius: 0; background: transparent; }
.fdeh-entry__booking .fdeh-offer:not(:first-child) { padding-top: .9rem; border-top: 1px solid color-mix(in srgb, var(--fdeh-accent), #fff 70%); }
.fdeh-entry__booking .fdeh-offer__provider { margin-bottom: .35rem; }
.fdeh-entry__booking .fdeh-offer h4 { margin: 0 0 .55rem; font-size: .9rem; line-height: 1.32; }
.fdeh-entry__booking .fdeh-offer__rating,
.fdeh-entry__booking .fdeh-offer__meta,
.fdeh-entry__booking .fdeh-offer__price-note { margin: .35rem 0; font-size: .8rem; line-height: 1.45; }
.fdeh-entry__booking .fdeh-offer__price { margin-top: .5rem; font-size: 1.05rem; }
.fdeh-entry__booking .fdeh-offer__action { max-width: none; margin-top: .9rem; }
.fdeh-entry__booking .fdeh-button { min-height: 42px; padding: .65rem .85rem; border-radius: 11px; box-shadow: 0 7px 16px color-mix(in srgb, var(--fdeh-accent), transparent 78%); font-size: .9rem; }
.fdeh-entry__booking .fdeh-offer__disclosure { margin-top: .38rem; color: color-mix(in srgb, var(--fdeh-muted), #fff 12%); font-size: 7pt; line-height: 1.3; }

@container (max-width: 690px) {
	.fdeh-entry--page .fdeh-entry__overview.has-offers { grid-template-columns: 1fr; }
	.fdeh-entry--page .fdeh-entry__overview-main { padding-right: 0; }
	.fdeh-entry--page .fdeh-entry__booking { border: 0; }
}

.fdeh-set-collection { display: grid; grid-template-columns: repeat(var(--fdeh-set-columns, 3), minmax(0, 1fr)); gap: 18px; margin: 1.4rem 0; }
.fdeh-set-collection__empty { padding: 1rem; border: 1px dashed var(--fdeh-line); border-radius: 10px; color: var(--fdeh-muted); background: var(--fdeh-surface); }
.fdeh-set--minibox { min-width: 0; overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: var(--fdeh-radius); background: var(--fdeh-white); box-shadow: 0 10px 28px color-mix(in srgb, var(--fdeh-accent), transparent 91%); transition: transform .2s ease, box-shadow .2s ease; }
.fdeh-set--minibox:hover { transform: translateY(-2px); box-shadow: var(--fdeh-shadow); }
.fdeh-minibox__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--fdeh-surface); }
.fdeh-minibox__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.fdeh-set--minibox:hover .fdeh-minibox__media img { transform: scale(1.025); }
.fdeh-minibox__body { padding: 1rem 1.05rem 1.1rem; }
.fdeh-minibox__title { margin: .25rem 0 .55rem; font-size: 1.13rem; line-height: 1.25; }
.fdeh-minibox__title a { color: inherit; text-decoration: none; }
.fdeh-minibox__summary { margin: 0 0 .75rem; color: var(--fdeh-muted); font-size: .87rem; line-height: 1.5; }
.fdeh-minibox__facts { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin: 0 0 .75rem; color: var(--fdeh-muted); font-size: .78rem; font-weight: 750; }
.fdeh-minibox__facts small { font-weight: 500; }
.fdeh-minibox__link { display: inline-flex; align-items: center; gap: .35rem; color: var(--fdeh-accent); font-size: .84rem; font-weight: 800; text-decoration: none; }
.fdeh-set--restaurant .fdeh-minibox__body { display: flex; flex-direction: column; align-items: flex-start; }
.fdeh-set--restaurant .fdeh-minibox__title { font-size: clamp(1.32rem, 2vw, 1.62rem); line-height: 1.14; }
.fdeh-set--restaurant .fdeh-minibox__visited { display: inline-flex; align-items: center; gap: .4rem; margin: .05rem 0 .85rem; color: #087747; font-size: .78rem; font-weight: 850; }
.fdeh-set--restaurant .fdeh-minibox__visited span { display: grid; width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 999px; background: #e5f5eb; }
.fdeh-minibox__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: auto; }
.fdeh-minibox__link--pill,
.fdeh-minibox__save { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: .38rem; padding: .62rem 1rem; border: 0; border-radius: 999px; background: #e5f5eb; color: #087747; font: inherit; font-size: .82rem; font-weight: 850; line-height: 1; text-decoration: none; cursor: pointer; }
.fdeh-minibox__link--pill:hover,
.fdeh-minibox__link--pill:focus-visible,
.fdeh-minibox__save:hover,
.fdeh-minibox__save:focus-visible { background: #ccebd8; color: #075c39; }
.fdeh-minibox__save { border: 1px solid #ccebd8; background: #fff; }
.fdeh-minibox__save.is-saved { border-color: #087747; background: #087747; color: #fff; }

.fdeh-recommendation { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.35fr); }
.fdeh-recommendation__media { display: block; min-height: 100%; background: var(--fdeh-surface); }
.fdeh-recommendation__media img { display: block; width: 100%; height: 100%; min-height: 310px; object-fit: cover; }
.fdeh-recommendation__body { padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.fdeh-recommendation__title { margin: .25rem 0 .7rem; font-size: clamp(1.35rem, 2.4vw, 1.9rem); }
.fdeh-recommendation__title a { color: inherit; text-decoration: none; }
.fdeh-recommendation__summary { margin: 0 0 1rem; color: var(--fdeh-muted); }
.fdeh-recommendation__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 1rem; }
.fdeh-recommendation__facts div { padding: .65rem; border-radius: 10px; background: var(--fdeh-surface); }
.fdeh-recommendation__facts dt { color: var(--fdeh-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.fdeh-recommendation__facts dd { margin: .16rem 0 0; font-size: .82rem; font-weight: 700; line-height: 1.3; }
.fdeh-recommendation__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem 1rem; }
.fdeh-recommendation__actions .fdeh-offers { flex: 1 1 250px; margin: 0; }

.fdeh-archive { padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 7vw, 5rem); }
.fdeh-archive__inner { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.fdeh-archive__header { max-width: 880px; margin: 0 0 clamp(2rem, 5vw, 3.5rem); }
.fdeh-archive__header h1 { margin: .3rem 0 .85rem; color: var(--fdeh-ink); font-size: clamp(2.1rem, 5vw, 3.8rem); line-height: 1.06; letter-spacing: -.04em; }
.fdeh-archive__header p:last-child { margin: 0; color: var(--fdeh-muted); font-size: clamp(1.02rem, 2vw, 1.18rem); line-height: 1.65; }
.fdeh-archive-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: -1rem 0 2rem; padding: 9px; border: 1px solid var(--fdeh-line); border-radius: 14px; background: var(--fdeh-surface); }
.fdeh-archive-filter a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: .55rem .9rem; border-radius: 10px; color: var(--fdeh-muted); font-size: .84rem; font-weight: 800; text-decoration: none; }
.fdeh-archive-filter a:hover,
.fdeh-archive-filter a:focus-visible { color: var(--fdeh-accent-dark); background: var(--fdeh-white); }
.fdeh-archive-filter a.is-active { color: #fff; background: var(--fdeh-accent); box-shadow: 0 6px 14px color-mix(in srgb, var(--fdeh-accent), transparent 76%); }
.fdeh-archive__pagination { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2.2rem; }
.fdeh-archive__pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: .5rem .8rem; border-radius: 999px; background: var(--fdeh-surface); color: var(--fdeh-ink); font-weight: 750; text-decoration: none; }
.fdeh-archive__pagination .current { background: var(--fdeh-accent); color: #fff; }

.fdeh-collection__title { margin-bottom: .5rem; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.fdeh-collection__intro { max-width: 780px; margin-bottom: 1.5rem; color: var(--fdeh-muted); }
.fdeh-collection__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fdeh-catalog .fdeh-collection__grid { grid-template-columns: repeat(var(--fdeh-catalog-columns, 3), minmax(0, 1fr)); }
.fdeh-catalog__intro { max-width: 850px; margin: 0 0 1.8rem; }
.fdeh-catalog__intro h2 { margin: .25rem 0 .65rem; font-size: clamp(1.8rem, 3.5vw, 2.7rem); }
.fdeh-catalog__intro p:last-child { color: var(--fdeh-muted); }
.fdeh-entry--legacy-segment { margin: 1.25rem 0; }
.fdeh-card { min-width: 0; overflow: hidden; border: 1px solid var(--fdeh-line); border-radius: var(--fdeh-radius); background: var(--fdeh-white); box-shadow: 0 10px 32px color-mix(in srgb, var(--fdeh-accent), transparent 92%); transition: transform .2s ease, box-shadow .2s ease; }
.fdeh-card:hover { transform: translateY(-3px); box-shadow: var(--fdeh-shadow); }
.fdeh-card .fdeh-card__media { min-height: 180px; aspect-ratio: 16 / 10; margin: 0; border-radius: 0; }
.fdeh-card__body { padding: 1.15rem 1.2rem 1.25rem; }
.fdeh-card__body h3 { margin: .28rem 0 .75rem; font-size: 1.22rem; }
.fdeh-card__body h3 a { color: inherit; text-decoration: none; }
.fdeh-card__facts { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin-bottom: .75rem; color: var(--fdeh-muted); font-size: .82rem; font-weight: 700; }
.fdeh-card__facts small { font-weight: 500; }
.fdeh-card__summary { color: var(--fdeh-muted); font-size: .92rem; }
.fdeh-card__fit { padding: .65rem .75rem; border-radius: 10px; background: var(--fdeh-surface); font-size: .82rem; line-height: 1.45; }
.fdeh-card__link { display: inline-flex; gap: .45rem; align-items: center; margin-top: .25rem; color: var(--fdeh-accent); font-weight: 800; text-decoration: none; }

@media (max-width: 1050px) {
	.fdeh-set-collection { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdeh-collection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdeh-catalog .fdeh-collection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdeh-entry__overview { grid-template-columns: 1fr; }
	.fdeh-entry__booking { width: 100%; max-width: none; border: 0; }
	.fdeh-destination__overview.has-offers { grid-template-columns: 1fr; }
	.fdeh-destination__section-main { padding-right: 0; }
	.fdeh-destination__overview .fdeh-entry__booking { margin-top: 1.15rem; }
	.fdeh-destination__hero { grid-template-columns: minmax(0, 1.7fr) minmax(240px, .8fr); }
}

@media (max-width: 700px) {
	.fdeh-destination-page { padding: 1.4rem 0 3.5rem; }
	.fdeh-destination-page__inner { width: min(100% - 24px, 1180px); }
	.fdeh-destination { border-radius: 18px; }
	.fdeh-destination__hero { grid-template-columns: 1fr; min-height: 0; }
	.fdeh-destination__map { min-height: 220px; border-top: 1px solid var(--fdeh-line); border-left: 0; }
	.fdeh-destination__map iframe { min-height: 220px; }
	.fdeh-destination__body { padding: 1rem; }
	.fdeh-destination__header { margin-bottom: 0; padding-bottom: 1.4rem; }
	.fdeh-destination__title { font-size: clamp(2.15rem, 11vw, 3.4rem); }
	.fdeh-destination__media { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 1fr; gap: 4px; width: 100%; height: auto; min-height: 0; aspect-ratio: 2.55 / 1; border-radius: 0; }
	.fdeh-destination__media.fdeh-media-grid--1 { display: block; aspect-ratio: 16 / 8.5; }
	.fdeh-destination__media.fdeh-media-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdeh-destination__media.fdeh-media-grid--3 .fdeh-media-grid__item:first-child { grid-row: auto; }
	.fdeh-destination__intro { margin: 0; font-size: 1.05rem; line-height: 1.6; }
	.fdeh-destination__actions { align-items: stretch; }
	.fdeh-destination__action { flex: 1 1 auto; }
	.fdeh-destination__updated { flex: 1 0 100%; margin-left: 0; }
	.fdeh-destination__box { padding: 0; border-radius: 0; }
	.fdeh-destination__section { padding: 1.45rem 0; }
	.fdeh-destination__practical { margin-inline: -1rem; padding-inline: 1rem; }
	.fdeh-destination__opinion { margin: 1rem 0; padding: 1.1rem; }
	.fdeh-destination__contact { display: grid; gap: 1rem; }
	.fdeh-destination__contact .fdeh-destination__action { width: 100%; }
	.fdeh-destination__overview .fdeh-entry__booking { padding: 1rem; }
	.fdeh-destination__overview .fdeh-facts { grid-template-columns: 1fr 1fr; }
	.fdeh-entry--page { padding: .85rem; border-radius: 16px; }
	.fdeh-set--grossbox { padding: .85rem; }
	.fdeh-recommendation { grid-template-columns: 1fr; padding: 0; }
	.fdeh-recommendation__media img { min-height: 0; aspect-ratio: 16 / 9; }
	.fdeh-recommendation__facts { grid-template-columns: 1fr 1fr; }
	.fdeh-set-collection { grid-template-columns: 1fr; }
	.fdeh-archive__inner { width: min(100% - 24px, 1180px); }
	.fdeh-media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 1fr; gap: 5px; min-height: 0; aspect-ratio: 2.6 / 1; border-radius: 13px; }
	.fdeh-media-grid--1 { display: block; aspect-ratio: 16 / 9; }
	.fdeh-media-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdeh-media-grid--3 .fdeh-media-grid__item:first-child { grid-row: auto; }
	.fdeh-entry__overview { padding: 0; }
	.fdeh-entry__overview-main,
	.fdeh-entry__booking { padding: 1rem; }
	.fdeh-entry--page .fdeh-entry__overview-main { padding: 1rem 0; }
	.fdeh-facts { grid-template-columns: 1fr 1fr; }
	.fdeh-facts div:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.fdeh-fit-grid { grid-template-columns: 1fr; }
	.fdeh-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
	.fdeh-gallery__item { border-radius: 7px; }
	.fdeh-offer { grid-template-columns: 1fr; }
	.fdeh-offer__action { max-width: none; }
	.fdeh-offer__action .fdeh-offer__disclosure { max-width: none; }
	.fdeh-button { width: 100%; }
	.fdeh-entry__footer { display: grid; }
}

@media (max-width: 560px) {
	.fdeh-collection__grid { grid-template-columns: 1fr; }
	.fdeh-catalog .fdeh-collection__grid { grid-template-columns: 1fr; }
	.fdeh-card .fdeh-card__media { aspect-ratio: 16 / 8.5; }
}

@media (prefers-reduced-motion: reduce) {
	.fdeh-entry *, .fdeh-collection * { scroll-behavior: auto !important; transition: none !important; }
}

/* Ostsachsen Entity-Matrix – transferred from the approved Sites prototype. */
.fdeh-destination-page { padding: 28px 24px 64px; background: #fff; }
.fdeh-destination-page__inner { width: min(1260px, 100%); }
.fdeh-matrix { --matrix-ink: #172119; --matrix-green: #0d8953; --matrix-bright: #39d39a; --matrix-soft: #dff3e7; --matrix-wash: #f1f8f4; --matrix-line: #d9e4dc; --matrix-muted: #69756d; overflow: hidden; border: 1px solid #dbe8df; border-radius: 34px; background: #fff; box-shadow: 0 28px 70px rgba(18,67,43,.12); color: var(--matrix-ink); }
.fdeh-matrix *, .fdeh-matrix-related * { box-sizing: border-box; }
.fdeh-matrix-breadcrumbs { display: flex; gap: 9px; align-items: center; margin: 0 6px 20px; overflow: hidden; color: #657068; font-size: 14px; white-space: nowrap; }
.fdeh-matrix-breadcrumbs a { color: inherit; text-decoration: none; }
.fdeh-matrix-breadcrumbs a:hover { color: var(--fdeh-accent); }
.fdeh-matrix-titlebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,390px); gap:clamp(28px,4vw,64px); align-items:start; padding: 44px 54px 38px; border-bottom: 1px solid #e5ece7; background: #fff; }
.fdeh-matrix-titlebar .fdeh-matrix-kicker { margin:0 0 19px; }
.fdeh-matrix-titlebar h1 { width: 100%; max-width: 1120px; margin: 0; color: var(--matrix-ink); font-size: clamp(52px,6.4vw,84px); font-weight: 900; letter-spacing: -2.6px; line-height: .97; }
.fdeh-matrix-titlebar__side { display:grid; gap:14px; align-self:start; }
.fdeh-matrix-titlebar__side .fdeh-matrix-score { width:100%; min-width:0; }
.fdeh-matrix-titlebar__side .fdeh-matrix-tags { justify-content:flex-start; }

.fdeh-matrix-hero { height: 540px; padding: 16px; display: grid; grid-template-columns: 1.65fr .8fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; border: 0; background: #eef6f1; }
.fdeh-matrix-hero__image { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 20px; background: #d9e8df; }
.fdeh-matrix-hero__image.is-main { grid-column: 1; grid-row: 1 / 3; }
.fdeh-matrix-hero__image:nth-child(2) { grid-column: 2; grid-row: 1; }
.fdeh-matrix-hero__image:nth-child(3) { grid-column: 2; grid-row: 2; }
.fdeh-matrix-hero__image:nth-child(4) { grid-column: 3; grid-row: 1 / 3; }
.fdeh-matrix-hero__image > button:first-child { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.fdeh-matrix-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.fdeh-matrix-hero__image:hover img { transform: scale(1.025); }
.fdeh-matrix-hero__image figcaption { position: absolute; left: 18px; bottom: 16px; max-width: calc(100% - 36px); padding: 8px 11px; border-radius: 10px; background: rgba(15,30,20,.76); color: #fff; font-size: 12px; }
.fdeh-matrix-gallery-button { position: absolute; right: 12px; bottom: 12px; z-index: 2; min-height:36px; padding: 7px 11px; border: 0; border-radius: 999px; background: #fff; color: var(--matrix-ink); font-size:12px; font-weight: 800; line-height:1; cursor: pointer; }
.fdeh-matrix-map { position: relative; grid-column: 3; grid-row: 1 / 3; min-height: 0; overflow: hidden; border: 0; border-radius: 20px; background: #d7eadf; }
.fdeh-matrix-map iframe { display: block; width: 100%; height: 100%; min-height: 0; border: 0; filter: saturate(.65) contrast(.94); }
.fdeh-matrix-map__overlay { position: absolute; left: 16px; bottom: 16px; display: flex; gap: 9px; align-items: center; padding: 11px 14px; border-radius: 13px; background: rgba(255,255,255,.95); box-shadow: 0 8px 24px rgba(0,0,0,.13); color: var(--matrix-ink); text-decoration: none; }
.fdeh-matrix-map__overlay > span:first-child { color: var(--matrix-green); font-size: 22px; }
.fdeh-matrix-map__overlay > span:last-child { display: flex; flex-direction: column; }
.fdeh-matrix-map__overlay strong { font-size: 14px; }
.fdeh-matrix-map__overlay small { color: var(--matrix-muted); font-size: 12px; }
.fdeh-matrix-hero--media-1 { display:block; }
.fdeh-matrix-hero--media-1 .fdeh-matrix-hero__image { height:100%; }
.fdeh-matrix-hero--media-2 { grid-template-columns:1.65fr 1fr; }
.fdeh-matrix-hero--media-2 .fdeh-matrix-hero__image:nth-child(2) { grid-column:2; grid-row:1 / 3; }
.fdeh-matrix-hero--media-3 { grid-template-columns:1.65fr .8fr; }

.fdeh-matrix-intro { padding: 38px 54px 40px; }
.fdeh-matrix-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fdeh-matrix-tags span { padding: 8px 12px; border:1px solid #dcefe3; border-radius: 999px; background: #f0faf4; color: #16764b; font-size: 12px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.fdeh-matrix-intro__grid { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 46px; align-items: center; }
.fdeh-matrix-kicker { display: flex; gap: 7px; align-items: center; margin: 0 0 10px; color: var(--matrix-green) !important; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.fdeh-matrix .fdeh-destination__intro-wrap { max-width: 790px; }
.fdeh-matrix .fdeh-destination__intro { max-width: 820px; margin: 0; color: #4c5a50; font-size: 21px; line-height: 1.62; }
.fdeh-matrix .fdeh-destination__intro p { margin: 0; }
.fdeh-matrix .fdeh-destination__intro-toggle { margin-top: 8px; color: var(--matrix-green); font-size: 13px; text-decoration: none; }
.fdeh-matrix-score { min-width: 270px; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 18px; border: 1px solid #d4e8db; border-radius: 18px; background: var(--matrix-wash); }
.fdeh-matrix-score > strong { display: grid; width: 58px; height: 58px; place-items: center; border: 0; border-radius: 50%; background: #e9823b; box-shadow: 0 9px 22px rgba(197,91,24,.24); color: #fff; font-size: 20px; font-weight: 900; }
.fdeh-matrix-score > span { display: flex; flex-direction: column; gap: 4px; }
.fdeh-matrix-score b { font-size: 14px; }
.fdeh-matrix-score em { color:#0a6b42; font-size:18px; font-style:normal; font-weight:850; line-height:1.2; }
.fdeh-matrix-score small { color: var(--matrix-muted); font-size: 12px; }
.fdeh-matrix-score i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #7c8d82; border-radius: 50%; color: #7c8d82; font-size: 12px; font-style: normal; }
.fdeh-matrix .fdeh-destination__actions { margin-top: 28px; }
.fdeh-matrix .fdeh-destination__action { min-height: 50px; padding: 13px 19px; border: 1px solid #c6e5d2; border-radius: 16px; background: #e8f7ed; color: #0a6b42; font-size: 15px; text-decoration: none; }
.fdeh-matrix .fdeh-destination__action--primary { border-color: #b9ddc7; background: #dcf2e4; color: #075d39; }
.fdeh-matrix .fdeh-destination__action--primary:hover, .fdeh-matrix .fdeh-destination__action--experience:hover { background: #cfead9; color: #064b30; }
.fdeh-matrix .fdeh-destination__action--primary.is-saved { border-color: #9bc9ad; background: #bfe2cc; color: #173f2c; }
.fdeh-matrix .fdeh-destination__action--rating { border-color: #f0cda4; background: #fff0df; color: #874612; }
.fdeh-matrix .fdeh-destination__rating-star { color: #d79c16; font-size: 1.18em; line-height: 1; }
.fdeh-matrix .fdeh-destination__action--rating:hover { background: #ffe5c7; color: #71370c; }
.fdeh-matrix .fdeh-destination__action--booking,.fdeh-matrix .fdeh-matrix-contact-booking { background:#f28c28; color:#172019; font-weight:800; }
.fdeh-matrix .fdeh-destination__action--booking:hover,.fdeh-matrix .fdeh-matrix-contact-booking:hover { background:#df7918; color:#172019; }
.fdeh-matrix .fdeh-destination__tour-link { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; padding: 13px 19px; border: 1px solid #c6e5d2; border-radius: 16px; background: #e8f7ed; color: #0a6b42; font-size: 15px; font-weight: 850; text-decoration: none; }
.fdeh-matrix .fdeh-destination__tour-link:hover { background: #d9f0e1; color: #075d39; text-decoration: none; }
.fdeh-matrix-combinations__intro { max-width:850px; font-size:17px; line-height:1.6; }
.fdeh-matrix-combinations__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.fdeh-matrix-combinations__grid article { overflow:hidden; border:1px solid #cfe5d6; border-radius:18px; background:#f1faf4; }
.fdeh-matrix-combinations__image { display:block; height:165px; overflow:hidden; }
.fdeh-matrix-combinations__image img { width:100%; height:100%; object-fit:cover; }
.fdeh-matrix-combinations__grid article>div { padding:17px; }
.fdeh-matrix-combinations__grid h3 { margin:0 0 14px; font-size:21px; line-height:1.2; }
.fdeh-matrix-combinations__grid h3 a { color:#172119; text-decoration:none; }
.fdeh-matrix-combinations__target,.fdeh-matrix-combinations__offer { display:inline-flex; min-height:42px; align-items:center; margin:4px 5px 0 0; padding:9px 12px; border-radius:12px; background:#dff4e6; color:#08643e; font-size:13px; font-weight:800; text-decoration:none; }
.fdeh-matrix-combinations__offer { background:#fff0df; color:#874612; }
.fdeh-matrix .fdeh-destination__tour-link--wide { justify-content: center; width: 100%; padding: 12px 4px; }
.fdeh-matrix .fdeh-destination__updated { color: var(--matrix-muted); font-size: 12px; }
.fdeh-matrix .fdeh-destination__updated { display: none; }
.fdeh-user-rating__summary { color: var(--matrix-muted); font-size: 13px; font-weight: 750; }
.fdeh-matrix .fdeh-user-rating { max-width: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 14px; padding: 16px 18px; border-color: #cfe0d5; border-radius: 18px; background: #f5faf7; }
.fdeh-matrix .fdeh-user-rating[hidden] { display: none; }
.fdeh-user-rating__actions { display: flex; align-items: center; gap: 16px; }
.fdeh-user-rating__stars { margin-top: 0; }
.fdeh-user-rating__stars button { font-size: 2rem; }
.fdeh-user-rating__submit { min-height: 40px; padding: 9px 15px; border: 0; border-radius: 999px; background: var(--matrix-ink); color: #fff; font-size: 12px; font-weight: 850; cursor: pointer; }
.fdeh-user-rating__submit:disabled { opacity: .38; cursor: not-allowed; }
.fdeh-matrix-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 34px; border-top: 1px solid #dfe8e2; border-bottom: 1px solid #dfe8e2; background: #fff; }
.fdeh-matrix-facts > div { display: flex; gap: 13px; align-items: center; min-height: 96px; padding: 20px 22px; border: 0; border-right: 1px solid #dfe8e2; border-radius: 0; background: #fff; }
.fdeh-matrix-facts > div:last-child { border-right: 0; }
.fdeh-matrix-facts > div > span { display: inline-flex; flex: 0 0 38px; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #f1f6f3; color: var(--matrix-green); font-size: 20px; }
.fdeh-matrix-facts p { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.fdeh-matrix-facts small { color: var(--matrix-muted); font-size: 14px; font-weight: 750; letter-spacing: 0; text-transform: none; }
.fdeh-matrix-facts strong { font-size: 18px; line-height: 1.35; }
.fdeh-matrix-section-nav { display: flex; gap: 8px; padding: 12px 54px; overflow-x: auto; border-top: 1px solid #edf2ee; border-bottom: 1px solid #edf2ee; background: #fbfdfb; }
.fdeh-matrix-section-nav a { padding: 10px 15px; border-radius: 999px; color: var(--matrix-ink); font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.fdeh-matrix-section-nav a:hover { background: var(--matrix-soft); color: var(--matrix-green); }

.fdeh-matrix-content { padding: 48px 54px 58px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.85fr); gap: 22px; background: #fff; }
.fdeh-matrix-card { min-width: 0; padding: 34px; scroll-margin-top: 20px; border: 1px solid #dbe7df; border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(31,72,49,.055); }
.fdeh-matrix-card h2, .fdeh-matrix-related h2 { margin: 0; color: var(--matrix-ink); font-size: 38px; font-weight: 900; letter-spacing: -.6px; line-height: 1.06; }
.fdeh-matrix-card h3 { margin: 22px 0 11px; color: var(--matrix-ink); font-size: 18px; }
.fdeh-matrix-card p { color: #526057; font-size: 16px; line-height: 1.75; }
.fdeh-matrix-card--editorial { border-color: #c3dfcd; background: var(--matrix-soft); }
.fdeh-matrix-card--editorial > h2 { margin-bottom: 32px; }
.fdeh-matrix-card--editorial > h2 + p { margin-top: 0; }
.fdeh-matrix-card--experience { grid-column:2; background:#f7fbf8; }
.fdeh-matrix-card--experience > p:not(.fdeh-matrix-kicker) { color:var(--matrix-muted); line-height:1.6; }
.fdeh-matrix-card--experience .fdeh-destination__action { margin-top:10px; }
.fdeh-matrix-trust { display: flex; gap: 9px; margin: 26px 0 0 !important; padding: 15px; border-radius: 14px; background: rgba(255,255,255,.72); font-size: 12px; }
.fdeh-matrix-card ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fdeh-matrix-card li { display: flex; gap: 9px; align-items: flex-start; font-size: 16px; line-height: 1.58; }
.fdeh-matrix-card li span { color: var(--matrix-green); font-weight: 900; }
.fdeh-matrix-card ul.is-negative li span { color: #a66042; }
.fdeh-matrix-card hr { height: 1px; margin: 24px 0; border: 0; background: var(--matrix-line); }
.fdeh-matrix-card--wide, .fdeh-matrix-source { grid-column: 1 / 3; }
.fdeh-matrix-highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.fdeh-matrix-highlights article { min-height: 190px; padding: 22px; border-radius: 18px; background: var(--matrix-wash); }
.fdeh-matrix-highlights article > span { color: var(--matrix-green); font-size: 12px; font-weight: 900; }
.fdeh-matrix-highlights h3 { margin: 22px 0 8px; font-size: 27px; }
.fdeh-matrix-highlights p { margin: 0; font-size: 15px; line-height: 1.62; }
.fdeh-matrix-main-content { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--matrix-line); color: #526057; font-size: 17px; line-height: 1.75; }
.fdeh-matrix-main-content p, .fdeh-matrix-main-content li { font-size: 17px; line-height: 1.75; }
.fdeh-matrix-card--wide > h2 + .fdeh-matrix-main-content { margin-top: 24px; }
.fdeh-matrix-main-content > :first-child { margin-top: 0; }
.fdeh-matrix-video > div:last-child { margin-top: 22px; overflow: hidden; border-radius: 18px; background: #111; }
.fdeh-matrix-video iframe, .fdeh-matrix-video video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 0; }
.fdeh-matrix-video .wp-video { width: 100% !important; }
.fdeh-matrix-card--planning dl { margin: 22px 0 0; }
.fdeh-matrix-card--planning dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid var(--matrix-line); }
.fdeh-matrix-card--planning dt { font-size: 15px; font-weight: 800; }
.fdeh-matrix-card--planning dd { margin: 0; color: var(--matrix-muted); font-size: 14px; line-height: 1.6; }
.fdeh-matrix-practical-copy { margin-top: 22px; color: var(--matrix-muted); }
.fdeh-matrix-card--contact address, .fdeh-matrix-card--contact > a { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0; color: #526057; font-size: 15px; font-style: normal; line-height: 1.62; text-decoration: none; }
.fdeh-matrix-card--contact > a span, .fdeh-matrix-card--contact address > span:first-child { color: var(--matrix-green); }
.fdeh-matrix-card--contact > .fdeh-destination__action { width: 100%; margin-top: 12px; }
.fdeh-matrix-contact-map { margin-top:22px; overflow:hidden; border:1px solid var(--matrix-line); border-radius:16px; background:#eef6f1; }
.fdeh-matrix-contact-map iframe { display:block; width:100%; height:240px; border:0; }
.fdeh-matrix-contact-map > a { display:block; padding:11px 14px; color:#0a6b42; background:#fff; font-size:13px; font-weight:800; text-align:right; text-decoration:none; }
.fdeh-matrix-offers { margin-top: 20px; }
.fdeh-matrix-offers .fdeh-offers { margin: 0; }
.fdeh-matrix-source { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 30px; align-items: center; padding: 28px 30px; border: 1px dashed #bdd5c5; border-radius: 24px; background: #f1f8f4; }
.fdeh-matrix-source > p { margin: 0; color: #5b685f; font-size: 13px; line-height: 1.6; }
.fdeh-matrix-source > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.fdeh-matrix-source.is-meta-only { grid-template-columns: 1fr; }
.fdeh-matrix-source.is-meta-only > div { width: 100%; }
.fdeh-matrix-source span { display: flex; flex-direction: column; gap: 5px; padding: 14px; border-radius: 14px; background: #fff; color: var(--matrix-muted); font-size: 11px; }
.fdeh-matrix-source strong { color: var(--matrix-ink); font-size: 12px; }
.fdeh-matrix-related { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: 56px 10px 30px; color: #172119; }
.fdeh-matrix-related a { display: flex; gap: 8px; align-items: center; color: #0d8953; font-weight: 800; text-decoration: none; }
.fdeh-matrix-related nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; }

.fdeh-matrix-gallery-dialog { width: min(1120px,calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.fdeh-matrix-gallery-dialog::backdrop { background: rgba(10,24,16,.78); backdrop-filter: blur(4px); }
.fdeh-matrix-gallery-dialog__head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--matrix-line); background: #fff; }
.fdeh-matrix-gallery-dialog__head button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--matrix-ink); color: #fff; font-size: 25px; cursor: pointer; }
.fdeh-matrix-gallery-dialog__grid { max-height: calc(100vh - 112px); padding: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; overflow-y: auto; background: #eef6f1; }
.fdeh-matrix-gallery-dialog__grid figure { margin: 0; overflow: hidden; border-radius: 14px; background: #d9e8df; }
.fdeh-matrix-gallery-dialog__grid img { display: block; width: 100%; height: 100%; max-height: 560px; object-fit: cover; }

/* Borderless Matrix design test: separation comes from surface, radius and spacing. */
.fdeh-matrix .fdeh-matrix-score,
.fdeh-matrix .fdeh-matrix-tags span,
.fdeh-matrix .fdeh-destination__action,
.fdeh-matrix .fdeh-destination__tour-link,
.fdeh-matrix .fdeh-user-rating,
.fdeh-matrix .fdeh-user-rating__summary,
.fdeh-matrix .fdeh-user-rating__submit,
.fdeh-matrix .fdeh-matrix-facts,
.fdeh-matrix .fdeh-matrix-facts > div,
.fdeh-matrix .fdeh-matrix-card,
.fdeh-matrix .fdeh-matrix-source,
.fdeh-matrix .fdeh-matrix-section-nav,
.fdeh-matrix .fdeh-matrix-combination,
.fdeh-matrix .fdeh-offer-card { border:0; }

/* Central Matrix finder on /ausflug/ and contextual Gutenberg grids. */
.fdeh-discovery { --discovery-green:#0d8953; --discovery-green-dark:#08643e; --discovery-soft:#e8f7ed; --discovery-orange:#fff0df; --discovery-ink:#172119; --discovery-muted:#5f6d63; --discovery-line:#d9e8de; width:min(1260px,calc(100% - 36px)); margin:clamp(28px,5vw,72px) auto; color:var(--discovery-ink); font-family:inherit; }
.fdeh-discovery * { box-sizing:border-box; }
.fdeh-discovery [hidden] { display:none !important; }
.fdeh-discovery__header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:end; padding:clamp(30px,5vw,58px); border:1px solid var(--discovery-line); border-radius:28px; background:#fff; }
.fdeh-discovery__header h1,.fdeh-discovery__header h2 { margin:0; color:var(--discovery-ink); font-size:clamp(38px,5vw,66px); font-weight:900; letter-spacing:-.04em; line-height:1.02; }
.fdeh-discovery--grid .fdeh-discovery__header { display:block; padding:0 0 26px; border:0; border-radius:0; }
.fdeh-discovery--grid .fdeh-discovery__header h2 { font-size:clamp(35px,4vw,54px); }
.fdeh-discovery__header > div > p:last-child { max-width:800px; margin:18px 0 0; color:var(--discovery-muted); font-size:clamp(17px,1.8vw,21px); line-height:1.55; }
.fdeh-discovery__kicker { margin:0 0 12px !important; color:var(--discovery-green) !important; font-size:13px !important; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.fdeh-discovery__tour { display:grid; min-width:172px; grid-template-columns:auto 1fr; gap:2px 10px; align-items:center; padding:17px 20px; border-radius:18px; background:var(--discovery-soft); color:var(--discovery-green-dark); text-decoration:none; }
.fdeh-discovery__tour > span { grid-row:1 / 3; font-size:30px; }
.fdeh-discovery__tour strong { font-size:17px; }
.fdeh-discovery__tour small { color:var(--discovery-muted); font-size:12px; }
.fdeh-discovery__filters { display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.75fr)) auto; gap:10px; align-items:end; margin-top:18px; padding:18px; border:1px solid var(--discovery-line); border-radius:22px; background:#f7fbf8; }
.fdeh-discovery__filters label { display:grid; gap:6px; margin:0; color:var(--discovery-muted); font-size:12px; font-weight:800; }
.fdeh-discovery__filters input,.fdeh-discovery__filters select { width:100%; min-height:48px; margin:0; padding:10px 13px; border:1px solid #cbded1; border-radius:13px; background:#fff; color:var(--discovery-ink); font:inherit; font-size:15px; }
.fdeh-discovery__filters input:focus,.fdeh-discovery__filters select:focus { outline:3px solid rgba(13,137,83,.16); border-color:var(--discovery-green); }
.fdeh-discovery__reset { min-height:48px; padding:10px 15px; border:0; border-radius:13px; background:#edf2ee; color:#536159; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.fdeh-discovery__toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:18px 2px 14px; }
.fdeh-discovery__toolbar p { margin:0; color:var(--discovery-muted); font-size:14px; }
.fdeh-discovery__toolbar > div { display:flex; padding:4px; border-radius:12px; background:#edf3ef; }
.fdeh-discovery__toolbar button { min-height:38px; padding:7px 14px; border:0; border-radius:9px; background:transparent; color:var(--discovery-muted); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.fdeh-discovery__toolbar button.is-active { background:#fff; color:var(--discovery-green-dark); box-shadow:0 3px 12px rgba(24,65,42,.09); }
.fdeh-discovery__grid { display:grid; grid-template-columns:repeat(var(--fdeh-discovery-columns),minmax(0,1fr)); gap:18px; }
.fdeh-discovery--finder .fdeh-discovery__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fdeh-discovery-card { min-width:0; overflow:hidden; border:1px solid var(--discovery-line); border-radius:22px; background:#fff; box-shadow:0 12px 30px rgba(29,70,46,.06); }
.fdeh-discovery-card__media { display:block; height:225px; overflow:hidden; background:#dcece2; text-decoration:none; }
.fdeh-discovery-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.fdeh-discovery-card__media:hover img { transform:scale(1.025); }
.fdeh-discovery-card__media.is-empty { display:grid; place-items:center; color:var(--discovery-green); font-size:48px; }
.fdeh-discovery-card__body { padding:22px; }
.fdeh-discovery-card__eyebrow { margin:0 0 8px; color:var(--discovery-green); font-size:12px; font-weight:850; line-height:1.35; }
.fdeh-discovery-card h3 { margin:0; font-size:clamp(23px,2.1vw,31px); letter-spacing:-.025em; line-height:1.06; }
.fdeh-discovery-card h3 a { color:var(--discovery-ink); text-decoration:none; }
.category-ausflug .ost-search-panel { display:none !important; }

/*
 * Shared Hub search expansion.
 *
 * On the Ausflug hub the heading and quick choices form one compact desktop
 * row. Search results always start below it at full width. Mobile stacking is
 * left to the theme so this module cannot overwrite the responsive layout.
 */
body.category-ausflug .ost-context-search {
	width:100% !important;
}
@media (min-width:761px) {
	body.category-ausflug .ost-context-search {
		display:grid !important;
		grid-template-columns:max-content minmax(0,1fr) !important;
		grid-template-rows:auto !important;
		align-items:center !important;
		column-gap:clamp(18px,2vw,30px) !important;
		row-gap:0 !important;
	}
	body.category-ausflug .ost-context-search__bar {
		display:block !important;
		width:auto !important;
		min-width:0 !important;
		margin:0 !important;
		align-self:center !important;
		grid-column:1 !important;
		grid-row:1 !important;
	}
	body.category-ausflug .ost-context-search__suggestions,
	body.category-ausflug .ost-context-search__quick {
		display:flex !important;
		width:auto !important;
		min-width:0 !important;
		margin:0 !important;
		align-items:center !important;
		align-self:center !important;
		flex-wrap:nowrap !important;
		overflow-x:auto !important;
		grid-column:2 !important;
		grid-row:1 !important;
	}
}
body.category-ausflug .ost-context-search__intro,
body.category-ausflug .ost-context-search__result-head,
body.category-ausflug .ost-context-search__results {
	width:100% !important;
	min-width:0 !important;
}
body.category-ausflug .ost-context-search__result-head {
	grid-column:1 / -1 !important;
	clear:both !important;
}
body.category-ausflug .ost-context-search.has-results .ost-context-search__result-head {
	display:flex !important;
}
body.category-ausflug .ost-context-search__results:not([hidden]) {
	display:block !important;
	clear:both !important;
	padding-top:18px !important;
}
body.category-ausflug .ost-context-search__results .ost-card-grid {
	width:100% !important;
}
.category-ausflug .fdeh-discovery__header h1,
.category-ausflug .fdeh-discovery__header h2,
.category-ausflug .fdeh-discovery-card h3 a { color:var(--discovery-ink,#172119) !important; }
.fdeh-discovery-card__summary { margin:14px 0 0; color:var(--discovery-muted); font-size:15px; line-height:1.58; }
.fdeh-discovery-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:18px 0 0; }
.fdeh-discovery-card dl > div { padding:11px; border-radius:13px; background:var(--discovery-soft); }
.fdeh-discovery-card dt { color:var(--discovery-muted); font-size:12px; font-weight:700; }
.fdeh-discovery-card dd { margin:4px 0 0; color:var(--discovery-ink); font-size:13px; font-weight:800; line-height:1.35; }
.fdeh-discovery-card__actions { display:flex; justify-content:space-between; align-items:center; gap:9px; margin-top:20px; padding-top:16px; border-top:1px solid #e4ece6; }
.fdeh-discovery-card__actions a,.fdeh-discovery-card__actions button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:6px; padding:9px 13px; border:1px solid #c6e5d2; border-radius:13px; font:inherit; font-size:13px; font-weight:850; text-decoration:none; cursor:pointer; }
.fdeh-discovery-card__actions a { padding:11px 17px; border-color:#d5e8dc; border-radius:999px; background:#fff; box-shadow:0 7px 18px rgba(18,83,48,.08); color:#087747; }
.fdeh-discovery-card__actions a:hover,.fdeh-discovery-card__actions a:focus-visible { border-color:#b9d9c5; background:#eaf7ef; box-shadow:0 10px 24px rgba(18,83,48,.13); color:#075d39; }
.fdeh-discovery-card__actions button { background:#fff; color:var(--discovery-green-dark); }
.fdeh-discovery-card__actions button.is-saved { border-color:#afd9bf; background:var(--discovery-soft); }
.fdeh-discovery__map-view { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr); min-height:620px; overflow:hidden; border:1px solid var(--discovery-line); border-radius:24px; background:#fff; }
.fdeh-discovery--finder .fdeh-discovery__toolbar [role="group"],
.fdeh-discovery--finder .fdeh-discovery__map-view { display:none; }
.fdeh-discovery__map-list { max-height:620px; padding:10px; overflow-y:auto; border-right:1px solid var(--discovery-line); background:#f7fbf8; }
.fdeh-discovery__map-list button { display:grid; width:100%; gap:4px; padding:14px; border:0; border-bottom:1px solid #dfebe2; background:transparent; color:var(--discovery-ink); font:inherit; text-align:left; cursor:pointer; }
.fdeh-discovery__map-list button:hover,.fdeh-discovery__map-list button.is-active { border-radius:12px; background:var(--discovery-soft); }
.fdeh-discovery__map-list strong { font-size:15px; }
.fdeh-discovery__map-list span { color:var(--discovery-muted); font-size:12px; line-height:1.4; }
.fdeh-discovery__map-frame { position:relative; min-width:0; background:#e2ece5; }
.fdeh-discovery__map-frame iframe { display:block; width:100%; height:100%; min-height:620px; border:0; }
.fdeh-discovery__map-frame > a { position:absolute; right:16px; bottom:16px; padding:10px 14px; border-radius:12px; background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.16); color:var(--discovery-green-dark); font-size:13px; font-weight:850; text-decoration:none; }
.fdeh-discovery__empty { margin:18px 0 0; padding:30px; border:1px dashed #bcd5c5; border-radius:18px; background:#f7fbf8; color:var(--discovery-muted); text-align:center; }
.fdeh-discovery__footer { display:flex; justify-content:flex-end; margin-top:20px; }
.fdeh-discovery__footer a { display:inline-flex; min-height:46px; align-items:center; gap:7px; padding:11px 16px; border-radius:14px; background:var(--discovery-soft); color:var(--discovery-green-dark); font-weight:850; text-decoration:none; }
.fdeh-discovery__notice { width:min(1180px,calc(100% - 36px)); margin:30px auto; padding:16px; border-radius:12px; background:#fff6df; }

/* Dynamic editorial articles below the central excursion planner. */
.fdeh-excursion-articles{width:min(1260px,calc(100% - 36px));margin:clamp(54px,8vw,96px) auto;color:#172119;font-family:inherit}
.fdeh-excursion-articles__header{max-width:920px;margin-bottom:46px}
.fdeh-excursion-articles__header>p{margin:0 0 10px;color:#0d8953;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.fdeh-excursion-articles__header h2{margin:0;font-size:clamp(38px,5vw,66px);font-weight:900;letter-spacing:-.04em;line-height:1.02}
.fdeh-excursion-articles__header>div{max-width:790px;margin-top:18px;color:#5f6d63;font-size:clamp(17px,1.7vw,20px);line-height:1.55}
.fdeh-excursion-theme{margin-top:48px;padding-top:26px;border-top:1px solid #dfe8e2}
.fdeh-excursion-theme__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.fdeh-excursion-theme__heading h3{margin:0;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.03em;line-height:1.08}
.fdeh-excursion-theme__heading>a{color:#08643e;font-size:14px;font-weight:850;text-decoration:none;white-space:nowrap}
.fdeh-excursion-theme__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fdeh-excursion-card{overflow:hidden;border:1px solid #dfe8e2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(29,70,46,.05)}
.fdeh-excursion-card__media{display:block;height:210px;overflow:hidden;background:#edf4ef;text-decoration:none}
.fdeh-excursion-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.fdeh-excursion-card__media:hover img{transform:scale(1.025)}
.fdeh-excursion-card__media.is-empty{display:grid;place-items:center;color:#0d8953;font-weight:850}
.fdeh-excursion-card__body{padding:20px}
.fdeh-excursion-card h4{margin:0;font-size:clamp(21px,2vw,27px);letter-spacing:-.02em;line-height:1.12}
.fdeh-excursion-card h4 a{color:#172119;text-decoration:none}
.fdeh-excursion-card p{margin:12px 0 0;color:#5f6d63;font-size:15px;line-height:1.55}
.fdeh-excursion-card__link{display:inline-flex;margin-top:17px;color:#08643e;font-size:14px;font-weight:850;text-decoration:none}

/* Browser-local planner at /deine-tour/. */
.fdeh-planner { --planner-green: #0d8953; --planner-ink: #172119; --planner-muted: #667269; --planner-soft: #dff4e8; min-height: 70vh; padding: 34px 18px 80px; background: #fff; color: var(--planner-ink); }
.fdeh-planner__inner { width: min(1260px,100%); margin: 0 auto; }
.fdeh-planner__header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 42px; align-items: end; padding: 46px 52px; border: 1px solid #dce8df; border-radius: 28px; background: #fff; }
.fdeh-planner__header h1 { margin: 0; font-size: clamp(52px,7vw,88px); font-weight: 900; letter-spacing: -2.5px; line-height: .95; }
.fdeh-planner__header > div:first-child > p:last-child { max-width: 720px; margin: 20px 0 0; color: var(--planner-muted); font-size: 19px; line-height: 1.55; }
.fdeh-planner__summary { min-width: 210px; padding: 24px; border-radius: 20px; background: var(--planner-soft); text-align: center; }
.fdeh-planner__summary strong { display: block; color: var(--planner-green); font-size: 46px; line-height: 1; }
.fdeh-planner__summary span { display: block; margin-top: 5px; color: var(--planner-muted); font-size: 13px; }
.fdeh-planner__summary button { margin-top: 16px; padding: 8px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #8a3d2b; font-size: 12px; font-weight: 800; cursor: pointer; }
.fdeh-planner__summary button[hidden] { display: none; }
.fdeh-planner__privacy { margin: 14px 7px 0; color: var(--planner-muted); font-size: 12px; }
.fdeh-planner__empty { margin-top: 28px; padding: 64px 24px; border: 1px dashed #bfd5c6; border-radius: 26px; background: #fff; text-align: center; }
.fdeh-planner__empty[hidden] { display: none; }
.fdeh-planner__empty > span { color: var(--planner-green); font-size: 44px; }
.fdeh-planner__empty h2 { margin: 10px 0 7px; font-size: 35px; }
.fdeh-planner__empty p { margin: 0; color: var(--planner-muted); }
.fdeh-planner__empty a { display: inline-flex; margin-top: 22px; padding: 13px 19px; border-radius: 999px; background: var(--planner-green); color: #fff; font-weight: 800; text-decoration: none; }
.fdeh-planner__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.fdeh-planner-card { min-width: 0; overflow: hidden; border: 1px solid #dce8df; border-radius: 23px; background: #fff; box-shadow: 0 12px 32px rgba(25,64,43,.06); }
.fdeh-planner-card[hidden] { display: none; }
.fdeh-planner-card__image { display: block; height: 235px; overflow: hidden; background: #dcece2; }
.fdeh-planner-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.fdeh-planner-card__image:hover img { transform: scale(1.025); }
.fdeh-planner-card__image.is-empty { display: grid; place-items: center; color: var(--planner-green); font-size: 52px; text-decoration: none; }
.fdeh-planner-card__body { padding: 24px; }
.fdeh-planner-card__body > p { margin: 0 0 8px; color: var(--planner-green); font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.fdeh-planner-card h2 { margin: 0; font-size: 29px; line-height: 1.05; }
.fdeh-planner-card h2 a { color: var(--planner-ink); text-decoration: none; }
.fdeh-planner-card__body > div { margin-top: 13px; color: var(--planner-muted); font-size: 14px; line-height: 1.55; }
.fdeh-planner-card footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; padding-top: 16px; border-top: 1px solid #e4ece6; }
.fdeh-planner-card footer a { color: var(--planner-green); font-size: 13px; font-weight: 850; text-decoration: none; }
.fdeh-planner-card footer button { padding: 7px 0; border: 0; background: transparent; color: #8a3d2b; font-size: 12px; cursor: pointer; }

@media (max-width: 960px) {
	.fdeh-discovery__filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fdeh-discovery__reset { grid-column:1 / -1; }
	.fdeh-discovery--finder .fdeh-discovery__grid,.fdeh-discovery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fdeh-discovery__map-view { grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); }
	.fdeh-excursion-theme__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fdeh-matrix-hero { height: 560px; grid-template-columns: 1.45fr 1fr; grid-template-rows: 1fr 1fr; }
	.fdeh-matrix-hero__image.is-main { grid-column: 1; grid-row: 1 / 3; }
	.fdeh-matrix-hero__image:nth-child(2) { grid-column:2; grid-row:1; }
	.fdeh-matrix-hero__image:nth-child(3) { grid-column:2; grid-row:2; }
	.fdeh-matrix-hero--media-4 { height:720px; grid-template-rows:1fr 1fr 1.2fr; }
	.fdeh-matrix-hero--media-4 .fdeh-matrix-hero__image:nth-child(4) { grid-column:1 / 3; grid-row:3; }
	.fdeh-matrix-intro__grid { grid-template-columns: 1fr; }
	.fdeh-matrix-score { max-width: 360px; }
	.fdeh-matrix-facts { grid-template-columns: 1fr 1fr; }
	.fdeh-matrix-content { grid-template-columns: 1fr; }
	.fdeh-matrix-card--experience { grid-column:1; }
	.fdeh-matrix-titlebar { grid-template-columns:1fr; }
	.fdeh-matrix-titlebar__side { max-width:520px; }
	.fdeh-matrix-card--wide, .fdeh-matrix-source { grid-column: 1; }
	.fdeh-matrix-source { grid-template-columns: 1fr; }
	.fdeh-matrix .fdeh-user-rating { align-items: flex-start; flex-direction: column; }
	.fdeh-user-rating__actions { width: 100%; justify-content: space-between; }
	.fdeh-planner__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
	.fdeh-discovery { width:calc(100% - 20px); margin:20px auto 42px; }
	.fdeh-discovery__header { grid-template-columns:1fr; gap:22px; padding:28px 20px; border-radius:22px; }
	.fdeh-discovery__header h1 { font-size:49px; }
	.fdeh-discovery--grid .fdeh-discovery__header { padding:0 2px 20px; }
	.fdeh-discovery--grid .fdeh-discovery__header h2 { font-size:36px; }
	.fdeh-discovery__tour { min-width:0; width:100%; }
	.fdeh-discovery__filters { grid-template-columns:1fr; padding:13px; border-radius:18px; }
	.fdeh-discovery__reset { grid-column:auto; }
	.fdeh-discovery__toolbar { align-items:flex-start; flex-direction:column; }
	.fdeh-discovery--finder .fdeh-discovery__grid,.fdeh-discovery__grid { grid-template-columns:1fr; gap:13px; }
	.fdeh-discovery-card__media { height:230px; }
	.fdeh-discovery-card__body { padding:20px; }
	.fdeh-discovery-card h3 { font-size:29px; }
	.fdeh-discovery-card dl { grid-template-columns:1fr; }
	.fdeh-discovery__map-view { display:flex; min-height:0; flex-direction:column-reverse; }
	.fdeh-discovery__map-list { max-height:300px; border-top:1px solid var(--discovery-line); border-right:0; }
	.fdeh-discovery__map-frame iframe { min-height:360px; }
	.fdeh-excursion-articles { width:calc(100% - 20px); margin:52px auto; }
	.fdeh-excursion-articles__header { margin-bottom:34px; }
	.fdeh-excursion-theme { margin-top:38px; padding-top:22px; }
	.fdeh-excursion-theme__heading { align-items:flex-start; flex-direction:column; gap:9px; }
	.fdeh-excursion-theme__grid { grid-template-columns:1fr; gap:14px; }
	.fdeh-excursion-card__media { height:225px; }
	.fdeh-destination-page { padding: 16px 10px 36px; }
	.fdeh-destination-page__inner { width: 100%; }
	.fdeh-matrix-breadcrumbs { margin: 0 5px 14px; font-size: 11px; }
	.fdeh-matrix { border-radius: 24px; }
	.fdeh-matrix-titlebar { padding: 28px 20px 24px; }
	.fdeh-matrix-titlebar h1 { font-size: 49px; letter-spacing: -1.8px; }
	.fdeh-matrix-titlebar .fdeh-matrix-kicker { margin-top: 15px; }
	.fdeh-matrix-hero { height: auto; padding: 8px; grid-template-columns: 1.5fr 1fr; grid-template-rows: 250px 130px; gap: 7px; }
	.fdeh-matrix-hero__image { border-radius: 15px; }
	.fdeh-matrix-hero__image.is-main, .fdeh-matrix-hero--media-1 .fdeh-matrix-hero__image.is-main { grid-column: 1 / 3; grid-row: 1; }
	.fdeh-matrix-hero__image.is-small { grid-row: 2; grid-column: auto; }
	.fdeh-matrix-hero__image figcaption { display: none; }
	.fdeh-matrix-hero--media-1 { height:250px; }
	.fdeh-matrix-hero--media-2 { grid-template-columns:1fr; grid-template-rows:250px 150px; }
	.fdeh-matrix-hero--media-2 .fdeh-matrix-hero__image:nth-child(2) { grid-column:1 / 3; grid-row:2; }
	.fdeh-matrix-hero--media-3 { grid-template-columns:1.5fr 1fr; }
	.fdeh-matrix-hero--media-4 { grid-template-rows:250px 130px 170px; }
	.fdeh-matrix-hero--media-4 .fdeh-matrix-hero__image:nth-child(4) { grid-column:1 / 3; grid-row:3; }
	.fdeh-matrix-intro { padding: 28px 20px 22px; }
	.fdeh-matrix-intro__grid { gap: 22px; }
	.fdeh-matrix .fdeh-destination__intro { font-size: 17px; }
	.fdeh-matrix-score { min-width: 0; width: 100%; }
	.fdeh-matrix .fdeh-destination__actions { align-items: stretch; }
	.fdeh-matrix .fdeh-destination__action { width: 100%; }
	.fdeh-matrix .fdeh-destination__tour-link { justify-content: center; width: 100%; }
	.fdeh-matrix .fdeh-destination__actions .fdeh-destination__action--primary,.fdeh-matrix .fdeh-destination__actions .fdeh-destination__tour-link { width:calc(50% - .325rem); }
	.fdeh-matrix .fdeh-destination__actions .fdeh-destination__action--booking,.fdeh-matrix .fdeh-destination__actions .fdeh-destination__action--rating,.fdeh-matrix .fdeh-destination__actions .fdeh-destination__action--experience,.fdeh-matrix .fdeh-user-rating__summary,.fdeh-matrix .fdeh-destination__updated { width:100%; }
	.fdeh-matrix-combinations__grid { grid-template-columns:1fr; }
	.fdeh-matrix .fdeh-destination__updated { width: 100%; margin: 4px 0 0; text-align: center; }
	.fdeh-user-rating__summary { width: 100%; text-align: center; }
	.fdeh-user-rating__actions { align-items: stretch; flex-direction: column; }
	.fdeh-user-rating__submit { width: 100%; }
	.fdeh-matrix-facts > div { min-height: 92px; padding: 16px 12px; border-right: 1px solid #dfe8e2; border-bottom: 1px solid #dfe8e2; border-radius: 0; }
	.fdeh-matrix-facts > div:nth-child(2n) { border-right: 0; }
	.fdeh-matrix-facts > div:nth-last-child(-n+2) { border-bottom: 0; }
	.fdeh-matrix-facts > div > span { flex-basis: 34px; width: 34px; height: 34px; font-size: 18px; }
	.fdeh-matrix-facts small { font-size: 13px; }
	.fdeh-matrix-facts strong { font-size: 15px; }
	.fdeh-matrix-section-nav { padding: 10px 14px; }
	.fdeh-matrix-content { padding: 16px; gap: 12px; }
	.fdeh-matrix-card, .fdeh-matrix-source { padding: 22px 19px; border-radius: 19px; }
	.fdeh-matrix-card h2, .fdeh-matrix-related h2 { font-size: 31px; }
	.fdeh-matrix-card p, .fdeh-matrix-main-content { font-size: 16px; }
	.fdeh-matrix-highlights, .fdeh-matrix-source > div { grid-template-columns: 1fr; }
	.fdeh-matrix-highlights article { min-height: 0; }
	.fdeh-matrix-card--planning dl > div { grid-template-columns: 1fr; gap: 5px; }
	.fdeh-matrix-related { align-items: flex-start; flex-direction: column; padding: 42px 8px 26px; }
	.fdeh-matrix-related nav { justify-content: flex-start; }
	.fdeh-matrix-gallery-dialog__grid { grid-template-columns: 1fr; }
	/* Mobile preview: keep the hero compact with three visible photos. */
	.fdeh-matrix-hero { position:relative; grid-template-rows:250px 130px!important; }
	.fdeh-matrix-hero__image:nth-child(n+4) { display:contents; }
	.fdeh-matrix-hero__image:nth-child(n+4)>button:first-child,
	.fdeh-matrix-hero__image:nth-child(n+4)>figcaption { display:none; }
	.fdeh-matrix-gallery-button { min-height:30px; padding:6px 9px; font-size:0; }
	.fdeh-matrix-gallery-button::after { content:"Alle Fotos"; font-size:11px; }
	.fdeh-planner { padding: 16px 10px 50px; }
	.fdeh-planner__header { grid-template-columns: 1fr; gap: 25px; padding: 30px 21px; border-radius: 23px; }
	.fdeh-planner__header h1 { font-size: 54px; letter-spacing: -1.8px; }
	.fdeh-planner__header > div:first-child > p:last-child { font-size: 16px; }
	.fdeh-planner__summary { min-width: 0; }
	.fdeh-planner__grid { grid-template-columns: 1fr; gap: 13px; }
	.fdeh-planner-card__image { height: 230px; }
}
