.menu-wrapper .main-menu div.menu-owner:hover, .menu-wrapper .main-menu div.menu-family:hover,.menu-wrapper .main-menu div.menu-winery:hover,.menu-wrapper .main-menu div.menu-range:hover {
    opacity:1;
    font-size:100%;
    }
.menu-wrapper .main-menu div.menu-owner .menu-running, .menu-wrapper .main-menu div.menu-family .menu-running, .menu-wrapper .main-menu div.menu-winery .menu-running, .menu-wrapper .main-menu div.menu-range .menu-running {
    text-decoration: underline!important;
    }
    .menu-search-wrapper {
        margin-bottom:20px;
    }
    
    .menu-search-form {
        display: inline-flex;
        border: 1px solid #383838;
        border-radius: 0;
        overflow: hidden;
    }
    
    .menu-search-input {
        padding: 6px 10px;
        border: none;
        width: auto;
        font-size: 14px;
        color: #383838;
    }
    
    .menu-search-button {
        background-color: #FFF;
        border: none;
        padding: 6px 10px;
        cursor: pointer;
        font-size: 16px;
    }
    .menu-search-button i{
        color:#383838;
    }
.footer-wrapper {
    margin-top: 5rem;
}

/* Bande sombre footer (contact, réseaux, crédits) */
.footer-band {
    background-color: var(--reverse-bg-color);
    color: var(--reverse-text-color);
    padding: 3rem 0 1rem;
}

/* Texte dans la bande — liens, contact, crédits */
.footer-band a,
.footer-band button.btn-link,
.footer-band .footer-contact p,
.footer-band .footer-credits span,
.footer-band .footer-credits a,
.footer-band .footer-link {
    color: var(--reverse-text-color) !important;
    opacity: 0.85;
}

.footer-band a:hover,
.footer-band button.btn-link:hover,
.footer-band .footer-link:hover {
    opacity: 1;
}

/* Boutons icônes (réseaux sociaux, services) */
.footer-band .btn-outline-primary {
    background-color: transparent !important;
    border-color: var(--reverse-text-color) !important;
    color: var(--reverse-text-color) !important;
    opacity: 0.85;
}

.footer-band .btn-outline-primary:hover {
    background-color: var(--reverse-text-color) !important;
    color: var(--reverse-bg-color) !important;
    opacity: 1;
}
.recyclage-content {
    background:#F9F9F9;
}
.recyclage-content .nutrition {
    max-width:600px;
}
.recyclage-consignes img {
    max-width:80px;
    background:#F9F9F9;
}


.parallax-section.hero-parallax-section .parallax-wrapper {
    /*height: calc(100vh - 170px);*/
    max-width: 1720px;
    max-height: 860px;
}

@media (min-width:1024px){


    .brands-section .container-fluid .brand-panel {
    
        min-height:640px;
        max-width: 1720px;
        max-height: 860px;
       
        margin-right:auto;
        margin-left:auto;
    }
    

        .product-panel .product-description {
        padding-left:40px;
                padding-right:40px;
    }
        .product-hero-section .product-panel .product-description {
        padding-left:40px;
        padding-right:0;
    }
    
}

@media (min-width:1440px){


    .brands-section .container-fluid .brand-panel {
    
        min-height:780px;
        max-width: 1720px;
        max-height: 860px;
       

    }
    
    .header-wrapper .header-menu-wrapper {
                max-width: 1720px;
        margin-right:auto;
        margin-left:auto;
        }
    
}

@media (min-width:768px){
    /* modifié direct dans style.css */
    .header-wrapper .header-languagues .dropdown .dropdown-toggle{/*display:none*/}
    .header-wrapper .header-languagues .dropdown .dropdown-menu{/*position:relative!important;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:0;padding:0;border:none;-webkit-transform:translateZ(0)!important;transform:translateZ(0)!important*/}

    .header-wrapper .header-languagues .dropdown a, .header-wrapper .header-languagues .dropdown button {
        padding: 0.5rem 1rem;
    }
    .review-panel figure{
        -webkit-box-flex:0;-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;
        max-width:20%;
        padding:5px 0;}
}

.reviews-section{
    padding-bottom:40px;
}

.ico-tourism{
    width:48px;
    background:white;
    border-radius:10px;
    border:1px solid white;
    margin-bottom:10px;
}

