/* ============ RENTAL MOBIL — TAMPILAN PUBLIK ============ */
.rmp2{
  --navy:#0f2c3f; --navy2:#173d55; --teal:#1f6f78; --tealsoft:#e8f4f3;
  --amber:#f5a524; --ambersoft:#fef3e0;
  --ink:#12242e; --muted:#5f7683; --faint:#93a7b1; --line:#e2ebee;
  --paper:#fff; --wash:#f5f9fa;
  --green:#1f9d6b; --greensoft:#e4f5ee; --greenline:#a9dcc6;
  --red:#d64545; --redsoft:#fbe9e9;
  --blue:#2f74c0; --bluesoft:#e6f0fa;
  --amberdot:#e8920c; --ambdotsoft:#fdf0d8;
  --wa:#25d366;
  --r:14px; --shadow:0 1px 3px rgba(15,44,63,.08),0 8px 24px rgba(15,44,63,.05);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--ink); max-width:1080px; margin:0 auto; -webkit-font-smoothing:antialiased;
}
.rmp2 *{box-sizing:border-box;}
.rmp2-notfound{padding:40px;text-align:center;color:var(--muted);background:var(--wash);border-radius:var(--r);}

/* Head */
.rmp2-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.rmp2-title{font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.01em;}
.rmp2-nav{display:flex;align-items:center;gap:8px;}
.rmp2-navbtn{width:36px;height:36px;border:1px solid var(--line);background:var(--paper);border-radius:9px;cursor:pointer;font-size:17px;color:var(--muted);}
.rmp2-navbtn:hover{background:var(--wash);}
.rmp2-range{font-size:13px;font-weight:600;color:var(--navy);min-width:130px;text-align:center;}
.rmp2-today-btn{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:0 14px;height:36px;font-size:13px;cursor:pointer;color:var(--teal);font-weight:600;}

