/* ===========================================================================
   Inmotalia — Plantillas del front
   Todo va bajo .rscmb-tpl para que no se escape al tema del cliente.
   Reutiliza las variables de marca de frontend.css (--cmb-*).
   =========================================================================== */

.rscmb-tpl{
  --tpl-arena:#faf8f5;
  --tpl-linea:var(--cmb-border,#eae6df);
  --tpl-navy:var(--cmb-navy,#1a2744);
  --tpl-oro:var(--cmb-gold,#c9a96e);
  --tpl-t1:var(--cmb-text,#1a1a2e);
  --tpl-t2:var(--cmb-text-2,#5c5c70);
  --tpl-t3:var(--cmb-text-3,#9e9eb0);
  --tpl-ok:#1e7a4a;
  --tpl-no:#b3341f;
  font-family:var(--cmb-font,'Outfit',system-ui,sans-serif);
  color:var(--tpl-t1);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.rscmb-tpl *,.rscmb-tpl *::before,.rscmb-tpl *::after{box-sizing:border-box}
.rscmb-tpl img{max-width:100%;display:block}
.rscmb-tpl a{color:inherit}
.rscmb-tpl-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* ===========================================================================
   Blindaje frente a los reset de los temas
   Muchos temas pintan `button, [type="button"] {...}` — selector (0,1,1) que
   gana a una clase suelta (0,1,0) y deja los botones con el color del tema.
   Por eso va prefijado con .rscmb-tpl: asi sube a (0,2,0) y gana al tema.
   Y va AQUI ARRIBA, no al final, porque es un reset: cualquier componente de
   esta hoja tiene que poder ganarle. Un componente que pinte botones necesita
   por tanto (0,2,0) o mas — en la practica, prefijarse tambien con .rscmb-tpl.
   =========================================================================== */

.rscmb-tpl button,
.rscmb-tpl [type="button"],
.rscmb-tpl [type="submit"]{
  -webkit-appearance:none;appearance:none;
  border:0;border-radius:0;background:none;box-shadow:none;
  color:inherit;font:inherit;letter-spacing:inherit;text-transform:none;
  line-height:inherit;text-decoration:none;min-height:0;
}


/* --- Migas y cabecera ---------------------------------------------------- */
.rscmb-migas{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--tpl-t3);padding:22px 0 14px}
.rscmb-migas a{text-decoration:none;color:var(--tpl-t3)}
.rscmb-migas a:hover{color:var(--tpl-navy);text-decoration:underline}
.rscmb-migas span[aria-hidden]{opacity:.5}

.rscmb-tpl-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.rscmb-tpl h1.rscmb-titulo{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-weight:400;font-size:clamp(30px,4.2vw,46px);line-height:1.1;
  letter-spacing:-.01em;color:var(--tpl-navy);margin:0 0 6px;text-wrap:balance;
}
.rscmb-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--tpl-t2)}
.rscmb-sub .rscmb-loc{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--tpl-t1)}
.rscmb-sub .rscmb-punto{width:3px;height:3px;border-radius:50%;background:var(--tpl-t3)}
.rscmb-acciones{display:flex;gap:8px;flex-shrink:0}
.rscmb-accion{
  display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;
  border:1px solid var(--tpl-linea);background:#fff;color:var(--tpl-t1);
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;
  transition:border-color .18s,background .18s,transform .18s;
}
.rscmb-accion:hover{border-color:var(--tpl-navy);background:var(--tpl-arena)}
.rscmb-accion:active{transform:scale(.97)}
.rscmb-accion svg{width:15px;height:15px;flex-shrink:0}
.rscmb-accion.is-on{border-color:var(--tpl-oro);color:var(--tpl-navy)}
.rscmb-accion.is-on svg{fill:var(--tpl-oro);stroke:var(--tpl-oro)}

/* --- Galeria en mosaico -------------------------------------------------- */
.rscmb-gal{
  position:relative;display:grid;gap:8px;border-radius:18px;overflow:hidden;
  grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;
  height:clamp(260px,42vw,500px);background:var(--tpl-arena);
}
.rscmb-gal .rscmb-gal-i{position:relative;overflow:hidden;margin:0;padding:0;border:0;cursor:zoom-in;background:none;display:block}
.rscmb-gal .rscmb-gal-i:first-child{grid-row:span 2}
.rscmb-gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.rscmb-gal .rscmb-gal-i:hover img{transform:scale(1.045)}
.rscmb-gal--1{grid-template-columns:1fr;grid-template-rows:1fr}
.rscmb-gal--1 .rscmb-gal-i:first-child{grid-row:auto}
.rscmb-gal--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.rscmb-gal--2 .rscmb-gal-i:first-child{grid-row:auto}
.rscmb-gal--3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.rscmb-gal-todas{
  position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:10px;border:1px solid rgba(26,39,68,.14);
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  font:inherit;font-size:13px;font-weight:700;color:var(--tpl-navy);cursor:pointer;
  box-shadow:0 2px 10px rgba(26,39,68,.12);transition:transform .18s;
}
.rscmb-gal-todas:hover{transform:translateY(-1px)}
.rscmb-gal-vacia{display:flex;align-items:center;justify-content:center;height:280px;border-radius:18px;background:var(--tpl-arena);border:1px dashed var(--tpl-linea);color:var(--tpl-t3);font-size:14px}

/* Visor a pantalla completa */
.rscmb-visor{position:fixed;inset:0;z-index:99999;background:rgba(12,16,28,.95);display:none;align-items:center;justify-content:center;padding:56px 16px}
.rscmb-visor.is-open{display:flex}
.rscmb-visor img{max-width:min(1200px,94vw);max-height:86vh;object-fit:contain;border-radius:10px}
.rscmb-visor-x,.rscmb-visor-nav{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background .18s}
.rscmb-visor-x{top:16px;right:16px;width:42px;height:42px;font-size:22px;line-height:1}
.rscmb-visor-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:26px;line-height:1}
.rscmb-visor-nav.prev{left:16px}.rscmb-visor-nav.next{right:16px}
.rscmb-visor-x:hover,.rscmb-visor-nav:hover{background:rgba(255,255,255,.24)}
.rscmb-visor-n{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:13px;letter-spacing:.04em}

/* --- Rejilla de dos columnas -------------------------------------------- */
.rscmb-cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start;padding:34px 0 60px}
.rscmb-col-side{position:sticky;top:88px}

/* --- Bloques de contenido ------------------------------------------------ */
.rscmb-bloque{padding:28px 0;border-top:1px solid var(--tpl-linea)}
.rscmb-bloque:first-child{border-top:0;padding-top:0}
.rscmb-tpl h2.rscmb-h2{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-weight:400;font-size:26px;line-height:1.2;color:var(--tpl-navy);margin:0 0 16px;
}
.rscmb-tpl h3.rscmb-h3{font-size:15px;font-weight:700;color:var(--tpl-t1);margin:0 0 6px}

/* Fichas rapidas (huespedes, dormitorios...) */
.rscmb-datos{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;list-style:none}
.rscmb-dato{
  display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:12px;
  background:var(--tpl-arena);border:1px solid var(--tpl-linea);font-size:14px;
}
.rscmb-dato svg{width:18px;height:18px;color:var(--tpl-oro);flex-shrink:0}
.rscmb-dato b{font-weight:700;color:var(--tpl-t1)}
.rscmb-dato span{color:var(--tpl-t2)}

.rscmb-desc{font-size:15.5px;color:var(--tpl-t2);max-width:64ch}
.rscmb-desc p{margin:0 0 14px}
.rscmb-desc p:last-child{margin-bottom:0}

/* Equipamiento */
.rscmb-amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 24px;margin:0;padding:0;list-style:none}
.rscmb-amen li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--tpl-t1)}
.rscmb-amen .rscmb-chip{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--tpl-arena);border:1px solid var(--tpl-linea);font-size:16px;line-height:1;
}
.rscmb-amen .rscmb-chip svg{width:19px;height:19px;color:var(--tpl-navy)}
.rscmb-amen li.is-off{color:var(--tpl-t3)}
.rscmb-mas{margin-top:18px}

