html {text-rendering: optimizeLegibility!important;-webkit-font-smoothing: antialiased!important;scroll-behavior: smooth;}
body {background-color: #1a1a1a;font-family: "barlow", sans-serif;color: #333;}
* {box-sizing:border-box;}

a,a:HOVER {text-decoration: none;transition: all 0.3s ease;}
a:hover {opacity: 0.85;transform: translateY(-1px);}
a:active {opacity: 0.7;}
h1,h2,h3,h4,h5,h6 {font-family:'area-extended';}

/* Header mejorado */
header {
    background: linear-gradient(135deg, #e6b62e 0%, #f5c644 100%);
    position: fixed;
    top: 0px;
    z-index: 99;
    width: 100vw;
    transition: all .3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
}
header #logo {
    position:absolute;
    right:0;
    transform: translateY(-80%);
    top: 100%;
    transition: all 0.3s ease;
}
header #logo-mobile {display: none;}
header #logo img {height: 60px;transition: all .3s ease;}
header div {width: 100%;margin: 0 auto;padding: 0;}
header #hamburger {display: none;}

#menu > .container {text-align: left;padding: 0;position: relative;}
#menu .bloques-menu {
    display: inline-block;
    width: 38%;
    padding: 1em 0;
    vertical-align: middle;
}
#menu .bloques-menu.logo {display: inline-block;width: 18%;padding: 0;vertical-align: middle;}
header div a,header div span {
    margin: auto 13px;
    color: #111 !important;
    font-size: 14px;
    display: inline;
    vertical-align: middle;
    transition: all .3s ease;
    font-weight: 600;
    position: relative;
}
header div a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -3px;
    left: 50%;
    background-color: #111;
    transition: all 0.3s ease;
    transform: translateX(-50%);
}
header div a:hover::after {
    width: 80%;
}
header div a#inscripcion-boton {
    background: #111;
    color: #e6b62e !important;
    padding: 8px 18px;
    border-radius: 24px;
    font-weight: 700;
    transition: all 0.3s ease;
}
header div a#inscripcion-boton::after {display: none;}
header div a#inscripcion-boton:hover {
    background: #000;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
header div a img {transition: opacity .3s ease;}
header div a:HOVER {color: #000;}
header div a:HOVER img {opacity: 1;}
.nav-up {top: 0;transition: .3s;}
.nav-up a img {height: 36px!important}

/* Landing mejorado */
#landing {
    padding: 0;
    height: 80vh;
    margin-top: 50px;
    position: relative;
    overflow: hidden;
}

#landing>#landingbgs {
    animation: landingbg 2s ease-in-out;
    height: 100%;
    position: relative;
}
#landing .landingbg {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -100;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    filter: brightness(0.85);
    transition: opacity 1s ease;
}

#landing #titulo {
    color: #fac90d;
    font-size: 30px;
    position: absolute;
    z-index: 100;
    bottom: 5vh;
    display: none;
    text-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
#landing #redes {display:none;}
#landing #scroll {display:none;}
#landing #leyenda {
    color: #fff !important;
    font-size: 11px;
    position: absolute;
    bottom: 4vh;
    left: 4vw;
    z-index: 50;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    background: rgba(0,0,0,0.3);
    padding: 8px 12px;
    border-radius: 6px;
}
#landing #leyenda a {color: #fff !important;}


#landing #comprarentradas {
    position:absolute;
    bottom: 4vh;
    right: 4vw;
    background: rgba(33, 33, 33, 0.95);
    backdrop-filter: blur(10px);
    padding: 9px 15px 9px 30px;
    color: white;
    z-index: 50;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}
#landing #comprarentradas:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}
#landing #comprarentradas > svg{
    position: absolute;
    left: 14px;
    top: 50%;
    transform:translateY(-50%) rotate(45deg);
    font-size: 35px;
    color: #46a1f5;
}
#landing #comprarentradas h5 {font-weight:bold;margin-bottom: 0px;font-size: 12px;line-height: 1;margin-right: 1rem;display: inline-block;}
#landing #comprarentradas a {
    display: inline-block;
    font-weight:700;
    font-size: 15px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #e5b62e 0%, #f5c644 100%);
    color: #1a1a1a !important;
    border-radius: 8px;
    width: auto;
    line-height: 1;
    transition: all 0.3s ease;
}
#landing #comprarentradas a:hover {
    background: linear-gradient(135deg, #f5c644 0%, #ffd666 100%);
    transform: translateX(2px);
}

