/* Mobile homepage preview — 3 variants (A/B/C). Mobile-first; desktop shows phone frame. */
:root{
  --mpv-gold:#C5A059;
  --mpv-gold-light:#E2B77E;
  --mpv-green:#1F3D2B;
  --mpv-green-deep:#0B2418;
  --mpv-ink:#141412;
  --mpv-muted:rgba(20,20,18,.68);
  --mpv-faint:rgba(20,20,18,.52);
  --mpv-line:rgba(18,18,17,.11);
  --mpv-serif:'Figtree',system-ui,sans-serif;   /* 10 Oct: headings in the platform font (was Playfair) */
  --mpv-sans:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --mpv-promo-h:32px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body.mpv{
  margin:0;
  background:#E8E6E1;
  color:var(--mpv-ink);
  font-family:var(--mpv-sans);
  font-size:16px;
  font-weight:300;
  line-height:1.5;
  -moz-osx-font-smoothing:grayscale;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
p,h1,h2,h3{ margin:0; }

.mpv-shell{
  max-width:430px;
  margin:0 auto;
  min-height:95vh;
  background:#fff;
  position:relative;
  overflow-x:hidden;
}

/* Dev / client chooser bar */
.mpv-devbar{
  position:sticky; top:0; z-index:200;
  background:#121211; color:#fff;
  font-size:11px; letter-spacing:.04em;
  padding:8px 12px;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.mpv-devbar strong{ font-weight:600; color:var(--mpv-gold-light); }
.mpv-devbar-nav{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.mpv-devbar-nav a{
  padding:4px 8px; border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  font-size:10px; font-weight:500; white-space:nowrap;
}
.mpv-devbar-nav a.is-on{ background:var(--mpv-gold); border-color:var(--mpv-gold); color:#121211; }

/* Promo */
.mpv-promo{
  height:var(--mpv-promo-h);
  display:flex; align-items:center; justify-content:center;
  background:var(--mpv-green);
  color:#F1EDE3;
  font-size:11px; letter-spacing:.03em;
  padding:0 12px; text-align:center;
}
.mpv-promo em{ font-style:normal; font-weight:600; color:var(--mpv-gold-light); }

/* Hero shared */
.mpv-hero{
  position:relative;
  min-height:390px;
  display:flex;
  flex-direction:column;
  background:var(--mpv-green-deep);
  overflow:hidden;
}
.mpv-hero-media{ position:absolute; inset:0; }
.mpv-hero-media img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 58%;
  opacity:0;
}
.mpv-hero-media img.is-active{ opacity:1; }
.mpv-hero-media.is-fading img{ transition:opacity 1.1s ease; }
.mpv-hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(rgba(8,16,12,.2), rgba(8,16,12,.2)),                          /* video 20% darker (8 Oct) */
    linear-gradient(to bottom, rgba(8,16,12,.55) 0%, rgba(8,16,12,.08) 35%, rgba(8,16,12,.72) 100%);
}

.mpv-hero-top{
  position:relative; z-index:3;
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:14px 16px 0;
}
.mpv-logo{
  display:flex; align-items:center;
}
.mpv-logo img{
  height:44px; width:auto; display:block;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));
}
.mpv-burger{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.28);
  color:#fff; padding:0;
}
.mpv-burger svg{ width:18px; height:18px; }
.mpv-nav-wrap{ position:relative; }
.mpv-nav{
  position:absolute; top:calc(100% + 8px); right:0; z-index:50;
  min-width:210px; background:#fff; border-radius:14px;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.3);
  border:1px solid var(--mpv-line);
  padding:8px; display:flex; flex-direction:column;
}
.mpv-nav[hidden]{ display:none !important; }
.mpv-nav a{ padding:11px 14px; border-radius:9px; font-size:15px; color:var(--mpv-ink); }
.mpv-nav a:hover{ background:#F4F1EA; }
.mpv-nav .np-phone{ color:#8A5A30; font-weight:600; border-top:1px solid var(--mpv-line); margin-top:4px; }

.mpv-hero-body{
  position:relative; z-index:2;
  display:flex; flex-direction:column;
  align-items:center;
  text-align:center;
  padding:20px 20px 20px;
}
.mpv-hero-body .mpv-title{   /* 11 Oct: a <p>, not a 2nd <h1> — the desktop hero carries the page's h1 (audit) */
  margin:0;
  font-family:var(--mpv-serif);
  font-size:clamp(32px, 9vw, 40px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.02em;
  color:#fff;
  max-width:16ch;
}
.mpv-hero-body .mpv-title em{
  font-style:normal;
  color:var(--mpv-gold-light);
}
.mpv-hero-sub{
  margin-top:6px;
  max-width:34ch;
  font-size:15.5px; line-height:1.55;
  color:rgba(255,255,255,.82);
  padding: 0 60px;
}

/* Pill search (A + C) */
.mpv-search-pill{
  position:relative; z-index:2;
  margin:0px 20px 0;
  display:flex; align-items:center;
  background:#fff;
  border-radius:34px;
  /* box-shadow:0 8px 28px rgba(0,0,0,.22); */
  box-shadow: 0 2px 5px rgba(0, 0, 0, .22);
  padding:4px 20px 4px 20px;
}
.mpv-search-pill .sb-field{
  flex:1; display:flex; align-items:center; gap:10px;
  min-width:0; padding:10px 8px;
  border:0; background:transparent; text-align:left;
}
.mpv-search-pill .sb-field + .sb-field{ border-left:2px solid var(--mpv-line); border-radius: 1px; }
.mpv-search-pill .sb-ico{ width:20px; height:20px; color:var(--mpv-faint); flex:none; }
.mpv-search-pill .sb-text{ min-width:0; }
.mpv-search-pill .sb-text b{
  display:block; font-size:12px; font-weight:600; color:var(--mpv-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mpv-search-pill .sb-text i{
  display:block; font-style:normal; font-size:10px;
  color:var(--mpv-faint); margin-top:1px;
}
.mpv-search-go{
  width:34px; height:34px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--mpv-gold); border:0; color:#121211;
}
.mpv-search-go svg{ width:18px; height:18px; }

/* Card search (B) — lives in mpv-search-wrap below hero */
.mpv-search-wrap{
  position:relative; z-index:10;
  padding:0 16px;
}
.mpv-search-wrap-b{ margin-top:-108px; }
.mpv-search-wrap-c{ margin-top:-32px; }
.mpv-search-wrap .mpv-search-pill{ margin:0; }
.mpv-search-wrap .mpv-search-card{
  margin:0;
  background:#fff;
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 32px rgba(0,0,0,.2);
  text-align:left;
}
.mpv-search-card .sc-row{
  display:flex; align-items:center; gap:12px;
  width:100%; padding:12px 0;
  border:0; background:transparent; text-align:left; color:inherit;
}
.mpv-search-card .sc-row + .sc-row{ border-top:1px solid var(--mpv-line); }
.mpv-search-card .sc-ico{ width:20px; height:20px; color:var(--mpv-faint); flex:none; }
.mpv-search-card .sc-label{ flex:1; min-width:0; }
.mpv-search-card .sc-label b{ display:block; font-size:11px; color:var(--mpv-faint); font-weight:500; text-transform:uppercase; letter-spacing:.06em; }
.mpv-search-card .sc-label span{ display:block; font-size:15px; font-weight:500; color:var(--mpv-ink); margin-top:2px; }
.mpv-search-card .sc-chev{ margin-left:auto; color:var(--mpv-faint); flex:none; }
.mpv-search-card .sc-submit{
  width:100%; margin-top:14px;
  padding:14px; border:0; border-radius:12px;
  background:var(--mpv-gold); color:#121211;
  font-family:var(--mpv-serif); font-size:17px; font-weight:600;
}

/* Trust badges in hero (A) */
.mpv-hero-badges{
  position:relative; z-index:3;
  display:flex; align-items:center; justify-content:center;
  gap:0; padding:18px 12px 14px;
  margin-top:auto;
}
.mpv-hero-badges li{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 8px;
  border-left:1px solid rgba(255,255,255,.22);
  min-height:56px;
}
.mpv-hero-badges li:first-child{ border-left:0; }
.mpv-hero-badges img{
  height:37px; width:auto; object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.5));
}
.mpv-hero-badges .hb-rating{
  font-family:var(--mpv-serif);
  font-size:22px; font-weight:600; color:#fff; line-height:1;
}
.mpv-hero-badges .hb-rating small{
  display:block; font-family:var(--mpv-sans);
  font-size:9px; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(255,255,255,.75); margin-top:4px;
}
.mpv-hero-badges .hb-laurel{
  display:flex; align-items:center; gap:6px;
}
.mpv-hero-badges .hb-laurel svg{ width:14px; height:14px; color:var(--mpv-gold-light); opacity:.85; }

/* Trust chips (B) — below search card */
.mpv-search-wrap-b .mpv-trust-chips{
  position:relative; z-index:3;
  display:flex; gap:8px; overflow-x:auto;
  padding:14px 0 4px;
  margin:0 -4px;
  scrollbar-width:none;
}
.mpv-search-wrap-b .mpv-trust-chips::-webkit-scrollbar{ display:none; }
.mpv-trust-chips span{
  flex:none;
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px;
  background:rgba(0,0,0,.38); border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  font-size:11px; font-weight:500; color:#fff; white-space:nowrap;
}
.mpv-trust-chips svg{ width:14px; height:14px; color:var(--mpv-gold-light); flex:none; }

/* Trust card (C) */
.mpv-trust-card{
  position:relative; z-index:5;
  margin:-36px 16px 0;
  background:#fff;
  border-radius:20px;
  padding:22px 18px 18px;
  box-shadow: 1px 1px 19px 5px rgba(0, 0, 0, .12);
  text-align:center;
}
.mpv-trust-card .tc-stars{ display:flex; justify-content:center; gap:3px; }
.mpv-trust-card .tc-stars svg{ width:16px; height:16px; color:var(--mpv-gold); }
.mpv-trust-card .tc-tag{
  margin-top:10px;
  font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--mpv-ink);
}
.mpv-trust-card .tc-stats{
  display:flex; align-items:stretch; justify-content:center;
  margin-top:18px; gap:0;
}
.mpv-trust-card .tc-stat{
  flex:1; padding:0 10px;
  border-left:1px solid var(--mpv-line);
}
.mpv-trust-card .tc-stat:first-child{ border-left:0; }
.mpv-trust-card .tc-stat b{
  display:block; font-family:var(--mpv-serif);
  font-size:22px; font-weight:600; color:var(--mpv-ink);
}
.mpv-trust-card .tc-stat span{ display:block; font-size:11px; color:var(--mpv-muted); margin-top:2px; }
.mpv-trust-card .tc-foot{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:18px; padding-top:16px;
  border-top:1px solid var(--mpv-line);
  text-align:left;
}
.mpv-trust-card .tc-phone{
  display:flex; align-items:center; gap:10px;
  font-size:14px; font-weight:500; color:var(--mpv-ink);
}
.mpv-trust-card .tc-phone-ico{
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--mpv-green); color:#fff;
}
.mpv-trust-card .tc-concierge{
  font-size:13px; font-weight:500; color:#8A5A30;
  display:flex; align-items:center; gap:4px;
}

