/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

body {
  padding-top: 0;
  padding-bottom: 0;
  color: #4b4b5d;
  font-family: "PT Serif", serif;
  font-weight: 400;
  font-style: normal;
}



.cinzel-decorative-regular {
  font-family: "Cinzel Decorative", serif;
  font-weight: 400;
  font-style: normal;
  color: #4f4f50;
  text-shadow:
    1px 1px 0 #fff,   /* luce */
    2px 2px 0 #000;   /* ombra */
}

.text-muted {
    color: #97a2c6 !important;
}

.cinzel-decorative-bold {
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-style: normal;
}

.cinzel-decorative-black {
  font-family: "Cinzel Decorative", serif;
  font-weight: 900;
  font-style: normal;
}


.pt-serif-regular {
  font-family: "PT Serif", serif;
  font-weight: 400;
  font-style: normal;
}

.pt-serif-bold {
  font-family: "PT Serif", serif;
  font-weight: 700;
  font-style: normal;
}

.pt-serif-regular-italic {
  font-family: "PT Serif", serif;
  font-weight: 400;
  font-style: italic;
}

.pt-serif-bold-italic {
  font-family: "PT Serif", serif;
  font-weight: 700;
  font-style: italic;
}


a {
    color:#97A2C3;
    text-decoration: none;
}

a:hover {
    color:#6b8ef7;
}




/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-bottom: 0;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
  /*
  padding: 1.8rem;
  border-radius: 0 15% 0 20%;
  background-color: rgba(113,142,175,0.5);
  right:0;
  left:0;
  */
}
.carousel-caption h2, .carousel-caption h1, .carousel-caption p {
  text-shadow: 
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000,
    2px 2px 6px rgba(0, 0, 0, 0.6);
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: calc(100vh - 111px);
}
.carousel-item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: calc(100vh - 111px);
}

@media (min-width: 1023px) {
    .captiontxt {
        width:60% !important;
    }
}

@media (max-width: 768px) {
    .carouselimg-right {
      right: -70px;
      left:unset !important;
    }
    .carouselimg-center {
      right: -280px !important;
      left: unset !important;
    }
    .carouselimg-left {
      right: -280px !important;
      left: unset !important;
    }
    .carousel-caption {
      bottom: 4rem;
    }
}

.carousel-inner {
    border-top: 5px solid #475c81;
}

.gradient-button {
  background: linear-gradient(135deg, #3a99ad 0%, #1f2263 100%);
  color: white;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(58, 153, 173, 0.3);
}

.gradient-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(58, 153, 173, 0.4);
  background: linear-gradient(135deg, #4ab3c7 0%, #2a2d7a 100%);
}

.gradient-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(58, 153, 173, 0.3);
}

.btn-trasp {
    opacity: 0.9;
    background-color: #596067;
    color: #ffffff;
    border-color: #212529;
    text-shadow: none !important;
}

.btn-trasp:hover {
    opacity: 0.9;
    background-color: #7f8891;
    color: #2c3136;
    border-color: #596067;
}





.headerimg {
    border-top: 5px solid #475c81;
}
/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
.marketing h2 {
  font-weight: 400;
}
/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}
/* rtl:end:ignore */


/* Featurettes
------------------------- */

/* HR personalizzato con forbice e linea tratteggiata */
.featurette-divider {
    margin: 5rem 0;
    border: none;
    height: 2px; /* Più spesso */
    background: none;
    position: relative;
    overflow: visible;
}

/* Rimuovi qualsiasi stile di default dell'HR */
.featurette-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 3rem; /* Più spazio per l'icona più grande */
    right: 0;
    height: 2px; /* Più spesso */
    background-image: repeating-linear-gradient(
        to right,
        #a0a0a0 0px,      /* Argento più visibile */
        #a0a0a0 8px,      /* Trattini più lunghi */
        transparent 8px,   /* Spazio trasparente */
        transparent 15px   /* Spazio più lungo */
    );
}

/* Icona forbice all'inizio */
.featurette-divider::after {
    content: '✂'; /* Carattere Unicode forbice */
    position: absolute;
    top: -0.8rem; /* Centra verticalmente rispetto alla linea più spessa */
    left: 0;
    color: #a0a0a0; /* Argento più visibile */
    font-size: 1.8rem; /* Più grande */
    background: white; /* Sfondo bianco per nascondere la linea sotto l'icona */
    padding: 0 0.8rem 0 0; /* Più padding */
    z-index: 1;
}

/* Versione alternativa con Bootstrap Icons (se includi Bootstrap Icons) */
.featurette-divider.bi-scissors {
    font-family: 'Bootstrap Icons', sans-serif;
}

