/* Import dei font */
@import url('https://fonts.googleapis.com/css2?family=Italiana&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

/* Font */
.italiana-regular {
    font-family: "Italiana", sans-serif;
    font-weight: 400;
    font-style: normal;
}


h6,
a,
p{
    text-decoration: none !important;
    transition: 0.5s ease-in-out;
}


h6 {
    font-family: "Italiana", sans-serif;
    font-size: 20px !important;
    font-weight: 600 !important;
}

a {
    font-family: "Futura PT";
    font-size: 20px;
}


.google-maps-iframe {
    border: 0;
}

/***NAVBAR***/
.sticky-top {
    transition: all 0.3s ease-in-out;
}

.navbar {
    background-color: #F9F7F4;
    padding: 0 3rem;
}


/***LOGO***/
.navbar-brand img {
    position: absolute;
    padding: 0;
    width: 170px;
    height: 135px;
    top: 0;
    transition: 0.6s ease-in-out;
    z-index: 9999;
}

.navbar .navbar-brand img:hover {
    transform: scale(1.1);
}

/***TOGGLER***/
.navbar-toggler{
    border: none!important;
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}


/***NAVMENU***/
.menu {
  font-weight: 600;
  text-transform: uppercase;
  outline: none;
  font-family: 'Futura PT' !important;
  color: #2c2c2c;
  letter-spacing: 2pt;
  transition: color 0.3s ease-in-out;
  position: relative;            /* underline animata */
  display: inline-block;
}

.menu:hover {
  color: #2c2c2c !important;     /* niente cambio colore */
  text-decoration: none !important;
}

/* underline animata stile #top */
.navbar .menu::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;                  /* leggermente sotto al testo */
  width: 0%;
  height: 1px;
  background-color: #2c2c2c;
  transition: width 0.3s ease-in-out;
}
.navbar .menu:hover::after {
  width: 100%;
}

.cart-container {
  height: 100%;
}
.cart-container .btn {
  display: flex;
  align-items: center;
}


#cart {
  margin-bottom: 10px;
}

#cart .img-thumbnail {
  min-width: 100px;
}

#cart .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 14px 35px;
}

#cart .dropdown-menu {
  background: #F9F7F4;
}

#cart .dropdown-menu li {
  min-width: 300px;
}

@media (max-width: 768px) {
  #cart .dropdown-menu li {
    min-width: 100%;
  }
}

#navbar .fa-cart {
    color: #3e3e3e;
}

/* contenitore già centrato verticalmente da te */
.cart-container { height: 100%; }

/* bottone tipo link, senza variazioni colore/ombra in hover */
.cart-container .btn {
  position: relative;
  display: inline-flex;          /* icona + testo allineati */
  align-items: center;
  gap: .4rem;
  background: transparent;
  color: #2c2c2c;
  border: none;
  padding: 0;
  line-height: 1.2;
  box-shadow: none;
}

/* niente cambi in hover/focus/active */
.cart-container .btn:hover,
.cart-container .btn:focus,
.cart-container .btn:active {
  background: transparent !important;
  color: #2c2c2c !important;
  box-shadow: none !important;
}

/* underline animata come il menu */
.cart-container .btn::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 1px;
  background-color: #2c2c2c;
  transition: width 0.3s ease-in-out;
}
.cart-container .btn:hover::after {
  width: 100%;
}


/***NAV ICONS***/
.nav-icon {
    color: #2c2c2c;
    transition: 0.6s ease-in-out;
    padding-left: 15px;
}

.nav-icon :hover {
    transform: scale(1.2);
}


/***MEGAMENU***/
.megamenu{
    background-color: #F9F7F4;
}
.dropdown-menu {
    top: 100%;
    z-index: 1000;
    margin-top: 0!important;
    border: none;
    padding: 7rem 0 4rem;
}
.sub-submenu{
    padding: 0;
    background-color: transparent;
}
.certifications li{
    padding:15px 0;
    border-bottom: solid 1px #D3D3D3;
}
.cert-logo{
    width: 40px;
    margin-right: 20px;
}
.navbar .has-megamenu {
    position: static !important;
}