/* Proof strip (A + B) */
.mpv-proof{
  background:#fff;
  padding:28px 20px 24px;
  text-align:center;
}
.mpv-proof .pf-stars{ display:flex; justify-content:center; gap:3px; margin-bottom:10px; }
.mpv-proof .pf-stars svg{ width:15px; height:15px; color:var(--mpv-gold); }
.mpv-proof .pf-tag{
  font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--mpv-ink);
}
.mpv-proof .pf-row{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:8px 16px;
  margin-top:16px;
  font-size:13px; color:var(--mpv-muted);
}
.mpv-proof .pf-item{ display:inline-flex; align-items:center; gap:6px; }
.mpv-proof .pf-item b{ font-weight:600; color:var(--mpv-ink); }
.mpv-proof .pf-sep{ width:1px; height:14px; background:var(--mpv-line); }
.mpv-proof .pf-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:100%; max-width:340px; margin-top:22px;
  padding:15px 24px; border-radius:999px;
  background:var(--mpv-gold); color:#121211;
  font-family:var(--mpv-serif); font-size:16px; font-weight:600;
  box-shadow:0 6px 20px rgba(197,160,89,.35);
}
.mpv-proof .pf-cta svg{ width:14px; height:14px; }

/* Villas */
.mpv-villas{ padding:8px 0 10px; background:#fff; }
.mpv-villas-head{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:0 16px 14px;
}
.mpv-villas-head h2{
  font-family:var(--mpv-serif);
  font-size:22px; font-weight:600; letter-spacing:-.02em;
}
.mpv-villas-head a{ font-size:13px; font-weight:500; color:#8A5A30; }

.mpv-track-wrap{ overflow-x:auto; scrollbar-width:none; padding:0 12px 8px; }
.mpv-track-wrap::-webkit-scrollbar{ display:none; }
.mpv-track{ display:flex; gap:14px; }

.mpv-card{
  flex: 0 0 calc((100% - 14px) / 2);
  width: calc((100% - 14px) / 2);
  max-width: none;
  min-width: 0;
  color: inherit;
}
.mpv-card-media{
  position:relative; border-radius:14px; overflow:hidden;
  aspect-ratio:5/3; background:#EFEFED;
}
.mpv-card-media img{ width:100%; height:100%; object-fit:cover; }

.mpv-load-screen--page{
  position:fixed; inset:0; z-index:2147483646;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(22px) saturate(1.05);
  -webkit-backdrop-filter:blur(22px) saturate(1.05);
}
body.home-v10-loading{ overflow:hidden; }
body.home-v10-loading > *:not(#homeLoadScreen){
  pointer-events:none;
}
body.home-v10-ready #homeLoadScreen{
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}
body.home-v10-ready > *:not(#homeLoadScreen){
  pointer-events:auto;
}
.mpv-load-spin{
  width:34px; height:34px;
  border:3px solid rgba(0,0,0,.08); border-top-color:#8A5A30;
  border-radius:50%; animation:mpvLoadSpin .75s linear infinite;
}
@keyframes mpvLoadSpin{ to{ transform:rotate(360deg); } }
.mpv-card-body{ padding:12px 2px 0; }
.mpv-card-body h3{
  font-family:var(--mpv-serif);
  font-size:15px; font-weight:600; letter-spacing:-.02em;
}
.mpv-card-loc{
  display:flex; align-items:center; gap:4px;
  margin-top:2px; font-size:12px; color:var(--mpv-muted);
}
.mpv-card-loc svg{ width:12px; height:12px; flex:none; }
.mpv-card-specs{
  margin-top:2px; font-size:12px; font-weight:500;
  color:var(--mpv-gold);
}
.mpv-card-price{
  margin-top:10px; padding-top:10px;
  border-top:1px solid var(--mpv-line);
  font-size:12px; color:var(--mpv-faint);
}
.mpv-card-price strong{
  font-family:var(--mpv-serif);
  font-size:16px; font-weight:600; color:var(--mpv-ink);
}
.mpv-card-link{
  display:inline-flex; align-items:center; gap:4px;
  margin-top:4px; font-size:13px; font-weight:500;
  color:var(--mpv-gold);
}
.mpv-card-link svg{ width:12px; height:12px; }

/* Variant-specific layout tweaks */
.mpv-b .mpv-hero{ min-height:480px; padding-bottom:120px; }
.mpv-b .mpv-hero-body{ padding-bottom:0; }
.mpv-b .mpv-villas-head h2{ font-size:20px; }
.mpv-b .mpv-card{
  flex: 0 0 calc((100% - 14px) / 2);
  max-width: none;
  min-width: 0;
}
.mpv-b .mpv-proof{ padding-top:20px; }

.mpv-c .mpv-hero{ min-height:440px; padding-bottom:48px; }
.mpv-c .mpv-hero-body{ padding-bottom:20px; }
.mpv-c .mpv-hero-body .mpv-title{ max-width:18ch; font-size:clamp(28px, 8vw, 36px); }
.mpv-c .mpv-hero-sub{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.78); max-width:none;
}
.mpv-c .mpv-trust-card{ margin-top:12px; }
.mpv-c .mpv-villas{ padding-top:24px; }

