
/*
Theme Name: Mio Tema
Author: Io
Version: 1.0
*/

html {

    box-sizing: border-box;
    margin: 0!important;

    scroll-behavior: smooth;
    
    }
    
    *, *::before, *::after {
    
    box-sizing:inherit;

    
    
}

body{
    background: var(--color-background);
}

h1, h2{
    font-family: var(--font-anton);
} 

h3, h4{
    font-family: var(--font-inter);
}

p{
    font-family: var(--font-inter);
    font-weight: 400;
    font-size: 16px;  
}

h1{
    font-size: clamp(48px, 10vw, 90px);
    line-height: clamp(54px, 10vw, 101px);
}

h2{
    font-size: clamp(36px, 8vw, 67px);
    line-height: clamp(42px, 8vw, 78px);
}

h3{
    font-size: clamp(24px, 6vw, 32px);
    line-height: clamp(28px, 6vw, 52px);
}

h4{
    font-size: clamp(16px, 4vw, 24px);
}

.strong-gray{
    color: var(--color-panna);
}

.strong-black{
    color: var(--color-background);
}

.cpu-pc, .ventola-pc, .hero-paragrph, .arrow-enter, .schermo, .polvere {
    will-change: transform, opacity;
  }




/* HERO */

.hero-box{
    width: 460px;
    height: 460px;
}

.cpu-pc{
    position: absolute;
    width: 183px;
    height: 68px;
    bottom:200px;
    left:150px
}

.pezzo-pc{
    position: absolute;
    width: 142.28px;
    height: 124.24px;
    bottom: 80px; 
    left: 120px;
}

.processore-pc{
    position: absolute;
    width: 117.27px;
    height: 126.97px;
    bottom: 160px; 
    left: 30px;  
}

.scheda-pc{
    position: absolute;
    width: 148px;
    height: 160.18px;
    top: 40px; 
    left: 120px;
}

.ventola_front_2-pc{
    position: absolute;
    width: 117px;
    height: 131px;
    bottom: 200px; 
    right: 40px;
}

.ventola_front_3-pc{
    position: absolute;
    width: 110px;
    height: 167px;
    bottom: 65px; 
    right: 50px;
}

.ventola_front_1-pc{
    position: absolute;
    width: 115px;
    height: 135px;
    top:40px; 
    right: 30px;
}

.ventola-pc{
    position: absolute;
    width: 128px;
    height: 144px;
    top: 30px; 
    left: 30px
}

@media (max-width: 767px) {

    .hero-box{
        width: 320px;
        height: 320px;
    }
    
    .cpu-pc{
        position: absolute;
        width: 125px;
        height: 47px;
        bottom: 145px; 
        left: 94px;
    }
    
    .pezzo-pc{
        position: absolute;
        width: 98.98px;
        height: 86.43px;
        bottom: 57px; 
        left: 95px;
    }
    
    .processore-pc{
        position: absolute;
        width: 81.58px;
        height: 88.33px;
        bottom: 94px; 
        left: 20px; 
    }
    
    .scheda-pc{
        position: absolute;
        width: 102.96px;
        height: 111.43px;
        top: 25px; 
        left: 110px;
    }
    
    .ventola_front_2-pc{
        position: absolute;
        width: 80px;
        height: 90px;
        bottom: 140px; 
        right: 35px;
    }
    
    .ventola_front_3-pc{
        position: absolute;
        width: 77px;
        height: 116px;
        bottom: 47px; 
        right: 45px;
    }
    
    .ventola_front_1-pc{
        position: absolute;
        width: 79px;
        height: 93px;
        top:30px; 
        right: 25px;
    }
    
    .ventola-pc{
        position: absolute;
        width: 90px;
        height: 102px;
        top: 15px; 
        left: 35px;
    }
}


.arrow-enter{
    animation: scendi 1.0s linear infinite alternate;
}

@keyframes scendi {
  0% {
    transform: translate(0%, 0);
  }
  100% {
    transform: translate(0%, 10px); 
  }
}

