.elementor-69 .elementor-element.elementor-element-2847f83{--display:flex;--margin-top:-136px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-69 .elementor-element.elementor-element-bfdb1c1{font-family:"Onest", Sans-serif;font-size:22px;font-weight:700;line-height:1px;}.elementor-69 .elementor-element.elementor-element-49e3d98{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-69 .elementor-element.elementor-element-cc21ec2{--display:flex;--margin-top:17px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-5e97dc6{--display:flex;}.elementor-69 .elementor-element.elementor-element-d520ce1{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-69 .elementor-element.elementor-element-bfdb1c1 > .elementor-widget-container{margin:-31px 0px 0px 0px;}.elementor-69 .elementor-element.elementor-element-bfdb1c1{text-align:start;line-height:1.1em;}}/* Start custom CSS for mphbe-checkout, class: .elementor-element-f2bc12d */.rb-checkout .mphb-room-number{ display:none; }
.rb-checkout .mphb-room-type{ display:none; }


  visibility: visible !important;
  margin: 0 0 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #474747 !important;
}

/* Etiqueta "Nº de huéspedes" encima del select "- Elegir -" SOLO en el bloque del alojamiento */
.rb-confirmation :is(div,section,article,li)
  :has(p:has(> a:is([href*="/alojamiento/"],[href*="/accommodation/"])))
  :is(p,div,li,fieldset,.mphb-field):has(select){
  --rb-guests-size: clamp(18px, 3.6vw, 24px); /* tamaño (más pequeño) */
  --rb-guests-shadow: 1px 1px 0 var(--rb-turquesa,#21BFB7); /* sombra sutil */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cc21ec2 *//* =========================
   RENTBENIDORM – CHECKOUT / CONFIRMATION (MotoPress)
   CSS PARA EL CONTENEDOR (Elementor Custom CSS)
   ========================= */

/* Variables + fondo turquesa del bloque */
.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-bg: #D9F3F1;
  --rb-card: #ffffff;
  --rb-text: #474747;
  --rb-turquesa: #21BEB3;

  --rb-card-radius: 16px;
  --rb-card-pad: 16px;
  --rb-card-gap: 14px;

  background: var(--rb-bg) !important;
  padding: 18px !important;
  border-radius: 18px !important;
}

/* Quita fondos “extra” de wrappers internos */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .elementor-widget-container,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout-form,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-form{
  background: transparent !important;
}

/* Tarjetas blancas */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-section, .mphb-room-details, .mphb-customer-details, .mphb-price-breakdown){
  background: var(--rb-card) !important;
  border: 0 !important;
  border-radius: var(--rb-card-radius) !important;
  padding: var(--rb-card-pad) !important;
  margin: 0 0 var(--rb-card-gap) !important;
}

/* =========================
   TÍTULOS
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-title-shadow: 0 0 0 var(--rb-turquesa);
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(h1,h2,h3,h4),
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-title,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-price-breakdown-title{
  font-family: "Calistoga", cursive !important;
  color: var(--rb-text) !important;
  font-weight: 400 !important;
  text-shadow: var(--rb-title-shadow) !important;
  font-size: 34px !important;
  line-height: 1 !important;
  margin: 0 0 12px !important;
}

/* =========================
   CUERPO DE TEXTO
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-body-font: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --rb-body-size: 16px;
  --rb-body-line: 1.35;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2,
.elementor-69 .elementor-element.elementor-element-cc21ec2 p,
.elementor-69 .elementor-element.elementor-element-cc21ec2 li,
.elementor-69 .elementor-element.elementor-element-cc21ec2 td,
.elementor-69 .elementor-element.elementor-element-cc21ec2 dd,
.elementor-69 .elementor-element.elementor-element-cc21ec2 span,
.elementor-69 .elementor-element.elementor-element-cc21ec2 small{
  font-family: var(--rb-body-font) !important;
  color: var(--rb-text) !important;
  font-weight: 400 !important;
  font-size: var(--rb-body-size) !important;
  line-height: var(--rb-body-line) !important;
}

/* =========================
   FECHAS / HORAS (turquesa, sin subrayado punteado)
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-reservation-details, .mphb-booking-details, .mphb-checkout-details) :is(a,time){
  color: var(--rb-turquesa) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

/* =========================
   CAMPOS (inputs/select/textarea)
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-field-font: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --rb-field-size: 16px;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 input,
.elementor-69 .elementor-element.elementor-element-cc21ec2 select,
.elementor-69 .elementor-element.elementor-element-cc21ec2 textarea{
  font-family: var(--rb-field-font) !important;
  color: #000000 !important;
  font-weight: 300 !important;
  font-size: var(--rb-field-size) !important;
}

/* Compactar separación general de formularios */
.elementor-69 .elementor-element.elementor-element-cc21ec2 label,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .screen-reader-text{
  margin-bottom: 4px !important;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-form p,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout-form p,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-form .mphb-field,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout-form .mphb-field{
  margin: 0 0 2px !important;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 input,
.elementor-69 .elementor-element.elementor-element-cc21ec2 select,
.elementor-69 .elementor-element.elementor-element-cc21ec2 textarea{
  padding-top: 3px !important;
  padding-bottom: 2px !important;
}

/* =========================
   BLOQUE: Alojamiento + nombre (Alojamiento: Alhambra)
   ========================= */

/* Oculta visualmente el texto original de esa línea */
.elementor-69 .elementor-element.elementor-element-cc21ec2 p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"])) {
  font-size: 0 !important;
  line-height: 1px !important;
  margin: 0 0 20px !important;
}

/* Variables del bloque */
.elementor-69 .elementor-element.elementor-element-cc21ec2 p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"])) {
  --rb-title-size: clamp(26px, 5vw, 38px);
  --rb-shadow-x: 0px;
  --rb-shadow-y: 0px;
  --rb-shadow-blur: 0px;
  --rb-gap: 6px;
}

/* “Alojamiento:” */
.elementor-69 .elementor-element.elementor-element-cc21ec2 p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))::before{
  content: "Alojamiento: ";
  font-family: "Calistoga", serif;
  font-size: var(--rb-title-size);
  line-height: 1.1;
  color: var(--rb-text);
  text-shadow: var(--rb-shadow-x) var(--rb-shadow-y) var(--rb-shadow-blur) var(--rb-turquesa);
}

