/*
=========================================================
EVENTUS IMPHAL
Common stylesheet v2.14
=========================================================
*/

:root{
    --eventus-red:#ff4b4b;
    --eventus-red-soft:#ff6262;
    --eventus-black:#050505;
    --eventus-panel:#0d0d0d;
    --eventus-panel-2:#111;
    --eventus-border:#292929;
    --eventus-white:#f4f4f4;
    --eventus-muted:#929292;
    --eventus-max:1400px;
    --eventus-transition:240ms ease;
}

*,
*::before,
*::after{box-sizing:border-box}

html{background:var(--eventus-black);scroll-behavior:smooth}
body{
    margin:0;
    overflow-x:hidden;
    background:var(--eventus-black);
    color:var(--eventus-white);
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:all var(--eventus-transition)}
button,input,textarea,select{font:inherit}
::selection{background:var(--eventus-red);color:#000}

.eventus-container{
    width:100%;
    max-width:var(--eventus-max);
    margin:0 auto;
    padding-left:28px;
    padding-right:28px;
}

.eventus-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle}
.section-kicker{
    display:block;
    margin-bottom:10px;
    color:var(--eventus-red);
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:3px;
    text-transform:uppercase;
}
.section-title{
    margin:0;
    color:#fff;
    font-size:clamp(38px,5vw,72px);
    font-weight:900;
    line-height:.94;
    letter-spacing:-2.5px;
    text-transform:uppercase;
}
.section-title span{color:var(--eventus-red)}
.section{padding:110px 0;background:var(--eventus-black)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}

