/*
Theme Name: Cactus
Theme URI: http://www.cactussenygrafic.com/
Version: 2.0
Description: Plantilla desenvolupada per Cactus
Author: Cactus Seny Grafic
Author URI: https://www.cactussenygrafic.com/
Template: Divi
*/


/** font custom **/
body, p, h1, h2, h3, h4, h5, h6, a, span:not(.ab-icon), li, div, td, th, label, input, textarea, button, .saes {}

/* ===== PORTAL DE SANT PONÇ · FORMULARI LLISTA D'ESPERA =====
   Forminator ID 14 · secció #contacte
   =========================================================== */

#forminator-module-14.forminator-ui {
  --psp-terra: #A34E3D;
  --psp-terra-hover: #8C4032;
  --psp-grafit: #2F3330;
  --psp-ivori: #F5F0E8;
  --psp-salvia: #88917C;
  --psp-linia: #B5B6AA;
  --psp-error: #9E2A1F;
  font-family: Manrope, Arial, sans-serif !important;
  color: var(--psp-grafit) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Files i columnes */
#forminator-module-14.forminator-ui .forminator-row {
  margin-bottom: 18px !important;
}

/* Etiquetes */
#forminator-module-14.forminator-ui .forminator-label {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--psp-grafit) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#forminator-module-14.forminator-ui .forminator-required {
  color: var(--psp-terra) !important;
}

/* Camps: només línia inferior */
#forminator-module-14.forminator-ui .forminator-input,
#forminator-module-14.forminator-ui .forminator-textarea,
#forminator-module-14.forminator-ui .select2-selection--single {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 0 !important;
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--psp-linia) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--psp-grafit) !important;
  transition: border-color .2s ease;
}

#forminator-module-14.forminator-ui .forminator-textarea {
  min-height: 70px !important;
  height: 70px !important;
  resize: vertical;
}

#forminator-module-14.forminator-ui .forminator-input::placeholder,
#forminator-module-14.forminator-ui .forminator-textarea::placeholder {
  color: rgba(47, 51, 48, .55) !important;
  opacity: 1;
}

#forminator-module-14.forminator-ui .forminator-input:hover,
#forminator-module-14.forminator-ui .forminator-textarea:hover,
#forminator-module-14.forminator-ui .forminator-input:focus,
#forminator-module-14.forminator-ui .forminator-textarea:focus,
#forminator-module-14.forminator-ui .select2-selection--single:hover,
#forminator-module-14.forminator-ui .select2-container--open .select2-selection--single,
#forminator-module-14.forminator-ui .select2-container--focus .select2-selection--single {
  background-color: transparent !important;
  border-bottom-color: var(--psp-terra) !important;
  box-shadow: none !important;
  outline: none !important;
}

#forminator-module-14.forminator-ui .forminator-input:focus-visible,
#forminator-module-14.forminator-ui .forminator-textarea:focus-visible,
#forminator-module-14.forminator-ui .select2-selection--single:focus-visible {
  outline: 3px solid var(--psp-terra) !important;
  outline-offset: 5px !important;
}

/* Autocompletat del navegador */
#forminator-module-14.forminator-ui .forminator-input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--psp-ivori) inset !important;
  -webkit-text-fill-color: var(--psp-grafit) !important;
}

/* Desplegable tancat */
#forminator-module-14.forminator-ui .select2-container {
  width: 100% !important;
}

#forminator-module-14.forminator-ui .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  cursor: pointer;
}

#forminator-module-14.forminator-ui .select2-selection__rendered {
  flex: 1 1 auto !important;
  width: auto !important;
  padding: 0 12px 0 0 !important;
  color: var(--psp-grafit) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#forminator-module-14.forminator-ui .select2-selection__arrow {
  position: static !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  color: var(--psp-grafit) !important;
}

#forminator-module-14.forminator-ui .select2-selection__arrow [class*="forminator-icon"] {
  color: var(--psp-grafit) !important;
}