.iframe-piwik{
    border: 0; 
    height: auto; 
    width: 100%;
}
/*
.brand-panel {
    width: 100%;
    margin-bottom: 20px;
}


@media (min-width: 768px) {
    .brand-panel {
        width: 48%;
        display: inline-block;
        vertical-align: top;
        margin-right: 2%;
    }
    .brand-panel:nth-child(2n) {
        margin-right: 0;
    }
}


@media (min-width: 992px) {
    .brand-panel {
        width: 30%;
        margin-right: 3.333%;
    }
    .brand-panel:nth-child(3n) {
        margin-right: 0;
    }
}
.brand-panel {
    padding: 20px;
    text-align: center;
}


.brand-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%; 
}

.brand-panel h3,
.brand-panel .btn {
    margin: 10px 0;
}
*/

/* ============================================================
   DESIGN MODERNISÉ — Hero arrondis + Grille cards gammes
   ============================================================ */

/* --- Boutons : forme gélule --- */
.btn {
    border-radius: 0px !important;
}

/* --- Hero : bords arrondis ---
   Rayon : modifier border-radius ci-dessous */
.hero-parallax-section .parallax-wrapper {
    border-radius: 0;
    overflow: hidden;
}

/* --- Gammes (brands-section) : grille CSS, largeur contrainte
   max-width : modifier ci-dessous pour changer la largeur globale de la grille */
