.current-menu-item>a,
.current_page_item>a,
.current-menu-ancestor>a,
.current-page-ancestor>a,
.wp-block-navigation-item__content {
    position: relative;
    display: inline-block;
    text-decoration: none;
}

/* Actif permanent */
.current-menu-item>a::after,
.current_page_item>a::after,
.current-menu-ancestor>a::after,
.current-page-ancestor>a::after,
.wp-block-navigation .current-menu-item>.wp-block-navigation-item__content::after,
.wp-block-navigation .current_page_item>.wp-block-navigation-item__content::after,
.wp-block-navigation .current-menu-ancestor>.wp-block-navigation-item__content::after,
.wp-block-navigation .current-page-ancestor>.wp-block-navigation-item__content::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 40%;
    height: 2px;
    background: var(--wp--preset--color--custom-champagne-heavy);
}

/* Hover sur les autres liens */
.wp-block-navigation .wp-block-navigation-item__content::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 2px;
    background: var(--wp--preset--color--custom-champagne-heavy);
    transition: width 0.3s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible::after {
    width: 40%;
}

svg {
    padding: 5px
}

.sw-link:hover {
    color: var(--wp--preset--color--custom-champagne-heavy);
    transition: color 180ms ease;
}

.dotted {
    background-image: radial-gradient(#d6d6d6 1px, transparent 1px);
    background-size: 14px 14px;
    border-radius: 16px;
    padding: 32px;
}

.arrow-link-icon {
    padding-right: 15px;
    padding-left: 5px;
    padding-top: 5px;
    padding-bottom: 5px !important;
    border-width: 1.5px;
    border-color: black;
    border-style: solid;
    border-radius: 150px;
    transform: scale(0.5);
    transform-origin: center;
    transition:
        transform 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease;
}

.arrow-link-icon svg {
    transition: fill 0.3s ease;
}

.arrow-link-icon:hover {
    background-color: black;
    transform: scale(0.6);
}

.arrow-link-icon:hover svg {
    fill: white;
}

.guinguette-button {
    border: 2px solid #c1a35be6;
    border-radius: 150px;
    transform: scale(0.8);
    transition:
        background-color 0.3s ease,
        transform 0.3s ease;
}

.guinguette-button a {
    display: block;
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
    color: var(--wp--preset--color--custom-champagne-heavy);
    text-decoration: none;
    transition: color 0.3s ease;
}

.guinguette-button:hover {
    background-color: var(--wp--preset--color--custom-champagne-heavy);
    transform: scale(0.9);
}

.guinguette-button:hover a {
    color: white;
}

.gite-reservation-button {
    color: white;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.gite-reservation-button:hover {
    color: var(--wp--preset--color--custom-champagne-heavy) !important;
    background-color: white;
    transform: scale(1.05);
}

.papa-charles-waves {
    background-color: #dfd9d2;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 520'%3E%3Cg fill='none' stroke='%239f9992' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' opacity='0.62'%3E%3Cpath d='M-80 170C20 150 90 105 175 120C250 133 290 200 360 212C438 226 495 150 578 156C660 162 700 236 785 242C875 248 930 180 1008 186C1090 193 1132 248 1220 252C1320 257 1405 214 1490 205C1590 194 1670 162 1880 130'/%3E%3Cpath d='M-80 188C5 175 80 126 165 140C252 154 295 214 366 228C446 244 508 170 590 176C674 182 720 252 803 258C888 264 947 198 1025 205C1106 213 1156 266 1240 270C1335 274 1418 232 1508 220C1612 206 1700 180 1880 150'/%3E%3Cpath d='M-80 208C18 186 98 145 188 160C272 174 318 232 395 244C482 257 544 186 625 194C705 202 742 270 830 278C915 285 980 216 1060 223C1142 230 1190 286 1278 289C1375 292 1454 248 1544 235C1648 220 1732 198 1880 170'/%3E%3Cpath d='M-80 229C35 202 118 163 212 178C296 192 346 252 425 262C515 273 580 203 663 211C744 219 786 286 870 295C958 304 1018 233 1100 240C1183 247 1232 301 1322 304C1425 307 1500 264 1590 248C1690 230 1760 214 1880 192'/%3E%3Cpath d='M-80 252C52 218 142 181 238 196C320 210 374 270 456 280C548 291 613 223 700 230C785 238 828 305 916 312C1004 319 1068 249 1150 256C1238 264 1288 319 1372 321C1466 323 1540 280 1630 262C1720 245 1780 232 1880 214'/%3E%3Cpath d='M-80 276C72 236 164 199 265 214C350 228 408 289 492 298C588 309 653 241 740 249C826 257 872 322 960 328C1052 334 1122 266 1205 273C1296 281 1345 336 1432 337C1530 338 1605 300 1688 280C1762 262 1812 252 1880 236'/%3E%3Cpath d='M-80 301C92 254 188 218 292 233C380 247 442 308 528 316C626 325 692 259 782 267C870 275 920 339 1014 344C1108 349 1178 284 1268 291C1358 298 1410 350 1492 350C1580 351 1652 320 1725 299C1788 282 1830 274 1880 260'/%3E%3Cpath d='M-80 327C112 275 212 239 320 254C408 269 472 328 562 334C662 341 726 280 820 286C912 292 964 356 1055 360C1154 365 1225 303 1318 309C1408 315 1460 364 1538 362C1612 361 1680 337 1742 317C1795 300 1835 294 1880 285'/%3E%3Cpath d='M-80 353C135 295 238 261 350 277C440 292 506 349 598 352C700 356 770 301 862 307C960 314 1018 374 1112 377C1212 381 1285 322 1379 327C1468 332 1524 374 1592 369C1660 365 1720 348 1770 332C1815 318 1850 312 1880 308'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center 130%;
    background-size: 100% auto;
}

/* Conteneur */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles {
    position: relative;
    display: block;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    min-height: 760px;
    padding-top: 20px;
    overflow: visible;
    filter: drop-shadow(30px 4px 20px rgba(0, 0, 0, 0.25));
}

/* Items de galerie */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin: 0 !important;
    width: auto !important;
    flex: none !important;
    transform-origin: bottom center;
    transition: transform 2s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    opacity: 1;
}

/* Images */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image img {
    display: block;
    width: auto;
    height: auto;
    max-height: 750px;
}

/* ÉTAT INITIAL : toutes les bouteilles empilées derrière celle du centre */

/* 1 - Prestige Millesime */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(1) {
    transform: translateX(-90px) translateY(10px) scale(0.70);
    z-index: 1;
}

/* 2 - Secret d'Aphrodite */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(2) {
    transform: translateX(-100px) translateY(6px) scale(0.76);
    z-index: 2;
}

/* 3 - Cupidon */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(3) {
    transform: translateX(-110px) translateY(3px) scale(0.84);
    z-index: 3;
}

/* 4 - Prana = centre, toujours devant */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(4) {
    transform: translateX(-50%) scale(1);
    z-index: 10;
}

/* 5 - Antique */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(5) {
    transform: translateX(-100px) translateY(3px) scale(0.84);
    z-index: 3;
}

/* 6 - Olympe */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(6) {
    transform: translateX(-100px) translateY(6px) scale(0.76);
    z-index: 2;
}

/* 7 - Nova */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(7) {
    transform: translateX(-100px) translateY(-10px) scale(0.70);
    z-index: 1;
}

/* ÉTAT FINAL : déploiement vers la composition trouvée */

/* 1 - Prestige Millesime */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(1) {
    transform: translateX(-500px) translateY(-35px) scale(0.78);
    z-index: 4;
}

/* 2 - Secret d'Aphrodite */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(2) {
    transform: translateX(-380px) translateY(-25px) scale(0.86);
    z-index: 5;
}

/* 3 - Cupidon */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(3) {
    transform: translateX(-250px) translateY(-10px) scale(0.93);
    z-index: 7;
}

/* 4 - Prana = centre */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(4) {
    transform: translateX(-50%) scale(1);
    z-index: 10;
}

/* 5 - Antique */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(5) {
    transform: translateX(60px) translateY(-10px) scale(0.93);
    z-index: 7;
}

/* 6 - Olympe */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(6) {
    transform: translateX(200px) translateY(-15px) scale(0.86);
    z-index: 5;
}

/* 7 - Nova */
figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(7) {
    transform: translateX(325px) translateY(-25px) scale(0.78);
    z-index: 4;
}

.bacchus-landing-shop-button {
    transition: transform 0.3s ease;
}

.bacchus-landing-shop-button:hover {
    transform: scale(1.03)
}

.bacchus-landing-accordion {
    --accordion-inactive-width: 250px;
    --accordion-image-zoom-hover: 1.04;
    --accordion-image-zoom-active: 1.02;

    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    align-items: stretch;
    overflow: hidden;
}

.bacchus-landing-accordion>.wp-block-cover {
    position: relative;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: var(--accordion-inactive-width);
    min-width: 0;
    min-height: 650px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition:
        flex-grow 350ms ease,
        flex-basis 350ms ease;
    padding-left: 0;
}

.bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}

.bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__image-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition:
        transform 400ms ease,
        object-position 400ms ease;
    will-change: transform;
}

.bacchus-landing-accordion>.wp-block-cover:not(.bacchus-landing-accordion-item-is-active):hover>.wp-block-cover__image-background {
    transform: scale(var(--accordion-image-zoom-hover));
}

.bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active>.wp-block-cover__image-background {
    transform: scale(var(--accordion-image-zoom-active));
}

.bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__background {
    background-color: #000 !important;
    opacity: 0.25 !important;
    transition: opacity 350ms ease;
}

.bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active>.wp-block-cover__background {
    opacity: 0 !important;
}

.bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    color: #fff;
}

.bacchus-landing-accordion-card {
    position: absolute;
    left: 0;
    right: 20rem;
    bottom: 3rem;

    margin: 0 !important;
    min-height: 10rem !important;
    padding: 0 !important;

    width: auto !important;
    max-width: none !important;
    aspect-ratio: auto !important;

    z-index: 3;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 100ms ease,
        visibility 0s linear 100ms;
}

.bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active .bacchus-landing-accordion-card {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity 100ms ease,
        visibility 0s linear 0s;
}

.bacchus-landing-accordion-card .wp-block-cover__inner-container {
    padding: 1.25rem 1.5rem !important;
}

.bacchus-landing-accordion-card>.wp-block-cover__background {
    opacity: 0.55 !important;
}

.bacchus-landing-accordion-label {
    opacity: 1;
    visibility: visible;
    transition:
        opacity 100ms ease,
        visibility 0s linear 0s;
}

.bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active .bacchus-landing-accordion-label {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 100ms ease,
        visibility 0s linear 100ms;
}

.bacchus-landing-contact-form .wpforms-field-label {
    font-family: var(--wp--preset--font-family--instrument-sans);
    margin-bottom: 0.25rem !important;
    line-height: 1.2;
    font-weight: normal !important;
}

.bacchus-landing-contact-form .wpforms-required-label {
    display: none !important;
}

.bacchus-landing-contact-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.bacchus-landing-contact-form textarea,
.bacchus-landing-contact-form button.wpforms-submit {
    width: 100% !important;
    max-width: 100% !important;
}

.bacchus-landing-contact-form .wpforms-field-medium,
.bacchus-landing-contact-form .wpforms-field-large,
.bacchus-landing-contact-form .wpforms-field-small {
    width: 100% !important;
    max-width: 100% !important;
}

.bacchus-landing-contact-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.bacchus-landing-contact-form textarea {
    display: block;
    box-sizing: border-box;
}

.bacchus-landing-contact-form .wpforms-field {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

.bacchus-landing-contact-form .wpforms-field textarea {
    min-height: 140px;
}

.bacchus-landing-contact-form button.wpforms-submit {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.bacchus-landing-find-us-section {
    align-items: stretch !important;
}

.bacchus-landing-find-us-section {
    align-items: stretch !important;
    gap: 2rem;
}

.bacchus-landing-find-us-section .wp-block-columns {
    flex: 0 0 25%;
    max-width: 35%;
}

.bacchus-landing-find-us-section>iframe {
    flex: 0 0 75%;
    width: 100%;
    height: auto !important;
    min-height: 100%;
    align-self: stretch;
}

.bacchus-landing-newsletter-form {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.bacchus-landing-newsletter-form input[type="submit"] {
    padding: .5rem 1.5rem;
    background: none;
    border: white solid 1px;
    border-radius: 250px;
    font-family: var(--wp--preset--font-family--instrument-sans);
    font-size: 20px;
    color: white;
    transition: color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}

.bacchus-landing-newsletter-form input[type="submit"]:hover {
    color: var(--wp--preset--color--custom-champagne-heavy) !important;
    background-color: white;
    transform: scale(1.05);
}

.bacchus-landing-newsletter-form input:not([type="submit"]) {
    background: none;
    border: none;
    border-bottom: 1px solid white;
    color: white;
    outline: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    font-size: 20px;
    width: 25rem;
}

.bacchus-landing-newsletter-form input:not([type="submit"])::placeholder {
    color: white;
}

.bacchus-landing-newsletter-form input:not([type="submit"]):focus {
    outline: none;
    box-shadow: none;
    border-bottom-color: white;
}

.wp-block-latest-posts.is-grid>li {
    position: relative;
    display: flex;
    flex-direction: column;
}

/* Zone image */
.wp-block-latest-posts__featured-image {
    position: relative;
    margin: 0 !important;
    margin-bottom: .5em !important;
    overflow: hidden;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .15);
    transition: .3s ease;
}

.wp-block-latest-posts__featured-image:hover {
    transform: translateX(1px);
}

.wp-block-latest-posts__featured-image a {
    display: block;
}

.wp-block-latest-posts__featured-image img {
    display: block;
    width: 100%;
    height: 256px !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center;
}

.bacchus-activites-articles .wp-block-latest-posts__featured-image img {
    height: 320px !important;
}

.bacchus-landing-articles .wp-block-latest-posts__featured-image img {
    height: 320px !important;
}

.wp-block-latest-posts__post-title {
    display: block;
    margin: .5rem .5rem .5rem;
    color: #000 !important;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
    font-size: 1.25rem;
}

.wp-block-latest-posts__post-excerpt {
    margin: 0 .5rem .5rem;
    color: var(--wp--preset--color--custom-classic-grey);
    line-height: 1.6;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.wp-block-latest-posts__read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .1rem 1rem;
    color: black !important;
    text-decoration: none;
    border-radius: 999px;
    border: solid 1px black;
    transition: .3s ease;
    width: fit-content;
    clear: both;
}

.wp-block-latest-posts__read-more:hover {
    text-decoration: none;
    background-color: black;
    color: white !important;
}

/* Date en overlay si la date est affichée par le bloc */
.wp-block-latest-posts__post-date {
    position: absolute;
    top: 256px;
    transform: translateY(-100%);
    z-index: 3;
    margin: 0;
    padding: .35rem 2rem;
    background: rgba(255, 255, 255, .80);
    color: var(--wp--preset--color--custom-classic-grey);
    border-radius: 0 999px 0 0;
    font-size: .85rem;
    line-height: 1;
}

.bacchus-activites-articles .wp-block-latest-posts__post-date {
    top: 320px;
}

.bacchus-landing-articles .wp-block-latest-posts__post-date {
    top: 320px;
}

/* Pour que l'overlay se positionne sur l'image */
.wp-block-latest-posts.is-grid>li {
    position: relative;
}

.wp-block-latest-posts__featured-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 40%;
    background: linear-gradient(to top, rgba(0, 0, 0, .45), transparent);
    pointer-events: none;
}

/* =========================================================
   WooCommerce carousel Bacchus : 4 visibles, centrés
   Classe du bloc : bacchus-shop-carousel-cuvees
   ========================================================= */

.bacchus-shop-carousel-cuvees {
    position: relative;
    margin: 0;
    padding-left: 72px;
    padding-right: 72px;
}

/* La liste du carousel */
.bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    margin: 0 !important;
    padding: 32px 0 0 !important;
    list-style: none;
    overflow: hidden;
    scroll-padding-left: 0;
    position: relative;
}

/* 4 items visibles */
.bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
    flex: 0 0 calc((100% - (3 * 24px)) / 4) !important;
    max-width: calc((100% - (3 * 24px)) / 4) !important;
    min-width: calc((100% - (3 * 24px)) / 4) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box;
}

.bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product:first-child {
    margin-left: 0 !important;
}