/* Modal — fixed to viewport, width synced to phone frame via JS */
.mpv-modal-root{
  position:fixed; z-index:900;
  top:0; bottom:0;
  left:0; width:0;
  display:flex; align-items:flex-end; justify-content:center;
  padding:12px;
  pointer-events:none;
}
.mpv-modal-root.is-open{ pointer-events:auto; }
.mpv-modal-root[hidden]{ display:none !important; }
.mpv-modal-backdrop{
  position:absolute; inset:0;
  border:0; padding:0; margin:0;
  background:rgba(8,12,10,.52);
  cursor:pointer;
}
.mpv-pop{
  position:relative; z-index:1;
  width:100%; max-width:100%;
  background:#fff; border:1px solid var(--mpv-line);
  border-radius:18px 18px 16px 16px;
  box-shadow:0 -8px 40px rgba(0,0,0,.18), 0 24px 60px -16px rgba(0,0,0,.28);
  padding:16px; color:var(--mpv-ink); text-align:left;
  max-height:min(78vh, 560px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  animation:mpvSheetUp .28s ease;
}
.mpv-pop[hidden]{ display:none !important; }
@keyframes mpvSheetUp{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:translateY(0); }
}
.mpv-pop-guests{ max-height:none; }
.mpv-modal-root.is-guests{
  align-items:flex-start;
}
.mpv-modal-root.is-guests .mpv-modal-backdrop{
  background:rgba(8,12,10,.28);
}
.mpv-modal-root.is-guests .mpv-pop-guests{
  animation:mpvDropIn .22s ease;
  border-radius:18px;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.28), 0 4px 14px rgba(0,0,0,.08);
}
@keyframes mpvDropIn{
  from{ opacity:0; transform:translateY(-8px); }
  to{ opacity:1; transform:translateY(0); }
}
.mpv-pop-guests .sb-cta{
  background:var(--mpv-gold);
  color:#141006;
  border-radius:999px;
  font-weight:600;
}