@media (max-width: 500px) {
    .hero-box{
        width: 320px;
        height: 320px;
    }
  }

/* ABOUT */

.icon-card-about{
    width: 48px;
    height: auto;
}

.first-details-img{
    width: clamp(290px, 50vw, 621px);
    height: auto;
}

.second-details-img, .third-details-img{
    width: clamp(248px, 50vw, 536px);
    height: auto;
}

.details-title_one{
    bottom: clamp(12px, calc(2rem + 10vh), 100px);
}

.details-title_two{
    bottom: clamp(12px, calc(2rem + 12vh), 160px);
}

.line_animation{
    stroke-dasharray: 40 280; 
    stroke-dashoffset: 0;
    animation: move-path 4s linear infinite;
  }
  
  @keyframes move-path {
    0% {
      stroke-dashoffset: 0;
    }
    100% {
      stroke-dashoffset: -320; 
    }
  }

  .path-rotate {
    animation: spin 10s linear infinite;
    transform-origin: center;
  }
  
  @keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  /* SERVIZI */

.bg-image-card{
    height: clamp(180px, 2vw + 176px, 190px);
}

.container-img-card-servizi{
    width: 150px;
    height: 150px;
}

.img-card-servizi{
    width: clamp(91px, 2vw + 85px, 130px);
    height: clamp(91px, 3vw + 85px, 130px);
}

.arrow_button{
    width: 13px;
    height: auto;
}

.body-no-scroll {
    overflow: hidden;
    height: 100vh; /* opzionale per bloccare anche su mobile */
}


/* SHOP */

.splide__arrow {
    background-color: var(--color-gray-dark) !important;            
    border-radius: 50%;       
    width: 70px !important;              
    height: 70px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;      
    top: -90px !important;             
    transition: transform 0.3s;

    svg{
        fill: var(--color-panna) !important;
    }

    &.splide__arrow--prev {
        left: 88%;
      }
      
    &.splide__arrow--next {
        right: 0;
      }
  }

  @media (max-width: 500px) {
    .splide__arrow{
    width: 48px !important;              
    height: 48px !important;

    &.splide__arrow--prev{
        left: 72%;
      }
      &.splide__arrow--next {
        right: -8px;
      }
    }
    .splide__slide{
        height: 200px !important;
    } 
  }


.post-shop{
    height: clamp(280px, 40vw, 350px);
}


.img-post-shop{
    width: clamp(91px, 6.25vw + 55px, 152px);
}

/* GALLERY SLIDER */

#slider-container {
    overflow: hidden;
    position: relative;
}

.slider {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.slider-right {
    animation: scroll-right 30s linear infinite;
}

.slider-left {
    animation: scroll-left 30s linear infinite;
}

.slide {
    flex: 0 0 auto;
    margin: 0 10px;
}

.slide img {
    width: clamp(172px, 20vw, 396px);
    height: clamp(122px, 20vh, 396px);
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 8px;
}

@keyframes scroll-right {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(50%); }
}

/* F.A.Q. */

.faq-question {
    background-color: transparent;
  }
  
  .faq-toggle {
    transition: transform 0.3s ease;
  }
  
  .faq-items {
    transition: background-color 0.3s ease;
  }
  
  @media (hover: hover) {
    .faq-item:hover .faq-question {
      background-color: var(--color-primary);
    }
  }
  
  .faq-item.active .faq-question {
    background-color: var(--color-primary);
  }
  
  .faq-item.active .faq-toggle {
    transform: rotate(45deg);
  }
  
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    transition: max-height 0.5s ease, padding 0.3s ease;
  }
  

  /* FOOTER */

  .link-instagram:hover svg path {
    fill: var(--color-panna);
  }

 .menu-item a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: inherit;
  }

  .menu-item a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    width: 100%;
    height: 2px;
    background-color: var(--color-primary);
    transition: transform 0.3s ease;
    z-index: 100;
  }
  
  .menu-item a:hover::after {
    transform: translateX(-50%) scaleX(1);
  }
  