/* Steps y contenido */
.step {padding: 60px 0 90px;}
h1 {
    padding: 10px 44px;
    margin-bottom: 0;
    text-align: left;
    font-size: 50px;
    font-weight: bold;
    color: #eee;
    letter-spacing: -0.02em;
}
h2 {
    padding: 10px 44px;
    margin-bottom: 0;
    text-align: left;
    font-size: 50px;
    font-weight: bold;
    color: #eee;
    letter-spacing: -0.02em;
}
h3 {
    padding: 0px 44px;
    margin-bottom: 30px;
    color: #999;
    margin-top: 0;
    font-size: 20px;
    line-height: 1.5;
}

/* Evento */
#evento {
    background: linear-gradient(rgba(28, 28, 28, 0.95), rgba(28, 28, 28, 0.95)), 
                url(../img/bg_pattern3.png) center center fixed;
    width: 100%;
}
.step .caja {
    background-color: #fff;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #2a2a2a;
    border-bottom: 4px solid #F1C40F;
    padding: 25px 30px 0;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}
.step .caja:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}
.step .caja h4 {
    margin: 30px 0 10px;
    font-weight: 700;
    font-size: 20px;
    color: #dbaf00 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.step .caja h5{
    font-weight:bold;
    margin: 10px 0 5px;
    line-height: 1.3;
    text-wrap: pretty;
}
.step .caja p {
    text-align: left;
    font-size: 14px;
    margin: 0 0 10px;
    line-height: 1.6;
}
.step .caja a#evento-link-inscripcion {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    padding: 12px 24px;
    border-radius: 24px;
    color: white !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    text-decoration:none;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.step .caja a#evento-link-inscripcion:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

/* Organizadores mejorados */
#organizadores {text-wrap: balance;}
#organizadores .org {
    width: 180px;
    margin: 0 20px 20px 0;
    position: relative;
    vertical-align: top;
    transition: all 0.3s ease;
    display: inline-block;
}
#organizadores .org:hover {
    transform: translateY(-4px);
}
#organizadores .org h5 {
    font-size: 14px;
    font-family: 'area-extended';
    height: 2lh;
    margin-bottom: 8px;
}
#organizadores .org>a>h5 {
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    color: #fff;
    text-align: center !important;
    transition: all .3s ease;
    z-index: 100;
    margin: 0 !important;
}
#organizadores .org:has(a[href]:not([href=""])):hover a:before {
    content:"";
    background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.7) 100%);
    opacity:1;
    position:absolute;
    inset:0;
    border-radius: 12px;
    transition: all 0.3s ease;
}
#organizadores .org:has(a[href]:not([href=""])):hover a:after {
    content: "VER MÃS";
    position:absolute;
    font-weight: 600;
    top:50%;
    left:0;
    width:100%;
    text-align:center;
    font-size: 16px;
    line-height: 1;
    transform:translateY(-50%);
    color:white;
    z-index: 1;
}
#organizadores .org a>img {
    width: 100%;
    border-radius: 12px;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
#organizadores .org:has(a[href]:not([href=""])):hover img {
    opacity: .3;
}

#evento-epav {margin-top: 30px;display: block;}
#org-epav {display:block;width:480px;margin:20px 0 0;}
#org-epav h5 {color:#222;background-color:unset;}
#org-epav img {display:block;width:100%;}

#evento-escribinos {margin-top: 30px;}
#evento-escribinos a {text-decoration: underline;}

