/* ALINEO overrides sobre Psycholox */

/* Manual de marca — Azul #2D5F83, Celeste #80C4D8, Verde #94BC71 */
:root {
    --alineo-azul: #2d5f83;
    --alineo-celeste: #80c4d8;
    --alineo-verde: #94bc71;
    --alineo-azul-hover: #244a66;
    --alineo-celeste-suave: rgba(128, 196, 216, 0.22);
    --alineo-verde-suave: rgba(148, 188, 113, 0.35);
    /*
     * Header fijo (medido en tema + global.js / alineo.css):
     * - Escritorio: barra superior ~179px + nav ~61px → 240px (top:-179px al scroll + nav compacta).
     * - Móvil/tablet: barra CTA + logo ~132px (nav en drawer, no suma altura al header).
     */
    --alineo-header-height-desktop: 240px;
    --alineo-header-height-mobile: 132px;
    --alineo-header-nav-band-desktop: 61px;
    /* Home hero: actualizados en resize por global.js */
    --alineo-header-offset: 132px;
    --alineo-hero-height: 480px;
}

/* Scrollbar: tema Psycholox usa #a175aa; alineamos a marca (mismo breakpoint ≥992px que el tema) */
@media (min-width: 992px) {
    ::-webkit-scrollbar-thumb {
        -webkit-box-shadow: inset 0 0 6px rgba(45, 95, 131, 0.35) !important;
        background: var(--alineo-celeste) !important;
        border-radius: 10px !important;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: var(--alineo-azul) !important;
        -webkit-box-shadow: inset 0 0 6px rgba(45, 95, 131, 0.5) !important;
    }

    ::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08) !important;
        background: #edf2f5 !important;
    }
}

html {
    scrollbar-width: thin;
    scrollbar-color: var(--alineo-celeste) #edf2f5;
}

/* Barra superior del header: gris muy claro como la preview Psycholox (no morado sólido) */
.headerTopInfo,
.headerTopInfo:before,
.headerTopInfo:after {
    background-color: #f3f3f3 !important;
    background-image: none !important;
    border-bottom: 1px solid #e8e8e8 !important;
    transition: none !important;
}

/* ── Header scroll: respeta el mecanismo top-negativo del tema ── */
@media (min-width: 992px) {

    /* El tema sube el header con top:-121px para mostrar solo la nav.
       Solo ajustamos colores y sombra, nunca sobreescribimos top ni position. */

    header.header-scrolled,
    header.header-scrolled-animated {
        background: #ffffff !important;
        border-top: none !important;
        box-shadow: 0 2px 14px rgba(45, 95, 131, 0.14) !important;
        z-index: 1000 !important;
    }

    header {
        position: fixed !important;
        top: 0 !important;
        z-index: 1000 !important;
        overflow: visible !important;
        transition: none !important;

    }
    .header-scrolled-animated {
        top: -179px !important;
    }

    /* Nav visible cuando el header está en modo scrolled */
    header.header-scrolled nav,
    header.header-scrolled-animated nav,
    header.header-scrolled nav:before,
    header.header-scrolled nav:after,
    header.header-scrolled-animated nav:before,
    header.header-scrolled-animated nav:after {
        background: #ffffff !important;
    }

    header.header-scrolled nav ul li,
    header.header-scrolled-animated nav ul li {
        background: #ffffff !important;
    }

    /* Links activos en nav compacta */
    header.header-scrolled nav ul li.active > a,
    header.header-scrolled nav ul li a:hover,
    header.header-scrolled-animated nav ul li.active > a,
    header.header-scrolled-animated nav ul li a:hover {
        color: var(--alineo-azul) !important;
    }

    /* Nav compacta: logo izquierda + nav derecha dentro del wrapper */
    header.header-scrolled .responsiveSrollWrapper,
    header.header-scrolled-animated .responsiveSrollWrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        overflow: visible !important;
        transition: none !important;
    }

    /* Evitar que .headerTopInfo (oculto arriba) afecte el flex */
    header.header-scrolled .headerTopInfo,
    header.header-scrolled-animated .headerTopInfo {
        position: absolute !important;
        visibility: hidden !important;
    }

    body.alineo-header-is-scrolled #content-block {
        overflow: visible !important;
        transition: none !important;
    }

    header {
        position: fixed !important;
        top: 0 !important;
        z-index: 1000 !important;
        overflow: visible !important;
        transition: none !important;

    }

    .header-scrolled-animated {
        top: -179px !important;
    }
}

/* Navegación: blanco sólido en lugar de blanco semitransparente */
header nav,
header nav:before,
header nav:after {
    background: #ffffff !important;
}

header.header-scrolled nav,
header.header-scrolled nav:before,
header.header-scrolled nav:after {
    background: #ffffff !important;
}

/* Teléfono: icono acento marca; textos neutros */
.headerMoreInfo.alineo-header-actions .phoneBlock .flaticon-technology {
    color: var(--alineo-azul) !important;
}

.headerMoreInfo.alineo-header-actions .phoneBlock p {
    color: #757575 !important;
}

.headerMoreInfo.alineo-header-actions .phoneBlock .as a,
.headerMoreInfo.alineo-header-actions .phoneBlock .as a:hover {
    color: #333333 !important;
}