/* Filter kategori */
.rmp2-cat-filter{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.rmp2-chip{border:1px solid var(--line);background:var(--paper);padding:8px 16px;border-radius:22px;font-size:13px;color:var(--muted);cursor:pointer;font-weight:550;}
.rmp2-chip.on{background:var(--navy);color:#fff;border-color:var(--navy);}

/* Legend */
.rmp2-legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap;}
.rmp2-dot{display:inline-block;width:11px;height:11px;border-radius:4px;vertical-align:-1px;margin-right:4px;}
.rmp2-dot.av{background:var(--greensoft);border:1px dashed var(--greenline);}
.rmp2-dot.bk{background:var(--blue);}
.rmp2-dot.pd{background:var(--amber);}

/* ========== TIMELINE (desktop) ========== */
.rmp2-timeline-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--paper);}
.rmp2-tl-scroll{overflow-x:auto;}
.rmp2-tl{min-width:720px;}
.rmp2-tl-head{display:grid;background:var(--wash);border-bottom:1px solid var(--line);}
.rmp2-tl-head .cap{padding:12px 16px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint);}
.rmp2-tl-head .d{padding:9px 2px;text-align:center;font-size:11px;color:var(--muted);border-left:1px solid var(--line);}
.rmp2-tl-head .d b{display:block;font-size:14px;color:var(--ink);font-weight:600;}
.rmp2-tl-head .d.today b{color:var(--teal);}
.rmp2-tl-head .d.wknd b{color:var(--amber);}
.rmp2-tl-cat{padding:8px 16px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;color:var(--teal);background:linear-gradient(var(--tealsoft),transparent);}
.rmp2-tl-row{display:grid;border-bottom:1px solid var(--line);min-height:84px;align-items:center;}
.rmp2-tl-row:hover{background:var(--wash);}
.rmp2-tl-row:last-child{border-bottom:none;}
.rmp2-carcell{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 8px;overflow:hidden;cursor:pointer;transition:background .12s;}
.rmp2-carcell:hover{background:var(--tealsoft);}
.rmp2-carthumb{width:100%;height:56px;border-radius:8px;flex-shrink:0;background-size:cover;background-position:center;background-color:var(--tealsoft);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;position:relative;}
.rmp2-thumb-ph{font-size:24px;opacity:.5;}
.rmp2-carmeta{text-align:center;}
.rmp2-carcell .nm{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
.rmp2-carcell .pr{font-size:10px;color:var(--faint);}

/* Pop-up detail mobil */
.rmp2-carpop-bg{position:fixed;inset:0;background:rgba(15,44,63,.55);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px;}
.rmp2-carpop-card{background:var(--paper);border-radius:16px;overflow:hidden;max-width:380px;width:100%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.rmp2-carpop-close{position:absolute;top:12px;right:12px;z-index:2;border:none;background:rgba(255,255,255,.9);width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer;color:var(--ink);line-height:1;}
.rmp2-carpop-photo{height:220px;background-size:cover;background-position:center;background-color:var(--tealsoft);display:flex;align-items:center;justify-content:center;}
.rmp2-carpop-photo span{font-size:64px;opacity:.4;}
.rmp2-carpop-body{padding:20px;}
.rmp2-carpop-name{font-size:22px;font-weight:700;color:var(--navy);}
.rmp2-carpop-cat{font-size:13px;color:var(--teal);font-weight:600;margin-bottom:16px;}
.rmp2-carpop-prices{display:flex;gap:10px;margin-bottom:18px;}
.rmp2-carpop-prices>div{flex:1;background:var(--wash);border-radius:10px;padding:10px;text-align:center;}
.rmp2-carpop-prices span{display:block;font-size:11px;color:var(--muted);margin-bottom:2px;}
.rmp2-carpop-prices b{font-size:14px;color:var(--navy);}
.rmp2-carpop-book{width:100%;border:none;background:var(--navy);color:#fff;padding:14px;border-radius:11px;font-size:15px;font-weight:650;cursor:pointer;}
.rmp2-carpop-book:hover{background:var(--navy2);}
.rmp2-bar{height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 10px;font-size:11px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 2px;align-self:center;}
.rmp2-bar.bk,.rmp2-bar.pd{justify-content:flex-start;}
.rmp2-bar.clickable{cursor:pointer;transition:.12s;}
.rmp2-bar.free.clickable{color:var(--green);background:var(--greensoft);border:1px dashed var(--greenline);}
.rmp2-bar.free.clickable:hover{background:var(--green);color:#fff;border-color:var(--green);transform:scale(1.04);}
.rmp2-bar.free.past{background:transparent;border:1px dashed var(--line);color:transparent;cursor:default;}
.rmp2-bar.bk{background:var(--blue);color:#fff;}
.rmp2-bar.pd{background:var(--amber);color:#5a3a00;}

/* ========== GALERI (mobile) ========== */
.rmp2-gallery{display:none;}
.rmp2-gal-cat{font-size:15px;font-weight:700;color:var(--navy);margin:6px 0 12px;display:flex;align-items:center;gap:8px;}
.rmp2-gal-cat::after{content:"";flex:1;height:1px;background:var(--line);}
.rmp2-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:26px;}
.rmp2-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .14s;}
.rmp2-card:active{transform:scale(.98);}
.rmp2-card .photo{height:110px;background-size:cover;background-position:center;background-color:var(--tealsoft);position:relative;}
.rmp2-card .badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;padding:3px 9px;border-radius:20px;}
.rmp2-card .badge.ok{background:var(--green);color:#fff;}
.rmp2-card .badge.soon{background:var(--amber);color:#5a3a00;}
.rmp2-card .body{padding:11px 13px;}
.rmp2-card .nm{font-weight:650;font-size:14px;}
.rmp2-card .meta{font-size:11px;color:var(--muted);margin-bottom:6px;}
.rmp2-card .price{font-size:15px;font-weight:700;color:var(--teal);}
.rmp2-card .price small{font-size:11px;color:var(--faint);font-weight:400;}

/* ========== DETAIL (kalender bulanan) ========== */
.rmp2-detail{max-width:460px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--paper);}
.rmp2-dhead{background:var(--navy);color:#fff;padding:0;position:relative;}
.rmp2-dhero{height:170px;background-size:cover;background-position:center;background-color:var(--navy2);}
.rmp2-dhead-info{padding:14px 20px;display:flex;align-items:center;gap:13px;}
.rmp2-dhead .th{width:50px;height:50px;border-radius:11px;background-size:cover;background-position:center;background-color:rgba(255,255,255,.15);flex-shrink:0;}
.rmp2-dhead .nm{font-size:18px;font-weight:700;}
.rmp2-dhead .mt{font-size:12px;opacity:.75;}
.rmp2-dbody{padding:18px 20px;}
.rmp2-cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.rmp2-cal-nav b{font-size:15px;color:var(--navy);}
.rmp2-cal-nav button{width:32px;height:32px;border:1px solid var(--line);background:var(--paper);border-radius:9px;cursor:pointer;}
.rmp2-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--faint);margin-bottom:6px;}
.rmp2-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;}
.rmp2-day{padding:10px 0;font-size:13px;border-radius:9px;cursor:pointer;position:relative;user-select:none;}
.rmp2-day.mut{color:transparent;cursor:default;pointer-events:none;}
.rmp2-day.past{color:var(--faint);cursor:not-allowed;pointer-events:none;text-decoration:line-through;}
.rmp2-day:not(.busy):not(.sel):not(.inr):not(.mut):not(.past):hover{background:var(--tealsoft);}
.rmp2-day.sel{background:var(--navy);color:#fff;font-weight:650;}
.rmp2-day.sel.l{border-radius:9px 0 0 9px;}
.rmp2-day.sel.r{border-radius:0 9px 9px 0;}
.rmp2-day.inr{background:var(--tealsoft);color:var(--teal);border-radius:0;}
.rmp2-day.busy{background:var(--red);color:#fff;cursor:not-allowed;pointer-events:none;}
.rmp2-day.part::after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--amberdot);}
.rmp2-cal-legend{display:flex;gap:14px;margin-top:14px;font-size:11px;color:var(--muted);flex-wrap:wrap;}
.rmp2-cal-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:0;margin-right:4px;}
.rmp2-dsummary{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.rmp2-dsummary .lbl{font-size:12px;color:var(--muted);}
.rmp2-dsummary .tot{font-size:22px;font-weight:750;color:var(--navy);}
.rmp2-modes-mini{display:flex;gap:6px;margin-bottom:14px;}
.rmp2-modes-mini button{flex:1;border:1px solid var(--line);background:var(--paper);padding:8px;border-radius:9px;font-size:12px;color:var(--muted);cursor:pointer;font-weight:550;}
.rmp2-modes-mini button.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:650;}

/* ========== DRAWER BOOKING ========== */
.rmp2-drawer{position:fixed;inset:0;background:rgba(15,44,63,.5);display:flex;align-items:flex-end;justify-content:center;z-index:99999;padding:0;}
.rmp2-drawer-card{background:var(--paper);border-radius:18px 18px 0 0;padding:20px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;position:relative;padding-bottom:calc(20px + env(safe-area-inset-bottom));}
@media(min-width:600px){.rmp2-drawer{align-items:center;}.rmp2-drawer-card{border-radius:18px;}}
.rmp2-drawer-close{position:absolute;top:14px;right:16px;border:none;background:var(--wash);width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--muted);line-height:1;}
.rmp2-dr-carhead{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-right:40px;}
.rmp2-dr-img{width:56px;height:44px;border-radius:9px;background-size:cover;background-position:center;background-color:var(--tealsoft);flex-shrink:0;}
.rmp2-dr-name{font-size:17px;font-weight:700;color:var(--navy);}
.rmp2-dr-date{font-size:12px;color:var(--muted);}
.rmp2-mode-tabs{display:flex;gap:4px;background:var(--wash);padding:4px;border-radius:11px;margin-bottom:14px;}
.rmp2-mode{flex:1;border:none;background:transparent;padding:9px;border-radius:8px;font-size:13px;color:var(--muted);cursor:pointer;font-weight:550;}
.rmp2-mode.is-active{background:var(--paper);color:var(--navy);box-shadow:0 1px 2px rgba(0,0,0,.08);font-weight:650;}
.rmp2-count-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.rmp2-count-label{font-size:13px;color:var(--muted);}
.rmp2-time{border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:14px;background:var(--paper);}
.rmp2-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.rmp2-step{width:38px;height:38px;border:none;background:var(--wash);font-size:18px;cursor:pointer;color:var(--navy);}
.rmp2-count{width:52px;text-align:center;border:none;font-size:15px;font-weight:600;-moz-appearance:textfield;}
.rmp2-count::-webkit-outer-spin-button,.rmp2-count::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.rmp2-warn{background:var(--redsoft);color:var(--red);font-size:12.5px;padding:9px 12px;border-radius:9px;margin-bottom:12px;}
.rmp2-endinfo{background:var(--tealsoft);color:var(--teal);font-size:12.5px;padding:9px 12px;border-radius:9px;margin-bottom:12px;}
.rmp2-breakdown{font-size:13px;color:var(--muted);margin-bottom:6px;}
.rmp2-breakdown .l{display:flex;justify-content:space-between;padding:2px 0;}
.rmp2-total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);margin-bottom:14px;}
.rmp2-total-row span{font-size:13px;color:var(--muted);}
.rmp2-total{font-size:22px;font-weight:750;color:var(--navy);}
.rmp2-form{display:flex;flex-direction:column;gap:9px;}
.rmp2-name,.rmp2-phone{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:15px;width:100%;background:var(--paper);}
.rmp2-submit{border:none;background:var(--navy);color:#fff;padding:14px;border-radius:11px;font-size:15px;font-weight:650;cursor:pointer;}
.rmp2-submit:hover{background:var(--navy2);}
.rmp2-confirm{text-align:center;padding:10px 0;}
.rmp2-check{width:56px;height:56px;border-radius:50%;background:var(--greensoft);color:var(--green);font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.rmp2-confirm-t{font-size:18px;font-weight:700;color:var(--navy);}
.rmp2-confirm-s{font-size:13px;color:var(--muted);margin-top:12px;}
.rmp2-code{font-family:ui-monospace,monospace;font-size:20px;font-weight:700;color:var(--teal);background:var(--tealsoft);padding:10px;border-radius:10px;margin:6px 0 14px;letter-spacing:.05em;}
.rmp2-confirm-note{font-size:12px;color:var(--muted);margin-bottom:14px;}
.rmp2-wa{display:block;background:var(--wa);color:#fff;text-decoration:none;padding:14px;border-radius:11px;font-size:15px;font-weight:650;}

/* ========== RESPONSIVE ========== */
@media(max-width:768px){
  .rmp2-title{font-size:18px;}
  .rmp2-tl{min-width:560px;}
  .rmp2-navbtn,.rmp2-today-btn{height:32px;}
  .rmp2-today-btn{padding:0 10px;font-size:12px;}
}

/* ============ FORM CARI TANGGAL ============ */
.rmp2-search{background:var(--navy);border-radius:14px;padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow);}
.rmp2-search-title{color:#fff;font-size:16px;font-weight:650;margin-bottom:12px;}
.rmp2-search-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;}
.rmp2-search-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:130px;}
.rmp2-search-field.rmp2-search-time{flex:0 0 100px;min-width:90px;}
.rmp2-search-field label{color:#b8c4cc;font-size:11px;font-weight:600;}
.rmp2-search-field input{border:none;border-radius:9px;padding:11px 12px;font-size:14px;background:#fff;color:var(--ink);}
.rmp2-search-btn{border:none;background:var(--gold,#f5a524);color:#2b2e33;font-weight:700;padding:12px 24px;border-radius:9px;font-size:14px;cursor:pointer;flex:0 0 auto;height:42px;}
.rmp2-search-btn:hover{filter:brightness(1.05);}
.rmp2-search-btn:disabled{opacity:.6;}

/* ============ HASIL PENCARIAN ============ */
.rmp2-res-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px;flex-wrap:wrap;}
.rmp2-res-title{font-size:20px;font-weight:700;color:var(--navy);}
.rmp2-res-sub{font-size:13px;color:var(--muted);margin-top:2px;}
.rmp2-res-back{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:9px 14px;font-size:13px;color:var(--teal);font-weight:600;cursor:pointer;}
.rmp2-res-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.rmp2-res-filters select{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:9px 12px;font-size:13px;color:var(--ink);cursor:pointer;}
.rmp2-res-list{display:flex;flex-direction:column;gap:12px;}
.rmp2-res-card{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);}
.rmp2-res-card.is-soon{opacity:.62;border-style:dashed;}
.rmp2-res-photo{width:140px;height:90px;border-radius:10px;background-size:cover;background-position:center;background-color:var(--tealsoft);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:34px;}
.rmp2-res-info{flex:1;min-width:0;}
.rmp2-res-name{font-size:17px;font-weight:700;color:var(--navy);}
.rmp2-res-meta{font-size:13px;color:var(--muted);margin:3px 0 8px;}
.rmp2-res-avail{display:inline-block;font-size:12px;color:var(--green);background:var(--greensoft);padding:3px 10px;border-radius:20px;font-weight:600;}
.rmp2-res-soon{display:inline-block;font-size:12px;color:#8a5a00;background:#fdf0d8;padding:3px 10px;border-radius:20px;font-weight:600;}
.rmp2-res-price{text-align:right;flex-shrink:0;}
.rmp2-res-day{font-size:19px;font-weight:750;color:var(--teal);}
.rmp2-res-day small{font-size:12px;color:var(--faint);font-weight:400;}
.rmp2-res-continue{margin-top:10px;border:none;background:var(--navy);color:#fff;padding:11px 22px;border-radius:10px;font-size:14px;font-weight:650;cursor:pointer;width:100%;}
.rmp2-res-continue:hover{background:var(--navy2);}
.rmp2-res-empty{padding:40px 20px;text-align:center;color:var(--muted);background:var(--wash);border-radius:12px;}
@media(max-width:600px){
  .rmp2-res-card{flex-wrap:wrap;}
  .rmp2-res-photo{width:100%;height:150px;}
  .rmp2-res-price{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;}
  .rmp2-res-continue{width:auto;margin-top:0;}
}
