/* ===== Base ===== */
:root{
  --bg:#F4F1EC;
  --fg:#2A2A2A;
  --muted:#5A5A5A;
  --brand:#2E7D6B;
  --card:#FFFFFF;
  --stroke:#E2DED8;
  --accent:#2E7D6B;
  --accent-soft:#D9E7E2;
  --shadow:0 10px 30px rgba(42,42,42,0.08);
  --btn-primary-start:#0D1F4D;
  --btn-primary-end:#1E4FAE;
  --btn-primary-border:#2A63CC;
  --btn-secondary-bg:#EAF0FF;
  --btn-secondary-border:#C7D8FF;
  --btn-secondary-fg:#10203F;
  --btn-neon:rgba(86,166,255,0.42);
  --btn-shadow:rgba(11,28,66,0.38);
  --header-height:108px;
  --header-height-mobile:108px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:'Source Sans 3',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}
body{
  background-image:radial-gradient(circle at 20% 20%, #FDFCF9 0%, transparent 55%),
                   radial-gradient(circle at 80% 10%, #F8F3EC 0%, transparent 50%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1320px;margin:0 auto;padding:0 20px}
.section{padding:60px 0}
#que-es-areas,
#tipos-unidades,
#como-funciona,
#perfil-usuario,
#beneficios-areas,
#diferenciales{scroll-margin-top:calc(var(--header-height) + 22px)}
.floating-section-nav{display:none}

/* ===== Header / Nav ===== */
header{position:sticky;top:0;z-index:10;background:rgba(244,241,236,0.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--stroke)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{height:78px}
.brand-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  font-family:'Orbitron',sans-serif;
  letter-spacing:.2px;
  color:#13294f;
  line-height:1;
  white-space:nowrap;
}
.brand-title-main{
  font-size:25px;
  font-weight:700;
}
.brand-title-sub{
  margin-top:3px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:none;
  color:rgba(19,41,79,0.72);
}
.menu{display:flex;gap:18px;align-items:center}
.menu a{font-size:14px;color:var(--muted)}
.menu .menu-admin{
  cursor:pointer;
  font-family:inherit;
  color:#10203F;
  background:var(--btn-secondary-bg);
  border:1px solid var(--btn-secondary-border);
  padding:6px 10px;
  border-radius:999px;
  font-weight:600;
  transition:box-shadow .2s ease, transform .12s ease, background-color .2s ease;
}
.menu .menu-admin:hover{background:#DEE8FF;box-shadow:0 0 14px rgba(86,166,255,0.26);transform:translateY(-1px)}
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,20,44,0.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:95;
}
.hamburger{
  display:none;
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid var(--btn-secondary-border);
  background:#F3F7FF;
  color:#10203F;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-direction:column;
  cursor:pointer;
}
.hamburger span{
  width:18px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .18s ease, opacity .18s ease;
}
body.menu-open .menu-overlay{
  opacity:1;
  pointer-events:auto;
}
body.menu-open{
  overflow:hidden;
}
body.menu-open .hamburger span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
body.menu-open .hamburger span:nth-child(2){
  opacity:0;
}
body.menu-open .hamburger span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

/* Dropdown Menu */
.nav-dropdown{
  position:relative;
  display:inline-block;
}
.dropdown-toggle{
  font-size:14px;
  color:var(--muted);
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
}
.dropdown-toggle:hover{
  color:var(--fg);
}
.dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  margin-top:8px;
  background:#FFFFFF;
  border:1px solid var(--stroke);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(42,42,42,0.12);
  min-width:240px;
  padding:8px 0;
  z-index:100;
}
.nav-dropdown:hover .dropdown-menu{
  display:block;
}
.dropdown-menu a{
  display:block;
  padding:10px 16px;
  color:var(--fg);
  font-size:14px;
  transition:background-color .15s ease, color .15s ease;
}
.dropdown-menu a:hover{
  background:var(--accent-soft);
  color:var(--brand);
}
.dropdown-menu a.active{
  background:rgba(46,125,107,0.1);
  color:var(--brand);
  font-weight:600;
}

@media (min-width:1180px){
  .floating-section-nav{
    position:fixed;
    top:calc(var(--header-height) + 28px);
    right:24px;
    z-index:9;
    width:232px;
    display:grid;
    gap:6px;
    padding:14px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,0.44);
    background:linear-gradient(180deg,rgba(255,255,255,0.52),rgba(240,235,228,0.34));
    -webkit-backdrop-filter:blur(16px) saturate(1.15);
    backdrop-filter:blur(16px) saturate(1.15);
    box-shadow:0 18px 44px rgba(18,31,55,0.14), inset 0 1px 0 rgba(255,255,255,0.46);
  }
  .floating-section-nav__eyebrow{
    margin:0 0 4px;
    font-family:'Orbitron',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(16,32,63,0.65);
  }
  .floating-section-nav a{
    display:grid;
    grid-template-columns:32px 1fr;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:8px 10px;
    border-radius:12px;
    color:rgba(16,32,63,0.84);
    font-family:'Orbitron',sans-serif;
    font-size:13px;
    font-weight:600;
    line-height:1.15;
    transition:background-color .18s ease, transform .14s ease, color .18s ease, box-shadow .18s ease;
  }
  .floating-section-nav a strong{
    font-weight:600;
  }
  .floating-section-nav a span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:999px;
    border:1px solid rgba(199,216,255,0.76);
    background:rgba(255,255,255,0.42);
    color:rgba(16,32,63,0.72);
    font-size:10px;
    letter-spacing:.08em;
  }
  .floating-section-nav a:hover{
    background:rgba(255,255,255,0.44);
    transform:translateX(-2px);
  }
  .floating-section-nav a.is-active{
    color:#0D1F4D;
    background:linear-gradient(135deg,rgba(234,240,255,0.92),rgba(255,255,255,0.58));
    box-shadow:inset 0 0 0 1px rgba(199,216,255,0.82),0 10px 24px rgba(18,31,55,0.08);
  }
  .floating-section-nav a.is-active span{
    border-color:rgba(42,99,204,0.42);
    background:linear-gradient(135deg,rgba(13,31,77,0.92),rgba(30,79,174,0.92));
    color:#fff;
  }
}

