/* ========================
   RENTARO · Search (Date + Time + TimePicker)
   FULL REPLACE CSS
   ======================== */

/* ==== Basis ==== */
*,
*::before,
*::after { box-sizing: border-box; }

:root{
  --rentaro-orange:#f26609;
  --ink-900:#0f1720; --ink-800:#1b1f24;
  --muted-500:#8d97a2; --outline:#d6dee7;
  --surface:#f5f7fa; --surface-2:#eef2f6;

  --card-r:22px; --pill-r:999px;
  --bg-top:#f2f5f9; --bg-mid:#f6f8fa; --bg-end:#f9fafb;

  --rs-field-h:52px; --rs-field-radius:16px;
  --rs-field-font:1rem; --rs-field-pad-l:44px; --rs-field-pad-r:18px;
  --rs-gap:14px; --rs-sec-gap:16px; --rs-col-gap:12px;

  --rs-complete:#22c55e;
}

html,body{
  overflow-x:hidden; margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
  color:var(--ink-900);
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
}
html{ scrollbar-gutter:stable both-edges; }

/* ---------- Section ---------- */
.rentaro-search-wrap{
  width:100%;
  padding:clamp(16px,3.2vw,40px) 0;
  background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-mid) 28%,var(--bg-end) 100%);
}
@media (min-width:981px){
  .rentaro-search-wrap{ position:relative; left:50%; width:100vw; margin-left:-50vw; }
}

.rs-container{ max-width:1560px; margin:0 auto; padding:0 clamp(16px,4vw,56px); }

.rs-head h2{
  font-size:clamp(2rem,3vw,3rem); font-weight:800; text-align:center;
  margin:0 0 6px; letter-spacing:-.02em;
}
.rs-head p{ text-align:center; color:var(--muted-500); font-size:clamp(1rem,1.4vw,1.125rem); margin:0 0 12px; }

/* ---------- Card / Grid ---------- */
.rs-form{
  background:#fff; border:1px solid var(--outline); border-radius:var(--card-r);
  box-shadow:0 10px 38px rgba(0,0,0,.06);
  padding:clamp(18px,3.2vw,32px);
  display:grid; grid-template-columns:repeat(12,1fr);
  gap:var(--rs-gap); max-width:100%; position:relative; overflow:hidden;
}
.rs-form, .rs-types, .rs-loc, .rs-dates, .rs-type-carousel, .rs-type-chips, .rs-location-autocomplete, .rs-date-pair{ min-width:0; }
.rs-types, .rs-loc, .rs-dates{ grid-column:1/-1 }

/* Einheitliche Label */
.rs-label, .rs-field>label, .rs-types .rs-label, .rs-loc .rs-label, .rs-dates .rs-label, .rs-date-col > label{
  font-weight:600; font-size:1.02rem; line-height:1.2; margin-bottom:8px; color:var(--ink-900);
}
.rs-types{ margin-bottom:var(--rs-sec-gap); }
.rs-location-autocomplete{ margin-bottom:var(--rs-sec-gap); }