/* Desplegable obert (es genera fora del formulari) */
.forminator-select-dropdown.forminator-custom-form-14 {
  background-color: #F5F0E8 !important;
  border: 1px solid #B5B6AA !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 30px rgba(47, 51, 48, .12) !important;
}

.forminator-select-dropdown.forminator-custom-form-14 .select2-results__option {
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #2F3330 !important;
}

.forminator-select-dropdown.forminator-custom-form-14 .select2-results__option--highlighted,
.forminator-select-dropdown.forminator-custom-form-14 .select2-results__option[aria-selected="true"],
.forminator-select-dropdown.forminator-custom-form-14 .select2-results__option--selected {
  background-color: #A34E3D !important;
  color: #F5F0E8 !important;
}

/* Casella de privacitat */
#forminator-module-14.forminator-ui .forminator-checkbox-box {
  background-color: transparent !important;
  border: 1px solid var(--psp-linia) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#forminator-module-14.forminator-ui .forminator-checkbox:hover .forminator-checkbox-box {
  border-color: var(--psp-terra) !important;
}

#forminator-module-14.forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box {
  background-color: var(--psp-terra) !important;
  border-color: var(--psp-terra) !important;
}

#forminator-module-14.forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box:before {
  color: var(--psp-ivori) !important;
}

#forminator-module-14.forminator-ui .forminator-checkbox-label {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: var(--psp-grafit) !important;
}

#forminator-module-14.forminator-ui .forminator-checkbox-label a {
  color: var(--psp-grafit) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

#forminator-module-14.forminator-ui .forminator-checkbox-label a:hover {
  color: var(--psp-terra) !important;
}

/* Botó enviar */
#forminator-module-14.forminator-ui .forminator-row-last {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

#forminator-module-14.forminator-ui .forminator-button-submit {
  display: block !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 16px 24px !important;
  background-color: var(--psp-terra) !important;
  color: var(--psp-ivori) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  cursor: pointer;
  transition: background-color .2s ease;
}

#forminator-module-14.forminator-ui .forminator-button-submit:hover,
#forminator-module-14.forminator-ui .forminator-button-submit:focus {
  background-color: var(--psp-terra-hover) !important;
  color: var(--psp-ivori) !important;
}

#forminator-module-14.forminator-ui .forminator-button-submit:focus-visible {
  outline: 3px solid var(--psp-terra) !important;
  outline-offset: 5px !important;
}

/* Errors */
#forminator-module-14.forminator-ui .forminator-has_error .forminator-input,
#forminator-module-14.forminator-ui .forminator-has_error .forminator-textarea,
#forminator-module-14.forminator-ui .forminator-has_error .select2-selection--single {
  border-bottom-color: var(--psp-error) !important;
}

#forminator-module-14.forminator-ui .forminator-has_error .forminator-checkbox-box {
  border-color: var(--psp-error) !important;
}

#forminator-module-14.forminator-ui .forminator-error-message {
  background: transparent !important;
  color: var(--psp-error) !important;
  padding: 6px 0 0 !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
}

/* Missatge de resposta (gràcies / error) */
#forminator-module-14.forminator-ui .forminator-response-message {
  background-color: var(--psp-ivori) !important;
  border: 1px solid var(--psp-salvia) !important;
  border-left: 3px solid var(--psp-terra) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px 18px !important;
}

#forminator-module-14.forminator-ui .forminator-response-message,
#forminator-module-14.forminator-ui .forminator-response-message p {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  color: var(--psp-grafit) !important;
}

/* Correu i telèfon a la mateixa fila (també en mòbil) */
#forminator-module-14.forminator-ui .forminator-row:has(> .forminator-field-email):has(> .forminator-field-phone) {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#forminator-module-14.forminator-ui .forminator-row:has(> .forminator-field-email):has(> .forminator-field-phone) > .forminator-col {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 0 !important;
}