/* ========= RESET & BASE ========= */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
    margin: 0;
    color: #1b1b1b;
    background-color: #ffffff;
    font-family: var(--font-base);
    color: var(--coepriso-texto);
}
p { margin: 0; text-align: inherit; }
/* ========= FUENTES E ICONOGRAFÍA ========= */
@font-face {
    font-family: "FA-6";
    src: url("../../vendors/fa/webfonts/fa-solid-900.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
.fa-solid {
    font-family: "FA-6";
    font-weight: 900;
    font-style: normal;
    line-height: 1;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1em;
}
.fa-house::before{content:"\f015"}
.fa-file-lines::before{content:"\f15c"}
.fa-address-book::before{content:"\f2b9"}
.fa-chalkboard-user::before{content:"\f51c"}
.fa-download::before{content:"\f019"}
.fa-location-dot::before{content:"\f3c5"}
.fa-network-wired::before{content:"\f6ff"}
.fa-globe::before{content:"\f0ac"}

/* ========= UTILIDADES GENERALES ========= */
.rounded{border-radius:10px}
.shadow{box-shadow:0 2px 10px rgba(159,85,138,.04)}
.d-flex{display:flex}
.v-center{display:flex;align-items:center}
.justify-content-start{justify-content:flex-start!important}
.justify-content-end{justify-content:flex-end!important}
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ========= TIPOGRAFÍA ========= */
.uppercase{text-transform:uppercase}
.lowercase{text-transform:lowercase}
.capitalize{text-transform:capitalize}
.normal-case{text-transform:none}

.tracking-tighter{letter-spacing:-.05em}
.tracking-tight{letter-spacing:-.025em}
.tracking-normal{letter-spacing:0}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}

.tx-100{font-weight:100}
.tx-200{font-weight:200}
.tx-300{font-weight:300}
.tx-400{font-weight:400}
.tx-500{font-weight:500}
.tx-600{font-weight:600}
.tx-700{font-weight:700}
.tx-800{font-weight:800}
.tx-900{font-weight:900}

.tx-4{font-size:4px}
.tx-6{font-size:6px}
.tx-8{font-size:8px}
.tx-10{font-size:10px}
.tx-12{font-size:12px}
.tx-14{font-size:14px}
.tx-16{font-size:16px}
.tx-18{font-size:18px}
.tx-20{font-size:20px}
.tx-22{font-size:22px}
.tx-24{font-size:24px}
.tx-26{font-size:26px}
.tx-28{font-size:28px}
.tx-30{font-size:30px}
.tx-32{font-size:32px}
.tx-34{font-size:34px}
.tx-36{font-size:36px}

.tx-left,.tx-start{text-align:left}
.tx-right{text-align:right}
.tx-center{text-align:center}
.tx-justify{text-align:justify}
.tx-end{text-align:end}
.tx-black{color:#111}
.tx-danger{color:#dc3545}
.tx-gris-2{color:#5a5a5a}

/* ========= SISTEMA DE COLOR ========= */
.bg-white-1{background:rgba(255,255,255,.1)}
.bg-white-2{background:rgba(255,255,255,.2)}
.bg-white-3{background:rgba(255,255,255,.3)}
.bg-white-4{background:rgba(255,255,255,.4)}
.bg-white-5{background:rgba(255,255,255,.5)}
.bg-white-6{background:rgba(255,255,255,.6)}
.bg-white-7{background:rgba(255,255,255,.7)}
.bg-white-8{background:rgba(255,255,255,.8)}
.bg-white-9{background:rgba(255,255,255,.9)}

.bg-gray-100{background:#f4f5f8}
.bg-gray-200{background:#e3e7ed}
.bg-gray-300{background:#cdd4e0}
.bg-gray-400{background:#b4bdce}
.bg-gray-500{background:#97a3b9}
.bg-gray-600{background:#7987a1}
.bg-gray-700{background:#596882}
.bg-gray-800{background:#3b4863}
.bg-gray-900{background:#1c273c}

.bg-orange-100{background:#fff3e0}
.bg-orange-200{background:#ffe0b2}
.bg-orange-300{background:#ffcc80}
.bg-orange-400{background:#ffb74d}
.bg-orange-500{background:#ffa726}
.bg-orange-600{background:#ff9800}
.bg-orange-700{background:#fb8c00}
.bg-orange-800{background:#f57c00}
.bg-orange-900{background:#ef6c00}

.vinotinto{background:#7C1B39}
.bg-wineu-2{background:linear-gradient(to bottom,#562D3AAA,#E4E1E2)}

/* ========= COMPONENTES COEPRISO ========= */
.banda{display:inline-block;width:18px;height:18px;border-radius:4px}

em.nota{
    font-style:normal;
    background:#ffe0b299;
    padding:2px 6px;
    border-radius:4px
}

.bullet-title,
.bullet-coepriso{
    display:inline-block;
    width:48px;
    height:48px;
    background:url("../img/bg/bullet.png") center/contain no-repeat;
    margin-right:8px;
    vertical-align:middle
}

.tarjeta,
.tarjeta-coepriso{
    background:#fff;
    border:1px solid #e9e9e9;
    border-radius:10px;
    padding:18px;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
    margin:1em auto
}

/* ========= BOTONES COEPRISO ========= */
.btn,
.btn-coepriso{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:10px;
    text-decoration:none;
    font-weight:700;
    border:none;
    cursor:pointer
}

.btn-prim-1,
.btn-primary,
.btn-coepriso-primary{
    background:#BC955C;
    color:#fff
}
.btn-prim-1:hover,
.btn-primary:hover,
.btn-coepriso-primary:hover{
    background:#a18253
}

.btn-secondary,
.btn-coepriso-secondary{
    background:#205D81;
    color:#fff
}
.btn-secondary:hover,
.btn-coepriso-secondary:hover{
    background:#184b68
}

.btn-danger,
.btn-coepriso-danger{
    background:#dc3545;
    color:#fff
}
.btn-danger:hover,
.btn-coepriso-danger:hover{
    background:#b52a37
}

.btn-link-1,
.btn-coepriso-link{
    background:#D5D8DA99;
    color:#205D81;
    padding:10px
}
.btn-link-1:hover,
.btn-coepriso-link:hover{text-decoration:underline}

/* ========= LAYOUT Y ESTRUCTURA COEPRISO ========= */
.fondo-patron,
.fondo-coepriso{
    background-image:url("../img/bg/bg-coeprixo.webp");
    background-size:380px auto;
    background-repeat:repeat;
    background-attachment:fixed
}

.fondo-patron-coepriso {
    background-color: #FAF7F1;
    background-image: url("../img/bg/patron-riesgos-sanitarios.png");
    background-repeat: repeat;
    background-size: 520px auto;
}

.contenedor,
.contenedor-coepriso{
    width:100%;
    margin:0 auto;
    padding:0 16px
}

.fachada{
    background-image:url("../img/fachada.png");
    width:100%;
    max-width: 1536px;
    height: 100%;
     margin:0 auto;
    padding:0 16px
}

.puerta{
    background-image:url("../img/puerta.png");
    background-size: cover;
}

/* ========= BARRA PRINCIPAL COEPRISO ========= */
.barra-principal-wrapper,
.barra-principal-wrapper-coepriso{
    position:sticky;
    top:0;
    z-index:50;
    padding:10px 10px 0;
    background:transparent
}

.barra-principal,
.barra-principal-coepriso{
    background:#7C1B39;
    border-radius:0;
    box-shadow:0 10px 18px rgba(0,0,0,.18)
}

.barra-principal .fila,
.barra-principal-coepriso .fila{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:84px;
    padding:14px 18px
}

/* ========= LOGO COEPRISO ========= */
.logo,
.logo-coepriso{
    display:inline-flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#fff;
    white-space:nowrap
}

.logo img,
.logo-coepriso img{
    display:block;
    height:44px;
    width:auto;
    max-width:100%;
    object-fit:contain
}

.logo .tx,
.logo-coepriso .tx{
    font-weight:700;
    font-size:18px;
    letter-spacing:.2px;
    line-height:1
}

/* ========= NAVEGACIÓN COEPRISO ========= */
.nav,
.nav-coepriso{
    display:flex;
    align-items:center;
    gap:6px
}

.nav ul,
.nav-coepriso ul{
    display:flex;
    align-items:center;
    list-style:none;
    padding:0;
    margin:0;
    gap:4px
}

.nav a,
.nav-coepriso a{
    display:inline-flex;
    align-items:center;
    padding:10px 12px;
    border-radius:10px;
    text-decoration:none;
    color:#fff;
    font-weight:600;
    line-height:1;
    transition:transform .18s ease, background-color .18s ease, opacity .18s ease;
    opacity:.95
}

.nav a:hover,
.nav-coepriso a:hover{
    transform:translateY(-1px);
    opacity:1;
    background:rgba(255,255,255,.12)
}

/* ========= BOTÓN MENÚ COEPRISO ========= */
.btn-menu,
.btn-menu-coepriso{
    appearance:none;
    border:0;
    background:rgba(255,255,255,.331);
    color:#fff;
    border-radius:10px;
    padding:10px 12px;
    margin-right:5px;
    cursor:pointer;
    display:none;
    line-height:0;
    transition:background-color .18s ease, transform .18s ease
}

.btn-menu:active,
.btn-menu-coepriso:active{transform:scale(.98)}

.btn-menu svg,
.btn-menu-coepriso svg{
    display:block;
    height:22px;
    width:22px
}

/* ========= FRANJAS COEPRISO ========= */
.franja-patron,
.franja-patron-coepriso{
    background-image:url("../img/bg-titulo.png");
    background-size:cover;
    padding:16px 10px;
    text-align:center;
    color:#fff;
    font-weight:700;
    font-size:clamp(1rem,2.5vw,1.6rem);
    line-height:1.3;
    word-wrap:break-word;
    white-space:normal;
    border-bottom:1px solid rgba(0,0,0,.06);
    text-shadow:0 1px 2px rgba(0,0,0,.25)
}

@media (max-width:600px){
    .franja-patron,
    .franja-patron-coepriso{
        padding:18px 8px;
        font-size:1rem;
        background-size:contain
    }
}

.franja-verde,
.franja-verde-coepriso{
    height:22px;
    background:#0F3A1E;
    border-bottom:1px solid rgba(0,0,0,.06);
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)
}

/* ========= CONTENIDO PRINCIPAL ========= */
main{padding:24px 0 56px}

/* ========= RESPONSIVE COEPRISO ========= */
@media (max-width:992px){
    .logo img,
    .logo-coepriso img{height:40px}

    .logo .tx,
    .logo-coepriso .tx{font-size:16px}
}

@media (max-width:840px){
    .btn-menu,
    .btn-menu-coepriso{display:inline-flex}

    .nav ul,
    .nav-coepriso ul{
        position:fixed;
        top:86px;
        right:12px;
        left:12px;
        padding:10px;
        background:#654b53;
        border:1px solid rgba(255,255,255,.22);
        border-radius:12px;
        box-shadow:0 12px 26px rgba(0,0,0,.22);
        flex-direction:column;
        gap:4px;
        transform:translateY(-12px);
        opacity:0;
        pointer-events:none;
        transition:opacity .18s ease, transform .18s ease
    }

    .nav ul.activo,
    .nav-coepriso ul.activo{
        transform:translateY(0);
        opacity:1;
        pointer-events:auto;
        z-index:3
    }

    .nav ul li:hover,
    .nav-coepriso ul li:hover{
        background:rgba(255,255,255,.341)
    }

    .nav a,
    .nav-coepriso a{
        width:100%;
        justify-content:flex-start
    }
}

/* ========= Sección videos ========= */

.seccion-videos { margin: 22px 0 36px; }
/* Encabezado */
.videos-encabezado h2 { margin: 0 0 6px; font-size: 1.35rem; display:flex; align-items:center; gap:10px; }
.vinotinto { background:#7C1B39; }
.tx-gris-2 { color:#5a5a5a; margin:0 0 14px; }


.visor-video { padding:12px; margin-bottom:14px; }
.video-viewport { position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:10px; overflow:hidden; }
.viewer-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg, #7C1B39 0%, #0F3A1E 100%); opacity:.85; font-weight:700; }
.video-titulo { font-size:1rem; margin:10px 4px 2px; }

.grid-videos { display:grid; grid-template-columns: repeat(2, 1fr); gap:12px; }
@media (min-width:740px){ .grid-videos { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:980px){ .grid-videos { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:1280px){ .grid-videos.lg-grid-7 { grid-template-columns: repeat(6, 1fr); } }

/* Miniaturas */
.video-thumb { 
    background:#fff; border:1px solid #ececec; border-radius:10px; overflow:hidden; 
    cursor:pointer; transition:box-shadow .18s ease, transform .18s ease; padding:1em;
}
.video-thumb:hover { box-shadow:0 6px 18px rgba(0,0,0,.18); }
.video-thumb.activo { outline:2px solid #82191999; }

.thumb-viewport { position:relative; width:100%; aspect-ratio:16/9; background:#111; border-radius:8px; overflow:hidden; }
.thumb-viewport img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.06) contrast(1.02); }
.thumb-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:36px; height:36px; border-radius:999px; background:rgba(124,27,57,.95); box-shadow:0 6px 18px rgba(0,0,0,.35); }
.thumb-play::before { content:""; position:absolute; left:50%; top:50%; transform:translate(-35%,-50%); border-style:solid; border-width:8px 0 8px 12px; border-color:transparent transparent transparent #fff; }

.thumb-title { margin:8px 10px 10px; font-size:.92rem; font-weight:700; line-height:1.25; color:#202020; }

/* Accesibilidad foco teclado */
.video-thumb:focus-visible { outline:3px solid #BC955C; }

/* ========= Sección descargas ========= */
.seccion-descargas { margin:24px 0 40px; }
.descargas-encabezado h2 { margin:0 0 6px; font-size:1.35rem; display:flex; align-items:center; gap:10px; }
.vinotinto { background:#7C1B39; }
.tx-gris-2 { color:#5a5a5a; margin:0 0 14px; }
/* Grid responsivo */
.grid-docs { display:grid; grid-template-columns:repeat(1, minmax(0,1fr)); gap:14px; }
@media (min-width:720px){ .grid-docs { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){ .grid-docs { grid-template-columns:repeat(3, 1fr); } }
@media (min-width:1280px){ .grid-docs.lg-grid-4 { grid-template-columns:repeat(4, 1fr); } }

/* Tarjeta de documento */
.doc-card {
    display:grid; grid-template-columns:64px 1fr; gap:12px;
    background:#fff; border: none; border-radius:10px; padding:4px;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
    transition:box-shadow .18s ease, transform .18s ease;
}
.doc-card:hover { box-shadow:0 8px 22px rgba(0,0,0,.18);  }

.doc-icono {
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,rgb(250, 250, 255) 0%, #dad7d599 100%);
    color:#fff; font-size:26px; border-radius:10px; min-height:64px;
}

.doc-info { min-width:0; }
.doc-titulo { margin:0 0 6px; font-size:1rem; line-height:1.25; }
.doc-descr { margin:6px 0 10px; color:#404040; font-size:.93rem; }

/* Chips */
.chip {
    display:inline-flex; align-items:center; gap:6px;
    padding:4px 8px; border-radius:999px; font-size:.75rem; font-weight:700;
    border:1px solid rgba(0,0,0,.06); background:#f6f6f6; color:#1f1f1f; margin-right:6px;
}
.chip-ext { background:#eef5fb; color:#205D81; border-color:rgba(32,93,129,.25); }
.chip-dorado { background:#f8f0e3; color:#8b6a2b; border-color:#e6d7bb; }
.chip-verde { background:#e7f2ea; color:#0F3A1E; border-color:rgba(15,58,30,.25); }

/* Tipos (colores) */
.chip-tipo { color:#fff; border:none; }
.tipo-ley { background:#7C1B39; }
.tipo-reglamento { background:#205D81; }
.tipo-guia { background:#0F3A1E; }
.tipo-lineamiento { background:#849b4f; }

/* Acciones */
.doc-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:700; }
.btn-prim-1 { background:#BC955C; color:#fff; border:none; transition:background .18s ease; }
.btn-prim-1:hover { background: #a18253ff; }
.btn-link-1 { background:#D5D8DA99; color:#205D81; border:#D5D8DA; padding:10px; }
.btn-link-1:hover { text-decoration:underline; }
.doc-size { color:#6b6b6b; font-size:.85rem; }

.img-coepriso {
    width:100%;
    height:auto;
    display:block;
    margin-right:15px;
}

/* Accesibilidad */
.doc-card:focus-within { outline:3px solid #BC955C; outline-offset:2px; }

/* ========= Footer ========= */
footer{background-color:#e4e4e4;position:relative;font-size:small}footer::after{content:"";position:absolute;height:10px;width:100%;top:0;left:0;background:linear-gradient(to top,rgba(108,110,109,0) 0,rgba(108,110,109,.25) 100%)}footer li,footer ul{list-style:none;margin:0;padding:0}footer .footer{padding-top:3rem;padding-bottom:3rem;display:flex;flex-flow:row wrap;justify-content:space-between}@media (max-width:768px){footer .footer .datos{order:-2}}footer .footer .col-footer{width:100%;margin-bottom:1.5rem}@media (min-width:768px){footer .footer .col-footer{width:50%;margin-bottom:0}}@media (min-width:992px){footer .footer .col-footer{width:33.3333%}footer .footer .col-footer.datos{width:40%}footer .footer .col-footer.footer-enlaces,footer .footer .col-footer.footer-redes{width:30%}}footer .footer .col-footer>div{padding:0 1rem}footer .foot{background-color:#3e3f3c;color:rgba(255,255,255,.95);padding:1rem;text-align:center}footer .contactanos{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center}footer .contactanos .contacto{flex:1}footer .logo-footer{width:15%;margin-right:2rem}footer .contacto{list-style:none;margin-top:1.5rem;padding-left:0;color:#6c6e6d}@media (min-width:768px){footer .contacto{margin-top:0}}footer .contacto li{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:stretch;flex-flow:nowrap row;font-size:.75rem}footer .contacto li .icon{height:24px;width:24px;display:block;border-radius:50%;border:1px solid #c9caca;display:flex;align-items:center;justify-content:center}footer .contacto li i{color:#3e3f3c}footer .contacto li .contacto-info{width:calc(100% - 30px)}footer .enlaces .titulo-enlaces,footer .siguenos .titulo-siguenos{text-transform:uppercase;color:#6c6e6d;font-size:1rem; line-height: 0.5em;}footer .enlaces .enlace{display:block;border-bottom:1px solid #c9caca;color:#3e3f3c;padding:.2rem 0;font-size:.75rem;margin-bottom:.5rem;letter-spacing:.025em;font-weight:400;position:relative}footer .enlaces .enlace::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f054";position:absolute;display:flex;justify-content:center;align-items:center;right:0;top:0;height:100%;width:40px;text-align:center;color:#bcbdbd}footer .enlaces .enlace[data-bs-toggle=collapse]::before{content:"\f078"}footer .enlaces .enlace[aria-expanded=true]::before{content:"\f106"}footer .enlaces .enlace:hover{color:#0c0d0c;border-bottom:1px solid #9d2449}footer .enlaces .lista-enlaces li a{color:#6c6e6d;display:block;border-bottom:1px dotted #d7d7d7;padding:.25rem 1rem}footer .enlaces .lista-enlaces li a:hover{color:#9d2449}footer .siguenos .redes-sociales{display:flex;justify-content:start;margin-left:0}footer .siguenos .link-redes{margin:0 5px;font-size:1.15rem}footer .siguenos .link-redes i{border-radius:50%;display:flex;justify-content:center;align-items:center;height:35px;width:35px;border:1px solid #3e3f3c;color:#3e3f3c;line-height:1}footer .siguenos .link-redes i:hover{background-color:#9d2449;color:#fff;border:1px solid #9d2449}footer .emergencias{display:flex;flex-flow:row wrap;justify-content:stretch;margin-top:1rem;border-top:1px solid #d7d7d7;padding-top:1rem!important}footer .emergencias .numero{display:inline-block;background-color:#9d2449;color:#fff;font-size:2rem;font-weight:700;border-radius:1rem;width:40px;text-align:center;margin-right:.25rem;margin-bottom:.25rem}footer .emergencias .texto-emergencias{margin-left:.5rem;text-transform:uppercase;color:#6c6e6d;font-size:1.25rem;margin-bottom:0; font-weight: 700;}
/* ========== MARGIN ========== */
.m-0 { margin: 0; }
.m-1 { margin: 0.25rem; }
.m-2 { margin: 0.5rem; }
.m-3 { margin: 1rem; }
.m-4 { margin: 1.5rem; }
.mr-1 { margin-right: 0.25rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-3 { margin-right: 1rem; }
.mr-4 { margin-right: 1.5rem; }
.ml-1 { margin-left: 0.25rem; }
.ml-2 { margin-left: 0.5rem; }
.ml-3 { margin-left: 1rem; }
.ml-4 { margin-left: 1.5rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
/* ========== PADDING ========== */
.p-0 { padding: 0; }
.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 1rem; padding-bottom: 1rem; }  
.py-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 1rem; padding-right: 1rem; }
.px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pb-1 { padding-bottom: 0.25rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-3 { padding-bottom: 1rem; }
.pb-4 { padding-bottom: 1.5rem; }
.pl-1 { padding-left: 0.25rem; }
.pl-2 { padding-left: 0.5rem; }
.pl-3 { padding-left: 1rem; }
.pl-4 { padding-left: 1.5rem; }
.pr-1 { padding-right: 0.25rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-3 { padding-right: 1rem; }
.pr-4 { padding-right: 1.5rem; }


.bg-wineu-2 {
    background: #E4E1E2;
    background: -webkit-linear-gradient(to bottom, #562D3AAA, #E4E1E2);
    background: linear-gradient(to bottom, #562D3AAA, #E4E1E2);
}

.d-flex {
    display: flex;
}
.justify-content-end{ justify-content: flex-end !important; }
.justify-content-start{ justify-content: flex-start !important; }
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/* ========== GRID Y GAP ========== */
.gap-0{grid-gap:0;gap:0}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-5{grid-gap:1.25rem;gap:1.25rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-10{grid-gap:2.5rem;gap:2.5rem}.gap-12{grid-gap:3rem;gap:3rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-20{grid-gap:5rem;gap:5rem}.gap-24{grid-gap:6rem;gap:6rem}.gap-32{grid-gap:8rem;gap:8rem}.gap-40{grid-gap:10rem;gap:10rem}.gap-48{grid-gap:12rem;gap:12rem}.gap-56{grid-gap:14rem;gap:14rem}.gap-64{grid-gap:16rem;gap:16rem}.gap-px{grid-gap:1px;gap:1px}.col-gap-0,.gap-x-0{grid-column-gap:0;column-gap:0}.col-gap-1,.gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.col-gap-2,.gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.col-gap-3,.gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.col-gap-4,.gap-x-4{grid-column-gap:1rem;column-gap:1rem}.col-gap-5,.gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.col-gap-6,.gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.col-gap-8,.gap-x-8{grid-column-gap:2rem;column-gap:2rem}.col-gap-10,.gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.col-gap-12,.gap-x-12{grid-column-gap:3rem;column-gap:3rem}.col-gap-16,.gap-x-16{grid-column-gap:4rem;column-gap:4rem}.col-gap-20,.gap-x-20{grid-column-gap:5rem;column-gap:5rem}.col-gap-24,.gap-x-24{grid-column-gap:6rem;column-gap:6rem}.col-gap-32,.gap-x-32{grid-column-gap:8rem;column-gap:8rem}.col-gap-40,.gap-x-40{grid-column-gap:10rem;column-gap:10rem}.col-gap-48,.gap-x-48{grid-column-gap:12rem;column-gap:12rem}.col-gap-56,.gap-x-56{grid-column-gap:14rem;column-gap:14rem}.col-gap-64,.gap-x-64{grid-column-gap:16rem;column-gap:16rem}.col-gap-px,.gap-x-px{grid-column-gap:1px;column-gap:1px}.gap-y-0,.row-gap-0{grid-row-gap:0;row-gap:0}.gap-y-1,.row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.gap-y-2,.row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.gap-y-3,.row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.gap-y-4,.row-gap-4{grid-row-gap:1rem;row-gap:1rem}.gap-y-5,.row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.gap-y-6,.row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.gap-y-8,.row-gap-8{grid-row-gap:2rem;row-gap:2rem}.gap-y-10,.row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.gap-y-12,.row-gap-12{grid-row-gap:3rem;row-gap:3rem}.gap-y-16,.row-gap-16{grid-row-gap:4rem;row-gap:4rem}.gap-y-20,.row-gap-20{grid-row-gap:5rem;row-gap:5rem}.gap-y-24,.row-gap-24{grid-row-gap:6rem;row-gap:6rem}.gap-y-32,.row-gap-32{grid-row-gap:8rem;row-gap:8rem}.gap-y-40,.row-gap-40{grid-row-gap:10rem;row-gap:10rem}.gap-y-48,.row-gap-48{grid-row-gap:12rem;row-gap:12rem}.gap-y-56,.row-gap-56{grid-row-gap:14rem;row-gap:14rem}.gap-y-64,.row-gap-64{grid-row-gap:16rem;row-gap:16rem}.gap-y-px,.row-gap-px{grid-row-gap:1px;row-gap:1px}.grid{display:grid}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}@media (width < 600px) and (width > 320px){.sm-w-5{width:5%}.sm-w-10{width:10%}.sm-w-15{width:15%}.sm-w-1\/5,.sm-w-20{width:20%}.sm-w-1\/4,.sm-w-25{width:25%}.sm-w-30{width:30%}.sm-w-35{width:35%}.sm-w-2\/5,.sm-w-40{width:40%}.sm-w-45{width:45%}.sm-w-1\/2,.sm-w-50{width:50%}.sm-w-55{width:55%}.sm-w-3\/5,.sm-w-60{width:60%}.sm-w-65{width:65%}.sm-w-70{width:70%}.sm-w-3\/4,.sm-w-75{width:75%}.sm-w-4\/5,.sm-w-80{width:80%}.sm-w-85{width:85%}.sm-w-90{width:90%}.sm-w-95{width:95%}.sm-w-1\/3{width:33.333333%}.sm-w-2\/3{width:66.666667%}.sm-w-1\/6{width:16.666667%}.sm-w-5\/6{width:83.333333%}.sm-w-1\/12{width:8.333333%}.sm-w-100{width:100%}.sm-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm-col-span-1{grid-column:span 1/span 1}.sm-col-span-2{grid-column:span 2/span 2}.sm-col-span-3{grid-column:span 3/span 3}.sm-col-span-4{grid-column:span 4/span 4}.sm-col-span-5{grid-column:span 5/span 5}.sm-col-span-6{grid-column:span 6/span 6}.sm-col-span-7{grid-column:span 7/span 7}.sm-col-span-8{grid-column:span 8/span 8}.sm-col-span-9{grid-column:span 9/span 9}.sm-col-span-10{grid-column:span 10/span 10}.sm-col-span-11{grid-column:span 11/span 11}.sm-col-span-12{grid-column:span 12/span 12}.sm-col-span-full{grid-column:1/-1}.sm-col-start-1{grid-column-start:1}.sm-col-start-2{grid-column-start:2}.sm-col-start-3{grid-column-start:3}.sm-col-start-4{grid-column-start:4}.sm-col-start-5{grid-column-start:5}.sm-col-start-6{grid-column-start:6}.sm-col-start-7{grid-column-start:7}.sm-col-start-8{grid-column-start:8}.sm-col-start-9{grid-column-start:9}.sm-col-start-10{grid-column-start:10}.sm-col-start-11{grid-column-start:11}.sm-col-start-12{grid-column-start:12}.sm-col-start-auto{grid-column-start:auto}}@media (width > 600px){▼ .md-w-5{width:5%}.md-w-10{width:10%}.md-w-15{width:15%}.md-w-1\/5,.md-w-20{width:20%}.md-w-1\/4,.md-w-25{width:25%}.md-w-30{width:30%}.md-w-35{width:35%}.md-w-2\/5,.md-w-40{width:40%}.md-w-45{width:45%}.md-w-1\/2,.md-w-50{width:50%}.md-w-55{width:55%}.md-w-3\/5,.md-w-60{width:60%}.md-w-65{width:65%}.md-w-70{width:70%}.md-w-3\/4,.md-w-75{width:75%}.md-w-4\/5,.md-w-80{width:80%}.md-w-85{width:85%}.md-w-90{width:90%}.md-w-95{width:95%}.md-w-1\/3{width:33.333333%}.md-w-2\/3{width:66.666667%}.md-w-1\/6{width:16.666667%}.md-w-5\/6{width:83.333333%}.md-w-1\/12{width:8.333333%}.md-w-100{width:100%}.md-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md-grid-cols-20{grid-template-columns:repeat(20,minmax(0,1fr))}.md-col-span-1{grid-column:span 1/span 1}.md-col-span-2{grid-column:span 2/span 2}.md-col-span-3{grid-column:span 3/span 3}.md-col-span-4{grid-column:span 4/span 4}.md-col-span-5{grid-column:span 5/span 5}.md-col-span-6{grid-column:span 6/span 6}.md-col-span-7{grid-column:span 7/span 7}.md-col-span-8{grid-column:span 8/span 8}.md-col-span-9{grid-column:span 9/span 9}.md-col-span-10{grid-column:span 10/span 10}.md-col-span-11{grid-column:span 11/span 11}.md-col-span-12{grid-column:span 12/span 12}.md-col-span-full{grid-column:1/-1}.md-col-start-1{grid-column-start:1}.md-col-start-2{grid-column-start:2}.md-col-start-3{grid-column-start:3}.md-col-start-4{grid-column-start:4}.md-col-start-5{grid-column-start:5}.md-col-start-6{grid-column-start:6}.md-col-start-7{grid-column-start:7}.md-col-start-8{grid-column-start:8}.md-col-start-9{grid-column-start:9}.md-col-start-10{grid-column-start:10}.md-col-start-11{grid-column-start:11}.md-col-start-12{grid-column-start:12}.md-col-start-auto{grid-column-start:auto}}@media (width > 1024px){▼ .lg-w-5{width:5%}.lg-w-10{width:10%}.lg-w-15{width:15%}.lg-w-1\/5,.lg-w-20{width:20%}.lg-w-1\/4,.lg-w-25{width:25%}.lg-w-30{width:30%}.lg-w-35{width:35%}.lg-w-2\/5,.lg-w-40{width:40%}.lg-w-45{width:45%}.lg-w-1\/2,.lg-w-50{width:50%}.lg-w-55{width:55%}.lg-w-3\/5,.lg-w-60{width:60%}.lg-w-65{width:65%}.lg-w-70{width:70%}.lg-w-3\/4,.lg-w-75{width:75%}.lg-w-4\/5,.lg-w-80{width:80%}.lg-w-85{width:85%}.lg-w-90{width:90%}.lg-w-95{width:95%}.lg-w-1\/3{width:33.333333%}.lg-w-2\/3{width:66.666667%}.lg-w-1\/6{width:16.666667%}.lg-w-5\/6{width:83.333333%}.lg-w-1\/12{width:8.333333%}.lg-w-100{width:100%}.lg-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg-grid-cols-20{grid-template-columns:repeat(20,minmax(0,1fr))}.lg-col-span-1{grid-column:span 1/span 1}.lg-col-span-2{grid-column:span 2/span 2}.lg-col-span-3{grid-column:span 3/span 3}.lg-col-span-4{grid-column:span 4/span 4}.lg-col-span-5{grid-column:span 5/span 5}.lg-col-span-6{grid-column:span 6/span 6}.lg-col-span-7{grid-column:span 7/span 7}.lg-col-span-8{grid-column:span 8/span 8}.lg-col-span-9{grid-column:span 9/span 9}.lg-col-span-10{grid-column:span 10/span 10}.lg-col-span-11{grid-column:span 11/span 11}.lg-col-span-12{grid-column:span 12/span 12}.lg-col-span-full{grid-column:1/-1}.lg-col-start-1{grid-column-start:1}.lg-col-start-2{grid-column-start:2}.lg-col-start-3{grid-column-start:3}.lg-col-start-4{grid-column-start:4}.lg-col-start-5{grid-column-start:5}.lg-col-start-6{grid-column-start:6}.lg-col-start-7{grid-column-start:7}.lg-col-start-8{grid-column-start:8}.lg-col-start-9{grid-column-start:9}.lg-col-start-10{grid-column-start:10}.lg-col-start-11{grid-column-start:11}.lg-col-start-12{grid-column-start:12}.lg-col-start-auto{grid-column-start:auto}}

/* =========================================================
   AOS – Ajustes institucionales y UX
   ========================================================= */

/* 1. EASING global más natural */
[data-aos] {
  transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* ---------------------------------------------------------
   2. Duraciones semánticas
   --------------------------------------------------------- */
.aos-fast {
  transition-duration: 300ms !important;
}
.aos-normal {
  transition-duration: 600ms !important;
}
.aos-slow {
  transition-duration: 900ms !important;
}

/* ---------------------------------------------------------
   3. Offsets verticales más sutiles
   --------------------------------------------------------- */
[data-aos="fade-up"] {
  transform: translate3d(0, 16px, 0);
}
[data-aos="fade-down"] {
  transform: translate3d(0, -16px, 0);
}
[data-aos="fade-left"] {
  transform: translate3d(16px, 0, 0);
}
[data-aos="fade-right"] {
  transform: translate3d(-16px, 0, 0);
}

/* ---------------------------------------------------------
   4. Evitar interacción mientras anima
   --------------------------------------------------------- */
[data-aos]:not(.aos-animate) {
  pointer-events: none;
}
[data-aos].aos-animate {
  pointer-events: auto;
}

/* ---------------------------------------------------------
   5. Variante SOFT (institucional / RH / salud)
   --------------------------------------------------------- */
[data-aos="fade-soft"] {
  opacity: 0;
  transform: translateY(10px);
}
[data-aos="fade-soft"].aos-animate {
  opacity: 1;
  transform: translateY(0);
}

/* ---------------------------------------------------------
   6. Delay automático para grids
   --------------------------------------------------------- */
.grid > *:nth-child(1) { transition-delay: 0ms; }
.grid > *:nth-child(2) { transition-delay: 80ms; }
.grid > *:nth-child(3) { transition-delay: 160ms; }
.grid > *:nth-child(4) { transition-delay: 240ms; }
.grid > *:nth-child(5) { transition-delay: 320ms; }
.grid > *:nth-child(6) { transition-delay: 400ms; }

/* ---------------------------------------------------------
   7. Zoom más elegante (menos agresivo)
   --------------------------------------------------------- */
[data-aos="zoom-in"] {
  transform: scale(.96);
}
[data-aos="zoom-in"].aos-animate {
  transform: scale(1);
}

/* ---------------------------------------------------------
   8. Accesibilidad – reducir movimiento
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ---------------------------------------------------------
   9. Modo sistema: desactivar animaciones
   --------------------------------------------------------- */
body.no-animations [data-aos] {
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
}
/* ----------------------------------------------------------
    TRAPECIO COEPRISO
   --------------------------------------------------------- */
.trapecio-coepriso{
    position:relative;
    top:-20px; 
    width:85%; 
    margin:auto;
    height:clamp(50px,6vw,80px);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:clamp(16px,2vw,26px);
    font-weight:600;
    background:linear-gradient(
        180deg,
        #5b8ed0 0%,
        #2f5f96 45%,
        #173a66 100%
    );
    clip-path:polygon(
        0 0,
        100% 0,
        92% 100%,
        8% 100%
    );

}
.trapecio-coepriso::after{
    content:"";
    position:absolute;
    inset:0;
    clip-path:inherit;
    box-shadow:0 12px 20px rgba(0,0,0,0.35);
    z-index:-1;
}
.trapecio-coepriso::before{
    content:"";
    position:absolute;
    inset:0;
    clip-path:inherit;
    background:linear-gradient(
        to bottom,
        rgba(255,255,255,0.25),
        rgba(255,255,255,0)
    );
}