/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .mw-1620-sm {
        max-width: 1620px;
    }
    .border-bottom-sm-0 {
        border-bottom: 0 !important;
    }
    .border-bottom-sm-2 {
        border-bottom: 2px solid var(--bs-border-color) !important;
    }
    .border-start-sm-2 {
        border-left: 2px solid var(--bs-border-color) !important;
    }
    .border-light {
        border-color: rgba(
            var(--bs-light-rgb),
            var(--bs-border-opacity)
        ) !important;
    }
    .bg-sm-transparent {
        --bs-bg-opacity: 1;
        background-color: transparent !important;
    }
    .border-sm-white {
        --bs-border-opacity: 1;
        border-color: rgba(
            var(--bs-white-rgb),
            var(--bs-border-opacity)
        ) !important;
    }
    .position-sm-absolute {
        position: absolute !important;
    }
    .rounded-sm-pill {
        border-radius: var(--bs-border-radius-pill) !important;
    }
    .translate-sm {
        transform: translate(var(--spaceX, 50%), var(--spaceY, 50%)) !important;
    }
    .w-sm-33 {
        width: 33.333% !important;
    }
    .w-sm-25 {
        width: 25% !important;
    }
    .w-sm-50 {
        width: 50% !important;
    }
    .w-sm-75 {
        width: 75% !important;
    }
    .w-sm-100 {
        width: 100% !important;
    }
    .z-sm-3 {
        z-index: 3 !important;
    }
    .drop {
        left: -1rem;
        top: -2.5rem;
        transform: none;
        width: 100px;
    }
    .swiperModuli .swiper-slide {
        width: calc(100% / 6) !important;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .border-md-start {
        border-left: var(--bs-border-width) var(--bs-border-style)
            var(--bs-border-color) !important;
    }
    .flex-childs-md-3 > * {
        flex: 0 0 calc((100% - 1.5rem * 2) / 3) !important;
    }
    .position-md-absolute {
        position: absolute !important;
    }
    .translate-middle-md-y {
        transform: translateY(-50%) !important;
    }
    .w-md-75 {
        width: 75% !important;
    }
    .w-md-100 {
        width: 100% !important;
    }
    .transform-md-0 {
        transform: none !important;
    }
    .bg-shadow-custom {
        background-image: linear-gradient(
            to right,
            var(--white),
            var(--bs-light)
        );
    }
    .mascotte-right {
        left: auto !important;
        right: -3rem;
    }
    .mascotte-left {
        right: auto !important;
        left: 50%;
        transform: translateX(-2rem);
    }
    .image-circle-clouds {
        transform: translate(0, -50%);
    }
    .image-circle-clouds .cloud-small {
        left: 25% !important;
        top: -15% !important;
    }
    .image-circle-clouds + * {
        transform: translate(15%, 15%);
    }
    .freccia-spirale {
        left: 10%;
        top: -30px;
        transform: rotate(350deg);
    }
    .barra {
        height: 100% !important;
        width: 6px !important;
    }
    .bg-lin-light {
        background: linear-gradient(to left, var(--bs-light), white);
    }
    .swiperModuli .swiper-slide {
        width: calc(100% / 8) !important;
    }
}
/* Large devices (desktops, 992px and up) */
@media (max-width: 1199.98px) and (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        --bs-navbar-nav-link-padding-x: 0.25rem;
        font-size: 14px;
    }
}
@media (min-width: 992px) {
    /* Header base: prepara le transizioni */
    #header {
        background: #FFF;
        z-index: 1030;
        transition: transform 280ms ease, opacity 280ms ease, box-shadow 280ms ease;
        will-change: transform;
        backface-visibility: hidden;
        transform: translateZ(0);
    }

    /* Quando è in modalità fixed */
    #header.is-fixed {
        position: fixed !important;
        top: 0; left: 0; right: 0;
    }

    /* Stato visibile */
    #header.is-shown {
      transform: translateY(0);
      opacity: 1;
      box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    }

    /* Stato nascosto (scivola su) */
    #header.is-hidden {
      transform: translateY(-110%);
      opacity: 0.98;
      box-shadow: none;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .border-lg-0 {
        border: 0 !important;
    }
    .flex-self-lg-100 {
        flex: 0 0 100% !important;
    }
    .flex-childs-lg-4 > * {
        flex: 0 0 calc((100% - 1.5rem * 3) / 4) !important;
    }
    .overflow-lg-visible {
        overflow: visible !important;
    }
    .position-lg-absolute {
        position: absolute !important;
    }
    .rounded-lg-4 {
        border-radius: var(--bs-border-radius-xl) !important;
    }
    .rotate-lg {
        transform: rotate(var(--deg, 8deg));
    }
    .start-lg {
        left: var(--left, 0) !important;
    }
    .translate-middle-lg-y {
        transform: translateY(-50%) !important;
    }
    .translate-middle-lg {
        transform: translate(-50%, -50%) !important;
    }
    .translate-lg {
        transform: translate(var(--spaceX, 0), var(--spaceY, 0)) !important;
    }

    .w-container-lg {
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        width: 100%;
        padding-right: calc(var(--bs-gutter-x) * 0.5);
        padding-left: calc(var(--bs-gutter-x) * 0.5);
        margin-right: auto;
        margin-left: auto;
        max-width: 960px;
    }
    .w-lg-50 {
        width: 50% !important;
    }
    .w-lg-75 {
        width: 75% !important;
    }
    .w-lg-85 {
        width: 85% !important;
    }
    .w-lg-100 {
        width: 100% !important;
    }
    /*  */
    /* HEADER */
    .dropdown-menu:not(.dropdown-base) {
        right: auto;
        left: 0;
        opacity: 0;
        transform: translateY(2rem);
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 220ms ease,
            transform 220ms ease,
            visibility 0ms linear 220ms;
        border-radius: 0;
        border: 0;
        max-height: 100vh;
        width: 100%;
    }
    .dropdown-menu:not(.dropdown-base).show {
        opacity: 1;
        transform: translateY(-10px);
        visibility: visible;
        pointer-events: auto;
        box-shadow: 0 10px 10px -10px  rgba(0, 0, 0, 0.25);
        transition:
            opacity 220ms ease,
            transform 220ms ease,
            visibility 0ms linear 0ms;
    }
    .dropdown-menu.dropdown-base {
        opacity: 0;
        transform: translateY(2rem);
        visibility: hidden;
        transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
        border-radius: 0;
        border: 0;
    }
    .dropdown-menu.dropdown-base,
    .dropdown-menu.dropdown-base.show,
    .dropdown-user .dropdown-menu,
    .dropdown-user .dropdown-menu.show {
        left: auto;
        right: 0;
        text-align: end;
        width: fit-content;
    }
    .dropdown-menu.dropdown-base.show,
    .dropdown-user .dropdown-menu.show {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
        box-shadow: 0 0 0.5rem #90909088;
    }
    .dropdown-menu.dropdown-base.show {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }
    /* END HEADER */
    /*  */
    /*  */
    /*  */
    /* Expanding Cards */
    .expanding-cards .expanding {
        min-width: 60px;
        transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
    }
    .expanding-cards .expanding.active {
        flex-grow: 10000;
        transform: scale(1);
        max-width: 600px;
        background-size: auto 100%;
    }
    .expanding-cards .expanding:not(.active) {
        flex-shrink: 10000;
    }
    .expanding-cards .expanding .label,
    .expanding-cards .expanding:not(.active) .icon > div {
        transition: all 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
    }
    .expanding-cards .expanding:not(.active) .label {
        left: 50% !important;
        transform: translateX(-50%);
        justify-content: center;
        column-gap: 0 !important;
    }
    .expanding-cards .expanding .icon > div {
        background-color: var(--white);
        border: 1px solid var(--purple-soft);
        width: 50px;
        height: 50px;
        transition: all 0.4s ease;
    }
    .expanding-cards .expanding:not(.active) .icon > div {
        color: var(--purple-soft);
    }
    .expanding-cards .expanding.active .icon > div {
        background-color: var(--purple-soft);
        border: 1px solid color-mix(in srgb, var(--purple-soft) 50%, #fff 40%);
    }
    .expanding-cards .expanding .info {
        overflow: hidden;
        transition: all 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95) 0.1s;
    }
    .expanding-cards .expanding:not(.active) .info {
        opacity: 0;
        height: 0;
        transform: translateY(50%);
        visibility: hidden;
        width: 0;
    }
    .expanding-cards .expanding .info > div {
        transition: transform 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95),
            opacity 0.5s ease-out;
    }
    .expanding-cards .expanding.active .info > div {
        transform: translateY(0);
        opacity: 1;
    }
    .expanding-cards .expanding:not(.active) .info > div {
        transform: translateY(20px);
        opacity: 0;
    }
    .expanding-cards .expanding .info > div.sub {
        transition-delay: 0.1s;
    }
    .expanding-cards .expanding:not(.active) .info > div.sub {
        transform: translateY(50%);
        opacity: 0;
        visibility: hidden;
    }
    /*  */
    /*  */
    .swiperMarchi-button.swiper-button-next {
        right: -1rem;
    }
    .swiperMarchi-button.swiper-button-prev {
        left: -1rem;
    }
    .swiperTour .swiper-button-next,
    .swiperTour .swiper-button-prev {
        bottom: calc(50% + 3rem);
    }
    .swiperTour .swiper-pagination {
        width: fit-content;
        position: static;
        margin-left: auto;
    }
    .swiperModuli .swiper-slide {
        width: calc(100% / 10) !important;
    }
    .img-testata {
        transform: translate(2rem, 5rem);
    }
    .mascotte-right {
        right: -4rem;
        bottom: 0 !important;
    }
    .grid-prezzi {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: auto auto;
        gap: 0.5rem;
    }
    .grid-prezzi > div {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2px;
    }
   /* .grid-prezzi > div:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }
    .grid-prezzi > div:nth-child(2) {
        grid-column: 2/4;
        grid-row: 1;
    }
    .grid-prezzi > div:nth-child(3) {
        grid-column: 1 / 4;
        grid-row: 2 / 3;
    }*/
    .grid-pacchetti {
        display: grid !important;
        grid-auto-columns: 1fr;
        grid-template-rows: auto auto;
        gap: 2px;
    }
    .grid-pacchetti > div:nth-child(odd) {
        grid-row: 1;
    }
    .grid-pacchetti > div:nth-child(even) {
        grid-row: 2;
    }
    .startup-image {
        min-height: 100%;
        object-fit: cover;
        object-position: 80%;
    }
    .startup-circle {
        left: 35%;
        bottom: -65px;
    }
    .offcanvas-mobile {
        position: static !important;
        transform: none !important;
        visibility: visible !important;
        border: none;
        width: 100% !important;
        max-width: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .image-circle-clouds .cloud-small {
        top: -10% !important;
    }
    .freccia-spirale {
        left: 13%;
        top: -75px;
        transform: rotate(-5deg);
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .position-xl-absolute {
        position: absolute !important;
    }
    .start-xl-50 {
        left: 50% !important;
    }
    .translate-middle-xl {
        transform: translate(-50%, -50%) !important;
    }
    .translate-middle-xl-y {
        transform: translateY(-50%) !important;
    }
    .w-container-lg,
    .w-container-xl {
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        width: 100%;
        padding-right: calc(var(--bs-gutter-x) * 0.5);
        padding-left: calc(var(--bs-gutter-x) * 0.5);
        margin-right: auto;
        margin-left: auto;
        /* max-width: 960px; */
        max-width: 1140px;
    }
    .w-xl-75 {
        width: 75% !important;
    }
    .vh-xl-66 {
        height: 66.666vh !important;
    }
    .flex-childs-xl-5 > * {
        flex: 0 0 calc((100% - 1.5rem * 4) / 5) !important;
    }
    .translate-xl-60 {
        transform: translateY(-60px);
    }
    .navbar-nav > .nav-item:first-child > .nav-link {
        padding-left: 0.75rem;
    }
    .navbar-nav > .nav-item:last-child > .nav-link {
        padding-right: 0.75rem;
    }
    .box-modulo {
        width: 50px;
        height: 50px;
        flex: 0 0 50px;
    }
    .expanding-cards .expanding .icon > div {
        width: 60px;
        height: 60px;
    }
    .swiperModuli .swiper-wrapper {
        transform: none !important;
    }
    .swiperModuli .swiper-slide {
        width: calc(100% / 15) !important;
    }
    .img-testata {
        position: absolute !important;
        bottom: 0;
        right: 0;
        width: 50%;
    }
    .trustpilot-widget {
        margin-left: -.5rem;
    }
    .border-xl-start {
        border-left: var(--bs-border-width) var(--bs-border-style)
        var(--bs-border-color) !important;
    }
}

/* MacBook 13" + scaling */
@media (max-width: 1680px) and (max-height: 1050px) {
  .d-none-hlg-down {
    display: none !important;
  }
  .d-flex-hlg-down {
    display: flex !important;
  }
  .mt-n-side-arrowhlg-down {
    margin-top: -51px !important;
  }
}

@media (min-width: 1400px) {
    .navbar-brand {
        padding-left: 0.75rem;
    }
    .rounded-xxl-start-4 {
        border-radius: 0 !important;
        border-bottom-left-radius: var(--bs-border-radius-xl) !important;
        border-top-left-radius: var(--bs-border-radius-xl) !important;
    }
    .w-xxl-75 {
        width: 75% !important;
    }
    .w-container-lg,
    .w-container-xl {
        max-width: 1320px;
    }
    .box-modulo {
        width: 60px;
        height: 60px;
        flex: 0 0 60px;
    }
    .me-xxl-custom {
        margin-right: 77px !important;
    }
    .mascotte-right {
        bottom: -3rem !important;
    }
    .mascotte-left {
        bottom: -4rem !important;
    }
   /* .grid-prezzi {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        gap: 0.5rem;
    }
    .grid-prezzi > div:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }
    .grid-prezzi > div:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }
    .grid-prezzi > div:nth-child(3) {
        grid-column: 2 / 5;
        grid-row: 1 / 3;
    }*/
    .grid-prezzi {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: auto auto;
        gap: 0.5rem;
    }
    .grid-prezzi > div {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2px;
    }
    .image-circle-clouds {
        transform: translate(2rem, -50%);
    }
    .image-circle-clouds .cloud-small {
        top: 0 !important;
    }
    .freccia-spirale {
        left: 21%;
    }
}

@media (min-width: 1700px) {
    .col-xxxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xxxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xxxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
}

@media (max-width: 1499.98px) and (min-width: 1200px) {
    .sezione-13-moduli .titolo > *,
    .sezione-tour .titolo > * {
        font-size: 40px !important;
    }
    .sezione-13-moduli .testo,
    .sezione-tour .testo {
        font-size: 16px !important;
    }
    .modulo {
        flex: 0 0 calc(100% / 6.3) !important;
        font-size: 14px !important;
    }
    .modulo .fs-5 {
        font-size: 16px !important;
    }
    .moduli-container {
        justify-content: center !important;
    }
    .scale-sezione,
    .sezione-tour .scale-xl {
        transform-origin: top;
        transform: scale(var(--scale, 0.75));
        overflow: visible !important;
    }
}
@media (max-width: 1399.98px) {
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
    .scale-xl {
        transform: scale(var(--scale, 0.75));
    }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .position-static-lg-down {
        position: static !important;
    }
    .mw-100-til-lg {
        max-width: 100% !important;
    }
    .px-0-til-lg {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .startup-image {
        min-height: 300px;
        object-fit: cover;
        object-position: 65%;
    }
    /* HEADER */
    .dropdown {
        overflow: hidden;
    }
    .dropdown-menu {
        transform: translateY(100%);
        opacity: 0;
        visibility: hidden;
        transition: all 0.7s ease;
        max-height: 0;
    }
    .dropdown-menu.show {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        max-height: 100vh;
    }
    .dropdown-menu:not(.show) {
        padding: 0;
    }
    /* .dropdown-toggle.no-arrow::after {
    display: none !important;
  } */
    .offcanvas-body .animated-item {
        opacity: 0;
        transform: translateX(200%);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }
    .offcanvas-body.show-items .animated-item {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .text-end .list-arrow-circle-lin-purple ul li,
    .text-end .list-arrow-circle-theme ul li {
        padding-left: 0;
        padding-right: 30px;
    }
    .text-end .list-arrow-circle-lin-purple ul li::before,
    .text-end .list-arrow-circle-theme ul li::before {
        content: "\f060";
        left: auto;
        right: 0;
    }

    .table-casi table{
      border-collapse: collapse;
      border-spacing: 0;
    }
    .table-casi table,
    .table-casi tbody,
    .table-casi tr {
        display: block;
        width: 100%;
    }

    .table-casi table tr {
        margin-bottom: 1rem;
        border-bottom: 2px solid var(--gray-light);
        font-size: 0;
    }

    .table-casi table tr td {
        display: block;
        width: 100% !important;
        font-size: 16px;
    }

    /* PRIMA cella: 100% */
    .table-casi table tr td:first-child {
        width: 100%;
        font-size: 1rem;
    }

    /* SECONDA + TERZA: 50% affiancate */
    .table-casi table tr td:nth-child(2),
    .table-casi table tr td:nth-child(3) {
        width: 50% !important;
        display: inline-block;
        vertical-align: top;
        background: transparent;
    }
    .table-casi table tr {
      background:
      linear-gradient(
          to right,
          color-mix(in srgb, var(--red-orange) 10%, transparent) 0%,
          color-mix(in srgb, var(--red-orange) 10%, transparent) 50%,
          color-mix(in srgb, var(--green) 10%, transparent) 50%,
          color-mix(in srgb, var(--green) 10%, transparent) 100%
      );
  }

  .side-arrow {
    transform: scale(0.7);
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
 .side-arrow {
       position: -webkit-sticky;
       position: sticky;
       top: calc(100% - 51px);          
       width: 50vw;
       text-align: center;
       border-radius: 0 !important;
       transform: none!important;
       margin-left: 0 !important;
       margin-right: auto !important;
    }
    .side-arrow-2 {
      margin-left: auto!important;
      margin-right: 0 !important;
    }
}

/* Extra-extra small devices (portrait phones, less than 375px) */
@media (max-width: 374.98px) {
    .row-cols-xs-1-down > * {
        flex: 0 0 auto;
        width: 100%;
    }
}