/* CTA header: azul marca */
.headerMoreInfo.alineo-header-actions > .button.btnSize1 {
    background: var(--alineo-azul) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

.headerMoreInfo.alineo-header-actions > .button.btnSize1:hover,
.headerMoreInfo.alineo-header-actions > .button.btnSize1:focus {
    color: #ffffff !important;
    background: var(--alineo-azul-hover) !important;
}

.headerMoreInfo.alineo-header-actions > .button.btnSize1:before {
    background: var(--alineo-celeste) !important;
}

/* Logo barra al scroll: visibilidad solo vía JS en #alineoHeaderScrollLogo (inline display !important). Aquí solo maquetación. */

/* Logo legible: anulamos max-height 43px del tema (.logo) que recorta SVG anchos */
header .logo.alineo-logo {
    max-height: none !important;
    min-height: 48px !important;
    max-width: min(320px, 52vw) !important;
    display: inline-flex !important;
    align-items: center !important;
    overflow: visible !important;
    z-index: 12;
    flex: 0 0 auto !important;
    min-width: max-content !important;
}

header .logo.alineo-logo img {
    display: block !important;
    width: min(240px, 52vw) !important;
    height: auto !important;
    max-height: 58px !important;
    max-width: none !important;
    object-fit: contain;
    object-position: left center;
    opacity: 1 !important;
    visibility: visible !important;
}

/**
 * Header unificado: logo + teléfono + CTA viven en .headerTopInfoContaner
 * (antes headerMoreInfo estaba fuera y en desktop se solapaba mal).
 */

/* Escritorio */
@media (min-width: 992px) {
    .alineo-header-top-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        box-sizing: border-box !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        position: relative !important;
    }

    .headerMoreInfo.alineo-header-actions {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        text-align: right !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 14px !important;
        flex: 0 0 auto !important;
        z-index: 11;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock {
        margin: 0 !important;
        flex: 0 1 auto !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock p,
    .headerMoreInfo.alineo-header-actions .phoneBlock .h5,
    .headerMoreInfo.alineo-header-actions .phoneBlock .h5 a {
        white-space: nowrap !important;
    }

    .headerMoreInfo.alineo-header-actions > .button.btnSize1 {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    /* Icono alineado con el bloque de texto+número */
    .headerMoreInfo.alineo-header-actions .phoneBlock .Fphone2 {
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

#content-block .mainBanner,
.alineo-inner-banner,
.mainBanner {
    position: relative !important;
    z-index: 1 !important;
}

header {
    z-index: 1000 !important;
}

/* Tablet / móvil: header completo siempre fijo (teléfono + CTA + logo + menú) */
@media (max-width: 991px) {
    header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        background: #ffffff !important;
    }

    header.header-scrolled,
    header.header-scrolled-animated {
        box-shadow: 0 2px 14px rgba(45, 95, 131, 0.14) !important;
    }

    .alineo-header-top-inner {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        grid-template-areas: "cta cta" "logo menu" !important;
        align-items: center !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* Grid: columna fija para el CTA evita que el botón se monte sobre el teléfono (flex + min-width:0) */
    .headerMoreInfo.alineo-header-actions {
        grid-area: cta !important;
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        transform: none !important;
        text-align: left !important;
        background: #f2f2f2 !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        column-gap: 12px !important;
        border-bottom: 1px solid #e8e8e8 !important;
        isolation: isolate !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock {
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock .Fphone2 {
        left: 0 !important;
    }

    .headerMoreInfo.alineo-header-actions > .button.btnSize1 {
        grid-column: 2 !important;
        justify-self: end !important;
        align-self: center !important;
        flex: unset !important;
        margin: 0 !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        position: relative !important;
        z-index: 1 !important;
        max-width: 100% !important;
    }

    /* Quitar extensiones full-bleed del tema sobre esta barra */
    .headerMoreInfo.alineo-header-actions:before,
    .headerMoreInfo.alineo-header-actions:after {
        display: none !important;
        content: none !important;
    }

    .alineo-header-top-inner > .logo.alineo-logo {
        grid-area: logo !important;
        padding: 12px 15px !important;
        justify-self: start !important;
    }

    .alineo-header-top-inner > .menuIcon {
        grid-area: menu !important;
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        margin: 12px 15px 12px 0 !important;
        float: none !important;
        justify-self: end !important;
    }
}

/* Teléfonos estrechos: menos padding lateral del icono + número más compacto */
@media (max-width: 575px) {
    .headerMoreInfo.alineo-header-actions {
        padding: 8px 10px !important;
        gap: 8px !important;
        column-gap: 8px !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock p,
    .headerMoreInfo.alineo-header-actions .phoneBlock .as {
        padding-left: 38px !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock p {
        font-size: 10px !important;
        margin-bottom: 2px !important;
        letter-spacing: 0.02em !important;
    }

    .headerMoreInfo.alineo-header-actions .phoneBlock .h5.as,
    .headerMoreInfo.alineo-header-actions .phoneBlock .h5.as a {
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    .headerMoreInfo.alineo-header-actions > .button.btnSize1 {
        padding: 9px 12px !important;
        font-size: 12px !important;
    }
}

/* Overlay hover tarjetas servicio (tema morado → marca) */
#content-block .imgTumb:after {
    background: rgba(45, 95, 131, 0.65) !important;
}

/* Quiénes somos: mismo ancho y sangría que el título del banner (.container) */
.alineo-quienes-page .container {
    max-width: 1170px;
}

.alineo-quienes-page .alineo-quienes-body {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.alineo-quienes-block {
    margin-bottom: 52px;
}

.alineo-quienes-block:last-child {
    margin-bottom: 0;
}

.alineo-quienes-block .contentTitle,
.alineo-quienes-block .simple-article,
.alineo-quienes-subtitle {
    text-align: left;
}

.alineo-quienes-subtitle {
    margin-top: 36px;
    margin-bottom: 24px;
}

.alineo-quienes-block--equipo .alineo-quienes-subtitle {
    margin-top: 40px;
}

/* Valores: alineado al mismo contenedor que el banner */
.alineo-quienes-valores-section .container {
    max-width: 1170px;
}

.alineo-quienes-valores-section .alineo-quienes-valores-inner {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.alineo-quienes-valores-head {
    text-align: left;
    margin-bottom: 36px;
}

.alineo-quienes-valores-head p {
    margin-top: 8px;
    color: #5a6a75;
}

.alineo-quienes-cta {
    margin-top: 44px;
}

/* Alíneo Empresas: mismo ancho que el banner */
.alineo-empresas-page .container {
    max-width: 1170px;
}

.alineo-empresas-page .alineo-empresas-body {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.alineo-empresas-block {
    margin-bottom: 48px;
}

.alineo-empresas-block:last-child {
    margin-bottom: 0;
}

.alineo-empresas-lead {
    font-size: 17px;
    line-height: 1.45;
    color: var(--alineo-azul);
    font-weight: 600;
    margin: 0 0 22px;
}

.alineo-empresas-subtitle {
    margin-top: 8px;
    margin-bottom: 22px;
}

.alineo-empresas-servicio {
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e4e8ec;
}

.alineo-empresas-block .alineo-empresas-servicio:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.alineo-empresas-servicio .h4 {
    margin: 0 0 10px;
    color: var(--alineo-azul);
}

.alineo-empresas-servicio > p:first-of-type {
    margin-top: 0;
}

.alineo-empresas-servicio ul {
    margin: 12px 0 0;
    padding-left: 1.25em;
    line-height: 1.75;
}

.alineo-empresas-pasos {
    padding-left: 1.35em;
    line-height: 1.85;
}

.alineo-empresas-pasos li {
    margin-bottom: 8px;
}

.alineo-empresas-cta {
    text-align: left;
}

/* 5 valores: 3 arriba + 2 centrados abajo (sin floats de Bootstrap) */
.alineo-quienes-valores-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px 24px;
    margin: 0;
}

.alineo-quienes-valores-grid > .alineo-valor-institucional:nth-child(-n + 3) {
    grid-column: span 2;
}

.alineo-quienes-valores-grid > .alineo-valor-institucional:nth-child(4) {
    grid-column: 2 / span 2;
}

.alineo-quienes-valores-grid > .alineo-valor-institucional:nth-child(5) {
    grid-column: 4 / span 2;
}

@media (max-width: 991px) {
    .alineo-quienes-valores-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 20px;
    }

    .alineo-quienes-valores-grid > .alineo-valor-institucional:nth-child(-n + 5) {
        grid-column: auto;
    }

    .alineo-quienes-valores-grid > .alineo-valor-institucional:nth-child(5):last-child {
        grid-column: 1 / -1;
        max-width: 420px;
        justify-self: center;
    }
}

@media (max-width: 575px) {
    .alineo-quienes-valores-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

.alineo-valor-institucional {
    height: 100%;
    min-height: 0;
    padding: 22px 20px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(45, 95, 131, 0.08);
    box-sizing: border-box;
}

.alineo-valor-institucional .h5 {
    margin: 0 0 12px;
    color: var(--alineo-azul);
}

.alineo-valor-institucional p {
    margin: 0;
    line-height: 1.65;
    font-size: 15px;
}

/* Equipo: 2 columnas dentro de la misma columna de contenido */
.alineo-equipo-layout {
    display: grid;
    grid-template-columns: minmax(260px, 32%) 1fr;
    gap: 32px 48px;
    align-items: start;
}

.alineo-equipo-media .imgWrapper {
    margin-bottom: 0;
}

.alineo-equipo-media img {
    display: block;
    width: 100%;
    height: auto;
}

.alineo-equipo-content {
    text-align: left;
}

.alineo-equipo-name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    color: #333;
    margin-bottom: 8px;
}

.alineo-equipo-role {
    font-size: 15px;
    line-height: 1.45;
    color: #5a6a75;
    margin: 0 0 18px;
}

.alineo-equipo-bio p {
    margin: 0 0 14px;
    line-height: 1.65;
}

.alineo-equipo-bio p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .alineo-equipo-layout {
        grid-template-columns: minmax(200px, 42%) 1fr;
        gap: 28px 32px;
    }
}

@media (max-width: 767px) {
    .alineo-equipo-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .alineo-equipo-media {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .alineo-equipo-content {
        text-align: left;
    }
}

.alineo-equipo-nota {
    margin-top: 28px;
    padding: 18px 20px;
    background: rgba(128, 196, 216, 0.12);
    border-left: 3px solid var(--alineo-azul);
    border-radius: 4px;
    color: #4a5f6d;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}

.alineo-equipo-nota p {
    margin: 0;
}

/* Lista con marca de verificación (p. ej. beneficios empresas en Servicios) */
.simple-article ul.alineo-check-list {
    list-style: none;
    padding-left: 0;
    margin: 16px 0;
}

.simple-article ul.alineo-check-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
}

.simple-article ul.alineo-check-list li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--alineo-verde);
    font-weight: 700;
}

.alineo-inner-banner {
    background-image: linear-gradient(
        135deg,
        var(--alineo-azul) 0%,
        #3a7196 42%,
        var(--alineo-celeste) 100%
    ) !important;
}

/**
 * Páginas internas: compensar header position:fixed.
 * El espacio lo reserva .headerClearFix (altura = header real vía global.js).
 * Sin margin-top extra en el banner para evitar solapamiento o doble hueco.
 */
body.alineo-page-inner .headerClearFix {
    height: var(--alineo-header-offset, 132px) !important;
    min-height: var(--alineo-header-offset, 132px) !important;
}

body.alineo-page-inner #content-block > .alineo-inner-banner.alineo-page-hero:first-child,
body.alineo-page-inner #content-block > .alineo-page-hero:first-child {
    margin-top: 0 !important;
    scroll-margin-top: var(--alineo-header-offset, 132px);
}

/* Banner sin .servicesTitle (artículos blog): padding vertical del título */
.alineo-inner-banner.alineo-page-hero > .container:has(> .h1.light) {
    padding-top: 52px;
    padding-bottom: 36px;
}

@media (max-width: 991px) {
    .alineo-inner-banner.alineo-page-hero > .container:has(> .h1.light) {
        padding-top: 32px;
        padding-bottom: 28px;
    }
}

body.alineo-page-inner.alineo-header-is-scrolled .headerClearFix {
    height: 61px !important;
    min-height: 61px !important;
}

/* Testimonios home: foto circular + texto en fila (el tema asume imgWrapper absoluto sin flex) */
#content-block .testimonialsBlock.alineo-testimonial {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 22px !important;
    padding-bottom: 36px !important;
    margin-bottom: 36px !important;
}

#content-block .testimonialsBlock.alineo-testimonial .imgWrapper {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

#content-block .testimonialsBlock.alineo-testimonial .imgWrapper img {
    border-radius: 50% !important;
    width: 120px !important;
    height: 120px !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block !important;
}

#content-block .testimonialsBlock.alineo-testimonial .alineo-testimonial-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

#content-block .testimonialsBlock.alineo-testimonial .personeInfo {
    padding: 0 !important;
}

#content-block .testimonialsBlock.alineo-testimonial .personeStars {
    margin: 6px 0 12px !important;
    letter-spacing: 3px !important;
    color: #c9a227 !important;
    font-size: 14px !important;
}

#content-block .testimonialsBlock.alineo-testimonial .simple-article p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    #content-block .testimonialsBlock.alineo-testimonial {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 14px !important;
    }

    #content-block .testimonialsBlock.alineo-testimonial .alineo-testimonial-body {
        text-align: center !important;
    }

    #content-block .testimonialsBlock.alineo-testimonial .personeStars {
        letter-spacing: 6px !important;
    }
}

