.cf-travel-overview{--cf-border:#e6e6e6;--cf-muted:#666;--cf-surface:#f5f6f7;--cf-radius:18px;--cf-accent:#0089a9;max-width:1180px;margin:0 auto;padding:40px 20px 72px}.cf-overview-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.cf-overview-heading h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0}.cf-kicker{display:inline-block;font-size:.76rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--cf-muted);margin-bottom:8px}.cf-search input{min-width:310px;border:1px solid var(--cf-border);border-radius:999px;padding:12px 16px;background:#fff}.cf-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}.cf-filter-bar button{border:1px solid var(--cf-border);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer}.cf-filter-bar button.is-active{background:#111;color:#fff;border-color:#111}.cf-travel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cf-travel-card[hidden]{display:none}.cf-card-link{appearance:none;text-align:left;width:100%;height:100%;padding:0;border:1px solid var(--cf-border);border-radius:16px;overflow:hidden;background:#fff;color:inherit;cursor:pointer;display:flex;flex-direction:column}.cf-card-visual{display:flex;align-items:flex-end;min-height:180px;background:linear-gradient(135deg,#efefef,#dadada);font-weight:800;font-size:1.25rem;overflow:hidden}.cf-card-visual img{display:block;width:100%;height:180px;object-fit:cover}.cf-card-visual-place{background:linear-gradient(135deg,#f5f5f5,#d9e0e5)}.cf-card-visual-spot{background:linear-gradient(135deg,#f5f5f5,#e4ded4)}.cf-card-visual-region{background:linear-gradient(135deg,#f3f3f3,#dfe5dc)}.cf-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.cf-type-badge{display:inline-block;align-self:flex-start;font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:.09em;font-weight:700;background:#111;color:#fff;padding:7px 9px;border-radius:999px}.cf-card-body h3{font-size:1.35rem;margin:12px 0 8px}.cf-card-body p{color:var(--cf-muted);line-height:1.55;margin:0 0 12px}.cf-card-location{font-weight:600;color:#333!important}.cf-card-cta{font-weight:700;margin-top:auto;padding-top:8px}.cf-no-results,.cf-travel-empty{text-align:center;padding:40px;color:var(--cf-muted)}.cf-button{appearance:none;border:0;border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff}.cf-button-secondary{background:#f1f1f1;color:#111}.cf-modal{position:fixed;inset:0;z-index:999999;display:none}.cf-modal.is-open{display:block}.cf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}.cf-modal-dialog{position:relative;background:#fff;width:min(980px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;border-radius:20px;padding:28px;box-shadow:0 24px 90px rgba(0,0,0,.3)}.cf-place-dialog{width:min(1050px,calc(100% - 32px));padding:0}.cf-modal-close{position:absolute;right:18px;top:14px;z-index:3;border:0;background:rgba(255,255,255,.94);width:42px;height:42px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}.cf-modal-hero{width:100%;height:min(42vh,430px);background:#eee;overflow:hidden;border-radius:20px 20px 0 0}.cf-modal-hero img{width:100%;height:100%;display:block;object-fit:cover}.cf-modal-header{padding-right:50px;margin-bottom:18px}.cf-modal-header h2{font-size:clamp(1.7rem,4vw,2.7rem);margin:6px 0}.cf-place-header{padding:54px 54px 42px;background:var(--cf-surface);border-radius:20px 20px 0 0}.cf-place-header.has-image{border-radius:0}.cf-place-header h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;margin:14px 0 8px}.cf-place-header>p:not(.cf-place-location){font-size:1.08rem;line-height:1.72;max-width:820px}.cf-place-location{font-weight:700;color:var(--cf-muted);margin:0 0 22px}.cf-facts,.cf-special-spots{max-width:850px;margin:0 auto;padding:48px 34px}.cf-special-spots{padding-top:10px;padding-bottom:60px}.cf-section-title h3{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 20px}.cf-fact-section{padding:28px 0;border-bottom:1px solid var(--cf-border)}.cf-fact-section h4{font-size:1.35rem;margin:0 0 14px}.cf-richtext{font-size:1.03rem;line-height:1.75}.cf-richtext p:first-child{margin-top:0}.cf-richtext p:last-child{margin-bottom:0}.cf-richtext ul,.cf-richtext ol{padding-left:1.45em}.cf-spot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cf-spot-list article{border:1px solid var(--cf-border);border-radius:14px;padding:18px}.cf-spot-list h4{margin:0 0 8px}.cf-spot-list p{margin:0;color:var(--cf-muted);line-height:1.55}.cf-modal-content{min-height:180px}.cf-gyg-fallback{margin-top:22px}.cf-affiliate-notice{margin:18px 0 0;font-size:.76rem;line-height:1.45;color:#777}.cf-modal-open{overflow:hidden}@media(max-width:900px){.cf-travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-overview-heading{align-items:stretch;flex-direction:column}.cf-search input{width:100%;min-width:0}.cf-place-header{padding:46px 28px 34px}.cf-facts,.cf-special-spots{padding-left:28px;padding-right:28px}}@media(max-width:600px){.cf-travel-overview{padding-left:14px;padding-right:14px}.cf-travel-grid,.cf-spot-list{grid-template-columns:1fr}.cf-modal-dialog,.cf-place-dialog{width:calc(100% - 18px);margin:9px auto;max-height:calc(100vh - 18px)}.cf-modal-dialog{padding:22px 16px}.cf-place-dialog{padding:0}.cf-modal-hero{height:260px}.cf-place-header{padding:48px 20px 28px}.cf-facts,.cf-special-spots{padding-left:20px;padding-right:20px}.cf-filter-bar{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;padding-bottom:0}.cf-filter-bar button{white-space:normal;flex:0 0 auto;max-width:100%;text-align:center}}

/* 1.3.1: ruhige Karten ohne Maus-Hover und schlichtes Schließen-X */
.cf-travel-card,
.cf-card-link,
.cf-card-link:hover,
.cf-card-link:focus,
.cf-card-link:focus-visible,
.cf-card-link:active {
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
}
.cf-card-link:hover,
.cf-card-link:focus,
.cf-card-link:focus-visible,
.cf-card-link:active {
  background: #fff !important;
  color: inherit !important;
  border-color: var(--cf-border) !important;
  outline-offset: 2px;
}
.cf-card-link img,
.cf-card-link:hover img,
.cf-card-link:focus img {
  transform: none !important;
  transition: none !important;
  filter: none !important;
}
.cf-modal-close,
.cf-modal-close:hover,
.cf-modal-close:focus,
.cf-modal-close:focus-visible,
.cf-modal-close:active {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  color: #111 !important;
  outline-offset: 3px;
}

/* 1.3.2: Der Bildbereich bleibt frei; Typbezeichnung nur noch unter dem Bild. */

/* 1.3.5: Rabattcode nutzt den Button-Stil, ist aber bewusst nicht klickbar. */
.cf-discount-code{cursor:default;user-select:text}

/* 1.3.6: OpenStreetMap-Karte und optionaler KI-Hinweis */
.cf-travel-map{width:100%;margin:0 0 34px;border:1px solid var(--cf-border);border-radius:16px;overflow:hidden;background:#eef1f2;position:relative;z-index:0}.cf-travel-map img{max-width:none!important}.cf-travel-map .leaflet-control-attribution{font-size:10px}.cf-travel-map .leaflet-popup-content-wrapper{border-radius:10px}.cf-travel-map .leaflet-popup-content{margin:10px 13px}.cf-map-popup-name{font-size:14px;line-height:1.25}.cf-map-custom-marker-wrap{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.cf-map-custom-marker-inner{position:relative!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.cf-map-custom-marker-inner img{position:absolute!important;left:0!important;bottom:0!important;transform:none!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;max-width:none!important;max-height:none!important}.cf-ai-notice{max-width:850px;margin:0 auto;padding:6px 34px 28px;font-size:.78rem;line-height:1.45;color:#777}@media(max-width:900px){.cf-ai-notice{padding-left:28px;padding-right:28px}}@media(max-width:600px){.cf-travel-map{margin-bottom:26px;border-radius:12px}.cf-ai-notice{padding-left:20px;padding-right:20px}}

/* 1.3.7: zwei Kategorien, individuelle Marker und Navigationslinks */
.cf-travel-card{border:1px solid var(--cf-border);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.cf-travel-card .cf-card-link{border:0!important;border-radius:0!important;height:auto!important;flex:1;overflow:visible}
.cf-type-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cf-card-map-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 18px;background:#fff}
.cf-card-map-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cf-border);border-radius:999px;padding:7px 11px;font-size:.74rem;line-height:1;font-weight:700;text-decoration:none!important;color:#111!important;background:#fff!important;box-shadow:none!important;transform:none!important;transition:none!important}
.cf-card-map-actions a:hover,.cf-card-map-actions a:focus,.cf-card-map-actions a:active{color:#111!important;background:#fff!important;border-color:var(--cf-border)!important;box-shadow:none!important;transform:none!important}

/* 1.3.8: Leaflet positioniert Marker per CSS-transform. Dieser Transform darf bei eigenen Markern nicht überschrieben werden. */

/* 1.3.9: robuste Marker-Ankerung und einstellbare Markergröße */
.cf-travel-map .cf-map-custom-marker-wrap,.cf-travel-map .cf-map-custom-marker-wrap *{box-sizing:border-box!important}

/* 1.3.10: Leaflet setzt margin-left/-top aus iconAnchor inline. Diese Werte dürfen nicht per !important überschrieben werden. */


/* 1.3.11: frei wählbare Kartendarstellung auf Basis derselben OpenStreetMap-Kacheln. */
.cf-travel-map .leaflet-tile-pane{transition:filter .15s linear}
.cf-travel-map.cf-map-style-standard .leaflet-tile-pane{filter:none}
.cf-travel-map.cf-map-style-light .leaflet-tile-pane{filter:saturate(.72) brightness(1.12) contrast(.88)}
.cf-travel-map.cf-map-style-grayscale .leaflet-tile-pane{filter:grayscale(1)}
.cf-travel-map.cf-map-style-blackwhite .leaflet-tile-pane{filter:grayscale(1) contrast(1.42) brightness(1.04)}
.cf-travel-map.cf-map-style-dark .leaflet-tile-pane{filter:grayscale(.25) invert(1) hue-rotate(180deg) brightness(.78) contrast(1.08)}
.cf-travel-map.cf-map-style-sepia .leaflet-tile-pane{filter:sepia(.7) saturate(.78) brightness(1.03) contrast(.96)}
.cf-travel-map.cf-map-style-contrast .leaflet-tile-pane{filter:saturate(1.08) contrast(1.28) brightness(1.01)}
.cf-travel-map.cf-map-style-pastel .leaflet-tile-pane{filter:saturate(.58) contrast(.82) brightness(1.1)}


/* 1.3.13: Kategorie-Filter – blau-grüner Hover, aktiver Filter bleibt schwarz. */
.cf-filter-bar button:not(.is-active):hover,
.cf-filter-bar button:not(.is-active):focus-visible {
  background: var(--cf-accent) !important;
  color: #fff !important;
  border-color: var(--cf-accent) !important;
}
.cf-filter-bar button.is-active,
.cf-filter-bar button.is-active:hover,
.cf-filter-bar button.is-active:focus,
.cf-filter-bar button.is-active:focus-visible,
.cf-filter-bar button.is-active:active {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}


/* 1.3.14: mobile Kategorie-Filter umbrechen statt horizontal scrollen. */
@media(max-width:600px){
  .cf-filter-bar{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:auto!important;
  }
  .cf-filter-bar button{
    white-space:normal!important;
  }
}

/* 1.5.0: SEO-Seiten und saubere verschachtelte Modal-Steuerung */
.cf-card-link{text-decoration:none!important}
.cf-modal.is-suspended{pointer-events:none}
.cf-gyg-modal.is-open{z-index:1000001}
.cf-seo-direct-link{max-width:850px;margin:0 auto;padding:0 34px 34px;font-size:.88rem}
.cf-seo-direct-link a{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}
.cf-seo-page{--cf-border:#e6e6e6;--cf-muted:#666;--cf-surface:#f5f6f7;--cf-accent:#0089a9;max-width:920px;margin:0 auto;padding:12px 0 48px}
.cf-seo-page>.cf-type-badges{margin:0 0 14px}
.cf-seo-page>.cf-place-location{margin:0 0 20px}
.cf-seo-intro{font-size:1.08rem;line-height:1.72;margin:0 0 18px}
.cf-seo-page .cf-facts,.cf-seo-page .cf-special-spots{max-width:none;padding-left:0;padding-right:0}
.cf-seo-page .cf-ai-notice{max-width:none;padding-left:0;padding-right:0}
@media(max-width:900px){.cf-seo-direct-link{padding-left:28px;padding-right:28px}}
@media(max-width:600px){.cf-seo-direct-link{padding-left:20px;padding-right:20px}.cf-seo-page{padding-bottom:32px}}

/* 1.5.1: Zielseiten verwenden echte WordPress-Seiten und eine eigene Navigation. */
.cf-reiseziel-page .cf-destination-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  margin: 34px 0 8px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, .12);
}
.cf-reiseziel-page .cf-destination-nav__slot--next { text-align: right; }
.cf-reiseziel-page .cf-destination-nav__link {
  display: inline-block;
  max-width: 100%;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .cf-reiseziel-page .cf-destination-nav { grid-template-columns: 1fr; gap: 12px; }
  .cf-reiseziel-page .cf-destination-nav__slot--next { text-align: left; }
}

/* 1.5.17: Reiseziele-Karten optisch an die Startseiten-Karten angleichen. */
.cf-travel-overview{--cf-accent:#0b9fc0;--cf-accent-dark:#087f9a;--cf-card-navy:#0d2747;--cf-card-muted:#5d7084;--cf-border:#d9e5ea}
.cf-travel-grid{gap:14px}
.cf-travel-card{border:1px solid var(--cf-border)!important;border-radius:7px!important;overflow:hidden;background:#fff;box-shadow:0 4px 13px rgba(12,47,70,.09)!important;display:flex;flex-direction:column}
.cf-travel-card .cf-card-link{border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;transform:none!important;transition:none!important}
.cf-card-visual{position:relative;min-height:0!important;aspect-ratio:1.62/1;background:#eaf1f4!important;overflow:hidden}
.cf-card-visual img{display:block;width:100%;height:100%!important;object-fit:cover;transform:none!important;transition:none!important}
.cf-card-body{position:relative;min-height:128px;padding:13px 48px 14px 13px!important;background:#fff;text-align:left!important}
.cf-type-badges{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 7px}
.cf-type-badge{font-size:.64rem!important;line-height:1!important;letter-spacing:.055em!important;background:#e9f8fc!important;color:var(--cf-accent-dark)!important;border:1px solid #ccecf4!important;padding:5px 7px!important;border-radius:999px!important;text-transform:uppercase;font-weight:800!important}
.cf-card-body h3{margin:0 0 5px!important;font-size:1.08rem!important;line-height:1.2!important;color:var(--cf-accent-dark)!important;font-weight:800!important;text-align:left!important}
.cf-card-body p{margin:0 0 5px!important;font-size:.81rem!important;line-height:1.38!important;color:var(--cf-card-muted)!important;text-align:left!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cf-card-location{font-weight:700!important;color:#456173!important}
.cf-card-cta{position:absolute;right:11px;bottom:13px;width:30px;height:30px;border:1.7px solid var(--cf-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cf-accent)!important;background:#fff!important;padding:0!important;margin:0!important;line-height:1!important}
.cf-card-cta-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cf-card-cta-arrow{font-size:1.35rem;line-height:1;font-weight:600;transform:translateY(-1px)}
.cf-card-map-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 13px 13px!important;background:#fff}
.cf-card-map-actions a{border:1px solid #cfe8ef!important;border-radius:999px!important;padding:7px 10px!important;font-size:.72rem!important;font-weight:700!important;color:var(--cf-accent-dark)!important;background:#fff!important}
.cf-card-map-actions a:hover,.cf-card-map-actions a:focus,.cf-card-map-actions a:active{color:var(--cf-accent-dark)!important;background:#fff!important;border-color:#cfe8ef!important;box-shadow:none!important;transform:none!important}
.cf-card-visual .cf-ai-image-badge{position:absolute;left:8px;bottom:8px;z-index:6;display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:30px;max-width:calc(100% - 16px);padding:0 8px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 7px rgba(17,48,74,.17);color:#496577!important;font-size:.61rem!important;line-height:1!important;font-weight:800!important;letter-spacing:.02em;white-space:nowrap;overflow:hidden;box-sizing:border-box;cursor:default}
.cf-card-visual .cf-ai-image-badge-long{display:none;font-weight:700}
.cf-card-visual .cf-ai-image-badge:hover .cf-ai-image-badge-short{display:none}
.cf-card-visual .cf-ai-image-badge:hover .cf-ai-image-badge-long{display:inline-block}
@media(max-width:600px){.cf-card-body{min-height:116px;padding:11px 44px 12px 11px!important}.cf-card-body h3{font-size:1rem!important}.cf-card-body p{font-size:.76rem!important}.cf-card-cta{width:28px;height:28px;right:9px;bottom:11px}.cf-card-visual .cf-ai-image-badge{left:6px;bottom:6px;height:28px;min-width:28px;font-size:.56rem!important}}
