

.contacto div#loader {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
}

.loader {
	position: relative;
   margin: auto;
    z-index: 100;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}



/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}





.MensajeExito{
    background-color: rgb(249, 249, 251);
    color: rgb(18, 184, 120);
    border-color: rgb(18, 184, 120);
    border-width: 1px;
    text-align: center ;
    display: block;
    border-color: black;
    border-style: solid;
    padding: 10px;
}
.MensajeAlerta{
    background-color: rgb(249, 249, 251);
    color: rgb(219, 75, 104);
    border-color: rgb(219, 75, 104);
    text-align: center;
    display: block;
    border-color: black;
    border-style: solid;
    padding: 10px;
}

.BotonHome{
	
	margin: 20px auto;
	display: flex;
    justify-content: center;
    align-items: center;
}


.wpcf7-textarea{ 
 
  height:100px;
  height:11rem !important;
}

/* De aqui todo es sobre el bloque de contacto */
.precierre {
    min-width: 320px;
    width: 100%;
    max-width: 600px;
    text-align: center;
    padding: 24px 40px 32px;
    background-color: #e5e3ef;
    border-radius: 20px;
    margin: 0 auto 20px;
}

@media screen and (max-width: 500px) {
    .precierre {
        min-width: 260px;
        max-width: 300px;
    }
    .precierre p strong {
        font-size: 18px !important;
        font-weight: 700;
    }
}

@media screen and (max-width: 768px) {
  .dropdown.bootstrap-select {
    padding: 12px !important;
  }
}



.precierre h2 {
    font-family: 'Sora', Calibri, Helvetica, sans-serif;
    font-weight: 800;
    font-size: 24px;
    color: #39404a;
    max-width: 400px;
    margin: 0 auto 16px;
    padding-top: 20px;
}

.precierre h2 span {
    font-size: 18px;
    font-weight: 400;
    display: block;
}

.precierre p {
    font-family: Calibri, Helvetica, Arial, sans-serif;
    font-weight: normal;
    margin: 0;
    color: #39404a;
    font-size: 18px;
    line-height: 1.4;
}

.precierre p span,
.precierre p strong {
    font-size: 24px;
    font-weight: 700;
}



.swal-modal {
   
    background: #FFFFFF 0% 0% no-repeat padding-box !important;
    box-shadow: 0px 3px 6px #00000029 !important;
    border-radius: 20px !important;
    opacity: 1 !important;
}




.swal-footer {
    text-align: center !important;
    margin-top: 0px;
    padding: 0px 16px 13px;
    border-radius: inherit;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.swal-text {
    text-align: center !important;
	font-size: 18px !important;
	font-family: 'Nunito Sans';
	letter-spacing: 0px;
	color: #707070;
	opacity: 1;
}

.swal-title {
	text-align: center !important;
	font-size: 18px !important;
	font-family: 'Nunito Sans';
	letter-spacing: 0px;
	color: #707070;
	opacity: 1;
	
    margin-bottom: 0;
    position: relative;
    float: none;
    line-height: normal;
    vertical-align: top;
    text-align: center;
    display: inline-block;
    margin: 0;
	padding: 0px 54px;    
	font-weight: 400;
    max-width: calc(100% - 20px);
    overflow-wrap: break-word;
    box-sizing: border-box;
}

.swal-button {
    padding: 6px 41px;
	margin:16px auto 16px;
	color: #707070;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border: 1px solid #2B3B47;
	border-radius: 16px;
	opacity: 1;
	font-size: 18px !important;
}

.swal-button:hover {
    background-color: #f96b06 !important;
	color: #707070;
	color: white !important;
	border: 1px solid white;
}

.swal-button--cancel:hover{
    background-color: #f96b06 !important;
	color: white !important;
	border: 1px solid white;
}


.swal-overlay--show-modal .swal-modal {
    border-radius: 15px;
}


/* ====== GRILLA GENERAL ====== */
#FormularioCF.form--default__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 28px;
    align-items: start;
}

@media only screen and (max-width: 767px) {
    #FormularioCF.form--default__grid {
        grid-template-columns: 1fr;
    }
}

/* ====== GRUPO (label + campo) ====== */
#Formulario .form--default__group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0 0 4px;
}

#Formulario .form--default__group p {
    margin: 0;
}

#Formulario .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* ====== LABELS ====== */
#Formulario .form--default__label {
    position: static;
    margin: 0 0 2px 6px;
    padding: 0;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #394049;
    line-height: 1.2;
}