/* ---------- Type carousel ---------- */
.rs-type-carousel{ overflow:hidden; margin:4px 0 14px; position:relative; z-index:3; }
.rs-type-carousel, .rs-type-carousel *{ pointer-events:auto; }
.rs-type-chips{ position:relative; z-index:2; }
.rs-type-carousel .swiper{ width:100%; max-width:100%; touch-action:none; }
.rs-type-carousel .swiper-wrapper{ will-change:transform; backface-visibility:hidden; transform:translateZ(0); }
.rs-type-carousel .swiper-slide{ width:clamp(220px,48vw,300px); contain:initial!important; backface-visibility:hidden; transform:translateZ(0); outline:0!important; border:0!important; box-shadow:none!important; }
@media (min-width:981px){ .rs-type-carousel .swiper-slide{ width:clamp(240px,22vw,300px) } }
.rs-type-carousel .swiper, .rs-type-carousel .swiper-wrapper, .rs-type-carousel .swiper-slide{ background:#fff!important; }

/* ---------- Anhänger-Karten ---------- */
.rs-type-card{ position:relative; isolation:isolate; border:none!important; box-shadow:none!important; border-radius:16px; padding:12px; background:#fff; text-align:center; cursor:pointer; overflow:hidden; -webkit-tap-highlight-color:transparent; transition:border-color .16s ease, box-shadow .16s ease; }
.rs-type-card:hover{ box-shadow:0 6px 16px rgba(0,0,0,.06) }
.rs-type-card input{ display:none }
.rs-type-img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; margin-bottom:10px; display:block; user-select:none; -webkit-user-drag:none; box-shadow: inset 0 0 0 1px var(--outline)!important; }
.rs-type-card:has(input:checked) .rs-type-img, .rs-type-card.is-selected .rs-type-img{
  outline:3px solid var(--rentaro-orange)!important; outline-offset:-3px!important; box-shadow: inset 0 0 0 1px transparent!important;
}
.rs-type-name{ font-weight:700; font-size:1rem; line-height:1.25; }

/* ---------- Filter-Chips ---------- */
.rs-type-chips{ display:flex; align-items:center; gap:8px 10px; padding:2px 0 4px; flex-wrap:wrap; }
@media (min-width:981px){ .rs-type-chips{ flex-wrap:nowrap; white-space:nowrap; } }
.rs-chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:#fff; color:#0f1720; border:1px solid #d6dee7; box-shadow:inset 0 -1px 0 rgba(255,255,255,.06); font-weight:600; font-size:.9rem; line-height:1; white-space:nowrap; }
.rs-chip.clear{ background:#f5f7fa; color:#0f1720; border:1px solid #e1e8f0; box-shadow:none; }
.rs-chip.clear:hover{ background:#fff }
.rs-type-chips:empty, .rs-type-chips:not(:has(.rs-chip)){ display:none!important; }

/* ---------- Location ---------- */
.rs-location-autocomplete{ position:relative; display:flex; flex-direction:column; gap:10px }
#rs-location{
  height:var(--rs-field-h); width:100%; padding:0 var(--rs-field-pad-r) 0 var(--rs-field-pad-l);
  font-size:var(--rs-field-font); font-weight:500; color:var(--ink-900);
  border:1px solid var(--outline); border-radius:var(--rs-field-radius);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a424b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat 14px 50%/18px 18px, var(--surface);
  transition:.16s ease;
}
#rs-location:hover{ background-color:var(--surface-2) }
#rs-location:focus, #rs-location:focus-visible{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f26609' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3' fill='%23f26609' stroke='none'/%3E%3C/svg%3E") no-repeat 14px 50%/18px 18px,#fff;
  border-color:var(--rentaro-orange); box-shadow:0 0 0 4px rgba(242,102,9,.16); outline:none;
}
#rs-location::placeholder{ color:#9aa5b1; }

/* Standort-Button */
#find-my-location{
  position:absolute; right:10px; top:50%; transform:translateY(-50%); width:32px; height:32px; display:block; font-size:0; overflow:hidden;
  background:#fff center/18px 18px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f26609' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3' fill='%23f26609' stroke='none'/%3E%3C/svg%3E");
  border:1px solid var(--outline); border-radius:999px; cursor:pointer; transition:.14s ease; box-shadow:0 2px 6px rgba(0,0,0,.04)
}
#find-my-location:hover{ background-color:var(--surface-2) }
#find-my-location[disabled]{ opacity:.6; cursor:wait }
#find-my-location > *, #find-my-location + *, #find-my-location ~ .tooltip{ display:none!important; }

/* ---------- Autocomplete ---------- */
.rs-suggestions{
  position:absolute; top:calc(var(--rs-field-h) + 4px); left:0; right:0; z-index:30;
  list-style:none; margin:8px 0 0; padding:6px; background:#fff; border:1px solid var(--outline);
  border-radius:14px; box-shadow:0 16px 32px rgba(0,0,0,.10); display:none;
}
.rs-suggestions[aria-expanded="true"]{ display:block }
.rs-suggestions li{ padding:12px 14px; border-radius:10px; cursor:pointer }
.rs-suggestions li:hover{ background:var(--surface) }

/* ---------- Dates + Times (Layout) ---------- */
.rs-date-pair{
  display:grid; grid-template-columns:1fr 1fr!important; column-gap:28px; row-gap:0; align-items:flex-start; margin-top:var(--rs-sec-gap);
}
.rs-date-dash{ display:none!important; }

.rs-date-col{
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:var(--rs-col-gap)!important; row-gap:0!important; align-items:center!important; min-width:0!important; position:relative;
}
.rs-date-col > label{ grid-column:1/-1!important; margin:0 0 4px!important; font-weight:600; }
.rs-date-col > *:not(label){ min-width:0!important; width:100%!important; max-width:100%!important; margin:0!important; }

