.elementor-1511 .elementor-element.elementor-element-4aba5a1{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1511 .elementor-element.elementor-element-4aba5a1:not(.elementor-motion-effects-element-type-background), .elementor-1511 .elementor-element.elementor-element-4aba5a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F1E4;}.elementor-1511 .elementor-element.elementor-element-4aba5a1.e-con{--align-self:center;}.elementor-1511 .elementor-element.elementor-element-f937e9a{--display:flex;--min-height:616px;--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;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overlay-opacity:1;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1511 .elementor-element.elementor-element-f937e9a:not(.elementor-motion-effects-element-type-background), .elementor-1511 .elementor-element.elementor-element-f937e9a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-1511 .elementor-element.elementor-element-f937e9a::before, .elementor-1511 .elementor-element.elementor-element-f937e9a > .elementor-background-video-container::before, .elementor-1511 .elementor-element.elementor-element-f937e9a > .e-con-inner > .elementor-background-video-container::before, .elementor-1511 .elementor-element.elementor-element-f937e9a > .elementor-background-slideshow::before, .elementor-1511 .elementor-element.elementor-element-f937e9a > .e-con-inner > .elementor-background-slideshow::before, .elementor-1511 .elementor-element.elementor-element-f937e9a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-secondary );--background-overlay:'';}.elementor-1511 .elementor-element.elementor-element-f937e9a.e-con{--align-self:center;}.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-1511 .elementor-element.elementor-element-7eadcc6 img{width:8%;}.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-1511 .elementor-element.elementor-element-3a3b52e{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 4px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-1511 .elementor-element.elementor-element-3a3b52e.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-1511 .elementor-element.elementor-element-3a3b52e .elementor-heading-title{font-family:"Cormorant", Sans-serif;font-size:54px;font-weight:600;line-height:55px;color:#2B2B2B;}.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-1511 .elementor-element.elementor-element-5723aa9{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button{background-color:var( --e-global-color-3751334 );font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:2.2px;border-radius:40px 40px 40px 40px;padding:20px 0px 20px 0px;}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover, .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:focus{background-color:#5B1E24;color:#FFFFFF;}.elementor-1511 .elementor-element.elementor-element-1ce52b7.elementor-element{--align-self:center;}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button .elementor-button-content-wrapper{gap:33px;}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover svg, .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1511 .elementor-element.elementor-element-0cbbade{text-align:center;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;}@media(max-width:1024px){.elementor-1511 .elementor-element.elementor-element-4aba5a1{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1511 .elementor-element.elementor-element-7eadcc6 img{width:15%;}.elementor-1511 .elementor-element.elementor-element-3a3b52e .elementor-heading-title{font-size:44px;}.elementor-1511 .elementor-element.elementor-element-5723aa9{font-size:16px;}.elementor-1511 .elementor-element.elementor-element-0cbbade{font-size:14px;}}@media(max-width:767px){.elementor-1511 .elementor-element.elementor-element-4aba5a1{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:100px;--padding-left:10px;--padding-right:10px;}.elementor-1511 .elementor-element.elementor-element-f937e9a{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1511 .elementor-element.elementor-element-7eadcc6{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-1511 .elementor-element.elementor-element-7eadcc6 img{width:40%;}.elementor-1511 .elementor-element.elementor-element-3a3b52e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1511 .elementor-element.elementor-element-3a3b52e .elementor-heading-title{font-size:34px;line-height:1.1em;}.elementor-1511 .elementor-element.elementor-element-5723aa9{font-size:14px;}.elementor-1511 .elementor-element.elementor-element-1ce52b7{width:100%;max-width:100%;}.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button{font-size:14px;}.elementor-1511 .elementor-element.elementor-element-0cbbade{font-size:12px;}}@media(min-width:768px){.elementor-1511 .elementor-element.elementor-element-f937e9a{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1511 .elementor-element.elementor-element-f937e9a{--width:100%;}}/* Start custom CSS for button, class: .elementor-element-1ce52b7 */.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-wrapper {
  display: inline-block;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 440px;
  min-height: 56px;
  padding: 12px 78px 12px 42px;
  border-radius: 60px;
  background-color: #F2CA83;
  overflow: visible;
  transition: all 0.3s ease;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-text {
  color: #5B1E24;
  letter-spacing: 2,2px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.3s ease;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-icon {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #5B1E24;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  transition: all 0.3s ease;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-icon svg {
  width: 19px;
  height: 19px;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-icon svg path {
  fill: #ffffff;
  transition: fill 0.3s ease;
}

/* Hover */
.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover {
  background-color: #5B1E24;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover .elementor-button-text {
  color: #ffffff;
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover .elementor-button-icon {
  background-color: #F2CA83;
  transform: translateY(-50%) translateX(6px);
}

.elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button:hover .elementor-button-icon svg path {
  fill: #5B1E24;
}

/* Responsive móvil */
@media (max-width: 767px) {
  .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button {
    width: 100%;
    max-width: 360px;
    min-height: 52px;
    padding: 11px 68px 11px 30px;
  }

  .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-text {
    font-size: 13px;
    letter-spacing: 3px;
  }

  .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-icon {
    width: 40px;
    height: 40px;
    right: 6px;
  }

  .elementor-1511 .elementor-element.elementor-element-1ce52b7 .elementor-button-icon svg {
    width: 17px;
    height: 17px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f937e9a *//* ================================
   FORMULARIO RESERVA - LA BOTA
================================ */

/* Contenedor general del shortcode */
.formulario-reserva {
  max-width: 720px;
  margin: 0 auto;
}

/* Formulario en 2 columnas */
.formulario-reserva form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px 28px !important;
  align-items: start !important;
}

/* Cada bloque/campo ocupa todo el ancho de su celda */
.formulario-reserva form > *,
.formulario-reserva form div,
.formulario-reserva form p,
.formulario-reserva .form-group,
.formulario-reserva .rt-form-group,
.formulario-reserva .fm-form-group {
  box-sizing: border-box !important;
}

/* Contenedores directos del formulario */
.formulario-reserva form > div,
.formulario-reserva form > p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Labels */
.formulario-reserva label {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  color: #222 !important;
}

/* Inputs, selects y textarea */
.formulario-reserva input,
.formulario-reserva select,
.formulario-reserva textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  background: #f3f3f5 !important;
  border: none !important;
}

/* Forzar que cualquier envoltorio interno también ocupe todo */
.formulario-reserva form div:has(input),
.formulario-reserva form div:has(select),
.formulario-reserva form div:has(textarea) {
  width: 100% !important;
  max-width: 100% !important;
}

/* Date */
.formulario-reserva form div:has(input[placeholder*="Booking"]),
.formulario-reserva form div:has(input[name*="date"]) {
  width: 100% !important;
}

/* Start Time */
.formulario-reserva form div:has(input[placeholder*="Start"]),
.formulario-reserva form div:has(input[name*="time"]),
.formulario-reserva form div:has(select[name*="time"]) {
  width: 100% !important;
  max-width: 100% !important;
}

.formulario-reserva input[placeholder*="Start"],
.formulario-reserva input[placeholder*="Time"],
.formulario-reserva input[name*="time"],
.formulario-reserva select[name*="time"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
}

/* Message ocupa una línea entera */
.formulario-reserva form div:has(textarea),
.formulario-reserva form p:has(textarea) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.formulario-reserva textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 95px !important;
  min-height: 95px !important;
  resize: vertical !important;
}

/* Ocultar End Time */
.formulario-reserva form div:has(input[name*="end"]),
.formulario-reserva form div:has(select[name*="end"]),
.formulario-reserva input[name*="end"],
.formulario-reserva select[name*="end"],
.formulario-reserva label[for*="end"],
.formulario-reserva .end-time,
.formulario-reserva .fm-end-time,
.formulario-reserva .rt-end-time,
.formulario-reserva [class*="end-time"],
.formulario-reserva [class*="end_time"],
.formulario-reserva [class*="EndTime"] {
  display: none !important;
}

/* Botones ocupan una línea entera */
.formulario-reserva form div:has(button),
.formulario-reserva form div:has(input[type="submit"]),
.formulario-reserva form p:has(button),
.formulario-reserva form p:has(input[type="submit"]) {
  grid-column: 1 / -1 !important;
  display: flex !important;
  gap: 18px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin-top: 4px !important;
}

/* Botones */
.formulario-reserva button,
.formulario-reserva input[type="submit"],
.formulario-reserva .button,
.formulario-reserva .rt-button {
  width: auto !important;
  min-width: 175px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* Botón principal */
.formulario-reserva button[type="submit"],
.formulario-reserva input[type="submit"] {
  background: #5B1E24 !important;
  color: #ffffff !important;
  border: none !important;
}

/* Botón cancelar */
.formulario-reserva button:not([type="submit"]) {
  background: #f1f1f1 !important;
  color: #111 !important;
}

/* Responsive */
@media (max-width: 767px) {
  .formulario-reserva {
    max-width: 100%;
  }

  .formulario-reserva form {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .formulario-reserva form div:has(textarea),
  .formulario-reserva form p:has(textarea),
  .formulario-reserva form div:has(button),
  .formulario-reserva form div:has(input[type="submit"]) {
    grid-column: auto !important;
  }

  .formulario-reserva form div:has(button),
  .formulario-reserva form div:has(input[type="submit"]) {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .formulario-reserva button,
  .formulario-reserva input[type="submit"] {
    width: 100% !important;
  }
}/* End custom CSS */