/* ============================================================================
   SECYT Rosario — Rediseño 2026 (estructura nueva)
   Capa de diseño propia sobre Bootstrap 5. Glassmorphism + familia celeste/azul.
   Usada por el layout moderno.ctp. No depende del theme comprado.
   ============================================================================ */

:root{
    --sky-300:#7DD3FC; --sky-400:#38BDF8; --sky-500:#0EA5E9; --sky-600:#0284C7;
    --blue-600:#2563EB; --blue-700:#1D4ED8; --indigo-500:#6366F1; --cyan-300:#67E8F9;
    --navy-900:#0B2239; --navy-800:#0E2C4A; --ink:#0F2238;
    --slate-700:#334155; --slate-600:#475569; --slate-400:#94A3B8;
    --line:#E2E8F0; --bg:#EEF5FB;

    --grad-primary:linear-gradient(135deg,#38BDF8 0%,#0EA5E9 45%,#2563EB 100%);
    --grad-genero:linear-gradient(135deg,#6366F1 0%,#0EA5E9 100%);
    --grad-hero:linear-gradient(115deg,rgba(11,34,57,.92) 0%,rgba(14,44,74,.78) 45%,rgba(2,132,199,.55) 100%);
    --grad-footer:linear-gradient(160deg,#0E2C4A 0%,#0B2239 100%);

    --glass-bg:rgba(255,255,255,.62);
    --glass-bg-strong:rgba(255,255,255,.82);
    --glass-brd:rgba(255,255,255,.55);
    --glass-shadow:0 10px 30px rgba(2,32,71,.12),0 2px 6px rgba(2,32,71,.06);
    --glass-blur:saturate(160%) blur(14px);

    --radius-sm:12px; --radius:18px; --radius-lg:26px; --radius-pill:50px;
    --shadow-soft:0 12px 34px rgba(2,32,71,.10);
    --shadow-hover:0 20px 54px rgba(2,32,71,.20);
    --transition:all .35s cubic-bezier(.4,.14,.3,1);

    /* overrides de tokens Bootstrap */
    --bs-body-font-family:'Poppins',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --bs-body-color:#0F2238;
    --bs-primary:#0EA5E9;
    --bs-border-radius:14px;
}

/* ----------------------------------------------------------------- Base --- */
body{
    background:
        radial-gradient(1200px 620px at 12% -8%, rgba(56,189,248,.20), transparent 60%),
        radial-gradient(960px 620px at 102% 0%, rgba(99,102,241,.15), transparent 55%),
        radial-gradient(820px 720px at 50% 112%, rgba(14,165,233,.13), transparent 60%),
        var(--bg);
    background-attachment:fixed;
    color:var(--ink);
    font-family:var(--bs-body-font-family);
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.display-1,.display-2,.display-3,.display-4{font-weight:700;letter-spacing:-.4px;}
a{color:var(--sky-600);text-decoration:none;transition:var(--transition);}
a:hover{color:var(--blue-700);}
::selection{background:rgba(56,189,248,.3);}
img{max-width:100%;height:auto;}

.text-gradient{
    background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
.section{padding:clamp(56px,9vw,110px) 0;}
.section-sm{padding:clamp(36px,6vw,64px) 0;}
.section-title{position:relative;margin-bottom:2.5rem;}
.section-title .eyebrow{
    display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
    color:var(--sky-600);margin-bottom:.6rem;
}
.section-title h2{font-size:clamp(1.7rem,3.6vw,2.6rem);}
.section-title .bar{display:block;width:64px;height:4px;border-radius:4px;background:var(--grad-primary);margin-top:1rem;}
.section-title.text-center .bar{margin-left:auto;margin-right:auto;}

/* ------------------------------------------------------------- Glass util --*/
.glass{
    background:var(--glass-bg-strong);
    -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-brd);
    border-radius:var(--radius);
    box-shadow:var(--glass-shadow);
}

/* ----------------------------------------------------------------- Botones */
.btn{border-radius:var(--radius-pill);font-weight:600;letter-spacing:.2px;padding:.7rem 1.6rem;transition:var(--transition);}
.btn-secyt{
    background-image:var(--grad-primary);color:#fff;border:none;
    box-shadow:0 12px 26px rgba(14,165,233,.35);
}
.btn-secyt:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 38px rgba(37,99,235,.42);filter:saturate(112%);}
.btn-ghost{
    background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.5);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.btn-ghost:hover{background:#fff;color:var(--blue-700);border-color:#fff;transform:translateY(-2px);}
.btn-outline-secyt{background:rgba(255,255,255,.5);color:var(--sky-600);border:1.5px solid var(--sky-500);}
.btn-outline-secyt:hover{background-image:var(--grad-primary);color:#fff;border-color:transparent;transform:translateY(-2px);}

/* ----------------------------------------------------------------- Navbar --*/
.navbar-secyt{
    /* OJO: sin backdrop-filter acá. Un ancestro con backdrop-filter se vuelve
       containing block de los position:fixed descendientes (el offcanvas) y lo
       atrapa/desubica. El vidrio se hace en ::before, que no es ancestro del panel. */
    background:transparent;
    border-bottom:1px solid var(--glass-brd);
    box-shadow:0 6px 26px rgba(2,32,71,.08);
    padding:.5rem 0;transition:var(--transition);
}
.navbar-secyt::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:var(--glass-bg-strong);
    -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
}
.navbar-secyt.is-scrolled{padding:.2rem 0;box-shadow:0 8px 30px rgba(2,32,71,.14);}
.navbar-secyt .navbar-brand img{height:54px;width:auto;filter:drop-shadow(0 4px 10px rgba(2,32,71,.18));transition:var(--transition);}
.navbar-secyt.is-scrolled .navbar-brand img{height:44px;}
.navbar-secyt .nav-link{
    color:var(--ink);font-weight:500;font-size:.95rem;position:relative;margin:0 .05rem;padding:.45rem .62rem;
}
.navbar-secyt .nav-link::after{
    content:"";position:absolute;left:.62rem;right:100%;bottom:.2rem;height:2px;border-radius:2px;
    background:var(--grad-primary);transition:right .3s ease;
}
.navbar-secyt .nav-link:hover,.navbar-secyt .nav-link.active{color:var(--sky-600);}
.navbar-secyt .nav-link:hover::after,.navbar-secyt .nav-link.active::after{right:.62rem;}
/* En desktop angosto (lg) compactamos un poco más para que entren los 8 ítems */
@media (min-width:992px) and (max-width:1199.98px){
    .navbar-secyt .nav-link{font-size:.86rem;padding:.4rem .48rem;}
    .navbar-secyt .nav-link::after{left:.48rem;}
    .navbar-secyt .navbar-brand img{height:46px;}
}
.navbar-secyt .navbar-toggler{border:none;padding:.35rem .5rem;}
.navbar-secyt .navbar-toggler:focus{box-shadow:none;}
.navbar-secyt .navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%230F2238' stroke-width='2.4' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E");
}
.nav-pill-user{display:inline-flex;align-items:center;gap:.5rem;}
.nav-pill-user .chip{
    display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
    background:var(--grad-primary);color:#fff;box-shadow:0 8px 18px rgba(14,165,233,.4);transition:var(--transition);
}
.nav-pill-user .chip:hover{transform:translateY(-2px);}
.nav-pill-user .chip-soft{background:rgba(148,163,184,.22);color:inherit;box-shadow:none;}
.nav-pill-user .chip-soft:hover{background:rgba(148,163,184,.36);}

/* Navbar fijo por encima del backdrop del offcanvas (evita "overlay vacío") */
.navbar-secyt.fixed-top{z-index:1045;}

/* Offcanvas (menú mobile): estilo oscuro SOLO cuando es overlay (<992px).
   En desktop el contenido se muestra inline dentro del navbar glass. */
@media (max-width:991.98px){
    .offcanvas-secyt{
        width:min(86vw,340px) !important;
        background:linear-gradient(160deg,rgba(14,44,74,.97),rgba(11,34,57,.99));
        -webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);
        color:#EAF6FF;
    }
    .offcanvas-secyt .offcanvas-title{color:#fff;}
    .offcanvas-secyt .btn-close{filter:invert(1) grayscale(1) brightness(1.6);}
    .offcanvas-secyt .nav-link{color:#EAF6FF;font-size:1.1rem;font-weight:500;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
    .offcanvas-secyt .nav-link::after{display:none;}
    .offcanvas-secyt .nav-link:hover,.offcanvas-secyt .nav-link.active{color:#fff;padding-left:.4rem;}
    .offcanvas-secyt .social a{
        display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
        background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;
    }
    .offcanvas-secyt .social a:hover{background:var(--grad-primary);border-color:transparent;transform:translateY(-3px);}
}

/* ------------------------------------------------------------------- Hero --*/
.hero{
    position:relative;min-height:clamp(520px,84vh,820px);display:flex;align-items:center;
    color:#fff;overflow:hidden;isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad-hero);}
.hero::after{ /* glow */
    content:"";position:absolute;z-index:-1;width:60vw;height:60vw;right:-12vw;top:-18vw;border-radius:50%;
    background:radial-gradient(circle,rgba(56,189,248,.45),transparent 62%);filter:blur(20px);
}
.hero .eyebrow{color:var(--cyan-300);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:.85rem;}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;line-height:1.04;text-shadow:0 8px 40px rgba(2,32,71,.5);}
.hero p.lead{color:#DCEEFB;max-width:36rem;font-size:clamp(1rem,1.5vw,1.2rem);}
.hero .scroll-cue{
    position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:50px;height:50px;border-radius:50%;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;animation:secyt-bounce 2.2s infinite;
}
@keyframes secyt-bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,9px);}}

/* ----------------------------------------------------- Cards de accesos --- */
.access-card{
    position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;min-height:300px;
    color:#fff;box-shadow:var(--shadow-soft);transition:var(--transition);isolation:isolate;
}
.access-card{background:linear-gradient(135deg,#38BDF8,#2563EB);}
.access-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.access-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 25%,rgba(11,34,57,.86));}
.access-card.genero::after{background:linear-gradient(180deg,rgba(99,102,241,.25) 10%,rgba(79,70,229,.9));}
.access-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
.access-card:hover img{transform:scale(1.08);}
.access-card .body{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;}
.access-card .body small{opacity:.85;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.72rem;}
.access-card .body h3{margin:.2rem 0 0;font-size:1.5rem;}
.access-card .go{
    position:absolute;top:1.2rem;right:1.2rem;width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
    display:inline-flex;align-items:center;justify-content:center;transition:var(--transition);
}
.access-card:hover .go{background:#fff;color:var(--blue-700);}

/* ------------------------------------------------------- Card de taller --- */
.taller-card{height:100%;overflow:hidden;display:flex;flex-direction:column;transition:var(--transition);}
.taller-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
.taller-card .media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#bae6fd);}
.taller-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.taller-card:hover .media img{transform:scale(1.07);}
.taller-card .price{
    position:absolute;top:.8rem;left:.8rem;background:var(--grad-primary);color:#fff;font-weight:700;
    padding:.3rem .9rem;border-radius:var(--radius-pill);box-shadow:0 8px 20px rgba(14,165,233,.4);font-size:.85rem;
}
.taller-card .body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.taller-card .body h3{font-size:1.15rem;margin:0;}
.taller-card .tags{display:flex;gap:.4rem;flex-wrap:wrap;}
.taller-card .tag{font-size:.72rem;font-weight:600;color:var(--sky-600);background:rgba(56,189,248,.12);border-radius:50px;padding:.2rem .7rem;}

/* -------------------------------------------------------- Card de noticia --*/
.news-card{height:100%;overflow:hidden;display:flex;flex-direction:column;color:inherit;transition:var(--transition);}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);color:inherit;}
.news-card .media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#bae6fd);}
.news-card .media img,.news-card .media video{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.news-card:hover .media img{transform:scale(1.07);}
.news-card .date{
    position:absolute;top:.8rem;left:.8rem;background:var(--grad-primary);color:#fff;border-radius:14px;
    text-align:center;padding:.4rem .7rem;line-height:1;box-shadow:0 8px 20px rgba(14,165,233,.4);
}
.news-card .date strong{display:block;font-size:1.25rem;}
.news-card .date span{font-size:.7rem;letter-spacing:1px;}
.news-card .body{padding:1.1rem 1.2rem 1.3rem;flex:1;}
.news-card .body .meta{color:var(--slate-400);font-size:.78rem;}
.news-card .body h3{font-size:1.1rem;margin:.3rem 0 0;}
.news-card .body p{color:var(--slate-600);font-size:.9rem;margin:.5rem 0 0;}

/* ---------------------------------------------------------- Sección Género */
.genero-section{position:relative;background:var(--grad-genero);color:#fff;overflow:hidden;}
.genero-section::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 90% -10%,rgba(255,255,255,.18),transparent 60%);}
.genero-section .section-title .eyebrow{color:#E0E7FF;}
.genero-section .section-title .bar{background:#fff;}
.genero-section .news-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;}
.genero-section .news-card .body p,.genero-section .news-card .body .meta{color:rgba(255,255,255,.82);}

/* ----------------------------------------------------------- CTA Nosotros --*/
.cta-band{position:relative;overflow:hidden;}
.cta-band .glass{padding:clamp(1.8rem,4vw,3rem);}

/* media embebida */
.ratio iframe,.media-frame{border-radius:var(--radius);box-shadow:var(--glass-shadow);}

/* ----------------------------------------------------------------- Footer --*/
.footer-secyt{background:var(--grad-footer);color:#CBD9E8;}
.footer-secyt h5{color:#fff;font-weight:600;margin-bottom:1.1rem;}
.footer-secyt a{color:#CBD9E8;}
.footer-secyt a:hover{color:var(--sky-300);}
.footer-secyt .footer-links a{display:inline-block;padding:.28rem 0;}
.footer-secyt .footer-links a:hover{padding-left:5px;}
.footer-secyt .social a{
    display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;
}
.footer-secyt .social a:hover{background:var(--grad-primary);border-color:transparent;transform:translateY(-3px);}
.footer-secyt .contacts i{color:var(--sky-400);width:1.4rem;}
.footer-secyt .footer-bottom{border-top:1px solid rgba(255,255,255,.1);color:var(--slate-400);font-size:.85rem;}

/* ----------------------------------------------------------- Reveal anim --*/
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.scroll-cue,.btn_explore i{animation:none;}}

/* ============================================================================
   Páginas internas (fase 2)
   ============================================================================ */
/* Banner de cabecera que despeja el navbar fijo */
.page-hero{
    position:relative;color:#fff;overflow:hidden;isolation:isolate;
    padding-top:calc(60px + clamp(2.4rem,6vw,4.6rem));
    padding-bottom:clamp(2.2rem,5vw,3.6rem);
    background:linear-gradient(120deg,#0B2239 0%,#0E2C4A 45%,#0284C7 100%);
}
.page-hero.genero{background:linear-gradient(120deg,#312E81 0%,#4F46E5 50%,#0EA5E9 100%);}
.page-hero::after{content:"";position:absolute;z-index:-1;width:55vw;height:55vw;right:-12vw;top:-18vw;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.4),transparent 62%);}
.page-hero .eyebrow{color:var(--cyan-300);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:.8rem;}
.page-hero h1{font-size:clamp(1.9rem,4.6vw,3rem);font-weight:800;margin:0;text-shadow:0 6px 30px rgba(2,32,71,.4);}
.page-hero .crumbs{color:rgba(255,255,255,.72);font-size:.9rem;margin-top:.5rem;}
.page-hero .crumbs a{color:rgba(255,255,255,.9);}

/* Secciones de contenido */
.content-section{padding:clamp(2.6rem,6vw,5rem) 0;}
.prose{color:var(--slate-700);line-height:1.85;font-size:1.02rem;}
.prose p{margin-bottom:1.15rem;}
.prose h2,.prose h3,.prose h4{color:var(--ink);margin:1.8rem 0 .8rem;}
.prose img{border-radius:var(--radius);box-shadow:var(--glass-shadow);margin:.6rem 0;}
.prose a{color:var(--sky-600);text-decoration:underline;}
.prose iframe{max-width:100%;border-radius:var(--radius);}

/* Card lateral / aside */
.aside-card{padding:1.6rem;position:sticky;top:90px;}
.aside-card h3{font-size:1.2rem;}
.aside-card .price-tag{font-size:2rem;font-weight:800;color:var(--ink);}

/* Card horizontal de taller (vista lista) */
.taller-row{overflow:hidden;}
.taller-row .media{position:relative;min-height:220px;height:100%;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#bae6fd);}
.taller-row .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.taller-row:hover .media img{transform:scale(1.05);}
.taller-row .price{position:absolute;top:.8rem;left:.8rem;background:var(--grad-primary);color:#fff;font-weight:700;padding:.3rem .9rem;border-radius:var(--radius-pill);box-shadow:0 8px 20px rgba(14,165,233,.4);font-size:.85rem;z-index:2;}

/* Toggle grilla/lista */
.view-toggle{display:inline-flex;gap:.25rem;background:var(--glass-bg-strong);border:1px solid var(--glass-brd);border-radius:var(--radius-pill);padding:.25rem;}
.view-toggle a{width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);color:var(--slate-600);}
.view-toggle a.active{background-image:var(--grad-primary);color:#fff;}

/* Paginador */
.pagination{gap:.35rem;flex-wrap:wrap;}
.pagination .page-link,.pagination li a,.pagination li span{
    border:none;border-radius:10px;color:var(--slate-700);padding:.5rem .85rem;min-width:42px;text-align:center;transition:var(--transition);
}
.pagination li a:hover{background:rgba(56,189,248,.14);color:var(--sky-600);}
.pagination li.active a,.pagination li.active span,.pagination .active .page-link{
    background-image:var(--grad-primary);color:#fff;box-shadow:0 8px 18px rgba(14,165,233,.32);
}

/* Accordion (clases del taller) */
.accordion-item{border:1px solid var(--glass-brd);border-radius:var(--radius) !important;margin-bottom:.6rem;overflow:hidden;background:var(--glass-bg-strong);}
.accordion-button{font-weight:600;color:var(--ink);background:transparent;}
.accordion-button:not(.collapsed){background:rgba(56,189,248,.12);color:var(--sky-600);box-shadow:none;}
.accordion-button:focus{box-shadow:0 0 0 .25rem rgba(56,189,248,.22);border-color:transparent;}
.lesson-link{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 0;color:var(--slate-700);}
.lesson-link.is-locked{color:var(--slate-400);pointer-events:none;}
.lesson-link i{color:var(--sky-600);}

/* Compartir */
.share-row .btn{border-radius:12px;}

/* Personal / referentes */
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;}
.staff-card{overflow:hidden;text-align:center;}
.staff-card .ph{aspect-ratio:3/4;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#bae6fd);}
.staff-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.staff-card:hover .ph img{transform:scale(1.05);}
.staff-card .info{padding:1rem;}
.staff-card .info h4{font-size:1.02rem;margin:0 0 .2rem;color:var(--ink);}
.staff-card .info em{color:var(--sky-600);font-style:normal;font-size:.78rem;font-weight:600;display:block;line-height:1.3;}

/* Perfil destacado centrado (cultura/salud) */
.lead-profile{max-width:340px;margin:0 auto 2.5rem;text-align:center;}
.lead-profile .ph{border-radius:var(--radius);overflow:hidden;box-shadow:var(--glass-shadow);background:linear-gradient(135deg,#dbeafe,#bae6fd);}
.lead-profile .ph img{width:100%;max-height:420px;object-fit:cover;display:block;}
.lead-profile h4{margin-top:1rem;color:var(--ink);}
.lead-profile em{color:var(--sky-600);font-style:normal;font-weight:600;font-size:.82rem;display:block;margin-top:.3rem;}

/* Info de contacto */
.contact-info-card{text-align:center;padding:1.8rem;height:100%;}
.contact-info-card .ic{width:64px;height:64px;border-radius:50%;background:var(--grad-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;box-shadow:0 10px 24px rgba(14,165,233,.35);}
.contact-info-card h4{color:var(--ink);}
.contact-info-card span{color:var(--slate-600);}

/* Tarjeta de descarga (violencia laboral) */
.download-card{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;min-height:240px;color:#fff;box-shadow:var(--shadow-soft);transition:var(--transition);isolation:isolate;background:linear-gradient(135deg,#38BDF8,#2563EB);}
.download-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.download-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(11,34,57,.85));}
.download-card.genero::after{background:linear-gradient(180deg,rgba(99,102,241,.2),rgba(79,70,229,.9));}
.download-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);color:#fff;}
.download-card:hover img{transform:scale(1.07);}
.download-card .body{position:absolute;left:0;right:0;bottom:0;padding:1.4rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;}
.download-card .body h3{margin:0;font-size:1.3rem;}
.download-card .dl{flex:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);display:inline-flex;align-items:center;justify-content:center;}
.download-card:hover .dl{background:#fff;color:var(--blue-700);}

/* Compat para clases de contenido legadas (páginas de Género, etc.) */
.bg_color_1{background:transparent;}
.bg_color_1 .container.margin_120_95,.container.margin_120_95{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,5vw,3.5rem);}
.main_title_2{margin-bottom:1.8rem;}
.main_title_2 h2{color:var(--ink);font-weight:700;}
.main_title_2 .text-uppercase,.prose .text-uppercase,p.text-uppercase{line-height:1.8;color:var(--slate-700);}
/* Accordion legado (.card + .btn-link) usado en Leyes */
#accordion .card,.leyes-accordion .card{border:1px solid var(--glass-brd);border-radius:var(--radius) !important;margin-bottom:.6rem;overflow:hidden;background:var(--glass-bg-strong);}
#accordion .card-header,.leyes-accordion .card-header{background:transparent;border:none;padding:.4rem .6rem;}
#accordion .btn-link,.leyes-accordion .btn-link{color:var(--ink);font-weight:600;text-decoration:none;text-align:left;width:100%;white-space:normal;}
#accordion .btn-link:hover,.leyes-accordion .btn-link:hover{color:var(--sky-600);}
#accordion .card-body,.leyes-accordion .card-body{color:var(--slate-700);line-height:1.7;}

/* Hero legado #hero_in -> banner que despeja el navbar fijo */
#hero_in{position:relative;color:#fff;text-align:left;overflow:hidden;
    padding-top:calc(60px + clamp(2.4rem,6vw,4.6rem));padding-bottom:clamp(2.2rem,5vw,3.6rem);
    background:linear-gradient(120deg,#0B2239 0%,#0E2C4A 45%,#0284C7 100%);}
#hero_in.genero{background:linear-gradient(120deg,#312E81 0%,#4F46E5 50%,#0EA5E9 100%);}
#hero_in h1{font-size:clamp(1.7rem,4.2vw,2.7rem);font-weight:800;margin:0;text-shadow:0 6px 30px rgba(2,32,71,.4);}
#hero_in h1 span{display:none;}

/* Owl legado sin JS -> grilla estática */
.owl-carousel{display:flex !important;flex-wrap:wrap;gap:1.5rem;justify-content:center;}
.owl-carousel .item{flex:1 1 240px;max-width:320px;text-align:center;}
.owl-carousel .item img{width:100%;aspect-ratio:3/4;height:auto;border-radius:var(--radius);box-shadow:var(--glass-shadow);object-fit:cover !important;}
.owl-carousel .title h4{color:var(--ink);margin-top:.8rem;font-size:1.02rem;}
.owl-carousel .title em{color:var(--sky-600);font-style:normal;font-weight:600;font-size:.78rem;}
.owl-carousel a{color:inherit;text-decoration:none;}

/* Grid de descargas legado (#grid_home en Género) */
#grid_home{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1140px;margin:1.5rem auto;padding:0 12px;}
#grid_home > .main_title_2{grid-column:1/-1;text-align:center;margin-bottom:.5rem;}
#grid_home > .main_title_2 .bar,#grid_home > .main_title_2 span em{margin-left:auto;margin-right:auto;}
@media (max-width:768px){#grid_home{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){#grid_home{grid-template-columns:1fr;}}
#grid_home li{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);}
.img_container.btn_explore_seccion{position:relative;display:block;min-height:240px;color:#fff;border-radius:var(--radius-lg);overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#38BDF8,#2563EB);}
.img_container img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.img_container:hover img{transform:scale(1.07);}
.img_container .short_info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;background:linear-gradient(180deg,transparent 30%,rgba(11,34,57,.85));}
.img_container .short_info h3{color:#fff;margin:0;}
.btn_1{display:inline-flex;align-items:center;justify-content:center;background-image:var(--grad-primary);color:#fff !important;border:none;border-radius:50px;padding:.5rem 1.2rem;font-weight:600;}
.btn_1.rounded{width:46px;height:46px;padding:0;}
.btn_2{background-image:var(--grad-primary);color:#fff;border:none;border-radius:50px;padding:.7rem 1.8rem;font-weight:600;}

/* ===== Pantallas de autenticación ===== */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem;position:relative;overflow:hidden;background:linear-gradient(120deg,#0B2239 0%,#0E2C4A 45%,#0284C7 100%);}
.auth-wrap::after{content:"";position:absolute;width:65vw;height:65vw;right:-18vw;top:-22vw;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 62%);}
.auth-card{position:relative;z-index:1;width:100%;max-width:440px;}
.auth-card .glass{padding:2.4rem;}
.auth-card .brand{text-align:center;margin-bottom:1.4rem;}
.auth-card .brand img{height:74px;width:auto;filter:drop-shadow(0 6px 14px rgba(2,32,71,.2));}
.auth-card h1{font-size:1.5rem;text-align:center;margin-bottom:.3rem;color:var(--ink);}
.auth-card .sub{text-align:center;color:var(--slate-600);margin-bottom:1.6rem;font-size:.92rem;}
.auth-card .alt{text-align:center;margin-top:1.3rem;color:var(--slate-600);font-size:.9rem;}
.auth-card .forgot{display:block;text-align:right;font-size:.82rem;margin-top:.4rem;}
.auth-back{display:block;text-align:center;margin-top:1.1rem;color:rgba(255,255,255,.85);font-size:.85rem;}
.auth-back:hover{color:#fff;}

/* Inputs legados con label flotante -> label arriba (sin JS) */
.input{display:flex;flex-direction:column-reverse;margin-bottom:1rem;}
.input .input_label{margin:0 0 .35rem;position:static;}
.input__label-content{font-size:.9rem;color:var(--slate-700);}