.featurette-divider.bi-scissors::after {
    content: '\F4E6'; /* Codice Bootstrap Icon per scissors */
    font-family: 'Bootstrap Icons', sans-serif;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

/* Varianti di colore */
.featurette-divider.light-silver {
    /* Variante predefinita - argento chiaro */
}

.featurette-divider.medium-silver::before {
    background-image: repeating-linear-gradient(
        to right,
        #808080 0px,      /* Più visibile */
        #808080 8px,      /* Trattini più lunghi */
        transparent 8px,
        transparent 15px
    );
}

.featurette-divider.medium-silver::after {
    color: #808080;
}

.featurette-divider.dark-silver::before {
    background-image: repeating-linear-gradient(
        to right,
        #606060 0px,      /* Più visibile */
        #606060 8px,      /* Trattini più lunghi */
        transparent 8px,
        transparent 15px
    );
}

.featurette-divider.dark-silver::after {
    color: #606060;
}

/* Responsive - su mobile riduci la dimensione */
@media (max-width: 768px) {
    .featurette-divider {
        margin: 3rem 0;
    }
    
    .featurette-divider::before {
        left: 2.5rem; /* Spazio adeguato per l'icona più grande */
        background-image: repeating-linear-gradient(
            to right,
            #a0a0a0 0px,
            #a0a0a0 6px,      /* Trattini medi su tablet */
            transparent 6px,
            transparent 12px
        );
    }
    
    .featurette-divider::after {
        font-size: 1.4rem; /* Più grande anche su mobile */
        top: -0.7rem;
        padding: 0 0.6rem 0 0;
    }
}

@media (max-width: 576px) {
    .featurette-divider {
        margin: 2rem 0;
    }
    
    .featurette-divider::before {
        left: 2rem;
        background-image: repeating-linear-gradient(
            to right,
            #a0a0a0 0px,
            #a0a0a0 5px,      /* Trattini adeguati su mobile */
            transparent 5px,
            transparent 10px
        );
    }
    
    .featurette-divider::after {
        font-size: 1.2rem; /* Più grande del precedente */
        top: -0.6rem;
        padding: 0 0.5rem 0 0;
    }
}


/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}


.gotop {
  position: fixed;
  bottom:1rem;
  right: 1rem;
  z-index: 99;
}





.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
      font-size: 3.5rem;
    }
}



/* NAV BAR E MENU */
        .navbar-brand img {
            height: 100px;
            width: auto;
        }
        
        .flag-btn {
            border: none;
            background: transparent;
            padding: 5px;
            margin: 0 2px;
            border-radius: 4px;
            transition: all 0.3s ease;
        }
        
        .flag-btndisable {
            border: none;
            background: transparent;
            padding: 5px;
            margin: 0 2px;
            border-radius: 4px;
            transition: all 0.3s ease;
        }

        .flag-btn:hover {
            background-color: rgba(0,0,0,0.1);
            transform: scale(1.1);
        }
        
        .flag-btn img {
            width: 24px;
            height: auto;
            border-radius: 2px;
        }

        .flag-btndisable img {
            width: 18px;
            height: auto;
            border-radius: 2px;
        }
        
        .navbar-nav .nav-link {
            font-weight: 500;
            transition: color 0.3s ease;
        }
        
        .navbar-nav .nav-link:hover {
            color: #0d6efd !important;
        }
        
        .dropdown-menu {
            border: none;
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
            border-radius: 0.5rem;
        }
        
        .dropdown-item:hover {
            background-color: #f8f9fa;
            color: #0d6efd;
        }
        
        @media (max-width: 991.98px) {
            .language-flags {
                justify-content: center;
                margin-top: 10px;
                padding-top: 10px;
                border-top: 1px solid #dee2e6;
            }
        }




.socialico {
    font-size: 4rem;
}

.dida {
  font-size: .9rem;
}





/* DIVIDER  */


/* Section Divider - Separatore moderno per sezioni */
.section-divider {
    position: relative;
    padding: 0 6px;
    margin: 60px 0 0 0;
    background: linear-gradient(135deg, #afbcbc 0%, #758b8b 100%);
    overflow: visible;
    z-index: 99;
    text-align: left;
    height:34px;
}

/* Effetto geometrico di sfondo */
.section-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(212, 212, 212, 0.3) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(190, 190, 190, 0.2) 0%, transparent 50%);
    z-index: 1;
}

/* Effetto pattern geometrico */
.section-divider::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(45deg, rgba(255,255,255,0.05) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(255,255,255,0.05) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(255,255,255,0.05) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(255,255,255,0.05) 75%);
    background-size: 60px 60px;
    background-position: 0 0, 0 30px, 30px -30px, -30px 0px;
    z-index: 1;
}


/* Stili specifici per il testo */
.text-white {
    color: #ffffff !important;
}

.section-divider h3 {
    position: absolute;
    z-index: 9;
}