/* Nombre del alojamiento (turquesa) */
.elementor-69 .elementor-element.elementor-element-cc21ec2 p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"])) > a{
  font-family: "Calistoga", serif;
  font-size: var(--rb-title-size);
  line-height: 1.1;
  color: var(--rb-turquesa);
  text-decoration: none;
  margin-left: var(--rb-gap);
}

/* Oculta “Alojamiento:” viejo si venía en strong/span */
.elementor-69 .elementor-element.elementor-element-cc21ec2 p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"])) 
  :is(strong, b, label, .mphb-booking-details__label, .mphb-booking-details-label, .mphb-label, span:first-child){
  display: none !important;
}

/* =========================
   Nº de huéspedes encima del select "- Elegir -"
   (Base = escritorio + override móvil)
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2
p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
+ *:has(select)::before,

.elementor-69 .elementor-element.elementor-element-cc21ec2
p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
+ * + *:has(select)::before,

.elementor-69 .elementor-element.elementor-element-cc21ec2
p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
+ * + * + *:has(select)::before{
  content: "Nº de huéspedes";
  display: block;
  font-family: "Calistoga", serif;
  font-size: 20px;              /* ESCRITORIO fijo */
  line-height: 1.1;
  color: var(--rb-text);
  text-shadow: 0px 0px 0 var(--rb-turquesa);
  margin: 0px 0 0px;            /* ESCRITORIO */
}

@media (max-width: 767px){
  .elementor-69 .elementor-element.elementor-element-cc21ec2
  p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
  + *:has(select)::before,

  .elementor-69 .elementor-element.elementor-element-cc21ec2
  p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
  + * + *:has(select)::before,

  .elementor-69 .elementor-element.elementor-element-cc21ec2
  p:has(> a:is([href*="/alojamiento/"], [href*="/accommodation/"]))
  + * + * + *:has(select)::before{
    font-size: 16px;            /* MÓVIL */
    margin: 15px 0 -8px;        /* MÓVIL */
  }
}

