/* =========================================================
   Reisemobile Berens – Enhancements (Floors Carousel V2)
   Ziel: Hersteller-Look, ruhiger, sauberer Rhythmus,
   horizontal wischbar (mobile) + Pfeile (desktop) bei >4.
========================================================= */

/* 1) Floors: typografisch dezenter, mehr Luft */
.rb-detail-body .rb-floor-card{
  padding: 18px;
  gap: 16px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(15,23,42,0.07);
  box-shadow: 0 14px 34px rgba(15,23,42,0.045);
}

.rb-detail-body .rb-floor-media{
  height: 170px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(15,23,42,0.08);
}
.rb-detail-body .rb-floor-media img{
  height: 170px;
}

.rb-detail-body .rb-floor-body{ gap: 14px; }
.rb-detail-body .rb-floor-head{ gap: 12px; }

.rb-detail-body .rb-floor-chassis{
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  font-weight: 750;
  color: rgba(15,23,42,0.52);
}

/* Titel + Preis nicht mehr gequetscht nebeneinander */
.rb-detail-body .rb-floor-title-row{
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.rb-detail-body .rb-floor-name{
  font-size: 1.06rem;
  line-height: 1.22;
  font-weight: 850;
  letter-spacing: 0;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rb-detail-body .rb-floor-price{
  font-size: 0.86rem;
  font-weight: 760;
  color: rgba(15,23,42,0.78);
  white-space: nowrap;
}

.rb-detail-body .rb-floor-desc{
  font-size: 0.88rem;
  line-height: 1.65;
  color: rgba(15,23,42,0.62);
  font-weight: 450;
  max-width: 70ch;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Specs: clean + ruhiger */
.rb-detail-body .rb-floor-spec-label{
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  font-weight: 720;
  color: rgba(15,23,42,0.52);
}
.rb-detail-body .rb-floor-spec-value{
  font-size: 0.88rem;
  font-weight: 720;
  color: rgba(15,23,42,0.90);
}

/* Kontakt Button: passend clean */
.rb-detail-body .rb-floor-actions .rb-btn{
  height: 44px;
  border-radius: 999px;
  font-weight: 850;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

/* 2) Floors: Desktop Grid bei <=4 (ruhig und ordentlich) */
@media (min-width: 980px){
  .rb-detail-body .rb-floor-grid:not(.rb-floor-grid--scroll){
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 18px;
  }
  .rb-detail-body .rb-floor-grid:not(.rb-floor-grid--scroll) .rb-floor-card{
    grid-column: auto !important;
  }
}

/* 3) Floors: Carousel (mobile wischbar, desktop bei >4) */
.rb-detail-body .rb-floor-grid--scroll{
  padding: 2px 2px 14px;
  scroll-padding-left: 2px;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
}

.rb-detail-body .rb-floor-grid--scroll .rb-floor-card{
  /* niemals zu klein, lieber weniger als 4 sichtbar als gequetscht */
  min-width: 260px;
  max-width: 360px;
  flex: 0 0 calc((100% - 54px)/4);
}

@media (min-width: 640px) and (max-width: 979px){
  .rb-detail-body .rb-floor-grid--scroll .rb-floor-card{
    min-width: 52vw;
    flex-basis: 52vw;
  }
}

@media (max-width: 639px){
  .rb-detail-body .rb-floor-grid--scroll .rb-floor-card{
    min-width: 86vw;
    flex-basis: 86vw;
  }
}

/* 4) Carousel Wrapper + Pfeile (nur Desktop) */
.rb-detail-body .rb-floor-carousel{
  position: relative;
}

.rb-detail-body .rb-floor-carousel::before,
.rb-detail-body .rb-floor-carousel::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 44px;
  pointer-events: none;
  z-index: 2;
}
.rb-detail-body .rb-floor-carousel::before{
  left: 0;
  background: linear-gradient(90deg, #f7f8fc 0%, rgba(247,248,252,0) 100%);
}
.rb-detail-body .rb-floor-carousel::after{
  right: 0;
  background: linear-gradient(270deg, #f7f8fc 0%, rgba(247,248,252,0) 100%);
}

.rb-detail-body .rb-floor-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15,23,42,0.10);
  box-shadow: 0 12px 26px rgba(15,23,42,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
  user-select: none;
}

.rb-detail-body .rb-floor-nav svg{
  width: 18px;
  height: 18px;
  display: block;
}

.rb-detail-body .rb-floor-nav--prev{ left: -10px; }
.rb-detail-body .rb-floor-nav--next{ right: -10px; }

.rb-detail-body .rb-floor-nav[disabled]{
  opacity: 0.35;
  cursor: default;
}

@media (max-width: 979px){
  .rb-detail-body .rb-floor-nav{ display: none !important; }
  .rb-detail-body .rb-floor-carousel::before,
  .rb-detail-body .rb-floor-carousel::after{ display: none; }
}

/* 5) Drag Hint (Desktop) */
.rb-detail-body .rb-floor-grid--scroll{
  cursor: grab;
}
.rb-detail-body .rb-floor-grid--scroll.rb-is-dragging{
  cursor: grabbing;
}
