/* Fiche produit Originel : badges, « L'essentiel », bloc d'achat, « Pour aller plus loin », cartes.
   Mise en page d'après la maquette « Fiche produit » du cahier des charges ; couleurs du thème Originel
   (theme.json : logo et ancien site), avec une valeur de secours. */

/* Badges : pastilles arrondies, une couleur par label */
.originel-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.originel-badge { display: inline-flex; align-items: center; text-decoration: none; }
.originel-badge__logo { width: 48px; height: 48px; object-fit: contain; }
.originel-badge__texte {
    display: inline-block; padding: 0.3rem 0.85rem; border-radius: 999px;
    font-size: var(--originel-taille-mini, 1rem); font-weight: 700; line-height: 1.3;
    color: #fff; background: var(--wp--preset--color--olive-fonce, #5F6110);              /* IGP et labels sans couleur propre */
}
.originel-badge--aop .originel-badge__texte { background: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-badge--aoc .originel-badge__texte { background: #8A5A2B; }
.originel-badge--stg .originel-badge__texte { background: var(--wp--preset--color--bleu, #17729A); }
.originel-badge--label-rouge .originel-badge__texte { background: var(--wp--preset--color--rouge, #B3262B); }
.originel-badge--bio .originel-badge__texte, .originel-badge--ab .originel-badge__texte { background: #3F7A2E; }
.originel-badge--medaille .originel-badge__texte { background: #E8B53E; color: var(--wp--preset--color--contrast, #3B2E26); }
.originel-badge--argent .originel-badge__texte { background: #D5D8DC; }
.originel-badge--bronze .originel-badge__texte { background: #D9A06B; }
.originel-badges--fiche .originel-badge__texte::after { content: " ↗"; }
/* Label avec son logo officiel : le logo seul dans un rond blanc ombré (RDV cliente 28/10).
   Au survol, un liseré de la couleur du logo (--couleur-label). */
.originel-badge--avec-logo {
    --couleur-label: var(--wp--preset--color--brun-logo, #5D4537);
    justify-content: center; box-sizing: border-box; border-radius: 50%; background: #fff; padding: 6px;
    box-shadow: 0 1px 5px rgba(59, 46, 38, .22); transition: transform .15s, box-shadow .15s;
}
.originel-badge--avec-logo .originel-badge__logo { width: 100%; height: 100%; object-fit: contain; }
.originel-badge--avec-logo:hover, .originel-badge--avec-logo:focus-visible {
    transform: translateY(-2px); outline: none; box-shadow: 0 0 0 2px var(--couleur-label), 0 4px 10px rgba(59, 46, 38, .25);
}
.originel-badge--aop { --couleur-label: #D7261E; }
.originel-badge--igp { --couleur-label: #1D4F9C; }
.originel-badge--bio, .originel-badge--ab { --couleur-label: #6EAE2E; }
.originel-badge--label-rouge { --couleur-label: #D2232A; }
.originel-badge--aoc { --couleur-label: #8A5A2B; }
.originel-badge--stg { --couleur-label: #E2B000; }
.originel-badge--medaille { --couleur-label: #C99A2E; }
/* Essai (Eric, 02/11) : logos sans rond blanc, sur fond transparent ; ombre et survol qui suivent la forme du logo */
.originel-badge--avec-logo, .originel-badge--avec-logo:hover, .originel-badge--avec-logo:focus-visible { background: transparent !important; padding: 0 !important; box-shadow: none !important; border-radius: 0; }
.originel-badge--avec-logo .originel-badge__logo { filter: drop-shadow(0 1px 2px rgba(59, 46, 38, .25)); transition: filter .15s; }
.originel-badge--avec-logo:hover .originel-badge__logo, .originel-badge--avec-logo:focus-visible .originel-badge__logo {
    filter: drop-shadow(0 0 3px color-mix(in srgb, var(--couleur-label) 55%, transparent));
}
/* Le logo Bio européen est un rectangle plein : à largeur égale il paraît plus gros que les logos ronds.
   On le réduit pour qu'il ait le même poids visuel, centré à la place des ronds (Eric, 02/11). */
.originel-badge--bio .originel-badge__logo, .originel-badge--ab .originel-badge__logo { width: 78%; height: auto; }
.originel-pastille--bio .originel-pastille__logo, .originel-pastille--ab .originel-pastille__logo { width: 24px; height: auto; margin-left: -0.3rem; }
/* Fiche : colonne « Labels » à droite de « L'essentiel », séparée par un filet */
.originel-essentiel__labels { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding-left: 1.25rem; border-left: 1px solid var(--wp--preset--color--terre-claire, #E9DFCB); }
.originel-essentiel__labels .originel-essentiel__titre { margin: 0; }
.originel-essentiel__labels .originel-badges--fiche { justify-content: center; gap: 0.5rem; max-width: 9.5rem; }
.originel-badges--fiche .originel-badge--avec-logo { width: 64px; height: 64px; }
/* Cartes de la boutique : petit rond en haut à gauche de la photo (proposition A) */
.originel-badges--vignette .originel-badge--avec-logo { width: 42px; height: 42px; padding: 5px; }
/* Survol plus discret sur les cartes : liseré fin, couleur du logo adoucie (Eric, 02/11) */
.originel-badges--vignette .originel-badge--avec-logo:hover, .originel-badges--vignette .originel-badge--avec-logo:focus-visible {
    transform: none; box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--couleur-label) 45%, transparent), 0 2px 6px rgba(59, 46, 38, .2);
}
.originel-badge .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.originel-badge:hover .originel-badge__texte, .originel-badge:focus-visible .originel-badge__texte { outline: 2px solid var(--wp--preset--color--accent-3, #17729A); outline-offset: 2px; }

/* Colonne d'achat : badges, titre, l'essentiel, prix et bouton, puis la description courte */
.single-product .wp-block-column:has(> .wp-block-post-title) { display: flex; flex-direction: column; gap: 0.9rem; }
.single-product .wp-block-column:has(> .wp-block-post-title) > * { margin-block: 0; }
.single-product .wp-block-column:has(> .wp-block-post-title) > .wp-block-post-excerpt { order: 10; }
.single-product .wp-block-column:has(> .wp-block-post-title) > .originel-lire-suite { order: 11; }
.single-product .wp-block-column:has(> .wp-block-post-title) > .wp-block-woocommerce-product-meta { order: 12; }
.single-product .wp-block-post-title { font-size: clamp(2rem, 3.4vw, 2.6rem); line-height: 1.15; }

/* « L'essentiel » : encart compact sur fond lin, filet terre cuite à gauche */
.originel-essentiel {
    background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-left: 4px solid var(--wp--preset--color--terre-cuite, #85604F);
    border-radius: 0 10px 10px 0; padding: 0.8rem 1.1rem; font-size: var(--originel-taille-mini, 1rem);
}
.originel-essentiel__titre { margin: 0 0 0.3rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-essentiel dl { display: grid; grid-template-columns: max-content 1fr; column-gap: 1.25rem; margin: 0; }
.originel-essentiel dt, .originel-essentiel dd { margin: 0; padding: 0.35rem 0; border-bottom: 1px solid var(--wp--preset--color--terre-claire, #E9DFCB); line-height: 1.45; }
.originel-essentiel dl > :nth-last-child(-n+2) { border-bottom: none; }
.originel-essentiel dt { font-weight: 700; color: var(--wp--preset--color--brun-logo, #5D4537); display: flex; align-items: center; gap: 0.45rem; }
.originel-essentiel__icone { flex: none; width: 15px; height: 15px; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-essentiel dd a { color: var(--wp--preset--color--olive-fonce, #5F6110); text-decoration: none; border-bottom: 1px solid currentColor; }
.originel-essentiel dd a:hover, .originel-essentiel dd a:focus-visible { color: var(--wp--preset--color--terre-cuite, #85604F); }
@media (max-width: 600px) { .originel-essentiel dl { grid-template-columns: 1fr; } .originel-essentiel dt { border-bottom: none; padding-bottom: 0; } .originel-essentiel dd { padding-left: 1.35rem; } }

/* Prix et bouton : sur une ligne pour un produit simple */
.single-product .wp-block-woocommerce-product-price, .single-product .summary .price {
    font-family: var(--wp--preset--font-family--titres, serif); font-size: 2rem !important; font-weight: 600;
    color: var(--wp--preset--color--contrast, #3B2E26);
}
.single-product form.cart { margin: 0; }
.single-product form.cart:not(.variations_form), .single-product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.single-product form.cart .quantity input.qty {
    min-height: 48px; width: 4.5rem; font-size: 1.16rem; text-align: center;
    border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); border-radius: 999px; background: #fff;
}
.single-product form.cart .single_add_to_cart_button { min-height: 48px; padding: 0.8rem 1.8rem !important; }
/* Bouton « Ajouter au panier » : couleurs de la palette (Styles > Couleurs), écrites ici pour passer devant celles de WooCommerce */
.single-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled) {
    color: var(--wp--preset--color--bouton-texte, #FFFFFF) !important; background: var(--wp--preset--color--accent-3, #17729A) !important;
    border-color: var(--wp--preset--color--accent-3, #17729A) !important; transition: background-color .2s, border-color .2s;
}
.single-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):hover,
.single-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):focus-visible {
    color: var(--wp--preset--color--bouton-texte, #FFFFFF) !important; background: var(--wp--preset--color--bouton-survol, #5D4537) !important;
    border-color: var(--wp--preset--color--bouton-survol, #5D4537) !important;
}
.single-product form.cart .single_add_to_cart_button.disabled, .single-product form.cart .single_add_to_cart_button:disabled {
    opacity: 1 !important; background: var(--wp--preset--color--accent-6, #E2D8C3) !important; color: var(--wp--preset--color--contrast, #3B2E26) !important; cursor: not-allowed;
}
.single-product form.cart table.variations { margin: 0 0 0.75rem; border: none; }
.single-product form.cart table.variations th, .single-product form.cart table.variations td { padding: 0.25rem 0.75rem 0.25rem 0; border: none; background: none; vertical-align: middle; }
.single-product form.cart table.variations label { font-weight: 700; }
.single-product form.cart select {
    min-height: 44px; min-width: 200px; padding: 0.5rem 2.5rem 0.5rem 0.9rem; font-size: 1.1rem;
    border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); border-radius: 8px; background-color: #fff; color: inherit;
}
.single-product form.cart .reset_variations { font-size: var(--originel-taille-mini, 1rem); margin-left: 0.5rem; }
.single-product form.cart .woocommerce-variation { margin: 0 0 0.75rem; }
.single-product form.cart .woocommerce-variation-price .price { font-size: 1.6rem !important; }
.single-product form.cart .woocommerce-variation-description p { margin: 0 0 0.5rem; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); }
.single-product form.cart .stock { margin: 0; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; color: var(--wp--preset--color--olive-fonce, #5F6110); }
.single-product form.cart .stock.out-of-stock { color: var(--wp--preset--color--brun-logo, #5D4537); }   /* 0.9.155 : pas de rouge (Eric 10/11) */

/* Description courte (« sensible ») sous le bouton, puis le lien vers la description complète */
.single-product .wp-block-post-excerpt__excerpt, .single-product .woocommerce-product-details__short-description {
    font-size: 1.16rem; line-height: 1.7; color: var(--wp--preset--color--contrast, #3B2E26);
    display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; margin: 0;
}
.originel-lire-suite { margin: 0; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; }
.single-product .wp-block-woocommerce-product-meta, .single-product .product_meta { font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); line-height: 1.6; }
.single-product .product_meta > span { display: block; }
.single-product .product_meta .sku_wrapper { display: none; }   /* référence masquée (RDV 28/10) */

/* « Pour aller plus loin » : sobre, comme le reste du site. Un titre souligné d'olive,
   puis des rubriques séparées par un filet ; le contenu s'ouvre sur le fond de la page. */
.originel-accordeon { margin: 3.5rem 0 0; }
.originel-accordeon__titre { font-size: 1.8rem; margin: 0 0 0.75rem; padding-bottom: 0.6rem; border-bottom: 3px solid var(--wp--preset--color--accent-2, #A4A510); }
.originel-accordeon__section { border-bottom: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); }
.originel-accordeon__section summary {
    cursor: pointer; list-style: none; position: relative; min-height: 44px; padding: 1.1rem 2.5rem 1.1rem 0;
    font-family: var(--wp--preset--font-family--titres, serif); font-weight: 500; font-size: 1.2rem; color: var(--wp--preset--color--contrast, #3B2E26);
}
.originel-accordeon__section summary::-webkit-details-marker { display: none; }
.originel-accordeon__section summary::after {
    content: "+"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%);
    font-family: var(--wp--preset--font-family--texte, sans-serif); font-size: 1.6rem; font-weight: 400; line-height: 1;
    color: var(--wp--preset--color--olive-fonce, #5F6110);
}
.originel-accordeon__section[open] summary::after { content: "−"; }
.originel-accordeon__section summary:hover { color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-accordeon__section summary:focus-visible { outline: 3px solid var(--wp--preset--color--accent-3, #17729A); outline-offset: 2px; }
.originel-accordeon__section[open] { border-bottom: none; margin: 0.5rem 0; }
.originel-accordeon__section[open] summary {
    padding-left: 1.5rem; padding-right: 3.5rem; border-radius: 12px 12px 0 0;
    background: var(--wp--preset--color--terre-claire, #E9DFCB); color: var(--wp--preset--color--brun-logo, #5D4537);
}
.originel-accordeon__section[open] summary::after { right: 1.5rem; }

/* Contenu : une page de carnet sur fond lin, texte en alinéas, lettrine au début */
.originel-accordeon__contenu {
    padding: 1.4rem 1.6rem 1.6rem; font-size: var(--originel-taille-mini, 1rem); line-height: 1.7;
    background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 0 0 12px 12px; border-top: 1px solid #DCCFB5;
}
.originel-accordeon__contenu > * { max-width: 70ch; }
.originel-accordeon__contenu > h2:first-child { display: none; } /* WooCommerce répète le nom de la section */
.originel-accordeon__contenu .woocommerce-Reviews-title { display: none; }
.originel-accordeon__contenu p { margin: 0 0 0.4rem; }
.originel-accordeon__contenu p + p { text-indent: 1.6em; }                          /* alinéa, comme dans un livre */
.originel-accordeon__contenu > p:first-of-type::first-letter {                       /* lettrine */
    float: left; font-family: var(--wp--preset--font-family--titres, serif); font-size: 3.3em; line-height: 0.85;
    padding: 0.08em 0.12em 0 0; color: var(--wp--preset--color--terre-cuite, #85604F);
}
.originel-accordeon__contenu [style*="color"] { color: inherit !important; }      /* couleurs imposées par l'ancien site */
.originel-accordeon__contenu span, .originel-accordeon__contenu strong, .originel-accordeon__contenu em { font-size: inherit !important; }
.originel-accordeon__contenu h2, .originel-accordeon__contenu h3, .originel-accordeon__contenu h4, .originel-accordeon__contenu h5 {
    font-family: var(--wp--preset--font-family--titres, serif) !important; font-size: 1.21rem !important; font-weight: 600 !important; font-style: italic;
    color: var(--wp--preset--color--terre-cuite, #85604F) !important; margin: 1.8rem 0 0.7rem; line-height: 1.3;
    display: flex; align-items: center; gap: 0.75rem;
}
.originel-accordeon__contenu h2::after, .originel-accordeon__contenu h3::after, .originel-accordeon__contenu h4::after, .originel-accordeon__contenu h5::after {
    content: ""; flex: 1; height: 1px; background: #CDBF9F;                            /* filet jusqu'au bout de la ligne */
}
.originel-accordeon__contenu h2 *, .originel-accordeon__contenu h3 *, .originel-accordeon__contenu h4 * { font: inherit !important; }
.originel-accordeon__contenu h2 + p, .originel-accordeon__contenu h3 + p, .originel-accordeon__contenu h4 + p { text-indent: 0; }
@media (max-width: 600px) { .originel-accordeon__contenu { padding: 1.25rem 1rem; } }
/* Renvoi en italique vers l'appellation : un encadré discret */
.originel-accordeon__contenu p:has(> em:only-child), .originel-accordeon__contenu p > em:last-child:has(a) {
    display: block; margin: 1rem 0; padding: 0.8rem 1rem; background: #fff; text-indent: 0; text-align: left;
    border-left: 3px solid var(--wp--preset--color--accent-2, #A4A510); border-radius: 0 8px 8px 0; color: var(--wp--preset--color--accent-4, #7A5F4E);
}
/* Tableaux : valeurs nutritionnelles, caractéristiques (y compris ceux construits à partir de lignes « Nom : valeur ») */
.originel-accordeon__contenu table { width: 100%; max-width: 620px; border-collapse: collapse; margin: 0.5rem 0 1.5rem; font-size: var(--originel-taille-mini, 1rem); background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(59, 46, 38, 0.08); }
.originel-accordeon__contenu th, .originel-accordeon__contenu td {
    padding: 0.6rem 1rem; text-align: left; border: none; border-bottom: 1px solid var(--wp--preset--color--accent-1, #F1EBDD);
    font-style: normal !important; vertical-align: top; color: var(--wp--preset--color--contrast, #3B2E26) !important; background: transparent;
}
.originel-accordeon__contenu tr:last-child th, .originel-accordeon__contenu tr:last-child td { border-bottom: none; }
.originel-accordeon__contenu td p, .originel-accordeon__contenu th p { margin: 0; font-style: normal; }
.originel-accordeon__contenu th { width: 38%; font-weight: 700; color: var(--wp--preset--color--olive-fonce, #5F6110) !important; }

/* Cartes « En savoir plus » sous le panneau */
.originel-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin: 1.75rem 0 2.5rem; }
.originel-carte {
    display: flex; flex-direction: column; gap: 0.35rem; padding: 1.1rem 1.25rem; background: #fff; border-radius: 12px;
    box-shadow: 0 1px 3px rgba(59, 46, 38, 0.08); text-decoration: none; color: var(--wp--preset--color--contrast, #3B2E26); transition: transform .15s, box-shadow .15s;
}
.originel-carte:hover, .originel-carte:focus-visible { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(59, 46, 38, 0.12); }
.originel-carte__surtitre { font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-carte__titre { font-family: var(--wp--preset--font-family--titres, Georgia, serif); font-size: 1.26rem; }

/* Vignettes de la boutique : photo entière dans un carré blanc, badges compacts, prix et bouton alignés en bas */
.originel-badges--vignette { justify-content: center; gap: 0.3rem; margin: 0.35rem 0 0.5rem; }
.originel-badges--vignette .originel-badge__texte { font-size: var(--originel-taille-mini, 1rem); padding: 0.15rem 0.6rem; }
.originel-badges--vignette .originel-badge:not(.originel-badge--avec-logo) .originel-badge__logo { width: 34px; height: 34px; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img, ul.products li.product img {
    aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border-radius: 0; box-sizing: border-box;
    padding: 0; border: 0; outline: none;   /* carré blanc, sans cadre ni marge : les photos détourées ont déjà leur blanc */
}
.wc-block-components-product-image, .wp-block-woocommerce-product-image { padding: 0; }
/* Fiche : grande photo entière (pas recadrée) dans un carré blanc, sans cadre.
   Rien sur le bloc de la diapositive (le diaporama de WooCommerce calcule ses largeurs dessus),
   et rien sur .zoomImg, l'image agrandie que la loupe ajoute par-dessus au survol. */
.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; box-sizing: border-box; padding: 0;
    border: 0; border-radius: 0; outline: none;
}
.single-product .woocommerce-product-gallery { padding: 0; }
.single-product .flex-control-thumbs img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border-radius: 0; outline: none; }
.wc-block-product-template .wc-block-product, ul.products li.product { display: flex; flex-direction: column; }
.wc-block-product-template .wc-block-product > .wp-block-woocommerce-product-price,
.wc-block-product-template .wc-block-product > .wc-block-components-product-price { margin-top: auto; }
ul.products li.product .price { margin-top: auto; }

/* Pages Label, AOP, Région… (gabarit Archive du thème parent) : la photo du produit est entière, jamais recadrée,
   dans le même carré blanc que la boutique. Le bloc Image mise en avant impose « cover » en ligne, d'où !important. */
body[class*="tax-"] .wp-block-post-featured-image {
    background: #fff; box-sizing: border-box; padding: 0;
    max-width: 420px; margin-left: auto; margin-right: auto;
}
body[class*="tax-"] .wp-block-post-featured-image img {
    object-fit: contain !important; aspect-ratio: 1 / 1 !important; height: auto !important; border-radius: 0;
}

/* Boutique et pages de catégorie : 4 produits par ligne (16 par page = 4 lignes pleines), 2 sur téléphone */
@media (min-width: 782px) {
    .wc-block-product-template.columns-3, .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* ---------------------------------------------------------------------------
   Boutique (boutique.php) : pastilles des labels, barre de filtres et de tri, compteur, vignettes en cartes
   --------------------------------------------------------------------------- */
.originel-boutique {
    --bleu-logo: var(--wp--preset--color--bleu-ciel, #24A8D8); --bleu-logo-fonce: var(--wp--preset--color--bleu, #17729A); --bleu-logo-clair: var(--wp--preset--color--bleu-clair, #E4F3FA);
    --olive-clair: #EEEFD2; --rouge-logo: #EC1D25;
    margin: 0 0 2rem;
}
.originel-boutique__labels { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.originel-pastille {
    display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 1rem; border-radius: 999px;
    font-size: var(--originel-taille-mini, 1rem); font-weight: 700; text-decoration: none; color: var(--wp--preset--color--brun-logo, #5D4537);
    background: #fff; border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); transition: background .15s, color .15s, border-color .15s;
}
.originel-pastille__logo { width: 30px; height: 30px; object-fit: contain; margin: -0.25rem 0 -0.25rem -0.55rem; }   /* essai : fond transparent */
.originel-pastille .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.originel-pastille__nombre { font-size: var(--originel-taille-mini, 1rem); font-weight: 400; opacity: 0.7; }
.originel-pastille:hover, .originel-pastille:focus-visible { border-color: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-pastille.est-active { color: #fff; background: var(--wp--preset--color--brun-logo, #5D4537); border-color: var(--wp--preset--color--brun-logo, #5D4537); }
/* Pastille active : la couleur du badge du label */
.originel-pastille--igp.est-active { background: var(--wp--preset--color--olive-fonce, #5F6110); border-color: var(--wp--preset--color--olive-fonce, #5F6110); }
.originel-pastille--aoc.est-active { background: #8A5A2B; border-color: #8A5A2B; }
.originel-pastille--stg.est-active { background: var(--wp--preset--color--bleu, #17729A); border-color: var(--wp--preset--color--bleu, #17729A); }
.originel-pastille--label-rouge.est-active { background: var(--wp--preset--color--rouge, #B3262B); border-color: var(--wp--preset--color--rouge, #B3262B); }
.originel-pastille--bio.est-active, .originel-pastille--ab.est-active { background: #3F7A2E; border-color: #3F7A2E; }

.originel-boutique__barre {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.6rem;
    background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 14px;
}
.originel-boutique__listes { display: flex; flex-wrap: wrap; gap: 0.6rem; flex: 1 1 36rem; }
/* Recherche par nom : sur sa propre ligne en haut de la barre, suggestions en liste déroulante */
.originel-boutique__barre { position: relative; }
.originel-boutique__recherche { position: relative; flex: 1 1 100%; }
.originel-boutique__champ {
    display: flex; align-items: center; gap: 0.6rem; height: 2.6rem; margin: 0 !important; padding: 0 0.9rem; box-sizing: border-box;
    color: var(--wp--preset--color--brun-logo, #5D4537); background: #fff; border: 1px solid transparent; border-radius: 10px;
}
.originel-boutique__champ:focus-within { border-color: var(--bleu-logo); box-shadow: inset 0 0 0 1px var(--bleu-logo); }
.originel-boutique__champ input { flex: 1; min-width: 0; height: 100%; padding: 0; font: inherit; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--contrast, #3B2E26); background: transparent; border: 0; outline: 0; }
.originel-suggestions {
    position: absolute; z-index: 20; top: calc(100% + 0.4rem); left: 0; width: min(34rem, 100%); padding: 0.4rem; box-sizing: border-box;
    background: #fff; border-radius: 12px; box-shadow: 0 14px 34px rgba(59, 46, 38, 0.16);
}
.originel-suggestions[hidden] { display: none; }
.originel-suggestion {
    display: grid; grid-template-columns: 48px 1fr auto; gap: 0.8rem; align-items: center; padding: 0.45rem 0.6rem; border-radius: 8px;
    text-decoration: none; color: var(--wp--preset--color--contrast, #3B2E26);
}
.originel-suggestion:hover, .originel-suggestion.est-choisi { background: var(--wp--preset--color--lin-fonce, #F4EEE2); }
.originel-suggestion img, .originel-suggestion__vide { width: 48px; height: 48px; object-fit: contain; border-radius: 6px; background: var(--wp--preset--color--lin-fonce, #F4EEE2); mix-blend-mode: multiply; }
.originel-suggestion__nom { font-family: var(--wp--preset--font-family--titres, serif); font-size: 1.1rem; line-height: 1.25; }
.originel-suggestion__nom small { display: block; margin-top: 0.1rem; font-family: var(--wp--preset--font-family--texte, sans-serif); font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-suggestion__prix { font-size: var(--originel-taille-mini, 1rem); font-weight: 700; white-space: nowrap; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-suggestion__prix del { display: block; font-size: var(--originel-taille-mini, 1rem); font-weight: 400; text-align: right; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-suggestions__tout {
    display: block; width: 100%; margin-top: 0.3rem; padding: 0.6rem; font: inherit; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; text-align: left;
    color: var(--bleu-logo-fonce); background: none; border: 0; border-top: 1px solid var(--wp--preset--color--accent-1, #F1EBDD); cursor: pointer;
}
.originel-suggestions__tout:hover { text-decoration: underline; }
.originel-suggestions__rien { margin: 0; padding: 0.7rem; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-boutique__liste {
    flex: 1 1 10rem; min-width: 0; height: 2.6rem; margin: 0; box-sizing: border-box; padding: 0 2.2rem 0 0.9rem; font: inherit; font-size: var(--originel-taille-mini, 1rem);
    color: var(--wp--preset--color--contrast, #3B2E26); background-color: #fff; border: 1px solid transparent; border-radius: 10px;
    appearance: none; -webkit-appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235D4537' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 0.85rem center;
}
.originel-boutique__liste:hover { border-color: var(--wp--preset--color--accent-6, #E2D8C3); }
.originel-boutique__liste:focus-visible { outline: 2px solid var(--wp--preset--color--olive-fonce, #5F6110); outline-offset: 1px; }
.originel-boutique__liste.est-active { color: var(--bleu-logo-fonce); border-color: var(--bleu-logo); box-shadow: inset 0 0 0 1px var(--bleu-logo); font-weight: 700; }
/* Le thème donne une marge basse aux étiquettes de formulaire : sans la remettre à 0, « Trier » est décalé */
.originel-boutique__tri { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0 auto !important; padding: 0 0 0 0.75rem; line-height: 1; border-left: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); }
.originel-boutique__tri > span { margin: 0; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--olive-fonce, #5F6110); }
.originel-boutique__tri .originel-boutique__liste { flex: none; width: 11.5rem; }
/* Listes déroulantes maison (boutique.php, ORIGINEL_JS_LISTES) : bouton comme l'ancienne liste, panneau au style du site */
.originel-liste { position: relative; flex: 1 1 10rem; min-width: 0; }
.originel-liste > select { display: none !important; }
.originel-boutique__tri .originel-liste { flex: none; width: 11.5rem; }
.originel-liste__bouton {
    display: flex; align-items: center; width: 100%; height: 2.6rem; margin: 0; padding: 0 2.2rem 0 0.9rem; box-sizing: border-box;
    font: inherit; font-size: var(--originel-taille-mini, 1rem); text-align: left; color: var(--wp--preset--color--contrast, #3B2E26); cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235D4537' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 0.85rem center;
    border: 1px solid transparent; border-radius: 10px; transition: border-color .15s, box-shadow .15s;
}
.originel-liste__valeur { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.originel-liste__bouton:hover { border-color: var(--wp--preset--color--accent-6, #E2D8C3); }
.originel-liste__bouton:focus-visible { outline: 2px solid var(--wp--preset--color--olive-fonce, #5F6110); outline-offset: 1px; }
.originel-liste.est-ouverte .originel-liste__bouton { box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-6, #CDBFA6); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 6.5l5-5 5 5' fill='none' stroke='%235D4537' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
/* Filtre choisi (Eric, 02/11) : bouton bleu pastel « ✓ Région : Italie » et « Retirer ✕ » à droite */
.originel-liste.est-active .originel-liste__bouton {
    gap: 0.3rem; padding-right: 6.2rem; color: var(--bleu-logo-fonce, #17739C); font-weight: 700;
    background: var(--bleu-logo-clair, #E4F3FA) none; border: 1.5px solid var(--bleu-logo, #28A9E2); box-shadow: none;
}
.originel-liste.est-active .originel-liste__bouton::before { content: "✓"; flex: none; }
.originel-liste.est-active { flex: 2 1 15rem; }   /* la liste choisie prend plus de place, pour lire son nom en entier */
.originel-liste.est-active .originel-liste__valeur { min-width: 0; }
.originel-liste.est-active .originel-liste__bouton:hover { background-color: #D3ECF8; }
.originel-liste__etiquette { flex: none; font-weight: 400; }
.originel-liste__retirer {
    position: absolute; top: 50%; right: 0.5rem; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.2rem 0.6rem; font: inherit; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; line-height: 1.2; color: var(--bleu-logo-fonce, #17739C);
    background: #fff; border: 0; border-radius: 999px; cursor: pointer;
}
.originel-liste__retirer:hover, .originel-liste__retirer:focus-visible { color: #fff; background: var(--bleu-logo-fonce, #17739C); }
/* Panneau « Lin » (proposition B choisie par Eric le 02/11) : le fond lin de la barre, lignes blanches arrondies */
.originel-liste__panneau {
    position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; width: max(100%, 18rem); max-width: calc(100vw - 2rem); box-sizing: border-box;
    padding: 0.5rem; background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 12px; box-shadow: 0 10px 24px rgba(59, 46, 38, 0.14);
    animation: originel-liste-ouvre .12s ease-out;
}
.originel-boutique__tri .originel-liste__panneau { left: auto; right: 0; }
@keyframes originel-liste-ouvre { from { opacity: 0; transform: translateY(-3px); } }
.originel-liste__titre { display: none; }
.originel-liste__recherche {
    display: flex; align-items: center; gap: 0.45rem; margin: 0 0 0.35rem; padding: 0 0.8rem; height: 2.3rem;
    color: var(--wp--preset--color--accent-4, #8A7B6E); background: #fff; border-radius: 999px;
}
.originel-liste__recherche:focus-within { box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-6, #CDBFA6); }
.originel-liste__recherche input { flex: 1; min-width: 0; padding: 0; font: inherit; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--contrast, #3B2E26); background: none; border: 0; outline: none; }
.originel-liste__recherche input::-webkit-search-cancel-button { -webkit-appearance: none; }
.originel-liste__choix { max-height: 17rem; margin: 0; padding: 0; overflow-y: auto; list-style: none; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--terre-claire, #E9DFCB) transparent; }
.originel-liste__option.originel-liste__section {
    margin: 0.5rem 0 0.25rem; padding: 0.55rem 0.7rem; font-weight: 700; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--brun-logo, #5D4537);
    background: #E6E7BE; border: 1px solid #D3D59A; border-radius: 9px;   /* olive pastel : le parent se distingue des enfants */
}
.originel-liste__option.originel-liste__section:hover, .originel-liste__option.originel-liste__section.est-survolee { background: #DCDEA6; }
.originel-liste__section .originel-liste__nom small { margin-left: 0.5rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 400; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-liste__section .originel-liste__nombre { font-weight: 700; color: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-liste__option.originel-liste__sous { margin-left: 0.85rem; padding-left: 0.75rem; border-left: 2px solid var(--wp--preset--color--terre-claire, #E2D8C3); border-radius: 0 8px 8px 0; }
.originel-liste__option.originel-liste__sous[data-niveau="2"] { margin-left: 1.7rem; }
.originel-liste__option.originel-liste__sous[data-niveau="3"] { margin-left: 2.55rem; }
.originel-liste__option {
    display: flex; align-items: center; gap: 0.6rem; margin: 1px 0; padding: 0.45rem 0.6rem; border-radius: 8px;
    font-size: var(--originel-taille-mini, 1rem); line-height: 1.3; color: var(--wp--preset--color--contrast, #3B2E26); cursor: pointer;
}
.originel-liste__option--tous { color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-liste__nom { flex: 1; min-width: 0; }
.originel-liste__nombre { flex: none; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #8A7B6E); }
.originel-liste__option:hover, .originel-liste__option.est-survolee { background: #fff; }
/* Choix en cours : bleu pastel, comme la puce du filtre actif sous la barre (Eric, 02/11) */
.originel-liste__option.est-choisie, .originel-liste__option.originel-liste__section.est-choisie {
    font-weight: 700; color: var(--bleu-logo-fonce, #17739C); background: var(--bleu-logo-clair, #E4F3FA); border-color: #B5DDF0;
}
.originel-liste__option.est-choisie .originel-liste__nombre { color: var(--bleu-logo-fonce, #17739C); }
.originel-liste__coche {
    flex: none; display: grid; place-items: center; width: 1.15rem; height: 1.15rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 700;
    color: #fff; background: var(--bleu-logo, #28A9E2); border-radius: 50%;
}
.originel-liste__mention { flex: none; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.02em; color: var(--bleu-logo-fonce, #17739C); }
.originel-liste__option[hidden], .originel-liste__groupe[hidden], .originel-liste__rien[hidden] { display: none; }
.originel-liste__rien { margin: 0.4rem 0.6rem; font-size: var(--originel-taille-mini, 1rem); font-style: italic; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-boutique__bouton { height: 2.6rem; padding: 0 1.2rem; font: inherit; font-weight: 700; color: #fff; background: var(--wp--preset--color--brun-logo, #5D4537); border: 0; border-radius: 10px; cursor: pointer; }

.originel-boutique__resultat { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1rem; }
.originel-boutique__nombre { margin: 0 0.5rem 0 0; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-boutique__nombre strong { color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-boutique__actif {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.75rem; border-radius: 999px; font-size: var(--originel-taille-mini, 1rem);
    text-decoration: none; color: var(--bleu-logo-fonce); background: var(--bleu-logo-clair);
}
.originel-boutique__actif span { font-size: 1.16rem; line-height: 1; }
.originel-boutique__actif:hover, .originel-boutique__actif:focus-visible { color: #fff; background: var(--bleu-logo-fonce); }
.originel-boutique__effacer { font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--olive-fonce, #5F6110); }

/* Le rang vide laissé par le tri et le compteur de WooCommerce */
.originel-page-boutique .wp-block-group:not(:has(*)) { display: none; }

/* Vignettes en cartes (boutique et produits suggérés sous la fiche, classe .originel-vignettes) : fond blanc, texte aligné à gauche, prix et bouton en bas */
.originel-vignettes .wc-block-product-template { gap: 1.75rem 1.5rem !important; }
.originel-vignettes .wc-block-product {
    position: relative; padding: 0 0 1.1rem; background: #fff; border-radius: 14px; overflow: hidden;
    border: 1px solid rgba(93, 69, 55, 0.1); transition: transform .2s, box-shadow .2s;
}
.originel-vignettes .wc-block-product:hover { transform: translateY(-3px); border-color: rgba(164, 165, 16, 0.55); box-shadow: 0 10px 24px rgba(59, 46, 38, 0.1); }
/* Photo sur un fond lin arrondi (proposition B choisie par Eric) : le blanc des photos détourées se fond dans le lin */
.originel-vignettes .wc-block-product .wc-block-components-product-image {
    margin: 0.75rem 0.75rem 0.9rem !important; padding: 7%; overflow: hidden; box-sizing: border-box;
    background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 10px; isolation: isolate;
}
.originel-vignettes .wc-block-product .wc-block-components-product-image img { background: transparent !important; mix-blend-mode: multiply; transition: transform .35s; }
.originel-vignettes .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.04); }
/* Photo d'ambiance (pas de fond blanc, repérée par boutique.php) : elle remplit tout le cadre, coins arrondis */
.originel-vignettes .wc-block-product .wc-block-components-product-image.originel-photo-pleine { padding: 0; }
.originel-vignettes .wc-block-product .originel-photo-pleine img { object-fit: cover !important; mix-blend-mode: normal; }
/* Pas de cadre bordeaux au clic sur une carte ; au clavier, le contour se met autour de la carte entière */
.originel-vignettes .wc-block-product a:focus, .originel-vignettes .wc-block-product a:focus-visible { outline: none; }
.originel-vignettes .wc-block-product:has(a:focus-visible) { outline: 2px solid var(--bleu-logo, #28A9E2); outline-offset: 3px; }
.originel-vignettes .wc-block-product > *:not(.wc-block-components-product-image) { padding-inline: 1.1rem; text-align: left !important; }
.originel-vignettes .wc-block-product .wp-block-post-title { margin: 0 0 0.35rem; font-size: 1.16rem !important; line-height: 1.3; }
.originel-vignettes .wc-block-product .wp-block-post-title a { color: var(--wp--preset--color--contrast, #3B2E26); text-decoration: none; }
.originel-vignettes .wc-block-product .wp-block-post-title a:hover { color: var(--wp--preset--color--terre-cuite, #85604F); }
/* Labels en haut à gauche de la photo (RDV cliente 28/10, proposition A) */
.originel-vignettes .originel-badges--vignette {
    position: absolute; z-index: 2; top: calc(0.75rem + 8px); left: calc(0.75rem + 8px);
    flex-direction: column; align-items: flex-start; gap: 0.35rem; margin: 0; padding: 0 !important;
}
.originel-vignettes .originel-badges--vignette .originel-badge--avec-logo { width: 46px; height: 46px; }
.originel-vignette__description {
    margin: 0 0 0.75rem; padding-inline: 1.1rem; font-size: var(--originel-taille-mini, 1rem); line-height: 1.45; color: var(--wp--preset--color--accent-4, #7A5F4E);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.originel-vignettes .wc-block-product .wc-block-components-product-price,
.originel-vignettes .wc-block-product .wp-block-woocommerce-product-price * { text-align: left !important; justify-content: flex-start !important; }
.originel-vignettes .wc-block-product .wc-block-components-product-price { margin-bottom: 0.7rem; font-size: 1.21rem !important; font-weight: 700; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-vignettes .wc-block-product .wc-block-components-product-button { align-items: stretch; justify-content: flex-start; margin: 0 !important; }
.originel-vignettes .wc-block-product .wc-block-components-product-button .wp-block-button__link,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button {
    width: 100%; padding: 0.6rem 1rem; font: inherit; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; border-radius: 10px;
    color: var(--wp--preset--color--brun-logo, #5D4537) !important; background: #fff !important;
    border: 1.5px solid var(--wp--preset--color--brun-logo, #5D4537) !important; transition: background .15s, color .15s, border-color .15s;
}
/* Au survol et au clic : l'orange du panier */
.originel-vignettes .wc-block-product .wc-block-components-product-button .wp-block-button__link:hover,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button:hover,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button:focus-visible,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button:active,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button.loading,
.originel-vignettes .wc-block-product .wc-block-components-product-button__button.added {
     color: var(--wp--preset--color--bouton-texte, #FFFFFF) !important; background: var(--wp--preset--color--accent-3, #17729A) !important;
    border-color: var(--wp--preset--color--accent-3, #17729A) !important;
}

/* Pagination en pastilles */
.originel-page-boutique .wp-block-query-pagination { gap: 0.4rem; margin-top: 2.5rem; }
.originel-page-boutique .wp-block-query-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; padding: 0 0.6rem;
    border-radius: 999px; text-decoration: none; color: var(--wp--preset--color--brun-logo, #5D4537); background: #fff;
    border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3);
}
.originel-page-boutique .wp-block-query-pagination .page-numbers { transition: background .15s, border-color .15s, transform .15s; }
.originel-page-boutique .wp-block-query-pagination a.page-numbers:hover,
.originel-page-boutique .wp-block-query-pagination a.page-numbers:focus-visible {
    background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-color: var(--wp--preset--color--brun-logo, #5D4537); transform: translateY(-1px);
}
.originel-page-boutique .wp-block-query-pagination-previous, .originel-page-boutique .wp-block-query-pagination-next {
    color: var(--wp--preset--color--brun-logo, #5D4537); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .15s;
}
.originel-page-boutique .wp-block-query-pagination-previous:hover, .originel-page-boutique .wp-block-query-pagination-next:hover { border-bottom-color: currentColor; }
.originel-page-boutique .wp-block-query-pagination .page-numbers.current { color: #fff; background: var(--wp--preset--color--brun-logo, #5D4537); border-color: var(--wp--preset--color--brun-logo, #5D4537); }

/* Filtres sur téléphone : panneau qui monte du bas (proposition A). Sur ordinateur, le panneau est transparent. */
.originel-boutique__panneau { display: contents; }
.originel-boutique__mobile, .originel-boutique__tete, .originel-boutique__labels-mobile, .originel-boutique__pied, .originel-boutique__voile { display: none; }

@media (max-width: 781px) {
    .originel-boutique { display: contents; }   /* la barre reste collée en haut pendant tout le défilement des produits */
    .originel-boutique > .originel-boutique__labels { display: none; }
    .originel-boutique__resultat { margin-top: 0.75rem; }
    body.originel-filtres-ouverts .originel-boutique__barre { z-index: 100000; }
    .originel-boutique__barre {
        position: sticky; z-index: 30; top: var(--wp-admin--admin-bar--height, 0px);
        padding: 0.5rem; gap: 0.5rem; box-shadow: 0 6px 16px rgba(59, 46, 38, 0.08);
    }
    .originel-boutique__mobile { display: flex; gap: 0.5rem; flex: 1 1 100%; }
    .originel-boutique__ouvrir {
        flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; height: 2.6rem; padding: 0 0.9rem;
        font: inherit; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; color: var(--wp--preset--color--brun-logo, #5D4537);
        background: #fff; border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); border-radius: 10px; cursor: pointer;
    }
    .originel-boutique__ouvrir--tri { flex: 0 0 auto; }
    .originel-boutique__compte {
        min-width: 1.4rem; height: 1.4rem; padding: 0 0.35rem; box-sizing: border-box; border-radius: 999px;
        font-size: var(--originel-taille-mini, 1rem); line-height: 1.4rem; text-align: center; color: #fff; background: var(--bleu-logo-fonce);
    }
    .originel-boutique__panneau {
        display: flex; flex-direction: column; gap: 0.75rem; position: fixed; z-index: 100000; left: 0; right: 0; bottom: 0;
        max-height: 88vh; max-height: 88dvh; padding: 0 1rem; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain;
        background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 18px 18px 0 0; box-shadow: 0 -12px 36px rgba(59, 46, 38, 0.22);
        transform: translateY(105%); visibility: hidden; transition: transform .25s ease, visibility 0s .25s;
    }
    .originel-boutique__panneau.est-ouvert { transform: none; visibility: visible; transition: transform .25s ease; }
    .originel-boutique__panneau.sans-animation { transition: none; }
    .originel-boutique__tete {
        display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2;
        margin: 0 -1rem; padding: 1.1rem 1rem 0.6rem; background: inherit; border-bottom: 1px solid var(--wp--preset--color--accent-6, #E2D8C3);
    }
    .originel-boutique__tete::before { content: ""; position: absolute; top: 0.45rem; left: 50%; width: 2.5rem; height: 4px; margin-left: -1.25rem; border-radius: 4px; background: #D8CDB6; }
    .originel-boutique__titre { margin: 0; font-family: var(--wp--preset--font-family--titres, serif); font-size: 1.3rem; color: var(--wp--preset--color--brun-logo, #5D4537); }
    .originel-boutique__fermer {
        width: 2.4rem; height: 2.4rem; font-size: 1.1rem; color: var(--wp--preset--color--brun-logo, #5D4537);
        background: #fff; border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); border-radius: 999px; cursor: pointer;
    }
    .originel-boutique__labels-mobile { display: block; }
    .originel-boutique__labels-mobile .originel-boutique__labels { margin: 0; }
    .originel-boutique__panneau .originel-boutique__listes { flex: none; flex-direction: column; }
    .originel-boutique__panneau .originel-boutique__liste, .originel-boutique__panneau .originel-liste,
    .originel-boutique__panneau .originel-liste.est-active { flex: none; width: 100%; }
    .originel-boutique__panneau .originel-liste__panneau { position: static; width: auto; margin-top: 0.4rem; box-shadow: none; border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); }
    .originel-boutique__panneau .originel-boutique__tri { flex-direction: column; align-items: stretch; margin: 0 !important; padding: 0.4rem 0 0; border: 0; border-top: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); }
    .originel-boutique__panneau .originel-boutique__tri > span { padding-top: 0.4rem; }
    .originel-boutique__panneau .originel-boutique__tri .originel-liste, .originel-boutique__panneau .originel-boutique__tri .originel-boutique__liste { width: 100%; }
    .originel-boutique__pied {
        display: flex; align-items: center; gap: 0.75rem; position: sticky; bottom: 0; z-index: 2; margin: auto -1rem 0; padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
        background: inherit; border-top: 1px solid var(--wp--preset--color--accent-6, #E2D8C3);
    }
    .originel-boutique__tout-effacer { flex: none; font-weight: 700; color: var(--wp--preset--color--brun-logo, #5D4537); }
    .originel-boutique__voir {
        flex: 1; height: 3rem; font: inherit; font-size: 1.1rem; font-weight: 700; color: #fff;
        background: var(--wp--preset--color--brun-logo, #5D4537); border: 0; border-radius: 12px; cursor: pointer;
    }
    .originel-boutique__voile { display: block; position: fixed; inset: 0; z-index: 99999; background: rgba(40, 30, 24, 0.45); }
    .originel-boutique__voile[hidden] { display: none; }
    body.originel-filtres-ouverts { overflow: hidden; }
    .originel-boutique__listes { flex-basis: 100%; }
    .originel-boutique__liste, .originel-liste { flex-basis: calc(50% - 0.3rem); }
    .originel-boutique__tri .originel-liste { flex: 1; width: auto; }
    .originel-boutique__tri { margin-left: 0; padding-left: 0; border-left: 0; flex-basis: 100%; }
    .originel-boutique__tri .originel-boutique__liste { flex: 1; width: auto; }
    .originel-vignettes .wc-block-product-template { gap: 1rem 0.75rem !important; }
    .originel-vignettes .wc-block-product > *:not(.wc-block-components-product-image),
    .originel-vignette__description { padding-inline: 0.75rem; }
    .originel-vignettes .originel-badges--vignette .originel-badge--avec-logo { width: 38px; height: 38px; padding: 4px; }
    .originel-vignette__description { -webkit-line-clamp: 3; }
}

/* Accueil : logo officiel en grand sur les cartes des labels, petit logo dans les puces « Par label » */
.originel-label-carte__logo { display: block; width: 104px; height: 104px; object-fit: contain; margin-bottom: 0.5rem; }
.originel-puce__logo { width: 22px; height: 22px; object-fit: contain; margin: -0.2rem 0.4rem -0.2rem -0.35rem; vertical-align: middle; }

/* Fiche : DDM sous le bouton d'achat (ddm.php) */
.originel-ddm { margin-top: 0.75rem; padding: 0.7rem 0.9rem; font-size: var(--originel-taille-mini, 1rem); background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 10px; }
.originel-ddm[hidden] { display: none; }
.originel-ddm__date { margin: 0; color: var(--wp--preset--color--contrast, #3B2E26); }
.originel-ddm__aide { margin-top: 0.3rem; }
.originel-ddm__aide summary { cursor: pointer; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--olive-fonce, #5F6110); text-decoration: underline; text-underline-offset: 2px; }
.originel-ddm__aide p { margin: 0.4rem 0 0; font-size: var(--originel-taille-mini, 1rem); line-height: 1.5; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-ddm__date { line-height: 1.45; }
.originel-ddm__source { font-size: var(--originel-taille-mini, 1rem) !important; }
.originel-ddm__source a { color: var(--bleu-logo-fonce, #17739C); }

/* Fiche : lien de retour en haut à droite, sur la ligne du fil d'Ariane (rond fléché + texte, sans fond) */
.originel-fil { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; }
.originel-fil > .wp-block-woocommerce-breadcrumbs, .originel-fil > .woocommerce-breadcrumb { margin: 0 !important; }
.originel-retour {
    display: inline-flex; align-items: center; gap: 0.5rem; margin: 0 0 0 auto; font-size: var(--originel-taille-mini, 1rem); font-weight: 700;
    text-decoration: none; color: var(--wp--preset--color--brun-logo, #5D4537);
}
.originel-retour svg {
    box-sizing: content-box; padding: 0.3rem; border: 1.5px solid currentColor; border-radius: 50%; transition: background .15s, color .15s, transform .15s;
}
.originel-retour:hover svg, .originel-retour:focus-visible svg { color: #fff; background: var(--wp--preset--color--brun-logo, #5D4537); border-color: var(--wp--preset--color--brun-logo, #5D4537); transform: translateX(-2px); }
.originel-retour:hover, .originel-retour:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

/* Badge « Promo » des cartes : pastille terre cuite au lieu du rectangle blanc de WooCommerce */
.originel-vignettes .wc-block-components-product-sale-badge, .originel-vignettes .onsale {
    top: 0.6rem !important; right: 0.6rem !important; left: auto !important; margin: 0 !important; padding: 0.2rem 0.7rem !important;
    font-size: var(--originel-taille-mini, 1rem) !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
    color: #fff !important; background: var(--wp--preset--color--terre-cuite, #85604F) !important; border: 0 !important; border-radius: 999px !important;
}

/* Fiche technique à droite de l'accordéon (RDV cliente du 27/10, proposition B) : une étiquette de bocal,
   chaque partie sous un bandeau brun du logo */
.originel-accordeon--avec-fiche {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem); column-gap: 3rem; align-items: start;
    box-sizing: border-box; max-width: var(--wp--style--global--wide-size, 1340px); margin-inline: auto !important; padding-inline: 1.5rem;   /* calé sur la photo et le résumé, pas au bord de l'écran */
}
.originel-accordeon--avec-fiche .originel-accordeon__titre { grid-column: 1 / -1; }
.originel-fiche-technique {
    position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 2.5rem); margin-top: 0.5rem;   /* sous la barre d'administration */
    background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 1px 3px rgba(59, 46, 38, 0.08); font-size: var(--originel-taille-mini, 1rem);
}
.originel-fiche-technique__titre {
    margin: 0; padding: 0.65rem 1.4rem; background: var(--wp--preset--color--brun-logo, #5D4537); color: #fff;
    font-family: var(--wp--preset--font-family--titres, serif); font-size: 1.16rem; font-weight: 600; letter-spacing: 0.01em;
}
.originel-fiche-technique__contenu { padding: 0.5rem 1.4rem 1.1rem; }
.originel-fiche-technique table { width: 100%; border-collapse: collapse; margin: 0; }
.originel-fiche-technique th, .originel-fiche-technique td {
    padding: 0.45rem 0; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--wp--preset--color--accent-1, #F1EBDD);
    background: transparent; font-style: normal; color: var(--wp--preset--color--contrast, #3B2E26);
}
.originel-fiche-technique tr:last-child th, .originel-fiche-technique tr:last-child td { border-bottom: 0; }
.originel-fiche-technique th { width: 52%; padding-right: 0.75rem; font-weight: 600; color: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-fiche-technique td { text-align: right; }
.originel-fiche-technique td p, .originel-fiche-technique th p { margin: 0; }
.originel-fiche-technique [style*="color"] { color: inherit !important; }
.originel-fiche-technique__legende { margin: 0.5rem 0 0.2rem; font-size: var(--originel-taille-mini, 1rem); font-style: italic; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-fiche-technique__source { margin: 0.5rem 0 0; padding: 0 0.6rem; font-size: var(--originel-taille-mini, 1rem); color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-fiche-technique__conseil { margin: 0.4rem 0 0; line-height: 1.55; }
@media (max-width: 900px) {
    .originel-accordeon--avec-fiche { display: block; padding-inline: 0; }
    .originel-fiche-technique { position: static; margin: 1.5rem 0 0; }
}
/* WooCommerce raye ses lignes d'attributs en gris et met les valeurs en italique : pas dans la fiche technique */
.originel-fiche-technique table.shop_attributes, .originel-fiche-technique table.shop_attributes tr,
.originel-fiche-technique table.shop_attributes th, .originel-fiche-technique table.shop_attributes td { background: transparent !important; border-top: 0 !important; }
.originel-fiche-technique table.shop_attributes th, .originel-fiche-technique table.shop_attributes td { border-bottom: 1px solid var(--wp--preset--color--accent-1, #F1EBDD) !important; padding: 0.45rem 0 !important; }
.originel-fiche-technique table.shop_attributes tr:last-child th, .originel-fiche-technique table.shop_attributes tr:last-child td { border-bottom: 0 !important; }
.originel-fiche-technique td, .originel-fiche-technique td p, .originel-fiche-technique td em { font-style: normal !important; }

/* Sections Appellation, Territoire, Producteur : en-tête (logo ou photo + nom), résumé, boutons */
.originel-origine__tete { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 0.7rem; }
.originel-origine__image { width: 56px; height: 56px; object-fit: contain; background: #fff; border-radius: 50%; padding: 4px; box-shadow: 0 1px 3px rgba(59, 46, 38, 0.1); }
.originel-accordeon__contenu .originel-origine__nom { margin: 0; font-family: var(--wp--preset--font-family--titres, serif); font-size: 1.21rem; font-weight: 600; }
.originel-accordeon__contenu .originel-origine__precision { margin: 0; font-size: var(--originel-taille-mini, 1rem); text-indent: 0; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-accordeon__contenu .originel-origine__resume { text-indent: 0; }
.originel-accordeon__contenu .originel-origine__resume::first-letter { float: none; font: inherit; padding: 0; color: inherit; }   /* pas de lettrine ici */
.originel-accordeon__contenu .originel-origine__boutons { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0.9rem 0 0; text-indent: 0; }
.originel-origine__bouton {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1.1rem; border-radius: 999px; background: #fff;
    border: 1.5px solid var(--wp--preset--color--brun-logo, #5D4537); color: var(--wp--preset--color--brun-logo, #5D4537);
    font-weight: 700; font-size: var(--originel-taille-mini, 1rem); text-decoration: none; transition: background .15s, color .15s;
}
.originel-origine__bouton:hover, .originel-origine__bouton:focus-visible { background: var(--wp--preset--color--brun-logo, #5D4537); color: #fff; }
.originel-origine__bouton--article { border-style: dashed; }

/* « L'essentiel » avec la mini-carte de la provenance (proposition C du 27/10) */
.originel-essentiel--carte { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1.1rem; align-items: center; }
.originel-essentiel--labels { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.1rem; align-items: center; }
.originel-essentiel--carte.originel-essentiel--labels { grid-template-columns: 7.5rem minmax(0, 1fr) auto; }
.originel-carte-mini { margin: 0; text-align: center; }
.originel-carte-mini__svg { display: block; width: 100%; height: auto; }
.originel-carte-mini__fond { fill: var(--wp--preset--color--terre-claire, #E9DFCB); stroke: #fff; stroke-width: 0.5; stroke-linejoin: round; }
.originel-carte-mini__zone { fill: var(--wp--preset--color--accent-2, #A4A510); stroke: var(--wp--preset--color--olive-fonce, #5F6110); stroke-width: 0.6; stroke-linejoin: round; }
.originel-carte-mini figcaption { margin-top: 0.35rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--olive-fonce, #5F6110); }
/* Sur téléphone ET tablette (RDV 09/11 : la tablette « sautait ») : en-tête avec la mini-carte à gauche et les logos à droite,
   puis la liste sur toute la largeur, question à gauche, réponse à droite. */
@media (max-width: 1100px) {
    .originel-essentiel--carte, .originel-essentiel--labels, .originel-essentiel--carte.originel-essentiel--labels {
        grid-template-columns: 5.5rem minmax(0, 1fr); grid-template-areas: "carte labels" "corps corps"; gap: 0.6rem 1rem; align-items: center;
    }
    .originel-essentiel--labels:not(.originel-essentiel--carte) { grid-template-areas: "labels labels" "corps corps"; }
    .originel-essentiel--carte:not(.originel-essentiel--labels) { grid-template-areas: "carte carte" "corps corps"; }
    .originel-essentiel--carte:not(.originel-essentiel--labels) .originel-carte-mini { width: 5.5rem; }
    .originel-essentiel > .originel-carte-mini { grid-area: carte; }
    .originel-essentiel__labels { grid-area: labels; flex-direction: row; justify-content: flex-end; align-items: center; padding: 0; border: 0; }
    .originel-essentiel__labels .originel-essentiel__titre { display: none; }
    .originel-essentiel__labels .originel-badges--fiche { max-width: none; justify-content: flex-end; }
    .originel-badges--fiche .originel-badge--avec-logo { width: 56px; height: 56px; }
    .originel-essentiel__corps { grid-area: corps; padding-top: 0.6rem; border-top: 1px solid var(--wp--preset--color--terre-claire, #E9DFCB); }
    .originel-essentiel:not(.originel-essentiel--carte):not(.originel-essentiel--labels) .originel-essentiel__corps { padding-top: 0; border-top: 0; }
    .originel-essentiel dl { grid-template-columns: max-content minmax(0, 1fr); column-gap: 1rem; }
    .originel-essentiel dt { align-self: stretch; border-bottom: 1px solid var(--wp--preset--color--terre-claire, #E9DFCB); padding-bottom: 0.35rem; align-items: flex-start; }
    .originel-essentiel dl > :nth-last-child(-n+2) { border-bottom: none; }
    .originel-essentiel dd { padding-left: 0; }
}
/* La région du produit est cliquable : elle fonce et se soulève au survol */
.originel-carte-mini a .originel-carte-mini__zone { cursor: pointer; transition: fill .15s, transform .15s; transform-box: fill-box; transform-origin: center; }
.originel-carte-mini a:hover .originel-carte-mini__zone, .originel-carte-mini a:focus-visible .originel-carte-mini__zone {
    fill: var(--wp--preset--color--olive-fonce, #5F6110); transform: scale(1.08); filter: drop-shadow(0 1px 1.5px rgba(59, 46, 38, 0.35));
}
.originel-carte-mini a:focus-visible { outline: none; }
.originel-carte-mini figcaption a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.originel-carte-mini figcaption a:hover { color: var(--wp--preset--color--terre-cuite, #85604F); }
/* Intitulé et valeur bien distincts (proposition C du 27/10) : l'intitulé sur fond lin comme une étiquette, la valeur sur blanc */
.originel-fiche-technique .originel-fiche-technique__contenu { padding: 0.6rem 0.8rem 1rem; }
.originel-fiche-technique .originel-fiche-technique__legende, .originel-fiche-technique .originel-fiche-technique__conseil { padding: 0 0.6rem; }
.originel-fiche-technique table th, .originel-fiche-technique table.shop_attributes th,
.originel-fiche-technique table td, .originel-fiche-technique table.shop_attributes td {
    padding: 0.5rem 0.65rem !important; border: 0 !important; border-bottom: 2px solid #fff !important; text-align: left; line-height: 1.4;
}
.originel-fiche-technique table th, .originel-fiche-technique table.shop_attributes th {
    width: 46%; background: var(--wp--preset--color--lin-fonce, #F4EEE2) !important; border-radius: 6px 0 0 6px;
    font-size: var(--originel-taille-mini, 1rem) !important; font-weight: 700 !important; letter-spacing: 0; text-transform: none;
    color: var(--wp--preset--color--brun-logo, #5D4537) !important;
}
.originel-fiche-technique table td, .originel-fiche-technique table.shop_attributes td {
    font-size: var(--originel-taille-mini, 1rem); font-weight: 500; color: var(--wp--preset--color--contrast, #3B2E26) !important;
}

/* Sections Appellation, Territoire, Producteur (proposition A du 28/10) : un surtitre dit ce que montre la section */
.originel-accordeon__contenu .originel-origine__surtitre {
    margin: 0 0 0.1rem; text-indent: 0; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--wp--preset--color--terre-cuite, #85604F);
}
.originel-origine__tete { gap: 1rem; }
/* Logos de tous les labels du produit, sans rond blanc (comme les badges de la fiche) */
.originel-origine__logos { flex: none; display: inline-flex; align-items: center; gap: 0.4rem; }
.originel-origine__logo { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 1px 2px rgba(59, 46, 38, 0.18)); }
.originel-origine__logo--bio { width: 44px; height: auto; }
.originel-silhouette { flex: none; width: 84px; height: 84px; }
.originel-silhouette path { fill: var(--wp--preset--color--accent-2, #A4A510); stroke: var(--wp--preset--color--olive-fonce, #5F6110); stroke-width: 0.4; stroke-linejoin: round; }
.originel-origine__initiales {
    flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
    background: var(--wp--preset--color--terre-cuite, #85604F); color: #fff;
    font-family: var(--wp--preset--font-family--titres, serif); font-size: 1.26rem; font-weight: 600; letter-spacing: 0.02em;
}
.originel-origine__dep {
    display: inline-block; margin-left: 0.35rem; padding: 0.05rem 0.45rem; border-radius: 6px;
    background: var(--wp--preset--color--brun-logo, #5D4537); color: #fff; font-size: var(--originel-taille-mini, 1rem); font-weight: 700;
}
/* Pas de cadre sur une section qu'on vient d'ouvrir à la souris (le cadre reste au clavier) */
.originel-accordeon__section summary:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.originel-accordeon__section summary { border: 0; }

/* Rayons et référence sous la description courte (proposition B du 28/10) */
.originel-rayons { margin: 1.4rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); font-size: var(--originel-taille-mini, 1rem); line-height: 1.7; }
.originel-rayons__titre { font-weight: 700; color: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-rayons a { color: var(--wp--preset--color--olive-fonce, #5F6110); text-decoration: none; border-bottom: 1px solid currentColor; }
.originel-rayons a:hover, .originel-rayons a:focus-visible { color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-rayons__ref { font-size: var(--originel-taille-mini, 1rem); color: #9A8676; }

/* Écran « aucun résultat » de la boutique (boutique.php, proposition 2 du 02/11) */
.originel-vide { max-width: 46rem; margin: 1rem auto 2.5rem; padding: 2rem 1.5rem; text-align: center; background: #fff; border: 1px solid var(--wp--preset--color--accent-6, #E2D8C3); border-radius: 16px; }
.originel-vide__icone { display: inline-grid; place-items: center; width: 3.6rem; height: 3.6rem; color: var(--wp--preset--color--brun-logo, #5D4537); background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 50%; }
.originel-vide__titre { margin: 0.8rem 0 0.4rem; font-family: var(--wp--preset--font-family--titres, Georgia, serif); font-size: 1.5rem; font-weight: 400; }
.originel-vide__texte { margin: 0 0 1rem; color: var(--wp--preset--color--accent-4, #7A5F4E); }
.originel-vide__texte strong { color: var(--wp--preset--color--contrast, #3B2E26); }
.originel-vide__boutons { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.originel-vide__bouton {
    padding: 0.55rem 1.1rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; text-decoration: none; color: var(--wp--preset--color--brun-logo, #5D4537);
    background: #fff; border: 1.5px solid var(--wp--preset--color--brun-logo, #5D4537); border-radius: 999px; transition: background .15s, color .15s;
}
.originel-vide__bouton:hover, .originel-vide__bouton:focus-visible, .originel-vide__bouton--plein { color: #fff; background: var(--wp--preset--color--brun-logo, #5D4537); }
.originel-vide__bouton--plein:hover { background: var(--wp--preset--color--contrast, #3B2E26); }
.originel-vide__suggestions { margin: 1.8rem 0 0.8rem; font-size: var(--originel-taille-mini, 1rem); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-vide__produits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; text-align: left; }
.originel-vide__produit { display: flex; flex-direction: column; gap: 0.3rem; text-decoration: none; color: var(--wp--preset--color--contrast, #3B2E26); }
.originel-vide__photo { display: block; padding: 8%; background: var(--wp--preset--color--lin-fonce, #F4EEE2); border-radius: 10px; }
.originel-vide__photo img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; background: transparent !important; }
.originel-vide__nom { font-size: var(--originel-taille-mini, 1rem); line-height: 1.3; }
.originel-vide__produit:hover .originel-vide__nom { color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-vide__prix { font-size: var(--originel-taille-mini, 1rem); font-weight: 700; color: var(--wp--preset--color--terre-cuite, #85604F); }
@media (max-width: 600px) { .originel-vide__produits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 0.9.99 : le label juste après le nom de l'appellation (« Piment d'Espelette AOP »), mention obligatoire */
.originel-essentiel__label { font-weight: 700; text-decoration: none; border: 0; color: var(--wp--preset--color--brun-logo, #5D4537); cursor: help; }

/* 0.9.101 (RDV 09/11) : logos des labels EN BAS À DROITE de la photo des cartes de la boutique.
   AOP, IGP (et AOC, STG) tout en bas, les autres (Bio, Label Rouge, médailles) au-dessus.
   La photo est carrée : son bas se calcule sur la largeur de la carte (100cqw). */
.originel-vignettes .wc-block-product { container-type: inline-size; }
.originel-vignettes .originel-badges--vignette {
    top: calc(0.75rem + 100cqw - 1.5rem - 8px); left: auto; right: calc(0.75rem + 8px); transform: translateY(-100%);
    flex-direction: column; align-items: flex-end;
}
.originel-badges--vignette .originel-badge { order: 0; }
.originel-badges--vignette :is(.originel-badge--aop, .originel-badge--igp, .originel-badge--aoc, .originel-badge--stg) { order: 1; }

/* Fiche : le logo du label sur la ligne de l'appellation, « Piment d'Espelette [logo] AOP », téléphone compris */
.originel-essentiel__appellation { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.45rem; }
.originel-essentiel__logo { width: 36px; height: 36px; object-fit: contain; flex: none; }

/* 0.9.101 (RDV 09/11) : tablette. Sous 1024 px la photo et la colonne d'achat s'empilent (au lieu de deux colonnes trop étroites),
   la photo garde une taille raisonnable et reste centrée. */
@media (max-width: 1024px) {
    .single-product .wp-block-columns:has(.wp-block-post-title) { flex-wrap: wrap !important; }
    .single-product .wp-block-columns:has(.wp-block-post-title) > .wp-block-column { flex-basis: 100% !important; width: 100%; }
    .single-product .wp-block-columns:has(.wp-block-post-title) > .wp-block-column:not(:has(.wp-block-post-title)) { max-width: 36rem; margin-inline: auto; }
}

/* 0.9.121 (Eric 09/11) : ligne Appellation = « Châtaigne d'Ardèche AOP » à gauche, logo(s) à droite sur la même ligne */
.originel-essentiel dd:has(.originel-essentiel__appellation) { width: 100%; }
.originel-essentiel__appellation { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 0.8rem; width: 100%; }
.originel-essentiel__nom-app { min-width: 0; }
.originel-essentiel__nom-app .originel-essentiel__label { white-space: nowrap; }
.originel-essentiel__logos { display: flex; align-items: center; gap: 0.35rem; flex: none; margin-left: auto; }
.originel-essentiel__logos .originel-essentiel__logo { width: 38px; height: 38px; object-fit: contain; }
/* 0.9.123 : à droite de la ligne Appellation, les logos des labels, et dessous (s'il y en a) les médailles */
.originel-essentiel__logos { flex-direction: column; align-items: flex-end; gap: 0.4rem; }
.originel-essentiel__logos-labels, .originel-essentiel__medailles { display: flex; align-items: center; justify-content: flex-end; gap: 0.35rem; flex-wrap: wrap; }
.originel-essentiel__medailles { padding-top: 0.4rem; border-top: 1px dashed var(--wp--preset--color--terre-claire, #E9DFCB); }
.originel-essentiel__medailles .originel-badge { margin: 0; }
.originel-essentiel__medailles .originel-badge__logo { width: 38px; height: 38px; object-fit: contain; }
.originel-essentiel dd .originel-essentiel__medailles a { border-bottom: 0; }
.originel-essentiel__appellation:has(.originel-essentiel__medailles) { align-items: flex-start; }
.originel-essentiel__appellation:has(.originel-essentiel__medailles) .originel-essentiel__nom-app { padding-top: 0.45rem; }
.originel-essentiel dt:has(+ dd .originel-essentiel__medailles) { align-items: flex-start; padding-top: 0.8rem; }

/* 0.9.127 : labels de nouveau cliquables (nom + logo vers la page du label) */
a.originel-essentiel__label { cursor: pointer; text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-2, #A4A510); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a.originel-essentiel__label:hover { color: var(--wp--preset--color--terre-cuite, #85604F); }
.originel-essentiel__lien-logo { display: inline-flex; border-radius: 50%; transition: transform .15s; }
.originel-essentiel__lien-logo:hover { transform: scale(1.08); }

/* 0.9.127 (RDV 09/11 soir) : plus aucune photo produit sur fond blanc. Partout (boutique, fiche, pages label/région, carrousels),
   le blanc des photos détourées se fond dans le lin ; les photos d'ambiance (fond non blanc) restent telles quelles. */
.wc-block-components-product-image, .wp-block-woocommerce-product-image,
.single-product .woocommerce-product-gallery__image, .single-product .flex-control-thumbs li,
body[class*="tax-"] .wp-block-post-featured-image { background: var(--wp--preset--color--lin-fonce, #F4EEE2) !important; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img, ul.products li.product img,
.single-product .woocommerce-product-gallery__image img, .single-product .flex-control-thumbs img,
body[class*="tax-"] .wp-block-post-featured-image img { background: transparent !important; mix-blend-mode: multiply; }
.originel-photo-pleine img { mix-blend-mode: normal !important; }
/* les fonds « blanc cassé » (gris clair des photos d'origine) remontés vers le blanc pour disparaître dans le lin */
.wc-block-components-product-image:not(.originel-photo-pleine) img, .wp-block-woocommerce-product-image:not(.originel-photo-pleine) img,
.single-product .woocommerce-product-gallery__image img, .single-product .flex-control-thumbs img { filter: brightness(1.07) contrast(1.03); }

/* 0.9.128 (Eric) : même petite aura que dans la boutique autour des logos de labels de la fiche (ombre douce, halo de la couleur du label au survol) */
.originel-essentiel__lien-logo { border-radius: 0; }
.originel-essentiel__lien-logo:hover { transform: none; }
.originel-essentiel__logos .originel-essentiel__logo { filter: drop-shadow(0 1px 2px rgba(59, 46, 38, .25)); transition: filter .15s; }
.originel-essentiel__lien-logo:hover .originel-essentiel__logo, .originel-essentiel__lien-logo:focus-visible .originel-essentiel__logo {
    filter: drop-shadow(0 0 3px color-mix(in srgb, var(--couleur-label, #5D4537) 55%, transparent)) drop-shadow(0 0 1px color-mix(in srgb, var(--couleur-label, #5D4537) 45%, transparent));
}
/* 0.9.128 : loupe de la fiche : la photo agrandie n'est plus mélangée à la petite (effet fantôme au survol) */
.single-product .woocommerce-product-gallery__image img.zoomImg { mix-blend-mode: multiply; filter: brightness(1.07) contrast(1.03); }
.single-product .woocommerce-product-gallery__image:hover:has(.zoomImg) > a img { opacity: 0; }

/* 0.9.161 (RDV 09/11, suite) : sur les cartes de la boutique, les logos des labels sur UNE ligne, en bas à droite de la photo ;
   AOP/IGP/AOC/STG le plus à droite. Au-delà de 3 logos, ils rapetissent un peu pour rester sur la ligne. */
.originel-vignettes .originel-badges--vignette { flex-direction: row; flex-wrap: nowrap; align-items: flex-end; justify-content: flex-end; gap: 0.3rem; max-width: calc(100cqw - 1.5rem - 16px); }
.originel-vignettes .originel-badges--vignette:has(> :nth-child(4)) .originel-badge--avec-logo { width: 38px; height: 38px; }