/* Misión / Visión: icono arriba, más grande; texto debajo */
.alineo-essence-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.alineo-essence-icon {
    flex-shrink: 0;
}

.alineo-essence-icon img {
    display: block;
    width: 92px;
    height: 92px;
    object-fit: contain;
}

.alineo-essence-text {
    width: 100%;
    min-width: 0;
    text-align: left;
}

@media (max-width: 767px) {
    .alineo-mision-vision-row > .col-md-6 + .col-md-6 {
        margin-top: 28px;
    }

    .alineo-essence-icon img {
        width: 80px;
        height: 80px;
    }
}

/* Valores: misma estructura que Misión/Visión; tarjetas alineadas en altura */
.alineo-valores-row {
    display: flex;
    flex-wrap: wrap;
    row-gap: 36px;
}

.alineo-valores-row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.alineo-valores-section .alineo-valor-item {
    flex: 1;
    width: 100%;
    height: 100%;
}

.alineo-valores-section .alineo-valor-item .alineo-essence-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left;
}

.alineo-valores-section .alineo-valor-item .alineo-essence-icon img {
    width: 80px;
    height: 80px;
}

.alineo-valores-section .alineo-valor-title {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 10px;
}

@media (min-width: 992px) {
    .alineo-valores-section .alineo-valor-title {
        min-height: 3.25em;
        align-items: flex-end;
    }
}

