/* ==========================================================================
   VARIABLES & DESIGN TOKENS
   ========================================================================== */
:root {
    --primary: #039;
    --primary-hover: #2980b9;
    --secondary: #039;
    --accent: #ff4444;
    --text-dark: #1a202c;
    --text-light: #444;
    --text-muted: #718096;
    --border-color: #e2e8f0;
    --radius: 12px;
    --radius-sm: 8px;
    --radius-pill: 20px;
    --bg-light: #f1f1f1;
    --bg-pills: #ebebeb;
    --shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 10px 20px rgba(0, 0, 0, 0.08);

    --radius-pill: 20px;
}

/* ==========================================================================
   UTILS & RESPONSIVE LAYOUT
   ========================================================================== */
/* Rend tous les sauts vers des ancres fluides */
html {
    scroll-behavior: smooth;
}

.bordered-bottom {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2) !important;
}

.wp-block-navigation.items-justified-right {
    margin-right: 10px;
}

button:hover {
    cursor: pointer;
}

.wp-block-columns.category-bordered {
    border: 1px solid #000 !important;
    border-top-color: rgba(0, 0, 0, 0.2) !important;
}

.fse-category-banner-img {
    object-position: 0 100%;
    aspect-ratio: 768 / 365;
    max-height: 300px;
}

.fse-category-banner {
    height: 100%;
    display: flex;
    align-items: flex-end;
}

@media (max-width: 767px) {
    .fse-category-banner,
    .fse-category-banner-img {
        height: 180px !important;
        min-height: 180px !important;
    }
}

@media (max-width: 767px) {
    .mobile-no-padding {
        padding: 0 !important;
    }

    .mobile-no-bg-color {
        background-color: #fff !important;
    }

    .wc-block-featured-product__inner-blocks {
        padding: 20px;
    }
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-viewport {
    aspect-ratio: 1/1;
}

.wp-block-navigation__submenu-container span.wp-block-navigation-item__label {
    font-size: 0.85em;
    font-family: "Roboto";
}

ul.wp-block-navigation__submenu-container li:hover {
    background-color: #eee;
}
ul.wp-block-navigation__submenu-container li a:hover {
    text-decoration: none;
}
.wc-block-product-description ul {
    list-style-type: square;
    padding-left: 20px;
}

/*@media (max-width: 767px) {
    li.wc-block-product {
        max-width: calc(50% - 10px);
    }
}*/
@media (min-width: 768px) {
    ul.wp-block-navigation__submenu-container {
        box-shadow: -1px 1px 3px rgba(0, 0, 0, 0.25);
    }
}
.woocommerce div.product div.images {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    button.wc-block-product-filters__open-overlay {
        margin-top: 30px;
    }
    .hide-on-mobile {
        display: none !important;
    }
}
@media (min-width: 768px) {
    .hide-on-desktop {
        display: none !important;
    }
}

.wp-block-cover.full-link {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
}

.wp-block-cover.full-link .wp-block-cover__inner-container {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.wp-block-cover.full-link .wp-block-cover__inner-container .wp-block-heading {
    padding: 30px;
    margin-bottom: 0 !important;
}
.wp-block-cover.full-link a {
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    height: 100%;
    display: block;
    align-content: end;
    padding: 30px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .reassurance img {
        max-width: 120px;
    }
}

@media (max-width: 600px) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(
            auto-fill,
            minmax(min(7.5rem, 100%), 1fr)
        );
        gap: 15px;
    }
}
/* Grilles Cross-Browser (Anti-débordement mobile) */
.brocante-grid-wrapper,
.brocante-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: 24px;
    width: 100%;
}

/* ==========================================================================
   TYPE 1 : TOP EVENTS (Cartes avec Images)
   ========================================================================== */
.brocante-grid-wrapper .brocante-card {
    background: #fff;
    border-radius: var(--radius);
    border: 1px solid var(--border-color);
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.brocante-grid-wrapper .brocante-card a {
    text-decoration: none;
}

.brocante-grid-wrapper .brocante-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

/* Date en Overlay sur l'image */
.card-date {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #fff;
    border-radius: var(--radius-sm);
    padding: 6px 12px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 2;
    line-height: 1;
}
.card-date .d-day {
    display: block;
    font-size: 1.4rem;
    color: var(--text-dark);
}
.card-date .d-month {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--primary);
    margin-top: 2px;
}

.card-image-header {
    aspect-ratio: 400 / 210;
    overflow: hidden;
}
.card-image-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Contenu Top Event */
.brocante-grid-wrapper .card-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.brocante-grid-wrapper .card-title {
    font-size: 1.15rem;
    color: var(--text-dark);
    margin: 0;
    line-height: 1.3;
}
.brocante-grid-wrapper .card-meta-city {
    color: var(--text-dark);
}
.brocante-grid-wrapper .fake-btn {
    text-decoration: underline;
    color: var(--primary);
}
/* ==========================================================================
   TYPE 2 : CARTES CLASSIQUES (#brocante-liste)
   ========================================================================== */
.brocante-grid .brocante-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.3s ease;
    position: relative;
}

.brocante-grid .brocante-card:hover {
    border-color: var(--text-dark);
    box-shadow: var(--shadow-sm);
}

/* Header horizontal avec Badge Noir */
.brocante-grid .card-header {
    display: flex;
    flex-direction: row; /* Aligné horizontalement */
    gap: 15px;
    align-items: flex-start;
    justify-content: space-between;
}

.date-badge {
    background: #000;
    color: #fff;
    padding: 8px;
    border-radius: var(--radius-sm);
    text-align: center;
    min-width: 65px;
    flex-shrink: 0; /* Empêche le badge de s'écraser */
}
.date-badge .day {
    font-size: 1.3rem;
    display: block;
    line-height: 1;
}
.date-badge .month {
    font-size: 0.7rem;
    text-transform: uppercase;
}

.brocante-grid .event-title {
    margin: 0;
    margin: 0 0 10px auto;
    font-size: 1rem;
    color: var(--text-dark);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; /* Coupe le titre à 2 lignes */
}

/* Body & Footer Classique */
.brocante-grid .card-body {
    border-top: 1px solid var(--bg-pills);
    padding-top: 10px;
    font-size: 0.9rem;
}
.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-light);
    margin-bottom: 5px;
}

