@media only screen 
  and (min-device-width: 1024px) 
  and (max-device-width: 1780px)
  and (-webkit-min-device-pixel-ratio: 2) {
     .only-desktop{
        display: none;
    }

    .info-rest {
        grid-template-columns: 1fr;
        padding: 0;
    }

    * CARROUSSEL MÒBIL */

    .carousel-container {
        display: block;
        width: 100%;
        overflow: hidden; 
        padding: 50px 0;   
    }

    .carousel-track {
        display: flex;               /* Posem els elements en línia horitzontal */
        overflow-x: auto;            /* Activem l'scroll horitzontal */
        scroll-behavior: smooth;     /* Scroll suau */
        
        /* --- Scroll Snap (Natiu) --- */
        /* Això fa que la imatge "s'enganxi" a la vora enlloc de quedar a mitges */
        scroll-snap-type: x mandatory; 
        
        /* --- Millores d'UX per a mòbil --- */
        -webkit-overflow-scrolling: touch; /* Scroll més suau en iOS antic */
        scrollbar-width: none;          /* Amaguem la barra d'scroll en Firefox */
        padding: 0 10%;
        gap: 25px;                /* Pàding lateral per centrar la primera imatge */
    }

    /* Amaguem la barra d'scroll en Chrome, Safari i Edge */
    .carousel-track::-webkit-scrollbar {
        display: none;
    }

    .carousel-item {
        flex: 0 0 auto;       /* CADA IMATGE OCUPA EL 80% DE L'AMPLADA */
                            /* Això deixa un 20% (10% a cada costat aprox) per veure la següent/anterior */
        margin-right: 15px;  /* Espai entre imatges */
        scroll-snap-align: center; /* L'element s'alinia al centre del contenidor en fer snap */
    }

    /* Últim element sense marge a la dreta */
    .carousel-item:last-child {
        margin-right: 0;
    }

    .carousel-item img {
        width: auto;         /* La imatge ocupa tot el seu contenidor */
        height: 600px;       /* Altura fixa (ajusta-la com vulguis, p.ex. 60vh o 300px) */
        object-fit: cover;   /* Manté la proporció retallant si cal (molt important!) */
        display: block;
    }

    /* MENU I RESERVES */
    .menucarta-reserves{
        display: flex; 
        flex-direction: row; 
        gap: 25px;
        height: 100%;
        width: 82%;
        margin: auto;
        padding: 50px 0;
    }
    .only-mobile{
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 50px 0;

    }

    .only-mobile img{
        width:100%;
        height: auto;
        object-fit: cover;
    }

    .mobile-reserva-style {
        width: 100%;
        padding: 40px 5%; /* Donem aire lateral */
        background-color: #921416;
        box-sizing: border-box;
        height: auto;
        height: 100%;
    }

    .mobile-reserva-style .reservation-title{
        font-size: 2rem;
    }

    .mobile-reserva-style .form-row{
       grid-template-columns:(1fr, 1fr);
       padding-top: 25px;
    }

    .mobile-reserva-style .calendar-widget {
        max-width: 100%;
        margin: 0 auto;
    }

    /* TESTIMONIS */

    .testimonials-container{
        padding: 0 5%;
    }
    .name{
        font-size: 1.8rem;
    }

    .time {
        font-size: 16px;
    }

    .review-text {
        font-size: 16px;
    }

    /* CONTACTE */

    .info-card{
        bottom: -400px;
    }

    .form-wrapper{
        margin-top: 350px;
    }

    /* FOOTER */

    .footer-group-logos{
        margin: 0;
    }

  }

  @media screen and (max-width: 1600px) and (min-width: 1000px) {
  .card-thumb {
    width: 220px;
  }
}