/* =========================
   Quitar campo “Nombre del huésped” duplicado
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-guest-name-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-guest-name{
  display: none !important;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-room-details__field:has(input[name*="guest_name"]),
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-room-details__field:has(input[id*="guest_name"]){
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================
   Quitar marco gris del bloque interior
   ========================= */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-room-details, .mphb-room-details__content, .mphb-room-details__inner){
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* =========================
   MÓVIL (solo móvil)
   ========================= */
@media (max-width: 767px){

  .elementor-69 .elementor-element.elementor-element-cc21ec2{
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-section, .mphb-room-details, .mphb-customer-details, .mphb-price-breakdown){
    padding: 12px !important;
    margin: 0 0 10px !important;
    border-radius: 14px !important;
  }

  .elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-room-details{
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-room-details :is(.mphb-room-details__field, fieldset, p, div){
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .elementor-69 .elementor-element.elementor-element-cc21ec2 :is(h1,h2,h3,h4),
  .elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-title,
  .elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-price-breakdown-title{
    font-size: 28px !important;
    margin: 0 0 15px !important;
  }

  .elementor-69 .elementor-element.elementor-element-cc21ec2{
    --rb-body-size: 15px;
    --rb-field-size: 15px;
  }
}

/* ==================================================
   PRECIO FINAL (número + €) con marco dorado
   ================================================== */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(
  .mphb-total-price,
  .mphb-checkout-total-price,
  .mphb_checkout-total,
  .mphb-booking-confirmation-total,
  .mphb-booking-confirmation-total-price
){
  font-family: "Calistoga", serif !important;
  font-weight: 400 !important;
  color: #474747 !important;

  font-size: 42px !important;   /* DESKTOP */
  line-height: 1.05 !important;

  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  border: 2px solid #D1A552 !important;
  border-radius: 3px !important;
  padding: 8px 12px !important;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(
  .mphb-total-price,
  .mphb-checkout-total-price,
  .mphb_checkout-total,
  .mphb-booking-confirmation-total,
  .mphb-booking-confirmation-total-price
) :is(
  .mphb-currency,
  .currency,
  .woocommerce-Price-currencySymbol,
  .mphb-total-price-field,
  .mphb-total-price-value,
  .mphb-price,
  .mphb-amount,
  output,
  .amount
){
  font-family: inherit !important;
  font-size: 1em !important;
  line-height: inherit !important;
  color: inherit !important;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(
  .mphb-total-price,
  .mphb-checkout-total-price,
  .mphb_checkout-total
) strong{
  font-size: 16px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  color: #474747 !important;
}

@media (max-width: 767px){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 :is(
    .mphb-total-price,
    .mphb-checkout-total-price,
    .mphb_checkout-total,
    .mphb-booking-confirmation-total,
    .mphb-booking-confirmation-total-price
  ){
    font-size: 30px !important;   /* MÓVIL */
    padding: 6px 10px !important;
    gap: 1px !important;
  }
}

/* =========================
   FIX DEFINITIVO: TÉRMINOS A LA IZQUIERDA + PEGADO AL CHECK
   (solo MotoPress terms)
   ========================= */

/* Ajustes */
.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-terms-font-d: 16px;
  --rb-terms-font-m: 14px;
  --rb-terms-gap-d: 8px;
  --rb-terms-gap-m: 8px;
}

/* 1) El wrapper de términos SIEMPRE alineado a la izquierda */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper){
  text-align: left !important;
}

/* (Opcional) si NO quieres que salga la caja larga (lorem) nunca */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper) .mphb-terms-and-conditions{
  display: none !important;
}

/* 2) La fila (checkbox + texto + link) como flex-start */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper) .mphb-terms-and-conditions-accept{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

/* 3) El label también (por si el tema lo pone “space-between”) */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper) .mphb-terms-and-conditions-accept label{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--rb-terms-gap-d) !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

/* 4) Checkbox sin márgenes raros */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper) .mphb-terms-and-conditions-accept input[type="checkbox"]{
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* 5) El link: quitar TODO lo que lo empuje a la derecha */
.elementor-69 .elementor-element.elementor-element-cc21ec2 a.mphb-terms-and-conditions-link{
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  margin-left: 0 !important;     /* por si tenía auto */
  display: inline-block !important;
  white-space: nowrap !important;
  text-align: left !important;
  justify-self: start !important; /* por si el padre es grid */
  align-self: center !important;
  font-size: var(--rb-terms-font-d) !important;
}