.card-button {
    margin-top: auto;
    display: block;
    text-align: center;
    background: var(--bg-light);
    color: var(--primary);
    padding: 10px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    font-size: 0.85rem;
}
.card-button:hover {
    background: var(--primary);
    color: #fff;
}

.card-button::after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.brocante-card:hover .card-button {
    background: var(--primary);
    color: #fff;
}

/* ==========================================================================
   NAVIGATION : FIL D'ARIANE (Yoast Scrollable)
   ========================================================================== */
.yoast-breadcrumbs > span {
    display: flex;
    white-space: nowrap;
    overflow-x: hidden;
}
@media (max-width: 768px) {
    .yoast-breadcrumbs > span {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .yoast-breadcrumbs > span::-webkit-scrollbar {
        display: none;
    }
}

/* ==========================================================================
   COMPOSANTS : MENUS RÉGIONS & VILLES
   ========================================================================== */
.regions-pills,
.menu-loc-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
}
.regions-pills a,
.menu-loc-item a {
    display: inline-block;
    padding: 8px 16px;
    background: var(--bg-pills);
    color: var(--text-dark);
    text-decoration: none;
    border-radius: var(--radius-pill);
    font-size: 0.9rem;
    border: 1px solid var(--border-color);
    transition: 0.2s;
}
.regions-pills a:hover,
.menu-loc-item a:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .menu-loc-list {
        overflow: hidden;
        white-space: nowrap;
        overflow-x: scroll;
        padding-bottom: 10px;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-bottom: 0;
    }

    .btn-group-justify-mobile {
        gap: 10px;
        justify-content: space-between !important;
        margin-top: 0;
    }
    .btn-group-justify-mobile.wp-block-buttons .wp-block-button__link {
        padding: 8px 16px;
        font-size: 0.9rem !important;
    }
}

/* ==========================================================================
   UTILS : VISIBILITÉ & LAYOUT
   ========================================================================== */
@media (max-width: 767px) {
    .hide-on-mobile {
        display: none !important;
    }

    figure.ratio-img,
    figure.wp-block-post-featured-image,
    figure.ratio-img img,
    figure.wp-block-post-featured-image img {
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }
}

@media (min-width: 768px) {
    .hide-on-desktop {
        display: none !important;
    }
}

.border-bottom-element {
    border-bottom: 1px solid #ddd;
}

/* ==========================================================================
   NAVIGATION : FIL D'ARIANE (Yoast)
   ========================================================================== */
.yoast-breadcrumbs > span {
    display: flex;
    max-width: 100%;
    white-space: nowrap;
    overflow-x: hidden;
}

.yoast-breadcrumbs > span > span {
    display: inline-block;
    padding: 0 5px;
}

.yoast-breadcrumbs > span > span:first-child {
    padding-left: 0;
}

@media (max-width: 768px) {
    .yoast-breadcrumbs > span {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .yoast-breadcrumbs > span::-webkit-scrollbar {
        display: none;
    }
}

@media (min-width: 768px) {
    .yoast-breadcrumbs > span > span {
        max-width: 250px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ==========================================================================
   PAGINATION & MOTEUR DE RECHERCHE
   ========================================================================== */
.brocante-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
}

@media (max-width: 767px) {
    .brocante-pagination {
        gap: 6px;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: 12px;
    }

    .brocante-pagination a,
    .brocante-pagination span {
        max-width: 20px;
        overflow: hidden;
    }
}

.brocante-pagination a,
.brocante-pagination span {
    padding: 10px 16px;
    background: var(--bg-pills);
    border-radius: var(--radius-sm);
    color: var(--text-dark);
    text-decoration: none;
    transition: all 0.2s ease;
}

.brocante-pagination .current {
    background: var(--secondary);
    color: #fff;
}

.brocante-pagination a:hover {
    background: var(--bg-light);
}

.fse-search-events {
    background: #fff;
    padding: 20px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--border-color);
}
.brocante-pagination .next.page-numbers {
    margin-inline-start: auto;
}
.brocante-pagination .prev.page-numbers {
    margin-inline-end: auto;
}

/* ==========================================================================
   COMPOSANTS : MOTEUR DE RECHERCHE (FSE)
   ========================================================================== */

.fse-search-events .search-group-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
    min-height: 77px;
}

/* Groupes d'inputs */
.fse-search-events .search-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fse-search-events label {
    font-size: 14px;
    color: var(--text-light);
    text-transform: uppercase;
}

.fse-search-events select,
.fse-search-events input[type="date"] {
    max-width: 100%;
    min-width: 180px;
    padding: 14px;
    border: 2px solid #f0f2f5;
    border-radius: var(--radius-sm);
    background-color: var(--bg-light);
}

.fse-search-events .search-submit {
    background-color: var(--primary);
    color: white;
    height: 50px;
    border: none;
    padding: 14px 30px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
}
.fse-search-events .search-submit:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .fse-search-events .search-group-container {
        flex-direction: column;
        align-items: stretch;
    }
    .fse-search-events .search-submit {
        width: 100%;
        margin-top: 10px;
    }
}

/* ==========================================================================
   PAGES ÉVÉNEMENTS : BOUTONS & ACTIONS
   ========================================================================== */
.itineraire-link,
.agenda-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s;
}

.itineraire-link {
    background: var(--bg-light);
    border: 1px solid #ddd;
    color: #000;
}
.itineraire-link:hover {
    background: #000;
    color: #fff;
}
.itineraire-icon {
    color: var(--accent);
}

.share-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.share-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: transform 0.2s;
}
.share-btn:hover {
    transform: translateY(-2px);
}
.is-facebook {
    background: #1877f2;
}
.is-x {
    background: #000;
}
.is-whatsapp {
    background: #25d366;
}
.is-copy {
    background: #6c757d;
    cursor: pointer;
}
.is-email {
    background: #444;
}
.is-native {
    background: var(--accent);
}
.copy-link-wrapper {
    position: relative;
}
.copy-message {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s;
}
.copy-message.is-visible {
    opacity: 1;
    bottom: 55px;
}

.wp-block-ajouter-agenda {
    margin: 15px 0;
}

.agenda-buttons {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.agenda-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border-radius: var(--radius);
    font-size: 14px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s;
}

.is-google {
    background: #fff;
    color: var(--primary);
    border: 1px solid var(--primary);
}
.is-google:hover {
    background: var(--primary-hover);
    color: #fff;
}

