 *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
 
    :root {
      --gold: rgb(200, 150, 80);
      --gold-light: rgba(200, 150, 80, 0.15);
      --gold-border: rgba(200, 150, 80, 0.45);
      --cream: #f0e0c0;
      --cream-muted: rgba(240, 224, 192, 0.65);
    }
 
    html, body {
      height: 100%;
      overflow: hidden;
      font-family: 'Cormorant Garamond', serif;
      color: var(--cream);
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='6' cy='6' r='5' fill='rgb(200,150,80)'/%3E%3C/svg%3E") 6 6, auto;
    }
 
    a, button, label[for="menu-toggle"] {
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Ccircle cx='9' cy='9' r='8' fill='rgb(200,150,80)'/%3E%3C/svg%3E") 9 9, pointer;
    }
 
    .navbar-pontorno {
      position: fixed; 
      top: 0; 
      left: 0; 
      right: 0; 
      z-index: 500;
      display: flex; 
      align-items: center; 
      justify-content: space-between;
      padding: 28px 56px;
      background: linear-gradient(to bottom, rgba(10,5,2,0.75), transparent);
    }
 
/* è il nome figo nella navbar*/   
    .brand {
      font-family: 'Playfair Display', serif;
      font-size: 17px; letter-spacing: 0.14em; 
      text-transform: uppercase;
      color: var(--cream); 
      text-decoration: none;
    }
 
    .nav-menu { display: flex; gap: 40px; list-style: none; }