/* Exponentes */
#exponentes {
    position: relative;
    padding: 0;
    background: linear-gradient(180deg, #1a1a1a 0%, #212121 100%);
    text-align: center;
}
#exponentes h2 {margin: 50px 0 20px;}
.exponentes {
    display: inline-block;
    width: calc(100%/3);
    margin: 0px -2px -5px;
    top: 0;
    height: calc(100vw/15*3);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
}
.exponentes:hover {
    transform: scale(1.02);
    z-index: 10;
}
.exponentes > h4 {
    text-align: center;
    font-size: 20px;
    color: #fff;
    background: rgba(17, 17, 17, 0.9);
    backdrop-filter: blur(8px);
    display: inline-block;
    margin: 0;
    transition: all 0.4s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    max-width: 80%;
    padding: 10px 16px;
    transform: translate(-50%,-50%);
    font-weight: 700;
    text-transform: uppercase;
    white-space: normal;
    border-radius: 8px;
}
.exponentes:hover h4 {
    top: 36%;
    color: #fac90d;
    background: rgba(17, 17, 17, 0.95);
}
.exponentes > h5 {
    text-align: center;
    color: #fff;
    width: auto;
    max-width: 80%;
    position: absolute;
    top: 61%;
    padding: 8px 12px;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
    opacity: 0;
    font-size: 16px;
    background: rgba(0,0,0,0.9);
    backdrop-filter: blur(8px);
    border-radius: 6px;
    transition: all 0.3s ease;
}
.exponentes .bg {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 100%);
    transition: all .3s ease;
}
.exponentes:hover .bg {
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.8) 100%);
}
.exponentes:hover h5 {opacity: 1;}

