/* === style.css (PURGED per i due HTML) ===
   Ho mantenuto solo i selettori effettivamente usati nei due file.
   RIMOSSI: .max-w-1400, .sticky-viewport, .sticky-inner, .right-aside e media query sticky,
   variabili --bottom-gap/--sticky-height, e la regola inutilizzata .arrow-style_toggle svg. */

/* ====== Base ====== */
:root{
  --brand:#2D3E40;
  --gray-500:#a3a3a3;
  --gray-700:#525252;
  --overlay:#000000aa;
  --overlay-strong:#000000e2;
  --overlay-toggle:#000000db;
}

body{ margin:0; font-family:'Nunito Sans',sans-serif; background:#f7f7f7; }
h1{
  font-family: 'Pavanam';
  font-weight: 400;
  font-size: 34px !important;
  text-transform:uppercase;
}
h2{
  font-family: 'Pavanam';
  font-weight: 400;
  font-size: 30px !important;
  text-transform:uppercase;
}
p{
  font-size: 18px !important;

  font-family: 'Nunito Sans', sans-serif;

}
/* ====== Swiper ====== */
.swiper-container{ position:relative; overflow:hidden; width:100%; height:100%; }
.swiper-slide{
  height:500px; background:#fff; display:flex; justify-content:center; align-items:center;
  box-shadow:0 0 10px rgba(0,0,0,.1); position:relative; overflow:hidden;
}
.swiper-slide img{ height:100%; width:100%; object-fit:cover; transition:transform .4s ease, filter .4s ease; }
.swiper-slide:hover img{ transform:scale(1.08); filter:brightness(60%); }

.swiper-pagination{ text-align:center; position:relative !important; }
.swiper-pagination-bullet{
  font-size:0; border-radius:0; width:32px; height:3px; background:var(--gray-500);
  opacity:1; margin:0 5px; transition:background .3s; display:inline-block; cursor:pointer;
}
.swiper-pagination-bullet-active{ background:var(--brand); }

.swiper-button-next::after,
.swiper-button-prev::after{ display:none !important; }
.swiper-button-prev{ left:var(--swiper-navigation-sides-offset,0px) !important; }
.swiper-button-next{ right:var(--swiper-navigation-sides-offset,0px) !important; }

/* ====== Frecce personalizzate ====== */
.arrow-style,
.arrow-style_toggle{
  width:50px; height:50px; background:var(--overlay); display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:10;
}
.arrow-style_toggle{ background:var(--overlay-toggle); }
.arrow-style:hover{ background:var(--overlay-strong); }
.arrow-style_toggle:hover{ background:#000; }
.arrow-style svg{ width:20px; height:20px; fill:#fff; }

/* ====== Carousel fullscreen (Bootstrap) ====== */
.carousel-item>div{
  height:100vh; font-size:48px; color:#fff; display:flex; justify-content:center; align-items:center;
}
.carousel-indicators [data-bs-target]{ background-color:#888; width:32px; height:3px; opacity:1; }
.carousel-indicators .active{ background-color:#1e292a; }
.carousel-control-next, .carousel-control-prev{ opacity:1 !important; width:auto; }

/* ====== Loghi & footer ====== */
.logo{ width:100px; }
.logo_carousel{ mix-blend-mode:exclusion; width:150px; }
.logo_footer{ width:48px; height:48px; }
.sfondo_footer{ background:url(asset/images/marmo1.png) no-repeat center/cover; }

/* ====== Tipografia & utility ====== */
h5{ font-size:26px; }
p{ font-size:14px; }
.colore_testo{ color:var(--brand); }
.text-decoration-none{ text-decoration:none !important; }
.blend_mode{ mix-blend-mode:exclusion; }
.pointer{ cursor:pointer; }
hr{ border:none; height:2px; color:var(--gray-700); background-color:var(--gray-700); }

/* ====== Icone & collapse ====== */
.icon{ display:inline-block; transition:transform .3s ease; font-weight:700; font-size:1.5rem; }
.icon-box{ width:50px; height:50px; transition:background-color .3s ease, color .3s ease; color:#fff; }
.icon-box svg{ width:38px; height:38px; }
.icon-box:hover{ background:#fff; color:var(--brand); }
[data-bs-toggle="collapse"] .rotate-icon{ transform:rotate(0); transition:transform .3s ease; }
[data-bs-toggle="collapse"][aria-expanded="true"] .rotate-icon{ transform:rotate(45deg); }

/* ====== CTA fisso ====== */
.fixed-bottom-center{ position:fixed; bottom:0; left:50%; transform:translateX(-50%); z-index:1050; transition:opacity .3s ease; }
.hidden{ opacity:0; pointer-events:none; }



 /* --- Frecce custom fisse ai lati --- */
    .carousel-control-prev_foglia{
      position: fixed !important;
      top: 0; bottom: 0; left: 0;
      display: flex; align-items: center; justify-content: center;
      padding: 0; color: #fff; text-align: center; background: 0 0; border: 0;
      transition: opacity .15s ease;
      pointer-events: none;
    }
    .carousel-control-next_foglia{
      position: fixed !important;
      top: 0; bottom: 0; right: 0;
      display: flex; align-items: center; justify-content: center;
      padding: 0; color: #fff; text-align: center; background: 0 0; border: 0;
      transition: opacity .15s ease;
      pointer-events: none;
    }
    .carousel-control-prev_foglia .arrow-style,
    .carousel-control-next_foglia .arrow-style { pointer-events: auto; }

    /* --- Stili di pagina --- */
    body { background: #f6f7fb; }
    .gallery-img { width: 100%; height: auto;  display: block; }
    .gallery-item { margin-bottom: 1rem; }

    /* Colonne laterali sticky in basso (desktop) */
    .sticky-bottom-holder { position: sticky; bottom: 0; }

    /* Larghezza massima contenuti */
    .content-wrap { max-width: 1280px; }

    /* Rotazione dell'icona X nei collapse */
    .rotate-icon img { transition: transform .25s ease; }
    button[aria-expanded="true"] .rotate-icon img { transform: rotate(1deg); }

    /* Mobile: i box laterali diventano blocchi normali (no sticky) */
    @media (max-width: 991.98px) {
      .sticky-bottom-holder { position: static; }
    }

    /* Desktop: piccolo distacco dal fondo per il box sticky */
    @media (min-width: 992px) {
      .sticky-bottom-holder { bottom: 12px; }
    }

    /* (Rarissimo) Fallback per vecchi Safari */
    @supports (-webkit-touch-callout: none) {
      .sticky-bottom-holder { bottom: 12px; }
    }

    /* ========= BREAKPOINT INTERMEDIO (tra ~10\" e ~13\"): 1100–1199.98 =========
       Riduciamo la colonna centrale a 5.5/12, laterali restano 3/12, row centrata */
    @media (min-width: 1100px) and (max-width: 1199.98px) {
      .col-mid-5-5 {
        flex: 0 0 calc( (5.5 / 12) * 100% );
        max-width: calc( (5.5 / 12) * 100% );
      }
    }
        /* ==== FIX "SCATTINO" COLLAPSE ==== */
    #collapseInfo, #collapseInfo2{
      will-change: height;
      overflow: clip; /* usa overflow:hidden se preferisci compat più ampia */
    }
    /* Riduci i salti dei margini vicino ai collapse */
    .sidebar-card .info-card { padding-top: .5rem; padding-bottom: .5rem; }
    .sidebar-card hr { margin-top: .5rem; margin-bottom: .5rem; }

    /* Icona che ruota senza spostare layout */
  .rotate-icon svg{
  width: 16px;
  height: 16px;
  display: block;
  transform: rotate(0deg);
  transition: transform .3s ease;
}
    button[aria-expanded="true"] .rotate-icon svg{
  transform: rotate(45deg);
}
    /* (Opzionale) assicura che il bottone non cambi altezza */
    .info-card button{
      min-height: 1.75rem;
    }

    .contatti_dimensione{
      width: 100px;
    }