/* ---------- Date Inputs ---------- */
#rs-start-date,
#rs-end-date{
  display:block; width:100%; height:var(--rs-field-h); line-height:var(--rs-field-h);
  padding:0 var(--rs-field-pad-r) 0 var(--rs-field-pad-l);
  font-size:clamp(11px,3.2vw,16px); font-weight:500; color:var(--ink-900);
  border:1px solid var(--outline); border-radius:var(--rs-field-radius);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233a424b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")
      no-repeat 14px 50% / 18px 18px,
    var(--surface) !important;
  transition:.16s ease; -webkit-appearance:none; appearance:none;
}
#rs-start-date:hover,
#rs-end-date:hover{ background-color:var(--surface-2); }
#rs-start-date::-webkit-datetime-edit,
#rs-end-date::-webkit-datetime-edit{ font-size:inherit; }

/* Im Complete-Zustand gleiche Optik – kein zusätzlicher Haken im Feld */
#rs-start-date[data-complete],
#rs-end-date[data-complete]{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233a424b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")
      no-repeat 14px 50% / 18px 18px,
    var(--surface) !important;
}

/* ---------- Time Inputs ---------- */
.rs-time{
  height:var(--rs-field-h); width:100%;
  padding:0 var(--rs-field-pad-l);          /* links + rechts gleich viel Platz */
  font-size:clamp(11px,3.2vw,16px); font-weight:500; color:var(--ink-900);
  border:1px solid var(--outline); border-radius:var(--rs-field-radius);
  background-color:var(--surface)!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233a424b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:14px 50%!important;
  background-size:18px 18px!important;
  -webkit-appearance:none; appearance:none;
  text-align:center;                      /* für Nicht-WebKit-Browser */
}
.rs-time:hover{ background-color:var(--surface-2)!important; }

/* Center-Text auch für Chrome/Edge */
.rs-time::-webkit-datetime-edit{
  text-align:center;
}

#rs-start-time[data-complete],
#rs-end-time[data-complete]{
  background-color:var(--surface)!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233a424b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")!important;
}

/* Mobile-Layout */
@media (max-width:980px){
  .rs-date-pair{ grid-template-columns:1fr!important; row-gap:12px!important; }
  .rs-actions{ position:sticky; bottom:12px; padding-top:16px; justify-content:center }
  .rs-submit{ width:min(520px,92vw) }
}

