.elementor-1139 .elementor-element.elementor-element-69b8e6f{--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-1139 .elementor-element.elementor-element-0266215 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:45px;font-weight:600;color:#FF0244;}.elementor-1139 .elementor-element.elementor-element-bcdf65e{--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:none;--border-style:none;--border-radius:40px 40px 40px 40px;--margin-top:40px;--margin-bottom:0px;--margin-left:10px;--margin-right:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1139 .elementor-element.elementor-element-bcdf65e:not(.elementor-motion-effects-element-type-background), .elementor-1139 .elementor-element.elementor-element-bcdf65e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-1139 .elementor-element.elementor-element-3a6d190{--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;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#FFFFFF;--border-color:#FFFFFF;--border-radius:40px 0px 0px 40px;}.elementor-1139 .elementor-element.elementor-element-3a6d190:not(.elementor-motion-effects-element-type-background), .elementor-1139 .elementor-element.elementor-element-3a6d190 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://oleevent.com/wp-content/uploads/2025/09/IMG_2975.jpeg");background-position:center center;background-size:cover;}.elementor-1139 .elementor-element.elementor-element-69069dd{--spacer-size:426px;}.elementor-1139 .elementor-element.elementor-element-cece553{--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;--justify-content:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#FFFFFF00;--border-color:#FFFFFF00;--border-radius:40px 40px 40px 40px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1139 .elementor-element.elementor-element-00ef074 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:600;color:#000000;}.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-1139 .elementor-element.elementor-element-a04ae8d > .elementor-widget-container{margin:0px 0px -24px 0px;}.elementor-1139 .elementor-element.elementor-element-a04ae8d{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-1139 .elementor-element.elementor-element-0d8a974{--display:flex;}.elementor-1139 .elementor-element.elementor-element-d768964 > .elementor-widget-container{margin:60px 0px 0px 0px;}.elementor-1139 .elementor-element.elementor-element-d768964 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:34px;font-weight:600;color:#FF0244;}@media(min-width:768px){.elementor-1139 .elementor-element.elementor-element-69b8e6f{--content-width:1400px;}.elementor-1139 .elementor-element.elementor-element-bcdf65e{--content-width:1400px;}.elementor-1139 .elementor-element.elementor-element-3a6d190{--width:50%;}.elementor-1139 .elementor-element.elementor-element-cece553{--width:50%;}.elementor-1139 .elementor-element.elementor-element-0d8a974{--content-width:1400px;}}/* Start custom CSS *//* === FORMULARI ACF GENERAL === */

.acf-form {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  padding: 2em 2em 1em 2em;
  margin: 2em auto;
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
  overflow: auto;
}

/* === ETIQUETES === */

.acf-form label,
.acf-label label {
  font-weight: 600;
  color: #222;
  margin-bottom: 0.4em;
  display: block;
  letter-spacing: 0.01em;
}

/* === CAMPS INPUT === */

.acf-input input[type="text"],
.acf-input input[type="email"],
.acf-input input[type="number"],
.acf-input input[type="tel"],
.acf-input select,
.acf-input textarea {
  width: 100%;
  padding: 0.7em 1em;
  border: 1px solid #e0e0e0;
  border-radius: 7px;
  background: #fafbfc;
  margin-bottom: 1.2em;
  font-size: 1em;
  transition: border-color 0.2s;
}

.acf-input input:focus,
.acf-input select:focus,
.acf-input textarea:focus {
  border-color: #ff0244;
  outline: none;
  background: #fff;
}

/* === BOTÓ ENVIAR === */

input[type="submit"].acf-button,
.acf-form input[type="submit"] {
  display: inline-block;
  float: right;
  background: #ff0244;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 0.9em 2.2em;
  font-size: 1.1em;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: 0 2px 8px rgba(255,2,68,0.07);
}

input[type="submit"].acf-button:hover,
.acf-form input[type="submit"]:hover {
  background: #c80032;
}

/* === MISSATGES DE VALIDACIÓ === */

.acf-notice.-error {
  background: #fff0f3;
  color: #ff0244;
  border: 1px solid #ff0244;
  border-radius: 6px;
  padding: 0.8em 1em;
  margin-bottom: 1em;
}
.acf-notice.-success {
  background: #f3fff6;
  color: #1a7f37;
  border: 1px solid #1a7f37;
  border-radius: 6px;
  padding: 0.8em 1em;
  margin-bottom: 1em;
}
.acf-notice p {
  font-weight: bold !important;
  color: #ffffff !important;
}

/* === REPEATER === */

.acf-field-repeater .acf-row {
  border-bottom: 1px solid #ececec;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

.acf-field-repeater .acf-row:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.acf-field-repeater .acf-button {
  background: #fff !important;
  color: #ff0244;
  border: 2px solid #ff0244;
  border-radius: 6px;
  padding: 0.1em 1.2em;
  font-size: .85em;
  font-weight: 600;
  margin-top: 0.5em;
  margin-bottom: 1em;
  cursor: pointer;
  transition: background 0.2s;
}
.acf-field-repeater .acf-button:hover {
  background: #c80032;
}
.acf-icon.-minus {
  color: #ff0244;
  background: none;
  border: none;
  font-size: 1.1em;
  margin-left: 0.5em;
  transition: color 0.2s;
}
.acf-icon.-minus:hover {
  color: #c80032;
}

.acf-row-handle.remove {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding-right: 10px !important;
}

.acf-repeater .acf-row-handle.remove {
    background: #ffffff !important;
    border: none !important;
}




/* === TRUE/FALSE SWITCH === */

.acf-field-true-false .acf-true-false label {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 28px;
  cursor: pointer;
  margin: 0;
  vertical-align: middle;
}
.acf-field-true-false .acf-true-false label input[type="checkbox"] {
  opacity: 0;
  width: 48px;
  height: 28px;
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  z-index: 2;
  cursor: pointer;
}
.acf-field-true-false .acf-true-false label span {
  display: block;
  width: 100%;
  height: 100%;
  background: #ececec;
  border-radius: 16px;
  position: relative;
}
.acf-field-true-false .acf-true-false label span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.10);
  transition: left 0.2s, background 0.2s;
  z-index: 1;
}
.acf-field-true-false .acf-true-false label input[type="checkbox"]:checked + span {
  background: #ff0244;
}
.acf-field-true-false .acf-true-false label input[type="checkbox"]:checked + span::after {
  left: 24px;
  background: #fff0f3;
}

