.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-16622 .elementor-element.elementor-element-900289d p{opacity:1;}.elementor-16622 .elementor-element.elementor-element-521c5ad:not(.elementor-motion-effects-element-type-background), .elementor-16622 .elementor-element.elementor-element-521c5ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#292524;}.elementor-16622 .elementor-element.elementor-element-521c5ad, .elementor-16622 .elementor-element.elementor-element-521c5ad > .elementor-background-overlay{border-radius:96px 0px 96px 0px;}.elementor-16622 .elementor-element.elementor-element-521c5ad{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-16622 .elementor-element.elementor-element-521c5ad > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.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-16622 .elementor-element.elementor-element-2203049{text-align:center;}.elementor-16622 .elementor-element.elementor-element-2203049 .elementor-heading-title{color:#FFFFFF;opacity:1;}.elementor-16622 .elementor-element.elementor-element-8c62e49{text-align:center;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-16622 .elementor-element.elementor-element-8c62e49 p{opacity:1;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-16622 .elementor-element.elementor-element-74fb675 .elementor-button{background-color:#FAFAF9;fill:#292524;color:#292524;border-radius:96px 96px 96px 96px;}/* Start custom CSS for text-editor, class: .elementor-element-900289d *//* --- ESTILOS GENERALES --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #1C1917;
    background-color: #FAFAF9;
}

h1, h2, h3 {
    font-family: 'Crimson Pro', serif;
    font-weight: 400;
    line-height: 1.2;
}

h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 24px;
}

h2 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    margin-bottom: 32px;
}

h3 {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    margin-bottom: 16px;
}

p {
    font-weight: 300;
    color: #57534E;
    margin-bottom: 24px;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.container.modalidades {
    display: flex;
    flex-direction: column;
}

section {
    padding: 80px 0;
}

/* --- HERO MODIFICADO PARA IMAGEN DE FONDO --- */
.hero {
    padding: 140px 0 120px; /* Un poco más de espacio */
    text-align: center;
    border-bottom: 1px solid #E7E5E4;
    position: relative;
    background-image: url('https://drpabloifran.com/wp-content/uploads/2021/11/DSC_0446.jpg'); /* Imagen de fondo limpia */
    background-size: cover;
    background-position: center;
}

/* Capa blanca semitransparente para asegurar que el texto se lea perfecto */
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(250, 250, 249, 0.88);
    z-index: 1;
}

.hero .container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}

.hero h1 {
    color: #1C1917;
    max-width: 800px;
    margin: 0 auto 24px;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: #57534E;
    max-width: 640px;
    margin: auto auto;
}

/* --- WHY SECTION --- */
.why-section {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E7E5E4;
    padding: 100px 40px;
}

.why-content {
    max-width: 720px;
    padding-left: 80px;
}

.why-section h2 {
    text-align: left;
    margin-bottom: 48px;
}

.emphasis-box {
    background-color: #FAFAF9;
    border-left: 2px solid #292524;
    padding: 32px;
    margin-top: 40px;
}

.emphasis-box p {
    font-weight: 400;
    color: #1C1917;
    margin-bottom: 0;
}

/* --- MODALIDADES (GRID Y TARJETAS) --- */
.modalities-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: -20px;
}

@media (min-width: 768px) {
    /* CAMBIO CLAVE: Transformamos a Grid 2x2 para las 4 tarjetas */
    .modalities-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

.modality-card {
    background: #FFFFFF;
    border: 1px solid #E7E5E4;
    padding: 0; /* Sin padding para que la imagen toque bordes */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    width: 100%;
}

.modality-card .modality-not-included{
    margin-bottom: 50px!important;
}

.modality-card a {
    background-color: #000000;
    border-radius: 5px 5px 5px 5px;
    padding: 20px 20px 20px 20px;
    color: white!important;
    width: auto!important;
    max-width: 185px;
}

/* --- CAMBIO CLAVE: Afecta a cualquier imagen dentro de la tarjeta --- */
.modality-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    margin: 0; /* Elimina márgenes por defecto de WP */
}

.modality-content-wrapper {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.modality-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #E7E5E4;
}

.modality-title {
    font-size: 1.5rem;
    margin-bottom: 8px;
}

.modality-duration {
    font-size: 0.875rem;
    color: #78716C;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.modality-for {
    font-size: 0.9375rem;
    color: #57534E;
    margin-bottom: 24px;
}

.modality-section-title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #1C1917;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 24px 0 16px;
}

.modality-list {
    list-style: none!important;
    margin-bottom: 24px;
}

.elementor-widget-text-editor ul li{
        list-style: none!important;
}

html body .elementor-widget-text-editor ul.modality-list{
    padding-left: 0!important;
}

.modality-list li {
    font-size: 0.9375rem;
        list-style: none!important;
    color: #57534E;
    padding-left: 16px;
    margin-bottom: 12px;
    position: relative;
}

.modality-list li::before {
    content: "·";
    position: absolute;
    left: 0;
    color: #78716C;
}

.modality-not-included {
    font-size: 0.875rem;
    color: #78716C;
    margin-bottom: 0;
}