/* Modal mejorado */
.exponentes-modal {position: fixed;display: block;left: 50%;top: 70%;transform: translate(-50%,-50%);opacity: 0;visibility: hidden;background: linear-gradient(135deg, #2a2a2a 0%, #1e1e1e 100%);z-index: 1000;width: 720px;box-shadow: 0 20px 60px rgba(0,0,0,0.5);transition: all .4s cubic-bezier(0.4, 0, 0.2, 1);padding: 0 0 10px;overflow: hidden;text-align: left;color: white;border-radius: 16px;}
.exponentes-modal.open {opacity: 1;visibility: visible;top: 50%;}
.exponentes-modal .exponentes-modal-info {position: relative;width: 100%;aspect-ratio: 16/7;margin: 0 0 1em;background-size:cover;background-position:center;border-radius: 16px 16px 0 0;overflow: hidden;}
.exponentes-modal .cerrar {position: absolute;right: -1px;top: 0px;padding: 8px 15px;font-size: 18px;font-weight: 700;line-height: 1;color: white;background-color: #222;border-radius: 0 0 0 2px;cursor: pointer;z-index: 1002;transition: all 0.3s ease;}
.exponentes-modal .cerrar:hover {background-color:#111;}
.exponentes-modal .cerrar:active {background-color:#000;}
.exponentes-modal h4 {color: #fff;position: absolute;bottom: 27px;left: 20px;font-weight: 700;background: rgba(6,6,6,0.9);backdrop-filter: blur(8px);padding: 8px 14px;border-radius: 8px;}
.exponentes-modal .detalle #detalle-text {max-height: 40vh;overflow: auto;padding-right: 8px;}
.exponentes-modal .detalle #detalle-text::-webkit-scrollbar {width: 6px;}
.exponentes-modal .detalle #detalle-text::-webkit-scrollbar-track {background: rgba(255,255,255,0.1);border-radius: 3px;}
.exponentes-modal .detalle #detalle-text::-webkit-scrollbar-thumb {background: rgba(255,255,255,0.3);border-radius: 3px;}
.modal-link {display: inline-block;color: #fac90d;padding: 0.5em 0;text-decoration: underline;font-weight: 600;margin: 7px 1em 0 0;transition: all 0.3s ease;}
.modal-link:hover {color: #ffd666;}
.modal-bg {background-color: rgba(0, 0, 0, 0.85);backdrop-filter: blur(4px);width: 100vw;height: 100vh;position: fixed;left: 0;top: 0;z-index: 100;visibility: hidden;opacity: 0;transition: all .3s ease;}
.modal-bg.active {visibility: visible;opacity: 1;}

.exponentes-modal h5 {margin: 20px 0 5px 0px;padding: 8px 8px 4px;font-size: 15px;position: absolute;left: 20px;line-height: 1;bottom: 20px;border-radius: 3px;color:white;display:inline-block;background-color:#060606;}
.exponentes-modal .detalle {padding: 20px;position: relative;z-index: 1001;line-height: 1.5;color: white;font-size: 13px;/* overflow: auto; *//* white-space: pre-line; */width: 100%;/* padding: 0 20px; */margin: 0 auto;/* height: 100%; *//* max-height: 50vh; */overflow: auto;}
.exponentes-modal .detalle p {}
.exponentes-modal .detalle ul {padding-left:1em;}
.exponentes-modal .detalle #detalle-text-detalle a {color:white;text-decoration:underline;}
.exponentes-modal .detalle #detalle-text {max-height: 40vh;overflow: auto;}
.exponentes-modal.workshop,
.exponentes-modal.pw p {}
.exponentes-modal.conferencia p {height: 52vh}
.exponentes-modal h3 {color: #fff;position: absolute;bottom: 27px;left: 20px;font-weight: bold;border-radius: 3px;background-color: #060606;padding: 5px 8px;}

.exponentes-modal .inscribirse-ws {position: relative;margin: 0 auto;font-weight: bold;color: #dbaf00;}
.exponentes-modal .inscribirse-ws a {background-color: #dbaf00 !important;color: #222;padding: 0.6em 0.8em;font-size: 13px;margin: 1em 0 0;line-height: 1.2;font-weight: 700;border-radius: 1.4em;display: inline-block;transition: 0s;}
.exponentes-modal .inscribirse-ws a:hover {background-color: hsl(48 100% 45% / 1) !important;}
.exponentes-modal .inscribirse-ws a:active {background-color: hsl(48 100% 40% / 1) !important;}

/* Agenda */
#agenda {
    background: linear-gradient(180deg, #212121 0%, #1a1a1a 100%);
}
#agenda a[href="inscripcion"] {
    color: #fac90d;
    font-weight: 600;
}
#agenda .entrada {
    display: block;
    font-size: 17px;
    letter-spacing: .02em;
    position: relative;
    cursor: pointer;
    color:white;
    transition: all 0.3s ease;
}
#agenda .entrada.conferencia{
    border: 1px solid #444;
    margin: -1px 0 0;
    padding: 20px 0 20px 1.5%;
    border-radius: 8px;
}
#agenda .entrada.otro{border-top: 1px solid #444;border-bottom: 1px solid #444;margin: -1px 0 0;padding: 20px 0 20px 1.5%;cursor: default;}
#agenda .entrada.workshop{
    border: 1px solid #444;
    margin: -1px -1px 0 0px;
    width: 33.4%;
    padding: 20px;
    height: 180px;
    vertical-align:top;
    display:inline-block;
    border-radius: 8px;
}
#agenda .entrada.conferencia:hover,
#agenda .entrada.workshop:hover {
    background: linear-gradient(135deg, #2a2a2a 0%, #252525 100%);
    border-color: #333;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
#agenda .hora {
    display: block;
    color: #888;
    font-weight:700;
    font-size: 14px;
}
#agenda .titulo {
    color: #ccc;
    font-size: 16px;
    text-wrap: pretty;
    line-height: 1.1;
    margin: 4px 0;
}
#agenda .entrada .nombre{
    font-size: inherit;
    color: #aaa;
}

/* Sponsors */
#sponsors {
    background: linear-gradient(180deg, #1a1a1a 0%, #212121 100%);
}
#sponsors h2 {text-align:center;padding: 0;}
#sponsors h2+p {
    text-align:center;
    color:#999;
    margin:1em 0;
}
#sponsors .sponsors {text-align: center;}
#sponsors .sponsors a {
    width: 24%;
    margin: 3em 0;
    transition: all .3s ease;
    display: inline-block;
    padding: 0 2em;
    filter: brightness(0.9);
}
#sponsors .sponsors a:hover {
    filter: brightness(1.1);
    transform: translateY(-4px);
}
#sponsors .sponsors a img {
    width: 150px;
}

/* Scrollbar personalizado */
::-webkit-scrollbar {width: 10px;}
::-webkit-scrollbar-track {background: rgba(255,255,255,0.05);}
::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.2);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.3);
}