/* Móvil */
@media (max-width: 767px){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-checkout-terms-wrapper, .mphb_checkout-terms-wrapper) .mphb-terms-and-conditions-accept label{
    gap: var(--rb-terms-gap-m) !important;
  }
  .elementor-69 .elementor-element.elementor-element-cc21ec2 a.mphb-terms-and-conditions-link{
    font-size: var(--rb-terms-font-m) !important;
  }
}

/* =========================
   TÉRMINOS: mostrar el texto previo (turquesa)
   ========================= */

/* Texto del label (incluye “He leído y acepto…”) */
.elementor-69 .elementor-element.elementor-element-cc21ec2 form .mphb-terms-and-conditions-accept label{
  color: var(--rb-turquesa) !important;
}

/* Si parte del texto va en spans dentro del label */
.elementor-69 .elementor-element.elementor-element-cc21ec2 form .mphb-terms-and-conditions-accept label *{
  color: inherit !important;
}

/* El enlace “términos y condiciones” puede quedarse en color normal o también turquesa.
   Si lo quieres turquesa también, deja esto activo: */
.elementor-69 .elementor-element.elementor-element-cc21ec2 a.mphb-terms-and-conditions-link{
  color: var(--rb-turquesa) !important;
  font-weight: 700 !important; /* opcional */
  text-decoration: underline !important; /* opcional */
}

/* (Opcional) en hover un poco más oscuro/claro */
@media (hover:hover){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 a.mphb-terms-and-conditions-link:hover{
    opacity: .85 !important;
  }
}

/* =========================
   TÉRMINOS: tipografías + alineación
   ========================= */

/* 1) Todo el texto del label en Onest (incluye “He leído y acepto…”) */
.elementor-69 .elementor-element.elementor-element-cc21ec2 form .mphb-terms-and-conditions-accept label{
  font-family: var(--rb-body-font) !important;  /* Onest */
  font-size: 16px !important;                  /* escritorio */
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: baseline !important;            /* <- evita que el link “baje” */
  gap: 6px !important;
}

/* 2) SOLO el enlace “términos y condiciones” en Calistoga */
.elementor-69 .elementor-element.elementor-element-cc21ec2 form a.mphb-terms-and-conditions-link{
  font-family: "Onest", serif !important;
  font-size: 1em !important;                   /* mismo tamaño que el texto */
  line-height: 1 !important;
  vertical-align: baseline !important;
  display: inline !important;
  position: relative !important;
  top: -1px !important;                         /* ajusta: 0, -1, -2 */
}

/* MÓVIL */
@media (max-width: 767px){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 form .mphb-terms-and-conditions-accept label{
    font-size: 12px !important;
    gap: 6px !important;
  }
  .elementor-69 .elementor-element.elementor-element-cc21ec2 form a.mphb-terms-and-conditions-link{
    top: 1px !important;                       /* ajusta si hace falta */
  }
}

/* =========================
   ERRORES (ej: “El número de huéspedes no es válido”)
   en rojo y más visible
   ========================= */

.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-error,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-error-message,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-message-error,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb_sc_checkout .mphb-errors-wrapper *,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-form .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-checkout-form .mphb-errors-wrapper *{
  color: #D10000 !important;          /* rojo */
  font-weight: 700 !important;
}

