/*
 * unpli — override KIOSK (body.bon-kiosk-navigation).
 * Split per-variante (Fase 8) dal monolite unpli.css.
 */
    body.is-unpli-page #tosc-topbar,
    body.is-unpli-page.bon-mobile-navigation:not(.bon-kiosk-navigation) #tosc-topbar,
    body.is-unpli-page.bon-kiosk-navigation #tosc-topbar,
    body.is-unpli-page.bon-kiosk-request #tosc-topbar {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    @media (min-width: 1180px) {
        body.is-panel-runtime.is-panel.is-unpli-page.bon-kiosk-navigation dw-gen-detail-page-list .entries-list,
        body.is-panel-runtime.is-panel.is-unpli-page.bon-kiosk-navigation .entries-list,
        body.is-panel-runtime.is-panel.is-unpli-page.bon-kiosk-navigation .events-list {
            display: grid !important;
            grid-template-columns: repeat(var(--bon-panel-grid-columns, 5), minmax(0, 1fr)) !important;
            gap: 0.9rem !important;
            width: min(100%, 1170px) !important;
            max-width: 1170px !important;
            margin-left: auto !important;
            margin-right: auto !important;
            align-items: stretch !important;
        }
    }

/*
 * Dettaglio evento Pro Loco in kiosk.
 * Le regole base UNPLI usano selettori larghi su [class*="detail"]; qui
 * ripristiniamo una scheda compatta, leggibile e fuori dalla dock inferiore.
 */
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc-main {
    width: 100% !important;
    max-width: 1170px !important;
    margin: 0 auto !important;
    padding: 18px 24px 156px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #view-eventi,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-shell {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    max-height: calc(100vh - 174px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 1.15rem !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.16) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-hero,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-body,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-main,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-kicker,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-facts,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-section,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-desc,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-panel {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-hero {
    position: relative !important;
    height: clamp(210px, 32vh, 280px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(220, 38, 38, 0.16), transparent 30%),
        linear-gradient(135deg, #f8fafc, #e2e8f0) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-hero img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-close {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 2 !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    display: none !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, 0.84) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-body {
    padding: clamp(1rem, 2vw, 1.55rem) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px) !important;
    gap: 1.25rem !important;
    align-items: start !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-main {
    min-width: 0 !important;
    display: grid !important;
    gap: 0.95rem !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-kicker {
    padding: 0 !important;
    color: #dc2626 !important;
    font-size: 0.68rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail h1 {
    margin: 0.12rem 0 0 !important;
    color: #0f172a !important;
    max-width: none !important;
    font-size: clamp(1.55rem, 3vw, 2.2rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-facts {
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.7rem !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-fact {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0.72rem 0.82rem !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-areas:
        "icon label"
        "icon value" !important;
    column-gap: 0.72rem !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 0.85rem !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
    overflow: hidden !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-fact svg {
    grid-area: icon !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0.48rem !important;
    border-radius: 0.72rem !important;
    color: #dc2626 !important;
    background: #fef2f2 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    box-sizing: border-box !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-fact span {
    grid-area: label !important;
    color: #64748b !important;
    font-size: 0.68rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-fact strong {
    grid-area: value !important;
    min-width: 0 !important;
    color: #0f172a !important;
    font-size: 0.9rem !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-section {
    padding: 0 !important;
    display: grid !important;
    gap: 0.62rem !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-section h2,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-panel h2 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 0.82rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-desc {
    padding: 0 !important;
    color: #334155 !important;
    font-size: clamp(0.98rem, 1.1vw, 1.06rem) !important;
    line-height: 1.68 !important;
    text-align: left !important;
    hyphens: auto !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-panel {
    align-self: start !important;
    position: sticky !important;
    top: 1rem !important;
    padding: 1rem !important;
    display: grid !important;
    gap: 0.78rem !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 0.95rem !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-panel p {
    margin: 0 !important;
    color: #475569 !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row {
    display: grid !important;
    gap: 0.18rem !important;
    width: 100% !important;
    padding: 0.72rem 0 !important;
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
    text-align: left !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-qr-btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 0.82rem 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    border: 0 !important;
    border-radius: 0.82rem !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    font: 950 0.84rem/1 "Lato", sans-serif !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: 0 10px 24px rgba(220, 38, 38, 0.22) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-qr-btn svg {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.4 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--qr,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--link {
    padding: 0.72rem 0.78rem !important;
    margin-top: 0.5rem !important;
    border: 0 !important;
    border-radius: 0.72rem !important;
    background: #15803d !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(21, 128, 61, 0.22) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--qr > span:first-child,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--link > span:first-child {
    color: rgba(255, 255, 255, 0.68) !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact {
    color: #0f172a !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
    text-decoration: none !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--qr .tosc-local-contact,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-row--link .tosc-local-contact {
    width: 100% !important;
    max-width: 100% !important;
    color: #ffffff !important;
}

@media (max-width: 900px) {
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc-main {
        padding: 14px 14px 138px !important;
    }

    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail {
        max-height: calc(100vh - 156px) !important;
        border-radius: 1rem !important;
    }

    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-hero {
        height: clamp(180px, 30vh, 230px) !important;
    }

    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-detail-body {
        grid-template-columns: 1fr !important;
        padding: 1rem !important;
    }

    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request).tosc-detail-active #tosc_eventi .tosc-local-contact-panel {
        position: static !important;
    }
}

/* Kiosk Event Calendar layout overrides for UNPLI */
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0.75rem 1.5rem 6.5rem !important;
    box-sizing: border-box !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc_eventi .tosc-kiosk-events-layout {
    display: grid !important;
    grid-template-columns: 380px minmax(0, 1fr) !important;
    gap: 1.25rem !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc_eventi .tosc-local-grid,
body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) .tosc-local-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.95rem !important;
    width: 100% !important;
    padding-bottom: 7rem !important;
}

@media (max-width: 1550px) {
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc_eventi .tosc-local-grid,
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) .tosc-local-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0.9rem !important;
    }
}

@media (max-width: 1300px) {
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc_eventi .tosc-local-grid,
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) .tosc-local-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.85rem !important;
    }
}

@media (max-width: 1050px) {
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) #tosc_eventi .tosc-local-grid,
    body.is-unpli-page:is(.bon-kiosk-navigation, .bon-kiosk-request) .tosc-local-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.85rem !important;
    }
}