/* Animaciones */
@keyframes landingbg {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

@keyframes scroll{
    0% {opacity: 1}
    100% {opacity: 0;transform: translateY(36px);}
}

/* Media Queries */
@media (min-width:1200px) {
    .exponentes {
        width: calc(100%/3) !important;
        height: calc(100vw/30*6);
    }
}

@media (max-width:768px) {
    header {height: 50px;}
    header #menu {
        width: 100%;
        padding: 2vh 0 0;
        position: relative;
        top: -100vh;
        height: 100vh;
        z-index: 0;
        transition: all .4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    header #menu.abierto {
        top: 0;
        z-index: 100;
        padding: 0;
        background: linear-gradient(135deg, #1a1a1a 0%, #212121 100%);
        position: relative;
    }
    header #menu.abierto .container {height:100%;}
    header #menu .bloques-menu {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    header #menu.abierto .bloques-menu {
        height:100%;
        padding: 3em 0 0;
    }
    header #menu.abierto a:not(#logo) {
        display:block;
        color: white !important;
    }
    header #menu a {
        display: block;
        line-height: normal;
        margin: 2vh 0;
        padding: 1vh 0;
        width: 100%;
        display: none;
    }
    header #logo-mobile {
        position:absolute;
        top: 75%;
        left: 10px;
        transform: translateY(-50%);
        display: block;
    }
    header #logo-mobile img {height: 50px;}
    header #hamburger {
        display: block;
        width: auto;
        position:absolute;
        top:50%;
        right:10px;
        transform:translateY(-50%);
        font-size: 24px;
        line-height: 1;
        padding: 5px;
        z-index: 101;
        color: #1a1a1a;
        transition: all 0.3s ease;
    }
    header #menu.abierto ~ #hamburger {
        color: white;
    }
    
    .container {width: 100vw !important;padding: 0;}
    h1 {font-size: 28px;padding: 0;margin: 0px 0 10px !important;text-align: center;}
    h2 {font-size: 28px;padding: 0;margin: 0px 0 10px !important;text-align: center;}
    
    #landing {height: auto;padding-top: 0;}
    #landing>#landingbgs{
        height: 50vw;
        background-size: 100%;
        background-position: center;
    }
    #landing .landingbg {background-attachment: unset;}
    #landing #comprarentradas {
        position:relative;
        right: unset;
        bottom: unset;
        padding: 12px 20px;
        text-align: right;
        white-space: nowrap;
        border-radius: 0;
    }
    
    .step {padding: 40px 0;}
    .step .caja {
        padding: 15px 20px 0;
        border-radius: 8px;
    }
    
    .exponentes {
        width: calc(100%/2);
        height: calc(100vw/12*4);
    }
    .exponentes-modal {
        width: 92vw;
        border-radius: 12px;
    }
    #agenda {}
    #agenda .entrada {
        padding: 10px !important;
        font-size: 13px;
        border-color: #444;
    }
    #agenda .entrada.otro {border-color: #444;}
    #agenda .entrada.workshop {
        width:50%;
        height: 110px;
        border-color: #444;
    }
    #agenda .entrada.conferencia {
        border-color: #444;
    }

    #evento {
        margin-top: 0;
        padding-top: 0;
    }
    #evento .caja {padding-top: 2rem;}
    
    #organizadores .org {
        width: 31%;
        display: inline-block;
        margin: 0px 1% 30px;
    }
    #organizadores .org .org-nombre {
        margin: 0 0 1vw!important;
        font-size: 12px;
    }
    
    #sponsors .sponsors a {
        width: 28%;
        margin: 4px;
    }
    #sponsors .sponsors a img {width:100%;}

    #org-epav {
        width:100%;
    }
}