:root {
    --fn-font-sans-serif: "Twemoji Country Flags", "Inter", sans-serif;
    --fn-font-monospace: "Twemoji Country Flags", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

* {
    scroll-margin-top: 125px;
}

.bg-industriale {
    background-color: #009741 !important;
}

.btn-industriale {
    background-color: #009741 !important;
    border-color: #009741 !important;
    color: white;
}

.btn-industriale:hover {
    background-color: #00863e !important;
    border-color: #00863e !important;
    color: white;
}

.btn-industriale:active {
    background-color: #007a3a !important;
    border-color: #007a3a !important;
    color: white;
}

.btn-outline-industriale {
    color: #009741 !important;
    border-color: #009741 !important;
}

.btn-outline-industriale:hover {
    color: #00863e !important;
    border-color: #00863e !important;
}

.btn-outline-industriale:active {
    color: #007a3a !important;
    border-color: #007a3a !important;
}

.bg-gradient-industriale {
    background: rgb(0, 151, 65);
    background: linear-gradient(180deg, rgba(0, 151, 65, 1) 81%, rgba(40, 167, 95, 0.8561799719887955) 91%, rgba(255, 255, 255, 1) 100%);
}


.hover-scale:hover {
    scale: 1.3;
    transition: all 0.3s ease-in-out;
}

.hover-scale:hover .fi-star {
    transition: all 0.3s ease-in-out;
    color: rgb(232, 202, 29);
}

.text-underline {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

[role="switch"] {
    cursor: pointer;
}

.max-h-500 {
    max-height: 500px;
}

.text-industriale {
    color: #009741 !important;
}

/* Riduci dimensioni delle frecce */
.swiper-button-prev,
.swiper-button-next {
    width: 30px;
    /* Regola la larghezza */
    height: 30px;
    /* Regola l'altezza */
    font-size: 16px;
    /* Regola la dimensione dell'icona */
}

/* Se vuoi ridurre ulteriormente la freccia interna */
.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 16px;
    /* Cambia la dimensione della freccia */
}


.highlight {
    background-color: yellow;
}

.alert-industriale {
    background-color: #00974188 !important;
    color: white !important;
}

.border-industriale {
    border-color: #009741 !important;
}

/* Width utilities */
.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

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

/* Small devices (sm) */
@media (min-width: 576px) {
    .w-sm-25 {
        width: 25% !important;
    }

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

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

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

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

/* Medium devices (md) */
@media (min-width: 768px) {
    .w-md-25 {
        width: 25% !important;
    }

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

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

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

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

/* Large devices (lg) */
@media (min-width: 992px) {
    .w-lg-25 {
        width: 25% !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .w-lg-75 {
        width: 75% !important;
    }

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

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

/* Extra large devices (xl) */
@media (min-width: 1200px) {
    .w-xl-25 {
        width: 25% !important;
    }

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

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

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

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

input.custom-disabled {
    background-color: rgb(245, 247, 250) !important;
    border: 1px dashed #E0E5EB;
}

/* Effetto descrizione scheda prodotto */
.description-container {
    position: relative;
    max-height: 4em; /* Altezza fissa per circa 3-4 righe */
    overflow: hidden;
}

.description-text {
    margin-bottom: 0;
    line-height: 1.3;
    color: #6c757d;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.description-fade-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2em;
    background: linear-gradient(
        to bottom, 
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0.3) 30%,
        rgba(255, 255, 255, 0.7) 60%,
        rgba(255, 255, 255, 1) 100%
    );
    pointer-events: none;
    z-index: 1;
}

.description-fade-mask {
    mask-image: linear-gradient(
        to bottom,
        black,
        rgba(0, 0, 0, 0.2) 80%
    );
    mask-size: 100% 100%;
    mask-position: 0 0;
    mask-repeat: no-repeat;
    pointer-events: none;
}

.form-check {
    display: block;
    min-height: 0px !important; 
    padding-left: 1.5em;
    margin-bottom: 0px !important;
    font-size: .7rem !important;
}

.form-select {
    --fn-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234e5562' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    display: block;
    width: 100%;
    padding: 2px 10px 2px 10px !important;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--fn-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: var(--fn-form-select-bg-img),var(--fn-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 15px 11px;
    border: var(--fn-border-width) solid #cad0d9;
    border-radius: var(--fn-border-radius);
    box-shadow: var(--fn-box-shadow-inset);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

.form-check-label {
    font-size: .7rem !important;
}

.choices__list--single {
    display: inline-block;
    padding: 4px 16px 4px 4px;
    width: 100%;
    font-size: .7rem !important;
}

.form-control, .form-select {
    --fn-form-control-bg: #fff;
    --fn-form-control-border-color: #cad0d9;
    --fn-form-control-focus-bg: #fff;
    --fn-form-control-focus-border-color: #111827;
    background-color: var(--fn-form-control-bg);
    border-color: var(--fn-form-control-border-color);
    font-size: .7rem !important;
}

/* Text truncation utilities */
.text-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.text-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.text-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}


.form-check-input:checked[type=checkbox] {
    --fn-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked {
    background-color: #009741 !important;
    border-width: 0px !important;
}

.form-check-input {
    zoom: 1.05;
}

.mobile-zoom {
    zoom: 1.0;
}

@media (max-width: 992px) {
    .mobile-zoom {
        zoom: 1.25;
    }
}

/* Override per stretched-link sulla descrizione */
.stretched-link-override {
    position: relative !important;
    z-index: 1000 !important;
    pointer-events: auto !important;
}

.stretched-link-override::before {
    content: none !important;
}

.stretched-link-override::after {
    content: none !important;
}

/* Assicurati che i paragrafi dentro la descrizione mantengano gli stili */
.stretched-link-override p {
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
    color: #6c757d !important;
}