/* TABLET FINS A 1024px */
@media screen and (max-width: 1024px) {

    .hero-header-mbl img{
        min-width: 200px;
    }
    .brand-header {
        display: none !important;
    }

    .hero-header-mbl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        position: relative;
        z-index: 1001;
    }

    /* Forcem que el botó es vegi i estigui per sobre */
    .menu-toggle {
        display: block !important;
        background: transparent;
        border: none;
        color: #fff;
        font-size: 2rem;
        cursor: pointer;
        position: relative;
        z-index: 1100; /* Per sobre del menú desplegat */
    }

    /* El contenidor del menú */
    .hero-header-mbl .main-nav {
        display: none; /* Amagat per defecte */
        position: fixed;
        top: 0;
        right: -100%; 
        width: 100%; /* Millor 100% en mòbils petits */
        height: 100vh;
        background:#000;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: right 0.4s ease;
        z-index: 1050;
    }

    /* Quan s'activa */
    .hero-header-mbl .main-nav.active {
        display: flex !important; /* El fem aparèixer */
        right: 0;
        gap: 50px;
    }

    .hero-header-mbl .main-nav ul {
        list-style: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }

    .hero-header-mbl .main-nav ul li a {
        color: #fff;
        text-decoration: none;
        font-size: 1.2rem;
        font-family: 'Montserrat', sans-serif;
    }

    /* INFO REST */
    .info-rest{
        padding: 0;
        grid-template-columns:1fr;
    }


    .only-desktop{
        display: none;
    }


    /* CARROUSSEL MÒBIL */

    .carousel-container {
        display: block;
        width: 100%;
        overflow: hidden; 
        padding: 50px 0;   
    }

    .carousel-track {
        display: flex;               /* Posem els elements en línia horitzontal */
        overflow-x: auto;            /* Activem l'scroll horitzontal */
        scroll-behavior: smooth;     /* Scroll suau */
        
        /* --- Scroll Snap (Natiu) --- */
        /* Això fa que la imatge "s'enganxi" a la vora enlloc de quedar a mitges */
        scroll-snap-type: x mandatory; 
        
        /* --- Millores d'UX per a mòbil --- */
        -webkit-overflow-scrolling: touch; /* Scroll més suau en iOS antic */
        scrollbar-width: none;          /* Amaguem la barra d'scroll en Firefox */
        padding: 0 10%;
        gap: 25px;                /* Pàding lateral per centrar la primera imatge */
    }

    /* Amaguem la barra d'scroll en Chrome, Safari i Edge */
    .carousel-track::-webkit-scrollbar {
        display: none;
    }

    .carousel-item {
        flex: 0 0 auto;       /* CADA IMATGE OCUPA EL 80% DE L'AMPLADA */
                            /* Això deixa un 20% (10% a cada costat aprox) per veure la següent/anterior */
        margin-right: 15px;  /* Espai entre imatges */
        scroll-snap-align: center; /* L'element s'alinia al centre del contenidor en fer snap */
    }

    /* Últim element sense marge a la dreta */
    .carousel-item:last-child {
        margin-right: 0;
    }

    .carousel-item img {
        width: auto;         /* La imatge ocupa tot el seu contenidor */
        height: 600px;       /* Altura fixa (ajusta-la com vulguis, p.ex. 60vh o 300px) */
        object-fit: cover;   /* Manté la proporció retallant si cal (molt important!) */
        display: block;

    }


    /* MENU I RESERVES */
    .menucarta-reserves{
        flex-direction: column;
        gap:20px;
    }
    .only-mobile{
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 50px 0;
    }

    .only-mobile img{
        width:82%;
        height: auto;
        object-fit: cover;
    }

    .mobile-reserva-style {
        width: 82%;
        padding: 40px 5%; /* Donem aire lateral */
        background-color: #921416;
        box-sizing: border-box;
        height: auto;
    }

    .mobile-reserva-style .reservation-title{
        font-size: 2rem;
    }

    .mobile-reserva-style .form-row{
       grid-template-columns:(1fr, 1fr);
       padding-top: 25px;
    }

    .mobile-reserva-style .calendar-widget {
        max-width: 100%;
        margin: 0 auto;
    }

    /* TESTIMONIALS */

    .testimonials{
        padding: 0;
    }

    .testimonial-item{
        padding: 20px;
    }

    .testimonials-container {
        grid-template-columns: repeat(1, 1fr);
    }

    .name{
        font-size: 2rem;
    }
    .time {
        font-size: 22px;
    }

    /* CONTACTE SECCIÓ */

    .info-card {
        width: 75%;
        flex-direction: column;
        bottom: -750px;
    }

    .card-content{
        flex-direction: column;
    }
    .card-thumb{
        width: 100%;
    }

    .card-details img{
        width: 100%;
    }

    .italic-serif{
        font-size: 4rem;
        text-align: center;
        padding-left: 0;
    }

    .form-wrapper{
        margin-top: 800px;
        padding: 10%;
    }

    .input-group input, .input-group textarea{
        width: stretch;
    }

    .recaptcha-placeholder img{
        width: stretch;
    }

    /* FOOTER */
    .footer-container{
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-top: 50px;
    }

    .footer-logo{
        margin-bottom: 0;
    }

    .footer-logo img{
        width: stretch;
    }

    .footer-social {
        position: relative;
        left: 0px;
        display: flex;
        gap: 15px;
        
    }

    .footer-bottom {
        flex-direction: column-reverse;
        gap: 40px;
    }

    .footer-group-logos{
        display: none;
    }

    .mobile-logos-section-footer {
        display: block !important;
        background-color: white;
        padding: 40px 20px; /* Afegeix padding per donar aire */
        width: 100%;
        box-sizing: border-box;
        opacity: 1 !important; /* Forcem visibilitat */
        transform: none !important; /* Anul·lem el desplaçament de l'animació */
    }

    .logos-grid-mbl {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important; 
        gap: 30px;
        align-items: center;
        justify-items: center;
        padding: 5%;
    }

    .logos-grid-mbl .logo-item {
        opacity: 1 !important; 
        transform: none !important;
        padding: 0;
    }

    .logos-grid-mbl img {
        max-width: 100%;
        height: auto;
        filter: none !important; 
    }

}


