/* MPV Itinerary Planner Wizard */
.mpv-wiz-root{
  font-family:'Plus Jakarta Sans',sans-serif; color:var(--ink,#22291F);
  background:var(--cream,#FAF6EC); border-radius:18px; max-width:640px;
  margin:0 auto; overflow:hidden; border:1px solid var(--line,#D9D2C0);
}
.mpv-wiz-root *{ box-sizing:border-box; }

.mpv-wiz-progress{
  display:flex; gap:6px; padding:16px 22px 0; flex-wrap:wrap;
}
.mpv-wiz-pip{
  height:4px; flex:1 1 28px; min-width:28px; border-radius:4px;
  background:var(--line,#D9D2C0); transition:background .2s;
}
.mpv-wiz-pip.done,
.mpv-wiz-pip.active{ background:var(--teal-deep,#0F4C45); }
.mpv-wiz-pip.active{ box-shadow:0 0 0 2px rgba(15,76,69,.18); }

.mpv-wiz-step-meta{
  padding:10px 26px 0; font-size:11px; text-transform:uppercase;
  letter-spacing:.12em; color:var(--teal-deep,#0F4C45); font-weight:700;
}
.mpv-wiz-panel{ display:none; padding:18px 26px 8px; animation:mpvWizIn .28s ease; }
.mpv-wiz-panel.active{ display:block; }
@keyframes mpvWizIn{
  from{ opacity:0; transform:translateX(12px); }
  to{ opacity:1; transform:translateX(0); }
}

.mpv-wiz-title{
  font-family:'Fraunces',serif; font-size:20px; font-weight:600;
  color:var(--teal-deep,#0F4C45); margin:0 0 8px; line-height:1.25;
}
.mpv-wiz-sub{ font-size:13px; color:#6B6650; margin:0 0 18px; line-height:1.5; }

.mpv-wiz-vehicle-grid{
  display:flex; flex-direction:column; gap:10px;
}
.mpv-wiz-vcard{
  display:grid; grid-template-columns:88px 1fr auto; gap:12px; align-items:center;
  background:#fff; border:1.5px solid var(--line,#D9D2C0); border-radius:12px;
  padding:10px; cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s;
  text-align:left; width:100%; font:inherit; color:inherit;
}
.mpv-wiz-vcard:hover{ border-color:var(--teal-mid,#16645C); }
.mpv-wiz-vcard.selected{
  border-color:var(--teal-deep,#0F4C45); background:var(--sage,#E7EEE6);
  box-shadow:0 0 0 3px rgba(15,76,69,.12);
}
.mpv-wiz-vcard img{
  width:88px; height:64px; object-fit:cover; border-radius:8px; background:#eee; display:block;
}
.mpv-wiz-vcard .meta h4{ margin:0 0 2px; font-size:14px; color:var(--ink,#22291F); }
.mpv-wiz-vcard .meta .cap{ font-size:12px; color:#6B6650; }
.mpv-wiz-vcard .meta .cat{
  display:inline-block; margin-top:4px; font-size:10px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--teal-deep,#0F4C45);
  background:rgba(15,76,69,.08); padding:2px 7px; border-radius:999px;
}
.mpv-wiz-vcard .price{
  font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:700;
  color:var(--teal-deep,#0F4C45); white-space:nowrap; text-align:right;
}
.mpv-wiz-vcard .price small{ display:block; font-size:10px; font-weight:500; color:#8a8568; }

.mpv-wiz-empty{
  padding:16px; border:1.5px dashed var(--line,#D9D2C0); border-radius:12px;
  background:#fff; font-size:13px; color:#8a8568; text-align:center;
}

.mpv-wiz-nav{
  display:flex; gap:10px; padding:16px 26px 22px; position:sticky; bottom:0;
  background:linear-gradient(to top, var(--cream,#FAF6EC) 70%, rgba(250,246,236,0));
}
.mpv-wiz-btn{
  flex:1; padding:13px 14px; border-radius:12px; border:none; cursor:pointer;
  font-family:inherit; font-weight:700; font-size:14px; transition:transform .12s, background .15s;
}
.mpv-wiz-btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }
.mpv-wiz-btn-back{
  background:#fff; color:var(--teal-deep,#0F4C45); border:1.5px solid var(--line,#D9D2C0); flex:0 0 auto; min-width:96px;
}
.mpv-wiz-btn-back:hover:not(:disabled){ background:var(--sage,#E7EEE6); }
.mpv-wiz-btn-next{
  background:var(--ink,#22291F); color:var(--cream,#FAF6EC);
}
.mpv-wiz-btn-next:hover:not(:disabled){ background:#000; transform:translateY(-1px); }

.mpv-wiz-summary-block{
  background:#fff; border:1px solid var(--line,#D9D2C0); border-radius:12px;
  padding:14px 16px; margin-bottom:12px;
}
.mpv-wiz-summary-block h5{
  margin:0 0 8px; font-size:11px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--teal-deep,#0F4C45); font-weight:700;
}
.mpv-wiz-summary-row{
  display:flex; justify-content:space-between; gap:12px; font-size:13px;
  color:#5C5746; padding:4px 0;
}
.mpv-wiz-summary-row strong{ color:var(--ink,#22291F); font-weight:700; text-align:right; }
.mpv-wiz-day-sum{ margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed var(--line,#D9D2C0); }
.mpv-wiz-day-sum:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:none; }
.mpv-wiz-day-sum .dtitle{ font-weight:700; font-size:13.5px; color:var(--ink,#22291F); margin-bottom:4px; }
.mpv-wiz-day-sum ul{ margin:0; padding-left:18px; font-size:12.5px; color:#5C5746; }
.mpv-wiz-day-sum li{ margin-bottom:3px; }

.mpv-wiz-breakdown{
  margin-top:4px; font-family:'JetBrains Mono',monospace; font-size:12px; color:#5C5746;
}
.mpv-wiz-breakdown .line{ display:flex; justify-content:space-between; padding:3px 0; }
.mpv-wiz-breakdown .line.total{
  margin-top:8px; padding-top:10px; border-top:1px solid var(--line,#D9D2C0);
  font-size:15px; font-weight:700; color:var(--ink,#22291F);
}

.mpv-wiz-err{
  background:#FBEAEA; color:#9B3B30; border:1px solid #E8C4BE; border-radius:8px;
  padding:10px 12px; font-size:12px; font-weight:600; margin-bottom:12px; display:none;
}
.mpv-wiz-err.show{ display:block; }

.mpv-wiz-nocar{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  background:#fff; border:1.5px solid var(--line,#D9D2C0); border-radius:12px;
  padding:12px 14px; margin-bottom:14px; transition:border-color .15s, background .15s;
}
.mpv-wiz-nocar:hover{ border-color:var(--teal-mid,#16645C); }
.mpv-wiz-nocar.on{
  border-color:var(--teal-deep,#0F4C45); background:var(--sage,#E7EEE6);
}
.mpv-wiz-nocar input{
  width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--teal-deep,#0F4C45); cursor:pointer;
}
.mpv-wiz-nocar-text{ display:flex; flex-direction:column; gap:2px; }
.mpv-wiz-nocar-text strong{ font-size:13.5px; color:var(--ink,#22291F); }
.mpv-wiz-nocar-text small{ font-size:12px; color:#6B6650; line-height:1.4; }

/* Custom area picker (replaces native select popup on mobile) */
.mpv-wiz-area-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; font-size:14px; font-family:inherit; text-align:left;
  border:1.5px solid var(--line,#D9D2C0); border-radius:10px; background:#fff; color:var(--ink,#22291F);
  cursor:pointer;
}
.mpv-wiz-area-trigger:focus{ outline:none; border-color:var(--teal-mid,#16645C); box-shadow:0 0 0 3px rgba(22,100,92,.14); }
.mpv-wiz-area-caret{
  width:10px; height:6px; flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0L5 6L10 0' fill='%2316645C'/></svg>") center/contain no-repeat;
}
.mpv-wiz-area-sheet{
  position:fixed; inset:0; z-index:9999; display:flex; align-items:flex-end; justify-content:center;
}
.mpv-wiz-area-sheet[hidden]{ display:none !important; }
.mpv-wiz-area-sheet-backdrop{
  position:absolute; inset:0; background:rgba(15,76,69,.45);
}
.mpv-wiz-area-sheet-panel{
  position:relative; z-index:1; width:100%; max-width:640px; max-height:70vh;
  background:var(--cream,#FAF6EC); border-radius:16px 16px 0 0;
  box-shadow:0 -8px 28px rgba(0,0,0,.18); display:flex; flex-direction:column;
  animation:mpvAreaUp .22s ease;
}
@keyframes mpvAreaUp{
  from{ transform:translateY(24px); opacity:.6; }
  to{ transform:translateY(0); opacity:1; }
}
.mpv-wiz-area-sheet-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border-bottom:1px solid var(--line,#D9D2C0);
  font-size:13px; font-weight:700; color:var(--teal-deep,#0F4C45);
}
.mpv-wiz-area-close{
  border:none; background:transparent; font-size:16px; line-height:1;
  color:#6B6650; cursor:pointer; padding:4px 6px;
}
.mpv-wiz-area-sheet-body{
  overflow-y:auto; -webkit-overflow-scrolling:touch; padding:8px 10px 18px;
}
.mpv-wiz-area-group{ margin-top:8px; }
.mpv-wiz-area-group-label{
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#8a8568; padding:6px 8px 4px;
}
.mpv-wiz-area-opt{
  display:block; width:100%; text-align:left; font-family:inherit;
  font-size:13px; line-height:1.3; padding:9px 10px; margin-bottom:4px;
  border:1px solid var(--line,#D9D2C0); border-radius:8px; background:#fff;
  color:var(--ink,#22291F); cursor:pointer;
}
.mpv-wiz-area-opt.on{
  border-color:var(--teal-deep,#0F4C45); background:var(--sage,#E7EEE6);
  font-weight:600; color:var(--teal-deep,#0F4C45);
}
.mpv-wiz-area-opt:active{ transform:scale(.99); }

@media (max-width:480px){
  .mpv-wiz-area-sheet-panel{ max-height:62vh; }
  .mpv-wiz-area-sheet-head{ font-size:12px; padding:10px 12px; }
  .mpv-wiz-area-group-label{ font-size:9px; }
  .mpv-wiz-area-opt{ font-size:12px; padding:8px 9px; margin-bottom:3px; }
  .mpv-wiz-area-trigger{ font-size:13px; padding:9px 11px; }
}

@media (min-width:641px){
  .mpv-wiz-area-sheet{ align-items:center; padding:20px; }
  .mpv-wiz-area-sheet-panel{
    border-radius:14px; max-height:min(520px, 80vh); width:min(420px, 100%);
  }
}

@media (max-width:480px){
  .mpv-wiz-vcard{ grid-template-columns:72px 1fr; }
  .mpv-wiz-vcard .price{ grid-column:1 / -1; text-align:left; padding-left:84px; margin-top:-4px; }
  .mpv-wiz-panel{ padding:16px 18px 8px; }
  .mpv-wiz-nav{ padding:14px 18px 18px; }
}