.is-outlook {
    background: #fff;
    color: var(--primary);
    border: 1px solid var(--primary);
}
.is-outlook:hover {
    background: var(--primary-hover);
    color: #fff;
}

/* ==========================================================================
   WOOCOMMERCE & FORMS
   ========================================================================== */

/* WOOCOMMERCE */

:where(.wc-block-product-gallery-dialog__header) {
    background-color: #000;
    color: #fff;
}

:where(.wc-block-product-gallery-large-image)
    :where(.wc-block-product-gallery-large-image__container) {
    border: 1px solid;
}
:where(.wc-block-product-gallery-dialog__close-button) {
    fill: #fff;
}

.wc-block-product-gallery-dialog .wc-block-product-gallery-dialog__content {
    gap: 0;
    padding: 0;
    flex-flow: wrap;
    justify-content: center;
}

.wc-block-product-gallery-dialog .wc-block-product-gallery-dialog__content img {
    border-bottom: 1px solid #000;
    min-width: 100vw;
    min-height: 100vw;
}

@media (min-width: 767px) {
    .wc-block-product-gallery-dialog
        .wc-block-product-gallery-dialog__content
        img {
        min-height: 100vh;
    }
}

/* 🛡️ FORCE LE SCROLL DANS LA NOUVELLE GALERIE FSE */
.wc-block-product-gallery-dialog__content {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 200vh !important;
    overscroll-behavior-y: contain;
}

/* PROTÈGE LE RATIO DES IMAGES (Empêche l'étirement) */
.wc-block-product-gallery-dialog__content img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

:where(.wc-block-product-gallery-thumbnails__scrollable) {
    scrollbar-width: none !important;
}

@media (max-width: 768px) {
    /* fix iphone  */
    .wc-block-product-gallery-thumbnails__thumbnail {
        min-height: 60px !important;
        min-width: 60px !important;
        /*/* flex: 1 0 auto !important;  Autorise l'élément à grandir mais pas à rétrécir */
    }
}

/* 🛡️ CORRIGE LE DÉFILEMENT DU SITE QUAND LA GALERIE EST OUVERTE */
body.has-modal-open {
    overflow: hidden !important;
}

.woocommerce div.product p.stock {
    display: none;
}

.taxonomy-product_brand.wp-block-post-terms,
.taxonomy-product_cat.wp-block-post-terms {
    font-weight: lighter;
    font-size: 1rem;
    padding: 0.5em 1em;
    margin-block-start: 0;
    background-color: #f8f9fa;
    border-bottom: 1px solid #ccc;
}

.taxonomy-product_brand.wp-block-post-terms a {
    padding: 3px 5px;
    border: 1px solid;
    text-decoration: none;
    color: #000;
    line-height: 1em;
    display: inline-block;
}
.taxonomy-product_brand.wp-block-post-terms a:hover {
    color: #fff;
    background-color: #000;
}

.taxonomy-product_brand .wp-block-post-terms__prefix,
.taxonomy-product_cat .wp-block-post-terms__prefix {
    font-weight: bold;
    padding-right: 10px;
    display: block;
    font-family: "Abhaya Libre";
    font-size: 1.5rem;
}

.wp-block-product-specifications-item__label {
    width: 120px;
    font-weight: 500;
}
.wp-block-product-specifications-item__value {
    color: var(--text-light);
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    max-width: 100%;
    height: auto;
}

.woocommerce div.product form.cart div.quantity {
    margin: 0;
}

.woocommerce div.product form.cart {
    padding: 0;
}
/*
.product-search-results {
    font-size: 95%;
}

.product-search-results .title {
    color: #000 !important;
}

.product-search-results-content {
    border-color: #000 !important;
}

#product-search-field-0 {
    padding: 15px;
    border: 1px solid #000;
    border-bottom: none;
    font-size: 95%;
}

#product-search-field-0:focus-visible {
    border-radius: 0;
    border: 1px solid #000;
    outline: none;
    border-bottom: none;
}

div.product-search-form form.product-search-form.show-submit-button button {
    background-color: #000;
    border: none;
    color: #fff;
    padding-left: 25px;
    padding-right: 25px;
    margin: 0 !important;
}

@media (max-width: 768px) {
    #product-search-0 {
        width: 100%;
    }
}*/

.wc-block-product-categories__dropdown select,
.woocommerce.wc-block-catalog-sorting select.orderby {
    padding: 10px;
    font-size: 0.9rem;
    border: 1px solid black;
    background-color: white;
}
@media (max-width: 768px) {
    .wc-block-product-categories__dropdown select,
    .woocommerce.wc-block-catalog-sorting select.orderby {
        width: 100%;
    }
    button.wc-block-product-filters__open-overlay {
        color: white;
        width: 100%;
        display: flex;
        justify-content: space-between;
        padding: 1rem;
        border-bottom: white;
        background: black;
        flex-direction: row-reverse;

        text-decoration: none !important;
    }

    button.wc-block-product-filters__open-overlay span {
        text-decoration: none;
        font-size: var(--wp--preset--font-size--medium);
    }
}

.wp-block-cover {
    text-shadow: 2px 4px rgba(0, 0, 0, 0.5);
}

.product-search-results table.search-results tr td,
.entry-content .product-search-results table.search-results tr td {
    vertical-align: middle;
}

.wc-block-product-categories-list--has-images {
    padding-left: 0;
}

.wc-block-product-categories-list--has-images
    .wc-block-product-categories-list-item__image
    img {
    border: 1px solid black;
}

.banner-boutique {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
/*
.product-search-results .title {
    color: #000 !important;
}*/
.wp-block-woocommerce-customer-account
    a
    .wc-block-customer-account__account-icon {
    width: 2em;
    height: 2em;
}

/* ==========================================================================
   FORMULAIRE ANNONCE BROCANTE (Inspiré du moteur de recherche FSE)
   ========================================================================== */

/* 1. Les blocs "Sections" (Reprend le design de .fse-search-events) */
.wpcf7-form .form-section {
    background: #fff;
    padding: 30px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--border-color);
    margin-bottom: 30px;
}

/* 2. Titres des sections */
.wpcf7-form .form-section h3 {
    margin-top: 0;
    margin-bottom: 20px;
    color: var(--text-dark);
    font-size: 1.25rem;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 10px;
}