/* ===== Typography ===== */
h1,h2,h3,h4,h5{font-family:'Orbitron','Space Grotesk',sans-serif;letter-spacing:.2px;margin:8px 0}
h1{font-size:36px}
h2{font-size:26px}
h3{font-size:20px}
.lead{opacity:.92;max-width:70ch}
.mini{font-size:13px;color:var(--muted)}
.tag{display:inline-block;padding:6px 12px;border:1px solid var(--stroke);border-radius:999px;font-size:12px;color:var(--muted);margin-bottom:12px;background:#FFFFFF}

/* ===== Buttons / Chips ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  background:linear-gradient(110deg,var(--btn-primary-start),var(--btn-primary-end));
  border:1px solid var(--btn-primary-border);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .2s ease, filter .2s ease;
  box-shadow:0 8px 20px rgba(8,20,48,0.28);
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(143,194,255,0.45),0 0 18px var(--btn-neon),0 14px 28px var(--btn-shadow);
  filter:saturate(1.05);
}
.btn.ghost{background:transparent;border:1px solid var(--stroke);color:var(--fg);box-shadow:none}
.btn.small{padding:6px 10px;font-size:12px}
.whatsapp{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--stroke);background:var(--accent-soft)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 10px;border-radius:999px;border:1px solid var(--stroke);background:#fff;color:var(--fg);cursor:pointer}
.chip[aria-pressed="true"]{outline:2px solid var(--accent);background:var(--accent-soft)}
.chip.is-disabled,
.chip:disabled{
  cursor:not-allowed;
  background:#F3F3F3;
  border-color:#D8D8D8;
  color:#5F5F5F;
  outline:none;
}
.amenity-groups{display:flex;flex-wrap:wrap;gap:10px}
.amenity-group{display:flex;flex-direction:column;gap:6px}
.amenity-subchips{display:flex;gap:6px;padding-left:8px;flex-wrap:wrap}
.amenity-subchips[hidden]{display:none}
.chip-sub{padding:4px 9px;font-size:12px;background:#F8F5F0}

/* ===== Grids ===== */
.que-hacemos-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.search-grid .field.full{grid-column:1 / -1}
.field input,.field select{padding:10px 12px;border-radius:10px;border:1px solid var(--stroke);background:#fff;color:var(--fg)}
.field input[type="range"]{
  padding:0;
  border:none;
  background:transparent;
}
.area-range{display:flex;flex-direction:column;gap:8px}
.area-range-values{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.area-range-values strong{color:var(--fg)}
.area-range-sliders,
.budget-range-sliders{
  --range-start:0%;
  --range-end:100%;
  position:relative;
  height:32px;
  cursor:pointer;
}
.area-thumb-label,
.budget-thumb-label{
  position:absolute;
  top:-30px;
  left:0;
  transform:translateX(-50%);
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(42,99,204,0.45);
  background:#0D1F4D;
  color:#EAF2FF;
  font-size:11px;
  font-weight:600;
  line-height:1.1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  z-index:4;
}
.area-range-sliders.is-dragging .area-thumb-label,
.budget-range-sliders.is-dragging .budget-thumb-label{
  opacity:1;
}
.area-range-sliders::before,
.area-range-sliders::after,
.budget-range-sliders::before,
.budget-range-sliders::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:13px;
  height:6px;
  border-radius:999px;
  pointer-events:none;
}
.area-range-sliders::before,
.budget-range-sliders::before{
  background:#D7DEEE;
}
.area-range-sliders::after,
.budget-range-sliders::after{
  left:var(--range-start);
  right:calc(100% - var(--range-end));
  background:linear-gradient(110deg,#0D1F4D,#1E4FAE);
  box-shadow:0 0 8px rgba(86,166,255,0.35);
}
.area-range-sliders input[type="range"],
.budget-range-sliders input[type="range"]{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:32px;
  margin:0;
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
  z-index:2;
}
.area-range-sliders input[type="range"]::-webkit-slider-runnable-track,
.budget-range-sliders input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  border-radius:999px;
  background:transparent;
}
.area-range-sliders input[type="range"]::-moz-range-track,
.budget-range-sliders input[type="range"]::-moz-range-track{
  height:6px;
  border-radius:999px;
  background:transparent;
}
.area-range-sliders input[type="range"]::-webkit-slider-thumb,
.budget-range-sliders input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  pointer-events:auto;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid #2A63CC;
  background:linear-gradient(110deg,#0D1F4D,#1E4FAE);
  box-shadow:0 0 0 1px rgba(143,194,255,0.35),0 0 10px rgba(86,166,255,0.25);
  margin-top:-6px;
  cursor:pointer;
}
.area-range-sliders input[type="range"]::-moz-range-thumb,
.budget-range-sliders input[type="range"]::-moz-range-thumb{
  pointer-events:auto;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid #2A63CC;
  background:linear-gradient(110deg,#0D1F4D,#1E4FAE);
  box-shadow:0 0 0 1px rgba(143,194,255,0.35),0 0 10px rgba(86,166,255,0.25);
  cursor:pointer;
}
.actions{display:flex;align-items:end}
.ring{border:1px solid var(--stroke);border-radius:14px;padding:14px;background:#fff;box-shadow:var(--shadow)}
.search-groups{display:flex;flex-direction:column;gap:14px}
.search-group{border:1px solid var(--stroke);border-radius:12px;padding:14px;background:#FCFAF6}
.search-group-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px}
.search-group-head h3{margin:0;font-size:18px}
.search-group-head .mini{margin:0}
.search-collapsible .search-group-head{align-items:flex-start;margin-bottom:0}
.search-group-body{margin-top:12px}
.search-group-body[hidden]{display:none}
.search-section-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--stroke);
  border-radius:999px;
  background:#fff;
  color:var(--fg);
  font:inherit;
  font-weight:600;
  font-size:13px;
  padding:6px 10px;
  cursor:pointer;
}
.search-section-toggle-label{line-height:1}
.search-section-toggle-icon{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .15s ease;
}
.search-section-toggle[aria-expanded="true"] .search-section-toggle-icon{
  transform:rotate(-135deg);
}
.search-actions{display:flex;align-items:flex-end;justify-content:flex-start;gap:10px;flex-wrap:wrap}

#areas-booking{padding:60px 40px;border-radius:24px;background:#FAF8F4;border:1px solid var(--stroke)}

.filters-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,20,44,0.4);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:50;
}
body.filters-open{overflow:hidden}
body.filters-open .filters-overlay{
  opacity:1;
  pointer-events:auto;
}
.filters-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(460px,94vw);
  height:100vh;
  padding:16px;
  transform:translateX(105%);
  transition:transform .24s ease;
  z-index:60;
}
body.filters-open .filters-drawer{
  transform:translateX(0);
}
.filters-drawer-panel{
  height:100%;
  overflow:auto;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.filters-drawer .search-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.filters-drawer .search-grid .field.full{
  grid-column:1 / -1;
}
.filters-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.filters-drawer-head h3{margin:0}
.realtime-hint{
  border:1px solid #BFD2FF;
  background:linear-gradient(120deg,#EFF5FF,#E5EFFF);
  color:#0F2856;
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.35;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}
.realtime-hint strong{
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  letter-spacing:.15px;
}
.filters-drawer-close{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  padding:0;
}
.filters-toolbar{
  position:sticky;
  top:calc(var(--header-height) + 10px);
  z-index:7;
  margin:10px 0 14px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:14px 16px;
  border-color:#CFDAF3;
  background:
    linear-gradient(130deg, rgba(255,255,255,0.98) 0%, rgba(242,247,255,0.95) 52%, rgba(235,242,255,0.98) 100%);
  box-shadow:
    0 10px 24px rgba(11,28,66,0.12),
    inset 0 1px 0 rgba(255,255,255,0.9);
}
body.modal-open .filters-toolbar{
  opacity:0;
  pointer-events:none;
  visibility:hidden;
}
body.modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
html.modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.modal-open .filters-overlay,
body.modal-open .filters-drawer{
  opacity:0 !important;
  pointer-events:none !important;
  visibility:hidden !important;
  transform:translateX(105%) !important;
}
.filters-toolbar-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.filters-toolbar-main-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.filters-summary-toggle{
  white-space:nowrap;
  border-color:#B8C9EA;
  color:#1A335F;
  background:#F6F9FF;
}
.filters-toolbar.is-expanded .filters-summary-toggle{
  border-color:#8FB2F1;
  background:#EAF1FF;
}
.filters-summary-toggle:hover{
  border-color:#8FB2F1;
  background:#EAF1FF;
}
.filters-toolbar-details{
  margin-top:-2px;
  padding-top:10px;
  border-top:1px solid rgba(120,146,198,0.25);
}
.filters-toolbar-active{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.filters-result-count{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  color:#0E2450;
  background:#E8F0FF;
  border:1px solid #BFD2FF;
  border-radius:999px;
  padding:6px 12px;
  letter-spacing:.1px;
}
.filters-result-count::before{
  content:"Disponibles";
  font-family:'Source Sans 3',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.35px;
  text-transform:uppercase;
  color:#4D668F;
}
.active-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
  flex:1;
  min-height:34px;
}
.active-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid #BFD2FF;
  background:linear-gradient(120deg,#F7FAFF,#EAF1FF);
  color:#0E2450;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.active-filter-chip:hover{
  transform:translateY(-1px);
  border-color:#8EB3FF;
  background:#E2ECFF;
  box-shadow:0 0 0 1px rgba(144,181,255,0.3), 0 8px 16px rgba(13,31,77,0.14);
}
.active-filter-chip .remove-icon{
  font-size:12px;
  font-weight:700;
  width:16px;
  height:16px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(16,32,63,0.1);
}
.active-filters-empty{
  display:inline-flex;
  align-items:center;
  padding:7px 0;
  color:var(--muted);
  font-size:12px;
  font-style:italic;
}
.filters-open-btn{
  white-space:nowrap;
  border-color:#355FAF;
  background:linear-gradient(110deg,#0D1F4D,#1E4FAE);
  color:#fff;
  box-shadow:0 0 0 1px rgba(143,194,255,0.3), 0 10px 18px rgba(8,20,48,0.3);
}
.filters-open-btn:hover{
  background:linear-gradient(110deg,#11285F,#245BC2);
  border-color:#3D72D2;
}
.filters-clear-all{
  white-space:nowrap;
  border-color:#B8C9EA;
  color:#1A335F;
  background:#F6F9FF;
}
.filters-clear-all:hover{
  border-color:#8FB2F1;
  background:#EAF1FF;
}

.amenities-bar{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.amenities-bar.search-collapsible{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:14px;
  background:#FCFAF6;
}
.results-layout{margin-top:10px;display:grid;grid-template-columns:1fr;gap:22px;align-items:start}

.hero-actions{display:flex;gap:10px;margin:12px 0 8px}

/* ===== Hero Search Widget ===== */
.hero-search-widget{
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 4px 20px rgba(0,0,0,0.08);
  border:1px solid rgba(0,0,0,0.06);
  margin:24px 0 20px;
}
.hero-search-widget form{
  display:grid;
  grid-template-columns:repeat(4, 1fr) auto;
  gap:12px;
  align-items:end;
}
.hero-search-widget .search-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hero-search-widget .search-field label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:500;
  color:#333;
}
.hero-search-widget .search-icon{
  font-size:16px;
}
.hero-search-widget .search-label{
  font-size:13px;
}
.hero-search-widget select,
.hero-search-widget input{
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:8px;
  font-size:14px;
  font-family:inherit;
  background:#fff;
  transition:border-color 0.2s;
  min-width:0;
}
.hero-search-widget select:focus,
.hero-search-widget input:focus{
  outline:none;
  border-color:#7ED4AD;
}
.hero-search-widget .number-input-wrapper{
  display:flex;
  align-items:center;
  gap:4px;
  background:#fff;
  border:1px solid #ddd;
  border-radius:8px;
  padding:4px;
  transition:border-color 0.2s;
}
.hero-search-widget .number-input-wrapper:focus-within{
  border-color:#7ED4AD;
}
.hero-search-widget .number-input-wrapper input[type="number"]{
  flex:1;
  border:none;
  padding:6px 8px;
  text-align:center;
  font-weight:500;
  min-width:0;
  background:transparent;
}
.hero-search-widget .number-input-wrapper input[type="number"]:focus{
  border:none;
  outline:none;
}
.hero-search-widget .number-input-wrapper input[type="number"]::-webkit-inner-spin-button,
.hero-search-widget .number-input-wrapper input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.hero-search-widget .number-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid #ddd;
  border-radius:6px;
  background:#fff;
  cursor:pointer;
  transition:all 0.2s;
  color:#333;
  padding:0;
}
.hero-search-widget .number-btn:hover{
  background:#f5f5f5;
  border-color:#7ED4AD;
}
.hero-search-widget .number-btn:active{
  background:#e8e8e8;
  transform:scale(0.95);
}
.hero-search-widget .number-btn:disabled{
  opacity:0.4;
  cursor:not-allowed;
}
.hero-search-widget .number-btn:disabled:hover{
  background:#fff;
  border-color:#ddd;
  transform:none;
}
.hero-search-widget .search-submit{
  padding:10px 24px;
  border-radius:8px;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px;
  height:fit-content;
}
.hero-search-widget .search-submit .search-icon{
  font-size:18px;
}

/* ===== Trust Band ===== */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trust-item{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px;box-shadow:var(--shadow)}

/* ===== Steps ===== */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step-card{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px}

/* ===== Results ===== */
.results-list{display:flex;flex-direction:column;gap:16px;min-height:20px}
.result-item{grid-column:1/-1;border:1px solid var(--stroke);border-radius:12px;padding:12px;background:var(--card)}
.result-item h4{margin:0 0 6px}
.result-item .mini{margin:6px 0 10px}
.result-item .cta{display:flex;gap:8px}

/* ===== Blueprint ===== */
.blueprint{border:1px solid var(--stroke);border-radius:12px;padding:12px;background:var(--card)}
#buildingSVG,#previewSVG{width:100%;height:auto;background:linear-gradient(180deg,rgba(46,125,107,.08),rgba(255,255,255,0))}
.room{fill:rgba(46,125,107,.08);stroke:rgba(46,125,107,.2);stroke-width:2;transition:all .15s ease}
.room.is-active{fill:rgba(46,125,107,.28);stroke:var(--brand);stroke-width:3;filter:drop-shadow(0 0 8px rgba(46,125,107,.25))}
.lvl-label{fill:var(--muted);font-size:12px}

/* ===== Modal ===== */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(42,42,42,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px;z-index:120}
.modal[aria-hidden="false"]{display:flex}
dialog.modal{border:none;padding:0;max-width:none;max-height:none}
dialog.modal::backdrop{display:none}
.modal-hero-frame{
  width:100%;
  height:clamp(340px, 56vh, 520px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
  border:1px solid var(--stroke);
  border-radius:16px;
  background:linear-gradient(180deg,#F7F3EE,#EEE7DD);
}
#modalLocationImage{
  width:auto;
  height:auto;
  max-width:92%;
  max-height:92%;
  object-fit:contain;
  border-radius:12px;
  display:block;
}
#modalReservationDetails{margin-top:15px}
.sheet{width:min(100%,980px);border-radius:16px;background:#FFFFFF;border:1px solid var(--stroke);display:flex;flex-direction:column;max-height:90vh}
.sheet header, .sheet footer{padding:8px 14px;border-bottom:1px solid var(--stroke)}
.sheet footer{border-top:1px solid var(--stroke);border-bottom:none;display:flex;justify-content:flex-end;gap:8px}
.sheet .body{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:14px;overflow:auto}
.close{appearance:none;background:transparent;border:1px solid var(--stroke);border-radius:8px;color:var(--fg);padding:4px 8px;cursor:pointer}

.combo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.combo-item{border:1px solid var(--stroke);border-radius:10px;padding:10px;background:#fff;cursor:pointer}
.combo-item[aria-selected="true"]{outline:2px solid var(--accent);background:var(--accent-soft)}
.preview{border:1px solid var(--stroke);border-radius:12px;padding:8px;background:#fff}
.banner-info{margin-top:8px;padding:8px;border:1px dashed var(--stroke);border-radius:8px;background:#fff}

/* ===== WhatsApp Modal ===== */
.wa-modal-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--stroke);background:#fff;color:var(--fg);font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .15s}
.wa-modal-input:focus{outline:none;border-color:#1e4fae;box-shadow:0 0 0 3px rgba(30,79,174,.12)}
.wa-modal-input[readonly]{background:#f5f5f5;color:var(--muted)}

/* ===== Pioneros Promo Modal ===== */
.pioneros-promo-modal{
  padding:24px;
  background:
    radial-gradient(circle at 12% 10%, rgba(30,79,174,.2), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(86,166,255,.18), transparent 26%),
    rgba(17,24,39,.52);
}
.pioneros-sheet{
  width:min(100%,900px);
  max-height:min(calc(100vh - 40px),660px);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(198,212,238,.92);
  background:linear-gradient(180deg,#f7faff 0%,#eef4ff 100%);
  box-shadow:0 24px 60px rgba(12,30,69,.28);
}
.pioneros-sheet::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.32), transparent 42%);
  pointer-events:none;
}
.pioneros-shell{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.pioneros-hero,
.pioneros-panel{
  min-width:0;
}
.pioneros-close{
  position:absolute;
  top:20px;
  right:20px;
  z-index:5;
  width:42px;
  height:42px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  border-color:rgba(255,255,255,.24);
  background:rgba(11,28,66,.38);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.pioneros-close:hover{
  background:rgba(11,28,66,.54);
}
.pioneros-hero{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:12px 12px;
  padding:18px 18px 16px;
  color:#fff;
  background-image:
    linear-gradient(160deg, rgba(11,28,66,.12), rgba(11,28,66,.65)),
    linear-gradient(180deg, rgba(30,79,174,.88), rgba(11,28,66,.9)),
    url('/assets/img/pioneros-promo-bg.jpg');
  background-size:cover;
  background-position:center;
}
.pioneros-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.2), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 28%);
  pointer-events:none;
}
.pioneros-hero-content,
.pioneros-benefits{
  position:relative;
  z-index:1;
}
.pioneros-hero-content{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
}
.pioneros-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(9,20,50,.18);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.pioneros-badge::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c13419;
  box-shadow:0 0 0 4px rgba(193,52,25,.16);
}
.pioneros-overline{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.pioneros-title{
  margin:0;
  color:#fff !important;
  font-size:clamp(22px, 2.8vw, 32px);
  line-height:1.05;
  text-shadow:0 10px 22px rgba(9,20,38,.28);
}
.pioneros-lead{
  margin:0;
  max-width:32ch;
  color:rgba(255,255,255,.92);
  font-size:15px;
  line-height:1.55;
}
.pioneros-spotlight{
  display:grid;
  gap:6px;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.pioneros-spotlight-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.pioneros-spotlight strong{
  font-family:'Orbitron',sans-serif;
  font-size:16px;
  line-height:1.3;
  color:#fff;
}
.pioneros-discount-board{
  position:relative;
  z-index:1;
  align-self:start;
  display:grid;
  gap:14px;
  padding:14px;
  border-radius:24px;
  border:1px solid rgba(207,222,250,.58);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(236,244,255,.92)),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.02));
  box-shadow:
    0 24px 48px rgba(8,19,42,.24),
    inset 0 1px 0 rgba(255,255,255,.84);
  overflow:hidden;
}
.pioneros-discount-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(92,150,255,.18), transparent 36%),
    linear-gradient(90deg, transparent, rgba(30,79,174,.08), transparent);
  pointer-events:none;
}
.pioneros-discount-board-head{
  position:relative;
  z-index:1;
  display:grid;
  gap:6px;
  justify-items:center;
  text-align:center;
}
.pioneros-discount-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#2d63d4,#1e4fae);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(30,79,174,.28);
}
.pioneros-discount-title{
  margin:0;
  color:#0f3272;
  font-family:'Orbitron',sans-serif;
  font-size:clamp(19px, 2vw, 26px);
  line-height:1.1;
}
.pioneros-discount-copy{
  margin:0;
  max-width:38ch;
  color:#45607f;
  font-size:13px;
  line-height:1.45;
}
.pioneros-discount-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.pioneros-discount-card{
  position:relative;
  display:grid;
  gap:8px;
  align-content:space-between;
  min-height:96px;
  padding:10px 10px;
  border-radius:14px;
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 16px 26px rgba(8,19,42,.18);
}
.pioneros-discount-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:42%;
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.92));
  border-radius:0 0 18px 18px;
}
.pioneros-discount-card strong,
.pioneros-discount-card span{
  position:relative;
  z-index:1;
}
.pioneros-discount-card strong{
  font-family:'Orbitron',sans-serif;
  font-size:clamp(16px, 1.3vw, 22px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
  text-shadow:0 6px 14px rgba(8,19,42,.24);
}
.pioneros-discount-card span{
  align-self:end;
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1.05;
}
.pioneros-discount-card.is-month-1{
  background:linear-gradient(180deg,#ef334c 0%,#ba112c 100%);
}
.pioneros-discount-card.is-month-1 span{
  color:#ba112c;
}
.pioneros-discount-card.is-month-2{
  background:linear-gradient(180deg,#ff971f 0%,#d86a00 100%);
}
.pioneros-discount-card.is-month-2 span{
  color:#d86a00;
}
.pioneros-discount-card.is-month-3{
  background:linear-gradient(180deg,#49ba52 0%,#17863e 100%);
}
.pioneros-discount-card.is-month-3 span{
  color:#16733a;
}
.pioneros-discount-card.is-month-4{
  background:linear-gradient(180deg,#2d6fff 0%,#113bba 100%);
}
.pioneros-discount-card.is-month-4 span{
  color:#113bba;
}
.pioneros-discount-footnote{
  position:relative;
  z-index:1;
  margin:0;
  color:#5a6f8a;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}
.pioneros-benefits{
  align-self:start;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.pioneros-benefit{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:flex-start;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.pioneros-benefit-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  border-radius:12px;
  background:rgba(30,79,174,.18);
  border:1px solid rgba(30,79,174,.28);
  color:#4d8eff;
  font-family:'Orbitron',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.pioneros-benefit strong{
  display:block;
  margin-bottom:2px;
  color:#fff;
  font-family:'Orbitron',sans-serif;
  font-size:14px;
}
.pioneros-benefit span{
  display:block;
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.45;
}
/* Benefits inside the right panel (light background context) */
.pioneros-panel .pioneros-benefits{align-self:stretch}
.pioneros-panel .pioneros-benefit{
  background:rgba(30,79,174,.06);
  border-color:rgba(30,79,174,.14);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.pioneros-panel .pioneros-benefit strong{color:#10203f}
.pioneros-panel .pioneros-benefit span{color:#4b5d77}
.pioneros-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px 18px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,247,255,.98));
}
.pioneros-panel-head{
  display:grid;
  gap:8px;
}
.pioneros-panel-kicker{
  margin:0;
  color:#1e4fae;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.pioneros-panel-head h3{
  margin:0;
  font-family:'Orbitron',sans-serif;
  font-size:19px;
  line-height:1.15;
  color:#10203f;
}
.pioneros-panel-head p{
  margin:0;
  color:#4b5d77;
  font-size:14px;
  line-height:1.5;
}
.pioneros-form{
  display:grid;
  gap:10px;
}
.pioneros-field{
  margin:0;
}
.pioneros-label{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin-bottom:8px;
  color:#16243c;
  font-size:14px;
  font-weight:700;
}
.pioneros-required{
  color:#b42318;
}
.pioneros-label-note{
  color:#69778b;
  font-weight:500;
}
.pioneros-modal-input{
  width:100%;
  padding:13px 14px;
  border-radius:12px;
  border:1px solid #cad8d2;
  background:#fff;
  color:#16243c;
  font-size:15px;
  font-family:inherit;
  box-sizing:border-box;
  transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 10px 24px rgba(11,28,66,.04);
}
.pioneros-modal-input::placeholder{
  color:#7a8796;
}
.pioneros-modal-input:hover{
  border-color:#b6caef;
}
.pioneros-modal-input:focus{
  outline:none;
  border-color:#1e4fae;
  box-shadow:0 0 0 4px rgba(30,79,174,.12), 0 12px 28px rgba(30,79,174,.08);
}
.pioneros-policy-card{
  border:1px solid #d6e1f2;
  border-radius:16px;
  padding:14px 14px 12px;
  background:linear-gradient(145deg,#ffffff,#f4f8ff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.pioneros-policy-label{
  display:flex;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
}
.pioneros-policy-check{
  margin-top:4px;
  flex-shrink:0;
  width:18px;
  height:18px;
  cursor:pointer;
  accent-color:#1e4fae;
}
.pioneros-policy-copy{
  color:#405064;
  font-size:13px;
  line-height:1.5;
}
.pioneros-policy-toggle{
  margin-left:6px;
  padding:0;
  border:none;
  background:none;
  color:#1e4fae;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}
.pioneros-policy-summary{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #dde6f5;
  color:#516175;
  font-size:12px;
  line-height:1.55;
}
.pioneros-policy-link{
  color:#1e4fae;
  font-weight:700;
  text-decoration:underline;
}
.pioneros-response-note{
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #d9e4f7;
  background:linear-gradient(145deg,#f6f9ff,#edf3ff);
  color:#446072;
  font-size:12px;
  line-height:1.4;
}
.pioneros-feedback{
  display:none;
  margin:0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #f1b3b3;
  background:#fff7f7;
  color:#b42318;
  font-size:13px;
  line-height:1.45;
}
.pioneros-actions{
  display:flex;
  gap:10px;
  margin-top:8px;
}
.pioneros-actions .btn{
  min-height:48px;
}
.pioneros-cancel{
  flex:0 0 auto;
  padding-inline:18px;
  border-color:#c8d7f0;
  background:rgba(255,255,255,.7);
  color:#1b355f;
}
.pioneros-cancel:hover{
  border-color:#9fb9eb;
  background:#fff;
  box-shadow:0 12px 24px rgba(11,28,66,.08);
}
.pioneros-submit{
  flex:1 1 auto;
  border:none;
  background:linear-gradient(135deg,#2d63d4 0%,#1e4fae 48%,#163c8a 100%);
  color:#fff;
  font-weight:800;
  box-shadow:0 16px 30px rgba(30,79,174,.28), inset 0 1px 0 rgba(255,255,255,.18);
}
.pioneros-submit:hover{
  box-shadow:0 18px 34px rgba(30,79,174,.38), 0 0 0 1px rgba(45,99,212,.5);
  filter:brightness(1.06);
}
.pioneros-submit[disabled],
.pioneros-submit[disabled]:hover{
  transform:none;
  filter:none;
}

/* ===== Footer ===== */
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:20px;border-top:1px solid var(--stroke);padding-top:22px}
.footer-contact-actions{display:flex;gap:12px;margin-top:10px}
.footer-admin-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:34px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:var(--accent-soft);
  color:#244E44;
  font-family:'Orbitron',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  transition:transform .12s ease, box-shadow .18s ease, background-color .18s ease;
}
.footer-admin-link:hover{
  transform:translateY(-1px);
  background:#CEE1DB;
  box-shadow:0 8px 18px rgba(46,125,107,0.14);
}
.footer-bottom{margin-top:22px}

#inicio{
  background:linear-gradient(180deg,rgba(244,241,236,0.85),rgba(244,241,236,0.95)), url('../img/HeroBanner.png') no-repeat center center;
  background-size:cover;
  padding:100px 0;
  border-radius:24px;
}

/* ===== Location Results ===== */
.location-group{border:1px solid var(--stroke);border-radius:12px;padding:12px;background:var(--card);box-shadow:var(--shadow)}
.location-group h3{margin:0 0 10px}
.location-item{display:flex;justify-content:space-between;align-items:center}
.location-group .rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.room-compact-card{border:1px solid var(--stroke);border-radius:10px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:8px}
.room-compact-card.is-unavailable{opacity:.65}
.room-compact-top{display:flex;align-items:flex-start;gap:8px}
.room-compact-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.room-compact-title{font-size:14px;font-weight:700;margin:0;color:#0D1F4D}
.room-compact-actions{display:flex;gap:6px;flex-wrap:wrap}
.room-compact-actions .btn,.room-compact-actions .btn-secondary{padding:5px 10px;font-size:12px}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:8px;
  background:var(--btn-secondary-bg);
  border:1px solid var(--btn-secondary-border);
  color:var(--btn-secondary-fg);
  font-weight:600;
  cursor:pointer;
  transition:background-color .15s ease, box-shadow .2s ease, transform .12s ease;
}
.btn-secondary:hover{
  background:#DEE8FF;
  box-shadow:0 0 14px rgba(86,166,255,0.24);
  transform:translateY(-1px);
}

.map-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.map-card{
  border:1px solid var(--stroke);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.map-canvas{
  position:relative;
  height:160px;
  background:
    linear-gradient(135deg, rgba(46,125,107,.1), rgba(255,255,255,0)),
    repeating-linear-gradient(0deg, #EFEAE3 0 2px, transparent 2px 16px),
    repeating-linear-gradient(90deg, #EFEAE3 0 2px, transparent 2px 16px);
}

.map-embed{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.map-pin{
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:14px;
  background:var(--accent);
  border-radius:50%;
  transform:translate(-50%, -100%);
  box-shadow:0 6px 14px rgba(46,125,107,0.4);
}

.map-pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:12px;
  width:2px;
  height:12px;
  background:var(--accent);
  transform:translateX(-50%);
}

.map-info{
  padding:14px;
}

.map-actions{
  margin-top:10px;
}

.mini-map{
  margin-top:12px;
}

.mini-map .map-canvas{
  height:120px;
}

/* ===== Building View Modal ===== */
.building-views{display:grid;grid-template-columns:1fr;gap:16px}
.view{border:1px solid var(--stroke);border-radius:12px;padding:12px;background:#fff}
.view h5{margin:0 0 10px;text-align:center}

/* ===== Responsive ===== */
@media (max-width: 960px){
  .hero-search-widget form{
    grid-template-columns:repeat(2, 1fr);
  }
  .hero-search-widget .search-submit{
    grid-column:1 / -1;
    justify-content:center;
  }
  
  .que-hacemos-grid{grid-template-columns:1fr}
  .search-grid{grid-template-columns:repeat(2,1fr)}
  .search-group-head{flex-direction:column;align-items:flex-start}
  .results-layout{grid-template-columns:1fr}
  .location-group .rooms-grid{grid-template-columns:repeat(2,1fr)}
  .sheet .body{grid-template-columns:1fr}
  .pioneros-shell{grid-template-columns:1fr}
  .pioneros-hero{padding:72px 28px 26px}
  .pioneros-panel{padding:28px}
  .field-grid{grid-template-columns:1fr}
  .trust-grid,.steps-grid{grid-template-columns:1fr}
  .nav{min-height:var(--header-height-mobile)}
  .brand img{height:78px}
  .brand-title-main{font-size:22px}
  .brand-title-sub{font-size:11px}
  .menu{
    position:fixed;
    top:calc(var(--header-height-mobile) + 8px);
    left:14px;
    right:14px;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:14px;
    border-radius:14px;
    background:#FFFFFF;
    border:1px solid var(--stroke);
    box-shadow:0 16px 32px rgba(11,28,66,0.2);
    z-index:120;
  }
  body.menu-open .menu{display:flex}
  .menu .menu-admin{
    padding:8px 12px;
  }
  .btn.small{display:none}
  .hamburger{display:inline-flex}
  .map-grid{grid-template-columns:1fr}
  .filters-toolbar{
    top:calc(var(--header-height-mobile) + 8px);
    align-items:stretch;
    padding:12px;
  }
  .filters-toolbar-main{
    flex-direction:column;
    align-items:stretch;
  }
  .filters-toolbar-main-left{
    justify-content:flex-start;
  }
  .filters-summary-toggle{
    align-self:flex-start;
  }
  .filters-toolbar-details{
    margin-top:0;
    padding-top:8px;
  }
  .filters-toolbar-active{
    justify-content:flex-start;
    flex-direction:column;
    align-items:flex-start;
  }
  .active-filters{
    justify-content:flex-start;
  }
  .filters-drawer{
    inset:auto 0 0 0;
    width:100%;
    height:auto;
    padding:0;
    transform:translateY(105%);
  }
  body.filters-open .filters-drawer{
    transform:translateY(0);
  }
  .filters-drawer-panel{
    height:min(86vh,760px);
    border-radius:18px 18px 0 0;
    border-bottom:none;
  }
}
@media (max-width: 420px){
  .filters-drawer .search-grid{
    grid-template-columns:1fr;
  }
  .location-group .rooms-grid{grid-template-columns:1fr}
}

@media (max-width: 640px){
  #modalLocationImage{
    max-width:94%;
    max-height:94%;
  }
  .pioneros-promo-modal{padding:8px}
  .pioneros-sheet{
    width:min(100%,540px);
    max-height:min(86vh,720px);
    overflow:auto;
    border-radius:24px;
  }
  .pioneros-close{
    top:10px;
    right:10px;
    width:36px;
    height:36px;
  }
  .pioneros-hero{
    grid-template-columns:1fr;
    gap:14px;
    padding:56px 16px 16px;
  }
  .pioneros-overline,
  .pioneros-spotlight,
  .pioneros-response-note{
    display:none;
  }
  .pioneros-discount-board{
    padding:14px 12px 12px;
    border-radius:20px;
    gap:12px;
  }
  .pioneros-discount-kicker{
    font-size:10px;
    letter-spacing:.14em;
  }
  .pioneros-discount-title{
    font-size:20px;
  }
  .pioneros-discount-copy{
    font-size:12px;
  }
  .pioneros-discount-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .pioneros-discount-card{
    min-height:108px;
    padding:12px 10px;
    border-radius:16px;
  }
  .pioneros-discount-card::after{
    border-radius:0 0 16px 16px;
  }
  .pioneros-discount-card strong{
    font-size:24px;
  }
  .pioneros-discount-card span{
    font-size:16px;
  }
  .pioneros-discount-footnote{
    font-size:10px;
  }
  .pioneros-title{font-size:28px}
  .pioneros-lead{
    font-size:14px;
    line-height:1.45;
  }
  .pioneros-benefits{
    gap:8px;
  }
  .pioneros-benefit{
    padding:10px 12px;
    gap:10px;
  }
  .pioneros-benefit-index{
    min-width:32px;
    height:32px;
    border-radius:10px;
    font-size:11px;
  }
  .pioneros-panel{padding:18px 16px 16px}
  .pioneros-panel-kicker{font-size:10px}
  .pioneros-panel-head h3{font-size:22px}
  .pioneros-panel-head p{
    font-size:13px;
    line-height:1.45;
  }
  .pioneros-modal-input{
    padding:12px 13px;
    font-size:14px;
  }
  .pioneros-policy-card{
    padding:12px;
  }
  .pioneros-actions{flex-direction:column-reverse}
  .pioneros-actions .btn{width:100%}
}

@media (max-width: 480px){
  .pioneros-promo-modal{
    padding:14px;
    align-items:center;
  }
  .pioneros-sheet{
    width:min(100%,420px);
    max-height:min(82vh,680px);
    border-radius:22px;
    box-shadow:0 24px 64px rgba(12,30,69,.34);
  }
  .pioneros-close{
    top:12px;
    right:12px;
  }
}

.accommodations-list{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
@media (min-width: 1700px){
  #areas-booking .container{max-width:1380px}
}
.accommodations-list-title{
  margin:14px 0 6px;
  font-size:15px;
  color:var(--muted);
}

.accommodation-accordion{
  border:1px solid var(--stroke);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.accommodation-accordion-summary{
  list-style:none;
  cursor:pointer;
  padding:10px 12px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:flex-start;
}
.accommodation-accordion-summary::-webkit-details-marker{
  display:none;
}
.accommodation-order{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #C7D8FF;
  background:#EAF0FF;
  color:#10203F;
  font-size:13px;
  font-weight:700;
}
.accommodation-accordion-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.accommodation-accordion-title{
  font-size:16px;
  line-height:1.2;
  color:#0D1F4D;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.accommodation-accordion-right{
  display:flex;
  align-items:center;
  gap:8px;
}
.accommodation-accordion-icon{
  font-size:12px;
  color:var(--muted);
  transition:transform .2s ease;
}
.accommodation-accordion[open] .accommodation-accordion-icon{
  transform:rotate(90deg);
}
.accommodation-accordion[open] .accommodation-accordion-summary{
  border-bottom:1px solid var(--stroke);
}
.accommodation-accordion-body{
  padding:10px;
}

.accommodation-order-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #C7D8FF;
  border-radius:999px;
  background:#EAF0FF;
  color:#10203F;
  font-size:10px;
  font-weight:700;
  line-height:1;
  padding:3px 7px;
  margin-bottom:3px;
}

.accommodation-item{
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:8px;
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  box-shadow:var(--shadow);
}
.accommodation-image{
  width:100%;
  aspect-ratio:4/3;
  border-radius:8px;
  overflow:hidden;
  background:#f5f5f5;
}
.accommodation-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.accommodation-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}
.accommodation-head-badges{
  display:flex;
  gap:6px;
  align-items:flex-end;
}
.accommodation-title{
  margin:0;
  font-size:19px;
  line-height:1.2;
  letter-spacing:.2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.accommodation-head .mini{
  margin:3px 0 0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.availability-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  border:1px solid transparent;
}
.availability-badge.is-available{
  background:#E6F7EE;
  border-color:#8ED9AF;
  color:#0F5B2F;
}
.availability-badge.is-unavailable{
  background:#F5ECE9;
  border-color:#E8C6BD;
  color:#8A3A2A;
}
.match-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid #C7D8FF;
  background:#EAF0FF;
  color:#10203F;
}
.accommodation-main{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:stretch;
}
.accommodation-price{
  border:1px solid var(--stroke);
  border-radius:10px;
  padding:8px 9px;
  background:#FAFAFD;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.price-label{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.price-value{
  font-size:32px;
  line-height:1.02;
  color:#0D1F4D;
  font-family:'Orbitron',sans-serif;
}
.accommodation-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.meta-chip{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid #D5E2FF;
  background:#F1F6FF;
  color:#173361;
  font-size:11px;
  font-weight:600;
}
.accommodation-quick-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.accommodation-summary{
  margin:2px 0 0;
}
.service-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.service-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid #C7D8FF;
}
.service-chip.is-active{
  color:#10203F;
  background:#EAF0FF;
}
.service-chip.is-off{
  color:#5F5F5F;
  background:#F3F3F3;
  border-color:#DDDDDD;
}
.accommodation-footer{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}

.accommodation-media{
  display:block;
  min-width:0;
}

.accommodation-media img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--stroke);
}
.accommodation-image-placeholder{
  min-height:160px;
  border:1px dashed var(--stroke);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:13px;
  background:#F8F5F0;
}

.accommodation-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  align-items:stretch;
}
.accommodation-actions .btn,
.accommodation-actions .btn-secondary{
  width:100%;
  min-height:34px;
  padding:7px 8px;
  font-size:12px;
  line-height:1.1;
  border-radius:8px;
}

.room.highlighted{
  fill:rgba(46,125,107,0.3) !important;
  stroke:#2E7D6B !important;
  stroke-width:3px !important;
  filter:drop-shadow(0 0 8px rgba(46,125,107,0.4));
}

.room.unavailable{
  fill:rgba(180,180,180,0.15) !important;
  stroke:rgba(180,180,180,0.6) !important;
  stroke-width:2px !important;
}

.room.available-unselected{
  fill:rgba(46,125,107,0.12) !important;
  stroke:rgba(46,125,107,0.5) !important;
  stroke-width:2px !important;
}

#buildingViewModal .close{
  position:absolute;
  top:8px;
  right:12px;
  z-index:9999;
  background:linear-gradient(110deg,var(--btn-primary-start),var(--btn-primary-end));
  border:1px solid var(--btn-primary-border);
  color:#fff;
  font-weight:600;
  padding:8px 12px;
  border-radius:10px;
  transition:transform .12s ease, box-shadow .2s ease;
  font-size:18px;
  line-height:1;
}
#buildingViewModal .close:hover{transform:translateY(-1px);box-shadow:0 0 14px rgba(86,166,255,0.3)}

#buildingViewModal .sheet{width:min(86vw,1240px);max-height:88vh}
#buildingViewModal .body.building-view-body{display:grid;grid-template-columns:1fr;gap:22px;padding:18px;overflow:auto}
.modal-gallery-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:12px;align-items:stretch}
.modal-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:24px;align-items:start}
.modal-content-main{display:grid;gap:18px;min-width:0}
.modal-booking-rail{position:sticky;top:0;align-self:start}
#buildingViewModal footer{justify-content:flex-start}

.accommodation-item.is-unavailable{
  background:#F6F4F1;
  border-color:rgba(0,0,0,0.05);
  opacity:0.92;
}
.accommodation-item.is-unavailable .price-value{color:#6C5F5A}
.accommodation-item.is-unavailable .service-chip.is-active{
  background:#ECECEC;
  border-color:#D7D7D7;
  color:#5A5A5A;
}

.btn[disabled], .btn-secondary[disabled]{
  background:#E5E1DB;
  cursor:not-allowed;
  transform:none;
  border-color:transparent;
  color:#5F5A52;
  box-shadow:none;
}

/* ===== User Reviews ===== */
#user-reviews{
  background:linear-gradient(rgba(244,241,236,0.9),rgba(244,241,236,0.9)), url('../img/SearchBG.png');
  background-size:cover;
  background-position:center;
  padding:60px 40px;
  border-radius:24px;
}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:20px;
  margin-top:20px;
}

.review-card{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:20px;
}

.rating{font-size:18px;font-weight:600;color:var(--brand);margin-bottom:10px}
.review-text{font-style:italic;color:var(--fg);margin-bottom:15px}
.reviewer{font-weight:600;text-align:right;color:var(--muted)}

.space-distribution{border:1px solid var(--stroke);border-radius:14px;padding:12px;background:#fff;margin-top:16px}
.modal-local-gallery,.modal-complement-gallery{margin-top:0}
.space-distribution h5{margin:0;font-size:15px}
.space-distribution-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.distribution-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.distribution-images-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(120px,1fr);height:100%}
.distribution-images img{border-radius:8px;border:1px solid var(--stroke);width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;transition:transform .15s;display:block}
.distribution-images img:hover{transform:scale(1.03)}
.distribution-images img.is-primary{outline:2px solid var(--brand,#2e7d6b);outline-offset:2px}
.distribution-sections{margin-top:14px;display:grid;gap:12px}
.distribution-section{border-top:1px dashed var(--stroke);padding-top:12px}
.distribution-section h6{margin:0 0 8px;font-size:13px;color:var(--text-muted)}
.distribution-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.distribution-section-grid img{border-radius:8px;border:1px solid var(--stroke);width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;transition:transform .15s;display:block}
.distribution-section-grid img:hover{transform:scale(1.03)}
.distribution-section-grid img.is-primary{outline:2px solid var(--brand,#2e7d6b);outline-offset:2px}
.distribution-empty{color:var(--muted);font-size:13px;text-align:center;padding:20px 0;grid-column:1/-1}
.modal-copy-card,.modal-map-card,.modal-booking-card{border:1px solid var(--stroke);border-radius:16px;background:#fff;padding:16px}
.modal-copy-card p{margin:6px 0 0;color:var(--fg);line-height:1.6;font-size:14px}
.modal-copy-card h5{margin:0;font-size:28px;line-height:1.15}
.modal-summary-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.modal-summary-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid rgba(30,79,174,.14);background:rgba(230,238,251,.6);font-size:12px;font-weight:600;color:#15326f}
.modal-booking-card{display:grid;gap:14px;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.modal-booking-price{display:flex;align-items:end;gap:8px}
.modal-booking-price strong{font-size:28px;line-height:1}
.modal-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.modal-booking-cell{display:grid;gap:4px;padding:12px;border-radius:12px;border:1px solid rgba(21,50,111,.1);background:#fbfcfe}
.modal-booking-cell strong{font-size:14px;line-height:1.4}
.modal-booking-note{display:grid;gap:4px}
.modal-booking-note p{margin:0;font-size:13px;line-height:1.5;color:var(--fg)}
.modal-booking-cta{width:100%;margin-top:4px}

/* ===== Comparison Modal ===== */
#comparisonModal .sheet{width:min(100%,1000px);max-height:80vh}
#comparisonModal .body{display:block}
.comparison-item{border:1px solid var(--stroke);border-radius:12px;padding:12px;background:var(--card);text-align:center}
.comparison-item h4{margin-top:0;margin-bottom:8px;color:var(--accent)}

/* ===== Reservation Modal ===== */
#reservationModal .sheet{
  width:min(100%,680px);
  height:min(90vh,860px);
  max-height:90vh;
}
#reservationModal .body{
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow:hidden;
  min-height:0;
}
.reservation-summary{border:1px solid var(--stroke);border-radius:8px;padding:15px;background:#fff}
.reservation-summary p{margin:5px 0;font-size:14px}

#reservationModal .reservation-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
  min-height:0;
}

.reservation-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.reservation-step-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:#fff;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.reservation-step-chip.is-active{
  color:var(--btn-secondary-fg);
  border-color:var(--btn-primary-border);
  background:var(--btn-secondary-bg);
}
.reservation-step-panel{
  display:grid;
  gap:12px;
  flex:1 1 auto;
  min-height:220px;
  overflow:auto;
  border:1px solid var(--stroke);
  border-radius:12px;
  background:#fff;
  padding:14px;
}
.reservation-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checkbox-line{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fg)}
.checkbox-line a{color:var(--btn-primary-end);font-weight:700;text-decoration:underline}
.reservation-step-chip.is-complete{
  color:#1f7a4c;
  border-color:#9dd2b5;
  background:#f1fff7;
}

.reservation-form .field{margin-bottom:15px}
.reservation-form label{display:block;margin-bottom:5px;font-size:14px;color:var(--fg)}
.reservation-form input[type="text"],
.reservation-form input[type="email"],
.reservation-form input[type="tel"],
.reservation-form input[type="date"],
.reservation-form input[type="number"],
.reservation-form select,
.reservation-form textarea{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:#fff;
  color:var(--fg);
  font-size:14px;
}
.reservation-form textarea{resize:vertical;min-height:64px}
.reservation-feedback-success{color:#1f7a4c}
.reservation-feedback-error{color:#B03030}
.guest-list,.guest-docs-list{display:grid;gap:10px}
.guest-card,.guest-doc-card{
  border:1px solid var(--stroke);
  border-radius:10px;
  padding:10px;
  background:#fff;
}
.guest-card-head,.guest-doc-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.guest-card-head strong,.guest-doc-card-head strong{font-size:14px}
.guest-doc-hint{margin-top:6px}
.reservation-doc-input{margin-top:8px}
#propertyReservationBack[disabled]{opacity:.45;pointer-events:none}
.guest-doc-actions{display:flex;gap:8px;flex-wrap:wrap}
.reservation-doc-trigger{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.reservation-doc-trigger input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.guest-doc-list{
  list-style:none;
  margin:10px 0 0;
  padding:0;
  display:grid;
  gap:6px;
}
.guest-doc-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

#reservationModal footer{
  flex-wrap:wrap;
}
@media (max-width: 640px){
  #buildingViewModal .sheet{width:min(100%,96vw);max-height:92vh}
  #buildingViewModal .body.building-view-body{padding:14px;gap:16px}
  .modal-gallery-stage,
  .modal-content-grid{grid-template-columns:1fr}
  .modal-booking-rail{position:static}
  .modal-hero-frame{height:clamp(240px,42vh,340px)}
  .distribution-images-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(92px,1fr)}
  .modal-booking-grid{grid-template-columns:1fr}
  .distribution-section-grid{grid-template-columns:1fr}
  .hero-search-widget form{
    grid-template-columns:1fr;
  }
  .hero-search-widget .search-submit{
    grid-column:1;
  }
  
  #reservationModal .sheet{
    width:min(100%,96vw);
    height:min(92vh,92vh);
  }
  #reservationModal .field-grid{
    grid-template-columns:1fr;
  }
  .reservation-step-panel{
    min-height:200px;
    padding:12px;
  }
  #reservationModal footer{
    justify-content:stretch;
  }
  #reservationModal footer .btn,
  #reservationModal footer .btn-secondary{
    flex:1 1 calc(50% - 8px);
  }
}

.payment-options{display:flex;gap:10px;margin-top:20px;justify-content:center}

/* ===== FAQ ===== */
.faq-accordion{
  display:grid;
  gap:12px;
  max-width:960px;
}
.faq-entry{
  border:1px solid var(--stroke);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.faq-entry[open]{
  border-color:var(--btn-primary-border);
  box-shadow:0 0 0 1px rgba(143,194,255,0.22),0 10px 26px rgba(10,26,58,0.12);
}
.faq-question{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:700;
  color:var(--fg);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.faq-question::-webkit-details-marker{display:none}
.faq-question::after{
  content:"+";
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid var(--btn-primary-border);
  color:var(--btn-primary-end);
  display:grid;
  place-items:center;
  font-weight:700;
  flex:0 0 auto;
}
.faq-entry[open] .faq-question::after{
  content:"-";
}
.faq-answer{
  padding:0 18px 16px;
  border-top:1px solid var(--stroke);
}
.faq-answer .mini{
  margin:12px 0 0;
}

/* ===== FAQ Premium Page ===== */
.faq-premium .faq-premium-hero{
  padding-top:88px;
}
.faq-premium-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:24px;
  align-items:stretch;
}
.faq-premium-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}
.faq-premium-hero-copy h1{
  max-width:13ch;
  margin:0;
}
.faq-premium-hero-copy .lead{
  max-width:58ch;
  margin:0;
}
.faq-premium-hero-actions{
  margin:0;
}
.faq-premium-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:6px;
}
.faq-premium-metric{
  min-width:140px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(198,212,238,0.7);
  background:linear-gradient(145deg, rgba(255,255,255,0.96), rgba(241,246,255,0.92));
  box-shadow:0 16px 28px rgba(11,28,66,0.12);
}
.faq-premium-metric strong{
  display:block;
  font-family:'Orbitron',sans-serif;
  font-size:24px;
  line-height:1;
  color:#0d1f4d;
}
.faq-premium-metric span{
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5c6f8d;
}
.faq-premium-hero-card{
  display:grid;
  gap:16px;
  align-self:stretch;
  padding:28px;
  background:linear-gradient(145deg, rgba(255,255,255,0.97), rgba(238,244,255,0.95));
  border-color:#c9d9f4;
}
.faq-premium-hero-card h2{
  margin:0;
  font-size:30px;
  line-height:1.12;
}
.faq-premium-hero-card p{
  margin:0;
  color:#42556f;
}
.faq-premium-card-kicker,
.faq-premium-sidebar-kicker,
.faq-premium-section-kicker{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#1e4fae;
}
.faq-premium-points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.faq-premium-points li{
  position:relative;
  padding:14px 14px 14px 42px;
  border-radius:16px;
  border:1px solid #d4e0f5;
  background:linear-gradient(145deg,#ffffff,#f6f9ff);
  color:#334761;
  line-height:1.6;
}
.faq-premium-points li::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,#1e4fae,#4f8cff);
  box-shadow:0 0 0 4px rgba(30,79,174,0.12);
}
.faq-premium-content{
  padding-top:18px;
}
.faq-premium-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  grid-template-areas:"main sidebar";
  gap:24px;
  align-items:start;
}
.faq-premium-sidebar{
  grid-area:sidebar;
  position:sticky;
  top:calc(var(--header-height) + 28px);
  align-self:start;
  z-index:2;
}
.faq-premium-sidebar-block{
  position:relative;
  display:grid;
  gap:12px;
  padding:20px;
  border:1px solid rgba(255,255,255,0.44);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,0.52),rgba(240,235,228,0.34));
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 18px 44px rgba(18,31,55,0.14), inset 0 1px 0 rgba(255,255,255,0.46);
}
.faq-premium-sidebar-block h2{
  margin:0;
  font-size:22px;
  line-height:1.2;
}
.faq-premium-sidebar-block p{
  margin:0;
  color:#4a5c76;
  line-height:1.6;
}
.faq-premium-nav{
  display:grid;
  gap:6px;
}
.faq-premium-nav a{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 10px;
  border-radius:12px;
  color:rgba(16,32,63,0.84);
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.15;
  transition:background-color .18s ease, transform .14s ease, color .18s ease, box-shadow .18s ease;
}
.faq-premium-nav a:hover{
  background:rgba(255,255,255,0.44);
  transform:translateX(-2px);
}
.faq-premium-nav a strong{
  font-weight:600;
}
.faq-premium-nav a span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(199,216,255,0.76);
  background:rgba(255,255,255,0.42);
  color:rgba(16,32,63,0.72);
  font-size:10px;
  letter-spacing:.08em;
}
.faq-premium-nav a.is-active{
  color:#0D1F4D;
  background:linear-gradient(135deg,rgba(234,240,255,0.92),rgba(255,255,255,0.58));
  box-shadow:inset 0 0 0 1px rgba(199,216,255,0.82),0 10px 24px rgba(18,31,55,0.08);
}
.faq-premium-nav a.is-active span{
  border-color:rgba(42,99,204,0.42);
  background:linear-gradient(135deg,rgba(13,31,77,0.92),rgba(30,79,174,0.92));
  color:#fff;
}
.faq-premium-main{
  grid-area:main;
  display:grid;
  gap:24px;
}
.faq-premium-section{
  scroll-margin-top:calc(var(--header-height) + 24px);
  display:grid;
  gap:16px;
}
.faq-premium-item[id]{
  scroll-margin-top:calc(var(--header-height) + 24px);
}
.faq-premium-section-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:flex-start;
}
.faq-premium-section-head h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.12;
}
.faq-premium-section-head p:last-child{
  margin:0;
  color:#4b5d77;
}
.faq-premium-accordion{
  display:grid;
  gap:14px;
}
.faq-premium-item{
  border:1px solid #ccdaee;
  border-radius:20px;
  background:linear-gradient(145deg,#ffffff,#f7fafc);
  box-shadow:0 18px 32px rgba(11,28,66,0.08);
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.faq-premium-item[open]{
  border-color:#9eb8ea;
  box-shadow:0 20px 38px rgba(11,28,66,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
}
.faq-premium-question{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  padding:20px 22px;
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.4;
  color:#12284f;
}
.faq-premium-question::-webkit-details-marker{
  display:none;
}
.faq-premium-question::after{
  content:"+";
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid #9eb8ea;
  background:#eef4ff;
  color:#1e4fae;
  display:grid;
  place-items:center;
  font-size:20px;
  font-weight:700;
  line-height:1;
}
.faq-premium-item[open] .faq-premium-question::after{
  content:"-";
}
.faq-premium-answer{
  display:grid;
  gap:14px;
  padding:0 22px 22px;
  border-top:1px solid rgba(205,220,240,0.75);
  color:#31445e;
}
.faq-premium-answer p{
  margin:0;
  line-height:1.7;
}
.faq-premium-list,
.faq-premium-ordered{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
  line-height:1.7;
  color:#31445e;
}
.faq-premium-inline-link{
  color:#1e4fae;
  font-weight:700;
  text-decoration:underline;
}
.faq-premium-note{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #d7e2f4;
  background:#f6f9ff;
}
.faq-premium-note.is-success{
  border-color:#d6e3fa;
  background:#f3f7ff;
  color:#1e4fae;
  font-weight:700;
}
.faq-premium-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.faq-premium-check-item{
  display:flex;
  gap:12px;
  padding:14px;
  border-radius:16px;
  border:1px solid #d4e0f5;
  background:linear-gradient(145deg,#ffffff,#f6f9ff);
}
.faq-premium-check-item strong{
  display:block;
  margin-bottom:4px;
  color:#142a52;
}
.faq-premium-check-item p{
  margin:0;
  color:#455770;
  line-height:1.55;
}
.faq-premium-check-mark{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:4px;
  border-radius:50%;
  background:linear-gradient(135deg,#1e4fae,#4f8cff);
  box-shadow:0 0 0 4px rgba(30,79,174,0.1);
}
.faq-premium-final{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:28px;
  background:linear-gradient(145deg,#ffffff,#eef4ff);
  border-color:#c5d6f5;
}
.faq-premium-final-copy{
  display:grid;
  gap:10px;
}
.faq-premium-final-copy h2,
.faq-premium-final-copy p{
  margin:0;
}
.faq-premium-final-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}
.faq-premium-related{
  display:grid;
  gap:16px;
}
.faq-premium-related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.faq-premium-related-card{
  display:grid;
  gap:8px;
  padding:20px;
  border-radius:18px;
  border:1px solid #cbdaf2;
  background:linear-gradient(145deg,#ffffff,#f5f9ff);
  box-shadow:0 16px 28px rgba(11,28,66,0.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.faq-premium-related-card:hover{
  transform:translateY(-2px);
  border-color:#a9c0ef;
  box-shadow:0 20px 34px rgba(11,28,66,0.12);
}
.faq-premium-related-card strong{
  color:#12284f;
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  line-height:1.25;
}
.faq-premium-related-card span{
  color:#4a5c76;
  line-height:1.6;
}

@media (max-width: 1100px){
  .faq-premium-hero-grid,
  .faq-premium-final{
    grid-template-columns:1fr;
  }
  .faq-premium-shell{
    grid-template-columns:minmax(0,1fr) 280px;
  }
  .faq-premium-final-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 980px){
  .faq-premium-shell{
    grid-template-columns:1fr;
    grid-template-areas:
      "sidebar"
      "main";
  }
  .faq-premium-sidebar{
    position:static;
  }
  .faq-premium-sidebar-block{
    position:static;
    gap:12px;
    padding:18px;
  }
  .faq-premium-nav{
    display:flex;
    gap:10px;
    overflow:auto;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
  }
  .faq-premium-nav a{
    flex:0 0 auto;
    white-space:nowrap;
    scroll-snap-align:start;
  }
}

@media (max-width: 760px){
  .faq-premium-hero{
    padding-top:72px;
  }
  .faq-premium-hero-copy h1{
    max-width:none;
  }
  .faq-premium-metrics{
    display:grid;
    grid-template-columns:1fr;
  }
  .faq-premium-section-head{
    grid-template-columns:1fr;
    gap:8px;
  }
  .faq-premium-checklist,
  .faq-premium-related-grid{
    grid-template-columns:1fr;
  }
  .faq-premium-hero-card,
  .faq-premium-sidebar,
  .faq-premium-final{
    padding:22px;
  }
  .faq-premium-question{
    padding:18px;
    font-size:17px;
  }
  .faq-premium-answer{
    padding:0 18px 18px;
  }
}

@media (max-width: 560px){
  .faq-premium-sidebar-block h2{
    font-size:20px;
  }
  .faq-premium-nav a{
    padding:11px 13px;
    font-size:14px;
  }
  .faq-premium-hero-actions,
  .faq-premium-final-actions{
    flex-direction:column;
  }
  .faq-premium-hero-actions .btn,
  .faq-premium-final-actions .btn{
    width:100%;
  }
}

#openComparisonBtn{
  position:fixed;bottom:20px;right:20px;z-index:100;display:none;
  background:linear-gradient(110deg,var(--btn-primary-start),var(--btn-primary-end));
  color:#fff;
  border:1px solid var(--btn-primary-border);
  box-shadow:0 0 0 1px rgba(143,194,255,0.28),0 0 14px rgba(86,166,255,0.3),0 12px 24px rgba(8,20,48,0.32);
  padding:12px 16px;
  border-radius:12px;
}

#admin-login .admin-login-card{
  max-width:720px;
}

.admin-login-grid{
  grid-template-columns:repeat(3,1fr);
}

/* ===== Admin Layout ===== */
.admin-body{
  background:var(--bg);
}

.admin-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:100vh;
}

.admin-sidebar{
  position:sticky;
  top:0;
  align-self:start;
  height:100vh;
  padding:20px 16px;
  background:#F8F5F0;
  border-right:1px solid var(--stroke);
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.admin-brand img{
  height:36px;
}

.admin-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-nav a{
  padding:10px 12px;
  border-radius:10px;
  color:var(--fg);
  border:1px solid transparent;
}

.admin-nav a:hover{
  background:#fff;
  border-color:var(--stroke);
}

.admin-nav a.is-active{
  background:var(--accent-soft);
  border-color:var(--stroke);
  font-weight:600;
}

.admin-content{
  padding:0 0 40px;
}

.admin-view{
  display:none;
}

.admin-view.is-active{
  display:block;
}

.admin-detail-card{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:16px;
  background:#fff;
}

.detail-graph{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:end;
  gap:10px;
  height:140px;
  margin-bottom:12px;
}

.detail-bar{
  background:var(--accent);
  border-radius:8px 8px 4px 4px;
}

.admin-link{
  margin-top:10px;
}

.admin-payments{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:16px;
}

.admin-payments-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.admin-table{
  display:grid;
  gap:6px;
  margin-top:12px;
}

.table-row{
  display:grid;
  grid-template-columns:1fr 1.2fr .8fr .8fr 1fr;
  gap:10px;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:#fff;
  font-size:13px;
}

.table-head{
  font-weight:600;
  background:#F8F5F0;
}

.admin-alerts{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.admin-alert-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid var(--stroke);
  border-radius:12px;
  background:#fff;
}

.admin-planner{
  display:grid;
  gap:16px;
  margin-top:16px;
}

.planner-day{
  border:1px solid var(--stroke);
  border-radius:14px;
  background:#fff;
  padding:14px;
}

.planner-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:8px;
  border-bottom:1px dashed var(--stroke);
  margin-bottom:12px;
}

.planner-list{
  display:grid;
  gap:12px;
}

.planner-card{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:12px;
  background:#F8F5F0;
}

.planner-actions{
  display:flex;
  gap:8px;
  margin-top:8px;
}

.admin-form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top:16px;
}

.admin-form-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:0;
}

.room-create-card{grid-column:1;order:3}

.room-list-card{
  grid-column:1;
  order:2;
}

.room-list-card .admin-room-list{
  overflow-y:auto;
  max-height:210px;
  padding-right:6px;
}

.room-bulk-card{grid-column:1;order:1}

.admin-form{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

/* ── Form sections ── */
.form-section{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:14px 16px 16px;
  margin:0;
  background:#FCFAF6;
}
.form-section-legend{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:700;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:0.5px;
  padding:0 6px;
}
.form-section-icon{font-size:15px}
.form-section-grid{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.form-section-grid.cols-1-narrow{grid-template-columns:minmax(0,280px)}
.form-section-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.form-section-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.form-section-grid.cols-5{grid-template-columns:repeat(5,1fr)}

.form-section .field label{font-size:12px;font-weight:600;color:var(--muted)}
.form-section .field input,
.form-section .field select{
  padding:8px 10px;
  font-size:14px;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:#fff;
  width:100%;
  box-sizing:border-box;
}
.form-section .field input:focus,
.form-section .field select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
.field-amenities .form-section{border:none;padding:0;background:transparent}

.room-bulk-card .bulk-form{
  margin-top:14px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.bulk-desc{display:block;margin-top:2px;color:var(--muted,#6b7280)}

.room-bulk-card .bulk-top-actions,
.room-bulk-card .bulk-bottom-actions{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}

.room-bulk-card .bulk-top-actions .btn-secondary,
.room-bulk-card .bulk-bottom-actions .btn,
.room-bulk-card .bulk-bottom-actions .btn-secondary{
  width:100%;
}

.bulk-result-box{
  white-space:pre-wrap;
  max-height:260px;
  overflow:auto;
}

.admin-form .actions{
  grid-column:1 / -1;
}
.field-label{display:block;font-weight:600;margin-bottom:6px}
.mt-10{margin-top:10px}
.mt-22{margin-top:22px}
.admin-form .field.full{grid-column:1 / -1}

.field-amenities{
  margin-top:2px;
}

#roomAmenities{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
}

#roomAmenities .amenity-group{
  gap:6px;
  padding:8px;
  border:1px solid #d8deeb;
  border-radius:12px;
  background:#fff;
  min-height:56px;
}

#roomAmenities .amenity-group:not(.has-suboptions){
  justify-content:center;
}

#roomAmenities .amenity-toggle{
  width:100%;
  justify-content:center;
  text-align:center;
}

#roomAmenities .amenity-subchips{
  padding-left:0;
  margin-top:2px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}

#roomAmenities .chip-sub{
  width:100%;
  text-align:center;
  padding:4px 8px;
  font-size:12px;
}

.admin-room-list{
  display:block;
  overflow-x:auto;
}

/* ── Room form tabs ── */
.room-form-tabs{
  display:flex;
  gap:0;
  border-bottom:2px solid var(--stroke);
  margin-bottom:8px;
}
.room-form-tab{
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  padding:8px 18px;
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  cursor:pointer;
  border-radius:6px 6px 0 0;
  transition:color .15s,border-color .15s;
  font-family:inherit;
}
.room-form-tab:hover{color:var(--fg)}
.room-form-tab.is-active{
  color:var(--accent);
  border-bottom-color:var(--accent);
  background:var(--accent-soft);
}
.room-edit-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:120px;
  padding:24px;
  border:2px dashed var(--stroke);
  border-radius:12px;
  text-align:center;
  color:var(--muted);
}
[hidden]{display:none!important}

.room-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  grid-column:1 / -1;
}
#cancelEditRoomBtn{display:none}