/* Riattiva pointer e hover SOLO per il menu ABOUT */
@media (min-width: 768px) {
.info-menu .col-megamenu .nav-link,
  .info-menu .col-megamenu .nav-link h6 {
    cursor: pointer !important;
    transition: color 0.2s ease;
  }
  .info-menu .col-megamenu .nav-link:hover h6 {
    color: #D3D3D3; /* esempio di colore hover */
  }
}

/* Desktop - niente mano */
@media (min-width: 768px) {
  .nav-link h6,
  .nav-link h6 img {
    cursor: default !important;
  }
}

/* Mobile - mantieni la mano */
@media (max-width: 767.98px) {
  .nav-link h6,
  .nav-link h6 img {
    cursor: pointer;
  }
}



/* Hover Effect for Column Images */
.img img {
    display: block;
    transition: transform 8s cubic-bezier(.25, .46, .45, .94);
    transform-origin: bottom;
    padding-bottom: 20px;
    right: 0;
}

.img:hover img {
    transform: scale(1.1);
}

.column-img{
    margin-left: 1rem;
}

.column-img:hover h6,
.column-img:hover p {
    color: #D3D3D3!important;
}
.column-img p{
    padding-right: 2rem;
}

/***CONTACT-MAP***/
.column-map img{ 
    max-width: 100%;
}

/* ============ LARGE SCREEN All device BIGGER then 992px view ============ */

@media all and (min-width:992){
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-left: 0!important;    
    }
    .navbar .has-megamenu {
        position: static !important;
    }

    .navbar .nav-item .dropdown-menu {
        display: block;
        border: none;
        margin-top: 0;
        top: 150%;
        opacity: 0;
        transition: .5s;
        height: 568px;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        transition: .5s;
        opacity: 1;
        background-color: #F9F7F4;
    }
}
    

/* ============ MEDIUM SCREEN All device smaller then 991px view ============ */
@media (max-width:991px) {
    .navbar {
        padding: 0 1rem;
    }
    .navbar-brand img{
        height: 100px;
        left: 0;
    }
    .navbar-collapse {
        padding: 6rem 0;
    }  
    .nav-icon svg{
        padding-left: 5px!important;          
    }
    .w-50 {
        width: 40%!important;
    }
    .navbar .has-megamenu {
        border-bottom: 1px solid #d3d3d3;  
    }

    .nav-link {
        position: relative;
        padding: 15px 0;
    }
    
    .menu::before {
        content: '';
        position: absolute;
        top: 50%;
        left: calc(100% - 35px); /* Adjust this value to position the line */
        transform: translateY(-50%);
        width: 1px;
        height: 20px;
        background-color: #d3d3d3;
    }

    .nav-link img{
        float: right;  
    }
    .chevron-right{        
        transition: transform 0.3s ease;
    }

    .nav-link.show .chevron-right {
        transform: rotate(90deg);
    }
    .nav-icon{
        display: inline-block!important; /* Show icons in line */
        padding: 15px 15px 15px 0;
    }
    .icon-container{
        border-bottom: 1px solid #d3d3d3;  
    }
    .social-container{
        padding-top: 50px;
        border-bottom: none;
    }
    .social-container h6{
        font-weight: 600;
        text-transform: uppercase;
        font-family: 'Futura PT'!important;
        letter-spacing: 2pt;    
    }
    .social-container .icon-container{
        border-bottom: none;
    }
    .fa-brands{
        padding-right: 15px;
    }
    .shop-botton img{ 
        max-width: 100%;
        padding-top: 20px;
    }
    .dropdown-menu {
        padding: 0 0 1rem 0;
        padding-left: 0;
        background-color: transparent;
    }
}

/* ============ MEDIUM and LARGE SCREEN All device BIGGER then 768px view ============ */

/* Show submenu on LG and MD screens */
@media (min-width: 768px) {
    .dropdown-menu.sub-submenu {
        display: block !important;
        position: static;
        margin-top: 0;
        border: none;
        box-shadow: none;
    }
}
    