/* 3. Les Labels (Reprend le style .fse-search-events label) */
.wpcf7-form label {
    font-size: 14px;
    color: var(--text-light);
    text-transform: uppercase;
    font-weight: 500;
    display: block;
    width: 100%;
}

/* 4. Les Champs de saisie (Reprend le style .fse-search-events input) */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%;
    padding: 14px;
    border: 2px solid #f0f2f5;
    border-radius: var(--radius-sm);
    background-color: var(--bg-light);
    margin-top: 8px; /* Écarte joliment le champ du label */
    box-sizing: border-box;
    font-family: inherit;
    font-size: 1rem;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Effet au focus (Quand on clique dans le champ) */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 51, 153, 0.1); /* Halo aux couleurs de ton --primary */
}

/* Redimensionnement propre pour la zone de texte */
.wpcf7-form textarea {
    resize: vertical;
    min-height: 120px;
}

/* 5. Organisation Flexbox (Ligne Date de début / fin) */
.wpcf7-form .flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.wpcf7-form .flex-row p {
    flex: 1;
    min-width: 200px; /* Sur mobile, ils passeront l'un sous l'autre automatiquement */
    margin: 0;
}

/* 6. Le Bouton Soumettre (Reprend le style .fse-search-events .search-submit) */
.wpcf7-form .form-button {
    background-color: var(--primary);
    color: white;
    min-height: 50px;
    border: none;
    padding: 14px 30px !important;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-weight: bold;
    font-size: 1rem;
    text-transform: uppercase;
    transition: all 0.2s ease;
    width: 100%;
}

.wpcf7-form .form-button:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

/* Tablette et Bureau : On aligne le bouton à droite pour faire plus "Pro" */
@media (min-width: 768px) {
    .wpcf7-form .form-button {
        width: auto;
        min-width: 250px;
    }
    .wpcf7-form > div:last-child {
        text-align: right;
    }
}

/* ==========================================================================
   CALL TO ACTION : ANNONCER UNE BROCANTE
   ========================================================================== */

.cta-organisateur {
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border: 2px dashed var(--primary);
    border-radius: var(--radius);
    padding: 30px;
    margin: 50px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: var(--shadow-sm);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.cta-organisateur:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.cta-organisateur .cta-content {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.cta-organisateur .cta-icon {
    flex-shrink: 0;
    background: rgba(
        0,
        51,
        153,
        0.1
    ); /* Utilise un fond léger basé sur ton primary */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
}

.cta-organisateur h3 {
    margin: 0 0 5px 0;
    color: var(--text-dark);
    font-size: 1.3rem;
}

.cta-organisateur p {
    margin: 0;
    color: var(--text-light);
    font-size: 0.95rem;
    line-height: 1.4;
}

.cta-organisateur .cta-action {
    flex-shrink: 0;
}

/* Version Bouton CTA (On réutilise ton design .form-button) */
.cta-organisateur .form-button {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;

    background-color: var(--primary);
    color: white;
    border: none;
    padding: 30px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
}

.cta-organisateur .form-button:hover {
    background-color: var(--primary-hover);
}
/* Responsive Mobile */
@media (max-width: 768px) {
    .cta-organisateur {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    .cta-organisateur .cta-content {
        flex-direction: column;
        gap: 15px;
    }
}

.search-icon-link {
    position: relative;
}

.search-icon-link a.wp-block-navigation-item__content::after {
    content: " ";
    position: absolute;
    display: block;
    width: 25px;
    height: 25px;
    top: 5px;

    display: inline-block;

    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"/></svg>');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;

    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;

    background-color: #686868;
}

@media (max-width: 767px) {
    .search-icon-link a.wp-block-navigation-item__content::after {
        right: -1em;
    }
}

@media (min-width: 768px) {
    .search-icon-link a.wp-block-navigation-item__content::after {
        right: 5px;
    }
}

/* ============================================================
CSS COMPOSANT : BANNIERE SILO
========================================================================== */

/* 1. Le conteneur principal : Une grille à une seule case */
.acf-banniere-silo {
    display: grid;
    grid-template-areas: "stack"; /* Zone unique d'empilement */
    width: 100%;
    aspect-ratio: 860 / 462;
    min-height: 180px; /* Sécurité pour les très petits écrans */
    overflow: hidden;
    margin-left: 0;
    margin-right: 0;
    background-color: #f1f1f1; /* Couleur d'attente neutre */
    max-width: 100%;
}

/* 2. Tous les éléments enfants s'empilent dans la même zone "stack" */
.acf-banniere-silo > .silo-bg-img,
.acf-banniere-silo > .silo-overlay,
.acf-banniere-silo > .silo-content {
    grid-area: stack;
}

/* 3. L'image prend 100% de la zone et coupe ce qui dépasse proprement */
.acf-banniere-silo > .silo-bg-img {
    width: 100%;
    height: 100%;
    object-fit: fill; /* L'image remplit l'espace sans se déformer */
    object-position: center center;
    display: block;
    z-index: 1;
    aspect-ratio: 860 / 462;
    max-width: 100%;
}

/* 4. L'overlay assombrit l'image pour que le texte blanc ressorte */
.acf-banniere-silo > .silo-overlay {
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.1) 0%,
        rgba(0, 0, 0, 0.6) 100%
    );
    z-index: 2;
    padding: 0;
}

/* 5. Le texte se centre parfaitement grâce à flexbox */
.acf-banniere-silo > .silo-content {
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
}

.acf-banniere-silo h1 {
    margin: 0;
    color: #ffffff;
    font-size: 1.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* Ombre pour la lisibilité */
    font-weight: 800;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .acf-banniere-silo h1 {
        font-size: 2.5rem;
        padding: 30px;
    }
}
@media (min-width: 1024px) {
    .acf-banniere-silo h1 {
        font-size: 3.5rem;
        padding: 40px;
    }
}

/* ================================================== */
/* GRILLE IA BROCANTE.IO (Forcer la grille WooCommerce) */
/* ================================================== */

/* On force la création de la grille à 3 colonnes */

.encart-brocante-ia {
    margin-top: 40px;
}

.encart-brocante-ia ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px 0 30px 0 !important;
}
.encart-brocante-ia .products h2 {
    font-size: 1em;
}
.encart-brocante-ia .price {
    display: block;
    margin: 10px auto;
    font-family: "Space Mono";
    color: #686868;
}
.encart-brocante-ia a {
    text-decoration: none;
}
/* On nettoie les marges par défaut des produits */
.encart-brocante-ia ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    clear: none !important;
}