.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.cal-nav{
  width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--mpv-line); padding:0;
}
.cal-clear{ border:0; background:none; font-size:13px; color:var(--mpv-muted); padding:4px 8px; }
.cal-months-for-mobile{ display:flex; flex-direction:column; gap:18px; }
.cal-month{ width:100%; }
.cal-title{ font-size:14px; font-weight:600; margin-bottom:8px; text-align:center; }
.cal-dow{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:4px; }
.cal-dow span{ font-size:10px; text-align:center; color:var(--mpv-faint); }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:0; }
.cal-day{
  position:relative; height:40px;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:0; background:transparent;
  font-size:13px; color:var(--mpv-ink); padding:0;
}
.cal-day.empty{ visibility:hidden; }
.cal-day.past{ opacity:.32; pointer-events:none; }
.cal-day.in-range,
.cal-day.edge{ background:transparent; }
.guest-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.guest-step{ display:flex; align-items:center; gap:12px; }
.gs-btn{
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--mpv-line); background:#fff; padding:0;
  touch-action:manipulation;
}
.gs-btn:disabled{ opacity:.35; }
.gs-value{ min-width:40px; text-align:center; font-weight:600; }
.guest-note{ margin-top:12px; font-size:12px; color:var(--mpv-muted); line-height:1.5; }
.sb-cta{
  width:100%; margin-top:14px; padding:12px;
  border:0; border-radius:12px;
  background:var(--mpv-ink); color:#fff; font-weight:500;
}

body.mpv-modal-open{ overflow:hidden; }

/* ═══════════════════════════════════════════════
   Option D — Modern app (refined palette)
   ═══════════════════════════════════════════════ */
.mpv-d{
  --d-bg:#F4F1EA;
  --d-surface:#FFFFFF;
  --d-ink:#121211;
  --d-muted:#6B6560;
  --d-faint:#8A8578;
  --d-gold:#A9713F;
  --d-gold-light:#C9A84C;
  --d-gold-bg:rgba(169,113,63,.10);
  --d-green:#1F3D2B;
  --d-line:rgba(18,18,17,.09);
  --d-shadow:0 8px 28px rgba(18,18,17,.06);
}
.mpv-d .mpv-shell{ background:var(--d-bg); }
.mpv-d .mpv-devbar-nav a{ font-size:9px; padding:4px 7px; }

.mpv-d-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px 12px;
  background:var(--d-surface);
  border-bottom:1px solid var(--d-line);
  box-shadow:0 1px 0 rgba(255,255,255,.8);
}
.mpv-d-logo img{ height:42px; width:auto; display:block; }
.mpv-d-header-actions{ display:flex; align-items:center; gap:10px; }
.mpv-d-call{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--d-gold-bg);
  border:1px solid rgba(169,113,63,.22);
  color:var(--d-gold);
}
.mpv-d-menu{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--d-surface);
  border:1px solid var(--d-line);
  color:var(--d-ink); padding:0;
}
.mpv-d-menu svg{ width:18px; height:18px; }
.mpv-d-nav{ right:0; top:calc(100% + 8px); }