.eventus-btn{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 19px;
    border:1px solid var(--eventus-red);
    background:var(--eventus-red);
    color:#000;
    font-size:9px;
    font-weight:900;
    line-height:1;
    letter-spacing:1px;
    text-transform:uppercase;
}
.eventus-btn:hover{border-color:#fff;background:#fff;color:#000}
.eventus-btn-outline{background:transparent;color:var(--eventus-red)}
.eventus-btn-outline:hover{background:var(--eventus-red);color:#000}

.site-header{
    position:absolute;
    z-index:100;
    top:0;right:0;left:0;
    background:linear-gradient(180deg,rgba(0,0,0,.9),transparent);
}
.site-header.is-scrolled{
    position:fixed;
    border-bottom:1px solid #222;
    background:rgba(5,5,5,.94);
    backdrop-filter:blur(12px);
}
.header-inner{display:flex;min-height:80px;align-items:center;gap:28px}
.custom-logo-link{display:block;width:170px}
.custom-logo{width:100%;height:auto}
.site-logo-text{color:var(--eventus-red);font-size:38px;line-height:1}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:27px;margin:0;padding:0;list-style:none}
.main-nav a{
    position:relative;
    display:block;
    padding:10px 0;
    color:#ddd;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.3px;
    text-transform:uppercase;
}
.main-nav a:hover,
.main-nav .current-menu-item>a,
.main-nav .current_page_item>a{color:#fff}
.main-nav a::after{
    position:absolute;right:0;bottom:3px;left:0;height:2px;
    background:var(--eventus-red);content:"";
    transform:scaleX(0);transition:transform var(--eventus-transition)
}
.main-nav a:hover::after,
.main-nav .current-menu-item>a::after,
.main-nav .current_page_item>a::after{transform:scaleX(1)}
.header-ticket{
    display:inline-flex;min-height:40px;align-items:center;padding:0 18px;
    background:var(--eventus-red);color:#000;font-size:9px;font-weight:900;
    letter-spacing:1px;text-transform:uppercase;
}
.mobile-toggle{
    display:none;width:42px;height:42px;margin-left:auto;
    border:1px solid #444;background:transparent;color:#fff
}

.hero-section{
    position:relative;
    display:flex;
    min-height:780px;
    align-items:center;
    overflow:hidden;
    background:#020202;
}
.hero-slides{
    position:absolute;
    inset:0;
    overflow:hidden;
    background:#020202;
}
.hero-slide{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:0;
    transform:scale(1.04);
    transition:opacity 1.2s ease, transform 6s ease;
}
.hero-slide.is-active{
    opacity:1;
    transform:scale(1);
}
.hero-slide-fallback{
    background:
        radial-gradient(circle at 70% 30%, rgba(255,75,75,.18), transparent 28%),
        linear-gradient(135deg,#100606,#050505 60%,#120808);
}
.hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 35%,rgba(0,0,0,.35) 70%,rgba(0,0,0,.78) 100%),
               linear-gradient(0deg,#000,transparent 40%);
}
.hero-content{position:relative;z-index:2;padding-top:60px}
.hero-content h1{
    max-width:900px;margin:15px 0 28px;
    font-size:clamp(58px,8vw,116px);font-weight:900;line-height:.84;
    letter-spacing:-5px;text-transform:uppercase
}
.hero-content h1 span{color:var(--eventus-red)}
.hero-content p{max-width:600px;margin:0;color:#ccc;font-size:15px}
.hero-actions{display:flex;gap:12px;margin-top:30px}
.hero-slide-controls{
    position:absolute;
    z-index:4;
    right:28px;
    bottom:34px;
    display:flex;
    gap:8px;
}
.hero-slide-dot{
    width:34px;
    height:3px;
    padding:0;
    border:0;
    background:rgba(255,255,255,.35);
    cursor:pointer;
    transition:all .25s ease;
}
.hero-slide-dot.is-active,
.hero-slide-dot:hover{
    background:var(--eventus-red);
    transform:scaleY(1.5);
}
.hero-slide-counter{
    position:absolute;
    z-index:4;
    bottom:28px;
    left:28px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
}
.hero-slide-line{
    display:block;
    width:45px;
    height:1px;
    background:rgba(255,255,255,.5);
}

.rhythm-grid-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:70px;align-items:center}
.rhythm-copy{max-width:520px}
.rhythm-copy p{margin:25px 0;color:#aaa}
.rhythm-images{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.rhythm-images a{display:block;overflow:hidden;aspect-ratio:.78;background:#111}
.rhythm-images img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:all .5s}
.rhythm-images a:hover img{filter:none;transform:scale(1.04)}
.image-placeholder{width:100%;height:100%;min-height:300px;background:linear-gradient(135deg,#191919,#080808)}

.events-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.event-card{overflow:hidden;border:1px solid #252525;background:#090909}
.event-card-image{aspect-ratio:.8;overflow:hidden;background:#111}
.event-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.event-card:hover{border-color:var(--eventus-red);transform:translateY(-4px)}
.event-card:hover img{transform:scale(1.04)}
.event-card-content{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:17px}
.event-date-box{border-right:1px solid #292929}
.event-date-box strong{display:block;color:var(--eventus-red);font-size:28px;line-height:1}
.event-date-box span{font-size:9px;text-transform:uppercase;color:#888}
.event-card-info h3{margin:0 0 8px;font-size:15px;line-height:1.2;text-transform:uppercase}
.event-location{color:#777;font-size:10px}

.giving-tree-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.giving-tree-image{min-height:560px;background-position:center;background-size:cover;background-color:#111}
.giving-tree-copy{display:flex;flex-direction:column;justify-content:center;padding:65px;background:#0d0d0d}
.giving-tree-copy>p{max-width:540px;color:#aaa}
.giving-features{display:grid;grid-template-columns:1fr 1fr;margin:25px 0;border-top:1px solid #292929}
.giving-feature{padding:18px 15px 18px 0;border-bottom:1px solid #292929}
.giving-feature:nth-child(even){padding-left:20px}
.giving-feature strong{display:block;color:var(--eventus-red);font-size:10px;letter-spacing:1px}
.giving-feature h3{margin:8px 0 8px;color:#fff;font-size:13px;line-height:1.2;text-transform:uppercase}
.giving-feature span{display:block;color:#777;font-size:11px;line-height:1.6}

.services-grid-6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-card{min-height:220px;padding:27px 22px;border:1px solid #252525;background:#090909}
.service-card:hover{border-color:var(--eventus-red);transform:translateY(-4px)}
.service-icon{margin:20px 0;color:var(--eventus-red)}
.service-card h3{margin:0 0 10px;font-size:15px;text-transform:uppercase}
.service-card p{margin:0;color:#777;font-size:12px;line-height:1.6}

.newsletter-bar{margin-top:20px;padding:34px 0;background:var(--eventus-red);color:#000}
.newsletter-inner{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px;align-items:center}
.newsletter-heading .section-kicker{color:#000;margin-bottom:4px}
.newsletter-heading h2{margin:0;font-size:clamp(30px,4vw,45px);line-height:.9;text-transform:uppercase}
.newsletter-inner>p{margin:0;font-size:11px;line-height:1.5}
.newsletter-form form{display:flex;gap:7px}
.newsletter-form input[type=email],
.newsletter-form input[type=text]{width:100%;height:46px;padding:0 13px;border:1px solid #000;background:#fff;color:#000}
.newsletter-form input[type=submit],
.newsletter-form button{height:46px;padding:0 18px;border:1px solid #000;background:#000;color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}

.site-footer{padding:60px 0 0;background:#030303}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}
.footer-brand .site-logo-text{display:block;margin-bottom:15px}
.footer-brand p,.footer-col p,.footer-col li{color:#707070;font-size:11px}
.footer-col h3{margin:0 0 15px;color:var(--eventus-red);font-size:10px;letter-spacing:2px;text-transform:uppercase}
.footer-col ul{margin:0;padding:0;list-style:none}
.footer-col li{margin:7px 0}
.footer-col a:hover{color:var(--eventus-red)}
.social-links{display:flex;gap:8px}
.social-link{display:grid;width:37px;height:37px;place-items:center;border:1px solid #292929;color:#aaa}
.social-link:hover{background:var(--eventus-red);border-color:var(--eventus-red);color:#000}
.footer-bottom{display:flex;justify-content:space-between;margin-top:50px;padding:18px 0;border-top:1px solid #1d1d1d;color:#4f4f4f;font-size:9px}

.page-hero{
    display:flex;
    min-height:200px;
    align-items:flex-end;
    padding:35px 0 30px;
    background:radial-gradient(circle at 70% 30%,rgba(255,75,75,.08),transparent 30%),#070707;
    border-bottom:1px solid #171717;
}
.page-hero h1{
    margin:0;font-size:clamp(42px,5vw,64px);font-weight:900;line-height:.9;
    letter-spacing:-2px;text-transform:uppercase
}
.page-content{padding:0px 0}
.content-narrow{max-width:900px}
.prose{color:#aaa;font-size:15px}
.prose h2,.prose h3{color:#fff}
.prose a{color:var(--eventus-red)}

.eventus-about{width:100%;background:#050505}
.eventus-about-intro{max-width:950px}
.eventus-about-intro h1{margin:0 0 30px;font-size:clamp(56px,7vw,105px);font-weight:900;line-height:.92;letter-spacing:-4px}
.eventus-about-intro h1 span{color:var(--eventus-red)}
.eventus-lead{max-width:720px;color:#d5d5d5;font-size:18px;line-height:1.6}
.eventus-about-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:80px;margin-top:80px;align-items:start}
.eventus-about-text{max-width:700px;color:#c8c8c8;font-size:15px;line-height:1.8}
.eventus-about-highlight{border-left:2px solid var(--eventus-red);padding-left:30px}
.eventus-highlight-number{margin-bottom:25px;color:var(--eventus-red);font-size:11px;letter-spacing:3px}
.eventus-about-highlight h3{margin:0 0 20px;font-size:38px;line-height:1.05}
.eventus-about-highlight p{color:#999}

.eventus-giving-tree{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;margin-top:10px;background:#111}
.eventus-giving-tree-image{min-width:0;min-height:560px}
.eventus-giving-tree-image img{width:100%;height:100%;min-height:560px;object-fit:cover}
.eventus-giving-tree-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:60px}
.eventus-giving-tree-content h2{margin:0 0 25px;font-size:clamp(42px,5vw,70px);line-height:1}
.eventus-giving-tree-content h2 span{color:var(--eventus-red)}
.eventus-giving-tree-content p{color:#aaa}

.eventus-about-services{width:100%;margin-top:120px}
.eventus-services-heading{margin-bottom:55px}
.eventus-services-heading h2{margin:0;font-size:clamp(45px,6vw,80px);line-height:1}
.eventus-services-heading h2 span{color:var(--eventus-red)}
.eventus-services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;margin:0!important;padding:0!important;border-top:1px solid #292929}
.eventus-service{width:100%;min-width:0;margin:0;padding:38px 40px 38px 0;border-bottom:1px solid #292929}
.eventus-service:nth-child(odd){padding-right:45px;border-right:1px solid #292929}
.eventus-service:nth-child(even){padding-right:0;padding-left:45px}
.eventus-service>span{display:block;margin-bottom:18px;color:var(--eventus-red);font-size:10px;letter-spacing:2px}
.eventus-service h3{margin:0 0 10px;color:#fff;font-size:20px;line-height:1.15}
.eventus-service p{max-width:420px;margin:0;color:#888;font-size:12px;line-height:1.65}

.eventus-about-closing{max-width:900px;margin:1px auto 0;text-align:center}
.eventus-about-closing h2{margin:0 0 30px;font-size:clamp(50px,8vw,100px);line-height:.95}
.eventus-about-closing h2 span{color:var(--eventus-red)}
.eventus-about-closing p{max-width:600px;margin:0 auto;color:#999;font-size:16px}

.artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.artist-card{overflow:hidden;border:1px solid #242424;background:#090909}
.artist-card-image{display:block;overflow:hidden;aspect-ratio:1;background:#111}
.artist-card-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:.5s}
.artist-card:hover{border-color:var(--eventus-red)}
.artist-card:hover img{filter:none;transform:scale(1.05)}
.artist-card-content{padding:18px}
.artist-card-content h2{margin:0 0 5px;font-size:17px}
.artist-card-content span{color:#777;font-size:10px;text-transform:uppercase}

.full-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.instagram-section .full-gallery-grid>a{display:block;position:relative;overflow:hidden;aspect-ratio:1 / 1;background:#111}
.instagram-section .full-gallery-grid>a img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:1 / 1;transition:transform .45s ease,filter .45s ease}
.instagram-section .full-gallery-grid>a::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .3s ease;z-index:2}
.instagram-section .full-gallery-grid>a::after{content:"";position:absolute;top:50%;left:50%;width:28px;height:28px;border:2px solid #fff;border-radius:8px;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:3;background:radial-gradient(circle at 70% 28%,#fff 0 2px,transparent 2.5px),radial-gradient(circle at center,transparent 0 6px,#fff 6.5px 8px,transparent 8.5px)}
.instagram-section .full-gallery-grid>a:hover::before{opacity:1}
.instagram-section .full-gallery-grid>a:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.instagram-section .full-gallery-grid>a:hover img{transform:scale(1.04);filter:brightness(.8)}
.gallery-item{position:relative;display:block;overflow:hidden;aspect-ratio:1.15;background:#111}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gallery-item:hover img{filter:brightness(.65);transform:scale(1.04)}
.gallery-caption{position:absolute;right:15px;bottom:13px;left:15px;color:#fff;font-size:10px;text-transform:uppercase;opacity:0}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.contact-details{display:grid;gap:18px;margin-top:35px}
.contact-details>div{display:flex;gap:14px;align-items:flex-start;color:#aaa}
.contact-details .eventus-icon{color:var(--eventus-red)}
.eventus-form{display:grid;gap:18px}
.eventus-form input,.eventus-form textarea{width:100%;padding:13px 14px;border:1px solid #292929;background:#0b0b0b;color:#fff;outline:none}
.eventus-form input:focus,.eventus-form textarea:focus{border-color:var(--eventus-red)}

.empty-state{padding:45px;border:1px dashed #333;background:#090909;color:#888}
.empty-state h2,.empty-state h3{color:#fff}

@media(max-width:1100px){
    .main-nav ul{gap:18px}
    .events-grid{grid-template-columns:repeat(2,1fr)}
    .artist-grid{grid-template-columns:repeat(3,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
    .newsletter-inner{grid-template-columns:1fr 1fr}
    .newsletter-form{grid-column:1/-1}
}

@media(max-width:900px){
    .mobile-toggle{display:grid;place-items:center}
    .header-ticket{display:none}
    .main-nav{
        display:none;position:fixed;top:80px;right:0;left:0;height:calc(100vh - 80px);
        padding:25px 28px;background:rgba(5,5,5,.98);overflow:auto
    }
    .main-nav.is-open{display:block}
    .main-nav ul{display:grid;gap:0}
    .main-nav a{padding:16px 0;border-bottom:1px solid #222}
    .main-nav a::after{display:none}
    .rhythm-grid-layout{grid-template-columns:1fr}
    .giving-tree-grid,.eventus-giving-tree{grid-template-columns:1fr}
    .giving-tree-image{min-height:420px}
    .eventus-giving-tree-image,.eventus-giving-tree-image img{min-height:420px}
    .eventus-about-content{grid-template-columns:1fr;gap:45px}
    .contact-grid{grid-template-columns:1fr;gap:45px}
    .artist-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
    .hero-slide-controls{right:20px;bottom:24px}
    .hero-slide-counter{left:20px;bottom:20px}

    .eventus-container{padding-left:20px;padding-right:20px}
    .section{padding:75px 0}
    .section-head{display:block}
    .section-head .eventus-btn{margin-top:18px}
    .hero-section{min-height:650px}
    .hero-content h1{font-size:clamp(52px,15vw,80px);letter-spacing:-3px}
    .rhythm-images{grid-template-columns:repeat(2,1fr)}
    .rhythm-images a:last-child{display:none}
    .services-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}
    .eventus-services-grid{grid-template-columns:1fr!important}
    .eventus-service,
    .eventus-service:nth-child(odd),
    .eventus-service:nth-child(even){padding:30px 0;border-right:0}
    .instagram-section .full-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .full-gallery-grid{grid-template-columns:repeat(2,1fr)}
    .eventus-about{padding:55px 0 80px}
    .eventus-about-intro h1{font-size:clamp(50px,14vw,78px)}
    .eventus-giving-tree{margin-top:80px}
    .eventus-about-services{margin-top:90px}
    .eventus-about-closing{margin-top:100px}
}

@media(max-width:520px){
    .custom-logo-link{width:140px}
    .hero-section{min-height:610px}
    .hero-actions,.hero-actions .eventus-btn{width:100%}
    .events-grid,.services-grid-6,.artist-grid{grid-template-columns:1fr}
    .instagram-section .full-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .giving-features{grid-template-columns:1fr}
    .giving-feature:nth-child(even){padding-left:0}
    .newsletter-inner{display:block}
    .newsletter-inner>p{margin:14px 0 18px}
    .newsletter-form form{display:grid}
    .newsletter-form input[type=submit],.newsletter-form button{width:100%}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{display:block}
    .footer-bottom span{display:block;margin-top:7px}
    .page-hero{min-height:145px;padding:25px 0}
    .page-hero h1{font-size:40px}
    .eventus-giving-tree-content{padding:40px 25px}
    .eventus-services-heading h2{font-size:48px}
}

@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* Eventus v2.4.2: lightweight text icons, no inline SVG */
.eventus-icon,
.service-icon,
.giving-tree-map-pin{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.eventus-btn .eventus-icon{
    margin-left:8px;
    font-size:1.05em;
}
.service-icon{
    font-size:24px;
}
.giving-tree-map-pin{
    font-size:18px;
}


/* =========================================================
   WOOCOMMERCE
   Eventus merchandise shop styling
========================================================= */

.woocommerce,
.woocommerce-page{
    color:var(--eventus-white);
}

.woocommerce .site-main,
.woocommerce-page .site-main{
    background:var(--eventus-black);
}

/* Shop / archive */

.woocommerce .woocommerce-breadcrumb{
    max-width:var(--eventus-max);
    margin:0 auto 28px;
    padding:28px;
    color:#777;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.woocommerce .woocommerce-breadcrumb a{
    color:#aaa;
}

.woocommerce .woocommerce-breadcrumb a:hover{
    color:var(--eventus-red);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
    margin-bottom:28px;
    color:#888;
    font-size:11px;
}

.woocommerce .woocommerce-ordering select{
    min-height:40px;
    padding:0 12px;
    border:1px solid var(--eventus-border);
    background:#0b0b0b;
    color:#ddd;
}

.woocommerce ul.products{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
    margin:0;
    padding:0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
    display:none;
}

.woocommerce ul.products li.product{
    float:none;
    width:auto;
    margin:0;
    padding:0;
    position:relative;
    background:var(--eventus-panel);
    border:1px solid var(--eventus-border);
    transition:transform var(--eventus-transition),border-color var(--eventus-transition);
}

.woocommerce ul.products li.product:hover{
    transform:translateY(-4px);
    border-color:#444;
}

.woocommerce ul.products li.product a img{
    width:100%;
    aspect-ratio:1 / 1.08;
    object-fit:cover;
    margin:0 0 18px;
    background:#111;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
    margin:0 20px 8px;
    padding:0;
    color:#fff;
    font-size:16px;
    font-weight:800;
    line-height:1.25;
}

.woocommerce ul.products li.product .price{
    margin:0 20px 18px;
    color:#bbb;
    font-size:14px;
    font-weight:700;
}

.woocommerce ul.products li.product .price del{
    color:#666;
}

.woocommerce ul.products li.product .price ins{
    color:var(--eventus-red);
    text-decoration:none;
}

.woocommerce ul.products li.product .button{
    display:inline-flex;
    margin:0 20px 22px;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border:1px solid var(--eventus-red);
    border-radius:0;
    background:var(--eventus-red);
    color:#000;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce ul.products li.product .button:hover{
    background:#fff;
    border-color:#fff;
    color:#000;
}

.woocommerce span.onsale{
    z-index:2;
    top:14px;
    right:14px;
    min-width:0;
    min-height:0;
    margin:0;
    padding:8px 11px;
    border-radius:0;
    background:var(--eventus-red);
    color:#000;
    font-size:9px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
}

/* Product page */

.woocommerce div.product{
    color:#fff;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
    margin-bottom:70px;
}

.woocommerce div.product div.images img{
    width:100%;
    background:#111;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image{
    border:1px solid var(--eventus-border);
}

.woocommerce div.product div.images .flex-control-thumbs{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:8px;
}

.woocommerce div.product div.images .flex-control-thumbs li{
    width:auto;
    margin:0;
}

.woocommerce div.product div.images .flex-control-thumbs img{
    opacity:.6;
    border:1px solid transparent;
}

.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs .flex-active{
    opacity:1;
    border-color:var(--eventus-red);
}

.woocommerce div.product .product_title{
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(36px,5vw,64px);
    font-weight:900;
    line-height:.95;
    letter-spacing:-2px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
    margin:0 0 25px;
    color:var(--eventus-red);
    font-size:22px;
    font-weight:800;
}

.woocommerce div.product .woocommerce-product-details__short-description{
    margin-bottom:30px;
    color:#aaa;
    line-height:1.8;
}

.woocommerce div.product form.cart{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:30px 0;
}

.woocommerce div.product form.cart .quantity{
    margin:0;
}

.woocommerce .quantity .qty{
    width:70px;
    height:46px;
    border:1px solid var(--eventus-border);
    border-radius:0;
    background:#0b0b0b;
    color:#fff;
}

.woocommerce div.product form.cart .button{
    min-height:46px;
    padding:0 25px;
    border:1px solid var(--eventus-red);
    border-radius:0;
    background:var(--eventus-red);
    color:#000;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce div.product form.cart .button:hover{
    background:#fff;
    border-color:#fff;
}

.woocommerce div.product .product_meta{
    padding-top:20px;
    border-top:1px solid var(--eventus-border);
    color:#777;
    font-size:11px;
}

.woocommerce div.product .product_meta a{
    color:#aaa;
}

.woocommerce div.product .product_meta a:hover{
    color:var(--eventus-red);
}

.woocommerce-tabs{
    clear:both;
    padding:40px 0 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
    margin:0 0 30px;
    padding:0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before{
    border-bottom-color:var(--eventus-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
    margin:0 8px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    padding:12px 5px;
    color:#777;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
    color:var(--eventus-red);
}

.woocommerce-Tabs-panel{
    color:#aaa;
}

/* Related / upsells */

.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2{
    margin:0 0 35px;
    color:#fff;
    font-size:32px;
    font-weight:900;
    text-transform:uppercase;
}

/* Cart */

.woocommerce-cart table.cart{
    border-collapse:collapse;
    border:1px solid var(--eventus-border);
}

.woocommerce-cart table.cart th{
    padding:15px;
    background:#111;
    color:#888;
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce-cart table.cart td{
    padding:18px 15px;
    border-top:1px solid var(--eventus-border);
    color:#ddd;
}

.woocommerce-cart table.cart td.product-name a{
    color:#fff;
    font-weight:700;
}

.woocommerce-cart table.cart td.product-name a:hover{
    color:var(--eventus-red);
}

.woocommerce-cart table.cart img{
    width:75px;
    height:75px;
    object-fit:cover;
}

.woocommerce-cart .cart_totals{
    padding:30px;
    background:#111;
    border:1px solid var(--eventus-border);
}

.woocommerce-cart .cart_totals h2{
    margin:0 0 25px;
    color:#fff;
    font-size:25px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
    min-height:44px;
    padding:0 20px;
    border:1px solid var(--eventus-red);
    border-radius:0;
    background:var(--eventus-red);
    color:#000;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
    background:#fff;
    border-color:#fff;
    color:#000;
}

.woocommerce .cart .button{
    min-height:44px;
}

/* Checkout */

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
    border:1px solid var(--eventus-border);
    border-radius:0;
    background:#0d0d0d;
}

.woocommerce form .form-row{
    padding:0;
    margin:0 0 18px;
}

.woocommerce form .form-row label{
    margin-bottom:7px;
    color:#aaa;
    font-size:10px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--eventus-border);
    border-radius:0;
    outline:none;
    background:#080808;
    color:#fff;
}

.woocommerce form .form-row textarea{
    min-height:130px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{
    border-color:var(--eventus-red);
}

.woocommerce-checkout #payment{
    border-radius:0;
    background:#111;
}

.woocommerce-checkout #payment ul.payment_methods{
    border-bottom-color:var(--eventus-border);
}

.woocommerce-checkout #payment div.payment_box{
    background:#080808;
    color:#999;
}

.woocommerce-checkout #payment div.payment_box::before{
    border-bottom-color:#080808;
}

.woocommerce-checkout #place_order{
    width:100%;
    min-height:50px;
}

/* Notices */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
    margin:0 0 30px;
    border-top:2px solid var(--eventus-red);
    border-radius:0;
    background:#111;
    color:#ddd;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
    color:var(--eventus-red);
}

/* Pagination */

.woocommerce nav.woocommerce-pagination ul{
    border:0;
}

.woocommerce nav.woocommerce-pagination ul li{
    border:0;
    margin-right:5px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
    display:flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--eventus-border);
    background:#0d0d0d;
    color:#aaa;
    font-size:11px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
    border-color:var(--eventus-red);
    background:var(--eventus-red);
    color:#000;
}

/* Mini cart / header cart */

.eventus-cart-link{
    color:#ddd;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.eventus-cart-link:hover{
    color:var(--eventus-red);
}

/* WooCommerce account */

.woocommerce-account .woocommerce-MyAccount-navigation{
    width:24%;
}

.woocommerce-account .woocommerce-MyAccount-content{
    width:72%;
    color:#aaa;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
    margin:0;
    padding:0;
    list-style:none;
    border:1px solid var(--eventus-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
    border-bottom:1px solid var(--eventus-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{
    border-bottom:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a{
    display:block;
    padding:14px 16px;
    color:#999;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
    background:#111;
    color:var(--eventus-red);
}

/* Woo mobile */

@media(max-width:1100px){
    .woocommerce ul.products{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .woocommerce ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content{
        float:none;
        width:100%;
    }

    .woocommerce-account .woocommerce-MyAccount-content{
        margin-top:35px;
    }
}

@media(max-width:600px){
    .woocommerce ul.products{
        grid-template-columns:1fr;
    }

    .woocommerce ul.products li.product{
        width:100%;
    }

    .woocommerce .woocommerce-breadcrumb{
        padding:20px;
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary{
        margin-bottom:40px;
    }

    .woocommerce div.product .product_title{
        font-size:42px;
    }

    .woocommerce-cart table.cart thead{
        display:none;
    }

    .woocommerce-cart table.cart td{
        display:block;
        text-align:left !important;
    }

    .woocommerce-cart table.cart td::before{
        display:block;
        margin-bottom:5px;
        color:#777;
        font-size:9px;
        font-weight:800;
        letter-spacing:1px;
        text-transform:uppercase;
    }

    .woocommerce-cart table.cart td.product-name::before{content:"Product"}
    .woocommerce-cart table.cart td.product-price::before{content:"Price"}
    .woocommerce-cart table.cart td.product-quantity::before{content:"Quantity"}
    .woocommerce-cart table.cart td.product-subtotal::before{content:"Subtotal"}

    .woocommerce-cart .cart_totals{
        padding:22px;
    }
}


/* =========================================================
   EVENTUS SINGLE EVENT
   Eventus custom single event presentation
========================================================= */
.eventus-single-event{background:#050505;color:#fff;padding:65px 0 110px;min-height:70vh}
.eventus-event-back{display:inline-block;margin-bottom:45px;color:#777;text-decoration:none;font-size:12px;transition:color .25s ease}
.eventus-event-back:hover{color:var(--eventus-red)}
.eventus-event-header{max-width:1000px;margin-bottom:45px}
.eventus-event-header h1{margin:0 0 18px;color:#fff;font-size:clamp(48px,7vw,100px);font-weight:900;line-height:.9;letter-spacing:-4px;text-transform:uppercase}
.eventus-event-date-line{color:#ddd;font-size:16px}
.eventus-event-feature-image{width:100%;margin-bottom:55px;background:#0b0b0b;overflow:hidden}
.eventus-event-feature-image img{display:block;width:100%;max-height:720px;object-fit:cover}
.eventus-event-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:75px;align-items:start}
.eventus-event-main{min-width:0;color:#aaa;font-size:15px;line-height:1.85}
.eventus-event-description{max-width:820px}
.eventus-event-description h2,.eventus-event-description h3,.eventus-event-description h4{color:#fff}
.eventus-event-description a{color:var(--eventus-red)}
.eventus-event-description img{max-width:100%;height:auto}
.eventus-event-sidebar{display:grid;gap:25px}
.eventus-ticket-box{padding:30px;background:#111;border:1px solid #252525}
.eventus-ticket-box h2{margin:0 0 10px;color:#fff;font-size:32px;line-height:1}
.eventus-ticket-box p{margin:0 0 22px;color:#888;font-size:12px;line-height:1.6}
.eventus-ticket-button{width:100%;justify-content:center;text-align:center}
.eventus-event-details{padding:30px;background:#0b0b0b;border:1px solid #252525}
.eventus-detail-item{display:grid;gap:5px;padding:17px 0;border-bottom:1px solid #222;color:#aaa;font-size:12px;line-height:1.55}
.eventus-detail-item:last-child{border-bottom:0}
.eventus-detail-item strong{color:var(--eventus-red);font-size:9px;letter-spacing:2px}
.eventus-detail-item a{color:#fff;text-decoration:none}
.eventus-detail-item a:hover{color:var(--eventus-red)}

/* TEC's native elements inherit Eventus styling when they are output by hooks. */

.event-card-ticket{display:inline-flex;margin-top:12px;padding:9px 12px;border:1px solid var(--eventus-red);color:var(--eventus-red)!important;font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none!important;transition:.25s ease}
.event-card-ticket:hover{background:var(--eventus-red);color:#050505!important}

@media(max-width:900px){
    .eventus-event-layout{grid-template-columns:1fr;gap:45px}
    .eventus-event-sidebar{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .eventus-single-event{padding:45px 0 80px}
    .eventus-event-header h1{font-size:52px;letter-spacing:-2px}
    .eventus-event-feature-image{margin-bottom:35px}
    .eventus-event-layout{gap:30px}
    .eventus-event-sidebar{grid-template-columns:1fr}
    .eventus-ticket-box,.eventus-event-details{padding:25px}
}

/* =========================================================
   EVENTUS NEWSLETTER / CONTACT FORM 7
========================================================= */

.eventus-newsletter-form {
    display: flex;
    width: 100%;
    align-items: stretch;
    gap: 0;
}

.eventus-newsletter-field {
    flex: 1;
    min-width: 0;
}

.eventus-newsletter-input {
    display: block !important;
    width: 100% !important;
    height: 58px !important;
    padding: 0 22px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.eventus-newsletter-input::placeholder {
    color: #777 !important;
}

.eventus-newsletter-submit {
    flex: 0 0 auto;
}

.eventus-newsletter-button {
    display: block !important;
    width: auto !important;
    min-width: 190px !important;
    height: 58px !important;
    padding: 0 28px !important;
    margin: 0 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all .25s ease !important;
}

.eventus-newsletter-button:hover {
    background: #fff !important;
    color: #000 !important;
}

.eventus-newsletter-form .wpcf7-not-valid-tip {
    margin-top: 8px;
    color: #000;
    font-size: 11px;
}

.eventus-newsletter-form .wpcf7-response-output {
    margin: 12px 0 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    color: #000 !important;
    font-size: 11px;
}


/* MOBILE */
@media (max-width: 767px) {

    .eventus-newsletter-form {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .eventus-newsletter-input,
    .eventus-newsletter-button {
        width: 100% !important;
        height: 54px !important;
    }

    .eventus-newsletter-button {
        min-width: 0 !important;
    }

}

/* =========================================================
   HOMEPAGE EVENTS
========================================================= */

.events-section {
    background: #050505;
}

.events-section .section-head {
    margin-bottom: 22px;
}

.events-section .section-description {
    max-width: 680px;
    margin: 0 0 45px;
    color: #8d8d8d;
    font-size: 14px;
    line-height: 1.7;
}


/* GRID */

.events-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}


/* CARD */

.event-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #0c0c0c;
    border: 1px solid #222;
    transition:
        transform .3s ease,
        border-color .3s ease,
        background .3s ease;
}

.event-card:hover {
    transform: translateY(-6px);
    border-color: var(--eventus-red);
    background: #101010;
}


/* IMAGE */

.event-card-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #111;
}

.event-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.event-card:hover .event-card-image img {
    transform: scale(1.045);
}


/* IMAGE HOVER */

.event-card-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.45),
        transparent 55%
    );
    content: "";
    pointer-events: none;
}


/* CONTENT */

.event-card-content {
    display: grid;
    grid-template-columns: 55px minmax(0, 1fr);
    gap: 17px;
    padding: 20px;
    flex: 1;
}


/* DATE */

.event-date-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding-right: 14px;
    border-right: 1px solid #292929;
}

.event-date-box strong {
    display: block;
    color: #fff;
    font-size: 30px;
    font-weight: 800;
    line-height: .95;
}

.event-date-box span {
    display: block;
    margin-top: 7px;
    color: var(--eventus-red);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* EVENT INFORMATION */

.event-card-info {
    min-width: 0;
}


/* TITLE */

.event-card-info h3 {
    margin: 0 0 10px;
    padding: 0;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.2px;
    text-transform: uppercase;
}

.event-card-info h3 a {
    display: block;
    color: #fff !important;
    text-decoration: none !important;
}

.event-card-info h3 a:hover {
    color: var(--eventus-red) !important;
}


/* VENUE */

.event-location {
    margin-top: 5px;
    color: #777;
    font-size: 11px;
    line-height: 1.5;
}


/* BOOK TICKETS */

.event-card-ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 11px 15px;

    background: var(--eventus-red);
    border: 1px solid var(--eventus-red);

    color: #050505 !important;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.event-card-ticket:hover {
    background: #fff;
    border-color: #fff;
    color: #050505 !important;
}


/* EMPTY STATE */

.events-section .empty-state {
    padding: 60px 30px;
    border: 1px solid #222;
    background: #0b0b0b;
    text-align: center;
}

.events-section .empty-state h3 {
    margin-bottom: 10px;
    color: #fff;
}

.events-section .empty-state p {
    margin: 0;
    color: #777;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .events-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .event-card-image {
        aspect-ratio: 16 / 10;
    }

    .event-card-content {
        grid-template-columns: 52px minmax(0, 1fr);
        padding: 18px;
    }

    .event-date-box strong {
        font-size: 27px;
    }

    .event-card-info h3 {
        font-size: 16px;
    }

    .event-card-ticket {
        margin-top: 15px;
    }

}

/* =========================================================
   EVENTUS TICKETING PLUGIN
   Homepage integration
   The custom Eventus Ticketing plugin supplies the event data.
   These rules make its output inherit the Eventus Imphal theme.
========================================================= */

.events-section .eventus-home-events{
    width:100%;
}

.events-section .eventus-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:18px !important;
    margin:0 !important;
    padding:0 !important;
}

.events-section .eventus-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    overflow:hidden !important;
    background:#0c0c0c !important;
    border:1px solid #222 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transition:transform .3s ease,border-color .3s ease,background .3s ease !important;
}

.events-section .eventus-card:hover{
    transform:translateY(-6px) !important;
    border-color:var(--eventus-red) !important;
    background:#101010 !important;
}

.events-section .eventus-card .eventus-card-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    border-radius:0 !important;
    background:#111 !important;
    transition:transform .6s ease !important;
}

.events-section .eventus-card:hover .eventus-card-image{
    transform:scale(1.045) !important;
}

.events-section .eventus-card .eventus-card-body{
    display:flex !important;
    flex:1 !important;
    flex-direction:column !important;
    padding:20px !important;
    background:#0c0c0c !important;
}

.events-section .eventus-card .eventus-date{
    margin:0 0 10px !important;
    color:var(--eventus-red) !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
}

.events-section .eventus-card .eventus-card-body h3{
    margin:0 0 10px !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    letter-spacing:-.2px !important;
    text-transform:uppercase !important;
}

.events-section .eventus-card .eventus-card-body h3 a{
    color:#fff !important;
}

.events-section .eventus-card .eventus-card-body p{
    margin:0 0 18px !important;
    color:#777 !important;
    font-size:11px !important;
    line-height:1.5 !important;
}

.events-section .eventus-card .eventus-button{
    display:inline-flex !important;
    width:max-content !important;
    min-height:40px !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:auto !important;
    padding:0 15px !important;
    border:1px solid var(--eventus-red) !important;
    border-radius:0 !important;
    background:var(--eventus-red) !important;
    color:#050505 !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:1.2px !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

.events-section .eventus-card .eventus-button:hover{
    border-color:#fff !important;
    background:#fff !important;
    color:#050505 !important;
}

.events-section .eventus-grid:empty::before{
    display:block;
    grid-column:1 / -1;
    padding:60px 30px;
    border:1px solid #222;
    background:#0b0b0b;
    color:#777;
    content:"No upcoming events yet.";
    text-align:center;
    font-size:12px;
}

.events-section .eventus-grid:empty{
    display:block !important;
}

@media(max-width:1100px){
    .events-section .eventus-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:600px){
    .events-section .eventus-grid{
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    .events-section .eventus-card .eventus-card-image{
        aspect-ratio:16 / 10 !important;
    }

    .events-section .eventus-card .eventus-card-body{
        padding:18px !important;
    }

    .events-section .eventus-card .eventus-card-body h3{
        font-size:16px !important;
    }
}


/* =========================================================
   EVENTUS ABOUT PAGE v2.14
   Editorial spacing + typography refinement
   Keeps the existing structure/content intact.
========================================================= */

/* Give the About page a cleaner rhythm after the page hero. */
.eventus-about{
    padding-top:0;
    padding-bottom:95px;
}

/* Intro: stronger hierarchy, less empty vertical space. */
.eventus-about-intro{
    max-width:980px;
}

.eventus-about-intro h1{
    max-width:950px;
    margin:0 0 24px;
    font-size:clamp(58px,7.2vw,108px);
    line-height:.88;
    letter-spacing:-4.8px;
}

.eventus-lead{
    max-width:700px;
    margin:0;
    color:#cfcfcf;
    font-size:17px;
    line-height:1.65;
}

/* Intro copy and statement. */
.eventus-about-content{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:90px;
    margin-top:62px;
}

.eventus-about-text{
    max-width:680px;
    color:#bdbdbd;
    font-size:14px;
    line-height:1.85;
}

.eventus-about-text p{
    margin:0 0 20px;
}

.eventus-about-text p:last-child{
    margin-bottom:0;
}

.eventus-about-highlight{
    max-width:380px;
    margin-top:5px;
    padding-left:28px;
    border-left:2px solid var(--eventus-red);
}

.eventus-highlight-number{
    margin-bottom:18px;
    color:#777;
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.eventus-about-highlight h3{
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(32px,3.2vw,46px);
    font-weight:900;
    line-height:.98;
    letter-spacing:-1.5px;
}

.eventus-about-highlight p{
    margin:0;
    color:#888;
    font-size:12px;
    line-height:1.7;
}

/* Under Giving Tree: stronger visual block, slightly tighter. */
.eventus-giving-tree{
    margin-top:78px;
    background:#101010;
}

.eventus-giving-tree-image,
.eventus-giving-tree-image img{
    min-height:560px;
}

.eventus-giving-tree-image{
    overflow:hidden;
}

.eventus-giving-tree-image img{
    transition:transform .7s ease;
}

.eventus-giving-tree:hover .eventus-giving-tree-image img{
    transform:scale(1.018);
}

.eventus-giving-tree-content{
    padding:58px 62px;
}

.eventus-giving-tree-content .section-kicker{
    margin-bottom:14px;
}

.eventus-giving-tree-content h2{
    max-width:540px;
    margin:0 0 25px;
    font-size:clamp(44px,5vw,72px);
    font-weight:900;
    line-height:.9;
    letter-spacing:-3px;
}

.eventus-giving-tree-content p{
    max-width:500px;
    margin:0 0 18px;
    color:#999;
    font-size:13px;
    line-height:1.75;
}

.eventus-giving-tree-content .eventus-btn{
    margin-top:12px;
    width:max-content;
}

/* What We Do. */
.eventus-about-services{
    margin-top:105px;
}

.eventus-services-heading{
    max-width:760px;
    margin-bottom:38px;
}

.eventus-services-heading .section-kicker{
    margin-bottom:12px;
}

.eventus-services-heading h2{
    margin:0;
    font-size:clamp(48px,6.5vw,82px);
    font-weight:900;
    line-height:.88;
    letter-spacing:-4px;
}

.eventus-services-grid{
    border-top:1px solid #292929;
}

.eventus-service{
    min-height:190px;
    padding:32px 40px 32px 0;
    transition:background .25s ease;
}

.eventus-service:nth-child(odd){
    padding-right:45px;
}

.eventus-service:nth-child(even){
    padding-left:45px;
}

.eventus-service:hover{
    background:#080808;
}

.eventus-service>span{
    margin-bottom:17px;
    color:var(--eventus-red);
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
}

.eventus-service h3{
    margin:0 0 9px;
    font-size:17px;
    font-weight:800;
    letter-spacing:-.2px;
}

.eventus-service p{
    max-width:440px;
    color:#777;
    font-size:11px;
    line-height:1.65;
}

/* Closing statement. */
.eventus-about-closing{
    max-width:920px;
    margin:100px auto 0;
    padding:0 20px;
}

.eventus-about-closing .section-kicker{
    margin-bottom:14px;
}

.eventus-about-closing h2{
    margin:0 0 24px;
    font-size:clamp(52px,7.5vw,100px);
    font-weight:900;
    line-height:.88;
    letter-spacing:-4px;
}

.eventus-about-closing p{
    max-width:590px;
    margin:0 auto;
    color:#888;
    font-size:13px;
    line-height:1.7;
}


/* TABLET */
@media(max-width:900px){
    .eventus-about-content{
        gap:50px;
        margin-top:52px;
    }

    .eventus-about-highlight{
        max-width:100%;
    }

    .eventus-giving-tree-content{
        padding:50px;
    }

    .eventus-about-services{
        margin-top:90px;
    }

    .eventus-service{
        min-height:175px;
    }
}


/* MOBILE */
@media(max-width:760px){
    .eventus-about{
        padding-bottom:70px;
    }

    .eventus-about-intro h1{
        margin-bottom:20px;
        font-size:clamp(50px,14vw,78px);
        line-height:.9;
        letter-spacing:-3px;
    }

    .eventus-lead{
        font-size:15px;
        line-height:1.6;
    }

    .eventus-about-content{
        gap:38px;
        margin-top:45px;
    }

    .eventus-about-text{
        font-size:13px;
        line-height:1.8;
    }

    .eventus-about-highlight{
        padding-left:22px;
    }

    .eventus-about-highlight h3{
        font-size:36px;
        letter-spacing:-1px;
    }

    .eventus-giving-tree{
        margin-top:65px;
    }

    .eventus-giving-tree-image,
    .eventus-giving-tree-image img{
        min-height:360px;
    }

    .eventus-giving-tree-content{
        padding:40px 25px;
    }

    .eventus-giving-tree-content h2{
        font-size:48px;
        letter-spacing:-2px;
    }

    .eventus-about-services{
        margin-top:75px;
    }

    .eventus-services-heading{
        margin-bottom:30px;
    }

    .eventus-services-heading h2{
        font-size:52px;
        letter-spacing:-2.5px;
    }

    .eventus-service,
    .eventus-service:nth-child(odd),
    .eventus-service:nth-child(even){
        min-height:0;
        padding:28px 0;
    }

    .eventus-about-closing{
        margin-top:75px;
        padding:0;
    }

    .eventus-about-closing h2{
        font-size:clamp(48px,13vw,72px);
        letter-spacing:-2.5px;
    }
}


/* =========================================================
   EVENTUS v2.15
   Typography refinement
   Event / music focused, readable body copy
========================================================= */

/* Small labels stay small, but remain legible. */
.section-kicker,
.eventus-highlight-label,
.eventus-highlight-number {
    font-size: 12px !important;
    line-height: 1.2;
    letter-spacing: 2.5px;
}

/* Main body copy */
.eventus-about-text,
.eventus-lead,
.eventus-giving-tree-content p,
.eventus-about-highlight p,
.eventus-about-closing p {
    font-size: 15px !important;
    line-height: 1.75;
}

/* Lead text gets a little more presence. */
.eventus-lead {
    font-size: 18px !important;
}

/* Feature / statement headings */
.eventus-about-highlight h3 {
    font-size: clamp(36px, 3.4vw, 50px) !important;
    line-height: .98;
}

.eventus-giving-tree-content h2 {
    font-size: clamp(48px, 5vw, 72px) !important;
}

/* Service cards */
.eventus-service > span {
    font-size: 10px !important;
    line-height: 1.2;
}

.eventus-service h3 {
    font-size: 20px !important;
    line-height: 1.2;
}

.eventus-service p {
    font-size: 13px !important;
    line-height: 1.7;
    max-width: 460px;
}

/* Buttons should feel like event CTAs, not tiny UI controls. */
.eventus-btn,
.events-section .eventus-card .eventus-button {
    min-height: 44px;
    padding: 0 20px;
    font-size: 11px !important;
    letter-spacing: 1.4px;
}

/* Homepage / event cards */
.events-section .eventus-card .eventus-card-body h3 {
    font-size: 20px !important;
    line-height: 1.12;
}

.events-section .eventus-card .eventus-card-body p {
    font-size: 13px !important;
    line-height: 1.6;
}

/* Navigation */
.main-nav a {
    font-size: 12px;
    letter-spacing: 1.5px;
}

/* Footer */
.footer-brand p,
.footer-col p,
.footer-col li {
    font-size: 12px;
    line-height: 1.65;
}

.footer-col h3 {
    font-size: 12px;
}

.footer-bottom {
    font-size: 12px;
}

/* Giving Tree / contact content */
.contact-details strong {
    font-size: 14px;
}

.contact-details p {
    font-size: 14px;
    line-height: 1.7;
}

.giving-tree-map-card h3 {
    font-size: 24px;
}

.giving-tree-map-card p,
.giving-tree-map-card a {
    font-size: 13px;
    line-height: 1.7;
}

/* Mobile: keep the type readable instead of shrinking it. */
@media (max-width: 760px) {

    .eventus-about-text,
    .eventus-giving-tree-content p,
    .eventus-about-highlight p,
    .eventus-about-closing p {
        font-size: 14px !important;
    }

    .eventus-lead {
        font-size: 16px !important;
    }

    .eventus-service h3 {
        font-size: 19px !important;
    }

    .eventus-service p {
        font-size: 13px !important;
    }

    .main-nav a {
        font-size: 15px;
    }
}


/* =========================================================
   EVENTUS v2.16
   WooCommerce / MERCH SHOP
   Designed to feel like Eventus, not default WooCommerce.
========================================================= */

/* Shop archive shell */
.woocommerce-shop .site-main,
.post-type-archive-product .site-main {
    background: #050505;
}

.woocommerce-shop .woocommerce,
.post-type-archive-product .woocommerce {
    max-width: var(--eventus-max);
    margin: 0 auto;
    padding: 0 28px 110px;
}

/* Hide the generic breadcrumb on the main shop. */
.woocommerce-shop .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb {
    display: none;
}

/* Shop intro */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    max-width: 850px;
    margin: 0 auto 55px;
    text-align: left;
}

.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(52px, 7vw, 96px);
    font-weight: 900;
    line-height: .88;
    letter-spacing: -4px;
    text-transform: uppercase;
}

.woocommerce-shop .woocommerce-products-header__title::after,
.post-type-archive-product .woocommerce-products-header__title::after {
    content: ".";
    color: var(--eventus-red);
}

/* Product count / sorting */
.woocommerce-shop .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count {
    margin: 0 0 25px;
    color: #777;
    font-size: 12px;
    line-height: 1.5;
}

.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering {
    margin: 0 0 25px;
}

.woocommerce-shop .woocommerce-ordering select,
.post-type-archive-product .woocommerce-ordering select {
    min-height: 42px;
    padding: 0 35px 0 14px;
    border: 1px solid #292929;
    border-radius: 0;
    background: #0b0b0b;
    color: #ddd;
    font-size: 12px;
}

/* Merchandise grid */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.woocommerce-shop ul.products li.product,
.post-type-archive-product ul.products li.product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #0d0d0d;
    border: 1px solid #242424;
    transition:
        transform .3s ease,
        border-color .3s ease,
        background .3s ease;
}

.woocommerce-shop ul.products li.product:hover,
.post-type-archive-product ul.products li.product:hover {
    transform: translateY(-5px);
    background: #111;
    border-color: #3a3a3a;
}

/* Product image */
.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    overflow: hidden;
}

.woocommerce-shop ul.products li.product a img,
.post-type-archive-product ul.products li.product a img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    margin: 0;
    object-fit: cover;
    background: #111;
    transition: transform .5s ease;
}

.woocommerce-shop ul.products li.product:hover a img,
.post-type-archive-product ul.products li.product:hover a img {
    transform: scale(1.025);
}

/* Product information */
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
    margin: 22px 22px 8px;
    padding: 0;
    color: #fff;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.3px;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price {
    margin: 0 22px 18px;
    color: #aaa;
    font-size: 15px;
    font-weight: 700;
}

.woocommerce-shop ul.products li.product .price ins,
.post-type-archive-product ul.products li.product .price ins {
    color: var(--eventus-red);
    text-decoration: none;
}

.woocommerce-shop ul.products li.product .price del,
.post-type-archive-product ul.products li.product .price del {
    color: #666;
}

/* Add to cart */
.woocommerce-shop ul.products li.product .button,
.post-type-archive-product ul.products li.product .button {
    align-self: flex-start;
    margin: auto 22px 22px;
    min-height: 46px;
    padding: 0 21px;
    border: 1px solid var(--eventus-red);
    border-radius: 0;
    background: var(--eventus-red);
    color: #000;
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.woocommerce-shop ul.products li.product .button:hover,
.post-type-archive-product ul.products li.product .button:hover {
    background: #fff;
    border-color: #fff;
    color: #000;
}

/* Sale badge */
.woocommerce-shop ul.products li.product span.onsale,
.post-type-archive-product ul.products li.product span.onsale {
    top: 14px;
    left: 14px;
    right: auto;
    padding: 8px 11px;
    border-radius: 0;
    background: var(--eventus-red);
    color: #000;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

/* Empty shop */
.woocommerce-shop .woocommerce-info,
.post-type-archive-product .woocommerce-info {
    margin: 30px 0;
    padding: 22px;
    border: 1px solid #292929;
    border-top: 2px solid var(--eventus-red);
    border-radius: 0;
    background: #0d0d0d;
    color: #aaa;
}

/* Product detail page */
.single-product .site-main {
    background: #050505;
}

.single-product .woocommerce {
    max-width: var(--eventus-max);
    margin: 0 auto;
    padding: 70px 28px 110px;
}

.single-product .woocommerce-breadcrumb {
    margin-bottom: 45px;
    padding: 0;
}

.single-product div.product div.images {
    margin-bottom: 0;
}

.single-product div.product div.summary {
    padding-left: 35px;
}

.single-product div.product .product_title {
    font-size: clamp(44px, 5vw, 76px);
    letter-spacing: -3px;
}

.single-product div.product .price {
    font-size: 25px !important;
}

.single-product div.product .woocommerce-product-details__short-description {
    max-width: 560px;
    color: #999;
    font-size: 15px;
    line-height: 1.75;
}

.single-product div.product form.cart .button {
    min-height: 50px;
    padding: 0 28px;
    font-size: 11px;
}

/* Cart / checkout keep the same Eventus language */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
    background: #050505;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: var(--eventus-max);
    margin: 0 auto;
    padding: 65px 28px 110px;
}

.woocommerce-cart .shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: #0d0d0d;
    border: 1px solid #292929;
    border-radius: 0;
}

.woocommerce-cart .cart_totals {
    background: #0d0d0d;
}

/* Mobile */
@media (max-width: 900px) {
    .woocommerce-shop .woocommerce,
    .post-type-archive-product .woocommerce {
        padding-right: 22px;
        padding-left: 22px;
    }

    .woocommerce-shop ul.products,
    .post-type-archive-product ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .single-product div.product div.summary {
        padding-left: 0;
    }
}

@media (max-width: 600px) {
    .woocommerce-shop .woocommerce,
    .post-type-archive-product .woocommerce {
        padding-right: 18px;
        padding-left: 18px;
    }

    .woocommerce-shop .woocommerce-products-header,
    .post-type-archive-product .woocommerce-products-header {
        margin-bottom: 40px;
    }

    .woocommerce-shop .woocommerce-products-header__title,
    .post-type-archive-product .woocommerce-products-header__title {
        font-size: 52px;
        letter-spacing: -2.5px;
    }

    .woocommerce-shop ul.products,
    .post-type-archive-product ul.products {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
        font-size: 20px;
    }

    .single-product .woocommerce {
        padding: 45px 18px 80px;
    }

    .single-product div.product .product_title {
        font-size: 46px;
    }

    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding: 45px 18px 80px;
    }
}


/* =========================================================
   EVENTUS v2.17
   WooCommerce cleanup
========================================================= */

/* WooCommerce pages should be full-width.
   Remove the theme's generic sidebar/widgets. */
body.woocommerce-shop #secondary,
body.post-type-archive-product #secondary,
body.single-product #secondary,
body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-page #secondary,
body.woocommerce-shop .sidebar,
body.post-type-archive-product .sidebar,
body.single-product .sidebar,
body.woocommerce-cart .sidebar,
body.woocommerce-checkout .sidebar {
    display: none !important;
}

body.woocommerce-shop #primary,
body.post-type-archive-product #primary,
body.single-product #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-page #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}

/* Shop heading gets proper breathing room below the site header. */
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
    padding-top: 55px;
}

/* Keep the merchandise archive visually balanced. */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products {
    margin-top: 10px;
}

/* Four products across on large screens gives the merch shop a stronger
   retail feel while keeping the cards substantial. */
@media (min-width: 1200px) {
    .woocommerce-shop ul.products,
    .post-type-archive-product ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }
}

/* Product cards: keep all information aligned at the bottom. */
.woocommerce-shop ul.products li.product,
.post-type-archive-product ul.products li.product {
    min-height: 100%;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
    min-height: 47px;
}

/* Product detail: stop the sale badge from colliding with the title. */
.single-product div.product .summary {
    padding-top: 15px;
}

.single-product div.product .product_title {
    margin-top: 0;
    margin-bottom: 18px;
}

/* Product detail metadata is intentionally quiet. */
.single-product div.product .product_meta {
    color: #666;
    font-size: 11px;
    line-height: 1.7;
    border-top: 1px solid #252525;
    padding-top: 18px;
}

/* Product tabs */
.single-product .woocommerce-tabs {
    margin-top: 55px;
}

.single-product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #292929;
}

.single-product .woocommerce-tabs ul.tabs li {
    border: 0;
    border-radius: 0;
    background: transparent;
    margin: 0 22px 0 0;
    padding: 12px 0;
}

.single-product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid var(--eventus-red);
    background: transparent;
}

.single-product .woocommerce-tabs ul.tabs li a {
    color: #aaa;
    font-size: 10px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #fff;
}

.single-product .woocommerce-tabs .panel {
    padding: 28px 0 0;
}

.single-product .woocommerce-tabs .panel h2 {
    margin-bottom: 18px;
    font-size: 22px;
}

/* Related products */
.single-product section.related.products > h2 {
    margin-bottom: 30px;
    font-size: 30px;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.single-product section.related.products ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

/* Cart checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--eventus-red) !important;
    color: #000 !important;
    border-radius: 0 !important;
    min-height: 50px;
    padding: 15px 20px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #fff !important;
    color: #000 !important;
}

/* Remove default WooCommerce list bullets where they leak into widgets. */
.woocommerce-page ul {
    list-style: none;
}

/* Mobile */
@media (max-width: 900px) {
    .single-product section.related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .woocommerce-shop .woocommerce-products-header,
    .post-type-archive-product .woocommerce-products-header {
        padding-top: 35px;
    }

    .single-product section.related.products ul.products {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   EVENTUS v2.18
   Header Account + Cart
========================================================= */

.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-left: auto;
}

.header-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 40px;
    color: #fff;
    text-decoration: none;
}

.header-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: color .2s ease, transform .2s ease;
}

.header-icon:hover {
    color: var(--eventus-red);
}

.header-icon:hover svg {
    transform: translateY(-1px);
}

.header-cart-count {
    position: absolute;
    top: 1px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #176b2a;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

/* Keep the ticket CTA visually separate from the utility icons. */
.header-actions .header-ticket {
    margin-left: 4px;
}

/* Mobile */
@media (max-width: 900px) {
    .header-actions {
        gap: 14px;
    }

    .header-actions .header-ticket {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 600px) {
    .header-actions {
        gap: 10px;
    }

    .header-icon {
        width: 28px;
    }

    .header-icon svg {
        width: 20px;
        height: 20px;
    }

    .header-actions .header-ticket {
        font-size: 10px !important;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* =========================================================
   EVENTUS v2.19
   Custom WooCommerce Product Page
========================================================= */

/* Product page hero */
.eventus-product-page {
    background: var(--eventus-black);
}

.eventus-product-hero {
    padding: 145px 0 55px;
    border-bottom: 1px solid #1e1e1e;
    background:
        radial-gradient(circle at 68% 25%, rgba(255,75,75,.10), transparent 34%),
        #050505;
}

.eventus-product-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 7vw, 92px);
    font-weight: 900;
    line-height: .88;
    letter-spacing: -4px;
    text-transform: uppercase;
}

.eventus-product-hero h1 span {
    color: var(--eventus-red);
}

.eventus-product-section {
    padding: 70px 0 110px;
}

/* Two-column product presentation */
.eventus-product-main {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: 70px;
    align-items: start;
}

.eventus-product-gallery,
.eventus-product-summary {
    min-width: 0;
}

.eventus-product-gallery .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.eventus-product-gallery .woocommerce-product-gallery__wrapper {
    margin: 0;
}

.eventus-product-gallery .woocommerce-product-gallery__image img {
    width: 100%;
    max-height: 760px;
    object-fit: cover;
    background: #111;
}

.eventus-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px !important;
}

.eventus-product-gallery .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

.eventus-product-gallery .flex-control-thumbs img {
    width: 100%;
    opacity: .65;
    transition: opacity .2s ease;
}

.eventus-product-gallery .flex-control-thumbs img:hover {
    opacity: 1;
}

/* Summary */
.eventus-product-summary {
    padding-top: 12px;
}

.eventus-product-summary .eventus-product-label {
    display: block;
    margin-bottom: 15px;
    color: var(--eventus-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.eventus-product-summary .product_title {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(42px, 4.6vw, 70px);
    font-weight: 900;
    line-height: .94;
    letter-spacing: -3px;
    text-transform: uppercase;
}

.eventus-product-summary .price {
    margin: 0 0 25px !important;
    color: #fff !important;
    font-size: 25px !important;
    font-weight: 800;
}

.eventus-product-summary .price del {
    color: #666 !important;
    margin-right: 7px;
}

.eventus-product-summary .price ins {
    color: var(--eventus-red) !important;
    text-decoration: none;
}

.eventus-product-summary .woocommerce-product-details__short-description {
    max-width: 620px;
    margin-bottom: 30px;
    color: #999;
    font-size: 15px;
    line-height: 1.8;
}

.eventus-product-summary .stock {
    margin: 0 0 25px;
    color: #b3b900;
    font-size: 13px;
}

.eventus-product-summary form.cart {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 28px !important;
}

.eventus-product-summary form.cart .quantity {
    margin: 0 !important;
}

.eventus-product-summary form.cart .quantity input.qty {
    width: 70px;
    height: 50px;
    border: 1px solid #292929;
    border-radius: 0;
    background: #0d0d0d;
    color: #fff;
}

.eventus-product-summary form.cart .button {
    min-height: 50px;
    padding: 0 28px;
    border: 1px solid var(--eventus-red);
    border-radius: 0;
    background: var(--eventus-red);
    color: #000;
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.eventus-product-summary form.cart .button:hover {
    border-color: #fff;
    background: #fff;
    color: #000;
}

.eventus-product-summary .product_meta {
    padding-top: 20px;
    border-top: 1px solid #292929;
    color: #666;
    font-size: 11px;
    line-height: 1.8;
}

.eventus-product-summary .product_meta a {
    color: #999;
}

/* Hide the default floating sale badge. We keep the sale information in price. */
.eventus-product-summary .onsale,
.eventus-product-gallery .onsale {
    display: none !important;
}

/* Details, description and reviews */
.eventus-product-details {
    margin-top: 75px;
}

.eventus-product-details .woocommerce-tabs {
    margin: 0 0 75px;
}

.eventus-product-details .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 25px;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #292929;
}

.eventus-product-details .woocommerce-tabs ul.tabs::before,
.eventus-product-details .woocommerce-tabs ul.tabs::after {
    display: none;
}

.eventus-product-details .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.eventus-product-details .woocommerce-tabs ul.tabs li::before,
.eventus-product-details .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.eventus-product-details .woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid var(--eventus-red);
    background: transparent;
}

.eventus-product-details .woocommerce-tabs ul.tabs li a {
    padding: 0;
    color: #777;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.eventus-product-details .woocommerce-tabs ul.tabs li.active a {
    color: #fff;
}

.eventus-product-details .woocommerce-tabs .panel {
    margin: 0;
    padding: 30px 0 0;
    color: #999;
    font-size: 15px;
    line-height: 1.8;
}

.eventus-product-details .woocommerce-tabs .panel h2 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 28px;
    line-height: 1.1;
    text-transform: uppercase;
}

/* Related products use exactly the same visual language as the shop grid. */
.single-product .related.products {
    margin-top: 0;
}

.single-product .related.products > h2 {
    margin: 0 0 30px !important;
    color: #fff;
    font-size: clamp(32px, 4vw, 52px) !important;
    font-weight: 900;
    line-height: .95;
    letter-spacing: -2px !important;
    text-transform: uppercase;
}

.single-product .related.products > h2::after {
    content: ".";
    color: var(--eventus-red);
}

.single-product .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}

.single-product .related.products ul.products li.product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    border: 1px solid #242424;
    border-radius: 0;
    background: #0d0d0d;
    transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.single-product .related.products ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #3a3a3a;
    background: #111;
}

.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    overflow: hidden;
}

.single-product .related.products ul.products li.product a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
    object-fit: cover;
    background: #111;
    transition: transform .5s ease;
}

.single-product .related.products ul.products li.product:hover a img {
    transform: scale(1.025);
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
    min-height: 47px;
    margin: 20px 20px 7px;
    padding: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.12;
}

.single-product .related.products ul.products li.product .price {
    margin: 0 20px 16px;
    color: #aaa;
    font-size: 14px;
    font-weight: 700;
}

.single-product .related.products ul.products li.product .price del {
    color: #666;
}

.single-product .related.products ul.products li.product .price ins {
    color: var(--eventus-red);
    text-decoration: none;
}

.single-product .related.products ul.products li.product .button {
    align-self: flex-start;
    margin: auto 20px 20px;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--eventus-red);
    border-radius: 0;
    background: var(--eventus-red);
    color: #000;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.single-product .related.products ul.products li.product .button:hover {
    border-color: #fff;
    background: #fff;
    color: #000;
}

.single-product .related.products ul.products li.product .onsale {
    top: 12px;
    left: 12px;
    right: auto;
    min-height: 0;
    min-width: 0;
    margin: 0;
    padding: 7px 9px;
    border-radius: 0;
    background: var(--eventus-red);
    color: #000;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

/* Make sure WordPress/WooCommerce widget areas cannot leak into the product page. */
body.single-product #secondary,
body.single-product aside.widget-area,
body.single-product .widget-area,
body.single-product .sidebar,
body.single-product .site-sidebar {
    display: none !important;
}

@media (max-width: 1000px) {
    .eventus-product-main {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .eventus-product-summary {
        padding-top: 0;
    }

    .single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .eventus-product-hero {
        padding: 115px 0 40px;
    }

    .eventus-product-hero h1 {
        font-size: 54px;
        letter-spacing: -2.5px;
    }

    .eventus-product-section {
        padding: 45px 0 80px;
    }

    .eventus-product-main {
        gap: 35px;
    }

    .eventus-product-summary .product_title {
        font-size: 44px;
        letter-spacing: -2px;
    }

    .eventus-product-summary form.cart {
        flex-wrap: wrap;
    }

    .eventus-product-summary form.cart .button {
        flex: 1;
    }

    .eventus-product-details {
        margin-top: 55px;
    }

    .single-product .related.products ul.products {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 100px;
    align-items: start;
}

/* Left content */

.contact-grid > div:first-child {
    padding-top: 5px;
}

.contact-grid .section-title {
    margin-bottom: 30px;
}

.contact-details {
    display: grid;
    gap: 16px;
    margin-top: 0;
}

.contact-details > div {
    display: block;
    color: #aaa;
}

.contact-details a {
    color: #aaa;
}

.contact-details a:hover {
    color: var(--eventus-red);
}

/* =========================================================
   CONTACT FORM
========================================================= */

.eventus-form {
    width: 100%;
}

.eventus-form form {
    width: 100%;
}

/* CF7 rows */

.eventus-form .eventus-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0 0 22px;
}

/* Individual fields */

.eventus-form .eventus-form-field {
    margin: 0 0 22px;
}

.eventus-form .eventus-form-row .eventus-form-field {
    margin-bottom: 0;
}

/* Labels */

.eventus-form label {
    display: block;
    margin-bottom: 8px;

    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.2;
    text-transform: uppercase;
}

/* Inputs */

.eventus-form input[type="text"],
.eventus-form input[type="email"],
.eventus-form input[type="tel"],
.eventus-form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;

    border: 1px solid #292929;
    border-radius: 0;

    background: #0b0b0b;
    color: #fff;

    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;

    outline: none;

    transition: border-color .2s ease,
                background .2s ease;
}

/* Text fields */

.eventus-form input[type="text"],
.eventus-form input[type="email"],
.eventus-form input[type="tel"] {
    height: 52px;
    padding: 0 15px;
}

/* Message */

.eventus-form textarea {
    height: 145px;
    min-height: 145px;
    padding: 14px 15px;
    resize: vertical;
}

/* Placeholder */

.eventus-form input::placeholder,
.eventus-form textarea::placeholder {
    color: #666;
    opacity: 1;
}

/* Focus */

.eventus-form input:focus,
.eventus-form textarea:focus {
    border-color: var(--eventus-red);
    background: #101010;
}

/* Submit */

.eventus-form .eventus-form-submit {
    margin-top: 2px;
}

.eventus-form input[type="submit"] {
    width: auto !important;
    min-width: 170px;
    height: 48px;
    padding: 0 28px;

    border: 1px solid var(--eventus-red);
    border-radius: 0;

    background: var(--eventus-red);
    color: #000;

    font-family: inherit;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;

    cursor: pointer;

    transition: all .2s ease;
}

.eventus-form input[type="submit"]:hover {
    background: #fff;
    border-color: #fff;
    color: #000;
}

/* CF7 validation */

.eventus-form .wpcf7-not-valid {
    border-color: var(--eventus-red) !important;
}

.eventus-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: var(--eventus-red);
    font-size: 11px;
}

/* Response */

.eventus-form .wpcf7-response-output {
    margin: 18px 0 0;
    padding: 12px 15px;
    border: 1px solid #292929;
    color: #aaa;
    font-size: 13px;
}

/* Remove unwanted paragraph spacing from CF7 */

.eventus-form form > p {
    margin: 0;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .eventus-form .eventus-form-row {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }

    .eventus-form .eventus-form-field,
    .eventus-form .eventus-form-row .eventus-form-field {
        margin-bottom: 20px;
    }

}

@media (max-width: 520px) {

    .contact-grid {
        gap: 45px;
    }

    .eventus-form input[type="text"],
    .eventus-form input[type="email"],
    .eventus-form input[type="tel"] {
        height: 50px;
    }

    .eventus-form textarea {
        height: 140px;
        min-height: 140px;
    }

    .eventus-form input[type="submit"] {
        width: 100% !important;
    }

}
/* =========================================================
   EVENTUS GIVING TREE BOOKING FORM
========================================================= */

.eventus-booking-form {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.eventus-booking-form form {
    width: 100%;
}

.eventus-booking-form .eventus-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-bottom: 24px;
}

.eventus-booking-form .eventus-form-field {
    margin-bottom: 24px;
}

.eventus-booking-form .eventus-form-row .eventus-form-field {
    margin-bottom: 0;
}

/* Labels */

.eventus-booking-form label {
    display: block;
    margin-bottom: 9px;

    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.2;
    text-transform: uppercase;
}

/* Inputs */

.eventus-booking-form input[type="text"],
.eventus-booking-form input[type="email"],
.eventus-booking-form input[type="tel"],
.eventus-booking-form input[type="number"],
.eventus-booking-form input[type="date"],
.eventus-booking-form textarea {
    display: block;
    width: 100%;
    height: 52px;
    box-sizing: border-box;

    padding: 0 15px;

    border: 1px solid #292929;
    border-radius: 0;

    background: #0b0b0b;
    color: #fff;

    font-family: inherit;
    font-size: 14px;

    outline: none;
}

/* Number field */

.eventus-booking-form input[type="number"] {
    appearance: textfield;
}

/* Date field */

.eventus-booking-form input[type="date"] {
    color-scheme: dark;
}

/* Message */

.eventus-booking-form textarea {
    height: 145px;
    min-height: 145px;
    padding: 14px 15px;
    line-height: 1.5;
    resize: vertical;
}

/* Placeholder */

.eventus-booking-form input::placeholder,
.eventus-booking-form textarea::placeholder {
    color: #666;
    opacity: 1;
}

/* Focus */

.eventus-booking-form input:focus,
.eventus-booking-form textarea:focus {
    border-color: var(--eventus-red);
    background: #101010;
}

/* Submit */

.eventus-booking-form .eventus-form-submit {
    margin-top: 4px;
}

.eventus-booking-form input[type="submit"] {
    width: auto !important;
    min-width: 210px;
    height: 48px;

    padding: 0 28px;

    border: 1px solid var(--eventus-red);
    border-radius: 0;

    background: var(--eventus-red);
    color: #000;

    font-family: inherit;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;

    cursor: pointer;
}

.eventus-booking-form input[type="submit"]:hover {
    background: #fff;
    border-color: #fff;
}

/* Validation */

.eventus-booking-form .wpcf7-not-valid {
    border-color: var(--eventus-red) !important;
}

.eventus-booking-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: var(--eventus-red);
    font-size: 11px;
}

/* Response */

.eventus-booking-form .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 12px 15px;
    border: 1px solid #292929;
    color: #aaa;
    font-size: 13px;
}

/* Remove CF7 default paragraph spacing */

.eventus-booking-form form > p {
    margin: 0;
}

/* Mobile */

@media (max-width: 767px) {

    .eventus-booking-form {
        max-width: 100%;
    }

    .eventus-booking-form .eventus-form-row {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }

    .eventus-booking-form .eventus-form-field,
    .eventus-booking-form .eventus-form-row .eventus-form-field {
        margin-bottom: 20px;
    }

    .eventus-booking-form input[type="submit"] {
        width: 100% !important;
    }
}

/* =========================================================
   EVENTUS MOBILE RESPONSIVE FIX
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------
       GLOBAL
       ----------------------------------------- */

    html,
    body {
        overflow-x: hidden;
    }

    .eventus-container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }


    /* -----------------------------------------
       HEADER
       ----------------------------------------- */

    .site-header,
    .eventus-header,
    header {
        width: 100%;
        box-sizing: border-box;
    }


    /* -----------------------------------------
       PAGE HERO
       ----------------------------------------- */

    .page-hero,
    .eventus-page-hero {
        padding: 35px 20px 30px;
    }

    .page-hero h1,
    .eventus-page-hero h1 {
        font-size: 42px;
        line-height: 0.95;
    }


    /* -----------------------------------------
       ABOUT INTRO
       ----------------------------------------- */

    .eventus-about-intro {
        padding-top: 25px;
        padding-bottom: 45px;
    }

    .eventus-about-intro h1 {
        font-size: 48px;
        line-height: 0.95;
        letter-spacing: -0.04em;
        margin: 12px 0 20px;
    }

    .eventus-about-intro h1 span {
        display: block;
    }

    .eventus-lead {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.6;
    }


    /* -----------------------------------------
       ABOUT CONTENT
       IMPORTANT: FORCE ONE COLUMN
       ----------------------------------------- */

    .eventus-about-content {
        display: block !important;
        width: 100%;
        margin: 0 0 70px;
    }

    .eventus-about-text {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        margin-bottom: 45px;
    }

    .eventus-about-text p {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 22px;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }


    /* -----------------------------------------
       HIGHLIGHT
       ----------------------------------------- */

    .eventus-about-highlight {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        box-sizing: border-box;
        padding-left: 20px;
        margin-top: 35px;
    }

    .eventus-about-highlight h3 {
        font-size: 32px;
        line-height: 1.05;
        margin: 10px 0 18px;
    }

    .eventus-about-highlight p {
        font-size: 14px;
        line-height: 1.6;
    }


    /* -----------------------------------------
       GIVING TREE FEATURE
       ----------------------------------------- */

    .eventus-giving-tree {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        margin-bottom: 75px;
    }

    .eventus-giving-tree-image {
        width: 100% !important;
        max-width: 100% !important;
    }

    .eventus-giving-tree-image img {
        display: block;
        width: 100%;
        height: auto;
    }

    .eventus-giving-tree-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 30px 25px !important;
        box-sizing: border-box;
    }

    .eventus-giving-tree-content h2 {
        font-size: 38px;
        line-height: 0.98;
        margin: 12px 0 20px;
    }

    .eventus-giving-tree-content p {
        font-size: 15px;
        line-height: 1.65;
    }


    /* -----------------------------------------
       SERVICES
       ----------------------------------------- */

    .eventus-about-services {
        width: 100%;
        margin-bottom: 75px;
    }

    .eventus-services-heading {
        width: 100%;
        margin-bottom: 35px;
    }

    .eventus-services-heading h2 {
        font-size: 44px;
        line-height: 0.95;
    }

    .eventus-services-grid {
        display: block !important;
        width: 100%;
    }

    .eventus-service {
        width: 100% !important;
        min-height: auto !important;
        padding: 25px 0 !important;
        box-sizing: border-box;
        border-bottom: 1px solid #242424;
    }

    .eventus-service h3 {
        font-size: 18px;
        line-height: 1.2;
        margin: 8px 0 10px;
    }

    .eventus-service p {
        font-size: 14px;
        line-height: 1.6;
        max-width: 100%;
    }


    /* -----------------------------------------
       CLOSING
       ----------------------------------------- */

    .eventus-about-closing {
        width: 100%;
        padding: 45px 0 70px;
        text-align: center;
    }

    .eventus-about-closing h2 {
        font-size: 42px;
        line-height: 0.98;
        letter-spacing: -0.03em;
    }

    .eventus-about-closing h2 span {
        display: block;
    }

    .eventus-about-closing p {
        max-width: 100%;
        font-size: 14px;
        line-height: 1.6;
    }


    /* -----------------------------------------
       BUTTONS
       ----------------------------------------- */

    .eventus-btn {
        display: inline-block;
        padding: 14px 22px;
        font-size: 11px;
        letter-spacing: 0.12em;
    }


    /* -----------------------------------------
       KICKERS
       ----------------------------------------- */

    .section-kicker {
        font-size: 9px;
        letter-spacing: 0.25em;
    }


    /* -----------------------------------------
       FOOTER
       ----------------------------------------- */

    .site-footer {
        width: 100%;
    }

}
/* =========================================================
   EVENTUS MOBILE HEADER
   ========================================================= */

@media (max-width: 767px) {

    /* Header */
    .site-header,
    .eventus-header {
        min-height: 72px !important;
        height: 72px !important;
        padding: 0 20px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box;
    }

    /* Logo */
    .site-header .custom-logo,
    .eventus-header .custom-logo,
    .site-header img,
    .eventus-header img {
        max-width: 145px !important;
        max-height: 48px !important;
        width: auto;
        height: auto;
    }

    /* Navigation */
    .main-navigation {
        display: none !important;
    }

    /* Mobile menu button */
    .menu-toggle,
    .mobile-menu-toggle,
    .eventus-menu-toggle {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        margin-left: auto !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer;
        box-shadow: none !important;
    }

    /* Hamburger */
    .menu-toggle::before,
    .mobile-menu-toggle::before,
    .eventus-menu-toggle::before {
        content: "☰";
        display: block;
        color: #fff;
        font-size: 25px;
        line-height: 1;
    }

    /* Remove empty button styling */
    .menu-toggle span,
    .mobile-menu-toggle span,
    .eventus-menu-toggle span {
        display: none;
    }

}
/* =========================================================
   MOBILE PAGE TITLE / BREADCRUMB
   ========================================================= */

@media (max-width: 767px) {

    .page-header,
    .page-hero,
    .eventus-page-hero,
    .eventus-inner-hero {
        min-height: auto !important;
        height: auto !important;
        padding: 28px 20px 30px !important;
        margin: 0 !important;
    }

    .page-header h1,
    .page-hero h1,
    .eventus-page-hero h1,
    .eventus-inner-hero h1 {
        font-size: 42px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    /* Breadcrumb */
    .breadcrumb,
    .breadcrumbs,
    .eventus-breadcrumb {
        font-size: 9px !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
        letter-spacing: 0.12em;
    }

}

/* =========================================================
   EVENTUS v2.20
   Mobile Header + Page Breadcrumb
   Final override
========================================================= */

/* Mobile menu button uses the actual theme class: .mobile-toggle */
.mobile-toggle{
    position:relative;
    display:none;
    width:42px;
    height:42px;
    margin-left:0;
    padding:0;
    border:1px solid #444;
    border-radius:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    box-shadow:none;
}

/* Draw a clean hamburger instead of relying on a text glyph. */
.mobile-toggle::before,
.mobile-toggle::after{
    position:absolute;
    left:10px;
    width:20px;
    height:2px;
    background:#fff;
    content:"";
    transition:transform .24s ease,top .24s ease;
}

.mobile-toggle::before{
    top:15px;
    box-shadow:0 7px 0 #fff;
}

.mobile-toggle::after{
    top:22px;
    display:none;
}

/* When JS adds the open class, turn the hamburger into an X. */
.mobile-toggle.is-open::before{
    top:20px;
    transform:rotate(45deg);
    box-shadow:none;
}

.mobile-toggle.is-open::after{
    top:20px;
    display:block;
    transform:rotate(-45deg);
}

/* Make sure the mobile navigation is above page content. */
@media (max-width:900px){
    .mobile-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 42px;
    }

    .main-nav{
        z-index:999;
    }
}

/* ---------------------------------------------------------
   PAGE HERO / BREADCRUMB
--------------------------------------------------------- */

.page-hero{
    position:relative;
}

.eventus-breadcrumb,
.breadcrumb,
.breadcrumbs{
    display:block;
    margin:0 0 12px;
    color:#777;
    font-size:10px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.eventus-breadcrumb a,
.breadcrumb a,
.breadcrumbs a{
    color:#999;
}

.eventus-breadcrumb a:hover,
.breadcrumb a:hover,
.breadcrumbs a:hover{
    color:var(--eventus-red);
}

.eventus-breadcrumb .separator,
.breadcrumb .separator,
.breadcrumbs .separator{
    margin:0 8px;
    color:#444;
}

/* Keep the page title and breadcrumb grouped together. */
.page-hero .eventus-container{
    width:100%;
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width:767px){

    /* Header must remain compact and horizontal. */
    .site-header{
        min-height:72px !important;
        height:72px !important;
    }

    .header-inner{
        min-height:72px;
        height:72px;
        gap:12px;
    }

    .custom-logo-link{
        width:140px;
        flex:0 0 auto;
    }

    /* Keep account/cart icons visible and put menu at the end. */
    .header-actions{
        gap:10px;
        margin-left:auto;
    }

    .header-actions .header-icon{
        width:28px;
        height:40px;
    }

    .header-actions .header-icon svg{
        width:20px;
        height:20px;
    }

    .mobile-toggle{
        display:flex;
        margin-left:2px;
    }

    /* The actual navigation class is .main-nav, not .main-navigation. */
    .main-nav{
        top:72px;
        height:calc(100vh - 72px);
        padding:18px 20px 30px;
    }

    .main-nav ul{
        display:grid;
        gap:0;
    }

    .main-nav a{
        padding:17px 0;
        font-size:15px;
        letter-spacing:1.5px;
    }

    /* Compact page hero. */
    .page-hero{
        min-height:0 !important;
        height:auto !important;
        align-items:flex-end;
        padding:105px 0 28px !important;
    }

    .page-hero .eventus-container{
        padding-left:20px;
        padding-right:20px;
    }

    .page-hero h1{
        margin:0 !important;
        font-size:42px !important;
        line-height:.95 !important;
        letter-spacing:-1.5px;
    }

    .eventus-breadcrumb,
    .breadcrumb,
    .breadcrumbs{
        margin-bottom:10px;
        font-size:9px;
        letter-spacing:1.2px;
    }
}
/* =========================================================
   EVENTUS v2.21
   MOBILE SHOP GRID FIX
========================================================= */

@media (max-width: 600px) {

    /* Full-width WooCommerce shop area */
    .woocommerce-shop .woocommerce,
    .post-type-archive-product .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* Product grid must be ONE full-width column */
    .woocommerce-shop ul.products,
    .post-type-archive-product ul.products {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 18px !important;
    }

    /* Override WooCommerce's old float/width rules */
    .woocommerce-shop ul.products li.product,
    .post-type-archive-product ul.products li.product {
        display: flex !important;
        float: none !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Product image */
    .woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
    .post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link {
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-shop ul.products li.product a img,
    .post-type-archive-product ul.products li.product a img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
    }

    /* Product title */
    .woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
        margin: 20px 18px 8px !important;
        min-height: 0 !important;
        font-size: 20px !important;
    }

    /* Price */
    .woocommerce-shop ul.products li.product .price,
    .post-type-archive-product ul.products li.product .price {
        margin: 0 18px 18px !important;
        font-size: 14px !important;
    }

    /* Add to cart */
    .woocommerce-shop ul.products li.product .button,
    .post-type-archive-product ul.products li.product .button {
        align-self: flex-start !important;
        margin: auto 18px 18px !important;
    }

    /* Sale badge */
    .woocommerce-shop ul.products li.product span.onsale,
    .post-type-archive-product ul.products li.product span.onsale {
        left: 12px !important;
        right: auto !important;
    }
}

/* =========================================================
   EVENTUS v2.23
   SINGLE PRODUCT IMAGE LIGHTBOX
========================================================= */

body.eventus-lightbox-open{
    overflow:hidden;
}

.eventus-lightbox{
    position:fixed;
    z-index:999999;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    background:rgba(0,0,0,.94);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
}

.eventus-lightbox.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.eventus-lightbox .lightbox-content{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:1200px;
    max-height:92vh;
}

.eventus-lightbox .lightbox-content img{
    display:block;
    width:auto;
    max-width:90vw;
    max-height:88vh;
    object-fit:contain;
}

.eventus-lightbox .lightbox-close{
    position:absolute;
    z-index:2;
    top:-52px;
    right:0;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid #444;
    border-radius:0;
    background:#111;
    color:#fff;
    font-size:28px;
    line-height:40px;
    text-align:center;
    cursor:pointer;
}

.eventus-lightbox .lightbox-close:hover{
    border-color:var(--eventus-red);
    background:var(--eventus-red);
    color:#000;
}

@media(max-width:600px){
    .eventus-lightbox{
        padding:15px;
    }

    .eventus-lightbox .lightbox-content{
        width:100%;
        max-width:100%;
    }

    .eventus-lightbox .lightbox-content img{
        max-width:94vw;
        max-height:82vh;
    }

    .eventus-lightbox .lightbox-close{
        top:-50px;
    }
}

/* =========================================
   CONTACT INFORMATION
   ========================================= */

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 34px;
}

.contact-item svg {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    margin-top: 2px;
    fill: none;
    stroke: #ff4b4b;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-item > div {
    flex: 1;
}

.contact-item strong {
    display: block;
    margin-bottom: 10px;
}

.contact-item p {
    margin: 0;
}

.contact-item a {
    color: inherit;
    text-decoration: none;
}

.contact-item a:hover {
    color: #ff4b4b;
}


/* =========================================
   CONTACT ICON SPACING
   ========================================= */

.contact-details .contact-item:last-child {
    margin-bottom: 0;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 768px) {

    .contact-item {
        gap: 14px;
        margin-bottom: 28px;
    }

    .contact-item svg {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

}

/* =========================================================
   EVENTUS SIZE CHART BUTTON
========================================================= */

.eventus-size-chart-button {
    display: inline-block;
    margin: 12px 0 22px;
    padding: 0;

    border: 0;
    background: none;
    color: #ffffff;

    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.5;
    text-transform: uppercase;

    cursor: pointer;
    position: relative;

    transition: color 0.2s ease;
}

.eventus-size-chart-button::after {
    content: "";
    display: block;

    width: 100%;
    height: 1px;
    margin-top: 3px;

    background: #ff4b4b;
}

.eventus-size-chart-button:hover {
    background: none;
    border: 0;
    color: #ff4b4b;
}


/* =========================================================
   SIZE CHART MODAL
========================================================= */

.eventus-size-chart-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.eventus-size-chart-modal.is-open {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   MODAL BACKGROUND
========================================================= */

.eventus-size-chart-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.82);

    cursor: pointer;
}


/* =========================================================
   MODAL CONTENT
========================================================= */

.eventus-size-chart-content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 760px;
    max-height: 90vh;

    padding: 45px;

    overflow-y: auto;

    background: #ffffff;
    color: #111111;

    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.eventus-size-chart-close {
    position: absolute;
    top: 18px;
    right: 20px;

    width: 40px;
    height: 40px;

    padding: 0;

    border: 0;
    background: transparent;
    color: #111111;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;
}

.eventus-size-chart-close:hover {
    background: transparent;
    color: #ff4b4b;
}


/* =========================================================
   MODAL HEADING
========================================================= */

.eventus-size-chart-content h2 {
    margin: 8px 0 30px;

    font-size: 38px;
    line-height: 1.05;
}

.eventus-size-chart-content h2 span {
    color: #ff4b4b;
}


/* =========================================================
   SIZE CHART TABLE
========================================================= */

.eventus-size-chart-table {
    width: 100%;
    overflow-x: auto;
}

.eventus-size-chart-table table {
    width: 100%;

    border-collapse: collapse;

    font-size: 14px;
}

.eventus-size-chart-table th,
.eventus-size-chart-table td {
    padding: 14px 12px;

    border-bottom: 1px solid #dddddd;

    text-align: center;
    white-space: nowrap;
}

.eventus-size-chart-table th {
    background: #111111;
    color: #ffffff;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.eventus-size-chart-table td:first-child {
    font-weight: 700;
}


/* =========================================================
   SIZE CHART NOTE
========================================================= */

.eventus-size-chart-note {
    margin: 22px 0 0;

    font-size: 13px;
    line-height: 1.6;
    color: #666666;
}


/* =========================================================
   PREVENT PAGE SCROLL WHEN MODAL IS OPEN
========================================================= */

body.eventus-size-chart-open {
    overflow: hidden;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .eventus-size-chart-modal {
        padding: 15px;
    }

    .eventus-size-chart-content {
        max-height: 90vh;
        padding: 35px 20px 25px;
    }

    .eventus-size-chart-content h2 {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .eventus-size-chart-table table {
        min-width: 600px;
    }

    .eventus-size-chart-table th,
    .eventus-size-chart-table td {
        padding: 11px 10px;
        font-size: 12px;
    }

    .eventus-size-chart-close {
        top: 10px;
        right: 10px;
    }

}