/* ASORSAN CMS PUBLIC - Noticias e Inclusión Laboral */
.asorsan-news-card{display:grid;grid-template-columns:39% 1fr;background:#fff;border:1px solid #e7e7e7;box-shadow:0 10px 28px rgba(0,0,0,.07);overflow:hidden;min-height:245px}
.asorsan-news-card__image{display:block;min-height:100%;overflow:hidden;background:#f2f3f4}
.asorsan-news-card__image img{width:100%;height:100%;min-height:245px;object-fit:cover;transition:transform .22s ease}
.asorsan-news-card:hover .asorsan-news-card__image img{transform:scale(1.025)}
.asorsan-news-card__body{display:flex;flex-direction:column;padding:24px;background:#273a8c;color:#fff}
.asorsan-news-card__body h2,.asorsan-news-card__body h3{font-size:1.2rem;line-height:1.3;margin:5px 0 10px;text-transform:none}
.asorsan-news-card__body h2 a,.asorsan-news-card__body h3 a{color:#ffd23f}
.asorsan-news-card__body p{color:#fff;line-height:1.5;margin-bottom:18px}
.asorsan-news-card__body .asorsan-inline-service-link{color:#fff}
.asorsan-news-date{font-size:.86rem;color:#eef1ff;font-weight:600}
.asorsan-home-news .heading-block h2{text-transform:none}

.asorsan-employment-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.07)}
.asorsan-employment-card__image{display:block;background:#f3f3f3;overflow:hidden}
.asorsan-employment-card__image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .22s ease}
.asorsan-employment-card:hover .asorsan-employment-card__image img{transform:scale(1.02)}
.asorsan-employment-card__body{display:flex;flex-direction:column;flex:1;padding:24px}
.asorsan-employment-card__body h3{font-size:1.15rem;text-transform:none;margin:5px 0 10px}
.asorsan-employment-card__body h3 a{color:#222}
.asorsan-employment-company{font-weight:700;color:var(--asorsan-green);text-transform:uppercase;font-size:.86rem;letter-spacing:.02em}
.asorsan-publication-detail h1{text-transform:none;font-size:clamp(1.8rem,3vw,2.7rem)}
.asorsan-publication-detail__image{aspect-ratio:16/9;object-fit:cover;box-shadow:0 14px 38px rgba(0,0,0,.10)}
.asorsan-employment-detail__image{aspect-ratio:4/5;object-fit:cover;box-shadow:0 14px 38px rgba(0,0,0,.10)}
.asorsan-publication-copy{font-size:1.05rem;line-height:1.8;color:#333}
.asorsan-share-block{padding-top:18px;border-top:1px solid #e8e8e8}
.asorsan-service-icons--five .asorsan-custom-service-icon{width:106px;height:106px}

body.asorsan-high-contrast .asorsan-news-card__body,body.asorsan-high-contrast .asorsan-employment-card{background:#000!important;color:#fff!important;border-color:#fff!important}
body.asorsan-high-contrast .asorsan-news-card__body h2 a,body.asorsan-high-contrast .asorsan-news-card__body h3 a,body.asorsan-high-contrast .asorsan-employment-card h3 a{color:#ffe600!important}
body.asorsan-high-contrast .asorsan-publication-copy{color:#fff!important}

@media(max-width:767.98px){.asorsan-news-card{grid-template-columns:1fr}.asorsan-news-card__image img{min-height:0;aspect-ratio:16/9}.asorsan-news-card__body{padding:22px}.asorsan-service-icons--five .asorsan-custom-service-icon{width:102px;height:102px}}

/* ================================================================
   ASORSAN WEB - Inclusión Laboral por bloques + Footer claro
   ================================================================ */
.asorsan-custom-service-icon--pending{display:block;width:100%;height:100%;border:2px dashed #d7ded9;border-radius:18px;background:#f7faf8}
.asorsan-il-page .container{max-width:1180px}
.asorsan-il-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 0 42px;padding:10px;border:1px solid #e6ebe7;border-radius:12px;background:#f8faf8}
.asorsan-il-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;color:#24312a;font-weight:600;background:#fff;border:1px solid transparent}
.asorsan-il-nav a:hover,.asorsan-il-nav a:focus,.asorsan-il-nav a.active{background:var(--asorsan-green);color:#fff!important;border-color:var(--asorsan-green)}
.asorsan-il-block{padding:56px 0;border-bottom:1px solid #e9ecea}
.asorsan-il-block:first-of-type{padding-top:14px}
.asorsan-il-block--soft{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:#f6f9f6}
.asorsan-il-block--value{border:1px solid #e4ebe5;border-left:5px solid var(--asorsan-green);border-radius:12px;padding:38px;background:#fff}
.asorsan-il-kicker{display:inline-block;margin-bottom:10px;color:var(--asorsan-green-dark);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.asorsan-il-block h2,.asorsan-il-contact h2,.asorsan-il-intro h2{text-transform:none;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15}
.asorsan-il-block p,.asorsan-il-contact p,.asorsan-il-intro p{font-size:1.04rem;line-height:1.75}
.asorsan-il-image,.asorsan-il-image-placeholder{width:100%;aspect-ratio:4/3;border-radius:14px;box-shadow:0 16px 42px rgba(0,0,0,.10)}
.asorsan-il-image{display:block;object-fit:cover}
.asorsan-il-image-placeholder{display:grid;place-items:center;padding:28px;text-align:center;color:#718077;background:linear-gradient(135deg,#eef5ef,#f8faf8);border:1px dashed #cbd7cd}
.asorsan-il-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.asorsan-il-grid>div{padding:18px;border-radius:10px;border:1px solid #e3e9e4;background:#fff;line-height:1.45}
.asorsan-il-grid>div::before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:9px;border-radius:50%;background:#e9f5ec;color:var(--asorsan-green);font-weight:800}
.asorsan-il-note{margin:24px 0 0;padding:20px 22px;border-left:4px solid var(--asorsan-blue);background:#f4f8fb;border-radius:8px}
.asorsan-il-principle{height:100%;padding:28px;border-radius:12px;background:var(--asorsan-blue);color:#fff}
.asorsan-il-principle span{display:block;margin-bottom:14px;color:#dbefff;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}
.asorsan-il-principle strong{display:block;font-size:1.8rem;line-height:1.15;margin-bottom:12px;color:#fff}
.asorsan-il-principle p{margin:0;color:#fff}
.asorsan-il-links{padding:50px 0 26px}
.asorsan-il-link-card{display:flex;flex-direction:column;height:100%;min-height:190px;padding:30px;border:1px solid #e2e7e3;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.05);color:#222}
.asorsan-il-link-card:hover,.asorsan-il-link-card:focus{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.09);color:#222}
.asorsan-il-link-card span{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:var(--asorsan-green);font-weight:700}
.asorsan-il-link-card strong{font-size:1.5rem;margin:6px 0 10px}
.asorsan-il-link-card small{font-size:.98rem;line-height:1.55;color:#555}
.asorsan-il-reference{margin:20px 0 48px;padding:22px 26px;background:#f7f7f7;border-radius:10px;border-left:4px solid #777}
.asorsan-il-contact{padding:46px 32px;border-radius:14px;background:linear-gradient(135deg,#eff8f1,#fff);border:1px solid #dce9df}
.asorsan-il-contact p{max-width:900px;margin-left:auto;margin-right:auto}
.asorsan-il-intro{max-width:900px;margin-bottom:36px;padding:30px;border-radius:12px;background:#f6f9f6}
.asorsan-company-card{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid #e7e7e7;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.asorsan-company-card__image{min-height:300px;background:#f3f3f3;overflow:hidden}
.asorsan-company-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.asorsan-company-card:hover .asorsan-company-card__image img{transform:scale(1.025)}
.asorsan-company-card__body{display:flex;flex-direction:column;padding:26px}
.asorsan-company-card__body h2{font-size:1.3rem;text-transform:none;margin:7px 0 12px}
.asorsan-company-card__body h2 a{color:#222}

/* Footer: lectura rápida por bloques/columnas. */
.asorsan-footer--clear{background:#0b2440!important;color:#eaf1f7;border-top:5px solid var(--asorsan-green)}
.asorsan-footer--clear .footer-widgets-wrap{padding-top:56px!important;padding-bottom:50px!important}
.asorsan-footer--clear h4{color:#fff;text-transform:none;font-size:1rem;margin-bottom:18px}
.asorsan-footer-brand{font-family:Poppins,sans-serif;font-size:2rem;line-height:1;font-weight:700;color:#fff;margin-bottom:18px}
.asorsan-footer--clear p{color:#dbe5ee;line-height:1.6}
.asorsan-footer-links,.asorsan-footer-contact{list-style:none;margin:0;padding:0}
.asorsan-footer-links li,.asorsan-footer-contact li{margin-bottom:10px;color:#dbe5ee;line-height:1.5}
.asorsan-footer--clear a{color:#eaf1f7!important}
.asorsan-footer--clear a:hover,.asorsan-footer--clear a:focus{color:#fff!important}
.asorsan-footer-bottom{background:#071b30;border-top:1px solid rgba(255,255,255,.10);color:#bfcddb;font-size:.88rem}

body.asorsan-high-contrast .asorsan-il-nav,body.asorsan-high-contrast .asorsan-il-block--soft,body.asorsan-high-contrast .asorsan-il-block--value,body.asorsan-high-contrast .asorsan-il-grid>div,body.asorsan-high-contrast .asorsan-il-link-card,body.asorsan-high-contrast .asorsan-il-reference,body.asorsan-high-contrast .asorsan-il-contact,body.asorsan-high-contrast .asorsan-company-card{background:#000!important;color:#fff!important;border-color:#fff!important}
body.asorsan-high-contrast .asorsan-il-link-card small,body.asorsan-high-contrast .asorsan-company-card__body h2 a{color:#fff!important}
body.asorsan-high-contrast .asorsan-il-principle{background:#000!important;border:2px solid #fff}

@media(max-width:991.98px){.asorsan-il-block{padding:44px 0}.asorsan-il-block--soft{padding-left:24px;padding-right:24px}.asorsan-company-card{grid-template-columns:1fr}.asorsan-company-card__image{min-height:0;aspect-ratio:16/9}.asorsan-il-contact{padding:36px 24px}}
@media(max-width:767.98px){.asorsan-il-nav{justify-content:stretch}.asorsan-il-nav a{flex:1 1 100%}.asorsan-il-grid{grid-template-columns:1fr}.asorsan-il-block--value{padding:26px}.asorsan-il-block h2,.asorsan-il-contact h2,.asorsan-il-intro h2{font-size:1.7rem}}

/* CTA permanente para empresas inclusivas */
.asorsan-company-cta{padding:44px 34px;border-radius:14px;background:linear-gradient(135deg,#eef8f0,#fff);border:1px solid #dce9df}
.asorsan-company-cta h2{text-transform:none;font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:16px}
.asorsan-company-cta p{max-width:920px;margin:0 auto 24px;font-size:1.03rem;line-height:1.7}
body.asorsan-high-contrast .asorsan-company-cta{background:#000!important;color:#fff!important;border-color:#fff!important}

/* ================================================================
   ASORSAN CMS WEB V5 - ajustes de integración pública
   ================================================================ */

/* Evita que el encabezado fijo/sticky recorte el título de las páginas nuevas. */
.asorsan-page-title {
    position: relative !important;
    z-index: 1;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 46px 0 38px !important;
    overflow: visible !important;
}
.asorsan-page-title .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.asorsan-page-title h1 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    line-height: 1.2 !important;
}
.asorsan-page-title span,
.asorsan-page-title .breadcrumb {
    margin-bottom: 0 !important;
}

/* Cinco servicios equilibrados en Inicio. */
.asorsan-service-icons--five {
    justify-content: center;
}
@media (min-width: 992px) {
    .asorsan-service-icons--five > [class*="col-"] {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

/* Las nuevas ilustraciones de Inclusión Laboral son panorámicas 16:9. */
.asorsan-il-image,
.asorsan-il-image-placeholder {
    aspect-ratio: 16 / 9;
}

/* Fecha del detalle de noticia: legible sobre fondo blanco. */
.asorsan-publication-date {
    color: #222 !important;
    font-weight: 400 !important;
    font-style: italic;
    line-height: 1.45;
}

/* Botón Compartir visible sobre las tarjetas azules de Noticias. */
.asorsan-news-card__body .asorsan-share-trigger {
    color: #fff !important;
    border-color: rgba(255,255,255,.92) !important;
    background: transparent !important;
}
.asorsan-news-card__body .asorsan-share-trigger:hover,
.asorsan-news-card__body .asorsan-share-trigger:focus {
    color: #24368f !important;
    background: #fff !important;
    border-color: #fff !important;
}

/* En tarjetas claras mantiene contraste institucional. */
.asorsan-company-card__body .asorsan-share-trigger,
.asorsan-employment-card__body .asorsan-share-trigger {
    color: var(--asorsan-green-dark) !important;
    border-color: var(--asorsan-green) !important;
    background: #fff !important;
}
.asorsan-company-card__body .asorsan-share-trigger:hover,
.asorsan-company-card__body .asorsan-share-trigger:focus,
.asorsan-employment-card__body .asorsan-share-trigger:hover,
.asorsan-employment-card__body .asorsan-share-trigger:focus {
    color: #fff !important;
    background: var(--asorsan-green) !important;
}

/* Compartir: Facebook, Instagram, WhatsApp y Copiar enlace. */
.asorsan-share-actions .button {
    min-width: 118px;
    text-align: center;
}
.asorsan-share-feedback {
    min-height: 1.4em;
    color: #333;
    font-size: .9rem;
}
.asorsan-share-modal {
    position: fixed;
    inset: 0;
    z-index: 100500;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,.58);
}
.asorsan-share-modal.is-open {
    display: flex;
}
body.asorsan-share-open {
    overflow: hidden;
}
.asorsan-share-dialog {
    position: relative;
    width: min(520px, 100%);
    padding: 30px;
    border-radius: 14px;
    background: #fff;
    color: #222;
    box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.asorsan-share-dialog h2 {
    margin: 0 42px 8px 0;
    font-size: 1.55rem;
    text-transform: none;
}
.asorsan-share-dialog__title {
    margin-bottom: 22px;
    color: #555;
    line-height: 1.5;
}
.asorsan-share-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f1f1;
    color: #222;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.asorsan-share-close:hover,
.asorsan-share-close:focus {
    background: #e5e5e5;
}
.asorsan-share-dialog__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}
.asorsan-share-choice {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    background: #fff;
    color: #222 !important;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none !important;
}
.asorsan-share-choice:hover,
.asorsan-share-choice:focus {
    border-color: var(--asorsan-green);
    color: var(--asorsan-green-dark) !important;
    background: #f3faf5;
}
.asorsan-share-choice--facebook {
    border-color: #315bb3;
}
.asorsan-share-choice--whatsapp {
    border-color: #168a46;
}

body.asorsan-high-contrast .asorsan-share-dialog,
body.asorsan-high-contrast .asorsan-share-choice,
body.asorsan-high-contrast .asorsan-share-close {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}
body.asorsan-high-contrast .asorsan-publication-date,
body.asorsan-high-contrast .asorsan-share-feedback {
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .asorsan-page-title {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }
    .asorsan-share-dialog {
        padding: 26px 20px 22px;
    }
    .asorsan-share-dialog__actions {
        grid-template-columns: 1fr;
    }
}