/* ── Room table ── */
.room-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  white-space:nowrap;
}
.room-table thead{
  position:sticky;
  top:0;
  z-index:1;
}
.room-table th{
  background:var(--accent);
  color:#fff;
  font-weight:700;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.4px;
  padding:8px 10px;
  text-align:center;
  border:none;
}
.room-table th:first-child{border-radius:8px 0 0 0}
.room-table th:last-child{border-radius:0 8px 0 0}
.room-table-actions-th{text-align:center}

.room-table td{
  padding:7px 10px;
  border-bottom:1px solid var(--stroke);
  color:#333;
  vertical-align:middle;
  text-align:center;
}
.room-table tbody tr:nth-child(even) td{background:#FAFAF8}
.room-table tbody tr:hover td{background:var(--accent-soft)}

.room-cell-code{font-weight:700;color:var(--accent)}
.room-cell-name{
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.room-cell-num{text-align:center;font-variant-numeric:tabular-nums}

.room-cell-actions{
  text-align:center;
  white-space:nowrap;
}

.room-action-icon{
  background:none;
  border:none;
  cursor:pointer;
  font-size:15px;
  padding:3px 4px;
  border-radius:6px;
  transition:background .15s;
  line-height:1;
}
.room-action-icon:hover{background:var(--stroke)}
.room-action-delete:hover{background:#ffe0e0}

.admin-room-item{
  transition:background .12s;
}

.admin-calendar{
  margin-top:22px;
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:16px;
  background:#fff;
}

.admin-blocker{
  border:1px dashed var(--stroke);
  border-radius:12px;
  padding:12px;
  margin-bottom:16px;
  background:#F8F5F0;
}

.admin-blocker-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.admin-calendar-legend{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-calendar-legend .legend-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--ink-muted);
}

.admin-calendar-legend .legend-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
}

.admin-calendar-legend .legend-dot.is-booked{background:#D9E7E2;}
.admin-calendar-legend .legend-dot.is-pending{background:#F6E7C8;}
.admin-calendar-legend .legend-dot.is-blocked{background:#F7D6D6;}
.admin-calendar-legend .legend-dot.is-available{background:#E5E1DB;}

.admin-blocker-form{
  display:grid;
  grid-template-columns:1.35fr 1.35fr 1fr 1fr auto;
  gap:12px;
  margin-top:10px;
  align-items:end;
}

.admin-blocker select,
.admin-blocker input[type="search"],
.admin-blocker input[type="date"]{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:#fff;
}

.block-room-select{
  max-height:280px;
}

.block-presets-field{
  grid-column:1 / span 4;
}

.range-presets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.preset-chip{
  border-color:var(--stroke);
  background:#fff;
  color:var(--ink);
}

.preset-chip.is-active{
  border-color:#1B5560;
  background:#E7F1F3;
  color:#1A4952;
}

.admin-gantt{
  display:grid;
  gap:12px;
  margin-top:10px;
}

.gantt-row{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:12px;
  align-items:center;
}

.gantt-room{
  font-weight:600;
  font-size:14px;
}

.gantt-track{
  position:relative;
  height:36px;
  background:#F1EEE9;
  border-radius:10px;
  border:1px solid var(--stroke);
}

.gantt-block{
  position:absolute;
  top:6px;
  height:22px;
  border-radius:8px;
  padding:2px 8px;
  font-size:12px;
  display:flex;
  align-items:center;
  color:#1D2B2A;
}
.gantt-pos-8-38{left:8%;width:38%}
.gantt-pos-55-24{left:55%;width:24%}
.gantt-pos-2-46{left:2%;width:46%}
.gantt-pos-55-35{left:55%;width:35%}
.gantt-pos-18-42{left:18%;width:42%}

.gantt-block.is-booked{background:#D9E7E2;}
.gantt-block.is-pending{background:#F6E7C8;}
.gantt-block.is-available{background:#E5E1DB;}
.gantt-block.is-blocked{background:#F7D6D6;}

.admin-month-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:8px;
  margin-top:16px;
}

.month-cell{
  text-align:center;
  padding:8px 0;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:#F8F5F0;
  font-size:12px;
}

.month-cell.is-occupied{background:#D9E7E2;}
.month-cell.is-pending{background:#F6E7C8;}
.month-cell.is-blocked{background:#F7D6D6;}

.admin-clients{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.admin-client-filters{
  display:grid;
  grid-template-columns:2fr 1fr 1fr auto;
  gap:12px;
}

.admin-client-filters select{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:#fff;
}

.admin-client-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:16px;
}

.admin-client-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.client-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background:#fff;
  cursor:pointer;
  text-align:left;
}

.client-item.is-active{
  background:var(--accent-soft);
  border-color:var(--stroke);
}

.badge{
  background:#E6F0EC;
  color:#1D2B2A;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
}

.badge.pending{
  background:#F6E7C8;
}

.admin-client-detail{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-client-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.admin-docs{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.doc-link{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid var(--stroke);
  background:#F8F5F0;
}

.admin-doc-upload{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.admin-doc-upload select,
.admin-doc-upload input[type="file"]{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:#fff;
}

.admin-modal{
  max-width:700px;
}

#roomDetailModal .admin-modal{
  max-width:980px;
  width:min(980px, 92vw);
}

.admin-modal-body{
  display:flex;
  flex-direction:column;
  gap:16px;
}

#roomDetailModal .admin-modal-actions{
  justify-content:flex-end;
}

.admin-detail-layout{
  display:grid;
  grid-template-columns:minmax(280px, 1.2fr) minmax(240px, 0.8fr);
  gap:16px;
  align-items:start;
}

.admin-reservations-panel{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:14px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-reservations-header h5{
  margin:0;
}

.admin-reservations-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:360px;
  overflow:auto;
  padding-right:6px;
}

.admin-reservation-item{
  border:1px solid var(--stroke);
  border-radius:10px;
  padding:10px;
  background:#f8f5f0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.admin-reservation-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.admin-reservation-empty{
  padding:10px;
  border:1px dashed var(--stroke);
  border-radius:10px;
  background:#f8f5f0;
}

.admin-modal-summary{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:14px;
  background:#fff;
}

.admin-modal-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.admin-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.request-client-card{
  margin-top:10px;
}

.request-client-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.request-client-grid > div{
  border:1px solid var(--stroke);
  border-radius:10px;
  background:#f9fbff;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.request-client-grid strong{
  font-size:14px;
  line-height:1.25;
}

.request-guests-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.request-guests-head h5{
  margin:0;
}

.request-guests-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
  max-height:280px;
  overflow:auto;
  padding-right:4px;
}

.request-guest-item{
  border:1px solid var(--stroke);
  border-radius:10px;
  padding:10px;
  background:#fff;
}

.request-guest-item.is-missing{
  border-color:#e8d2a6;
  background:#fffaf1;
}

.request-guest-headline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.request-guest-headline strong{
  font-size:15px;
}

.request-guest-docs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.request-guest-actions{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
}

.request-modal-actions{
  justify-content:flex-start;
}

#requestDocsFeedback{
  margin:0;
  color:#35558a;
  font-weight:500;
}

/* ===== Admin Room Detail Modal ===== */
#roomDetailModal .room-detail-modal{
  width:min(1120px,94vw);
  max-height:88vh;
  border-radius:18px;
  border-color:#cfd8ee;
  box-shadow:0 18px 44px rgba(10,26,58,0.22);
}

#roomDetailModal .sheet header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid #d8e0f4;
  background:linear-gradient(180deg,#f8fbff 0%,#eff5ff 100%);
}

#roomDetailModal .sheet .body.admin-modal-body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px;
  overflow:auto;
}

#roomDetailModal .room-detail-body{
  background:linear-gradient(180deg,#ffffff 0%,#fafcff 100%);
}

#roomDetailModal .admin-detail-layout{
  grid-template-columns:minmax(430px,1.18fr) minmax(320px,.82fr);
  gap:14px;
}

#roomDetailModal .room-detail-info-card,
#roomDetailModal .room-detail-reservations-panel{
  border-radius:14px;
  border-color:#d5deef;
  box-shadow:0 6px 18px rgba(12,30,66,0.06);
}

#roomDetailModal .room-detail-meta{
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #d4e0fb;
  border-radius:10px;
  background:#f2f7ff;
  color:#19325c;
  font-weight:600;
}

#roomDetailModal .room-detail-grid{
  margin-top:0;
}

#roomDetailModal .admin-detail-item{
  border-color:#d9e2f2;
  background:#fbfcff;
}

#roomDetailModal .admin-detail-item strong{
  font-family:'Orbitron',sans-serif;
  font-size:20px;
  line-height:1.1;
}

#roomDetailModal .admin-room-gallery{
  margin-top:14px;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  max-height:190px;
  overflow:auto;
  padding-right:4px;
}