/* --- GUÍA --- */
.guide-section {
    background: #FFFFFF;
    border-top: 1px solid #E7E5E4;
    border-bottom: 1px solid #E7E5E4;
}

.guide-content {
    max-width: 720px;
    margin: 0 auto;
}

.guide-section h2 {
    text-align: center;
    margin-bottom: 48px;
}

.guide-list {
    list-style: none;
    
}

.elementor-widget-text-editor ul.guide-list{
    padding-left: 0!important;
}

.guide-item {
    padding: 24px 0;
    border-bottom: 1px solid #E7E5E4;
}

.guide-item:last-child {
    border-bottom: none;
}

.guide-item p {
    font-size: 1.0625rem;
    margin-bottom: 0;
}

.guide-item strong {
    color: #1C1917;
}

.guide-note {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid #E7E5E4;
}

.guide-note p {
    font-size: 0.9375rem;
    font-style: italic;
    color: #78716C;
}

/* --- PROCESO --- */
.process-content {
    max-width: 720px;
    margin: 0 auto;
}

.process-section h2 {
    text-align: center;
    margin-bottom: 48px;
}

.process-steps {
    display: grid;
    gap: 32px;
}

.process-step {
    display: flex;
    gap: 24px;
}

.step-number {
    font-family: 'Crimson Pro', serif;
    font-size: 1.5rem;
    color: #78716C;
    font-weight: 300;
    min-width: 30px;
}

.step-content h3 {
    font-size: 1.125rem;
    margin-bottom: 8px;
}

.step-content p {
    font-size: 0.9375rem;
    margin-bottom: 0;
}

/* --- SOBRE EL DR --- */
.about-section {
    background: #FFFFFF;
    border-top: 1px solid #E7E5E4;
}

.about-content {
    max-width: 900px;
    margin: 0 auto;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}

@media (min-width: 768px) {
    .about-grid {
        grid-template-columns: 1fr 1fr;
    }
    .about-text {
        order: 1;
    }
    .about-image-container {
        order: 2;
    }
}

/* --- CAMBIO CLAVE: Afecta a cualquier imagen en esta sección --- */
.about-image-container img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 2px;
    display: block;
}

.about-section h2 {
    text-align: left;
    margin-bottom: 32px;
}

.about-section p {
    font-size: 1.0625rem;
}

/* --- AJUSTES TABLET (Entre 768px y 1024px) --- */
@media (max-width: 1024px) and (min-width: 768px) {
    
    /* Reducimos el padding interno de la tarjeta para ganar espacio */
    .modality-content-wrapper {
        padding: 20px 15px; 
    }

    /* Título más pequeño */
    .modality-title {
        font-size: 1.15rem; 
    }

    /* Texto descriptivo y lista más pequeños */
    .modality-for, 
    .modality-list li, 
    .modality-not-included {
        font-size: 0.85rem; 
    }

    /* Títulos de secciones (Incluye/No incluye) */
    .modality-section-title {
        font-size: 0.75rem;
        margin: 16px 0 10px;
    }

    /* Ajuste del Botón: letra más chica y menos relleno */
    .modality-card a {
        font-size: 0.85rem;
        padding: 12px 15px!important; 
        max-width: 100%!important; /* Que ocupe el ancho disponible si es necesario */
        display: inline-block;
        text-align: center;
    }
}

/* --- AJUSTES MÓVIL (Menos de 768px) --- */
@media (max-width: 767px) {

    /* Solución Sección "Por qué" */
    .why-content {
        padding-left: 0; /* Quitamos el margen izquierdo de 80px del escritorio */
        max-width: 100%;
        width: 100%;
    }

    .why-section {
        padding: 60px 0px; /* Ajustamos el padding general de la sección */
    }
    
    /* Aseguramos que la imagen de esa sección no se desborde */
    .why-section img {
        display: none;
    }

    /* Ajuste extra para la caja de énfasis en móvil */
    .emphasis-box {
        margin-top: 24px;
        padding: 24px;
    }
}

/* --- BOTÓN VER MÁS --- */
.btn-ver-mas {
    background-color: #000000;
    border-radius: 5px;
    padding: 20px;
    color: white !important;
    display: block;
    text-align: center;
    text-decoration: none;
    width: 100%;
    max-width: 170px;
    margin-top: 24px; /* Espacio de separación con el texto de arriba */
    transition: background-color 0.3s ease;
}

.btn-ver-mas:hover {
    background-color: #333333; /* Un ligero cambio de color al pasar el mouse */
}

/* Ajuste para tablet (igual que las tarjetas) */
@media (max-width: 1024px) and (min-width: 768px) {
    .btn-ver-mas {
        font-size: 0.85rem;
        padding: 12px 15px !important; 
    }
}

/* Imagen sección Why - más alargada */
.why-section img {
    width: 100%;
    max-width: 520px; /* ajustá según lo que te guste */
    height: 400px !important; /* más alto */
    object-fit: cover;
    border-radius: 12px;
}


/* Unificar tamaño de imágenes de modalidades */
.modality-card img {
    width: 100%;
    height: 240px; /* mismo alto para todas */
    object-fit: cover;
}

.modality-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}/* End custom CSS */