/* =============================================================================
   Contact: due colonne centrate (social sinistra, form destra), mobile centrato
   ============================================================================= */

#contact-section .contact-split-container {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Annulla il vecchio offset al 50% del tema su questa pagina */
#contact-section .contact-split .contact-info-wrap,
#contact-section .contact-split .contact-split-info-wrap {
  margin-left: 0 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  max-width: 100%;
}

@media (min-width: 992px) {
  #contact-section .contact-split-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #contact-section .contact-split-col--info .split-box-content,
  #contact-section .contact-split-col--form .split-box-content {
    padding-left: 6%;
    padding-right: 6%;
  }

  #contact-section .contact-split-col--info {
    text-align: left;
  }

  #contact-section .contact-split-col--form .contact-form-inner {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 991px) {
  #contact-section .contact-split-col--info,
  #contact-section .contact-split-col--form,
  #contact-section .contact-split-pane {
    text-align: center;
  }

  #contact-section .contact-split-col--info .contact-info-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #contact-section .contact-form-inner,
  #contact-section .contact-form-lead {
    text-align: center;
  }

  #contact-section #contact-form .row [class*="col-"] {
    width: 100%;
    float: none;
  }

  #contact-section .contact-form-submit-row {
    text-align: center;
  }
}

/* Titolo modulo + hr già centrati con .tt-heading.text-center (theme.css) */

/* =============================================================================
   Portfolio: celle gallery stesso rapporto desktop/mobile, niente buchi masonry
   ============================================================================= */

/* Anteprime 1728×1280 → rapporto 1728:1280 (≈ 1,35:1), uguale su desktop e mobile */
#gallery-single-section .gallery-single-item {
  aspect-ratio: 1728 / 1280;
  overflow: hidden;
}

#gallery-single-section .gallery-single-item .gs-item-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

#gallery-single-section .isotope-item {
  margin: 0;
  padding: 0;
}

/* =============================================================================
   Portfolio + Contact: header mobile allineato (logo / lingua / tema / hamburger)
   ============================================================================= */

@media (max-width: 991px) {
  body.tt-page-portfolio .header-inner,
  body.tt-page-contact .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  body.tt-page-portfolio #header #logo,
  body.tt-page-contact #header #logo {
    float: none !important;
    top: 0 !important;
  }

  body.tt-page-portfolio #header #logo img,
  body.tt-page-contact #header #logo img {
    padding-bottom: 0 !important;
  }

  body.tt-page-portfolio #header .tt-main-menu,
  body.tt-page-contact #header .tt-main-menu {
    float: none !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 auto;
    min-height: 52px;
    padding: 4px 0;
  }

  body.tt-page-portfolio #header .tt-menu-tools,
  body.tt-page-contact #header .tt-menu-tools {
    float: none;
    margin: 0;
    order: 1;
  }

  body.tt-page-portfolio #header #tt-m-menu-toggle-btn,
  body.tt-page-contact #header #tt-m-menu-toggle-btn {
    float: none;
    top: 0;
    order: 2;
    padding: 8px 6px 8px 8px;
  }

  body.tt-page-portfolio #header .tt-menu-tools > ul > li,
  body.tt-page-contact #header .tt-menu-tools > ul > li {
    float: none;
    display: inline-block;
    vertical-align: middle;
  }

  body.tt-page-portfolio #header .tt-menu-tools > ul > li > a,
  body.tt-page-contact #header .tt-menu-tools > ul > li > a {
    margin: 0 !important;
    padding: 10px 8px !important;
  }

  body.tt-page-portfolio #header #tt-dark-toggle,
  body.tt-page-contact #header #tt-dark-toggle {
    margin: 0 !important;
    padding: 10px 8px !important;
    top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
  }
}

/* Portfolio desktop: toggle tema chiaro su hero scuro (viewport largo) */
@media (min-width: 992px) {
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle,
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle i,
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle .tt-dark-toggle-label {
    color: #fff !important;
  }
}

/* Portfolio mobile light: toggle tema scuro (header / barra chiara) */
@media (max-width: 991px) {
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle,
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle i,
  body:not(.tt-dark-mode).tt-page-portfolio #header #tt-dark-toggle .tt-dark-toggle-label {
    color: #111 !important;
  }
}

/* Portfolio light + barra compatta: niente sfondo sul toggle; testo scuro sulla barra chiara */
body:not(.tt-dark-mode).tt-page-portfolio #header.header-transparent.header-filled #tt-dark-toggle,
body:not(.tt-dark-mode).tt-page-portfolio #header.header-transparent.header-filled #tt-dark-toggle i,
body:not(.tt-dark-mode).tt-page-portfolio #header.header-transparent.header-filled #tt-dark-toggle .tt-dark-toggle-label {
  background: none !important;
  background-color: transparent !important;
  border-radius: 0;
  color: #111 !important;
}

/* Dark mode: pannello menu mobile (tutte le pagine tranne portfolio stretta) */
body.tt-dark-mode  {
  background-color: #111111 ;
}

body.tt-dark-mode .tt-menu-nav > li > a {
  color: #fff !important;
}

body.tt-dark-mode .tt-menu-nav > li > a:hover,
body.tt-dark-mode .tt-menu-nav > li.active > a {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}

/* Portfolio, viewport stretta: niente #111 dietro le voci (menu aperto), sfondo trasparente */
@media (max-width: 991px) {
  body.tt-dark-mode.tt-page-portfolio .tt-menu-collapse {
    background-color: transparent !important;
  }

  body.tt-dark-mode.tt-page-portfolio .tt-menu-nav > li > a {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
  }
}

/* Icona hamburger leggibile su header scuro in dark mode */
body.tt-dark-mode #header #tt-m-menu-toggle-btn span,
body.tt-dark-mode #header #tt-m-menu-toggle-btn span:before,
body.tt-dark-mode #header #tt-m-menu-toggle-btn span:after {
  background-color: #fff !important;
}

body.tt-dark-mode #header.header-transparent:not(.header-filled) #tt-m-menu-toggle-btn span,
body.tt-dark-mode #header.header-transparent:not(.header-filled) #tt-m-menu-toggle-btn span:before,
body.tt-dark-mode #header.header-transparent:not(.header-filled) #tt-m-menu-toggle-btn span:after {
  background-color: #fff !important;
}

/* =============================================================================
   Index: sezione prezzi (4 colonne) — stabile da 1200px fino al layout mobile
   Evita salti per il titolo a 1400px e colonne con altezze diverse / “stretch”
   ============================================================================= */

@media (min-width: 1200px) {
  /* Il tema passa a 24px sotto 1400px: qui resta 32px così non cambia tra ~1200 e ~1500px */
  #prices-section .price-box .price-heading .price-title {
    font-size: 32px;
  }

  /* Stessa altezza per le quattro colonne; l’elenco riempie e i bottoni restano allineati in basso */
  #prices-section .price-boxes-container > .row {
    display: flex;
    flex-wrap: wrap;
  }

  #prices-section .price-boxes-container > .row > .col-lg-3 {
    float: none;
    display: flex;
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }

  #prices-section .price-boxes-container > .row > .col-lg-3 > .price-box {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  #prices-section .price-box .price-features {
    flex: 1 1 auto;
  }

  /* Spazio fisso per icona + titolo (anche su 2 righe) + sottotitolo lungo */
  #prices-section .price-box .price-heading {
    min-height: 265px;
    box-sizing: border-box;
  }
}