#roomDetailModal .admin-reservations-header{
  border-bottom:1px dashed #d8deeb;
  padding-bottom:8px;
}

#roomDetailModal .admin-reservations-header h5{
  font-size:20px;
  margin:0;
}

#roomDetailModal .room-detail-calendar-card{
  margin-top:10px;
  padding:10px;
  border:1px solid #d9e2f2;
  border-radius:12px;
  background:#f9fbff;
}

#roomDetailModal .room-detail-calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

#roomDetailModal .room-detail-calendar-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

#roomDetailModal .room-detail-calendar-clear{
  min-height:30px;
}

#roomDetailModal .room-detail-calendar-head strong{
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  line-height:1.2;
  color:#10284d;
}

#roomDetailModal .room-detail-calendar-legend{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:#5a6b8d;
}

#roomDetailModal .room-detail-calendar-legend .legend-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
}

#roomDetailModal .room-detail-calendar-legend .legend-dot.is-free{
  background:#dfe8f8;
}

#roomDetailModal .room-detail-calendar-legend .legend-dot.is-pending{
  background:#f6e7c8;
}

#roomDetailModal .room-detail-calendar-legend .legend-dot.is-occupied{
  background:#d9e7e2;
}

#roomDetailModal .room-detail-month-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

#roomDetailModal .room-detail-month-cell{
  appearance:none;
  text-align:left;
  width:100%;
  cursor:pointer;
  border:1px solid #d6e0f4;
  border-radius:10px;
  padding:8px 9px;
  background:#f1f5fc;
  display:flex;
  flex-direction:column;
  gap:2px;
}

