/* Fluxtech: regole isolate dal layout e dagli slot legacy. */
.flx-header-slot,
.flx-top-slot,
.flx-incontent-slot,
.flx-bottom-slot,
.flx-native-slot {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 1rem;
}
.flx-top-slot, .flx-incontent-slot { text-align: center; }
.flx-bottom-slot { text-align: center; }
.flx-native-slot { clear: both; }
#flx-sticky { display: none; }

.flx-mobile-target,
.flx-mobile-row { display: none; }
.flx-mobile-row > td { padding: 0; }
.flx-mobile-target:has(> .flx-top-slot) { display: block; clear: both; }
.flx-mobile-target:has(> .flx-incontent-slot) { display: block; clear: both; }
.flx-mobile-row:has(.flx-top-slot) { display: table-row; }
.flx-mobile-row:has(.flx-incontent-slot) { display: table-row; }
.flx-mobile-target > .flx-top-slot {
    display: block;
    margin: 0 auto 24px;
}

@media (min-width: 842px) {
    .flx-header-slot {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 250px;
        background-color: #f2f5f7;
    }
    #flx-mh {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .flx-incontent-slot { margin: 0 auto 24px; }
}

@media (max-width: 841.98px) {
    .flx-incontent-slot { display: none; }
    .flx-mobile-target:not(:has(> .flx-top-slot)),
    .flx-mobile-row:not(:has(.flx-top-slot)) { display: none; }
    .flx-mobile-target > .flx-top-slot {
        display: block;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        margin-bottom: 24px;
    }
    .flx-header-slot, .flx-bottom-slot, .flx-top-slot { display: none; }
    .flx-top-slot { min-height: 0; margin-bottom: 0; }
}

@media (max-width: 600px) {
    body { padding-top: 100px; }
    body.flx-skin-closed { padding-top: 0; }
    #flx-sticky {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100px;
        z-index: 1500;
    }
    .flx-sticky-container { position: relative; height: 100px; }
    #flx-skin-mob { height: 100px; }
    .flx-sticky-close {
        position: absolute;
        top: 4px;
        right: 4px;
        z-index: 1;
        width: 28px;
        height: 28px;
        border: 0;
        cursor: pointer;
    }
    #flx-sticky.flx-is-closed { display: none; }
}

/* Home: layout responsive verificato nell'audit del 19 ottobre 2026. */
@media (min-width: 842px) {
  .flx-home {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 24px;
    align-items: start;
  }
  .flx-home > .w-1col {
    float: none;
    width: auto;
    min-width: 0;
    margin-right: 0;
  }
  .flx-home > .flx-sidebar { grid-column: 1 / -1; }
  .flx-home > .rv1,
  .flx-home > .rv2,
  .flx-home > .fineriga { display: none; }

  /* Separatori originali da 1px, ancorati alla prima riga della griglia. */
  .flx-home > .rv1,
  .flx-home > .rv2 {
    grid-row: 1 / 2;
    top: 0;
    bottom: 0;
    left: calc(100% + 8.5px);
    height: auto;
    pointer-events: none;
  }
  .flx-home > .rv1 {
    display: block;
    grid-column: 1 / 2;
  }

  .flx-home-target .flx-incontent-slot {
    display: flex;
    justify-content: center;
  }
  .flx-home-target #flx-atf {
    width: 300px;
    flex: 0 0 300px;
  }
}
@media (min-width: 960px) {
  .flx-home {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 5%;
  }
  .flx-home > .flx-sidebar { grid-column: auto; }
  .flx-home > .rv1,
  .flx-home > .rv2 { grid-column: auto; }
  .flx-home > .rv1 { left: 33.2%; }
  .flx-home > .rv2 {
    display: block;
    left: 66.7%;
  }
}

/* Home: lo slot sidebar esistente viene usato qui soltanto su mobile. */
.flx-home .flx-home-mobile-target { display: none; }
@media (max-width: 841.98px) {
  .flx-home .flx-home-mobile-target { display: block; }
  .flx-home-mobile-target > .flx-top-slot {
    display: flex;
    justify-content: center;
    margin: 0;
  }
  .flx-home-mobile-target #flx-sb-atf {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