/* Calendario */
.rscmb-cals{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px}
.rscmb-cal-mes{font-size:14px;font-weight:700;color:var(--tpl-navy);text-align:center;margin-bottom:10px;text-transform:capitalize}
.rscmb-cal-rej{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.rscmb-tpl .rscmb-cal-dow{font-size:11px;font-weight:700;color:var(--tpl-t3);text-align:center;padding-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.rscmb-tpl .rscmb-cal-d{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font:inherit;font-size:13px;border-radius:8px;color:var(--tpl-t1);
  padding:0;margin:0;background:none;border:1px solid transparent;
  -webkit-appearance:none;appearance:none;position:relative;
  transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease;
}
.rscmb-tpl .rscmb-cal-d.libre{background:#fff;border-color:var(--tpl-linea);cursor:pointer}
.rscmb-tpl .rscmb-cal-d.libre:hover:not(:disabled){border-color:var(--tpl-navy);transform:translateY(-1px)}
.rscmb-tpl .rscmb-cal-d.ocupada{background:var(--tpl-arena);color:var(--tpl-t3);text-decoration:line-through}
.rscmb-tpl .rscmb-cal-d.pasada{color:#c9c9d4}
.rscmb-tpl .rscmb-cal-d.vacia{visibility:hidden}
.rscmb-tpl .rscmb-cal-d:disabled{cursor:default}
.rscmb-tpl .rscmb-cal-d:focus-visible{outline:2px solid var(--tpl-navy);outline-offset:2px;z-index:1}

/* Un dia ocupado si sirve de salida: esa noche no se duerme. */
.rscmb-tpl .rscmb-cal-d.solo-salida{
  cursor:pointer;text-decoration:none;color:var(--tpl-t1);
  background:linear-gradient(135deg,#fff 0 48%,var(--tpl-arena) 52% 100%);
  border-color:var(--tpl-linea);
}

/* Tramo elegido */
.rscmb-tpl .rscmb-cal-d.previo{background:var(--tpl-arena);border-color:var(--tpl-linea)}
.rscmb-tpl .rscmb-cal-d.en-rango{background:#eef1f7;border-color:transparent;color:var(--tpl-navy);border-radius:0}
.rscmb-tpl .rscmb-cal-d.sel-ent,.rscmb-tpl .rscmb-cal-d.sel-sal{
  background:var(--tpl-navy);border-color:var(--tpl-navy);color:#fff;font-weight:700;
}
.rscmb-tpl .rscmb-cal-d.sel-ent{border-radius:8px 0 0 8px}
.rscmb-tpl .rscmb-cal-d.sel-sal{border-radius:0 8px 8px 0}
.rscmb-tpl .rscmb-cal-d.sel-ent.sel-sal{border-radius:8px}

/* Extremos de fila: si el tramo cruza de semana, la banda se cierra en redondo
   a los lados en vez de quedar en pico. Los 7 primeros hijos son las cabeceras
   L..D, por eso la primera casilla es el hijo 8. */
.rscmb-tpl .rscmb-cal-rej>:nth-child(7n+8).en-rango,
.rscmb-tpl .rscmb-cal-rej>:nth-child(7n+8).sel-sal{border-top-left-radius:8px;border-bottom-left-radius:8px}
.rscmb-tpl .rscmb-cal-rej>:nth-child(7n+14).en-rango,
.rscmb-tpl .rscmb-cal-rej>:nth-child(7n+14).sel-ent{border-top-right-radius:8px;border-bottom-right-radius:8px}

/* Cabecera, navegacion y resumen */
.rscmb-cal-cab{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rscmb-cal-cab .rscmb-h2{margin-bottom:0}
.rscmb-cal-nav{display:flex;gap:6px;flex:none}
.rscmb-tpl .rscmb-cal-fl{
  width:34px;height:34px;display:grid;place-items:center;padding:0;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:50%;
  color:var(--tpl-navy);cursor:pointer;transition:border-color .12s ease,opacity .12s ease;
}
.rscmb-tpl .rscmb-cal-fl svg{width:17px;height:17px}
.rscmb-tpl .rscmb-cal-fl:hover:not(:disabled){border-color:var(--tpl-navy)}
.rscmb-tpl .rscmb-cal-fl:disabled{opacity:.32;cursor:default}
.rscmb-cal-sel{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 18px}
.rscmb-cal-ayuda{margin:0;font-size:13.5px;color:var(--tpl-t2)}
.rscmb-cal-ayuda.is-on{color:var(--tpl-navy);font-weight:600}
.rscmb-tpl .rscmb-cal-limpiar{
  font:inherit;font-size:13px;font-weight:600;color:var(--tpl-t2);
  background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;
}
.rscmb-tpl .rscmb-cal-limpiar:hover{color:var(--tpl-navy)}
.rscmb-leyenda .l-sel{background:var(--tpl-navy)}

@media (prefers-reduced-motion:reduce){
  .rscmb-tpl .rscmb-cal-d,.rscmb-tpl .rscmb-cal-fl{transition:none}
  .rscmb-tpl .rscmb-cal-d.libre:hover:not(:disabled){transform:none}
}
.rscmb-leyenda{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--tpl-t2)}
.rscmb-leyenda i{width:13px;height:13px;border-radius:4px;display:inline-block;margin-right:7px;vertical-align:-2px}
.rscmb-leyenda .l-libre{background:#fff;border:1px solid var(--tpl-linea)}
.rscmb-leyenda .l-ocupada{background:var(--tpl-arena);border:1px solid var(--tpl-linea)}

/* Ubicacion */
.rscmb-mapa{border-radius:14px;overflow:hidden;border:1px solid var(--tpl-linea);background:var(--tpl-arena)}
.rscmb-mapa iframe{width:100%;height:330px;border:0;display:block}
.rscmb-mapa-nota{font-size:13px;color:var(--tpl-t3);margin-top:10px}

/* Condiciones */
.rscmb-cond{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}
.rscmb-cond-i{padding:16px 18px;border:1px solid var(--tpl-linea);border-radius:12px;background:#fff}
.rscmb-cond-i .rscmb-cond-l{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tpl-oro);margin-bottom:6px}
.rscmb-cond-i .rscmb-cond-v{font-size:15px;font-weight:600;color:var(--tpl-t1)}

/* --- Tarjeta de reserva -------------------------------------------------- */
.rscmb-card{
  border:1px solid var(--tpl-linea);border-radius:18px;background:#fff;padding:24px;
  box-shadow:0 10px 34px rgba(26,39,68,.09);
}
.rscmb-card-precio{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.rscmb-card-precio b{font-size:28px;font-weight:700;color:var(--tpl-navy);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.rscmb-card-precio span{font-size:14px;color:var(--tpl-t2)}
.rscmb-card-nota{font-size:13px;color:var(--tpl-t3);margin-bottom:18px}
.rscmb-campos{border:1px solid var(--tpl-linea);border-radius:12px;overflow:hidden}
.rscmb-fila{display:grid;grid-template-columns:1fr 1fr}
.rscmb-fila+.rscmb-fila{border-top:1px solid var(--tpl-linea)}
.rscmb-campo{padding:11px 14px;position:relative}
.rscmb-campo+.rscmb-campo{border-left:1px solid var(--tpl-linea)}
.rscmb-campo label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tpl-t3);margin-bottom:3px}
.rscmb-campo input,.rscmb-campo select{
  width:100%;border:0;padding:0;background:none;font:inherit;font-size:14.5px;color:var(--tpl-t1);
  outline:none;-webkit-appearance:none;appearance:none;
}
.rscmb-campo input:focus-visible,.rscmb-campo select:focus-visible{outline:2px solid var(--tpl-oro);outline-offset:4px;border-radius:3px}
.rscmb-campo--full{grid-column:1/-1}
.rscmb-fila--1{grid-template-columns:1fr}

.rscmb-estado{margin-top:12px;font-size:13.5px;font-weight:600;display:none;align-items:center;gap:8px}
.rscmb-estado.is-on{display:flex}
.rscmb-estado.ok{color:var(--tpl-ok)}
.rscmb-estado.no{color:var(--tpl-no)}
.rscmb-estado .rscmb-spin{width:14px;height:14px;border:2px solid var(--tpl-linea);border-top-color:var(--tpl-navy);border-radius:50%;animation:rscmb-gira .7s linear infinite}
@keyframes rscmb-gira{to{transform:rotate(360deg)}}

.rscmb-desglose{margin-top:16px;display:none}
.rscmb-desglose.is-on{display:block}
.rscmb-linea{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--tpl-t2);padding:7px 0}
.rscmb-linea span:last-child{font-variant-numeric:tabular-nums;color:var(--tpl-t1)}
.rscmb-linea.total{border-top:1px solid var(--tpl-linea);margin-top:8px;padding-top:14px;font-size:16px;font-weight:700;color:var(--tpl-navy)}
.rscmb-linea.total span:last-child{color:var(--tpl-navy)}

.rscmb-btn{
  display:block;width:100%;margin-top:18px;padding:15px 20px;border:0;border-radius:12px;
  background:var(--tpl-navy);color:#fff;font:inherit;font-size:15.5px;font-weight:700;
  cursor:pointer;text-align:center;text-decoration:none;
  transition:background .2s,transform .18s,box-shadow .2s;
}
.rscmb-btn:hover{background:var(--cmb-navy-2,#243357);box-shadow:0 8px 22px rgba(26,39,68,.24)}
.rscmb-btn:active{transform:scale(.988)}
.rscmb-btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
.rscmb-btn--fant{background:#fff;color:var(--tpl-navy);border:1.5px solid var(--tpl-navy)}
.rscmb-btn--fant:hover{background:var(--tpl-arena);box-shadow:none}
.rscmb-legal{margin-top:12px;font-size:12.5px;color:var(--tpl-t3);text-align:center}
.rscmb-exito{margin-top:16px;padding:16px;border-radius:12px;background:#f0f8f3;border:1px solid #cde8d8;color:#14603a;font-size:14px}
.rscmb-exito b{font-size:16px;letter-spacing:.02em}

.rscmb-conf{margin-top:20px;padding-top:18px;border-top:1px solid var(--tpl-linea);display:flex;flex-direction:column;gap:9px}
.rscmb-conf div{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--tpl-t2)}
.rscmb-conf svg{width:15px;height:15px;color:var(--tpl-ok);flex-shrink:0}

/* --- Barra fija de movil ------------------------------------------------- */
.rscmb-mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;display:none;
  align-items:center;justify-content:space-between;gap:14px;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border-top:1px solid var(--tpl-linea);box-shadow:0 -4px 20px rgba(26,39,68,.09);
}
/* El precio manda su ancho: si se le deja encoger, "EUR 95" parte en dos
   lineas y la barra pasa de 70 a 119px de alto comiendose la pagina. */
.rscmb-mbar-p{flex:0 0 auto;white-space:nowrap}
.rscmb-mbar-p b{display:block;font-size:18px;font-weight:700;color:var(--tpl-navy);line-height:1.2}
.rscmb-mbar-p span{font-size:12.5px;color:var(--tpl-t3)}
.rscmb-mbar .rscmb-btn{margin:0;flex:1 1 auto;min-width:0;max-width:62%;padding:13px 22px}

/* --- Adaptacion a pantallas pequenas ------------------------------------- */
@media (max-width:980px){
  .rscmb-cols{grid-template-columns:1fr;gap:0;padding:26px 0 96px}
  .rscmb-col-side{position:static;margin-top:8px}
  .rscmb-col-side .rscmb-card{border-radius:16px}
  .rscmb-mbar{display:flex}
  .rscmb-gal{grid-template-columns:1fr;grid-template-rows:1fr;height:clamp(230px,58vw,340px)}
  .rscmb-gal .rscmb-gal-i:first-child{grid-row:auto}
  .rscmb-gal .rscmb-gal-i:not(:first-child){display:none}
  .rscmb-tpl-head{align-items:flex-start}
  .rscmb-acciones{width:100%}
}
@media (max-width:520px){
  .rscmb-tpl-wrap{padding:0 16px}
  .rscmb-amen{grid-template-columns:1fr 1fr;gap:12px 14px}
  .rscmb-amen li{font-size:13.5px}
  .rscmb-datos{gap:8px}
  .rscmb-dato{padding:9px 12px;font-size:13px}
  .rscmb-visor{padding:44px 8px}
}

@media (prefers-reduced-motion:reduce){
  .rscmb-tpl *{transition:none!important;animation:none!important}
}

/* --- Listado (plantilla mosaico, reutiliza las mismas piezas) ------------- */
.rscmb-mosaico{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px 24px}
.rscmb-tarjeta{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.rscmb-tarjeta-img{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--tpl-arena)}
.rscmb-tarjeta-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.rscmb-tarjeta:hover .rscmb-tarjeta-img img{transform:scale(1.05)}
.rscmb-tarjeta-tag{position:absolute;top:12px;left:12px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.94);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tpl-navy)}
.rscmb-tarjeta-b{padding:14px 2px 0}
.rscmb-tarjeta-t{font-size:16px;font-weight:600;color:var(--tpl-t1);margin:0 0 3px;line-height:1.3}
.rscmb-tarjeta-l{font-size:13.5px;color:var(--tpl-t3);margin:0 0 9px}
.rscmb-tarjeta-p{font-size:15px;color:var(--tpl-t1)}
.rscmb-tarjeta-p b{font-weight:700;color:var(--tpl-navy)}

.rscmb-tpl svg{width:18px;height:18px;flex:0 0 auto}

.rscmb-tpl .rscmb-accion,
.rscmb-tpl [type="button"].rscmb-accion{
  border:1px solid var(--tpl-linea);border-radius:999px;background:#fff;
  color:var(--tpl-t1);padding:9px 14px;font-size:13px;font-weight:600;
}
.rscmb-tpl .rscmb-accion:hover{border-color:var(--tpl-navy);background:var(--tpl-arena)}
.rscmb-tpl .rscmb-accion svg{width:15px;height:15px}
.rscmb-tpl .rscmb-accion.is-on{border-color:var(--tpl-oro);color:var(--tpl-navy)}

.rscmb-tpl .rscmb-sub .rscmb-loc svg{width:16px;height:16px;color:var(--tpl-oro)}
.rscmb-tpl .rscmb-dato svg{width:18px;height:18px}
.rscmb-tpl .rscmb-amen .rscmb-chip svg{width:19px;height:19px}
.rscmb-tpl .rscmb-conf svg{width:15px;height:15px}

.rscmb-tpl .rscmb-gal-i,
.rscmb-tpl [type="button"].rscmb-gal-i{border:0;border-radius:0;padding:0;background:none;cursor:zoom-in}
.rscmb-tpl .rscmb-gal-todas,
.rscmb-tpl [type="button"].rscmb-gal-todas{
  border:1px solid rgba(26,39,68,.14);border-radius:10px;padding:10px 16px;
  background:rgba(255,255,255,.94);color:var(--tpl-navy);font-size:13px;font-weight:700;
}
.rscmb-tpl .rscmb-gal-todas svg{width:16px;height:16px}

.rscmb-tpl .rscmb-btn,
.rscmb-tpl a.rscmb-btn,
.rscmb-tpl [type="button"].rscmb-btn{
  display:block;width:100%;padding:15px 20px;border:0;border-radius:12px;
  background:var(--tpl-navy);color:#fff;font-size:15.5px;font-weight:700;
  text-align:center;text-decoration:none;cursor:pointer;
}
.rscmb-tpl a.rscmb-btn{margin-top:12px}
.rscmb-tpl .rscmb-btn:hover{background:var(--cmb-navy-2,#243357);color:#fff}
.rscmb-tpl .rscmb-btn[disabled]{opacity:.55;cursor:not-allowed}
.rscmb-tpl .rscmb-btn--fant,
.rscmb-tpl a.rscmb-btn--fant{background:#fff;color:var(--tpl-navy);border:1.5px solid var(--tpl-navy)}
.rscmb-tpl .rscmb-btn--fant:hover{background:var(--tpl-arena);color:var(--tpl-navy)}

.rscmb-tpl .rscmb-visor-x,
.rscmb-tpl .rscmb-visor-nav{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px}
.rscmb-tpl .rscmb-visor-x:hover,.rscmb-tpl .rscmb-visor-nav:hover{background:rgba(255,255,255,.24);color:#fff}

.rscmb-tpl .rscmb-campo input,
.rscmb-tpl .rscmb-campo select{
  border:0;background:none;padding:0;margin:0;box-shadow:none;
  font:inherit;font-size:14.5px;color:var(--tpl-t1);width:100%;min-height:0;
  -webkit-appearance:none;appearance:none;
}
.rscmb-tpl .rscmb-tarjeta,
.rscmb-tpl a.rscmb-tarjeta{text-decoration:none;color:inherit;box-shadow:none}


/* ========================================================================== */
/* Confirmacion de reserva (plantilla "Itinerario") y solicitud ("Asesor")     */
/* ========================================================================== */

/* Etiqueta corta en mayusculas: la misma de la tarjeta de reserva. */
.rscmb-tpl .rscmb-eti{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--tpl-t3);margin-bottom:3px;
}

/* Estado vacio compartido (reserva no encontrada, solicitud enviada). */
.rscmb-tpl .rscmb-vacio{
  max-width:520px;margin:0 auto;padding:72px 20px 84px;text-align:center;
}
.rscmb-tpl .rscmb-vacio svg{width:44px;height:44px;color:var(--tpl-oro);margin-bottom:18px}
.rscmb-tpl .rscmb-vacio h1,
.rscmb-tpl .rscmb-vacio h2{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(28px,4vw,36px);font-weight:600;color:var(--tpl-navy);
  line-height:1.15;margin:0 0 10px;text-wrap:balance;
}
.rscmb-tpl .rscmb-vacio p{font-size:15.5px;color:var(--tpl-t2);margin:0 0 26px;line-height:1.6}
.rscmb-tpl .rscmb-vacio .rscmb-btn{width:auto;display:inline-flex;padding:13px 30px}

.rscmb-conf-wrap{max-width:680px;padding-top:44px;padding-bottom:80px}

.rscmb-conf-hero{text-align:center;margin-bottom:32px}
.rscmb-conf-tic{
  display:inline-flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;margin-bottom:18px;
  background:var(--cmb-green-l,#e8f6ee);color:var(--cmb-green,#1e7a4a);
}
.rscmb-tpl .rscmb-conf-tic svg{width:28px;height:28px;stroke-width:2.2}
.rscmb-conf-hero h1,
.rscmb-conf-hero h2{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(30px,5vw,42px);font-weight:600;color:var(--tpl-navy);
  line-height:1.1;margin:0 0 10px;letter-spacing:-.01em;text-wrap:balance;
}
.rscmb-conf-hero p{font-size:15.5px;color:var(--tpl-t2);margin:0;line-height:1.6}
.rscmb-conf-hero b{color:var(--tpl-t1);font-weight:600}

.rscmb-conf-card{
  background:#fff;border:1px solid var(--tpl-linea);border-radius:18px;
  overflow:hidden;box-shadow:0 6px 26px rgba(26,39,68,.06);margin-bottom:34px;
}
.rscmb-conf-ref{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 24px;border-bottom:1px solid var(--tpl-linea);
}
.rscmb-conf-ref b{
  display:block;font-size:22px;font-weight:700;color:var(--tpl-navy);
  letter-spacing:.01em;font-variant-numeric:tabular-nums;
}
.rscmb-conf-prop{
  display:flex;align-items:center;gap:14px;padding:16px 24px;
  border-bottom:1px solid var(--tpl-linea);
}
.rscmb-conf-prop img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.rscmb-conf-prop strong{display:block;font-size:15.5px;color:var(--tpl-t1);line-height:1.35}
.rscmb-conf-prop span{font-size:13px;color:var(--tpl-t3)}
.rscmb-conf-fechas{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--tpl-linea);
}
.rscmb-conf-fechas>div{padding:16px 24px}
.rscmb-conf-fechas>div+div{border-left:1px solid var(--tpl-linea)}
.rscmb-conf-fechas b{font-size:14.5px;font-weight:600;color:var(--tpl-t1);text-transform:capitalize}
.rscmb-conf-total{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;background:var(--tpl-arena);
}
.rscmb-conf-total span{font-size:14px;color:var(--tpl-t2)}
.rscmb-conf-total b{font-size:21px;font-weight:700;color:var(--tpl-navy);font-variant-numeric:tabular-nums}

.rscmb-conf-pasos{margin-bottom:30px}
.rscmb-conf-pasos h2{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-size:25px;font-weight:600;color:var(--tpl-navy);margin:0 0 18px;
}
.rscmb-conf-pasos ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rscmb-conf-pasos li{display:flex;gap:16px;align-items:flex-start;padding:0 0 20px;position:relative}
.rscmb-conf-pasos li:not(:last-child)::before{
  content:'';position:absolute;left:14px;top:30px;bottom:2px;width:1.5px;background:var(--tpl-linea);
}
.rscmb-conf-n{
  flex:0 0 auto;width:29px;height:29px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--tpl-navy);color:#fff;font-size:13px;font-weight:700;
  position:relative;z-index:1;
}
.rscmb-conf-pasos strong{display:block;font-size:15px;color:var(--tpl-t1);margin-bottom:2px}
.rscmb-conf-pasos li span:not(.rscmb-conf-n){font-size:13.5px;color:var(--tpl-t2);line-height:1.55}

.rscmb-conf-acciones{display:flex;gap:10px;flex-wrap:wrap}
.rscmb-tpl .rscmb-conf-acciones .rscmb-accion{text-decoration:none}

/* --- Solicitud de compra o visita ---------------------------------------- */
.rscmb-sol{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;
  align-items:start;padding:44px 0 80px;
}
.rscmb-sol-form h1,
.rscmb-sol-form h2{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(28px,4.4vw,40px);font-weight:600;color:var(--tpl-navy);
  line-height:1.1;margin:0 0 8px;letter-spacing:-.01em;
}
.rscmb-sol-sub{font-size:15px;color:var(--tpl-t2);margin:0 0 26px;line-height:1.6;max-width:56ch}

.rscmb-tpl .rscmb-form{display:flex;flex-direction:column;gap:16px}
.rscmb-form-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rscmb-tpl .rscmb-form label{display:block}
.rscmb-tpl .rscmb-form input,
.rscmb-tpl .rscmb-form textarea{
  width:100%;padding:11px 13px;font:inherit;font-size:14.5px;color:var(--tpl-t1);
  background:#fff;border:1.5px solid var(--tpl-linea);border-radius:10px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.rscmb-tpl .rscmb-form textarea{resize:vertical;min-height:96px;line-height:1.55}
.rscmb-tpl .rscmb-form input:focus,
.rscmb-tpl .rscmb-form textarea:focus{
  outline:none;border-color:var(--tpl-navy);box-shadow:0 0 0 3px rgba(26,39,68,.09);
}
.rscmb-tpl .rscmb-form .rscmb-btn{margin-top:6px}
.rscmb-tpl .rscmb-nota{font-size:11.5px;color:var(--tpl-t3);text-align:center;margin:0}
.rscmb-aviso-err{
  padding:12px 15px;background:#fff2f2;border:1px solid #f0b6b6;border-radius:10px;
  color:#b02a2a;font-size:13.5px;margin-bottom:18px;
}

.rscmb-sol-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.rscmb-sol-prop{padding:0;overflow:hidden}
.rscmb-sol-prop img{width:100%;height:150px;object-fit:cover;display:block}
.rscmb-sol-prop-b{padding:16px 18px 18px}
.rscmb-sol-prop-b strong{display:block;font-size:16px;color:var(--tpl-t1);line-height:1.3}
.rscmb-sol-zona{display:block;font-size:13px;color:var(--tpl-t3);margin-top:2px}
.rscmb-sol-precio{
  font-size:22px;font-weight:700;color:var(--tpl-navy);margin-top:10px;
  font-variant-numeric:tabular-nums;
}
.rscmb-sol-datos{list-style:none;display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;padding:0}
.rscmb-sol-datos li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tpl-t2)}
.rscmb-tpl .rscmb-sol-datos svg{width:15px;height:15px;color:var(--tpl-oro)}

@media (max-width:980px){
  .rscmb-sol{grid-template-columns:1fr;gap:30px;padding:26px 0 60px}
  .rscmb-sol-side{position:static;order:-1}
  .rscmb-sol-prop img{height:180px}
}
@media (max-width:520px){
  .rscmb-form-2{grid-template-columns:1fr}
  .rscmb-conf-fechas{grid-template-columns:1fr}
  .rscmb-conf-fechas>div+div{border-left:0;border-top:1px solid var(--tpl-linea)}
  .rscmb-conf-ref,.rscmb-conf-prop,.rscmb-conf-total,.rscmb-conf-fechas>div{padding-left:18px;padding-right:18px}
  /* La referencia no debe partirse: es lo que el huesped copia al pagar. */
  .rscmb-conf-ref b{font-size:18px;white-space:nowrap}
}


/* ========================================================================== */
/* Portada a pantalla completa (plantilla "Panoramica")                        */
/* ========================================================================== */

/* La portada rompe la caja del tema para ir a sangre. Se hace con margenes
   negativos en vez de 100vw para que no aparezca scroll horizontal cuando el
   navegador ensena la barra lateral. */
.rscmb-portada{
  position:relative;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:auto;
  /* Tope de 500px: a pantalla completa quedaba un desierto de foto encima del
     titulo. Se queda en 500 o en lo que mida la pantalla si es mas baja. */
  height:min(500px,100svh);
  min-height:min(500px,100vh);
  max-height:500px;
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;background:var(--tpl-navy);
  isolation:isolate;
}
.rscmb-portada--lisa{
  background:linear-gradient(135deg,var(--tpl-navy) 0%,#243357 60%,#2f4066 100%);
  height:min(420px,100svh);min-height:auto;
}

.rscmb-portada-fotos{position:absolute;inset:0;z-index:0}
.rscmb-portada-f{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.1s ease;transform:scale(1.04);
}
.rscmb-portada-f.is-on{opacity:1;animation:rscmb-respira 14s ease-in-out infinite alternate}
@keyframes rscmb-respira{from{transform:scale(1.04)}to{transform:scale(1.11)}}

/* Dos velos: uno arriba para que se lea la cabecera del sitio, otro abajo
   para el titulo. Sin el de arriba el menu blanco se pierde en las fotos claras. */
.rscmb-portada-velo{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(12,18,32,.62) 0%,rgba(12,18,32,.16) 22%,rgba(12,18,32,0) 40%),
    linear-gradient(0deg,rgba(12,18,32,.86) 0%,rgba(12,18,32,.45) 32%,rgba(12,18,32,0) 62%);
}

.rscmb-portada-txt{position:relative;z-index:2;padding:0 0 clamp(30px,4vh,46px)}
.rscmb-tpl .rscmb-migas--claras{color:rgba(255,255,255,.66);margin-bottom:14px}
.rscmb-tpl .rscmb-migas--claras a{color:rgba(255,255,255,.86)}
.rscmb-tpl .rscmb-migas--claras a:hover{color:#fff}

.rscmb-portada-t{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(34px,6.2vw,68px);font-weight:600;color:#fff;
  line-height:1.03;letter-spacing:-.015em;margin:0 0 12px;max-width:18ch;
  text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.35);
}
.rscmb-portada-sub{
  display:flex;align-items:center;flex-wrap:wrap;gap:9px;
  font-size:15px;color:rgba(255,255,255,.9);margin:0 0 26px;
}
.rscmb-portada-sub span{display:inline-flex;align-items:center;gap:7px}
.rscmb-tpl .rscmb-portada-sub svg{width:16px;height:16px;color:var(--tpl-oro)}
.rscmb-portada-sub .rscmb-pt{color:rgba(255,255,255,.4)}

/* Precio y botones a la izquierda: la esquina derecha se reserva para los
   mandos del pase de fotos, que antes se solapaban con el ultimo boton. */
.rscmb-portada-pie{
  display:flex;align-items:flex-end;justify-content:flex-start;
  gap:14px 26px;flex-wrap:wrap;padding-right:200px;
}
.rscmb-portada-precio b{
  display:block;font-size:clamp(26px,3.6vw,38px);font-weight:700;color:#fff;
  line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;
}
.rscmb-portada-precio span{font-size:13.5px;color:rgba(255,255,255,.72)}
.rscmb-portada-acc{display:flex;gap:10px;flex-wrap:wrap}

/* Botones sobre la foto: cristal, no relleno solido. */
.rscmb-tpl .rscmb-accion--claro{
  background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.34);color:#fff;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
}
.rscmb-tpl .rscmb-accion--claro:hover{background:rgba(255,255,255,.24);border-color:#fff}
.rscmb-tpl .rscmb-accion--claro svg{color:#fff}

.rscmb-portada-nav{
  position:absolute;z-index:3;right:clamp(18px,4vw,44px);bottom:clamp(30px,4vh,46px);
  display:flex;align-items:center;gap:12px;
}
.rscmb-tpl .rscmb-portada-fl{
  width:38px;height:38px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.34);
  color:#fff;font-size:21px;line-height:1;cursor:pointer;padding:0 0 2px;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  transition:background .18s ease,transform .18s ease;
}
.rscmb-tpl .rscmb-portada-fl:hover{background:rgba(255,255,255,.26)}
.rscmb-tpl .rscmb-portada-fl:active{transform:scale(.93)}
.rscmb-portada-puntos{display:flex;gap:7px}
.rscmb-tpl .rscmb-portada-pt{
  width:7px;height:7px;border-radius:50%;padding:0;border:0;cursor:pointer;
  background:rgba(255,255,255,.42);transition:background .2s ease,width .2s ease;
}
.rscmb-tpl .rscmb-portada-pt.is-on{background:#fff;width:20px;border-radius:4px}

/* Indicador de que hay mas debajo. */
.rscmb-portada-baja{
  position:absolute;z-index:3;left:50%;bottom:14px;translate:-50% 0;
  width:1px;height:34px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.7));
  animation:rscmb-baja 2.4s ease-in-out infinite;
}
@keyframes rscmb-baja{0%,100%{opacity:.25;height:22px}50%{opacity:.9;height:38px}}

/* La ficha con portada arranca pegada a ella. */
.rscmb-tpl-panoramica .rscmb-cols{padding-top:clamp(30px,5vh,52px)}

@media (max-width:980px){
  .rscmb-portada-pie{padding-right:0}
  .rscmb-portada-pie{align-items:flex-start;flex-direction:column;gap:16px}
  .rscmb-portada-nav{bottom:auto;top:clamp(84px,14vh,130px);right:14px}
  .rscmb-portada-baja{display:none}
}
@media (max-width:520px){
  /* Al envolverse, los puntos de separacion quedaban colgando al final de la
     linea. En pantalla estrecha se quitan y separa el hueco del flex. */
  .rscmb-portada-sub{gap:6px 14px}
  .rscmb-portada-sub .rscmb-pt{display:none}
  .rscmb-portada-acc{width:100%}
  .rscmb-tpl .rscmb-portada-acc .rscmb-accion{flex:1 1 auto;justify-content:center}
  .rscmb-tpl .rscmb-portada-fl{display:none}
}
@media (prefers-reduced-motion:reduce){
  .rscmb-portada-f.is-on{animation:none;transform:none}
  .rscmb-portada-baja{animation:none}
}

/* ========================================================================== */
/* Cabecera del sitio en las paginas de Inmotalia                              */
/* ========================================================================== */

/* La cabecera del sitio es una barra fija y transparente con el logo y el menu
   en blanco: se disena para ir encima de una portada oscura, y solo se vuelve
   solida al bajar. En una pagina clara y sin portada queda blanco sobre blanco
   y no se ve nada. En las paginas de Inmotalia que no llevan portada se pinta
   desde el primer momento, con el mismo aspecto que ya tiene al bajar. */
body.rscmb-sin-portada .rscmb-header{
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 #E5E7EB;
}
/* El color del menu lo fija Elementor con un selector por widget del tipo
   ".elementor-11 .elementor-element-rhdr0007 ...", que pesa mas que cualquier
   selector razonable escrito aqui. Por eso va con !important, igual que ya hace
   la propia cabecera para su estado con fondo blanco: no es un atajo, es la
   unica forma de ganarle sin escribir el id del widget de este sitio concreto. */
body.rscmb-sin-portada .rscmb-header .elementor-nav-menu--main .elementor-item,
body.rscmb-sin-portada .rscmb-header .elementor-nav-menu--main .elementor-item:focus,
body.rscmb-sin-portada .rscmb-header .elementor-nav-menu a,
body.rscmb-sin-portada .rscmb-header .elementor-menu-toggle,
body.rscmb-sin-portada .rscmb-header .rscmb-logo .elementor-heading-title,
body.rscmb-sin-portada .rscmb-header .rscmb-logo .elementor-heading-title a{
  color:#111827!important;fill:#111827!important;
}
body.rscmb-sin-portada .rscmb-header:not(.rscmb-scrolled) .rscmb-logo .elementor-heading-title span{color:#111827!important}
body.rscmb-sin-portada .rscmb-header .elementor-nav-menu--main .elementor-item:hover{background:#F9FAFB}
/* El logo tiene dos versiones: la clara para la barra transparente y la oscura
   para la barra blanca. Aqui manda siempre la oscura. */
body.rscmb-sin-portada .rscmb-header .rscmb-logo-t{display:none}
body.rscmb-sin-portada .rscmb-header .rscmb-logo-s{display:block}

/* Con portada la barra sigue transparente, pero el contenido tiene que empezar
   debajo de ella en las paginas que no la llevan. */
body.rscmb-sin-portada .rscmb-tpl{padding-top:var(--rscmb-cabecera,96px)}

/* Cada plantilla pinta ya su propio titulo. El que anade el tema encima repite
   lo mismo, deja dos <h1> en la pagina y ademas queda medio tapado por la barra
   fija, asi que en las paginas del plugin se retira. */
body.rscmb-pagina .page-header,
body.rscmb-pagina .entry-header,
body.rscmb-pagina h1.entry-title{display:none}


/* ===========================================================================
   Listado "Explorador"
   Mismo lenguaje que la ficha: Cormorant en los titulares, navy y oro con
   cuentagotas, arena de fondo y una sola linea de 1px como separacion.
   Todo lo que sea boton va prefijado con .rscmb-tpl: si no, lo aplana el
   blindaje del principio de este fichero.
   =========================================================================== */

.rscmb-tpl-explorador{--ex-radio:14px;
  /* Ancho al que se va a sangre. El 100vw es el respaldo: cuenta la barra
     de desplazamiento, asi que el JS lo sustituye por el ancho real. */
  --ex-ancho:100vw}

/* --- Portada ------------------------------------------------------------- */
.rscmb-ex-hero{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:clamp(420px,54vh,560px);padding:56px 20px 60px;
  /* A sangre aunque el tema meta el contenido en una caja estrecha. Si ya es
     ancho completo, la resta da 0 y no pasa nada. */
  width:var(--ex-ancho);max-width:var(--ex-ancho);
  margin-left:calc(50% - var(--ex-ancho)/2);margin-right:calc(50% - var(--ex-ancho)/2);
  background:
    linear-gradient(180deg,rgba(26,39,68,.42) 0%,rgba(26,39,68,.72) 100%),
    var(--ex-foto,none) center/cover no-repeat,
    var(--tpl-navy);
  color:#fff;text-align:center;
}
.rscmb-ex-hero-in{width:100%;max-width:1000px}
.rscmb-ex-ojo{
  margin:0 0 14px;font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tpl-oro);
}
.rscmb-tpl h1.rscmb-ex-h1{
  font-family:var(--cmb-font-d,'Cormorant Garamond',Georgia,serif);
  font-weight:400;font-size:clamp(34px,5vw,58px);line-height:1.06;
  letter-spacing:-.015em;color:#fff;margin:0 0 14px;text-wrap:balance;
}
.rscmb-ex-lema{
  max-width:640px;margin:0 auto;font-size:16px;line-height:1.55;
  color:rgba(255,255,255,.86);
}

/* Buscador dentro de la portada */
.rscmb-ex-busca{
  display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr auto;
  align-items:stretch;gap:0;
  margin:34px auto 0;max-width:940px;padding:8px;
  background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(12,20,38,.28);
  text-align:left;
}
.rscmb-ex-campo{display:flex;flex-direction:column;justify-content:center;padding:10px 16px;min-width:0}
.rscmb-ex-campo + .rscmb-ex-campo{border-left:1px solid var(--tpl-linea)}
.rscmb-tpl .rscmb-ex-campo label{
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tpl-t3);margin-bottom:3px;
}
.rscmb-tpl .rscmb-ex-campo input,
.rscmb-tpl .rscmb-ex-campo select{
  font:inherit;font-size:14.5px;color:var(--tpl-t1);
  border:0;background:none;padding:0;width:100%;min-width:0;
  -webkit-appearance:none;appearance:none;
}
/* `appearance:none` deja el desplegable sin flecha y parece texto muerto.
   Se le dibuja una, y se reserva sitio a la derecha para que no la pise el
   texto de la opcion mas larga. */
.rscmb-tpl .rscmb-ex-campo select{
  padding-right:18px;cursor:pointer;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%239e9eb0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center/11px 8px;
}
.rscmb-ex-campo input::placeholder{color:var(--tpl-t3)}
.rscmb-ex-campo input:focus,
.rscmb-ex-campo select:focus{outline:none}
.rscmb-ex-campo:focus-within{background:var(--tpl-arena);border-radius:10px}
.rscmb-tpl .rscmb-ex-lupa{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 26px;margin:0;border-radius:12px;
  background:var(--tpl-navy);color:#fff;font-size:14.5px;font-weight:600;
  cursor:pointer;transition:background .14s ease;
}
.rscmb-tpl .rscmb-ex-lupa:hover{background:var(--cmb-navy-2,#243357)}
.rscmb-tpl .rscmb-ex-lupa svg{width:17px;height:17px;flex:none}

/* --- Barra de resultados ------------------------------------------------- */
.rscmb-ex-barra{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;flex-wrap:wrap;padding:26px 0 18px;
}
.rscmb-ex-cuenta{font-size:14.5px;color:var(--tpl-t2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rscmb-ex-cuenta b{font-size:19px;font-weight:700;color:var(--tpl-navy)}
.rscmb-ex-chips{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.rscmb-ex-chip{
  display:inline-block;padding:4px 11px;border-radius:999px;
  background:var(--tpl-arena);border:1px solid var(--tpl-linea);
  font-size:12.5px;font-weight:600;color:var(--tpl-navy);
}
.rscmb-tpl a.rscmb-ex-quitar{font-size:12.5px;font-weight:600;color:var(--tpl-t3);text-decoration:underline}
.rscmb-tpl a.rscmb-ex-quitar:hover{color:var(--tpl-navy)}

/* Selector de vista */
.rscmb-ex-vistas{
  display:inline-flex;gap:2px;padding:3px;flex:none;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:999px;
}
.rscmb-tpl .rscmb-ex-v{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:999px;margin:0;
  font-size:13px;font-weight:600;color:var(--tpl-t2);
  cursor:pointer;transition:background .14s ease,color .14s ease;
}
.rscmb-tpl .rscmb-ex-v svg{width:15px;height:15px;flex:none;fill:currentColor}
.rscmb-tpl .rscmb-ex-v:hover{color:var(--tpl-navy)}
.rscmb-tpl .rscmb-ex-v.is-on{background:var(--tpl-navy);color:#fff}

/* --- Piezas comunes de las tarjetas -------------------------------------- */
.rscmb-ex-tag{
  position:absolute;top:12px;left:12px;z-index:1;
  padding:5px 11px;border-radius:999px;
  background:rgba(255,255,255,.94);color:var(--tpl-navy);
  font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.rscmb-tpl .rscmb-ex-t{
  font-family:var(--cmb-font,'Outfit',system-ui,sans-serif);
  font-size:17px;font-weight:600;line-height:1.3;color:var(--tpl-navy);
  margin:0 0 4px;
}
.rscmb-tpl .rscmb-ex-t a{text-decoration:none;color:inherit}
.rscmb-ex-zona{margin:0 0 8px;font-size:13.5px;color:var(--tpl-t2)}
.rscmb-ex-rasgos{margin:0 0 12px;font-size:13px;color:var(--tpl-t3)}
.rscmb-ex-precio{margin:0;font-size:13.5px;color:var(--tpl-t2)}
.rscmb-ex-precio b{font-size:19px;font-weight:700;color:var(--tpl-navy);margin-right:5px}
.rscmb-tpl a.rscmb-ex-cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 20px;border-radius:10px;
  background:var(--tpl-navy);color:#fff;text-decoration:none;
  font-size:14px;font-weight:600;transition:background .14s ease;
}
.rscmb-tpl a.rscmb-ex-cta:hover{background:var(--cmb-navy-2,#243357);color:#fff}

/* --- Vista: cuadricula ---------------------------------------------------- */
.rscmb-ex-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(278px,1fr));gap:26px;padding-bottom:40px}
.rscmb-tpl a.rscmb-ex-tarjeta{
  display:block;text-decoration:none;color:inherit;overflow:hidden;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:var(--ex-radio);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.rscmb-tpl a.rscmb-ex-tarjeta:hover{
  transform:translateY(-3px);border-color:transparent;
  box-shadow:0 14px 32px rgba(12,20,38,.14);
}
.rscmb-ex-foto{position:relative;aspect-ratio:4/3;background:var(--tpl-arena)}
.rscmb-tpl .rscmb-ex-foto img{width:100%;height:100%;object-fit:cover;display:block}
.rscmb-ex-cuerpo{padding:16px 17px 18px}

/* --- Vista: lista --------------------------------------------------------- */
.rscmb-ex-lista{display:flex;flex-direction:column;gap:16px;padding-bottom:40px}
.rscmb-ex-fila{
  display:grid;grid-template-columns:262px 1fr 200px;gap:20px;align-items:stretch;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:var(--ex-radio);
  padding:14px;transition:box-shadow .16s ease,border-color .16s ease;
}
.rscmb-ex-fila:hover{border-color:transparent;box-shadow:0 12px 28px rgba(12,20,38,.12)}
.rscmb-ex-fila-foto{position:relative;display:block;border-radius:10px;overflow:hidden;background:var(--tpl-arena);min-height:180px}
.rscmb-tpl .rscmb-ex-fila-foto img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.rscmb-ex-fila-txt{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 0}
.rscmb-ex-pastillas{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 10px;padding:0}
.rscmb-tpl .rscmb-ex-pastillas li{
  padding:4px 10px;border-radius:8px;background:var(--tpl-arena);
  border:1px solid var(--tpl-linea);font-size:12.5px;color:var(--tpl-t2);
}
.rscmb-ex-resumen{
  margin:0;font-size:13.5px;line-height:1.55;color:var(--tpl-t2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.rscmb-ex-fila-pie{
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;
  padding-left:20px;border-left:1px solid var(--tpl-linea);text-align:right;
}

/* --- Vista: mapa ---------------------------------------------------------- */
.rscmb-ex-mapa-v{display:grid;grid-template-columns:1fr 372px;gap:18px;padding-bottom:40px}
.rscmb-ex-mapa{
  min-height:620px;border-radius:var(--ex-radio);overflow:hidden;
  border:1px solid var(--tpl-linea);background:var(--tpl-arena);
}
.rscmb-ex-mapa-lista{
  max-height:620px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;
  padding-right:4px;
}
.rscmb-tpl a.rscmb-ex-mini{
  display:grid;grid-template-columns:104px 1fr;gap:13px;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:12px;padding:10px;
  transition:border-color .14s ease,box-shadow .14s ease;
}
.rscmb-tpl a.rscmb-ex-mini:hover,
.rscmb-tpl a.rscmb-ex-mini.is-on{border-color:var(--tpl-navy);box-shadow:0 8px 20px rgba(12,20,38,.12)}
.rscmb-ex-mini-foto{aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--tpl-arena)}
.rscmb-tpl .rscmb-ex-mini-foto img{width:100%;height:100%;object-fit:cover;display:block}
.rscmb-ex-mini-txt{display:flex;flex-direction:column;justify-content:center;min-width:0}
.rscmb-tpl .rscmb-ex-mini-txt h3{font-size:14.5px;font-weight:600;color:var(--tpl-navy);margin:0 0 3px;line-height:1.3}
.rscmb-ex-mini-txt .rscmb-ex-zona{margin:0 0 5px;font-size:12.5px}
.rscmb-ex-mini-txt .rscmb-ex-precio{font-size:12.5px}
.rscmb-ex-mini-txt .rscmb-ex-precio b{font-size:15px}

/* Chinchetas: una pastilla con el precio, no el alfiler de siempre */
.rscmb-ex-pin-wrap{width:0;height:0;background:none;border:0}
.rscmb-ex-pin{
  position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  padding:6px 11px;border-radius:999px;
  background:#fff;border:1px solid var(--tpl-linea);
  box-shadow:0 3px 10px rgba(12,20,38,.22);
  font-family:var(--cmb-font,'Outfit',system-ui,sans-serif);
  font-size:13px;font-weight:700;color:var(--tpl-navy);
  transition:background .14s ease,color .14s ease,transform .14s ease;
}
.rscmb-ex-pin-wrap:hover{z-index:1000}
.rscmb-ex-pin-wrap:hover .rscmb-ex-pin,
.rscmb-ex-pin-wrap.is-on .rscmb-ex-pin{
  background:var(--tpl-navy);border-color:var(--tpl-navy);color:#fff;
  transform:translate(-50%,-50%) scale(1.07);
}
.rscmb-ex-mapa .leaflet-container{font:inherit}
.rscmb-ex-mapa .leaflet-control-attribution{font-size:10.5px;background:rgba(255,255,255,.82)}

/* --- Sin resultados ------------------------------------------------------- */
.rscmb-ex-vacio{
  text-align:center;padding:64px 20px 72px;
  background:#fff;border:1px solid var(--tpl-linea);border-radius:var(--ex-radio);margin-bottom:40px;
}
.rscmb-tpl .rscmb-ex-vacio p{margin:0 0 20px;color:var(--tpl-t2)}

/* --- Pantallas estrechas -------------------------------------------------- */
@media (max-width:1040px){
  .rscmb-ex-mapa-v{grid-template-columns:1fr}
  .rscmb-ex-mapa{min-height:420px}
  .rscmb-ex-mapa-lista{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
  .rscmb-ex-fila{grid-template-columns:210px 1fr;grid-template-areas:'foto texto' 'pie pie'}
  .rscmb-ex-fila-foto{grid-area:foto}
  .rscmb-ex-fila-txt{grid-area:texto}
  .rscmb-ex-fila-pie{
    grid-area:pie;flex-direction:row;align-items:center;justify-content:space-between;
    padding:14px 0 0;border-left:0;border-top:1px solid var(--tpl-linea);text-align:left;
  }
}
@media (max-width:760px){
  .rscmb-ex-hero{min-height:0;padding:44px 18px 48px}
  .rscmb-ex-busca{grid-template-columns:1fr;padding:6px;margin-top:26px}
  .rscmb-ex-campo{padding:11px 14px}
  .rscmb-ex-campo + .rscmb-ex-campo{border-left:0;border-top:1px solid var(--tpl-linea)}
  .rscmb-tpl .rscmb-ex-lupa{padding:14px;margin-top:6px}
  .rscmb-ex-barra{padding:20px 0 14px}
  .rscmb-ex-fila{grid-template-columns:1fr;grid-template-areas:'foto' 'texto' 'pie'}
  .rscmb-ex-fila-foto{min-height:200px}
  .rscmb-ex-rejilla{grid-template-columns:1fr;gap:20px}
}
@media (max-width:520px){
  .rscmb-tpl .rscmb-ex-v span{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  }
  .rscmb-tpl .rscmb-ex-v{padding:9px 14px}
  .rscmb-ex-barra{justify-content:space-between}
}

@media (prefers-reduced-motion:reduce){
  .rscmb-tpl a.rscmb-ex-tarjeta,.rscmb-ex-pin,.rscmb-tpl .rscmb-ex-v,.rscmb-tpl .rscmb-ex-lupa{transition:none}
  .rscmb-tpl a.rscmb-ex-tarjeta:hover{transform:none}
  .rscmb-ex-pin-wrap:hover .rscmb-ex-pin,.rscmb-ex-pin-wrap.is-on .rscmb-ex-pin{transform:translate(-50%,-50%)}
}


/* === Explorador · barra de filtros ======================================== */
.rscmb-ex-filtros{
  margin:26px 0 6px;padding:16px 18px;background:#fff;
  border:1px solid var(--tpl-linea);border-radius:var(--ex-radio);
}
.rscmb-ex-fil-fila{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:end}
.rscmb-ex-fil{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1 158px}
.rscmb-ex-fil--corto{flex:0 1 122px}
.rscmb-ex-fil--precio{flex:1 1 210px}
.rscmb-tpl .rscmb-ex-fil label{
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tpl-t3);margin:0;
}
.rscmb-tpl .rscmb-ex-fil select,
.rscmb-tpl .rscmb-ex-rango input{
  font:inherit;font-size:14px;color:var(--tpl-t1);width:100%;min-width:0;margin:0;
  padding:9px 11px;background:var(--tpl-arena);
  border:1px solid var(--tpl-linea);border-radius:9px;
  -webkit-appearance:none;appearance:none;
}
.rscmb-tpl .rscmb-ex-fil select{
  padding-right:28px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%239e9eb0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:11px 8px;
}
.rscmb-tpl .rscmb-ex-fil select:focus,
.rscmb-tpl .rscmb-ex-rango input:focus{
  outline:none;border-color:var(--tpl-navy);background:#fff;
}
.rscmb-ex-rango{display:flex;align-items:center;gap:7px}
.rscmb-ex-rango>span{color:var(--tpl-t3);flex:none}
/* Las flechitas del campo numerico estorban en una caja tan estrecha. */
.rscmb-ex-rango input::-webkit-outer-spin-button,
.rscmb-ex-rango input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rscmb-ex-rango input{-moz-appearance:textfield}

/* --- Caracteristicas: interruptores, no una lista de casillas ------------- */
.rscmb-ex-extras{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin:14px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--tpl-linea);
}
.rscmb-tpl .rscmb-ex-extras legend{
  float:left;width:100%;padding:0;margin:0 0 10px;
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tpl-t3);
}
.rscmb-ex-extra{display:inline-flex;align-items:center;cursor:pointer}
/* La casilla se oculta pero sigue ahi: el teclado y el lector la encuentran. */
.rscmb-tpl .rscmb-ex-extra input{
  position:absolute;width:1px;height:1px;margin:0;padding:0;
  opacity:0;pointer-events:none;
}
.rscmb-ex-extra span{
  display:inline-block;padding:7px 14px;border-radius:999px;
  background:#fff;border:1px solid var(--tpl-linea);
  font-size:13px;font-weight:600;color:var(--tpl-t2);
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.rscmb-ex-extra:hover span{border-color:var(--tpl-navy);color:var(--tpl-navy)}
.rscmb-ex-extra input:checked + span{
  background:var(--tpl-navy);border-color:var(--tpl-navy);color:#fff;
}
.rscmb-ex-extra input:focus-visible + span{outline:2px solid var(--tpl-navy);outline-offset:2px}

/* --- Pie: aplicar y limpiar ---------------------------------------------- */
.rscmb-ex-fil-pie{display:flex;align-items:center;gap:14px;margin-top:14px}
.rscmb-tpl .rscmb-ex-aplicar{
  display:inline-flex;align-items:center;margin:0;padding:9px 20px;
  border:1px solid var(--tpl-navy);border-radius:999px;
  background:#fff;color:var(--tpl-navy);
  font-size:13.5px;font-weight:600;cursor:pointer;
  transition:background .14s ease,color .14s ease;
}
.rscmb-tpl .rscmb-ex-aplicar:hover{background:var(--tpl-navy);color:#fff}

/* El boton de plegar solo existe en movil y solo si el JS lo ha encendido. */
.rscmb-tpl .rscmb-ex-fil-abrir{display:none}

@media (max-width:760px){
  .rscmb-ex-filtros{padding:14px}
  .rscmb-tpl .rscmb-ex-filtros.es-plegable .rscmb-ex-fil-abrir{
    display:inline-flex;align-items:center;gap:9px;width:100%;margin:0;padding:11px 14px;
    background:var(--tpl-arena);border:1px solid var(--tpl-linea);border-radius:10px;
    color:var(--tpl-navy);font-size:14px;font-weight:600;cursor:pointer;
  }
  .rscmb-ex-fil-abrir svg{width:18px;height:18px;flex:none}
  .rscmb-ex-fil-abrir b{
    margin-left:auto;min-width:21px;padding:2px 7px;border-radius:999px;
    background:var(--tpl-navy);color:#fff;font-size:12px;
  }
  .rscmb-ex-filtros.es-plegable .rscmb-ex-fil-cuerpo{display:none}
  .rscmb-ex-filtros.es-plegable.esta-abierta .rscmb-ex-fil-cuerpo{display:block;margin-top:14px}
  .rscmb-ex-fil{flex:1 1 calc(50% - 9px)}
  .rscmb-ex-fil--corto{flex:1 1 calc(50% - 9px)}
  .rscmb-ex-fil--precio{flex:1 1 100%}
}
@media (max-width:440px){
  .rscmb-ex-fil,.rscmb-ex-fil--corto{flex:1 1 100%}
}