/* --- RESPONSIVE (Tablettes) --- */
@media (max-width: 768px) {
    .encart-brocante-ia ul.products {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 colonnes */
    }
}

/* --- RESPONSIVE (Mobiles) --- */
@media (max-width: 480px) {
    .encart-brocante-ia ul.products {
        grid-template-columns: 1fr !important; /* 1 seule colonne */
    }
}

/* fix ElasticPress Mobile (Variables non définies) */
:root {
    --ep-range-slider-thumb-size: 1.5em !important; /* J'ai mis 1.5em pour que ce soit un peu plus gros et facile à attraper au doigt sur mobile */
    --ep-range-slider-track-size: 0.5em !important;
}
/*
.ep-search-sidebar-toggle.ep-search-icon-button {
    border: 1px solid #000;
    background: white;
    padding: 10px;
}
.ep-search-input {
    padding: 1em;
    border: 1px solid;
}*/
/*
button.ep-search-small-button {
    background-color: #000;
    border: 1px solid #000;
    color: #fff;
}
button.ep-search-small-button.undefined {
    background-color: #fff;
    border: 1px solid #000;
    color: #000;
}
select#ep-sort {
    border: 1px solid #686868;
    padding: 0.5em;
    background-color: white;
}
.ep-search-results__header label.ep-search-sort {
    margin-bottom: 0;
}
.ep-search-page {
    padding-top: 0;
}
.ep-search-pagination {
    font-family: "Space Mono";
}
.ep-search-pagination-button {
    border: 1px solid #686868;
    background-color: white;
}

#ep-instant-results .ep-search-modal {
    background-color: rgba(0, 0, 0, 0.8);
}
@media (min-width: 768px) {
    #ep-instant-results .ep-search-modal__content {
        width: 95em;
        top: 0;
        bottom: 0;
    }
}
.ep-search-result--has-thumbnail {
    grid-template-areas: "thumbnail header" "thumbnail footer";
    -ms-grid-columns: min(200px, 30%) auto !important;
    grid-template-columns: min(200px, 30%) auto !important;
}

#ep-instant-results .ep-search-page__header {
    background: #eee;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.ep-search-page__body {
    padding-top: 1em !important;
}

.ep-search-price-facet__values,
span.woocommerce-Price-amount.amount {
    font-family: "Space Mono";
    color: #686868;
}*/

/*
.wc-block-featured-product__wrapper span.woocommerce-Price-amount.amount {
    color: rgba(255, 255, 255, 0.66);
}
.wp-block-elasticpress-facet .searchable .inner {
    overflow-y: scroll !important;
    overflow-x: auto !important;
}
.ep-range-facet__action button.wp-element-button {
    padding: 7px 15px;
    font-size: 1em;
}

.wp-block-search__inside-wrapper {
    padding: 0 !important;
}

input.facet-search {
    border: 1px solid;
    font-size: 0.9em;
    padding: 5px;
}*/

.wc-block-product-categories__button {
    background-color: #000;
    border-color: #000;
}

.wc-block-product-categories__button svg {
    fill: white;
}

.wp-block-woocommerce-product-categories.wc-block-product-categories.is-dropdown.hide-on-desktop {
    justify-content: space-between;
}
.wc-block-product-categories__dropdown,
.wc-block-product-categories__dropdown select {
    width: 100%;
}

button.wc-block-product-filters__open-overlay,
:where(.wc-block-product-filters) .wc-block-product-filters__open-overlay {
    font-size: 1.5em;
    text-decoration: underline;
}
/*
.wc-block-product-filters__overlay .facetwp-facet {
    margin-bottom: 20px;
}

.wc-block-product-filters__overlay .noUi-horizontal {
    height: 8px;
    background-color: #999;
}
.wc-block-product-filters__overlay .noUi-connect {
    background-color: var(--text-dark);
}

.wc-block-product-filters__overlay .noUi-connects {
    background-color: #999;
}

.wc-block-product-filters__overlay .noUi-horizontal .noUi-handle {
    top: -6px;
    border-radius: 10px;
    background-color: var(--text-dark);
}
.wc-block-product-filters__overlay .facetwp-slider-reset {
    background-color: #fff;
    border: 1px solid #000;
    color: #000;
    box-shadow: none;
    border-radius: 0;
    float: right;
}

.wc-block-product-filters__overlay .noUi-touch-area::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 8px;
    height: 8px;
    background: var(--text-dark);
    border: 3px solid #fff;
    margin: 2px;
    border-radius: 10px;
}
.wc-block-product-filters__overlay .facetwp-slider-label {
    font-family: "Space Mono";
}*/
/*
.facetwp-pager {
    margin: 50px auto;
    display: flex;
    font-family: "Space Mono";
    justify-content: center;
    font-size: 1.2em;
}

.facetwp-page.prev,
.facetwp-page.next {
    display: flex;
    flex: auto;
}

.facetwp-page.next {
    justify-content: end;
}*/

.wp-block-table tr:nth-child(odd) {
    background-color: #f8f9fa;
    border-bottom: 1px solid #ccc;
}

.wp-block-table td,
.wp-block-table th {
    border: 0 none;
    padding: 0.5em 1em;
}

ul.autosuggest-list {
    padding: 0;
}

a.autosuggest-link {
    padding: 6px !important;
    text-decoration: none;
}
/*
.ep-search-page__header::after,
a.autosuggest-link::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #000;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

a.autosuggest-link::before {
    height: 20px;
    width: 20px;
}

.ep-search-page__header {
    position: relative;
}

.ep-search-page__header .ep-search-input {
    padding-left: 52px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
    border-color: #686868;
    margin-top: 15px !important;
}

button.ep-search-modal__close {
    background-color: #d3d3d3 !important;
}
button.ep-search-modal__close:hover {
    cursor: pointer !important;
}
.ep-search-modal__content {
    background: #eee !important;
}

.ep-search-page {
    background-color: #fff;
}

.ep-search-page__header::after {
    height: 36px;
    width: 36px;
    margin: 10px;
    background-color: #686868;
    position: absolute;
    top: 15px;
    left: 12px;
}*/

