.elementor-70 .elementor-element.elementor-element-3ff8a36{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-70 .elementor-element.elementor-element-3ff8a36:not(.elementor-motion-effects-element-type-background), .elementor-70 .elementor-element.elementor-element-3ff8a36 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-70 .elementor-element.elementor-element-b16f9c2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-70 .elementor-element.elementor-element-7cf0817{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-70 .elementor-element.elementor-element-125d3aa{text-align:start;}.elementor-70 .elementor-element.elementor-element-125d3aa img{width:60%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-70 .elementor-element.elementor-element-7abe18b{font-family:"Manrope", Sans-serif;font-size:12px;font-weight:400;color:#FFFFFF;}.elementor-70 .elementor-element.elementor-element-27cfca0{--grid-template-columns:repeat(0, auto);text-align:left;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-70 .elementor-element.elementor-element-27cfca0 .elementor-social-icon{background-color:var( --e-global-color-accent );}.elementor-70 .elementor-element.elementor-element-27cfca0 .elementor-social-icon i{color:#FFFFFF;}.elementor-70 .elementor-element.elementor-element-27cfca0 .elementor-social-icon svg{fill:#FFFFFF;}.elementor-70 .elementor-element.elementor-element-62a737a{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-70 .elementor-element.elementor-element-af4616d .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:24px;font-weight:600;color:var( --e-global-color-accent );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-icon i{color:#B6935B;transition:color 0.3s;}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-icon svg{fill:#B6935B;transition:fill 0.3s;}.elementor-70 .elementor-element.elementor-element-c5c9b1d{--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-icon{padding-inline-end:5px;}.elementor-70 .elementor-element.elementor-element-c5c9b1d .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-70 .elementor-element.elementor-element-fe172e6{--display:flex;}.elementor-70 .elementor-element.elementor-element-14546c3 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:24px;font-weight:600;color:var( --e-global-color-accent );}.elementor-70 .elementor-element.elementor-element-f48293f{font-family:"Manrope", Sans-serif;font-size:14px;font-weight:400;color:#FFFFFF;}.elementor-70 .elementor-element.elementor-element-553373a{--display:flex;}.elementor-70 .elementor-element.elementor-element-edc963d .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:24px;font-weight:600;color:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-70 .elementor-element.elementor-element-c3ede42 .elementor-nav-menu .elementor-item{font-family:"Manrope", Sans-serif;font-size:14px;font-weight:400;}.elementor-70 .elementor-element.elementor-element-c3ede42 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:5px;padding-right:5px;padding-top:8px;padding-bottom:8px;}.elementor-70 .elementor-element.elementor-element-bf0fce6{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-70 .elementor-element.elementor-element-08d49e4{--divider-border-style:solid;--divider-color:var( --e-global-color-accent );--divider-border-width:1px;}.elementor-70 .elementor-element.elementor-element-08d49e4 .elementor-divider-separator{width:100%;}.elementor-70 .elementor-element.elementor-element-08d49e4 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-70 .elementor-element.elementor-element-17a3e71{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-70 .elementor-element.elementor-element-e20a265{--display:flex;}.elementor-70 .elementor-element.elementor-element-e01c15e{font-family:"Manrope", Sans-serif;font-size:11px;font-weight:400;color:#FFFFFF;}.elementor-70 .elementor-element.elementor-element-b59d3d7{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-70 .elementor-element.elementor-element-cbb421a{font-family:"Manrope", Sans-serif;font-size:11px;font-weight:400;color:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-688e391 *//* --- Botón Flotante --- */
.reserva-flotante {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: #9E2A2B; /* Rojo oscuro de tu web */
  color: white;
  border: none;
  border-radius: 50px;
  padding: 15px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 999;
  transition: transform 0.3s ease;
}

.reserva-flotante:hover {
  transform: scale(1.05);
  background-color: #7a1f20;
}

.icono-calendario {
  width: 20px;
  height: 20px;
}

/* --- Modal Base --- */
.modal-res {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.6);
  backdrop-filter: blur(5px);
  align-items: center;
  justify-content: center;
}

.modal-res-contenido {
  background-color: #FDF8F1; /* Color crema de las capturas */
  width: 90%;
  max-width: 500px;
  border-radius: 12px;
  padding: 30px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  font-family: sans-serif;
}

.cerrar-res {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  cursor: pointer;
  color: #666;
}

.res-header h3 {
  margin: 0 0 5px 0;
  color: #333;
}

#indicador-paso {
  font-size: 14px;
  color: #888;
  margin-bottom: 20px;
}

/* --- Estilos del Formulario --- */
.res-paso { display: none; }
.res-paso.activo { display: block; animation: fadeIn 0.4s; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.res-fila {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.res-input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  margin-bottom: 15px;
  font-size: 15px;
  box-sizing: border-box;
}

.res-input:focus {
  outline: none;
  border-color: #F5A623;
  box-shadow: 0 0 5px rgba(245, 166, 35, 0.3);
}

/* --- Grid de Horas --- */
.res-label { font-size: 14px; color: #555; margin-bottom: 10px; }
.grid-horas {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}

.btn-hora {
  padding: 10px;
  border: 1px solid #ccc;
  background: white;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-hora:hover { border-color: #F5A623; }
.btn-hora.seleccionada {
  background-color: #F5A623;
  color: white;
  border-color: #F5A623;
  font-weight: bold;
}

/* --- Botones de Acción --- */
.btn-primario {
  width: 100%;
  padding: 15px;
  background-color: #F5A623; /* Naranja original */
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}

.btn-primario:disabled { background-color: #fbd69c; cursor: not-allowed; }

.acciones-paso-2 {
  display: flex;
  gap: 10px;
}

.btn-secundario {
  width: 50%;
  padding: 15px;
  background-color: transparent;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
}

.resumen-alerta {
  background-color: #fff;
  border-left: 4px solid #F5A623;
  padding: 10px 15px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #333;
}

.terminos { font-size: 12px; color: #777; margin-bottom: 15px; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-adedc52 *//* --- Botón Flotante del Menú --- */
.menu-flotante {
  position: fixed;
  bottom: 30px;
  left: 30px; /* Lo ponemos a la izquierda para balancear */
  background-color: #2b2b2b; /* Un gris oscuro elegante */
  color: white;
  border: none;
  border-radius: 50px;
  padding: 15px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 999;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.menu-flotante:hover {
  transform: scale(1.05);
  background-color: #000;
}

.icono-menu {
  width: 20px;
  height: 20px;
}

/* --- Modal del PDF --- */
.modal-pdf {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,0.7);
  backdrop-filter: blur(5px);
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.modal-pdf.show {
  opacity: 1;
}

.modal-pdf-contenido {
  background-color: #FDF8F1; /* Mismo color crema del diseño original */
  width: 95%;
  max-width: 900px; /* Más ancho que el de reserva para que el PDF se lea bien */
  height: 85vh; /* Alto para maximizar lectura */
  border-radius: 12px;
  padding: 20px;
  position: relative;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  transform: scale(0.95);
  transition: transform 0.3s ease;
  font-family: sans-serif;
}

.modal-pdf.show .modal-pdf-contenido {
  transform: scale(1);
}

.cerrar-menu {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  cursor: pointer;
  color: #666;
  z-index: 10;
}

.cerrar-menu:hover {
  color: #9E2A2B;
}

.pdf-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-right: 30px; /* Para que no pise la X de cerrar */
}

.pdf-header h3 {
  margin: 0;
  color: #333;
}

.btn-descargar-movil {
  background-color: #F5A623; /* Naranja corporativo */
  color: white;
  text-decoration: none;
  padding: 8px 15px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: bold;
  transition: background-color 0.2s;
}

.btn-descargar-movil:hover {
  background-color: #d8901a;
}

.pdf-contenedor {
  flex-grow: 1;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background-color: #eaeaea; 
}

/* --- Adaptación para Móviles --- */
@media (max-width: 768px) {
  .menu-flotante {
    bottom: 90px; /* Lo sube un poco por si hay barra de navegación inferior del móvil */
    left: 20px;
    padding: 12px 20px;
  }
  .modal-pdf-contenido {
    height: 90vh;
    padding: 15px;
  }
}/* End custom CSS */