
/* 7BioActivz Events & Exhibitions - clean event list styles */

.bio-events-list{
    display:flex;
    flex-direction:column;
    gap:30px;
    width:100%;
    font-family:inherit;
}

.bio-event-card{
    display:block;
    width:100%;
    border:1px solid #e4e9e5;
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 12px 35px rgba(17,55,37,.08);
}

.bio-event-content{
    width:100%;
    box-sizing:border-box;
    padding:30px;
}

.bio-event-copy{
    width:100%;
    padding:0 0 22px;
}

.bio-event-number{
    display:block;
    font-size:11px;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.15em;
    color:#91bd45;
    font-weight:800;
}

.bio-event-copy h3{
    margin:8px 0 0;
    font-family:inherit;
    font-size:30px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:-.025em;
}

/* Carousel viewport */
.bio-event-gallery-wrap{
    position:relative;
    display:block;
    width:100%;
    overflow:hidden;
    border-radius:14px;
    background:#f4f7f3;
}

/* Track is widened by JS when there are more than 3 images */
.bio-event-gallery-track{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    width:100%;
    margin:0;
    padding:0;
    transition:transform .45s ease;
    will-change:transform;
}

/* Default: exactly 3 columns */
.bio-event-list-photo{
    display:block;
    flex:0 0 33.333333%;
    width:33.333333%;
    min-width:33.333333%;
    height:auto;
    aspect-ratio:4 / 3;
    box-sizing:border-box;
    padding:0 8px 0 0;
    margin:0;
    overflow:hidden;
}

.bio-event-list-photo:last-child{
    padding-right:0;
}

.bio-event-list-photo img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    margin:0;
    object-fit:cover;
}

/* Slider arrows */
.bio-event-gallery-prev,
.bio-event-gallery-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:10;
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#104d7d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:25px;
    line-height:1;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.bio-event-gallery-prev{left:12px}
.bio-event-gallery-next{right:12px}

.bio-event-gallery-prev:hover,
.bio-event-gallery-next:hover{
    background:#0b416c;
}

/* Description after gallery */
.bio-event-list-description{
    width:100%;
    margin:22px 0 0;
    color:#68736c;
    font-family:inherit;
    font-size:15px;
    line-height:1.65;
}

.bio-event-list-description p{
    margin:0;
}

/* Location + date */
.bio-event-bottom{
    display:block;
    width:100%;
    padding-top:20px;
}

.bio-event-bottom .bio-event-meta{
    margin:0 0 18px;
}

/* Button below location/date */
.bio-event-button-row{
    display:block;
    width:100%;
}

.bio-event-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    width:162px;
    height:50px;
    padding:0 16px;
    box-sizing:border-box;
    background:#104d7d;
    color:#fff!important;
    border:0;
    border-radius:9px;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none!important;
    transition:background-color .25s ease,transform .25s ease;
}

.bio-event-btn:hover{
    background:#0b416c;
    color:#fff!important;
    transform:translateY(-1px);
}

.bio-event-btn .bio-event-arrow{
    width:12px;
    height:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:0;
}

.bio-event-btn .bio-event-arrow svg{
    display:block;
    width:12px;
    height:12px;
}

/* Single event page */
.bio-event-single-head{
    background:#f4f7f3;
    padding:65px max(20px,calc((100% - 1180px)/2)) 55px;
}

.bio-event-single-head h1{
    font-family:inherit;
    font-size:clamp(38px,5vw,64px);
    line-height:1.05;
    font-weight:700;
    letter-spacing:-.045em;
    margin:0 0 13px;
    max-width:900px;
}

.bio-event-back{
    display:inline-block;
    color:#1d5b3a;
    font-weight:700;
    margin-bottom:25px;
}

.bio-event-single-meta{
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    color:#1d5b3a;
}

.bio-event-single-body{
    width:min(1180px,calc(100% - 40px));
    margin:auto;
    padding:65px 0 90px;
}

.bio-event-description{
    max-width:820px;
    font-family:inherit;
    font-size:18px;
    line-height:1.65;
    color:#536059;
    margin-bottom:40px;
}

.bio-event-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.bio-event-photo{
    display:block;
    aspect-ratio:4/3;
    border-radius:16px;
    overflow:hidden;
    background:#f4f7f3;
}

.bio-event-photo-featured{
    grid-column:span 2;
    aspect-ratio:16/8.5;
}

.bio-event-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* Responsive */
@media(max-width:800px){
    .bio-event-content{padding:22px}
    .bio-event-list-photo{
        flex-basis:50%;
        width:50%;
        min-width:50%;
    }
    .bio-event-bottom .bio-event-meta{
    margin:0 0 18px;
}
}

