/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */



html, body {
  overscroll-behavior: none!important;
  scroll-behavior: smooth!important;
}


/* Header principale */
.header {
  transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
  background: rgba(12, 47, 74, 0); 
}

.header.sticky-blur {
  background: #04131f8c;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Corpo pagina */
body {
  background-color: #f4f6f9;
}

/* Header-1 base */
.header-1 {
  background-color: #f4f6f9; /* già identico al body, niente flash */
  transition: background 0.3s ease, box-shadow 0.3s ease;
  will-change: background, box-shadow;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Header-1 sticky */
.header-1.sticky-blur {
  background-color: #04131f; /* sfondo scuro quando scroll */
  box-shadow: 0 2px 4px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.08);
  
}

/* Logo iniziale */
.header .logo img,
.header-1 .logo img {
  width: 120px !important;
  transition: width 0.3s ease;
}

/* Logo ridotto quando sticky */
.header.sticky-blur .logo img,
.header-1.sticky-blur .logo img {
  width: 100px !important;
}




/* HERO REPERTORIO HOME*/

:root{
  --dark:#06080A;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
body{overflow-x:hidden}

.repertorioHero{
  position:relative;
  width:100vw;
  height:60vh;
  margin-left:calc(-50vw + 50%);
  background:var(--dark);
  color:#fff;
  font-family:"Quicksand",sans-serif;
  overflow:hidden;
}

/* ================= DESKTOP ================= */

.heroBg{
  position:absolute;
  inset:0;
  opacity:0;
  transition:.8s var(--ease);
  z-index:1;
}
.heroBg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.6s ease-out;
}
.heroBg.active{opacity:1}
.heroBg.active img{transform:scale(1.05)}

.heroOverlay{
  position:absolute;
  inset:0;
  background:rgba(6,8,10,.35);
  z-index:2;
}

.heroContent{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  z-index:3;
}

.heroTab{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-right:1px solid rgba(255,255,255,.15);
}
.heroTab:last-child{border:none}

.heroTab h2{
  font-family:"Didot",serif;
  font-size:clamp(32px,4vw,56px);
  font-weight:500;
  text-align:center;
}

.heroInfo{
  position:absolute;
  bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(6,8,10,.95),rgba(6,8,10,.8),transparent);
  padding:80px 60px 60px;
  opacity:0;
  transform:translateY(40px);
  transition:.6s var(--ease);
  pointer-events:none;
  text-align:center;
}
.heroTab.active .heroInfo{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.heroInfo p{
  max-width:420px;
  margin:0 auto 32px;
  color:rgba(255,255,255,.85);
  font-size:18px;
  line-height:1.7;
}

.ctaLink{
  color:#9EC7D4;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.12em;
  font-weight:600;
  transition:.25s ease;
}
.ctaLink::after{content:' →'}
.ctaLink:hover{color:#ffffff}

/* ================= MOBILE ================= */

@media(max-width:920px){

  .repertorioHero{height:auto}

  .heroBg,
  .heroOverlay{display:none}

  .heroContent{
    position:relative;
    grid-template-columns:1fr;
  }

  .heroTab{
    min-height:50vh;
    border:none;
    background-size:cover;
    background-position:center;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:24px 22px;
  }

  .heroTab::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
      to top,
      rgba(6,8,10,.85),
      rgba(6,8,10,.35),
      transparent
    );
    z-index:1;
  }

  .heroTab h2,
  .heroInfo{
    position:relative;
    z-index:2;
  }

  .heroTab h2{
    text-align:center;
    font-size:clamp(28px,6vw,34px);
    margin-bottom:8px;
  }

  .heroInfo{
    background:none;
    padding:0;
    opacity:0;
    max-height:0;
    overflow:hidden;
    transition:.35s var(--ease);
    text-align:center;
  }

  .heroTab.active .heroInfo{
    opacity:1;
    max-height:140px;
  }

  .heroInfo p{
    font-size:16px;
    line-height:1.6;
    color:#ffffff;
    margin:0 auto 12px;
    max-width:260px;
  }

  .ctaLink{
    color:#9EC7D4;
    font-size:12px;
  }

  .ctaLink:hover{color:#ffffff}
}




.anim-img,
.anim-title,
.anim-text,
.anim-pulsante {
  opacity: 0;
  will-change: transform, opacity;
}

/* Icon list items */
.elementor-icon-list-item {
  will-change: transform, opacity;
}

.anim-img img {
  display: block;
}

.elementor-widget {
  transition: none !important;
}


.titolo-footer .elementor-image-box-wrapper {
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
	gap:10px;
}
