/* ==========================================================
   Santa Rosa · Oferta Académica Visual 2.2
========================================================== */
.sr-programs-page{background:#f7f9fb;color:#0d2438}
.sr-programs-hero{position:relative;overflow:hidden;padding:7.5rem 0 6.5rem;background:linear-gradient(120deg,#061d34 0%,#0b3154 56%,#176783 100%);color:#fff}
.sr-programs-hero:after{content:"";position:absolute;right:-8rem;top:-11rem;width:38rem;height:38rem;border-radius:50%;border:1px solid rgba(255,255,255,.13)}
.sr-programs-hero-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:54px 54px}
.sr-programs-hero-inner{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}
.sr-programs-kicker{display:block;margin-bottom:1.15rem;color:#79d2dc;font-size:.72rem;font-weight:900;letter-spacing:.16em}
.sr-programs-hero h1{margin:0;font-size:clamp(3.6rem,7vw,7rem);line-height:.92;letter-spacing:-.055em;color:#fff}
.sr-programs-hero h1 em{color:#78d1dc;font-style:normal}
.sr-programs-hero p{max-width:680px;margin:1.7rem 0 0;color:rgba(255,255,255,.73);font-size:1.06rem;line-height:1.75}
.sr-programs-hero-number{display:flex;align-items:flex-end;gap:1rem;min-width:220px;padding-bottom:.6rem}
.sr-programs-hero-number strong{font-size:5.5rem;line-height:.8;color:#fff}
.sr-programs-hero-number span{font-size:.75rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6)}

.sr-programs-intro{padding:5.5rem 0 2.8rem;background:#fff}
.sr-programs-intro span,.sr-program-area-head>div:nth-child(2)>span,.sr-programs-final span{color:#399aad;font-size:.7rem;font-weight:900;letter-spacing:.15em}
.sr-programs-intro h2{max-width:820px;margin:.6rem 0 1rem;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.04;letter-spacing:-.045em}
.sr-programs-intro h2 em{font-style:normal;color:#318ca1}
.sr-programs-intro p{max-width:760px;color:#6a7887;line-height:1.7}
.sr-programs-empty{padding:2rem 0 5rem}

.sr-program-area{padding:3.8rem 0}
.sr-program-area:nth-of-type(even){background:#fff}
.sr-program-area-head{display:grid;grid-template-columns:72px 1fr;gap:1.5rem;align-items:start;margin-bottom:1.8rem}
.sr-area-index{font-size:2.2rem;font-weight:300;color:#9eb0bf;line-height:1}
.sr-program-area-head p{max-width:850px;margin:.45rem 0 0;color:#6e7d8d;line-height:1.6}

.sr-career-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.sr-career-visual-card{overflow:hidden;background:#fff;border:1px solid #dfe6ec;box-shadow:0 14px 38px rgba(8,34,57,.06);transition:transform .28s ease,box-shadow .28s ease}
.sr-career-visual-card:hover{transform:translateY(-5px);box-shadow:0 25px 58px rgba(8,34,57,.12)}
.sr-career-photo{position:relative;display:block;height:390px;overflow:hidden;background:linear-gradient(145deg,#123f60,#0a263e);text-decoration:none}
.sr-career-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.sr-career-visual-card:hover .sr-career-photo img{transform:scale(1.045)}
.sr-career-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,21,35,.12) 0%,rgba(4,21,35,.03) 38%,rgba(4,21,35,.86) 100%)}
.sr-career-photo-top{position:absolute;left:1.25rem;right:1.25rem;top:1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.sr-career-photo-top span,.sr-career-photo-top b{padding:.45rem .7rem;background:rgba(5,26,43,.72);backdrop-filter:blur(8px);color:#fff;font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}
.sr-career-photo-top b{background:rgba(74,174,190,.86)}
.sr-career-photo-title{position:absolute;left:1.5rem;right:1.5rem;bottom:1.35rem;color:#fff}
.sr-career-photo-title small{font-size:.62rem;letter-spacing:.13em;color:#8cd9e3}
.sr-career-photo-title h3{max-width:560px;margin:.42rem 0 0;color:#fff;font-size:clamp(1.55rem,2.3vw,2.45rem);line-height:1.06;letter-spacing:-.025em}
.sr-career-photo-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:.55rem;background:radial-gradient(circle at 76% 20%,rgba(107,209,220,.22),transparent 25%),linear-gradient(135deg,#0a2944,#155c78)}
.sr-career-photo-placeholder span{font-size:4rem;font-weight:900;color:rgba(255,255,255,.9)}
.sr-career-photo-placeholder small{color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase}
.sr-career-visual-info{padding:1.4rem 1.5rem 1.5rem}
.sr-career-visual-info>p{min-height:3.2rem;margin:0;color:#687888;line-height:1.55}
.sr-career-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 0;margin-top:1rem;border-top:1px solid #e7ebef;border-bottom:1px solid #e7ebef}
.sr-career-mini-facts small,.sr-career-mini-facts strong{display:block}
.sr-career-mini-facts small{font-size:.62rem;text-transform:uppercase;color:#8795a3;letter-spacing:.07em}
.sr-career-mini-facts strong{margin-top:.2rem;font-size:.88rem}
.sr-career-discover{display:flex;justify-content:space-between;align-items:center;margin-top:1.15rem;text-decoration:none;color:#0c4568;font-weight:850}
.sr-career-discover span{font-size:1.25rem;color:#42a8b7}

.sr-programs-final{padding:5rem 0;background:#071f38;color:#fff}
.sr-programs-final-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.sr-programs-final h2{max-width:780px;margin:.6rem 0 0;color:#fff;font-size:clamp(2rem,3.5vw,3.6rem);letter-spacing:-.04em}
.sr-programs-final a{display:inline-flex;align-items:center;min-height:52px;padding:0 1.4rem;background:#fff;color:#0a3150;text-decoration:none;font-weight:850}

/* Hero fotográfico de la ficha individual */
.sr-career-hero{position:relative;overflow:hidden}
.sr-career-hero-photo{position:absolute;inset:0;z-index:0}
.sr-career-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.sr-career-hero-has-photo .sr-career-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,22,37,.96) 0%,rgba(4,22,37,.82) 47%,rgba(4,22,37,.24) 100%)}
.sr-career-hero-has-photo .sr-career-hero-inner{position:relative;z-index:2}
.sr-career-hero-has-photo .sr-career-hero-copy{max-width:690px}
.sr-career-hero-has-photo .sr-career-hero-card{background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}

@media(max-width:900px){
 .sr-programs-hero{padding:5.5rem 0 4.5rem}
 .sr-programs-hero-inner,.sr-programs-final-inner{display:block}
 .sr-programs-hero-number{margin-top:2.6rem}
 .sr-career-visual-grid{grid-template-columns:1fr}
 .sr-career-photo{height:360px}
}
@media(max-width:560px){
 .sr-programs-hero h1{font-size:3.1rem}
 .sr-programs-intro{padding-top:3.5rem}
 .sr-program-area{padding:2.8rem 0}
 .sr-program-area-head{grid-template-columns:1fr;gap:.6rem}
 .sr-area-index{font-size:1.5rem}
 .sr-career-photo{height:315px}
 .sr-career-photo-title h3{font-size:1.65rem}
 .sr-career-mini-facts{grid-template-columns:1fr}
 .sr-programs-final a{margin-top:1.5rem}
}


/* ==========================================================
   WEB 2.2 · EXPERIENCIA FOTOGRÁFICA REAL
========================================================== */

/* Mejorar visual de fotos reales en catálogo */
.sr-career-photo img {
    filter: saturate(.97) contrast(1.02);
}

.sr-career-visual-card:has(.sr-career-photo img) {
    border-color: rgba(14,58,102,.14);
}

/* Galería de práctica dentro de la ficha */
.sr-career-practice-gallery {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 5%, rgba(76,185,202,.11), transparent 25%),
        linear-gradient(180deg, #f4f8fa 0%, #ffffff 100%);
}

.sr-career-practice-head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr);
    gap: 70px;
    align-items: end;
    margin-bottom: 34px;
}

.sr-career-practice-head span {
    color: #3a9fb1;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.sr-career-practice-head h2 {
    max-width: 800px;
    margin: 8px 0 0;
    color: #071f38;
    font-size: clamp(2.4rem, 4.5vw, 4.6rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.sr-career-practice-head h2 em {
    color: #0e5675;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: 600;
}

.sr-career-practice-head p {
    margin: 0 0 4px;
    color: #687786;
    line-height: 1.7;
}

.sr-career-practice-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr .8fr;
    gap: 15px;
}

.sr-career-practice-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(14,58,102,.11);
    background: #fff;
    box-shadow: 0 15px 42px rgba(7,31,56,.06);
}

.sr-career-practice-photo {
    height: 280px;
    overflow: hidden;
    background: #0a2b47;
}

.sr-career-practice-card.is-featured .sr-career-practice-photo {
    height: 390px;
}

.sr-career-practice-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.sr-career-practice-card:hover img {
    transform: scale(1.035);
}

.sr-career-practice-card figcaption {
    padding: 18px 19px 20px;
}

.sr-career-practice-card figcaption small,
.sr-career-practice-card figcaption strong {
    display: block;
}

.sr-career-practice-card figcaption small {
    margin-bottom: 6px;
    color: #4cb9ca;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.sr-career-practice-card figcaption strong {
    color: #071f38;
    font-size: 1.02rem;
}

.sr-career-practice-card figcaption p {
    margin: 7px 0 0;
    color: #71808e;
    font-size: .88rem;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .sr-career-practice-head {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sr-career-practice-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sr-career-practice-card.is-featured {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .sr-career-practice-grid {
        grid-template-columns: 1fr;
    }

    .sr-career-practice-card.is-featured {
        grid-column: auto;
    }

    .sr-career-practice-photo,
    .sr-career-practice-card.is-featured .sr-career-practice-photo {
        height: 300px;
    }
}


/* ==========================================================
   HOTFIX 2.2.1 · HERO DE CARRERA
   Corrige la fotografía apareciendo como bloque dentro del hero.
========================================================== */

.sr-career-hero-has-photo {
    min-height: 720px;
    isolation: isolate;
    background: #071f38;
}

.sr-career-hero-has-photo .sr-career-hero-photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.sr-career-hero-has-photo .sr-career-hero-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(4,22,37,.97) 0%,
            rgba(4,22,37,.92) 35%,
            rgba(4,22,37,.72) 58%,
            rgba(4,22,37,.26) 100%
        ),
        linear-gradient(0deg, rgba(4,22,37,.38), transparent 42%);
}

.sr-career-hero-has-photo .sr-career-hero-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.01);
}

.sr-career-hero-has-photo .sr-career-hero-overlay {
    display: none;
}

.sr-career-hero-has-photo .sr-career-hero-inner {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 46px;
    align-items: center;
    padding-top: 78px;
    padding-bottom: 78px;
}

.sr-career-hero-has-photo .sr-career-hero-copy {
    max-width: 720px;
}

.sr-career-hero-has-photo .sr-career-area {
    margin-bottom: 20px;
    background: rgba(7,31,56,.4);
    backdrop-filter: blur(8px);
}

.sr-career-hero-has-photo .sr-career-title-row {
    gap: 18px;
}

.sr-career-hero-has-photo .sr-career-symbol {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: rgba(255,255,255,.13);
    backdrop-filter: blur(8px);
}

.sr-career-hero-has-photo h1 {
    max-width: 650px;
    font-size: clamp(2.9rem, 4.7vw, 4.85rem);
    line-height: .98;
}

.sr-career-hero-has-photo .sr-career-lead {
    max-width: 650px;
    margin-top: 24px;
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.7;
}

.sr-career-hero-has-photo .sr-career-actions {
    margin-top: 28px;
}

/* Tarjeta informativa oscura: no tapa visualmente el título */
.sr-career-hero-has-photo .sr-career-hero-card {
    width: 100%;
    padding: 22px 24px;
    border-radius: 18px;
    background: rgba(7,31,56,.72);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 55px rgba(0,0,0,.18);
}

.sr-career-hero-has-photo .sr-status {
    margin-bottom: 12px;
    color: rgba(255,255,255,.82);
}

.sr-career-hero-has-photo .sr-hero-fact {
    padding: 13px 0;
    border-color: rgba(255,255,255,.13);
}

.sr-career-hero-has-photo .sr-hero-fact small {
    color: rgba(255,255,255,.58);
    font-size: .78rem;
}

.sr-career-hero-has-photo .sr-hero-fact strong {
    color: #fff;
    font-size: .96rem;
}

/* El bloque de datos inferior queda más separado del hero fotográfico */
.sr-career-hero-has-photo + .sr-facts-section {
    margin-top: -38px;
}

@media (max-width: 1100px) {
    .sr-career-hero-has-photo {
        min-height: 680px;
    }

    .sr-career-hero-has-photo .sr-career-hero-inner {
        grid-template-columns: minmax(0, 1fr) 285px;
        gap: 28px;
    }

    .sr-career-hero-has-photo h1 {
        font-size: clamp(2.7rem, 4.5vw, 4rem);
    }
}

@media (max-width: 900px) {
    .sr-career-hero-has-photo {
        min-height: auto;
    }

    .sr-career-hero-has-photo .sr-career-hero-photo img {
        object-position: center;
    }

    .sr-career-hero-has-photo .sr-career-hero-photo::after {
        background:
            linear-gradient(180deg,
                rgba(4,22,37,.52) 0%,
                rgba(4,22,37,.82) 50%,
                rgba(4,22,37,.97) 100%
            );
    }

    .sr-career-hero-has-photo .sr-career-hero-inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
        padding-top: 260px;
        padding-bottom: 70px;
    }

    .sr-career-hero-has-photo .sr-career-hero-copy {
        max-width: none;
    }

    .sr-career-hero-has-photo .sr-career-hero-card {
        max-width: 600px;
    }
}

@media (max-width: 620px) {
    .sr-career-hero-has-photo .sr-career-hero-inner {
        padding-top: 230px;
        padding-bottom: 60px;
    }

    .sr-career-hero-has-photo .sr-career-title-row {
        display: block;
    }

    .sr-career-hero-has-photo .sr-career-symbol {
        margin-bottom: 14px;
    }

    .sr-career-hero-has-photo h1 {
        font-size: 2.55rem;
    }

    .sr-career-hero-has-photo .sr-career-actions {
        display: grid;
    }

    .sr-career-hero-has-photo .sr-btn {
        width: 100%;
    }
}

/* ==========================================================
   HOTFIX 2.2.2 · FACHADA EN HERO + ENCUADRE POR CARRERA
========================================================== */

/* Recupera la fotografía real de la fachada en el hero de Carreras.
   La capa azul mantiene la legibilidad del texto. */
.sr-programs-hero{
    background:
        linear-gradient(120deg,
            rgba(6,29,52,.94) 0%,
            rgba(11,49,84,.88) 56%,
            rgba(23,103,131,.76) 100%
        ),
        url('../img/fachada-santa-rosa.webp') center 48% / cover no-repeat;
}

/* Mantener el patrón/grid decorativo por encima de la fotografía. */
.sr-programs-hero-grid{
    z-index:1;
}

/* El contenido sigue por encima de todas las capas. */
.sr-programs-hero-inner{
    position:relative;
    z-index:2;
}

/* Encuadre general de las fotos del catálogo */
.sr-career-photo img{
    object-position:center center;
}

/* Farmacia: muestra más de la parte superior para no cortar la cabeza */
.career-farmacia .sr-career-photo img{
    object-position:center 15%;
}

/* Radiología conserva su encuadre actual */
.career-radiologia .sr-career-photo img{
    object-position:center 20%;
}

@media(max-width:900px){
    .career-farmacia .sr-career-photo img{
        object-position:center 15%;
    }
}