.alineo-valores-section .alineo-valor-title .h6 {
    margin: 0;
    line-height: 1.35;
    text-align: left;
}

.alineo-valores-section .alineo-valor-item .simple-article {
    flex: 1;
}

.alineo-valores-section .alineo-valor-item .simple-article p {
    margin: 0;
    text-align: left;
    line-height: 1.65;
}

@media (max-width: 767px) {
    .alineo-valores-row {
        row-gap: 28px;
    }

    .alineo-valores-section .alineo-valor-item .alineo-essence-icon img {
        width: 72px;
        height: 72px;
    }
}

.alineo-footer-logo {
    max-height: 56px;
    width: auto;
}

/* Home hero: assets/img/banner/hero-*.jpg + velo marca para contraste */
.alineo-hero-slide-a .sliderBg {
    background-image:
        linear-gradient(
            135deg,
            rgba(30, 74, 104, 0.72) 0%,
            rgba(45, 95, 131, 0.5) 42%,
            rgba(128, 196, 216, 0.35) 100%
        ),
        url("../img/banner/hero-bienestar-psicologico-surco-alineo.jpg"),
        url("../img/banner/hero-bienestar-psicologico-miraflores-alineo.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.alineo-hero-slide-b .sliderBg {
    background-image:
        linear-gradient(
            135deg,
            rgba(29, 63, 89, 0.68) 0%,
            rgba(45, 95, 131, 0.48) 50%,
            rgba(148, 188, 113, 0.28) 100%
        ),
        url("../img/banner/hero-terapia-online-peru-alineo.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.alineo-hero-slide-c .sliderBg {
    background-image:
        linear-gradient(
            135deg,
            rgba(45, 95, 131, 0.65) 0%,
            rgba(77, 139, 171, 0.45) 55%,
            rgba(128, 196, 216, 0.32) 100%
        ),
        url("../img/banner/hero-psicologia-organizacional-empresas-alineo.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/*
 * Home hero (todos los anchos): altura y offset del header vía --alineo-* (global.js).
 * Corrige solapamiento al achicar ventana y alturas fijas del tema (690px / 400px / 350px).
 */
body.alineo-page-home .headerClearFix {
    height: var(--alineo-header-offset) !important;
    min-height: var(--alineo-header-offset) !important;
}

body.alineo-page-home .mainSwiperbanner {
    position: relative;
}

body.alineo-page-home .mainSwiperbanner .swiper-container,
body.alineo-page-home .mainSwiperbanner .swiper-wrapper,
body.alineo-page-home .mainSwiperbanner .swiper-slide.mainBanner {
    min-height: var(--alineo-hero-height) !important;
    height: var(--alineo-hero-height) !important;
    box-sizing: border-box !important;
}

body.alineo-page-home .mainSwiperbanner .swiper-slide.mainBanner {
    overflow: hidden;
    position: relative;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .sliderBg {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .container .row {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .container [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    margin-left: 0 !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .cell-view {
    display: block !important;
    width: 100% !important;
    max-width: 640px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
    vertical-align: middle !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle {
    width: 100% !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    text-align: center !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle .h1,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2.h1,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle .h1.light,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle p,
body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle p.light {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-transform: none !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper {
    text-align: center !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper .button {
    display: inline-block !important;
    width: auto !important;
    max-width: calc(50% - 12px) !important;
    margin: 0 6px 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
    -webkit-transform: none !important;
    transform: none !important;
}

body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper .button:before {
    display: none !important;
}

body.alineo-page-home .mainSwiperbanner .swiper-button-next,
body.alineo-page-home .mainSwiperbanner .swiper-button-prev {
    top: 50% !important;
    margin-top: -20px !important;
    z-index: 5 !important;
}

@media (max-width: 767px) {
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper {
        display: none !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle {
        margin-bottom: 0 !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2.h1,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle .h1 {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle p {
        font-size: 15px !important;
        line-height: 1.45 !important;
        margin-top: 12px !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .container {
        padding: 0 18px !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2.h1,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle .h1 {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle p {
        font-size: 16px !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerBtnWrapper .button {
        max-width: 100% !important;
        display: inline-block !important;
    }
}

@media (min-width: 992px) {
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2.h1,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle .h1 {
        font-size: 34px !important;
        line-height: 1.2 !important;
    }

    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle p {
        font-size: 18px !important;
        line-height: 1.45 !important;
    }
}

@media (max-width: 480px) {
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2,
    body.alineo-page-home .mainSwiperbanner .mainBanner .bannerTitle h2.h1 {
        font-size: 19px !important;
    }
}

.alineo-ph {
    background: var(--alineo-celeste-suave);
    color: var(--alineo-azul);
    font-size: 42px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border-radius: 4px;
}

.alineo-whatsapp-float {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 9999;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none !important;
    overflow: hidden;
}

.alineo-whatsapp-float .alineo-whatsapp-inner {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
}

.alineo-whatsapp-float .alineo-whatsapp-inner .fa-whatsapp {
    font-size: 34px;
    line-height: 1;
    color: #fff;
}

/* Icono WhatsApp en bloque social del footer */
.alineo-footer-wsp-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.alineo-footer-wsp-fa {
    font-size: 22px;
    line-height: 1;
    color: #25d366;
}

.alineo-contact-form .form-control {
    margin-bottom: 12px;
}

.alineo-team-single {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
}

.alineo-form-label {
    display: block;
    margin-top: 8px;
}

/* --- Responsive adicional --- */

@media (max-width: 991px) {
    .mainBanner .bannerTitle .h1 {
        font-size: 34px !important;
        line-height: 1.2 !important;
    }

    .mainBanner .bannerTitle p.light {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    .servicesTitle .h1.light {
        font-size: 28px !important;
        line-height: 1.25 !important;
    }
}

@media (max-width: 767px) {
    #content-block {
        overflow-x: hidden;
    }

    /* Hero home: reglas en bloque .mainSwiperbanner más arriba */

    .servicesTitle .h1.light {
        font-size: 22px !important;
    }

    .breadCrumbs.small {
        line-height: 1.5;
    }

    .contentTitle .h2.as {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }

    .alineo-ph {
        min-height: 140px;
        font-size: 28px;
    }

    header .logo.alineo-logo img {
        width: min(200px, 58vw) !important;
        max-height: 42px !important;
    }

    .simple-input,
    .alineo-contact-form select.simple-input,
    .alineo-contact-form input.simple-input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .footerBlock .socialWrapper.light a {
        margin: 0 6px 8px 0;
    }

    .alineo-whatsapp-float {
        width: 52px;
        height: 52px;
        right: calc(12px + env(safe-area-inset-right, 0px));
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }

    .alineo-whatsapp-float .alineo-whatsapp-inner .fa-whatsapp {
        font-size: 30px;
    }

    .col-sm-offset-2,
    .col-md-offset-2,
    .col-md-offset-3 {
        margin-left: 0 !important;
    }

    .alineo-team-single {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .mainBanner .bannerTitle .h1,
    .mainBanner .bannerTitle .h1.light {
        font-size: 20px !important;
    }

    .headerTopInfoContaner .logo.alineo-logo {
        max-width: calc(100% - 56px) !important;
    }

    .testimonialsBlock .simple-article p {
        font-size: 14px;
        line-height: 1.55;
    }
}

/* =============================================================================
   Marca Alíneo: sustituye lavanda/azul Psycholox (#b07bb6, #a175aa, #68a4ec)
   ============================================================================= */

/* Botones (outline del tema en btnStyle3) */
#content-block .button:not(.light):not(.button-close) {
    background: var(--alineo-azul) !important;
    color: #fff !important;
}

#content-block .button:not(.light):not(.button-close):before {
    background: var(--alineo-celeste) !important;
}

#content-block .button.btnStyle2 {
    background: var(--alineo-celeste) !important;
    color: var(--alineo-azul) !important;
}

#content-block .button.btnStyle2:before {
    background: var(--alineo-verde) !important;
}

#content-block .button.btnStyle3 {
    background: #fff !important;
    color: var(--alineo-azul) !important;
}

#content-block .button.btnStyle3:before {
    background: var(--alineo-celeste) !important;
}

/* Hero: flechas del slider */
#content-block .mainSwiperbanner .swiper-button-next:before,
#content-block .mainSwiperbanner .swiper-button-prev:before {
    color: var(--alineo-celeste) !important;
}

#content-block .mainSwiperbanner .swiper-button-next:hover:before,
#content-block .mainSwiperbanner .swiper-button-prev:hover:before {
    color: #fff !important;
}

/* Nav principal (escritorio); header puede vivir fuera de #content-block */
#content-block nav > ul > li.active > a,
#content-block nav > ul > li > a:hover,
#content-block nav > ul > li > a:focus,
header nav > ul > li.active > a,
header nav > ul > li > a:hover,
header nav > ul > li > a:focus {
    color: var(--alineo-azul) !important;
    background: transparent !important;
}

#content-block .menuIconActive span:nth-child(2),
#content-block .menuIconActive span:nth-child(3),
header .menuIconActive span:nth-child(2),
header .menuIconActive span:nth-child(3) {
    background: var(--alineo-azul) !important;
}

#content-block nav > ul > li > ul > li:hover > a,
#content-block nav > ul > li > ul > li > ul > li:hover > a,
header nav > ul > li > ul > li:hover > a,
header nav > ul > li > ul > li > ul > li:hover > a {
    color: #fff !important;
    background: var(--alineo-azul) !important;
}

/* Migas de pan (banners internos) */
#content-block .breadCrumbs a:hover,
#content-block .breadCrumbs a:focus {
    color: var(--alineo-celeste) !important;
}

/* Títulos con span de acento */
#content-block .contentTitle .as span,
#content-block .titleShortocode .as span,
#content-block .servicesTitle .h1 span,
#content-block .servicesTitle .h1.light span {
    color: var(--alineo-celeste) !important;
}

/* Bloques grises del tema */
#content-block .grey {
    background: #f2f8fa !important;
}

/* Footer oscuro */
#content-block .footerBlock .readMore:hover {
    color: var(--alineo-celeste) !important;
}

#content-block .footerTitle:after {
    background: var(--alineo-celeste) !important;
}

#content-block .footerBlock .simple-article.style2 ul li a:hover {
    color: var(--alineo-celeste) !important;
}

#content-block .socialWrapper a:hover {
    color: var(--alineo-celeste) !important;
}

/* Créditos desarrollo: inferior derecha; margen para no solaparse con WhatsApp fijo */
.alineo-footer-bottom .created {
    float: none !important;
}

.alineo-footer-bottom .alineo-footer-credits-col {
    padding-right: calc(56px + 22px + env(safe-area-inset-right, 0px));
    text-align: right;
}

@media (max-width: 767px) {
    .alineo-footer-bottom .alineo-footer-credits-col {
        padding-right: calc(52px + 18px + env(safe-area-inset-right, 0px));
    }
}

#content-block footer .created:hover a span {
    color: var(--alineo-celeste) !important;
}

/* Formularios: foco legible */
#content-block .simple-input:focus,
#content-block textarea.simple-input:focus,
#content-block select.simple-input:focus {
    border-color: var(--alineo-celeste) !important;
    outline-color: var(--alineo-celeste);
}

/* Submenú móvil (antes fondo morado del tema); nav principal está fuera de #content-block */
@media (max-width: 991px) {
    #content-block nav ul li ul li,
    #content-block nav ul li ul li a,
    header nav ul li ul li,
    header nav ul li ul li a {
        background: var(--alineo-azul) !important;
        color: #fff !important;
    }

    #content-block nav ul li ul li,
    header nav ul li ul li {
        border-top: 1px solid rgba(128, 196, 216, 0.45) !important;
    }

    #content-block nav ul li.active > a,
    #content-block nav ul li a:hover,
    #content-block nav ul li a:focus,
    header nav ul li.active > a,
    header nav ul li a:hover,
    header nav ul li a:focus {
        background: var(--alineo-azul) !important;
        color: #fff !important;
    }
}

/* --- Contacto / panel leads --- */
.alineo-contact-page .alineo-contact-card {
    background: #fff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    padding: 22px 22px 24px;
    box-shadow: 0 8px 28px rgba(45, 95, 131, 0.08);
}

.alineo-contact-page .alineo-contact-card-accent {
    border-color: rgba(128, 196, 216, 0.55);
    background: linear-gradient(145deg, #f7fbfc 0%, #ffffff 100%);
}

.alineo-contact-card-title {
    margin-bottom: 14px;
    color: var(--alineo-azul);
}

.alineo-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.alineo-contact-list li {
    margin-bottom: 14px;
    line-height: 1.45;
}

.alineo-contact-list li:last-child {
    margin-bottom: 0;
}

.alineo-contact-list a {
    color: var(--alineo-azul);
}

.alineo-contact-form-panel {
    background: #fff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    padding: 26px 22px 28px;
    box-shadow: 0 12px 36px rgba(45, 95, 131, 0.1);
}

.alineo-contact-form-hint {
    color: #666;
    margin-bottom: 0;
}

.alineo-contact-form .simple-input {
    margin-bottom: 12px;
}

.alineo-contact-submit {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.alineo-form-wa-fallback {
    display: inline-block;
    margin-top: 8px;
    font-weight: 600;
    color: var(--alineo-azul);
    text-decoration: underline;
}

.alineo-leads-shell {
    min-height: 50vh;
}

.alineo-leads-login-card {
    background: #fff;
    border-radius: 14px;
    padding: 32px 28px 36px;
    box-shadow: 0 14px 44px rgba(45, 95, 131, 0.12);
    border: 1px solid #e8ecef;
}

.alineo-leads-login-title {
    margin-bottom: 8px;
    color: var(--alineo-azul);
}

.alineo-leads-login-sub {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
}

.alineo-leads-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #444;
}

.alineo-leads-alert {
    margin-bottom: 16px;
    border-radius: 8px;
}

.alineo-leads-toolbar {
    margin-bottom: 8px;
}

.alineo-leads-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.alineo-leads-dash-title {
    margin-bottom: 4px;
    color: var(--alineo-azul);
}

.alineo-leads-dash-meta {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.alineo-leads-logout-form {
    margin: 0;
}

.alineo-leads-empty {
    background: #f4f9fb;
    border: 1px dashed rgba(45, 95, 131, 0.25);
    border-radius: 12px;
    padding: 28px;
    text-align: center;
    color: #555;
}

.alineo-leads-table-wrap {
    border-radius: 12px;
    border: 1px solid #e8ecef;
    background: #fff;
}

.alineo-leads-table {
    margin-bottom: 0 !important;
}

.alineo-leads-table thead tr {
    background: linear-gradient(90deg, var(--alineo-azul) 0%, #3d7494 100%);
    color: #fff;
}

.alineo-leads-table thead th {
    border-bottom: none !important;
    font-weight: 600;
    padding: 14px 12px !important;
    white-space: nowrap;
}

.alineo-leads-table tbody td {
    padding: 12px !important;
    vertical-align: middle !important;
}

.alineo-leads-table tbody tr:nth-child(even) {
    background: #f9fbfc;
}

.alineo-leads-table a {
    color: var(--alineo-azul);
    font-weight: 600;
}

.alineo-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* CRM tabla compacta */
.alineo-leads-crm-table thead th {
    white-space: normal;
    font-size: 13px;
    line-height: 1.25;
}

.alineo-leads-crm-table tbody td {
    font-size: 13px;
    vertical-align: top !important;
}

.alineo-leads-cell-muted {
    color: #6b7780;
    white-space: nowrap;
}

.alineo-leads-name {
    display: block;
    font-weight: 700;
    color: #1e3a4c;
}

.alineo-leads-sub {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #6b7780;
    font-weight: 500;
}

.alineo-leads-cell-contact .alineo-leads-phone {
    display: block;
    margin-bottom: 4px;
}

.alineo-leads-cell-contact .alineo-leads-mail {
    display: block;
    font-size: 12px;
    font-weight: 500;
    word-break: break-all;
}

.alineo-leads-cita-fecha {
    display: block;
    font-weight: 600;
    color: #2d4a5c;
}

.alineo-leads-cita-hora {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #6b7780;
}

.alineo-leads-badge {
    display: inline-block;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.alineo-leads-badge--nuevo {
    background: #e3f1f8;
    color: #1d5a7a;
}

.alineo-leads-badge--contactado {
    background: #fdf0e3;
    color: #8b5a1f;
}

.alineo-leads-badge--agendado {
    background: #e8f5e9;
    color: #2e6b32;
}

.alineo-leads-badge--seguimiento {
    background: #ede8f7;
    color: #5c4580;
}

.alineo-leads-badge--no_asistio {
    background: #fce8ec;
    color: #8c3a4a;
}

.alineo-leads-badge--cerrado {
    background: #eceff1;
    color: #455a64;
}

.alineo-leads-estado-mini {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #8899a4;
}

.alineo-leads-cell-obs .alineo-leads-obs-preview {
    display: block;
    color: #455a64;
    line-height: 1.35;
}

.alineo-leads-cell-obs .alineo-leads-obs-empty {
    color: #b0bec5;
}

.alineo-leads-seg-count {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    background: #f0f4f8;
    color: var(--alineo-azul);
}

.alineo-leads-col-accion {
    text-align: center;
    white-space: nowrap;
}

.alineo-leads-open-crm {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 13px !important;
}

/* Franja izquierda por estado */
.alineo-leads-crm-table .alineo-leads-row-estado-nuevo td:first-child {
    box-shadow: inset 4px 0 0 #87b9d6;
}

.alineo-leads-crm-table .alineo-leads-row-estado-contactado td:first-child {
    box-shadow: inset 4px 0 0 #d4a574;
}

.alineo-leads-crm-table .alineo-leads-row-estado-agendado td:first-child {
    box-shadow: inset 4px 0 0 #7bae7a;
}

.alineo-leads-crm-table .alineo-leads-row-estado-seguimiento td:first-child {
    box-shadow: inset 4px 0 0 #9b86c9;
}

.alineo-leads-crm-table .alineo-leads-row-estado-no_asistio td:first-child {
    box-shadow: inset 4px 0 0 #c97b86;
}

.alineo-leads-crm-table .alineo-leads-row-estado-cerrado td:first-child {
    box-shadow: inset 4px 0 0 #9aa3a8;
}

/* Modal CRM */
.alineo-leads-modal .modal-content {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 22px 80px rgba(30, 58, 76, 0.22);
}

.alineo-leads-modal .modal-header {
    background: linear-gradient(95deg, var(--alineo-azul) 0%, #3d7494 100%);
    color: #fff;
    border-bottom: none;
    padding: 18px 22px;
}

.alineo-leads-modal .modal-header .close {
    color: #fff;
    opacity: 0.9;
    text-shadow: none;
}

.alineo-leads-modal .modal-title {
    font-weight: 700;
    font-size: 18px;
}

.alineo-leads-modal .modal-body {
    padding: 22px;
    background: #fafcfd;
}

.alineo-leads-modal-summary {
    background: #fff;
    border: 1px solid #e4ecf1;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 22px;
}

.alineo-leads-sum-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
}

@media (max-width: 600px) {
    .alineo-leads-sum-grid {
        grid-template-columns: 1fr;
    }
}

.alineo-leads-sum-item.alineo-leads-sum-wide {
    grid-column: 1 / -1;
}

.alineo-leads-sum-k {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8899a4;
    margin-bottom: 4px;
}

.alineo-leads-sum-v {
    font-size: 14px;
    color: #1e3a4c;
    word-break: break-word;
}

.alineo-leads-modal-fields {
    background: #fff;
    border: 1px solid #e4ecf1;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 20px;
}

.alineo-leads-modal-label {
    display: block;
    margin-top: 14px;
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 13px;
    color: #2d4a5c;
}

.alineo-leads-modal-label:first-child {
    margin-top: 0;
}

.alineo-leads-modal-label .alineo-leads-hint {
    font-weight: 500;
    color: #8899a4;
}

.alineo-leads-modal-select,
.alineo-leads-modal-textarea {
    width: 100% !important;
    max-width: 100% !important;
}

.alineo-leads-modal-textarea {
    resize: vertical;
    min-height: 88px;
    line-height: 1.45;
}

.alineo-leads-modal-historial-wrap {
    background: #fff;
    border: 1px solid #e4ecf1;
    border-radius: 12px;
    padding: 16px 18px;
}

.alineo-leads-modal-historial-title {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--alineo-azul);
}

.alineo-leads-modal-historial {
    max-height: 240px;
    overflow-y: auto;
    padding-right: 6px;
}

.alineo-leads-historial-empty {
    margin: 0;
    font-size: 13px;
}

.alineo-leads-historial-item {
    padding: 12px 0;
    border-bottom: 1px solid #eef3f6;
}

.alineo-leads-historial-item:last-child {
    border-bottom: none;
}

.alineo-leads-historial-meta {
    font-size: 12px;
    color: #78909c;
    margin-bottom: 6px;
}

.alineo-leads-historial-nota {
    font-size: 13px;
    color: #37474f;
    line-height: 1.45;
}

.alineo-leads-modal .modal-footer {
    background: #fff;
    border-top: 1px solid #e8ecef;
    padding: 14px 22px;
}

@media (max-width: 767px) {
    .alineo-contact-form-panel {
        padding: 20px 16px 22px;
    }

    .alineo-leads-table thead th,
    .alineo-leads-table tbody td {
        font-size: 13px;
    }
}

/* ── Logo compacto en nav scrolled ── */
@media (min-width: 992px) {
    #alineoHeaderScrollLogo {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 61px !important;
        width: auto !important;
        padding-left: 55px !important;
        padding-right: 30px !important;
        z-index: 999 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 14px rgba(45, 95, 131, 0.14) !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    #alineoHeaderScrollLogo img {
        height: 42px !important;
        width: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* FAQ acordeón semántico (h3 > button) */
.alineo-faq-heading {
    margin: 0;
}

.alineo-faq-heading .accordeon-title {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 12px 36px 12px 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    position: relative;
}

.alineo-faq-heading .accordeon-title .fa {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--alineo-azul) !important;
}

/* FAQ / blog: anula morado global del tema (.accordeon-toggle { background:#b07bb6 }) */
#content-block .alineo-faq-accordeon .accordeon-toggle,
.alineo-faq-accordeon .accordeon-toggle {
    background: #ffffff !important;
    border: 1px solid #e0e6eb !important;
    border-top: none !important;
}

#content-block .alineo-faq-accordeon .accordeon-toggle .simple-article,
.alineo-faq-accordeon .accordeon-toggle .simple-article {
    background: #ffffff !important;
    padding: 20px 22px 24px !important;
}

#content-block .alineo-faq-accordeon .accordeon-toggle p,
.alineo-faq-accordeon .accordeon-toggle p,
#content-block .alineo-faq-accordeon .accordeon-toggle .simple-article p {
    color: #333333 !important;
}

.alineo-faq-accordeon.style2 .accordeon-title,
.alineo-faq-accordeon .alineo-faq-heading .accordeon-title {
    border: 1px solid #e0e6eb !important;
    color: #323232 !important;
    background: #f8fafb !important;
}

.alineo-faq-accordeon.style2 .accordeon-title.active,
.alineo-faq-accordeon .alineo-faq-heading .accordeon-title.active {
    background: var(--alineo-celeste-suave) !important;
    color: var(--alineo-azul) !important;
    border-color: var(--alineo-celeste) !important;
}

.alineo-faq-accordeon .alineo-faq-heading .accordeon-title.active .fa {
    color: var(--alineo-azul) !important;
}

.alineo-faq-accordeon .alineo-faq-item {
    margin-bottom: 0;
}

.alineo-empresas-subcta {
    margin-top: 12px;
    font-size: 15px;
    color: #5a6b78;
}

.alineo-lead {
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 1em;
}

/* Barra scroll desktop: fuera del flujo en móvil (evita nav duplicado y hueco blanco) */
@media (max-width: 991px) {
    #alineoNav2,
    #alineoNav2Logo {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none !important;
    }

}

@media (min-width: 992px) {
    #alineoNav2 {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 61px;
        z-index: 1000;
        background: #ffffff;
        box-shadow: 0 2px 14px rgba(45,95,131,0.14);
        align-items: center;
        justify-content: flex-end;
        padding-left: 220px;
        padding-right: 55px;
    }
    #alineoNav2.visible {
        display: flex;
    }
    #alineoNav2Logo img {
        height: 42px !important;
        width: auto !important;
        display: block !important;
        opacity: 1 !important;
        filter: none !important;
    }
    #alineoNav2 nav ul {
        display: flex;
        gap: 24px;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #alineoNav2 nav ul li a {
        color: #333;
        font-size: 13px;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: 600;
    }
    #alineoNav2 nav ul li.active a,
    #alineoNav2 nav ul li a:hover {
        color: #2d5f83;
    }
}

