:root {
    --ws-bg-background:#f2f2f2;
}
body{
    background-color:var(--ws-bg-background)
}
.scroll-down-arrow {
    font-size: 5rem;
    color: #FFF;
    animation: arrowBounce 1.2s infinite;
}

@keyframes arrowBounce {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }

    100% {
        transform: translateY(0);
    }
}

.border-radius-1{
    border-radius:1rem;
}

@media (max-width: 767px) {
    .container-md,
    .container-lg {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Ricerca condivisa fra home eventi e home evento. */
.live-search-wrap { position:relative; flex:1; min-width:0; }
.live-search { min-height:50px; padding:12px 16px 12px 44px; border:1px solid #dce3e9; border-radius:12px; background-color:#fff; font-size:16px; line-height:24px; }
.live-search::placeholder { color:var(--bs-secondary-color,#6c757d); opacity:1; }
.live-search-icon { position:absolute; top:50%; left:16px; transform:translateY(-50%); color:var(--bs-secondary-color,#6c757d); pointer-events:none; }
.live-search:focus { border-color:#64b5e1; box-shadow:0 0 0 3px rgb(100 181 225 / 20%); }

/* ============================
   Utility Responsive Larghezze
   ============================ */

/* ---- xs (default) ---- */
.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

/* ---- SM ≥ 576px ---- */
@media (min-width: 576px) {

    .w-sm-100 {
        width: 100% !important;
    }

    .w-sm-auto {
        width: auto !important;
    }
}

/* ---- MD ≥ 768px ---- */
@media (min-width: 768px) {

    .w-md-100 {
        width: 100% !important;
    }

    .w-md-auto {
        width: auto !important;
    }
}

/* ---- LG ≥ 992px ---- */
@media (min-width: 992px) {
    .w-lg-100 {
        width: 100% !important;
    }

    .w-lg-auto {
        width: auto !important;
    }
}

/* ---- XL ≥ 1200px ---- */
@media (min-width: 1200px) {

    .w-xl-100 {
        width: 100% !important;
    }

    .w-xl-auto {
        width: auto !important;
    }
}

/* ---- XXL ≥ 1400px ---- */
@media (min-width: 1400px) {

    .w-xxl-100 {
        width: 100% !important;
    }

    .w-xxl-auto {
        width: auto !important;
    }
}

/* swiper */
@media (max-width: 639px) {
    .mySwiper {
        padding-right: 50px;
        padding-left: 50px;
    }
    /* Slide base */
    .mySwiper .swiper-slide {
        transform: scale(0.9) !important;
        opacity: 0.5;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    /* Slide attiva */
    .mySwiper .swiper-slide-active {
        transform: scale(1) !important;
        opacity: 1;
    }
}

/* wrapper deve allineare in altezza */
.mySwiper .swiper-wrapper {
    align-items: stretch;
}

/* ogni slide deve occupare tutta l’altezza disponibile */
.mySwiper .swiper-slide {
    height: auto;
    display: flex;
}
/* Bootstrap-style line clamp utilities */
.line-clamp-2,
.line-clamp-3,
.line-clamp-4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    -webkit-line-clamp: 2;
}

.line-clamp-3 {
    -webkit-line-clamp: 3;
}

.line-clamp-4 {
    -webkit-line-clamp: 4;
}

/*TimeLine*/
.tl {
    position: relative;
}

    .tl:before {
        content: "";
        position: absolute;
        left: 14px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--bs-border-color);
        opacity: .7;
    }

.tl-item {
    position: relative;
    padding-left: 44px;
}

.tl-dot {
    position: absolute;
    left: 6px;
    top: 18px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 2px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    display: grid;
    place-items: center;
}

    .tl-dot i {
        font-size: 12px;
    }



.live-footer { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px 28px; padding:24px 16px; color:#687c87; }
.event-page .live-footer { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
.live-language { position:relative; font-size:14px; }
.live-language summary { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #dce3e9; border-radius:8px; cursor:pointer; background:#fff; color:#48616e; list-style:none; }
.live-language summary::-webkit-details-marker { display:none; }
.live-language img { width:20px; height:14px; object-fit:contain; }
.live-language nav { position:absolute; bottom:calc(100% + 6px); left:0; z-index:1031; min-width:170px; padding:6px; background:#fff; border:1px solid #dce3e9; border-radius:10px; box-shadow:0 5px 20px #223b4620; }
.live-language nav a { display:flex; align-items:center; gap:10px; padding:10px; border-radius:6px; text-decoration:none; color:#48616e; white-space:nowrap; }
.live-language nav a:hover,.live-language nav a[aria-current="true"] { background:#eef3f6; }
.live-language summary:focus-visible,.live-language nav a:focus-visible { outline:2px solid #1769e0; outline-offset:2px; }

.skip-link{position:fixed;top:-100px;left:1rem;z-index:10000;padding:.75rem 1rem;background:#fff;color:#142a42;border:2px solid currentColor;border-radius:.25rem}.skip-link:focus{top:1rem}