/* ---------- CTA ---------- */
.rs-actions{ grid-column:1/-1; display:flex; justify-content:flex-end; padding-top:22px }
.rs-submit{
  height:calc(var(--rs-field-h) + 6px); padding:0 28px; font-size:1rem; font-weight:800; letter-spacing:.2px; color:#fff;
  border:none; border-radius:var(--pill-r);
  background:linear-gradient(180deg,#ff7a2c 0%,var(--rentaro-orange) 100%);
  box-shadow:0 12px 22px rgba(242,102,9,.25), inset 0 -2px 0 rgba(0,0,0,.12);
  cursor:pointer; transition:transform .08s ease;
}
.rs-submit:hover{ transform:translateY(-1px) }

/* ---------- Air Datepicker ---------- */
.air-datepicker{
  position:absolute; z-index:100002; max-width:96vw;
  --adp-bg-color:#fff; --adp-text-color:var(--ink-900); --adp-border-color:var(--outline);
  --adp-hover-color:var(--surface-2); --adp-accent-color:var(--rentaro-orange);
  --adp-day-name-color:var(--ink-800); --adp-cell-size:44px; --adp-cell-border-radius:10px;
  border:1px solid var(--outline); border-radius:16px; box-shadow:0 18px 44px rgba(0,0,0,.14); font-family:inherit;
}
.air-datepicker-nav{ padding:12px 14px }
.air-datepicker-nav--title{ font-weight:700; font-size:1rem }
.air-datepicker-nav--action{ width:38px; height:38px; border-radius:50% }
.air-datepicker-nav--action:hover{ background:var(--surface-2) }
.air-datepicker-body--day-names{ padding:8px 12px; font-weight:700 }
.air-datepicker-body--cells{ gap:6px }
.air-datepicker-cell{ font-weight:600; font-size:16px; color:var(--ink-900); line-height:var(--adp-cell-size) }
.air-datepicker-cell.-current-{ border:2px solid var(--rentaro-orange); color:var(--rentaro-orange); background:#fff }
.air-datepicker-cell.-selected-, .air-datepicker-cell.-selected-.-current-{ background:var(--rentaro-orange); color:#fff }
.air-datepicker-cell.-in-range-{ background:rgba(242,102,9,.14); color:var(--ink-900) }
.air-datepicker-cell.-disabled-, .air-datepicker-cell.adp-before-disabled{ color:#c3cbd6!important; cursor:not-allowed }

/* ===== Mobile ADP Fullscreen + Wizard Header ===== */
@media (max-width: 980px){
  body.r24-adp-open{ overflow:hidden; }
  body.r24-adp-open::before{
    content:""; position:fixed; inset:0; background:rgba(15,23,32,.55); z-index:2147483645;
  }
  body.r24-adp-open .air-datepicker-global-container{
    position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important; z-index:2147483646!important; pointer-events:none;
  }
  body.r24-adp-open .air-datepicker{
    position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important; max-width:none!important;
    margin:0!important; transform:none!important; box-shadow:none!important; border-radius:0!important;
    z-index:2147483647!important; background:#fff!important; display:grid!important; grid-template-rows:auto 1fr auto!important; pointer-events:auto;
  }
  body.r24-adp-open .air-datepicker[style]{ left:0!important; top:0!important; transform:none!important; }
  body.r24-adp-open .air-datepicker--pointer{ display:none!important; }

  body.r24-adp-open .air-datepicker::before{
    content:"Schritt 1 von 2 – Abholdatum wählen";
    position:absolute; left:18px; right:18px; top:14px;
    text-align:left; font-size:.95rem; line-height:1.35; color:var(--ink-900); font-weight:800;
  }
  body.r24-adp-open .air-datepicker::after{
    content:"Tippe auf ein Datum und gehe unten auf „Weiter“.";
    position:absolute; left:18px; right:18px; top:38px;
    text-align:left; font-size:.85rem; line-height:1.4; color:var(--muted-500); font-weight:600;
  }
  body.r24-adp-open .air-datepicker-nav{
    padding:88px 18px 12px!important; border-bottom:1px solid #e7edf3!important;
  }

  body.r24-adp-open .air-datepicker--content{ padding:14px 16px 0!important; overflow:auto!important; -webkit-overflow-scrolling:touch; }
  body.r24-adp-open .air-datepicker-body--day-names{ padding:8px 6px!important; font-weight:700 }
  body.r24-adp-open .air-datepicker-body--cells{ gap:8px!important; }
  body.r24-adp-open .air-datepicker-cell{ border-radius:12px!important; font-weight:700!important; line-height:44px!important; height:44px!important; }

  body.r24-adp-open .air-datepicker-buttons{
    display:flex!important; justify-content:space-between; align-items:center;
    gap:12px; padding:12px 16px!important;
    border-top:1px solid #e7edf3!important;
    background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%);
  }
  body.r24-adp-open .air-datepicker-button{
    font-weight:800!important; padding:10px 16px!important; border-radius:999px!important;
  }
  body.r24-adp-open .air-datepicker-button.adp-cancel{
    order:1; color:#0f1720!important; background:#fff!important; border:1px solid var(--outline)!important; box-shadow:none!important;
  }
  body.r24-adp-open .air-datepicker-button.adp-apply.adp-next{
    order:2; color:#fff!important; border:none!important;
    background:linear-gradient(180deg,#ff7a2c 0%, var(--rentaro-orange) 100%)!important;
    box-shadow:0 10px 22px rgba(242,102,9,.22);
    min-width:140px;
  }
}

/* =========================================================================
   Sunrise TimePicker
   ========================================================================= */
.rtp-pop{
  --rtp-head-h:52px;
  position:absolute; width:min(520px,96vw); max-height:80vh;
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--outline);
  border-radius:18px; box-shadow:0 24px 52px rgba(15,23,32,.16);
  transform-origin:top left; transform:translateY(2px) scale(.985);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:transform .14s cubic-bezier(.2,.6,.2,1), opacity .12s ease; z-index:100001; overflow:hidden;
}
.rtp-pop.is-open{ transform:translateY(0) scale(1); opacity:1; visibility:visible; pointer-events:auto }

.rtp-head{
  height:var(--rtp-head-h); display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 14px; background:#fff; border-bottom:1px solid var(--surface-2); border-radius:18px 18px 0 0;
}
.rtp-title{ font-weight:700 }
.rtp-close{ appearance:none; border:1px solid var(--outline); background:#fff; border-radius:999px; height:34px; padding:0 12px; font-weight:800; cursor:pointer; }
.rtp-close:hover{ background:var(--surface-2) }

/* Tabs */
.rtp-toolbar{ padding:10px 14px 8px; background:#fff; border-bottom:1px solid var(--surface-2) }
.rtp-tabs{ display:flex; gap:8px; overflow:auto; padding-top:2px; scrollbar-width:none; white-space:nowrap }
.rtp-tabs::-webkit-scrollbar{ display:none }
.rtp-tab{
  flex:0 0 auto; padding:7px 10px; border-radius:14px; border:1px solid #e8eef6;
  background:#f8fafc; font-weight:600; font-size:.95rem; display:flex; align-items:center; gap:6px; cursor:pointer; transition:all .15s ease;
}
.rtp-tab.is-active{ background:#fff; border-color:#ffe0ca; box-shadow:0 4px 14px rgba(242,102,9,.12); color:var(--rentaro-orange); }

/* Body */
.rtp-body{ flex:1 1 auto; min-height:0; overflow:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:8px 14px 80px; }

/* Gruppen & Grid */
.rtp-group{ position:relative; padding-top:0; border-radius:12px; background:transparent; overflow:hidden; }
.rtp-group h4{
  position:sticky; top:0; z-index:3; margin:0; padding:10px 8px; font-weight:700; font-size:1.05rem; border:0; background:transparent; color:var(--ink-900);
  display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer;
}
.rtp-group h4::after{
  content:""; flex:0 0 auto; width:18px; height:18px; opacity:.7; background-repeat:no-repeat; background-position:center; background-size:16px 16px;
  transition:transform .15s ease, opacity .15s ease;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233b4250' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='8 4 16 12 8 20'/%3E%3C/svg%3E");
}
.rtp-group[data-open="false"] h4::after{ transform:rotate(-90deg); opacity:.5; }
.rtp-group::before{
  content:""; position:absolute; inset:0; z-index:1; border-radius:12px; background:rgba(242,102,9,.12);
  opacity:0; pointer-events:none; transition:opacity .15s ease;
}
.rtp-group.is-focus::before{ opacity:1; }
@media (min-width:981px){ .rtp-group.is-focus::before{ opacity:0!important; } }

.rtp-group .rtp-grid{ position:relative; z-index:2; }
.rtp-body .rtp-grid{ display:grid!important; gap:10px!important; grid-auto-flow:row dense!important; grid-template-columns:repeat(6, 1fr)!important; }
.rtp-group[data-open="false"] .rtp-grid{ display:none!important; }

@media (max-width:768px){ .rtp-body .rtp-grid{ grid-template-columns:repeat(4, 1fr)!important; } }
@media (max-width:420px){ .rtp-body .rtp-grid{ grid-template-columns:repeat(3, 1fr)!important; } }

.rtp-slot{
  position:relative; height:44px; width:100%; border-radius:12px; border:1px solid #e1e8f0;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%); font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .06s ease, box-shadow .16s ease, border-color .12s ease;
  padding:0 6px; min-width:0; touch-action:manipulation;
}
.rtp-slot:hover{ border-color:#d6e0ec; box-shadow:0 10px 26px rgba(15,23,32,.08) }
.rtp-slot:active{ transform:translateY(1px) }
.rtp-slot.is-active{
  background:linear-gradient(180deg,#ff9b5b 0%, #f47a25 100%); color:#fff; border-color:var(--rentaro-orange); box-shadow:none;
}

/* Disabled Slots */
.rtp-slot.is-disabled{
  position:relative; color:#7d8fa3; border-color:#dbe3ec;
  background:linear-gradient(180deg,#eef3f7 0%, #e1e8f5 100%);
  opacity:1; cursor:not-allowed;
}
.rtp-slot.is-disabled::after{
  content:""; position:absolute; left:8px; top:50%; transform:translateY(-50%);
  width:14px; height:14px; background-repeat:no-repeat; background-size:14px 14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d8fa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='10' rx='2'/%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3'/%3E%3C/svg%3E");
}
.rtp-slot.is-disabled{ padding-left:26px; }

/* Footer mit verkürzter Summary */
.rtp-commit{
  position:sticky; bottom:0; left:0; right:0;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 14px; background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%); border-top:1px solid var(--surface-2);
  border-radius:0 0 18px 18px;
}
.rtp-commit .summary{
  flex:1 1 auto; min-width:0;
  font-weight:600; color:#2c3746; font-size:.9rem;
  overflow:hidden;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1;
  -webkit-mask-image:linear-gradient(90deg, #000 80%, transparent);
          mask-image:linear-gradient(90deg, #000 80%, transparent);
}
.rtp-commit .summary .s-label{ font-weight:800; margin-right:6px; }
.rtp-commit .summary .s-date{ font-weight:700; }
.rtp-commit .summary .s-time{ font-weight:800; }
.rtp-commit .btn-ok{
  height:36px; padding:0 14px; border:none; border-radius:999px; color:#fff; font-weight:800; cursor:pointer;
  background:linear-gradient(180deg,#ff7a2c 0%,var(--rentaro-orange) 100%); box-shadow:0 8px 18px rgba(242,102,9,.22)
}
.rtp-commit .btn-back{
  height:36px; padding:0 14px; border:1px solid var(--outline); border-radius:999px; background:#fff; font-weight:800; cursor:pointer;
}

/* Mobile Vollbild TimePicker */
@media (max-width:980px){
  .rtp-pop{ position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important; max-height:none!important; border-radius:0!important; box-shadow:none!important; z-index:2147483647!important; display:flex!important; flex-direction:column!important; }
  .rtp-close{ display:none!important; }
  .rtp-pop::before{
    content:"Schritt 2 von 2 – Abholzeit wählen";
    position:absolute; left:18px; right:18px; top:14px; font-size:.9rem; line-height:1.45; font-weight:600; color:var(--ink-900);
  }
  .rtp-head{ padding:56px 18px 12px; border-bottom:1px solid #e7edf3; border-radius:0; }
  .rtp-body{ padding:4px 16px 88px!important; }
  .rtp-commit{ position:fixed; left:0; right:0; bottom:0; border-radius:0; }

  .rtp-commit .summary{
    font-size:.86rem;
    -webkit-mask-image:linear-gradient(90deg, #000 75%, transparent);
            mask-image:linear-gradient(90deg, #000 75%, transparent);
  }
}

/* ---------- Status / Fehlermeldungen (Pastell-Box) ---------- */
.rs-status{
  margin-top:12px; border:1px solid #ffd9c9; background:#fff6f2; color:#6b3b2a;
  border-radius:14px; padding:12px 14px; display:flex; gap:10px; align-items:flex-start;
}
.rs-status.is-hide{ display:none; }
.rs-status .icon{
  flex:0 0 20px; height:20px; margin-top:2px;
  background-repeat:no-repeat; background-position:center; background-size:20px 20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f26609' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12' y2='16'/%3E%3C/svg%3E");
}
.rs-status .msg{ font-weight:600; }
.rs-status .msg ul{ margin:6px 0 0 20px; padding:0; }
.rs-status .msg li{ margin:2px 0; }

.rs-status.is-ok{ border-color:#c9efd7; background:#f1fff6; color:#1f6b3a; }
.rs-status.is-ok .icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231f6b3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

/* ---------- Kleiner Feinschliff allgemein ---------- */
.rentaro-search-wrap .rs-container{
  padding-left: clamp(10px, 2vw, 24px)!important;
  padding-right: clamp(10px, 2vw, 24px)!important;
}
label[for="rs-start-date"], label[for="rs-end-date"]{ position:relative; color:transparent!important; }
label[for="rs-start-date"]::after, label[for="rs-end-date"]::after{
  position:absolute; inset:0 auto auto 0; color:var(--ink-900); font-weight:600; font-size:1.02rem; line-height:1.2; white-space:nowrap; content:"";
}
label[for="rs-start-date"]::after{ content:"Abholdatum & Zeit"; }
label[for="rs-end-date"]::after{ content:"Rückgabedatum & Zeit"; }


/* Uhrzeit-Felder wieder wie Datum ausrichten */
.rs-time{
  text-align: left !important;
  padding-left: var(--rs-field-pad-l) !important;
  padding-right: var(--rs-field-pad-r) !important;
}

/* Chrome/Edge */
.rs-time::-webkit-datetime-edit{
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}