/* sono i nomi nella navbar, NON CAMBIARLI*/
    .nav-menu a {
      font-family: 'Cormorant Garamond', serif;
      color: rgba(240,224,192,0.75); text-decoration: none;
      font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
      transition: color 0.3s;
    }
    .nav-menu a:hover { color: var(--cream); }
 
    #menu-toggle { display: none; }
 
    .nav-toggle {
      display: none; flex-direction: column; gap: 5px;
      background: none; border: none; padding: 4px;
    }
    .nav-toggle span {
      display: block; width: 26px; height: 1px;
      background: var(--cream); transition: all 0.3s;
    }
 

    .scroll-wrapper {
      height: 100vh;
      overflow-y: scroll;
      scroll-snap-type: y mandatory;
      scrollbar-width: none;
    }
   
    .scroll-wrapper::-webkit-scrollbar { display: none; }
 
    .section {
      height: 100vh; width: 100%;
      scroll-snap-align: start;
      position: relative;
      display: flex; 
      align-items: center; 
      justify-content: start;
      overflow: hidden;
    }
 
    /*questo è lo sfondo delle singole pagine a cover*/
    .section-bg {
      position: absolute; 
      inset: -60px;
      background-size: cover; 
      background-position: center;
    }

 /*questo è lo sfondo delle pag, CAMBIALO*/
    .bg-1 { background-image:url("../immagini/immagine_home_falpo.jpeg"); }
    .bg-2 { background: #1a1a1a; }   
    .bg-3 { background: #2a2a2a; }
    .bg-4 { background: #3a3a3a; }
    .bg-5 { background-image: url("../immagini/immagini_falegnameria/Immag_logo_V_Contatti.png"); }
    
    

/*QUESTI SONO I CAROSELLI PRESI DA BOODSTRAP, devo modificarli qui*/     

.carousel-fullscreen .carousel-inner,
.carousel-fullscreen .carousel-item {
  height: 100%;
  width: 100%;
}

.carousel-fullscreen .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;     
  object-position: center;
}

.wood-texture,
.dark-overlay,
.vignette {
  position: absolute;
  inset: 0;              
  pointer-events: none; 
  z-index: 2;
}

.dark-overlay {
  background: rgba(0, 0, 0, 0.35);
}

.vignette {
  background: radial-gradient(ellipse at center,
    transparent 50%,
    rgba(0, 0, 0, 0.6) 100%);
}

.carousel-control-prev,
.carousel-control-next {
  z-index: 20;
}

.section-content {
 position: relative; 
 z-index: 10;
 text-align: start ; 
 padding: 0 30px;
 max-width: 820px;
 animation: fadeInUp 0.9s cubic-bezier(.25,.8,.25,1) forwards;
 animation-timeline: view();
 animation-range: entry 0% entry 35%;
}

/* Fallback per Safari (non supporta animation-timeline) */
@supports not (animation-timeline: view()) {
.section-content { opacity: 1; transform: none; }
}
 
 
/*QUESTO è IL TITOLO, puoi modificarlo*/
    .section-eyebrow {
      display: block;
      font-size: 15px;
      font-weight: blod; 
      letter-spacing: 0.45em; 
      text-transform: uppercase;
      color: whitesmoke; 
      text-shadow:-1px -1px 0 #1a1a1a;  
    
      margin-bottom: 10px;
      background-color:transparent;
    }

 @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(50px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .section-title {
      font-family: 'Playfair', serif;
      font-size: clamp(50px, 7vw, 60px);
      font-weight: 100; 
      line-height: 1.08;
      color: var(--cream); 
      text-shadow:-1.5px -1.5px 0 #000000;
      margin-bottom: 20px;
    }

    .section-title em  { font-style: times; color: rgb(155, 108, 21);  }
    .section-title strong { font-weight: 700; }
 
    .divider-gold {
      width: 30px; 
      height: 1px; 
      margin: 0 auto 10px;
      background: linear(to right, transparent, var(--gold), transparent);
    }
 
    .section-sub {
      font-size: 22px; 
      font-weight: 100; 
      line-height: 1.85;
      color:  rgb(255, 255, 255); 
      
      max-width: 520px;
      background-color: rgba(255, 255, 255, 0.333); 
      letter-spacing: 0.02em;
    }
 
    .btn-pontorno {
      display: inline-block; 
      padding: 5px 70px;
      border: 1px solid var(--gold-border);
      color: rgba(255, 255, 255, 0.9);
      font-family: serif; 
      letter-spacing: 0.28em; 
      text-transform: uppercase;
      text-decoration: none; 
      background: transparent;
      transition: all 0.4s cubic-bezier(.25,.8,.25,1);
    }
    .btn-pontorno:hover {
      background: rgba(0, 0, 0, 0.12);
      border-color: var(--gold); 
      color: var(--cream);
      letter-spacing: 0.35em;
    }
 
    .tag-row { display: flex; gap: 12px; justify-content: start; flex-wrap: wrap; margin-top: 2px; }
    .tag {
      padding: 4px 20px;
      margin-top: 10px ;
      border: 1px solid rgba(200,150,80,0.22);
      font-size: 10px; 
      letter-spacing: 0.22em; 
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.55);
      transition: all 0.3s;
    }
    .tag:hover { border-color: rgba(200,150,80,0.5); color: rgba(200,150,80,0.85); }
    
    a {
      color: whitesmoke
    }
 
    /* SIDE DOTS NAV */
    .side-dots {
      position: fixed; right: 30px; top: 50%; transform: translateY(-50%);
      z-index: 600; display: flex; flex-direction: column; gap: 12px;
    }
    .side-dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: rgba(200,150,80,0.28); border: none;
      transition: all 0.35s; position: relative;
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Ccircle cx='9' cy='9' r='8' fill='rgb(200,150,80)'/%3E%3C/svg%3E") 9 9, pointer;
    }
    .side-dot::after {
      content: attr(data-label);
      position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
      font-family: 'Cormorant Garamond', serif;
      font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
      color: rgba(200,150,80,0.5);
      white-space: nowrap; opacity: 0; transition: opacity 0.3s;
      pointer-events: none;
    }
    .side-dot:hover::after { opacity: 1; }
 
    /* SCROLL HINT */
    .scroll-hint {
      position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%);
      z-index: 600; display: flex; flex-direction: column; align-items: center; gap: 10px;
    }
    .scroll-hint-line {
      width: 1px; height: 48px;
      background: linear-gradient(to bottom, rgba(200,150,80,0.7), transparent);
      animation: pulse 2.2s ease-in-out infinite;
    }
    .scroll-hint-text {
      font-size: 10px; letter-spacing: 0.38em; text-transform: uppercase;
      color: rgba(200,150,80,0.5);
    }
    @keyframes pulse {
      0%,100% { opacity: 0.3; transform: scaleY(1); }
      50%      { opacity: 1;   transform: scaleY(1.2); }
    }
 
    /* MOBILE */
    @media (max-width: 768px) {
      .navbar-pontorno { padding: 20px 28px; }
      .nav-menu { display: none; }
      .nav-toggle { display: flex; }
      .side-dots { right: 16px; }
    .carousel-fullscreen .carousel-item img {
    object-fit: contain; 
    background-color: #000; 
  }
}
 
      /* Menu aperto via checkbox */
      #menu-toggle:checked ~ 
      .nav-menu {
        display: flex; 
        flex-direction: column;
        position: fixed; 
        inset: 0; 
        background: rgba(10,5,2,0.97);
        align-items: center; 
        justify-content: center;
        gap: 32px; 
        z-index: 490;
      }
      
      #menu-toggle:checked ~ .nav-menu a { font-size: 22px; }
 
      /* Trasforma le tre linee in X quando aperto */
      #menu-toggle:checked ~ .nav-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
      }
      #menu-toggle:checked ~ .nav-toggle span:nth-child(2) {
        opacity: 0;
      }
      #menu-toggle:checked ~ .nav-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
      }
    
    .icon-wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px;

}
    