/* Blog: índice y tarjetas (grid uniforme, sin saltos por alturas distintas) */
.alineo-blog-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: stretch;
}

@media (min-width: 768px) {
    .alineo-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .alineo-blog-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.alineo-blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 14px rgba(45, 95, 131, 0.1);
    margin-bottom: 0;
    transition: box-shadow 0.2s ease;
}

.alineo-blog-card:hover {
    box-shadow: 0 4px 20px rgba(45, 95, 131, 0.16);
}

.alineo-blog-card-image {
    display: block;
    overflow: hidden;
    background: #edf2f5;
}

.alineo-blog-card-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.alineo-blog-card-body {
    padding: 20px 22px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.alineo-blog-card-date {
    color: #757575;
    margin-bottom: 8px;
}

.alineo-blog-card-title {
    margin-bottom: 12px;
    line-height: 1.35;
    min-height: 4.05em;
}

.alineo-blog-card-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    color: var(--alineo-azul);
    text-decoration: none;
}

.alineo-blog-card-title a:hover {
    color: var(--alineo-azul-hover);
}

.alineo-blog-card-excerpt {
    margin: 0;
    line-height: 1.55;
    flex: 1 1 auto;
    min-height: 4.65em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.alineo-blog-card-body .readMore {
    margin-top: auto;
    padding-top: 12px;
    flex-shrink: 0;
}

.alineo-cta-block {
    padding: 28px 24px;
    background: var(--alineo-celeste-suave);
    border-radius: 8px;
    text-align: center;
}

.alineo-cta-block .button {
    margin: 8px 6px 0;
}