.up-radar {
  --upkr-ink: #17202b;
  --upkr-ink-soft: #4e5b68;
  --upkr-navy: #152230;
  --upkr-navy-2: #233444;
  --upkr-orange: var(--upkr-accent, #e97d1f);
  --upkr-orange-dark: var(--upkr-accent-dark, #cb5d0c);
  --upkr-orange-soft: #fff1e6;
  --upkr-green: #167451;
  --upkr-green-soft: #e9f7f1;
  --upkr-blue-soft: #edf5fb;
  --upkr-surface: #ffffff;
  --upkr-surface-alt: #f5f7f8;
  --upkr-line: #dce3e8;
  --upkr-shadow: 0 22px 60px rgba(23, 32, 43, .10);
  --upkr-shadow-small: 0 10px 30px rgba(23, 32, 43, .08);
  color: var(--upkr-ink);
  font: inherit;
  margin: clamp(24px, 4vw, 56px) auto;
  max-width: 1240px;
  position: relative;
}

.up-radar *, .up-radar *::before, .up-radar *::after { box-sizing: border-box; }
.up-radar [hidden] { display: none !important; }
.up-radar a { color: inherit; }
.up-radar button, .up-radar input, .up-radar select { font: inherit; }
.up-radar button { cursor: pointer; }
.upkr-sr-only {
  border: 0 !important;
  clip: rect(1px,1px,1px,1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.upkr-eyebrow {
  color: var(--upkr-orange-dark);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 7px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.upkr-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(239, 125, 34, .30), transparent 30%),
    radial-gradient(circle at 70% 90%, rgba(255,255,255,.08), transparent 34%),
    linear-gradient(135deg, #101b26, #1d3040 62%, #263b49);
  border-radius: 30px;
  color: #fff;
  display: grid;
  gap: clamp(30px, 5vw, 70px);
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  overflow: hidden;
  padding: clamp(34px, 6vw, 76px);
  position: relative;
  box-shadow: var(--upkr-shadow);
}

.upkr-hero::before {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  content: "";
  height: 340px;
  position: absolute;
  right: -120px;
  top: -140px;
  width: 340px;
}

.upkr-hero .upkr-eyebrow { color: #ffc99e; }
.upkr-main-heading {
  color: #fff;
  font-size: clamp(38px, 5.5vw, 70px);
  letter-spacing: -.045em;
  line-height: .98;
  margin: 16px 0 24px;
  max-width: 760px;
}
.upkr-hero__copy > p {
  color: rgba(255,255,255,.78);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.7;
  margin: 0;
  max-width: 720px;
}
.upkr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.upkr-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  display: inline-flex;
  font-weight: 800;
  gap: 9px;
  justify-content: center;
  line-height: 1.2;
  min-height: 48px;
  padding: 13px 20px;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.upkr-button:hover { transform: translateY(-1px); }
.upkr-button:focus-visible { outline: 3px solid rgba(239,125,34,.28); outline-offset: 2px; }
.upkr-button--primary { background: var(--upkr-orange); color: #fff !important; box-shadow: 0 10px 24px rgba(203,93,12,.24); }
.upkr-button--primary:hover { background: var(--upkr-orange-dark); box-shadow: 0 14px 30px rgba(203,93,12,.30); }
.upkr-button--secondary { background: #fff; border-color: var(--upkr-line); color: var(--upkr-ink) !important; }
.upkr-button--secondary:hover { border-color: #b9c6cf; box-shadow: 0 8px 18px rgba(23,32,43,.08); }
.upkr-button--ghost { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff !important; }
.upkr-button--ghost:hover { background: rgba(255,255,255,.15); }
.upkr-button--small { border-radius: 10px; min-height: 40px; padding: 10px 14px; font-size: 14px; }
.upkr-button:disabled { cursor: wait; opacity: .65; transform: none; }

.upkr-hero__dashboard {
  align-self: center;
  backdrop-filter: blur(16px);
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
  padding: 22px;
  position: relative;
  z-index: 1;
}
.upkr-hero__dashboard-head { align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; padding: 0 2px 16px; }
.upkr-hero__dashboard-head span { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 700; }
.upkr-hero__dashboard-head strong { background: var(--upkr-orange); border-radius: 999px; font-size: 12px; padding: 6px 10px; }
.upkr-hero__dashboard ul { list-style: none; margin: 0; padding: 10px 0 0; }
.upkr-hero__dashboard li { align-items: center; display: flex; gap: 14px; padding: 12px 2px; }
.upkr-hero__dashboard li > span { align-items: center; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; display: flex; flex: 0 0 42px; font-weight: 900; height: 42px; justify-content: center; }
.upkr-hero__dashboard li div { display: grid; gap: 2px; }
.upkr-hero__dashboard li strong { font-size: 15px; }
.upkr-hero__dashboard li small { color: rgba(255,255,255,.62); font-size: 12px; }

.upkr-trustbar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 16px;
  box-shadow: var(--upkr-shadow-small);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, 1fr);
  margin: -18px auto 36px;
  max-width: calc(100% - 64px);
  position: relative;
  z-index: 3;
}
.upkr-trustbar span { color: var(--upkr-ink-soft); font-size: 13px; padding: 17px 22px; text-align: center; }
.upkr-trustbar span + span { border-left: 1px solid var(--upkr-line); }
.upkr-trustbar b { color: var(--upkr-ink); }

.upkr-tool-shell { align-items: start; display: grid; gap: 24px; grid-template-columns: 320px minmax(0, 1fr); scroll-margin-top: 30px; }
.upkr-tool-sidebar { display: grid; gap: 16px; position: sticky; top: 28px; }
.upkr-sidebar-block, .upkr-sidebar-note {
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 18px;
  box-shadow: var(--upkr-shadow-small);
  padding: 22px;
}
.upkr-sidebar-block h2 { font-size: 21px; letter-spacing: -.02em; margin: 7px 0 16px; }
.upkr-presets { display: grid; gap: 9px; }
.upkr-presets button {
  align-items: center;
  background: var(--upkr-surface-alt);
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--upkr-ink);
  display: grid;
  gap: 2px 10px;
  grid-template-columns: 36px 1fr;
  padding: 11px 12px;
  text-align: left;
  transition: .18s ease;
}
.upkr-presets button > span { align-items: center; background: #fff; border: 1px solid var(--upkr-line); border-radius: 10px; display: flex; grid-row: 1 / 3; height: 36px; justify-content: center; }
.upkr-presets button strong { font-size: 13px; }
.upkr-presets button small { color: var(--upkr-ink-soft); font-size: 11px; }
.upkr-presets button:hover, .upkr-presets button.is-active { background: var(--upkr-orange-soft); border-color: rgba(239,125,34,.35); transform: translateX(2px); }

.upkr-sidebar-title { align-items: center; display: flex; justify-content: space-between; }
.upkr-sidebar-title > span:last-child { background: var(--upkr-green-soft); border-radius: 999px; color: var(--upkr-green); font-size: 12px; font-weight: 800; padding: 5px 8px; }
.upkr-profile-meter { background: #edf0f2; border-radius: 999px; height: 7px; margin: 14px 0 18px; overflow: hidden; }
.upkr-profile-meter i { background: linear-gradient(90deg, var(--upkr-orange), #ffad68); border-radius: inherit; display: block; height: 100%; transition: width .25s ease; width: 20%; }
.upkr-live-profile [data-upkr-live-summary] { display: grid; gap: 0; }
.upkr-live-profile p { align-items: center; border-top: 1px solid #edf0f2; display: flex; justify-content: space-between; margin: 0; padding: 10px 0; }
.upkr-live-profile p:first-child { border-top: 0; }
.upkr-live-profile p span { color: var(--upkr-ink-soft); font-size: 12px; }
.upkr-live-profile p strong { font-size: 12px; max-width: 170px; overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.upkr-sidebar-note { align-items: flex-start; background: var(--upkr-navy); border-color: var(--upkr-navy); color: #fff; display: flex; gap: 13px; }
.upkr-sidebar-note > span { align-items: center; background: rgba(255,255,255,.08); border-radius: 10px; display: flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.upkr-sidebar-note strong { font-size: 13px; }
.upkr-sidebar-note p { color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.55; margin: 5px 0 0; }

.upkr-wizard {
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 24px;
  box-shadow: var(--upkr-shadow);
  min-width: 0;
  overflow: hidden;
}
.upkr-wizard__topline { align-items: center; border-bottom: 1px solid var(--upkr-line); display: flex; justify-content: space-between; padding: 21px 28px 18px; }
.upkr-wizard__topline > div { display: grid; gap: 4px; }
.upkr-wizard__topline strong { font-size: 14px; }
.upkr-wizard__time { background: var(--upkr-surface-alt); border-radius: 999px; color: var(--upkr-ink-soft); font-size: 12px; font-weight: 700; padding: 7px 10px; }

.upkr-progress { display: grid; grid-template-columns: repeat(5, 1fr); padding: 22px 28px 0; position: relative; }
.upkr-progress::before { background: var(--upkr-line); content: ""; height: 2px; left: calc(10% + 28px); position: absolute; right: calc(10% + 28px); top: 39px; }
.upkr-progress button { align-items: center; background: transparent; border: 0; color: #8a949d; display: flex; flex-direction: column; gap: 7px; padding: 0; position: relative; z-index: 1; }
.upkr-progress button > [data-upkr-step-number] { align-items: center; background: #fff; border: 2px solid var(--upkr-line); border-radius: 50%; display: flex; font-size: 12px; font-weight: 900; height: 36px; justify-content: center; transition: .18s ease; width: 36px; }
.upkr-progress button small { font-size: 11px; font-weight: 700; }
.upkr-progress button.is-active, .upkr-progress button.is-complete { color: var(--upkr-ink); }
.upkr-progress button.is-active > [data-upkr-step-number] { background: var(--upkr-orange); border-color: var(--upkr-orange); box-shadow: 0 0 0 5px var(--upkr-orange-soft); color: #fff; }
.upkr-progress button.is-complete:not(.is-active) > [data-upkr-step-number] { background: var(--upkr-green); border-color: var(--upkr-green); color: transparent; }
.upkr-progress button.is-complete:not(.is-active) > [data-upkr-step-number]::after { color: #fff; content: "✓"; position: absolute; }
.upkr-progress button.is-active > [data-upkr-step-number]::after { content: none; }

.upkr-form-status { color: #a23d14; font-size: 13px; font-weight: 700; min-height: 0; padding: 0 30px; }
.upkr-form-status:not(:empty) { background: #fff4ef; border: 1px solid #ffd6c7; border-radius: 10px; margin: 20px 30px 0; padding: 11px 14px; }
.upkr-step { border: 0; margin: 0; min-width: 0; padding: 34px 38px 38px; }
.upkr-step-heading { align-items: flex-start; display: flex; gap: 16px; margin-bottom: 30px; }
.upkr-step-icon { align-items: center; background: var(--upkr-orange-soft); border-radius: 14px; color: var(--upkr-orange-dark); display: flex; flex: 0 0 50px; font-size: 22px; font-weight: 900; height: 50px; justify-content: center; }
.upkr-step-title { color: var(--upkr-ink); float: none; font-size: clamp(24px, 3vw, 34px); font-weight: 850; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 8px; padding: 0; width: auto; }
.upkr-step-heading p { color: var(--upkr-ink-soft); line-height: 1.6; margin: 0; }

.upkr-fields { display: grid; gap: 18px; }
.upkr-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.upkr-step label:not(.upkr-checkline):not(.upkr-switch):not(.upkr-budget-input):not(.upkr-budget-mode label) { color: var(--upkr-ink); display: grid; font-size: 13px; font-weight: 800; gap: 8px; }
.upkr-step input[type="text"], .upkr-step input[type="date"], .upkr-step input[type="number"], .upkr-step select {
  appearance: none;
  background: #fff;
  border: 1px solid #cbd4db;
  border-radius: 12px;
  color: var(--upkr-ink);
  min-height: 52px;
  padding: 12px 14px;
  width: 100%;
}
.upkr-step input:focus, .upkr-step select:focus { border-color: var(--upkr-orange); box-shadow: 0 0 0 4px rgba(239,125,34,.12); outline: 0; }
.upkr-step label small { color: var(--upkr-ink-soft); font-size: 11px; font-weight: 500; line-height: 1.45; }
.upkr-step select { background-image: linear-gradient(45deg, transparent 50%, #55626e 50%), linear-gradient(135deg, #55626e 50%, transparent 50%); background-position: calc(100% - 19px) 22px, calc(100% - 14px) 22px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 34px; }
.upkr-place-field { position: relative; }
.upkr-place-field > label { display: block; margin-bottom: 8px; }
.upkr-place-suggestions { background: #fff; border: 1px solid var(--upkr-line); border-radius: 12px; box-shadow: 0 16px 40px rgba(23,32,43,.16); left: 0; max-height: 260px; overflow: auto; padding: 6px; position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; }
.upkr-place-suggestions button { background: transparent; border: 0; border-radius: 8px; display: block; padding: 10px; text-align: left; width: 100%; }
.upkr-place-suggestions button:hover, .upkr-place-suggestions button.is-active { background: var(--upkr-orange-soft); }

.upkr-location-card { align-items: center; background: var(--upkr-blue-soft); border: 1px solid #d8e8f3; border-radius: 14px; display: flex; gap: 18px; justify-content: space-between; margin-top: 22px; padding: 18px; }
.upkr-location-card strong { font-size: 14px; }
.upkr-location-card p { color: var(--upkr-ink-soft); font-size: 12px; line-height: 1.5; margin: 4px 0 0; }
.upkr-location-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.upkr-checkline { align-items: flex-start; color: var(--upkr-ink-soft); display: flex; font-size: 12px; gap: 10px; line-height: 1.5; margin-top: 18px; }
.upkr-checkline input { accent-color: var(--upkr-orange); flex: 0 0 auto; margin-top: 3px; }
.upkr-checkline small { display: block; }
.upkr-privacy-details { border-top: 1px solid var(--upkr-line); color: var(--upkr-ink-soft); font-size: 12px; margin-top: 20px; padding-top: 14px; }
.upkr-privacy-details summary { color: var(--upkr-ink); cursor: pointer; font-weight: 800; }
.upkr-privacy-details p { line-height: 1.6; }

.upkr-switch { align-items: center; background: var(--upkr-surface-alt); border: 1px solid var(--upkr-line); border-radius: 14px; display: flex; gap: 14px; margin-top: 20px; padding: 15px 17px; }
.upkr-switch input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.upkr-switch > span { background: #b7c0c7; border-radius: 999px; flex: 0 0 46px; height: 26px; position: relative; transition: .18s ease; }
.upkr-switch > span::after { background: #fff; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,.2); content: ""; height: 20px; left: 3px; position: absolute; top: 3px; transition: .18s ease; width: 20px; }
.upkr-switch input:checked + span { background: var(--upkr-green); }
.upkr-switch input:checked + span::after { transform: translateX(20px); }
.upkr-switch div { display: grid; gap: 2px; }
.upkr-switch strong { font-size: 13px; }
.upkr-switch small { color: var(--upkr-ink-soft); font-size: 11px; }

.upkr-child-ages { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); margin-top: 20px; }
.upkr-child-ages__label { color: var(--upkr-ink); font-size: 13px; font-weight: 800; grid-column: 1 / -1; }
.upkr-child-ages label { font-size: 11px !important; }
.upkr-info-card { background: var(--upkr-orange-soft); border-left: 4px solid var(--upkr-orange); border-radius: 10px; margin-top: 24px; padding: 15px 17px; }
.upkr-info-card strong { font-size: 13px; }
.upkr-info-card p { color: var(--upkr-ink-soft); font-size: 12px; line-height: 1.55; margin: 4px 0 0; }

.upkr-budget-mode { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.upkr-budget-mode label { cursor: pointer; }
.upkr-budget-mode input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.upkr-budget-mode label > span { background: var(--upkr-surface-alt); border: 2px solid transparent; border-radius: 14px; display: grid; gap: 4px; min-height: 95px; padding: 18px; transition: .18s ease; }
.upkr-budget-mode input:checked + span { background: var(--upkr-orange-soft); border-color: var(--upkr-orange); box-shadow: 0 8px 20px rgba(239,125,34,.10); }
.upkr-budget-mode strong { font-size: 15px; }
.upkr-budget-mode small { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.4; }
.upkr-budget-input { display: grid; font-size: 13px; font-weight: 800; gap: 9px; margin-top: 24px; }
.upkr-budget-input > div { position: relative; }
.upkr-budget-input input { font-size: 25px; font-weight: 850; padding-right: 50px !important; }
.upkr-budget-input b { color: var(--upkr-ink-soft); font-size: 18px; position: absolute; right: 18px; top: 15px; }
.upkr-budget-input small { color: var(--upkr-ink-soft); font-size: 11px; font-weight: 500; }

.upkr-choice-group { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 28px; }
.upkr-choice-group__label { font-size: 13px; font-weight: 850; grid-column: 1 / -1; margin-bottom: 2px; }
.upkr-choice-group label { cursor: pointer; }
.upkr-choice-group input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.upkr-choice-group label > span { align-items: center; background: var(--upkr-surface-alt); border: 2px solid transparent; border-radius: 13px; display: flex; gap: 10px; min-height: 58px; padding: 12px 14px; transition: .18s ease; }
.upkr-choice-group label > span b { align-items: center; background: #fff; border-radius: 9px; display: flex; flex: 0 0 32px; font-size: 16px; height: 32px; justify-content: center; }
.upkr-choice-group label > span strong { font-size: 12px; }
.upkr-choice-group input:checked + span { background: var(--upkr-orange-soft); border-color: var(--upkr-orange); color: var(--upkr-orange-dark); }
.upkr-choice-group input:focus-visible + span { outline: 3px solid rgba(239,125,34,.22); }
.upkr-choice-group--requirements { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.upkr-choice-group--requirements label > span { justify-content: center; min-height: 46px; padding: 9px; text-align: center; }
.upkr-login-note { background: var(--upkr-blue-soft); border-radius: 10px; color: var(--upkr-ink-soft); font-size: 12px; padding: 12px 14px; }
.upkr-login-note a { color: #155e93; font-weight: 800; }
.upkr-clear-profile { background: transparent; border: 0; color: var(--upkr-ink-soft); font-size: 11px; margin-top: 12px; padding: 0; text-decoration: underline; }

.upkr-actions { align-items: center; background: #fbfcfc; border-top: 1px solid var(--upkr-line); display: flex; gap: 12px; justify-content: flex-end; padding: 20px 30px; }
.upkr-actions__hint { align-items: center; color: var(--upkr-ink-soft); display: flex; font-size: 11px; gap: 5px; margin: 0 auto; }
.upkr-actions__hint span { color: var(--upkr-green); font-weight: 900; }
.upkr-button--search { min-width: 230px; }

.upkr-results { margin-top: 50px; scroll-margin-top: 24px; }
.upkr-results__header { align-items: flex-end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 20px; }
.upkr-results__header h2 { font-size: clamp(30px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.05; margin: 8px 0; }
.upkr-results__header p { color: var(--upkr-ink-soft); margin: 0; }
.upkr-notice { background: #fff9e7; border: 1px solid #f2df9c; border-radius: 12px; color: #6e581a; font-size: 13px; line-height: 1.5; margin-bottom: 16px; padding: 13px 16px; }
.upkr-notice--filter { align-items: center; background: linear-gradient(135deg, #fff8f1 0%, #fffdf9 100%); border-color: #f2bf92; border-left: 5px solid var(--upkr-orange); display: grid; gap: 6px 18px; grid-template-columns: minmax(0, 1fr) auto; padding: 18px 20px; }
.upkr-notice__title { color: var(--upkr-ink); display: block; font-size: 15px; grid-column: 1; }
.upkr-notice__text { color: var(--upkr-ink-soft); grid-column: 1; margin: 0; }
.upkr-notice__action { align-self: center; background: var(--upkr-orange); border: 1px solid var(--upkr-orange); border-radius: 10px; color: #fff; cursor: pointer; font: inherit; font-weight: 850; grid-column: 2; grid-row: 1 / span 2; min-height: 44px; padding: 10px 15px; }
.upkr-notice__action:hover, .upkr-notice__action:focus-visible { background: var(--upkr-orange-dark); border-color: var(--upkr-orange-dark); }
.upkr-notice__meta { color: #7b6854; display: block; grid-column: 1 / -1; margin-top: 3px; }
@media (max-width: 700px) {
  .upkr-notice--filter { grid-template-columns: 1fr; }
  .upkr-notice__action { grid-column: 1; grid-row: auto; width: 100%; }
}
.upkr-results__toolbar { align-items: center; background: #fff; border: 1px solid var(--upkr-line); border-radius: 14px; display: flex; justify-content: space-between; margin-bottom: 18px; padding: 9px; }
.upkr-filter-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.upkr-filter-tabs button { background: transparent; border: 0; border-radius: 9px; color: var(--upkr-ink-soft); font-size: 12px; font-weight: 800; padding: 9px 12px; }
.upkr-filter-tabs button.is-active { background: var(--upkr-navy); color: #fff; }
.upkr-results__toolbar > label { align-items: center; color: var(--upkr-ink-soft); display: flex; font-size: 11px; font-weight: 700; gap: 8px; }
.upkr-results__toolbar select { background: var(--upkr-surface-alt); border: 1px solid var(--upkr-line); border-radius: 9px; color: var(--upkr-ink); min-height: 38px; padding: 7px 30px 7px 10px; }
.upkr-results-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); }
.upkr-results-layout.has-map,
.upkr-results-layout:has(.upkr-result-map:not([hidden])) { grid-template-columns: minmax(0, 1fr) 350px; }
.upkr-cards { display: grid; gap: 20px; }

.upkr-card {
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 20px;
  box-shadow: var(--upkr-shadow-small);
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .22s ease;
}
.upkr-card:hover { border-color: #c3cdd4; box-shadow: 0 18px 45px rgba(23,32,43,.13); transform: translateY(-2px); }
.upkr-card.is-dismissed { opacity: 0; transform: translateX(20px); }
.upkr-card__media { background: var(--upkr-surface-alt); min-height: 100%; overflow: hidden; position: relative; }
.upkr-card__image { height: 100%; object-fit: cover; width: 100%; }
.upkr-card__placeholder { align-items: center; background: linear-gradient(135deg, #233444, #385265); color: rgba(255,255,255,.75); display: flex; font-size: 18px; font-weight: 850; height: 100%; justify-content: center; min-height: 250px; }
.upkr-card__match, .upkr-card__verification { backdrop-filter: blur(8px); border-radius: 999px; font-size: 10px; font-weight: 850; padding: 7px 9px; position: absolute; top: 12px; }
.upkr-card__match { background: var(--upkr-orange); color: #fff; left: 12px; }
.upkr-card__verification { background: rgba(255,255,255,.92); color: var(--upkr-ink); right: 12px; }
.upkr-card__verification--article { color: #275f8a; }
.upkr-card__body { min-width: 0; padding: 24px; }
.upkr-card__meta { align-items: center; color: var(--upkr-ink-soft); display: flex; flex-wrap: wrap; font-size: 11px; gap: 6px 12px; margin-bottom: 8px; }
.upkr-card__checked { color: var(--upkr-green); font-weight: 750; }
.upkr-card__title { font-size: clamp(21px, 2.5vw, 28px); letter-spacing: -.025em; line-height: 1.18; margin: 0 0 9px; }
.upkr-card__excerpt { color: var(--upkr-ink-soft); display: -webkit-box; font-size: 13px; line-height: 1.55; margin: 0 0 17px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.upkr-card__facts { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 18px; }
.upkr-card__fact { background: var(--upkr-surface-alt); border-radius: 10px; display: grid; gap: 2px; padding: 9px 11px; }
.upkr-card__fact dt { color: var(--upkr-ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.upkr-card__fact dd { font-size: 12px; font-weight: 800; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upkr-card__inclusions { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 17px; padding: 0; }
.upkr-card__inclusions li { background: var(--upkr-green-soft); border-radius: 999px; color: #175c43; font-size: 10px; font-weight: 750; padding: 6px 9px; }
.upkr-card[data-match-quality="article_info"] .upkr-card__inclusions li { background: var(--upkr-blue-soft); color: #275f8a; }
.upkr-card__verdict { background: #fff8f2; border-left: 3px solid var(--upkr-orange); border-radius: 8px; display: grid; gap: 3px; margin-bottom: 16px; padding: 11px 13px; }
.upkr-card__verdict strong { font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.upkr-card__verdict span { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.5; }
.upkr-card__reasons { background: var(--upkr-blue-soft); border-radius: 10px; font-size: 11px; margin: 0 0 16px; padding: 12px 14px; }
.upkr-card__reasons ul { margin: 7px 0 0 16px; padding: 0; }
.upkr-card__footer { align-items: flex-end; border-top: 1px solid var(--upkr-line); display: flex; gap: 16px; justify-content: space-between; padding-top: 17px; }
.upkr-card__price { display: grid; min-width: 140px; }
.upkr-card__price strong { font-size: 26px; letter-spacing: -.03em; line-height: 1; }
.upkr-card__price > span { color: var(--upkr-ink-soft); font-size: 11px; }
.upkr-card__price small { color: var(--upkr-ink-soft); display: block; font-size: 9px; line-height: 1.35; margin-top: 4px; max-width: 210px; }
.upkr-card__footer-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.upkr-card__feedback { border-top: 1px dashed var(--upkr-line); display: flex; gap: 16px; margin-top: 15px; padding-top: 12px; }
.upkr-card__feedback button { background: transparent; border: 0; color: var(--upkr-ink-soft); font-size: 10px; padding: 0; }
.upkr-card__feedback button:hover { color: var(--upkr-orange-dark); }
.upkr-card__utility { display: flex; gap: 7px; margin-bottom: 14px; }
.upkr-card__utility button { align-items: center; background: #fff; border: 1px solid var(--upkr-line); border-radius: 9px; color: var(--upkr-ink-soft); display: inline-flex; font-size: 10px; font-weight: 750; gap: 5px; min-height: 32px; padding: 7px 9px; }
.upkr-card__utility button:hover, .upkr-card__utility button.is-active { background: var(--upkr-orange-soft); border-color: rgba(239,125,34,.4); color: var(--upkr-orange-dark); }

.upkr-result-map { background: var(--upkr-navy); border-radius: 18px; box-shadow: var(--upkr-shadow); color: #fff; min-height: 420px; overflow: hidden; padding: 22px; position: sticky; top: 28px; }
.upkr-result-map .upkr-eyebrow { color: #ffc99e; }
.upkr-result-map h3 { color: #fff; font-size: 24px; letter-spacing: -.025em; margin: 7px 30px 7px 0; }
.upkr-result-map > p { color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.5; }
.upkr-result-map__close { background: rgba(255,255,255,.1); border: 0; border-radius: 50%; color: #fff; font-size: 22px; height: 32px; line-height: 1; position: absolute; right: 15px; top: 15px; width: 32px; }
.upkr-result-map__canvas { background: #223647; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; height: 300px; margin-top: 17px; overflow: hidden; }
.upkr-result-map__canvas > div { align-items: center; display: flex; flex-direction: column; height: 100%; justify-content: center; padding: 25px; text-align: center; }
.upkr-result-map__canvas > div > span { font-size: 30px; }
.upkr-result-map__canvas p { color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.5; }
.upkr-result-map__canvas iframe { border: 0; height: 100%; width: 100%; }

.upkr-empty { background: #fff; border: 1px dashed #bdc8cf; border-radius: 20px; padding: 55px 30px; text-align: center; }
.upkr-empty > span { align-items: center; background: var(--upkr-orange-soft); border-radius: 50%; color: var(--upkr-orange-dark); display: inline-flex; font-size: 30px; height: 70px; justify-content: center; width: 70px; }
.upkr-empty h3 { font-size: 27px; margin: 18px 0 8px; }
.upkr-empty p { color: var(--upkr-ink-soft); margin: 0 auto 20px; max-width: 560px; }
.upkr-empty > div { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }

.upkr-compare-tray { align-items: center; background: var(--upkr-navy); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; bottom: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.28); color: #fff; display: flex; gap: 25px; justify-content: space-between; left: 50%; max-width: min(760px, calc(100% - 30px)); padding: 13px 16px; position: fixed; transform: translateX(-50%); width: 100%; z-index: 1000; }
.upkr-compare-tray > div:first-child { display: grid; gap: 2px; }
.upkr-compare-tray strong { font-size: 13px; }
.upkr-compare-tray span { color: rgba(255,255,255,.62); font-size: 10px; }
.upkr-compare-tray > div:last-child { display: flex; gap: 8px; }
.upkr-compare-panel { background: #fff; border: 1px solid var(--upkr-line); border-radius: 22px; box-shadow: var(--upkr-shadow); margin-top: 30px; padding: 26px; scroll-margin-top: 25px; }
.upkr-compare-panel__header { align-items: flex-start; display: flex; justify-content: space-between; }
.upkr-compare-panel__header h2 { font-size: 32px; letter-spacing: -.035em; margin: 7px 0 20px; }
.upkr-compare-panel__header > button { background: var(--upkr-surface-alt); border: 0; border-radius: 50%; font-size: 24px; height: 38px; width: 38px; }
.upkr-compare-table { display: grid; gap: 1px; grid-template-columns: 140px repeat(var(--upkr-compare-count, 2), minmax(0, 1fr)); overflow-x: auto; }
.upkr-compare-cell { background: var(--upkr-surface-alt); min-width: 190px; padding: 13px; }
.upkr-compare-cell--label { color: var(--upkr-ink-soft); font-size: 11px; font-weight: 800; min-width: 140px; }
.upkr-compare-cell--head { background: var(--upkr-navy); color: #fff; }
.upkr-compare-cell strong { display: block; font-size: 13px; }
.upkr-compare-cell small { color: inherit; display: block; font-size: 10px; margin-top: 4px; opacity: .7; }

.upkr-explainer { background: var(--upkr-surface-alt); border-radius: 24px; display: grid; gap: 28px; grid-template-columns: 310px 1fr; margin-top: 58px; padding: clamp(28px, 5vw, 50px); }
.upkr-explainer h2 { font-size: 34px; letter-spacing: -.035em; line-height: 1.1; margin: 9px 0 0; }
.upkr-explainer__grid { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.upkr-explainer article { background: #fff; border: 1px solid var(--upkr-line); border-radius: 14px; padding: 18px; }
.upkr-explainer article > span { color: var(--upkr-orange-dark); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.upkr-explainer h3 { font-size: 15px; margin: 9px 0 5px; }
.upkr-explainer article p { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.55; margin: 0; }

.upkr-faq { margin: 58px auto 0; max-width: 920px; }
.upkr-faq > h2 { font-size: clamp(30px, 4vw, 43px); letter-spacing: -.04em; margin: 8px 0 22px; }
.upkr-faq details { border-bottom: 1px solid var(--upkr-line); }
.upkr-faq summary { cursor: pointer; font-size: 16px; font-weight: 800; list-style: none; padding: 18px 34px 18px 0; position: relative; }
.upkr-faq summary::-webkit-details-marker { display: none; }
.upkr-faq summary::after { background: var(--upkr-surface-alt); border-radius: 50%; content: "+"; font-size: 20px; height: 28px; line-height: 27px; position: absolute; right: 0; text-align: center; top: 14px; width: 28px; }
.upkr-faq details[open] summary::after { content: "−"; }
.upkr-faq details p { color: var(--upkr-ink-soft); font-size: 13px; line-height: 1.7; margin: -4px 0 20px; max-width: 800px; }
.upkr-noscript { background: #fff1ec; border: 1px solid #ffd1c2; border-radius: 10px; padding: 13px; }

@media (max-width: 1050px) {
  .upkr-hero { grid-template-columns: 1fr; }
  .upkr-hero__dashboard { max-width: 660px; }
  .upkr-tool-shell { grid-template-columns: 260px minmax(0, 1fr); }
  .upkr-choice-group--requirements { grid-template-columns: repeat(3, 1fr); }
  .upkr-card { grid-template-columns: 220px minmax(0,1fr); }
  .upkr-results-layout.has-map,
  .upkr-results-layout:has(.upkr-result-map:not([hidden])) { grid-template-columns: 1fr; }
  .upkr-result-map { position: relative; top: auto; }
}

@media (max-width: 820px) {
  .up-radar { margin: 20px auto 40px; }
  .upkr-hero { border-radius: 22px; padding: 34px 24px; }
  .upkr-trustbar { grid-template-columns: 1fr; margin: -10px 16px 28px; max-width: none; }
  .upkr-trustbar span + span { border-left: 0; border-top: 1px solid var(--upkr-line); }
  .upkr-tool-shell { grid-template-columns: 1fr; }
  .upkr-tool-sidebar { position: static; }
  .upkr-sidebar-block:first-child { display: none; }
  .upkr-live-profile { order: 2; }
  .upkr-wizard { order: 1; }
  .upkr-sidebar-note { order: 3; }
  .upkr-fields--two, .upkr-budget-mode { grid-template-columns: 1fr; }
  .upkr-choice-group { grid-template-columns: repeat(2, 1fr); }
  .upkr-choice-group--requirements { grid-template-columns: repeat(2, 1fr); }
  .upkr-card { grid-template-columns: 1fr; }
  .upkr-card__media { min-height: 220px; }
  .upkr-card__image { height: 220px; }
  .upkr-card__placeholder { min-height: 220px; }
  .upkr-results__header { align-items: flex-start; flex-direction: column; }
  .upkr-explainer { grid-template-columns: 1fr; }
}

@media (max-width: 580px) {
  .upkr-hero { border-radius: 0; margin-left: -16px; margin-right: -16px; padding: 30px 20px; }
  .upkr-main-heading { font-size: 40px; }
  .upkr-hero__dashboard { padding: 16px; }
  .upkr-hero__actions .upkr-button { width: 100%; }
  .upkr-wizard { border-radius: 17px; }
  .upkr-wizard__topline { padding: 17px 18px; }
  .upkr-progress { padding: 18px 14px 0; }
  .upkr-progress::before { left: 44px; right: 44px; top: 35px; }
  .upkr-progress button > [data-upkr-step-number] { height: 34px; width: 34px; }
  .upkr-progress button small { display: none; }
  .upkr-step { padding: 27px 19px 30px; }
  .upkr-step-heading { gap: 11px; }
  .upkr-step-icon { flex-basis: 42px; height: 42px; }
  .upkr-location-card { align-items: flex-start; flex-direction: column; }
  .upkr-location-actions, .upkr-location-actions .upkr-button { width: 100%; }
  .upkr-choice-group, .upkr-choice-group--requirements { grid-template-columns: 1fr 1fr; }
  .upkr-choice-group label > span { justify-content: center; padding: 9px; }
  .upkr-choice-group label > span b { display: none; }
  .upkr-actions { flex-wrap: wrap; padding: 15px 18px; }
  .upkr-actions__hint { display: none; }
  .upkr-actions .upkr-button { flex: 1 1 auto; }
  .upkr-button--search { flex-basis: 100% !important; }
  .upkr-results__toolbar { align-items: stretch; flex-direction: column; gap: 8px; }
  .upkr-filter-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
  .upkr-filter-tabs button { padding: 9px 5px; }
  .upkr-results__toolbar > label { justify-content: space-between; }
  .upkr-results__toolbar select { flex: 1; }
  .upkr-card__body { padding: 19px; }
  .upkr-card__facts { grid-template-columns: 1fr; }
  .upkr-card__footer { align-items: stretch; flex-direction: column; }
  .upkr-card__footer-actions { justify-content: stretch; }
  .upkr-card__footer-actions .upkr-button { flex: 1; }
  .upkr-card__feedback { justify-content: space-between; }
  .upkr-compare-tray { align-items: stretch; bottom: 8px; flex-direction: column; gap: 8px; }
  .upkr-compare-tray > div:last-child .upkr-button { flex: 1; }
  .upkr-explainer__grid { grid-template-columns: 1fr; }
  .upkr-compare-panel { border-radius: 16px; padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .up-radar *, .up-radar *::before, .up-radar *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* v0.6.1 compact cards + refined explainer */
.upkr-cards { gap: 16px; }
.upkr-card { border-radius: 20px; grid-template-columns: 190px minmax(0,1fr); }
.upkr-card__body { display: grid; gap: 12px; padding: 20px 22px; }
.upkr-card__title { font-size: clamp(19px, 2vw, 24px); margin: 0; }
.upkr-card__excerpt { font-size: 12px; margin: 0; -webkit-line-clamp: 2; }
.upkr-card__utility { margin-bottom: 0; }
.upkr-card__facts { gap: 9px; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; }
.upkr-card__fact { padding: 10px 11px; }
.upkr-card__inclusions { margin: 0; }
.upkr-card__footer { padding-top: 14px; }
.upkr-card__price strong { font-size: 22px; }
.upkr-card__feedback { margin-top: 4px; padding-top: 11px; }
.upkr-explainer { background: linear-gradient(145deg,#f5f7f9,#eef2f5); gap: 18px; grid-template-columns: minmax(0,320px) 1fr; padding: clamp(24px,4vw,38px); }
.upkr-explainer > div:first-child { background: linear-gradient(145deg,#ffffff,#fff8f1); border: 1px solid rgba(233,125,31,.12); border-radius: 18px; padding: 24px; }
.upkr-explainer h2 { font-size: clamp(28px,3.1vw,40px); margin-top: 4px; }
.upkr-explainer__grid { gap: 14px; }
.upkr-explainer article { border-radius: 18px; box-shadow: 0 10px 26px rgba(23,36,49,.05); padding: 20px; }
.upkr-explainer h3 { font-size: 17px; }
.upkr-explainer article p { font-size: 12px; }
@media (max-width: 960px) {
  .upkr-card { grid-template-columns: 1fr; }
  .upkr-card__facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .upkr-card__facts { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.9 – relevant inspiration and provider resilience
   -------------------------------------------------------------------------- */
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual.has-article-image {
  align-items: flex-end;
  background: #efe3d7;
  justify-content: flex-end;
  padding: 16px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual.has-article-image::after {
  background: linear-gradient(180deg, transparent 36%, rgba(19, 35, 48, .76) 100%);
  border: 0;
  border-radius: 0;
  height: auto;
  inset: 0;
  width: auto;
  z-index: 1;
}
.up-radar .upkr-discovery-card__visual.has-article-image img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.up-radar .upkr-discovery-card__visual-label {
  background: var(--upkr-orange);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(74, 38, 10, .20);
  color: #fff;
  font-size: 10px !important;
  letter-spacing: .05em !important;
  padding: 8px 11px;
  position: relative;
  text-transform: uppercase;
  z-index: 2;
}
.up-radar .upkr-discovery-card__description {
  background: linear-gradient(145deg, #fff8f1, #fff);
  border-left: 4px solid var(--upkr-orange);
  border-radius: 0 13px 13px 0;
  display: grid;
  gap: 5px;
  padding: 11px 13px;
}
.up-radar .upkr-discovery-card__description > strong {
  color: var(--upkr-orange-dark);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__description p {
  color: #485e6d;
  font-size: 12px;
  line-height: 1.52;
  margin: 0;
}
.up-radar .upkr-discovery-card__description small {
  color: #72808a;
  font-size: 9px;
  line-height: 1.4;
}
.up-radar .upkr-discovery-card__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}
.up-radar .upkr-discovery-card__highlight {
  align-items: center;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--upkr-place-accent) 24%, #fff);
  border-radius: 999px;
  color: #38505e;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 7px;
  line-height: 1.25;
  padding: 5px 10px 5px 5px;
}
.up-radar .upkr-discovery-card__highlight .upkr-benefit-icon {
  background: color-mix(in srgb, var(--upkr-place-accent) 8%, #fff);
  border-color: color-mix(in srgb, var(--upkr-place-accent) 28%, #fff);
  color: var(--upkr-place-accent);
  flex-basis: 28px;
  height: 28px;
  width: 28px;
}
.up-radar .upkr-discovery-card__highlight .upkr-benefit-icon svg {
  height: 15px;
  width: 15px;
}
.up-radar .upkr-discovery-card__highlight > span:not(.upkr-benefit-icon) {
  color: #38505e;
  font-weight: 850;
}
.up-radar .upkr-discovery-card__highlight-source {
  color: #6b7c87;
  display: block;
  font-size: 11px;
  line-height: 1.45;
  margin-top: 8px;
}
.up-radar .upkr-discovery-card.has-urlaubspunkt-article .upkr-discovery-card__description {
  background: linear-gradient(145deg, #fff2e5, #fffaf5);
  border-left-color: var(--upkr-orange);
}
.up-radar .upkr-discovery-loading.is-refreshing {
  align-items: center;
  background: #fff8f1;
  border-color: #efcfb2;
  border-style: solid;
  grid-column: 1 / -1;
  min-height: 0;
  padding: 12px 16px;
}
.up-radar .upkr-discovery-loading.is-refreshing strong { color: var(--upkr-orange-dark); }
.up-radar .upkr-discovery-loading.is-refreshing span { font-size: 11px; }

/* v0.6.2: reduced result density and always-useful route panel */
.upkr-card.upkr-card--compact {
  grid-template-columns: 205px minmax(0,1fr);
  min-height: 280px;
  overflow: hidden;
}
.upkr-card--compact .upkr-card__media { min-height: 280px; }
.upkr-card--compact .upkr-card__image { height: 100%; min-height: 280px; }
.upkr-card--compact .upkr-card__verification { display: none; }
.upkr-card--compact .upkr-card__match { box-shadow: 0 6px 18px rgba(23,36,49,.12); }
.upkr-card--compact .upkr-card__body { align-content: start; gap: 10px; padding: 20px 22px 16px; }
.upkr-card--compact .upkr-card__meta { margin: 0; }
.upkr-card--compact .upkr-card__source { color: #2d668d; font-weight: 800; }
.upkr-card--compact .upkr-card__title { color: var(--upkr-ink); font-size: clamp(19px,2vw,25px); line-height: 1.16; }
.upkr-card--compact .upkr-card__excerpt { -webkit-line-clamp: 2; line-height: 1.45; max-width: 900px; }
.upkr-card__quickfacts { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.upkr-card__quickfacts > span {
  align-items: center;
  background: #f5f7f8;
  border: 1px solid #e5eaed;
  border-radius: 999px;
  color: #4e5c68;
  display: inline-flex;
  font-size: 11px;
  font-weight: 720;
  gap: 5px;
  line-height: 1.2;
  min-height: 30px;
  padding: 6px 10px;
}
.upkr-card__quickfacts > span.is-emphasis { background: #eaf6f0; border-color: #cee9dc; color: #17683f; }
.upkr-card__quickfacts b { font-size: 11px; }
.upkr-card--compact .upkr-card__inclusions { gap: 6px; }
.upkr-card--compact .upkr-card__inclusions li { background: #eef5fb; color: #275f8a; padding: 5px 8px; }
.upkr-card--compact .upkr-card__reasons { margin: 0; }
.upkr-card--compact .upkr-card__footer { align-items: center; margin-top: 2px; padding-top: 12px; }
.upkr-card--compact .upkr-card__price { min-width: 110px; }
.upkr-card--compact .upkr-card__price strong { font-size: 24px; }
.upkr-card--compact .upkr-card__footer-actions { align-items: center; gap: 6px; }
.upkr-card--compact .upkr-card__footer-actions .upkr-button { min-height: 40px; padding: 9px 13px; }
.upkr-card__icon-button {
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 9px;
  color: var(--upkr-ink-soft);
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  min-height: 38px;
  padding: 8px 10px;
}
.upkr-card__icon-button:hover,.upkr-card__icon-button.is-active { background: var(--upkr-orange-soft); border-color: rgba(239,125,34,.42); color: var(--upkr-orange-dark); }
.upkr-card--compact .upkr-card__feedback { gap: 18px; margin-top: 0; padding-top: 9px; }
.upkr-card--compact .upkr-card__feedback button { font-size: 10px; }

.upkr-result-map { min-height: 0; padding: 19px; }
.upkr-result-map__canvas { background: #fff; border: 0; height: auto; min-height: 0; padding: 0; }
.upkr-result-map__canvas iframe { border-radius: 12px; display: block; height: 230px; margin-top: 12px; width: 100%; }
.upkr-route-visual { background: #fff; border-radius: 13px; color: var(--upkr-ink); padding: 15px; text-align: left; }
.upkr-route-visual__stops { display: grid; gap: 7px; }
.upkr-route-stop { align-items: center; display: grid; gap: 10px; grid-template-columns: 28px 1fr; }
.upkr-route-stop > span { align-items: center; background: var(--upkr-orange); border-radius: 50%; color: #fff; display: flex; font-size: 10px; font-weight: 900; height: 28px; justify-content: center; width: 28px; }
.upkr-route-stop:last-child > span { background: var(--upkr-green); }
.upkr-route-stop small { color: var(--upkr-ink-soft); display: block; font-size: 9px; text-transform: uppercase; }
.upkr-route-stop strong { display: block; font-size: 12px; line-height: 1.3; }
.upkr-route-line { border-left: 2px dotted #b9c4ca; height: 18px; margin-left: 13px; }
.upkr-route-visual__metrics { border-top: 1px solid var(--upkr-line); display: grid; gap: 2px; grid-template-columns: auto 1fr; margin-top: 12px; padding-top: 11px; }
.upkr-route-visual__metrics strong { color: var(--upkr-orange-dark); font-size: 21px; }
.upkr-route-visual__metrics span { align-self: center; font-size: 12px; font-weight: 800; margin-left: 8px; }
.upkr-route-visual__metrics small { color: var(--upkr-ink-soft); font-size: 9px; grid-column: 1/-1; }
.upkr-route-link { color: var(--upkr-orange-dark)!important; display: inline-block; font-size: 10px; font-weight: 850; margin-top: 11px; text-decoration: none!important; }

@media (max-width: 900px) {
  .upkr-card.upkr-card--compact { grid-template-columns: 170px minmax(0,1fr); }
  .upkr-card--compact .upkr-card__media,.upkr-card--compact .upkr-card__image { min-height: 260px; }
}
@media (max-width: 700px) {
  .upkr-card.upkr-card--compact { grid-template-columns: 1fr; }
  .upkr-card--compact .upkr-card__media,.upkr-card--compact .upkr-card__image { height: 210px; min-height: 210px; }
  .upkr-card--compact .upkr-card__footer { align-items: stretch; flex-direction: column; }
  .upkr-card--compact .upkr-card__footer-actions { justify-content: flex-start; }
}
.upkr-result-map__canvas > .upkr-route-visual { align-items: stretch; display: block; flex-direction: initial; height: auto; justify-content: initial; padding: 15px; text-align: left; }


/* v0.6.3 crawlable current-deal section */
.upkr-latest { margin-top: 52px; }
.upkr-latest__head { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 20px; }
.upkr-latest__head h2 { font-size: clamp(28px,3.5vw,42px); letter-spacing: -.035em; line-height: 1.08; margin: 7px 0 8px; max-width: 850px; }
.upkr-latest__head p { color: var(--upkr-ink-soft); line-height: 1.6; margin: 0; max-width: 850px; }
.upkr-latest__grid { display: grid; gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.upkr-latest-card { background: #fff; border: 1px solid var(--upkr-line); border-radius: 18px; box-shadow: 0 10px 30px rgba(23,36,49,.06); overflow: hidden; }
.upkr-latest-card__image { background: linear-gradient(135deg,#233444,#385265); display: block; min-height: 150px; overflow: hidden; }
.upkr-latest-card__image img { aspect-ratio: 16/9; display: block; height: auto; object-fit: cover; transition: transform .25s ease; width: 100%; }
.upkr-latest-card:hover .upkr-latest-card__image img { transform: scale(1.025); }
.upkr-latest-card__image > span { align-items: center; color: #fff; display: flex; font-weight: 850; justify-content: center; min-height: 150px; }
.upkr-latest-card__body { padding: 16px; }
.upkr-latest-card__meta { color: var(--upkr-ink-soft); display: flex; font-size: 9px; font-weight: 800; gap: 8px; justify-content: space-between; letter-spacing: .04em; text-transform: uppercase; }
.upkr-latest-card__meta span { color: var(--upkr-orange-dark); }
.upkr-latest-card h3 { font-size: 17px; line-height: 1.28; margin: 9px 0; }
.upkr-latest-card h3 a { color: var(--upkr-ink); text-decoration: none; }
.upkr-latest-card__facts { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 9px; }
.upkr-latest-card__facts strong { color: var(--upkr-orange-dark); font-size: 18px; }
.upkr-latest-card__facts span { color: var(--upkr-ink-soft); font-size: 11px; }
.upkr-latest-card__excerpt { color: var(--upkr-ink-soft); display: -webkit-box; font-size: 11px; line-height: 1.5; margin: 0 0 10px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.upkr-latest-card ul { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; margin: 0 0 12px; padding: 0; }
.upkr-latest-card li { background: var(--upkr-blue-soft); border-radius: 999px; color: #275f8a; font-size: 9px; font-weight: 750; padding: 5px 7px; }
.upkr-latest-card__link { color: var(--upkr-orange-dark)!important; font-size: 10px; font-weight: 850; text-decoration: none!important; }
@media(max-width:1180px){.upkr-latest__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.upkr-latest__head{align-items:flex-start;flex-direction:column}.upkr-latest__grid{grid-template-columns:1fr}}

/* v0.7.0: clear separation between Urlaubspunkt offers and external places. */
.upkr-discoveries { border-top: 1px solid var(--upkr-line); margin-top: 30px; padding-top: 28px; }
.upkr-discoveries__head { align-items: end; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 16px; }
.upkr-discoveries__head h3 { font-size: clamp(23px,2.8vw,32px); letter-spacing: -.03em; margin: 4px 0 6px; }
.upkr-discoveries__head p { color: var(--upkr-ink-soft); font-size: 12px; line-height: 1.55; margin: 0; max-width: 720px; }
.upkr-discoveries__head > strong { background: var(--upkr-orange-soft); border-radius: 999px; color: var(--upkr-orange-dark); font-size: 11px; padding: 8px 11px; white-space: nowrap; }
.upkr-discovery-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.upkr-discovery-card { background: #fff; border: 1px solid var(--upkr-line); border-radius: 16px; display: grid; gap: 10px; padding: 17px; }
.upkr-discovery-card__top { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.upkr-discovery-card__top > strong { color: var(--upkr-green); font-size: 11px; white-space: nowrap; }
.upkr-discovery-card__type { background: var(--upkr-blue-soft); border-radius: 999px; color: #275f8a; font-size: 9px; font-weight: 850; letter-spacing: .05em; padding: 6px 8px; text-transform: uppercase; }
.upkr-discovery-card h4 { font-size: 18px; line-height: 1.25; margin: 0; }
.upkr-discovery-card__address { color: var(--upkr-ink-soft); font-size: 11px; margin: 0; }
.upkr-discovery-card__hours { background: var(--upkr-surface-alt); border-radius: 10px; display: grid; gap: 2px; margin: 0; padding: 9px 11px; }
.upkr-discovery-card__hours span { color: var(--upkr-ink-soft); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.upkr-discovery-card__hours strong { font-size: 11px; overflow-wrap: anywhere; }
.upkr-discovery-card__actions { display: flex; flex-wrap: wrap; gap: 7px; }
.upkr-discovery-card__source { border-top: 1px dashed var(--upkr-line); color: var(--upkr-ink-soft); font-size: 9px; padding-top: 9px; }
.upkr-osm-credit { color: var(--upkr-ink-soft); font-size: 9px; line-height: 1.5; margin: 13px 0 0; }
@media (max-width:760px){.upkr-discovery-grid{grid-template-columns:1fr}.upkr-discoveries__head{align-items:flex-start;display:grid}}

/* v0.8.0: non-blocking search and persistent search form. */
.upkr-wizard--searched { border-color: rgba(31,111,82,.28); box-shadow: 0 18px 44px rgba(23,36,49,.08); }
.upkr-wizard--searched .upkr-wizard__topline::after {
  background: #e9f7f0;
  border-radius: 999px;
  color: #17683f;
  content: 'Suche bleibt geöffnet';
  font-size: 10px;
  font-weight: 850;
  margin-left: 10px;
  padding: 6px 9px;
}
.upkr-discovery-loading {
  align-items: flex-start;
  background: linear-gradient(135deg,#fff,#f7fafc);
  border: 1px dashed #cbd6dc;
  border-radius: 16px;
  display: grid;
  gap: 5px;
  grid-column: 1/-1;
  padding: 18px;
}
.upkr-discovery-loading strong { font-size: 13px; }
.upkr-discovery-loading span { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.5; }
.upkr-card[data-match-quality="verified"] .upkr-card__match { background: #17683f; }
.upkr-card[data-match-quality="verified"] .upkr-card__source { color: #17683f; }

/* v0.8.0: preset transparency. */
.upkr-preset-note { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.55; margin: -3px 0 13px; }

/* 0.9.0: visible search state after results load */
.upkr-active-search {
  align-items: center;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--upkr-line);
  border-radius: 15px;
  box-shadow: 0 12px 30px rgba(23,36,49,.09);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: 0 0 18px;
  padding: 13px 15px;
  position: sticky;
  top: 18px;
  z-index: 20;
}
.admin-bar .upkr-active-search { top: 50px; }
.upkr-active-search > div { display: grid; gap: 2px; min-width: 0; }
.upkr-active-search span { color: var(--upkr-orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.upkr-active-search strong { color: var(--upkr-ink); font-size: 12px; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:600px){
  .upkr-active-search { align-items: stretch; position: sticky; top: 8px; }
  .admin-bar .upkr-active-search { top: 54px; }
  .upkr-active-search strong { white-space: normal; }
}

/* v0.10.0: compact origin input, useful result cards and real favorites. */
.upkr-origin-row {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.35fr) minmax(210px, .65fr);
}
.upkr-origin-input-wrap { display: flex; position: relative; }
.upkr-origin-input-wrap input { padding-right: 50px; width: 100%; }
.upkr-origin-locate {
  align-items: center;
  background: var(--upkr-navy);
  border: 0;
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  height: 38px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 6px;
  top: 6px;
  transition: transform .16s ease, background .16s ease;
  width: 38px;
}
.upkr-origin-locate:hover { background: var(--upkr-orange-dark); transform: translateY(-1px); }
.upkr-origin-locate:disabled { cursor: wait; opacity: .65; transform: none; }
.upkr-origin-help { color: var(--upkr-ink-soft); display: block; font-size: 10px; line-height: 1.45; margin-top: 5px; }
.upkr-location-inline {
  align-items: center;
  color: var(--upkr-ink-soft);
  display: flex;
  flex-wrap: wrap;
  font-size: 10px;
  gap: 10px;
  margin-top: 7px;
}
.upkr-location-inline > span { color: var(--upkr-green); font-weight: 800; }
.upkr-location-inline > button {
  background: transparent;
  border: 0;
  color: var(--upkr-orange-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
}
.upkr-location-inline .upkr-privacy-details { margin-left: auto; }
.upkr-place-field { min-width: 0; position: relative; }
.upkr-place-suggestions {
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 14px 34px rgba(23,36,49,.14);
  left: 0;
  margin: -1px 0 0;
  max-height: 260px;
  overflow-y: auto;
  padding: 4px;
  position: absolute;
  right: 0;
  top: calc(100% + 2px);
  z-index: 120;
}
.upkr-place-option {
  background: #fff;
  border: 0;
  border-radius: 8px;
  color: var(--upkr-ink);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 3px;
  padding: 10px 11px;
  text-align: left;
  width: 100%;
}
.upkr-place-option__primary {
  color: inherit;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  line-height: 1.35;
}
.upkr-place-option__secondary {
  color: var(--upkr-ink-soft);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.35;
}
.upkr-place-option:hover,
.upkr-place-option.is-active,
.upkr-place-option[aria-selected="true"] { background: var(--upkr-orange-soft); color: var(--upkr-orange-dark); }
.upkr-place-option:hover .upkr-place-option__secondary,
.upkr-place-option.is-active .upkr-place-option__secondary,
.upkr-place-option[aria-selected="true"] .upkr-place-option__secondary { color: inherit; }

.upkr-card.upkr-card--result {
  align-items: stretch;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 190px minmax(0,1fr);
  min-height: 222px;
  overflow: hidden;
}
.upkr-card--result .upkr-card__media { min-height: 222px; position: relative; }
.upkr-card--result .upkr-card__image,
.upkr-card--result .upkr-card__placeholder { height: 100%; min-height: 222px; }
.upkr-card--result .upkr-card__body { display: grid; gap: 8px; padding: 16px 18px; }
.upkr-card--result .upkr-card__meta { margin: 0; }
.upkr-card--result .upkr-card__title { font-size: clamp(18px,2vw,22px); line-height: 1.18; margin: 0; }
.upkr-card--result .upkr-card__excerpt { font-size: 11px; line-height: 1.45; margin: 0; -webkit-line-clamp: 1; }
.upkr-card--result .upkr-card__match { left: 11px; top: 11px; }
.upkr-favorite-button {
  align-items: center;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(23,36,49,.12);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(23,36,49,.14);
  color: var(--upkr-ink-soft);
  cursor: pointer;
  display: inline-flex;
  font-size: 21px;
  height: 40px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 11px;
  top: 11px;
  transition: transform .16s ease, color .16s ease, background .16s ease;
  width: 40px;
  z-index: 3;
}
.upkr-favorite-button:hover { color: #d94d45; transform: scale(1.06); }
.upkr-favorite-button.is-active { background: #fff4f2; color: #d94d45; }
.upkr-card__essential-facts {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 1px 0 0;
}
.upkr-card__essential-facts > div {
  background: var(--upkr-surface-alt);
  border: 1px solid transparent;
  border-radius: 10px;
  min-width: 0;
  padding: 8px 9px;
}
.upkr-card__essential-facts > div.is-primary { background: var(--upkr-green-soft); border-color: rgba(23,104,63,.10); }
.upkr-card__essential-facts dt { color: var(--upkr-ink-soft); font-size: 8px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.upkr-card__essential-facts dd { color: var(--upkr-ink); font-size: 10px; font-weight: 800; line-height: 1.35; margin: 3px 0 0; overflow-wrap: anywhere; }
.upkr-card--result .upkr-card__inclusions { gap: 5px; margin: 0; }
.upkr-card--result .upkr-card__inclusions li { font-size: 9px; padding: 5px 7px; }
.upkr-card__details-drawer {
  background: #f7f9fa;
  border: 1px solid var(--upkr-line);
  border-radius: 12px;
  margin-top: 2px;
  padding: 11px;
}
.upkr-card__details-drawer[hidden] { display: none !important; }
.upkr-card__details-grid { display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.upkr-card__details-grid > div { display: grid; gap: 2px; }
.upkr-card__details-grid span { color: var(--upkr-ink-soft); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.upkr-card__details-grid strong { font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.upkr-card__details-list,
.upkr-card__reason-list { color: var(--upkr-ink-soft); display: grid; font-size: 10px; gap: 4px; margin: 9px 0 0 16px; padding: 0; }
.upkr-card--result .upkr-card__footer { align-items: center; margin-top: 1px; padding-top: 10px; }
.upkr-card--result .upkr-card__price { min-width: 112px; }
.upkr-card--result .upkr-card__price strong { font-size: 21px; }
.upkr-card--result .upkr-card__price span { font-size: 9px; }
.upkr-card--result .upkr-card__footer-actions { align-items: center; gap: 6px; }
.upkr-card__icon-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--upkr-line);
  border-radius: 9px;
  color: var(--upkr-ink-soft);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  justify-content: center;
  min-height: 34px;
  padding: 7px 9px;
}
.upkr-card__icon-button:hover,
.upkr-card__icon-button.is-active { background: var(--upkr-orange-soft); border-color: rgba(239,125,34,.35); color: var(--upkr-orange-dark); }
.upkr-map-frame { height: 100%; min-height: 270px; position: relative; }
.upkr-map-frame iframe { border: 0; height: 100%; min-height: 270px; width: 100%; }
.upkr-map-frame__label {
  background: rgba(23,36,49,.90);
  border-radius: 9px;
  bottom: 10px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  left: 10px;
  max-width: calc(100% - 20px);
  overflow: hidden;
  padding: 7px 9px;
  position: absolute;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upkr-map-precision { color: rgba(255,255,255,.68); display: block; font-size: 9px; line-height: 1.4; margin-top: 6px; }
.upkr-filter-tabs [data-upkr-quality="saved"] span { background: rgba(217,77,69,.12); border-radius: 999px; color: #c8453e; margin-left: 3px; padding: 2px 5px; }

@media (max-width: 980px) {
  .upkr-card__essential-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .upkr-card__details-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .upkr-origin-row { grid-template-columns: 1fr; }
  .upkr-location-inline .upkr-privacy-details { margin-left: 0; }
  .upkr-card.upkr-card--result { grid-template-columns: 1fr; }
  .upkr-card--result .upkr-card__media,
  .upkr-card--result .upkr-card__image,
  .upkr-card--result .upkr-card__placeholder { height: 176px; min-height: 176px; }
  .upkr-card--result .upkr-card__footer { align-items: stretch; flex-direction: column; }
  .upkr-card--result .upkr-card__footer-actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .upkr-card__essential-facts,
  .upkr-card__details-grid { grid-template-columns: 1fr; }
  .upkr-card--result .upkr-card__footer-actions .upkr-button { flex: 1 1 100%; }
}


/* v0.11.0: useful quick starts, editable selection summary and polished results. */
.upkr-quickstart h2 { margin-bottom: 8px; }
.upkr-preset-note { color: var(--upkr-ink-soft); font-size: 11px; line-height: 1.55; margin: 0 0 15px; }
.upkr-presets { gap: 10px; }
.upkr-presets button {
  align-items: center;
  cursor: pointer;
  gap: 11px;
  grid-template-columns: 42px minmax(0,1fr);
  padding: 12px;
}
.upkr-presets button > span { grid-row: auto; height: 42px; width: 42px; }
.upkr-presets button > div { display: grid; gap: 2px; min-width: 0; }
.upkr-presets button strong { font-size: 13px; line-height: 1.25; }
.upkr-presets button small { font-size: 10px; }
.upkr-presets button em { color: var(--upkr-orange-dark); font-size: 9px; font-style: normal; font-weight: 800; line-height: 1.35; margin-top: 3px; }
.upkr-presets button:hover,.upkr-presets button.is-active { box-shadow: 0 8px 22px rgba(239,125,34,.10); transform: translateY(-1px); }

.upkr-selection-summary { padding-bottom: 14px; }
.upkr-selection-intro { color: var(--upkr-ink-soft); font-size: 10px; line-height: 1.5; margin: 10px 0 8px; }
.upkr-selection-list { display: grid; }
.upkr-selection-list button {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-top: 1px solid #edf0f2;
  color: var(--upkr-ink);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 12px;
  grid-template-columns: minmax(0,1fr) minmax(90px,auto);
  padding: 11px 2px;
  text-align: left;
  width: 100%;
}
.upkr-selection-list button:first-child { border-top: 0; }
.upkr-selection-list button:hover { color: var(--upkr-orange-dark); }
.upkr-selection-list button > span { display: grid; gap: 2px; }
.upkr-selection-list b { font-size: 11px; }
.upkr-selection-list small { color: var(--upkr-ink-soft); font-size: 8px; font-weight: 600; }
.upkr-selection-list strong { font-size: 10px; line-height: 1.35; max-width: 150px; overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.upkr-selection-list strong::after { color: #a7b0b7; content: '›'; margin-left: 6px; }

.upkr-origin-input-wrap { isolation: isolate; }
.upkr-origin-locate {
  all: unset !important;
  align-items: center !important;
  appearance: none !important;
  background: #fff !important;
  border: 1px solid #d7dee4 !important;
  border-radius: 50% !important;
  box-shadow: 0 6px 16px rgba(23,36,49,.10) !important;
  box-sizing: border-box !important;
  color: var(--upkr-orange-dark) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: inherit !important;
  font-size: 17px !important;
  height: 40px !important;
  justify-content: center !important;
  line-height: 1 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  right: 7px !important;
  text-indent: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  white-space: nowrap !important;
  width: 40px !important;
  z-index: 5 !important;
}
.upkr-origin-locate span { display: block !important; line-height: 1 !important; }
.upkr-origin-locate:hover { background: var(--upkr-orange-soft) !important; border-color: rgba(239,125,34,.45) !important; }
.upkr-origin-locate.has-location { background: var(--upkr-green-soft) !important; color: var(--upkr-green) !important; }
.upkr-origin-locate.is-loading span { animation: upkr-spin .8s linear infinite; }
@keyframes upkr-spin { to { transform: rotate(360deg); } }
.upkr-origin-input-wrap input { padding-right: 58px !important; }
.upkr-place-suggestions { top: calc(100% + 1px); }

.upkr-results { scroll-margin-top: 90px; }
.upkr-results__header { align-items: center; }
.upkr-results__header h2 { font-size: clamp(28px,3.3vw,42px); max-width: 980px; }
.upkr-results__header > button { min-width: 130px; }
.upkr-notice { font-size: 11px; line-height: 1.55; padding: 14px 18px; }

.upkr-card.upkr-card--result {
  background: #fff;
  border-color: #dfe5e9;
  box-shadow: 0 12px 32px rgba(23,36,49,.07);
  grid-template-columns: 220px minmax(0,1fr);
  min-height: 238px;
}
.upkr-card--result:hover { box-shadow: 0 18px 44px rgba(23,36,49,.11); transform: translateY(-2px); }
.upkr-card--result .upkr-card__media { min-height: 238px; }
.upkr-card--result .upkr-card__image,.upkr-card--result .upkr-card__placeholder { min-height: 238px; }
.upkr-card--result .upkr-card__body { gap: 9px; padding: 18px 20px; }
.upkr-card--result .upkr-card__title { color: var(--upkr-orange); font-size: clamp(20px,2.2vw,27px); }
.upkr-card--result .upkr-card__excerpt { color: var(--upkr-ink-soft); font-size: 10px; }
.upkr-card__destination-row { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 12px; }
.upkr-card__destination-row span { color: var(--upkr-ink-soft); font-size: 10px; font-weight: 700; }
.upkr-card__destination-row strong { background: var(--upkr-green-soft); border-radius: 999px; color: var(--upkr-green); font-size: 9px; padding: 5px 8px; }
.upkr-card__essential-facts { gap: 8px; }
.upkr-card__essential-facts > div { border: 1px solid #edf0f2; border-radius: 12px; padding: 9px 10px; }
.upkr-card__essential-facts dt { font-size: 7.5px; }
.upkr-card__essential-facts dd { font-size: 10px; }
.upkr-card--result .upkr-card__inclusions li { background: var(--upkr-green-soft); color: var(--upkr-green); font-size: 8.5px; }
.upkr-card--result .upkr-card__inclusions li.is-more { background: #f0f2f4; color: var(--upkr-ink-soft); }
.upkr-card--result .upkr-card__footer { background: linear-gradient(90deg,#fff,#fffaf6); border-radius: 12px; padding: 10px 11px; }
.upkr-card--result .upkr-card__price strong { font-size: 24px; }
.upkr-card--result .upkr-card__footer-actions { flex-wrap: wrap; }
.upkr-card--result .upkr-card__footer-actions .upkr-button--primary { box-shadow: 0 8px 20px rgba(239,125,34,.18); }
.upkr-card__icon-button { font-size: 8.5px; min-height: 36px; padding: 7px 10px; }

@media (max-width: 760px) {
  .upkr-selection-list strong { max-width: 120px; }
  .upkr-card.upkr-card--result { grid-template-columns: 1fr; }
  .upkr-card--result .upkr-card__media,.upkr-card--result .upkr-card__image,.upkr-card--result .upkr-card__placeholder { height: 190px; min-height: 190px; }
}

/* v0.12.0: durable wishlist and decision-first result cards. */
.upkr-results__toolbar {
  background: rgba(255,255,255,.96);
  border: 1px solid #dfe5e9;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(23,36,49,.055);
  padding: 10px 12px;
}
.upkr-filter-tabs { gap: 5px; }
.upkr-filter-tabs button {
  border-radius: 11px;
  min-height: 40px;
  padding: 8px 13px;
}
.upkr-filter-tabs [data-upkr-quality="saved"] span {
  background: #eef1f3;
  color: #7b8791;
  min-width: 20px;
  text-align: center;
}
.upkr-filter-tabs [data-upkr-quality="saved"] span.has-items {
  background: #ffe8e5;
  color: #c8453e;
}
.upkr-filter-tabs [data-upkr-quality="saved"].is-active { background: #33282a; }

.upkr-cards { gap: 18px; }
.upkr-card.upkr-card--decision {
  background: #fff;
  border: 1px solid #dfe5e9;
  border-radius: 24px;
  box-shadow: 0 14px 38px rgba(23,36,49,.075);
  display: grid;
  grid-template-columns: minmax(220px,260px) minmax(0,1fr);
  min-height: 320px;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.upkr-card.upkr-card--decision:hover {
  border-color: #cad4db;
  box-shadow: 0 22px 55px rgba(23,36,49,.12);
  transform: translateY(-2px);
}
.upkr-card--decision .upkr-card__media {
  background: #edf2f3;
  min-height: 320px;
  overflow: hidden;
  position: relative;
}
.upkr-card--decision .upkr-card__image,
.upkr-card--decision .upkr-card__placeholder {
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  width: 100%;
}
.upkr-card--decision .upkr-card__media::after {
  background: linear-gradient(180deg,rgba(23,36,49,.12),transparent 34%,rgba(23,36,49,.12));
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.upkr-card--decision .upkr-card__match {
  backdrop-filter: blur(9px);
  background: rgba(20,112,72,.94);
  box-shadow: 0 8px 20px rgba(23,36,49,.16);
  left: 14px;
  top: 14px;
  z-index: 2;
}
.upkr-card--decision[data-match-quality="article_info"] .upkr-card__match { background: rgba(239,125,34,.95); }
.upkr-card--decision .upkr-favorite-button {
  height: 46px;
  right: 14px;
  top: 14px;
  width: 46px;
}
.upkr-card--decision .upkr-card__body {
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 22px 24px 20px;
}
.upkr-card--decision .upkr-card__meta {
  align-items: center;
  display: flex;
  gap: 12px;
  margin: 0;
}
.upkr-card--decision .upkr-card__source,
.upkr-card--decision .upkr-card__checked { font-size: 10px; }
.upkr-card--decision .upkr-card__title {
  color: var(--upkr-ink);
  font-size: clamp(22px,2.25vw,30px);
  letter-spacing: -.035em;
  line-height: 1.1;
  margin: 0;
  max-width: 990px;
}
.upkr-card__location {
  align-items: center;
  color: var(--upkr-ink-soft);
  display: flex;
  flex-wrap: wrap;
  font-size: 11px;
  font-weight: 750;
  gap: 7px 14px;
}
.upkr-card__location strong {
  color: var(--upkr-green);
  font-size: 11px;
}
.upkr-card__fitbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.upkr-card__fitbar span {
  background: #f3f6f7;
  border: 1px solid #e5eaed;
  border-radius: 999px;
  color: #53616d;
  font-size: 9.5px;
  font-weight: 800;
  padding: 6px 9px;
}
.upkr-card__fitbar span.is-strong {
  background: var(--upkr-green-soft);
  border-color: rgba(23,104,63,.12);
  color: var(--upkr-green);
}
.upkr-card__decision-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0,1.15fr) minmax(245px,.85fr);
}
.upkr-card__decision-panel {
  background: #f7f9fa;
  border: 1px solid #e8edef;
  border-radius: 15px;
  min-width: 0;
  padding: 13px 14px;
}
.upkr-card__decision-panel h4 {
  color: #6b7781;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.upkr-card__decision-panel ul {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.upkr-card__decision-panel li {
  color: var(--upkr-ink);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 18px;
  position: relative;
}
.upkr-card__decision-panel li::before {
  color: var(--upkr-green);
  content: '✓';
  font-weight: 900;
  left: 0;
  position: absolute;
}
.upkr-card__decision-panel li.is-muted { color: var(--upkr-ink-soft); font-weight: 650; }
.upkr-card__decision-panel li.is-muted::before { color: #a6afb6; content: 'i'; }
.upkr-card__decision-panel--planning { background: #fffaf5; border-color: #f2e4d7; }
.upkr-card__decision-panel dl { display: grid; gap: 6px; margin: 0; }
.upkr-card__decision-panel dl > div {
  align-items: baseline;
  display: grid;
  gap: 8px;
  grid-template-columns: 72px minmax(0,1fr);
}
.upkr-card__decision-panel dt {
  color: #7a858e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.upkr-card__decision-panel dd {
  color: var(--upkr-ink);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  margin: 0;
}
.upkr-card__decision-panel dd.is-check { color: #a45416; }
.upkr-card--decision .upkr-card__details-drawer {
  background: #f7f9fa;
  border-radius: 14px;
  margin: 0;
  padding: 13px 14px;
}
.upkr-card--decision .upkr-card__footer {
  align-items: center;
  background: transparent;
  border-top: 1px solid #edf0f2;
  border-radius: 0;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-top: 1px;
  padding: 13px 0 0;
}
.upkr-card--decision .upkr-card__price {
  display: grid;
  min-width: 145px;
}
.upkr-card--decision .upkr-card__price strong {
  color: var(--upkr-ink);
  font-size: 28px;
  letter-spacing: -.035em;
  line-height: 1;
}
.upkr-card--decision .upkr-card__price span { color: var(--upkr-ink-soft); font-size: 10px; margin-top: 4px; }
.upkr-card--decision .upkr-card__price small { color: #8a949d; font-size: 8px; line-height: 1.35; margin-top: 4px; }
.upkr-card--decision .upkr-card__footer-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.upkr-card--decision .upkr-card__footer-actions > .upkr-button {
  box-shadow: 0 9px 22px rgba(239,125,34,.18);
  min-height: 42px;
  padding: 9px 15px;
}
.upkr-card__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.upkr-card__tool {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe5e9;
  border-radius: 10px;
  color: #53616d;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  justify-content: center;
  min-height: 36px;
  padding: 7px 9px;
}
.upkr-card__tool:hover,
.upkr-card__tool.is-active { background: var(--upkr-orange-soft); border-color: rgba(239,125,34,.35); color: var(--upkr-orange-dark); }

.upkr-toast {
  background: #172431;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 13px;
  bottom: 22px;
  box-shadow: 0 16px 45px rgba(23,36,49,.24);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  left: 50%;
  max-width: min(420px,calc(100vw - 32px));
  padding: 12px 16px;
  position: fixed;
  transform: translateX(-50%);
  z-index: 99999;
}
.upkr-toast.is-success { background: #17683f; }
.upkr-toast.is-warning { background: #8d4d18; }
.upkr-toast[hidden] { display: none !important; }

@media (max-width: 960px) {
  .upkr-card.upkr-card--decision { grid-template-columns: 210px minmax(0,1fr); }
  .upkr-card__decision-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .upkr-results__toolbar { align-items: stretch; }
  .upkr-card.upkr-card--decision { grid-template-columns: 1fr; }
  .upkr-card--decision .upkr-card__media,
  .upkr-card--decision .upkr-card__image,
  .upkr-card--decision .upkr-card__placeholder { height: 220px; min-height: 220px; }
  .upkr-card--decision .upkr-card__body { padding: 18px; }
  .upkr-card--decision .upkr-card__footer { align-items: stretch; flex-direction: column; }
  .upkr-card--decision .upkr-card__footer-actions { align-items: stretch; justify-content: stretch; }
  .upkr-card--decision .upkr-card__footer-actions > .upkr-button { flex: 1 1 100%; }
  .upkr-card__tools { display: grid; grid-template-columns: repeat(3,1fr); width: 100%; }
}
@media (max-width: 480px) {
  .upkr-filter-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .upkr-filter-tabs button { justify-content: center; }
  .upkr-card--decision .upkr-card__title { font-size: 22px; }
  .upkr-card__decision-panel dl > div { grid-template-columns: 62px minmax(0,1fr); }
}
.upkr-hero-saved { cursor: pointer; }
.upkr-hero-saved span {
  background: rgba(255,255,255,.16);
  border-radius: 999px;
  font-size: 9px;
  margin-left: 5px;
  min-width: 20px;
  padding: 2px 6px;
  text-align: center;
}
.upkr-hero-saved span.has-items { background: #ffe8e5; color: #c8453e; }

/* =========================================================
   Urlaubspunkt Kurztrip-Radar 0.13.0 – decision-first UI
   ========================================================= */
.up-radar {
  --upkr-navy-strong: #142333;
  --upkr-cream: #fff8f1;
  --upkr-cream-strong: #ffefe0;
  --upkr-green: #13754b;
  --upkr-green-soft: #e9f7f0;
}

/* Search compass replaces decorative presets. */
.upkr-tool-sidebar { gap: 16px; }
.upkr-trip-compass { background: linear-gradient(150deg, #fff 0%, #fffaf5 100%); border-color: #eadfd5; padding: 25px; }
.upkr-compass-head { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.upkr-compass-head h3 { color: var(--upkr-navy-strong); font-size: 27px; letter-spacing: -.035em; margin: 6px 0 0; }
.upkr-compass-progress { align-items: center; background: var(--upkr-green-soft); border: 1px solid #cfe9dc; border-radius: 999px; color: var(--upkr-green); display: inline-flex; font-size: 12px; font-weight: 900; justify-content: center; min-height: 38px; min-width: 50px; padding: 7px 11px; }
.upkr-trip-compass .upkr-selection-intro { font-size: 11px; margin: 12px 0 14px; }
.upkr-trip-compass .upkr-selection-list { background: #fff; border: 1px solid var(--upkr-line); border-radius: 17px; overflow: hidden; }
.upkr-trip-compass .upkr-selection-list button { align-items: center; border-top: 1px solid #edf0f2; display: grid; gap: 9px; grid-template-columns: 34px minmax(0,1fr) minmax(80px,auto); min-height: 67px; padding: 11px 12px; position: relative; text-align: left; transition: background .18s ease, transform .18s ease; }
.upkr-trip-compass .upkr-selection-list button:hover { background: var(--upkr-cream); transform: translateX(2px); }
.upkr-selection-icon { align-items: center; background: var(--upkr-surface-alt); border: 1px solid var(--upkr-line); border-radius: 10px; color: var(--upkr-orange-dark); display: inline-flex!important; font-size: 15px; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.upkr-trip-compass .upkr-selection-list button > span:nth-child(2) { display: grid; gap: 2px; }
.upkr-trip-compass .upkr-selection-list b { color: var(--upkr-navy-strong); font-size: 11px; }
.upkr-trip-compass .upkr-selection-list small { font-size: 8px; }
.upkr-trip-compass .upkr-selection-list strong { background: var(--upkr-surface-alt); border-radius: 999px; color: var(--upkr-navy-strong); font-size: 9px; max-width: 138px; padding: 7px 9px; }
.upkr-trip-compass .upkr-selection-list strong::after { content: '›'; }
.upkr-compass-benefits { background: var(--upkr-navy-strong); border-color: var(--upkr-navy-strong); color: #fff; padding: 23px; }
.upkr-compass-benefits .upkr-eyebrow { color: #ffc28d; }
.upkr-compass-benefits h3 { color: #fff; font-size: 21px; margin: 6px 0 15px; }
.upkr-compass-benefits ul { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.upkr-compass-benefits li { align-items: center; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 13px; display: grid; gap: 10px; grid-template-columns: 36px 1fr; padding: 11px; }
.upkr-compass-benefits li > span { align-items: center; background: rgba(255,255,255,.1); border-radius: 10px; color: #ffc28d; display: inline-flex; font-size: 17px; font-weight: 900; height: 36px; justify-content: center; }
.upkr-compass-benefits li div { display: grid; gap: 2px; }
.upkr-compass-benefits li strong { font-size: 10px; }
.upkr-compass-benefits li small { color: rgba(255,255,255,.66); font-size: 8.5px; line-height: 1.4; }

/* Stronger, more compact Urlaubspunkt deal cards. */
.upkr-cards { gap: 18px; }
.upkr-card.upkr-card--decision { background: #fff; border: 1px solid #dce4e9; border-radius: 25px; box-shadow: 0 18px 48px rgba(20,35,51,.08); grid-template-columns: minmax(230px, 285px) minmax(0,1fr); overflow: hidden; position: relative; }
.upkr-card.upkr-card--decision::before { background: linear-gradient(90deg,var(--upkr-orange),#ffad66); content: ''; height: 4px; left: 0; position: absolute; right: 0; top: 0; z-index: 5; }
.upkr-card--decision .upkr-card__media { height: 100%; min-height: 430px; }
.upkr-card--decision .upkr-card__image, .upkr-card--decision .upkr-card__placeholder { height: 100%; min-height: 430px; }
.upkr-card--decision .upkr-card__body { gap: 13px; padding: 27px 29px 23px; }
.upkr-card--decision .upkr-card__title { color: var(--upkr-navy-strong); font-size: clamp(23px,2.6vw,34px); line-height: 1.08; margin: 0; }
.upkr-card--decision .upkr-card__location { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.upkr-card--decision .upkr-card__location span { color: var(--upkr-ink-soft); font-size: 10px; font-weight: 800; }
.upkr-card--decision .upkr-card__location strong { background: var(--upkr-green-soft); border: 1px solid #d5ecdf; border-radius: 999px; color: var(--upkr-green); font-size: 10px; padding: 7px 10px; }
.upkr-card--decision .upkr-card__fitbar { gap: 7px; margin: 0; }
.upkr-card--decision .upkr-card__fitbar span { background: #f3f6f8; border: 1px solid #e1e7eb; border-radius: 999px; color: #465563; font-size: 9px; font-weight: 850; padding: 7px 10px; }
.upkr-card--decision .upkr-card__fitbar span.is-strong { background: var(--upkr-green-soft); border-color: #cde8da; color: var(--upkr-green); }
.upkr-card__decision-grid { gap: 12px; grid-template-columns: minmax(0,1.28fr) minmax(260px,.72fr); margin-top: 1px; }
.upkr-card__decision-panel { background: #f6f8f9; border: 1px solid #e5eaed; border-radius: 16px; padding: 16px 18px; }
.upkr-card__decision-panel h4 { color: #62717c; font-size: 9px; letter-spacing: .09em; margin-bottom: 10px; }
.upkr-card__decision-panel ul { gap: 7px; }
.upkr-card__decision-panel li { color: var(--upkr-navy-strong); font-size: 10px; line-height: 1.38; }
.upkr-card__decision-panel--planning { background: var(--upkr-cream); border-color: #f0dcc9; }
.upkr-card__decision-panel dl { gap: 3px; }
.upkr-card__decision-panel dl > div { border-top-color: rgba(20,35,51,.08); grid-template-columns: 78px minmax(0,1fr); min-height: 31px; padding: 6px 0; }
.upkr-card__decision-panel dt { font-size: 8px; }
.upkr-card__decision-panel dd { font-size: 10px; }
.upkr-card--decision .upkr-card__footer { background: linear-gradient(90deg,#fff 0%,#fffaf5 100%); border: 1px solid #f0e4d9; border-radius: 16px; margin-top: 2px; padding: 14px 15px; }
.upkr-card--decision .upkr-card__price strong { color: var(--upkr-navy-strong); font-size: 27px; }
.upkr-card--decision .upkr-card__footer-actions { gap: 8px; }
.upkr-card--decision .upkr-card__tools { gap: 6px; }
.upkr-card--decision .upkr-card__tool { background: #fff; border-color: #dce4e9; font-size: 9px; min-height: 40px; padding: 9px 11px; }
.upkr-card--decision .upkr-card__tool:hover, .upkr-card--decision .upkr-card__tool.is-active { background: var(--upkr-cream); border-color: #efb57f; color: var(--upkr-orange-dark); }

/* Native Favorites plugin bridge – same data as /favorites/ and /deals/. */
.upkr-native-favorite { position: absolute; right: 16px; top: 17px; z-index: 7; }
.upkr-native-favorite .simplefavorite-button,
.upkr-native-favorite button { align-items: center!important; background: rgba(255,255,255,.96)!important; border: 1px solid rgba(20,35,51,.12)!important; border-radius: 50%!important; box-shadow: 0 8px 24px rgba(20,35,51,.17)!important; color: transparent!important; display: inline-flex!important; font-size: 0!important; height: 48px!important; justify-content: center!important; margin: 0!important; min-height: 48px!important; min-width: 48px!important; padding: 0!important; position: relative!important; width: 48px!important; }
.upkr-native-favorite .simplefavorite-button::before,
.upkr-native-favorite button::before { color: #53616c; content: '♡'; font-family: Arial,sans-serif; font-size: 25px; line-height: 1; }
.upkr-native-favorite .simplefavorite-button.active::before,
.upkr-native-favorite .simplefavorite-button.is-active::before,
.upkr-native-favorite button.active::before,
.upkr-native-favorite button.is-active::before { color: #df4d43; content: '♥'; }
.upkr-native-favorite .simplefavorite-button:hover,
.upkr-native-favorite button:hover { transform: translateY(-1px); }
.upkr-native-favorite .sf-icon-spinner { display: none!important; }

/* Destination check: route and free DWD forecast. */
.upkr-result-map.upkr-destination-check { background: linear-gradient(165deg,#142333,#203749); padding: 20px; }
.upkr-destination-tabs { background: rgba(255,255,255,.08); border-radius: 12px; display: grid; gap: 4px; grid-template-columns: 1fr 1fr; margin: 16px 0 12px; padding: 4px; }
.upkr-destination-tabs button { background: transparent; border: 0; border-radius: 9px; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 850; min-height: 38px; }
.upkr-destination-tabs button.is-active { background: #fff; color: var(--upkr-navy-strong); }
.upkr-destination-pane[hidden] { display: none!important; }
.upkr-weather { min-height: 285px; }
.upkr-weather__placeholder, .upkr-weather__loading, .upkr-weather__message { align-items: center; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 15px; display: flex; flex-direction: column; justify-content: center; min-height: 260px; padding: 24px; text-align: center; }
.upkr-weather__placeholder > span { color: #ffc35e; font-size: 38px; }
.upkr-weather__placeholder strong, .upkr-weather__loading strong, .upkr-weather__message strong { color: #fff; font-size: 14px; margin-top: 8px; }
.upkr-weather__placeholder p, .upkr-weather__message p { color: rgba(255,255,255,.65); font-size: 9px; line-height: 1.5; }
.upkr-weather__loading i { animation: upkr-spin .8s linear infinite; border: 3px solid rgba(255,255,255,.18); border-radius: 50%; border-top-color: #ff9a42; height: 30px; width: 30px; }
.upkr-weather__loading span { color: rgba(255,255,255,.6); font-size: 9px; margin-top: 5px; }
.upkr-weather__head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 11px; }
.upkr-weather__head > div { display: grid; gap: 3px; }
.upkr-weather__head strong { color: #fff; font-size: 14px; }
.upkr-weather__source { background: rgba(255,255,255,.1); border-radius: 999px; color: #fff; font-size: 8px; font-weight: 900; padding: 6px 8px; }
.upkr-weather__days { display: grid; gap: 7px; grid-template-columns: repeat(2,1fr); }
.upkr-weather-day { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 13px; color: #fff; display: grid; gap: 3px; min-height: 125px; padding: 11px; }
.upkr-weather-day.is-today { background: linear-gradient(145deg,rgba(239,125,34,.28),rgba(255,255,255,.08)); border-color: rgba(255,174,103,.45); }
.upkr-weather-day small { color: rgba(255,255,255,.62); font-size: 8px; font-weight: 800; }
.upkr-weather-day__icon { color: #ffc35e; font-size: 25px; }
.upkr-weather-day strong { font-size: 14px; }
.upkr-weather-day em { color: rgba(255,255,255,.78); font-size: 8px; font-style: normal; }
.upkr-weather-day > div { display: flex; flex-wrap: wrap; gap: 6px; }
.upkr-weather-day > div span { color: rgba(255,255,255,.62); font-size: 7px; }
.upkr-weather__note { color: rgba(255,255,255,.58)!important; font-size: 7.5px!important; line-height: 1.45!important; margin: 10px 0 0!important; }
.upkr-weather__note a { color: #ffc28d; }

/* Comparison: 3 is the deliberate maximum for scanability. */
html.upkr-modal-open { overflow: hidden; }
.upkr-compare-tray > div:first-child { align-items: center; display: flex; gap: 10px; }
.upkr-compare-tray__icon { align-items: center; background: rgba(255,255,255,.1); border-radius: 10px; color: #ffc28d!important; display: inline-flex; font-size: 18px!important; height: 38px; justify-content: center; width: 38px; }
.upkr-compare-modal { inset: 0; padding: clamp(12px,3vw,34px); position: fixed; z-index: 99999; }
.upkr-compare-backdrop { background: rgba(9,18,27,.76); inset: 0; position: absolute; }
.upkr-compare-modal > .upkr-compare-panel { background: #f5f7f8; border: 0; border-radius: 25px; box-shadow: 0 30px 90px rgba(0,0,0,.38); margin: 0 auto; max-height: calc(100vh - 40px); max-width: 1260px; overflow: auto; padding: clamp(20px,3vw,35px); position: relative; z-index: 2; }
.upkr-compare-panel__header { border-bottom: 1px solid #dfe6ea; margin-bottom: 18px; padding-bottom: 17px; }
.upkr-compare-panel__header h2 { color: var(--upkr-navy-strong); font-size: clamp(27px,4vw,45px); margin: 5px 0; }
.upkr-compare-panel__header p { color: var(--upkr-ink-soft); font-size: 10px; margin: 0; }
.upkr-compare-panel__header > button { background: #fff; box-shadow: 0 5px 18px rgba(20,35,51,.08); }
.upkr-compare-table { display: block; overflow: visible; }
.upkr-compare-cards { display: grid; gap: 12px; grid-template-columns: repeat(var(--upkr-compare-count,2),minmax(0,1fr)); margin-left: 125px; }
.upkr-compare-card { background: #fff; border: 1px solid #dfe6ea; border-radius: 17px; display: grid; grid-template-columns: 105px minmax(0,1fr); min-height: 170px; overflow: hidden; }
.upkr-compare-card > img { height: 100%; object-fit: cover; width: 100%; }
.upkr-compare-card > div { display: flex; flex-direction: column; padding: 13px; }
.upkr-compare-card__type { color: var(--upkr-green); font-size: 7px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.upkr-compare-card h3 { color: var(--upkr-navy-strong); font-size: 13px; line-height: 1.25; margin: 6px 0; }
.upkr-compare-card p { color: var(--upkr-ink-soft); font-size: 8px; margin: 0 0 8px; }
.upkr-compare-card__price { color: var(--upkr-navy-strong); font-size: 15px; margin-bottom: 10px; }
.upkr-compare-card .upkr-button { margin-top: auto; }
.upkr-compare-rows { display: grid; gap: 8px; margin-top: 12px; }
.upkr-compare-row { display: grid; gap: 10px; grid-template-columns: 115px minmax(0,1fr); }
.upkr-compare-row__label { align-items: center; color: var(--upkr-navy-strong); display: flex; gap: 8px; padding: 13px 4px; }
.upkr-compare-row__label span { align-items: center; background: var(--upkr-cream); border-radius: 9px; color: var(--upkr-orange-dark); display: inline-flex; font-size: 13px; height: 30px; justify-content: center; width: 30px; }
.upkr-compare-row__label strong { font-size: 9px; }
.upkr-compare-row__values { display: grid; gap: 8px; grid-template-columns: repeat(var(--upkr-compare-count,2),minmax(0,1fr)); }
.upkr-compare-value { background: #fff; border: 1px solid #e0e6ea; border-radius: 13px; color: var(--upkr-navy-strong); min-height: 58px; padding: 12px; }
.upkr-compare-value.is-best { background: var(--upkr-green-soft); border-color: #c8e5d6; }
.upkr-compare-value strong { font-size: 10px; line-height: 1.4; }
.upkr-compare-value ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.upkr-compare-value li { font-size: 8.5px; line-height: 1.4; padding-left: 13px; position: relative; }
.upkr-compare-value li::before { color: var(--upkr-green); content: '✓'; left: 0; position: absolute; }
.upkr-compare-best { color: var(--upkr-green); display: block; font-size: 7px; font-weight: 900; margin-top: 5px; text-transform: uppercase; }

/* Empty state provides immediate, useful recovery actions. */
.upkr-empty { background: linear-gradient(145deg,#fff 0%,#fff8f1 100%); border: 1px solid #efdbc8; border-radius: 25px; display: grid; gap: 20px; grid-template-columns: 135px minmax(0,1fr); padding: clamp(24px,4vw,40px); text-align: left; }
.upkr-empty__visual { align-items: center; background: var(--upkr-navy-strong); border-radius: 22px; display: flex!important; flex-direction: column; grid-row: span 3; justify-content: center!important; min-height: 210px; overflow: hidden; position: relative; }
.upkr-empty__visual > span { align-items: center; background: rgba(255,255,255,.1); border-radius: 50%; color: #ffc28d; display: inline-flex; font-size: 35px; height: 76px; justify-content: center; width: 76px; }
.upkr-empty__visual i { background: rgba(255,255,255,.18); height: 50px; position: absolute; transform: rotate(38deg); width: 2px; }
.upkr-empty__visual b { align-items: center; background: var(--upkr-orange); border: 4px solid var(--upkr-navy-strong); border-radius: 50%; bottom: 25px; color: #fff; display: inline-flex; font-size: 20px; height: 38px; justify-content: center; position: absolute; right: 25px; width: 38px; }
.upkr-empty__copy .upkr-empty__title { color: var(--upkr-navy-strong); display: block; font-size: clamp(25px,3vw,36px); margin: 5px 0 7px; }
.upkr-empty__copy p { margin: 0; max-width: none; }
.upkr-empty__diagnosis { background: #fff; border: 1px solid #eadfd5; border-radius: 15px; padding: 14px; }
.upkr-empty__diagnosis > strong { color: var(--upkr-navy-strong); display: block; font-size: 9px; margin-bottom: 9px; }
.upkr-empty__diagnosis > div { display: flex; flex-wrap: wrap; gap: 7px; }
.upkr-empty__diagnosis button { background: #f4f7f8; border: 1px solid #e0e6ea; border-radius: 10px; color: #43515c; font-size: 8.5px; font-weight: 800; min-height: 36px; padding: 8px 10px; }
.upkr-empty__diagnosis button:hover { background: var(--upkr-cream); border-color: #efb57f; }
.upkr-empty__diagnosis button span { color: var(--upkr-orange-dark); margin-right: 4px; }
.upkr-empty__actions { display: flex!important; flex-wrap: wrap; gap: 8px; justify-content: flex-start!important; }

/* Editorial explainer, not a generic card grid. */
.upkr-explainer { background: linear-gradient(145deg,#142333,#1f3749); border-radius: 28px; gap: 22px; grid-template-columns: minmax(280px,.78fr) minmax(0,1.5fr); overflow: hidden; padding: clamp(27px,4vw,44px); }
.upkr-explainer__intro { background: transparent!important; border: 0!important; color: #fff; padding: 3px!important; }
.upkr-explainer__intro .upkr-eyebrow { color: #ffc28d; }
.upkr-explainer__intro h2 { color: #fff; font-size: clamp(30px,4vw,47px); line-height: 1.02; margin: 7px 0 13px; }
.upkr-explainer__intro > p { color: rgba(255,255,255,.67); font-size: 10px; line-height: 1.6; margin: 0; }
.upkr-explainer__seal { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; display: grid; gap: 2px; grid-template-columns: 38px 1fr; margin-top: 20px; padding: 12px; }
.upkr-explainer__seal > span { align-items: center; background: var(--upkr-green); border-radius: 50%; display: inline-flex; grid-row: span 2; height: 34px; justify-content: center; width: 34px; }
.upkr-explainer__seal strong { font-size: 9px; }
.upkr-explainer__seal small { color: rgba(255,255,255,.57); font-size: 7.5px; }
.upkr-explainer__grid { gap: 10px; }
.upkr-explainer article { align-items: flex-start; background: rgba(255,255,255,.97); border: 0; border-radius: 17px; display: grid; gap: 12px; grid-template-columns: 42px minmax(0,1fr); padding: 17px; }
.upkr-explainer__icon { align-items: center; background: var(--upkr-cream); border: 1px solid #f0dcc9; border-radius: 12px; color: var(--upkr-orange-dark)!important; display: inline-flex; font-size: 18px!important; height: 42px; justify-content: center; letter-spacing: 0!important; width: 42px; }
.upkr-explainer article small { color: var(--upkr-orange-dark); font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.upkr-explainer h3 { color: var(--upkr-navy-strong); font-size: 15px; margin: 3px 0 4px; }
.upkr-explainer article p { font-size: 9px; line-height: 1.5; }

@keyframes upkr-spin { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
  .upkr-card.upkr-card--decision { grid-template-columns: 220px minmax(0,1fr); }
  .upkr-card__decision-grid { grid-template-columns: 1fr; }
  .upkr-compare-cards { margin-left: 0; }
  .upkr-compare-row { grid-template-columns: 1fr; }
  .upkr-compare-row__label { padding-bottom: 0; }
}
@media (max-width: 760px) {
  .upkr-card.upkr-card--decision { grid-template-columns: 1fr; }
  .upkr-card--decision .upkr-card__media, .upkr-card--decision .upkr-card__image, .upkr-card--decision .upkr-card__placeholder { height: 240px; min-height: 240px; }
  .upkr-card--decision .upkr-card__body { padding: 20px; }
  .upkr-card--decision .upkr-card__title { font-size: 25px; }
  .upkr-compare-modal { padding: 8px; }
  .upkr-compare-modal > .upkr-compare-panel { border-radius: 18px; max-height: calc(100vh - 16px); padding: 17px; }
  .upkr-compare-cards, .upkr-compare-row__values { grid-auto-columns: minmax(250px,80vw); grid-template-columns: none; grid-auto-flow: column; overflow-x: auto; padding-bottom: 7px; scroll-snap-type: x mandatory; }
  .upkr-compare-card, .upkr-compare-value { scroll-snap-align: start; }
  .upkr-empty { grid-template-columns: 1fr; }
  .upkr-empty__visual { grid-row: auto; min-height: 150px; }
  .upkr-explainer { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .upkr-trip-compass .upkr-selection-list button { grid-template-columns: 31px minmax(0,1fr); }
  .upkr-trip-compass .upkr-selection-list strong { grid-column: 2; justify-self: start; max-width: 100%; text-align: left; }
  .upkr-card--decision .upkr-card__footer { align-items: stretch; flex-direction: column; }
  .upkr-card--decision .upkr-card__footer-actions, .upkr-card--decision .upkr-card__tools { width: 100%; }
  .upkr-card--decision .upkr-card__tools { display: grid; grid-template-columns: 1fr 1fr; }
  .upkr-card--decision .upkr-card__footer-actions > .upkr-button { width: 100%; }
  .upkr-weather__days { grid-template-columns: 1fr 1fr; }
  .upkr-compare-tray { border-radius: 15px; }
  .upkr-explainer article { grid-template-columns: 36px minmax(0,1fr); padding: 14px; }
  .upkr-explainer__icon { height: 36px; width: 36px; }
}

/* 0.13.0 shared Urlaubspunkt favorites link */
.upkr-favorites-page-link {
  align-items: center;
  border-left: 1px solid var(--upkr-line);
  color: var(--upkr-orange-dark);
  display: inline-flex;
  font-size: 11px;
  font-weight: 850;
  margin-left: 3px;
  min-height: 34px;
  padding: 5px 4px 5px 13px;
  text-decoration: none;
  white-space: nowrap;
}
.upkr-favorites-page-link:hover { color: var(--upkr-orange); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 680px) {
  .upkr-favorites-page-link { border-left: 0; border-top: 1px solid var(--upkr-line); flex-basis: 100%; margin: 5px 0 0; padding: 10px 2px 2px; }
}


/* 0.13.1 — exact Urlaubspunkt.de first-party favorite markup. */
.upkr-card__media > .up-add-to-favorites {
  cursor: pointer;
  display: block!important;
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 12;
}
.upkr-card__media > .up-add-to-favorites:focus-visible {
  border-radius: 50%;
  outline: 3px solid rgba(239,125,34,.34);
  outline-offset: 4px;
}

/* Keep the Radar visibly inside the existing Urlaubspunkt design language. */
.up-radar { --upkr-orange:var(--upkr-accent,#e97d1f); --upkr-orange-dark:var(--upkr-accent-dark,#9a4300); --upkr-navy:#142333; --upkr-navy-strong:#182431; --upkr-green:#167449; --upkr-surface-alt:#f4f6f8; }
.upkr-results__toolbar { background:#fff; border:1px solid #dce4e9; border-radius:20px; box-shadow:0 12px 34px rgba(20,35,51,.06); padding:12px 14px; }
.upkr-filter-tabs { align-items:center; gap:7px; }
.upkr-filter-tabs button { border-radius:12px; min-height:44px; padding:10px 16px; }
.upkr-filter-tabs button.is-active { background:var(--upkr-navy); color:#fff; }
.upkr-favorites-page-link { align-items:center; background:#fff5f3; border:1px solid #f2d4cf; border-radius:12px; color:#bd433d; display:inline-flex; font-weight:850; gap:7px; min-height:44px; padding:10px 15px; text-decoration:none; }
.upkr-favorites-page-link:hover { background:#ffece8; color:#a9342f; text-decoration:none; }
.upkr-card.upkr-card--decision { border-color:#d9e2e7; box-shadow:0 20px 52px rgba(20,35,51,.09); }
.upkr-card--decision .upkr-card__match { background:var(--upkr-green); }
.upkr-card--decision .upkr-card__title { color:var(--upkr-navy-strong); }
.upkr-card--decision .upkr-card__footer { background:#fffaf6; }
.upkr-card--decision .upkr-button--primary { background:var(--upkr-orange); border-color:var(--upkr-orange); box-shadow:0 10px 22px rgba(239,125,34,.18); }
.upkr-card--decision .upkr-button--primary:hover { background:#dc6d16; border-color:#dc6d16; }
@media (max-width:640px) {
  .upkr-card__media > .up-add-to-favorites { right:13px; top:13px; }
  .upkr-results__toolbar { padding:10px; }
  .upkr-favorites-page-link { flex-basis:100%; justify-content:center; }
}


/* =========================================================
   Urlaubspunkt Kurztrip-Radar 0.13.2 – compact cards,
   warmer brand balance and editorial FAQ
   ========================================================= */

/* The Urlaubspunkt site is primarily white/cream with navy anchors,
   orange actions and green verification. Use the dark tone as an anchor,
   not as a full-page visual weight. */
.upkr-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(239,125,34,.20), transparent 29%),
    linear-gradient(135deg,#142333 0%,#1b3143 68%,#263e4c 100%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 64px rgba(20,35,51,.16);
}
.upkr-hero__dashboard {
  backdrop-filter: none;
  background: linear-gradient(155deg,#fff 0%,#fff8f1 100%);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 20px 48px rgba(6,16,25,.22);
  color: var(--upkr-navy-strong);
}
.upkr-hero__dashboard-head { border-bottom-color: #eadfd5; }
.upkr-hero__dashboard-head span { color: #53616d; }
.upkr-hero__dashboard-head strong { color: #fff; }
.upkr-hero__dashboard li > span {
  background: #fff1e6;
  border-color: #f1d7c0;
  color: var(--upkr-orange-dark);
}
.upkr-hero__dashboard li strong { color: var(--upkr-navy-strong); }
.upkr-hero__dashboard li small { color: #6b7781; }

/* Shorter decision cards without hiding essential information. */
.upkr-cards { gap: 15px; }
.upkr-card.upkr-card--decision {
  border-radius: 21px;
  grid-template-columns: minmax(190px,225px) minmax(0,1fr);
  min-height: 0;
}
.upkr-card--decision .upkr-card__media,
.upkr-card--decision .upkr-card__image,
.upkr-card--decision .upkr-card__placeholder {
  min-height: 318px;
}
.upkr-card--decision .upkr-card__body {
  gap: 8px;
  padding: 18px 20px 16px;
}
.upkr-card--decision .upkr-card__meta { gap: 9px; }
.upkr-card--decision .upkr-card__title {
  font-size: clamp(21px,2.15vw,28px);
  line-height: 1.08;
}
.upkr-card--decision .upkr-card__location strong { padding: 5px 8px; }
.upkr-card--decision .upkr-card__fitbar span { padding: 5px 8px; }
.upkr-card__decision-grid {
  gap: 8px;
  grid-template-columns: minmax(0,1.22fr) minmax(220px,.78fr);
}
.upkr-card__decision-panel {
  border-radius: 13px;
  padding: 11px 13px;
}
.upkr-card__decision-panel h4 { margin-bottom: 7px; }
.upkr-card__decision-panel ul { gap: 4px; }
.upkr-card__decision-panel li { font-size: 9.5px; }
.upkr-card__decision-panel dl > div {
  grid-template-columns: 70px minmax(0,1fr);
  min-height: 27px;
  padding: 4px 0;
}
.upkr-card--decision .upkr-card__footer {
  border-radius: 13px;
  gap: 12px;
  padding: 10px 11px;
}
.upkr-card--decision .upkr-card__price { min-width: 122px; }
.upkr-card--decision .upkr-card__price strong { font-size: 25px; }
.upkr-card--decision .upkr-card__footer-actions { gap: 6px; }
.upkr-card--decision .upkr-card__footer-actions > .upkr-button {
  min-height: 39px;
  padding: 8px 13px;
}
.upkr-card--decision .upkr-card__tool {
  min-height: 37px;
  padding: 7px 9px;
}
.upkr-card__media > .up-add-to-favorites { right: 13px; top: 13px; }

/* Editorial explainer: light canvas with a navy anchor, closer to the
   visual hierarchy of the Urlaubspunkt homepage and deal archive. */
.upkr-explainer {
  background: #f3f6f7;
  border: 1px solid #e0e6ea;
  border-radius: 26px;
  box-shadow: 0 16px 44px rgba(20,35,51,.06);
  gap: 18px;
  padding: clamp(24px,4vw,38px);
}
.upkr-explainer__intro {
  background: linear-gradient(145deg,#142333,#20384a)!important;
  border-radius: 21px!important;
  padding: 27px!important;
}
.upkr-explainer__intro h2 { font-size: clamp(29px,3.6vw,43px); }
.upkr-explainer__grid { gap: 11px; }
.upkr-explainer article {
  border: 1px solid #e0e6ea;
  box-shadow: 0 10px 26px rgba(20,35,51,.045);
  min-height: 142px;
}
.upkr-explainer article:hover { border-color: #efc39d; transform: translateY(-1px); }

/* Editorial FAQ with an Urlaubspunkt-style intro and clean accordion cards. */
.upkr-faq.upkr-faq--editorial {
  align-items: start;
  background: linear-gradient(145deg,#fff 0%,#fffaf5 100%);
  border: 1px solid #eadfd5;
  border-radius: 27px;
  box-shadow: 0 18px 48px rgba(20,35,51,.07);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr);
  margin: 44px 0 0;
  max-width: none;
  padding: clamp(25px,4vw,42px);
}
.upkr-faq__intro {
  background: var(--upkr-navy-strong);
  border-radius: 21px;
  color: #fff;
  padding: 27px;
  position: sticky;
  top: 22px;
}
.upkr-faq__intro .upkr-eyebrow { color: #ffc28d; }
.upkr-faq__intro h2 {
  color: #fff;
  font-size: clamp(28px,3.3vw,40px);
  letter-spacing: -.038em;
  line-height: 1.05;
  margin: 8px 0 13px;
}
.upkr-faq__intro > p {
  color: rgba(255,255,255,.68);
  font-size: 11px;
  line-height: 1.65;
  margin: 0;
}
.upkr-faq__note {
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 15px;
  display: grid;
  gap: 10px;
  grid-template-columns: 38px minmax(0,1fr);
  margin-top: 20px;
  padding: 12px;
}
.upkr-faq__note > span {
  align-items: center;
  background: var(--upkr-orange);
  border-radius: 50%;
  display: inline-flex;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.upkr-faq__note div { display: grid; gap: 2px; }
.upkr-faq__note strong { font-size: 10px; }
.upkr-faq__note small { color: rgba(255,255,255,.58); font-size: 8px; line-height: 1.45; }
.upkr-faq__list { display: grid; gap: 10px; }
.upkr-faq__list details {
  background: #fff;
  border: 1px solid #e0e6ea;
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(20,35,51,.035);
  overflow: hidden;
}
.upkr-faq__list details[open] { border-color: #efc39d; box-shadow: 0 12px 28px rgba(20,35,51,.06); }
.upkr-faq__list summary {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0,1fr) 28px;
  padding: 15px 16px;
}
.upkr-faq__list summary > span {
  align-items: center;
  background: #fff1e6;
  border: 1px solid #f0dcc9;
  border-radius: 10px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  font-size: 8px;
  font-weight: 900;
  height: 34px;
  justify-content: center;
}
.upkr-faq__list summary > strong {
  color: var(--upkr-navy-strong);
  font-size: 13px;
  line-height: 1.35;
}
.upkr-faq__list summary::after {
  background: #f3f6f7;
  color: var(--upkr-navy-strong);
  position: static;
}
.upkr-faq__list details[open] summary::after { background: var(--upkr-orange-soft); color: var(--upkr-orange-dark); }
.upkr-faq__list details p {
  border-top: 1px solid #edf0f2;
  color: #596672;
  font-size: 11px;
  line-height: 1.65;
  margin: 0;
  max-width: none;
  padding: 14px 18px 17px 62px;
}

@media (max-width: 1080px) {
  .upkr-card.upkr-card--decision { grid-template-columns: 205px minmax(0,1fr); }
  .upkr-card__decision-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .upkr-hero__dashboard { background: #fffaf5; }
  .upkr-card.upkr-card--decision { grid-template-columns: 1fr; }
  .upkr-card--decision .upkr-card__media,
  .upkr-card--decision .upkr-card__image,
  .upkr-card--decision .upkr-card__placeholder { height: 215px; min-height: 215px; }
  .upkr-faq.upkr-faq--editorial { grid-template-columns: 1fr; }
  .upkr-faq__intro { position: static; }
}
@media (max-width: 480px) {
  .upkr-card--decision .upkr-card__body { padding: 16px; }
  .upkr-card--decision .upkr-card__title { font-size: 23px; }
  .upkr-faq__list summary { grid-template-columns: 31px minmax(0,1fr) 27px; padding: 13px; }
  .upkr-faq__list details p { padding: 12px 14px 15px; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.14.0 – compact editorial result list
   -------------------------------------------------------------------------- */
.upkr-results__header { align-items: center; margin-bottom: 15px; }
.upkr-results__header h2 { font-size: clamp(27px,3vw,38px); margin: 5px 0 4px; }
.upkr-results__header p { font-size: 13px; }
.upkr-cards { gap: 16px; }

.upkr-card.upkr-card--listing {
  background: #fff;
  border: 1px solid #dce4e9;
  border-radius: 20px;
  box-shadow: 0 14px 38px rgba(20,35,51,.075);
  display: grid;
  grid-template-columns: minmax(250px, 36%) minmax(0,1fr);
  min-height: 300px;
  overflow: hidden;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.upkr-card.upkr-card--listing:hover {
  border-color: #c9d5dc;
  box-shadow: 0 20px 46px rgba(20,35,51,.105);
  transform: translateY(-2px);
}
.upkr-card.upkr-card--listing::before {
  background: linear-gradient(90deg,var(--upkr-orange),#ffad66);
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 4;
}
.upkr-card--listing .upkr-card__media {
  height: 100%;
  min-height: 300px;
  overflow: hidden;
  position: relative;
}
.upkr-card--listing .upkr-card__image,
.upkr-card--listing .upkr-card__placeholder {
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  width: 100%;
}
.upkr-card--listing .upkr-card__media::after {
  background: linear-gradient(180deg,rgba(15,31,45,.06),transparent 45%,rgba(15,31,45,.09));
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.upkr-card--listing .upkr-card__match {
  background: var(--upkr-green);
  box-shadow: 0 7px 18px rgba(20,35,51,.13);
  font-size: 10px;
  left: 14px;
  padding: 8px 11px;
  top: 14px;
  z-index: 3;
}
.upkr-card--listing[data-match-quality="article_info"] .upkr-card__match { background: var(--upkr-orange); }
.upkr-card--listing .upkr-card__media > .up-add-to-favorites,
.upkr-card--listing .upkr-native-favorite,
.upkr-card--listing .upkr-favorite-button {
  right: 14px;
  top: 14px;
  z-index: 5;
}
.upkr-card--listing .upkr-card__body {
  align-content: start;
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 20px 22px 15px;
}
.upkr-card--listing .upkr-card__meta {
  gap: 9px;
  margin: 0;
}
.upkr-card--listing .upkr-card__source,
.upkr-card--listing .upkr-card__checked {
  font-size: 9px;
  font-weight: 800;
}
.upkr-card--listing .upkr-card__source { color: var(--upkr-green); }
.upkr-card--listing .upkr-card__title {
  color: var(--upkr-navy-strong);
  font-size: clamp(20px,2.15vw,28px);
  letter-spacing: -.032em;
  line-height: 1.08;
  margin: 0;
}
.upkr-card--listing .upkr-card__location {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
}
.upkr-card--listing .upkr-card__location span {
  color: #53616d;
  font-size: 10px;
  font-weight: 780;
}
.upkr-card--listing .upkr-card__location strong {
  background: var(--upkr-green-soft);
  border: 1px solid #d2eadc;
  border-radius: 999px;
  color: var(--upkr-green);
  font-size: 9.5px;
  padding: 6px 9px;
}
.upkr-card__microfacts {
  align-items: center;
  color: #687580;
  display: flex;
  flex-wrap: wrap;
  font-size: 9px;
  font-weight: 700;
  gap: 5px 13px;
}
.upkr-card__microfacts span { position: relative; }
.upkr-card__microfacts span:not(:first-child)::before {
  color: #c4ccd1;
  content: '•';
  left: -8px;
  position: absolute;
}
.upkr-card__microfacts .is-check { color: #a45416; }
.upkr-card--listing .upkr-card__inclusions--listing {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.upkr-card--listing .upkr-card__inclusions--listing li {
  background: var(--upkr-green-soft);
  border: 1px solid #d8ece2;
  border-radius: 999px;
  color: var(--upkr-green);
  font-size: 8.5px;
  font-weight: 800;
  padding: 5px 8px;
}
.upkr-card--listing .upkr-card__inclusions--listing li.is-neutral {
  background: #f4f6f8;
  border-color: #e2e7ea;
  color: #53616d;
}
.upkr-card--listing .upkr-card__inclusions--listing li.is-type {
  background: #f4f6f8;
  border-color: #e2e7ea;
  color: #53616d;
}
.upkr-card__dealbar {
  align-items: center;
  background: linear-gradient(90deg,#fff 0%,#fff8f1 100%);
  border: 1px solid #f0e2d5;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: 1px;
  padding: 9px 10px 9px 12px;
}
.upkr-card--listing .upkr-card__price {
  display: flex;
  flex-direction: column;
  min-width: 105px;
}
.upkr-card--listing .upkr-card__price strong {
  color: var(--upkr-navy-strong);
  font-size: 24px;
  letter-spacing: -.035em;
  line-height: 1;
}
.upkr-card--listing .upkr-card__price span {
  color: #65727c;
  font-size: 8.5px;
  margin-top: 4px;
}
.upkr-card__primary {
  box-shadow: 0 9px 20px rgba(239,125,34,.19);
  min-height: 38px;
  padding: 9px 15px;
  white-space: nowrap;
}
.upkr-card__tools--listing {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: -2px;
  width: 100%;
}
.upkr-card__tools--listing .upkr-card__tool {
  background: #fff;
  border: 1px solid #dfe6ea;
  border-radius: 9px;
  color: #5a6874;
  font-size: 8.5px;
  font-weight: 780;
  min-height: 33px;
  padding: 6px 8px;
  width: 100%;
}
.upkr-card__tools--listing .upkr-card__tool:hover,
.upkr-card__tools--listing .upkr-card__tool.is-active {
  background: var(--upkr-orange-soft);
  border-color: #efbd92;
  color: var(--upkr-orange-dark);
}
.upkr-card__details-drawer--listing {
  background: #f6f8f9;
  border: 1px solid #e2e7ea;
  border-radius: 12px;
  margin-top: 1px;
  padding: 12px;
}
.upkr-card__details-drawer--listing .upkr-card__details-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

@media (max-width: 980px) {
  .upkr-card.upkr-card--listing { grid-template-columns: minmax(220px,32%) minmax(0,1fr); }
  .upkr-card--listing .upkr-card__title { font-size: 23px; }
  .upkr-card__microfacts span:nth-child(3) { display: none; }
  .upkr-card__details-drawer--listing .upkr-card__details-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .upkr-card.upkr-card--listing { grid-template-columns: 1fr; }
  .upkr-card--listing .upkr-card__media,
  .upkr-card--listing .upkr-card__image,
  .upkr-card--listing .upkr-card__placeholder { height: 215px; min-height: 215px; }
  .upkr-card--listing .upkr-card__body { padding: 17px 17px 14px; }
  .upkr-card__microfacts span:nth-child(3) { display: inline; }
}
@media (max-width: 520px) {
  .upkr-card--listing .upkr-card__title { font-size: 21px; }
  .upkr-card__dealbar { align-items: stretch; flex-direction: column; }
  .upkr-card__primary { width: 100%; }
  .upkr-card__tools--listing { grid-template-columns: 1fr; }
  .upkr-card__details-drawer--listing .upkr-card__details-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.15.0 – unified navigation and editorial UI
   -------------------------------------------------------------------------- */
.up-radar .upkr-icon-sprite {
  height: 0;
  left: -9999px;
  overflow: hidden;
  position: absolute;
  width: 0;
}
.up-radar .upkr-selection-icon svg,
.up-radar .upkr-step-icon svg,
.up-radar .upkr-progress small svg,
.up-radar .upkr-empty__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.up-radar .upkr-selection-icon svg { height: 20px; width: 20px; }
.up-radar .upkr-step-icon svg { height: 27px; width: 27px; }
.up-radar .upkr-progress button {
  border-radius: 10px;
  cursor: pointer;
  min-width: 0;
}
.up-radar .upkr-progress button:focus-visible {
  outline: 3px solid rgba(239,125,34,.25);
  outline-offset: 4px;
}
.up-radar .upkr-progress button:hover small { color: var(--upkr-orange-dark); }
.up-radar .upkr-progress button small {
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  gap: 5px;
  justify-content: center;
  line-height: 1.2;
}
.up-radar .upkr-progress button small svg { height: 15px; width: 15px; }

.up-radar .upkr-selection-intro {
  font-size: 12.5px;
  line-height: 1.55;
  margin: 13px 0 16px;
}
.up-radar .upkr-trip-compass .upkr-selection-list button {
  gap: 11px;
  grid-template-columns: 42px minmax(0,1fr) minmax(92px,auto);
  min-height: 78px;
  padding: 13px 14px;
}
.up-radar .upkr-selection-icon {
  border-radius: 12px;
  height: 42px;
  width: 42px;
}
.up-radar .upkr-trip-compass .upkr-selection-list b { font-size: 14px; }
.up-radar .upkr-trip-compass .upkr-selection-list small {
  font-size: 11.5px;
  line-height: 1.35;
}
.up-radar .upkr-trip-compass .upkr-selection-list strong {
  font-size: 12px;
  max-width: 155px;
  padding: 8px 10px;
}
.up-radar .upkr-step-heading p { font-size: 16px; line-height: 1.55; }
.up-radar .upkr-step label,
.up-radar .upkr-choice-group__label { font-size: 15px; }
.up-radar .upkr-step label small,
.up-radar .upkr-origin-help,
.up-radar .upkr-location-inline,
.up-radar .upkr-info-card p { font-size: 12.5px; line-height: 1.5; }

.up-radar .upkr-results__header {
  align-items: center;
  background: linear-gradient(135deg,#fffaf5 0%,#fff 72%);
  border: 1px solid #efded0;
  border-radius: 22px;
  box-shadow: 0 14px 36px rgba(20,35,51,.065);
  margin: 0 0 14px;
  padding: 24px 26px;
}
.up-radar .upkr-results__header h2 {
  color: var(--upkr-navy-strong);
  font-size: clamp(28px,3vw,40px);
  line-height: 1.08;
  margin: 6px 0 7px;
}
.up-radar .upkr-results__header p { color: #596875; font-size: 15px; line-height: 1.45; }
.up-radar .upkr-results__toolbar {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(20,35,51,.055);
  margin-bottom: 18px;
  padding: 14px 16px;
}
.up-radar .upkr-filter-tabs button,
.up-radar .upkr-favorites-page-link,
.up-radar .upkr-results__toolbar label,
.up-radar .upkr-results__toolbar select { font-size: 14px; }
.up-radar .upkr-active-search { font-size: 13px; line-height: 1.45; }
.up-radar .upkr-active-search strong { font-size: 14px; }

.up-radar .upkr-card--listing[data-match-quality="verified"] .upkr-card__match,
.up-radar .upkr-card--listing[data-match-quality="exact"] .upkr-card__match {
  background: var(--upkr-navy-strong);
}
.up-radar .upkr-card--listing[data-match-quality="article_info"] .upkr-card__match { background: var(--upkr-orange); }
.up-radar .upkr-card--listing .upkr-card__match {
  font-size: 12px;
  padding: 9px 13px;
}
.up-radar .upkr-card--listing[data-match-quality="verified"] .upkr-card__source,
.up-radar .upkr-card--listing[data-match-quality="exact"] .upkr-card__source,
.up-radar .upkr-card--listing[data-match-quality="article_info"] .upkr-card__source { color: var(--upkr-orange-dark); }
.up-radar .upkr-card--listing .upkr-card__checked { color: #5d6b76; }
.up-radar .upkr-card--listing .upkr-card__body {
  gap: 12px;
  padding: 25px 27px 20px;
}
.up-radar .upkr-card--listing .upkr-card__source,
.up-radar .upkr-card--listing .upkr-card__checked { font-size: 12px; }
.up-radar .upkr-card--listing .upkr-card__location span { font-size: 12.5px; }
.up-radar .upkr-card--listing .upkr-card__location strong {
  font-size: 11.5px;
  padding: 7px 10px;
}
.up-radar .upkr-card__microfacts { font-size: 12px; gap: 7px 17px; }
.up-radar .upkr-card__microfacts span:not(:first-child)::before { left: -10px; }
.up-radar .upkr-card--listing .upkr-card__inclusions--listing {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li {
  font-size: 11.5px;
  line-height: 1.35;
  margin: 0;
  padding: 7px 10px;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li::before,
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li::marker { content: none !important; }
.up-radar .upkr-card__dealbar { padding: 13px 14px 13px 16px; }
.up-radar .upkr-card--listing .upkr-card__price span { font-size: 11px; }
.up-radar .upkr-card__tools--listing .upkr-card__tool {
  font-size: 12px;
  min-height: 39px;
  padding: 8px 10px;
}

.up-radar .upkr-card--listing .up-deal-card__favorite {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 8;
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button {
  align-items: center;
  appearance: none;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(20,35,51,.16);
  color: var(--upkr-orange);
  display: inline-flex;
  height: 48px;
  justify-content: center;
  margin: 0;
  padding: 0;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  width: 48px;
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button:hover {
  box-shadow: 0 11px 26px rgba(20,35,51,.22);
  transform: translateY(-1px) scale(1.03);
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button:focus-visible {
  outline: 3px solid rgba(239,125,34,.35);
  outline-offset: 3px;
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button svg {
  fill: none;
  height: 27px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 27px;
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button.active {
  background: #fff7f0;
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-card--listing .up-deal-card__favorite-button.active svg { fill: currentColor; }

.up-radar .upkr-empty {
  background: linear-gradient(145deg,#fffaf5 0%,#fff 76%);
  border: 1px solid #efd8c5;
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(20,35,51,.07);
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
  padding: clamp(24px,4vw,40px);
  text-align: left;
}
.up-radar .upkr-empty__visual { display: none !important; }
.up-radar .upkr-empty > div { justify-content: initial; }
.up-radar .upkr-empty__heading {
  align-items: start;
  display: grid !important;
  gap: 18px;
  grid-template-columns: 64px minmax(0,1fr);
}
.up-radar .upkr-empty__icon {
  align-items: center;
  background: var(--upkr-orange-soft);
  border: 1px solid #f2d2b5;
  border-radius: 18px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  height: 64px;
  justify-content: center;
  width: 64px;
}
.up-radar .upkr-empty__icon svg { height: 31px; width: 31px; }
.up-radar .upkr-empty__copy { display: block !important; }
.up-radar .upkr-empty__copy .upkr-empty__title {
  color: var(--upkr-navy-strong);
  font-size: clamp(26px,3vw,38px);
  line-height: 1.08;
  margin: 6px 0 9px;
}
.up-radar .upkr-empty__copy p {
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 760px;
}
.up-radar .upkr-empty__diagnosis {
  background: rgba(255,255,255,.92);
  border: 1px solid #eadfd5;
  border-radius: 16px;
  display: block !important;
  padding: 16px;
}
.up-radar .upkr-empty__diagnosis > strong { font-size: 13px; margin-bottom: 11px; }
.up-radar .upkr-empty__diagnosis > div { display: flex; flex-wrap: wrap; gap: 9px; }
.up-radar .upkr-empty__diagnosis button {
  font-size: 13px;
  min-height: 42px;
  padding: 10px 13px;
}
.up-radar .upkr-empty__actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start !important;
}

@media (max-width: 760px) {
  .up-radar .upkr-results__header { align-items: stretch; padding: 21px; }
  .up-radar .upkr-results__header > button { width: 100%; }
  .up-radar .upkr-card--listing .upkr-card__body { padding: 21px 20px 18px; }
}
@media (max-width: 580px) {
  .up-radar .upkr-progress { padding-left: 10px; padding-right: 10px; }
  .up-radar .upkr-progress button small { display: inline-flex; font-size: 9px; gap: 0; }
  .up-radar .upkr-progress button small svg { display: none; }
  .up-radar .upkr-results__toolbar { padding: 12px; }
  .up-radar .upkr-empty__heading { grid-template-columns: 1fr; }
  .up-radar .upkr-empty__icon { height: 56px; width: 56px; }
  .up-radar .upkr-empty__actions .upkr-button { width: 100%; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.15.1 – explicit inputs and unified tool UI
   -------------------------------------------------------------------------- */
.up-radar {
  --upkr-brand-blue: #126ca8;
  --upkr-brand-blue-dark: #0d527f;
  --upkr-brand-blue-soft: #eaf4fb;
}

.up-radar .upkr-hero__dashboard svg,
.up-radar .upkr-origin-locate svg,
.up-radar .upkr-explainer svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

/* The location action remains deliberately click-only, but is now a clearly
   labelled part of the field instead of an unexplained floating overlay. */
.up-radar .upkr-origin-input-wrap {
  align-items: stretch;
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(0,1fr) minmax(164px,auto);
  isolation: isolate;
}
.up-radar .upkr-origin-entry { min-width: 0; position: relative; }
.up-radar .upkr-origin-input-wrap input {
  border-radius: 14px !important;
  min-height: 56px;
  padding: 13px 16px !important;
}
.up-radar .upkr-origin-input-wrap:focus-within input { border-color: var(--upkr-brand-blue); }
.up-radar .upkr-origin-input-wrap input:focus { box-shadow: 0 0 0 4px rgba(18,108,168,.14); }
.up-radar .upkr-origin-locate {
  all: unset !important;
  align-items: center !important;
  appearance: none !important;
  background: var(--upkr-brand-blue) !important;
  border: 1px solid var(--upkr-brand-blue) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 20px rgba(18,108,168,.18) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  gap: 9px !important;
  height: auto !important;
  justify-content: center !important;
  line-height: 1.25 !important;
  min-height: 56px !important;
  padding: 11px 15px !important;
  position: static !important;
  right: auto !important;
  text-align: center !important;
  text-indent: 0 !important;
  top: auto !important;
  transform: none !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
  white-space: nowrap !important;
  width: auto !important;
  z-index: 5 !important;
}
.up-radar .upkr-origin-locate:hover {
  background: var(--upkr-brand-blue-dark) !important;
  border-color: var(--upkr-brand-blue-dark) !important;
  box-shadow: 0 10px 24px rgba(13,82,127,.24) !important;
  transform: translateY(-1px) !important;
}
.up-radar .upkr-origin-locate:focus-visible {
  outline: 3px solid rgba(18,108,168,.28) !important;
  outline-offset: 3px !important;
}
.up-radar .upkr-origin-locate:disabled { cursor: wait !important; opacity: .72 !important; transform: none !important; }
.up-radar .upkr-origin-locate__icon,
.up-radar .upkr-origin-locate__label {
  animation: none;
  display: inline-flex !important;
  line-height: 1.2 !important;
}
.up-radar .upkr-origin-locate__icon { align-items: center; height: 23px; justify-content: center; width: 23px; }
.up-radar .upkr-origin-locate__icon svg { height: 23px; width: 23px; }
.up-radar .upkr-origin-locate.is-loading span { animation: none; }
.up-radar .upkr-origin-locate.is-loading .upkr-origin-locate__icon svg { display: none; }
.up-radar .upkr-origin-locate.is-loading .upkr-origin-locate__icon::after {
  animation: upkr-spin .8s linear infinite;
  border: 2px solid rgba(255,255,255,.40);
  border-radius: 50%;
  border-top-color: #fff;
  content: "";
  height: 19px;
  transform-origin: center;
  width: 19px;
}
.up-radar .upkr-origin-locate.has-location {
  background: var(--upkr-navy-strong) !important;
  border-color: var(--upkr-brand-blue) !important;
  color: #fff !important;
}
.up-radar .upkr-origin-locate.has-location .upkr-origin-locate__icon svg { display: none; }
.up-radar .upkr-origin-locate.has-location .upkr-origin-locate__icon::after {
  align-items: center;
  background: var(--upkr-green);
  border-radius: 50%;
  content: "✓";
  display: inline-flex;
  font-size: 13px;
  height: 23px;
  justify-content: center;
  width: 23px;
}
.up-radar .upkr-origin-help { font-size: 13px; line-height: 1.5; margin-top: 8px; }
.up-radar .upkr-location-inline { font-size: 12px; line-height: 1.5; }

/* Budget is an actual tool card. No amount is visually suggested as selected
   until the visitor enters it. */
.up-radar .upkr-budget-mode { gap: 14px; }
.up-radar .upkr-budget-mode label > span {
  background: #fff;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(20,35,51,.045);
  min-height: 108px;
  padding: 20px;
}
.up-radar .upkr-budget-mode label:hover > span { background: var(--upkr-brand-blue-soft); border-color: #a9cee5; }
.up-radar .upkr-budget-mode input:checked + span {
  background: var(--upkr-brand-blue-soft);
  border-color: var(--upkr-brand-blue);
  box-shadow: 0 0 0 3px rgba(18,108,168,.10), 0 10px 24px rgba(20,35,51,.06);
}
.up-radar .upkr-budget-mode input:focus-visible + span { outline: 3px solid rgba(18,108,168,.25); outline-offset: 3px; }
.up-radar .upkr-budget-mode strong { color: var(--upkr-navy-strong); font-size: 17px; }
.up-radar .upkr-budget-mode small { font-size: 13px; line-height: 1.5; }
.up-radar .upkr-budget-input {
  background: linear-gradient(135deg,#f7fbfe,var(--upkr-brand-blue-soft));
  border: 1px solid #cfe3f0;
  border-radius: 18px;
  gap: 11px;
  margin-top: 20px;
  padding: 20px;
}
.up-radar .upkr-budget-input > span { color: var(--upkr-navy-strong); font-size: 15px; }
.up-radar .upkr-budget-input input { background: #fff; border-color: #bfd5e3; font-size: 25px; min-height: 60px; }
.up-radar .upkr-budget-input input:focus { border-color: var(--upkr-brand-blue); box-shadow: 0 0 0 4px rgba(18,108,168,.14); }
.up-radar .upkr-budget-input input::placeholder,
.up-radar .upkr-step input::placeholder { color: #667785; font-weight: 500; opacity: 1; }
.up-radar .upkr-budget-input small { font-size: 13px; line-height: 1.5; }

/* Hero, explainer and FAQ share the same navy anchor, blue tool accents,
   radii and readable type scale. */
.up-radar .upkr-hero {
  background:
    radial-gradient(circle at 88% 8%,rgba(18,108,168,.34),transparent 31%),
    linear-gradient(135deg,#122333 0%,#183247 64%,#22485e 100%);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  gap: clamp(32px,4vw,56px);
  grid-template-columns: minmax(0,1.05fr) minmax(330px,.75fr);
  padding: clamp(38px,5vw,64px);
}
.up-radar .upkr-main-heading { font-size: clamp(44px,6vw,72px); max-width: 10ch; }
.up-radar .upkr-hero__copy > p { color: rgba(255,255,255,.82); font-size: clamp(17px,1.7vw,20px); line-height: 1.65; }
.up-radar .upkr-hero__dashboard {
  background: #fff;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 22px;
  box-shadow: 0 22px 52px rgba(5,18,29,.24);
  color: var(--upkr-navy-strong);
  overflow: hidden;
  padding: 24px;
  position: relative;
}
.up-radar .upkr-hero__dashboard::before {
  background: linear-gradient(90deg,var(--upkr-brand-blue),#4da3d4 68%,var(--upkr-orange));
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.up-radar .upkr-hero__dashboard-head { border-bottom-color: #e2e9ed; padding-bottom: 18px; }
.up-radar .upkr-hero__dashboard-head span { color: #536473; font-size: 15px; }
.up-radar .upkr-hero__dashboard-head strong { background: var(--upkr-brand-blue); color: #fff; font-size: 12px; padding: 8px 12px; }
.up-radar .upkr-hero__dashboard li { gap: 15px; padding: 14px 2px; }
.up-radar .upkr-hero__dashboard li:not(:last-child) { border-bottom: 1px solid #edf1f4; }
.up-radar .upkr-hero__dashboard li > span {
  background: var(--upkr-brand-blue-soft);
  border: 1px solid #cfe3f0;
  border-radius: 12px;
  color: var(--upkr-brand-blue-dark);
  flex: 0 0 44px;
  height: 44px;
  width: 44px;
}
.up-radar .upkr-hero__dashboard li > span svg { height: 23px; width: 23px; }
.up-radar .upkr-hero__dashboard li strong { color: var(--upkr-navy-strong); font-size: 16px; }
.up-radar .upkr-hero__dashboard li small { color: #61717e; font-size: 13.5px; line-height: 1.4; }

.up-radar .upkr-explainer {
  align-items: stretch;
  background: linear-gradient(135deg,#f6fafc 0%,#fffaf5 100%);
  border: 1px solid #dbe7ee;
  border-radius: 26px;
  box-shadow: 0 16px 44px rgba(20,35,51,.07);
  gap: 22px;
  grid-template-columns: minmax(290px,.78fr) minmax(0,1.42fr);
  padding: clamp(24px,4vw,40px);
}
.up-radar .upkr-explainer__intro {
  background: linear-gradient(145deg,#142333,#203c50) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 21px !important;
  color: #fff;
  padding: clamp(24px,3vw,32px) !important;
}
.up-radar .upkr-explainer__intro h2 { color: #fff; font-size: clamp(30px,3.5vw,44px); line-height: 1.04; margin: 9px 0 15px; }
.up-radar .upkr-explainer__intro > p { color: rgba(255,255,255,.80); font-size: 15px; line-height: 1.65; }
.up-radar .upkr-explainer__seal {
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.14);
  border-radius: 16px;
  grid-template-columns: 44px minmax(0,1fr);
  margin-top: 24px;
  padding: 14px;
}
.up-radar .upkr-explainer__seal > span { height: 40px; width: 40px; }
.up-radar .upkr-explainer__seal > span svg { height: 24px; width: 24px; }
.up-radar .upkr-explainer__seal strong { font-size: 14px; }
.up-radar .upkr-explainer__seal small { color: rgba(255,255,255,.70); font-size: 12px; line-height: 1.4; }
.up-radar .upkr-explainer__grid { gap: 13px; }
.up-radar .upkr-explainer article {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 17px;
  box-shadow: 0 9px 24px rgba(20,35,51,.045);
  gap: 14px;
  grid-template-columns: 48px minmax(0,1fr);
  min-height: 158px;
  padding: 20px;
  transform: none;
}
.up-radar .upkr-explainer article:hover { border-color: #c8dce8; transform: none; }
.up-radar .upkr-explainer__icon {
  background: var(--upkr-brand-blue-soft);
  border-color: #cfe3f0;
  border-radius: 13px;
  color: var(--upkr-brand-blue-dark) !important;
  height: 48px;
  width: 48px;
}
.up-radar .upkr-explainer__icon svg { height: 26px; width: 26px; }
.up-radar .upkr-explainer article small { color: var(--upkr-orange-dark); font-size: 11px; letter-spacing: .08em; }
.up-radar .upkr-explainer h3 { color: var(--upkr-navy-strong); font-size: 19px; line-height: 1.3; margin: 4px 0 7px; }
.up-radar .upkr-explainer article p { color: #586875; font-size: 14px; line-height: 1.58; }

.up-radar .upkr-faq.upkr-faq--editorial {
  background: linear-gradient(135deg,#fffaf5 0%,#f6fafc 100%);
  border-color: #dbe7ee;
  border-radius: 26px;
  gap: 24px;
  padding: clamp(24px,4vw,40px);
}
.up-radar .upkr-faq__intro { background: linear-gradient(145deg,#142333,#203c50); border-radius: 21px; padding: clamp(24px,3vw,32px); }
.up-radar .upkr-faq__intro h2 { font-size: clamp(30px,3.4vw,43px); line-height: 1.05; }
.up-radar .upkr-faq__intro > p { color: rgba(255,255,255,.80); font-size: 15px; line-height: 1.65; }
.up-radar .upkr-faq__note { border-color: rgba(255,255,255,.14); border-radius: 16px; grid-template-columns: 44px minmax(0,1fr); padding: 14px; }
.up-radar .upkr-faq__note > span { background: var(--upkr-brand-blue); height: 40px; width: 40px; }
.up-radar .upkr-faq__note strong { font-size: 14px; }
.up-radar .upkr-faq__note small { color: rgba(255,255,255,.70); font-size: 12px; line-height: 1.45; }
.up-radar .upkr-faq__list { gap: 11px; }
.up-radar .upkr-faq__list details { border-color: #dce5ea; border-radius: 16px; }
.up-radar .upkr-faq__list details[open] { border-color: #a9cee5; box-shadow: 0 12px 28px rgba(20,35,51,.07); }
.up-radar .upkr-faq__list summary { grid-template-columns: 40px minmax(0,1fr) 34px; min-height: 64px; padding: 15px 17px; }
.up-radar .upkr-faq__list summary > span {
  background: var(--upkr-brand-blue-soft);
  border-color: #cfe3f0;
  color: var(--upkr-brand-blue-dark);
  font-size: 11px;
  height: 40px;
}
.up-radar .upkr-faq__list summary > strong { font-size: 16px; line-height: 1.4; }
.up-radar .upkr-faq__list summary::after { background: var(--upkr-navy-strong); color: #fff; height: 32px; line-height: 31px; width: 32px; }
.up-radar .upkr-faq__list details[open] summary::after { background: var(--upkr-orange-soft); color: var(--upkr-orange-dark); }
.up-radar .upkr-faq__list summary:focus-visible { outline: 3px solid rgba(18,108,168,.28); outline-offset: -3px; }
.up-radar .upkr-faq__list details p { color: #586875; font-size: 15px; line-height: 1.65; padding: 16px 20px 20px 71px; }

/* Destination weather uses the same blue-white tool hierarchy instead of
   tiny low-contrast text on several unrelated dark cards. */
.up-radar .upkr-destination-tabs { border: 1px solid rgba(255,255,255,.10); }
.up-radar .upkr-destination-tabs button { font-size: 13px; min-height: 44px; }
.up-radar .upkr-destination-tabs button.is-active { color: var(--upkr-brand-blue-dark); }
.up-radar .upkr-weather { min-height: 290px; }
.up-radar .upkr-weather__placeholder,
.up-radar .upkr-weather__loading,
.up-radar .upkr-weather__message {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 17px;
  min-height: 270px;
  padding: 28px;
}
.up-radar .upkr-weather__placeholder > span { color: var(--upkr-orange); font-size: 42px; }
.up-radar .upkr-weather__placeholder strong,
.up-radar .upkr-weather__loading strong,
.up-radar .upkr-weather__message strong { color: var(--upkr-navy-strong); font-size: 17px; }
.up-radar .upkr-weather__placeholder p,
.up-radar .upkr-weather__message p { color: #60707d; font-size: 13px; line-height: 1.55; max-width: 310px; }
.up-radar .upkr-weather__loading span { color: #60707d; font-size: 12px; }
.up-radar .upkr-weather__loading i { border-color: #d8e6ee; border-top-color: var(--upkr-brand-blue); }
.up-radar .upkr-weather__head {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 15px;
  margin-bottom: 10px;
  padding: 14px;
}
.up-radar .upkr-weather__head strong { color: var(--upkr-navy-strong); font-size: 16px; }
.up-radar .upkr-weather__source { background: var(--upkr-brand-blue); color: #fff; font-size: 11px; padding: 7px 9px; }
.up-radar .upkr-weather__days { gap: 9px; }
.up-radar .upkr-weather-day {
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 14px;
  color: var(--upkr-navy-strong);
  gap: 5px;
  min-height: 145px;
  padding: 13px;
}
.up-radar .upkr-weather-day.is-today { background: var(--upkr-brand-blue-soft); border-color: #9cc8e2; }
.up-radar .upkr-weather-day small { color: #5e6e7b; font-size: 12px; }
.up-radar .upkr-weather-day__icon { color: var(--upkr-orange); font-size: 29px; }
.up-radar .upkr-weather-day strong { font-size: 16px; }
.up-radar .upkr-weather-day em { color: #526571; font-size: 12px; }
.up-radar .upkr-weather-day > div span { color: #60707d; font-size: 11px; }
.up-radar .upkr-weather__note {
  background: rgba(255,255,255,.08);
  border-radius: 10px;
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  padding: 10px 12px;
}
.up-radar .upkr-weather__note a { color: #ffd0a8; }

/* Photo-led current deals use the same cards and blue information accents. */
.up-radar .upkr-latest-card { border-color: #dce5ea; border-radius: 18px; box-shadow: 0 12px 30px rgba(20,35,51,.065); }
.up-radar .upkr-latest-card__image { border-bottom: 4px solid var(--upkr-brand-blue); }
.up-radar .upkr-latest-card__meta { font-size: 11px; }
.up-radar .upkr-latest-card h3 { color: var(--upkr-navy-strong); font-size: 19px; }
.up-radar .upkr-latest-card__facts span,
.up-radar .upkr-latest-card__excerpt { font-size: 13px; line-height: 1.55; }
.up-radar .upkr-latest-card li { background: var(--upkr-brand-blue-soft); color: var(--upkr-brand-blue-dark); font-size: 11px; }
.up-radar .upkr-latest-card__link { font-size: 12px; }

@media (max-width: 900px) {
  .up-radar .upkr-hero { grid-template-columns: 1fr; }
  .up-radar .upkr-hero__dashboard { max-width: none; width: 100%; }
  .up-radar .upkr-explainer,
  .up-radar .upkr-faq.upkr-faq--editorial { grid-template-columns: 1fr; }
  .up-radar .upkr-faq__intro { position: static; }
}
@media (max-height: 700px) { .up-radar .upkr-faq__intro { position: static; } }
@media (max-width: 620px) {
  .up-radar .upkr-origin-input-wrap { grid-template-columns: 1fr; }
  .up-radar .upkr-origin-locate { width: 100% !important; }
  .up-radar .upkr-budget-mode { grid-template-columns: 1fr; }
  .up-radar .upkr-hero { border-radius: 21px; margin-left: 0; margin-right: 0; padding: 30px 22px; }
  .up-radar .upkr-hero__dashboard { padding: 18px; }
  .up-radar .upkr-main-heading { font-size: clamp(40px,13vw,58px); }
  .up-radar .upkr-explainer,
  .up-radar .upkr-faq.upkr-faq--editorial { border-radius: 21px; padding: 20px; }
  .up-radar .upkr-explainer__grid { grid-template-columns: 1fr; }
  .up-radar .upkr-explainer article { min-height: 0; }
  .up-radar .upkr-explainer article { grid-template-columns: 40px minmax(0,1fr); padding: 16px; }
  .up-radar .upkr-explainer__icon { height: 40px; width: 40px; }
  .up-radar .upkr-explainer__icon svg { height: 22px; width: 22px; }
  .up-radar .upkr-faq__list summary { gap: 9px; grid-template-columns: 34px minmax(0,1fr) 30px; padding: 12px; }
  .up-radar .upkr-faq__list summary > span { height: 34px; }
  .up-radar .upkr-faq__list summary::after { height: 30px; line-height: 29px; width: 30px; }
  .up-radar .upkr-faq__list details p { padding: 14px 16px 18px; }
  .up-radar .upkr-weather__days { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .up-radar .upkr-origin-locate { transition: none !important; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.15.2 – confirmed toggles and focus tools
   -------------------------------------------------------------------------- */
.up-radar .upkr-results-layout,
.up-radar .upkr-results-layout.has-map,
.up-radar .upkr-results-layout:has(.upkr-result-map:not([hidden])) {
  display: block;
  grid-template-columns: 1fr;
}

/* The two supporting sidebar modules now read as quiet first-party tools. */
.up-radar .upkr-compass-benefits,
.up-radar .upkr-sidebar-note {
  background: linear-gradient(145deg, #ffffff 0%, #f5faff 100%);
  border: 1px solid #d8e7f0;
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(20, 35, 51, .065);
  color: var(--upkr-navy-strong);
  overflow: hidden;
  position: relative;
}
.up-radar .upkr-compass-benefits::before,
.up-radar .upkr-sidebar-note::before {
  background: linear-gradient(90deg, var(--upkr-brand-blue), #54a7d6, var(--upkr-orange));
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}
.up-radar .upkr-compass-benefits { padding: 25px 22px 22px; }
.up-radar .upkr-compass-benefits .upkr-eyebrow { color: var(--upkr-brand-blue-dark); font-size: 11px; }
.up-radar .upkr-compass-benefits h3 {
  color: var(--upkr-navy-strong);
  font-size: 22px;
  line-height: 1.14;
  margin: 7px 0 17px;
}
.up-radar .upkr-compass-benefits ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.up-radar .upkr-compass-benefits li {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe9ef;
  border-radius: 15px;
  display: grid;
  gap: 11px;
  grid-template-columns: 44px minmax(0, 1fr);
  margin: 0;
  padding: 12px;
}
.up-radar .upkr-compass-benefits li > span,
.up-radar .upkr-sidebar-note > span {
  align-items: center;
  background: var(--upkr-brand-blue-soft);
  border: 1px solid #cfe3f0;
  border-radius: 12px;
  color: var(--upkr-brand-blue-dark);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.up-radar .upkr-compass-benefits svg,
.up-radar .upkr-sidebar-note svg,
.up-radar .upkr-destination-tabs svg {
  fill: none;
  height: 23px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
  width: 23px;
}
.up-radar .upkr-compass-benefits li div { display: grid; gap: 3px; }
.up-radar .upkr-compass-benefits li strong { color: var(--upkr-navy-strong); font-size: 14px; line-height: 1.35; }
.up-radar .upkr-compass-benefits li small { color: #60717d; font-size: 12px; line-height: 1.45; }
.up-radar .upkr-sidebar-note {
  align-items: flex-start;
  display: grid;
  gap: 12px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 23px 20px 20px;
}
.up-radar .upkr-sidebar-note strong { color: var(--upkr-navy-strong); font-size: 15px; line-height: 1.35; }
.up-radar .upkr-sidebar-note p { color: #5c6e7b; font-size: 12.5px; line-height: 1.58; margin: 6px 0 0; }
.up-radar .upkr-sidebar-note a { color: var(--upkr-brand-blue-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

/* Only explicitly supported values receive green; article-only information is blue. */
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-verified {
  background: #e8f7ef;
  border-color: #c9e8d7;
  color: #126844;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-info {
  background: var(--upkr-brand-blue-soft);
  border-color: #c9dfec;
  color: var(--upkr-brand-blue-dark);
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-neutral,
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-type {
  background: #f3f5f7;
  border-color: #dfe5e9;
  color: #566673;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li {
  font-size: 12px;
  padding: 8px 11px;
}

/* A pending heart cannot be clicked twice; its state changes only after REST confirmation. */
.up-radar .up-deal-card__favorite-button.is-processing { cursor: wait; position: relative; }
.up-radar .up-deal-card__favorite-button.is-processing svg { opacity: .18; }
.up-radar .up-deal-card__favorite-button.is-processing::after {
  animation: upkr-spin .7s linear infinite;
  border: 3px solid rgba(18,108,168,.18);
  border-radius: 50%;
  border-top-color: var(--upkr-brand-blue);
  content: "";
  height: 23px;
  position: absolute;
  width: 23px;
}
.upkr-login-trigger { height: 1px; left: -10000px; overflow: hidden; position: fixed; top: -10000px; width: 1px; }

/* Shared, keyboard-safe full-focus overlay. */
.up-radar .upkr-tool-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: clamp(12px, 3vw, 34px);
  position: fixed;
  z-index: 100000;
}
.up-radar .upkr-tool-modal__backdrop {
  appearance: none;
  background: rgba(9, 20, 31, .78);
  border: 0;
  border-radius: 0;
  inset: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}
.up-radar .upkr-tool-modal__dialog {
  background: #f5f8fa;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 26px;
  box-shadow: 0 32px 100px rgba(2, 14, 25, .42);
  display: flex;
  flex-direction: column;
  max-height: min(900px, calc(100vh - 40px));
  max-height: min(900px, calc(100dvh - 40px));
  overflow: hidden;
  position: relative;
  width: min(1180px, 100%);
  z-index: 2;
}
.up-radar .upkr-tool-modal__header {
  align-items: flex-start;
  background: linear-gradient(135deg, #142333 0%, #1e3a4f 100%);
  display: flex;
  gap: 22px;
  justify-content: space-between;
  padding: clamp(24px, 3.6vw, 39px) clamp(23px, 4vw, 44px) 25px;
}
.up-radar .upkr-tool-modal__header .upkr-eyebrow { color: #ffc28d; font-size: 11px; }
.up-radar .upkr-tool-modal__header h2 {
  color: #fff;
  font-size: clamp(31px, 4.2vw, 50px);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 8px 0 8px;
}
.up-radar .upkr-tool-modal__header p { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.5; margin: 0; }
.up-radar .upkr-tool-modal__close {
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 48px;
  font-size: 29px;
  height: 48px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 3px;
  width: 48px;
}
.up-radar .upkr-tool-modal__close:hover { background: rgba(255,255,255,.18); }
.up-radar .upkr-tool-modal__close:focus-visible,
.up-radar .upkr-destination-tabs button:focus-visible {
  outline: 3px solid rgba(255, 172, 98, .82);
  outline-offset: 3px;
}
.up-radar .upkr-tool-modal__body { min-height: 0; overflow: auto; padding: clamp(20px, 3vw, 34px); }
.up-radar .upkr-tool-modal__footer {
  align-items: center;
  background: #fff;
  border-top: 1px solid #dce5ea;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 14px clamp(20px, 3vw, 34px);
}
.up-radar .upkr-destination-dialog__footer { flex-wrap: wrap; }
.up-radar .upkr-consent-settings-link {
  appearance: none;
  background: transparent;
  border: 0;
  color: #075985;
  cursor: pointer;
  font: inherit;
  font-size: 12.5px;
  font-weight: 800;
  margin-right: auto;
  min-height: 44px;
  padding: 8px 2px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.up-radar .upkr-consent-settings-link:hover { color: #043e59; }
.up-radar .upkr-consent-settings-link:focus-visible {
  border-radius: 5px;
  outline: 3px solid rgba(7,89,133,.28);
  outline-offset: 3px;
}
.up-radar .upkr-consent-settings-link[hidden] { display: none !important; }

/* Route and weather are a prominent destination workspace, never a thin sidebar. */
.up-radar .upkr-destination-tabs {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #dce5ea;
  border-radius: 0;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 10px clamp(20px, 4vw, 44px);
}
.up-radar .upkr-destination-tabs button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #667580;
  display: inline-flex;
  font-size: 14px;
  font-weight: 850;
  gap: 9px;
  justify-content: center;
  min-height: 49px;
  padding: 10px 16px;
}
.up-radar .upkr-destination-tabs button.is-active {
  background: var(--upkr-brand-blue-soft);
  border-color: #bddbea;
  color: var(--upkr-brand-blue-dark);
}
.up-radar .upkr-destination-body { background: linear-gradient(145deg, #f7fafc, #eef5f8); }
.up-radar .upkr-destination-pane[hidden] { display: none !important; }
.up-radar .upkr-result-map__canvas {
  background: transparent;
  border: 0;
  display: grid;
  gap: 14px 22px;
  grid-template-areas: "route map" "note map";
  grid-template-columns: minmax(280px, .72fr) minmax(420px, 1.28fr);
  height: auto;
  margin: 0;
  min-height: 470px;
  overflow: visible;
  padding: 0;
}
.up-radar .upkr-result-map__canvas > .upkr-route-visual {
  align-items: stretch;
  background: #fff;
  border: 1px solid #dbe6ec;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(20,35,51,.06);
  display: block;
  grid-area: route;
  height: auto;
  justify-content: initial;
  padding: 24px;
  text-align: left;
}
.up-radar .upkr-route-stop strong { color: var(--upkr-navy-strong); font-size: 16px; line-height: 1.35; }
.up-radar .upkr-route-stop small { color: #687985; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.up-radar .upkr-route-visual__metrics { border-top: 1px solid #dce5ea; margin-top: 19px; padding-top: 18px; }
.up-radar .upkr-route-visual__metrics strong { color: var(--upkr-orange-dark); font-size: 34px; letter-spacing: -.035em; }
.up-radar .upkr-route-visual__metrics span { color: var(--upkr-navy-strong); font-size: 17px; font-weight: 850; }
.up-radar .upkr-route-visual__metrics small { color: #62737f; display: block; font-size: 12px; line-height: 1.45; margin-top: 8px; }
.up-radar .upkr-route-link { color: var(--upkr-brand-blue-dark); display: inline-flex; font-size: 13px; font-weight: 850; margin-top: 19px; text-underline-offset: 3px; }
.up-radar .upkr-map-precision {
  align-self: start;
  background: var(--upkr-brand-blue-soft);
  border: 1px solid #cae0ec;
  border-radius: 13px;
  color: #375c73;
  font-size: 12px;
  grid-area: note;
  line-height: 1.5;
  margin: 0;
  padding: 13px 15px;
}
.up-radar .upkr-map-consent,
.up-radar .upkr-map-frame {
  grid-area: map;
  min-height: 470px;
}
.up-radar .upkr-map-consent {
  align-items: center;
  background: linear-gradient(145deg, #142333, #21445d);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(20,35,51,.16);
  color: #fff;
  display: flex;
  flex-direction: row;
  gap: 20px;
  height: auto;
  justify-content: center;
  padding: clamp(28px, 4vw, 48px);
  text-align: left;
}
.up-radar .upkr-map-consent__icon,
.up-radar .upkr-weather-intro__icon {
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  color: #ffc28d;
  display: inline-flex;
  flex: 0 0 68px;
  font-size: 34px;
  height: 68px;
  justify-content: center;
  width: 68px;
}
.up-radar .upkr-map-consent .upkr-eyebrow { color: #ffc28d; }
.up-radar .upkr-map-consent h3 { color: #fff; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; margin: 8px 0 11px; }
.up-radar .upkr-map-consent p { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.6; margin: 0 0 21px; max-width: 540px; }
.up-radar .upkr-map-frame { background: #dce8ee; border-radius: 22px; box-shadow: 0 18px 45px rgba(20,35,51,.14); display: block; height: auto; overflow: hidden; padding: 0; position: relative; text-align: left; }
.up-radar .upkr-result-map__canvas .upkr-map-frame iframe { border: 0; border-radius: 0; display: block; height: 100%; margin: 0; min-height: 470px; width: 100%; }
.up-radar .upkr-map-frame__label { background: rgba(20,35,51,.88); border-radius: 999px; bottom: 15px; color: #fff; font-size: 12px; font-weight: 800; left: 15px; padding: 8px 11px; position: absolute; }

.up-radar .upkr-weather { min-height: 470px; }
.up-radar .upkr-weather-intro {
  align-items: center;
  background: linear-gradient(145deg, #142333, #21445d);
  border-radius: 22px;
  color: #fff;
  display: flex;
  gap: 22px;
  min-height: 430px;
  padding: clamp(30px, 5vw, 58px);
}
.up-radar .upkr-weather-intro .upkr-eyebrow { color: #ffc28d; }
.up-radar .upkr-weather-intro h3 { color: #fff; font-size: clamp(29px, 4vw, 44px); line-height: 1.05; margin: 8px 0 12px; }
.up-radar .upkr-weather-intro p { color: rgba(255,255,255,.73); font-size: 15px; line-height: 1.6; margin: 0 0 22px; max-width: 650px; }
.up-radar .upkr-weather__loading,
.up-radar .upkr-weather__message {
  background: #fff;
  border: 1px solid #dbe6ec;
  border-radius: 20px;
  min-height: 390px;
  padding: 35px;
}
.up-radar .upkr-weather__head { border-radius: 18px; margin-bottom: 14px; padding: 18px 20px; }
.up-radar .upkr-weather__head strong { font-size: 21px; }
.up-radar .upkr-weather__days { gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.up-radar .upkr-weather-day { border-radius: 18px; min-height: 205px; padding: 20px; }
.up-radar .upkr-weather-day small { font-size: 13px; }
.up-radar .upkr-weather-day__icon { font-size: 39px; margin: 7px 0; }
.up-radar .upkr-weather-day strong { font-size: 20px; }
.up-radar .upkr-weather-day em { font-size: 13px; }
.up-radar .upkr-weather-day > div span { font-size: 12px; }
.up-radar .upkr-weather__note {
  background: var(--upkr-brand-blue-soft);
  border: 1px solid #cce1ed;
  color: #405f72 !important;
  font-size: 12.5px !important;
  margin-top: 14px !important;
  padding: 12px 14px;
}
.up-radar .upkr-weather__note a { color: var(--upkr-brand-blue-dark); font-weight: 800; }

/* Deal facts are grouped in a calm, flat information architecture. */
.up-radar .upkr-details-dialog { width: min(980px, 100%); }
.up-radar .upkr-details-modal__content { display: block; }
.up-radar .upkr-details-view { display: grid; gap: 18px; }
.up-radar .upkr-details-overview {
  align-items: center;
  background: linear-gradient(135deg, #fff9f3, #fff);
  border: 1px solid #efdcca;
  border-radius: 19px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 20px 22px;
}
.up-radar .upkr-details-overview > div:first-child { display: grid; gap: 4px; }
.up-radar .upkr-details-overview > div:first-child > strong { color: var(--upkr-navy-strong); font-size: 32px; letter-spacing: -.035em; }
.up-radar .upkr-details-overview p { color: #61717d; font-size: 13px; margin: 0; }
.up-radar .upkr-details-overview__checked { background: #fff; border: 1px solid #dfe7eb; border-radius: 13px; display: grid; gap: 3px; min-width: 150px; padding: 12px 14px; }
.up-radar .upkr-details-overview__checked span { color: #71808a; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.up-radar .upkr-details-overview__checked strong { color: var(--upkr-navy-strong); font-size: 14px; }
.up-radar .upkr-details-section { background: #fff; border: 1px solid #dce5ea; border-radius: 19px; padding: 21px; }
.up-radar .upkr-details-section h3 { color: var(--upkr-navy-strong); font-size: 19px; margin: 0 0 13px; }
.up-radar .upkr-details-section__intro { color: #61717d; font-size: 12.5px; line-height: 1.5; margin: -6px 0 15px; }
.up-radar .upkr-details-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.up-radar .upkr-details-fact { background: #f5f8fa; border: 1px solid #e1e8ec; border-radius: 13px; min-width: 0; padding: 13px 14px; }
.up-radar .upkr-details-fact.is-confirmed { background: #f0faf5; border-color: #d4ebdf; }
.up-radar .upkr-details-fact.is-info { background: #eef6ff; border-color: #c9def4; }
.up-radar .upkr-details-fact.is-open { background: #fff8f1; border-color: #f0ddca; }
.up-radar .upkr-details-fact dt { color: #697984; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.up-radar .upkr-details-fact dd { color: var(--upkr-navy-strong); font-size: 14px; font-weight: 780; line-height: 1.42; margin: 5px 0 0; overflow-wrap: anywhere; }
.up-radar .upkr-details-inclusions,
.up-radar .upkr-details-status { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.up-radar .upkr-details-inclusions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.up-radar .upkr-details-inclusions li,
.up-radar .upkr-details-status li { border-radius: 12px; font-size: 13px; font-weight: 750; line-height: 1.45; margin: 0; padding: 11px 13px; }
.up-radar .upkr-details-inclusions li,
.up-radar .upkr-details-status li.is-confirmed { background: #eaf8f1; border: 1px solid #d1eadc; color: #176b48; }
.up-radar .upkr-details-status li.is-warning { background: #fff5e9; border: 1px solid #f0d7bd; color: #95440d; }
.up-radar .upkr-details-section.is-info { border-color: #c9dfec; }
.up-radar .upkr-details-inclusions li.is-info,
.up-radar .upkr-details-status li.is-info { background: var(--upkr-brand-blue-soft); border: 1px solid #c9dfec; color: var(--upkr-brand-blue-dark); }

@media (max-width: 900px) {
  .up-radar .upkr-result-map__canvas { grid-template-areas: "route" "note" "map"; grid-template-columns: 1fr; }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame { min-height: 390px; }
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 390px; }
  .up-radar .upkr-weather__days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .up-radar .upkr-tool-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); order: 2; }
  .up-radar .upkr-wizard { order: 1; }
  .up-radar .upkr-compass-benefits,
  .up-radar .upkr-sidebar-note { height: 100%; }
}
@media (max-width: 620px) {
  .up-radar .upkr-tool-sidebar { grid-template-columns: 1fr; }
  .up-radar .upkr-tool-modal { align-items: stretch; padding: 0; }
  .up-radar .upkr-tool-modal__dialog { border: 0; border-radius: 0; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; width: 100%; }
  .up-radar .upkr-tool-modal__header { padding: 20px 18px 17px; }
  .up-radar .upkr-tool-modal__header h2 { font-size: 30px; }
  .up-radar .upkr-tool-modal__header p { font-size: 12.5px; }
  .up-radar .upkr-tool-modal__close { flex-basis: 42px; height: 42px; width: 42px; }
  .up-radar .upkr-destination-tabs { padding: 8px 12px; position: sticky; top: 0; z-index: 3; }
  .up-radar .upkr-destination-tabs button { font-size: 12px; min-height: 44px; padding: 8px; }
  .up-radar .upkr-tool-modal__body { padding: 15px; }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-weather-intro { align-items: flex-start; flex-direction: column; min-height: 390px; padding: 27px 22px; }
  .up-radar .upkr-map-consent__icon,
  .up-radar .upkr-weather-intro__icon { flex-basis: 56px; font-size: 28px; height: 56px; width: 56px; }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame,
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 340px; }
  .up-radar .upkr-weather__days,
  .up-radar .upkr-details-grid,
  .up-radar .upkr-details-inclusions { grid-template-columns: 1fr; }
  .up-radar .upkr-weather-day { min-height: 165px; }
  .up-radar .upkr-details-overview { align-items: stretch; flex-direction: column; }
  .up-radar .upkr-tool-modal__footer { position: sticky; bottom: 0; }
  .up-radar .upkr-tool-modal__footer .upkr-button { flex: 1 1 0; font-size: 12px; padding-left: 10px; padding-right: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .up-radar .up-deal-card__favorite-button.is-processing::after { animation-duration: 1.6s; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.15.3 – coherent cards and compact glance UI
   -------------------------------------------------------------------------- */

/* Result cards: one calm information hierarchy with Urlaubspunkt blue as the
   utility colour and orange reserved for the booking action. */
.up-radar .upkr-card.upkr-card--listing {
  background: #fff;
  border: 1px solid #d9e4ea;
  border-radius: 24px;
  box-shadow: 0 14px 38px rgba(20,35,51,.075);
  grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);
  min-height: 286px;
}
.up-radar .upkr-card.upkr-card--listing::before { height: 4px; }
.up-radar .upkr-card--listing .upkr-card__media,
.up-radar .upkr-card--listing .upkr-card__image,
.up-radar .upkr-card--listing .upkr-card__placeholder { min-height: 286px; }
.up-radar .upkr-card--listing .upkr-card__body {
  align-content: center;
  gap: 10px;
  padding: 22px 24px 18px;
}
.up-radar .upkr-card--listing .upkr-card__meta { gap: 7px; }
.up-radar .upkr-card--listing .upkr-card__source {
  background: #fff3e8;
  border-radius: 999px;
  color: var(--upkr-orange-dark) !important;
  padding: 5px 9px;
}
.up-radar .upkr-card--listing .upkr-card__checked { font-size: 11px; }
.up-radar .upkr-card--listing .upkr-card__title {
  font-size: clamp(23px, 2.35vw, 32px);
  line-height: 1.08;
  margin: 1px 0 2px;
}
.up-radar .upkr-card--listing .upkr-card__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #61717d;
  display: -webkit-box;
  font-size: 12px;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
}
.up-radar .upkr-card--listing .upkr-card__location { gap: 9px; }
.up-radar .upkr-card--listing .upkr-card__location span { color: #4f6170; font-size: 12px; }
.up-radar .upkr-card--listing .upkr-card__location strong {
  background: var(--upkr-brand-blue-soft);
  border-color: #c9dfec;
  color: var(--upkr-brand-blue-dark);
  font-size: 11px;
  padding: 7px 10px;
}
.up-radar .upkr-card__microfacts { color: #61717d; font-size: 11.5px; }
.up-radar .upkr-card--listing .upkr-card__inclusions--listing { gap: 7px; }
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li {
  font-size: 11px;
  padding: 7px 10px;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-info {
  background: var(--upkr-brand-blue-soft);
  border-color: #c7dfed;
  color: var(--upkr-brand-blue-dark);
}
.up-radar .upkr-card__dealbar {
  background: #fffaf5;
  border-color: #efd9c5;
  border-radius: 15px;
  margin-top: 2px;
  padding: 11px 12px 11px 15px;
}
.up-radar .upkr-card--listing .upkr-card__price strong { font-size: 28px; }
.up-radar .upkr-card__tools--listing {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 0;
}
.up-radar .upkr-card__tools--listing .upkr-card__tool {
  background: #f9fbfc;
  border-color: #d8e3e9;
  border-radius: 11px;
  color: #4e6270;
  flex: 1 1 120px;
  font-size: 11.5px;
  min-height: 39px;
  padding: 8px 7px;
}
.up-radar .upkr-card__tools--listing .upkr-card__tool:hover,
.up-radar .upkr-card__tools--listing .upkr-card__tool:focus-visible,
.up-radar .upkr-card__tools--listing .upkr-card__tool.is-active {
  background: var(--upkr-brand-blue-soft);
  border-color: #a9cfE4;
  color: var(--upkr-brand-blue-dark);
}

/* Details and destination checks are intentionally glance-sized. Comparison
   keeps its own wider workspace. */
.up-radar .upkr-destination-modal,
.up-radar .upkr-details-modal { padding: 16px; }
.up-radar .upkr-destination-modal .upkr-tool-modal__dialog {
  max-height: min(660px, calc(100dvh - 32px));
  width: min(900px, calc(100vw - 32px));
}
.up-radar .upkr-details-modal .upkr-tool-modal__dialog {
  max-height: min(690px, calc(100dvh - 32px));
  width: min(820px, calc(100vw - 32px));
}
.up-radar .upkr-destination-modal .upkr-tool-modal__header,
.up-radar .upkr-details-modal .upkr-tool-modal__header {
  align-items: center;
  gap: 16px;
  padding: 16px 20px 14px;
}
.up-radar .upkr-destination-modal .upkr-tool-modal__header h2,
.up-radar .upkr-details-modal .upkr-tool-modal__header h2 {
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.08;
  margin: 3px 0 4px;
}
.up-radar .upkr-destination-modal .upkr-tool-modal__header p,
.up-radar .upkr-details-modal .upkr-tool-modal__header p { font-size: 12px; line-height: 1.35; }
.up-radar .upkr-destination-modal .upkr-tool-modal__header .upkr-eyebrow,
.up-radar .upkr-details-modal .upkr-tool-modal__header .upkr-eyebrow { font-size: 9.5px; }
.up-radar .upkr-destination-modal .upkr-tool-modal__close,
.up-radar .upkr-details-modal .upkr-tool-modal__close {
  flex-basis: 38px;
  font-size: 24px;
  height: 38px;
  width: 38px;
}
.up-radar .upkr-destination-modal .upkr-tool-modal__body,
.up-radar .upkr-details-modal .upkr-tool-modal__body { padding: 15px 18px; }
.up-radar .upkr-details-modal .upkr-tool-modal__footer { padding: 10px 18px; }
.up-radar .upkr-details-modal .upkr-tool-modal__footer .upkr-button {
  font-size: 12px;
  min-height: 40px;
  padding: 9px 15px;
}

.up-radar .upkr-destination-tabs { gap: 6px; padding: 6px 18px; }
.up-radar .upkr-destination-tabs button {
  border-radius: 10px;
  font-size: 12px;
  min-height: 39px;
  padding: 7px 12px;
}
.up-radar .upkr-destination-tabs button svg { height: 18px; width: 18px; }
.up-radar .upkr-result-map__canvas {
  gap: 10px 14px;
  grid-template-columns: minmax(215px, .72fr) minmax(330px, 1.28fr);
  min-height: 0;
}
.up-radar .upkr-result-map__canvas > .upkr-route-visual {
  border-radius: 15px;
  padding: 15px;
}
.up-radar .upkr-route-stop { gap: 9px; }
.up-radar .upkr-route-stop > span { height: 31px; width: 31px; }
.up-radar .upkr-route-stop strong { font-size: 13px; }
.up-radar .upkr-route-stop small { font-size: 10.5px; }
.up-radar .upkr-route-line { height: 22px; margin-left: 15px; }
.up-radar .upkr-route-visual__metrics { margin-top: 11px; padding-top: 11px; }
.up-radar .upkr-route-visual__metrics strong { font-size: 25px; }
.up-radar .upkr-route-visual__metrics span { font-size: 13px; }
.up-radar .upkr-route-visual__metrics small { font-size: 11px; margin-top: 4px; }
.up-radar .upkr-route-link { font-size: 12px; margin-top: 10px; }
.up-radar .upkr-map-precision { font-size: 11.5px; padding: 9px 11px; }
.up-radar .upkr-map-consent,
.up-radar .upkr-map-frame { border-radius: 16px; min-height: 242px; }
.up-radar .upkr-map-consent {
  gap: 14px;
  padding: 20px;
}
.up-radar .upkr-map-consent__icon,
.up-radar .upkr-weather-intro__icon {
  border-radius: 13px;
  flex-basis: 48px;
  font-size: 24px;
  height: 48px;
  width: 48px;
}
.up-radar .upkr-map-consent h3 { font-size: 20px; margin: 4px 0 6px; }
.up-radar .upkr-map-consent p { font-size: 12px; line-height: 1.45; margin: 0 0 12px; }
.up-radar .upkr-map-consent .upkr-button { font-size: 11px; min-height: 38px; padding: 8px 12px; }
.up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 242px; }

.up-radar .upkr-weather { min-height: 0; }
.up-radar .upkr-weather-intro {
  border-radius: 16px;
  gap: 15px;
  min-height: 220px;
  padding: 24px;
}
.up-radar .upkr-weather-intro h3 { font-size: 24px; margin: 4px 0 7px; }
.up-radar .upkr-weather-intro p { font-size: 12px; line-height: 1.45; margin: 0 0 13px; }
.up-radar .upkr-weather-intro .upkr-button { font-size: 11px; min-height: 38px; padding: 8px 12px; }
.up-radar .upkr-weather__loading,
.up-radar .upkr-weather__message { min-height: 210px; padding: 24px; }
.up-radar .upkr-weather__head { margin-bottom: 9px; padding: 10px 13px; }
.up-radar .upkr-weather__head strong { font-size: 15px; }
.up-radar .upkr-weather__source { height: 39px; width: 39px; }
.up-radar .upkr-weather__days { gap: 8px; }
.up-radar .upkr-weather-day { border-radius: 13px; min-height: 126px; padding: 12px; }
.up-radar .upkr-weather-day small { font-size: 11px; }
.up-radar .upkr-weather-day__icon { font-size: 27px; margin: 3px 0; }
.up-radar .upkr-weather-day strong { font-size: 16px; }
.up-radar .upkr-weather-day em { font-size: 11.5px; margin-top: 2px; }
.up-radar .upkr-weather-day > div { gap: 6px; margin-top: 5px; }
.up-radar .upkr-weather-day > div span { font-size: 11px; }
.up-radar .upkr-weather__note { font-size: 11px !important; margin-top: 8px !important; padding: 8px 10px; }

.up-radar .upkr-details-view { gap: 10px; }
.up-radar .upkr-details-overview { border-radius: 14px; gap: 13px; padding: 13px 15px; }
.up-radar .upkr-details-overview__title {
  color: var(--upkr-navy-strong);
  font-size: 14px;
  line-height: 1.25;
  margin: 0;
}
.up-radar .upkr-details-overview > div:first-child > strong { font-size: 25px; }
.up-radar .upkr-details-overview p { font-size: 11px; }
.up-radar .upkr-details-overview__checked { min-width: 125px; padding: 9px 11px; }
.up-radar .upkr-details-overview__checked strong { font-size: 12px; }
.up-radar .upkr-details-section { border-radius: 14px; padding: 13px; }
.up-radar .upkr-details-section h3 { font-size: 14px; margin: 0 0 8px; }
.up-radar .upkr-details-section__intro { font-size: 11.5px; margin: -3px 0 8px; }
.up-radar .upkr-details-grid { gap: 7px; }
.up-radar .upkr-details-fact { border-radius: 10px; padding: 9px 10px; }
.up-radar .upkr-details-fact dt { font-size: 10px; }
.up-radar .upkr-details-fact dd { font-size: 12px; line-height: 1.3; margin-top: 3px; }
.up-radar .upkr-details-inclusions,
.up-radar .upkr-details-status { gap: 6px; }
.up-radar .upkr-details-inclusions li,
.up-radar .upkr-details-status li { border-radius: 9px; font-size: 11.5px; line-height: 1.3; padding: 8px 9px; }
.up-radar .upkr-details-inclusions li.is-more {
  background: #f5f8fa;
  border: 1px dashed #cddae1;
  color: #5a6c78;
}

@media (max-width: 760px) {
  .up-radar .upkr-card.upkr-card--listing { grid-template-columns: 1fr; }
  .up-radar .upkr-card--listing .upkr-card__media,
  .up-radar .upkr-card--listing .upkr-card__image,
  .up-radar .upkr-card--listing .upkr-card__placeholder { height: 205px; min-height: 205px; }
  .up-radar .upkr-card--listing .upkr-card__body { padding: 18px; }
  .up-radar .upkr-card--listing .upkr-card__title { font-size: 23px; }
  .up-radar .upkr-card__tools--listing { display: flex; }

  .up-radar .upkr-destination-modal,
  .up-radar .upkr-details-modal { align-items: flex-end; padding: 8px; }
  .up-radar .upkr-destination-modal .upkr-tool-modal__dialog,
  .up-radar .upkr-details-modal .upkr-tool-modal__dialog {
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 20px;
    height: auto;
    max-height: calc(100dvh - 16px);
    width: 100%;
  }
  .up-radar .upkr-destination-modal .upkr-tool-modal__header,
  .up-radar .upkr-details-modal .upkr-tool-modal__header { padding: 14px 16px 12px; }
  .up-radar .upkr-destination-modal .upkr-tool-modal__header h2,
  .up-radar .upkr-details-modal .upkr-tool-modal__header h2 { font-size: 22px; }
  .up-radar .upkr-details-modal .upkr-tool-modal__header p { display: none; }
  .up-radar .upkr-destination-tabs { padding: 6px 10px; }
  .up-radar .upkr-result-map__canvas { grid-template-areas: "route" "note" "map"; grid-template-columns: 1fr; }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame,
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 190px; }
  .up-radar .upkr-map-consent { padding: 17px; }
  .up-radar .upkr-weather__days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-details-inclusions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-details-modal .upkr-tool-modal__body { padding: 12px; }
}

@media (max-width: 430px) {
  .up-radar .upkr-card__dealbar { align-items: stretch; flex-direction: column; }
  .up-radar .upkr-card__primary { width: 100%; }
  .up-radar .upkr-card__tools--listing .upkr-card__tool { font-size: 10px; padding: 7px 4px; }
  .up-radar .upkr-details-overview { align-items: stretch; flex-direction: column; }
  .up-radar .upkr-details-grid,
  .up-radar .upkr-details-inclusions { grid-template-columns: 1fr 1fr; }
  .up-radar .upkr-weather-day { min-height: 118px; }
}

/* External places remain a clearly separated inspiration layer. They never
   borrow deal-price styling and always keep the first-party results above. */
.up-radar .upkr-guide {
  background: linear-gradient(145deg, #fffaf5, #f7fbfe);
  border: 1px solid #e4d9cf;
  border-radius: 22px;
  color: #51636f;
  margin-top: 28px;
  padding: clamp(22px, 4vw, 36px);
}
.up-radar .upkr-guide h2 {
  color: var(--upkr-navy-strong);
  font-size: clamp(23px, 3vw, 31px);
  letter-spacing: -.025em;
  line-height: 1.15;
  margin: 7px 0 10px;
}
.up-radar .upkr-guide > p { line-height: 1.6; margin: 0; max-width: 850px; }
.up-radar .upkr-guide ol { display: grid; gap: 10px; margin: 18px 0 20px; padding-left: 24px; }
.up-radar .upkr-guide li { line-height: 1.5; padding-left: 4px; }

.up-radar .upkr-filter-tabs .upkr-discovery-tab {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}
.up-radar .upkr-filter-tabs .upkr-discovery-tab > span {
  align-items: center;
  background: #eaf4fb;
  border: 1px solid #c9dfec;
  border-radius: 999px;
  color: var(--upkr-brand-blue-dark);
  display: inline-flex;
  font-size: 10px;
  font-weight: 900;
  justify-content: center;
  min-height: 22px;
  min-width: 22px;
  padding: 2px 6px;
}
.up-radar .upkr-filter-tabs .upkr-discovery-tab.is-active > span {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.25);
  color: #fff;
}

.up-radar .upkr-discoveries {
  background: linear-gradient(145deg, #f7fbfe 0%, #fffaf5 100%);
  border: 1px solid #d8e5ec;
  border-radius: 24px;
  box-shadow: 0 14px 38px rgba(20,35,51,.065);
  margin-top: 24px;
  overflow: hidden;
  padding: clamp(20px, 3vw, 30px);
  position: relative;
}
.up-radar .upkr-discoveries[hidden] { display: none !important; }
.up-radar .upkr-discoveries::before {
  background: linear-gradient(90deg, var(--upkr-brand-blue), #62add6 65%, var(--upkr-orange));
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}
.up-radar .upkr-discoveries__head {
  align-items: end;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin-bottom: 17px;
}
.up-radar .upkr-discoveries__head .upkr-eyebrow { color: var(--upkr-brand-blue-dark); }
.up-radar .upkr-discoveries__head h3 {
  color: var(--upkr-navy-strong);
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.08;
  margin: 6px 0 8px;
}
.up-radar .upkr-discoveries__head p {
  color: #586b78;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 780px;
}
.up-radar .upkr-discoveries__head > strong {
  background: #fff;
  border: 1px solid #cfe0e9;
  border-radius: 999px;
  color: var(--upkr-brand-blue-dark);
  font-size: 13px;
  padding: 9px 12px;
  white-space: nowrap;
}
.up-radar .upkr-discovery-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 18px;
}
.up-radar .upkr-discovery-categories button {
  appearance: none;
  background: #fff;
  border: 1px solid #d7e3e9;
  border-radius: 999px;
  color: #526573;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  min-height: 38px;
  padding: 8px 13px;
}
.up-radar .upkr-discovery-categories button:hover,
.up-radar .upkr-discovery-categories button:focus-visible {
  background: var(--upkr-brand-blue-soft);
  border-color: #a9cee3;
  color: var(--upkr-brand-blue-dark);
}
.up-radar .upkr-discovery-categories button:focus-visible { outline: 3px solid rgba(18,108,168,.18); outline-offset: 2px; }
.up-radar .upkr-discovery-categories button.is-active {
  background: var(--upkr-brand-blue);
  border-color: var(--upkr-brand-blue);
  color: #fff;
}

.up-radar .upkr-discovery-grid {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card {
  --upkr-place-accent: var(--upkr-brand-blue);
  --upkr-place-soft: #eaf4fb;
  align-self: start;
  background: #fff;
  border: 1px solid #d9e4ea;
  border-radius: 19px;
  box-shadow: 0 10px 27px rgba(20,35,51,.055);
  display: grid;
  gap: 14px;
  min-width: 0;
  overflow: hidden;
  padding: 18px;
  position: relative;
}
.up-radar .upkr-discovery-card::before {
  background: var(--upkr-place-accent);
  content: "";
  height: 3px;
  inset: 0 0 auto;
  position: absolute;
}
.up-radar .upkr-discovery-card--freizeitparks { --upkr-place-accent: #8b3e00; --upkr-place-soft: #fff1e5; }
.up-radar .upkr-discovery-card--thermen { --upkr-place-accent: #075474; --upkr-place-soft: #e7f5fa; }
.up-radar .upkr-discovery-card--tierparks { --upkr-place-accent: #1d5b39; --upkr-place-soft: #eaf7ef; }
.up-radar .upkr-discovery-card--aquarien { --upkr-place-accent: #056072; --upkr-place-soft: #e4f7f8; }
.up-radar .upkr-discovery-card--schloesser { --upkr-place-accent: #604275; --upkr-place-soft: #f3edf8; }
.up-radar .upkr-discovery-card--museen { --upkr-place-accent: #75500f; --upkr-place-soft: #fff6df; }
.up-radar .upkr-discovery-card--natur { --upkr-place-accent: #2f6034; --upkr-place-soft: #eef8eb; }
.up-radar .upkr-discovery-card.has-urlaubspunkt-article {
  border-color: #e8c5a7;
  box-shadow: 0 12px 30px rgba(169,71,8,.085);
}
.up-radar .upkr-discovery-card__header {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: 52px minmax(0, 1fr);
  min-width: 0;
}
.up-radar .upkr-discovery-card__identity { min-width: 0; }
.up-radar .upkr-discovery-card__type {
  background: transparent;
  border-radius: 0;
  color: var(--upkr-place-accent);
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: 1.25;
  margin: 1px 0 5px;
  padding: 0;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__icon {
  align-items: center;
  background: var(--upkr-place-soft);
  border: 1px solid rgba(18,108,168,.18);
  border: 1px solid color-mix(in srgb, var(--upkr-place-accent) 22%, #fff);
  border-radius: 15px;
  color: var(--upkr-place-accent);
  display: inline-flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}
.up-radar .upkr-discovery-card__icon svg {
  fill: none;
  height: 27px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 27px;
}
.up-radar .upkr-discovery-card h4 {
  color: var(--upkr-navy-strong);
  font-size: 20px;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0;
  overflow-wrap: anywhere;
}
.up-radar .upkr-discovery-card__address {
  color: #5d6f7b;
  font-size: 13px;
  line-height: 1.45;
  margin: 5px 0 0;
}
.up-radar .upkr-discovery-card__metric {
  background: var(--upkr-place-soft);
  border: 1px solid rgba(18,108,168,.16);
  border: 1px solid color-mix(in srgb, var(--upkr-place-accent) 18%, #fff);
  border-radius: 999px;
  color: #405867;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
  max-width: 190px;
  padding: 8px 10px;
  text-align: center;
  grid-column: 2;
  justify-self: start;
  text-align: left;
}
.up-radar .upkr-discovery-card__statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.up-radar .upkr-discovery-card__status {
  border: 1px solid #d9e4ea;
  border-radius: 999px;
  color: #536875;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  padding: 6px 8px;
}
.up-radar .upkr-discovery-card__status.is-neutral { background: #f5f8fa; }
.up-radar .upkr-discovery-card__status.is-source {
  background: var(--upkr-place-soft);
  border-color: rgba(18,108,168,.18);
  border-color: color-mix(in srgb, var(--upkr-place-accent) 20%, #fff);
  color: var(--upkr-place-accent);
}
.up-radar .upkr-discovery-card__status.is-warning { background: #fff7e7; border-color: #ecd49e; color: #7a4b05; }
.up-radar .upkr-discovery-card__status.is-article { background: #fff2e6; border-color: #efc79f; color: var(--upkr-orange-dark); }
.up-radar .upkr-discovery-card__hint {
  border-left: 3px solid var(--upkr-place-accent);
  color: #526773;
  font-size: 12.5px;
  line-height: 1.48;
  margin: -2px 0 0;
  padding: 2px 0 2px 10px;
}
.up-radar .upkr-discovery-card__visit-check {
  background: linear-gradient(135deg, #fffaf5, #fff4e9);
  border: 1px solid #f0cfb1;
  border-radius: 14px;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}
.up-radar .upkr-discovery-card__visit-fact {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 13px;
}
.up-radar .upkr-discovery-card__visit-fact + .upkr-discovery-card__visit-fact { border-left: 1px solid #f0cfb1; }
.up-radar .upkr-discovery-card__visit-fact > span {
  color: var(--upkr-orange-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__visit-fact > strong {
  color: var(--upkr-navy-strong);
  font-size: 12.5px;
  line-height: 1.42;
  overflow-wrap: anywhere;
}
.up-radar .upkr-discovery-card__visit-fact.is-free > strong { color: var(--upkr-green); }
.up-radar .upkr-discovery-card__visit-fact.is-open > strong { color: #6d6259; }
.up-radar .upkr-discovery-card__provider-check {
  align-items: center;
  border-top: 1px solid #f0cfb1;
  display: flex;
  grid-column: 1 / -1;
  min-height: 45px;
  padding: 8px 10px;
}
.up-radar .upkr-discovery-card__operator-link {
  align-items: center;
  background: var(--upkr-orange);
  border: 1px solid var(--upkr-orange);
  border-radius: 10px;
  color: #fff !important;
  display: inline-flex;
  font-size: 12.5px;
  font-weight: 850;
  justify-content: center;
  min-height: 35px;
  padding: 7px 11px;
  text-decoration: none !important;
}
.up-radar .upkr-discovery-card__operator-link:hover,
.up-radar .upkr-discovery-card__operator-link:focus-visible {
  background: var(--upkr-orange-dark);
  border-color: var(--upkr-orange-dark);
}
.up-radar .upkr-discovery-card__operator-link:focus-visible { outline: 3px solid rgba(233,125,31,.25); outline-offset: 2px; }
.up-radar .upkr-discovery-card__provider-missing {
  color: #6d6259;
  font-size: 11.5px;
  line-height: 1.42;
}
.up-radar .upkr-discovery-card__details {
  background: #f8fafb;
  border: 1px solid #dfe7eb;
  border-radius: 12px;
  overflow: hidden;
}
.up-radar .upkr-discovery-card__details-summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 30px;
  list-style: none;
  min-height: 52px;
  padding: 9px 11px;
}
.up-radar .upkr-discovery-card__details-summary::-webkit-details-marker { display: none; }
.up-radar .upkr-discovery-card__details-summary > span { display: grid; gap: 1px; min-width: 0; }
.up-radar .upkr-discovery-card__details-summary strong { color: #344b59; font-size: 13px; }
.up-radar .upkr-discovery-card__details-summary small { color: #52636e; font-size: 12px; line-height: 1.35; }
.up-radar .upkr-discovery-card__details-summary::after {
  align-items: center;
  background: #fff;
  border: 1px solid #d9e4ea;
  border-radius: 50%;
  color: var(--upkr-brand-blue-dark);
  content: "+";
  display: inline-flex;
  font-size: 18px;
  font-weight: 700;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.up-radar .upkr-discovery-card__details[open] .upkr-discovery-card__details-summary {
  background: #fff;
  border-bottom: 1px solid #dfe7eb;
}
.up-radar .upkr-discovery-card__details[open] .upkr-discovery-card__details-summary::after { content: "−"; }
.up-radar .upkr-discovery-card__details-summary:hover,
.up-radar .upkr-discovery-card__details-summary:focus-visible { background: #eef6fb; }
.up-radar .upkr-discovery-card__details-summary:focus-visible { outline: 3px solid rgba(18,108,168,.18); outline-offset: -3px; }
.up-radar .upkr-discovery-card__details-body { display: grid; gap: 12px; padding: 12px; }
.up-radar .upkr-discovery-card__limits {
  background: #fff7e7;
  border: 1px solid #ecd49e;
  border-radius: 10px;
  display: grid;
  gap: 2px;
  padding: 9px 10px;
}
.up-radar .upkr-discovery-card__limits strong { color: #714808; font-size: 12.5px; }
.up-radar .upkr-discovery-card__limits span { color: #725f3a; font-size: 12px; line-height: 1.4; }
.up-radar .upkr-discovery-card__facts { display: grid; gap: 0; }
.up-radar .upkr-discovery-card__fact {
  border-bottom: 1px solid #e3eaee;
  display: grid;
  gap: 3px;
  grid-template-columns: minmax(112px, .42fr) minmax(0, 1fr);
  padding: 8px 2px;
}
.up-radar .upkr-discovery-card__fact:last-child { border-bottom: 0; }
.up-radar .upkr-discovery-card__fact strong { color: #425966; font-size: 12px; }
.up-radar .upkr-discovery-card__fact span { color: #61737e; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.up-radar .upkr-discovery-card__source-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.up-radar .upkr-discovery-card__source-links a {
  color: var(--upkr-brand-blue-dark);
  font-size: 12.5px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.up-radar .upkr-discovery-card__actions {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__actions .upkr-button {
  font-size: 13px;
  justify-content: center;
  min-height: 42px;
  padding: 9px 11px;
  text-align: center;
  width: 100%;
}
.up-radar .upkr-discovery-card__actions > :only-child {
  grid-column: 1 / -1;
  max-width: 240px;
}
.up-radar .upkr-discovery-card__route-primary {
  background: var(--upkr-brand-blue);
  border: 1px solid var(--upkr-brand-blue);
  color: #fff;
}
.up-radar .upkr-discovery-card__route-primary:hover,
.up-radar .upkr-discovery-card__route-primary:focus-visible {
  background: var(--upkr-brand-blue-dark);
  border-color: var(--upkr-brand-blue-dark);
  color: #fff;
}
.up-radar .upkr-discovery-loading {
  background: #fff;
  border: 1px solid #d8e4ea;
  border-radius: 17px;
  display: grid;
  gap: 4px;
  grid-column: 1 / -1;
  min-height: 120px;
  padding: 24px;
  place-content: center;
  text-align: center;
}
.up-radar .upkr-discovery-loading strong { color: var(--upkr-navy-strong); font-size: 15px; }
.up-radar .upkr-discovery-loading span { color: #60717d; font-size: 13px; line-height: 1.5; }
.up-radar .upkr-discovery-loading.is-error { background: #fff8f1; border-color: #eed8c5; }
.up-radar .upkr-discovery-loading.is-empty {
  align-items: center;
  background: #f8fafb;
  border-style: dashed;
  gap: 14px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  min-height: 0;
  padding: 16px 18px;
  place-content: initial;
  text-align: left;
}
.up-radar .upkr-discovery-empty__icon {
  align-items: center;
  background: var(--upkr-brand-blue-soft);
  border: 1px solid #c8deea;
  border-radius: 13px;
  color: var(--upkr-brand-blue-dark) !important;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.up-radar .upkr-discovery-empty__icon svg {
  fill: none;
  height: 23px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 23px;
}
.up-radar .upkr-discovery-empty__copy { display: grid; gap: 2px; min-width: 0; }
.up-radar .upkr-discovery-loading.is-empty .upkr-button { justify-content: center; min-height: 40px; white-space: nowrap; }
.up-radar .upkr-osm-credit {
  color: #71808a;
  font-size: 12px;
  line-height: 1.45;
  margin: 14px 0 0;
  text-align: right;
}
.up-radar .upkr-osm-credit a { color: var(--upkr-brand-blue-dark); }

.up-radar .upkr-discoveries { container-type: inline-size; }
@container (max-width: 820px) {
  .up-radar .upkr-discovery-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .up-radar .upkr-discovery-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .up-radar .upkr-filter-tabs { display: flex; width: 100%; }
  .up-radar .upkr-filter-tabs button { justify-content: center; }
  .up-radar .upkr-discoveries { border-radius: 20px; padding: 20px 16px; }
  .up-radar .upkr-discoveries__head { align-items: flex-start; display: grid; gap: 12px; }
  .up-radar .upkr-discoveries__head > strong { justify-self: start; }
  .up-radar .upkr-discovery-categories {
    flex-wrap: nowrap;
    margin-left: -2px;
    margin-right: -2px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scrollbar-width: thin;
  }
  .up-radar .upkr-discovery-categories button { flex: 0 0 auto; }
  .up-radar .upkr-discovery-loading.is-empty { grid-template-columns: 40px minmax(0, 1fr); }
  .up-radar .upkr-discovery-loading.is-empty .upkr-button { grid-column: 2; justify-self: start; }
  .up-radar .upkr-discovery-empty__icon { height: 40px; width: 40px; }
}
@media (max-width: 640px) {
  .up-radar .upkr-filter-tabs .upkr-discovery-tab { grid-column: 1 / -1; }
  .up-radar .upkr-discovery-card { gap: 12px; padding: 15px; }
  .up-radar .upkr-discovery-card__header { grid-template-columns: 46px minmax(0, 1fr); }
  .up-radar .upkr-discovery-card__icon { border-radius: 13px; height: 46px; width: 46px; }
  .up-radar .upkr-discovery-card__icon svg { height: 24px; width: 24px; }
  .up-radar .upkr-discovery-card__metric { grid-column: 2; justify-self: start; max-width: 100%; text-align: left; }
  .up-radar .upkr-discovery-card__details-summary small { font-size: 11px; }
  .up-radar .upkr-discovery-card__fact { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__visit-check { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__visit-fact + .upkr-discovery-card__visit-fact { border-left: 0; border-top: 1px solid #f0cfb1; }
  .up-radar .upkr-discovery-card__actions { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__actions > :only-child { max-width: none; }
  .up-radar .upkr-discovery-loading.is-empty { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-loading.is-empty .upkr-button { grid-column: 1; justify-self: stretch; }
  .up-radar .upkr-discovery-empty__icon { display: none; }
  .up-radar .upkr-osm-credit { text-align: left; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.0 – warmer brand accent balance
   -------------------------------------------------------------------------- */
.up-radar {
  --upkr-orange: var(--upkr-accent, #e97d1f);
  --upkr-orange-dark: var(--upkr-accent-dark, #9a4300);
  --upkr-orange-soft: #fff2e7;
}
.up-radar .upkr-origin-input-wrap:focus-within input,
.up-radar .upkr-budget-input input:focus { border-color: var(--upkr-orange); }
.up-radar .upkr-origin-input-wrap input:focus,
.up-radar .upkr-budget-input input:focus { box-shadow: 0 0 0 4px rgba(233,125,31,.14); }
.up-radar .upkr-origin-locate {
  background: var(--upkr-orange) !important;
  border-color: var(--upkr-orange) !important;
  box-shadow: 0 8px 20px rgba(154,67,0,.18) !important;
}
.up-radar .upkr-origin-locate:hover {
  background: var(--upkr-orange-dark) !important;
  border-color: var(--upkr-orange-dark) !important;
  box-shadow: 0 10px 24px rgba(154,67,0,.24) !important;
}
.up-radar .upkr-origin-locate:focus-visible { outline-color: rgba(233,125,31,.30) !important; }
.up-radar .upkr-origin-locate.has-location { border-color: var(--upkr-orange) !important; }
.up-radar .upkr-budget-mode label:hover > span {
  background: var(--upkr-orange-soft);
  border-color: #efbd91;
}
.up-radar .upkr-budget-mode input:checked + span {
  background: var(--upkr-orange-soft);
  border-color: var(--upkr-orange);
  box-shadow: 0 0 0 3px rgba(233,125,31,.10), 0 10px 24px rgba(20,35,51,.06);
}
.up-radar .upkr-budget-mode input:focus-visible + span { outline-color: rgba(233,125,31,.28); }
.up-radar .upkr-budget-input {
  background: linear-gradient(135deg, #fffaf5, var(--upkr-orange-soft));
  border-color: #f0cfb1;
}
.up-radar .upkr-hero {
  background:
    radial-gradient(circle at 88% 8%, rgba(233,125,31,.27), transparent 31%),
    linear-gradient(135deg, #122333 0%, #26313a 66%, #4b3526 100%);
}
.up-radar .upkr-hero__dashboard::before,
.up-radar .upkr-discoveries::before { background: linear-gradient(90deg, var(--upkr-orange), #f4a05a 72%, #ffd0a8); }
.up-radar .upkr-hero__dashboard-head strong,
.up-radar .upkr-faq__note > span { background: var(--upkr-orange); }
.up-radar .upkr-hero__dashboard li > span,
.up-radar .upkr-explainer__icon,
.up-radar .upkr-faq__list summary > span {
  background: var(--upkr-orange-soft);
  border-color: #f0cfb1;
  color: var(--upkr-orange-dark) !important;
}
.up-radar .upkr-explainer article:hover,
.up-radar .upkr-faq__list details[open] { border-color: #efbd91; }
.up-radar .upkr-faq__list summary:focus-visible { outline-color: rgba(233,125,31,.28); }
.up-radar .upkr-weather__loading i { border-top-color: var(--upkr-orange); }
.up-radar .upkr-weather__source { background: var(--upkr-navy-strong); }
.up-radar .upkr-weather-day.is-today { background: var(--upkr-orange-soft); border-color: #efbd91; }
.up-radar .upkr-latest-card__image { border-bottom-color: var(--upkr-orange); }
.up-radar .upkr-latest-card li { background: var(--upkr-orange-soft); color: var(--upkr-orange-dark); }
.up-radar .upkr-filter-tabs button.is-active,
.up-radar .upkr-discovery-categories button.is-active {
  background: var(--upkr-orange);
  border-color: var(--upkr-orange);
  color: #fff;
}
.up-radar .upkr-filter-tabs .upkr-discovery-tab > span {
  background: var(--upkr-orange-soft);
  border-color: #f0cfb1;
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-discovery-categories button:hover,
.up-radar .upkr-discovery-categories button:focus-visible {
  background: var(--upkr-orange-soft);
  border-color: #efbd91;
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-discovery-categories button:focus-visible { outline-color: rgba(233,125,31,.24); }
.up-radar .upkr-discoveries {
  background: linear-gradient(145deg, #fffaf5 0%, #fff 58%, #f8fafb 100%);
  border-color: #eed8c5;
}
.up-radar .upkr-discoveries__head .upkr-eyebrow,
.up-radar .upkr-discoveries__head > strong { color: var(--upkr-orange-dark); }
.up-radar .upkr-discoveries__head > strong { border-color: #f0cfb1; }
.up-radar .upkr-discovery-card::before { background: var(--upkr-orange); }
.up-radar .upkr-discovery-card__details-summary::after,
.up-radar .upkr-discovery-card__source-links a,
.up-radar .upkr-osm-credit a { color: var(--upkr-orange-dark); }
.up-radar .upkr-discovery-card__details-summary:hover,
.up-radar .upkr-discovery-card__details-summary:focus-visible { background: var(--upkr-orange-soft); }
.up-radar .upkr-discovery-card__details-summary:focus-visible { outline-color: rgba(233,125,31,.22); }
.up-radar .upkr-discovery-card__route-primary {
  background: var(--upkr-orange);
  border-color: var(--upkr-orange);
}
.up-radar .upkr-discovery-card__route-primary:hover,
.up-radar .upkr-discovery-card__route-primary:focus-visible {
  background: var(--upkr-orange-dark);
  border-color: var(--upkr-orange-dark);
}
.up-radar .upkr-discovery-empty__icon {
  background: var(--upkr-orange-soft);
  border-color: #f0cfb1;
  color: var(--upkr-orange-dark) !important;
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.1 – compact, evidence-first interface
   -------------------------------------------------------------------------- */
.up-radar .upkr-choice-group label > span b {
  color: var(--upkr-orange-dark);
  display: inline-flex;
}
.up-radar .upkr-choice-group label > span b svg {
  fill: none;
  height: 21px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  width: 21px;
}
.up-radar .upkr-choice-group input:checked + span b {
  background: #fff8f2;
  box-shadow: inset 0 0 0 1px #f0cfb1;
}

/* A visit block is rendered only when the card contains a genuine fact or a
   usable operator link. One available fact spans the full card width. */
.up-radar .upkr-discovery-card__visit-check.has-one-fact .upkr-discovery-card__visit-fact,
.up-radar .upkr-discovery-card__visit-check.has-link-only .upkr-discovery-card__provider-check {
  grid-column: 1 / -1;
}
.up-radar .upkr-discovery-card__visit-check.has-link-only .upkr-discovery-card__provider-check {
  border-top: 0;
  justify-content: flex-start;
}
.up-radar .upkr-discovery-card__details-body { gap: 10px; }
.up-radar .upkr-discovery-card__facts {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__fact {
  background: #fff;
  border: 1px solid #e1e8ec;
  border-radius: 9px;
  display: grid;
  gap: 3px;
  grid-template-columns: 1fr;
  padding: 9px 10px;
}
.up-radar .upkr-discovery-card__fact:last-child { border-bottom: 1px solid #e1e8ec; }
.up-radar .upkr-discovery-card__fact strong {
  color: var(--upkr-orange-dark);
  font-size: 9.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__source-links { gap: 7px; }
.up-radar .upkr-discovery-card__source-links a {
  background: #fff;
  border: 1px solid #efcaa8;
  border-radius: 9px;
  color: var(--upkr-orange-dark);
  padding: 7px 9px;
  text-decoration: none;
}
.up-radar .upkr-discovery-card__source-links a:hover,
.up-radar .upkr-discovery-card__source-links a:focus-visible { background: var(--upkr-orange-soft); }

/* The destination workspace is a quick glance, not another full page. */
.up-radar .upkr-destination-modal .upkr-tool-modal__dialog {
  max-height: min(590px, calc(100dvh - 40px));
  width: min(780px, calc(100vw - 40px));
}
.up-radar .upkr-details-modal .upkr-tool-modal__dialog {
  max-height: min(600px, calc(100dvh - 40px));
  width: min(700px, calc(100vw - 40px));
}
.up-radar .upkr-destination-modal .upkr-tool-modal__header,
.up-radar .upkr-details-modal .upkr-tool-modal__header { padding: 13px 17px 12px; }
.up-radar .upkr-destination-modal .upkr-tool-modal__header h2,
.up-radar .upkr-details-modal .upkr-tool-modal__header h2 {
  font-size: clamp(20px, 2.5vw, 25px);
  margin: 2px 0 3px;
}
.up-radar .upkr-details-modal .upkr-tool-modal__header p { display: none; }
.up-radar .upkr-destination-modal .upkr-tool-modal__header p { font-size: 11px; }
.up-radar .upkr-destination-modal .upkr-tool-modal__close,
.up-radar .upkr-details-modal .upkr-tool-modal__close {
  flex-basis: 34px;
  font-size: 21px;
  height: 34px;
  width: 34px;
}
.up-radar .upkr-destination-tabs { padding: 5px 14px; }
.up-radar .upkr-destination-tabs button { min-height: 36px; }
.up-radar .upkr-destination-modal .upkr-tool-modal__body,
.up-radar .upkr-details-modal .upkr-tool-modal__body { padding: 12px 14px; }
.up-radar .upkr-result-map__canvas {
  gap: 8px 11px;
  grid-template-columns: minmax(205px, .76fr) minmax(290px, 1.24fr);
}
.up-radar .upkr-result-map__canvas > .upkr-route-visual { padding: 13px; }
.up-radar .upkr-map-consent,
.up-radar .upkr-map-frame,
.up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 220px; }
.up-radar .upkr-map-consent { padding: 17px; }
.up-radar .upkr-map-consent h3 { font-size: 18px; }
.up-radar .upkr-weather-intro { min-height: 200px; padding: 20px; }
.up-radar .upkr-weather__loading,
.up-radar .upkr-weather__message { min-height: 190px; }
.up-radar .upkr-weather-day { min-height: 116px; padding: 10px; }

/* Only confirmed facts receive cards; unresolved items become one compact
   checklist and no longer imitate populated fact fields. */
.up-radar .upkr-details-view { gap: 8px; }
.up-radar .upkr-details-overview { padding: 11px 13px; }
.up-radar .upkr-details-overview > div:first-child > strong { font-size: 22px; }
.up-radar .upkr-details-overview__checked { min-width: 112px; padding: 8px 10px; }
.up-radar .upkr-details-section { padding: 11px 12px; }
.up-radar .upkr-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.up-radar .upkr-details-section--open {
  background: #fffaf5;
  border-color: #f0d4ba;
}
.up-radar .upkr-details-checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.up-radar .upkr-details-checklist li {
  background: #fff;
  border: 1px solid #efd6be;
  border-radius: 999px;
  color: #794112;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
  padding: 6px 9px;
}
.up-radar .upkr-details-checklist li::before {
  color: var(--upkr-orange);
  content: "!";
  font-weight: 900;
  margin-right: 5px;
}

@media (max-width: 760px) {
  .up-radar .upkr-destination-modal .upkr-tool-modal__dialog,
  .up-radar .upkr-details-modal .upkr-tool-modal__dialog { max-height: calc(100dvh - 16px); width: 100%; }
  .up-radar .upkr-result-map__canvas { grid-template-areas: "route" "note" "map"; grid-template-columns: 1fr; }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame,
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe { min-height: 180px; }
}
@media (max-width: 540px) {
  .up-radar .upkr-choice-group label > span b { display: inline-flex; flex-basis: 30px; height: 30px; width: 30px; }
  .up-radar .upkr-choice-group label > span b svg { height: 19px; width: 19px; }
  .up-radar .upkr-discovery-card__facts { grid-template-columns: 1fr; }
  .up-radar .upkr-details-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.2 – source-bound planning facts
   -------------------------------------------------------------------------- */
.up-radar .upkr-discovery-card__knowledge {
  background: linear-gradient(145deg, #fffaf5, #fff);
  border: 1px solid #f0cfb1;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  padding: 12px;
}
.up-radar .upkr-discovery-card__knowledge-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.up-radar .upkr-discovery-card__knowledge-head > strong {
  color: var(--upkr-navy-strong);
  font-size: 14px;
}
.up-radar .upkr-discovery-card__knowledge-head > span {
  background: #fff;
  border: 1px solid #efcaa8;
  border-radius: 999px;
  color: var(--upkr-orange-dark);
  font-size: 9.5px;
  font-weight: 850;
  padding: 5px 8px;
}
.up-radar .upkr-discovery-card__knowledge-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__knowledge-item {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #e3e9ed;
  border-radius: 11px;
  display: grid;
  gap: 9px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-width: 0;
  padding: 9px;
}
.up-radar .upkr-discovery-card__knowledge-icon {
  align-items: center;
  background: var(--upkr-orange-soft);
  border: 1px solid #f0cfb1;
  border-radius: 9px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.up-radar .upkr-discovery-card__knowledge-icon svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  width: 20px;
}
.up-radar .upkr-discovery-card__knowledge-item > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.up-radar .upkr-discovery-card__knowledge-item b {
  color: #516673;
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__knowledge-item strong {
  color: var(--upkr-navy-strong);
  font-size: 11.5px;
  line-height: 1.35;
}
.up-radar .upkr-discovery-card__knowledge-item small,
.up-radar .upkr-discovery-card__visit-fact small,
.up-radar .upkr-discovery-card__provider-check small {
  color: #70808a;
  font-size: 9.5px;
  line-height: 1.35;
}
.up-radar .upkr-discovery-card__knowledge > p {
  color: #6b625b;
  font-size: 10.5px;
  line-height: 1.4;
  margin: 0;
}
.up-radar .upkr-discovery-card__visit-fact { grid-template-rows: auto auto 1fr; }
.up-radar .upkr-discovery-card__provider-check {
  align-items: start;
  display: grid;
  gap: 5px;
  justify-items: start;
}
.up-radar .upkr-discovery-card__provider-check .upkr-discovery-card__operator-link { width: auto; }
.up-radar .upkr-discovery-card__provider-actions {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}
.up-radar .upkr-discovery-card__provider-actions.is-single {
  grid-template-columns: minmax(220px, 480px);
  justify-content: center;
}
.up-radar .upkr-discovery-card__provider-actions .upkr-discovery-card__operator-link,
.up-radar .upkr-discovery-card__provider-route {
  align-items: center;
  border-radius: 10px;
  display: inline-flex;
  font-size: 12.5px;
  font-weight: 850;
  justify-content: center;
  line-height: 1.25;
  min-height: 42px;
  padding: 8px 10px;
  text-align: center;
  width: 100% !important;
}
.up-radar .upkr-discovery-card__provider-route {
  background: #fff;
  border: 1px solid #e9a76d;
  color: var(--upkr-orange-dark);
  cursor: pointer;
}
.up-radar .upkr-discovery-card__provider-route:hover,
.up-radar .upkr-discovery-card__provider-route:focus-visible {
  background: #fff3e7;
  border-color: var(--upkr-orange);
}
.up-radar .upkr-discovery-card__provider-route:focus-visible {
  outline: 3px solid rgba(233,125,31,.22);
  outline-offset: 2px;
}
.up-radar .upkr-discovery-card__status.is-source { color: var(--upkr-orange-dark); }

@media (max-width: 640px) {
	.up-radar .upkr-discovery-card__provider-actions { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__knowledge-grid { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__knowledge-head { align-items: flex-start; flex-direction: column; }
}

/* Crawlable topic overview: useful orientation for visitors and clear topical
   context for search engines without repeating dynamic result-card content. */
.up-radar .upkr-seo-topics {
  background: linear-gradient(135deg, #fffaf5 0%, #fff 58%, #f4faf6 100%);
  border: 1px solid #efd3b9;
  border-radius: 22px;
  display: grid;
  gap: 20px;
  margin: 30px 0;
  padding: clamp(22px, 3vw, 38px);
}
.up-radar .upkr-seo-topics__head { max-width: 900px; }
.up-radar .upkr-seo-topics__head h2 {
  color: var(--upkr-navy-strong);
  font-size: clamp(27px, 3.2vw, 44px);
  line-height: 1.08;
  margin: 8px 0 10px;
}
.up-radar .upkr-seo-topics__head p {
  color: var(--upkr-ink-soft);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}
.up-radar .upkr-seo-topics__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.up-radar .upkr-seo-topics__grid article {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #e2e8eb;
  border-top: 4px solid var(--upkr-orange);
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(29, 48, 61, .07);
  display: grid;
  gap: 13px;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 19px;
}
.up-radar .upkr-seo-topics__grid article > span {
  align-items: center;
  background: #fff4e9;
  border: 1px solid #f0ceb0;
  border-radius: 13px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}
.up-radar .upkr-seo-topics__grid svg {
  fill: none;
  height: 25px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 25px;
}
.up-radar .upkr-seo-topics__grid h3 {
  color: var(--upkr-navy-strong);
  font-size: 19px;
  line-height: 1.2;
  margin: 0 0 7px;
}
.up-radar .upkr-seo-topics__grid p {
  color: var(--upkr-ink-soft);
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 12px;
}
.up-radar .upkr-seo-topics__grid a {
  color: var(--upkr-orange-dark);
  font-size: 14px;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 900px) {
  .up-radar .upkr-seo-topics__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .up-radar .upkr-seo-topics { border-radius: 16px; padding: 20px 16px; }
  .up-radar .upkr-seo-topics__grid article { grid-template-columns: 42px minmax(0, 1fr); padding: 16px; }
  .up-radar .upkr-seo-topics__grid article > span { height: 42px; width: 42px; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.3 – destination planning snapshot
   -------------------------------------------------------------------------- */
.up-radar .upkr-discovery-card__context {
  background: #fff;
  border: 1px solid #efcaa8;
  border-left: 4px solid var(--upkr-orange);
  border-radius: 15px;
  box-shadow: 0 12px 28px rgba(24, 47, 64, .07);
  display: grid;
  gap: 12px;
  padding: 13px;
}
.up-radar .upkr-discovery-card__context-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.up-radar .upkr-discovery-card__context-head > div {
  display: grid;
  gap: 2px;
}
.up-radar .upkr-discovery-card__context-head strong {
  color: var(--upkr-navy-strong);
  font-size: 15px;
}
.up-radar .upkr-discovery-card__context-head span:not(.upkr-discovery-card__context-badge) {
  color: #647783;
  font-size: 10.5px;
}
.up-radar .upkr-discovery-card__context-badge {
  background: var(--upkr-orange-soft);
  border: 1px solid #efcaa8;
  border-radius: 999px;
  color: var(--upkr-orange-dark);
  flex: 0 0 auto;
  font-size: 9.5px;
  font-weight: 850;
  padding: 5px 8px;
}
.up-radar .upkr-discovery-card__context-group {
  display: grid;
  gap: 7px;
}
.up-radar .upkr-discovery-card__context-title {
  color: var(--upkr-orange-dark);
  font-size: 9.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__context-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__context-item {
  align-items: start;
  background: #fbfcfd;
  border: 1px solid #dde7ec;
  border-radius: 11px;
  display: grid;
  gap: 9px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-width: 0;
  padding: 9px;
}
.up-radar .upkr-discovery-card__context-item > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.up-radar .upkr-discovery-card__context-item b {
  color: #536976;
  font-size: 9px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__context-item strong,
.up-radar .upkr-discovery-card__context-item a {
  color: var(--upkr-navy-strong);
  font-size: 11.5px;
  font-weight: 750;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.up-radar .upkr-discovery-card__context-item a { color: var(--upkr-orange-dark); }
.up-radar .upkr-discovery-card__context-source {
  border-top: 1px dashed #e2e8ec;
  color: #667985;
  font-size: 9.5px;
  line-height: 1.45;
  margin: 0;
  padding-top: 9px;
}
.up-radar .upkr-discovery-card__details-summary small { color: #7a8991; }

@media (max-width: 640px) {
  .up-radar .upkr-discovery-card__context-grid { grid-template-columns: 1fr; }
  .up-radar .upkr-discovery-card__context-head { align-items: flex-start; flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.4 – deal search or inspiration
   -------------------------------------------------------------------------- */
.up-radar .upkr-search-intent {
  background:
    radial-gradient(circle at 95% 5%, rgba(233,125,31,.12), transparent 25%),
    linear-gradient(145deg, #fffaf5 0%, #fff 54%, #f8fbf9 100%);
  border: 1px solid #efcfb4;
  border-radius: 24px;
  box-shadow: 0 18px 52px rgba(23,36,49,.08);
  display: grid;
  gap: 22px 28px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr);
  overflow: hidden;
  padding: clamp(24px,3vw,38px);
  position: relative;
}
.up-radar .upkr-search-intent::before {
  background: linear-gradient(90deg, #e97d1f, #f5aa65 52%, #1f7955);
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.up-radar .upkr-search-intent__intro h2 {
  color: #152433;
  font-size: clamp(25px,2.5vw,36px);
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 8px 0 10px;
}
.up-radar .upkr-search-intent__intro p {
  color: #5c6c78;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  max-width: 520px;
}
.up-radar .upkr-search-intent__options {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.up-radar .upkr-search-intent__options button {
  align-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid #dbe4e8;
  border-radius: 18px;
  color: #172532;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 52px minmax(0,1fr) 25px;
  min-height: 118px;
  padding: 17px;
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.up-radar .upkr-search-intent__options button:hover {
  border-color: #e9a367;
  box-shadow: 0 12px 28px rgba(23,36,49,.09);
  transform: translateY(-2px);
}
.up-radar .upkr-search-intent__options button:focus-visible {
  outline: 4px solid rgba(233,125,31,.22);
  outline-offset: 3px;
}
.up-radar .upkr-search-intent__options button.is-active {
  background: linear-gradient(145deg,#fff6ed,#fff);
  border: 2px solid #e97d1f;
  box-shadow: 0 12px 30px rgba(233,125,31,.15);
  padding: 16px;
}
.up-radar .upkr-search-intent__icon {
  align-items: center;
  background: #fff1e4;
  border: 1px solid #f0cfb1;
  border-radius: 15px;
  color: #a84708;
  display: flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}
.up-radar .upkr-search-intent__icon svg {
  fill: none;
  height: 27px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 27px;
}
.up-radar .upkr-search-intent__options button > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.up-radar .upkr-search-intent__options strong { font-size: 15px; line-height: 1.25; }
.up-radar .upkr-search-intent__options small { color: #667783; font-size: 11px; line-height: 1.45; }
.up-radar .upkr-search-intent__options i {
  align-items: center;
  background: #17784f;
  border-radius: 50%;
  color: #fff;
  display: none;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  height: 25px;
  justify-content: center;
  width: 25px;
}
.up-radar .upkr-search-intent__options button.is-active i { display: flex; }
.up-radar .upkr-search-intent__note {
  align-items: center;
  background: #eef8f3;
  border: 1px solid #cce8d9;
  border-radius: 12px;
  color: #406153;
  display: flex;
  font-size: 11px;
  gap: 4px;
  grid-column: 1 / -1;
  line-height: 1.5;
  margin: 0;
  padding: 10px 13px;
}
.up-radar .upkr-search-intent__note strong { color: #176d49; }
.up-radar.upkr-mode-inspiration .upkr-search-intent__note {
  background: #fff5eb;
  border-color: #f0cfb1;
  color: #70543e;
}
.up-radar.upkr-mode-inspiration .upkr-search-intent__note strong { color: #a84708; }
.up-radar.upkr-mode-inspiration .upkr-progress { grid-template-columns: repeat(2,minmax(0,1fr)); }
.up-radar.upkr-mode-inspiration .upkr-progress::before {
  left: calc(25% + 28px);
  right: calc(25% + 28px);
}
.up-radar.upkr-mode-inspiration .upkr-wizard {
  border-color: #efc6a2;
  box-shadow: 0 18px 48px rgba(233,125,31,.09);
}
.up-radar.upkr-mode-inspiration .upkr-wizard__time {
  background: #fff0e2;
  color: #9d4308;
}
.up-radar.upkr-mode-inspiration .upkr-compass-progress {
  background: #fff0e2;
  color: #9d4308;
}
.up-radar.upkr-mode-inspiration .upkr-choice-group--requirements[hidden],
.up-radar [data-upkr-deal-only][hidden] { display: none !important; }
.up-radar.upkr-mode-inspiration .upkr-results__header {
  background: linear-gradient(140deg,#fff8f1,#fff);
  border-color: #efd5be;
}

@media (max-width: 980px) {
  .up-radar .upkr-search-intent { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .up-radar .upkr-search-intent { border-radius: 18px; gap: 18px; padding: 24px 17px 19px; }
  .up-radar .upkr-search-intent__options { grid-template-columns: 1fr; }
  .up-radar .upkr-search-intent__options button { min-height: 98px; }
  .up-radar .upkr-search-intent__note { align-items: flex-start; display: block; }
  .up-radar.upkr-mode-inspiration .upkr-progress::before { left: calc(25% + 10px); right: calc(25% + 10px); }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.5 – genuinely mixed inspiration feed
   -------------------------------------------------------------------------- */
.up-radar .upkr-discovery-category-note {
  align-items: center;
  background: #fff4e9;
  border: 1px solid #efc79f;
  border-left: 4px solid var(--upkr-orange);
  border-radius: 12px;
  color: #724316;
  display: flex;
  font-size: 11px;
  font-weight: 720;
  line-height: 1.45;
  margin: 0 0 15px;
  padding: 9px 12px;
}
.up-radar .upkr-discovery-category-note[hidden] { display: none !important; }
.up-radar.upkr-mode-inspiration .upkr-discoveries.is-mixed-feed {
  background:
    radial-gradient(circle at 94% 4%, rgba(233,125,31,.12), transparent 24%),
    linear-gradient(145deg, #fffaf5 0%, #fff 48%, #f6fbf8 100%);
  border-color: #edc9a9;
}
.up-radar.upkr-mode-inspiration .upkr-discoveries.is-mixed-feed::before {
  background: linear-gradient(90deg, var(--upkr-orange), #f4a05a 60%, #1f7955);
  height: 5px;
}
.up-radar.upkr-mode-inspiration .upkr-discoveries.is-mixed-feed .upkr-discoveries__head h3 {
  font-size: clamp(27px, 3.2vw, 39px);
}
.up-radar .upkr-discovery-grid.is-mixed-feed { gap: 18px; }
.up-radar .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal {
  border-color: #efc49e;
  box-shadow: 0 16px 38px rgba(25,42,56,.09);
  grid-column: 1 / -1;
  margin: 4px 0;
  overflow: hidden;
  position: relative;
}
.up-radar .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal::before {
  background: linear-gradient(90deg, var(--upkr-orange), #f4a05a);
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
  z-index: 2;
}
.up-radar .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place {
  box-shadow: 0 12px 28px rgba(25,42,56,.07);
}
.up-radar .upkr-discovery-grid.is-mixed-feed .upkr-discovery-loading {
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  .up-radar .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal { margin: 0; }
  .up-radar .upkr-discovery-category-note { align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.6 – balanced inspiration cards
   -------------------------------------------------------------------------- */
.up-radar .upkr-discovery-card__visual { display: none; }

.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed {
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card {
  align-self: stretch;
  height: 100%;
  min-width: 0;
}

/* A real Urlaubspunkt article image stays prominent, but no longer forces the
   deal across both columns. Its facts, price and actions form one clear card. */
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal {
  display: grid;
  grid-column: auto;
  grid-template-columns: 1fr;
  grid-template-rows: 210px minmax(0, 1fr);
  margin: 0;
  min-height: 100%;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__media,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__image,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__placeholder {
  height: 210px;
  min-height: 210px;
  width: 100%;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__image {
  object-fit: cover;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__body {
  align-content: initial;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 19px 16px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__title {
  display: -webkit-box;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.12;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__meta,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__location,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__microfacts {
  font-size: 11px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__dealbar {
  margin-top: auto;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__primary {
  font-size: 11px;
  white-space: normal;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__tool--details {
  background: #fff4e9;
  border-color: #efc69f;
  color: var(--upkr-orange-dark);
}

/* External destinations get a clearly non-photographic category visual. This
   avoids invented photos while giving them the same visual rhythm as deals. */
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual {
  align-items: center;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,255,255,.94), rgba(255,255,255,0) 31%),
    linear-gradient(145deg, var(--upkr-place-soft), #fff8f1);
  border-bottom: 1px solid color-mix(in srgb, var(--upkr-place-accent) 19%, #fff);
  color: var(--upkr-place-accent);
  display: flex;
  flex: 0 0 210px;
  flex-direction: column;
  gap: 13px;
  justify-content: center;
  margin: -18px -18px 2px;
  min-height: 210px;
  overflow: hidden;
  position: relative;
  text-align: center;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual::after {
  border: 1px solid color-mix(in srgb, var(--upkr-place-accent) 16%, transparent);
  border-radius: 50%;
  content: "";
  height: 190px;
  position: absolute;
  right: -58px;
  top: -72px;
  width: 190px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual-mark {
  align-items: center;
  background: rgba(255,255,255,.9);
  border: 1px solid color-mix(in srgb, var(--upkr-place-accent) 23%, #fff);
  border-radius: 22px;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--upkr-place-accent) 14%, transparent);
  display: inline-flex;
  height: 82px;
  justify-content: center;
  width: 82px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual-mark svg {
  fill: none;
  height: 43px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  width: 43px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual > strong {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__header {
  margin-top: 2px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__actions {
  margin-top: auto;
}

@container (max-width: 820px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed { grid-auto-rows: auto; }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card { height: auto; }
}
@media (max-width: 980px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed { grid-auto-rows: auto; }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card { height: auto; }
}
@media (max-width: 640px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal {
    grid-template-rows: 190px minmax(0, 1fr);
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__media,
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__image,
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__placeholder {
    height: 190px;
    min-height: 190px;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual {
    flex-basis: 190px;
    margin: -15px -15px 1px;
    min-height: 190px;
  }
}

/* iOS vergrößert fokussierte Formularfelder automatisch, wenn deren Schrift
 * kleiner als 16 px ist. Die Mindestgröße verhindert diesen unerwünschten
 * Fokus-Zoom, ohne den manuellen Pinch-Zoom des Besuchers zu sperren. */
@media (max-width: 782px) {
  .up-radar input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .up-radar select,
  .up-radar textarea,
  .upkr-radar input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .upkr-radar select,
  .upkr-radar textarea,
  .upkr-modal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .upkr-modal select,
  .upkr-modal textarea {
    font-size: 16px !important;
  }
}

/* v0.17.4: readable privacy and licence disclosures */
.up-radar .upkr-map-consent__copy p {
  max-width: 760px;
}
.up-radar .upkr-map-consent__copy a,
.up-radar .upkr-weather-intro a,
.up-radar .upkr-weather__note a {
  color: var(--upkr-orange-dark);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.up-radar .upkr-map-frame__credit {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(23,37,50,.14);
  border-radius: 999px;
  color: #263947;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  padding: 6px 9px;
  position: absolute;
  right: 12px;
  text-decoration: none;
  top: 12px;
  z-index: 2;
}
.up-radar .upkr-map-frame__credit:hover,
.up-radar .upkr-map-frame__credit:focus-visible {
  color: var(--upkr-orange-dark);
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.16.7 – warm tools and useful place facts
   -------------------------------------------------------------------------- */
.up-radar .upkr-tool-modal__backdrop { background: rgba(30, 29, 27, .72); }
.up-radar .upkr-tool-modal__dialog {
  background: #fffaf6;
  border-color: #f0d3b9;
  box-shadow: 0 30px 90px rgba(71, 46, 25, .25);
}
.up-radar .upkr-tool-modal__header,
.up-radar .upkr-destination-modal .upkr-tool-modal__header,
.up-radar .upkr-details-modal .upkr-tool-modal__header {
  background:
    radial-gradient(circle at 88% 8%, rgba(233,125,31,.13), transparent 27%),
    linear-gradient(145deg, #fff7ef 0%, #fff 72%);
  border-bottom: 3px solid var(--upkr-orange);
}
.up-radar .upkr-tool-modal__header .upkr-eyebrow,
.up-radar .upkr-destination-modal .upkr-tool-modal__header .upkr-eyebrow,
.up-radar .upkr-details-modal .upkr-tool-modal__header .upkr-eyebrow {
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-tool-modal__header h2,
.up-radar .upkr-destination-modal .upkr-tool-modal__header h2,
.up-radar .upkr-details-modal .upkr-tool-modal__header h2 { color: #172532; }
.up-radar .upkr-tool-modal__header p,
.up-radar .upkr-destination-modal .upkr-tool-modal__header p,
.up-radar .upkr-details-modal .upkr-tool-modal__header p { color: #64737d; }
.up-radar .upkr-tool-modal__close,
.up-radar .upkr-details-modal .upkr-tool-modal__close {
  background: #fff;
  border: 2px solid #edb17e;
  box-shadow: 0 7px 20px rgba(132, 73, 25, .12);
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-tool-modal__close:hover {
  background: #fff1e4;
  border-color: var(--upkr-orange);
}
.up-radar .upkr-tool-modal__body,
.up-radar .upkr-destination-body {
  background: linear-gradient(145deg, #fffaf6 0%, #f8faf9 100%);
}
.up-radar .upkr-tool-modal__footer { background: #fffdfb; border-color: #eedfd2; }

.up-radar .upkr-destination-tabs {
  background: #fffdfb;
  border-bottom-color: #eedfd2;
}
.up-radar .upkr-destination-tabs button { color: #687680; }
.up-radar .upkr-destination-tabs button.is-active {
  background: #fff0e3;
  border-color: #efbd92;
  color: var(--upkr-orange-dark);
  box-shadow: inset 0 0 0 1px rgba(233,125,31,.08);
}
.up-radar .upkr-destination-tabs button:focus-visible,
.up-radar .upkr-tool-modal__close:focus-visible {
  outline-color: rgba(233,125,31,.35);
}
.up-radar .upkr-map-consent,
.up-radar .upkr-weather-intro {
  background:
    radial-gradient(circle at 92% 10%, rgba(233,125,31,.13), transparent 30%),
    linear-gradient(145deg, #fff5eb 0%, #fff 68%);
  border: 1px solid #efcfb2;
  box-shadow: 0 16px 38px rgba(99, 61, 29, .10);
  color: #172532;
}
.up-radar .upkr-map-consent__icon,
.up-radar .upkr-weather-intro__icon {
  background: #fff;
  border-color: #efc59e;
  color: var(--upkr-orange);
}
.up-radar .upkr-map-consent .upkr-eyebrow,
.up-radar .upkr-weather-intro .upkr-eyebrow { color: var(--upkr-orange-dark); }
.up-radar .upkr-map-consent h3,
.up-radar .upkr-weather-intro h3 { color: #172532; }
.up-radar .upkr-map-consent p,
.up-radar .upkr-weather-intro p { color: #5e6f7b; }
.up-radar .upkr-map-precision,
.up-radar .upkr-weather__note {
  background: #fff3e7;
  border-color: #efcfb1;
  color: #644a34 !important;
}
.up-radar .upkr-weather__note a { color: var(--upkr-orange-dark); }
.up-radar .upkr-weather__source {
  background: var(--upkr-orange);
  box-shadow: 0 7px 18px rgba(233,125,31,.18);
}
.up-radar .upkr-weather-day.is-today {
  background: #fff0e3;
  border-color: #efb985;
}
.up-radar .upkr-details-section.is-info { border-color: #efd0b3; }
.up-radar .upkr-details-fact.is-info,
.up-radar .upkr-details-inclusions li.is-info,
.up-radar .upkr-details-status li.is-info {
  background: #fff3e8;
  border-color: #efcfb3;
  color: #82400f;
}

.up-radar .upkr-discovery-card__quick-plan {
  background: linear-gradient(145deg, #fff8f1, #fff);
  border: 1px solid #efd8c4;
  border-radius: 15px;
  display: grid;
  gap: 9px;
  padding: 12px;
}
.up-radar .upkr-discovery-card__quick-title {
  color: #273744;
  font-size: 12px;
  letter-spacing: -.01em;
}
.up-radar .upkr-discovery-card__quick-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__quick-fact {
  background: #fff;
  border: 1px solid #e7e2dc;
  border-top: 3px solid var(--upkr-orange);
  border-radius: 11px;
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
}
.up-radar .upkr-discovery-card__quick-fact.is-location { border-top-color: #267252; }
.up-radar .upkr-discovery-card__quick-fact.is-operator { border-top-color: #b25a13; }
.up-radar .upkr-discovery-card__quick-fact span {
  color: #76838b;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__quick-fact b {
  color: #253541;
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.up-radar .upkr-discovery-card__fit {
  background: linear-gradient(145deg, #fff8f1, #fff);
  border: 1px solid #efd8c4;
  border-radius: 15px;
  display: grid;
  gap: 11px;
  padding: 13px;
}
.up-radar .upkr-discovery-card__fit-head {
  display: grid;
  gap: 2px;
}
.up-radar .upkr-discovery-card__fit-head > strong {
  color: #273744;
  font-size: 14px;
  line-height: 1.25;
}
.up-radar .upkr-discovery-card__fit-head > small {
  color: #647681;
  font-size: 11.5px;
  line-height: 1.35;
}
.up-radar .upkr-discovery-card__fit-list {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-discovery-card__fit-item {
  align-content: start;
  background: #fff;
  border: 1px solid #e7e2dc;
  border-left: 3px solid var(--upkr-orange);
  border-radius: 11px;
  color: #405563;
  display: grid;
  font-size: 12px;
  gap: 3px;
  line-height: 1.35;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 9px 10px;
}
.up-radar .upkr-discovery-card__fit-item > b {
  color: var(--upkr-orange-dark);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.up-radar .upkr-discovery-card__fit-item.is-near,
.up-radar .upkr-discovery-card__fit-item.is-location { border-left-color: #28774f; }
.up-radar .upkr-discovery-card__fit-item.is-near > b,
.up-radar .upkr-discovery-card__fit-item.is-location > b { color: #236743; }
.up-radar .upkr-discovery-card__fit-item.is-source { border-left-color: #6f7e88; }
.up-radar .upkr-discovery-card__before-visit {
  background: #fff;
  border-left: 3px solid var(--upkr-orange);
  display: grid;
  gap: 8px;
  padding: 2px 0 2px 12px;
}
.up-radar .upkr-discovery-card__before-visit > strong {
  color: #3c4e59;
  font-size: 12.5px;
}
.up-radar .upkr-discovery-card__check-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.up-radar .upkr-discovery-card__check-item {
  align-items: center;
  background: #fff8f1;
  border: 1px solid #f0d2b7;
  border-radius: 999px;
  color: #6c4a2c;
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 750;
  gap: 5px;
  line-height: 1.25;
  padding: 6px 8px;
}
.up-radar .upkr-discovery-card__check-item > b { color: var(--upkr-orange); }

@media (max-width: 640px) {
  .up-radar .upkr-discovery-card__quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-discovery-card__fit-list { grid-template-columns: 1fr; }
  .up-radar .upkr-tool-modal__header,
  .up-radar .upkr-destination-modal .upkr-tool-modal__header,
  .up-radar .upkr-details-modal .upkr-tool-modal__header { border-bottom-width: 2px; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.17.3 – compact article cards and light story
   -------------------------------------------------------------------------- */

/* A public article can contain fewer facts than the neighbouring destination.
   It must not inherit the height of the tallest card in the entire feed. */
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed {
  align-items: start;
  grid-auto-rows: auto;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
  align-self: start;
  grid-template-rows: 210px auto;
  height: auto;
  min-height: 0;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__body {
  align-content: start;
  height: auto;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__dealbar {
  margin-top: 10px;
}

/* The large entry, explainer and FAQ use warm paper-like surfaces. Navy remains
   available for text only and no longer forms a dominant background block. */
.up-radar .upkr-hero {
  background:
    radial-gradient(circle at 94% 4%, rgba(233,125,31,.13), transparent 27%),
    radial-gradient(circle at 8% 94%, rgba(34,126,86,.07), transparent 30%),
    linear-gradient(145deg, #fff8f1 0%, #fff 58%, #f8fbf9 100%);
  border: 1px solid #efcfb2;
  box-shadow: 0 20px 54px rgba(92,61,35,.11);
  color: var(--upkr-navy-strong);
}
.up-radar .upkr-hero::before {
  border-color: rgba(233,125,31,.16);
}
.up-radar .upkr-hero .upkr-eyebrow { color: var(--upkr-orange-dark); }
.up-radar .upkr-main-heading {
  color: var(--upkr-navy-strong);
  font-size: clamp(42px,5.2vw,66px);
}
.up-radar .upkr-hero__copy > p {
  color: #596b78;
  max-width: 680px;
}
.up-radar .upkr-hero .upkr-button--ghost {
  background: #fff;
  border-color: #dfE6ea;
  box-shadow: 0 8px 20px rgba(31,46,57,.06);
  color: var(--upkr-navy-strong) !important;
}
.up-radar .upkr-hero .upkr-button--ghost:hover {
  background: #fff5eb;
  border-color: #efc59e;
}
.up-radar .upkr-hero-saved span {
  background: #fff0e4;
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-hero__dashboard {
  background: rgba(255,255,255,.94);
  border-color: #efd7c1;
  box-shadow: 0 18px 42px rgba(89,57,30,.12);
}
.up-radar .upkr-hero__dashboard::before {
  background: linear-gradient(90deg, var(--upkr-orange), #f3a35f 70%, #2a7d59);
}
.up-radar .upkr-hero__dashboard-head strong { background: var(--upkr-orange); }
.up-radar .upkr-hero__dashboard li > span {
  background: #fff3e8;
  border-color: #efd0b3;
  color: var(--upkr-orange-dark);
}

.up-radar .upkr-explainer {
  background: linear-gradient(145deg, #fff8f1 0%, #fff 58%, #f8fbf9 100%);
  border-color: #efcfb2;
  box-shadow: 0 16px 42px rgba(92,61,35,.08);
}
.up-radar .upkr-explainer__intro {
  background: #fff !important;
  border: 1px solid #efd6bf !important;
  box-shadow: 0 12px 30px rgba(92,61,35,.07);
  color: var(--upkr-navy-strong);
  position: relative;
}
.up-radar .upkr-explainer__intro::before {
  background: linear-gradient(180deg, var(--upkr-orange), #f3ae72);
  border-radius: 999px;
  content: "";
  inset: 26px auto 26px 0;
  position: absolute;
  width: 5px;
}
.up-radar .upkr-explainer__intro .upkr-eyebrow { color: var(--upkr-orange-dark); }
.up-radar .upkr-explainer__intro h2 { color: var(--upkr-navy-strong); }
.up-radar .upkr-explainer__intro > p { color: #596b78; }
.up-radar .upkr-explainer__seal {
  background: #fff7ef;
  border-color: #efd2b6;
  color: var(--upkr-navy-strong);
}
.up-radar .upkr-explainer__seal > span { background: #eaf6ef; color: #1d7b50; }
.up-radar .upkr-explainer__seal small { color: #697984; }
.up-radar .upkr-explainer__icon {
  background: #fff2e6;
  border-color: #efcba9;
  color: var(--upkr-orange-dark) !important;
}
.up-radar .upkr-explainer article {
  border-color: #e8ded5;
  box-shadow: 0 9px 24px rgba(92,61,35,.045);
}
.up-radar .upkr-explainer article:hover { border-color: #efb982; }

.up-radar .upkr-faq.upkr-faq--editorial {
  background: linear-gradient(145deg, #fff8f1 0%, #fff 58%, #f8fbf9 100%);
  border-color: #efcfb2;
  box-shadow: 0 16px 42px rgba(92,61,35,.08);
}
.up-radar .upkr-faq__intro {
  background: #fff;
  border: 1px solid #efd6bf;
  box-shadow: 0 12px 30px rgba(92,61,35,.07);
  color: var(--upkr-navy-strong);
}
.up-radar .upkr-faq__intro .upkr-eyebrow { color: var(--upkr-orange-dark); }
.up-radar .upkr-faq__intro h2 { color: var(--upkr-navy-strong); }
.up-radar .upkr-faq__intro > p { color: #596b78; }
.up-radar .upkr-faq__note {
  background: #fff7ef;
  border-color: #efd2b6;
  color: var(--upkr-navy-strong);
}
.up-radar .upkr-faq__note > span { background: var(--upkr-orange); color: #fff; }
.up-radar .upkr-faq__note small { color: #697984; }
.up-radar .upkr-faq__list details {
  border-color: #e8ded5;
  box-shadow: 0 8px 22px rgba(92,61,35,.04);
}
.up-radar .upkr-faq__list details[open] { border-color: #efb982; }
.up-radar .upkr-faq__list summary > span {
  background: #fff2e6;
  border-color: #efcba9;
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-faq__list summary::after {
  background: #fff0e3;
  color: var(--upkr-orange-dark);
}

@media (max-width: 640px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
    grid-template-rows: 190px auto;
  }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.18.6 – aligned mixed cards and richer CTA
   -------------------------------------------------------------------------- */

/* The two cards in one desktop row finish on the same baseline. This is scoped
   to the genuinely two-column container, so a mobile card never receives an
   artificial height from another result. */
@container (min-width: 821px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed {
    align-items: stretch;
    grid-auto-rows: auto;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card {
    align-self: stretch;
    height: 100%;
    min-height: 100%;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
    align-self: stretch;
    grid-template-rows: 210px minmax(0, 1fr);
    height: 100%;
    min-height: 100%;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__body {
    height: 100%;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__dealbar {
    margin-top: auto;
  }
}

.up-radar.upkr-cta {
  background:
    radial-gradient(circle at 96% 5%, rgba(233,125,31,.15), transparent 28%),
    radial-gradient(circle at 4% 96%, rgba(31,121,85,.08), transparent 30%),
    linear-gradient(145deg, #fff8f1 0%, #fff 58%, #f7fbf9 100%);
  border: 1px solid #efcdae;
  border-radius: 26px;
  box-shadow: 0 20px 48px rgba(92,61,35,.11);
  display: grid;
  gap: 22px 34px;
  grid-template-areas:
    "intro benefits"
    "actions benefits";
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  margin: clamp(24px, 4vw, 48px) auto;
  max-width: 1240px;
  overflow: hidden;
  padding: clamp(26px, 4vw, 44px);
}
.up-radar.upkr-cta::before {
  background: linear-gradient(90deg, var(--upkr-orange), #f3a15a 68%, #287950);
  content: "";
  height: 5px;
  inset: 0 0 auto;
  position: absolute;
}
.upkr-cta__intro { grid-area: intro; }
.upkr-cta__eyebrow {
  color: var(--upkr-orange-dark);
  display: inline-flex;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.upkr-cta__intro h2 {
  color: var(--upkr-navy-strong, #172331);
  font-size: clamp(29px, 3.5vw, 44px);
  letter-spacing: -.035em;
  line-height: 1.04;
  margin: 12px 0 14px;
  max-width: 720px;
}
.upkr-cta__intro p {
  color: #526570;
  font-size: clamp(16px, 1.7vw, 19px);
  line-height: 1.58;
  margin: 0;
  max-width: 760px;
}
.upkr-cta__benefits {
  align-self: stretch;
  display: grid;
  gap: 10px;
  grid-area: benefits;
  list-style: none;
  margin: 0;
  padding: 0;
}
.upkr-cta__benefits li {
  align-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid #e6ddd5;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(73,52,35,.045);
  display: grid;
  gap: 12px;
  grid-template-columns: 46px minmax(0, 1fr);
  min-width: 0;
  padding: 13px 15px;
}
.upkr-cta__benefits li > span {
  align-items: center;
  background: #fff1e5;
  border: 1px solid #efcfb3;
  border-radius: 13px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  font-size: 18px;
  font-weight: 900;
  height: 46px;
  justify-content: center;
  width: 46px;
}
.upkr-cta__benefits div { display: grid; gap: 2px; min-width: 0; }
.upkr-cta__benefits strong { color: var(--upkr-navy-strong, #172331); font-size: 15px; line-height: 1.25; }
.upkr-cta__benefits small { color: #657680; font-size: 12px; line-height: 1.35; }
.upkr-cta__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-area: actions;
}
.upkr-cta__actions .upkr-button { min-height: 52px; padding-inline: 23px; }
.upkr-cta__actions .upkr-button--secondary {
  background: #fff;
  border-color: #ded8d2;
  color: var(--upkr-navy-strong, #172331);
}
.upkr-cta__actions .upkr-button--secondary:hover,
.upkr-cta__actions .upkr-button--secondary:focus-visible {
  background: #fff4e9;
  border-color: #e9b98e;
}

@media (max-width: 860px) {
  .up-radar.upkr-cta {
    grid-template-areas: "intro" "benefits" "actions";
    grid-template-columns: 1fr;
  }
  .upkr-cta__benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .upkr-cta__benefits li { align-content: start; grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .up-radar.upkr-cta { border-radius: 20px; gap: 20px; padding: 25px 18px 20px; }
  .upkr-cta__benefits { grid-template-columns: 1fr; }
  .upkr-cta__benefits li { grid-template-columns: 46px minmax(0, 1fr); }
  .upkr-cta__actions { display: grid; grid-template-columns: 1fr; }
  .upkr-cta__actions .upkr-button { width: 100%; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.18.7 – calmer entry and current deal cards
   -------------------------------------------------------------------------- */

/* WordPress themes often add their own page padding above a shortcode. Keep the
   component margin deliberately small so the navigation does not float above a
   second, visually empty header area. */
.up-radar[data-upkr-root] {
  margin-top: clamp(8px, 1.35vw, 18px);
}
.up-radar .upkr-hero__copy { min-width: 0; }
.up-radar .upkr-main-heading {
  font-size: clamp(40px, 4.25vw, 58px);
  hyphens: none;
  letter-spacing: -.038em;
  line-height: 1.045;
  max-width: 720px;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

/* The current offers use the same information hierarchy as the primary
   Dealcheck cards: visual category, dated evidence state, concrete benefits and
   a price/action footer. */
.up-radar .upkr-latest__head h2 {
  color: var(--upkr-navy-strong) !important;
  font-size: clamp(30px, 3.2vw, 44px);
  text-wrap: balance;
}
.up-radar .upkr-latest__grid { align-items: stretch; }
.up-radar .upkr-latest-card {
	border-radius: 24px;
	box-shadow: 0 18px 46px rgba(24, 38, 49, .09);
	display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
}
.up-radar .upkr-latest-card__image {
	aspect-ratio: 16 / 8.35;
  background: linear-gradient(145deg, #fff2e7, #f8fbf9);
  border-bottom: 4px solid var(--upkr-orange);
  min-height: 0;
  position: relative;
}
.up-radar .upkr-latest-card__image img {
  height: 100%;
  object-fit: cover;
}
.up-radar .upkr-latest-card__image > span:not([class]) {
  color: var(--upkr-orange-dark);
  height: 100%;
  min-height: 0;
}
.up-radar .upkr-latest-card__category,
.up-radar .upkr-latest-card__status {
  align-items: center;
  backdrop-filter: blur(8px);
  border-radius: 999px;
  box-shadow: 0 7px 20px rgba(32,43,51,.12);
  display: inline-flex;
  font-weight: 850;
  gap: 7px;
  letter-spacing: .035em;
  min-height: 0;
  position: absolute;
  width: auto;
  z-index: 2;
}
.up-radar .upkr-latest-card__category {
  background: rgba(177,73,0,.94);
  color: #fff;
  font-size: 10px;
  left: 14px;
  padding: 8px 12px;
  text-transform: uppercase;
  top: 14px;
}
.up-radar .upkr-latest-card__category svg {
  fill: none;
  height: 16px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 16px;
}
.up-radar .upkr-latest-card__status {
  background: rgba(242,251,246,.95);
  bottom: 12px;
  color: #166b48;
  font-size: 10px;
  left: 14px;
  letter-spacing: 0;
  padding: 7px 11px;
}
.up-radar .upkr-latest-card__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
	padding: 22px 22px 0;
}
.up-radar .upkr-latest-card h3 {
	display: -webkit-box;
	font-size: clamp(20px, 1.35vw, 24px);
	font-weight: 850;
  letter-spacing: -.025em;
	line-height: 1.18;
	margin: 0 0 14px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.up-radar .upkr-latest-card__destination {
  align-items: center;
  color: #657681;
  display: flex;
	font-size: 14px;
  gap: 8px;
	margin: 0 0 14px;
}
.up-radar .upkr-latest-card__destination svg {
  fill: none;
  height: 16px;
  stroke: var(--upkr-orange);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 16px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits {
  display: grid;
	gap: 8px;
  list-style: none;
	margin: 0 0 16px;
  padding: 0;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li {
  align-items: start;
  background: transparent;
  border-radius: 0;
  color: #51616d;
  display: grid;
	font-size: 13px;
  font-weight: 600;
  gap: 8px;
	grid-template-columns: 22px minmax(0, 1fr);
  line-height: 1.35;
  padding: 0;
}
.up-radar .upkr-latest-card__benefits li span {
  align-items: center;
  background: #e9f7ef;
  border-radius: 50%;
  color: #18704b;
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
	height: 22px;
  justify-content: center;
	width: 22px;
}
.up-radar .upkr-latest-card__excerpt {
  font-size: 12px;
  margin-bottom: 18px;
}
.up-radar .upkr-latest-card__expect {
  background: #fffaf5;
  border-left: 3px solid var(--upkr-orange);
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding: 9px 11px;
}
.up-radar .upkr-latest-card__expect strong {
  color: var(--upkr-orange-dark);
  font-size: 10px;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.up-radar .upkr-latest-card__expect span {
  color: #5e6d77;
  display: -webkit-box;
  font-size: 12px;
  line-height: 1.42;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.up-radar .upkr-latest-card__footer {
  align-items: stretch;
  border-top: 1px solid #e7ecef;
  display: grid;
  gap: 10px;
	grid-template-columns: minmax(105px, .65fr) minmax(145px, 1.35fr);
	margin: auto -22px 0;
	padding: 16px 22px;
}
.up-radar .upkr-latest-card__footer p {
  display: grid;
  gap: 2px;
  margin: 0;
}
.up-radar .upkr-latest-card__footer small {
  color: #72808a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.up-radar .upkr-latest-card__footer strong {
  color: var(--upkr-orange-dark);
	font-size: clamp(19px, 1.45vw, 23px);
  line-height: 1.18;
}
.up-radar .upkr-latest-card__link {
  align-items: center;
  background: var(--upkr-orange);
	border-radius: 14px;
  color: #fff !important;
  display: inline-flex;
	font-size: 13px;
  justify-content: center;
  line-height: 1.2;
	min-height: 54px;
  padding: 10px 12px;
  text-align: center;
}
.up-radar .upkr-latest-card__link:hover,
.up-radar .upkr-latest-card__link:focus-visible {
  background: var(--upkr-orange-dark);
}

@media (max-width: 640px) {
  .up-radar .upkr-main-heading { font-size: clamp(38px, 11.5vw, 50px); }
  .up-radar .upkr-latest-card__footer { grid-template-columns: 1fr; }
}

/* v0.18.8: immediate result hand-off and an honest indeterminate place loader. */
.up-radar .upkr-result-loading {
  align-items: center;
  background: linear-gradient(135deg, #fffaf5 0%, #fff 52%, #f5fbf7 100%);
  border: 1px solid #f1d4ba;
  border-radius: 20px;
  display: grid;
  gap: 16px;
  grid-column: 1 / -1;
  grid-template-columns: 64px minmax(0, 1fr);
  min-height: 138px;
  padding: 24px;
}
.up-radar .upkr-result-loading__visual,
.up-radar .upkr-discovery-loading__visual {
  align-items: center;
  background: #fff;
  border: 1px solid #f0c7a2;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(154, 67, 0, .09);
  display: flex;
  gap: 5px;
  height: 58px;
  justify-content: center;
  width: 58px;
}
.up-radar .upkr-result-loading__visual i,
.up-radar .upkr-discovery-loading__visual i {
  animation: upkr-loader-pulse 1.2s ease-in-out infinite;
  background: var(--upkr-orange);
  border-radius: 50%;
  height: 8px;
  width: 8px;
}
.up-radar .upkr-result-loading__visual i:nth-child(2),
.up-radar .upkr-discovery-loading__visual i:nth-child(2) { animation-delay: .16s; }
.up-radar .upkr-result-loading__visual i:nth-child(3),
.up-radar .upkr-discovery-loading__visual i:nth-child(3) { animation-delay: .32s; }
.up-radar .upkr-result-loading__copy,
.up-radar .upkr-discovery-loading__copy { display: grid; gap: 6px; min-width: 0; }
.up-radar .upkr-result-loading__copy strong { color: var(--upkr-navy-strong); font-size: 18px; line-height: 1.25; }
.up-radar .upkr-result-loading__copy small { color: #60717d; font-size: 13px; line-height: 1.5; }
.up-radar .upkr-discovery-loading:not(.is-error):not(.is-empty):not(.is-refreshing) {
  align-items: center;
  background: linear-gradient(135deg, #fffaf5 0%, #fff 55%, #f3faf6 100%);
  border-color: #f0d1b6;
  gap: 18px;
  grid-template-columns: 64px minmax(0, 1fr);
  min-height: 150px;
  padding: 24px 28px;
  place-content: initial;
  text-align: left;
}
.up-radar .upkr-discovery-loading__copy > strong { color: var(--upkr-navy-strong); font-size: 17px; line-height: 1.25; }
.up-radar .upkr-discovery-loading__copy > span { color: #60717d; font-size: 13px; line-height: 1.55; }
.up-radar .upkr-discovery-loading__copy > small {
  color: var(--upkr-orange-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.45;
  text-transform: uppercase;
}
@keyframes upkr-loader-pulse {
  0%, 70%, 100% { opacity: .3; transform: translateY(0) scale(.82); }
  35% { opacity: 1; transform: translateY(-4px) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .up-radar .upkr-result-loading__visual i,
  .up-radar .upkr-discovery-loading__visual i { animation: none; opacity: .72; }
}
@media (max-width: 640px) {
  .up-radar .upkr-result-loading,
  .up-radar .upkr-discovery-loading:not(.is-error):not(.is-empty):not(.is-refreshing) {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
  }
  .up-radar .upkr-result-loading__visual,
  .up-radar .upkr-discovery-loading__visual { border-radius: 14px; height: 46px; width: 46px; }
}

/* v0.18.9: exact search hand-off and denser evidence-backed offer cards. */
.up-radar [data-upkr-result-title],
.up-radar [data-upkr-discovery-title] {
  scroll-margin-top: clamp(16px, 3vh, 38px);
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.18.10 – clear topic, useful mixed-card depth
   and a focused single-action homepage CTA
   -------------------------------------------------------------------------- */
.up-radar .upkr-card__topic {
  align-items: center;
  align-self: flex-start;
  background: linear-gradient(135deg, #fff8f1 0%, #fff0e1 100%);
  border: 1px solid #efc49d;
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(154, 67, 0, .08);
  color: var(--upkr-orange-dark);
  display: inline-flex;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 900;
  justify-self: start;
  letter-spacing: .065em;
  line-height: 1.2;
  margin: 0;
  max-width: 100%;
  padding: 5px 12px 5px 6px;
  text-transform: uppercase;
  width: auto;
}
.up-radar .upkr-card__topic-icon {
  align-items: center;
  background: var(--upkr-orange);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 27px;
  height: 27px;
  justify-content: center;
  width: 27px;
}
.up-radar .upkr-card__topic-icon svg {
  fill: none;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
  width: 17px;
}
.up-radar .upkr-card__topic-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.up-radar .upkr-card__expect {
  background: linear-gradient(145deg, #fff8f1, #fff);
  border: 1px solid #efd5bd;
  border-left: 4px solid var(--upkr-orange);
  border-radius: 13px;
  display: grid;
  gap: 5px;
  margin: 1px 0 0;
  padding: 12px 13px;
}
.up-radar .upkr-card__expect strong {
  color: var(--upkr-orange-dark);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.up-radar .upkr-card__expect p {
  color: #536673;
  font-size: 11.5px;
  line-height: 1.5;
  margin: 0;
}

/* v0.18.14: one calm context line instead of stacked source/topic badges. */
.up-radar .upkr-card__context {
  align-items: center;
  border-bottom: 1px solid #f1dfcf;
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;
  justify-content: space-between;
  margin: 0 0 2px;
  padding: 0 0 10px;
}
.up-radar .upkr-card__context .upkr-card__meta {
  align-items: center;
  display: flex;
  gap: 7px;
  margin: 0 0 0 auto;
}
.up-radar .upkr-card__context .upkr-card__source,
.up-radar .upkr-card__context .upkr-card__checked {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  line-height: 1.25;
  min-height: 31px;
  padding: 6px 11px;
}
.up-radar .upkr-card__context .upkr-card__source {
  background: #fff4e8;
  border: 1px solid #f1d6bc;
  color: var(--upkr-orange-dark);
  font-weight: 800;
}
.up-radar .upkr-card__context .upkr-card__checked {
  background: #f7f9fa;
  border: 1px solid #dce4e8;
  color: #5d6e79;
  font-weight: 700;
}
.up-radar .upkr-card__context .upkr-card__topic {
  flex: 0 1 auto;
}

@media (max-width: 640px) {
  .up-radar .upkr-card__context {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .up-radar .upkr-card__context .upkr-card__meta {
    margin-left: 0;
    width: 100%;
  }
}

@container (min-width: 821px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__expect {
    align-content: start;
    flex: 1 1 auto;
    min-height: 118px;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__expect p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
}

.up-radar.upkr-cta .upkr-cta__actions .upkr-button {
  min-width: min(100%, 245px);
}
.up-radar.upkr-cta .upkr-cta__actions .upkr-button--primary {
  box-shadow: 0 12px 25px rgba(183,78,9,.18);
}

@media (max-width: 640px) {
  .up-radar .upkr-card__expect { padding: 11px 12px; }
}
.up-radar .upkr-latest-card__body {
  background: #fff;
}
.up-radar .upkr-latest-card__footer {
  background: linear-gradient(180deg, #fff 0%, #fffaf5 100%);
}

/* v0.18.16: complete, pictorial package benefits instead of one generic pill. */
.up-radar .upkr-benefit-icon {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 1px solid currentColor;
  border-radius: 9px;
  color: inherit;
  display: inline-flex;
  flex: 0 0 28px;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.up-radar .upkr-benefit-icon svg {
  fill: none;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 17px;
}
.up-radar .upkr-benefit-label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing {
  align-items: stretch;
  gap: 8px;
  margin-top: 1px;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  gap: 8px;
  min-height: 42px;
  padding: 6px 11px 6px 6px;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-verified {
  background: linear-gradient(135deg,#edf9f3 0%,#e5f6ed 100%);
  border-color: #c5e5d4;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-info {
  background: linear-gradient(135deg,#f1f8fd 0%,#e8f3fa 100%);
  border-color: #c5ddea;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-more {
  min-height: 36px;
  padding-left: 11px;
}
.up-radar .upkr-details-inclusions li {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 8px 10px;
}
.up-radar .upkr-details-inclusions li .upkr-benefit-icon {
  flex-basis: 32px;
  height: 32px;
  width: 32px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li {
  align-items: center;
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 34px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li > .upkr-benefit-icon {
  background: #e9f7ef;
  border: 1px solid #cde8da;
  border-radius: 9px;
  color: #18704b;
  height: 30px;
  width: 30px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li > .upkr-benefit-icon svg {
  height: 17px;
  width: 17px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li > .upkr-benefit-label {
  align-items: initial;
  background: transparent;
  border-radius: 0;
  color: #51616d;
  display: inline;
  font-size: 13px;
  font-weight: 650;
  height: auto;
  justify-content: initial;
  width: auto;
}
.up-radar .upkr-compare-benefits li {
  align-items: center;
  display: grid;
  gap: 7px;
  grid-template-columns: 26px minmax(0,1fr);
  padding: 2px 0;
}
.up-radar .upkr-compare-benefits li::before {
  content: none;
}
.up-radar .upkr-compare-benefits .upkr-benefit-icon {
  background: #e9f7ef;
  border-color: #cde8da;
  color: #18704b;
  flex-basis: 25px;
  height: 25px;
  width: 25px;
}
.up-radar .upkr-compare-benefits .upkr-benefit-icon svg {
  height: 14px;
  width: 14px;
}
.up-radar .upkr-card--listing .upkr-card__body {
  row-gap: 10px;
}
.up-radar .upkr-card--listing .upkr-card__expect {
  border-left-width: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

@media (max-width: 640px) {
  .up-radar .upkr-card--listing .upkr-card__inclusions--listing li {
    flex: 1 1 calc(50% - 4px);
  }
  .up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-more {
    flex-basis: 100%;
  }
}

/* v0.18.17, refined in v0.18.19: budget fit lives beside the price; compact
   benefits disclose all hidden package details on hover, keyboard focus or tap. */
.up-radar .upkr-card__budget-fit {
  align-items: center;
  align-self: start;
  background: linear-gradient(135deg,#edf9f3 0%,#e3f5eb 100%);
  border: 1px solid #bfe0ce;
  border-radius: 999px;
  color: #176b49 !important;
  display: inline-flex !important;
  font-size: 10.5px !important;
  font-weight: 800;
  gap: 6px;
  line-height: 1.2;
  margin-top: 8px;
  padding: 5px 9px 5px 6px;
  width: fit-content;
}
.up-radar .upkr-card__budget-fit.is-info {
  background: linear-gradient(135deg,#f1f8fd 0%,#e8f3fa 100%);
  border-color: #c5ddea;
  color: #165a87 !important;
}
.up-radar .upkr-card__budget-fit-icon {
  align-items: center;
  background: #176b49;
  border-radius: 50%;
  color: #fff !important;
  display: inline-flex !important;
  border: 0;
  flex: 0 0 20px;
  font-size: 9px !important;
  height: 20px;
  justify-content: center;
  width: 20px;
}
.up-radar .upkr-card__budget-fit-icon svg {
  height: 12px;
  width: 12px;
}
.up-radar .upkr-card__budget-fit.is-info .upkr-card__budget-fit-icon {
  background: #165a87;
}
.up-radar .upkr-card__budget-fit.is-warning {
  background: linear-gradient(135deg,#fff8e8 0%,#fff0cb 100%);
  border-color: #e8cc8b;
  color: #7b5200 !important;
}
.up-radar .upkr-card__budget-fit.is-warning .upkr-card__budget-fit-icon {
  background: #9b6a00;
}
.up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-more {
  overflow: visible;
  padding: 0;
  position: relative;
}
.up-radar .upkr-more-benefits {
  position: relative;
  width: 100%;
}
.up-radar .upkr-more-benefits__summary {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: 7px;
  font-weight: 850;
  min-height: 36px;
  padding: 6px 11px;
  user-select: none;
}
.up-radar .upkr-more-benefits__summary-icon {
  align-items: center;
  background: #fff;
  border: 1px solid #a9cfe5;
  border-radius: 50%;
  color: #165a87;
  display: inline-flex;
  flex: 0 0 22px;
  font-size: 15px;
  height: 22px;
  justify-content: center;
  line-height: 1;
  width: 22px;
}
.up-radar .upkr-more-benefits__summary::-webkit-details-marker { display: none; }
.up-radar .upkr-more-benefits__summary::marker { content: ''; }
.up-radar .upkr-more-benefits__summary:focus-visible {
  border-radius: 10px;
  outline: 3px solid rgba(233,125,31,.28);
  outline-offset: 2px;
}
.up-radar .upkr-more-benefits__popover {
  background: #fff;
  border: 1px solid #e7cdb5;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(25,42,55,.18);
  color: var(--upkr-ink);
  display: none;
  left: auto;
  max-width: min(360px, calc(100vw - 64px));
  min-width: min(330px, calc(100vw - 64px));
  padding: 12px;
  position: absolute;
  right: 0;
  top: calc(100% + 7px);
  width: max-content;
  z-index: 30;
}
.up-radar .upkr-more-benefits__popover > strong {
  color: var(--upkr-orange-dark);
  display: block;
  font-size: 10.5px;
  letter-spacing: .035em;
  margin: 0 0 9px;
  text-transform: uppercase;
}
.up-radar .upkr-more-benefits__list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.up-radar .upkr-card--listing .upkr-more-benefits__list li {
  align-items: center;
  background: #f7fafb;
  border: 1px solid #dce6eb;
  box-sizing: border-box;
  color: #425967;
  display: flex;
  min-height: 38px;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 5px 8px 5px 5px;
  width: 100%;
}
.up-radar .upkr-more-benefits[open] .upkr-more-benefits__popover {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .up-radar .upkr-card__inclusions--listing li.is-more:hover .upkr-more-benefits__popover,
  .up-radar .upkr-card__inclusions--listing li.is-more:focus-within .upkr-more-benefits__popover {
    display: block;
  }
}
.up-radar .upkr-details-inclusions {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.up-radar .upkr-details-inclusions li {
  min-height: 48px;
}

@media (max-width: 640px) {
  .up-radar .upkr-card--listing .upkr-card__inclusions--listing li.is-more {
    flex-basis: 100%;
    width: 100%;
  }
  .up-radar .upkr-more-benefits {
    width: 100%;
  }
  .up-radar .upkr-more-benefits__popover {
    left: 0;
    margin-top: 7px;
    max-width: none;
    min-width: 0;
    position: static;
    right: auto;
    width: 100%;
  }
  .up-radar .upkr-details-inclusions { grid-template-columns: 1fr; }
}

/* v0.18.18: compact, balanced cards for the crawlable current-deals list. */
.up-radar .upkr-latest__grid {
  align-items: stretch;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.up-radar .upkr-latest-card {
  background: #fff;
  border: 1px solid #dce6eb;
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(26, 43, 55, .075);
  display: grid;
  grid-template-rows: 218px minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.up-radar .upkr-latest-card:hover {
  border-color: #efc49e;
  box-shadow: 0 20px 48px rgba(30, 45, 56, .12);
  transform: translateY(-3px);
}
.up-radar .upkr-latest-card__image {
  aspect-ratio: auto;
  border-bottom: 4px solid var(--upkr-orange);
  height: 218px;
  min-height: 0;
}
.up-radar .upkr-latest-card__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.up-radar .upkr-latest-card__category {
  font-size: 10px;
  left: 16px;
  padding: 8px 12px;
  top: 16px;
}
.up-radar .upkr-latest-card__status {
  bottom: 14px;
  box-shadow: 0 6px 18px rgba(28, 46, 58, .12);
  font-size: 10px;
  left: 16px;
  padding: 7px 11px;
}
.up-radar .upkr-latest-card__body {
  background: #fff;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
}
.up-radar .upkr-latest-card__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 22px 22px 20px;
}
.up-radar .upkr-latest-card h3 {
  display: -webkit-box;
  font-size: clamp(20px, 1.25vw, 23px);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.2;
  margin: 0 0 13px;
  overflow: hidden;
  text-wrap: balance;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.up-radar .upkr-latest-card__destination {
  color: #647580;
  font-size: 13px;
  font-weight: 650;
  margin: 0 0 17px;
}
.up-radar .upkr-latest-card__package {
  background: linear-gradient(135deg, #fffaf5 0%, #fff 100%);
  border: 1px solid #f1d4ba;
  border-radius: 16px;
  margin-top: auto;
  padding: 13px 14px 14px;
}
.up-radar .upkr-latest-card__package-title {
  color: var(--upkr-orange-dark);
  display: block;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .07em;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li {
  align-items: center;
  color: #455965;
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 9px;
  grid-template-columns: 28px minmax(0, 1fr);
  line-height: 1.3;
  min-height: 30px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li > .upkr-benefit-icon {
  background: #eaf7ef;
  border: 1px solid #cce8d8;
  border-radius: 9px;
  color: #18704b;
  height: 28px;
  width: 28px;
}
.up-radar .upkr-latest-card .upkr-latest-card__benefits li > .upkr-benefit-icon svg {
  height: 15px;
  width: 15px;
}
.up-radar .upkr-latest-card__package-empty {
  color: #647580;
  font-size: 12px;
  line-height: 1.45;
  margin: 0;
}
.up-radar .upkr-latest-card__footer {
  align-items: center;
  background: #fffaf5;
  border-top: 1px solid #f0dfd0;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0;
  padding: 16px 18px;
}
.up-radar .upkr-latest-card__footer p {
  align-content: center;
  display: grid;
  gap: 1px;
  margin: 0;
  min-width: 0;
}
.up-radar .upkr-latest-card__footer small {
  color: #71808a;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .075em;
  line-height: 1.25;
  text-transform: uppercase;
}
.up-radar .upkr-latest-card__footer strong {
  color: var(--upkr-orange-dark);
  font-size: clamp(21px, 1.4vw, 25px);
  line-height: 1.12;
  white-space: nowrap;
}
.up-radar .upkr-latest-card__footer p > span {
  color: #697984;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.25;
}
.up-radar .upkr-latest-card__link {
  align-items: center;
  background: var(--upkr-orange);
  border: 1px solid var(--upkr-orange);
  border-radius: 13px;
  color: #fff !important;
  display: inline-flex;
  font-size: 12px;
  font-weight: 850;
  gap: 14px;
  justify-content: space-between;
  min-height: 48px;
  padding: 10px 14px;
  text-decoration: none !important;
  white-space: nowrap;
}
.up-radar .upkr-latest-card__link:hover,
.up-radar .upkr-latest-card__link:focus-visible {
  background: var(--upkr-orange-dark);
  border-color: var(--upkr-orange-dark);
}

@media (max-width: 1120px) {
  .up-radar .upkr-latest__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .up-radar .upkr-latest__grid { grid-template-columns: 1fr; }
  .up-radar .upkr-latest-card { grid-template-rows: 200px minmax(0, 1fr); }
  .up-radar .upkr-latest-card__image { height: 200px; }
  .up-radar .upkr-latest-card__content { padding: 19px 18px 17px; }
  .up-radar .upkr-latest-card__footer { grid-template-columns: 1fr; }
  .up-radar .upkr-latest-card__link { justify-content: center; }
}

/* v0.18.20: inspiration cards follow their real content height. Equal grid
 * rows previously stretched short article cards and left a large empty area
 * below "Das erwartet dich". */
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed {
  align-items: start;
  grid-auto-rows: auto;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
  align-self: start;
  height: auto;
  min-height: 0;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
  grid-template-rows: 210px auto;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__body,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__body {
  height: auto;
  min-height: 0;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__expect {
  flex: 0 0 auto;
  min-height: 0;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal .upkr-card__dealbar,
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] .upkr-card__dealbar {
  margin-top: 10px;
}
@media (max-width: 640px) {
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal,
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--deal[data-match-quality="article_info"] {
    grid-template-rows: 190px auto;
  }
}

/* v0.20.1: obsolete multimodal picker styles removed. */
.up-radar .upkr-travel-limit {
  background: var(--upkr-surface-alt);
  border: 1px solid var(--upkr-line);
  border-radius: 16px;
  margin-top: 14px;
  padding: 14px 15px;
}
.up-radar .upkr-travel-limit label { color: var(--upkr-navy); display: grid; font-size: 13px; font-weight: 850; gap: 7px; }
.up-radar .upkr-travel-limit select { background: #fff; border: 1px solid #cdd9df; border-radius: 11px; min-height: 48px; padding: 10px 12px; width: 100%; }
.up-radar .upkr-travel-limit small { color: var(--upkr-ink-soft); font-size: 11px; font-weight: 500; line-height: 1.5; }

.up-radar .upkr-travel-badge {
  align-items: center;
  background: #f4f8fa;
  border: 1px solid #dce7ec;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: 42px minmax(0, 1fr);
  margin: 10px 0;
  padding: 10px 12px;
}
.up-radar .upkr-travel-badge__icon {
  align-items: center;
  background: #e6eff3;
  border-radius: 11px;
  color: #315669;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.up-radar .upkr-travel-badge__icon svg,
.up-radar .upkr-travel-icon svg,
.up-radar .upkr-route-visual__mode svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 22px; }
.up-radar .upkr-travel-badge__copy { display: grid; gap: 2px; min-width: 0; }
.up-radar .upkr-travel-badge__copy small { color: #60727e; font-size: 9px; font-weight: 900; letter-spacing: .06em; line-height: 1.25; text-transform: uppercase; }
.up-radar .upkr-travel-badge__copy strong { color: var(--upkr-navy); font-size: 14px; line-height: 1.3; }
.up-radar .upkr-travel-badge__copy span { color: var(--upkr-ink-soft); font-size: 10px; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.up-radar .upkr-travel-badge.is-estimate { border-style: dashed; }
.up-radar .upkr-travel-badge.is-route { box-shadow: inset 3px 0 0 var(--upkr-green); }
.up-radar .upkr-routing-credit {
  background: #f6f8f9;
  border-left: 3px solid #b7c6ce;
  border-radius: 8px;
  color: #63737d;
  font-size: 10px;
  line-height: 1.5;
  margin: 13px 0 0;
  padding: 8px 10px;
}
.up-radar .upkr-route-visual__mode {
  align-items: center;
  background: var(--upkr-orange-soft);
  border-radius: 10px;
  color: var(--upkr-orange-dark);
  display: inline-flex;
  grid-row: 1 / span 2;
  height: 42px;
  justify-content: center;
  margin-right: 3px;
  width: 42px;
}
.up-radar .upkr-route-visual__metrics { grid-template-columns: auto auto minmax(0, 1fr); }
.up-radar .upkr-route-visual__metrics small { grid-column: 1 / -1; }

@media (max-width: 560px) {
  .up-radar .upkr-travel-badge { grid-template-columns: 38px minmax(0, 1fr); padding: 9px 10px; }
  .up-radar .upkr-travel-badge__icon { height: 38px; width: 38px; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.19.1 – responsive transport and destination UI
   -------------------------------------------------------------------------- */

/* Suggestions are part of the document flow. They expand the origin field and
   move the transport controls down instead of covering interactive content. */
.up-radar .upkr-origin-input-wrap {
  align-items: start;
  overflow: visible;
}
.up-radar .upkr-origin-entry {
  min-width: 0;
  position: relative;
  z-index: 4;
}
.up-radar .upkr-origin-locate {
  align-self: start !important;
}
.up-radar .upkr-place-suggestions {
  box-sizing: border-box;
  left: auto;
  margin-top: 8px;
  max-height: 280px;
  position: relative;
  right: auto;
  top: auto;
  width: 100%;
  z-index: 1;
}
.up-radar .upkr-place-suggestions[hidden] { display: none !important; }
.up-radar .upkr-place-suggestions button {
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  padding: 12px 14px;
}

/* Mode, duration and distance are stacked into a readable two-line metric in
   the destination check for car, transit and bicycle alike. */
.up-radar .upkr-route-visual__metrics {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-template-areas:
    "mode label"
    "mode metric"
    "note note";
  grid-template-columns: 46px minmax(0, 1fr);
  row-gap: 2px;
}
.up-radar .upkr-route-visual__mode {
  grid-area: mode;
  grid-row: auto;
  height: 46px;
  margin: 0;
  width: 46px;
}
.up-radar .upkr-route-visual__metrics > strong {
  font-size: 20px;
  grid-area: label;
  line-height: 1.15;
  min-width: 0;
  overflow-wrap: anywhere;
}
.up-radar .upkr-route-visual__metrics > span:not(.upkr-route-visual__mode) {
  font-size: 14px;
  grid-area: metric;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
}
.up-radar .upkr-route-visual__metrics > small {
  grid-area: note;
  grid-column: auto;
  line-height: 1.5;
  margin-top: 9px;
}
.up-radar .upkr-route-link {
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* The destination check receives enough width for a real two-column desktop
   workspace. On medium screens it intentionally stacks instead of squeezing. */
@media (min-width: 1001px) {
  .up-radar .upkr-destination-modal .upkr-tool-modal__dialog {
    max-height: min(800px, calc(100dvh - 40px));
    width: min(1120px, calc(100vw - 40px));
  }
  .up-radar .upkr-destination-modal .upkr-tool-modal__header {
    padding: 18px 24px 16px;
  }
  .up-radar .upkr-destination-modal .upkr-tool-modal__header h2 {
    font-size: clamp(25px, 2.6vw, 34px);
  }
  .up-radar .upkr-destination-tabs {
    padding: 8px 22px;
  }
  .up-radar .upkr-destination-modal .upkr-tool-modal__body {
    padding: 20px 22px 22px;
  }
  .up-radar .upkr-result-map__canvas {
    gap: 14px 20px;
    grid-template-areas: "route map" "note map";
    grid-template-columns: minmax(320px, .82fr) minmax(500px, 1.35fr);
    min-height: 390px;
  }
  .up-radar .upkr-result-map__canvas > .upkr-route-visual {
    padding: 21px;
  }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame,
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe {
    min-height: 390px;
  }
  .up-radar .upkr-map-consent {
    gap: 18px;
    padding: 30px;
  }
  .up-radar .upkr-map-consent h3 {
    font-size: 27px;
  }
  .up-radar .upkr-map-consent p {
    font-size: 13px;
  }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .up-radar .upkr-destination-modal .upkr-tool-modal__dialog {
    max-height: calc(100dvh - 32px);
    width: min(880px, calc(100vw - 32px));
  }
  .up-radar .upkr-result-map__canvas {
    grid-template-areas: "route" "note" "map";
    grid-template-columns: minmax(0, 1fr);
  }
  .up-radar .upkr-map-consent,
  .up-radar .upkr-map-frame,
  .up-radar .upkr-result-map__canvas .upkr-map-frame iframe {
    min-height: 280px;
  }
}

@media (max-width: 560px) {
  .up-radar .upkr-origin-input-wrap {
    grid-template-columns: 1fr;
  }
  .up-radar .upkr-origin-locate {
    width: 100% !important;
  }
  .up-radar .upkr-route-visual__metrics {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .up-radar .upkr-route-visual__mode {
    height: 42px;
    width: 42px;
  }
}

/* Keep the explanatory accuracy note across the full metric width. */
.up-radar .upkr-route-visual__metrics > small {
  grid-column: 1 / -1;
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.3 – decision help instead of live routing
   -------------------------------------------------------------------------- */

/* The simple reach panel replaces the former transport-mode chooser. It keeps
   the main question obvious, stays compact on mobile and does not imply live
   navigation or timetable availability. */
.up-radar .upkr-reach-panel {
  background:
    radial-gradient(circle at 92% 10%, rgba(233,125,31,.13), transparent 30%),
    linear-gradient(145deg, #f7fbfd 0%, #fffaf5 100%);
  border: 1px solid #d6e4eb;
  border-radius: 20px;
  display: grid;
  gap: 17px;
  margin-top: 20px;
  padding: 19px;
}
.up-radar .upkr-reach-panel__head {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 54px minmax(0, 1fr) auto;
}
.up-radar .upkr-reach-panel__icon {
  align-items: center;
  background: var(--upkr-orange);
  border-radius: 15px;
  box-shadow: 0 9px 22px rgba(203,93,12,.17);
  color: #fff;
  display: inline-flex;
  height: 54px;
  justify-content: center;
  width: 54px;
}
.up-radar .upkr-reach-panel__icon svg {
  fill: none;
  height: 27px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 27px;
}
.up-radar .upkr-reach-panel__head > div { display: grid; gap: 4px; min-width: 0; }
.up-radar .upkr-reach-panel__head strong {
  color: var(--upkr-navy-strong);
  font-size: 17px;
  line-height: 1.25;
}
.up-radar .upkr-reach-panel__head small {
  color: #5d6e7a;
  font-size: 12px;
  line-height: 1.5;
}
.up-radar .upkr-reach-panel__head em {
  background: #eaf5fb;
  border: 1px solid #cee3ee;
  border-radius: 999px;
  color: #285b79;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .05em;
  padding: 7px 10px;
  text-transform: uppercase;
  white-space: nowrap;
}
.up-radar .upkr-reach-panel .upkr-travel-limit {
  background: #fff;
  border: 1px solid #dce6eb;
  border-radius: 15px;
  padding: 14px 15px;
}
.up-radar .upkr-reach-panel .upkr-travel-limit label { gap: 9px !important; }
.up-radar .upkr-reach-panel .upkr-travel-limit select { background-color: #fff; }
.up-radar .upkr-reach-panel .upkr-travel-limit small {
  color: #63737e;
  display: block;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
}

/* Stay duration is a real decision factor and therefore receives the same calm
   card treatment as the existing budget selector. */
.up-radar .upkr-stay-length {
  border: 0;
  margin: 24px 0 0;
  min-width: 0;
  padding: 0;
}
.up-radar .upkr-stay-length > legend {
  color: var(--upkr-navy-strong);
  float: none;
  font-size: 13px;
  font-weight: 850;
  margin: 0 0 10px;
  padding: 0;
  width: auto;
}
.up-radar .upkr-stay-length > div {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.up-radar .upkr-stay-length label {
  cursor: pointer;
  display: block !important;
  font-weight: inherit !important;
  min-width: 0;
  position: relative;
}
.up-radar .upkr-stay-length input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}
.up-radar .upkr-stay-length label > span {
  background: #fff;
  border: 1px solid #d9e3e8;
  border-radius: 14px;
  display: grid;
  gap: 3px;
  min-height: 78px;
  padding: 14px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.up-radar .upkr-stay-length label:hover > span {
  border-color: #efb77f;
  transform: translateY(-1px);
}
.up-radar .upkr-stay-length input:checked + span {
  background: #fff8f1;
  border-color: var(--upkr-orange);
  box-shadow: 0 0 0 3px rgba(233,125,31,.12);
}
.up-radar .upkr-stay-length input:focus-visible + span {
  outline: 3px solid rgba(18,108,168,.25);
  outline-offset: 2px;
}
.up-radar .upkr-stay-length strong { color: var(--upkr-navy-strong); font-size: 14px; line-height: 1.25; }
.up-radar .upkr-stay-length small { color: #6a7882; font-size: 10px; line-height: 1.35; }

/* Approximate driving time and the uncertainty corridor are explicit on every
   destination card. */
.up-radar .upkr-travel-badge.is-boundary,
.up-radar .upkr-travel-badge__boundary {
  border-color: #e6b675;
}
.up-radar .upkr-travel-badge__boundary {
  background: #fff5e5;
  border: 1px solid #efd1a5;
  border-radius: 999px;
  color: #8c4a12;
  display: inline-flex;
  font-size: 9px;
  font-weight: 850;
  margin-top: 4px;
  padding: 4px 7px;
  width: max-content;
}

.up-radar .upkr-travel-effort {
  align-items: center;
  background: #f5f8fa;
  border: 1px solid #dfe7eb;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: 38px minmax(0, 1fr);
  padding: 11px 13px;
}
.up-radar .upkr-travel-effort__icon {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe7eb;
  border-radius: 11px;
  color: #506575;
  display: inline-flex;
  font-size: 17px;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.up-radar .upkr-travel-effort > div { display: grid; gap: 2px; min-width: 0; }
.up-radar .upkr-travel-effort strong { color: var(--upkr-navy-strong); font-size: 12px; line-height: 1.35; }
.up-radar .upkr-travel-effort small { color: #63737e; font-size: 10px; line-height: 1.4; }
.up-radar .upkr-travel-effort.is-good { background: #eff9f4; border-color: #d2eadc; }
.up-radar .upkr-travel-effort.is-good .upkr-travel-effort__icon { color: var(--upkr-green); }
.up-radar .upkr-travel-effort.is-medium { background: #eef6fb; border-color: #d3e4ee; }
.up-radar .upkr-travel-effort.is-warning { background: #fff6eb; border-color: #edd5ba; }
.up-radar .upkr-travel-effort.is-warning .upkr-travel-effort__icon { color: #a55213; }

/* Known mandatory costs remain visually distinct from an advertised package
   or from-price. */
.up-radar .upkr-card__costs {
  background: #f7f9fa;
  border: 1px solid #dfe6ea;
  border-radius: 14px;
  display: grid;
  gap: 7px;
  padding: 12px 14px;
}
.up-radar .upkr-card__costs.is-confirmed { background: #eef9f4; border-color: #cee7d9; }
.up-radar .upkr-card__costs.is-warning { background: #fff8f0; border-color: #edd9c5; }
.up-radar .upkr-card__costs-header {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.up-radar .upkr-card__costs-header strong { color: #64747e; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.up-radar .upkr-card__costs-header span { color: var(--upkr-navy-strong); font-size: 19px; font-weight: 900; letter-spacing: -.025em; white-space: nowrap; }
.up-radar .upkr-card__costs small,
.up-radar .upkr-card__costs p { color: #5f6f79; font-size: 10px; line-height: 1.48; margin: 0; }

/* A manually sourced no-car assessment offers useful orientation without
   presenting a fictitious live timetable. */
.up-radar .upkr-no-car {
  align-items: center;
  background: #f3f7fa;
  border: 1px solid #dbe5eb;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: 36px minmax(0, 1fr);
  padding: 11px 13px;
}
.up-radar .upkr-no-car__icon {
  align-items: center;
  background: #fff;
  border: 1px solid #dce6eb;
  border-radius: 50%;
  color: #436071;
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.up-radar .upkr-no-car > div { display: grid; gap: 2px; min-width: 0; }
.up-radar .upkr-no-car strong { color: var(--upkr-navy-strong); font-size: 11px; line-height: 1.35; }
.up-radar .upkr-no-car small { color: #667681; font-size: 9.5px; line-height: 1.4; overflow-wrap: anywhere; }
.up-radar .upkr-no-car.is-good { background: #edf8f3; border-color: #cee6d9; }
.up-radar .upkr-no-car.is-good .upkr-no-car__icon { color: var(--upkr-green); }
.up-radar .upkr-no-car.is-limited { background: #fff6e9; border-color: #ecd3b3; }
.up-radar .upkr-no-car.is-poor { background: #fff0ef; border-color: #edcfcc; }

/* Decision reasons are grouped instead of being mixed into promotional copy. */
.up-radar .upkr-card--listing .upkr-card__decision-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
.up-radar .upkr-card__decision {
  border: 1px solid #dfe7eb;
  border-radius: 14px;
  min-width: 0;
  padding: 12px 13px;
}
.up-radar .upkr-card__decision > strong { display: block; font-size: 10px; margin-bottom: 7px; text-transform: uppercase; }
.up-radar .upkr-card__decision ul { display: grid; gap: 5px; list-style: none; margin: 0; padding: 0; }
.up-radar .upkr-card__decision li { font-size: 9.5px; line-height: 1.42; margin: 0; padding-left: 16px; position: relative; }
.up-radar .upkr-card__decision li::before { font-weight: 900; left: 0; position: absolute; top: 0; }
.up-radar .upkr-card__decision.is-positive { background: #eef9f4; border-color: #d0e8db; }
.up-radar .upkr-card__decision.is-positive > strong,
.up-radar .upkr-card__decision.is-positive li { color: #176846; }
.up-radar .upkr-card__decision.is-positive li::before { content: '✓'; }
.up-radar .upkr-card__decision.is-warning { background: #fff7ed; border-color: #eed8bf; }
.up-radar .upkr-card__decision.is-warning > strong,
.up-radar .upkr-card__decision.is-warning li { color: #8e4914; }
.up-radar .upkr-card__decision.is-warning li::before { content: '!'; }

/* Expanded decision view. */
.up-radar .upkr-details-section--effort.is-good { background: #eff9f4; border-color: #d1e8dc; }
.up-radar .upkr-details-section--effort.is-medium { background: #eef6fb; border-color: #d1e3ed; }
.up-radar .upkr-details-section--effort.is-warning { background: #fff7ed; border-color: #ead4b9; }
.up-radar .upkr-details-effort__headline { color: var(--upkr-navy-strong); display: block; font-size: 18px; line-height: 1.3; margin-bottom: 6px; }
.up-radar .upkr-details-section--effort p,
.up-radar .upkr-details-section--no-car p { color: #5f707b; font-size: 12.5px; line-height: 1.58; margin: 0; }
.up-radar .upkr-details-section--costs.is-confirmed { background: #f2faf6; border-color: #d1e7db; }
.up-radar .upkr-details-section--costs.is-warning { background: #fff9f2; border-color: #ead8c5; }
.up-radar .upkr-cost-grid { display: grid; gap: 0; margin: 0; }
.up-radar .upkr-cost-grid > div {
  align-items: center;
  border-top: 1px solid rgba(20,35,51,.09);
  display: grid;
  gap: 15px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 10px 0;
}
.up-radar .upkr-cost-grid > div:first-child { border-top: 0; padding-top: 0; }
.up-radar .upkr-cost-grid > div.is-total { border-top: 2px solid rgba(20,35,51,.13); margin-top: 2px; padding-top: 13px; }
.up-radar .upkr-cost-grid dt { color: #657681; font-size: 12px; }
.up-radar .upkr-cost-grid dd { color: var(--upkr-navy-strong); font-size: 14px; font-weight: 850; margin: 0; white-space: nowrap; }
.up-radar .upkr-cost-grid > div.is-total dt,
.up-radar .upkr-cost-grid > div.is-total dd { color: var(--upkr-green); font-size: 16px; font-weight: 900; }
.up-radar .upkr-details-checklist--costs { margin-top: 13px !important; }
.up-radar .upkr-details-warning {
  background: #fff;
  border: 1px solid #ebd6c3;
  border-radius: 12px;
  color: #8b4a19;
  font-size: 12px;
  line-height: 1.5;
  margin: 13px 0 0;
  padding: 11px 13px;
}
.up-radar .upkr-details-section--no-car.is-good { background: #f0faf5; border-color: #d0e7da; }
.up-radar .upkr-details-section--no-car.is-limited { background: #fff8ed; border-color: #ead4b8; }
.up-radar .upkr-details-section--no-car.is-poor { background: #fff3f2; border-color: #ebcecb; }
.up-radar .upkr-details-section--no-car > strong { color: var(--upkr-navy-strong); display: block; font-size: 13px; margin-bottom: 7px; }
.up-radar .upkr-details-section__meta { border-top: 1px solid rgba(20,35,51,.1); margin-top: 12px !important; padding-top: 10px; }
.up-radar .upkr-details-section__meta a { color: var(--upkr-orange-dark); font-weight: 800; }
.up-radar .upkr-details-profile { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.up-radar .upkr-details-profile > div { border: 1px solid #dfe7eb; border-radius: 14px; padding: 14px; }
.up-radar .upkr-details-profile > div > strong { display: block; font-size: 11px; margin-bottom: 8px; text-transform: uppercase; }
.up-radar .upkr-details-profile ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.up-radar .upkr-details-profile li { font-size: 12px; line-height: 1.45; padding-left: 17px; position: relative; }
.up-radar .upkr-details-profile li::before { font-weight: 900; left: 0; position: absolute; }
.up-radar .upkr-details-profile .is-suitable { background: #eef9f4; border-color: #d0e8da; color: #176846; }
.up-radar .upkr-details-profile .is-suitable li::before { content: '✓'; }
.up-radar .upkr-details-profile .is-less-suitable { background: #fff7ed; border-color: #edd8c0; color: #8e4914; }
.up-radar .upkr-details-profile .is-less-suitable li::before { content: '–'; }

@media (max-width: 760px) {
  .up-radar .upkr-reach-panel__head { align-items: start; grid-template-columns: 48px minmax(0, 1fr); }
  .up-radar .upkr-reach-panel__icon { height: 48px; width: 48px; }
  .up-radar .upkr-reach-panel__head em { grid-column: 2; justify-self: start; }
  .up-radar .upkr-stay-length > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-card--listing .upkr-card__decision-grid,
  .up-radar .upkr-details-profile { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .up-radar .upkr-reach-panel { border-radius: 17px; padding: 14px; }
  .up-radar .upkr-reach-panel__head { grid-template-columns: 44px minmax(0, 1fr); }
  .up-radar .upkr-reach-panel__icon { border-radius: 12px; height: 44px; width: 44px; }
  .up-radar .upkr-reach-panel__head strong { font-size: 15px; }
  .up-radar .upkr-reach-panel__head small { font-size: 11px; }
  .up-radar .upkr-stay-length label > span { min-height: 70px; padding: 12px; }
  .up-radar .upkr-card__costs-header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .up-radar .upkr-cost-grid > div { align-items: start; grid-template-columns: 1fr; gap: 4px; }
  .up-radar .upkr-cost-grid dd { white-space: normal; }
}

/* v0.20.1: optional discovery and anonymous fixed-category deal reports. */
.up-radar .upkr-place-message {
  color: #586b77;
  font-size: 12px;
  line-height: 1.5;
  padding: 13px 14px;
}

.up-radar .upkr-discovery-prompt {
  align-items: center;
  background: linear-gradient(135deg, #f7fafb, #fff8f1);
  border: 1px solid #dfe7eb;
  border-radius: 18px;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin: 18px 0 0;
  padding: 20px 22px;
}
.up-radar .upkr-discovery-prompt[hidden] { display: none !important; }
.up-radar .upkr-discovery-prompt > div { min-width: 0; }
.up-radar .upkr-discovery-prompt strong {
  color: var(--upkr-navy-strong);
  display: block;
  font-size: 17px;
  line-height: 1.25;
  margin: 3px 0 6px;
}
.up-radar .upkr-discovery-prompt p {
  color: #60717c;
  font-size: 12.5px;
  line-height: 1.55;
  margin: 0;
  max-width: 720px;
}
.up-radar .upkr-discovery-prompt .upkr-button { flex: 0 0 auto; }

.up-radar .upkr-card__tool--report { color: #7b4c2b; }
.up-radar .upkr-card__tool--report:hover,
.up-radar .upkr-card__tool--report:focus-visible {
  background: #fff7ed;
  border-color: #e7c8a8;
  color: #7d3e0d;
}
.up-radar .upkr-report-dialog { max-width: 650px; }
.up-radar .upkr-report-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-report-options > button {
  background: #fff;
  border: 1px solid #dce5e9;
  border-radius: 14px;
  color: var(--upkr-navy-strong);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 108px;
  padding: 16px;
  text-align: left;
}
.up-radar .upkr-report-options > button:hover,
.up-radar .upkr-report-options > button:focus-visible {
  background: #fff8f1;
  border-color: #e5b78e;
  outline: 3px solid rgba(233,125,31,.18);
  outline-offset: 2px;
}
.up-radar .upkr-report-options > button[disabled] { cursor: wait; opacity: .58; }
.up-radar .upkr-report-options strong { font-size: 14px; }
.up-radar .upkr-report-options small { color: #63747f; font-size: 11.5px; line-height: 1.5; }
.up-radar .upkr-report-modal .upkr-tool-modal__footer p {
  color: #63747f;
  flex: 1 1 320px;
  font-size: 11px;
  line-height: 1.45;
  margin: 0;
}

@media (max-width: 760px) {
  .up-radar .upkr-discovery-prompt { align-items: stretch; flex-direction: column; padding: 17px; }
  .up-radar .upkr-discovery-prompt .upkr-button { justify-content: center; width: 100%; }
  .up-radar .upkr-report-options { grid-template-columns: 1fr; }
  .up-radar .upkr-report-options > button { min-height: 0; }
}

/* 0.20.3 – resilient compass and comparison layout */
.up-radar .upkr-trip-compass {
  container-type: inline-size;
}
.up-radar .upkr-trip-compass .upkr-selection-list button {
  grid-template-columns: 48px minmax(0, 1fr) minmax(140px, 42%);
  gap: 14px;
  min-height: 88px;
  padding: 16px;
}
.up-radar .upkr-trip-compass .upkr-selection-list button > span:nth-child(2) {
  min-width: 0;
}
.up-radar .upkr-trip-compass .upkr-selection-list b {
  font-size: 16px;
  line-height: 1.25;
}
.up-radar .upkr-trip-compass .upkr-selection-list small {
  font-size: 13px;
  line-height: 1.38;
}
.up-radar .upkr-trip-compass .upkr-selection-list strong {
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.3;
  max-width: none;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  padding: 10px 13px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.up-radar .upkr-compare-note {
  background: #f4f8fb;
  border: 1px solid #d7e4ec;
  border-radius: 14px;
  color: var(--upkr-muted);
  font-size: 13px;
  line-height: 1.55;
  margin: 14px 0 0;
  padding: 12px 14px;
}

@container (max-width: 720px) {
  .up-radar .upkr-trip-compass .upkr-selection-list button {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px 14px;
    min-height: 0;
    padding: 16px;
  }
  .up-radar .upkr-trip-compass .upkr-selection-list strong {
    grid-column: 2;
    justify-self: stretch;
    width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

@container (max-width: 390px) {
  .up-radar .upkr-trip-compass {
    padding: 20px 16px;
  }
  .up-radar .upkr-trip-compass .upkr-selection-list button {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 14px 12px;
  }
  .up-radar .upkr-trip-compass .upkr-selection-icon {
    height: 40px;
    width: 40px;
  }
  .up-radar .upkr-trip-compass .upkr-selection-list b {
    font-size: 15px;
  }
  .up-radar .upkr-trip-compass .upkr-selection-list small,
  .up-radar .upkr-trip-compass .upkr-selection-list strong {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.4 – responsive article galleries and
   compact, decision-first result cards
   -------------------------------------------------------------------------- */
.up-radar .upkr-card.upkr-card--listing.upkr-card--gallery-layout {
  align-items: start;
  grid-template-columns: minmax(410px, 48%) minmax(0, 1fr);
  min-height: 0;
}
.up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery {
  align-self: start;
  background: #eaf0f3;
  display: grid;
  gap: 4px;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  height: clamp(380px, 38vw, 500px);
  max-height: 500px;
  min-height: 0;
  overflow: hidden;
  position: relative;
}
.up-radar .upkr-card--gallery-layout .upkr-card__media::after {
  background: linear-gradient(180deg, rgba(15,31,45,.05), transparent 40%, rgba(15,31,45,.08));
  z-index: 2;
}
.up-radar .upkr-card__gallery-item {
  background: #eaf0f3;
  display: block;
  margin: 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.up-radar .upkr-card__gallery-item .upkr-card__image {
  display: block;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  transition: transform .28s ease;
  width: 100%;
}
.up-radar .upkr-card--gallery-layout:hover .upkr-card__gallery-item--1 .upkr-card__image {
  transform: scale(1.015);
}
.up-radar .upkr-card__gallery--1 .upkr-card__gallery-item--1 {
  grid-column: 1;
  grid-row: 1;
}
.up-radar .upkr-card__gallery--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.up-radar .upkr-card__gallery--2 .upkr-card__gallery-item--1 { grid-column: 1; grid-row: 1; }
.up-radar .upkr-card__gallery--2 .upkr-card__gallery-item--2 { grid-column: 2; grid-row: 1; }
.up-radar .upkr-card__gallery--3 {
  grid-template-columns: minmax(0, 1.7fr) minmax(0, .9fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}
.up-radar .upkr-card__gallery--3 .upkr-card__gallery-item--1 { grid-column: 1; grid-row: 1 / 3; }
.up-radar .upkr-card__gallery--3 .upkr-card__gallery-item--2 { grid-column: 2; grid-row: 1; }
.up-radar .upkr-card__gallery--3 .upkr-card__gallery-item--3 { grid-column: 2; grid-row: 2; }
.up-radar .upkr-card__gallery--4,
.up-radar .upkr-card__gallery--5 {
  grid-template-columns: minmax(0, 1.72fr) repeat(2, minmax(0, .58fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}
.up-radar .upkr-card__gallery--4 .upkr-card__gallery-item--1,
.up-radar .upkr-card__gallery--5 .upkr-card__gallery-item--1 { grid-column: 1; grid-row: 1 / 3; }
.up-radar .upkr-card__gallery--4 .upkr-card__gallery-item--2 { grid-column: 2 / 4; grid-row: 1; }
.up-radar .upkr-card__gallery--4 .upkr-card__gallery-item--3 { grid-column: 2; grid-row: 2; }
.up-radar .upkr-card__gallery--4 .upkr-card__gallery-item--4 { grid-column: 3; grid-row: 2; }
.up-radar .upkr-card__gallery--5 .upkr-card__gallery-item--2 { grid-column: 2; grid-row: 1; }
.up-radar .upkr-card__gallery--5 .upkr-card__gallery-item--3 { grid-column: 3; grid-row: 1; }
.up-radar .upkr-card__gallery--5 .upkr-card__gallery-item--4 { grid-column: 2; grid-row: 2; }
.up-radar .upkr-card__gallery--5 .upkr-card__gallery-item--5 { grid-column: 3; grid-row: 2; }
.up-radar .upkr-card__gallery-caption {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  background: linear-gradient(180deg, transparent, rgba(12,25,35,.82));
  bottom: 0;
  color: #fff;
  display: -webkit-box;
  font-size: 10px;
  font-weight: 720;
  left: 0;
  line-height: 1.35;
  max-height: 48px;
  overflow: hidden;
  padding: 22px 10px 8px;
  position: absolute;
  right: 0;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
  z-index: 3;
}
.up-radar .upkr-card__gallery-item--1 .upkr-card__gallery-caption {
  -webkit-line-clamp: 2;
  font-size: 11px;
  padding: 30px 13px 10px;
}
.up-radar .upkr-card__gallery-open {
  align-items: center;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 12px;
  bottom: 14px;
  box-shadow: 0 7px 22px rgba(18,34,46,.18);
  color: var(--upkr-navy-strong);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  position: absolute;
  right: 14px;
  z-index: 8;
}
.up-radar .upkr-card__gallery-open:hover,
.up-radar .upkr-card__gallery-open:focus-visible {
  background: #fff;
  border-color: var(--upkr-orange);
  color: var(--upkr-orange-dark);
}
.up-radar .upkr-card--gallery-layout .upkr-card__match,
.up-radar .upkr-card--gallery-layout .upkr-card__media > .up-add-to-favorites,
.up-radar .upkr-card--gallery-layout .upkr-native-favorite,
.up-radar .upkr-card--gallery-layout .upkr-favorite-button { z-index: 9; }

.up-radar .upkr-card--gallery-layout .upkr-card__body {
  align-content: start;
  gap: 9px;
  padding: 22px 24px 18px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  overflow: hidden;
}
.up-radar .upkr-card--gallery-layout .upkr-travel-badge--deal,
.up-radar .upkr-card--gallery-layout .upkr-travel-effort,
.up-radar .upkr-card--gallery-layout .upkr-no-car {
  border-radius: 12px;
  padding: 9px 11px;
}
.up-radar .upkr-card--gallery-layout .upkr-travel-effort,
.up-radar .upkr-card--gallery-layout .upkr-no-car {
  gap: 8px;
  grid-template-columns: 32px minmax(0, 1fr);
}
.up-radar .upkr-card--gallery-layout .upkr-travel-effort__icon,
.up-radar .upkr-card--gallery-layout .upkr-no-car__icon {
  height: 32px;
  width: 32px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__decision-grid { gap: 8px; }
.up-radar .upkr-card--gallery-layout .upkr-card__decision { border-radius: 12px; padding: 10px 11px; }
.up-radar .upkr-card--gallery-layout .upkr-card__decision > strong { margin-bottom: 5px; }
.up-radar .upkr-card--gallery-layout .upkr-card__dealbar {
  align-items: center;
  gap: 14px;
  margin-top: 1px;
  padding: 12px 13px 12px 15px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__price { flex: 1 1 auto; min-width: 0; }
.up-radar .upkr-card--gallery-layout .upkr-card__price-note {
  color: #687680;
  display: block;
  font-size: 9.5px;
  line-height: 1.4;
  margin-top: 5px;
  max-width: 440px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__primary { flex: 0 0 auto; }
.up-radar .upkr-card--gallery-layout .upkr-card__tools--listing {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.up-radar .upkr-card--gallery-layout .upkr-card__tools--listing .upkr-card__tool {
  min-width: 0;
}

/* The modal contains the full one-to-five-image gallery. It is rendered only
   after an explicit details/photo action and therefore does not burden the
   initial result list with full-size images. */
.up-radar .upkr-details-gallery {
  background: #edf2f5;
  border: 1px solid #dce6eb;
  border-radius: 18px;
  display: grid;
  gap: 4px;
  height: min(420px, 52vw);
  min-height: 260px;
  overflow: hidden;
}
.up-radar .upkr-details-gallery figure {
  background: #e7eef2;
  margin: 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.up-radar .upkr-details-gallery img { display: block; height: 100%; object-fit: cover; width: 100%; }
.up-radar .upkr-details-gallery figcaption {
  background: linear-gradient(180deg, transparent, rgba(13,28,39,.84));
  bottom: 0;
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  left: 0;
  line-height: 1.4;
  padding: 28px 12px 9px;
  position: absolute;
  right: 0;
}
.up-radar .upkr-details-gallery--1 { grid-template-columns: 1fr; }
.up-radar .upkr-details-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.up-radar .upkr-details-gallery--3 {
  grid-template-columns: minmax(0, 1.65fr) minmax(0, .85fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-details-gallery--3 .upkr-details-gallery__item--1 { grid-row: 1 / 3; }
.up-radar .upkr-details-gallery--4,
.up-radar .upkr-details-gallery--5 {
  grid-template-columns: minmax(0, 1.65fr) repeat(2, minmax(0, .62fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.up-radar .upkr-details-gallery--4 .upkr-details-gallery__item--1,
.up-radar .upkr-details-gallery--5 .upkr-details-gallery__item--1 { grid-row: 1 / 3; }
.up-radar .upkr-details-gallery--4 .upkr-details-gallery__item--2 { grid-column: 2 / 4; }
.up-radar .upkr-details-gallery--4 .upkr-details-gallery__item--3 { grid-column: 2; }
.up-radar .upkr-details-gallery--4 .upkr-details-gallery__item--4 { grid-column: 3; }

@media (max-width: 1180px) {
  .up-radar .upkr-card.upkr-card--listing.upkr-card--gallery-layout {
    grid-template-columns: minmax(350px, 43%) minmax(0, 1fr);
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery {
    height: clamp(350px, 43vw, 450px);
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__tools--listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .up-radar .upkr-card.upkr-card--listing.upkr-card--gallery-layout { grid-template-columns: 1fr; }
  .up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery {
    height: clamp(300px, 57vw, 390px);
    max-height: 390px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__body { padding: 19px 19px 16px; }
}

@media (max-width: 720px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery {
    display: block !important;
    height: 245px;
    max-height: 245px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__gallery-item { display: none; height: 100%; }
  .up-radar .upkr-card--gallery-layout .upkr-card__gallery-item--1 { display: block; }
  .up-radar .upkr-card__gallery-item--1 .upkr-card__gallery-caption { font-size: 10.5px; }
  .up-radar .upkr-card__gallery-open { bottom: 11px; right: 11px; }
  .up-radar .upkr-card--gallery-layout .upkr-card__decision-grid { grid-template-columns: 1fr; }
  .up-radar .upkr-card--gallery-layout .upkr-card__dealbar { align-items: stretch; flex-direction: column; }
  .up-radar .upkr-card--gallery-layout .upkr-card__primary { width: 100%; }
  .up-radar .upkr-details-gallery {
    height: auto;
    max-height: none;
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
  .up-radar .upkr-details-gallery figure { aspect-ratio: 4 / 3; grid-column: auto !important; grid-row: auto !important; }
  .up-radar .upkr-details-gallery figure:first-child { aspect-ratio: 16 / 10; grid-column: 1 / 3 !important; }
}

@media (max-width: 480px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery { height: 220px; max-height: 220px; }
  .up-radar .upkr-card--gallery-layout .upkr-card__body { padding: 16px 15px 14px; }
  .up-radar .upkr-card--gallery-layout .upkr-card__title { font-size: 21px; }
  .up-radar .upkr-card--gallery-layout .upkr-card__tools--listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-radar .upkr-details-gallery { grid-template-columns: 1fr !important; }
  .up-radar .upkr-details-gallery figure:first-child { grid-column: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  .up-radar .upkr-card__gallery-item .upkr-card__image { transition: none; }
}

/* The no-car requirement needs more explanation than the compact standard
   choices. Keep the checkbox easy to scan without squeezing its help text. */
.up-radar .upkr-choice-group--requirements .upkr-requirement-with-help {
  grid-column: span 2;
}
.up-radar .upkr-choice-group--requirements .upkr-requirement-with-help > span {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.up-radar .upkr-choice-group--requirements .upkr-requirement-with-help strong {
  color: inherit;
  font: inherit;
  font-weight: 800;
}
.up-radar .upkr-choice-group--requirements .upkr-requirement-with-help small {
  color: #647681;
  display: block;
  font-size: 10.5px;
  font-weight: 560;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .up-radar .upkr-choice-group--requirements .upkr-requirement-with-help {
    grid-column: 1 / -1;
  }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.6 – balanced result-card composition

   The gallery and summary share only the upper row. Price and card actions use
   a complete lower row. A bounded gallery therefore no longer leaves a large
   empty white field below a single image.
   -------------------------------------------------------------------------- */
.up-radar .upkr-card--gallery-layout .upkr-card__bottom {
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .75fr);
  min-width: 0;
  padding: 0 24px 18px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__dealbar,
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
  margin: 0;
  min-width: 0;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__dealbar {
  height: 100%;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
  align-content: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool {
  min-height: 42px;
}

@media (min-width: 861px) {
  .up-radar .upkr-card.upkr-card--listing.upkr-card--gallery-layout {
    align-items: stretch;
    grid-template-rows: auto auto;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__media.upkr-card__gallery {
    align-self: stretch;
    height: auto !important;
    max-height: none !important;
    min-height: clamp(400px, 34vw, 540px);
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__body {
    align-self: stretch;
  }
}

@media (max-width: 1180px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom {
    grid-template-columns: 1fr;
    padding: 0 20px 18px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom {
    padding: 0 19px 16px;
  }
}

@media (max-width: 720px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom {
    padding: 0 15px 14px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.6 – integrated decision footer

   Price, primary action and secondary tools now form one coherent footer.
   The primary action remains visually dominant; secondary tools stay compact
   while preserving comfortable touch targets on mobile devices.
   -------------------------------------------------------------------------- */
.up-radar .upkr-card--gallery-layout .upkr-card__bottom {
  background: linear-gradient(135deg, #fffdfb 0%, #fff8f1 100%);
  border-top: 1px solid #efdfd1;
  border-radius: 0 0 19px 19px;
  display: grid;
  gap: 11px;
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  min-width: 0;
  padding: 15px 24px 18px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__dealbar {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
  height: auto;
  margin: 0;
  padding: 0;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price {
  align-items: center;
  display: grid;
  gap: 3px 14px;
  grid-template-areas:
    "amount budget"
    "basis budget"
    "note note";
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price > strong {
  grid-area: amount;
  white-space: nowrap;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price > span:not(.upkr-card__budget-fit) {
  grid-area: basis;
  margin-top: 1px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price-note {
  grid-area: note;
  margin-top: 4px;
  max-width: 680px;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__budget-fit {
  align-self: center;
  grid-area: budget;
  margin-top: 0;
  max-width: 100%;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__primary {
  justify-content: center;
  justify-self: end;
  min-height: 52px;
  padding: 12px 22px;
  width: 100%;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
  background: #dbe5ea;
  border: 1px solid #dbe5ea;
  border-radius: 13px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  height: auto;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool {
  background: rgba(255,255,255,.96);
  border: 0;
  border-radius: 0;
  color: #4d6170;
  font-size: 12px;
  font-weight: 780;
  min-height: 48px;
  padding: 11px 12px;
  transition: background-color .16s ease, color .16s ease;
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool:hover,
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool:focus-visible,
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool.is-active {
  background: #eef7fc;
  color: var(--upkr-brand-blue-dark);
}
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool--report:hover,
.up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tool--report:focus-visible {
  background: #fff3e8;
  color: var(--upkr-orange-dark);
}

@media (max-width: 980px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom {
    padding-inline: 20px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__dealbar {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
  }
}

@media (max-width: 720px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom {
    gap: 10px;
    padding: 14px 15px 15px;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__dealbar {
    grid-template-columns: 1fr;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__primary {
    justify-self: stretch;
    max-width: none;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price {
    grid-template-areas:
      "amount budget"
      "basis budget"
      "note note";
    grid-template-columns: auto minmax(0, 1fr);
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__tools--listing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__price {
    grid-template-areas:
      "amount"
      "basis"
      "budget"
      "note";
    grid-template-columns: 1fr;
  }
  .up-radar .upkr-card--gallery-layout .upkr-card__bottom .upkr-card__budget-fit {
    justify-self: start;
    margin-top: 6px;
  }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.7 – inspiration-card action row

   In the inspiration feed the desktop deal card may expose four secondary
   actions. A fixed multi-row grid left unused cells visible as a blue strip.
   On wider cards the tools now share one clean flex row; the existing mobile
   two-column layout remains unchanged below 720px.
   -------------------------------------------------------------------------- */
@media (min-width: 721px) {
  .up-radar.upkr-mode-inspiration
  .upkr-discovery-grid.is-mixed-feed
  .upkr-mixed-card--deal
  .upkr-card__bottom
  .upkr-card__tools--listing {
    align-items: stretch;
    background: transparent;
    border: 0;
    border-radius: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow: visible;
  }

  .up-radar.upkr-mode-inspiration
  .upkr-discovery-grid.is-mixed-feed
  .upkr-mixed-card--deal
  .upkr-card__bottom
  .upkr-card__tools--listing
  .upkr-card__tool {
    background: rgba(255,255,255,.98);
    border: 1px solid #d6e2e8;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(32,57,72,.055);
    flex: 1 1 0;
    min-width: 0;
    min-height: 50px;
    padding-inline: 9px;
  }

  .up-radar.upkr-mode-inspiration
  .upkr-discovery-grid.is-mixed-feed
  .upkr-mixed-card--deal
  .upkr-card__bottom
  .upkr-card__tools--listing
  .upkr-card__tool:hover,
  .up-radar.upkr-mode-inspiration
  .upkr-discovery-grid.is-mixed-feed
  .upkr-mixed-card--deal
  .upkr-card__bottom
  .upkr-card__tools--listing
  .upkr-card__tool:focus-visible,
  .up-radar.upkr-mode-inspiration
  .upkr-discovery-grid.is-mixed-feed
  .upkr-mixed-card--deal
  .upkr-card__bottom
  .upkr-card__tools--listing
  .upkr-card__tool.is-active {
    background: #fff7ef;
    border-color: #efc49d;
    box-shadow: 0 5px 14px rgba(222,115,31,.1);
    color: var(--upkr-orange-dark);
  }
}


/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.20.8 – cleaner entry choices
   -------------------------------------------------------------------------- */
.up-radar .upkr-search-intent__options button {
  align-items: center;
  grid-template-columns: 56px minmax(0,1fr) auto;
  min-height: 132px;
  padding: 18px;
}
.up-radar .upkr-search-intent__options button.is-active { padding: 17px; }
.up-radar .upkr-search-intent__copy {
  align-content: center;
  display: grid;
  gap: 5px;
  min-width: 0;
}
.up-radar .upkr-search-intent__kicker {
  color: #9b4a13;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.up-radar .upkr-search-intent__copy strong {
  color: #172532;
  font-size: 16px;
  line-height: 1.25;
}
.up-radar .upkr-search-intent__copy small {
  color: #657681;
  font-size: 11.5px;
  line-height: 1.5;
  max-width: 38ch;
}
.up-radar .upkr-search-intent__meta {
  align-items: flex-end;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 76px;
}
.up-radar .upkr-search-intent__meta em {
  background: #f3f6f7;
  border: 1px solid #dce5e9;
  border-radius: 999px;
  color: #60727d;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  padding: 8px 10px;
  white-space: nowrap;
}
.up-radar .upkr-search-intent__meta i {
  align-items: center;
  background: #17784f;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  height: 27px;
  justify-content: center;
  opacity: 0;
  transform: scale(.82);
  transition: opacity .18s ease, transform .18s ease;
  width: 27px;
}
.up-radar .upkr-search-intent__options button.is-active .upkr-search-intent__meta i {
  opacity: 1;
  transform: scale(1);
}
.up-radar .upkr-search-intent__options button.is-active .upkr-search-intent__meta em {
  background: #fff0e2;
  border-color: #efc69f;
  color: #9d4308;
}
.up-radar.upkr-mode-inspiration .upkr-search-intent__options button[data-upkr-search-mode="inspiration"].is-active {
  background: linear-gradient(145deg,#fff7ef,#fff 72%);
}
@media (max-width: 760px) {
  .up-radar .upkr-search-intent__options button,
  .up-radar .upkr-search-intent__options button.is-active {
    grid-template-columns: 50px minmax(0,1fr) 28px;
    min-height: 108px;
    padding: 15px;
  }
  .up-radar .upkr-search-intent__meta {
    align-items: center;
    justify-content: center;
    min-width: 28px;
  }
  .up-radar .upkr-search-intent__meta em { display: none; }
  .up-radar .upkr-search-intent__copy strong { font-size: 15px; }
  .up-radar .upkr-search-intent__copy small { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .up-radar .upkr-search-intent__meta i { transition: none; }
}

/* --------------------------------------------------------------------------
   Urlaubspunkt Kurztrip-Radar 0.21.0 – resilient states and WCAG essentials
   -------------------------------------------------------------------------- */
.up-radar {
  --upkr-action: var(--upkr-accent-dark, #8f3b00);
  --upkr-action-hover: #6f2d00;
  --upkr-action-hover: color-mix(in srgb, var(--upkr-action) 78%, #000);
  --upkr-danger: #a52a23;
  --upkr-focus: #075985;
}

/* White labels on the configurable light brand orange did not consistently
   reach 4.5:1. Interactive and information-bearing orange surfaces therefore
   use a stable dark action tone; the lighter orange remains a brand accent. */
.up-radar .upkr-button--primary,
.up-radar .upkr-notice__action,
.up-radar .upkr-progress button.is-active > [data-upkr-step-number],
.up-radar .upkr-card__match,
.up-radar .upkr-discovery-card__visual-label,
.up-radar .upkr-discovery-card__operator-link,
.up-radar .upkr-filter-tabs button.is-active,
.up-radar .upkr-discovery-categories button.is-active,
.up-radar .upkr-route-stop > span,
.up-radar .upkr-faq__note > span,
.up-radar .upkr-latest-card__link,
.up-radar .upkr-card__topic-icon,
.up-radar .upkr-reach-panel__icon {
  background: var(--upkr-action);
  border-color: var(--upkr-action);
  color: #fff !important;
}
.up-radar .upkr-button--primary:hover,
.up-radar .upkr-button--primary:focus-visible,
.up-radar .upkr-notice__action:hover,
.up-radar .upkr-notice__action:focus-visible,
.up-radar .upkr-discovery-card__operator-link:hover,
.up-radar .upkr-discovery-card__operator-link:focus-visible,
.up-radar .upkr-latest-card__link:hover,
.up-radar .upkr-latest-card__link:focus-visible {
  background: var(--upkr-action-hover);
  border-color: var(--upkr-action-hover);
}

/* A two-colour focus indicator remains visible on light, dark and image
   backgrounds without relying on the component's current colour. */
.up-radar :where(a[href], button, input, select, textarea, summary, [tabindex]):focus-visible {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--upkr-focus) !important;
  outline: 2px solid transparent !important;
  outline-offset: 3px !important;
}
.up-radar button:disabled,
.up-radar input:disabled,
.up-radar select:disabled { cursor: not-allowed !important; }
.up-radar button[aria-busy="true"]:disabled,
.up-radar [aria-busy="true"] button:disabled { cursor: progress !important; }

.up-radar .upkr-form-status.is-error:not(:empty) {
  background: #fff2f0;
  border-color: #e8aaa5;
  border-left: 5px solid var(--upkr-danger);
  color: #711b17;
  font-weight: 700;
}
.up-radar [aria-invalid="true"] {
  border-color: var(--upkr-danger) !important;
  box-shadow: 0 0 0 3px rgba(165, 42, 35, .14) !important;
}
.up-radar [aria-invalid="true"]:focus-visible {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--upkr-focus) !important;
}
.up-radar .upkr-choice-group input[aria-invalid="true"] + span {
  border-color: var(--upkr-danger) !important;
}
.up-radar .upkr-choice-group input:focus-visible + span,
.up-radar .upkr-budget-mode input:focus-visible + span,
.up-radar .upkr-checkline input:focus-visible + span {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--upkr-focus) !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px;
}
.up-radar .upkr-field-error {
  color: #861f1a;
  display: block;
  font-size: 12.5px;
  font-weight: 750;
  grid-column: 1 / -1;
  line-height: 1.45;
  margin: 7px 2px 0;
}

.up-radar .upkr-search-error {
  align-items: center;
  background: linear-gradient(135deg, #fff5f3 0%, #fff 62%, #f7fafb 100%);
  border: 1px solid #e5b3ae;
  border-left: 6px solid var(--upkr-danger);
  border-radius: 20px;
  display: grid;
  gap: 18px;
  grid-column: 1 / -1;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  min-height: 154px;
  padding: 24px;
}
.up-radar .upkr-search-error__icon {
  align-items: center;
  background: #fff;
  border: 1px solid #e5aaa5;
  border-radius: 50%;
  color: var(--upkr-danger);
  display: inline-flex;
  font-size: 25px;
  font-weight: 900;
  height: 54px;
  justify-content: center;
  width: 54px;
}
.up-radar .upkr-search-error__copy { display: grid; gap: 6px; min-width: 0; }
.up-radar .upkr-search-error__copy strong { color: #541714; font-size: 18px; line-height: 1.3; }
.up-radar .upkr-search-error__copy p { color: #5b3431; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.up-radar .upkr-search-error__copy small { color: #6b5a57; font-size: 12px; line-height: 1.5; }
.up-radar .upkr-search-error__actions { display: grid; gap: 9px; min-width: 205px; }
.up-radar[data-upkr-search-state="error"] .upkr-results__toolbar { opacity: .72; }

.up-radar .upkr-step-heading p,
.up-radar .upkr-discovery-prompt p,
.up-radar .upkr-notice,
.up-radar [data-upkr-summary] { line-height: 1.6; }

/* The option groups are semantic fieldsets in 0.21; neutralize native
   fieldset geometry while retaining the established component rhythm. */
.up-radar fieldset.upkr-choice-group {
  border: 0;
  margin: 0 0 28px;
  min-width: 0;
  padding: 0;
}

/* Comparison text previously dropped below a practical reading size. */
.up-radar .upkr-compare-panel__header p { font-size: 13px; line-height: 1.55; }
.up-radar .upkr-compare-card__type { font-size: 10px; }
.up-radar .upkr-compare-card h3 { font-size: 15px; line-height: 1.35; }
.up-radar .upkr-compare-card p { font-size: 12px; line-height: 1.45; }
.up-radar .upkr-compare-row__label strong { font-size: 12px; line-height: 1.35; }
.up-radar .upkr-compare-value > strong { font-size: 12px; line-height: 1.5; }
.up-radar .upkr-compare-modal > .upkr-compare-panel,
.up-radar .upkr-tool-modal__dialog {
  overscroll-behavior: contain;
}

/* Keep fixed actions and modal content clear of notches and home indicators. */
.up-radar .upkr-compare-tray {
  bottom: max(18px, env(safe-area-inset-bottom));
  max-width: min(760px, calc(100% - 30px - env(safe-area-inset-left) - env(safe-area-inset-right)));
}
.up-radar .upkr-tool-modal,
.up-radar .upkr-compare-modal {
  padding-top: max(clamp(12px, 3vw, 34px), env(safe-area-inset-top));
  padding-right: max(clamp(12px, 3vw, 34px), env(safe-area-inset-right));
  padding-bottom: max(clamp(12px, 3vw, 34px), env(safe-area-inset-bottom));
  padding-left: max(clamp(12px, 3vw, 34px), env(safe-area-inset-left));
}
.up-radar .upkr-tool-modal__footer {
  padding-bottom: max(14px, env(safe-area-inset-bottom));
}

@media (max-width: 720px) {
  .up-radar .upkr-search-error {
    align-items: start;
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 18px;
  }
  .up-radar .upkr-search-error__icon { font-size: 21px; height: 44px; width: 44px; }
  .up-radar .upkr-search-error__actions { grid-column: 1 / -1; min-width: 0; }
  .up-radar .upkr-search-error__actions .upkr-button { width: 100%; }
  .up-radar .upkr-compare-tray {
    bottom: max(8px, env(safe-area-inset-bottom));
  }
}

/* Provider credits sit directly after, but never inside, the ARIA listbox.
   Keyboard navigation therefore continues to enumerate only real options. */
.up-radar .upkr-place-credit {
  background: #f6f8f9;
  border: 1px solid #d6e0e5;
  border-radius: 9px;
  color: #4d626e;
  font-size: 10.5px;
  line-height: 1.5;
  margin: 5px 0 0;
  padding: 7px 10px;
}
.up-radar .upkr-place-credit[hidden] { display: none !important; }
.up-radar .upkr-place-credit a {
  color: #075985;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.up-radar .upkr-discovery-card__context-status {
  background: #fff8e9;
  border: 1px solid #e5c788;
  border-left: 4px solid #9a5a00;
  border-radius: 11px;
  color: #62420f;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.5;
  margin: 0;
  padding: 10px 12px;
}

/* Specific legacy selectors (and the fully reset location button) need an
   equally specific final override so white labels never fall back to the
   light decorative orange. Keep this block at the end of the stylesheet. */
.up-radar .upkr-origin-locate {
  background: var(--upkr-action) !important;
  border-color: var(--upkr-action) !important;
  color: #fff !important;
}
.up-radar .upkr-origin-locate:hover,
.up-radar .upkr-origin-locate:focus-visible {
  background: var(--upkr-action-hover) !important;
  border-color: var(--upkr-action-hover) !important;
}
.up-radar .upkr-card--listing[data-match-quality="article_info"] .upkr-card__match,
.up-radar .upkr-card--decision .upkr-button--primary,
.up-radar .upkr-discovery-card__route-primary,
.up-radar .upkr-weather__source,
.up-radar .upkr-hero__dashboard-head strong,
.up-radar .upkr-empty__visual b {
  background: var(--upkr-action) !important;
  color: #fff !important;
}
.up-radar .upkr-discovery-card__route-primary { border-color: var(--upkr-action) !important; }
.up-radar .upkr-card--decision .upkr-button--primary { border-color: var(--upkr-action) !important; }
.up-radar .upkr-card--listing .up-deal-card__favorite-button { color: var(--upkr-action); }
.up-radar .upkr-card--decision .upkr-button--primary:hover,
.up-radar .upkr-card--decision .upkr-button--primary:focus-visible,
.up-radar .upkr-discovery-card__route-primary:hover,
.up-radar .upkr-discovery-card__route-primary:focus-visible {
  background: var(--upkr-action-hover) !important;
  border-color: var(--upkr-action-hover) !important;
}

/* v0.21.1: explicit OpenStreetMap choices. The two load paths keep the same
   visual weight; storage scope is communicated by their labels and note. */
.up-radar .upkr-map-consent__copy {
  min-width: 0;
  width: 100%;
}
.up-radar .upkr-map-consent__actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  max-width: 760px;
  width: 100%;
}
.up-radar .upkr-map-consent__button {
  align-items: center;
  background: var(--upkr-action);
  border: 2px solid var(--upkr-action);
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 850;
  justify-content: center;
  line-height: 1.35;
  min-height: 48px;
  padding: 10px 15px;
  text-align: center;
  white-space: normal;
  width: 100%;
}
.up-radar .upkr-map-consent__button:hover {
  background: var(--upkr-action-hover);
  border-color: var(--upkr-action-hover);
  color: #fff;
}
.up-radar .upkr-map-consent [data-upkr-map-cancel] {
  align-items: center;
  align-self: start;
  background: transparent;
  border: 1px solid #9aaab4;
  border-radius: 10px;
  color: #304754;
  display: inline-flex;
  font-size: 12.5px;
  font-weight: 800;
  grid-column: 1 / -1;
  justify-content: center;
  justify-self: start;
  line-height: 1.35;
  min-height: 44px;
  padding: 8px 15px;
}
.up-radar .upkr-map-consent [data-upkr-map-cancel]:hover {
  background: #eef3f5;
  border-color: #667d8a;
  color: #172f3d;
}
.up-radar .upkr-map-consent .upkr-map-consent__note {
  background: #fff7ed;
  border: 1px solid #e5c89f;
  border-radius: 10px;
  color: #604727;
  font-size: 12px;
  line-height: 1.55;
  margin: 12px 0 0;
  max-width: 760px;
  padding: 10px 12px;
}
.up-radar .upkr-map-consent .upkr-map-consent__status,
.up-radar .upkr-map-consent .upkr-map-consent__error {
  border: 1px solid #b9d2df;
  border-left: 4px solid #17668a;
  border-radius: 10px;
  color: #203f50;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.5;
  margin: 12px 0 0;
  max-width: 760px;
  padding: 10px 12px;
}
.up-radar .upkr-map-consent .upkr-map-consent__status {
  background: #eff8fc;
}
.up-radar .upkr-map-consent .upkr-map-consent__error {
  background: #fff2f0;
  border-color: #ddb2ad;
  border-left-color: var(--upkr-danger);
  color: #6a2520;
}
.up-radar .upkr-map-consent__status[hidden],
.up-radar .upkr-map-consent__error[hidden],
.up-radar .upkr-map-consent__actions[hidden] {
  display: none !important;
}
.up-radar .upkr-map-consent__button:disabled,
.up-radar .upkr-map-consent [data-upkr-map-cancel]:disabled {
  cursor: wait;
  opacity: .64;
}
.up-radar .upkr-map-consent__button:focus-visible,
.up-radar .upkr-map-consent [data-upkr-map-cancel]:focus-visible {
  outline: 3px solid #0b5f87;
  outline-offset: 3px;
}
.up-radar .upkr-map-consent[data-upkr-map-consent-state="fallback"] .upkr-map-consent__button:not([data-upkr-map-cancel]),
.up-radar .upkr-map-consent[data-upkr-map-consent-state="allowed"] .upkr-map-consent__button:not([data-upkr-map-cancel]) {
  grid-column: 1 / -1;
}
.up-radar .upkr-weather__privacy {
  background: transparent;
  border: 0;
  border-top: 1px solid #d5e1e7;
  border-radius: 0;
  color: #536975;
  font-size: 11.5px;
  line-height: 1.55;
  margin: 14px 0 0;
  padding: 10px 0 0;
}
.up-radar .upkr-weather__privacy a {
  color: #075985;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 680px) {
  .up-radar .upkr-map-consent {
    align-items: stretch;
  }
  .up-radar .upkr-map-consent__actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .up-radar .upkr-map-consent__button,
  .up-radar .upkr-map-consent [data-upkr-map-cancel] {
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
  }
  .up-radar .upkr-map-consent__button { min-height: 50px; }
}

@media (forced-colors: active) {
  .up-radar .upkr-map-consent__button,
  .up-radar .upkr-map-consent [data-upkr-map-cancel],
  .up-radar .upkr-map-consent .upkr-map-consent__note,
  .up-radar .upkr-map-consent .upkr-map-consent__status,
  .up-radar .upkr-map-consent .upkr-map-consent__error,
  .up-radar .upkr-weather__privacy {
    border: 2px solid ButtonText;
  }
  .up-radar .upkr-map-consent__button:focus-visible,
  .up-radar .upkr-map-consent [data-upkr-map-cancel]:focus-visible {
    outline: 3px solid Highlight;
  }
}


/* 0.22.3: resilient, source-transparent discovery catalogue. */
.up-radar .upkr-discovery-categories button [data-upkr-category-count] { display:inline-flex; min-width:1.6em; min-height:1.6em; align-items:center; justify-content:center; margin-left:.35rem; padding:0 .35rem; border-radius:999px; background:rgba(255,255,255,.72); font-size:.78em; font-variant-numeric:tabular-nums; }
.up-radar .upkr-discovery-categories button:disabled { opacity:.48; cursor:not-allowed; }
.up-radar .upkr-discovery-status { display:flex; flex-wrap:wrap; gap:.55rem; margin:.85rem 0 1rem; padding:.8rem .9rem; border:1px solid rgba(38,83,67,.18); border-radius:14px; background:rgba(242,249,246,.84); }
.up-radar .upkr-discovery-status__item { display:inline-flex; align-items:center; gap:.35rem; font-size:.86rem; line-height:1.35; }
.up-radar .upkr-discovery-status__item::before { content:'✓'; font-weight:800; }
.up-radar .upkr-discovery-more { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.65rem; padding:1rem; border:1px dashed rgba(36,52,48,.24); border-radius:16px; background:rgba(255,255,255,.7); }
.up-radar .upkr-discovery-more small { flex-basis:100%; text-align:center; color:var(--upkr-muted,#5f6b67); }
.up-radar .upkr-discovery-card--familie,
.up-radar .upkr-discovery-card--tierwelt,
.up-radar .upkr-discovery-card--kultur,
.up-radar .upkr-discovery-card--stadt,
.up-radar .upkr-discovery-card--wasser,
.up-radar .upkr-discovery-card--aktiv,
.up-radar .upkr-discovery-card--parks { --upkr-discovery-category-accent:var(--upkr-accent,#b65b13); }
@media (max-width:680px) {
  .up-radar .upkr-discovery-status { display:grid; }
  .up-radar .upkr-discovery-more .upkr-button { width:100%; }
}

/* 0.22.3: locality suggestions keep postcode/name and administrative context on separate lines. */
.up-radar .upkr-place-suggestions button.upkr-place-option {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
}
.up-radar .upkr-place-suggestions button.upkr-place-option > .upkr-place-option__primary,
.up-radar .upkr-place-suggestions button.upkr-place-option > .upkr-place-option__secondary {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: anywhere;
  text-align: left !important;
  white-space: normal !important;
  width: 100% !important;
}
.up-radar .upkr-place-suggestions button.upkr-place-option > .upkr-place-option__primary {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.up-radar .upkr-place-suggestions button.upkr-place-option > .upkr-place-option__secondary {
  font-size: 13px !important;
  color: var(--upkr-ink-soft, #53616f) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* 0.22.8: consent parity, readable source notes and compact destination cards. */
.up-radar .upkr-map-consent__button:not([data-upkr-map-cancel]):not([data-upkr-map-consent-reopen]) {
  color: #fff !important;
}
.up-radar .upkr-map-consent[data-upkr-map-consent-state="blocked"] .upkr-map-consent__actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 940px;
}
.up-radar .upkr-map-consent [data-upkr-map-cancel],
.up-radar .upkr-map-consent [data-upkr-map-consent-reopen] {
  align-self: stretch;
  background: #fff;
  border: 2px solid #667d8a;
  border-radius: 12px;
  color: #243b49 !important;
  font-size: 13px;
  font-weight: 850;
  grid-column: auto;
  justify-self: stretch;
  min-height: 48px;
  padding: 10px 15px;
  width: 100%;
}
.up-radar .upkr-map-consent [data-upkr-map-cancel]:hover,
.up-radar .upkr-map-consent [data-upkr-map-consent-reopen]:hover {
  background: #eef3f5;
  border-color: #405b69;
  color: #172f3d !important;
}
.up-radar .upkr-map-consent__actions--declined {
  grid-template-columns: minmax(0, 1fr);
  max-width: 420px;
}
.up-radar .upkr-map-consent--declined {
  background: linear-gradient(145deg, #f2f8f5, #fff);
  border-color: #bdd6ca;
}
.up-radar .upkr-map-consent--declined .upkr-map-consent__icon {
  background: #e4f2eb;
  border-color: #b9d8c8;
  color: #17603f;
}
.up-radar .upkr-routing-credit,
.up-radar .upkr-place-credit,
.up-radar .upkr-osm-credit,
.up-radar .upkr-discovery-more small {
  color: #425966;
  font-size: 12px;
  line-height: 1.55;
}
.up-radar .upkr-discovery-card__knowledge-item small,
.up-radar .upkr-discovery-card__visit-fact small,
.up-radar .upkr-discovery-card__provider-check small,
.up-radar .upkr-discovery-card__details-summary small,
.up-radar .upkr-discovery-card__quick-fact span,
.up-radar .upkr-details-overview__checked span,
.up-radar .upkr-details-fact dt {
  color: #4d626e;
}
.up-radar .upkr-discovery-card__details-summary:focus-visible {
  box-shadow: none !important;
  outline: 3px solid #075985 !important;
  outline-offset: -4px !important;
}
.up-radar .upkr-travel-badge__boundary {
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  width: auto;
}
.up-radar .upkr-discovery-card__facts > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual {
  flex-basis: 168px;
  min-height: 168px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual-mark {
  border-radius: 18px;
  height: 68px;
  width: 68px;
}
.up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual-mark svg {
  height: 36px;
  width: 36px;
}
.up-radar .upkr-tool-modal__close {
  min-height: 44px;
  min-width: 44px;
}

@media (max-width: 760px) {
  .up-radar .upkr-discovery-categories {
    flex-wrap: wrap;
    overflow-x: visible;
  }
}

@media (max-width: 680px) {
  .up-radar .upkr-map-consent[data-upkr-map-consent-state="blocked"] .upkr-map-consent__actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .up-radar .upkr-map-consent [data-upkr-map-cancel],
  .up-radar .upkr-map-consent [data-upkr-map-consent-reopen] {
    grid-column: 1;
  }
  .up-radar.upkr-mode-inspiration .upkr-discovery-grid.is-mixed-feed .upkr-mixed-card--place .upkr-discovery-card__visual {
    flex-basis: 156px;
    min-height: 156px;
  }
}

/* 0.22.9: concise origin guidance with provider details on demand. */
.up-radar .upkr-origin-privacy {
  background: #f7fafb;
  border: 1px solid #d7e3e9;
  border-radius: 12px;
  margin-top: 10px;
  overflow: hidden;
}
.up-radar .upkr-origin-privacy > summary {
  color: #314956;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  list-style: none;
  min-height: 44px;
  padding: 12px 48px 12px 14px;
  position: relative;
}
.up-radar .upkr-origin-privacy > summary::-webkit-details-marker {
  display: none;
}
.up-radar .upkr-origin-privacy > summary::after {
  align-items: center;
  background: #fff;
  border: 1px solid #c6d7df;
  border-radius: 50%;
  color: #8f3b00;
  content: "+";
  display: inline-flex;
  font-size: 20px;
  height: 28px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 12px;
  top: 8px;
  width: 28px;
}
.up-radar .upkr-origin-privacy[open] > summary::after {
  content: "−";
}
.up-radar .upkr-origin-privacy > summary:hover {
  background: #eef5f7;
}
.up-radar .upkr-origin-privacy > summary:focus-visible {
  box-shadow: none !important;
  outline: 3px solid #075985 !important;
  outline-offset: -4px !important;
}
.up-radar .upkr-origin-privacy__body {
  border-top: 1px solid #d7e3e9;
  display: grid;
  gap: 11px;
  padding: 13px 14px 15px;
}
.up-radar .upkr-origin-privacy__body p {
  color: #4d626e;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  overflow-wrap: anywhere;
}
.up-radar .upkr-origin-privacy__body strong {
  color: #263e4b;
}
.up-radar .upkr-origin-privacy__body a {
  color: #8f3b00;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.up-radar .upkr-origin-privacy__body a:hover {
  color: #6f2e00;
}
.up-radar .upkr-origin-privacy__body a:focus-visible {
  outline: 3px solid #075985;
  outline-offset: 3px;
}

@media (forced-colors: active) {
  .up-radar .upkr-origin-privacy,
  .up-radar .upkr-origin-privacy__body {
    border-color: CanvasText;
  }
  .up-radar .upkr-origin-privacy > summary::after {
    border: 1px solid ButtonText;
  }
}