.mpv-d-save{
  display:flex; align-items:center; gap:12px;
  margin:14px 16px 16px;
  padding:12px 14px;
  background:var(--d-surface);
  border:1px solid var(--d-line);
  border-left:3px solid var(--d-gold-light);
  border-radius:14px;
  box-shadow:var(--d-shadow);
}
.mpv-d-save-badge{
  flex:none;
  padding:5px 10px; border-radius:999px;
  background:var(--d-green); color:#F1EDE3;
  font-size:10px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase;
}
.mpv-d-save-text{
  font-size:12.5px; font-weight:400; line-height:1.45;
  color:var(--d-muted);
}

.mpv-d-hero-card{ padding:0 16px 18px; }
.mpv-d-hero-media{
  position:relative; border-radius:18px; overflow:hidden;
  aspect-ratio:5/4; background:#E8E4DC;
  box-shadow:var(--d-shadow);
}
.mpv-d-hero-media img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; object-position:center 55%;
  opacity:0; transition:opacity 1.1s ease;
}
.mpv-d-hero-media img.is-active{ opacity:1; }
.mpv-d-hero-overlay{
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:24px 22px;
  background:linear-gradient(to top, rgba(18,18,17,.82) 0%, rgba(18,18,17,.12) 52%, transparent 100%);
}
.mpv-d-eyebrow{
  font-size:10px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--d-gold-light);
  margin-bottom:10px;
}
.mpv-d-hero-overlay h1{
  font-family:var(--mpv-serif);
  font-size:clamp(27px, 7.2vw, 34px);
  font-weight:600; line-height:1.1; color:#fff;
  letter-spacing:-.02em;
}
.mpv-d-hero-overlay h1 em{
  font-style:italic; color:var(--d-gold-light);
}

.mpv-d-trust{
  display:flex; margin:0 16px 14px;
  background:var(--d-surface); border-radius:16px;
  border:1px solid var(--d-line);
  box-shadow:var(--d-shadow);
  overflow:hidden;
}
.mpv-d-trust-item{
  flex:1; display:flex; flex-direction:column; align-items:center;
  padding:16px 8px; text-align:center;
  border-left:1px solid var(--d-line);
}
.mpv-d-trust-item:first-child{ border-left:0; }
.mpv-d-trust-item svg{ width:13px; height:13px; color:var(--d-gold); margin-bottom:7px; }
.mpv-d-trust-item b{
  font-family:var(--mpv-serif);
  font-size:18px; font-weight:600; color:var(--d-ink); line-height:1.1;
}
.mpv-d-trust-item span{
  font-size:10px; font-weight:500; letter-spacing:.04em;
  color:var(--d-faint); margin-top:4px; text-transform:uppercase;
}

.mpv-d-chips{
  display:flex; gap:8px; overflow-x:auto;
  padding:0 16px 20px; scrollbar-width:none;
}
.mpv-d-chips::-webkit-scrollbar{ display:none; }
.mpv-d-chips span{
  flex:none; padding:8px 14px; border-radius:999px;
  background:var(--d-surface); border:1px solid rgba(169,113,63,.18);
  font-size:11.5px; font-weight:500; color:var(--d-gold);
}

.mpv-d-list{ padding:0 16px 28px; }
.mpv-d-list-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:16px; gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--d-line);
}
.mpv-d-list-head h2{
  font-family:var(--mpv-serif);
  font-size:23px; font-weight:600; letter-spacing:-.02em;
  color:var(--d-ink);
}
.mpv-d-list-head p{ font-size:11px; color:var(--d-faint); white-space:nowrap; }