/* TELÈFONS MÒBILS */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
    .hero-header-mbl img{
        min-width: 200px;
    }
    .brand-header {
        display: none !important;
    }

    .hero-header-mbl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        position: relative;
        z-index: 1001;
    }

    /* Forcem que el botó es vegi i estigui per sobre */
    .menu-toggle {
        display: block !important;
        background: transparent;
        border: none;
        color: #fff;
        font-size: 2rem;
        cursor: pointer;
        position: relative;
        z-index: 1100; /* Per sobre del menú desplegat */
    }

    /* El contenidor del menú */
    .hero-header-mbl .main-nav {
        display: none; /* Amagat per defecte */
        position: fixed;
        top: 0;
        right: -100%; 
        width: 100%; /* Millor 100% en mòbils petits */
        height: 100vh;
        background:#000;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: right 0.4s ease;
        z-index: 1050;
    }

    /* Quan s'activa */
    .hero-header-mbl .main-nav.active {
        display: flex !important; /* El fem aparèixer */
        right: 0;
        gap: 50px;
    }

    .hero-header-mbl .main-nav ul {
        list-style: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }

    .hero-header-mbl .main-nav ul li a {
        color: #fff;
        text-decoration: none;
        font-size: 1.2rem;
        font-family: 'Montserrat', sans-serif;
    }

    /* INFO REST */
    .info-rest{
        padding: 0;
        grid-template-columns:1fr;
    }


    .only-desktop{
        display: none;
    }

    /* CARROUSSEL MÒBIL */

    .carousel-container {
        display: block;
        width: 100%;
        overflow: hidden; 
        padding: 50px 0;   
    }

    .carousel-track {
        display: flex;               /* Posem els elements en línia horitzontal */
        overflow-x: auto;            /* Activem l'scroll horitzontal */
        scroll-behavior: smooth;     /* Scroll suau */
        
        /* --- Scroll Snap (Natiu) --- */
        /* Això fa que la imatge "s'enganxi" a la vora enlloc de quedar a mitges */
        scroll-snap-type: x mandatory; 
        
        /* --- Millores d'UX per a mòbil --- */
        -webkit-overflow-scrolling: touch; /* Scroll més suau en iOS antic */
        scrollbar-width: none;          /* Amaguem la barra d'scroll en Firefox */
        padding: 0 10%;                 /* Pàding lateral per centrar la primera imatge */
    }

    /* Amaguem la barra d'scroll en Chrome, Safari i Edge */
    .carousel-track::-webkit-scrollbar {
        display: none;
    }

    .carousel-item {
        flex: 0 0 auto;       /* CADA IMATGE OCUPA EL 80% DE L'AMPLADA */
                            /* Això deixa un 20% (10% a cada costat aprox) per veure la següent/anterior */
        margin-right: 15px;  /* Espai entre imatges */
        scroll-snap-align: center; /* L'element s'alinia al centre del contenidor en fer snap */
    }

    /* Últim element sense marge a la dreta */
    .carousel-item:last-child {
        margin-right: 0;
    }

    .carousel-item img {
        width: auto;         /* La imatge ocupa tot el seu contenidor */
        height: 325px;       /* Altura fixa (ajusta-la com vulguis, p.ex. 60vh o 300px) */
        object-fit: cover;   /* Manté la proporció retallant si cal (molt important!) */
        display: block;
    }

    
    /* MENU I RESERVES */

    .only-mobile{
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 50px 0;
    }

    .only-mobile img{
        width:82%;
        height: auto;
        object-fit: cover;
    }

    .mobile-reserva-style {
        width: 82%;
        padding: 40px 5%; /* Donem aire lateral */
        background-color: #921416;
        box-sizing: border-box;
        height: auto;
    }

    .mobile-reserva-style .reservation-title{
        font-size: 2rem;
        text-align: center;
    }

    .mobile-reserva-style .form-row{
       grid-template-columns:1fr;
       padding-top: 25px;
    }

    .mobile-reserva-style .calendar-widget {
        max-width: 100%;
        margin: 0 auto;
    }


    /* TESTIMONIALS */

    .testimonials{
        padding: 0;
        margin-top: 0;
    }

    .testimonial-item{
        padding: 20px;
    }

    .testimonials-container {
        display: block;
    }

    .name{
        font-size: 2rem;
    }
    .time {
        font-size: 16px;
    }

    .author-info {
        flex-direction: column;
    }

    /* CONTACT */

    .serif {
        font-size: 5rem;   
        padding-left: 0;
        text-align: center;
    }
    
    .info-card {
        width: 75%;
        flex-direction: column;
        bottom: -530px;
    }

    .card-content{
        flex-direction: column;
    }
    .card-thumb{
        width: 100%;
    }

    .card-details img{
        width: 100%;
    }

    .italic-serif{
        font-size: 4rem;
        text-align: center;
        padding-left: 0;
    }

    .form-wrapper{
        margin-top: 550px;
        padding: 10%;
    }

    .input-group input, .input-group textarea{
        width: stretch;
    }

    .recaptcha-placeholder img{
        width: stretch;
    }

    /* FOOTER */
    .footer-container{
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-top: 50px;
    }

    .footer-logo{
        margin-bottom: 0;
    }

    .footer-logo img{
        width: stretch;
    }

    .footer-social {
        position: relative;
        left: 0px;
        display: flex;
        gap: 15px;
        
    }

    .footer-nav {
        flex-direction: column;
    }

    .footer-bottom {
        flex-direction: column-reverse;
        gap: 40px;
    }

    .footer-group-logos{
        display: none;
    }

    .mobile-logos-section-footer {
        display: block !important;
        background-color: white;
        width: 100%;
        box-sizing: border-box;
        opacity: 1 !important; /* Forcem visibilitat */
        transform: none !important; /* Anul·lem el desplaçament de l'animació */
    }

    .logos-grid-mbl {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important; 
        gap: 30px;
        align-items: center;
        justify-items: center;
        padding: 10%;
    }

    .logos-grid-mbl .logo-item {
        opacity: 1 !important; 
        transform: none !important;
        padding: 0;
    }

    .logos-grid-mbl img {
        max-width: 100%;
        height: auto;
        filter: none !important; 
    }
  }