#roomDetailModal .room-detail-month-cell:hover{
  box-shadow:0 0 0 2px rgba(61,116,228,.18);
}

#roomDetailModal .room-detail-month-cell:focus-visible{
  outline:2px solid rgba(40,92,205,.55);
  outline-offset:1px;
}

#roomDetailModal .room-detail-month-cell .label{
  font-size:12px;
  font-weight:700;
  color:#16325e;
  text-transform:capitalize;
}

#roomDetailModal .room-detail-month-cell.is-free{
  background:#f1f5fc;
}

#roomDetailModal .room-detail-month-cell.is-pending{
  background:#fff5df;
  border-color:#ead4a8;
}

#roomDetailModal .room-detail-month-cell.is-occupied{
  background:#e7f2ee;
  border-color:#bfd9cf;
}

#roomDetailModal .room-detail-month-cell.is-active{
  border-color:#7ea8f7;
  box-shadow:0 0 0 2px rgba(78,128,236,.22);
}

#roomDetailModal .admin-reservations-list{
  margin-top:10px;
  max-height:420px;
}

#roomDetailModal .admin-reservation-item{
  background:#f8faff;
  border-color:#d8e1f3;
}

#roomDetailModal .room-detail-actions{
  justify-content:flex-end;
  padding-top:4px;
  border-top:1px solid #e0e6f3;
}

