:root {
    --bs-border-color: #dee2e6;
}

.pacchetto .card,
.struttura .card,
.alloggio .card {
    transition: all 0.3s ease;
}
.pacchetto:hover .card,
.struttura:hover .card,
.alloggio:hover .card {
    background: var(--dx-body-color);
}
.pacchetto .card img,
.struttura .card img,
.alloggio .card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 0.5rem;
}
.navbar-menu .nav-item .nav-link.amw-active {
    color: var(--dx-sidebar-link-active-color);
    background-color: var(--dx-sidebar-link-bg-active-color);
}
.swiper {
    background: transparent !important;
}
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
.swiper-slide img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 0.5rem;
}

.pagina-tableau .tableau-controls .form-inline {
    display: flex;
    align-items: end;
}

@media (min-width: 768px) {
    .pagina-tableau .form-inline .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
    }
}
.btn.btn-icon {
    height: 1.5625rem;
}
#modalImgSrc {
    width: 100%;
    height: auto;
    max-height: 90vh;
}
svg.elimina_sezione {
    cursor: pointer;
}


[data-lucide], .lucide, svg.lucide {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    stroke-width: 2px;
    stroke: currentColor;
    fill: none;
}

svg.lcd-xs { width: 0.75em; height: 0.75em; }
svg.lcd-sm { width: 0.875em; height: 0.875em; }
svg.lcd-lg { width: 1.25em; height: 1.25em; vertical-align: -0.2em; }
svg.lcd-xl { width: 1.50em; height: 1.50em; vertical-align: -0.25em; }

svg.lcd-2x { width: 2em; height: 2em; }
svg.lcd-3x { width: 3em; height: 3em; }
svg.lcd-4x { width: 4em; height: 4em; }
svg.lcd-5x { width: 5em; height: 5em; }

svg.lcd-thin { stroke-width: 1px; }
svg.lcd-bold { stroke-width: 3px; }

svg.lcd-spin { animation: lcd-spin 2s linear infinite; }
@keyframes lcd-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Text button stile Material (standard di modal e pagine del gestionale) */
.btn-testo {
    border: 0;
    border-radius: .375rem;
    padding: .25rem .5rem;
    color: var(--dx-primary);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-decoration: none;
}
.btn-testo:hover { background: rgba(var(--dx-primary-rgb), .08); color: var(--dx-primary); }

/* Switch del template (.form-switch label-based, es. switch-solid-primary):
   il template non prevede lo stato disabled -> lo rendiamo leggibile e inerte.
   NB: i form-switch standard Bootstrap NON funzionano col template (admin.css
   nasconde input[type=checkbox] dentro .form-switch): usare sempre il pattern
   <div class="form-switch switch-solid-primary"><input id=x><label for=x></label></div> */
.form-switch input:disabled + label {
    opacity: .5;
    pointer-events: none;
}

/* Switch (form-switch) ben visibili nel gestionale: track grigio da spento, primary da acceso */
.form-switch .form-check-input {
    background-color: #e2e8f0;
    border-color: #cbd5e1;
}
.form-switch .form-check-input:checked {
    background-color: var(--dx-primary, #4f46e5);
    border-color: var(--dx-primary, #4f46e5);
}
.form-check-input:focus {
    border-color: var(--dx-primary, #4f46e5);
    box-shadow: 0 0 0 .15rem rgba(79, 70, 229, .25);
}
/* ============================================================
   Voci di menu visibili SOLO ai superadmin: Master::getSidebar
   aggiunge .nav-link-superadmin quando nessun tipo >=2 le vede,
   e la nota-legenda .nav-superadmin-nota a fondo menu.
   ============================================================ */
#main-sidebar .nav-link.nav-link-superadmin .content,
#main-sidebar .nav-link.nav-link-superadmin .icons { color: #ffdd9c; }
#main-sidebar .nav-superadmin-nota {
    color: #ffdd9c;
    font-size: .68rem;
    padding: 8px 18px 4px;
    opacity: .85;
    list-style: none;
}