/* ============ TABLET All device smaller then 768px view ============ */
@media (max-width:768px) {
    .dropdown-menu{
        padding: 0;
    }
}

/* ============ SMARTPHONE All device smaller then 576px view ============ */
/*@media (max-width:576px) {

}*/


/* Offcanvas cart */
.offcanvas { 
  background-color: #F9F7F4;   /* palette */
  color: #2c2c2c;
}
.offcanvas-end {
  width: 400px;                /* regola a piacere */
  max-width: 90vw;
}
.offcanvas .btn-close {
  box-shadow: none;
}

/* Mantieni lo stile “link” del bottone cart */
.cart-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: transparent;
  color: #2c2c2c;
  border: none;
  padding: 0;
  line-height: 1.2;
}
.cart-toggle:hover,
.cart-toggle:focus {
  background: transparent;
  color: #2c2c2c;
}
.cart-toggle::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 1px;
  background-color: #2c2c2c;
  transition: width .3s ease-in-out;
}
.cart-toggle:hover::after { width: 100%; }


#carouselExampleIndicators .carousel-item {
  display: none;
}
#carouselExampleIndicators .carousel-item.active {
  display: block;
}

/* Caption */
#carouselExampleIndicators .carousel-caption {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  text-align: left;
  color: #F9F7F4;
  max-width: 50%; /* ✅ limite massimo a metà immagine */
}


#carouselExampleIndicators .carousel-caption h5,
#carouselExampleIndicators .carousel-caption p {
  font-family: 'Italiana', serif;
  color: #F9F7F4;
}

#carouselExampleIndicators .carousel-caption h5 {
  font-weight: bold;
}

#carouselExampleIndicators .carousel-caption h5 {
  font-size: 41px;
  margin-bottom: 10px;
}
#carouselExampleIndicators .carousel-caption p {
  font-size: 41px;
  margin-bottom: 20px;
}

/* SEE MORE button */
.btn.see-more {
  font-family: 'Futura PT' !important;  
  border: 1px solid #F9F7F4;
  background-color: transparent;
  color: #F9F7F4;
  padding: 10px 20px;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.btn.see-more:hover {
  background-color: rgba(249, 247, 244, 0.3); /* bianco molto trasparente */
  color: #F9F7F4;
  backdrop-filter: blur(4px); /* più sfocato per eleganza */
  transition: all 0.3s ease;
}



/* Controls bar */
.carousel-controls-bar {
  position: absolute;
  right: 5%;
  display: flex;
  align-items: center;
  gap: 15px;
  z-index: 10;
}

/* Indicators */
#carouselExampleIndicators .carousel-indicators {
  position: static;
  display: flex;
  align-items: center;
  margin: 0;
}
#carouselExampleIndicators .carousel-indicators [data-bs-target] {
  background-color: transparent;
  border: 1px solid #F9F7F4;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  opacity: 1;
  margin: 0 5px;
}
#carouselExampleIndicators .carousel-indicators .active {
  background-color: #F9F7F4;
}

/* Controls */
#carouselExampleIndicators .carousel-control-prev,
#carouselExampleIndicators .carousel-control-next {
  position: static;
  transform: none;
  color: #F9F7F4;
  font-size: 2rem;
  background: none;
  border: none;
}

/* Controller icons */
#carouselExampleIndicators .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F9F7F4' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0L4.5 0.75 1.25 4l3.25 3.25 0.75-0.75L2.75 4l2.5-2.5z'/%3E%3C/svg%3E");
}
#carouselExampleIndicators .carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23F9F7F4' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l0.75 0.75L6.75 4l-3.25 3.25-0.75-0.75L5.25 4 2.75 1.5z'/%3E%3C/svg%3E");
}

.carousel {
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
}

#carouselExampleIndicators .carousel-item {
  aspect-ratio: 3 / 1; /* es: 1417x472 ≈ 3:1 */
}
#carouselExampleIndicators .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