/* Responsive */
@media (max-width: 768px) {
    .section-divider {
        padding: 50px 20px;
        margin: 40px 0;
    }
    
    .section-divider h1,
    .section-divider h2,
    .section-divider h3 {
        font-size: 2rem !important;
    }
    
    .section-divider h4,
    .section-divider h5,
    .section-divider h6 {
        font-size: 1.5rem !important;
    }
}

@media (max-width: 576px) {
    .section-divider {
        padding: 40px 15px;
        margin: 30px 0;
    }
    
    .section-divider::after {
        background-size: 30px 30px;
        background-position: 0 0, 0 15px, 15px -15px, -15px 0px;
    }
}

/* Animazione di entrata */
.section-divider {
    animation: slideInUp 0.8s ease-out;
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}







/* GALLERY COSTUMI */


.shadow-lg {
  background-color: #ffffff;
}


.fancybox__caption {
    text-align: center;
}

div.costumi {
    max-height: 1000px; /* Valore sufficientemente grande */
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
}


.shadowgray-lg {
    background-color: rgba(255,255,255,0.8);
}

.onlydesktop {
    display:block;
}
.onlymobile {
    display: none;
}

@media(max-width:845px) {
    .onlydesktop {
        display: none;
    }
    .onlymobile {
        display:block;
    }
}

.testointrocostumi {
    display: none;
}

.btn-outline-active {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}


