.sim-skel { background: #f0f4fd; border-radius: 16px; min-height: 340px; animation: sim-pulse 1.4s ease-in-out infinite; }
@keyframes sim-pulse { 0%,100%{opacity:1} 50%{opacity:.5} }
.lm-card { position: relative; }
.lm-card__link { position: absolute; inset: 0; z-index: 1; display: block; text-decoration: none; }
.lm-card__title-link { text-decoration: none; color: inherit; position: relative; z-index: 2; }
.lm-card__icon-btn.is-compare-active { background: #DBEAFE; }
.compare-panel {
  position: fixed; bottom: calc(24px + env(safe-area-inset-bottom)); left: calc(24px + env(safe-area-inset-left)); z-index: 1500;
  background: #fff; border-radius: 16px;
  box-shadow: 0 8px 32px rgba(10,30,90,0.18);
  padding: 24px 16px;
  display: flex; flex-direction: column; gap: 16px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.compare-panel.cp-hidden { display: none; }
.compare-panel__header { display: flex; align-items: center; gap: 16px; }
.compare-panel__close {
  width: 32px; height: 32px; border: none; border-radius: 4px;
  background: #F4F6F9; display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0; transition: background 0.15s;
}
.compare-panel__close:hover { background: #e1eaf8; }
.compare-panel__title { font-size: 20px; font-weight: 700; color: #1c398e; }
.compare-panel__slots { display: flex; gap: 8px; }
.compare-panel__slot {
  width: 72px; aspect-ratio: 1; position: relative; flex: 1;
  border-radius: 8px; border: 2px dashed #d4dffa; background: #f5f8fe;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.compare-panel__slot--filled { border-color: transparent; background: transparent; }
.compare-panel__thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
.compare-panel__remove {
  position: absolute; width: 32px; height: 32px; border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,0.15);
  transition: all 0.15s; border-radius: 4px; opacity: 0.6; background: #F4F6F9;
}
.compare-panel__remove:hover { background: #fff; opacity: 1; }
.compare-panel__action--container { display: flex; justify-content: flex-end; padding-top: 8px; border-top: 1px solid #E2E8F0; }
.compare-panel__action {
  align-self: flex-end; width: 143px; height: 40px; padding: 0;
  border: none; border-radius: 8px; background: #EDF6FF; color: #1C398E;
  font-size: 14px; font-weight: 600; cursor: pointer; font-family: inherit; transition: background 0.15s;
}
.compare-panel__action:hover:not(:disabled) { background: #d8eeff; }
.compare-panel__action:disabled { background: #EDF6FF; color: #90A1B9; cursor: default; }
.cmp-overlay {
  display: none; position: fixed; inset: 0; z-index: 2000;
  background: rgba(10,20,60,0.48); align-items: center; justify-content: center;
  padding: 20px;
}
.cmp-overlay.is-open { display: flex; }
.cmp-modal {
  padding: 24px 16px; background: #fff; border-radius: 20px;
  box-shadow: 0 20px 60px rgba(10,30,90,0.2);
  max-width: min(900px, 95vw); width: 100%;
  max-height: calc(100vh - 40px); display: flex; flex-direction: column; overflow: hidden;
}
.cmp-modal__header { display: flex; align-items: center; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid #E2E8F0; flex-shrink: 0; }
.cmp-modal__close { width: 32px; height: 32px; border: none; border-radius: 8px; background: #f0f4fd; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: background 0.15s; }
.cmp-modal__close:hover { background: #e1eaf8; }
.cmp-modal__title { margin: 0; font-size: 17px; font-weight: 700; color: #1c398e; }
.cmp-modal__body { overflow-y: auto; overflow-x: auto; padding-top: 16px; }
.cmp-cards { display: flex; gap: 12px; min-width: max-content; }
.cmp-card { width: 180px; flex-shrink: 0; display: flex; flex-direction: column; border: 1px solid #e8eef9; border-radius: 14px; overflow: hidden; background: #fff; }
.cmp-card__img-wrap { position: relative; height: 150px; background: #e8eef9; flex-shrink: 0; }
.cmp-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cmp-card__content { padding: 12px; display: flex; flex-direction: column; flex: 1; }
.cmp-card__title { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: #1c398e; line-height: 1.3; }
.cmp-card__rating { display: flex; align-items: center; gap: 3px; font-size: 13px; font-weight: 600; color: #1c398e; margin-bottom: 8px; }
.cmp-card__meta { font-size: 12px; color: #3a5090; line-height: 1.5; margin-bottom: 8px; }
.cmp-card__price-block { padding: 8px 0; border-top: 1px solid #edf1fa; border-bottom: 1px solid #edf1fa; margin-bottom: 10px; }
.cmp-card__price-label { display: block; font-size: 11px; color: #8a9fc4; margin-bottom: 2px; }
.cmp-card__price-row { display: flex; align-items: baseline; gap: 6px; }
.cmp-card__old-price { font-size: 12px; color: #b0bdd8; text-decoration: line-through; }
.cmp-card__price { font-size: 20px; font-weight: 700; color: #1c398e; white-space: nowrap; }
.cmp-card__price-note { margin: 4px 0 0; font-size: 11px; line-height: 1.35; color: #8a9fc4; }
.cmp-card__status { font-size: 12px; font-weight: 600; color: #d85a30; margin: 0 0 8px; }
.cmp-card__actions { margin-top: auto; display: flex; flex-direction: column; gap: 6px; }
.cmp-card__btn-remove { width: 100%; height: 32px; border: none; background: transparent; color: #6b84c2; font-size: 13px; cursor: pointer; font-family: inherit; transition: color 0.15s; }
.cmp-card__btn-remove:hover { color: #d63031; }

/* «Weitere Unterkünfte in {Ort}» aus dem HTML (similar.php, 28.09.2026): kompakt —
   am PC 4 Karten je Reihe mit Foto 4:3, auf dem Telefon ein Band zum Wischen. */
.object-similar__grid[data-server="1"] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.object-similar__grid[data-server="1"] .lm-card__img-wrap { aspect-ratio: 4 / 3; }
.object-similar__grid[data-server="1"] .lm-card__title { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.object-similar__grid[data-server="1"] .lm-card__desc,
.object-similar__grid[data-server="1"] .lm-card__meta { font-size: 13px; margin: 2px 0 0; }
.object-similar__grid[data-server="1"] .lm-card__price-row { justify-content: flex-start; align-items: baseline; gap: 6px; margin: 6px 0 0; }
.object-similar__grid[data-server="1"] .lm-card__price-note { font-size: 11px; }
@media (max-width: 1100px) { .object-similar__grid[data-server="1"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .object-similar__grid[data-server="1"] {
    display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 4px; scroll-padding-left: 0;
  }
  .object-similar__grid[data-server="1"]::-webkit-scrollbar { display: none; }
  .object-similar__grid[data-server="1"] .lm-card { flex: 0 0 72%; scroll-snap-align: start; }
}