.brands-section .container-fluid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* 2 colonnes — tablette */
@media (min-width: 768px) {
    .brands-section .container-fluid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 3 colonnes — desktop */
@media (min-width: 1024px) {
    .brands-section .container-fluid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Carte gamme
   Rayon : modifier border-radius ci-dessous
   Ombre : modifier box-shadow ci-dessous */
.brands-section .brand-panel {
    display: flex;
    flex-direction: column;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* Image photo : hauteur fixe 2/3 de 540px
   Hauteur : modifier ci-dessous */
.brands-section .brand-image.cover {
    position: relative;
    width: 100%;
    height: 360px;
    flex-shrink: 0;
}

/* Image logo : contain, centré, même hauteur que cover */
.brands-section .brand-image.contain {
    height: 360px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: #fff;
}
.brands-section .brand-image.contain .image {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
}

/* Description : prend le reste, fond blanc, coins hauts arrondis façon tab */
.brands-section .brand-description {
    flex: 1;
    width: 100%;
    max-width: 100%;
    padding: 1.5rem 2rem;
    background: #fff;
    border-radius: 0;
    margin-top: -1.5rem;
    position: relative;
    z-index: 1;
}

/* Pas d'image ni logo : description seule, centrée, hauteur forcée
   Hauteur : modifier min-height ci-dessous */
.brands-section .brand-panel > .brand-description:first-child {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    border-radius: 0;
}

/* Texte sombre (description sous l'image, plus sur fond image) */
.brands-section .brand-image.cover + .brand-description,
.brands-section .brand-panel .brand-image.cover + .brand-description h1,
.brands-section .brand-panel .brand-image.cover + .brand-description h2,
.brands-section .brand-panel .brand-image.cover + .brand-description h3 {
    color: #333;
}

/* Effet survol — uniquement sur appareils avec souris (pas les tactiles)
   Décalage : modifier translateY ci-dessous
   Durée : modifier transition ci-dessous */
@media (hover: hover) {
    .brands-section .brand-panel {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .brands-section .brand-panel:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
    }
}

/* ============================================================
   VINS (products-section) : grille de cartes portrait
   ============================================================ */

/* Grille — même logique que brands-section
   max-width : modifier ci-dessous */
.products-section .container-fluid,
.products-section .container-lg {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* 2 colonnes — tablette */
@media (min-width: 768px) {
    .products-section .container-fluid,
    .products-section .container-lg {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 3 colonnes max — desktop */
@media (min-width: 1024px) {
    .products-section .container-fluid,
    .products-section .container-lg {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Carte vin : colonne, hauteur fixe portrait
   Hauteur : modifier ci-dessous */
.products-section .product-panel {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: 560px;
    margin-bottom: 0 !important;
    border-radius: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Image bouteille : 2/3 de la carte
   Hauteur : modifier ci-dessous */
.products-section .product-panel .product-image {
    flex: 0 0 390px !important;
    max-width: 100% !important;
    width: 100% !important;
    height: 390px;
    order: 1 !important;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    margin-bottom: 0 !important;
}

.products-section .product-panel .product-image img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

/* Description : 1/3 restant, fond blanc, coins hauts arrondis façon tab */
.products-section .product-panel .product-description {
    flex: 1 !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.2rem 1.5rem !important;
    background: #fff;
    border-radius: 0;
    margin-top: -1.5rem;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;

}

/* Nom du vin — toujours centré, margin reset */
.products-section .product-panel .product-description h3,
.products-section .product-panel .product-description .description {
    margin-bottom: 0;
    font-size: 1.4rem;
    text-align: center;
}

/* Description clampée à 2 lignes pour garder le bouton visible */
.products-section .product-panel .product-description .description p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}
.products-section .product-panel .product-description .button {
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}
/* Survol (souris uniquement) : lévitation + description en overlay pleine carte */
@media (hover: hover) {
    .products-section .product-panel {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .products-section .product-panel:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
    }

    /* La zone description s'étend vers le haut si description longue, sinon reste en place */
    .products-section .product-panel:hover .product-description {
        position: absolute !important;
        bottom: 1.5rem;
        left: 0;
        right: 0;
        border-radius: 0;
        background: rgba(255, 255, 255, 0.96);
        justify-content: flex-start;
        align-items: center;
        text-align: center;
        transition: opacity 0.3s ease;
    }

    /* Description complète au survol (retire le clamp) */
    .products-section .product-panel:hover .product-description .description p {
        -webkit-line-clamp: unset;
        overflow: visible;
    }

    /* Nom centré au survol, margin reset */
    .products-section .product-panel:hover .product-description h3 {
        text-align: center;
        margin-bottom: 0.5rem;
    }

    /* Description : margin reset au survol */
    .products-section .product-panel:hover .product-description .description p {
        margin-bottom: 0.5rem;
    }

    /* Bouton : margin reset au survol */
    .products-section .product-panel:hover .product-description .button {
        margin-top: 0;
    }
}

/* ============================================================
   PAGES PRÉSENTATION & TOURISME WINERY
   ============================================================ */

/* Image de présentation : encadré arrondi, hauteur fixe
   Rayon : modifier border-radius ci-dessous
   Hauteur : modifier height ci-dessous */
.presentation-photo-panel {
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    max-width: 1400px;
    margin-left: auto !important;
    margin-right: auto !important;
    min-height: 0 !important;
    height: 720px !important;
    padding: 0 !important;
}

/* L'image cover est absolute et remplit le panel — le panel fixe la hauteur */
.presentation-photo-panel .brand-image.cover {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Texte long (> 400 car.) sur 2 colonnes
   Seuil : modifier dans winery_presentation.php / winery_tourism.php */
@media (min-width: 768px) {
    .presentation-section .presentation.text-long {
        columns: 2 280px;
        column-gap: 3rem;
        text-align: left;
    }
}

/* ============================================================
   PAGE VIN (wine.tpl)
   ============================================================ */

/* 2. Infos vin : texte long (> 400 car.) sur 2 colonnes, les courts restent pleine largeur
   Seuil : modifier dans wine.php (strlen > 400)
   Espacement : modifier column-gap ci-dessous */
@media (min-width: 768px) {
    #infos .presentation p.text-long,
    #advice p.text-long {
        columns: 2;
        column-gap: 3rem;
    }
}

/* 1. Hero : bords arrondis sur la zone image uniquement
   Rayon : modifier border-radius ci-dessous */
.product-hero-section .product-panel .product-image {
    border-radius: 0;
    overflow: hidden;
    /*box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);*/
}

/* 3. Médias : la vraie carte est le <a> dans .media-panel */
.medias-section .media-panel a {
    border-radius: 0 !important;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

@media (hover: hover) {
    .medias-section .media-panel a {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .medias-section .media-panel a:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
    }
}

/* 4. Reviews : arrondis + ombre (retire le style inline) */
.reviews-section .review-panel {
    border-radius: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* 5. Recettes : cards arrondis + ombre + survol */
.recipe-panel {
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

@media (hover: hover) {
    .recipe-panel {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .recipe-panel:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
    }
}