/* === THEAD (elimina borde gris) === */
@media (max-width: 700px) {

    .acf-table thead,
    .acf-table thead tr,
    .acf-table thead th {
      display: none !important;
      border: none !important;
      background: transparent !important;
    }
    
    table.acf-table {
        border: none !important;
    }
    
    td.acf-field {
        border: none !important;
    }

    .acf-fields>.acf-field {
        padding: 0px;
    }


    .acf-form {
        padding: 0em;
    }

    .acf-field input[type=text], .acf-field input[type=password], .acf-field input[type=date], .acf-field input[type=datetime], .acf-field input[type=datetime-local], .acf-field input[type=email], .acf-field input[type=month], .acf-field input[type=number], .acf-field input[type=search], .acf-field input[type=tel], .acf-field input[type=time], .acf-field input[type=url], .acf-field input[type=week], .acf-field textarea, .acf-field select {
        padding: 12px 8px !important;
        font-size: 16px !important;
    }

}






/* Asegura visibilidad y accesibilidad del botón + (Agregar fila) en móvil */
@media (max-width: 600px) {
    
    /* Oculta el botón + (agregar fila) del repeater en todos los tamaños */
    .acf-row-handle.remove .acf-icon.-plus {
      display: none !important;
    }
    
    /* Asegura que el botón - (eliminar fila) siempre sea visible y accesible */
    .acf-row-handle.remove .acf-icon.-minus {
      display: inline-block !important;
      font-size: 1.5em !important;
      width: 25px !important;
      height: 25px !important;
      line-height: 25px !important;
      border-radius: 50% !important;
      background: #ff0244 !important;
      color: #fff !important;
      border: none !important;
      margin: 4px 0 !important;
      vertical-align: middle !important;
      cursor: pointer !important;
      position: relative !important;
      z-index: 12 !important;
      transition: background 0.2s;
    }
    
    .acf-row-handle.remove .acf-icon.-minus:focus,
    .acf-row-handle.remove .acf-icon.-minus:hover {
      background: #d80036 !important;
      outline: none !important;
    }

  .acf-icon:before {
    margin-top: -4px !important;
  }

}





/* === RESPONSIVE: TAULA REPEATER === */
@media (max-width: 700px) {
  .acf-table,
  .acf-table thead,
  .acf-table tbody,
  .acf-table tr,
  .acf-table td,
  .acf-table th {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .acf-table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .acf-table .acf-input,
  .acf-table .acf-input-wrap {
    padding: 0 !important;
    margin: 0 !important;
  }
  /*
  .acf-table input,
  .acf-table select,
  .acf-table textarea {
    width: 100% !important;
  }*/
}

/* === ESTILS ADICIONALS === */

small {
  font-size: 74%;
  font-weight: lighter;
}
th.acf-th, th.acf-row-handle {
  background: none !important;
}
.acf-order-details-columns {
  display: flex;
  gap: 24px;
  margin-top: 1em;
}
.acf-order-details-col {
  flex: 1;
  min-width: 260px;
  background: #f8f9fa;
  border-radius: 10px;
  padding: 1em 1.2em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.acf-order-details-col h3 {
  color: #ff0244;
  font-size: 1.2em;
  font-weight: 800;
  margin-top: 0;
  margin-bottom: 1em;
}
.acf-order-details-col ol {
  padding-left: 1.1em;
  margin: 0;
}
.acf-order-details-col li {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #ececec;
}
.acf-order-details-col li:last-child {
  border-bottom: none;
}
.acf-order-details-col strong {
  color: #222;
  font-weight: 700;
}



/* Oculta los labels móviles en escritorio */
.acf-mobile-label {
  display: none;
}

@media (max-width: 700px) {
  .acf-mobile-label {
    display: block;
  }
}


.acf-label label {
    color: #FF0244;
    font-size: 21px;
    font-weight: bold !important;
}

a.acf-icon.-minus.small.acf-js-tooltip {
    margin-top: 20px !important;
}

/* salt de fila */
/* Aplica només al camp "Personnes accompagnantes" dins de chambres */
.acf-field[data-name="chambres"] .acf-table tr > td[data-name="personnes_accompagnantes"] {
  display: block !important;
  width: 100% !important;
  padding-top: 1em;
  padding-left: 0;
  padding-right: 0;
  border-top: 1px solid #eee;
}



/* -- Overlay -- */
#formOverlay {
  position: fixed;
  inset: 0;
  background-color: rgba(255,255,255,0.85);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
}

.spinner-box {
  text-align: center;
  font-family: sans-serif;
}

.spinner-box p {
  font-size: 1.2em;
  color: #333;
  margin-top: 1em;
}

.loader {
  width: 48px;
  height: 48px;
  border: 5px solid #ccc;
  border-top-color: #ff0244;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: auto;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}/* End custom CSS */