.mpv-d-villa{
  display:flex; gap:14px;
  padding:12px; margin-bottom:12px;
  background:var(--d-surface); border-radius:16px;
  border:1px solid var(--d-line);
  box-shadow:0 2px 10px rgba(18,18,17,.04);
  color:inherit;
}
.mpv-d-villa-img{
  position:relative; flex:none;
  width:112px; height:112px;
  border-radius:12px; overflow:hidden;
  background:#ECE8E1;
}
.mpv-d-villa-img img{ width:100%; height:100%; object-fit:cover; }
.mpv-d-villa-rating{
  position:absolute; top:8px; left:8px;
  display:inline-flex; align-items:center; gap:3px;
  padding:4px 8px; border-radius:999px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--d-line);
  font-size:11px; font-weight:600; color:var(--d-ink);
}
.mpv-d-villa-rating svg{ width:10px; height:10px; color:var(--d-gold); }
.mpv-d-villa-body{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.mpv-d-villa-body h3{
  font-family:var(--mpv-serif);
  font-size:17px; font-weight:600; letter-spacing:-.02em;
  color:var(--d-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mpv-d-villa-meta{ margin-top:5px; font-size:12px; color:var(--d-muted); }
.mpv-d-villa-price{
  margin-top:auto; padding-top:10px;
  font-size:12px; color:var(--d-faint);
}
.mpv-d-villa-price strong{
  font-family:var(--mpv-serif);
  font-size:19px; font-weight:600; color:var(--d-gold);
}

.mpv-d-viewall{
  display:flex; align-items:center; justify-content:center;
  margin-top:4px; padding:14px 20px;
  border-radius:999px;
  background:var(--d-green); color:#F1EDE3;
  font-size:14px; font-weight:500; letter-spacing:.01em;
}

.mpv-d-perks{
  margin:0 16px 20px;
  padding:20px 18px;
  background:var(--d-surface);
  border-radius:18px;
  border:1px solid var(--d-line);
  box-shadow:var(--d-shadow);
}
.mpv-d-perks h2{
  font-family:var(--mpv-serif);
  font-size:20px; font-weight:600; margin-bottom:16px;
  color:var(--d-ink);
}
.mpv-d-perk-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.mpv-d-perk{
  padding:14px 12px; border-radius:14px;
  background:var(--d-bg);
  border:1px solid var(--d-line);
}
.mpv-d-perk-ico{
  display:flex; width:32px; height:32px;
  align-items:center; justify-content:center;
  border-radius:10px;
  background:var(--d-gold-bg);
  border:1px solid rgba(169,113,63,.15);
  margin-bottom:10px;
}
.mpv-d-perk-ico svg{ width:16px; height:16px; color:var(--d-gold); }
.mpv-d-perk b{ display:block; font-size:13px; font-weight:600; color:var(--d-ink); }
.mpv-d-perk p{ margin-top:4px; font-size:11px; color:var(--d-muted); line-height:1.45; }

.mpv-d-spacer{ height:88px; }

.mpv-d-dock{
  position:fixed; bottom:0; z-index:800;
  left:0; width:100%;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(to top, var(--d-bg) 55%, transparent);
  pointer-events:none;
}
.mpv-d-dock-card{
  pointer-events:auto;
  display:flex; align-items:stretch; gap:8px;
  padding:6px 6px 6px 0;
  background:var(--d-surface);
  border:1px solid var(--d-line);
  border-radius:16px;
  box-shadow:0 10px 40px rgba(18,18,17,.12), 0 2px 8px rgba(18,18,17,.06);
}
.mpv-d-dock-grid{
  flex:1; min-width:0;
  display:grid; grid-template-columns:1fr 1fr .9fr;
}
.mpv-d-dock-cell{
  display:flex; flex-direction:column; justify-content:center;
  min-width:0; padding:10px 12px;
  border:0; background:transparent; text-align:left; color:inherit;
  border-radius:12px;
  transition:background .15s ease;
}
.mpv-d-dock-cell:active{ background:var(--d-gold-bg); }
.mpv-d-dock-cell[aria-expanded="true"]{
  background:var(--d-gold-bg);
}
.mpv-d-dock-cell + .mpv-d-dock-cell{
  border-left:1px solid var(--d-line);
}
.mpv-d-dock-lbl{
  font-size:10px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--d-faint); line-height:1.2;
}
.mpv-d-dock-val{
  display:block; margin-top:4px;
  font-size:13px; font-weight:600; line-height:1.2;
  color:var(--d-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mpv-d-dock-val.is-empty{
  color:var(--d-muted); font-weight:500;
}
.mpv-d-dock-go{
  flex:none; align-self:center;
  width:48px; height:48px; margin-right:2px;
  border:0; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  background:var(--d-gold); color:#fff;
  box-shadow:0 4px 14px rgba(169,113,63,.35);
}
.mpv-d-dock-go svg{ width:20px; height:20px; }

@media (min-width:861px){
  body.mpv{ padding:24px 16px; }
  .mpv-shell{
    border-radius:24px;
    overflow:hidden;
    min-height:calc(100vh - 48px);
    /* tall enough for bottom-sheet modals on desktop preview */
    min-height:680px;
  }
}

.villa-trust-section {
  width: 100%;
  max-width: 1380px;
  margin-top: 14px;
  padding: 0 30px 35px;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

.villa-rating-title {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 75px;
  margin-bottom: 32px;
  flex-wrap: nowrap;
  white-space: nowrap;
  box-sizing: border-box;
}

.villa-stars {
  flex: 0 0 auto;
  color: #a47a45;
  font-size: 25px;
  letter-spacing: 5px;
  line-height: 1;
  white-space: nowrap;
}

.villa-top-title {
  flex: 0 0 auto;
  color: #171717;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}

.villa-reviews-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
  margin-bottom: 42px;
  width: 100%;
  box-sizing: border-box;
}

.villa-review-item {
  display: flex;
  align-items: center;
  gap: 17px;
  flex: 0 0 auto;
}

a.villa-review-item,
a.villa-total-reviews {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.villa-review-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.villa-rating-number {
  color: #987144;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 400;
}

.villa-rating-label {
  color: #555;
  font-size: 15px;
  line-height: 1.35;
  margin-top: 2px;
}

.villa-google-icon {
  width: 39px;
  height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;

  font-family: Arial, sans-serif;
  font-size: 30px;
  font-weight: 600;

  background:
    conic-gradient(
      from 45deg,
      #4285f4 0deg 90deg,
      #34a853 90deg 180deg,
      #fbbc05 180deg 270deg,
      #ea4335 270deg 360deg
    );

  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.villa-review-divider {
  width: 1px;
  height: 46px;
  background: #d6d6d6;
  flex: 0 0 1px;
}

.villa-airbnb-icon {
  width: 39px;
  height: 45px;
  color: #a47a45;

  display: flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 auto;
}

.villa-airbnb-icon svg {
  width: 35px;
  height: 43px;
  display: block;
}

.villa-review-bullet {
  color: #9b7548;
  font-size: 22px;
  line-height: 1;
  margin-left: 3px;
  flex: 0 0 auto;
}

.villa-total-reviews {
  color: #987144;
  font-size: 17px;
  white-space: nowrap;
  flex: 0 0 auto;
}

.villa-total-reviews span {
  font-size: 22px;
}

.villa-collection-banner {
  position: relative;

  display: flex;
  align-items: center;

  width: 100%;
  min-height: 165px;

  overflow: hidden;

  border-radius: 13px;
  border: 1.5px solid #a77b3f;

  box-sizing: border-box;

  text-decoration: none;

  background-image: url('/front/media/v10/img/villas/paradiso.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  isolation: isolate;
}

.villa-banner-overlay {
  position: absolute;
  inset: 0;

  z-index: -1;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.91) 0%,
      rgba(0, 0, 0, 0.78) 34%,
      rgba(0, 0, 0, 0.40) 70%,
      rgba(0, 0, 0, 0.45) 100%
    );
}

.villa-banner-content {
  position: relative;
  z-index: 2;

  padding: 27px 76px;
}

.villa-handpicked {
  color: #d7a442;

  font-size: 13px;
  font-weight: 500;

  letter-spacing: 2px;
  text-transform: uppercase;

  margin-bottom: 14px;
}

.villa-banner-title {
  color: #fff;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 34px;
  font-weight: 400;

  line-height: 1.15;
}

.villa-arrow {
  position: absolute;

  z-index: 3;

  right: 28px;
  top: 50%;

  transform: translateY(-50%);

  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #dba43c;

  border-radius: 50%;

  color: #111;

  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.villa-arrow svg {
  width: 27px;
  height: 27px;
}

.villa-collection-banner:hover .villa-arrow {
  transform: translateY(-50%) translateX(3px);
  background: #e5b04b;
}

@media (max-width: 900px) {

  .villa-trust-section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .villa-rating-title {
    flex-direction: row;
    gap: 35px;
    flex-wrap: nowrap;
  }

  .villa-top-title {
    font-size: 15px;
    letter-spacing: 2px;
  }

  .villa-stars {
    font-size: 22px;
    letter-spacing: 3px;
  }

  .villa-reviews-row {
    gap: 22px;
  }

  .villa-banner-content {
    padding-left: 45px;
  }

  .villa-banner-title {
    font-size: 30px;
  }
}


@media (max-width: 650px) {

  .villa-trust-section {
    padding: 0 20px 0px 20px;
  }

  .villa-rating-title {
    display: flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;

    gap: clamp(8px, 3vw, 18px);

    width: 100%;

    flex-wrap: nowrap !important;

    white-space: nowrap;

    margin-bottom: 14px;
  }

  .villa-stars {
    flex: 0 0 auto;

    font-size: clamp(10px, 3.2vw, 18px);
    letter-spacing: clamp(2px, 0.8vw, 3px);

    white-space: nowrap;
  }

  .villa-top-title {
    flex: 0 0 auto;

    font-size: clamp(10px, 2.8vw, 13px);
    letter-spacing: clamp(1px, 0.45vw, 1.8px);
    font-weight: 550;
    text-align: left;

    white-space: nowrap;
  }

  .villa-reviews-row {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    width: 100%;

    margin-bottom: 18px;

    flex-wrap: nowrap;
  }

  .villa-review-item {
    gap: 8px;
    flex: 0 0 auto;
  }

  .villa-google-icon {
    width: 29px;
    height: 29px;
    font-size: 23px;
  }

  .villa-airbnb-icon {
    width: 29px;
    height: 35px;
  }

  .villa-airbnb-icon svg {
    width: 22px;
    height: 34px;
  }

  .villa-rating-number {
    font-size: 14px;
  }

  .villa-rating-label {
    font-size: 11px;
  }

  .villa-review-divider {
    height: 35px;
  }

  .villa-review-bullet {
    font-size: 17px;
  }

  .villa-total-reviews {
    font-size: 11px;
  }

  .villa-total-reviews span {
    font-size: 16px;
  }


  .villa-collection-banner {
    min-height: 75px;
    border-radius: 10px;
  }

  .villa-banner-content {
    padding: 4px 62px 4px 24px;
  }

  .villa-handpicked {
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-bottom: 6px;
  }

  .villa-banner-title {
    font-size: 19px;
    line-height: 1.15;
  }

  .villa-arrow {
    width: 34px;
    height: 34px;
    right: 15px;
  }

  .villa-arrow svg {
    width: 22px;
    height: 22px;
  }
}


@media (max-width: 400px) {

  .villa-rating-title {
    flex-direction: row !important;

    gap: 6px;

    flex-wrap: nowrap !important;

    margin-bottom: 22px;
  }

  .villa-stars {
    font-size: 16px;
    letter-spacing: 2px;
  }

  .villa-top-title {
    font-size: 9px;
    letter-spacing: 1px;
  }


  .villa-reviews-row {
    gap: 7px;
  }

  .villa-review-item {
    gap: 5px;
  }

  .villa-rating-number {
    font-size: 15px;
  }

  .villa-rating-label {
    font-size: 10px;
  }

  .villa-review-divider {
    height: 30px;
  }

  .villa-review-bullet {
    font-size: 15px;
  }

  .villa-total-reviews {
    font-size: 10px;
  }

  .villa-total-reviews span {
    font-size: 15px;
  }


  .villa-banner-content {
    padding-left: 18px;
  }

  .villa-banner-title {
    font-size: 22px;
  }

  .villa-handpicked {
    font-size: 9px;
  }

  .villa-arrow {
    width: 39px;
    height: 39px;
    right: 11px;
  }

  .villa-arrow svg {
    width: 20px;
    height: 20px;
  }
}


@media (max-width: 350px) {

  .villa-rating-title {
    gap: 5px;
  }

  .villa-stars {
    font-size: 14px;
    letter-spacing: 1px;
  }

  .villa-top-title {
    font-size: 8px;
    letter-spacing: 0.8px;
  }
}
.mpv-search-pill .sb-text i:empty{ display:none; }

/* Villa-page range: black circles + continuous cream band (no gaps).
   @author Cursor */
.mpv-pop .cal-grid{ gap:0; }
.mpv-pop .cal-day{
  position:relative;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:0 !important;
  background:transparent !important;
}
.mpv-pop .cal-day span{
  position:relative;
  z-index:2;
  width:28px;
  height:28px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}
.mpv-pop .cal-day.in-range::before,
.mpv-pop .cal-day.edge.start:not(.only)::before,
.mpv-pop .cal-day.edge.end:not(.only)::before{
  content:'';
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:28px;
  margin-top:-14px;
  background:#F2F0EC;
  border-radius:0 !important;
  z-index:0;
}
.mpv-pop .cal-day.edge.start:not(.only)::before{ left:50%; }
.mpv-pop .cal-day.edge.end:not(.only)::before{ right:50%; }
.mpv-pop .cal-day.edge span{
  background:#0B0B09;
  color:#fff;
  font-weight:600;
}

.phone-fab {
  width: 58px;
  height: 58px;
  color: #ffffff;
  bottom: 21px;
}
@media (max-width: 767px) {
  .mpv-promo {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 40px !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    
    box-shadow: none !important; 
  }

  .mpv-promo.is-scrolled {
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  }

  .mpv-hero-top {
    position: fixed !important;
    top: 40px !important; 
    left: 0 !important;
    width: 100% !important;
    z-index: 99998 !important;
    padding: 12px 15px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    transition: background-color .3s ease !important;
  }

  .mpv-hero-top.is-scrolled {
    background: rgb(87 84 84 / 90%) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.4) !important;
  }

  .mpv-hero {
    padding-top: 90px !important; 
  }

  .mpv-shell {
    overflow: visible !important;
  }
}

/* date picker = one scrolling list of months (Airbnb): arrows hidden, "Clear dates" stays pinned */
.mpv-pop-cal .cal-head{ position:sticky; top:-16px; z-index:5; background:#fff; padding:6px 0; margin:-6px 0 2px; }
.mpv-pop-cal .cal-nav{ visibility:hidden; }

/* 9 Oct: villa photos at their real 3:2 (they were cropped to 5:3, so they looked wide) */
.mpv-card-media{ aspect-ratio:3/2; }
/* 9 Oct: the hero video runs down behind the ratings row and ends ~60% down the first villa photos.
   Its height comes from the small script under the villa row (--mpv-video-h on .mpv-hero). */
.mpv-shell .mpv-hero{ overflow:visible; }
.mpv-shell .mpv-hero-media{ bottom:auto; height:var(--mpv-video-h, 100%); overflow:hidden; }
.mpv-shell .villa-trust-section, .mpv-shell .mpv-villas{ position:relative; z-index:2; background:transparent; }
.mpv-shell .villa-trust-section .villa-top-title,
.mpv-shell .villa-trust-section .villa-rating-number,
.mpv-shell .villa-trust-section .villa-rating-label,
.mpv-shell .villa-trust-section .villa-total-reviews,
.mpv-shell .villa-trust-section .villa-total-reviews span{ color:#fff !important; }
.mpv-shell .villa-trust-section .villa-review-divider{ background:rgba(255,255,255,.35) !important; }

/* 10 Oct: "Explore all villas" = a compact gold pill like the desktop one (it was a 300×51 slab with 18px text) */
.mpv-shell .villa-trust-section .mpv-cta{
  display:flex; align-items:center; justify-content:center; gap:8px; width:fit-content;
  height:44px; margin:34px auto 6px; padding:0 24px; border-radius:999px;
  font-size:15px; font-weight:500; letter-spacing:.01em; line-height:1;
  background:#C9A84C; color:#141006; box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.mpv-shell .villa-trust-section .mpv-cta svg{ width:14px; height:14px; flex:none; }
.mpv-shell .villa-trust-section .villa-reviews-row{ margin-bottom:0; }
/* 10 Oct: the video ends 16px above that button (script under the villa row) and darkens towards its bottom edge,
   so "Top 1%" and the ratings read clearly on top of it */
.mpv-shell .mpv-hero-media::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:60%; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(8,16,12,0) 0%, rgba(8,16,12,.55) 45%, rgba(8,16,12,.88) 100%);
}

/* 11 Oct: phone homepage villa cards like the villa list — place + rooms as quiet text on the photo, "Explore villa"
   is a gold button under the name */
.mpv-card-media::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:58%; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.55));
}
.mpv-card-over{ position:absolute; left:10px; right:8px; bottom:8px; z-index:2; text-shadow:0 1px 3px rgba(0,0,0,.5); }
.mpv-card-over .mpv-card-loc{ margin:0; font-size:12px; font-weight:500; color:#fff !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mpv-card-over .mpv-card-loc svg{ color:#fff; }
.mpv-card-over .mpv-card-specs{ margin:1px 0 0; font-size:11.5px; font-weight:400; color:rgba(255,255,255,.88) !important; white-space:nowrap; }
.mpv-card-btn{
  display:flex; align-items:center; justify-content:center; gap:6px;
  height:36px; margin-top:8px; border-radius:999px;
  background:#C9A84C; color:#141006; font-size:13px; font-weight:500;
}
.mpv-card-btn svg{ width:12px; height:12px; flex:none; }