/* Si el mensaje viene como “validación” junto al campo */
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-field, .mphb-room-details__field) .error,
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-field, .mphb-room-details__field) .invalid,
.elementor-69 .elementor-element.elementor-element-cc21ec2 :is(.mphb-field, .mphb-room-details__field) .mphb-error{
  color: #D10000 !important;
  font-weight: 700 !important;
}

/* Opcional: caja de error con borde suave (si existe contenedor) */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors{
  border-left: 4px solid #D10000 !important;
  padding-left: 10px !important;
}

/* =========================
   ERRORES: TODO el texto rojo (SIN barrita)
   ========================= */

/* Quitar la “barrita” y el padding que metía */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors{
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* Forzar TODO el contenido del error en rojo */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors-wrapper * ,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors *{
  color: #D10000 !important;
  font-weight: 700 !important;
}

/* (Opcional) que destaque más sin barrita: fondo suave */
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors-wrapper,
.elementor-69 .elementor-element.elementor-element-cc21ec2 .mphb-errors{
  background: rgba(209, 0, 0, 0.08) !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
}


/* =========================
   BOTÓN "Reservar ahora" (input.button)
   ========================= */

.elementor-69 .elementor-element.elementor-element-cc21ec2{
  --rb-btn-bg: #efb810;
  --rb-btn-border: #D1A552;

  --rb-btn-text: #474747;
  --rb-btn-hover-bg: #ffffff;
  --rb-btn-hover-text: var(--rb-turquesa);

  --rb-btn-active-bg: #ffffff;
  --rb-btn-active-text: var(--rb-turquesa);

  --rb-btn-radius: 4px;
  --rb-btn-shadow: 0 14px 22px rgba(0,0,0,.22);

  /* DESKTOP */
  --rb-btn-font-d: 18px;
  --rb-btn-weight-d: 600;
  --rb-btn-letter-d: .03em;
  --rb-btn-pad-y-d: 16px;
  --rb-btn-pad-x-d: 30px;

  /* MÓVIL */
  --rb-btn-font-m: 18px;
  --rb-btn-weight-m: 600;
  --rb-btn-letter-m: .03em;
  --rb-btn-pad-y-m: 14px;
  --rb-btn-pad-x-m: 20px;
}

.elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button{
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;

  background-color: var(--rb-btn-bg) !important;   /* <- fondo vuelve */
  background-image: none !important;
  border: 2px solid var(--rb-btn-border) !important;

  color: var(--rb-btn-text) !important;
  font-family: "Onest", serif !important;

  font-size: var(--rb-btn-font-d) !important;
  font-weight: var(--rb-btn-weight-d) !important;
  letter-spacing: var(--rb-btn-letter-d) !important;
  text-transform: uppercase !important;

  padding: var(--rb-btn-pad-y-d) var(--rb-btn-pad-x-d) !important;

  height: auto !important;
  min-height: 0 !important;
  line-height: 1 !important;

  border-radius: var(--rb-btn-radius) !important;
  box-shadow: var(--rb-btn-shadow) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .08s ease !important;
}

/* Hover */
@media (hover:hover){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button:hover{
    background-color: var(--rb-btn-hover-bg) !important;
    color: var(--rb-btn-hover-text) !important;
    border-color: var(--rb-btn-border) !important;
  }
}

/* Click + focus */
.elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button:active,
.elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button:focus,
.elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button:focus-visible{
  background-color: var(--rb-btn-active-bg) !important;
  color: var(--rb-btn-active-text) !important;
  border-color: var(--rb-btn-border) !important;
  transform: translateY(1px) !important;
  outline: none !important;
}

/* MÓVIL */
@media (max-width: 767px){
  .elementor-69 .elementor-element.elementor-element-cc21ec2 input[type="submit"].button{
    font-size: var(--rb-btn-font-m) !important;
    font-weight: var(--rb-btn-weight-m) !important;
    letter-spacing: var(--rb-btn-letter-m) !important;
    padding: var(--rb-btn-pad-y-m) var(--rb-btn-pad-x-m) !important;
  }
}/* End custom CSS */