.elementor-kit-2{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-2 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-element.sin-margin {
    margin: 0 !important;
}
.elementor-element.sin-padding {
    padding: 0 !important;
}
/* CSS GLOBAL (una sola vez) */
:root{
  --brand:#315b65; --brand-2:#5c868e;
  --accent-1:#b9d7d4; --accent-2:#e5f2f1;
  --white:#fff; --ink:#1a1a1a;
  --radius:14px; --shadow:0 10px 30px rgba(0,0,0,.08);
}
.s2c-wrap{max-width:1140px;margin:auto;padding:28px 20px}
.s2c-section{padding:28px 0}
.s2c-grid{display:grid;gap:22px}
@media(min-width:768px){.s2c-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.s2c-card{background:var(--accent-2);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.s2c-btn{display:inline-flex;align-items:center;gap:.6em;background:var(--brand);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600}
.s2c-btn:hover{background:var(--brand-2)}
.s2c-h1{font-size:clamp(28px,4.5vw,44px);line-height:1.1;margin:0 0 .6em;color:var(--brand)}
.s2c-h2{font-size:clamp(22px,3.2vw,32px);margin:0 0 .5em;color:var(--ink)}
.s2c-muted{color:rgba(0,0,0,.64)}

.contact-label {
display: flex !important;
justify-content: center;
align-items: center;
}
.contact-label span {
margin-left: 5px;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
  display: inline-block;
}

.footer-links a:hover {
  color: var(--accent-1);
  transform: translateX(5px);
}

/* Modal centrado usando el propio wpcf7-response-output */
#contacto .wpcf7-response-output {
  position: fixed; left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(.98);
  width: min(92vw, 520px); max-width: 520px;
  margin: 0 !important; padding: 22px 20px 14px;
  background: #fff; border: 0; border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  z-index: 9999;
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  text-align: center; font-size: 16px; line-height: 1.35;
}

/* Estado visible (lo aplica el JS) */
#contacto .wpcf7-response-output.is-modal[aria-hidden="false"] {
  opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1);
}

/* Icono check / error */
#contacto .wpcf7-response-output.is-modal::before {
  content: "✓"; display: block; font-size: 40px; margin-bottom: 8px;
}
#contacto .wpcf7-response-output.is-modal.is-error::before { content: "⚠"; }

/* Barra de progreso (cuenta atrás) */
#contacto .wpcf7-response-output.is-modal .cf7-progress {
  height: 4px; background: #e6f2f2; border-radius: 999px; overflow: hidden;
  margin-top: 12px;
}
#contacto .wpcf7-response-output.is-modal .cf7-progress::after {
  content: ""; display: block; height: 100%; background: #00a5a5;
  transform-origin: left;
  animation: cf7bar var(--cf7-timeout, 4s) linear forwards;
}
@keyframes cf7bar { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* “Apagar” el formulario mientras se muestra el modal */
#contacto .wpcf7-form.is-dimmed {
  opacity: .45; filter: grayscale(30%); pointer-events: none; user-select: none;
}

/* Fondo oscurecido de la página cuando el modal está visible */
#contacto.modal-open::after {
  content: ""; position: fixed; inset: 0; background: rgba(0,0,0,.55);
  z-index: 9998;
}

/* Ocultar el “aviso nativo” solo cuando el modal está visible (por si otro tema lo duplica) */
#contacto.modal-open .wpcf7-response-output:not(.is-modal) { display: none !important; }/* End custom CSS */