#roomDetailModal .room-detail-actions .btn-secondary{
  min-width:118px;
}

.admin-login-modal{
  max-width:640px;
}

@media (max-width: 1280px){
  #roomAmenities{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .faq-question{padding:14px 14px}
  .faq-answer{padding:0 14px 14px}
  .accommodations-list{grid-template-columns:1fr}
  .accommodation-main{grid-template-columns:1fr}
  .accommodation-head{flex-direction:column;align-items:flex-start}
  .accommodation-head-badges{align-items:flex-start}
  .accommodation-footer{flex-direction:column;align-items:flex-start}
  .accommodation-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-login-grid{grid-template-columns:1fr}
  .admin-form-grid{grid-template-columns:1fr}
  .admin-form{grid-template-columns:1fr}
  .room-list-card{height:auto !important;max-height:none !important}
  .room-list-card .admin-room-list{max-height:none !important}
  .room-bulk-card .bulk-form{grid-template-columns:1fr}
  .room-bulk-card .bulk-top-actions,
  .room-bulk-card .bulk-bottom-actions{grid-template-columns:1fr}
  .gantt-row{grid-template-columns:1fr}
  .admin-month-grid{grid-template-columns:repeat(6,1fr)}
  .admin-blocker-head{flex-direction:column;align-items:flex-start}
  .admin-blocker-form{grid-template-columns:1fr}
  .block-presets-field{grid-column:auto}
  .admin-client-filters{grid-template-columns:1fr}
  .admin-client-grid{grid-template-columns:1fr}
  .admin-client-cards{grid-template-columns:1fr}
  .room-table{font-size:12px}
  .room-table th,.room-table td{padding:6px 8px}
  .room-cell-name{max-width:100px}
  .admin-detail-layout{grid-template-columns:1fr}
  .table-row{grid-template-columns:1fr}
  .admin-alert-card{flex-direction:column;align-items:flex-start}
  .planner-header{flex-direction:column;align-items:flex-start;gap:4px}
  .admin-layout{grid-template-columns:1fr}
  .admin-sidebar{
    position:relative;
    height:auto;
    border-right:none;
    border-bottom:1px solid var(--stroke);
  }
  #roomDetailModal .room-detail-modal{
    width:min(100%,96vw);
    max-height:92vh;
  }
  #roomDetailModal .admin-detail-grid{
    grid-template-columns:1fr;
  }
  #roomDetailModal .admin-room-gallery{
    max-height:unset;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #roomDetailModal .admin-reservations-list{
    max-height:280px;
  }
  #roomDetailModal .room-detail-month-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #roomDetailModal .room-detail-calendar-head{
    flex-direction:column;
  }
  #roomDetailModal .room-detail-calendar-tools{
    justify-content:flex-start;
  }
  .request-client-grid{
    grid-template-columns:1fr;
  }
  #roomAmenities{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #roomAmenities .amenity-group{
    min-height:unset;
  }
}