/* ====== INPUTS Y SELECTS ====== */
#Formulario .form--default__input,
#Formulario .form--default__select {
    width: 100%;
    box-sizing: border-box;
    padding: 15px 20px;
    border: 1.5px solid #d5d5da;
    border-radius: 16px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 15px;
    color: #394049;
    outline: none;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#Formulario .form--default__input::placeholder,
#Formulario textarea.form--default__input::placeholder {
    color: #9a9aa2;
    opacity: 1;
}

/* Foco / campo activo (como el RUT resaltado) */
#Formulario .form--default__input:focus,
#Formulario .form--default__select:focus {
    border-color: #394049;
    box-shadow: 0 0 0 1px #394049;
}

/* ====== SELECTS: flecha personalizada ====== */
#Formulario .form--default__select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 46px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23394049' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 14px;
    cursor: pointer;
    height: auto !important;
}

/* ====== TEXTAREA (Comentario) ====== */
#Formulario textarea.form--default__input {
    min-height: 150px;
    resize: vertical;
    line-height: 1.5;
}

/* ====== TELÉFONOS (prefijo + número) ====== */
#Formulario .grid-telef {
    display: grid !important;
    grid-template-columns: 78px 1fr !important;
    grid-template-areas:
        "label label"
        "pref  input" !important;
    column-gap: 12px !important;
    row-gap: 7px !important;
    align-items: center;
}

#Formulario .grid-telef > label {
    grid-area: label;
    position: static;
    left: auto !important;
    margin: 0 0 2px 6px;
}

#Formulario .grid-telef .pref-container {
    grid-area: pref;
}

#Formulario .grid-telef .telef-container {
    grid-area: input;
}

#Formulario .grid-telef .pref-container .form--default__input {
    text-align: center;
    padding: 15px 6px;
    font-weight: 700;
    color: #394049;
}

/* ====== CHECKBOX AUTORIZACIÓN ====== */
#Formulario .wpcf7-acceptance,
#Formulario .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

#Formulario .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #394049;
    cursor: pointer;
}

#Formulario .wpcf7-list-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #f96b07;
    flex: 0 0 18px;
    cursor: pointer;
}

/* ====== BOTÓN ENVIAR ====== */
#Formulario button#BotonEnviar,
#Formulario .form--default__submit {
    display: inline-block;
    width: auto;
    min-width: 180px;
    max-width: max-content;
    padding: 14px 48px !important;
    border-radius: 999px !important;
    border: 2px solid #394049 !important;
    background-color: #ffffff !important;
    color: #394049 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0 auto;
    letter-spacing: .3px;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover: se llena de naranja con texto blanco */
#Formulario button#BotonEnviar:not(:disabled):hover,
#Formulario .form--default__submit:not(:disabled):hover {
    background-color: #f96b07 !important;
    border-color: #f96b07 !important;
    color: #ffffff !important;
}

/* Deshabilitado: igual que el normal pero atenuado */
#Formulario button#BotonEnviar:disabled,
#Formulario button#BotonEnviar.pv-next-locked {
    background-color: #ffffff !important;
    color: #9a9aa2 !important;
    border-color: #c9c9cf !important;
    cursor: not-allowed;
    opacity: 1;
}

/* Estado deshabilitado (sin captcha o sin autorizar): blanco con borde */
#Formulario button#BotonEnviar:disabled {
    background-color: #ffffff !important;
    color: #394049 !important;
    border-color: #394049 !important;
    cursor: not-allowed;
    opacity: 1;
}

/* Botón Home / Aceptar (mismo estilo pill) */
#Formulario .BotonHome {
    border-radius: 999px !important;
    padding: 14px 48px !important;
    background-color: #f96b07 !important;
    border: 2px solid #f96b07 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

#Formulario .form--default__centered {
    display: flex;
    justify-content: center;
}

/* ====== MENSAJES DE RESPUESTA ====== */
#Formulario .wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 14px 18px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 15px;
    line-height: 1.4;
    white-space: pre-line;
}

#Formulario .MensajeAlerta {
    background-color: #fdecea;
    color: #b3261e;
    border-color: #f5c2c0 !important;
}

#Formulario .MensajeExito {
    background-color: #e7f6ec;
    color: #1b7f3b;
    border-color: #b6e0c4 !important;
}




