.elementor-kit-798{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-1677d30:#01796F;--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;--e-global-typography-89c31f1-font-family:"Sunflower";--e-global-typography-89c31f1-font-size:31px;--e-global-typography-89c31f1-font-weight:600;}.elementor-kit-798 e-page-transition{background-color:#FFBC7D;}.elementor-kit-798 a{color:#569CFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* --- ---------------------------- --- */


/* --- CSS ADICIONAL: --- */


/* --- ESTILOS GLOBALES PARA LA NUEVA HOME (VERSIÓN VALIDADA W3C) --- */

/* Contenedor principal y espaciado - CORRECCIÓN PARA MÓVIL */
.c-section {
    width: 100%;
    padding: 48px 16px; /* Padding reducido para móviles */
    margin: 0 auto;
    overflow: hidden;
}
.c-container {
    max-width: 1152px;
    margin: 0 auto;
    width: 100%;
}

/* Fondos y bordes */
.c-bg-white { background-color: #ffffff; }
.c-bg-secondary { background-color: var(--e-global-color-secondary-background, #f8fafc); }
.c-border-top { border-top: 1px solid var(--e-global-color-border, #e2e8f0); }

/* Tipografía y Textos */
.c-text-center { text-align: center; }
.c-text-left { text-align: left; }
.c-max-w-prose { max-width: 80ch; margin-left: auto; margin-right: auto; }

.c-main-title {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-font-weight, 800);
    font-size: clamp(2.25rem, 5vw, 3rem);
    color: var(--e-global-color-text);
    line-height: 1.2;
    margin-bottom: 16px;
    overflow-wrap: break-word;
}
.c-section-title {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-font-weight, 800);
    font-size: clamp(1.875rem, 4vw, 2.25rem);
    color: var(--e-global-color-text);
    margin-bottom: 16px;
    overflow-wrap: break-word;
}
.c-card-title {
    font-family: var(--e-global-typography-secondary-font-family);
    font-weight: var(--e-global-typography-secondary-font-weight, 700);
    font-size: 1.25rem;
    color: var(--e-global-color-text);
    margin-bottom: 8px;
    overflow-wrap: break-word;
}
.c-main-subtitle, .c-section-subtitle, .c-card-text {
    font-family: var(--e-global-typography-text-font-family);
    font-size: clamp(1rem, 2.5vw, 1.125rem);
    color: #475569;
    line-height: 1.6;
    overflow-wrap: break-word;
}
.c-main-subtitle { margin-bottom: 32px; }
.c-section-subtitle { margin-bottom: 48px; }
.c-highlight { color: var(--e-global-color-primary); }

/* Estilos para BLOQUE 1 (HERO CON FORMULARIO) */
.c-hero-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-hero-form-wrapper { background-color: #ffffff; padding: 24px 20px; border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); border: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-hero-form-wrapper h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: var(--e-global-typography-secondary-font-weight, 700); font-size: 1.25rem; color: var(--e-global-color-text); text-align: center; margin-bottom: 16px; }

.c-contact-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
.c-contact-hero-image img {
    width: 100%;
    height: auto;
    border-radius: 16px; /* Esquinas redondeadas */
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1); /* Sombra suave */
    object-fit: cover;
}
@media (min-width: 768px) {
    .c-contact-hero-grid {
        grid-template-columns: 1fr 1fr; /* Dos columnas en escritorio */
    }
}

/* Estilos para POR QUÉ ELEGIRNOS (HOME) */
.c-feature-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-feature-image-wrapper img { width: 100%; height: auto; border-radius: 16px; object-fit: cover; box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1); }
.c-benefits-list { list-style: none; padding: 0; margin: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.c-benefit-item { display: flex; align-items: flex-start; gap: 12px; font-family: var(--e-global-typography-text-font-family); color: #475569; font-size: 1rem; }
.c-benefit-item svg { flex-shrink: 0; width: 24px; height: 24px; color: var(--e-global-color-primary); margin-top: 2px; }
.c-stats-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 32px; text-align: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-stat-item { min-width: 150px; }
.c-stat-number { font-family: var(--e-global-typography-primary-font-family); font-weight: var(--e-global-typography-primary-font-weight, 800); font-size: 2rem; color: var(--e-global-color-primary); }
.c-stat-label { font-family: var(--e-global-typography-text-font-family); color: #475569; font-size: 0.9rem; margin-top: 0; }

/* ESTILOS PARA PREGUNTAS FRECUENTES (Genérico para todas las páginas) */
.c-faq-grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.c-faq-item { background-color: #ffffff; padding: 24px; border: 1px solid var(--e-global-color-border, #e2e8f0); border-radius: 12px; text-align: left; }
.c-faq-item h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.125rem; color: var(--e-global-color-text); margin-top: 0; margin-bottom: 8px; }
.c-faq-item p { font-family: var(--e-global-typography-text-font-family); color: #475569; line-height: 1.6; margin-bottom: 0; font-size: 1rem; }

/* Otros estilos (Cards, Botones, etc.) */
.c-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; border-radius: 12px; font-family: var(--e-global-typography-text-font-family); font-weight: 600; font-size: 1.125rem; color: #ffffff; background-color: var(--e-global-color-primary); text-decoration: none; transition: background-color 0.3s ease; border: none; cursor: pointer; text-align: center; }
.c-btn:hover { background-color: var(--e-global-color-secondary); color: #ffffff; }
.c-btn svg { width: 24px; height: 24px; }
.c-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 32px; }
.c-card { display: block; background-color: var(--e-global-color-secondary-background, #f8fafc); padding: 32px; border-radius: 16px; border: 1px solid var(--e-global-color-border, #e2e8f0); text-align: center; text-decoration: none; transition: all 0.3s ease-in-out; }
.c-card:hover { transform: translateY(-5px); border-color: var(--e-global-color-primary); box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.08); }
.c-card-container {
    background-color: #f8fafc; /* Color de fondo c-bg-secondary */
    padding: 32px;
    border-radius: 16px; /* Equivalente a rounded-2xl */
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); /* Sombra suave */
}
@media (min-width: 768px) {
    .c-card-container {
        padding: 48px; /* Más padding en escritorio */
    }
}
.c-card-icon-wrapper { display: inline-flex; background-color: #dbeafe; padding: 12px; border-radius: 9999px; margin-bottom: 16px; }
.c-card-icon-wrapper svg { width: 32px; height: 32px; color: var(--e-global-color-primary); }
.c-final-cta-title { font-family: var(--e-global-typography-primary-font-family); font-weight: var(--e-global-typography-primary-font-weight, 800); font-size: clamp(1.875rem, 4vw, 2.25rem); color: var(--e-global-color-text); margin-bottom: 16px; }
.c-contact-details { margin-top: 48px; font-family: var(--e-global-typography-text-font-family); color: #475569; line-height: 1.8; }
.c-contact-details a { color: var(--e-global-color-text); text-decoration: none; font-weight: 600; }
.c-contact-details a:hover { color: var(--e-global-color-primary); }
.c-contact-details p { margin: 0; }

/* NUEVAS CLASES DE UTILIDAD */
.c-mb-32 { margin-bottom: 32px; }
.c-form-container { max-width: 768px; margin-left: auto; margin-right: auto; }
.c-section-compacto { padding-top: 24px; padding-bottom: 24px; }

/* --- ESTILOS PARA LA PÁGINA DE CONTACTO --- */
.c-contact-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: flex-start; }
.c-contact-info-wrapper { text-align: left; }
.c-contact-info-wrapper h2 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.5rem; color: var(--e-global-color-text); margin-top: 0; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--e-global-color-primary); display: inline-block; }
.c-contact-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
.c-contact-info-item { display: flex; align-items: flex-start; gap: 16px; font-family: var(--e-global-typography-text-font-family); font-size: 1.125rem; color: #475569; }
.c-contact-info-item svg { flex-shrink: 0; width: 28px; height: 28px; color: var(--e-global-color-primary); margin-top: 4px; }
.c-contact-info-item a { color: #475569; text-decoration: none; font-weight: 500; transition: color 0.3s ease; }
.c-contact-info-item a:hover { color: var(--e-global-color-primary); }
.c-contact-form-wrapper { background-color: #ffffff; padding: 32px 24px; border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); border: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-contact-form-wrapper h2 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.5rem; color: var(--e-global-color-text); text-align: center; margin-top: 0; margin-bottom: 24px; }
.c-map-wrapper { width: 100%; height: 450px; border-radius: 16px; overflow: hidden; border: 1px solid var(--e-global-color-border, #e2e8f0); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.c-map-wrapper iframe { width: 100%; height: 100%; border: 0; }

/* --- ESTILOS PARA LA PÁGINA SOBRE NOSOTROS --- */
.c-about-hero-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-values-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.c-value-card { text-align: left; background-color: #ffffff; padding: 32px; border-radius: 16px; border: 1px solid var(--e-global-color-border, #e2e8f0); display: flex; flex-direction: column; gap: 16px; }
.c-value-card-header { display: flex; align-items: center; gap: 16px; }
.c-value-card-header svg { flex-shrink: 0; width: 32px; height: 32px; color: var(--e-global-color-primary); }
.c-value-card-header h3 { margin: 0; font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.25rem; color: var(--e-global-color-text); }
.c-team-category-title { font-family: var(--e-global-typography-primary-font-family); font-weight: 800; font-size: 1.75rem; color: var(--e-global-color-text); text-align: center; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--e-global-color-primary); display: inline-block; }
.c-team-grid { display: grid; grid-template-columns: 1fr; gap: 48px 32px; margin-top: 48px; }
.c-team-card { text-align: center; }
.c-team-card-img-wrapper { position: relative; margin-bottom: 24px; overflow: hidden; border-radius: 16px; box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1); aspect-ratio: 1 / 1.1; }
.c-team-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 0.4s ease; }
.c-team-card:hover img { transform: scale(1.05); }
.c-team-card h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.375rem; color: var(--e-global-color-text); margin: 0 0 4px 0; }
.c-team-card-role { font-family: var(--e-global-typography-text-font-family); font-size: 1rem; color: var(--e-global-color-primary); font-weight: 600; margin-bottom: 16px; display: block; }
.c-team-card p { font-size: 0.95rem; line-height: 1.6; }

/* --- Media Queries para Responsividad --- */
@media (min-width: 768px) {
    .c-section { padding: 96px 24px; }
    .c-grid { grid-template-columns: repeat(3, 1fr); }
    .c-hero-grid { grid-template-columns: 1.2fr 1fr; }
    .c-values-grid { grid-template-columns: repeat(3, 1fr); }
    .c-section-compacto { padding-top: 48px; padding-bottom: 48px; }
}
@media (min-width: 992px) {
    .c-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .c-stats-wrapper { justify-content: flex-start; text-align: left; }
    .c-contact-grid { grid-template-columns: 1fr 1.2fr; }
    .c-about-hero-grid { grid-template-columns: 1fr 0.8fr; gap: 64px; }
    .c-team-grid { grid-template-columns: repeat(4, 1fr); }
    .c-team-grid.procesal-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 576px) {
    .c-team-grid { grid-template-columns: repeat(2, 1fr); }
}

/* --- ESTILOS GLOBALES validados W3C --- */
.c-section {
    width: 100%;
    padding: 48px 16px;
    margin: 0 auto;
    overflow: hidden;
}
.c-container {
    max-width: 1152px;
    margin: 0 auto;
    width: 100%;
}

/* Fondos y bordes */
.c-bg-white { background-color: #ffffff; }
.c-bg-secondary { background-color: var(--e-global-color-secondary-background, #f8fafc); }
.c-border-top { border-top: 1px solid var(--e-global-color-border, #e2e8f0); }

/* Tipografía y Textos */
.c-text-center { text-align: center; }
.c-text-left { text-align: left; }
.c-max-w-prose { max-width: 80ch; margin-left: auto; margin-right: auto; }

.c-main-title {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-font-weight, 800);
    font-size: clamp(2.25rem, 5vw, 3rem);
    color: var(--e-global-color-text);
    line-height: 1.2;
    margin-bottom: 16px;
    overflow-wrap: break-word;
}
.c-section-title {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-font-weight, 800);
    font-size: clamp(1.875rem, 4vw, 2.25rem);
    color: var(--e-global-color-text);
    margin-bottom: 16px;
    overflow-wrap: break-word;
}
.c-card-title {
    font-family: var(--e-global-typography-secondary-font-family);
    font-weight: var(--e-global-typography-secondary-font-weight, 700);
    font-size: 1.25rem;
    color: var(--e-global-color-text);
    margin-bottom: 8px;
    overflow-wrap: break-word;
}
.c-main-subtitle, .c-section-subtitle, .c-card-text {
    font-family: var(--e-global-typography-text-font-family);
    font-size: clamp(1rem, 2.5vw, 1.125rem);
    color: #475569;
    line-height: 1.6;
    overflow-wrap: break-word;
}
.c-main-subtitle { margin-bottom: 32px; }
.c-section-subtitle { margin-bottom: 48px; }
.c-highlight { color: var(--e-global-color-primary); }

/* Estilos para BLOQUE 1 (HERO CON FORMULARIO) */
.c-hero-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-hero-form-wrapper { background-color: #ffffff; padding: 24px 20px; border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); border: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-hero-form-wrapper h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: var(--e-global-typography-secondary-font-weight, 700); font-size: 1.25rem; color: var(--e-global-color-text); text-align: center; margin-bottom: 16px; }

.c-contact-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
.c-contact-hero-image img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1);
    object-fit: cover;
}
@media (min-width: 768px) {
    .c-contact-hero-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Estilos para POR QUÉ ELEGIRNOS (HOME) */
.c-feature-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-feature-image-wrapper img { width: 100%; height: auto; border-radius: 16px; object-fit: cover; box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1); }
.c-benefits-list { list-style: none; padding: 0; margin: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.c-benefit-item { display: flex; align-items: flex-start; gap: 12px; font-family: var(--e-global-typography-text-font-family); color: #475569; font-size: 1rem; }
.c-benefit-item svg { flex-shrink: 0; width: 24px; height: 24px; color: var(--e-global-color-primary); margin-top: 2px; }
.c-stats-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 32px; text-align: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-stat-item { min-width: 150px; }
.c-stat-number { font-family: var(--e-global-typography-primary-font-family); font-weight: var(--e-global-typography-primary-font-weight, 800); font-size: 2rem; color: var(--e-global-color-primary); }
.c-stat-label { font-family: var(--e-global-typography-text-font-family); color: #475569; font-size: 0.9rem; margin-top: 0; }

/* ESTILOS PARA PREGUNTAS FRECUENTES (Genérico para todas las páginas) */
.c-faq-grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.c-faq-item { background-color: #ffffff; padding: 24px; border: 1px solid var(--e-global-color-border, #e2e8f0); border-radius: 12px; text-align: left; }
.c-faq-item h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.125rem; color: var(--e-global-color-text); margin-top: 0; margin-bottom: 8px; }
.c-faq-item p { font-family: var(--e-global-typography-text-font-family); color: #475569; line-height: 1.6; margin-bottom: 0; font-size: 1rem; }

/* Otros estilos (Cards, Botones, etc.) */
.c-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; border-radius: 12px; font-family: var(--e-global-typography-text-font-family); font-weight: 600; font-size: 1.125rem; color: #ffffff; background-color: var(--e-global-color-primary); text-decoration: none; transition: background-color 0.3s ease; border: none; cursor: pointer; text-align: center; }
.c-btn:hover { background-color: var(--e-global-color-secondary); color: #ffffff; }
.c-btn svg { width: 24px; height: 24px; }
.c-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 32px; }
.c-card { display: block; background-color: var(--e-global-color-secondary-background, #f8fafc); padding: 32px; border-radius: 16px; border: 1px solid var(--e-global-color-border, #e2e8f0); text-align: center; text-decoration: none; transition: all 0.3s ease-in-out; }
.c-card:hover { transform: translateY(-5px); border-color: var(--e-global-color-primary); box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.08); }
.c-card-container {
    background-color: #f8fafc;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
}
@media (min-width: 768px) {
    .c-card-container {
        padding: 48px;
    }
}
.c-card-icon-wrapper { display: inline-flex; background-color: #dbeafe; padding: 12px; border-radius: 9999px; margin-bottom: 16px; }
.c-card-icon-wrapper svg { width: 32px; height: 32px; color: var(--e-global-color-primary); }
.c-final-cta-title { font-family: var(--e-global-typography-primary-font-family); font-weight: var(--e-global-typography-primary-font-weight, 800); font-size: clamp(1.875rem, 4vw, 2.25rem); color: var(--e-global-color-text); margin-bottom: 16px; }
.c-contact-details { margin-top: 48px; font-family: var(--e-global-typography-text-font-family); color: #475569; line-height: 1.8; }
.c-contact-details a { color: var(--e-global-color-text); text-decoration: none; font-weight: 600; }
.c-contact-details a:hover { color: var(--e-global-color-primary); }
.c-contact-details p { margin: 0; }

/* NUEVAS CLASES DE UTILIDAD */
.c-mb-32 { margin-bottom: 32px; }
.c-form-container { max-width: 768px; margin-left: auto; margin-right: auto; }
.c-section-compacto { padding-top: 24px; padding-bottom: 24px; }

/* --- ESTILOS PARA LA PÁGINA DE CONTACTO --- */
.c-contact-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: flex-start; }
.c-contact-info-wrapper { text-align: left; }
.c-contact-info-wrapper h2 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.5rem; color: var(--e-global-color-text); margin-top: 0; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--e-global-color-primary); display: inline-block; }
.c-contact-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
.c-contact-info-item { display: flex; align-items: flex-start; gap: 16px; font-family: var(--e-global-typography-text-font-family); font-size: 1.125rem; color: #475569; }
.c-contact-info-item svg { flex-shrink: 0; width: 28px; height: 28px; color: var(--e-global-color-primary); margin-top: 4px; }
.c-contact-info-item a { color: #475569; text-decoration: none; font-weight: 500; transition: color 0.3s ease; }
.c-contact-info-item a:hover { color: var(--e-global-color-primary); }
.c-contact-form-wrapper { background-color: #ffffff; padding: 32px 24px; border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); border: 1px solid var(--e-global-color-border, #e2e8f0); }
.c-contact-form-wrapper h2 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.5rem; color: var(--e-global-color-text); text-align: center; margin-top: 0; margin-bottom: 24px; }
.c-map-wrapper { width: 100%; height: 450px; border-radius: 16px; overflow: hidden; border: 1px solid var(--e-global-color-border, #e2e8f0); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.c-map-wrapper iframe { width: 100%; height: 100%; border: 0; }

/* --- ESTILOS PARA LA PÁGINA SOBRE NOSOTROS --- */
.c-about-hero-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.c-values-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.c-value-card { text-align: left; background-color: #ffffff; padding: 32px; border-radius: 16px; border: 1px solid var(--e-global-color-border, #e2e8f0); display: flex; flex-direction: column; gap: 16px; }
.c-value-card-header { display: flex; align-items: center; gap: 16px; }
.c-value-card-header svg { flex-shrink: 0; width: 32px; height: 32px; color: var(--e-global-color-primary); }
.c-value-card-header h3 { margin: 0; font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.25rem; color: var(--e-global-color-text); }
.c-team-category-title { font-family: var(--e-global-typography-primary-font-family); font-weight: 800; font-size: 1.75rem; color: var(--e-global-color-text); text-align: center; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--e-global-color-primary); display: inline-block; }
.c-team-grid { display: grid; grid-template-columns: 1fr; gap: 48px 32px; margin-top: 48px; }
.c-team-card { text-align: center; }
.c-team-card-img-wrapper { position: relative; margin-bottom: 24px; overflow: hidden; border-radius: 16px; box-shadow: 0 10px 20px rgba(15, 23, 42, 0.1); aspect-ratio: 1 / 1.1; }
.c-team-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 0.4s ease; }
.c-team-card:hover img { transform: scale(1.05); }
.c-team-card h3 { font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 1.375rem; color: var(--e-global-color-text); margin: 0 0 4px 0; }
.c-team-card-role { font-family: var(--e-global-typography-text-font-family); font-size: 1rem; color: var(--e-global-color-primary); font-weight: 600; margin-bottom: 16px; display: block; }
.c-team-card p { font-size: 0.95rem; line-height: 1.6; }

/* --- Media Queries para Responsividad --- */
@media (min-width: 768px) {
    .c-section { padding: 96px 24px; }
    .c-grid { grid-template-columns: repeat(3, 1fr); }
    .c-hero-grid { grid-template-columns: 1.2fr 1fr; }
    .c-values-grid { grid-template-columns: repeat(3, 1fr); }
    .c-section-compacto { padding-top: 48px; padding-bottom: 48px; }
}
@media (min-width: 992px) {
    .c-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .c-stats-wrapper { justify-content: flex-start; text-align: left; }
    .c-contact-grid { grid-template-columns: 1fr 1.2fr; }
    .c-about-hero-grid { grid-template-columns: 1fr 0.8fr; gap: 64px; }
    .c-team-grid { grid-template-columns: repeat(4, 1fr); }
    .c-team-grid.procesal-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 576px) {
    .c-team-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px) {
    .c-feature-grid { grid-template-columns: 1fr 1.2fr; }
    .c-feature-grid.reverse { grid-template-columns: 1.2fr 1fr; }
}

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- INICIO CÓDIGO SERVICIOS HIPOTECAS IRPH --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* 1. Caja de Introducción (Primer párrafo) */
.blog-intro-box {
    background-color: #f9f9f9;
    padding: 20px;
    border-left: 5px solid #007bff;
    margin-bottom: 20px;
}
.blog-intro-box a {
    color: #007bff;
    text-decoration: underline;
}

/* ... (resto de tu nuevo código CSS para el blog) ... */

.faq-acc [itemprop="text"] {
    padding: 0 18px 14px 18px;
    color:#333;
    line-height:1.6;
}

.blog-clear{clear:both;height:0;line-height:0;}

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- FINAL CÓDIGO SERVICIOS HIPOTECAS IRPH --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- INICIO: NUEVOS ESTILOS PARA LA PÁGINA DE GRACIAS --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* Ajuste y definición de botones para la página de gracias */
.c-btn {
    border: 2px solid transparent; /* Asegura que todos los botones tengan borde para transiciones */
    font-size: 1rem;
}
.c-btn svg {
    width: 20px;
    height: 20px;
}
.c-btn-secondary {
    background-color: transparent;
    border-color: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}
.c-btn-secondary:hover {
    background-color: var(--e-global-color-primary);
    color: #ffffff;
}

/* Icono de confirmación (check) */
.c-thankyou-icon-wrapper {
    width: 64px;
    height: 64px;
    background-color: var(--e-global-color-primary);
    color: #ffffff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px auto;
}
.c-thankyou-icon-wrapper svg {
    width: 40px;
    height: 40px;
}

/* Contenedor para los botones de acción */
.c-button-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

/* Grid para la sección de "Próximos Pasos" */
.c-process-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 1024px;
    margin: 48px auto 0 auto;
}
.c-process-step {
    display: flex;
    align-items: flex-start;
    text-align: left;
    gap: 24px;
}
.c-process-step-number {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #dbeafe;
    color: var(--e-global-color-primary);
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--e-global-typography-secondary-font-family);
}
.c-process-step-content .c-card-title,
.c-process-step-content .c-card-text {
    margin: 0;
}
.c-process-step-content .c-card-title {
    margin-bottom: 8px;
}

/* Media query específica para la sección de próximos pasos en Gracias */
@media (min-width: 768px) {
    .c-process-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- FINAL: NUEVOS ESTILOS PARA LA PÁGINA DE GRACIAS --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- INICIO CSS PARA ARTÍCULOS GENERADOS POR PROMPT --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* 1. Caja de Introducción (Primer párrafo) */
.blog-intro-box {
    background-color: #f9f9f9;
    padding: 20px;
    border-left: 5px solid #007bff;
    margin-bottom: 20px;
}
.blog-intro-box a {
    color: #007bff;
    text-decoration: underline;
}

/* 2. Caja de "Sabías que..." */
.blog-did-you-know {
    background-color: #e6f7ff;
    border: 1px solid #cceeff;
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
}
.blog-did-you-know-title {
    color: #0056b3;
    margin-top: 0;
    font-family: sans-serif;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
}
.blog-did-you-know-text {
    font-family: sans-serif;
    color: #333;
    line-height: 1.6;
    font-size: 16px;
    text-align: left;
}

/* 3. Contenedor de Llamada a la Acción (CTA con formulario) */
.blog-cta-container {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}
.blog-cta-text-wrapper {
    flex: 1;
    min-width: 300px;
    text-align: left;
}
.blog-cta-title {
    font-size: 1.2em;
    font-weight: bold;
    color: #007bff;
    margin-top: 0;
    margin-bottom: 15px;
}
.blog-cta-description {
    line-height: 1.6;
}
.blog-cta-form-wrapper {
    flex: 1;
    min-width: 300px;
}

/* 4. Contenedor de Vídeo (con texto y botón WA) */
.blog-video-container {
    background-color: #e6f7ff;
    border: 1px solid #cceeff;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}
.blog-video-embed-wrapper {
    flex: 1;
    min-width: 300px;
    max-width: 325px;
    margin: auto;
}
.blog-video-embed-wrapper iframe {
    width: 100%;
    height: 578px; /* Ajustado para YouTube */
    border-radius: 8px;
    border: none;
}
.blog-video-tiktok-wrapper {
    width: 100%;
    height: 575px; /* Ajustado para TikTok */
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}
.blog-video-tiktok-wrapper .tiktok-embed {
    width: 100%;
    min-height: 700px;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
}
.blog-video-text-wrapper {
    flex: 2;
    min-width: 300px;
    text-align: left;
}
.blog-video-title {
    margin-top:0;
    font-family: sans-serif;
    color: #0056b3;
    font-size: 22px;
    font-weight: bold;
}
.blog-video-description {
    font-family: sans-serif;
    color: #333;
    line-height: 1.6;
}
.blog-video-whatsapp-button {
    display: inline-block;
    background-color: #25d366;
    color: white !important; /* !important para sobreescribir estilos de tema */
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    font-family: sans-serif;
    margin-top: 25px;
}
.blog-video-whatsapp-button:hover {
    color: white !important;
    background-color: #128C7E; /* Un verde un poco más oscuro al pasar el ratón */
}


/* 5. Imágenes flotantes y responsive */
.imagen-responsive-flotante {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
    border-radius: 8px;
    max-width: 300px;
    height: auto;
    width: 100%;
}
@media (max-width: 600px) {
    .imagen-responsive-flotante {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        margin-bottom: 20px !important;
    }
}


/* 6. Acordeón de Preguntas Frecuentes (FAQ) */
/* (Esta clase .faq-acc ya la tenías, la incluyo por completitud) */
.faq-acc details {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin: 10px 0;
    background:#f5f7fa;
    transition: background .2s ease;
}
.faq-acc summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 18px;
    font-weight: 700;
    color:#0b4a8b;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.faq-acc summary::-webkit-details-marker {
    display:none;
}
.faq-acc summary:after {
    content:"+";
    font-weight:700;
    transition: transform .2s ease;
}
.faq-acc details[open] {
    background:#fff;
}
.faq-acc details[open] summary:after {
    content:"−";
}
.faq-acc [itemprop="text"] {
    padding: 0 18px 14px 18px;
    color:#333;
    line-height:1.6;
}

.blog-clear{clear:both;height:0;line-height:0;}

/* --- --- --- --- --- --- --- --- --- --- --- --- */
/* --- FINAL CSS PARA ARTÍCULOS GENERADOS POR PROMPT --- */
/* --- --- --- --- --- --- --- --- --- --- --- --- */

/* --- ---------------------------- --- */
/* =========================================================
   PÁGINA DE GRACIAS — PALETA CORPORATIVA #1a867d (SCOPED)
   ========================================================= */
.pg-gracias{
  /* Color de marca y tonalidades */
  --brand-primary: #1a867d;   /* principal */
  --brand-primary-700: #166f65; /* hover/énfasis */
  --brand-primary-600: #17776c; /* hover intermedio */
  --brand-primary-100: #d9eee9; /* fondo suave */
  --brand-primary-50:  #edf7f5; /* fondo muy suave */

  /* Conecta con las variables globales usadas por tus componentes */
  --e-global-color-primary: var(--brand-primary) !important;
  --e-global-color-secondary: var(--brand-primary-700) !important;
  --e-global-color-text: #0f172a;
  --e-global-color-secondary-background: var(--brand-primary-50);
  --e-global-color-border: rgba(26,134,125,.25);
}

/* 1) Botón "Hablar por WhatsApp": fondo verde + texto blanco */
.pg-gracias .c-btn--light{
  background-color: var(--brand-primary) !important;
  border: 2px solid var(--brand-primary) !important;
  color: #ffffff !important;
}
.pg-gracias .c-btn--light:hover{
  background-color: var(--brand-primary-700) !important;
  border-color: var(--brand-primary-700) !important;
  color: #ffffff !important;
}

/* 2) Botón secundario (Llamar ahora): contorno verde coherente */
.pg-gracias .c-btn-secondary{
  background: transparent !important;
  border: 2px solid var(--brand-primary) !important;
  color: var(--brand-primary) !important;
}
.pg-gracias .c-btn-secondary:hover{
  background: var(--brand-primary) !important;
  color: #ffffff !important;
}

/* 3) Icono de confirmación (check) en verde corporativo */
.pg-gracias .c-thankyou-icon-wrapper{
  background: var(--brand-primary) !important;
  color: #ffffff !important;
}

/* 4) Círculos con números 1, 2 y 3: fondo verde + número en blanco */
.pg-gracias .c-process-step-number{
  background: var(--brand-primary) !important;
  color: #ffffff !important;
}

/* 5) Bloque 3 — Círculos de iconos (casa, usuarios, tarjeta):
      círculo verde + icono blanco (stroke blanco) */
.pg-gracias .c-card-icon-wrapper{
  background: var(--brand-primary) !important;
}
.pg-gracias .c-card-icon-wrapper svg{
  color: #ffffff !important;   /* los SVG usan stroke=currentColor */
  stroke: currentColor !important;
  fill: none !important;
}

/* 6) Acentos y hovers coherentes con la marca */
.pg-gracias .c-card:hover{ border-color: var(--brand-primary) !important; }
.pg-gracias .c-card-link,
.pg-gracias a{ color: var(--brand-primary); }
.pg-gracias .c-card-link:hover,
.pg-gracias a:hover{ color: var(--brand-primary-700); }

/* 7) Tarjeta grande del bloque 1 con fondo suave corporativo */
.pg-gracias .c-card-container{
  background: var(--brand-primary-50) !important;
  border: 1px solid var(--e-global-color-border, rgba(26,134,125,.2)) !important;
}

/* =========================================================
   PÁGINA DE GRACIAS — Recuadro estilo "card" para los pasos
   ========================================================= */

/* Misma sensación de card que .c-card (fondo, borde, sombra y hover) */
.pg-gracias .c-process-step{
  background: var(--e-global-color-secondary-background, #f8fafc);
  border: 1px solid var(--e-global-color-border, #e2e8f0);
  border-radius: 16px;
  padding: 32px; /* igual que .c-card */
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.05), 0 4px 6px -4px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

/* Hover consistente con las cards del bloque 3 */
.pg-gracias .c-process-step:hover{
  transform: translateY(-5px);
  border-color: var(--brand-primary);
  box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.12);
}

/* Ajustes finos del círculo numerado para que quede perfecto dentro del recuadro */
.pg-gracias .c-process-step-number{
  /* ya está en verde con texto blanco en tu CSS actual */
  margin-right: 16px;   /* separa el número del texto */
  flex-shrink: 0;
  width: 48px;          /* mantenemos el tamaño original */
  height: 48px;
  border-radius: 9999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700;
  font-size: 1.25rem;
}

/* Opcional: títulos un pelín más marcados dentro del recuadro */
.pg-gracias .c-process-step-content .c-card-title{
  color: var(--e-global-color-text);
}/* End custom CSS */