/* Carte produit */
.bacchus-shop-carousel-cuvees .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Wrapper image */
.bacchus-shop-carousel-cuvees .wc-block-components-product-image,
.bacchus-shop-carousel-cuvees .wc-block-grid__product-image,
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien image devient le support de l'animation */
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image produit */
.bacchus-shop-carousel-cuvees .wc-block-components-product-image>img,
.bacchus-shop-carousel-cuvees .wc-block-grid__product-image>img,
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image>a>img,
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover image */
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image:hover a,
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image:hover img,
.bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* =========================
   NAVIGATION : version robuste
   ========================= */

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons {
    position: absolute !important;
    top: 257px;
    left: 0;
    right: 0;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 100 !important;
    pointer-events: none;
    display: block !important;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button {
    position: absolute !important;
    top: 0;
    transform: translateY(-50%);
    pointer-events: auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #000;
    border-radius: 999px;
    background: #fff;
    color: #000;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
    appearance: none;
    -webkit-appearance: none;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 101 !important;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button:first-child {
    left: 8px;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button:last-child {
    right: 8px;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button svg {
    display: block !important;
    width: 10px;
    height: 14px;
    overflow: visible;
    fill: currentColor;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button:not([aria-disabled="true"]):hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

.bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button[aria-disabled="true"] {
    opacity: 0.4 !important;
    cursor: default;
    background: #fff;
    color: #000;
    border-color: rgba(0, 0, 0, 0.4);
}

/* Responsive */
@media (max-width: 1024px) {
    .bacchus-shop-carousel-cuvees {
        padding-left: 56px;
        padding-right: 56px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
        min-width: calc((100% - 24px) / 2) !important;
        padding: 0 8px !important;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons {
        top: 257px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 640px) {
    .bacchus-shop-carousel-cuvees {
        padding-left: 48px;
        padding-right: 48px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap {
        gap: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 0 !important;
        scroll-padding-right: 0 !important;
        -webkit-overflow-scrolling: touch;
    }

    .bacchus-shop-carousel-cuvees .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons {
        top: 257px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button {
        width: 40px;
        height: 40px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button:first-child {
        left: 4px;
    }

    .bacchus-shop-carousel-cuvees .wc-block-next-previous-buttons button:last-child {
        right: 4px;
    }

    .bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image:hover a,
    .bacchus-shop-carousel-cuvees .wp-block-woocommerce-product-image a:hover {
        transform: scale(1.015);
    }
}

/* =========================================================
   Produits mis en avant
   Classe du bloc : bacchus-shop-onshow-products
   ========================================================= */

/* Liste générale */
.bacchus-shop-onshow-products .wc-block-product-template {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Un item = une ligne */
.bacchus-shop-onshow-products .wc-block-product {
    margin: 0 0 4rem;
    padding: 0;
}

/* Le vrai wrapper de la ligne */
.bacchus-shop-onshow-products .wc-block-product>.wp-block-group {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    padding-left: 10em !important;
    padding-right: 10em !important;
}

/* Bloc texte */
.bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-columns {
    flex: 1 1 0;
    min-width: 0;
    max-width: 500px;
}

/* Bloc image */
.bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-woocommerce-product-image {
    flex: 0 0 min(32rem, 40%);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible !important;
    border-radius: 150px;
}

/* Le lien image supporte l'animation */
.bacchus-shop-onshow-products .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image */
.bacchus-shop-onshow-products .wp-block-woocommerce-product-image img,
.bacchus-shop-onshow-products .wc-block-components-product-image>img,
.bacchus-shop-onshow-products .wc-block-grid__product-image>img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover bouteille */
.bacchus-shop-onshow-products .wp-block-woocommerce-product-image:hover a,
.bacchus-shop-onshow-products .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

.bacchus-shop-onshow-products .wp-block-woocommerce-product-image:hover img,
.bacchus-shop-onshow-products .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* Alternance : 1 texte gauche / image droite, 2 inverse, etc. */
.bacchus-shop-onshow-products .wc-block-product:nth-child(even)>.wp-block-group {
    flex-direction: row-reverse;
}

/* Optionnel : garder les paragraphes bien lisibles */
.bacchus-shop-onshow-products .wc-block-product-description p,
.bacchus-shop-onshow-products .wc-block-components-product-summary p {
    margin-top: 0;
}

/* Responsive tablette/mobile */
@media (max-width: 1024px) {
    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group {
        gap: 2.5rem;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-woocommerce-product-image {
        flex: 0 0 min(24rem, 42%);
    }
}

@media (max-width: 767px) {

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group,
    .bacchus-shop-onshow-products .wc-block-product:nth-child(even)>.wp-block-group {
        flex-direction: column !important;
        gap: 2rem;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-columns,
    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-woocommerce-product-image {
        width: 100%;
        flex: 1 1 auto;
    }

    .bacchus-shop-onshow-products .wc-block-product:nth-child(odd) .wp-block-columns,
    .bacchus-shop-onshow-products .wc-block-product:nth-child(even) .wp-block-columns {
        text-align: left;
    }

    .bacchus-shop-onshow-products .wp-block-woocommerce-product-image:hover a,
    .bacchus-shop-onshow-products .wp-block-woocommerce-product-image a:hover {
        transform: scale(1.015);
    }
}

.bacchus-shop-onshow-products .wp-block-post-excerpt__more-link,
.bacchus-shop-onshow-products .wp-block-read-more {
    transition: .3s ease;
}

.bacchus-shop-onshow-products .wp-block-post-excerpt__more-link,
.bacchus-shop-onshow-products .wp-block-read-more:hover {
    background-color: black !important;
    color: white !important;
}

@media (max-width: 767px) {
    .bacchus-shop-onshow-products .wc-block-product {
        margin-bottom: 3rem;
    }

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group {
        width: 100%;
        max-width: 100%;
        gap: 2rem;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        overflow-x: clip;
    }

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-columns {
        width: 100%;
        max-width: 42rem;
        margin-inline: auto;
        display: block;
    }

    .bacchus-shop-onshow-products .wc-block-product>.wp-block-group>.wp-block-columns .wp-block-column {
        width: 100%;
    }

    .bacchus-shop-onshow-products .wp-block-post-title,
    .bacchus-shop-onshow-products .wc-block-components-product-summary,
    .bacchus-shop-onshow-products .wc-block-product-description {
        max-width: 36rem;
        margin-left: auto;
        margin-right: auto;
    }

    .bacchus-shop-onshow-products .wp-block-post-title {
        margin-bottom: 1rem !important;
        text-align: center;
        line-height: 1.2 !important;
    }

    .bacchus-shop-onshow-products .wc-block-components-product-summary,
    .bacchus-shop-onshow-products .wc-block-product-description {
        text-align: left;
    }

    .bacchus-shop-onshow-products .wc-block-components-product-summary p,
    .bacchus-shop-onshow-products .wc-block-product-description p {
        margin-bottom: 0.9rem;
        line-height: 1.65;
    }

    .bacchus-shop-onshow-products .wp-block-read-more,
    .bacchus-shop-onshow-products .wp-block-post-excerpt__more-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 1rem;
    }

    .bacchus-shop-onshow-products .wp-block-columns .wp-block-column>.wp-block-read-more,
    .bacchus-shop-onshow-products .wp-block-columns .wp-block-column>.wp-block-post-excerpt__more-link {
        margin-left: auto;
        margin-right: auto;
    }
}


/* =========================================================
   WooCommerce carousel Bacchus : Boxs
   Classe du bloc : bacchus-shop-boxs
   Visuel proche de la section Cuvées
   ========================================================= */

.bacchus-shop-boxs {
    position: relative;
    padding-left: 72px;
    padding-right: 72px;
    margin: 0;
}

/* Liste du carousel */
.bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch;
    gap: 24px;
    margin: 0 !important;
    padding: 0 !important;
    padding-bottom: 12px !important;
    list-style: none;
    width: 100%;
    overflow: hidden;
    scroll-padding-left: 0;
}

/* 4 items visibles */
.bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
    flex: 0 0 calc((100% - (3 * 24px)) / 4) !important;
    max-width: calc((100% - (3 * 24px)) / 4) !important;
    min-width: calc((100% - (3 * 24px)) / 4) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box;
}

.bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product:first-child {
    margin-left: 0 !important;
}

/* Carte */
.bacchus-shop-boxs .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Wrapper image */
.bacchus-shop-boxs .wc-block-components-product-image,
.bacchus-shop-boxs .wc-block-grid__product-image,
.bacchus-shop-boxs .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Lien image = support animation */
.bacchus-shop-boxs .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image */
.bacchus-shop-boxs .wc-block-components-product-image>img,
.bacchus-shop-boxs .wc-block-grid__product-image>img,
.bacchus-shop-boxs .wp-block-woocommerce-product-image>a>img,
.bacchus-shop-boxs .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Hover image */
.bacchus-shop-boxs .wp-block-woocommerce-product-image:hover a,
.bacchus-shop-boxs .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

.bacchus-shop-boxs .wp-block-woocommerce-product-image:hover img,
.bacchus-shop-boxs .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* =========================
   TABLETTE ET EN-DESSOUS :
   on abandonne le faux carousel
   ========================= */
@media (max-width: 768px) {
    .bacchus-shop-boxs {
        padding-left: 0;
        padding-right: 0;
    }

    .bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 24px !important;
        overflow: visible !important;
    }

    .bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
        min-width: calc((100% - 24px) / 2) !important;
        padding: 0 !important;
    }
}

/* MOBILE */
@media (max-width: 640px) {
    .bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap {
        gap: 20px !important;
    }

    .bacchus-shop-boxs .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }

    .bacchus-shop-boxs .wp-block-woocommerce-product-image:hover a,
    .bacchus-shop-boxs .wp-block-woocommerce-product-image a:hover {
        transform: scale(1.015);
    }
}


/* =========================================================
   GRILLE D'ACTUALITÉS BACCHUS
   Desktop : 3 / 2 / 3
   Ligne centrale : cartes plus larges + images x1.5
   ========================================================= */


/* ---------------------------------------------------------
   Conteneur général
   --------------------------------------------------------- */

.bacchus-actus-grid.wp-block-query {
    max-width: none;
}


/* ---------------------------------------------------------
   Grille desktop : 3 / 2 / 3
   La grille utilise 6 colonnes :
   - cartes normales : 2 colonnes chacune
   - cartes centrales : 3 colonnes chacune
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-template {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   Cartes articles
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-column: span 2;
    min-width: 0;
    margin: 0;
}


/* ---------------------------------------------------------
   Ligne de 2 cartes
   Les deux cartes sont placées aux bords extérieurs
   de la grille
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post:nth-child(4) {
    grid-column: 1 / span 3;
}

.bacchus-actus-grid .wp-block-post:nth-child(5) {
    grid-column: 4 / span 3;
}


/* ---------------------------------------------------------
   Image principale
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-featured-image {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0 !important;
    line-height: 0;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .15);
    z-index: 1;
}

.bacchus-actus-grid .wp-block-post-featured-image a {
    display: block;
    line-height: 0;
}

.bacchus-actus-grid .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: 256px !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center;
    vertical-align: top;
    transition: transform .3s ease;
    transform-origin: center center;
}


.bacchus-actus-grid .wp-block-post:hover .wp-block-post-featured-image img {
    transform: scale(1.015);
}


/* ---------------------------------------------------------
   Images x1.5 sur la ligne de 2
   256px x 1.5 = 384px
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post:nth-child(4) .wp-block-post-featured-image img,

.bacchus-actus-grid .wp-block-post:nth-child(5) .wp-block-post-featured-image img {
    height: 384px !important;
}


/* ---------------------------------------------------------
   Gradient en bas des images
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-featured-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 40%;
    background: linear-gradient(to top,
            rgba(0, 0, 0, .45),
            transparent);
    pointer-events: none;
}


/* ---------------------------------------------------------
   Date en overlay
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-date {
    position: absolute;
    left: 0;
    top: auto;
    bottom: calc(100% - 256px);
    z-index: 3;
    margin: 0;
    padding: .35rem 2rem .25rem 2rem;
    background: rgba(255, 255, 255, .80);
    color: var(--wp--preset--color--custom-classic-grey);
    border-radius: 0 999px 0 0;
    font-size: .85rem;
    line-height: 1;
    transform: translateY(0);
    pointer-events: none;
}


/* Date recalée sur les images de 384px */

.bacchus-actus-grid .wp-block-post:nth-child(4) .wp-block-post-date,
.bacchus-actus-grid .wp-block-post:nth-child(5) .wp-block-post-date {
    bottom: calc(100% - 384px);
}



/* ---------------------------------------------------------
   Titre
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-title {
    display: block;
    margin: .5rem .5rem .5rem;
    color: #000 !important;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.bacchus-actus-grid .wp-block-post-title a {
    color: inherit !important;
    text-decoration: none;
}

.bacchus-actus-grid .wp-block-post-title a:hover {
    text-decoration: none;
}


/* ---------------------------------------------------------
   Extrait
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-excerpt {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 .5rem .5rem;
    color: var(--wp--preset--color--custom-classic-grey);
    line-height: 1.6;
}

.bacchus-actus-grid .wp-block-post-excerpt__excerpt {
    margin: 0;
}


/* ---------------------------------------------------------
   Zone "Lire la suite"
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-excerpt__more-text {
    margin-top: 1rem;
}


/* ---------------------------------------------------------
   Bouton "Lire la suite"
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-post-excerpt__more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 0;
    padding: .1rem 1rem;
    color: #000 !important;
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 999px;
    transition: .3s ease;
}

.bacchus-actus-grid .wp-block-post-excerpt__more-link:hover {
    background-color: #000;
    color: #fff !important;
    text-decoration: none;
}


/* ---------------------------------------------------------
   Tablette : grille classique de 2 colonnes
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-actus-grid .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bacchus-actus-grid .wp-block-post {
        grid-column: auto;
    }

    .bacchus-actus-grid .wp-block-post:nth-child(4),
    .bacchus-actus-grid .wp-block-post:nth-child(5) {
        grid-column: auto;
    }

    /* Les images redeviennent normales sur tablette */
    .bacchus-actus-grid .wp-block-post:nth-child(4) .wp-block-post-featured-image img,

    .bacchus-actus-grid .wp-block-post:nth-child(5) .wp-block-post-featured-image img {
        height: 256px !important;
    }

    /* Les dates redeviennent normales sur tablette */
    .bacchus-actus-grid .wp-block-post:nth-child(4) .wp-block-post-date,

    .bacchus-actus-grid .wp-block-post:nth-child(5) .wp-block-post-date {
        top: 256px;
    }
}


/* ---------------------------------------------------------
   Mobile : une seule colonne
   --------------------------------------------------------- */

@media (max-width: 640px) {
    .bacchus-actus-grid .wp-block-post-template {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .bacchus-actus-grid .wp-block-post {
        grid-column: auto;
    }
}


/* ---------------------------------------------------------
   Pagination
   --------------------------------------------------------- */

.bacchus-actus-grid .wp-block-query-pagination {
    gap: .5rem;
    margin-top: 2rem;
}

.bacchus-actus-grid .wp-block-query-pagination-numbers {
    display: flex;
    gap: .5rem;
}

/* Base commune : pages + next + previous */
.bacchus-actus-grid .wp-block-query-pagination .page-numbers,
.bacchus-actus-grid .wp-block-query-pagination-next,
.bacchus-actus-grid .wp-block-query-pagination-previous {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: .45rem .75rem;
    box-sizing: border-box;
    border: 1px solid #C1A35B;
    border-radius: .45rem;
    background: transparent;
    color: #C1A35B !important;
    text-decoration: none;
    line-height: 1;
    transition: .3s ease;
}

/* Hover uniquement sur les liens */
.bacchus-actus-grid .wp-block-query-pagination a.page-numbers:hover,
.bacchus-actus-grid .wp-block-query-pagination-next:hover,
.bacchus-actus-grid .wp-block-query-pagination-previous:hover {
    background: #C1A35B;
    color: #fff !important;
    text-decoration: none;
}

/* Élément actif */
.bacchus-actus-grid .wp-block-query-pagination .page-numbers.current {
    background: #C1A35B;
    color: #fff !important;
    border-color: #C1A35B;
}

/* Annule les marges WordPress sur les flèches */
.bacchus-actus-grid .wp-block-query-pagination-next-arrow,
.bacchus-actus-grid .wp-block-query-pagination-previous-arrow {
    margin: 0 !important;
    font-size: 1rem;
    line-height: 1;
}

/* Optionnel : évite tout décalage interne */
.bacchus-actus-grid .wp-block-query-pagination-next,
.bacchus-actus-grid .wp-block-query-pagination-previous {
    padding-inline: .65rem;
}


/* ---------------------------------------------------------
   Filtre par catégorie
   --------------------------------------------------------- */

/* Conteneur des liens */
.bacchus-actus-grid .rudr-category-filter--links>span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    gap: .5rem;
}

/* Boutons de catégories */
.bacchus-actus-grid .rudr-category-filter--links a {
    display: inline-flex;
    align-items: center;
    justify-content: left;
    min-height: 1.5rem;
    padding: .45rem 1rem;
    box-sizing: border-box;
    border: 1px solid #C1A35B;
    border-radius: 999px;
    background: transparent;
    color: #C1A35B !important;
    text-decoration: none;
    line-height: 1;
    transition: .3s ease;
}

/* Hover */
.bacchus-actus-grid .rudr-category-filter--links a:hover {
    background: #C1A35B;
    color: #fff !important;
    text-decoration: none;
}

/* Focus clavier */
.bacchus-actus-grid .rudr-category-filter--links a:focus-visible {
    outline: 2px solid #C1A35B;
    outline-offset: 3px;
}

/* Catégorie active éventuelle */
.bacchus-actus-grid .rudr-category-filter--links a[aria-current="page"],
.bacchus-actus-grid .rudr-category-filter--links a[aria-current="true"],
.bacchus-actus-grid .rudr-category-filter--links a.is-active {
    background: #C1A35B;
    color: #fff !important;
}

/* =========================================================
   GALERIE PRODUIT WOO - VERSION FINALE VALIDÉE
   - 2e image affichée par défaut via JS
   - 1re image = packshot / PNG -> contain
   - 2e image = image mise en avant -> cover
   - dots visibles avec container gris opaque
   ========================================================= */

/* Galerie */
.single-product .wc-block-product-gallery {
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    justify-content: flex-start !important;
}

/* Cadre principal */
.single-product .wc-block-product-gallery-large-image {
    position: relative;
    width: 100%;
    height: calc(100vh - 95px);
    min-height: 650px;
    max-height: none;
    overflow: hidden;
    background: transparent;
}

/* Rail */
.single-product .wc-block-product-gallery-large-image__container {
    display: flex;
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0;
    margin: 0;
    list-style: none;
    scrollbar-width: none;
}

.single-product .wc-block-product-gallery-large-image__container::-webkit-scrollbar {
    display: none;
}

/* Slides */
.single-product .wc-block-product-gallery-large-image__wrapper {
    flex: 0 0 100%;
    min-width: 100%;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    scroll-snap-align: start;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Wrappers internes */
.single-product .wc-block-product-gallery-large-image__wrapper>*,
.single-product .wc-block-product-gallery-large-image__wrapper .wc-block-components-product-image,
.single-product .wc-block-product-gallery-large-image__wrapper .wp-block-woocommerce-product-image,
.single-product .wc-block-product-gallery-large-image__wrapper picture,
.single-product .wc-block-product-gallery-large-image__wrapper a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100% !important;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.single-product .wc-block-components-product-image,
.single-product .wp-block-woocommerce-product-image {
    aspect-ratio: auto !important;
}

/* Base image */
.single-product .wc-block-product-gallery-large-image__wrapper img,
.single-product .wc-block-product-gallery-large-image__image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0;
    padding: 0;
    object-position: center center !important;
}

/* 1re image : packshot / PNG / détourée */
.single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
    object-fit: contain !important;
    height: calc(100vh - 300px) !important;
}

/* 2e image : image mise en avant
.single-product .wc-block-product-gallery-large-image__wrapper:nth-child(2) img {
    object-fit: cover !important;
    padding: 0;
} */

/* À partir de la 3e : comportement neutre */
.single-product .wc-block-product-gallery-large-image__wrapper:nth-child(n + 2) img {
    object-fit: cover !important;
    padding: 0;
}

/* Dots */
.bacchus-gallery-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(90, 90, 90, 0.78);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 20;
}

.bacchus-gallery-dot {
    width: 9px;
    height: 9px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.62);
    cursor: pointer;
    padding: 0;
    box-shadow: none;
}

.bacchus-gallery-dot.is-active {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.12);
}

/* Mobile */
@media (max-width: 900px) {
    .single-product .wc-block-product-gallery-large-image {
        height: 62vh;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        padding: 24px 22px 16px;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:nth-child(2) img {
        object-fit: cover !important;
    }
}

.single-product .wp-block-group.woocommerce.product {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

.single-product form.cart .quantity {
    display: inline-flex;
    align-items: stretch;
    border: 1.5px solid #000;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.single-product form.cart .quantity .qty {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: textfield;
    border: 0;
    outline: none !important;
    box-shadow: none !important;
    width: 72px;
    height: 46px;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center;
    font-size: 16px;
    background: transparent;
}

.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product form.cart .qty-btn {
    width: 46px;
    height: 46px;
    border: 0;
    background: #fff;
    color: #000;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
}

.single-product form.cart .qty-btn.minus {
    border-right: 1px solid #000;
}

.single-product form.cart .qty-btn.plus {
    border-left: 1px solid #000;
}

.single-product form.cart .qty-btn:hover {
    background: #f5f5f5;
}

.single-product form.cart .qty-btn:focus,
.single-product form.cart .qty-btn:focus-visible,
.single-product form.cart .quantity .qty:focus,
.single-product form.cart .quantity .qty:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Bouton Ajouter au panier */
.single-product form.cart .single_add_to_cart_button {
    height: 46px;
    padding: 0 22px;
    border: 1.5px solid #000 !important;
    border-radius: 10px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    outline: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

/* Hover */
.single-product form.cart .single_add_to_cart_button:hover {
    background: #111 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* Active */
.single-product form.cart .single_add_to_cart_button:active {
    transform: translateY(1px);
}

/* Focus */
.single-product form.cart .single_add_to_cart_button:focus,
.single-product form.cart .single_add_to_cart_button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Désactivé */
.single-product form.cart .single_add_to_cart_button:disabled,
.single-product form.cart .single_add_to_cart_button.disabled {
    background: #d9d9d9 !important;
    color: #666 !important;
    border-color: #bdbdbd !important;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}

/*
 * ========================================
 * BACCHUS — PRODUIT VARIABLE
 * ========================================
 */

/* Form variations : tout sur une ligne */
.single-product form.variations_form.cart {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
}

/* Bloc tableau des variations */
.single-product form.variations_form.cart table.variations {
    display: block;
    width: auto !important;
    flex: 0 0 auto;
    margin: 0 !important;
    border: 0;
}

/* On neutralise le comportement table */
.single-product form.variations_form.cart table.variations tbody,
.single-product form.variations_form.cart table.variations tr,
.single-product form.variations_form.cart table.variations th,
.single-product form.variations_form.cart table.variations td {
    display: block;
    width: auto !important;
    margin: 0;
    padding: 0;
    border: 0;
}

/* Cache le label "Format" */
.single-product form.variations_form.cart table.variations th.label {
    display: none;
}

/* Très important : le td.value ne doit pas s'étirer */
.single-product form.variations_form.cart table.variations td.value {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Select variation */
.single-product form.variations_form.cart table.variations select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    width: 220px;
    min-width: 220px;
    max-width: 220px;
    height: 46px;

    padding: 0 40px 0 14px !important;
    margin: 0 !important;
    width: auto !important;


    border: 1.5px solid #000;
    border-radius: 10px;

    background-color: #fff;
    color: #000;

    font-size: 16px;
    line-height: 1;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.25 4.5L6 8.25L9.75 4.5' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 12px;

    box-shadow: none !important;
    outline: none !important;
    cursor: pointer;
}

.single-product form.variations_form.cart table.variations select:hover,
.single-product form.variations_form.cart table.variations select:focus,
.single-product form.variations_form.cart table.variations select:focus-visible {
    border-color: #000 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Cache "Effacer" */
.single-product form.variations_form.cart .reset_variations {
    display: none !important;
}

/* Zone variation choisie */
.single-product form.variations_form.cart .single_variation_wrap {
    display: block;
    width: auto !important;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
}

/* On masque le prix / dispo / description de variation */
.single-product form.variations_form.cart .woocommerce-variation-price,
.single-product form.variations_form.cart .woocommerce-variation-description,
.single-product form.variations_form.cart .woocommerce-variation-availability,
.single-product form.variations_form.cart .single_variation {
    display: none !important;
}

/* Bloc quantité + bouton */
.single-product form.variations_form.cart .variations_button {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    width: auto !important;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/* Conteneur quantité */
.single-product form.cart .quantity {
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;

    overflow: hidden;

    border: 1.5px solid #000;
    border-radius: 10px;

    background: #fff;
    margin: 0 !important;
}

/* Input quantité */
.single-product form.cart .quantity .qty {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: textfield;

    width: 72px;
    height: 46px;

    padding: 0 10px;
    margin: 0;

    border: 0;
    background: transparent;

    color: #000;
    font-size: 16px;
    line-height: 1;
    text-align: center;

    outline: none !important;
    box-shadow: none !important;
}

.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Boutons plus / moins */
.single-product form.cart .qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;

    width: 46px;
    height: 46px;

    padding: 0;
    margin: 0;
    border: 0;

    background: #fff;
    color: #000;

    font-size: 20px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease;
}

.single-product form.cart .qty-btn.minus {
    border-right: 1px solid #000;
}

.single-product form.cart .qty-btn.plus {
    border-left: 1px solid #000;
}

.single-product form.cart .qty-btn:hover {
    background: #f3f3f3;
}

.single-product form.cart .qty-btn:active {
    background: #e9e9e9;
}

.single-product form.cart .qty-btn:focus,
.single-product form.cart .qty-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Bouton ajouter au panier */
.single-product form.cart .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;

    width: auto !important;
    min-width: 190px;
    height: 46px;

    padding: 0 22px;
    margin: 0;

    border: 1.5px solid #000 !important;
    border-radius: 10px !important;

    background: #000 !important;
    color: #fff !important;

    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;

    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.single-product form.cart .single_add_to_cart_button:hover {
    background: #111 !important;
    color: #fff !important;
    border-color: #000 !important;
}

.single-product form.cart .single_add_to_cart_button:active {
    transform: translateY(1px);
}

.single-product form.cart .single_add_to_cart_button:focus,
.single-product form.cart .single_add_to_cart_button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.single-product form.cart .single_add_to_cart_button:disabled,
.single-product form.cart .single_add_to_cart_button.disabled {
    background: #d9d9d9 !important;
    color: #666 !important;
    border-color: #bdbdbd !important;
    cursor: not-allowed;
    opacity: 1;
}

/* Mobile */
@media (max-width: 900px) {
    .single-product form.variations_form.cart {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .single-product form.variations_form.cart table.variations,
    .single-product form.variations_form.cart table.variations td.value,
    .single-product form.variations_form.cart table.variations select {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
    }

    .single-product form.variations_form.cart .single_variation_wrap,
    .single-product form.variations_form.cart .variations_button {
        width: 100% !important;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
    }

    .single-product form.cart .single_add_to_cart_button {
        min-width: 0;
    }
}

/* Sections éditoriales produit */
.bacchus-product-section h2 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 1.5rem 0 1rem;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 500;
    text-align: left;
    justify-content: flex-start;
    color: var(--wp--preset--color--custom-classic-grey);
    font-family: var(--wp--preset--font-family--instrument-sans);
}

/* Assemblage */
.bacchus-assemblage-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: space-between;
    gap: .5rem;
}

.bacchus-assemblage-figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    min-width: 90px;
}

.bacchus-assemblage-image {
    margin-bottom: 0.5rem;
}

.bacchus-assemblage-image img {
    display: block;
    width: 100px;
    height: auto;
    object-fit: contain;
}

.bacchus-assemblage-figure figcaption {
    font-size: 0.95rem;
    line-height: 1.4;
    text-align: center;
    color: inherit;
    max-width: 12ch;
}

/* Dégustation */
.bacchus-degustation-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.bacchus-degustation-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.875rem;
}

.bacchus-degustation-icon {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.2rem;
}

.bacchus-degustation-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.bacchus-degustation-text {
    text-align: left;
}

.bacchus-degustation-text p {
    margin: 0;
}

/* Accords */
.bacchus-accords-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    gap: 1.5rem;
}

.bacchus-accord-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    min-width: 100px;
}

.bacchus-accord-image {
    margin-bottom: 0.5rem;
}

.bacchus-accord-image img {
    display: block;
    width: 100px;
    height: 100px !important;
    object-fit: cover;
    border-radius: 999px;
}

.bacchus-accord-item figcaption {
    font-size: 0.95rem;
    line-height: 1.4;
    text-align: center;
    max-width: 12ch;
}

/* Duo assemblage + dégustation */
.bacchus-product-duo {
    display: block;
}

@media (min-width: 1024px) {
    .bacchus-product-duo {
        display: flex;
        gap: 3rem;
        align-items: flex-start;
    }

    .bacchus-product-duo .bacchus-section-assemblage,
    .bacchus-product-duo .bacchus-section-degustation {
        flex: 1 1 0;
        margin-top: 0;
    }

    .bacchus-product-duo .bacchus-section-assemblage {
        max-width: 48%;
    }

    .bacchus-product-duo .bacchus-section-degustation {
        max-width: 48%;
    }
}

/* Carte produit */
.bacchus-product-related .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Wrapper image : pas d'ombre parasite, pas de fond */
.bacchus-product-related .wc-block-components-product-image,
.bacchus-product-related .wc-block-grid__product-image,
.bacchus-product-related .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien image devient le support de l'animation */
.bacchus-product-related .wp-block-woocommerce-product-image>a,
.bacchus-product-related .wc-block-components-product-image>a,
.bacchus-product-related .wc-block-grid__product-image>a {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image produit : état normal */
.bacchus-product-related .wc-block-components-product-image>a>img,
.bacchus-product-related .wc-block-grid__product-image>a>img,
.bacchus-product-related .wp-block-woocommerce-product-image>a>img,
.bacchus-product-related .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover : on scale le wrapper, pas l'image */
.bacchus-product-related .wc-block-product:hover .wp-block-woocommerce-product-image>a,
.bacchus-product-related .wc-block-product:hover .wc-block-components-product-image>a,
.bacchus-product-related .wc-block-product:hover .wc-block-grid__product-image>a {
    transform: scale(1.025);
}

.bacchus-product-related .wc-block-product:hover .wp-block-woocommerce-product-image img,
.bacchus-product-related .wc-block-product:hover .wc-block-components-product-image img,
.bacchus-product-related .wc-block-product:hover .wc-block-grid__product-image img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

.bacchus-cart .wc-block-cart-item__remove-link svg {
    padding: 0;
}

/* =========================================================
   BACCHUS CART — images produits du panier uniquement
   Cible locale : .bacchus-cart
   Ne touche pas aux cross-sells ni au reste du panier
========================================================= */

/* Colonne image */
.bacchus-cart .wc-block-cart-item__image {
    width: 112px;
    min-width: 112px;
    padding-right: 1rem;
    vertical-align: top;
}

/* Lien image */
.bacchus-cart .wc-block-cart-item__image>a {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 112px;
    height: 152px;
    margin: 0 auto;
    text-decoration: none;
    overflow: visible;
}

/* Image produit */
.bacchus-cart .wc-block-cart-item__image>a>img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 152px;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 auto;
    background: transparent !important;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
}

/* Alignement de ligne */
.bacchus-cart .wc-block-cart-items__row {
    vertical-align: top;
}

/* Petit ajustement de la colonne contenu pour respirer */
.bacchus-cart .wc-block-cart-item__product {
    padding-left: 0.25rem;
}


/* Titres checkout WooCommerce */
.wc-block-checkout h1,
.wc-block-checkout h2,
.wc-block-checkout h3,
.wc-block-checkout h4,
.wc-block-checkout h5,
.wc-block-checkout h6,
.wc-block-checkout .wc-block-components-title,
.wc-block-checkout .wc-block-components-checkout-step__title {
    font-family: var(--wp--preset--font-family--instrument-sans) !important;
    color: var(--wp--preset--color--custom-classic-grey) !important;
    text-align: left;
}

.bacchus-shipping-confirmation h2 {
    font-family: var(--wp--preset--font-family--instrument-sans) !important;
    color: var(--wp--preset--color--custom-classic-grey) !important;
    text-align: left !important;
}

/* Grille produits empty cart */
.bacchus-cart-empty .wc-block-grid__products {
    row-gap: 2.5rem;
}

/* Carte produit */
.bacchus-cart-empty .wc-block-grid__product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%;
}

/* Lien global produit */
.bacchus-cart-empty .wc-block-grid__product-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    text-decoration: none;
}

/* Wrapper image */
.bacchus-cart-empty .wc-block-grid__product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 350px;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien image sert de support à l'animation */
.bacchus-cart-empty .wc-block-grid__product-link .wc-block-grid__product-image {
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image produit */
.bacchus-cart-empty .wc-block-grid__product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover */
.bacchus-cart-empty .wc-block-grid__product-link:hover .wc-block-grid__product-image {
    transform: scale(1.025);
}

.bacchus-cart-empty .wc-block-grid__product-link:hover .wc-block-grid__product-image img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* Titre produit */
.bacchus-cart-empty .wc-block-grid__product-title {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

/* Prix */
.bacchus-cart-empty .wc-block-grid__product-price {
    margin-bottom: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
    .bacchus-cart-empty .wc-block-grid__products {
        column-gap: 1.25rem;
        row-gap: 2rem;
    }

    .bacchus-cart-empty .wc-block-grid__product-image {
        height: 260px;
    }
}

/* Carte produit */
.bacchus-cart-cross-products .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Wrapper image : pas d'ombre ni fond parasite */
.bacchus-cart-cross-products .wc-block-components-product-image,
.bacchus-cart-cross-products .wc-block-grid__product-image,
.bacchus-cart-cross-products .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien image porte l'animation */
.bacchus-cart-cross-products .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image produit : état normal */
.bacchus-cart-cross-products .wc-block-components-product-image>img,
.bacchus-cart-cross-products .wc-block-grid__product-image>img,
.bacchus-cart-cross-products .wp-block-woocommerce-product-image>a>img,
.bacchus-cart-cross-products .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover : scale léger du wrapper */
.bacchus-cart-cross-products .wp-block-woocommerce-product-image:hover a,
.bacchus-cart-cross-products .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

/* Hover : ombre renforcée sur l'image */
.bacchus-cart-cross-products .wp-block-woocommerce-product-image:hover img,
.bacchus-cart-cross-products .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* Bloc global */
.bacchus-mini-cart-cross-sells {
    overflow: visible;
}

/* Carte produit */
.bacchus-mini-cart-cross-sells .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    overflow: visible;
}

/* Wrappers image */
.bacchus-mini-cart-cross-sells .wc-block-components-product-image,
.bacchus-mini-cart-cross-sells .wc-block-grid__product-image,
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien porte l'animation */
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    transform-origin: center center;
    transform: scale(1);
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image normale */
.bacchus-mini-cart-cross-sells .wc-block-components-product-image>img,
.bacchus-mini-cart-cross-sells .wc-block-grid__product-image>img,
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image>a>img,
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover */
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image:hover a,
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image:hover img,
.bacchus-mini-cart-cross-sells .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* =========================================================
   1) HEADERS — RESPONSIVE UNIFIÉ
   (header principal + header alternatif avec separator)
   ========================================================= */

/* Tablette : logo au-dessus, nav + panier en dessous */
@media (max-width: 1024px) {

    /* Conteneur principal des deux headers */
    .wp-block-group>header.wp-block-group>.alignfull,
    header.wp-block-group>.alignfull {
        flex-wrap: wrap !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        gap: 1rem;
    }

    /* Logo : prend toute la ligne */
    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-image,
    header.wp-block-group>.alignfull>.wp-block-image,
    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-site-logo,
    header.wp-block-group>.alignfull>.wp-block-site-logo {
        width: 100% !important;
        display: flex !important;
        justify-content: center;
        margin-bottom: 0.5rem;
    }

    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-image img,
    header.wp-block-group>.alignfull>.wp-block-image img,
    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-site-logo img,
    header.wp-block-group>.alignfull>.wp-block-site-logo img {
        max-width: 260px !important;
        height: auto;
    }

    /* Groupe nav + mini-cart : passe en dessous, centré */
    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-group,
    header.wp-block-group>.alignfull>.wp-block-group {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* Mobile : on garde le burger, on ajuste juste les spacings */
@media (max-width: 600px) {

    .wp-block-group>header.wp-block-group>.alignfull,
    header.wp-block-group>.alignfull {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        justify-content: center !important;
    }

    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-image img,
    header.wp-block-group>.alignfull>.wp-block-image img,
    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-site-logo img,
    header.wp-block-group>.alignfull>.wp-block-site-logo img {
        max-width: 220px !important;
    }

    .wp-block-group>header.wp-block-group>.alignfull>.wp-block-group,
    header.wp-block-group>.alignfull>.wp-block-group {
        justify-content: center !important;
    }

    /* Quand le burger est ouvert, on annule sur le panneau mobile */
    .wp-block-navigation__container,
    .editor-styles-wrapper .wp-block-navigation__container,
    body .wp-block-navigation__container,
    body .wp-block-navigation__container * {
        color: initial !important;
    }

    /* Si ton thème utilise un overlay/conteneur pour le mobile menu */
    .wp-block-navigation .wp-block-navigation__container,
    .wp-block-navigation__responsive-container,
    .wp-block-navigation__responsive-container * {
        color: initial !important;
    }
}

/* =========================================================
   HERO — header en haut, contenu centré²²
   Deux variantes :
     - bacchus-landing-hero   : hero d'accueil en 100svh
     - bacchus-default-hero   : autres heroes (hauteur définie dans Gutenberg)
   ========================================================= */

/* ---------------------------------------------------------
   STRUCTURE COMMUNE AUX DEUX TYPES DE HERO
   --------------------------------------------------------- */

/* Le Cover devient un flex container vertical. */
.wp-block-cover.bacchus-landing-hero,
.wp-block-cover.bacchus-default-hero {
    box-sizing: border-box;
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Le inner-container prend 100% de la hauteur du cover. */
.wp-block-cover.bacchus-landing-hero>.wp-block-cover__inner-container,
.wp-block-cover.bacchus-default-hero>.wp-block-cover__inner-container {
    width: 100%;
    max-width: none !important;
    min-height: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 !important;
    box-sizing: border-box;

    /* On neutralise le layout contraint de Gutenberg */
    --wp--style--global--content-size: 100%;
}

/* Header (wrapper template-part + header interne) :
   - hauteur automatique
   - pas de marge/padding vertical
   - reste en haut du inner-container
*/
.wp-block-cover.bacchus-landing-hero>.wp-block-cover__inner-container>.wp-block-template-part,
.wp-block-cover.bacchus-default-hero>.wp-block-cover__inner-container>.wp-block-template-part,
.wp-block-cover.bacchus-landing-hero>.wp-block-cover__inner-container>header,
.wp-block-cover.bacchus-default-hero>.wp-block-cover__inner-container>header {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Groupe de contenu (H1 + H2) :
   - prend tout l'espace restant
   - centre verticalement et horizontalement
   - padding asymetrique pour compenser visuellement le header
*/
.wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content,
.wp-block-cover.bacchus-default-hero .bacchus-default-hero-content {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    box-sizing: border-box;

    padding:
        clamp(2rem, 4vh, 4rem) clamp(1rem, 5vw, 5rem) clamp(2rem, 4vh, 4rem);

    gap: clamp(0.35rem, 1vw, 1rem);
}


/* On neutralise le layout contraint de Gutenberg sur ce groupe */
.wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content.is-layout-constrained,
.wp-block-cover.bacchus-default-hero .bacchus-default-hero-content.is-layout-constrained {
    justify-content: center !important;
    align-items: center !important;
}

/* Titres */
.wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content>*,
.wp-block-cover.bacchus-default-hero .bacchus-default-hero-content>* {
    margin-block: 0;
}

.wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content h1,
.wp-block-cover.bacchus-default-hero .bacchus-default-hero-content h1 {
    font-size: clamp(2.25rem, 6vw, 6.5rem);
    line-height: 0.98;
    text-wrap: balance;
}

.wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content h2,
.wp-block-cover.bacchus-default-hero .bacchus-default-hero-content h2 {
    font-size: clamp(1.15rem, 2.4vw, 2.75rem);
    line-height: 1.15;
    text-wrap: balance;
}

/* ---------------------------------------------------------
   1) HERO ACCUEIL (full height : 100svh)
   --------------------------------------------------------- */

.wp-block-cover.bacchus-landing-hero {
    min-height: 100svh !important;
    height: 100svh;
}

/* Mobile très bas */
@media (max-height: 600px) {
    .wp-block-cover.bacchus-landing-hero {
        min-height: max(100svh, 36rem) !important;
        height: auto;
    }

    .wp-block-cover.bacchus-landing-hero>.wp-block-cover__inner-container {
        min-height: max(100svh, 36rem);
        height: auto;
    }

    .wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content {
        padding-bottom: clamp(14rem, 22vh, 20rem);
    }
}

@media (max-width: 600px) {
    .wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content {
        padding-inline: 1rem;
    }

    .wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content h1 {
        font-size: clamp(2rem, 10vw, 3.5rem);
    }

    .wp-block-cover.bacchus-landing-hero .bacchus-landing-hero-content h2 {
        font-size: clamp(1.1rem, 5vw, 1.75rem);
    }
}

/* ---------------------------------------------------------
   2) AUTRES HEROS (hauteur définie dans Gutenberg, ex: 85vh)
   --------------------------------------------------------- */

/* On force explicitement la hauteur du cover et du inner-container
   pour que le flex fonctionne correctement, même si Gutenberg
   applique son propre layout. */

.wp-block-cover.bacchus-default-hero {
    /* Cette valeur sera écrasee par le style inline de Gutenberg (ex: 85vh).
     On la met juste pour etre sur que le cover a une hauteur explicite. */
    min-height: 85vh !important;
    height: 85vh !important;
}

.wp-block-cover.bacchus-default-hero>.wp-block-cover__inner-container {
    min-height: 85vh !important;
    height: 85vh !important;
}

/* Mobile très bas */
@media (max-height: 600px) {
    .wp-block-cover.bacchus-default-hero {
        min-height: max(60vh, 36rem) !important;
        height: auto;
    }

    .wp-block-cover.bacchus-default-hero>.wp-block-cover__inner-container {
        min-height: max(60vh, 36rem);
        height: auto;
    }

    .wp-block-cover.bacchus-default-hero .bacchus-default-hero-content {
        padding-bottom: clamp(14rem, 22vh, 20rem);
    }
}

@media (max-width: 600px) {
    .wp-block-cover.bacchus-default-hero .bacchus-default-hero-content {
        padding-inline: 1rem;
    }

    .wp-block-cover.bacchus-default-hero .bacchus-default-hero-content h1 {
        font-size: clamp(2rem, 10vw, 3.5rem);
    }

    .wp-block-cover.bacchus-default-hero .bacchus-default-hero-content h2 {
        font-size: clamp(1.1rem, 5vw, 1.75rem);
    }
}

/* =========================================================
   FOOTER — responsive
   Ne modifie volontairement pas les boutons / overlays burger.

   Organisation :
     - > 1024px : desktop (tel que tu l'as conçu)
     - <= 1024px : même organisation que mobile (tout en colonne)
     - <= 768px  : mobile "confortable"
     - <= 480px  : petit mobile

   Le padding left/right est appliqué·² au groupe interne,
   pas au footer lui-meme, pour ne pas decaler le separateur.
   ========================================================= */

footer.wp-block-template-part {
    box-sizing: border-box;
}

/* =========================================================
   TABLETTE & MOBILE (max-width: 1024px)
   Même organisation que mobile : tout en colonne.
   ========================================================= */

@media (max-width: 1024px) {

    /* On ne touche pas au padding horizontal du footer,
     pour ne pas decaler le separateur. */
    footer.wp-block-template-part {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-bottom: 0 !important;
        overflow: hidden;
    }

    /* C'est ce groupe interne qui porte le padding horizontal. */
    footer.wp-block-template-part>.wp-block-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
        padding: 2rem 3rem 0 !important;
        /* top | right/left | bottom */
        margin: 0 !important;
        box-sizing: border-box;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 2.5rem !important;
        margin: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns>.wp-block-column {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Logo + reseaux alignes a gauche */
    footer.wp-block-template-part .wp-block-group.is-content-justification-space-between {
        justify-content: flex-start !important;
    }

    footer.wp-block-template-part .wp-block-site-logo {
        width: min(100%, 357px) !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    footer.wp-block-template-part .wp-block-site-logo img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

    footer.wp-block-template-part .wp-block-social-links {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        margin: 0 !important;
    }

    /* Contacts */
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 1.25rem !important;
        margin: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2)>.wp-block-group {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
        gap: 0.75rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2)>.wp-block-group>.wp-block-outermost-icon-block {
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        margin: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2)>.wp-block-group>p {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        line-height: 1.5 !important;
        overflow-wrap: anywhere;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2)>.wp-block-group:last-child>.wp-block-outermost-icon-block {
        flex-basis: 20px !important;
        width: 20px !important;
        min-width: 20px !important;
    }

    /* Badges */
    footer.wp-block-template-part .wp-block-image,
    footer.wp-block-template-part figure.wp-block-image,
    footer.wp-block-template-part .wp-container-content-1387b69e {
        flex-basis: auto !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        width: 150px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }

    footer.wp-block-template-part .wp-block-image img,
    footer.wp-block-template-part figure.wp-block-image img,
    footer.wp-block-template-part .wp-container-content-1387b69e img {
        display: block !important;
        width: 150px !important;
        height: auto !important;
        margin: 0 !important;
    }

    /* Trois navigations */
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) {
        margin-top: 2.5rem !important;
        gap: 2.5rem !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2)>.wp-block-column {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) h5 {
        min-height: 0 !important;
        margin: 0 0 0.75rem !important;
        line-height: 1.3 !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) nav {
        width: 100% !important;
        margin: 0 !important;
    }

    /* Override explicite du "color: initial !important" de WordPress
     sur .wp-block-navigation__container * en mobile. */
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container *,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation-item__content,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation__container a {
        color: #828282 !important;
        /* custom-classic-grey en dur */
    }

    /* Made with */
    footer.wp-block-template-part>.wp-block-group>p:last-child {
        display: block !important;
        width: 100% !important;
        margin: 3rem 0 0 !important;
        text-align: center !important;
        line-height: 1.5 !important;
    }
}

/* =========================================================
   MOBILE "CONFORTABLE" (max-width: 768px)
   Même orga, mais un peu plus compact.
   ========================================================= */

@media (max-width: 768px) {
    footer.wp-block-template-part {
        padding-bottom: 0 !important;
    }

    /* Padding horizontal uniquement sur le groupe interne. */
    footer.wp-block-template-part>.wp-block-group {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns {
        gap: 2rem !important;
    }

    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:first-child>.wp-block-column:first-child>.wp-block-group:nth-child(2) {
        gap: 1rem !important;
    }

    footer.wp-block-template-part .wp-block-site-logo {
        width: min(100%, 320px) !important;
    }

    /* On re-preserVe la couleur des liens de nav en mobile 768. */
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container *,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation-item__content,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation__container a {
        color: #828282 !important;
    }
}

/* =========================================================
   PETIT MOBILE (max-width: 480px)
   On compacte encore un peu.
   ========================================================= */

@media (max-width: 480px) {
    footer.wp-block-template-part {
        padding-bottom: 0 !important;
    }

    footer.wp-block-template-part>.wp-block-group {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    footer.wp-block-template-part .wp-block-site-logo {
        width: min(100%, 260px) !important;
    }

    /* On re-preserVe la couleur des liens de nav en mobile 480. */
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation__container *,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation .wp-block-navigation-item__content,
    footer.wp-block-template-part>.wp-block-group>.wp-block-columns:nth-child(2) .wp-block-navigation__container a {
        color: #828282 !important;
    }
}

/* Section « La maison » */
.bacchus-landing-house-section {
    box-sizing: border-box;
}

/* Sous-section contenant les trois blocs image + texte */
.bacchus-landing-house-section>.wp-block-column>.wp-block-columns {
    box-sizing: border-box;
}

/* Tablettes et mobiles : même rendu que 600–781px */
@media (max-width: 781px) {
    .bacchus-landing-house-section {
        padding-top: 2.5rem !important;
        padding-right: clamp(1.5rem, 5vw, 3rem) !important;
        padding-bottom: 2.5rem !important;
        padding-left: clamp(1.5rem, 5vw, 3rem) !important;
    }

    .bacchus-landing-house-section>.wp-block-column>.wp-block-columns {
        padding-right: 0 !important;
        padding-left: 0 !important;
        gap: clamp(2rem, 5vw, 2.5rem);
    }

    .bacchus-landing-house-section>.wp-block-column>.wp-block-columns>.wp-block-column {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .bacchus-landing-house-section h3 {
        margin-bottom: 1.75rem !important;
    }

    .bacchus-landing-house-section h5 {
        margin-bottom: 0.75rem !important;
    }

    .bacchus-landing-house-section p {
        margin-bottom: 0 !important;
    }
}

/* À partir de 1024px : on réduit les paddings de la même manière */
@media (max-width: 1024px) {
    .bacchus-landing-house-section {
        padding-top: 2.5rem !important;
        padding-right: clamp(1.5rem, 5vw, 3rem) !important;
        padding-bottom: 2.5rem !important;
        padding-left: clamp(1.5rem, 5vw, 3rem) !important;
    }

    .bacchus-landing-house-section>.wp-block-column>.wp-block-columns {
        padding-right: 0 !important;
        padding-left: 0 !important;
        gap: clamp(2rem, 5vw, 2.5rem);
    }

    .bacchus-landing-house-section h3 {
        margin-bottom: 1.75rem !important;
    }

    .bacchus-landing-house-section h5 {
        margin-bottom: 0.75rem !important;
    }

    .bacchus-landing-house-section p {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 1024px) {

    /* On retire le margin-top négatif et on met une vraie marge */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles {
        margin-top: 2rem !important;
        min-height: 520px;
        padding-top: 15px;
    }

    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image img {
        max-height: 520px;
    }

    /* État final : déploiement adapté */

    /* 1 - Prestige Millesime */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(1) {
        transform: translateX(-380px) translateY(-25px) scale(0.78);
    }

    /* 2 - Secret d'Aphrodite */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(2) {
        transform: translateX(-280px) translateY(-18px) scale(0.86);
    }

    /* 3 - Cupidon */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(3) {
        transform: translateX(-180px) translateY(-8px) scale(0.93);
    }

    /* 4 - Prana = centre */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(4) {
        transform: translateX(-50%) scale(1);
    }

    /* 5 - Antique */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(5) {
        transform: translateX(45px) translateY(-8px) scale(0.93);
    }

    /* 6 - Olympe */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(6) {
        transform: translateX(150px) translateY(-12px) scale(0.86);
    }

    /* 7 - Nova */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(7) {
        transform: translateX(250px) translateY(-18px) scale(0.78);
    }
}

/* ========== MOBILES : < 768px ========== */

@media (max-width: 767px) {
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles {
        margin-top: 1.5rem !important;
        min-height: 360px;
        padding-top: 10px;
    }

    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image img {
        max-height: 360px;
    }

    /* État initial : toutes empilées, mais plus petites */

    /* 1 - Prestige Millesime */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(1) {
        transform: translateX(-60px) translateY(8px) scale(0.70);
    }

    /* 2 - Secret d'Aphrodite */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(2) {
        transform: translateX(-70px) translateY(5px) scale(0.76);
    }

    /* 3 - Cupidon */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(3) {
        transform: translateX(-80px) translateY(2px) scale(0.84);
    }

    /* 4 - Prana = centre */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(4) {
        transform: translateX(-50%) scale(1);
    }

    /* 5 - Antique */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(5) {
        transform: translateX(-70px) translateY(2px) scale(0.84);
    }

    /* 6 - Olympe */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(6) {
        transform: translateX(-70px) translateY(5px) scale(0.76);
    }

    /* 7 - Nova */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image:nth-child(7) {
        transform: translateX(-70px) translateY(-8px) scale(0.70);
    }

    /* État final : déploiement, mais contenu dans l'écran */

    /* 1 - Prestige Millesime */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(1) {
        transform: translateX(-260px) translateY(-18px) scale(0.78);
    }

    /* 2 - Secret d'Aphrodite */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(2) {
        transform: translateX(-190px) translateY(-12px) scale(0.86);
    }

    /* 3 - Cupidon */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(3) {
        transform: translateX(-120px) translateY(-5px) scale(0.93);
    }

    /* 4 - Prana = centre */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(4) {
        transform: translateX(-50%) scale(1);
    }

    /* 5 - Antique */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(5) {
        transform: translateX(30px) translateY(-5px) scale(0.93);
    }

    /* 6 - Olympe */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(6) {
        transform: translateX(100px) translateY(-8px) scale(0.86);
    }

    /* 7 - Nova */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(7) {
        transform: translateX(170px) translateY(-12px) scale(0.78);
    }
}

/* ========== PETITS MOBILES : < 480px (optionnel) ========== */

@media (max-width: 479px) {
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles {
        margin-top: 1rem !important;
        min-height: 250px;
    }

    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles>figure.wp-block-image img {
        max-height: 250px;
    }

    /* État final encore plus compact */

    /* 1 - Prestige Millesime */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(1) {
        transform: translateX(-170px) translateY(-12px) scale(0.78);
    }

    /* 2 - Secret d'Aphrodite */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(2) {
        transform: translateX(-130px) translateY(-8px) scale(0.86);
    }

    /* 3 - Cupidon */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(3) {
        transform: translateX(-80px) translateY(-4px) scale(0.93);
    }

    /* 4 - Prana = centre */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(4) {
        transform: translateX(-50%) scale(1);
    }

    /* 5 - Antique */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(5) {
        transform: translateX(20px) translateY(-4px) scale(0.93);
    }

    /* 6 - Olympe */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(6) {
        transform: translateX(70px) translateY(-6px) scale(0.86);
    }

    /* 7 - Nova */
    figure.wp-block-gallery.has-nested-images.bacchus-landing-bottles.is-inview>figure.wp-block-image:nth-child(7) {
        transform: translateX(115px) translateY(-8px) scale(0.78);
    }
}

/* =========================================================
   ACTIVITÉS AU DOMAINE — RESPONSIVE
   Desktop > 1024px : accordéon horizontal conservé
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 782px à 1024px
   Empilement vertical, contenu toujours visible
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1024px) {
    .bacchus-landing-accordion {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap !important;
        width: 100%;
        overflow: visible;
    }

    .bacchus-landing-accordion>.wp-block-cover {
        flex: none !important;
        width: 100%;
        min-height: 22rem;
        height: 22rem;
        padding: 0 !important;
    }

    .bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active {
        flex: none !important;
        width: 100%;
        min-height: 22rem;
        height: 22rem;
    }

    .bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__inner-container {
        justify-content: flex-end;
        padding: 2rem;
    }

    /* On affiche toujours la carte et on cache le label */
    .bacchus-landing-accordion-card {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: none !important;
        left: 2rem;
        right: 2rem;
        bottom: 2rem;
        min-height: 9rem !important;
    }

    .bacchus-landing-accordion-card .wp-block-cover__inner-container {
        padding: 1.25rem 1.5rem !important;
    }

    .bacchus-landing-accordion-label {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 600px à 781px
   Empilement plus compact
   --------------------------------------------------------- */

@media (min-width: 600px) and (max-width: 781px) {
    .bacchus-landing-accordion {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap !important;
        width: 100%;
        overflow: visible;
    }

    .bacchus-landing-accordion>.wp-block-cover {
        flex: none !important;
        width: 100%;
        min-height: 18rem;
        height: 18rem;
        padding: 0 !important;
    }

    .bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active {
        flex: none !important;
        width: 100%;
        min-height: 18rem;
        height: 18rem;
    }

    .bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__inner-container {
        padding: 1.5rem;
    }

    .bacchus-landing-accordion-card {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: none !important;
        left: 1.5rem;
        right: 1.5rem;
        bottom: 1.5rem;
        min-height: 8.5rem !important;
    }

    .bacchus-landing-accordion-card .wp-block-cover__inner-container {
        padding: 1rem 1.25rem !important;
    }

    .bacchus-landing-accordion-label {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 599px
   Cartes plus basses, contenu plus lisible
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-landing-accordion {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap !important;
        width: 100%;
        overflow: visible;
    }

    .bacchus-landing-accordion>.wp-block-cover {
        flex: none !important;
        width: 100%;
        min-height: 14rem;
        height: 14rem;
        padding: 0 !important;
    }

    .bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active {
        flex: none !important;
        width: 100%;
        min-height: 14rem;
        height: 14rem;
    }

    .bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__inner-container {
        padding: 1.25rem;
    }

    .bacchus-landing-accordion-card {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: none !important;
        left: 1.25rem;
        right: 1.25rem;
        bottom: 1.25rem;
        min-height: 9rem !important;
    }

    .bacchus-landing-accordion-card .wp-block-cover__inner-container {
        padding: 1rem !important;
    }

    .bacchus-landing-accordion-card h5 {
        margin-bottom: 0.75rem;
    }

    .bacchus-landing-accordion-card p {
        margin-bottom: 0;
    }

    .bacchus-landing-accordion-label {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-landing-accordion>.wp-block-cover {
        min-height: 12rem;
        height: 12rem;
    }

    .bacchus-landing-accordion>.wp-block-cover.bacchus-landing-accordion-item-is-active {
        min-height: 12rem;
        height: 12rem;
    }

    .bacchus-landing-accordion>.wp-block-cover>.wp-block-cover__inner-container {
        padding: 1rem;
    }

    .bacchus-landing-accordion-card {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
    }

    .bacchus-landing-accordion-card .wp-block-cover__inner-container {
        padding: 0.875rem !important;
    }
}

/* =========================================================
   OÙ NOUS TROUVER — RESPONSIVE
   Desktop > 1024px : layout conservé
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 782px à 1024px
   Empilement : infos + formulaire au-dessus, carte en dessous
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1024px) {
    .bacchus-landing-find-us-section {
        flex-direction: column !important;
        gap: 2rem !important;
        padding-right: clamp(1.5rem, 4vw, 3rem) !important;
        padding-left: clamp(1.5rem, 4vw, 3rem) !important;
    }

    .bacchus-landing-find-us-section .wp-block-columns {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }

    .bacchus-landing-find-us-section>iframe {
        flex: 0 0 auto !important;
        width: 100%;
        height: 320px !important;
        min-height: auto !important;
    }

    /* Séparateur un peu moins espacé */
    .bacchus-landing-find-us-section hr.wp-block-separator {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 600px à 781px
   --------------------------------------------------------- */

@media (min-width: 600px) and (max-width: 781px) {
    .bacchus-landing-find-us-section {
        flex-direction: column !important;
        gap: 1.75rem !important;
        padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
        padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
    }

    .bacchus-landing-find-us-section .wp-block-columns {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }

    .bacchus-landing-find-us-section>iframe {
        flex: 0 0 auto !important;
        width: 100%;
        height: 280px !important;
        min-height: auto !important;
    }

    .bacchus-landing-find-us-section hr.wp-block-separator {
        margin-top: 1.75rem !important;
        margin-bottom: 1.75rem !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 599px
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-landing-find-us-section {
        flex-direction: column !important;
        gap: 1.5rem !important;
        padding-right: 1.25rem !important;
        padding-left: 1.25rem !important;
    }

    .bacchus-landing-find-us-section .wp-block-columns {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }

    .bacchus-landing-find-us-section>iframe {
        flex: 0 0 auto !important;
        width: 100%;
        height: 240px !important;
        min-height: auto !important;
    }

    .bacchus-landing-find-us-section hr.wp-block-separator {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    /* Petits réglages pour les groupes d'infos */
    .bacchus-landing-find-us-section .wp-block-group {
        gap: 0.75rem !important;
    }

    .bacchus-landing-find-us-section .wp-block-outermost-icon-block {
        flex-shrink: 0;
    }

    .bacchus-landing-find-us-section p {
        margin: 0;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-landing-find-us-section {
        gap: 1.25rem !important;
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-landing-find-us-section>iframe {
        height: 220px !important;
    }

    .bacchus-landing-find-us-section hr.wp-block-separator {
        margin-top: 1.25rem !important;
        margin-bottom: 1.25rem !important;
    }
}

/* =========================================================
   NEWSLETTER — RESPONSIVE
   Desktop > 1024px : disposition horizontale conservée
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 782px à 1024px
   Bandeau empilé, formulaire encore horizontal
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1024px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        padding-right: clamp(1.5rem, 5vw, 3rem) !important;
        padding-left: clamp(1.5rem, 5vw, 3rem) !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1.5rem !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color>.wp-block-group {
        width: 100%;
    }

    .bacchus-landing-newsletter-form {
        width: 100%;
        justify-content: flex-start;
        gap: 1rem;
    }

    .bacchus-landing-newsletter-form input:not([type="submit"]) {
        width: min(25rem, 100%);
        min-width: 0;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 600px à 781px
   Bandeau et champs empilés
   --------------------------------------------------------- */

@media (min-width: 600px) and (max-width: 781px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
        padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1.5rem !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color>.wp-block-group {
        width: 100%;
    }

    .bacchus-landing-newsletter-form {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .bacchus-landing-newsletter-form input:not([type="submit"]) {
        width: 100%;
    }

    .bacchus-landing-newsletter-form input[type="submit"] {
        align-self: flex-start;
        width: auto;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 599px
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        padding-top: 1.5rem !important;
        padding-right: 1.25rem !important;
        padding-bottom: 1.5rem !important;
        padding-left: 1.25rem !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1.25rem !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color>.wp-block-group {
        width: 100%;
    }

    .bacchus-landing-newsletter-form {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .bacchus-landing-newsletter-form input:not([type="submit"]) {
        width: 100%;
        font-size: 18px;
    }

    .bacchus-landing-newsletter-form input[type="submit"] {
        align-self: flex-start;
        width: auto;
        font-size: 18px;
        padding: 0.5rem 1.25rem;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
        gap: 1rem !important;
    }

    .bacchus-landing-newsletter-form {
        gap: 0.75rem;
    }

    .bacchus-landing-newsletter-form input:not([type="submit"]) {
        font-size: 16px;
    }

    .bacchus-landing-newsletter-form input[type="submit"] {
        width: 100%;
        font-size: 16px;
    }
}

/* =========================================================
   NEWSLETTER — TITRES RESPONSIVE
   Desktop > 1440px : réduction progressive des titres
   ========================================================= */

@media (max-width: 1440px) {

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h4,
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h3 {
        font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    }
}

@media (max-width: 1024px) {

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h4,
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h3 {
        font-size: clamp(1.125rem, 3vw, 1.5rem);
    }
}

@media (max-width: 781px) {

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h4,
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h3 {
        font-size: clamp(1rem, 3.5vw, 1.25rem);
    }
}

@media (max-width: 599px) {

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h4,
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color h3 {
        font-size: clamp(0.95rem, 4vw, 1.125rem);
    }
}


/* =========================================================
   NEWSLETTER — CENTRAGE À PARTIR DE 1024px
   ========================================================= */

@media (max-width: 1024px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color {
        text-align: center !important;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color>.wp-block-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color .bacchus-landing-newsletter-form {
        justify-content: center;
    }
}

/* Tablette portrait et mobile : on garde le centrage,
   mais le formulaire est déjà en colonne */
@media (max-width: 781px) {
    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color .bacchus-landing-newsletter-form {
        align-items: center;
    }

    .wp-block-group.alignfull.has-custom-champagne-heavy-background-color .bacchus-landing-newsletter-form input:not([type="submit"]) {
        max-width: 100%;
    }
}

/* =========================================================
   MAISON — CONTENU PRINCIPAL
   Desktop : on ne touche à rien
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 1024px à 1440px
   Réduction progressive du padding horizontal
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-maison-content-1 {
        padding-right: clamp(10vw, 15vw, 20vw) !important;
        padding-left: clamp(10vw, 15vw, 20vw) !important;
    }
}

@media (max-width: 1024px) {
    .bacchus-maison-content-1 {
        padding-right: clamp(5vw, 10vw, 15vw) !important;
        padding-left: clamp(5vw, 10vw, 15vw) !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   --------------------------------------------------------- */

@media (max-width: 1023px) {
    .bacchus-maison-content-1 {
        padding-right: clamp(1.5rem, 6vw, 3rem) !important;
        padding-left: clamp(1.5rem, 6vw, 3rem) !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 781px
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-maison-content-1 {
        padding-right: 1.25rem !important;
        padding-left: 1.25rem !important;
    }

    .bacchus-maison-content-1 .wp-block-media-text {
        gap: 1.5rem;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content {
        padding: 1rem;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content h5 {
        margin-top: 1rem !important;
        margin-bottom: 0.75rem !important;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content p {
        margin-bottom: 0.75rem;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 479px
   --------------------------------------------------------- */

@media (max-width: 479px) {
    .bacchus-maison-content-1 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content {
        padding: 0.75rem;
    }
}


/* =========================================================
   MAISON — COLONNE PRINCIPALE
   Réduction du padding-top à partir de ~760px
   ========================================================= */

@media (max-width: 768px) {
    .bacchus-maison-content-1 {
        padding-top: var(--wp--preset--spacing--50) !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
    }
}


/* =========================================================
   MAISON — ITEMS IMAGE + TEXTE
   Empilement + alignement en haut à partir de 600px
   ========================================================= */

@media (max-width: 600px) {
    .bacchus-maison-content-1 .wp-block-media-text {
        /* On s'assure que l'empilement est actif */
        grid-template-columns: 1fr !important;
        gap: 0;
    }

    .bacchus-maison-content-1 .wp-block-media-text__media {
        order: 0;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content {
        order: 1;
        padding: 0.75rem 1rem;
    }

    /* Titres et paragraphes un peu plus aérés */
    .bacchus-maison-content-1 .wp-block-media-text__content h5 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .bacchus-maison-content-1 .wp-block-media-text__content p {
        margin-bottom: 0.5rem;
    }
}

/* =========================================================
   PARCHMIN — SECTION PRINCIPALE
   Desktop : on ne touche à rien
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 1024px à 1440px
   Réduction progressive du padding horizontal
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-maison-parchemin-section {
        padding-right: clamp(8vw, 12vw, 15vw) !important;
        padding-left: clamp(8vw, 12vw, 15vw) !important;
    }
}

@media (max-width: 1024px) {
    .bacchus-maison-parchemin-section {
        padding-right: clamp(4vw, 8vw, 10vw) !important;
        padding-left: clamp(4vw, 8vw, 10vw) !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   --------------------------------------------------------- */

@media (max-width: 1023px) {
    .bacchus-maison-parchemin-section {
        padding-right: clamp(1.25rem, 5vw, 2.5rem) !important;
        padding-left: clamp(1.25rem, 5vw, 2.5rem) !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 781px
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-maison-parchemin-section {
        padding-right: 1.25rem !important;
        padding-left: 1.25rem !important;
    }

    .bacchus-maison-parchemin-section .wp-block-group {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 479px
   --------------------------------------------------------- */

@media (max-width: 479px) {
    .bacchus-maison-parchemin-section {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
}

/* ---------------------------------------------------------
   PARCHMIN — CONTENU TEXTE
   Réduction du padding à partir de 600px
   --------------------------------------------------------- */

@media (max-width: 600px) {
    .bacchus-maison-parchemin-section .wp-block-columns {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-maison-parchemin-section .wp-block-columns .wp-block-column {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }

    .bacchus-maison-parchemin-section .wp-block-columns p {
        margin-bottom: 0.75rem;
    }

    .bacchus-maison-parchemin-section .wp-block-columns p:last-child {
        margin-bottom: 0;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-maison-parchemin-section .wp-block-columns {
        padding-right: 0.75rem !important;
        padding-left: 0.75rem !important;
    }

    .bacchus-maison-parchemin-section .wp-block-columns .wp-block-column {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }

    .bacchus-maison-parchemin-section .wp-block-columns p {
        margin-bottom: 0.5rem;
    }
}

/* =========================================================
   MAISON — BADGES & RÉCOMPENSES
   Desktop : on ne touche à rien
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 1024px à 1440px
   Réduction progressive des paddings
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-maison-content-2 {
        padding-right: clamp(4rem, 6vw, 8rem) !important;
        padding-left: clamp(4rem, 6vw, 8rem) !important;
    }
}

@media (max-width: 1024px) {
    .bacchus-maison-content-2 {
        padding-right: clamp(2rem, 5vw, 4rem) !important;
        padding-left: clamp(2rem, 5vw, 4rem) !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   --------------------------------------------------------- */

@media (max-width: 1023px) {
    .bacchus-maison-content-2 {
        padding-right: clamp(1.5rem, 4vw, 3rem) !important;
        padding-left: clamp(1.5rem, 4vw, 3rem) !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 781px
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-maison-content-2 {
        padding-top: 2.5rem !important;
        padding-right: 1.25rem !important;
        padding-bottom: 2.5rem !important;
        padding-left: 1.25rem !important;
    }

    /* Conteneur principal : titres + badges + paragraphes en colonne */
    .bacchus-maison-content-2>.wp-block-group {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1.25rem !important;
    }

    /* Groupe de badges HVE + VDC (imbriqué) : on garde en ligne */
    .bacchus-maison-content-2 .wp-block-group .wp-block-group {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 1rem !important;
    }

    /* Groupe de badges RÉCOMPENSES : on force en ligne */
    .bacchus-maison-content-2>.wp-block-group>.wp-block-group.is-content-justification-center.is-nowrap,
    .bacchus-maison-content-2 .wp-block-group.is-content-justification-center.is-nowrap {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 1rem !important;
    }

    /* Images badges : taille minimale correcte */
    .bacchus-maison-content-2 .wp-block-image {
        width: auto !important;
        min-width: 0;
    }

    .bacchus-maison-content-2 .wp-block-image img {
        width: clamp(80px, 20vw, 150px);
        height: auto;
    }

    .bacchus-maison-content-2 p {
        font-size: clamp(0.95rem, 2.5vw, 1rem);
        line-height: 1.6;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 599px
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-maison-content-2 {
        padding-top: 2rem !important;
        padding-right: 1rem !important;
        padding-bottom: 2rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-maison-content-2>.wp-block-group {
        gap: 1rem !important;
    }

    .bacchus-maison-content-2 .wp-block-group .wp-block-group {
        gap: 0.75rem !important;
    }

    .bacchus-maison-content-2>.wp-block-group>.wp-block-group.is-content-justification-center.is-nowrap,
    .bacchus-maison-content-2 .wp-block-group.is-content-justification-center.is-nowrap {
        gap: 0.75rem !important;
    }

    .bacchus-maison-content-2 .wp-block-image img {
        width: clamp(70px, 22vw, 140px);
    }

    .bacchus-maison-content-2 p {
        font-size: 0.95rem;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-maison-content-2 {
        padding-top: 1.5rem !important;
        padding-right: 0.75rem !important;
        padding-bottom: 1.5rem !important;
        padding-left: 0.75rem !important;
    }

    .bacchus-maison-content-2 .wp-block-image img {
        width: clamp(60px, 24vw, 120px);
    }

    .bacchus-maison-content-2 p {
        font-size: 0.9rem;
    }
}

/* =========================================================
   CONFIRMATION DE COMMANDE — TITRE PRINCIPAL
   Desktop : on ne touche à rien
   ========================================================= */


/* ---------------------------------------------------------
   Tablette paysage : 600px à 1024px
   Réduction progressive de la taille du titre
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-shipping-confirmation h1 {
        font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 599px
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-shipping-confirmation h1 {
        font-size: clamp(1.5rem, 5vw, 1.875rem) !important;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-shipping-confirmation h1 {
        font-size: 1.375rem !important;
    }
}

/* Mini-panier — bouton de suppression d’article */
.wc-block-cart-item__remove-link {
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wc-block-cart-item__remove-link svg {
    padding: 0 !important;
    margin: 0 !important;
    width: 24px;
    height: 24px;
}

/* =========================================================
   MUSÉE MINIATURE — RESPONSIVE
   Classe à placer sur le bloc Columns externe :
   bacchus-activites-museum-section
   ========================================================= */


/* ---------------------------------------------------------
   Jusqu'à 1440px : réduction progressive du grand padding
   initialement défini sur la section externe
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-activites-museum-section {
        padding-right: clamp(4rem, 8vw, 8rem) !important;
        padding-left: clamp(4rem, 8vw, 8rem) !important;
    }

    /* Premier conteneur de contenu, initialement paddé en spacing 70 */
    .bacchus-activites-museum-section>.wp-block-column>.wp-block-columns {
        padding-right: clamp(3rem, 6vw, 6rem) !important;
        padding-left: clamp(3rem, 6vw, 6rem) !important;
    }
}


/* ---------------------------------------------------------
   1024px et moins : on réduit les paddings intermédiaires
   et on neutralise la composition qui se chevauche
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-activites-museum-section {
        padding-top: var(--wp--preset--spacing--50) !important;
        padding-right: clamp(2rem, 5vw, 4rem) !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
        padding-left: clamp(2rem, 5vw, 4rem) !important;
    }

    .bacchus-activites-museum-section>.wp-block-column>.wp-block-columns {
        padding-right: clamp(1.5rem, 4vw, 3rem) !important;
        padding-left: clamp(1.5rem, 4vw, 3rem) !important;
    }

    /* Le Columns qui enveloppe les deux media-text */
    .bacchus-activites-museum-section .wp-block-columns .wp-block-column[style*="padding-right"] {
        padding-right: clamp(1rem, 3vw, 2rem) !important;
        padding-left: clamp(1rem, 3vw, 2rem) !important;
    }

    /* Le second media-text ne doit plus remonter sur le premier */
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 3rem !important;
        margin-bottom: 0 !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text {
        gap: clamp(1.5rem, 4vw, 2.5rem);
    }

    .bacchus-activites-museum-section .wp-block-media-text__content {
        padding: clamp(1.25rem, 3vw, 2rem);
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   Les médias restent côte à côte, avec un layout plus dense
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1023px) {
    .bacchus-activites-museum-section .wp-block-media-text {
        grid-template-columns: 42% auto !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        grid-template-columns: auto 48% !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text__media img {
        width: 100%;
        height: 100%;
        min-height: 20rem;
        object-fit: cover;
    }

    /* Grille tarifs : deux cartes par ligne */
    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color)>.wp-block-column {
        width: auto !important;
        flex-basis: auto !important;
        margin: 0 !important;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 781px : contenus image + texte empilés,
   sans chevauchement et avec images en pleine largeur
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-activites-museum-section {
        padding-top: var(--wp--preset--spacing--50) !important;
        padding-right: 1.25rem !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
        padding-left: 1.25rem !important;
    }

    .bacchus-activites-museum-section>.wp-block-column>.wp-block-columns {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .bacchus-activites-museum-section .wp-block-columns .wp-block-column[style*="padding-right"] {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 1.25rem;
    }

    .bacchus-activites-museum-section .wp-block-media-text__media {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100%;
    }

    .bacchus-activites-museum-section .wp-block-media-text__content {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding: 0 !important;
    }

    /* Même ordre dans le media-text avec image configurée à droite */
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text__media img {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }

    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 2.5rem !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text h5 {
        margin-top: 0 !important;
        margin-bottom: 0.75rem !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text p {
        margin-bottom: 0.75rem;
    }

    /* Tarifs : deux cartes par ligne jusqu'à une largeur mobile confortable */
    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color)>.wp-block-column {
        width: auto !important;
        flex-basis: auto !important;
        margin: 0 !important;
        padding: 1rem !important;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color) h5 {
        font-size: 1rem;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color) h3 {
        font-size: 1.5rem;
    }
}


/* ---------------------------------------------------------
   Petits mobiles : jusqu'à 599px
   Tarifs sur une colonne et densité réduite
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-activites-museum-section {
        padding-top: 2.5rem !important;
        padding-right: 1rem !important;
        padding-bottom: 2.5rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-activites-museum-section>.wp-block-column>h3 {
        margin-bottom: 1.5rem !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text {
        gap: 1rem;
    }

    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 2rem !important;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color)>.wp-block-column {
        padding: 1.25rem 1rem !important;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-activites-museum-section {
        padding-right: 0.75rem !important;
        padding-left: 0.75rem !important;
    }

    .bacchus-activites-museum-section .wp-block-media-text__media img {
        aspect-ratio: 4 / 3;
    }

    .bacchus-activites-museum-section .wp-block-columns:has(> .dotted.has-white-background-color)>.wp-block-column {
        padding: 1rem 0.75rem !important;
    }
}

/* =========================================================
   MUSÉE — DEUX MEDIA-TEXT (CHEVAUCHEMENT CONTRÔLÉ)
   ========================================================= */


/* Desktop large : > 1440px
   Décalage vers le haut pour l'effet « marche d'escalier »
   --------------------------------------------------------- */

@media (min-width: 1441px) {
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: -6rem !important;
        margin-bottom: 0 !important;
    }
}


/* Desktop « moyen » : 1025px à 1440px
   On annule le chevauchement pour éviter de passer sur le
   dernier paragraphe du premier media-text
   --------------------------------------------------------- */

@media (min-width: 1025px) and (max-width: 1440px) {
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 2.5rem !important;
        margin-bottom: 0 !important;
    }
}


/* Tablette et mobile : espacement classique
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 2.5rem !important;
        margin-bottom: 0 !important;
    }
}


/* Mobile : on garde un espacement simple
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-activites-museum-section .wp-block-media-text.has-media-on-the-right {
        margin-top: 2rem !important;
    }
}

/* =========================================================
   ACTIVITÉS — GUINGUETTE DE BACCHUS
   Classe du bloc Columns externe :
   bacchus-activites-ginguette-section
   ========================================================= */


/* ---------------------------------------------------------
   Jusqu'à 1440px
   Réduction graduelle du padding externe et du media-text
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-activites-ginguette-section {
        padding-right: clamp(3rem, 6vw, 6rem) !important;
        padding-left: clamp(3rem, 6vw, 6rem) !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text {
        padding-right: clamp(2rem, 5vw, 5rem) !important;
        padding-left: clamp(2rem, 5vw, 5rem) !important;
    }
}


/* ---------------------------------------------------------
   1024px à 1440px
   Texte + image restent côte à côte, image plus visible
   --------------------------------------------------------- */

@media (min-width: 1025px) and (max-width: 1440px) {
    .bacchus-activites-ginguette-section .wp-block-media-text {
        grid-template-columns: minmax(0, 1fr) 22% !important;
        gap: clamp(1.5rem, 3vw, 3rem);
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media {
        align-self: stretch;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 30rem;
        object-fit: cover;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 1024px
   Réduction des paddings et image plus large
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-activites-ginguette-section {
        padding-top: var(--wp--preset--spacing--40) !important;
        padding-right: clamp(1.5rem, 5vw, 3rem) !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
        padding-left: clamp(1.5rem, 5vw, 3rem) !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text {
        padding-right: clamp(1rem, 3vw, 2rem) !important;
        padding-left: clamp(1rem, 3vw, 2rem) !important;
        grid-template-columns: minmax(0, 1fr) 28% !important;
        gap: clamp(1.25rem, 3vw, 2rem);
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media {
        align-self: stretch;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 26rem;
        object-fit: cover;
        object-position: center;
    }

    .bacchus-activites-ginguette-section .guinguette-button {
        font-size: clamp(1.125rem, 2.3vw, 1.5rem) !important;
        padding-top: 0.75rem !important;
        padding-right: clamp(1.5rem, 4vw, 3rem) !important;
        padding-bottom: 0.75rem !important;
        padding-left: clamp(1.5rem, 4vw, 3rem) !important;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   On conserve les deux colonnes avec une image lisible
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1023px) {
    .bacchus-activites-ginguette-section .wp-block-media-text {
        grid-template-columns: minmax(0, 1fr) 32% !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        min-height: 24rem;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 781px
   Image et texte empilés, image avant le contenu
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-activites-ginguette-section {
        padding-top: var(--wp--preset--spacing--40) !important;
        padding-right: 1.25rem !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
        padding-left: 1.25rem !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 1.5rem;
        padding: 0 !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100%;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__content {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding: 0 !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: 34rem;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        object-position: center;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__content h5 {
        margin-top: 0 !important;
        margin-bottom: 0.75rem !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__content p {
        margin-bottom: 0.875rem;
    }

    .bacchus-activites-ginguette-section .wp-block-group:has(.guinguette-button) {
        justify-content: center !important;
    }

    .bacchus-activites-ginguette-section .guinguette-button {
        margin-top: 1rem !important;
        margin-bottom: 0 !important;
        text-align: center !important;
        font-size: 1.25rem !important;
        padding-top: 0.75rem !important;
        padding-right: 2rem !important;
        padding-bottom: 0.75rem !important;
        padding-left: 2rem !important;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 599px
   Densité adaptée au téléphone
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-activites-ginguette-section {
        padding-top: 2rem !important;
        padding-right: 1rem !important;
        padding-bottom: 2rem !important;
        padding-left: 1rem !important;
    }

    .bacchus-activites-ginguette-section>.wp-block-column>h3 {
        margin-bottom: 1.5rem !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text {
        gap: 1.25rem;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        max-height: 28rem;
    }

    .bacchus-activites-ginguette-section .guinguette-button {
        width: 100%;
        font-size: 1.125rem !important;
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-activites-ginguette-section {
        padding-right: 0.75rem !important;
        padding-left: 0.75rem !important;
    }

    .bacchus-activites-ginguette-section .wp-block-media-text__media img {
        max-height: 24rem;
    }

    .bacchus-activites-ginguette-section .guinguette-button {
        font-size: 1rem !important;
    }
}

/* =========================================================
   GÎTE — LIGNE D'ICÔNES
   ========================================================= */


/* Desktop : rendu actuel conservé */
.bacchus-gite-details-icons {
    width: 100%;
}

.bacchus-gite-details-icons svg {
    display: block;
    width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   Jusqu'à 1440px
   --------------------------------------------------------- */

@media (max-width: 1440px) {
    .bacchus-gite-details-icons {
        gap: clamp(1.5rem, 4vw, 3rem) !important;
    }

    .bacchus-gite-details-icons svg {
        max-width: 90px;
        max-height: 90px;
    }
}


/* ---------------------------------------------------------
   Jusqu'à 1024px
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .bacchus-gite-details-icons {
        gap: clamp(1rem, 3vw, 2rem) !important;
    }

    .bacchus-gite-details-icons svg {
        max-width: 72px;
        max-height: 72px;
    }
}


/* ---------------------------------------------------------
   Tablette portrait : 782px à 1023px
   --------------------------------------------------------- */

@media (min-width: 782px) and (max-width: 1023px) {
    .bacchus-gite-details-icons svg {
        max-width: 60px;
        max-height: 60px;
    }
}


/* ---------------------------------------------------------
   Mobile : jusqu'à 781px
   --------------------------------------------------------- */

@media (max-width: 781px) {
    .bacchus-gite-details-icons {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 1.25rem !important;
    }

    .bacchus-gite-details-icons svg {
        max-width: 52px;
        max-height: 52px;
    }
}


/* ---------------------------------------------------------
   Petits mobiles : jusqu'à 599px
   --------------------------------------------------------- */

@media (max-width: 599px) {
    .bacchus-gite-details-icons {
        gap: 1rem !important;
    }

    .bacchus-gite-details-icons svg {
        max-width: 44px;
        max-height: 44px;
    }
}


/* ---------------------------------------------------------
   Très petits mobiles : jusqu'à 399px
   --------------------------------------------------------- */

@media (max-width: 399px) {
    .bacchus-gite-details-icons {
        gap: 0.75rem !important;
    }

    .bacchus-gite-details-icons svg {
        max-width: 38px;
        max-height: 38px;
    }
}

/* Desktop */
.bacchus-gite-description {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding-top: var(--wp--preset--spacing--50, 2rem);
    padding-bottom: var(--wp--preset--spacing--50, 2rem);
    padding-left: 8rem;
    padding-right: 8rem;
}

.bacchus-gite-description .wp-block-column {
    flex: 1 1 0;
    min-width: 0;
}

.bacchus-gite-description .wp-block-gallery {
    display: flex;
    gap: 0.75rem;
}

.bacchus-gite-description .wp-block-gallery .wp-block-image {
    flex: 1 1 0;
    min-width: 0;
}

.bacchus-gite-description .wp-block-gallery img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

/* Tablet + mobile */
@media (max-width: 900px) {
    .bacchus-gite-description {
        padding-top: var(--wp--preset--spacing--40, 1.5rem) !important;
        padding-right: 1.5rem !important;
        padding-bottom: var(--wp--preset--spacing--40, 1.5rem) !important;
        padding-left: 1.5rem !important;
        gap: 1.5rem !important;
        flex-direction: column !important;
    }

    .bacchus-gite-description>.wp-block-columns {
        width: 100% !important;
        margin: 0 !important;
    }

    .bacchus-gite-description .wp-block-columns {
        display: block !important;
    }

    .bacchus-gite-description .wp-block-column {
        flex: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .bacchus-gite-description .wp-block-gallery {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .bacchus-gite-description .wp-block-gallery .wp-block-image {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Petit mobile */
@media (max-width: 600px) {
    .bacchus-gite-description {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
        gap: 1.25rem !important;
    }

    .bacchus-gite-description .wp-block-gallery {
        grid-template-columns: 1fr !important;
    }
}


/* =====================================================
   Bacchus – Bloc “cadre” (wp-block-media-text)
   Classe : bacchus-gite-cadre
   ===================================================== */

/* 0. Reset box-sizing pour ce bloc */
.bacchus-gite-cadre,
.bacchus-gite-cadre *,
.bacchus-gite-cadre *::before,
.bacchus-gite-cadre *::after {
    box-sizing: border-box;
}

/* 1. Desktop : layout Media & Text normal (60% image, auto contenu) */
.bacchus-gite-cadre {
    margin-left: 0 !important;
    margin-right: 0 !important;

    /* Padding horizontal fort sur desktop */
    padding-left: var(--wp--preset--spacing--80, 4rem) !important;
    padding-right: var(--wp--preset--spacing--80, 4rem) !important;
}

/* On neutralise le padding par défaut du contenu Media & Text */
.bacchus-gite-cadre .wp-block-media-text__content {
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
    max-width: 100%;

    /* On recrée le gap entre image et texte sur desktop */
    padding-left: 2rem !important;
    /* ajuste selon ton design */
}

/* Image principale : on s’assure qu’elle ne dépasse pas */
.bacchus-gite-cadre .wp-block-media-text__media img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Petite image dans le contenu : on la contrôle un peu */
.bacchus-gite-cadre .wp-block-media-text__content .wp-block-image {
    margin-top: 1rem;
    max-width: 340px;
    /* ajuste selon ton design */
}

/* 2. Tablette / petit desktop : on passe en colonne plus tôt */
@media (max-width: 1024px) {
    .bacchus-gite-cadre.is-stacked-on-mobile {
        display: flex !important;
        flex-direction: column;
        grid-template-columns: 1fr !important;
    }

    .bacchus-gite-cadre.is-stacked-on-mobile .wp-block-media-text__media,
    .bacchus-gite-cadre.is-stacked-on-mobile .wp-block-media-text__content {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Image principale au-dessus */
    .bacchus-gite-cadre.is-stacked-on-mobile .wp-block-media-text__media {
        order: 1;
        margin-bottom: 1.5rem;
    }

    /* Contenu en dessous : on enlève le padding-left ajouté pour desktop */
    .bacchus-gite-cadre.is-stacked-on-mobile .wp-block-media-text__content {
        order: 2;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* 3. Mobile : on réduit le padding horizontal du conteneur */
@media (max-width: 768px) {
    .bacchus-gite-cadre {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

/* =====================================================
   Bacchus – Bannière de réservation
   Classe : bacchus-gite-reservation-bannneer
   ===================================================== */

/* 0. Reset box-sizing pour ce bloc */
.bacchus-gite-reservation-bannneer,
.bacchus-gite-reservation-bannneer *,
.bacchus-gite-reservation-bannneer *::before,
.bacchus-gite-reservation-bannneer *::after {
    box-sizing: border-box;
}

/* 1. Desktop : layout actuel (ligne), padding global et interne */
.bacchus-gite-reservation-bannneer {
    padding-top: var(--wp--preset--spacing--50, 2rem) !important;
    padding-bottom: var(--wp--preset--spacing--50, 2rem) !important;
    padding-left: var(--wp--preset--spacing--80, 4rem) !important;
    padding-right: var(--wp--preset--spacing--80, 4rem) !important;
}

.bacchus-gite-reservation-bannneer .wp-block-column.has-background {
    padding-top: var(--wp--preset--spacing--60, 3rem) !important;
    padding-bottom: var(--wp--preset--spacing--60, 3rem) !important;
    padding-left: 7rem !important;
    padding-right: 7rem !important;

    width: 100%;
    max-width: 100%;
}

/* Groupe interne : en ligne sur desktop (comportement par défaut) */
.bacchus-gite-reservation-bannneer .wp-block-column.has-background>.wp-block-group {
    width: 100%;
    max-width: 100%;
}

/* Titres */
.bacchus-gite-reservation-bannneer .wp-block-column.has-background h3,
.bacchus-gite-reservation-bannneer .wp-block-column.has-background h4 {
    margin: 0;
    line-height: 1.2;
}

/* Bouton “Je réserve” */
.bacchus-gite-reservation-bannneer .gite-reservation-button {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    cursor: pointer;
    transition: transform 0.15s ease, background-color 0.2s ease, color 0.2s ease;
}

.bacchus-gite-reservation-bannneer .gite-reservation-button:hover {
    transform: scale(1.03);
    background-color: #ffffff;
    color: #000000;
}

/* 2. Tablette : contenu interne (icône + titres + bouton) en colonne */
@media (max-width: 1024px) {
    .bacchus-gite-reservation-bannneer {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .bacchus-gite-reservation-bannneer .wp-block-column.has-background {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    /* Le groupe interne passe en colonne */
    .bacchus-gite-reservation-bannneer .wp-block-column.has-background>.wp-block-group {
        flex-direction: column !important;
        align-items: center, ;
        gap: 1.25rem;
        /* espace entre icône/titres/bouton */
    }

    /* Le sous-groupe (icône + titres) passe aussi en colonne */
    .bacchus-gite-reservation-bannneer .wp-block-column.has-background>.wp-block-group>.wp-block-group {
        flex-direction: column !important;
        align-items: center;
        gap: 0.75rem;
    }

    /* Centrer ou aligner l'icône si besoin */
    .bacchus-gite-reservation-bannneer .wp-block-outermost-icon-block {
        margin-bottom: 0.5rem;
    }

    /* Bouton un peu plus large sur tablette, mais pas forcément 100% */
    .bacchus-gite-reservation-bannneer .gite-reservation-button {
        min-width: 200px;
    }
}

/* 3. Mobile : padding réduit, bouton pleine largeur */
@media (max-width: 768px) {
    .bacchus-gite-reservation-bannneer {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .bacchus-gite-reservation-bannneer .wp-block-column.has-background {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    /* On garde la colonne, éventuellement centrée */
    .bacchus-gite-reservation-bannneer .wp-block-column.has-background>.wp-block-group {
        align-items: center;
        /* centre icône, titres et bouton */
        text-align: center;
    }

    .bacchus-gite-reservation-bannneer .wp-block-column.has-background>.wp-block-group>.wp-block-group {
        align-items: center;
        text-align: center;
    }

    /* Bouton pleine largeur sur mobile */
    .bacchus-gite-reservation-bannneer .gite-reservation-button {
        width: 100%;
        max-width: 100%;
        border-radius: 9999px;
    }
}

/* =====================================================
   Bacchus – Section Tarifs (Cover imbriqué)
   Classe : bacchus-gite-tarifs
   ===================================================== */

/* 0. Reset box-sizing */
.bacchus-gite-tarifs,
.bacchus-gite-tarifs *,
.bacchus-gite-tarifs *::before,
.bacchus-gite-tarifs *::after {
    box-sizing: border-box;
}

/* 1. Desktop : on resserre juste les padding fous (15rem) */
.bacchus-gite-tarifs .wp-block-group {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
}

/* Cover interne : on garde son fond noir en desktop */
.bacchus-gite-tarifs .wp-block-cover {
    min-height: 200px;
}

/* 2. Tablette : on retire l’overlay noir du cover interne,
   on resserre le padding horizontal, on ajoute du padding vertical,
   et on passe en colonne */
@media (max-width: 1024px) {

    /* Groupe principal : padding horizontal réduit + padding vertical */
    .bacchus-gite-tarifs .wp-block-group {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        padding-top: 2rem !important;
        /* espace au-dessus */
        padding-bottom: 2rem !important;
        /* espace en dessous */
    }

    /* On retire le fond noir du cover interne */
    .bacchus-gite-tarifs .wp-block-cover .wp-block-cover__background {
        display: none !important;
    }

    /* On s’assure que le cover interne n’impose pas de hauteur bizarre */
    .bacchus-gite-tarifs .wp-block-cover {
        min-height: 0 !important;
        background: none !important;
        padding-top: 1rem !important;
        /* optionnel : un peu d’air interne */
        padding-bottom: 1rem !important;
    }

    /* Passage en colonne : le groupe principal devient flex column */
    .bacchus-gite-tarifs .wp-block-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 1.5rem;
        text-align: center;
    }

    /* Le groupe à l’intérieur du cover interne aussi en colonne centrée */
    .bacchus-gite-tarifs .wp-block-cover .wp-block-cover__inner-container .wp-block-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.5rem;
        text-align: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Titre “Tarifs” */
    .bacchus-gite-tarifs .wp-block-group h3 {
        margin: 0;
    }

    /* Bloc prix : on réduit un peu la taille du “450 €” si besoin */
    .bacchus-gite-tarifs .wp-block-cover .wp-block-cover__inner-container .wp-block-group p {
        margin: 0;
    }

    .bacchus-gite-tarifs .wp-block-cover .wp-block-cover__inner-container .wp-block-group p:nth-child(2) {
        font-size: 80px !important;
        /* au lieu de 120px */
    }
}

/* 3. Mobile : full colonne, padding minimal */
@media (max-width: 768px) {
    .bacchus-gite-tarifs .wp-block-group {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
        gap: 1rem;
    }

    /* Prix encore plus lisible mais pas démesuré */
    .bacchus-gite-tarifs .wp-block-cover .wp-block-cover__inner-container .wp-block-group p:nth-child(2) {
        font-size: 64px !important;
    }
}

/* ---------------------------------------------------------
   ANIMATION BOUNCE INFINI (moderne, fluide)
   --------------------------------------------------------- */

@keyframes bacchus-bounce {

    0%,
    100% {
        transform: translateY(0);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    }

    50% {
        transform: translateY(10px);
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}

/* Applique l’animation au chevron du hero */
.wp-block-cover.bacchus-landing-hero .wp-block-icon svg {
    animation: bacchus-bounce 1.6s infinite;
    will-change: transform;
}


/* =========================================================
   VARIABLES
   ========================================================= */

:root {
    --bacchus-header-transition: 280ms ease;

    --bacchus-header-height-desktop: 70px;
    --bacchus-header-height-tablet: 125px;
    --bacchus-header-height-mobile: 115px;
}


/* =========================================================
   HEADER BACCHUS — ÉTAT INITIAL
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header) {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    z-index: 1000;

    background-color: transparent;
    border-bottom: 1px solid transparent;
}


/* =========================================================
   CONTENEUR INTERNE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header>.alignfull {
    transition:
        padding-top var(--bacchus-header-transition),
        padding-bottom var(--bacchus-header-transition),
        padding-left var(--bacchus-header-transition),
        padding-right var(--bacchus-header-transition),
        gap var(--bacchus-header-transition);
}


/* =========================================================
   ÉTAT INITIAL
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header):not(.is-fixed)>header.bacchus-site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);

    transition: none !important;
}


/* =========================================================
   HEADER FIXE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed {
    min-height: var(--bacchus-header-height-desktop);
}

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    height: auto;
    min-height: var(--bacchus-header-height-desktop);

    z-index: 1001;

    background-color: #fff;

    border-bottom: 1px solid var(--wp--preset--color--custom-champagne-heavy);

    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(-110%);

    transition:
        background-color var(--bacchus-header-transition),
        border-color var(--bacchus-header-transition);
}


/* =========================================================
   TRANSITION DU HEADER FIXE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.can-animate>header.bacchus-site-header {
    transition:
        transform var(--bacchus-header-transition),
        background-color var(--bacchus-header-transition),
        border-color var(--bacchus-header-transition);
}


/* =========================================================
   HEADER VISIBLE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-visible>header.bacchus-site-header {
    transform: translateY(0);
}


/* =========================================================
   RETOUR VERS L'ÉTAT INITIAL
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning>header.bacchus-site-header {
    transform: translateY(0);

    background-color: transparent;
    border-bottom-color: transparent;

    transition:
        background-color var(--bacchus-header-transition),
        border-color var(--bacchus-header-transition);
}


/* =========================================================
   ESPACEMENTS PENDANT LE RETOUR
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning>header.bacchus-site-header>.alignfull {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}


/* =========================================================
   COULEURS PENDANT LE RETOUR
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning .wp-block-navigation,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning .wp-block-navigation-item__content,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning .wp-block-navigation-item__label,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning .wc-block-mini-cart__button,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning .wc-block-mini-cart__icon {
    color: #fff !important;

    transition:
        color var(--bacchus-header-transition);
}


/* =========================================================
   HEADER COMPACT
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}


/* =========================================================
   LOGO EXISTANT
   ========================================================= */

/*
 * On ne modifie pas la largeur ni le max-width de l'image.
 * Le placement et la taille initiale restent donc contrôlés
 * par ton CSS existant et par les règles responsive WordPress.
 */

header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header>.alignfull>.wp-block-image>a {
    position: relative;
    display: block;

    height: auto;
}

header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header>.alignfull>.wp-block-image>img {
    position: relative;
    z-index: 1;

    display: block;

    height: auto;
    opacity: 1;

    transition:
        opacity var(--bacchus-header-transition);
}


/* =========================================================
   LOGO GRIS AJOUTÉ VISUELLEMENT EN CSS
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header>.alignfull>.wp-block-image>a::after {
    content: "";

    position: absolute;
    z-index: 2;
    inset: 0;

    display: block;

    background-image: url("https://a2k0hmgsprn2kfegku1jvbee1mtm8chh.sacreweb.fr/wp-content/uploads/2026/08/logo-normal-test-1.png"
        );

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: 0;
    pointer-events: none;

    transition:
        opacity var(--bacchus-header-transition);
}


/* =========================================================
   LOGO GRIS DANS LE HEADER FIXE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull>.wp-block-image>img {
    opacity: 0;
}

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull>.wp-block-image>a::after {
    opacity: 1;
}


/* =========================================================
   LOGO BLANC PENDANT LE RETOUR
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning>header.bacchus-site-header>.alignfull>.wp-block-image>img {
    opacity: 1;
}

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning>header.bacchus-site-header>.alignfull>.wp-block-image>a::after {
    opacity: 0;
}


/* =========================================================
   NAVIGATION — ÉTAT FIXE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wp-block-navigation,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wp-block-navigation-item__content,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wp-block-navigation-item__label {
    color: var(--wp--preset--color--custom-classic-grey) !important;

    transition:
        color var(--bacchus-header-transition);
}


/* =========================================================
   PANIER — ÉTAT FIXE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wc-block-mini-cart__button,
header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wc-block-mini-cart__icon {
    color: var(--wp--preset--color--custom-classic-grey) !important;

    transition:
        color var(--bacchus-header-transition);
}


/* =========================================================
   BADGE
   ========================================================= */

header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed .wc-block-mini-cart__badge {
    background-color:
        var(--wp--preset--color--vivid-red, #cf2e2e) !important;

    color: #fff !important;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 1024px) {
    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed {
        min-height: var(--bacchus-header-height-tablet);
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull {
        gap: 0.5rem;
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull>.wp-block-image>img {
        width: 170px !important;
        max-width: 170px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {
    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed {
        min-height: var(--bacchus-header-height-mobile);
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header {
        min-height: var(--bacchus-header-height-mobile);
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull {
        gap: 0.35rem;
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header>.alignfull>.wp-block-image>img {
        width: 145px !important;
        max-width: 145px !important;
    }

    /*
   * Déplacement légèrement supérieur à la hauteur maximale
   * pour garantir que le header est entièrement hors écran.
   */
    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.can-animate>header.bacchus-site-header {
        transition:
            transform 320ms ease,
            background-color var(--bacchus-header-transition),
            border-color var(--bacchus-header-transition);
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header {
        transform: translateY(-120%);
    }

    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-visible>header.bacchus-site-header,
    header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed.is-returning>header.bacchus-site-header {
        transform: translateY(0);
    }
}


/* =========================================================
   BARRE D'ADMINISTRATION WORDPRESS
   ========================================================= */

body.admin-bar header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar header.wp-block-template-part:has(> header.bacchus-site-header).is-fixed>header.bacchus-site-header {
        top: 46px;
    }
}


/* =========================================================
   ACCESSIBILITÉ
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header,
    header.wp-block-template-part:has(> header.bacchus-site-header)>header.bacchus-site-header>.alignfull,
    header.wp-block-template-part:has(> header.bacchus-site-header) .wp-block-image img,
    header.wp-block-template-part:has(> header.bacchus-site-header) .wp-block-image a::after {
        transition: none !important;
    }
}

/* =========================================================
   MotoPress search form — wrapper custom
   Cible : [mphb_availability_search class="bacchus-gite-booking-search"]
   ========================================================= */

.bacchus-gite-booking-search {
    margin-left: auto;
    width: 100%;
    max-width: 640px;
}

.bacchus-gite-booking-search .mphb_sc_search-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: end;
    margin: 0;
}

.bacchus-gite-booking-search .mphb-required-fields-tip {
    grid-column: 1 / -1;
    margin: 0 0 0.25rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
    line-height: 1.3;
}

/* Si tu préfères le masquer :
.bacchus-gite-booking-search .mphb-required-fields-tip {
  display: none;
}
*/

.bacchus-gite-booking-search .mphb_sc_search-form>p {
    margin: 0;
}

.bacchus-gite-booking-search label {
    display: inline-block;
    margin-bottom: 0.45rem;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
}

.bacchus-gite-booking-search input[type="text"],
.bacchus-gite-booking-search select {
    width: 100%;
    height: 52px;
    padding: 0 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 0.98rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

.bacchus-gite-booking-search input[type="text"]::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

.bacchus-gite-booking-search select option {
    color: #171717;
    background: #ffffff;
}

.bacchus-gite-booking-search input[type="text"]:focus,
.bacchus-gite-booking-search select:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.18);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10);
}

.bacchus-gite-booking-search .mphb_sc_search-submit-button-wrapper {
    display: flex;
    align-items: end;
}

.bacchus-gite-booking-search input[type="submit"].button {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 10px;
    background: #ffffff;
    color: #221b16;
    font-size: 0.98rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.bacchus-gite-booking-search input[type="submit"].button:hover {
    transform: translateY(-1px);
    background: #f5efe7;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

/* Responsive */
@media (max-width: 1180px) {
    .bacchus-gite-booking-search {
        max-width: 100%;
    }

    .bacchus-gite-booking-search .mphb_sc_search-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bacchus-gite-booking-search .mphb_sc_search-submit-button-wrapper {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .bacchus-gite-booking-search .mphb_sc_search-form {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Datepicker MotoPress / jQuery Datepick
   ========================================================= */

.mphb-datepick-popup,
.datepick-popup {
    z-index: 99999 !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 10px !important;
    background: #f7f4ee !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18) !important;
    color: #171717 !important;
    font-family: inherit !important;
    padding: 0.85rem !important;
    overflow: hidden !important;
}

.mphb-datepick-popup .datepick-month-row,
.datepick-popup .datepick-month-row {
    display: flex !important;
    gap: 0.75rem !important;
}

.mphb-datepick-popup .datepick-month,
.datepick-popup .datepick-month {
    width: 310px !important;
    max-width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Haut ET bas */
.mphb-datepick-popup .datepick-nav,
.mphb-datepick-popup .datepick-ctrl,
.datepick-popup .datepick-nav,
.datepick-popup .datepick-ctrl {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 0.5rem !important;
    min-height: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.mphb-datepick-popup .datepick-nav,
.datepick-popup .datepick-nav {
    margin: 0 0 0.6rem !important;
}

.mphb-datepick-popup .datepick-ctrl,
.datepick-popup .datepick-ctrl {
    margin: 0.6rem 0 0 !important;
}

/* Placement explicite */
.mphb-datepick-popup .datepick-nav .datepick-cmd-prev,
.mphb-datepick-popup .datepick-ctrl .datepick-cmd-clear,
.datepick-popup .datepick-nav .datepick-cmd-prev,
.datepick-popup .datepick-ctrl .datepick-cmd-clear {
    grid-column: 1 !important;
    justify-self: start !important;
}

.mphb-datepick-popup .datepick-nav .datepick-cmd-today,
.datepick-popup .datepick-nav .datepick-cmd-today {
    grid-column: 2 !important;
    justify-self: center !important;
}

.mphb-datepick-popup .datepick-nav .datepick-cmd-next,
.mphb-datepick-popup .datepick-ctrl .datepick-cmd-close,
.datepick-popup .datepick-nav .datepick-cmd-next,
.datepick-popup .datepick-ctrl .datepick-cmd-close {
    grid-column: 3 !important;
    justify-self: end !important;
}

.mphb-datepick-popup .datepick-cmd,
.datepick-popup .datepick-cmd {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 0.55rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #8b6a43 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    line-height: 34px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    float: none !important;
    transition: background-color 0.18s ease, color 0.18s ease !important;
}

.mphb-datepick-popup .datepick-cmd:hover,
.datepick-popup .datepick-cmd:hover {
    background: rgba(139, 106, 67, 0.08) !important;
    color: #5f472d !important;
}

.mphb-datepick-popup .datepick-cmd-current,
.datepick-popup .datepick-cmd-current {
    font-weight: 700 !important;
}

.mphb-datepick-popup .datepick-month-header,
.datepick-popup .datepick-month-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 44px !important;
    margin-bottom: 0.5rem !important;
    padding: 0.15rem 0.35rem 0.45rem !important;
    border: 0 !important;
    background: transparent !important;
    color: #171717 !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
}

/* Selects mois / année */
.mphb-datepick-popup select,
.datepick-popup select {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #171717 !important;
    height: auto !important;
    padding: 0 1rem 0 0 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}

.mphb-datepick-popup table,
.datepick-popup table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 4px !important;
}

.mphb-datepick-popup th,
.datepick-popup th {
    padding: 0.3rem !important;
    border: 0 !important;
    background: transparent !important;
    color: #6f6a63 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.mphb-datepick-popup td,
.datepick-popup td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.mphb-datepick-popup td a,
.mphb-datepick-popup td span,
.datepick-popup td a,
.datepick-popup td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto !important;
    border-radius: 8px !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

.mphb-datepick-popup td a,
.datepick-popup td a {
    color: #171717 !important;
    background: transparent !important;
}

.mphb-datepick-popup td a:hover,
.datepick-popup td a:hover {
    background: rgba(139, 106, 67, 0.10) !important;
    color: #171717 !important;
    transform: translateY(-1px) !important;
}

.mphb-datepick-popup .datepick-selected,
.mphb-datepick-popup .datepick-highlight,
.datepick-popup .datepick-selected,
.datepick-popup .datepick-highlight {
    background: #8b6a43 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.mphb-datepick-popup .datepick-today a,
.datepick-popup .datepick-today a {
    border: 1px solid rgba(139, 106, 67, 0.45) !important;
    background: #fffaf2 !important;
    color: #171717 !important;
}

.mphb-datepick-popup .mphb-available-date.datepick-weekend a,
.datepick-popup .mphb-available-date.datepick-weekend a {
    background: rgba(139, 106, 67, 0.06) !important;
    color: #171717 !important;
}

.mphb-datepick-popup .mphb-not-available-date,
.mphb-datepick-popup .mphb-booked-date,
.datepick-popup .mphb-not-available-date,
.datepick-popup .mphb-booked-date {
    opacity: 1 !important;
}

.mphb-datepick-popup .mphb-not-available-date span,
.mphb-datepick-popup .mphb-booked-date span,
.datepick-popup .mphb-not-available-date span,
.datepick-popup .mphb-booked-date span {
    background: #dedbd6 !important;
    color: #9a948c !important;
    border-radius: 8px !important;
    text-decoration: none !important;
}

/* Style pour une plage ajoutée en JS */
.mphb-datepick-popup .is-in-range,
.datepick-popup .is-in-range {
    background: rgba(139, 106, 67, 0.18) !important;
    color: #171717 !important;
}

.mphb-datepick-popup .is-range-edge,
.datepick-popup .is-range-edge {
    background: #8b6a43 !important;
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 782px) {

    .mphb-datepick-popup,
    .datepick-popup {
        width: min(92vw, 360px) !important;
        padding: 0.75rem !important;
    }

    .mphb-datepick-popup .datepick-month-row,
    .datepick-popup .datepick-month-row {
        display: block !important;
    }

    .mphb-datepick-popup .datepick-month.last,
    .datepick-popup .datepick-month.last {
        display: none !important;
    }

    .mphb-datepick-popup .datepick-month.first,
    .datepick-popup .datepick-month.first {
        width: 100% !important;
    }

    .mphb-datepick-popup td a,
    .mphb-datepick-popup td span,
    .datepick-popup td a,
    .datepick-popup td span {
        width: 38px !important;
        height: 38px !important;
    }
}

/* Fix spécifique bouton central "Aujourd'hui" */
.mphb-datepick-popup .datepick-nav .datepick-cmd-today,
.datepick-popup .datepick-nav .datepick-cmd-today {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 132px !important;
    height: 38px !important;
    padding: 0 1rem !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.mphb-datepick-popup .datepick-nav .datepick-cmd-today:hover,
.datepick-popup .datepick-nav .datepick-cmd-today:hover {
    background: rgba(139, 106, 67, 0.10) !important;
    border-radius: 8px !important;
}

/* =========================================================
   Search results MotoPress
   Cible : [mphb_search_results class="bacchus-gite-search-results"]
   ========================================================= */

.bacchus-gite-search-results {
    color: #1b1713;
    padding: clamp(1.25rem, 2vw, 2.25rem);
    background: #fcfaf6;
    box-sizing: border-box;
    display: grid;
    gap: 1.5rem;
}

.bacchus-gite-search-results *,
.bacchus-gite-search-results *::before,
.bacchus-gite-search-results *::after {
    box-sizing: border-box;
}

.bacchus-gite-search-results .mphb_sc_search_results-wrapper {
    display: grid;
    gap: 1.35rem;
}

.bacchus-gite-search-results .mphb_sc_search_results-info,
.bacchus-gite-search-results .mphb-recommendation-title,
.bacchus-gite-search-results .mphb-room-type-title,
.bacchus-gite-search-results .mphb-room-type-details-title,
.bacchus-gite-search-results .mphb-empty-cart-message,
.bacchus-gite-search-results .mphb-cart-total-price-title,
.bacchus-gite-search-results .mphb-recommendation-total-title {
    font-family: var(--wp--preset--font-family--instrument-sans);
}

/* message de résultat */
.bacchus-gite-search-results .mphb_sc_search_results-info {
    margin: 0;
    padding: 0 0 0.9rem;
    border-bottom: 1px solid rgba(34, 27, 22, 0.08);
    color: #6f6257;
    font-size: 0.98rem;
    line-height: 1.5;
}

/* titre recommandation */
.bacchus-gite-search-results .mphb-recommendation-title {
    margin: 0 0 0.25rem;
    color: #221b16;
    font-size: clamp(1.2rem, 1.1rem + 0.5vw, 1.55rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
}

/* zone recommandation */
.bacchus-gite-search-results .mphb-recommendation {
    margin: 0;
    padding: 1.15rem 1.15rem 1.35rem;
    border: 1px solid rgba(34, 27, 22, 0.08);
    background: linear-gradient(180deg, #f8f4ed 0%, #f3ede4 100%);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.035);
}

.bacchus-gite-search-results .mphb-recommendation-details-list {
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.bacchus-gite-search-results .mphb-recommendation-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(34, 27, 22, 0.08);
}

.bacchus-gite-search-results .mphb-recommendation-details-list li:last-child .mphb-recommendation-item {
    border-bottom: 0;
}

.bacchus-gite-search-results .mphb-recommendation-item-count,
.bacchus-gite-search-results .mphb-recommedation-item-subtotal,
.bacchus-gite-search-results .mphb-recommendation-item-link,
.bacchus-gite-search-results .mphb-recommendation-item-guests {
    margin: 0;
}

.bacchus-gite-search-results .mphb-recommedation-item-subtotal,
.bacchus-gite-search-results .mphb-recommendation-total-value,
.bacchus-gite-search-results .mphb-cart-total-price-value,
.bacchus-gite-search-results .mphb-price {
    color: var(--wp--preset--color--custom-champagne-heavy);
    font-weight: 700;
}

.bacchus-gite-search-results .mphb-recommendation-item-link {
    color: #221b16;
    font-weight: 700;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

.bacchus-gite-search-results .mphb-recommendation-item-link:hover {
    color: #221b16;
}

.bacchus-gite-search-results .mphb-recommendation-item-guests {
    display: block;
    margin-top: 0.2rem;
    color: #6f6257;
}

.bacchus-gite-search-results .mphb-recommendation-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(34, 27, 22, 0.08);
    color: #221b16;
    font-weight: 700;
}

.bacchus-gite-search-results .mphb-recommendation .mphb-button,
.bacchus-gite-search-results .mphb-recommendation .button {
    margin-top: 1rem;
}

/* panier / CTA allégé */
.bacchus-gite-search-results .mphb-reservation-cart {
    margin: -0.25rem 0 0.25rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(34, 27, 22, 0.08);
    background: rgba(247, 244, 238, 0.7);
    box-shadow: none;
}

.bacchus-gite-search-results .mphb-reservation-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1rem;
}

.bacchus-gite-search-results .mphb-empty-cart-message,
.bacchus-gite-search-results .mphb-cart-message {
    margin: 0;
    color: #6f6257;
    font-size: 0.95rem;
    line-height: 1.5;
}

.bacchus-gite-search-results .mphb-empty-cart-message {
    font-size: 1rem;
    color: #3e342b;
}

.bacchus-gite-search-results .mphb-cart-total-price {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    border: 0;
    color: #221b16;
    font-weight: 700;
}

/* cartes logements */
.bacchus-gite-search-results .mphb-room-type {
    margin: 0 !important;
    padding: clamp(1rem, 1rem + 0.7vw, 1.55rem);
    border: 1px solid rgba(34, 27, 22, 0.10);
    background: #fffdf9;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.bacchus-gite-search-results .mphb-room-type:hover {
    border-color: rgba(34, 27, 22, 0.14);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.055);
    transform: translateY(-2px);
}

/* titres */
.bacchus-gite-search-results .mphb-room-type-title,
.bacchus-gite-search-results .mphb-room-type-title a {
    margin: 0;
    color: #221b16;
    text-decoration: none;
    font-family: var(--wp--preset--font-family--instrument-sans);
    font-size: clamp(1.22rem, 1.16rem + 0.55vw, 1.55rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    pointer-events: none;
    cursor: default;
}

.bacchus-gite-search-results .mphb-room-type-title a:hover {
    color: #221b16;
}

/* texte descriptif */
.bacchus-gite-search-results .mphb-room-type>p {
    margin: 0.85rem 0 0;
    color: #4c443d;
    line-height: 1.7;
}

/* =========================================================
   GALERIE
   Image active au-dessus avec flèches
   Toutes les miniatures visibles dessous en flex
   ========================================================= */

.bacchus-gite-search-results .mphb-room-type-images {
    margin: 0 0 1rem;
}

.bacchus-gite-search-results .mphb-gallery-main-slider,
.bacchus-gite-search-results .mphb-gallery-thumbnail-slider {
    max-width: 780px;
}

/* slider principal : cadre fixe + image en cover */
.bacchus-gite-search-results .mphb-gallery-main-slider {
    position: relative;
    margin: 0 0 0.75rem;
    border: 1px solid rgba(34, 27, 22, 0.08);
    background: #f3ede4;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-viewport {
    height: 100% !important;
    background: #f3ede4;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .slides {
    height: 100%;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .slides>li {
    margin: 0 !important;
    height: 100%;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .gallery-icon,
.bacchus-gite-search-results .mphb-gallery-main-slider .gallery-icon>a {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    cursor: default;
}

.bacchus-gite-search-results .mphb-gallery-main-slider img {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    margin: 0;
}

/* flèches uniquement sur la galerie principale */
.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    overflow: hidden;
    background: rgba(34, 27, 22, 0.78);
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px;
    text-shadow: none;
    opacity: 1 !important;
    transition: background-color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav a::before {
    display: block;
    color: #ffffff;
    font-size: 15px;
    line-height: 1;
    text-indent: 0;
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav .flex-prev::before {
    content: "←";
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav .flex-next::before {
    content: "→";
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav a:hover {
    background: var(--wp--preset--color--custom-champagne-heavy);
    transform: scale(1.04);
}

.bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav .flex-disabled {
    opacity: 0.35 !important;
}

/* thumbnails : toutes visibles, sans flèches, en flex */
.bacchus-gite-search-results .mphb-gallery-thumbnail-slider {
    margin: 0;
    overflow: visible;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .flex-direction-nav {
    display: none !important;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .flex-viewport {
    overflow: visible !important;
    height: auto !important;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .slides {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: auto !important;
    transform: none !important;
    transition: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .slides>li.clone {
    display: none !important;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .slides>li {
    width: 84px !important;
    min-width: 84px !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .gallery-icon,
.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .gallery-icon>a {
    display: block;
    width: 100%;
    pointer-events: none;
    cursor: default;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider img {
    display: block;
    width: 84px;
    height: 84px;
    object-fit: cover;
    border: 1px solid rgba(34, 27, 22, 0.08);
    background: #f3ede4;
    opacity: 0.78;
    transition: opacity 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.bacchus-gite-search-results .mphb-gallery-thumbnail-slider .flex-active-slide img,
.bacchus-gite-search-results .mphb-gallery-thumbnail-slider li:hover img {
    opacity: 1;
    border-color: var(--wp--preset--color--custom-champagne-heavy);
    transform: translateY(-1px);
}

/* sous-titres */
.bacchus-gite-search-results .mphb-room-type-details-title {
    margin: 1.15rem 0 0.7rem;
    color: #221b16;
    font-size: 1rem;
    letter-spacing: -0.01em;
}

/* liste détails */
.bacchus-gite-search-results .mphb-loop-room-type-attributes {
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.bacchus-gite-search-results .mphb-loop-room-type-attributes li {
    padding: 0.48rem 0.78rem;
    border: 1px solid rgba(34, 27, 22, 0.10);
    background: #f7f4ee;
    color: #3a332d;
    font-size: 0.95rem;
    transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.bacchus-gite-search-results .mphb-loop-room-type-attributes li:hover {
    border-color: rgba(34, 27, 22, 0.16);
    background: #f3ede4;
}

.bacchus-gite-search-results .mphb-attribute-title {
    font-weight: 700;
}

/* prix */
.bacchus-gite-search-results .mphb-regular-price {
    margin: 1rem 0 1.1rem;
    color: #221b16;
    font-size: 1rem;
    line-height: 1.5;
}

.bacchus-gite-search-results .mphb-regular-price strong {
    font-family: var(--wp--preset--font-family--instrument-sans);
    font-weight: 600;
}

.bacchus-gite-search-results .mphb-price-period {
    color: #6f6257;
}

/* zone actions */
.bacchus-gite-search-results .mphb-view-details-button-wrapper,
.bacchus-gite-search-results .mphb-reserve-room-section {
    margin-top: 1rem;
}

.bacchus-gite-search-results .mphb-view-details-button-wrapper {
    display: none;
}

.bacchus-gite-search-results .mphb-reserve-room-section {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(34, 27, 22, 0.08);
}

.bacchus-gite-search-results .mphb-rooms-reservation-message-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.bacchus-gite-search-results .mphb-rooms-reservation-message,
.bacchus-gite-search-results .mphb-remove-from-reservation {
    color: #6f6257;
}

.bacchus-gite-search-results .mphb-remove-from-reservation {
    text-decoration: none;
    transition: color 0.3s ease;
}

.bacchus-gite-search-results .mphb-remove-from-reservation:hover {
    color: var(--wp--preset--color--custom-champagne-heavy);
}

/* boutons */
.bacchus-gite-search-results .button,
.bacchus-gite-search-results .mphb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.82rem 1.18rem;
    border: 1px solid transparent;
    background: #221b16;
    color: #ffffff;
    font-family: var(--wp--preset--font-family--instrument-sans);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.bacchus-gite-search-results .button:hover,
.bacchus-gite-search-results .mphb-button:hover {
    background: var(--wp--preset--color--custom-champagne-heavy);
    color: #ffffff;
    transform: translateY(-1px);
}

.bacchus-gite-search-results .mphb-book-button,
.bacchus-gite-search-results .mphb-recommendation-reserve-button,
.bacchus-gite-search-results .mphb-confirm-reservation {
    min-width: 180px;
}

/* bouton secondaire éventuel */
.bacchus-gite-search-results .mphb-view-details-button {
    background: transparent;
    color: #221b16;
    border-color: rgba(34, 27, 22, 0.14);
}

.bacchus-gite-search-results .mphb-view-details-button:hover {
    background: #f3eee7;
    color: #221b16;
    border-color: rgba(34, 27, 22, 0.18);
}

/* liens accommodation non cliquables partout */
.bacchus-gite-search-results a[href*="/accommodation/"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

/* clear */
.bacchus-gite-search-results .mphb-clear {
    display: none;
}

/* responsive */
@media (min-width: 960px) {
    .bacchus-gite-search-results .mphb-room-type {
        padding: 1.6rem;
    }
}

@media (max-width: 959px) {
    .bacchus-gite-search-results {
        padding: 1rem;
    }

    .bacchus-gite-search-results .mphb-gallery-main-slider,
    .bacchus-gite-search-results .mphb-gallery-thumbnail-slider {
        max-width: 100%;
    }

    .bacchus-gite-search-results .mphb-gallery-main-slider {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 782px) {
    .bacchus-gite-search-results .mphb-recommendation-item {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .bacchus-gite-search-results .mphb-recommendation,
    .bacchus-gite-search-results .mphb-reservation-cart,
    .bacchus-gite-search-results .mphb-room-type {
        padding: 1rem;
    }

    .bacchus-gite-search-results .mphb-reservation-details {
        flex-direction: column;
        align-items: flex-start;
    }

    .bacchus-gite-search-results .button,
    .bacchus-gite-search-results .mphb-button {
        width: 100%;
        min-width: 0;
    }

    .bacchus-gite-search-results .mphb-reserve-room-section {
        flex-direction: column;
        align-items: stretch;
    }

    .bacchus-gite-search-results .mphb-gallery-main-slider {
        aspect-ratio: 4 / 3;
    }

    .bacchus-gite-search-results .mphb-gallery-main-slider .flex-direction-nav a {
        width: 38px;
        height: 38px;
    }

    .bacchus-gite-search-results .mphb-gallery-thumbnail-slider .slides {
        gap: 0.4rem;
    }

    .bacchus-gite-search-results .mphb-gallery-thumbnail-slider .slides>li {
        width: 72px !important;
        min-width: 72px !important;
    }

    .bacchus-gite-search-results .mphb-gallery-thumbnail-slider img {
        width: 72px;
        height: 72px;
    }
}

/* galerie thumbnails : pas de fond, pas de bordure sur le wrapper flexslider */
.bacchus-gite-search-results .mphb-gallery-thumbnail-slider.flexslider,
.bacchus-gite-search-results #mphb-flexslider-gallery-2,
.bacchus-gite-search-results #mphb-flexslider-gallery-2.flexslider {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* =========================================================
   BACCHUS — PAGE CONFIRMATION DE RÉSERVATION
   Scope : .bacchus-gite-confirmation
   ========================================================= */

.bacchus-gite-confirmation {
    --bacchus-bg: #f7f3ee;
    --bacchus-surface: #ffffff;
    --bacchus-surface-alt: #fbf8f4;
    --bacchus-border: rgba(34, 27, 22, 0.08);
    --bacchus-border-strong: rgba(34, 27, 22, 0.14);
    --bacchus-text: #221b16;
    --bacchus-text-soft: #6f6257;
    --bacchus-accent: var(--wp--preset--color--champagne-heavy, #c7a17a);
    --bacchus-accent-hover: var(--wp--preset--color--champagne-heavy, #c7a17a);
    --bacchus-danger: #9f3e32;
    --bacchus-shadow-sm: 0 10px 30px rgba(34, 27, 22, 0.05);
    --bacchus-shadow-md: 0 18px 50px rgba(34, 27, 22, 0.08);
    color: var(--bacchus-text);
}

.bacchus-gite-confirmation,
.bacchus-gite-confirmation *,
.bacchus-gite-confirmation *::before,
.bacchus-gite-confirmation *::after {
    box-sizing: border-box;
    border-radius: 0 !important;
}

.bacchus-gite-confirmation.mphbsccheckout-wrapper {
    max-width: 1180px;
    margin: 1em auto !important;
    padding: clamp(28px, 4vw, 56px) 20px;
}

.bacchus-gite-confirmation .mphb-login-form-wrap {
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 1px solid var(--bacchus-border);
    background: var(--bacchus-surface-alt);
    box-shadow: var(--bacchus-shadow-sm);
    color: var(--bacchus-text-soft);
}

.bacchus-gite-confirmation .mphb-login-form-wrap a,
.bacchus-gite-confirmation .mphbsccheckout-form a {
    color: var(--bacchus-text);
    text-decoration: none;
}

.bacchus-gite-confirmation .mphb-login-form-wrap a:hover,
.bacchus-gite-confirmation .mphbsccheckout-form a:hover {
    color: var(--bacchus-accent);
    text-decoration: underline;
}

.bacchus-gite-confirmation .mphbsccheckout-form {
    display: grid;
    gap: 24px;
}

.bacchus-gite-confirmation .mphb-checkout-section,
.bacchus-gite-confirmation .mphbsccheckout-form>.mphb-total-price,
.bacchus-gite-confirmation .mphbsccheckout-form>.mphb-errors-wrapper,
.bacchus-gite-confirmation .mphbsccheckout-form>.mphbsccheckout-submit-wrapper {
    margin: 0;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--bacchus-border);
    background: var(--bacchus-surface);
    box-shadow: var(--bacchus-shadow-sm);
    min-width: 0;
}

.bacchus-gite-confirmation .mphb-booking-details-title,
.bacchus-gite-confirmation .mphb-customer-details-title,
.bacchus-gite-confirmation .mphb-price-breakdown-title {
    margin: 0 0 18px;
    font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.65rem);
    line-height: 1.2;
    font-weight: 600;
    color: var(--bacchus-text);
}

.bacchus-gite-confirmation .mphb-check-in-date,
.bacchus-gite-confirmation .mphb-check-out-date {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--bacchus-border);
    background: var(--bacchus-surface-alt);
    color: var(--bacchus-text-soft);
}

.bacchus-gite-confirmation .mphb-check-in-date+.mphb-check-out-date {
    margin-top: 12px;
}

.bacchus-gite-confirmation .mphb-check-in-date strong,
.bacchus-gite-confirmation .mphb-check-out-date strong,
.bacchus-gite-confirmation .mphb-check-in-date time,
.bacchus-gite-confirmation .mphb-check-out-date time {
    color: var(--bacchus-text);
}

.bacchus-gite-confirmation .mphb-reserve-rooms-details {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.bacchus-gite-confirmation .mphb-room-details {
    padding: 20px;
    border: 1px solid var(--bacchus-border);
    background: var(--bacchus-surface);
    background-image: none !important;
    min-width: 0;
}

.bacchus-gite-confirmation .mphb-room-number {
    margin: 0 0 14px;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--bacchus-text);
}

.bacchus-gite-confirmation .mphb-room-details p {
    margin: 0 0 14px;
    min-width: 0;
}

.bacchus-gite-confirmation .mphb-room-type-title {
    color: var(--bacchus-text-soft);
}

.bacchus-gite-confirmation .mphb-room-type-title a {
    color: var(--bacchus-text);
    text-decoration: none;
    font-weight: 600;
}

.bacchus-gite-confirmation .mphb-room-type-title a:hover {
    color: var(--bacchus-accent);
    text-decoration: underline;
}

.bacchus-gite-confirmation label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--bacchus-text);
}

.bacchus-gite-confirmation abbr[title] {
    text-decoration: none;
    color: var(--bacchus-danger);
}

.bacchus-gite-confirmation .mphbsccheckout-form p {
    margin: 0 0 16px;
}

.bacchus-gite-confirmation .mphbsccheckout-form br {
    display: none;
}

.bacchus-gite-confirmation input[type="text"],
.bacchus-gite-confirmation input[type="email"],
.bacchus-gite-confirmation input[type="tel"],
.bacchus-gite-confirmation input[type="number"],
.bacchus-gite-confirmation select,
.bacchus-gite-confirmation textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid var(--bacchus-border-strong);
    background: #fff;
    background-clip: padding-box;
    color: var(--bacchus-text);
    box-shadow: none;
    appearance: none;
    float: none !important;
    clear: both;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0;
    overflow: hidden;
}

.bacchus-gite-confirmation textarea {
    min-height: 140px;
    padding: 14px 16px;
    resize: vertical;
    overflow: auto;
}

.bacchus-gite-confirmation select {
    background-image:
        linear-gradient(45deg, transparent 50%, var(--bacchus-text-soft) 50%),
        linear-gradient(135deg, var(--bacchus-text-soft) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 42px;
}

.bacchus-gite-confirmation input:focus,
.bacchus-gite-confirmation select:focus,
.bacchus-gite-confirmation textarea:focus {
    outline: none;
    border-color: rgba(199, 161, 122, 0.7);
    box-shadow: 0 0 0 4px rgba(199, 161, 122, 0.14);
}

.bacchus-gite-confirmation .mphb-required-fields-tip {
    margin: 0 0 18px;
    color: var(--bacchus-text-soft);
}

.bacchus-gite-confirmation #mphb-customer-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 18px;
    align-items: start;
    min-width: 0;
}

.bacchus-gite-confirmation #mphb-customer-details>.mphb-customer-details-title,
.bacchus-gite-confirmation #mphb-customer-details>.mphb-required-fields-tip,
.bacchus-gite-confirmation .mphb-customer-note,
.bacchus-gite-confirmation .mphb-customer-country {
    grid-column: 1 / -1;
}

.bacchus-gite-confirmation .mphb-customer-name,
.bacchus-gite-confirmation .mphb-customer-last-name,
.bacchus-gite-confirmation .mphb-customer-email,
.bacchus-gite-confirmation .mphb-customer-phone,
.bacchus-gite-confirmation .mphb-customer-country,
.bacchus-gite-confirmation .mphb-customer-note,
.bacchus-gite-confirmation .mphb-guest-name-wrapper,
.bacchus-gite-confirmation .mphb-adults-chooser,
.bacchus-gite-confirmation .mphb-terms-and-conditions-accept {
    min-width: 0;
}

.bacchus-gite-confirmation .mphb-room-price-breakdown-wrapper {
    overflow: hidden;
}

.bacchus-gite-confirmation .mphb-price-breakdown {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--bacchus-border);
}

.bacchus-gite-confirmation .mphb-price-breakdown tr:not(:last-child) td,
.bacchus-gite-confirmation .mphb-price-breakdown tr:not(:last-child) th {
    border-bottom: 1px solid rgba(34, 27, 22, 0.06);
}

.bacchus-gite-confirmation .mphb-price-breakdown td,
.bacchus-gite-confirmation .mphb-price-breakdown th {
    padding: 14px 16px;
    text-align: left;
    vertical-align: middle;
}

.bacchus-gite-confirmation .mphb-price-breakdown thead th,
.bacchus-gite-confirmation .mphb-price-breakdown tfoot th {
    background: var(--bacchus-surface-alt);
}

.bacchus-gite-confirmation .mphb-table-price-column {
    text-align: right !important;
    white-space: nowrap;
}

.bacchus-gite-confirmation .mphb-total-price {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    padding: 24px 28px;
    font-size: 1rem;
}

.bacchus-gite-confirmation .mphb-total-price output {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    width: auto;
    max-width: 100%;
    margin: 0;
}

.bacchus-gite-confirmation .mphb-total-price strong,
.bacchus-gite-confirmation .mphb-total-price-field {
    font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.6rem);
    color: var(--bacchus-text);
    margin-left: 0;
}

.bacchus-gite-confirmation .mphb-errors-wrapper {
    border-color: rgba(159, 62, 50, 0.18) !important;
    background: #fff7f5 !important;
    color: #8c3026;
    font-weight: 500;
}

.bacchus-gite-confirmation .mphb-checkout-terms-wrapper {
    background: var(--bacchus-surface) !important;
    background-image: none !important;
}

.bacchus-gite-confirmation .mphb-terms-and-conditions {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
    background-image: none !important;
    max-height: none;
    overflow: visible;
}

.bacchus-gite-confirmation .mphb-terms-and-conditions> :not(.mphb-terms-and-conditions-accept) {
    display: none !important;
}

.bacchus-gite-confirmation .mphb-terms-and-conditions-accept {
    display: block !important;
    margin: 0;
}

.bacchus-gite-confirmation .mphb-terms-and-conditions-accept label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    font-weight: 500;
    color: var(--bacchus-text-soft);
}

.bacchus-gite-confirmation .mphb-terms-and-conditions-accept input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #000;
}

.bacchus-gite-confirmation .mphb-terms-and-conditions-link {
    color: var(--bacchus-text);
    text-decoration: underline;
    text-underline-offset: 0.18em;
    font-weight: 600;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper {
    padding: 28px;
    margin-top: 6px;
    text-align: left;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"],
.bacchus-gite-confirmation input[type="submit"].button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 28px;
    margin: 0;
    margin-left: 1rem;
    border: 1px solid #000;
    background: #000;
    color: #fff;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button:hover,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"]:hover,
.bacchus-gite-confirmation input[type="submit"].button:hover,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button:focus,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"]:focus,
.bacchus-gite-confirmation input[type="submit"].button:focus {
    background: var(--wp--preset--color--custom-champagne-heavy);
    border-color: var(--wp--preset--color--custom-champagne-heavy);
    color: #fff;
    outline: none;
    box-shadow: none;
}

.bacchus-gite-confirmation .mphb-preloader {
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}


@media (max-width: 959px) {
    .bacchus-gite-confirmation #mphb-customer-details {
        grid-template-columns: 1fr;
    }

    .bacchus-gite-confirmation .mphb-total-price {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;
        padding: 20px;
    }

    .bacchus-gite-confirmation .mphb-total-price output {
        width: auto;
        flex-direction: row;
        align-items: baseline;
        gap: 8px;
    }

    .bacchus-gite-confirmation .mphbsccheckout-submit-wrapper {
        text-align: left;
        padding: 20px;
    }
}

@media (max-width: 782px) {
    .bacchus-gite-confirmation.mphbsccheckout-wrapper {
        padding-top: 24px;
        padding-bottom: 32px;
    }

    .bacchus-gite-confirmation .mphb-checkout-section,
    .bacchus-gite-confirmation .mphbsccheckout-form>.mphb-total-price,
    .bacchus-gite-confirmation .mphbsccheckout-form>.mphb-errors-wrapper,
    .bacchus-gite-confirmation .mphbsccheckout-form>.mphbsccheckout-submit-wrapper {
        padding: 18px;
    }

    .bacchus-gite-confirmation .mphb-room-details {
        padding: 16px;
    }

    .bacchus-gite-confirmation .mphb-price-breakdown td,
    .bacchus-gite-confirmation .mphb-price-breakdown th {
        padding: 12px 13px;
        font-size: 0.95rem;
    }

    .bacchus-gite-confirmation .mphb-total-price {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .bacchus-gite-confirmation .mphb-total-price output {
        flex-direction: row;
        align-items: baseline;
        gap: 8px;
    }

    .bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button,
    .bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"],
    .bacchus-gite-confirmation input[type="submit"].button {
        width: 100%;
    }
}

/* =========================================================
   BACCHUS — états dynamiques checkout / succès / loading
   À AJOUTER À LA FIN
   Version corrigée : icône succès bien alignée
   ========================================================= */

/* -----------------------------------------
   1) Wrapper général
----------------------------------------- */
.bacchus-gite-confirmation.mphb_sc_checkout-wrapper,
.bacchus-gite-confirmation.mphbsccheckout-wrapper {
    max-width: 1180px;
    margin: 1em auto;
}

/* -----------------------------------------
   2) État succès après soumission
   HTML réel :
   .bacchus-gite-confirmation
   > h4.mphb-reservation-submitted-title
   > p.mphb_sc_checkout-success-reservation-message
----------------------------------------- */
.bacchus-gite-confirmation:has(.mphb-reservation-submitted-title) {
    position: relative;
    max-width: 1180px;
    margin: 1em auto;
    padding: clamp(28px, 4vw, 56px) clamp(22px, 5vw, 50px);
    border: 1px solid var(--bacchus-border);
    background: var(--bacchus-surface);
    box-shadow: var(--bacchus-shadow-sm);
}

/* carré */
.bacchus-gite-confirmation:has(.mphb-reservation-submitted-title)::before {
    content: "";
    display: block;
    width: 72px;
    height: 72px;
    margin: 0 0 24px;
    border: 1px solid var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
    background: var(--bacchus-surface);
    box-shadow: var(--bacchus-shadow-sm);
}

/* coche dans le carré */
.bacchus-gite-confirmation:has(.mphb-reservation-submitted-title)::after {
    content: "";
    position: absolute;
    top: calc(clamp(28px, 4vw, 56px) + 26px);
    left: calc(clamp(22px, 5vw, 50px) + 25px);
    width: 22px;
    height: 12px;
    border-left: 2px solid var(--bacchus-text);
    border-bottom: 2px solid var(--bacchus-text);
    transform: rotate(-45deg);
    pointer-events: none;
}

.bacchus-gite-confirmation .mphb-reservation-submitted-title,
.bacchus-gite-confirmation h4.mphb-reservation-submitted-title {
    display: block;
    margin: 0 0 16px;
    padding: 0;
    color: var(--bacchus-text);
    font-size: clamp(1.45rem, 1.15rem + 0.8vw, 2rem);
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.bacchus-gite-confirmation .mphb_sc_checkout-success-reservation-message,
.bacchus-gite-confirmation .mphb-sc-checkout-success-reservation-message,
.bacchus-gite-confirmation p.mphb_sc_checkout-success-reservation-message {
    margin: 0;
    padding: 0;
    color: var(--bacchus-text-soft);
    font-size: 1rem;
    line-height: 1.7;
    max-width: 70ch;
}

/* -----------------------------------------
   3) État loading sur le submit
----------------------------------------- */
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper {
    position: relative;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.is-loading,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.loading,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.submitting {
    opacity: 1;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.is-loading .button,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.is-loading input[type="submit"],
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.loading .button,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.loading input[type="submit"],
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.submitting .button,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper.submitting input[type="submit"],
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"][disabled],
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button[disabled] {
    opacity: 0.72;
    cursor: wait;
}

/* -----------------------------------------
   4) Spinner / preloader
   Le HTML contient bien .mphb-preloader
----------------------------------------- */
.bacchus-gite-confirmation .mphb-preloader {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 10px;
    vertical-align: middle;
    color: var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
}

.bacchus-gite-confirmation .mphb-preloader::before {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid rgba(34, 27, 22, 0.14);
    border-top-color: var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
    border-right-color: var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
    border-radius: 50% !important;
    animation: bacchus-spin 0.7s linear infinite;
}

.bacchus-gite-confirmation .mphb-preloader.mphb-hide {
    display: none !important;
}

@keyframes bacchus-spin {
    to {
        transform: rotate(360deg);
    }
}

/* -----------------------------------------
   5) Feedback visuel pendant l’envoi
----------------------------------------- */
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(input[type="submit"][disabled]),
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(.button[disabled]) {
    border-color: rgba(199, 161, 122, 0.28);
    background: var(--bacchus-surface-alt);
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(input[type="submit"][disabled])::after,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(.button[disabled])::after {
    content: "Envoi de votre demande en cours…";
    display: block;
    margin-top: 14px;
    color: var(--bacchus-text-soft);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* -----------------------------------------
   6) Harmonisation bouton pendant loading
----------------------------------------- */
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"],
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button {
    background: var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
    border-color: var(--wp--preset--color--custom-champagne-heavy, #c7a17a);
    color: #fff;
}

.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"]:hover,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button:hover,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper input[type="submit"]:focus,
.bacchus-gite-confirmation .mphbsccheckout-submit-wrapper .button:focus {
    background: #000;
    border-color: #000;
    color: #fff;
}

/* -----------------------------------------
   7) Mobile
----------------------------------------- */
@media (max-width: 782px) {
    .bacchus-gite-confirmation:has(.mphb-reservation-submitted-title) {
        padding: 24px 18px;
    }

    .bacchus-gite-confirmation:has(.mphb-reservation-submitted-title)::before {
        width: 60px;
        height: 60px;
        margin-bottom: 18px;
    }

    .bacchus-gite-confirmation:has(.mphb-reservation-submitted-title)::after {
        top: 40px;
        left: 38px;
        width: 20px;
        height: 12px;
    }

    .bacchus-gite-confirmation .mphb-reservation-submitted-title,
    .bacchus-gite-confirmation h4.mphb-reservation-submitted-title {
        margin-bottom: 12px;
        font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.7rem);
    }

    .bacchus-gite-confirmation .mphb_sc_checkout-success-reservation-message,
    .bacchus-gite-confirmation .mphb-sc-checkout-success-reservation-message,
    .bacchus-gite-confirmation p.mphb_sc_checkout-success-reservation-message {
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(input[type="submit"][disabled])::after,
    .bacchus-gite-confirmation .mphbsccheckout-submit-wrapper:has(.button[disabled])::after {
        font-size: 0.9rem;
    }
}

.bacchus-gite-annulation,
.bacchus-gite-reservation-confirmee {
    display: grid;
    gap: 1.5rem;
    padding: 1.5rem;
    box-sizing: border-box;
}

.bacchus-gite-annulation .mphb-booking-details-section,
.bacchus-gite-reservation-confirmee .mphb-booking-details-section {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.bacchus-gite-annulation .booking>.mphb-booking-details-title,
.bacchus-gite-reservation-confirmee .booking>.mphb-booking-details-title {
    margin: 0 0 1.25rem;
    padding: 0;
    font-family: var(--wp--preset--font-family--instrument-sans);
    font-size: 1.25rem;
    line-height: 1.2;
    color: var(--wp--preset--color--contrast, #2a241f);
}

.bacchus-gite-annulation .mphb-booking-details,
.bacchus-gite-reservation-confirmee .mphb-booking-details {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bacchus-gite-annulation .mphb-booking-details>li,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 1 1 220px;
    min-width: 180px;
    margin: 0;
    padding: 1.25rem 1.35rem !important;
    box-sizing: border-box;
    background: #f8f6f2 !important;
    border: 1px solid rgba(42, 36, 31, 0.12) !important;
    border-radius: 0 !important;
}

.bacchus-gite-annulation .mphb-booking-details>li>.label,
.bacchus-gite-annulation .mphb-booking-details>li>.value,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li>.label,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li>.value {
    display: block;
    width: 100%;
    margin: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.bacchus-gite-annulation .mphb-booking-details>li>.label,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li>.label {
    margin-bottom: 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(42, 36, 31, 0.58);
}

.bacchus-gite-annulation .mphb-booking-details>li>.value,
.bacchus-gite-annulation .mphb-booking-details>li>.value .mphb-price,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li>.value,
.bacchus-gite-reservation-confirmee .mphb-booking-details>li>.value .mphb-price {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--wp--preset--color--contrast, #2a241f);
}

.bacchus-gite-annulation .booking-status>.value,
.bacchus-gite-reservation-confirmee .booking-status>.value {
    color: #3f6a4b !important;
}

.bacchus-gite-annulation .accommodations,
.bacchus-gite-reservation-confirmee .accommodations {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    flex: 1 1 100%;
    margin: 0;
    padding: 1.25rem 1.35rem;
    box-sizing: border-box;
    background: #f8f6f2;
    border: 1px solid rgba(42, 36, 31, 0.12);
    border-radius: 0;
}

.bacchus-gite-annulation .accommodations-title,
.bacchus-gite-annulation .accommodations-list,
.bacchus-gite-annulation .accommodations-list a,
.bacchus-gite-reservation-confirmee .accommodations-title,
.bacchus-gite-reservation-confirmee .accommodations-list,
.bacchus-gite-reservation-confirmee .accommodations-list a {
    display: block;
    margin: 0;
    padding: 0;
}

.bacchus-gite-annulation .accommodations-title,
.bacchus-gite-reservation-confirmee .accommodations-title {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(42, 36, 31, 0.58);
}

.bacchus-gite-annulation .accommodations-list,
.bacchus-gite-annulation .accommodations-list a,
.bacchus-gite-reservation-confirmee .accommodations-list,
.bacchus-gite-reservation-confirmee .accommodations-list a {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--wp--preset--color--contrast, #2a241f);
    text-decoration: none;
}

.bacchus-gite-annulation .accommodations-list a:hover,
.bacchus-gite-annulation .accommodations-list a:focus,
.bacchus-gite-reservation-confirmee .accommodations-list a:hover,
.bacchus-gite-reservation-confirmee .accommodations-list a:focus {
    text-decoration: underline;
}

/* bouton seulement pour l'annulation */
.bacchus-gite-annulation .cancel-booking {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}

.bacchus-gite-annulation .cancel-booking .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 1rem 1.4rem;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 0 !important;
    box-shadow: none;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bacchus-gite-annulation .cancel-booking .button:hover,
.bacchus-gite-annulation .cancel-booking .button:focus {
    background: #5b0d16;
    border-color: #5b0d16;
    color: #fff;
}

@media (max-width: 640px) {

    .bacchus-gite-annulation,
    .bacchus-gite-reservation-confirmee {
        padding: 1rem;
    }

    .bacchus-gite-annulation .mphb-booking-details>li,
    .bacchus-gite-annulation .accommodations,
    .bacchus-gite-reservation-confirmee .mphb-booking-details>li,
    .bacchus-gite-reservation-confirmee .accommodations {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .bacchus-gite-annulation .cancel-booking .button {
        width: 100%;
    }
}

/* Colonne texte du produit principal uniquement */
.single-product main>.wp-block-columns>.wp-block-column:last-child {
    position: relative;
}

/* Titre principal uniquement : c'est un h1 sur la fiche produit */
.single-product main>.wp-block-columns>.wp-block-column:last-child>h1.wp-block-post-title {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 8.5rem;
}

/* Bloc médailles du produit principal uniquement */
.single-product main>.wp-block-columns>.wp-block-column:last-child>.bacchus-product-medals {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0.75rem;
    max-width: 8rem;
    z-index: 2;
}

.single-product .bacchus-product-medal {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-product .bacchus-product-medal-image {
    display: block;
    height: 125px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

@media (max-width: 1199px) {
    .single-product main>.wp-block-columns>.wp-block-column:last-child>h1.wp-block-post-title {
        padding-right: 7rem;
    }

    .single-product main>.wp-block-columns>.wp-block-column:last-child>.bacchus-product-medals {
        max-width: 7rem;
    }

    .single-product .bacchus-product-medal-image {
        height: 76px;
    }
}

@media (max-width: 767px) {
    .single-product main>.wp-block-columns>.wp-block-column:last-child>h1.wp-block-post-title {
        padding-right: 0;
    }

    .single-product main>.wp-block-columns>.wp-block-column:last-child>.bacchus-product-medals {
        position: static;
        margin-top: 0.75rem;
        justify-content: flex-start;
        max-width: none;
    }

    .single-product .bacchus-product-medal-image {
        height: 68px;
    }
}

/* =========================================================
   WooCommerce carousel Bacchus : 4 visibles, centrés
   Classe du bloc : bacchus-shop-carousel-accessoires
   ========================================================= */

.bacchus-shop-carousel-accessoires {
    position: relative;
    margin: 0;
    padding-left: 72px;
    padding-right: 72px;
}

/* La liste du carousel */
.bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    margin: 0 !important;
    padding: 32px 0 0 !important;
    list-style: none;
    overflow: hidden;
    scroll-padding-left: 0;
    position: relative;
}

/* 4 items exactement visibles dans la zone utile */
.bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
    flex: 0 0 calc((100% - (3 * 24px)) / 4) !important;
    max-width: calc((100% - (3 * 24px)) / 4) !important;
    min-width: calc((100% - (3 * 24px)) / 4) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box;
}

/* Important : annule les décalages éventuels du premier item */
.bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product:first-child {
    margin-left: 0 !important;
}

/* Carte produit */
.bacchus-shop-carousel-accessoires .wc-block-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Wrapper image : pas d'ombre, pas de fond parasite */
.bacchus-shop-carousel-accessoires .wc-block-components-product-image,
.bacchus-shop-carousel-accessoires .wc-block-grid__product-image,
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le lien image devient le support de l'animation */
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image a {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible !important;
    transform-origin: center center;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Image produit : état normal */
.bacchus-shop-carousel-accessoires .wc-block-components-product-image>img,
.bacchus-shop-carousel-accessoires .wc-block-grid__product-image>img,
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image>a>img,
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain !important;
    background: transparent;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
    transition: filter 0.3s ease;
}

/* Hover image : on scale légèrement le wrapper, pas le img */
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image:hover a,
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image a:hover {
    transform: scale(1.025);
}

.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image:hover img,
.bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image a:hover img {
    filter: drop-shadow(18px 8px 24px rgba(0, 0, 0, 0.30));
}

/* Titre produit : même esprit que les cuvées */
.bacchus-shop-carousel-accessoires .wp-block-post-title {
    margin-top: 1rem !important;
    margin-bottom: 0.35rem !important;
    line-height: 1.3 !important;
    text-align: center;
}

.bacchus-shop-carousel-accessoires .wp-block-post-title a {
    color: #000;
    text-decoration: none;
    transition: opacity 0.25s ease;
}

.bacchus-shop-carousel-accessoires .wp-block-post-title a:hover {
    opacity: 0.72;
}

/* =========================
   NAVIGATION : même logique que les cuvées
   ========================= */

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons {
    position: absolute !important;
    top: 257px;
    left: 0;
    right: 0;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 100 !important;
    pointer-events: none;
    display: block !important;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button {
    position: absolute !important;
    top: 0;
    transform: translateY(-50%);
    pointer-events: auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #000;
    border-radius: 999px;
    background: #fff;
    color: #000;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
    appearance: none;
    -webkit-appearance: none;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 101 !important;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button:first-child {
    left: 8px;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button:last-child {
    right: 8px;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button svg {
    display: block !important;
    width: 10px;
    height: 14px;
    overflow: visible;
    fill: currentColor;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button:not([aria-disabled="true"]):hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

.bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button[aria-disabled="true"] {
    opacity: 0.4 !important;
    cursor: default;
    background: #fff;
    color: #000;
    border-color: rgba(0, 0, 0, 0.4);
}

/* Responsive tablette */
@media (max-width: 1024px) {
    .bacchus-shop-carousel-accessoires {
        padding-left: 56px;
        padding-right: 56px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
        min-width: calc((100% - 24px) / 2) !important;
        padding: 0 8px !important;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons {
        top: 257px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button {
        width: 44px;
        height: 44px;
    }
}

/* Responsive mobile */
@media (max-width: 640px) {
    .bacchus-shop-carousel-accessoires {
        padding-left: 48px;
        padding-right: 48px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap {
        gap: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 0 !important;
        scroll-padding-right: 0 !important;
        -webkit-overflow-scrolling: touch;
    }

    .bacchus-shop-carousel-accessoires .wc-block-product-template.is-horizontal.is-nowrap>li.wc-block-product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons {
        top: 257px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button {
        width: 40px;
        height: 40px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button:first-child {
        left: 4px;
    }

    .bacchus-shop-carousel-accessoires .wc-block-next-previous-buttons button:last-child {
        right: 4px;
    }

    .bacchus-shop-carousel-accessoires .wp-block-product-title,
    .bacchus-shop-carousel-accessoires .wc-block-product {
        align-items: center;
        justify-content: flex-start;
    }

    .bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image:hover a,
    .bacchus-shop-carousel-accessoires .wp-block-woocommerce-product-image a:hover {
        transform: scale(1.015);
    }
}


/* ========================================
   BACCHUS — PRODUIT SIMPLE
   ======================================== */

.single-product form.cart:not(.variations_form) {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
}

.single-product form.cart:not(.variations_form) .quantity {
    flex: 0 0 auto;
    margin: 0 !important;
}

.single-product form.cart:not(.variations_form) .single_add_to_cart_button {
    flex: 0 0 auto;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 900px) {
    .single-product form.cart:not(.variations_form) {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .single-product form.cart:not(.variations_form) .quantity,
    .single-product form.cart:not(.variations_form) .single_add_to_cart_button {
        width: 100% !important;
    }
}

.single-product .wp-block-woocommerce-product-description a {
    font-weight: 600;
    transition: color 0.3s ease;
}

.single-product .wp-block-woocommerce-product-description a:hover {
    color: var(--wp--preset--color--custom-champagne-heavy)
}

/* =========================================================
   MINI-CART — produits du panier uniquement
   Cible : lignes produits déjà présentes dans le mini-cart
   Ne touche pas aux cross-sells ni au footer global
========================================================= */

/* Ligne produit */
.wc-block-mini-cart__products-table .wc-block-cart-items__row {
    vertical-align: top;
}

/* Cellule image */
.wc-block-mini-cart__products-table .wc-block-cart-item__image {
    width: 96px;
    min-width: 96px;
    padding-right: 0.9rem;
    vertical-align: top;
}

/* WooCommerce rend 2 images dans le DOM : on masque la fallback directe */
.wc-block-mini-cart__products-table .wc-block-cart-item__image>img {
    display: none !important;
}

/* Lien qui contient la vraie image visible */
.wc-block-mini-cart__products-table .wc-block-cart-item__image>a {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 96px;
    height: 132px;
    margin: 0 auto;
    text-decoration: none;
    overflow: visible;
}

/* Image produit visible */
.wc-block-mini-cart__products-table .wc-block-cart-item__image>a>img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 132px;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 auto;
    filter: drop-shadow(10px 10px 18px rgba(0, 0, 0, 0.16));
}

/* Colonne contenu produit */
.wc-block-mini-cart__products-table .wc-block-cart-item__product {
    padding-left: 0.15rem;
}

/* Wrap interne du contenu */
.wc-block-mini-cart__products-table .wc-block-cart-item__wrap {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}

/* Titre produit */
.wc-block-mini-cart__products-table .wc-block-components-product-name {
    display: inline-block;
    color: var(--wp--preset--color--custom-classic-grey, #3f3a37);
    text-decoration: none;
    line-height: 1.35;
    font-weight: 500;
}

/* Prix unitaire */
.wc-block-mini-cart__products-table .wc-block-cart-item__prices {
    margin-top: -0.1rem;
}

.wc-block-mini-cart__products-table .wc-block-cart-item__prices .price {
    line-height: 1.2;
}

/* Métadonnées / variations */
.wc-block-mini-cart__products-table .wc-block-components-product-metadata {
    margin-top: -0.15rem;
}

.wc-block-mini-cart__products-table .wc-block-components-product-details {
    line-height: 1.3;
    opacity: 0.82;
}

/* Zone quantité + suppression */
.wc-block-mini-cart__products-table .wc-block-cart-item__quantity {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 0.15rem;
}

/* Selecteur de quantité : on reste soft et local */
.wc-block-mini-cart__products-table .wc-block-components-quantity-selector {
    min-height: 40px;
}

/* Bouton suppression */
.wc-block-mini-cart__products-table .wc-block-cart-item__remove-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem;
    opacity: 0.72;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.wc-block-mini-cart__products-table .wc-block-cart-item__remove-link:hover {
    opacity: 1;
    transform: translateY(-1px);
}

/* Colonne total */
.wc-block-mini-cart__products-table .wc-block-cart-item__total {
    white-space: nowrap;
    vertical-align: top;
    padding-left: 0.5rem;
}

.wc-block-mini-cart__products-table .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

/* Ajustement mobile du bloc produit uniquement */
@media (max-width: 782px) {
    .wc-block-mini-cart__products-table .wc-block-cart-item__image {
        width: 82px;
        min-width: 82px;
        padding-right: 0.7rem;
    }

    .wc-block-mini-cart__products-table .wc-block-cart-item__image>a {
        width: 82px;
        height: 116px;
    }

    .wc-block-mini-cart__products-table .wc-block-cart-item__image>a>img {
        max-height: 116px;
        filter: drop-shadow(8px 8px 16px rgba(0, 0, 0, 0.14));
    }
}

/* =========================================================
   CHECKOUT — corrections ciblées
   - Résumé de commande / produits uniquement
   - Résumé mobile dans les actions
   - Options de livraison
   - Checkboxes
========================================================= */

/* =========================================================
   1) Résumé de commande — produits uniquement
========================================================= */

/* Résumé sidebar classique + résumé mobile injecté dans les actions */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

/* Boîte image fixe pour uniformiser visuellement les bouteilles */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__image {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 92px;
    min-width: 92px;
    height: 128px;
    margin-right: 0.9rem;
    overflow: visible;
}

/* Image produit */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image>img,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__image>img {
    display: block;
    width: auto;
    height: 128px;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 auto;
    background: transparent !important;
    filter: drop-shadow(15px 4px 20px rgba(0, 0, 0, 0.25));
}

/* Badge quantité */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__quantity {
    position: absolute;
    top: -4px;
    right: -4px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    min-width: 26px;
    min-height: 26px;
    border-radius: 999px;
    line-height: 1;
    text-align: center;
}

/* Chiffre centré dans le cercle */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity>span[aria-hidden="true"],
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__quantity>span[aria-hidden="true"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1;
    transform: translateY(-0.5px);
}

/* Bloc texte produit */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__description {
    flex: 1 1 auto;
    min-width: 0;
}

/* Titre produit */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

/* Prix ligne collé à droite */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__total-price {
    margin-left: auto;
    padding-left: 0.75rem;
    text-align: right;
    white-space: nowrap;
    align-self: flex-start;
}

/* =========================================================
   2) Options de livraison — icône + texte alignés
========================================================= */

.wc-block-checkout__shipping-method-option {
    display: flex;
    align-items: center;
}

.wc-block-checkout__shipping-method-option-title-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 32px;
}

.wc-block-checkout__shipping-method-option-icon {
    flex: 0 0 auto;
    display: block;
    width: 24px;
    height: 24px;
}

.wc-block-checkout__shipping-method-option-title {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    line-height: 1.2;
}

.wc-block-components-checkbox svg {
    padding: 0;
}

/* =========================================================
   4) Mobile
========================================================= */

@media (max-width: 782px) {

    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image,
    .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__image {
        width: 82px;
        min-width: 82px;
        height: 116px;
        margin-right: 0.75rem;
    }

    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image>img,
    .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__image>img {
        height: 116px;
    }

    .wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity,
    .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item__quantity {
        width: 24px;
        height: 24px;
        min-width: 24px;
        min-height: 24px;
    }

    .wc-block-checkout__shipping-method-option-title-wrapper {
        gap: 0.55rem;
    }

    .wc-block-checkout__shipping-method-option-icon {
        width: 22px;
        height: 22px;
    }
}



@media (max-width: 600px) {

    /* Overlay mobile uniquement */
    header.wp-block-template-part .wp-block-navigation__responsive-container {
        position: fixed !important;
        inset: 0 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        background: #fff !important;
        z-index: 99999 !important;
        transform: none !important;
        overflow: hidden !important;
    }

    /* Structure interne mobile uniquement */
    header.wp-block-template-part .wp-block-navigation__responsive-dialog,
    header.wp-block-template-part .wp-block-navigation__responsive-container-content {
        min-height: 100dvh !important;
        height: 100% !important;
    }

    /* Évite le clip uniquement sur mobile */
    header.wp-block-template-part,
    header.wp-block-template-part>header.bacchus-site-header,
    header.wp-block-template-part>header.bacchus-site-header>.wp-block-group {
        overflow: visible !important;
    }

    /* Neutralise le transform du header uniquement quand le menu mobile est ouvert */
    header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open),
    header.wp-block-template-part:has(.wp-block-navigation__responsive-container.has-modal-open),
    header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open)>header.bacchus-site-header {
        transform: none !important;
    }
}

/* =========================================================
   BLOCS ACTUS / EVENEMENTS
   Même rendu responsive pour la grille d’articles
   ========================================================= */

/* Bloc salons */
.bacchus-shop-salons {
    padding-inline: clamp(1rem, 3vw, 2rem);
}

.bacchus-shop-salons {
    padding-top: clamp(1.25rem, 3vw, 2.5rem) !important;
    padding-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
    padding-left: clamp(0.75rem, 2vw, 1.5rem) !important;
    padding-right: clamp(0.75rem, 2vw, 1.5rem) !important;
}

/* Blocs événements */
.bacchus-landing-evenements,
.bacchus-activites-evenements {
    padding-top: clamp(1.25rem, 3vw, 2.5rem) !important;
    padding-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
    padding-left: clamp(0.75rem, 2vw, 1.5rem) !important;
    padding-right: clamp(0.75rem, 2vw, 1.5rem) !important;
}

/* Liste d’articles : même logique sur les trois blocs */
.bacchus-shop-salons .wp-block-latest-posts,
.bacchus-landing-evenements .wp-block-latest-posts,
.bacchus-activites-evenements .wp-block-latest-posts {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 1.5rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Grille */
.bacchus-shop-salons .wp-block-latest-posts.is-grid,
.bacchus-landing-evenements .wp-block-latest-posts.is-grid,
.bacchus-activites-evenements .wp-block-latest-posts.is-grid {
    gap: clamp(1rem, 2vw, 1.5rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Évite les débordements */
.bacchus-shop-salons .wp-block-latest-posts li,
.bacchus-landing-evenements .wp-block-latest-posts li,
.bacchus-activites-evenements .wp-block-latest-posts li {
    min-width: 0;
}

/* Images */
.bacchus-shop-salons .wp-block-latest-posts__featured-image img,
.bacchus-landing-evenements .wp-block-latest-posts__featured-image img,
.bacchus-activites-evenements .wp-block-latest-posts__featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Tablette */
@media (max-width: 900px) {

    .bacchus-shop-salons,
    .bacchus-landing-evenements,
    .bacchus-activites-evenements {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .bacchus-shop-salons .wp-block-latest-posts.is-grid,
    .bacchus-landing-evenements .wp-block-latest-posts.is-grid,
    .bacchus-activites-evenements .wp-block-latest-posts.is-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 640px) {

    .bacchus-shop-salons,
    .bacchus-landing-evenements,
    .bacchus-activites-evenements {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .bacchus-shop-salons .wp-block-latest-posts.is-grid,
    .bacchus-landing-evenements .wp-block-latest-posts.is-grid,
    .bacchus-activites-evenements .wp-block-latest-posts.is-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}


/* Tablette */
@media (max-width: 900px) {
    .bacchus-shop-salons {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .bacchus-landing-evenements {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .bacchus-shop-salons .wp-block-latest-posts.is-grid,
    .bacchus-landing-evenements .wp-block-latest-posts.is-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 640px) {

    .bacchus-shop-salons,
    .bacchus-landing-evenements {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .bacchus-shop-salons .wp-block-latest-posts.is-grid,
    .bacchus-landing-evenements .wp-block-latest-posts.is-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 640px) {
    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }

    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group>.wp-block-columns {
        display: block !important;
        margin: 0 !important;
    }

    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group>.wp-block-columns>.wp-block-column {
        min-width: 0 !important;
    }
}

/* Tablette / petit laptop */
@media (max-width: 1024px) {
    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1rem;
    }

    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group>.wp-block-columns {
        margin: 0 !important;
        display: block !important;
    }
}

/* Tablette portrait */
@media (max-width: 782px) {
    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}

/* Smartphone */
@media (max-width: 640px) {
    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group {
        grid-template-columns: 1fr !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .bacchus-shop-partenaires>.wp-block-column>.wp-block-group>.wp-block-columns>.wp-block-column {
        min-width: 0 !important;
    }
}









/* =========================================================
   BACCHUS — RESPONSIVE FINAL OVERRIDE
   À ajouter après le CSS existant
   Ne modifie pas les règles précédentes
   ========================================================= */


/* ---------------------------------------------------------
   Variables responsive
   --------------------------------------------------------- */

.single-product {
    --bacchus-page-gutter: clamp(16px, 3vw, 48px);
    --bacchus-control-height: 46px;
    --bacchus-control-radius: 10px;
    --bacchus-control-gap: 8px;
}


/* ---------------------------------------------------------
   Sécurisation globale du modèle produit
   --------------------------------------------------------- */

.single-product .wp-block-group.woocommerce.product,
.single-product .wp-block-group.woocommerce.product>*,
.single-product .wp-block-columns,
.single-product .wp-block-column {
    min-width: 0;
}

.single-product .wp-block-group.woocommerce.product {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.single-product .wp-block-columns {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.single-product .wp-block-column {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   Galerie : correction de base
   --------------------------------------------------------- */

.single-product .wc-block-product-gallery-large-image {
    height: clamp(520px, calc(100svh - 95px), 860px);
    min-height: 0;
}

.single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
    height: min(78%, calc(100svh - 300px)) !important;
    max-height: 78% !important;
    width: auto !important;
    max-width: 86% !important;
}

.single-product .wc-block-product-gallery-large-image__wrapper:not(:first-child) img {
    width: 100% !important;
    height: 100% !important;
}


/* ---------------------------------------------------------
   Formulaire : comportement fluide
   --------------------------------------------------------- */

.single-product form.cart,
.single-product form.variations_form.cart {
    max-width: 100%;
    box-sizing: border-box;
}

.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button,
.single-product form.variations_form.cart table.variations select {
    box-sizing: border-box;
}

.single-product form.cart .qty-btn {
    flex: 0 0 42px;
    width: 42px;
}

.single-product form.cart .quantity .qty {
    width: clamp(54px, 6vw, 72px);
}

.single-product form.cart .single_add_to_cart_button {
    min-width: clamp(160px, 16vw, 190px);
}


/* ---------------------------------------------------------
   Breakpoint 1 — grands écrans
   1201 px et plus
   --------------------------------------------------------- */

@media (min-width: 1201px) {
    .single-product .wc-block-product-gallery-large-image {
        height: min(860px, calc(100svh - 95px));
    }

    .single-product .wp-block-columns {
        column-gap: clamp(32px, 4vw, 96px);
    }

    .single-product form.variations_form.cart table.variations select {
        width: clamp(180px, 16vw, 220px) !important;
        min-width: 0;
        max-width: 220px;
    }
}


/* ---------------------------------------------------------
   Breakpoint 2 — ordinateur portable
   901 à 1200 px
   --------------------------------------------------------- */

@media (min-width: 901px) and (max-width: 1200px) {
    .single-product main#wp--skip-link--target {
        padding-right: var(--bacchus-page-gutter) !important;
        padding-left: var(--bacchus-page-gutter) !important;
    }

    .single-product .wp-block-columns {
        column-gap: clamp(24px, 3vw, 48px);
    }

    .single-product .wp-block-column {
        flex-basis: 0 !important;
    }

    .single-product .wp-block-column:first-child {
        flex: 1.05 1 0 !important;
    }

    .single-product .wp-block-column:nth-child(2) {
        flex: 0.95 1 0 !important;
        padding-left: 0 !important;
    }

    .single-product .wc-block-product-gallery-large-image {
        height: clamp(560px, calc(100svh - 110px), 720px);
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        height: min(76%, 560px) !important;
        max-width: 82% !important;
    }

    .single-product form.variations_form.cart table.variations select {
        width: clamp(170px, 15vw, 200px) !important;
        min-width: 0;
        max-width: 200px;
    }

    .single-product form.cart .single_add_to_cart_button {
        min-width: 160px;
        padding-right: 16px;
        padding-left: 16px;
    }
}


/* ---------------------------------------------------------
   Breakpoint 3 — tablette paysage / petite tablette
   701 à 900 px
   --------------------------------------------------------- */

@media (min-width: 701px) and (max-width: 900px) {
    .single-product main#wp--skip-link--target {
        padding-right: var(--bacchus-page-gutter) !important;
        padding-left: var(--bacchus-page-gutter) !important;
    }

    .single-product .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    .single-product .wp-block-column {
        flex-basis: auto !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .single-product .wc-block-product-gallery-large-image {
        height: clamp(480px, 68svh, 620px);
        min-height: 0;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        height: 78% !important;
        max-width: 72% !important;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:not(:first-child) img {
        object-position: center center !important;
    }

    .single-product .wp-block-post-title,
    .single-product .bacchus-main-product-price,
    .single-product .wp-block-woocommerce-product-summary,
    .single-product .wp-block-add-to-cart-form,
    .single-product .wp-block-woocommerce-product-description,
    .single-product .bacchus-bottle-sections {
        max-width: 760px;
        margin-right: auto;
        margin-left: auto;
    }

    .single-product form.variations_form.cart {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .single-product form.variations_form.cart table.variations,
    .single-product form.variations_form.cart table.variations td.value,
    .single-product form.variations_form.cart table.variations select {
        width: 100% !important;
        max-width: none;
    }

    .single-product form.variations_form.cart .single_variation_wrap,
    .single-product form.variations_form.cart .variations_button {
        width: 100% !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .single_add_to_cart_button {
        min-height: var(--bacchus-control-height);
    }
}


/* ---------------------------------------------------------
   Breakpoint 4 — mobile large
   481 à 700 px
   --------------------------------------------------------- */

@media (min-width: 481px) and (max-width: 700px) {
    .single-product {
        --bacchus-page-gutter: 20px;
        --bacchus-control-height: 48px;
        --bacchus-control-radius: 11px;
    }

    .single-product main#wp--skip-link--target {
        padding-right: var(--bacchus-page-gutter) !important;
        padding-left: var(--bacchus-page-gutter) !important;
    }

    .single-product .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    .single-product .wp-block-column {
        width: 100% !important;
        flex-basis: auto !important;
        padding: 0 !important;
    }

    .single-product .wc-block-product-gallery-large-image {
        height: clamp(400px, 64svh, 540px);
        min-height: 0;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        height: 76% !important;
        max-width: 70% !important;
        padding: 16px 12px 12px !important;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:not(:first-child) img {
        object-fit: cover !important;
    }

    .single-product .bacchus-gallery-dots {
        bottom: 12px;
        gap: 8px;
        padding: 7px 10px;
    }

    .single-product .bacchus-gallery-dot {
        width: 8px;
        height: 8px;
    }

    .single-product .wp-block-post-title {
        font-size: clamp(30px, 8vw, 42px) !important;
        line-height: 1.05;
    }

    .single-product .wp-block-woocommerce-product-summary {
        font-size: 16px;
        line-height: 1.5;
    }

    .single-product form.cart,
    .single-product form.variations_form.cart {
        width: 100%;
        gap: 8px;
    }

    .single-product form.variations_form.cart {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .single-product form.variations_form.cart table.variations,
    .single-product form.variations_form.cart table.variations td.value,
    .single-product form.variations_form.cart table.variations select {
        width: 100% !important;
        min-width: 0;
        max-width: none;
    }

    .single-product form.variations_form.cart .single_variation_wrap,
    .single-product form.variations_form.cart .variations_button {
        width: 100% !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        height: var(--bacchus-control-height);
    }

    .single-product form.cart .quantity .qty {
        flex: 1 1 auto;
        width: auto;
    }

    .single-product form.cart .qty-btn {
        flex-basis: 46px;
        width: 46px;
        height: var(--bacchus-control-height);
    }

    .single-product form.cart .single_add_to_cart_button {
        min-width: 0;
    }

    .single-product .bacchus-product-duo {
        display: block;
    }

    .single-product .bacchus-assemblage-images {
        justify-content: center;
        gap: 16px;
    }

    .single-product .bacchus-accords-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}


/* ---------------------------------------------------------
   Breakpoint 5 — mobile compact
   361 à 480 px
   --------------------------------------------------------- */

@media (min-width: 361px) and (max-width: 480px) {
    .single-product {
        --bacchus-page-gutter: 16px;
        --bacchus-control-height: 46px;
    }

    .single-product main#wp--skip-link--target {
        padding-right: var(--bacchus-page-gutter) !important;
        padding-left: var(--bacchus-page-gutter) !important;
    }

    .single-product .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .single-product .wp-block-column {
        width: 100% !important;
        flex-basis: auto !important;
        padding: 0 !important;
    }

    .single-product .wc-block-product-gallery-large-image {
        height: clamp(360px, 61svh, 465px);
        min-height: 0;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        height: 74% !important;
        max-width: 68% !important;
        padding: 14px 10px 10px !important;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:not(:first-child) img {
        object-fit: cover !important;
    }

    .single-product .bacchus-gallery-dots {
        bottom: 10px;
        gap: 7px;
        padding: 6px 9px;
    }

    .single-product .bacchus-gallery-dot {
        width: 7px;
        height: 7px;
    }

    .single-product .wp-block-post-title {
        font-size: clamp(27px, 9vw, 36px) !important;
        line-height: 1.06;
    }

    .single-product .wp-block-woocommerce-product-summary {
        font-size: 15px;
        line-height: 1.45;
    }

    .single-product form.cart,
    .single-product form.variations_form.cart {
        gap: 7px;
    }

    .single-product form.variations_form.cart {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .single-product form.variations_form.cart table.variations,
    .single-product form.variations_form.cart table.variations td.value,
    .single-product form.variations_form.cart table.variations select {
        width: 100% !important;
        min-width: 0;
        max-width: none;
    }

    .single-product form.variations_form.cart .single_variation_wrap,
    .single-product form.variations_form.cart .variations_button {
        width: 100% !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        height: var(--bacchus-control-height);
    }

    .single-product form.cart .quantity .qty {
        flex: 1 1 auto;
        width: auto;
    }

    .single-product form.cart .qty-btn {
        width: 44px;
        flex-basis: 44px;
        height: var(--bacchus-control-height);
    }

    .single-product form.cart .single_add_to_cart_button {
        min-width: 0;
        padding: 0 16px;
        font-size: 15px;
    }

    .single-product .bacchus-product-duo {
        display: block;
    }

    .single-product .bacchus-assemblage-images {
        gap: 12px;
    }

    .single-product .bacchus-assemblage-figure {
        min-width: 0;
    }

    .single-product .bacchus-accords-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .single-product .bacchus-accord-item figcaption {
        font-size: 14px;
        line-height: 1.25;
    }
}


/* ---------------------------------------------------------
   Breakpoint 6 — très petit mobile
   360 px et moins
   --------------------------------------------------------- */

@media (max-width: 360px) {
    .single-product {
        --bacchus-page-gutter: 12px;
        --bacchus-control-height: 44px;
    }

    .single-product main#wp--skip-link--target {
        padding-right: var(--bacchus-page-gutter) !important;
        padding-left: var(--bacchus-page-gutter) !important;
    }

    .single-product .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
    }

    .single-product .wp-block-column {
        width: 100% !important;
        flex-basis: auto !important;
        padding: 0 !important;
    }

    .single-product .wc-block-product-gallery-large-image {
        height: clamp(320px, 58svh, 390px);
        min-height: 0;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:first-child img {
        height: 72% !important;
        max-width: 66% !important;
        padding: 10px 8px 8px !important;
    }

    .single-product .wc-block-product-gallery-large-image__wrapper:not(:first-child) img {
        object-fit: cover !important;
    }

    .single-product .bacchus-gallery-dots {
        bottom: 8px;
        gap: 6px;
        padding: 5px 8px;
    }

    .single-product .bacchus-gallery-dot {
        width: 7px;
        height: 7px;
    }

    .single-product .wp-block-post-title {
        font-size: clamp(25px, 9.5vw, 31px) !important;
        line-height: 1.05;
    }

    .single-product .wp-block-woocommerce-product-summary {
        font-size: 14px;
        line-height: 1.4;
    }

    .single-product form.cart,
    .single-product form.variations_form.cart {
        gap: 6px;
    }

    .single-product form.variations_form.cart {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .single-product form.variations_form.cart table.variations,
    .single-product form.variations_form.cart table.variations td.value,
    .single-product form.variations_form.cart table.variations select {
        width: 100% !important;
        min-width: 0;
        max-width: none;
    }

    .single-product form.variations_form.cart .single_variation_wrap,
    .single-product form.variations_form.cart .variations_button {
        width: 100% !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        height: var(--bacchus-control-height);
    }

    .single-product form.cart .quantity .qty {
        flex: 1 1 auto;
        width: auto;
        font-size: 15px;
    }

    .single-product form.cart .qty-btn {
        width: 40px;
        flex-basis: 40px;
        height: var(--bacchus-control-height);
        font-size: 18px;
    }

    .single-product form.cart .single_add_to_cart_button {
        min-width: 0;
        padding: 0 12px;
        font-size: 14px;
    }

    .single-product .bacchus-product-duo {
        display: block;
    }

    .single-product .bacchus-assemblage-images {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .single-product .bacchus-assemblage-figure {
        max-width: 46%;
    }

    .single-product .bacchus-accords-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .single-product .bacchus-accord-image {
        max-height: 260px;
    }
}


/* ---------------------------------------------------------
   Anti-débordement final
   --------------------------------------------------------- */

.single-product img,
.single-product svg,
.single-product iframe,
.single-product video {
    max-width: 100%;
}

.single-product p,
.single-product h1,
.single-product h2,
.single-product h3,
.single-product figcaption {
    overflow-wrap: break-word;
}

.single-product .wp-block-woocommerce-product-description,
.single-product .bacchus-bottle-sections {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* =========================================================
   RELATED PRODUCTS — UNIQUEMENT EN MEDIA QUERIES
   On ne touche pas au desktop actuel.
   Le but :
   - full laptop / desktop : on garde l’existant
   - plus bas : on autorise le retour à la ligne
   - on garde un rendu centré et équilibré
   ========================================================= */

/* -----------------------------------------
   Breakpoint 1
   Laptop un peu plus étroit : 3 produits par ligne max
   ----------------------------------------- */
@media (max-width: 1280px) {
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 28px !important;
        column-gap: 24px !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 calc((100% - 48px) / 3) !important;
        max-width: calc((100% - 48px) / 3) !important;
        min-width: 260px !important;
        margin: 0 !important;
    }
}

/* -----------------------------------------
   Breakpoint 2
   Petit laptop / grosse tablette : 2 colonnes
   ----------------------------------------- */
@media (max-width: 1024px) {
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 24px !important;
        column-gap: 20px !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 calc((100% - 20px) / 2) !important;
        max-width: calc((100% - 20px) / 2) !important;
        min-width: 240px !important;
        margin: 0 !important;
    }
}

/* -----------------------------------------
   Breakpoint 3
   Tablette portrait / grand mobile : toujours 2 colonnes,
   mais plus souple
   ----------------------------------------- */
@media (max-width: 767px) {
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 20px !important;
        column-gap: 16px !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* -----------------------------------------
   Breakpoint 4
   Petit mobile : 1 colonne
   ----------------------------------------- */
@media (max-width: 479px) {
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 18px !important;
        column-gap: 0 !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* =========================================================
   BACCHUS — PATCH CIBLÉ
   1. Recentre les produits liés entre 1201 et 901
   2. Fixe la largeur du bouton +
   3. Remet du gutter sur le contenu < 900
   À coller tout en bas
   ========================================================= */

/* Variables utiles */
.single-product {
    --bacchus-page-gutter: clamp(16px, 3vw, 40px);
    --bacchus-page-gutter-mobile: clamp(14px, 4vw, 20px);
    --bacchus-qty-btn-w: 46px;
}

/* Sécurisation générale des largeurs */
.single-product #wp--skip-link--target,
.single-product .wp-block-group.woocommerce.product,
.single-product .wp-block-columns,
.single-product .wp-block-column {
    box-sizing: border-box;
    min-width: 0;
}

/* =========================================================
   1) RELATED PRODUCTS : corrige le faux centrage
   Cause probable :
   - main a un padding-right inline: 10rem
   - le block related a padding: 0 2em
   - les li gardent une logique 5 colonnes trop longtemps
   ========================================================= */

/* Neutralise le décalage laptop/tablette */
@media (min-width: 901px) and (max-width: 1280px) {
    .single-product #wp--skip-link--target {
        padding-left: var(--bacchus-page-gutter) !important;
        padding-right: var(--bacchus-page-gutter) !important;
    }

    .single-product .bacchus-product-related {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    .single-product .bacchus-product-related.wp-block-woocommerce-product-collection,
    .single-product .bacchus-product-related .wc-block-components-notices,
    .single-product .bacchus-product-related .wc-block-product-template {
        box-sizing: border-box;
    }

    /* On neutralise le padding inline du bloc related */
    .single-product .bacchus-product-related.wp-block-woocommerce-product-collection {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        margin: 0 auto !important;
        padding: 1em 0 0 !important;
        row-gap: 28px !important;
        column-gap: 24px !important;
    }

    /* 3 cartes max par ligne sur laptop */
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 calc((100% - 48px) / 3) !important;
        max-width: calc((100% - 48px) / 3) !important;
        min-width: 260px !important;
        margin: 0 !important;
    }
}

/* 2 colonnes un peu plus tôt si la place manque */
@media (min-width: 901px) and (max-width: 1024px) {
    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        column-gap: 20px !important;
        row-gap: 24px !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5>li.wc-block-product {
        flex: 0 1 calc((100% - 20px) / 2) !important;
        max-width: calc((100% - 20px) / 2) !important;
        min-width: 240px !important;
    }
}

/* =========================================================
   2) À PARTIR DE 900 : le + doit avoir la même largeur que le -
   ========================================================= */

@media (max-width: 900px) {
    .single-product {
        --bacchus-qty-btn-w: 44px;
    }

    .single-product form.cart .quantity {
        display: flex !important;
        width: 100% !important;
    }

    .single-product form.cart .qty-btn,
    .single-product form.cart .qty-btn.minus,
    .single-product form.cart .qty-btn.plus {
        flex: 0 0 var(--bacchus-qty-btn-w) !important;
        width: var(--bacchus-qty-btn-w) !important;
        min-width: var(--bacchus-qty-btn-w) !important;
        max-width: var(--bacchus-qty-btn-w) !important;
        height: 44px !important;
        padding: 0 !important;
    }

    .single-product form.cart .quantity .qty {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
    }

    /* important : le bouton submit prend sa ligne sans étirer le + */
    .single-product form.cart:not(.variations_form),
    .single-product form.variations_form.cart,
    .single-product form.variations_form.cart .variations_button {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   3) À PARTIR DE 900 : remet du padding horizontal au contenu
   ========================================================= */

@media (max-width: 900px) {
    .single-product #wp--skip-link--target {
        padding-left: var(--bacchus-page-gutter-mobile) !important;
        padding-right: var(--bacchus-page-gutter-mobile) !important;
    }

    .single-product .wp-block-columns {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product .wp-block-column {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-product .wp-block-post-title,
    .single-product .bacchus-main-product-price,
    .single-product .wp-block-woocommerce-product-summary,
    .single-product .wp-block-add-to-cart-form,
    .single-product .wp-block-woocommerce-product-description,
    .single-product .bacchus-bottle-sections,
    .single-product .bacchus-product-related {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
}

/* Petit bonus : related bien centré aussi sous 900 */
@media (max-width: 900px) {
    .single-product .bacchus-product-related.wp-block-woocommerce-product-collection {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-product .bacchus-product-related ul.wc-block-product-template.is-flex-container.columns-5 {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        width: 100%;
        margin: 0 auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }
}

/* Mobile / petit écran */
@media (max-width: 781px) {
    .bacchus-gite-intro {
        padding-top: var(--wp--preset--spacing--40) !important;
        padding-right: var(--wp--preset--spacing--30) !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
        padding-left: var(--wp--preset--spacing--30) !important;
    }

    .bacchus-gite-intro .wp-block-column {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .bacchus-gite-intro .wp-block-columns {
        gap: var(--wp--preset--spacing--30);
    }
}