.brand-logos {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media (max-width: 767px) {
    .brand-logos {
        gap: 10px;
    }
    .brand-logos figure {
        max-width: 100px;
    }
    .brand-logos img {
        height: 100px;
    }
}

@media (min-width: 768px) {
    .brand-logos {
        gap: 30px;
    }
    .brand-logos figure {
        max-width: 150px;
    }
    .brand-logos img {
        height: 150px;
    }
}

.brand-logos figure {
    text-align: center;
    position: relative;
    margin: 0;
}

.brand-logos figcaption {
    font-weight: bold;
    font-size: 1.25em;
    font-family: monospace;
}
.brand-logos figcaption small {
    font-weight: lighter;
    font-size: 0.75em;
    line-height: 1.25em;
    display: inline-block;
    margin-top: 5px;
}

.brand-logos img {
    width: auto;
    object-fit: contain;
}

@media (min-width: 768px) {
    .brand-logos figure:not(:first-child)::before {
        content: "";
        position: absolute;
        z-index: 9;
        left: -40px;

        display: inline-block;
        vertical-align: middle;
        background-color: rgba(0, 0, 0, 0.3) !important;

        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;

        top: 40%;

        width: 50px;
        height: 20px;

        mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="M 17.265074,14.667269 c 0.675491,1.361901 1.622466,3.533649 2.838939,5.543583 0.326018,0.537782 1.619766,0.992278 2.222446,0.781289 3.597967,-1.257993 7.118273,-2.761085 9.636974,-5.805334 C 34.227252,12.450315 33.873892,8.3939542 31.223385,5.4972361 28.689042,2.7290145 25.299432,2.1912329 22.353772,4.2741426 19.143777,6.5434514 17.668922,9.8169316 17.265074,14.667269 Z M 75.2181,7.2525591 c -6.59292,1.6593493 -11.93843,6.2852129 -18.992692,6.3296299 -0.458174,-2.7476 1.106892,-3.8120552 2.693393,-3.7612927 2.246347,0.072188 3.902709,-0.970065 5.678977,-1.8655715 3.294485,-1.6625204 6.540528,-3.4241893 9.792124,-5.1707853 3.027701,-1.6260328 4.246582,-1.055732 4.534769,2.2582045 0.386714,4.4362901 0.716248,8.878135 1.044986,13.319189 0.0635,0.855847 0.0076,1.719628 0.0076,2.701596 C 77.184486,19.876126 77.031265,19.443048 75.770319,9.5718368 75.027877,10.273015 74.397385,10.748926 73.914633,11.343022 64.759328,22.601514 53.077365,29.053306 38.478104,29.921053 32.235354,30.291446 26.22921,29.439578 21.041256,25.628316 19.600783,24.570202 18.26052,24.65508 16.738499,24.973936 12.143293,25.937659 7.6094698,25.658458 3.1681501,24.164093 2.0363216,23.783365 0.97889581,23.182129 0,22.307243 c 5.7022592,0.805879 11.289381,2.243132 17.117577,0.138823 -0.39488,-0.759081 -0.727743,-1.419806 -1.079105,-2.071008 -3.174029,-5.876723 -2.208474,-12.407824 2.539664,-17.1566324 4.165625,-4.16581586 9.980713,-4.301448 13.985164,-0.3259843 4.490289,4.4600901 4.635603,10.8436537 0.153257,14.8976337 -1.580932,1.430907 -3.537288,2.461255 -5.375111,3.589165 -1.051782,0.644864 -2.209017,1.119192 -3.631465,1.825124 2.52855,2.208232 5.310472,2.984765 8.195879,3.332165 11.365918,1.367456 21.782957,-1.328573 31.135203,-7.827152 3.013382,-2.094014 5.667833,-4.723428 8.379494,-7.224346 1.386388,-1.278615 2.537766,-2.8134326 3.795539,-4.2324416" /></svg>');
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="M 17.265074,14.667269 c 0.675491,1.361901 1.622466,3.533649 2.838939,5.543583 0.326018,0.537782 1.619766,0.992278 2.222446,0.781289 3.597967,-1.257993 7.118273,-2.761085 9.636974,-5.805334 C 34.227252,12.450315 33.873892,8.3939542 31.223385,5.4972361 28.689042,2.7290145 25.299432,2.1912329 22.353772,4.2741426 19.143777,6.5434514 17.668922,9.8169316 17.265074,14.667269 Z M 75.2181,7.2525591 c -6.59292,1.6593493 -11.93843,6.2852129 -18.992692,6.3296299 -0.458174,-2.7476 1.106892,-3.8120552 2.693393,-3.7612927 2.246347,0.072188 3.902709,-0.970065 5.678977,-1.8655715 3.294485,-1.6625204 6.540528,-3.4241893 9.792124,-5.1707853 3.027701,-1.6260328 4.246582,-1.055732 4.534769,2.2582045 0.386714,4.4362901 0.716248,8.878135 1.044986,13.319189 0.0635,0.855847 0.0076,1.719628 0.0076,2.701596 C 77.184486,19.876126 77.031265,19.443048 75.770319,9.5718368 75.027877,10.273015 74.397385,10.748926 73.914633,11.343022 64.759328,22.601514 53.077365,29.053306 38.478104,29.921053 32.235354,30.291446 26.22921,29.439578 21.041256,25.628316 19.600783,24.570202 18.26052,24.65508 16.738499,24.973936 12.143293,25.937659 7.6094698,25.658458 3.1681501,24.164093 2.0363216,23.783365 0.97889581,23.182129 0,22.307243 c 5.7022592,0.805879 11.289381,2.243132 17.117577,0.138823 -0.39488,-0.759081 -0.727743,-1.419806 -1.079105,-2.071008 -3.174029,-5.876723 -2.208474,-12.407824 2.539664,-17.1566324 4.165625,-4.16581586 9.980713,-4.301448 13.985164,-0.3259843 4.490289,4.4600901 4.635603,10.8436537 0.153257,14.8976337 -1.580932,1.430907 -3.537288,2.461255 -5.375111,3.589165 -1.051782,0.644864 -2.209017,1.119192 -3.631465,1.825124 2.52855,2.208232 5.310472,2.984765 8.195879,3.332165 11.365918,1.367456 21.782957,-1.328573 31.135203,-7.827152 3.013382,-2.094014 5.667833,-4.723428 8.379494,-7.224346 1.386388,-1.278615 2.537766,-2.8134326 3.795539,-4.2324416" /></svg>');
    }

    .brand-logos figure:nth-child(2n + 1)::before {
        top: 20%;
        mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="m 8.1412322,9.7423212 C 12.432693,11.788421 15.078344,15.682576 15.20734,19.986356 11.35861,21.363608 7.5990708,16.10354 8.1412322,9.7423212 Z M 27.858006,8.6318525 c 0.887595,-0.1802872 1.159387,-0.3663761 1.37566,-0.2602772 4.544692,2.2357047 8.906892,5.1388507 12.772434,9.6517497 0.896851,1.046916 1.678717,2.506972 2.27388,4.019856 0.64882,1.649134 0.146192,3.311364 -1.050705,3.275324 -1.539646,-0.04668 -3.177844,-0.325149 -4.585647,-1.244695 -3.28133,-2.142968 -6.069445,-5.631191 -8.521545,-9.697371 -0.869199,-1.44186 -1.377578,-3.444008 -2.264077,-5.7445865 z M 7.4961906,6.5136734 C 4.8930849,6.2647348 2.4948619,4.3641128 3.4329952e-8,6.4020374 2.0867902,6.9654906 4.1735764,7.5285922 6.3979062,8.1291398 5.7081867,15.806519 8.3305121,19.665338 12.134784,22.175033 c 0.558423,0.368398 1.170338,0.6118 1.770702,0.713854 1.124128,0.191539 2.086789,-0.370859 2.711517,-1.99538 C 17.222514,19.318212 16.93758,17.71048 16.277591,16.579091 14.912607,14.241157 13.428316,12.067247 11.906793,9.987481 11.256824,9.0995808 10.391238,8.6170855 9.4529416,7.8030233 10.32559,5.7389915 11.60735,5.3726151 12.849141,5.0350708 17.373302,3.805143 21.765234,5.1511892 26.297772,6.8934112 26.442758,13.188 29.022978,16.922174 31.90839,20.323901 c 2.484184,2.928902 4.972037,5.86299 8.050178,6.999565 0.931672,0.343699 1.901343,0.538752 2.856778,0.574089 1.293803,0.04738 2.500553,-0.594394 3.084766,-2.601993 C 46.4783,23.309148 46.114184,21.260939 45.23651,19.782424 44.035785,17.760672 42.781946,15.619375 41.28884,14.289239 38.380762,11.699904 35.292819,9.6313886 32.274358,7.3635118 31.497964,6.7808081 30.703229,6.2612183 29.674863,5.542969 33.25005,2.5323187 36.82354,2.8014751 40.254561,3.6574666 52.560232,6.7255174 63.91977,14.056386 74.58231,24.276775 c 0.140182,0.134578 0.231042,0.399955 0.529459,0.93528 -4.483698,-0.928072 -8.701299,-3.007222 -13.047566,-2.754855 -0.03628,0.371913 -0.07226,0.74374 -0.108397,1.116357 5.770386,2.141211 11.540775,4.283475 17.313348,6.426443 1.265885,-3.258535 0.614328,-5.963989 0.07555,-8.574948 -1.744962,-8.459533 -3.189338,-12.208386 -5.376706,-14.0543322 -0.611587,2.7633812 0.530008,4.8115902 1.023874,7.0383292 0.491131,2.215048 1.109292,4.358016 1.34637,6.938737 C 75.367466,20.291289 74.435574,19.126585 73.420458,18.193943 63.245218,8.8471253 52.387212,2.5508659 40.742955,0.2004488 37.920072,-0.36915738 34.979687,0.42020451 32.102159,0.77357106 31.256723,0.87720798 30.242485,1.2817338 29.650279,2.1517901 27.804074,4.8655068 25.854167,4.1437418 23.745531,3.4219771 21.691921,2.718056 19.579836,2.3005206 17.481275,2.1226065 13.825712,1.8132787 10.243023,2.2723918 7.4961906,6.5136734" /></svg>');
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="m 8.1412322,9.7423212 C 12.432693,11.788421 15.078344,15.682576 15.20734,19.986356 11.35861,21.363608 7.5990708,16.10354 8.1412322,9.7423212 Z M 27.858006,8.6318525 c 0.887595,-0.1802872 1.159387,-0.3663761 1.37566,-0.2602772 4.544692,2.2357047 8.906892,5.1388507 12.772434,9.6517497 0.896851,1.046916 1.678717,2.506972 2.27388,4.019856 0.64882,1.649134 0.146192,3.311364 -1.050705,3.275324 -1.539646,-0.04668 -3.177844,-0.325149 -4.585647,-1.244695 -3.28133,-2.142968 -6.069445,-5.631191 -8.521545,-9.697371 -0.869199,-1.44186 -1.377578,-3.444008 -2.264077,-5.7445865 z M 7.4961906,6.5136734 C 4.8930849,6.2647348 2.4948619,4.3641128 3.4329952e-8,6.4020374 2.0867902,6.9654906 4.1735764,7.5285922 6.3979062,8.1291398 5.7081867,15.806519 8.3305121,19.665338 12.134784,22.175033 c 0.558423,0.368398 1.170338,0.6118 1.770702,0.713854 1.124128,0.191539 2.086789,-0.370859 2.711517,-1.99538 C 17.222514,19.318212 16.93758,17.71048 16.277591,16.579091 14.912607,14.241157 13.428316,12.067247 11.906793,9.987481 11.256824,9.0995808 10.391238,8.6170855 9.4529416,7.8030233 10.32559,5.7389915 11.60735,5.3726151 12.849141,5.0350708 17.373302,3.805143 21.765234,5.1511892 26.297772,6.8934112 26.442758,13.188 29.022978,16.922174 31.90839,20.323901 c 2.484184,2.928902 4.972037,5.86299 8.050178,6.999565 0.931672,0.343699 1.901343,0.538752 2.856778,0.574089 1.293803,0.04738 2.500553,-0.594394 3.084766,-2.601993 C 46.4783,23.309148 46.114184,21.260939 45.23651,19.782424 44.035785,17.760672 42.781946,15.619375 41.28884,14.289239 38.380762,11.699904 35.292819,9.6313886 32.274358,7.3635118 31.497964,6.7808081 30.703229,6.2612183 29.674863,5.542969 33.25005,2.5323187 36.82354,2.8014751 40.254561,3.6574666 52.560232,6.7255174 63.91977,14.056386 74.58231,24.276775 c 0.140182,0.134578 0.231042,0.399955 0.529459,0.93528 -4.483698,-0.928072 -8.701299,-3.007222 -13.047566,-2.754855 -0.03628,0.371913 -0.07226,0.74374 -0.108397,1.116357 5.770386,2.141211 11.540775,4.283475 17.313348,6.426443 1.265885,-3.258535 0.614328,-5.963989 0.07555,-8.574948 -1.744962,-8.459533 -3.189338,-12.208386 -5.376706,-14.0543322 -0.611587,2.7633812 0.530008,4.8115902 1.023874,7.0383292 0.491131,2.215048 1.109292,4.358016 1.34637,6.938737 C 75.367466,20.291289 74.435574,19.126585 73.420458,18.193943 63.245218,8.8471253 52.387212,2.5508659 40.742955,0.2004488 37.920072,-0.36915738 34.979687,0.42020451 32.102159,0.77357106 31.256723,0.87720798 30.242485,1.2817338 29.650279,2.1517901 27.804074,4.8655068 25.854167,4.1437418 23.745531,3.4219771 21.691921,2.718056 19.579836,2.3005206 17.481275,2.1226065 13.825712,1.8132787 10.243023,2.2723918 7.4961906,6.5136734" /></svg>');
    }

    .brand-logos figure:nth-child(3n + 1)::before {
        top: 40%;
        width: 34px;
        height: 12px;
        mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="m70.315 15.008-4.872 14.89c3.223.722 5.077-2.564 6.034-5.065 2.984-6.386 6.23-12.723 8.262-19.487 1.129-3.01-1.581-6.262-4.77-5.107-4.399.956-8.717 2.561-13.233 2.819-1.918-.135-6.61-.879-6.041 1.837.192 4.074 5.114 3.585 8.054 3.97 2.625-.26-1.307 2.26-2.272 2.871-7.234 2.494-14.435 5.404-22.14 6.053-12.135 1.633-24.965.735-36.026-4.863-3.62-1.788-4.488 3.671-1.52 4.987 2.475 2.462 6.107 3.04 9.235 4.345 9.066 2.965 18.805 3.559 28.275 2.857 9.451-.926 18.993-3.16 27.206-8.07a143 143 0 0 1 3.808-2.037"/></svg>');
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 30"><path d="m70.315 15.008-4.872 14.89c3.223.722 5.077-2.564 6.034-5.065 2.984-6.386 6.23-12.723 8.262-19.487 1.129-3.01-1.581-6.262-4.77-5.107-4.399.956-8.717 2.561-13.233 2.819-1.918-.135-6.61-.879-6.041 1.837.192 4.074 5.114 3.585 8.054 3.97 2.625-.26-1.307 2.26-2.272 2.871-7.234 2.494-14.435 5.404-22.14 6.053-12.135 1.633-24.965.735-36.026-4.863-3.62-1.788-4.488 3.671-1.52 4.987 2.475 2.462 6.107 3.04 9.235 4.345 9.066 2.965 18.805 3.559 28.275 2.857 9.451-.926 18.993-3.16 27.206-8.07a143 143 0 0 1 3.808-2.037"/></svg>');
    }
}

/* ---EMAIL FORM EMAILING AGENDA USERS--- */
/* --- Structure de base (Desktop) --- */
#brocante-slide-in {
    position: fixed;
    bottom: -100%; /* Caché par défaut en bas */
    right: 30px;
    width: 350px;
    background-color: #1a1a1a; /* Gris très sombre */
    color: #f4f4f4;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3);
    border: 1px solid #333;
    z-index: 9999;
    transition: bottom 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); /* Animation fluide */
}