@media (max-width: 560px){
  #roomAmenities{
    grid-template-columns:1fr;
  }
  .room-table th,.room-table td{padding:5px 6px}
  .room-action-icon{font-size:13px;padding:2px 3px}
  #roomDetailModal .room-detail-month-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.toast-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}
.toast{background:var(--bg);border:1px solid var(--stroke);box-shadow:0 12px 30px rgba(16,22,33,.15);padding:12px 16px;border-radius:12px;min-width:240px;opacity:0;transform:translateY(-6px);transition:all .2s ease}
.toast.is-visible{opacity:1;transform:translateY(0)}
.toast.success{border-color:#b7e3c4;background:#f1fbf4;color:#1d5b2c}
.toast.error{border-color:#f1c3c3;background:#fff4f4;color:#7a1d1d}
.toast.loading{display:flex;gap:10px;align-items:center;border-color:#c6ddff;background:#f2f7ff;color:#1b3d6b}
.toast-spinner{width:18px;height:18px;border-radius:50%;border:3px solid #c6ddff;border-top-color:#2c6ee8;animation:spin 1s linear infinite}
.toast.loading span{font-weight:600}
.toast-container .toast{pointer-events:auto}
/* === Images accordion === */
/* Bulk-import accordion summary */
.bulk-accordion-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:14px 18px;list-style:none;-webkit-user-select:none;user-select:none;border-radius:inherit}
.bulk-accordion-summary::-webkit-details-marker{display:none}
.bulk-accordion-summary .bulk-accordion-label{font-weight:700;font-size:15px}
.bulk-accordion-summary .bulk-accordion-desc{font-size:12px;color:var(--muted);margin-top:2px}
details[open]>.bulk-accordion-summary .images-accordion-icon{transform:rotate(90deg)}
.images-accordion{border:1px solid var(--stroke);border-radius:12px;padding:0;margin-top:4px}
.images-accordion[open]{padding-bottom:12px}
.images-accordion-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 14px;list-style:none;-webkit-user-select:none;user-select:none}
.images-accordion-toggle::-webkit-details-marker{display:none}
.images-accordion-toggle .field-label{margin:0;font-weight:600}
.images-accordion-icon{font-size:11px;transition:transform .2s ease}
.images-accordion[open] .images-accordion-icon{transform:rotate(90deg)}
.images-accordion-body{padding:0 14px}
.images-accordion-body .file-button{margin-top:6px}

.image-grid{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-top:10px}
.admin-image-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;max-width:100%;overflow:hidden;min-height:60px;border:1px dashed var(--stroke);border-radius:10px;padding:12px;align-items:center;justify-content:center;background:#fff}
.admin-image-preview.is-empty{display:block;min-height:0}
.admin-image-preview.is-empty span{display:inline-block}
.admin-image-preview img{width:100%;height:58px;object-fit:cover;border-radius:8px;border:1px solid var(--stroke);display:block;max-height:160px}
.admin-image-pending-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-image-preview-item{position:relative;display:grid;gap:6px}
.admin-image-preview-item .mini{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-image-preview-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:1px solid rgba(15,23,42,0.16);border-radius:999px;background:rgba(255,255,255,0.94);color:#0f172a;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,0.12)}
.admin-image-preview-remove:hover{background:#fff;transform:translateY(-1px)}
.field input[type="file"]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.file-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--btn-primary-border);
  background:linear-gradient(110deg,var(--btn-primary-start),var(--btn-primary-end));
  color:#fff;
  font-weight:600;
  font-size:13px;
  cursor:pointer;
  box-shadow:0 8px 16px rgba(8,20,48,0.24);
  transition:transform .15s ease, box-shadow .2s ease;
}
.file-button:hover{transform:translateY(-1px);box-shadow:0 0 14px rgba(86,166,255,0.28),0 12px 24px rgba(8,20,48,0.32)}
.file-button:active{transform:translateY(0);box-shadow:0 6px 16px rgba(8,20,48,0.26)}
.admin-form .actions .btn{padding:14px 22px;font-size:16px}
.admin-image-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:4px;margin-top:8px}
.admin-image-list::-webkit-scrollbar{width:6px}
.admin-image-list::-webkit-scrollbar-track{background:transparent;border-radius:6px}
.admin-image-list::-webkit-scrollbar-thumb{background:var(--btn-primary-start);border-radius:6px}
.admin-room-image{display:flex;align-items:flex-start;gap:12px;padding:10px;border:1px solid var(--stroke);border-radius:10px;background:#fff}
.admin-room-image img{width:80px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--stroke)}
.admin-room-image-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn.icon{width:28px;height:28px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.admin-room-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:12px}
.admin-room-gallery .gallery-item{border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:#fff}
.admin-room-gallery img{width:100%;height:120px;object-fit:cover;display:block}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.admin-detail-item{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--stroke);border-radius:10px;background:#fff}
.admin-detail-item.full{grid-column:1 / -1}
.admin-detail-chips{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Share Landing ===== */
.property-share-body{
  min-height:100vh;
  background-image:radial-gradient(circle at 12% 12%, #fbfdff 0%, transparent 45%),
                   radial-gradient(circle at 86% 8%, #eaf1ff 0%, transparent 40%),
                   linear-gradient(180deg,#f6f7fb 0%,#eef2fa 100%);
}

.property-share-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(246,248,253,0.9);
  border-bottom:1px solid #d7dff2;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.property-share-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:78px;
  gap:14px;
}

.property-share-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  max-width:960px;
}

.property-share-hero{
  background:linear-gradient(140deg,#fefefe 0%,#eef4ff 100%);
  border:1px solid #d2ddf4;
}

.property-share-live{
  color:#10203f;
  font-size:14px;
  font-weight:600;
}

.property-share-price{
  font-family:'Orbitron',sans-serif;
  font-size:44px;
  line-height:1;
  color:#0d2f6e;
  margin:14px 0 6px;
}

.property-share-cta{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.property-share-gallery{
  display:grid;
  gap:10px;
}

.property-main-image-wrap{
  border:1px solid var(--stroke);
  border-radius:14px;
  overflow:hidden;
  background:#f5f7fc;
  position:relative;
}

.property-main-image{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.property-main-image.is-empty{
  background:linear-gradient(135deg,#dce4f7 0%,#f2f5fc 100%);
  opacity:0;
}
.property-no-image-label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  color:var(--text-muted,#8a9ab5);
  letter-spacing:.03em;
  pointer-events:none;
}

.property-thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:8px;
}

.property-supplemental-galleries{
  display:grid;
  gap:12px;
  margin-top:4px;
}

.property-supplemental-section{
  border-top:1px dashed var(--stroke);
  padding-top:12px;
}

.property-supplemental-title{
  margin:0 0 8px;
  font-size:14px;
  color:var(--text-muted,#5f6f8d);
}

.property-supplemental-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:8px;
}

.property-thumb{
  padding:0;
  border:1px solid #c8d4f2;
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
}

.property-thumb.is-active{
  box-shadow:0 0 0 2px rgba(42,99,204,0.32),0 0 14px rgba(86,166,255,0.3);
}

.property-thumb img{
  width:100%;
  height:70px;
  object-fit:cover;
  display:block;
}

.property-share-block h2{
  margin-top:0;
}

.property-location-map-wrap{
  margin-top:12px;
  border:1px solid var(--stroke);
  border-radius:12px;
  overflow:hidden;
  background:#f7f9ff;
}

.property-location-map{
  width:100%;
  height:280px;
  border:0;
  display:block;
}

.property-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.property-metric{
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:10px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.property-metric strong{
  font-family:'Orbitron',sans-serif;
  font-size:15px;
}

.sticky-cta-card{
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:999;
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  display:flex;
  align-items:center;
  gap:16px;
  transition:opacity .3s ease, transform .3s ease;
}

.sticky-cta-card[hidden]{
  opacity:0;
  transform:translateY(20px);
  pointer-events:none;
}

.sticky-cta-info{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.sticky-cta-price{
  font-family:'Orbitron',sans-serif;
  font-size:24px;
  font-weight:700;
  color:var(--text);
}

.sticky-cta-capacity{
  font-size:13px;
  color:var(--text-secondary);
}

.sticky-cta-card .btn{
  margin:0;
  white-space:nowrap;
}

@media (max-width: 860px){
  .property-share-price{
    font-size:36px;
  }
  .property-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sticky-cta-card{
    bottom:16px;
    right:16px;
    padding:12px;
    gap:12px;
  }
  .sticky-cta-price{
    font-size:20px;
  }
}

@media (max-width: 540px){
  .property-metrics{
    grid-template-columns:1fr;
  }
}

@keyframes spin{to{transform:rotate(360deg)}}
/* ===== Payments return page ===== */
.payment-status-card{max-width:760px;margin-inline:auto;padding:28px}
.payment-status-meta{margin-top:10px}
.payment-status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
/* ===== Politica page ===== */
.policy-container{max-width:900px}
.policy-article{padding:24px;background:#fff}
.policy-note{margin-top:20px}
.detail-bar.bar-h70{height:70%}
.detail-bar.bar-h45{height:45%}
.detail-bar.bar-h80{height:80%}
.detail-bar.bar-h60{height:60%}
.detail-bar.bar-h55{height:55%}
.detail-bar.bar-h68{height:68%}
.detail-bar.bar-h72{height:72%}

/* ===== Reservar page ===== */
.reservar-body{min-height:100vh}

.reservar-user-area{display:flex;align-items:center;gap:.75rem}

.reservar-auth-card{max-width:480px;margin:0 auto;text-align:center;padding:2rem}

.reservar-auth-btns{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}

.reservar-login-btn{display:flex!important;align-items:center;justify-content:center;gap:.6rem;width:100%}

.reservar-auth-switch{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}

.reservar-auth-switch .btn-secondary.is-active{background:#1f3b73;color:#fff;border-color:#1f3b73}

.reservar-auth-form{display:flex;flex-direction:column;gap:.75rem;text-align:left}

.reservar-auth-form .field{margin-bottom:0}

.reservar-loading-copy{text-align:center;opacity:.6}

.reservar-auth-feedback{min-height:1.2rem;opacity:.75}

.reservar-room-auth-hint{opacity:.7}

.reservar-notes-field{margin-top:1rem}

.reservar-policy-note{margin-top:1rem;opacity:.7}

.reservar-layout{display:flex;gap:1.5rem;align-items:flex-start}

.reservar-room-card{flex:0 0 260px;position:sticky;top:1.5rem}

.reservar-main{flex:1;min-width:0}

.reservar-main .reservation-steps{margin-bottom:1rem}

.reservar-main .reservation-step-panel.ring{margin-bottom:0}

.reservar-nav{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end;align-items:center}

.reservar-section-head{margin-bottom:1rem}


.reservar-main .availability-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-top:.5rem}

.reservar-main .availability-badge.ok{background:#dcfce7;color:#14532d;border:1px solid #86efac}

.reservar-main .availability-badge.busy{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}

@media(max-width:768px){
  .reservar-layout{flex-direction:column}
  .reservar-room-card{flex:none;width:100%;position:static}
  .reservar-nav{justify-content:stretch}
  .reservar-nav button,.reservar-nav a{flex:1}
}

/* ===== Institutional Landing (index) ===== */
.official-hero{
  grid-template-columns:1fr;
  justify-items:start;
}

.official-hero .que-hacemos-content{
  max-width:900px;
}

.compare-card ul{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:6px;
}

.narrative-block{
  display:grid;
  gap:10px;
}

.narrative-block p{
  margin:0;
}

.definition-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.definition-card{
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:24px;
  box-shadow:var(--shadow);
}

.definition-card .card-icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #F0F5FF, #E3EDFF);
  border-radius:12px;
  margin-bottom:20px;
  color:#1E4FAE;
  transition:all .3s ease;
}

.definition-card:hover .card-icon{
  background:linear-gradient(135deg, #1E4FAE, #2E7D6B);
  color:#fff;
  transform:scale(1.08) rotate(2deg);
}

.definition-card h3{
  margin-top:0;
  margin-bottom:16px;
  font-size:18px;
  line-height:1.35;
}

.definition-card p{
  margin-bottom:12px;
}

.definition-card p:last-child{
  margin-bottom:0;
}

.definition-note{
  margin:28px 4px 0;
  font-size:14px;
}

.flow-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-bottom:32px;
}

.flow-overview-card{
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:12px;
  padding:20px;
  box-shadow:var(--shadow);
}

.flow-overview-card .card-icon-small{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #F8FBFF, #EEF6FF);
  border-radius:10px;
  margin-bottom:16px;
  color:#1E4FAE;
  transition:all .28s ease;
}

.flow-overview-card:hover .card-icon-small{
  background:linear-gradient(135deg, #E3EDFF, #D4E5FF);
  transform:translateY(-2px) scale(1.05);
}

.flow-overview-card h3{
  margin:0 0 12px;
  font-size:17px;
  line-height:1.4;
}

.flow-overview-card p{
  margin:0;
  color:#3E4F6B;
}

.flow-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:32px;
}

.flow-step{
  border:1px solid var(--stroke);
  background:#fff;
  border-radius:12px;
  padding:16px;
  font-size:15px;
}

.flow-step strong{
  color:#0D1F4D;
  margin-right:6px;
}

.profile-grid,
.value-grid{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.profile-pill,
.value-chip{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--stroke);
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-weight:600;
}

.value-chip{
  background:#EDF4FF;
  border-color:#C7D8FF;
  color:#10203F;
}

.compare-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.compare-card{
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:16px;
  box-shadow:var(--shadow);
}

.compare-card h3{
  margin-top:0;
}

.compare-claim{
  margin:12px 2px 0;
  color:#1A315C;
  font-weight:700;
}

.compare-card.is-neutral{
  background:#fff;
}

.compare-card.is-highlight{
  background:linear-gradient(150deg,#F7FAFF,#E9F1FF);
  border-color:#BFD2FF;
}

.cta-panel{
  margin-top:16px;
  display:grid;
  gap:8px;
}

/* ═══════════════════════════════════════════════════════════
   PAYMENT STRIP  (formas-de-pago section + footer mini)
   ═══════════════════════════════════════════════════════════ */

/* Custom property – overridden in mini variant and media queries */
.payment-strip{
  --payment-logo-width: 160px;
  overflow: hidden;
  width: 100%;
  position: relative;
}

/* Gradient fade edges */
.payment-strip::before,
.payment-strip::after{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.payment-strip::before{
  left: 0;
  background: linear-gradient(to right, var(--bg, #f8f9fa), transparent);
}
.payment-strip::after{
  right: 0;
  background: linear-gradient(to left, var(--bg, #f8f9fa), transparent);
}

.payment-strip__slider{
  overflow: hidden;
}

.payment-strip__track{
  display: flex;
  width: max-content;
  animation: payment-scroll 30s linear infinite;
}

/* Pause on hover for accessibility */
.payment-strip:hover .payment-strip__track{
  animation-play-state: paused;
}

.payment-strip__logo{
  flex-shrink: 0;
  width: var(--payment-logo-width);
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.payment-strip__logo img{
  width: 100%;
  height: 56px;
  object-fit: contain;
  filter: grayscale(1) opacity(0.55);
  transition: filter .25s ease;
}

.payment-strip__logo img:hover{
  filter: grayscale(0) opacity(1);
}

@keyframes payment-scroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Full section wrapper (#formas-de-pago) ── */

.section-payments{
  padding: 64px 0;
  background: var(--bg, #f8f9fa);
}

.section-payments .section-header{
  text-align: center;
  margin-bottom: 40px;
}

.section-payments .section-header p{
  max-width: 480px;
  margin: 12px auto 0;
  color: var(--text-muted, #666);
  font-size: .95rem;
}

/* ── Mini variant (footer) ── */

.payment-strip--mini{
  --payment-logo-width: 72px;
}

.payment-strip--mini .payment-strip__logo img{
  height: 32px;
  filter: grayscale(1) opacity(0.35);
}

.payment-strip--mini .payment-strip__logo img:hover{
  filter: grayscale(1) opacity(0.55);
}

.payment-strip--mini::before,
.payment-strip--mini::after{
  width: 32px;
}

/* Footer payments container */
.footer-payments{
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 16px 0 8px;
  margin-top: 8px;
}

.footer-payments__label{
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .5;
  margin-bottom: 8px;
}

/* ── Inline variant inside FAQ card ── */

.payment-strip--inline{
  margin-top: 20px;
}

/* ── Responsive ── */

@media(max-width: 768px){
  :root{
    --payment-logo-width: calc(100vw / 4);
  }
  .payment-strip--mini{
    --payment-logo-width: 56px;
  }
  .payment-strip__logo img{
    height: 44px;
  }
}

@media(max-width: 480px){
  :root{
    --payment-logo-width: calc(100vw / 3);
  }
  .payment-strip__logo img{
    height: 36px;
  }
}

.cta-panel h3,
.cta-panel p{
  margin:0;
}

@media (max-width: 960px){
  .official-hero,
  .definition-grid,
  .flow-overview-grid,
  .flow-grid,
  .compare-grid{
    grid-template-columns:1fr;
  }
}

/* ===== Institutional Premium Layer ===== */
body.index-premium{
  background:
    radial-gradient(1200px 520px at 8% -8%, rgba(30,79,174,0.12), transparent 58%),
    radial-gradient(1000px 460px at 94% 0%, rgba(46,125,107,0.10), transparent 56%),
    linear-gradient(180deg, #F7F4EF 0%, #F4F1EC 100%);
}

body.index-premium .premium-section{
  position:relative;
  padding:84px 0;
}

body.index-premium .premium-section::before{
  content:"";
  position:absolute;
  inset:16px 18px;
  border-radius:22px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,0.45);
  background:linear-gradient(180deg, rgba(255,255,255,0.22), rgba(255,255,255,0));
}

body.index-premium .premium-hero{
  padding-top:96px;
  position:relative;
  overflow:hidden;
}

body.index-premium .premium-hero::after{
  content:"";
  position:absolute;
  top:-50%;
  right:-20%;
  width:80%;
  height:180%;
  background:radial-gradient(ellipse at center, rgba(30,79,174,0.08), transparent 70%);
  pointer-events:none;
  z-index:0;
}

body.index-premium .premium-hero .container{
  position:relative;
  z-index:1;
}

body.index-premium h1{
  font-size:clamp(36px, 4.2vw, 56px);
  line-height:1.08;
  letter-spacing:0.35px;
  color:#0D1F4D;
}

body.index-premium h2{
  font-size:clamp(27px, 2.4vw, 38px);
  color:#102447;
}

body.index-premium .lead{
  max-width:62ch;
  font-size:clamp(17px, 1.2vw, 19px);
  color:#33445F;
  line-height:1.65;
}

body.index-premium .hero-stats{
  display:flex;
  gap:32px;
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid rgba(198,212,238,0.5);
}

body.index-premium .stat-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}

body.index-premium .stat-item strong{
  font-size:28px;
  font-weight:700;
  color:#0D1F4D;
  letter-spacing:0.3px;
}

body.index-premium .stat-item span{
  font-size:13px;
  color:#5A6B84;
  text-transform:uppercase;
  letter-spacing:0.6px;
  font-weight:600;
}

body.index-premium .tag{
  background:linear-gradient(120deg, #FFFFFF, #EFF4FF);
  border-color:#C8D8F9;
  color:#163164;
  font-weight:700;
}

body.index-premium .menu a{
  position:relative;
  transition:color .25s ease;
}

body.index-premium .menu a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  background:linear-gradient(90deg, #1E4FAE, #2E7D6B);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .3s ease;
}

body.index-premium .menu a:hover,
body.index-premium .menu a.is-active{
  color:#10203F;
}

body.index-premium .menu a:hover::after,
body.index-premium .menu a.is-active::after{
  transform:scaleX(1);
}

body.index-premium .ring,
body.index-premium .definition-card,
body.index-premium .flow-step,
body.index-premium .compare-card,
body.index-premium .profile-pill,
body.index-premium .value-chip{
  position:relative;
  border:1px solid rgba(198,212,238,0.9);
  box-shadow:0 18px 36px rgba(11,28,66,0.11), inset 0 1px 0 rgba(255,255,255,0.8);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

body.index-premium .definition-card,
body.index-premium .flow-step,
body.index-premium .compare-card{
  transition:transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease, border-color .28s ease;
  will-change:transform;
}

body.index-premium .definition-card:hover,
body.index-premium .flow-step:hover,
body.index-premium .compare-card:hover{
  transform:translateY(-6px);
  border-color:#AFC5F1;
  box-shadow:0 28px 56px rgba(12,30,69,0.18), inset 0 2px 0 rgba(255,255,255,0.9);
}

body.index-premium .flow-grid{
  position:relative;
  gap:14px;
}

body.index-premium .flow-overview-card{
  border-color:#C4D4F3;
  background:linear-gradient(150deg, #FFFFFF, #F5F9FF);
  transition:transform .24s ease, box-shadow .24s ease;
}

body.index-premium .flow-overview-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 36px rgba(12,30,69,0.14), inset 0 1px 0 rgba(255,255,255,0.86);
}

body.index-premium .flow-grid::before{
  content:"";
  position:absolute;
  left:calc(50% - 1px);
  top:10px;
  bottom:10px;
  width:2px;
  background:linear-gradient(180deg, rgba(48,89,170,0), rgba(48,89,170,0.4), rgba(48,89,170,0));
}

body.index-premium .flow-step strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  margin-right:8px;
  background:linear-gradient(140deg, #0D1F4D, #1E4FAE);
  color:#fff;
  font-size:13px;
  box-shadow:0 0 0 2px rgba(234,240,255,0.8);
}

body.index-premium .profile-pill,
body.index-premium .value-chip{
  padding:10px 14px;
}

body.index-premium .value-chip{
  background:linear-gradient(120deg, #F4F8FF, #EAF2FF);
}

body.index-premium .cta-panel{
  background:linear-gradient(145deg, rgba(248,251,255,0.92), rgba(236,244,255,0.95));
  border-color:#BFD2FF;
  text-align:center;
  padding:48px 32px;
}

body.index-premium .cta-panel-final{
  background:linear-gradient(145deg, #FFFFFF, #F4F8FF);
  border:2px solid #AFC5F1;
  box-shadow:0 24px 48px rgba(11,28,66,0.14), inset 0 2px 0 rgba(255,255,255,0.9);
}

body.index-premium .cta-panel .cta-icon{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #1E4FAE, #2E7D6B);
  border-radius:50%;
  margin:0 auto 24px;
  color:#fff;
  box-shadow:0 8px 24px rgba(30,79,174,0.3), 0 0 0 8px rgba(30,79,174,0.08);
}

body.index-premium .cta-panel h3{
  font-size:clamp(24px, 2.2vw, 32px);
  margin-bottom:16px;
  color:#0D1F4D;
}

body.index-premium .cta-panel p{
  font-size:17px;
  color:#3E4F6B;
  max-width:56ch;
  margin:0 auto 28px;
  line-height:1.6;
}

body.index-premium .cta-panel-final .hero-actions{
  justify-content:center;
  width:100%;
  flex-wrap:wrap;
  gap:14px;
}

body.index-premium .btn-primary-hero,
body.index-premium .btn-cta-final{
  background:linear-gradient(135deg, #1E4FAE, #2E7D6B);
  color:#fff;
  font-weight:600;
  font-size:16px;
  padding:14px 32px;
  box-shadow:0 8px 20px rgba(30,79,174,0.28), 0 2px 6px rgba(0,0,0,0.08);
  transition:all .3s cubic-bezier(.22,.61,.36,1);
}

body.index-premium .btn-primary-hero:hover,
body.index-premium .btn-cta-final:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(30,79,174,0.35), 0 4px 10px rgba(0,0,0,0.12);
}

body.index-premium .btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

body.index-premium .btn::after{
  content:"";
  position:absolute;
  top:-130%;
  left:-42%;
  width:32%;
  height:320%;
  transform:rotate(20deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.42), transparent);
  transition:left .65s ease;
  pointer-events:none;
}

body.index-premium .btn:hover::after{
  left:122%;
}

body.index-premium [data-reveal]{
  opacity:1;
  transform:none;
}

body.index-premium.reveal-ready [data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--reveal-delay, 0s);
  will-change:opacity, transform;
}

body.index-premium.reveal-ready [data-reveal].is-revealed{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 960px){
  body.index-premium .hero-stats{
    gap:24px;
    flex-wrap:wrap;
  }

  body.index-premium .stat-item strong{
    font-size:24px;
  }

  body.index-premium .definition-card .card-icon,
  body.index-premium .flow-overview-card .card-icon-small{
    margin-bottom:16px;
  }

  body.index-premium .cta-panel{
    padding:36px 24px;
  }

  body.index-premium .cta-panel .cta-icon{
    width:64px;
    height:64px;
    margin-bottom:20px;
  }

  body.index-premium .premium-section{
    padding:66px 0;
  }

  body.index-premium .premium-section::before{
    inset:12px 10px;
    border-radius:16px;
  }

  body.index-premium .flow-grid::before{
    left:13px;
    top:16px;
    bottom:16px;
  }

  body.index-premium .menu a::after{
    bottom:-4px;
  }
}

@media (prefers-reduced-motion: reduce){
  body.index-premium [data-reveal],
  body.index-premium.reveal-ready [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }

  body.index-premium .btn::after,
  body.index-premium .definition-card,
  body.index-premium .flow-step,
  body.index-premium .compare-card,
  body.index-premium .card-icon,
  body.index-premium .card-icon-small{
    transition:none;
  }
}
.modal-booking-price__value{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.property-share-price::before{content:'Precio desde';display:block;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.property-share-price strong{display:block;font-weight:700}
.sticky-cta-price::before{content:'Precio desde';display:block;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.sticky-cta-price strong{display:block}