@media(max-width:600px){
    .bio-event-content{padding:16px}
    .bio-event-list-photo{
        flex-basis:100%;
        width:100%;
        min-width:100%;
        padding-right:0;
    }
    .bio-event-copy h3{font-size:25px}
    .bio-event-single-head{padding:50px 14px 42px}
    .bio-event-single-body{width:calc(100% - 28px);padding:45px 0 65px}
    .bio-event-gallery{grid-template-columns:1fr}
    .bio-event-photo-featured{grid-column:auto;aspect-ratio:4/3}
}

/* v1.0.12 STRICT 3-COLUMN CAROUSEL */
.bio-events-list .bio-event-gallery-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    position:relative!important;
    box-sizing:border-box!important;
}
.bio-events-list .bio-event-gallery-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    transition:transform .45s ease!important;
}
.bio-events-list .bio-event-list-photo{
    flex:0 0 calc((100% - 16px) / 3)!important;
    width:calc((100% - 16px) / 3)!important;
    min-width:calc((100% - 16px) / 3)!important;
    max-width:calc((100% - 16px) / 3)!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    aspect-ratio:4 / 3!important;
}
.bio-events-list .bio-event-list-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:cover!important;
}
@media(max-width:800px){
    .bio-events-list .bio-event-list-photo{
        flex-basis:calc((100% - 8px) / 2)!important;
        width:calc((100% - 8px) / 2)!important;
        min-width:calc((100% - 8px) / 2)!important;
        max-width:calc((100% - 8px) / 2)!important;
    }
}
@media(max-width:600px){
    .bio-events-list .bio-event-list-photo{
        flex-basis:100%!important;
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }
}

/* v1.0.13 - carousel arrows: no Elementor/global button border */
.bio-events-list .bio-event-gallery-prev,
.bio-events-list .bio-event-gallery-next{
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#104d7d!important;
    color:#fff!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    font-family:Arial,sans-serif!important;
    font-size:0!important;
    line-height:1!important;
    text-decoration:none!important;
}
.bio-events-list .bio-event-gallery-prev::before,
.bio-events-list .bio-event-gallery-next::before{
    display:block;
    font-size:22px;
    line-height:36px;
    font-weight:400;
    color:#fff;
}
.bio-events-list .bio-event-gallery-prev::before{content:"‹";}
.bio-events-list .bio-event-gallery-next::before{content:"›";}
.bio-events-list .bio-event-gallery-prev:hover,
.bio-events-list .bio-event-gallery-next:hover,
.bio-events-list .bio-event-gallery-prev:focus,
.bio-events-list .bio-event-gallery-next:focus,
.bio-events-list .bio-event-gallery-prev:active,
.bio-events-list .bio-event-gallery-next:active{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#104d7d!important;
    color:#fff!important;
}

/* v1.0.14 - deterministic desktop 3-up carousel */
.bio-events-list .bio-event-gallery-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    position:relative!important;
    box-sizing:border-box!important;
}
.bio-events-list .bio-event-gallery-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    width:100%!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    transition:transform .45s ease!important;
}
.bio-events-list .bio-event-list-photo{
    display:block!important;
    flex:0 0 calc((100% - 16px) / 3)!important;
    width:calc((100% - 16px) / 3)!important;
    min-width:calc((100% - 16px) / 3)!important;
    max-width:calc((100% - 16px) / 3)!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.bio-events-list .bio-event-list-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    margin:0!important;
}
@media(max-width:800px){
    .bio-events-list .bio-event-list-photo{
        flex-basis:calc((100% - 8px) / 2)!important;
        width:calc((100% - 8px) / 2)!important;
        min-width:calc((100% - 8px) / 2)!important;
        max-width:calc((100% - 8px) / 2)!important;
    }
}
@media(max-width:600px){
    .bio-events-list .bio-event-list-photo{
        flex-basis:100%!important;
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }
}

/* v1.0.19 - location/date beside event title */
.bio-events-list .bio-event-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    width:100%;
}
.bio-events-list .bio-event-title{
    min-width:0;
    flex:1 1 auto;
}
.bio-events-list .bio-event-meta-top{
    flex:0 0 auto;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
    padding:10px 16px!important;
    border:1px solid #8eb7dc!important;
    border-radius:24px!important;
    background:#fff!important;
    color:#174f80!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}
.bio-events-list .bio-event-meta-top .bio-event-meta-dot{
    color:#174f80!important;
    font-size:18px!important;
    line-height:1!important;
}
.bio-events-list .bio-event-meta-top .bio-event-meta-separator{
    color:#174f80!important;
    margin:0 1px!important;
}
@media(max-width:800px){
    .bio-events-list .bio-event-title-row{
        align-items:flex-start;
        flex-direction:column;
        gap:15px;
    }
    .bio-events-list .bio-event-meta-top{
        white-space:normal;
    }
}