/* Classe ajoutée par le JS pour l'afficher */
#brocante-slide-in.slide-in-visible {
    bottom: 30px;
}

/* --- Design Intérieur --- */
#close-slide-in {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    color: #888;
    font-size: 24px;
    cursor: pointer;
}
#close-slide-in:hover {
    color: #fff;
}

.slide-in-content {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.slide-in-icon {
    font-size: 32px;
}
.slide-in-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}
.slide-in-text p {
    margin: 0;
    font-size: 13px;
    color: #bbb;
    line-height: 1.4;
}

#brocante-mail-form {
    display: flex;
    gap: 10px;
}
#brocante-mail-form input {
    flex: 1;
    padding: 10px;
    border: 1px solid #444;
    background: #2a2a2a;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
}
#brocante-mail-form button {
    padding: 10px 15px;
    background-color: #d4af37; /* Couleur Or/Laiton vintage */
    color: #111;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s ease;
}
#brocante-mail-form button:hover {
    background-color: #e5c158;
}

/* --- Comportement Mobile (Bottom Sheet) --- */
@media (max-width: 768px) {
    #brocante-slide-in {
        right: 0;
        width: auto;
        border-radius: 16px 16px 0 0; /* Arrondi seulement en haut */
        border: none;
        border-top: 1px solid #333;
    }
    #brocante-slide-in.slide-in-visible {
        bottom: 0; /* Collé au bas de l'écran sur mobile */
    }
}