.full-width {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.img-gall {
    border:1px solid #466166;
    padding:0;
}


/*ANIMATOLO*/
.animate-on-scroll {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .animate-on-scroll.animate-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Animazioni specifiche per diversi elementi */
        .slide-in-left {
            transform: translateX(-100px);
            opacity: 0;
            transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .slide-in-left.animate-visible {
            transform: translateX(0);
            opacity: 1;
        }

        .slide-in-right {
            transform: translateX(100px);
            opacity: 0;
            transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .slide-in-right.animate-visible {
            transform: translateX(0);
            opacity: 1;
        }

        .fade-in-up {
            transform: translateY(30px);
            opacity: 0;
            transition: all 0.6s ease-out;
        }

        .fade-in-up.animate-visible {
            transform: translateY(0);
            opacity: 1;
        }

        .scale-in {
            transform: scale(0.8);
            opacity: 0;
            transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .scale-in.animate-visible {
            transform: scale(1);
            opacity: 1;
        }

        /* Ritardi per animazioni sequenziali */
        .delay-1 { transition-delay: 0.1s; }
        .delay-2 { transition-delay: 0.2s; }
        .delay-3 { transition-delay: 0.3s; }
        .delay-4 { transition-delay: 0.4s; }



/* services animazioni */


.section {
    opacity: 0;
    transform: translateY(50px);
    animation: slideInUp 1s ease-out forwards;
    margin-bottom: 4rem;
}

.section:nth-child(2) {
    animation-delay: 0.5s;
}

.section:nth-child(3) {
    animation-delay: 1s;
}

@keyframes slideInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card {
    background: rgba(169, 169, 169, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(192, 192, 192, 0.2);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    overflow: hidden;
}

.card:hover {
    
}

.card-title {
    background: linear-gradient(45deg, #c0c0c0, #ffffff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    position: relative;
}

.card-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(45deg, #808080, #ffffff);
    animation: expandLine 2s ease-out forwards;
    animation-delay: 1.5s;
}

@keyframes expandLine {
    to {
        width: 100%;
    }
}

.card-text {
    color: #000;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    opacity: 0;
    animation: fadeIn 1s ease-out forwards;
    animation-delay: 2s;
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/*
.image-container {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    margin-bottom: 1.5rem;
}

.animated-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.5s ease;
    filter: brightness(0.8) grayscale(0.3);
}

.animated-image:hover {
    transform: scale(1.1);
    filter: brightness(1.0) grayscale(0.1);
}
*/

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(128, 128, 128, 0.3), rgba(192, 192, 192, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.image-container:hover .image-overlay {
    opacity: 1;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}



/* animazioni di zoom in con delay diversi */

/* Definizione del keyframe per l'animazione di zoom */
@keyframes zoomIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Classe base per tutte le immagini */
.image-zoom {
  transform: scale(0);
  opacity: 0;
  animation: zoomIn 0.8s ease-out forwards;
}

/* Prima immagine - inizia immediatamente */
.image-zoom-1 {
  animation-delay: 0s;
}

/* Seconda immagine - inizia dopo 0.3 secondi */
.image-zoom-2 {
  animation-delay: 0.3s;
}

/* Terza immagine - inizia dopo 0.6 secondi */
.image-zoom-3 {
  animation-delay: 0.6s;
}

/* Versione alternativa con delay più lungo per effetto più drammatico */
.image-zoom-slow-1 {
  animation-delay: 0s;
}

.image-zoom-slow-2 {
  animation-delay: 0.8s;
}

.image-zoom-slow-3 {
  animation-delay: 1.6s;
}



/*
.pulse-border {
    position: relative;
}


.pulse-border::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #808080, #c0c0c0, #ffffff, #a9a9a9);
    border-radius: 22px;
    z-index: -1;
    animation: rotateBorder 30s linear infinite;
}

@keyframes rotateBorder {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}*/


/* F O R M C O N T A T T I */

.form-container {
            background: rgba(169, 169, 169, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(192, 192, 192, 0.2);
            border-radius: 20px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
            padding: 2rem;
            margin-top: 2rem;
        }
        
        .form-title {
            background: linear-gradient(45deg, #c0c0c0, #ffffff);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            font-weight: bold;
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 2rem;
        }
        
        .form-label {
            color: #333;
            font-weight: 500;
            margin-bottom: 0.5rem;
        }
        
        .form-control, .form-select {
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(192, 192, 192, 0.3);
            color: #000000;
            border-radius: 10px;
            padding: 0.75rem 1rem;
            transition: all 0.3s ease;
        }
        
        .form-control:focus, .form-select:focus {
            background: rgba(255, 255, 255, 0.15);
            border-color: #c0c0c0;
            box-shadow: 0 0 0 0.2rem rgba(192, 192, 192, 0.25);
            color: #333;
        }
        
        .form-control::placeholder {
            color: #a0a0a0;
        }
        
        .btn-submit {
            background: linear-gradient(45deg, #808080, #c0c0c0);
            border: none;
            color: #000000;
            font-weight: bold;
            padding: 0.75rem 2rem;
            border-radius: 10px;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(192, 192, 192, 0.3);
            background: linear-gradient(45deg, #a9a9a9, #ffffff);
        }
        
        .btn-submit:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        
        .alert {
            border-radius: 10px;
            margin-bottom: 1rem;
        }
        
        .required {
            color: #ff6b6b;
        }
        
        .privacy-text {
            color: #a9a9a9;
            font-size: 0.9rem;
            margin-top: 1rem;
        }
        
        .privacy-text a {
            color: #c0c0c0;
        }
        
        .loading-spinner {
            display: none;
            margin-left: 10px;
        }
        
        .field-error {
            color: #ff6b6b;
            font-size: 0.875rem;
            margin-top: 0.25rem;
            display: none;
        }
        
        .form-control.is-invalid {
            border-color: #ff6b6b;
        }
        
        .form-control.is-valid {
            border-color: #28a745;
        }


.img-circle {
    border-radius: 50%;
    padding: 2rem;
}






/* animazione pagina servizi */
/* Stili per il contenitore principale */
.photos-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; /* Distribuisce lo spazio uniformemente */
    align-items: center;
    gap: 15px;
    padding: 30px 0;
    margin: 40px 0;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    /*background: linear-gradient(to right, 
        rgba(0,0,0,0.05) 0%, 
        rgba(0,0,0,0.1) 50%, 
        rgba(0,0,0,0.05) 100%);
    box-shadow: inset 0 0 20px rgba(0,0,0,0.1);*/
}

/* Stili per ogni foto - Desktop */
.photo {
    position: relative;
    transform: translateY(100px) rotate(5deg);
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    flex: 1 1 auto; /* Cresce e si riduce in base allo spazio */
    min-width: calc(16.666% - 15px); /* 6 foto con gap incluso */
    height: 35vw; /* Altezza proporzionale alla viewport width */
    max-height: 500px; /* Altezza massima */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    overflow: hidden;
}

.photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* Animazioni */
.photo.animate-visible {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
}

/* Delay animazioni */
.photo-1.animate-visible { transition-delay: 0.1s; }
.photo-2.animate-visible { transition-delay: 0.2s; }
.photo-3.animate-visible { transition-delay: 0.3s; }
.photo-4.animate-visible { transition-delay: 0.4s; }
.photo-5.animate-visible { transition-delay: 0.5s; }
.photo-6.animate-visible { transition-delay: 0.6s; }

/* Effetti hover */
.photo:hover {
    z-index: 10;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transform: translateY(-5px) scale(1.03);
}

.photo:hover img {
    transform: scale(1.05);
}

/* Tablet (4 foto per riga) */
@media (max-width: 1024px) {
    .photo {
        min-width: calc(25% - 15px); /* 4 foto con gap */
        height: 25vw;
    }
}

/* Mobile (scorrimento orizzontale) */
@media (max-width: 768px) {
    .photos-container {
        padding: 20px 10px;
        gap: 10px;
    }
    
    .photo {
        min-width: 150px;
        height: 200px;
    }
    
    /* Animazione simultanea su mobile */
    .photo.animate-visible {
        transition-delay: 0.1s !important;
    }
}

/* Nasconde la scrollbar */
.photos-container::-webkit-scrollbar {
    display: none;
}

.photos-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