@media (max-width: 768px) {
    .woocommerce h1.has-x-large-font-size,
    .woocommerce h1.has-xx-large-font-size {
        font-size: 1.7rem !important;
    }

    .woocommerce h2 {
        font-size: 1.3rem !important;
        margin-top: 1.8rem;
    }

    .woocommerce h3,
    .woocommerce h4 {
        font-size: 1.1rem !important;
        margin-top: 1.6rem;
    }

    .woocommerce h3.bf-product-title {
        font-size: 1rem !important;
    }

    .woocommerce,
    .woocommerce .wc-block-product-description ul,
    .woocommerce th,
    .woocommerce td,
    .woocommerce p,
    .woocommerce p.wp-block-post-excerpt__excerpt {
        font-size: 0.9rem;
        line-height: 1.3rem;
    }

    .woocommerce .wc-block-product-description ul li {
        margin-bottom: 0.6rem;
    }

    .cat_description {
        padding: 10px !important;
        margin: 0;
    }

    .bf-toolbar > span {
        font-size: 0.8rem;
    }
    .bf-toolbar label {
        font-size: 0.8rem;
    }
    .bf-toolbar select {
        max-width: 130px !important;
        font-size: 0.8rem;
        padding: 5px 20px 5px 5px;
    }

    .woocommerce ul.products li.product.bf-product-card {
        margin: 0 !important;
    }
}
