/*
 * Wellputt - surcharges child theme (Phase E, corrections rounds 1+2).
 * Charge apres theme.css + custom_s_{shop}.css (iqitthemeeditor).
 * Round 2 : parite prod (couleurs noir/orange, typo Oswald, header/topbar,
 * listings, fiche produit, footer). Items references = liste round 2.
 */

/* ========================================================================
   ROUND 1 (conserve)
   ======================================================================== */

/* --- Garde-fous medias des descriptions produit -------------------------- */
#description img,
#description svg,
.product-description img,
.product-description svg {
  max-width: 100%;
  height: auto;
}

#description svg:not([width]),
.product-description svg:not([width]) {
  max-width: 120px;
  max-height: 120px;
}

#description iframe,
.product-description iframe {
  max-width: 100%;
}

/* --- Sections CE "stretched" : full-bleed pur CSS ------------------------ */
.elementor-section.elementor-section-stretched {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  left: 0 !important;
  right: auto !important;
}

/* ========================================================================
   ROUND 2
   ======================================================================== */

/* --- Typo : titres condenses uppercase Oswald (items 1, 2, 26, 35, 37) ---
   p.elementor-heading-title exclu : copyright footer et sous-titres restent
   en casse d'origine (item 9). */
h1, h2, .h1, .h2,
.page-title,
.product-title,
.card-title,
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h5.elementor-heading-title {
  text-transform: uppercase;
}

h1, h2, h3, .h1, .h2,
.product-title,
.product-title a,
.elementor-title,
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
}

/* Headings CE noirs (la couleur bleu clair du kit CE ne matche pas la prod,
   items 1, 35) - hors sections a fond sombre ou le blanc est force inline */
.elementor-widget-heading .elementor-heading-title {
  color: inherit;
}
.elementor-section:not([data-settings*="background_video"]) h2.elementor-heading-title,
.elementor-section:not([data-settings*="background_video"]) h3.elementor-heading-title {
  color: #000;
}

/* --- Liens et prix noirs (items 1, 11, 26) ------------------------------- */
.product-price,
.product-miniature .product-price,
.js-product-miniature .product-price,
.product-prices .product-price .price,
span.price,
.elementor-price {
  color: #000;
  font-weight: 700;
}

.product-miniature .product-title a,
.elementor-title,
.elementor-title a {
  color: #000;
}

.product-price,
.elementor-price {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
}

/* --- Topbar blanche, texte noir uppercase (items 4, 16, 22, 30) ---------- */
.header-nav .tb-shipping-msg {
  color: #000;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.header-nav .block-iqitlinksmanager a,
.header-nav #language_selector a,
.header-nav #user_info a {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Prod : pas de selecteur devise ni wishlist en topbar (items 4, 16, 22) */
.header-nav #currency_selector,
.header-nav a[href*="iqitwishlist/view"] {
  display: none !important;
}

/* --- Panier header : icone + montant seuls (items 4, 15, 30) -------------
   Complement du template override ps_shoppingcart.tpl du child. */
.ps-shoppingcart .info-wrapper .title,
.ps-shoppingcart .info-wrapper .cart-separator {
  display: none;
}

/* --- Listings : bouton ADD TO CART orange pleine largeur (3, 14, 26, 31) - */
.product-miniature .btn-product-list.add-to-cart {
  display: block;
  width: 100%;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.12em;
  border-radius: 0;
}

/* Label categorie masque dans les miniatures theme (items 14, 26) */
.product-miniature .product-category-name {
  display: none;
}

/* --- Flags produits (items 3, 34) ----------------------------------------
   Online only : jamais affiche en prod. */
.product-flag.online-only {
  display: none !important;
}

/* Disponibilite "Coming soon" : badge noir texte blanc comme la prod */
.product-availability .product-unavailable {
  background: #000;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 0;
}
.product-availability .product-unavailable .fa {
  display: none;
}

/* Sale/pack : orange plein (item 34) */
.product-flag.on-sale,
.product-flag.pack,
.product-flag.discount {
  background: #f15a29;
  color: #fff;
}

/* --- Page categorie : H1 + description masques (items 6, 18, 27, 33) -----
   Round 4 item 13 : #js-product-list-top reste affiche pour le compteur
   "Showing X of Y item(s)", ses autres controles sont masques plus bas. */
#category h1.page-title,
#category .block-category {
  display: none;
}

/* --- Fiche produit (items 7, 17, 28, 36, 37) ----------------------------- */
/* Badge stock "In stock" : absent en prod CA uniquement (round 3 item 41 :
   GB/EU/US affichent "In stock, ready to ship"). Regle deplacee dans
   codes_css iqitthemeeditor du shop 1. */

/* Mention Tax included : absente en prod */
#product .tax-shipping-delivery-label {
  display: none;
}

/* Logo fabricant STUDIO DESIGN a cote du titre : absent en prod */
#product .product-manufacturer.product-manufacturer-next {
  display: none;
}

/* Onglets natifs Description / Product Details / Attachments masques ;
   le pane actif (description riche CE) continue de s'afficher en flux.
   L'onglet Reviews reste pilote par shop via codes_css iqitthemeeditor. */
#product-infos-tabs .nav-item a[href="#description"],
#product-infos-tabs .nav-item a[href="#product-details-tab"],
#product-infos-tabs .nav-item a[href="#attachments"] {
  display: none;
}

/* Titre produit : grand, condense, uppercase (items 2, 7, 37) */
#product h1.page-title,
#product .product-detail-name {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase;
  font-size: 1.9rem;
  font-weight: 600;
}

/* --- Home : section citation masquee (item 8, 25) --------------------------
   Layout CE partage par les 4 boutiques ; masquage CSS reversible,
   les donnees ps_ce_* restent intactes. */
.elementor-element-452bf301 {
  display: none !important;
}

/* --- CTA hero uppercase letterspace (item 5) ----------------------------- */
.elementor-widget-button .elementor-button {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 600;
  border-radius: 0;
}

/* --- Grilles produits CE de la home (items 8, 26) ------------------------ */
.ce-product-grid .elementor-title,
.ce-product-grid .elementor-title a {
  color: #000;
}
.ce-product-grid .elementor-price {
  color: #000;
}
.ce-product-grid .elementor-atc {
  width: 100%;
}
.ce-product-grid .elementor-atc .elementor-button,
.ce-product-grid .add-to-cart {
  background: #f15a29;
  border-color: #f15a29;
  color: #fff;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  border-radius: 0;
}
.ce-product-grid .elementor-atc .elementor-button:hover,
.ce-product-grid .add-to-cart:hover {
  background: #e8520a;
  border-color: #e8520a;
  color: #fff;
}

/* --- Footer (item 9) ------------------------------------------------------
   Icones sociales alignees a gauche sous le paragraphe Wellputt. */
#footer .block-social,
#footer .block-social ul {
  justify-content: flex-start;
  text-align: left;
}

/* --- Mentions sous prix fiche produit (round 1, conserve) ---------------- */
.product-additional-shipping-info {
  font-size: 12px;
  color: #555;
}

/* --- Reassurance miniatures listings (items 14, 26, 32) ------------------
   Markup ajoute par l'override child product.tpl. */
.wpt-mini-reassurance {
  margin-top: 6px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #555;
  line-height: 1.5;
}
.wpt-mini-reassurance strong {
  color: #000;
}

/* ========================================================================
   ROUND 3
   ======================================================================== */

/* Montant du panier visible dans le header (items 2, 17, 36, 45) :
   le theme le masque en cart type "one", la prod l'affiche. */
.ps-shoppingcart.header-cart-btn-w .cart-toggle-details,
.header-cart-btn-w .cart-toggle-details {
  display: inline-block !important;
}

/* Icone sac masquee dans les boutons ADD TO CART des listings
   (items 12, 24, 49) : la prod affiche le texte seul. */
.product-miniature .btn-product-list.add-to-cart .bag-icon,
.ce-product-grid .elementor-atc .elementor-button i.fa-shopping-bag {
  display: none;
}

/* Pastilles de variantes masquees dans les miniatures (item 12) :
   la prod affiche une miniature par coloris, jamais de pastilles. */
.product-miniature .variant-links,
.js-product-miniature .variant-links {
  display: none !important;
}

/* Produits non disponibles a la vente (COMING SOON) : pas de bouton View,
   badge + prix seulement, comme la prod (item 8). */
.js-product-miniature:has(.product-unavailable) .product-add-cart {
  display: none !important;
}

/* Fiche produit : wishlist + comparateur masques (items 14, 33, 42) */
#product .col-add-wishlist,
#product .btn-iqitwishlist-add,
#product .btn-iqitcompare-add,
#product .js-iqitcompare-add {
  display: none !important;
}

/* Listings : boutons hover wishlist/compare retires (parite prod, la prod
   n'a aucun bouton en survol des miniatures). */
.product-functional-buttons .btn-iqitwishlist-add,
.product-functional-buttons .btn-iqitcompare-add {
  display: none !important;
}

/* Fiche produit : titre grand format condense comme la prod (item 14) */
#product h1.page-title,
#product .product-detail-name {
  font-size: 48px;
  line-height: 1.05;
}
@media (max-width: 767px) {
  #product h1.page-title,
  #product .product-detail-name {
    font-size: 30px;
  }
}

/* Related products / accessoires : titres noirs, titre de section condense
   (items 9, 22). */
.product-accessories .product-title a,
.featured-products .product-title a,
.product-miniature .product-title a {
  color: #000;
}
.product-accessories .section-title,
.featured-products .section-title {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase;
}

/* Badges Best Seller / Launch Offer (items 6, 31, 48) : reproduits en CSS
   par produit via codes_css iqitthemeeditor (regles per-shop en BDD).
   Ici uniquement le positionnement des conteneurs. */
.thumbnail-container,
.elementor-image {
  position: relative;
}

/* Topbar : dropdown selecteur de boutique (items 1, 17, 29, 44) */
.wpt-shop-selector .expand-more {
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
}
.wpt-shop-selector .dropdown-menu {
  min-width: 180px;
}
.wpt-shop-selector .dropdown-menu ul {
  margin-bottom: 0;
}

/* Topbar : lien Login uppercase comme la prod (items 1, 44) */
.header-nav #user_info a span {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Chips livraison/garantie fiche produit (items 33, 41) */
.wpt-product-chips {
  margin-top: 10px;
}
.wpt-chip {
  display: inline-block;
  background: #f5f5f5;
  border: none;
  color: #999;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 10px;
  margin: 0 0 6px 0;
}
.wpt-chip-dark {
  background: #f5f5f5;
  color: #000;
  font-weight: 700;
}

/* ========================================================================
   ROUND 4
   ======================================================================== */

/* --- Webfont Oswald auto-hebergee (items 1, 21, 35) ----------------------
   La prod charge Oswald via Google Fonts ; en local l'environnement de
   verification n'atteint pas fonts.gstatic.com -> variable font embarquee
   dans le child (graisses 200-700). */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url('../fonts/oswald-latin-var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url('../fonts/oswald-latin-ext-var.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* --- Kit CE local = defauts Elementor (Roboto/bleu/vert), le kit prod
   utilisait Oswald + orange : realignement (items 1, 10, 21, 22, 32, 35).
   h1-h4 + h5 (titres footer, reassurance) en Oswald ; h6 = sous-titres
   letterspaces Poppins comme la prod. */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title {
  font-family: 'Oswald', 'Arial Narrow', sans-serif !important;
  text-transform: uppercase;
}
.elementor-widget-heading h6.elementor-heading-title {
  font-family: 'Poppins', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 600;
}
/* CTA "TRANSFORM YOUR PUTTING. START NOW" : noir letterspace (item 12).
   Les h6 sur sections sombres gardent leur couleur par element (plus
   specifique que cette regle). */
.elementor-section:not([data-settings*="background_video"]) h6.elementor-heading-title {
  color: #000;
}

/* Boutons CE sur l'accent vert par defaut du kit -> orange prod
   (items 22, 32). Les boutons avec couleur propre (regles par element,
   chargees apres) ne sont pas affectes. */
.elementor-widget-button a.elementor-button {
  --ce-btn-bg-color: #f15a29;
  background-color: var(--ce-btn-bg-color);
}

/* Bouton INFORMATION de la section Wellputt Studio (items 10, 22, 32) :
   prod CA = lien transparent blanc letterspace ; prod EU/GB = bouton orange
   plein (couvert par l'override kit ci-dessus). Ids par shop : CA + US
   (US non verifiable, aligne sur CA). */
.elementor-element-36c5f1f a.elementor-button,
.elementor-element-02c6adc a.elementor-button {
  background: transparent !important;
  border: none;
  color: #fff;
  letter-spacing: 0.25em;
  padding-left: 0;
}

/* --- Menu principal : separateurs off, graisse, espacement (item 7) ------ */
.cbp-hrmenu > ul > li,
.cbp-hrmenu > ul > li > a {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}
.cbp-hrmenu > ul > li > a .cbp-tab-title {
  font-weight: 600;
}
.cbp-hrmenu > ul > li > a {
  padding-left: 24px;
  padding-right: 24px;
}

/* Badges STUDIO du menu : texte orange nu comme la prod (items 6, 25) */
.cbp-hrmenu .cbp-legend {
  background: transparent !important;
  color: #f15a29 !important;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 0;
}

/* --- Cartes produits des grilles CE home (items 4, 20, 30, 39) -----------
   La prod n'affiche que image / titre / prix / CTA, centres. */
.ce-product-grid .product-miniature {
  text-align: center;
}
.ce-product-grid .product-brand,
.ce-product-grid .product-reference,
.ce-product-grid .product-description-short {
  display: none !important;
}
/* Pastille stock : masquee partout sur les miniatures (items 4, 19, 29) ;
   le badge COMING SOON (product-unavailable) reste affiche, repositionne
   sous l'image comme la prod (item 15). */
.product-miniature .product-availability .product-available {
  display: none !important;
}
.product-miniature .thumbnail-container .product-availability {
  position: static;
  transform: none;
  left: auto;
  bottom: auto;
  margin-left: 0;
  text-align: center;
}

/* Egalisation des hauteurs de cartes -> boutons ADD TO CART alignes
   (items 14, 39) */
.ce-product-grid .js-product-miniature-wrapper {
  display: flex;
}
.ce-product-grid .product-miniature,
.products-grid .product-miniature {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ce-product-grid .product-miniature .product-description,
.products-grid .product-miniature .product-description {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.ce-product-grid .product-miniature .product-add-cart,
.products-grid .product-miniature .product-add-cart {
  margin-top: auto;
}

/* --- Titres produits noirs dans les carrousels/grilles CE (items 9, 23, 33)
   L'accent bleu du theme survit aux regles round 2/3 par specificite. */
.elementor-widget .product-title a,
.product-accessories .product-title a,
.featured-products .product-title a {
  color: #000 !important;
}

/* --- Flags produit : rectangle uppercase comme la prod (items 11, 36, 43) */
.product-flag,
.thumbnail-container::after,
.elementor-image::after {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 0 !important;
}
.product-flag.on-sale,
.product-flag.pack,
.product-flag.discount,
.product-flag.new {
  background: #f15a29;
  color: #fff;
}

/* --- Page categorie : compteur "Showing X of Y" seul (item 13) ----------- */
#category #js-product-list-top .facated-toggler,
#category #js-product-list-top .view-switcher,
#category #js-product-list-top .pagination-wrapper,
#category #js-product-list-top .products-sort-order {
  display: none !important;
}
#category #js-product-list-top .showing {
  display: inline-block !important;
  font-size: 13px;
  color: #555;
}

/* --- Fiche produit (items 3, 34, 40, 41) --------------------------------- */
/* Disponibilite : texte gris simple "In stock. Ready to ship." sans badge
   vert (items 3, 19, 29, 41) */
#product .js-product-availability,
#product .js-product-availability.badge {
  background: transparent !important;
  color: #333 !important;
  font-weight: 400;
  font-size: 14px;
  padding: 0;
  text-transform: none;
  letter-spacing: 0;
}
#product .js-product-availability .fa {
  display: none;
}

/* Sous-titre h6 de la description courte : petit heading letterspace */
#product .product-description h6 {
  font-family: 'Poppins', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
  font-size: 14px;
  color: #000;
  margin-bottom: 14px;
}

/* Prix : gros, condense, noir (items 3, 34) */
#product .product-prices .price,
#product .current-price .price,
#product .product-prices .current-price .product-price,
#product .product-prices .current-price-value {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  font-size: 38px;
  font-weight: 600;
  color: #000;
  line-height: 1.1;
}

/* Bouton ADD TO CART : uppercase letterspace sans icone (items 3, 34, 41) */
#product .product-add-to-cart .add-to-cart {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 600;
  border-radius: 0;
  padding: 12px 36px;
}
#product .product-add-to-cart .add-to-cart .bag-icon {
  display: none;
}

/* Quantite : - 1 + horizontal (items 3, 34) */
#product .qty .bootstrap-touchspin {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  border: 1px solid #e3e3e3;
  width: auto;
}
#product .qty .bootstrap-touchspin input.input-group {
  order: 2;
  border: none;
  width: 44px;
  text-align: center;
  -moz-appearance: textfield;
}
#product .qty .bootstrap-touchspin input::-webkit-outer-spin-button,
#product .qty .bootstrap-touchspin input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
#product .qty .input-group-btn-vertical {
  display: contents;
}
#product .qty .input-group-btn-vertical .bootstrap-touchspin-down {
  order: 1;
}
#product .qty .input-group-btn-vertical .bootstrap-touchspin-up {
  order: 3;
}
#product .qty .btn-touchspin {
  border: none;
  background: #fff;
  width: 32px;
  padding: 0;
}
#product .qty .btn-touchspin i {
  display: none;
}
#product .qty .bootstrap-touchspin-down::before {
  content: "-";
  font-size: 16px;
}
#product .qty .bootstrap-touchspin-up::before {
  content: "+";
  font-size: 16px;
}

/* Partage social : absent de la buybox prod */
#product .social-sharing {
  display: none !important;
}

/* Reference sous le CTA (markup child product.tpl) */
.wpt-product-reference {
  border-top: 1px solid #e9e9e9;
  margin-top: 22px;
  padding-top: 16px;
  font-size: 14px;
  color: #000;
}
.wpt-product-reference span {
  color: #555;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.06em;
}

/* Separateur au-dessus du prix (markup child product.tpl) */
.wpt-price-sep {
  border-top: 1px solid #e9e9e9;
  margin: 22px 0;
}

/* --- Pastille compteur panier orange (items 26, 37, 38) ------------------ */
.header-cart-btn .cart-products-count-btn {
  background: #f15a29;
  color: #fff;
  border-radius: 50%;
  font-size: 10px;
  line-height: 16px;
  min-width: 16px;
  height: 16px;
  text-align: center;
  position: absolute;
  top: -7px;
  right: -9px;
  font-style: normal;
  font-weight: 600;
  display: inline-block;
  padding: 0 3px;
}
.header-cart-btn .icon {
  position: relative;
}

/* Badge COMING SOON : en flux sous l'image, centre (item 15) */
.product-miniature .product-availability .product-unavailable {
  position: static;
  display: inline-block;
}

/* Buybox : disponibilite rendue apres le prix (parite prod, item 3/41) */
#product .product-prices {
  display: flex;
  flex-direction: column;
}
#product .product-prices #product-availability {
  order: 5;
  margin-top: 10px;
}

/* Touchspin : neutralise l'absolu du theme sur les boutons verticaux */
#product .qty .btn-touchspin,
#product .qty .bootstrap-touchspin-up,
#product .qty .bootstrap-touchspin-down {
  position: static !important;
  height: auto !important;
}

/* --- Topbar : langues inline EN FR (items 5, 28) ------------------------- */
.wpt-lang-inline .wpt-lang-list {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
  vertical-align: middle;
}
.wpt-lang-inline .wpt-lang-list li {
  display: inline-block;
  margin: 0 4px;
}
.wpt-lang-inline .wpt-lang-list a {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.wpt-lang-inline .wpt-lang-list li.current a {
  font-weight: 600;
}
/* Le bloc shop-switcher et les langues restent sur une seule ligne */
.header-nav .left-nav {
  white-space: nowrap;
}

/* Availability re-affichee sur la fiche CA (le custom_s_1.css genere
   contient encore l'ancien display:none du round 3, charge avant ce
   fichier ; la regle DB a ete retiree, item 3). */
#product .product-prices .js-product-availability.product-available {
  display: inline-block;
}

/* --- Finitions round 4 (2e passe) ---------------------------------------- */
/* Availability alignee a gauche sous le prix */
#product .product-prices #product-availability {
  align-self: flex-start;
}

/* Qty - 1 + : pas de retour a la ligne du bouton + */
#product .qty .bootstrap-touchspin {
  flex-wrap: nowrap;
  width: max-content;
}
#product .qty .bootstrap-touchspin input.input-group {
  flex: 0 0 40px;
  width: 40px;
  min-width: 0;
}

/* Reference : libelle normal noir, valeur grise uppercase (parite prod) */
.wpt-product-reference {
  color: #555;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.wpt-product-reference span {
  color: #000;
  text-transform: none;
  font-size: 14px;
  letter-spacing: 0;
}

/* Topbar : blocs gauche sur une seule ligne (item 5) */
.header-nav .left-nav > div {
  display: inline-block !important;
  vertical-align: middle;
  float: none;
}

/* Header plus compact comme la prod (items 7, 38) */
#desktop-header .header-top {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* --- Home : header en barre solide au-dessus du hero video (item 38) -----
   La video de fond CE (fixed) peignait par-dessus le header transparent.
   Prod : meme barre noire que sur les pages categorie/produit. */
#index #header {
  position: relative;
  z-index: 500;
  background: #000;
}
#index #header .header-nav {
  position: relative;
  z-index: 2;
}

/* Categorie : seul le compteur reste dans la barre du listing (item 13) */
#category #js-product-list-top .products-sort-nb-dropdown,
#category #js-product-list-top .nb-per-page,
#category #js-product-list-top .dropdown {
  display: none !important;
}

/* Carrousels produits CE (Related Products) : titres noirs condenses
   (items 9, 23, 33) - la couleur primaire du kit CE par defaut (#6ec1e4)
   s'appliquait aux h3.elementor-title des miniatures widget. */
.elementor-product-miniature .elementor-title,
.elementor-product-miniature .elementor-title a {
  color: #000 !important;
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase;
}

/* Bloc avis productcomments : titre condense + bouton orange (items 8, 24) */
#product .product-comments-additional-info,
.product-comment-list-header,
#product-comments-list-header {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase;
}
.post-product-comment,
.btn-comment,
#post-product-comment-form .btn-primary,
.product-comment-modal .btn-primary {
  background: #f15a29;
  border-color: #f15a29;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 0;
}

/* COMING SOON : bloc centre sous l'image, pleine largeur de carte */
.product-miniature .product-availability {
  display: block !important;
  width: 100%;
  text-align: center;
  margin: 8px 0 2px;
}

/* ========================================================================
   ROUND 5
   ======================================================================== */

/* --- Round 5 : badge COMING SOON dans sa carte sur le listing categorie -- */
.products-grid .product-miniature .product-availability {
  position: static !important;
  float: none !important;
  width: 100%;
  text-align: center;
  margin: 0 0 6px;
}
.products-grid .product-miniature .product-availability .product-unavailable {
  position: static !important;
  display: inline-block;
}

/* --- Round 5 : topbar une seule ligne (shop switcher + langues) --------- */
.header-nav .left-nav {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 14px;
}
.header-nav .left-nav > * {
  white-space: nowrap;
  flex: 0 0 auto;
}

/* --- Round 5 : labels STUDIO accroches juste au-dessus des items menu ----
   (couvre aussi le round 5 GB item badges menu, meme element .cbp-legend) */
.cbp-hrmenu > ul > li > a {
  position: relative;
}
.cbp-hrmenu > ul > li > a .cbp-legend {
  position: absolute !important;
  top: 6px !important;
  right: 24px;
  bottom: auto !important;
  line-height: 1;
}

/* --- Round 5 : compteur Showing X-Y en bas de grille comme la prod -------
   DOM reel : #js-product-list-top et #js-product-list sont dans des div
   soeurs enfants de section#products (pas de #main direct), d'ou le flex
   sur #products + :has() pour reordonner le wrapper du compteur. -------- */
#category #products {
  display: flex;
  flex-direction: column;
}
#category #products > div:has(#js-product-list-top) {
  order: 99;
}
#category #js-product-list-top {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* --- Round 5 : fond de page categorie gris, cartes blanches, titres noirs - */
#category #wrapper {
  background: #f4f4f4;
}
#category .products-grid .product-miniature {
  background: #fff;
}
.products-grid .product-title a {
  color: #232323 !important;
}

/* --- Round 5 : pas de flags dans le carrousel RELATED PRODUCTS -----------
   Couvre les .product-flag natifs ET les badges Best Seller reproduits en
   ::after par les codes_css iqitthemeeditor per-shop (rounds 3/4). ------- */
.product-accessories .product-flag {
  display: none !important;
}
.product-accessories .thumbnail-container::after,
.product-accessories .elementor-image::after {
  content: none !important;
}

/* --- Popup newsletter (2026-10-02) : style du site Wellputt. -------------
   Carte blanche arrondie en deux colonnes : visuel a gauche (1er paragraphe de
   IQITPOPUP_content), texte + formulaire a droite ; une colonne sous 680px.
   La carte tient dans l'ecran : la mise a l'echelle du script du module est
   neutralisee (transform !important). Gabarit : modules/iqitpopup/.../iqitpopup.tpl. */
#iqitpopup.wp-nl {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  width: min(780px, calc(100vw - 32px)) !important;
  height: auto !important;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);   /* mobile : hauteur visible, barre d'adresse deduite */
  overflow: auto;
  padding: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
  transform: translate(-50%, -46%) !important;
  font-family: var(--wp-body, 'Poppins', sans-serif);
  color: var(--wp-ink, #1a1a1a);
}
#iqitpopup.wp-nl.showed-iqitpopup {
  transform: translate(-50%, -50%) !important;
}
#iqitpopup.wp-nl .wp-nl__content {
  display: contents;
  padding: 0;
  color: var(--wp-ink, #1a1a1a);
}
/* Deux colonnes seulement si le texte commence par le visuel (sinon une colonne,
   comme dans les navigateurs sans :has). */
#iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) {
  grid-template-columns: 42% 1fr;
}
/* Visuel : colonne de gauche sur toute la hauteur. */
#iqitpopup.wp-nl .wp-nl__content > p:first-child:has(img) {
  grid-column: 1;
  grid-row: 1 / span 8;
  margin: 0 !important;
  min-height: 100%;
  position: relative;
  background: var(--wp-sand, #f4f2ef);
}
#iqitpopup.wp-nl .wp-nl__content > p:first-child:has(img) img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  display: block;
}
/* Texte et formulaire : colonne de droite (ou colonne unique). */
#iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) .wp-nl__content > :not(:first-child),
#iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) .wp-nl__form {
  grid-column: 2;
}
#iqitpopup.wp-nl .wp-nl__content > :not(p:first-child:has(img)),
#iqitpopup.wp-nl .wp-nl__form {
  padding-left: 36px;
  padding-right: 36px;
  text-align: left !important;
}
#iqitpopup.wp-nl .wp-nl__content h3 {
  margin: 44px 0 12px !important;
  font-family: var(--wp-title, 'Oswald', sans-serif) !important;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--wp-ink, #1a1a1a);
}
#iqitpopup.wp-nl .wp-nl__content h3::after {
  content: "";
  display: block;
  width: 36px;
  height: 3px;
  margin-top: 14px;
  background: var(--wp-accent, #F15A29);
}
#iqitpopup.wp-nl .wp-nl__content p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.6;
  color: #4a4a4a;
}
#iqitpopup.wp-nl .wp-nl__content > p:last-child {
  font-size: 11px !important;
  color: #999 !important;
  margin-bottom: 4px;
}
#iqitpopup.wp-nl .wp-nl__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
  padding-bottom: 32px;
  background: transparent;
  position: static;
}
#iqitpopup.wp-nl .wp-nl__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
#iqitpopup.wp-nl .wp-nl__input {
  width: 100%;
  max-width: none;
  height: 52px;
  margin: 0 !important;
  padding: 0 16px;
  border: 1px solid #d9d6d1;
  border-radius: 4px;
  background: #fff !important;
  color: var(--wp-ink, #1a1a1a) !important;
  font-family: var(--wp-body, 'Poppins', sans-serif);
  font-size: 14px;
  text-align: left;
  transition: border-color .2s ease, box-shadow .2s ease;
}
#iqitpopup.wp-nl .wp-nl__input::placeholder {
  color: #9a9a9a !important;
}
#iqitpopup.wp-nl .wp-nl__input:focus {
  outline: none;
  border-color: var(--wp-accent, #F15A29);
  box-shadow: 0 0 0 3px rgba(241, 90, 41, .15);
}
#iqitpopup.wp-nl .wp-nl__btn {
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 4px;
  background: var(--wp-accent, #F15A29) !important;
  color: #fff !important;
  font-family: var(--wp-title, 'Oswald', sans-serif);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(241, 90, 41, .32);
  transition: transform .25s ease, box-shadow .25s ease;
}
#iqitpopup.wp-nl .wp-nl__btn:hover,
#iqitpopup.wp-nl .wp-nl__btn:focus {
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(241, 90, 41, .45);
}
#iqitpopup.wp-nl .wp-nl__legal {
  margin: 2px 0 0;
  font-size: 11px;
  line-height: 1.5;
  color: #8a8a8a;
}
#iqitpopup.wp-nl .wp-nl__privacy {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
#iqitpopup.wp-nl .wp-nl__privacy:hover { color: var(--wp-accent, #F15A29); }
#iqitpopup.wp-nl .wp-nl__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(26, 26, 26, .78);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease;
}
#iqitpopup.wp-nl .wp-nl__close:hover,
#iqitpopup.wp-nl .wp-nl__close:focus {
  background: var(--wp-accent, #F15A29);
}
/* La croix du theme (.cross::before) en plus de l'icone : masquee. */
#iqitpopup.wp-nl .wp-nl__close::before,
#iqitpopup.wp-nl .wp-nl__close::after {
  content: none !important;
  display: none !important;
}
#iqitpopup-overlay.showed-iqitpopupo {
  opacity: .7;
}
/* Tant que le bandeau cookies (wpcookies) ou ses preferences sont ouverts, la popup attend :
   elle apparait des que le visiteur a fait son choix. */
html:has(#wpc-banner:not([hidden])) #iqitpopup,
html:has(#wpc-banner:not([hidden])) #iqitpopup-overlay,
html.wpc-locked #iqitpopup,
html.wpc-locked #iqitpopup-overlay {
  visibility: hidden !important;
  opacity: 0 !important;
}
@media (max-width: 680px) {
  #iqitpopup.wp-nl,
  #iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) {
    grid-template-columns: 1fr;
    border-radius: 12px;
  }
  #iqitpopup.wp-nl .wp-nl__content > p:first-child:has(img) {
    grid-column: 1;
    grid-row: auto;
    height: 170px;
    min-height: 0;
  }
  #iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) .wp-nl__content > :not(:first-child),
  #iqitpopup.wp-nl:has(> .wp-nl__content > p:first-child img) .wp-nl__form,
  #iqitpopup.wp-nl .wp-nl__content > :not(p:first-child:has(img)),
  #iqitpopup.wp-nl .wp-nl__form {
    grid-column: 1;
    padding-left: 22px;
    padding-right: 22px;
  }
  #iqitpopup.wp-nl .wp-nl__content h3 {
    margin-top: 22px !important;
    font-size: 22px;
  }
  #iqitpopup.wp-nl .wp-nl__form {
    padding-bottom: 24px;
  }
}

/* --- Round 5 : header desktop sans icones recherche/compte (prod : panier
   seul, LOGIN en topbar). Wrappers reels du DOM warehouse ; la recherche
   mobile (.col-mobile-btn-search) reste affichee. Couvre GB + EU (fichier
   partage, meme design prod sur les 4 boutiques). ------------------------ */
#desktop-header .header-search-btn-w,
#desktop-header .header-user-btn-w {
  display: none !important;
}

/* --- Round 5 : section CE 13FT WELLPLAY, titre 40px + puces aerees -------
   Scopee aux widgets text-editor reels de la section (le titre est un <h2>
   dans un widget texte, pas un widget heading ; la liste est un <ul> de
   widget texte, pas une icon-list). ------------------------------------- */
.elementor-element-8171b7a h2 {
  font-size: 40px;
}
.elementor-element-168f622 li {
  line-height: 1.9;
  margin-bottom: 6px;
}

/* --- Round 5 : home, hero colle au header (suppression du lisere blanc) -- */
#index #content-wrapper,
#index #main {
  padding-top: 0;
  margin-top: 0;
}
#index .elementor-section:first-child {
  margin-top: 0;
}

/* --- Round 5 : listing, hauteur du bloc reassurance egalisee -------------
   Aligne les boutons ADD TO CART quand une carte n'a qu'une ligne
   (ex 13FT START). Le compteur en bas de grille est couvre par la regle
   #category #main flex ci-dessus (fichier partage). Markup reel des cartes :
   .wpt-mini-reassurance (2 lignes de 15px). ----------------------------- */
.product-miniature .wpt-mini-reassurance {
  min-height: 30px;
}

/* --- Round 5 : labels BENEFITS en noir (h5 CE rendus #777 par defaut) ---- */
.elementor-widget-heading h5.elementor-heading-title {
  color: #000;
}

/* --- Round 5 : description courte fiche foncee taille prod ---------------
   DOM reel : div#product-description-short-{id}.rte-content (pas de classe
   .product-description-short). GB garde #000 via codes_css shop 2
   (!important, per-shop). --------------------------------------------- */
#product [id^="product-description-short"],
#product [id^="product-description-short"] p {
  color: #3a3a3a;
  font-size: 16px;
  line-height: 1.6;
}

/* --- Round 6 (10/08) : bandeau cookies = carte blanche discrete en bas a
   gauche (la prod affiche un modal CMP injecte par script externe, hors PS ;
   il reviendra avec la config tracking au go-live — cf. DECISIONS-CLIENT).  */
#iqitcookielaw {
  background: #fff;
  color: #333;
  max-width: 380px;
  left: 18px;
  right: auto;
  bottom: 18px;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
  padding: 18px 20px !important;
  font-size: 0.85rem;
  line-height: 1.45;
}
#iqitcookielaw p {
  margin-bottom: 12px;
}
#iqitcookielaw #iqitcookielaw-accept {
  background: #eb6a2a;
  border-color: #eb6a2a;
  color: #fff;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  border-radius: 4px;
}
#iqitcookielaw #iqitcookielaw-accept:hover {
  background: #d55d20;
  border-color: #d55d20;
}

/* ========================================================================
   ROUND 7 (11/08) — lot parite issu du workflow de scoring
   ======================================================================== */

/* Titres de section des blocs module (OUR PACKS) : noir, grand, Oswald,
   comme les headings CE de la prod (Warehouse les laissait en gris #777). */
.wppack-home__title,
.wppack-catbar__title {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  font-size: 44px;
  line-height: 1.1;
  color: #0a0a0a;
  text-transform: uppercase;
  font-weight: 600;
}
.wppack-catbar__title {
  font-size: 34px;
}

/* Paragraphes d'intro de section home : encre foncee (prod ~#222, pas #777).
   Les couleurs posees inline par CE gardent la main. */
#index .elementor-widget-text-editor .elementor-text-editor {
  color: #222;
}

/* CTA packs : uppercase + letterspacing comme les boutons prod */
.wppack-card__btn,
.wppack-catbar__btn {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 13px;
  font-weight: 600;
}
.wppack-catbar__btn {
  padding: 0.5rem 1.4rem;
  text-align: center;
}

/* Fiche produit : titres marketing des sections descriptives grands comme la prod */
#product #description h2,
#product .product-description h2,
#product .elementor-widget-heading h2.elementor-heading-title {
  font-size: 48px;
  line-height: 1.05;
}

/* Miniatures dans la fiche produit (produits associes, fenetre panier) : la fenetre panier
   s'ouvre dans #product, les titres de description (48 px) ne s'appliquent pas aux cartes. */
#product .product-miniature .product-title,
#product .product-miniature .product-description h2.product-title {
  font-size: 15px !important;
  line-height: 1.25 !important;
}
#product .product-miniature .product-description p {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* Produits suggeres de la fenetre « ajoute au panier » et de la page panier (2026-10-02) :
   cartes des pages categories du theme Wellputt (carte blanche bordee arrondie, image carree,
   titre Oswald, prix a gauche et « Ajouter au panier » en lien orange a droite, en pied de carte),
   toutes de la meme hauteur. Seuls restent titre, etoiles, prix (et prix barre) et bouton. */
:is(#blockcart-modal, body#cart) .swiper-slide { height: auto; }
:is(#blockcart-modal, body#cart) .js-product-miniature-wrapper { height: 100%; }
/* Page panier : le carrousel colle les cartes bord a bord et coupe la bordure de la derniere.
   Un peu d'air de chaque cote de la carte, a l'interieur du slide. */
body#cart .products .swiper-slide { padding: 2px 5px; }
:is(#blockcart-modal, body#cart) .product-miniature {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .13);
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
  container-type: inline-size;            /* mise en page selon la largeur de la carte (voir @container) */
  transition: border-color .2s ease;
}
/* Survol : bordure plus marquee. Pas de soulevement ni d'ombre, le carrousel les couperait. */
:is(#blockcart-modal, body#cart) .product-miniature:hover { border-color: rgba(0, 0, 0, .35); }
:is(#blockcart-modal, body#cart) .product-miniature .thumbnail-container {
  position: relative;
  flex: 0 0 auto;                         /* image toujours carree, jamais ecrasee par la carte */
  margin: 0 !important;
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
}
:is(#blockcart-modal, body#cart) .product-miniature .thumbnail-container :is(a.product-thumbnail, picture) {
  position: static !important;
  display: block;
}
:is(#blockcart-modal, body#cart) .product-miniature .thumbnail-container img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  padding: 14px;
  box-sizing: border-box;
}
:is(#blockcart-modal, body#cart) .product-miniature :is(.wpl, .product-flags, .product-availability,
  .product-functional-buttons, .product-category-name, .product-brand, .product-reference,
  .product-description-short, .wpc-mini__eyebrow, .wpc-mini__desc) {
  display: none !important;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-description {
  flex: 1 1 auto;
  display: grid !important;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto 1fr;
  column-gap: 10px;
  padding: 14px 16px 16px !important;
  text-align: left !important;
  background: #fff;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-description > * {
  grid-column: 1 / -1;
  margin: 0;
  text-align: left !important;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-title {
  font-family: var(--wp-title, 'Oswald', sans-serif) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase;
  min-height: 2.5em;                       /* 2 lignes reservees : prix et boutons alignes */
  margin: 0 0 6px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-title a { color: var(--wp-ink, #1a1a1a); text-decoration: none; }
:is(#blockcart-modal, body#cart) .product-miniature .product-title a:hover { color: var(--wp-accent, #F15A29); }
:is(#blockcart-modal, body#cart) .product-miniature .wpc-mini { min-height: 18px; margin: 0 0 4px; }
:is(#blockcart-modal, body#cart) .product-miniature .product-price-and-shipping {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 8px;
  margin-top: 10px;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-price-and-shipping :is(.price, .product-price) {
  font-family: var(--wp-title, 'Oswald', sans-serif);
  font-weight: 600;
  font-size: 20px;
  color: var(--wp-ink, #1a1a1a);
}
:is(#blockcart-modal, body#cart) .product-miniature .regular-price {
  font-family: var(--wp-body, 'Poppins', sans-serif);
  font-weight: 300;
  font-size: 13px;
  color: #aaa;
  text-decoration: line-through;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-add-cart {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  margin-top: 10px;
}
/* Produit a options dont la declinaison par defaut est epuisee : le lien « Choisir » reste
   (la regle « Coming soon » plus haut ne masque que les produits vraiment indisponibles). */
:is(#blockcart-modal, body#cart) .js-product-miniature:has(.product-combination-only-unavailable) .product-add-cart {
  display: block !important;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-add-cart form { margin: 0; }
:is(#blockcart-modal, body#cart) .product-miniature .product-add-cart .input-qty { display: none !important; }
:is(#blockcart-modal, body#cart) .product-miniature .product-add-cart :is(.btn, button, a) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 2px !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  color: var(--wp-accent, #F15A29) !important;
  font-family: var(--wp-title, 'Oswald', sans-serif) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
:is(#blockcart-modal, body#cart) .product-miniature .product-add-cart :is(.btn, button, a):hover {
  color: var(--wp-ink, #1a1a1a) !important;
}
/* Cartes etroites (page panier, mobile) : le lien passe sous le prix au lieu de deborder.
   Seuil selon la largeur de la carte : prix + « AJOUTER AU PANIER » tiennent sur une ligne
   a partir d'environ 260 px. */
@container (max-width: 259px) {
  :is(#blockcart-modal, body#cart) .product-miniature .product-description {
    grid-template-rows: auto auto 1fr auto;
    padding: 12px 12px 14px !important;
  }
  :is(#blockcart-modal, body#cart) .product-miniature .product-title { font-size: 14px !important; }
  :is(#blockcart-modal, body#cart) .product-miniature .product-price-and-shipping { grid-column: 1 / -1; }
  :is(#blockcart-modal, body#cart) .product-miniature .product-add-cart {
    grid-column: 1 / -1;
    grid-row: 4;
    margin-top: 6px;
  }
}

/* Anciens badges « Best Seller / Launch Offer » ajoutes en ::after par les codes CSS de
   l'editeur de theme (par produit, en base) : remplaces par le module wplabels, ils
   faisaient doublon (badge orange sous l'etiquette noire). Retires de toutes les miniatures. */
.product-miniature .thumbnail-container::after {
  content: none !important;
}

/* Miniatures : respiration typo de la prod (titre, prix plus present) */
.product-miniature .product-title {
  margin-bottom: 10px;
}
.product-miniature .product-price {
  font-size: 20px;
}
.product-miniature .btn-product-list.add-to-cart {
  margin-top: 8px;
}
/* Reassurance miniatures : livraison grise reguliere, garantie gras noir (cf tpl) */
.wpt-mini-reassurance {
  color: #999;
  font-weight: 400;
}
.wpt-mini-reassurance strong {
  color: #111;
}

/* Header : rangee pleine largeur et menu centre entre logo et panier (prod) */
#header .header-top .container,
#header .container {
  max-width: 100%;
  padding-left: 30px;
  padding-right: 30px;
}
#_desktop_iqitmegamenu-horizontal {
  margin-left: auto;
  margin-right: auto;
}

/* Topbar : pas d'artefact sous le selecteur boutique, jamais de passage 2 lignes */
.wpt-shop-selector ul > li:after {
  display: none !important;
}
.header-nav .container {
  flex-wrap: nowrap;
}
.wpt-shop-selector,
.header-nav #language_selector {
  white-space: nowrap;
}

/* Pages categorie : tuiles blanches distinctes sur fond gris + marges fines prod */
#category #wrapper {
  background: #f4f4f4;
}
#category #js-product-list,
#category #products {
  background: transparent;
}
#category .product-miniature {
  background: #fff;
  padding: 12px;
}
@media (min-width: 1200px) {
  #category #wrapper > .container,
  #category #content-wrapper > .container {
    max-width: calc(100% - 32px);
  }
}

/* --- Pages « À propos » ------------------------------------------------------
   Contenu ecrit par prestashop/maintenance/about-pages-*.php (bloc .wpa) :
   bandeau photo, chiffres, origines, video, savoir-faire, marques, appel a l'action.
   Le titre de la page (h1) reste celui du theme ; le slogan du bandeau est un paragraphe.
   Petits textes orange sur fond clair : orange plus soutenu (#c2410c) pour la lisibilite. */
.page-content .wpa {
  --wpa-ink: #0a0a0a;
  --wpa-sand: #f4f2ef;
  --wpa-line: #e8e4de;
  --wpa-accent: #f15a29;
  --wpa-muted: #5f5f5f;
  margin: 0 0 48px;
  color: var(--wpa-ink);
  font-family: 'Poppins', sans-serif;
}
.page-content .wpa * {
  box-sizing: border-box;
}
.page-content .wpa section {
  margin: 0 0 clamp(56px, 8vw, 104px);
}
.page-content .wpa h1,
.page-content .wpa h2,
.page-content .wpa h3 {
  margin: 0 0 16px;
  color: var(--wpa-ink);
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.page-content .wpa h2 {
  font-size: clamp(28px, 3.4vw, 44px);
}
.page-content .wpa h3 {
  font-size: 20px;
}
.page-content .wpa p {
  margin: 0 0 14px;
  color: var(--wpa-muted);
  font-size: 16px;
  line-height: 1.7;
}
.page-content .wpa img {
  display: block;
  max-width: 100%;
  height: auto;
}
.page-content .wpa figure {
  margin: 0;
}
.page-content .wpa .wpa-eyebrow {
  margin: 0 0 14px;
  color: #c2410c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

/* Bandeau */
.page-content .wpa .wpa-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(380px, 52vw, 580px);
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
}
.page-content .wpa .wpa-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-content .wpa .wpa-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(0, 0, 0, 0.05) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.6) 100%);
}
.page-content .wpa .wpa-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 880px;
  padding: clamp(28px, 5vw, 64px) clamp(28px, 5vw, 64px) clamp(72px, 8vw, 104px);
}
.page-content .wpa .wpa-hero .wpa-eyebrow,
.page-content .wpa .wpa-videos .wpa-eyebrow {
  color: var(--wpa-accent);
}
.page-content .wpa .wpa-hero__title {
  margin: 0 0 16px;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: clamp(34px, 5vw, 64px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.page-content .wpa .wpa-hero__lead {
  max-width: 640px;
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 18px;
}

/* Chiffres */
.page-content .wpa .wpa-stats {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  max-width: 980px;
  margin: -48px auto clamp(56px, 8vw, 104px);
  padding: 0;
  overflow: hidden;
  list-style: none;
  border-radius: 14px;
  background: var(--wpa-line);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
.page-content .wpa .wpa-stats li {
  margin: 0;
  padding: 26px 24px;
  list-style: none;
  text-align: center;
  background: #fff;
}
.page-content .wpa .wpa-stats li::before,
.page-content .wpa .wpa-stats li::marker {
  content: none;
  display: none;
}
.page-content .wpa .wpa-stats strong {
  display: block;
  margin-bottom: 8px;
  color: var(--wpa-accent);
  font-family: 'Oswald', sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}
.page-content .wpa .wpa-stats span {
  display: block;
  color: var(--wpa-muted);
  font-size: 14px;
  line-height: 1.4;
}

/* Texte + image */
.page-content .wpa .wpa-split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.page-content .wpa .wpa-split--reverse .wpa-split__text {
  order: 2;
}
.page-content .wpa .wpa-split__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 16px;
}
.page-content .wpa .wpa-split__media figcaption {
  margin-top: 12px;
  color: var(--wpa-muted);
  font-size: 13px;
  letter-spacing: 0.04em;
}

/* Videos */
.page-content .wpa .wpa-videos {
  padding: clamp(32px, 5vw, 64px);
  border-radius: 18px;
  background: var(--wpa-ink);
}
.page-content .wpa .wpa-videos h2 {
  color: #fff;
}
.page-content .wpa .wpa-videos__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 24px;
  max-width: 1040px;
  margin-top: 28px;
}
.page-content .wpa .wpa-video {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: #000;
}
.page-content .wpa .wpa-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Savoir-faire */
.page-content .wpa .wpa-values {
  text-align: center;
}
.page-content .wpa .wpa-values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
  text-align: left;
}
.page-content .wpa .wpa-card {
  padding: 32px 28px;
  border-radius: 16px;
  background: var(--wpa-sand);
}
/* Pictos blancs (dessines pour un fond sombre) : pastille noire. */
.page-content .wpa .wpa-card img {
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  padding: 12px;
  border-radius: 50%;
  background: var(--wpa-ink);
}
.page-content .wpa .wpa-card p {
  margin: 0;
  font-size: 15px;
}

/* Marques */
.page-content .wpa .wpa-trust {
  max-width: 980px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.page-content .wpa .wpa-trust > p {
  max-width: 640px;
  margin: 0 auto 28px;
}
.page-content .wpa .wpa-logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.page-content .wpa .wpa-logos img {
  width: 100%;
  height: 76px;
  padding: 14px 18px;
  object-fit: contain;
  border: 1px solid var(--wpa-line);
  border-radius: 12px;
  background: #fff;
  filter: grayscale(1);
  opacity: 0.8;
  transition: filter 0.2s, opacity 0.2s;
}
.page-content .wpa .wpa-logos img:hover {
  filter: none;
  opacity: 1;
}
.page-content .wpa .wpa-trust .wpa-trust__more {
  margin: 16px auto 0;
  font-size: 14px;
}

/* Appel a l'action */
.page-content .wpa .wpa-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: 18px;
  background: var(--wpa-ink);
}
.page-content .wpa .wpa-cta__text {
  align-self: center;
  padding: clamp(32px, 5vw, 64px);
}
.page-content .wpa .wpa-cta h2 {
  color: #fff;
}
.page-content .wpa .wpa-cta p {
  color: rgba(255, 255, 255, 0.75);
}
.page-content .wpa .wpa-cta__img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.page-content .wpa .wpa-cta .wpa-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0 0;
}
/* Classe doublee : le theme colore a:link:not(.btn) avec une priorite plus forte. */
.page-content .wpa a.wpa-btn.wpa-btn,
.page-content .wpa a.wpa-btn.wpa-btn:link,
.page-content .wpa a.wpa-btn.wpa-btn:visited {
  display: inline-block;
  padding: 14px 26px;
  border: 1px solid var(--wpa-accent);
  border-radius: 999px;
  background: var(--wpa-accent);
  color: var(--wpa-ink);
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.page-content .wpa a.wpa-btn.wpa-btn:hover,
.page-content .wpa a.wpa-btn.wpa-btn:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--wpa-ink);
}
.page-content .wpa a.wpa-btn.wpa-btn--ghost.wpa-btn--ghost,
.page-content .wpa a.wpa-btn.wpa-btn--ghost.wpa-btn--ghost:link,
.page-content .wpa a.wpa-btn.wpa-btn--ghost.wpa-btn--ghost:visited {
  border-color: rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #fff;
}
.page-content .wpa a.wpa-btn.wpa-btn--ghost.wpa-btn--ghost:hover,
.page-content .wpa a.wpa-btn.wpa-btn--ghost.wpa-btn--ghost:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--wpa-ink);
}

@media (max-width: 767px) {
  .page-content .wpa .wpa-stats {
    grid-template-columns: 1fr;
    margin-top: 16px;
  }
  .page-content .wpa .wpa-hero__inner {
    padding-bottom: 32px;
  }
  .page-content .wpa .wpa-split,
  .page-content .wpa .wpa-cta,
  .page-content .wpa .wpa-values__grid {
    grid-template-columns: 1fr;
  }
  .page-content .wpa .wpa-split--reverse .wpa-split__text {
    order: 0;
  }
  .page-content .wpa .wpa-logos {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-content .wpa .wpa-cta__img {
    min-height: 220px;
  }
}

/* Home : respiration des puces des blocs CE (li > p aux marges annulees) */
#index .elementor-text-editor li p {
  margin: 0 0 0.5em;
}

/* Bloc "Accessories" du theme Warehouse sur la fiche produit : n'existe pas
   en prod (Lanaworks ne le rendait jamais). Masque pour parite ; feature
   reactivable sur decision client (cf. DECISIONS-CLIENT.md). */
#product .product-accessories,
.product-accessories {
  display: none !important;
}

/* ========================================================================
   ROUND 8 (11/08) — finitions issues du scoring round 2
   ======================================================================== */

/* Menu principal centre entre logo et panier (prod) */
#iqitmegamenu-horizontal .cbp-hrmenu > ul {
  display: flex;
  justify-content: center;
}

/* Topbar : selecteurs boutique + langue sur UNE ligne, poids neutre, sans caret */
.header-nav .container,
.header-nav .row {
  flex-wrap: nowrap;
}
.wpt-shop-selector,
.header-nav #language_selector,
.header-nav .language-selector {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  white-space: nowrap;
}
.header-nav #language_selector li.current a,
.header-nav #language_selector .active a,
.header-nav .language-selector li.current a {
  font-weight: 400;
  text-decoration: none;
}
.wpt-shop-selector .expand-more:after,
.wpt-shop-selector li:before {
  display: none !important;
}

/* Grille categorie : vraies tuiles blanches avec gouttieres (grid + gap) */
#category #js-product-list .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  background: transparent;
}
@media (max-width: 1199px) {
  #category #js-product-list .products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  #category #js-product-list .products { grid-template-columns: repeat(2, 1fr); }
}
#category #js-product-list .products > * {
  max-width: 100%;
  flex: none;
  width: auto;
}
#category .product-miniature {
  background: #fff;
  padding: 12px;
  margin: 0;
  height: 100%;
}

/* Cartes produits : hauteurs egales, bouton ancre en bas */
.js-product-miniature .product-description,
.product-miniature .product-description {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.product-miniature .product-description > .product-add-cart,
.product-miniature .product-description > .btn-product-list {
  margin-top: auto;
}

/* Chip remise : overlay haut-droit sur le visuel comme la prod */
.product-miniature {
  position: relative;
}
.product-miniature .product-flag.discount {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
}

/* Home : conteneurs CE elargis comme la prod (~1410px), typo de section */
#index .elementor-section-boxed > .elementor-container {
  max-width: 1410px;
}
#index .elementor-widget-text-editor .elementor-text-editor {
  font-size: 16px;
  line-height: 1.5;
}
#index .elementor-widget-heading h2.elementor-heading-title {
  font-size: 40px;
}
#index .elementor-text-editor li {
  line-height: 1.8;
}

/* Fiche produit : paragraphes descriptifs et heading hero comme la prod */
#product .product-description p,
#product #description p {
  font-size: 16px;
  line-height: 1.4;
  color: #666;
}
#product .elementor-widget-heading .elementor-heading-title {
  color: #0a0a0a;
}

/* Footer : paragraphe "about" justifie comme la prod */
#footer .elementor-widget-text-editor .elementor-text-editor {
  text-align: justify;
}

/* --- Menu : onglet Wellputt Studio mis a part (mini-site Studio) ----------
   iqitmegamenu ne donne pas de classe par onglet et les numeros d'onglet
   changent d'une base a l'autre : on cible le lien vers la page CMS
   « wellputt-studio » (meme adresse dans les 4 boutiques et les 2 langues).
   Si l'URL simplifiee de cette page change, ce style ne s'applique plus.
   Ordinateur : trait de separation + bouton contour orange, plein au survol.
   Mobile (premier niveau du menu) : bouton contour orange sous les rubriques.
   Le CSS du Theme Editor colore les liens du menu mobile et souligne les onglets
   avec !important : on colore le texte interieur et on retire ce soulignement. */
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"] {
  margin-left: 25px;
}
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -12px;
  width: 1px;
  height: 22px;
  margin-top: -11px;
  background: rgba(255, 255, 255, 0.22);
}
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"]::after {
  display: none;
}
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"] .cbp-tab-title,
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"] {
  display: inline-block;
  border: 1px solid #f15a29;
  border-radius: 999px;
  color: #f15a29;
  transition: background-color 0.2s, color 0.2s;
}
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"] .cbp-tab-title {
  padding: 10px 18px 9px;
}
/* Survol / focus : fond orange, texte noir (contraste suffisant, le blanc ne l'est pas). */
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"]:hover .cbp-tab-title,
#iqitmegamenu-horizontal .cbp-hrmenu > ul > li > a[href*="-wellputt-studio"]:focus-visible .cbp-tab-title {
  background: #f15a29;
  color: #0a0a0a;
}
/* Mobile : le bouton Studio reste sous toutes les rubriques, meme si un onglet (Blog)
   le suit dans le menu ordinateur. */
#iqitmegamenu-mobile .mobile-menu__scroller {
  display: flex;
  flex-direction: column;
}
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__below-content {
  order: 2;
}
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:has(> a[href*="-wellputt-studio"]) {
  order: 1;
  margin-top: 18px;
  border-bottom: 0 !important;
}
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"] {
  padding: 13px 22px !important;
  line-height: 1;
  text-align: center;
  border-color: #c2410c;
}
/* Sur fond blanc, un orange plus soutenu pour que le texte reste lisible. */
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"] > span {
  color: #c2410c;
}
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"]:hover,
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"]:focus-visible {
  background: #c2410c;
}
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"]:hover > span,
#iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > a.mobile-menu__link[href*="-wellputt-studio"]:focus-visible > span {
  color: #fff;
}

/* --- Page contact (templates/contact.tpl + modules/contactform) -----------
   Bandeau noir, trois raccourcis (commande, assistant, Studio), formulaire en
   carte et conseils. Petits textes orange sur fond clair : #c2410c (lisibilite). */
.wpc {
  --wpc-ink: #0a0a0a;
  --wpc-sand: #f4f2ef;
  --wpc-line: #e8e4de;
  --wpc-accent: #f15a29;
  --wpc-accent-text: #c2410c;
  --wpc-muted: #5f5f5f;
  margin: 0 0 56px;
  color: var(--wpc-ink);
  font-family: 'Poppins', sans-serif;
}
.wpc * {
  box-sizing: border-box;
}
.wpc .wpc-hero {
  overflow: hidden;
  padding: clamp(40px, 6vw, 80px) clamp(28px, 5vw, 64px) clamp(72px, 8vw, 104px);
  border-radius: 18px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(241, 90, 41, 0.35) 0%, rgba(241, 90, 41, 0) 55%),
    var(--wpc-ink);
}
.wpc .wpc-eyebrow {
  margin: 0 0 14px;
  color: var(--wpc-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.wpc .wpc-hero__title {
  margin: 0 0 16px;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: clamp(34px, 5vw, 60px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.wpc .wpc-hero__lead {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 17px;
  line-height: 1.7;
}
.wpc .wpc-shortcuts {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 16px;
  margin: -44px clamp(12px, 3vw, 40px) 0;
}
.wpc .wpc-shortcut {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 22px 24px;
  border: 1px solid var(--wpc-line);
  border-radius: 14px;
  background: #fff;
  color: var(--wpc-ink);
  font: inherit;
  text-align: left;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.07);
  cursor: pointer;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.wpc .wpc-shortcut[hidden] {
  display: none;
}
.wpc .wpc-shortcut:hover,
.wpc .wpc-shortcut:focus-visible {
  border-color: var(--wpc-accent);
  color: var(--wpc-ink);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.1);
}
.wpc .wpc-shortcut:focus-visible {
  outline: 2px solid var(--wpc-accent);
  outline-offset: 2px;
}
.wpc .wpc-shortcut__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: var(--wpc-sand);
}
.wpc .wpc-shortcut__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--wpc-accent-text);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wpc .wpc-shortcut__title {
  font-family: 'Oswald', sans-serif;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.wpc .wpc-shortcut__text {
  color: var(--wpc-muted);
  font-size: 14px;
  line-height: 1.55;
}
.wpc .wpc-main {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
  margin-top: clamp(40px, 6vw, 64px);
}
.wpc .wpc-card {
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--wpc-line);
  border-radius: 16px;
  background: #fff;
}
.wpc .wpc-card__title,
.wpc .wpc-tips__title {
  margin: 0 0 22px;
  color: var(--wpc-ink);
  font-family: 'Oswald', sans-serif;
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.wpc .wpc-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.wpc .wpc-field--full {
  grid-column: 1 / -1;
}
.wpc .wpc-field label {
  display: block;
  margin: 0 0 7px;
  color: var(--wpc-ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: left;
}
.wpc .wpc-optional {
  color: var(--wpc-muted);
  font-weight: 400;
}
.wpc .wpc-field .form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d9d4cc;
  border-radius: 10px;
  background-color: #fff;
  color: var(--wpc-ink);
  font-size: 15px;
  box-shadow: none;
}
.wpc .wpc-field textarea.form-control {
  min-height: 160px;
  resize: vertical;
}
.wpc .wpc-field .form-control:focus {
  border-color: var(--wpc-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(241, 90, 41, 0.18);
}
.wpc .wpc-field .bootstrap-filestyle {
  width: 100%;
}
.wpc .wpc-field .bootstrap-filestyle .form-control,
.wpc .wpc-field .bootstrap-filestyle .btn {
  min-height: 48px;
}
.wpc .wpc-gdpr {
  margin-top: 16px;
  color: var(--wpc-muted);
  font-size: 13px;
}
.wpc .wpc-card__footer {
  margin-top: 24px;
}
.wpc .wpc-submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 999px;
  background: var(--wpc-ink);
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}
/* Fond orange : texte noir (le blanc n'est pas assez contraste). */
.wpc .wpc-submit:hover,
.wpc .wpc-submit:focus-visible {
  background: var(--wpc-accent);
  color: var(--wpc-ink);
}
.wpc .alert {
  margin-bottom: 20px;
  border-radius: 10px;
}
.wpc .alert ul {
  margin: 0;
  padding-left: 18px;
}
.wpc .wpc-tips {
  padding: clamp(24px, 4vw, 36px);
  border-radius: 16px;
  background: var(--wpc-sand);
}
.wpc .wpc-tips ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: wpc;
}
.wpc .wpc-tips li {
  position: relative;
  margin: 0 0 18px;
  padding-left: 46px;
  color: var(--wpc-muted);
  font-size: 15px;
  line-height: 1.6;
  counter-increment: wpc;
}
.wpc .wpc-tips li::before {
  content: counter(wpc, decimal-leading-zero);
  position: absolute;
  top: -2px;
  left: 0;
  color: var(--wpc-accent-text);
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 500;
}
.wpc .wpc-tips li:last-child {
  margin-bottom: 0;
}
.wpc .wpt-contact-ce:empty {
  display: none;
}
@media (max-width: 767px) {
  .wpc .wpc-shortcuts {
    margin: -32px 8px 0;
  }
  .wpc .wpc-main,
  .wpc .wpc-fields {
    grid-template-columns: 1fr;
  }
}

/* --- Blog : accueil et categories (modules/ph_simpleblog .../list.tpl) ----
   Bandeau sable, dernier article mis en avant en pleine largeur, puis cartes. */
.wpb-hero,
.wpb-list,
.wpb-empty {
  font-family: 'Poppins', sans-serif;
}
.wpb-hero {
  margin: 0 0 clamp(32px, 5vw, 56px);
  padding: clamp(40px, 6vw, 76px) clamp(28px, 5vw, 64px);
  border-radius: 18px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(241, 90, 41, 0.16) 0%, rgba(241, 90, 41, 0) 55%),
    #f4f2ef;
}
.wpb-hero .wpb-eyebrow {
  margin: 0 0 14px;
  color: #c2410c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.wpb-hero .wpb-hero__title {
  margin: 0 0 16px;
  color: #0a0a0a;
  font-family: 'Oswald', sans-serif;
  font-size: clamp(34px, 5vw, 60px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.wpb-hero .wpb-hero__lead {
  max-width: 620px;
  margin: 0;
  color: #5f5f5f;
  font-size: 17px;
  line-height: 1.7;
}
.wpb-hero .wpb-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.wpb-hero .wpb-cats a {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #0a0a0a;
  border-radius: 999px;
  color: #0a0a0a;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.wpb-hero .wpb-cats a:hover,
.wpb-hero .wpb-cats a:focus-visible {
  background: #0a0a0a;
  color: #fff;
  text-decoration: none;
}
.wpb-list {
  display: grid;
  /* 3 cartes par ligne sur ordinateur, 2 sur tablette, 1 sur mobile (jamais plus de 3). */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin: 0 0 48px;
}
@media (max-width: 991px) {
  .wpb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .wpb-list { grid-template-columns: minmax(0, 1fr); }
}
.wpb-list .wpb-post {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e8e4de;
  border-radius: 16px;
  background: #fff;
  transition: box-shadow 0.2s, transform 0.2s;
}
.wpb-list .wpb-post:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
/* Les couvertures du blog sont des bandeaux larges avec du texte incruste : on les
   montre entieres (hauteur naturelle), jamais recadrees. */
.wpb-list .wpb-post__media {
  display: block;
  overflow: hidden;
  background: #f4f2ef;
}
.wpb-list .wpb-post__media img {
  display: block;
  width: 100%;
  transition: transform 0.5s;
}
/* Bandeaux du module (899 x 350) : meme format pour toutes les cartes, image entiere. */
.wpb-list .wpb-post__media {
  aspect-ratio: 899 / 350;
}
.wpb-list .wpb-post__media img {
  height: 100%;
  object-fit: cover;
}
.wpb-list .wpb-post:hover .wpb-post__media img {
  transform: scale(1.03);
}
.wpb-list .wpb-post__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 18 / 7;
  background: linear-gradient(135deg, #f4f2ef, #e8e4de);
}
.wpb-list .wpb-post__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(20px, 2.4vw, 28px);
}
.wpb-list .wpb-post__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: center;
  margin: 0 0 10px;
  color: #5f5f5f;
  font-size: 13px;
}
.wpb-list .wpb-post__cat {
  color: #c2410c;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.wpb-list .wpb-post__title {
  margin: 0 0 12px;
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.wpb-list .wpb-post__title a {
  color: #0a0a0a;
}
.wpb-list .wpb-post__title a:hover,
.wpb-list .wpb-post__title a:focus-visible {
  color: #c2410c;
  text-decoration: none;
}
.wpb-list .wpb-post__excerpt {
  margin: 0 0 18px;
  color: #5f5f5f;
  font-size: 15px;
  line-height: 1.65;
}
.wpb-list .wpb-post__more {
  align-self: flex-start;
  margin-top: auto;
  padding-bottom: 3px;
  border-bottom: 2px solid #f15a29;
  color: #0a0a0a;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.wpb-list .wpb-post__more:hover,
.wpb-list .wpb-post__more:focus-visible {
  color: #c2410c;
  text-decoration: none;
}
.wpb-empty {
  padding: 48px 0;
  color: #5f5f5f;
  text-align: center;
}

/* --- Formulaires Contact Form Ultimate (page contact, pages travailler / ambassadeur) ---
   Le module rend ses champs dans .ets_cfu_box / .ets_cfu_col : grille 2 colonnes,
   etiquettes au-dessus, champs arrondis, bouton noir (orange au survol, texte noir). */
:is(.wpc-card, .wpx-form) .ets-cfu-form > h3 {
  display: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_box {
  /* le module donne width:calc(100% + 30px) pour une marge de -15px que l'on retire : sans
     largeur automatique, les champs depassaient de la carte de 30px a droite */
  width: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_box.style1 {
  grid-template-columns: minmax(0, 1fr);
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_box .ets_cfu_col {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  float: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_input {
  margin: 0;
  padding: 0;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_input > label {
  display: block;
  width: 100%;
  margin: 0;
  font-weight: 400;
  text-align: left;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_span {
  display: block;
  margin: 0 0 7px;
  color: #0a0a0a;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_form-control-wrap {
  position: relative;
  display: block;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form input.form-control,
:is(.wpc-card, .wpx-form) .ets-cfu-form select.form-control,
:is(.wpc-card, .wpx-form) .ets-cfu-form textarea.form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d9d4cc;
  border-radius: 10px;
  background-color: #fff;
  color: #0a0a0a;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  box-shadow: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form select.form-control {
  padding-right: 40px;
  appearance: none;
  -webkit-appearance: none;
}
/* La fleche du theme (fond du select) suffit : celle du module ferait doublon. */
:is(.wpc-card, .wpx-form) .ets-cfu-form .select_arrow {
  display: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form textarea.form-control {
  min-height: 160px;
  resize: vertical;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .form-control:focus {
  border-color: #f15a29;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(241, 90, 41, 0.18);
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .bootstrap-filestyle {
  width: 100%;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .bootstrap-filestyle .form-control,
:is(.wpc-card, .wpx-form) .ets-cfu-form .bootstrap-filestyle .btn {
  min-height: 48px;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .file_type_des {
  display: block;
  margin-top: 6px;
  color: #5f5f5f;
  font-size: 12px;
}
/* reCAPTCHA : rien a afficher tant que les cles ne sont pas saisies. */
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_input_recaptcha br {
  display: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_input_recaptcha:not(:has(iframe)) {
  display: none;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 6px;
  border: 0;
  border-radius: 999px;
  background: #0a0a0a;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu-submit:hover,
:is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu-submit:focus-visible {
  background: #f15a29;
  color: #0a0a0a;
}
:is(.wpc-card, .wpx-form) .wpcfu-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #c2410c;
  font-size: 13px;
}
:is(.wpc-card, .wpx-form) .wpcfu-response-output {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid #c2410c;
  border-radius: 10px;
  background: #fff4ef;
  color: #9a3412;
  font-size: 14px;
}
:is(.wpc-card, .wpx-form) .wpcfu-response-output.wpcfu-mail-sent-ok {
  border-color: #2e7d32;
  background: #eef7ef;
  color: #1b5e20;
}
:is(.wpc-card, .wpx-form) .wpcfu-response-output.wpcfu-display-none {
  display: none;
}
@media (max-width: 767px) {
  :is(.wpc-card, .wpx-form) .ets-cfu-form .ets_cfu_box {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --- Pages « Travailler avec nous » et « Devenir ambassadeur » (bloc .wpx) ---
   Contenu ecrit par prestashop/maintenance/contact-forms-*.php : bandeau photo, texte,
   cartes numerotees, photo + texte, formulaire. Le titre de la page (h1) reste celui du theme. */
.page-content .wpx {
  margin: 0 0 48px;
  color: #0a0a0a;
  font-family: 'Poppins', sans-serif;
}
.page-content .wpx * {
  box-sizing: border-box;
}
.page-content .wpx section {
  margin: 0 0 clamp(56px, 8vw, 96px);
}
.page-content .wpx h2,
.page-content .wpx h3 {
  margin: 0 0 16px;
  color: #0a0a0a;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.page-content .wpx h2 {
  font-size: clamp(28px, 3.4vw, 42px);
}
.page-content .wpx h3 {
  font-size: 20px;
}
.page-content .wpx p {
  margin: 0 0 14px;
  color: #5f5f5f;
  font-size: 16px;
  line-height: 1.7;
}
.page-content .wpx img {
  display: block;
  max-width: 100%;
  height: auto;
}
.page-content .wpx figure {
  margin: 0;
}
.page-content .wpx .wpx-eyebrow {
  margin: 0 0 14px;
  color: #f15a29;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.page-content .wpx .wpx-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(380px, 50vw, 560px);
  overflow: hidden;
  border-radius: 18px;
  background: #111;
}
.page-content .wpx .wpx-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-content .wpx .wpx-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.38) 55%, rgba(0, 0, 0, 0.08) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.55) 100%);
}
.page-content .wpx .wpx-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 820px;
  padding: clamp(28px, 5vw, 64px);
}
.page-content .wpx .wpx-hero__title {
  margin: 0 0 16px;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: clamp(32px, 4.6vw, 58px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.page-content .wpx .wpx-hero__lead {
  max-width: 600px;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 18px;
}
.page-content .wpx .wpx-btn {
  display: inline-block;
  padding: 15px 30px;
  border-radius: 999px;
  background: #f15a29;
  color: #0a0a0a;
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}
.page-content .wpx .wpx-btn:hover,
.page-content .wpx .wpx-btn:focus-visible {
  background: #fff;
  color: #0a0a0a;
  text-decoration: none;
}
.page-content .wpx .wpx-intro {
  max-width: 860px;
}
.page-content .wpx .wpx-intro p {
  font-size: 17px;
}
.page-content .wpx .wpx-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 20px;
  margin-top: 28px;
}
.page-content .wpx .wpx-card {
  padding: 28px 26px;
  border-radius: 16px;
  background: #f4f2ef;
}
.page-content .wpx .wpx-card__num {
  display: block;
  margin-bottom: 14px;
  color: #c2410c;
  font-family: 'Oswald', sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}
.page-content .wpx .wpx-card p {
  margin: 0;
  font-size: 15px;
}
.page-content .wpx .wpx-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.page-content .wpx .wpx-split__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 16px;
}
.page-content .wpx .wpx-list {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.page-content .wpx .wpx-list li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 30px;
  color: #5f5f5f;
  font-size: 16px;
  line-height: 1.6;
  list-style: none;
}
.page-content .wpx .wpx-list li::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 2px;
  width: 8px;
  height: 14px;
  border-right: 2px solid #c2410c;
  border-bottom: 2px solid #c2410c;
  transform: rotate(45deg);
}
.page-content .wpx .wpx-note {
  font-size: 15px;
}
.page-content .wpx .wpx-note a {
  color: #0a0a0a;
  text-decoration: underline;
  text-decoration-color: #f15a29;
  text-underline-offset: 3px;
}
.page-content .wpx .wpx-form {
  scroll-margin-top: 120px;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 18px;
  background: #f4f2ef;
}
.page-content .wpx .wpx-form__head {
  max-width: 640px;
  margin: 0 auto 28px;
  text-align: center;
}
.page-content .wpx .wpx-form .wpcfu {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid #e8e4de;
  border-radius: 16px;
  background: #fff;
}
@media (max-width: 767px) {
  .page-content .wpx .wpx-split {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Liens des blocs .wpc, .wpb et .wpx : le Theme Editor colore a:link:not(.btn) en gris
   (#777) avec une priorite plus forte ; selecteurs renforces comme pour .wpa-btn. */
.wpc a.wpc-shortcut.wpc-shortcut:link,
.wpc a.wpc-shortcut.wpc-shortcut:visited,
.wpc a.wpc-shortcut.wpc-shortcut:hover,
.wpc a.wpc-shortcut.wpc-shortcut:focus-visible {
  color: #0a0a0a;
}
.wpb-list .wpb-post .wpb-post__title a:link,
.wpb-list .wpb-post .wpb-post__title a:visited,
.wpb-list .wpb-post a.wpb-post__more:link,
.wpb-list .wpb-post a.wpb-post__more:visited {
  color: #0a0a0a;
}
.wpb-list .wpb-post .wpb-post__title a:hover,
.wpb-list .wpb-post .wpb-post__title a:focus-visible,
.wpb-list .wpb-post a.wpb-post__more:hover,
.wpb-list .wpb-post a.wpb-post__more:focus-visible {
  color: #c2410c;
}
.wpb-hero .wpb-cats li a:link,
.wpb-hero .wpb-cats li a:visited {
  color: #0a0a0a;
}
.wpb-hero .wpb-cats li a:hover,
.wpb-hero .wpb-cats li a:focus-visible {
  color: #fff;
}
.page-content .wpx a.wpx-btn.wpx-btn:link,
.page-content .wpx a.wpx-btn.wpx-btn:visited {
  color: #0a0a0a;
}
.page-content .wpx a.wpx-btn.wpx-btn:hover,
.page-content .wpx a.wpx-btn.wpx-btn:focus-visible {
  background: #fff;
  color: #0a0a0a;
}
.page-content .wpx .wpx-note a:link,
.page-content .wpx .wpx-note a:visited {
  color: #0a0a0a;
}

/* ==========================================================================
   Pages d'information CMS (CGV, confidentialite, cookies, retours, livraison, paiement,
   FAQ, affiliation) : templates/cms/page.tpl. En-tete sombre comme la page contact,
   sommaire construit depuis les titres du texte, texte en colonne lisible.
   ========================================================================== */
.wplg-hero {
  margin: 8px 0 40px;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 56px);
  border-radius: 18px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(241, 90, 41, .35) 0%, rgba(241, 90, 41, 0) 55%),
    #111;
}
.wplg-hero__eyebrow {
  margin: 0 0 12px;
  color: var(--wp-accent, #F15A29);
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
}
.wplg-hero__title {
  margin: 0;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: clamp(30px, 4.5vw, 52px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.wplg {
  margin-bottom: 56px;
  color: #333;
  font-family: 'Poppins', sans-serif;
}
.wplg__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
@media (min-width: 992px) {
  .wplg--toc .wplg__layout {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 56px;
    align-items: start;
  }
}

/* Sommaire : colonne fixe sur ordinateur, bloc repliable sur mobile. */
.wplg__toc {
  border: 1px solid #ece8e2;
  border-radius: 14px;
  background: #faf8f5;
  padding: 16px 18px;
}
@media (min-width: 992px) {
  .wplg__toc {
    position: sticky;
    top: 110px;
    max-height: calc(100vh - 140px);
    overflow: auto;
  }
  .wplg__toc-title { pointer-events: none; }
  .wplg__toc-title::after { display: none; }
}
.wplg__toc-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  color: #111;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wplg__toc-title::-webkit-details-marker { display: none; }
.wplg__toc-title::after {
  content: '+';
  color: var(--wp-accent, #F15A29);
  font-size: 20px;
  line-height: 1;
}
.wplg__toc[open] .wplg__toc-title::after { content: '\2212'; }
.wplg__toc-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: wplg;
}
.wplg__toc-list li {
  counter-increment: wplg;
  margin: 0;
  border-top: 1px solid #ece8e2;
}
.wplg__toc-list a {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  color: #555;
  font-size: 13px;
  line-height: 1.4;
  text-decoration: none;
}
.wplg__toc-list a::before {
  content: counter(wplg, decimal-leading-zero);
  flex: 0 0 auto;
  color: #b9b2a8;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  line-height: 1.6;
}
.wplg__toc-list a:hover,
.wplg__toc-list a.is-active { color: #111; }
.wplg__toc-list a.is-active::before { color: var(--wp-accent, #F15A29); }

/* Texte */
.wplg__body {
  max-width: 780px;
  font-size: 15px;
  line-height: 1.75;
}
.wplg__body .rte-content { font-size: inherit; line-height: inherit; color: inherit; }
.wplg__body p { margin: 0 0 14px; }
.wplg__body h1 {
  margin: 0 0 8px;
  color: #111;
  font-family: 'Oswald', sans-serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.wplg__body h2,
.wplg__body h3,
.wplg__body h4 {
  margin: 32px 0 12px;
  color: #111;
  font-family: 'Oswald', sans-serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.wplg__body .wplg-section {
  scroll-margin-top: 120px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid #ece8e2;
}
.wplg__body .wplg-section--first { border-top: 0; padding-top: 0; margin-top: 8px; }
.wplg__body h5,
.wplg__body h6 {
  margin: 20px 0 8px;
  color: #111;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
/* « Derniere mise a jour » sous le titre du texte */
.wplg__body h1 + h6 {
  display: inline-block;
  margin: 0 0 20px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f4f1ec;
  color: #6b6b6b;
  font-size: 12px;
  font-weight: 500;
}
.wplg__body strong,
.wplg__body b { color: #111; font-weight: 600; }
.wplg__body a[href] {
  color: var(--wp-accent, #F15A29);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
}
.wplg__body a[href]:hover { color: #111; }
.wplg__body ul,
.wplg__body ol { margin: 0 0 16px; padding-left: 22px; }
.wplg__body ul { list-style: none; padding-left: 4px; }
.wplg__body ul > li { position: relative; padding-left: 20px; margin-bottom: 6px; }
.wplg__body ul > li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wp-accent, #F15A29);
}
.wplg__body ol > li { margin-bottom: 6px; }
.wplg__body ol > li::marker { color: var(--wp-accent, #F15A29); font-weight: 600; }
.wplg__body table {
  width: 100%;
  margin: 8px 0 20px;
  border-collapse: collapse;
  font-size: 14px;
}
.wplg__body table th,
.wplg__body table td {
  padding: 10px 12px;
  border: 1px solid #ece8e2;
  vertical-align: top;
  text-align: left;
}
.wplg__body table th { background: #f6f3ee; color: #111; font-weight: 600; }
.wplg__body img { max-width: 100%; height: auto; }
/* Tableaux larges (politique de confidentialite, cookies) : defilement horizontal sur mobile
   plutot qu'une page qui deborde. */
@media (max-width: 767px) {
  .wplg__body table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .wplg__body table th,
  .wplg__body table td { min-width: 140px; }
}

/* FAQ : questions en intertitres */
.wplg--faq .wplg__body .wplg-q {
  margin: 28px 0 8px;
  padding-left: 14px;
  border-left: 3px solid var(--wp-accent, #F15A29);
  color: #111;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.45;
}
.wplg--faq .wplg__body .wplg-q a { color: inherit; text-decoration: none; }
.wplg--faq .wplg__body .wplg-section.wplg-q { border-top: 0; padding-top: 0; }

/* Encadre contact en fin de page */
.wplg-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 24px;
  margin-top: 48px;
  padding: 24px 28px;
  border-radius: 16px;
  background: #111;
  color: #fff;
}
.wplg-help__title {
  grid-column: 1;
  margin: 0;
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase;
}
.wplg-help__text { grid-column: 1; margin: 0; color: rgba(255, 255, 255, .75); font-size: 14px; }
.wplg-help__btn {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--wp-accent, #F15A29);
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  letter-spacing: .08em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background-color .2s ease;
}
.wplg-help__btn:hover { background: #fff; color: #111 !important; }
@media (max-width: 575px) {
  .wplg-help { grid-template-columns: minmax(0, 1fr); }
  .wplg-help__btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 12px; }
}

/* Bouton « remonter en haut » : il etait sous le bouton du chatbot (fixe en bas a droite,
   25 px). Quand le chatbot est la, place juste au-dessus, aligne a droite sur lui, en rond. */
body:has(#wellputt-chatbot-container) #back-to-top {
  right: 25px !important;
  bottom: 84px !important;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}
@media (max-width: 480px) {
  body:has(#wellputt-chatbot-container) #back-to-top { bottom: 80px !important; }
}

/* Mobile : marges laterales des pages du theme (panier, compte, contact, pages legales, pied de
   page) a 16px au lieu de 9px. Les sections du module wellputt ont leurs propres marges. */
@media (max-width: 767px) {
  #wrapper .container,
  #footer .container { padding-left: 16px; padding-right: 16px; }
}

/* ==========================================================================
   Pied de page aux couleurs Wellputt (2026-10-05) : fond noir du site, titres
   en surtitres orange (Oswald espace), liens Poppins clairs, reseaux en pastilles,
   newsletter sombre a bouton orange, barre de copyright sombre (elle etait blanche).
   ========================================================================== */
/* Bande blanche de 20px entre une landing Studio (fond noir) et le pied de page */
#wrapper:has(.wps) { padding-bottom: 0; }

#footer { background: #111; color: rgba(255, 255, 255, .7); }
#footer #footer-container-main { padding: 44px 0 20px; }
#footer #footer-container-main > .container > .row { row-gap: 28px; }

#footer .block-title {
  margin: 0 0 16px; padding: 0 !important; border: 0 !important;
  font-family: "Oswald", sans-serif; font-weight: 500; font-size: 13px; line-height: 1.4;
  letter-spacing: 4px; text-transform: uppercase; color: #F15A29;
}
#footer .block-title span { border: 0 !important; padding: 0 !important; }

#footer .block-links ul { margin: 0; padding: 0; }
#footer .block-links li { margin: 0 0 8px; padding: 0; }
#footer .block-links a {
  padding: 0 !important; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 14px;
  color: rgba(255, 255, 255, .72); transition: color .2s;
}
#footer .block-links a::before { display: none !important; }
#footer .block-links a:hover,
#footer .block-links a:focus-visible { color: #fff; }

#footer .block-iqitcontactpage p {
  margin: 0; max-width: 300px; font-family: "Poppins", sans-serif; font-weight: 300;
  font-size: 14px; line-height: 1.65; color: rgba(255, 255, 255, .6);
}

#footer .social-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
#footer .social-links li { margin: 0; padding: 0; }
#footer .social-links a {
  display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; color: #fff; font-size: 16px;
  transition: background-color .2s, border-color .2s;
}
#footer .social-links a:hover,
#footer .social-links a:focus-visible { background: #F15A29; border-color: #F15A29; color: #fff; }
#footer .block-social-links { margin-bottom: 22px; }
/* Grand ecran : reseaux et newsletter cote a cote (5 colonnes), sinon cette colonne empilee
   etait bien plus haute que les autres et laissait un grand vide sous les liens */
@media (min-width: 1200px) {
  #footer #footer-container-main .row > .col-md-auto { display: flex; align-items: flex-start; gap: 48px; }
  #footer #footer-container-main .row > .col-md-auto .block-social-links { margin-bottom: 0; }
  #footer #footer-container-main .row > .col-md-auto .block-newsletter { width: 270px; }
}

#footer .newsletter-input-group { flex-wrap: nowrap; background: transparent !important; border: 0 !important; }
#footer .input-subscription {
  height: 44px; padding: 0 16px; background: transparent !important; border: 1px solid rgba(255, 255, 255, .22) !important;
  border-right: 0 !important; border-radius: 3px 0 0 3px; color: #fff !important; font-family: "Poppins", sans-serif;
  font-weight: 300; font-size: 14px;
}
#footer .input-subscription::placeholder { color: rgba(255, 255, 255, .5); }
#footer .input-subscription:focus { border-color: #F15A29 !important; box-shadow: none; outline: 0; }
#footer .btn-subscribe {
  width: 48px; height: 44px; padding: 0; background: #F15A29; border: 1px solid #F15A29;
  border-radius: 0 3px 3px 0; color: #fff; font-size: 16px; transition: background-color .2s;
}
#footer .btn-subscribe:hover,
#footer .btn-subscribe:focus-visible { background: #d94a1d; border-color: #d94a1d; color: #fff; }
#footer .ps-emailsubscription-conditions {
  margin-top: 10px !important; font-size: 11.5px; line-height: 1.6; color: rgba(255, 255, 255, .55) !important;
}

/* « Gerer mes cookies » : fermeture du bloc, au-dessus de la barre de copyright */
#footer .wpc-footer { margin-top: 28px; }
/* filet dans la colonne (aligne sur le texte), pas sur ses marges */
#footer .wpc-footer::before {
  content: ""; display: block; margin-bottom: 14px; border-top: 1px solid rgba(255, 255, 255, .1);
}
#footer .wpc-footer__link {
  font-family: "Oswald", sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255, 255, 255, .55); text-decoration: none;
}
#footer .wpc-footer__link:hover,
#footer .wpc-footer__link:focus-visible { color: #F15A29; }

#footer #footer-copyrights {
  background: #0a0a0a; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .06);
}
#footer #footer-copyrights p {
  margin: 0; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 12.5px;
  line-height: 1.8; color: rgba(255, 255, 255, .5);
}
#footer #footer-copyrights a { color: rgba(255, 255, 255, .5); transition: color .2s; }
#footer #footer-copyrights a:hover,
#footer #footer-copyrights a:focus-visible { color: #fff; }

@media (max-width: 767px) {
  #footer #footer-container-main { padding-top: 24px; }
  #footer #footer-container-main > .container > .row { row-gap: 0; }
  /* accordeons du theme : un filet sous chaque titre pour garder le repere */
  #footer .block-toggle .block-title {
    margin: 0; padding: 13px 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  }
  #footer .block-toggle .block-content { padding: 16px 0 6px; }
  #footer .wpc-footer { margin-top: 16px; }
  #footer .block-social-links { margin-bottom: 0; }
}

/* --- Logo dans la barre de menu collee au scroll (2026-10-13) ---------------
   Le theme ne garde en haut que la barre de menu (#iqitmegamenu-wrapper.stuck) : le logo de
   l'en-tete disparaissait. La surcharge modules/iqitmegamenu/.../horizontal.tpl y ajoute le
   logo de la boutique, montre seulement quand la barre est collee, a la place exacte du logo
   de l'en-tete (meme bord gauche de 30 px, meme hauteur). */
.wp-sticky-logo { display: none; }
#iqitmegamenu-wrapper .container-iqitmegamenu { position: relative; }
#iqitmegamenu-wrapper.stuck .wp-sticky-logo {
  position: absolute; top: 0; bottom: 0; left: 30px; z-index: 2;
  display: flex; align-items: center;
}
#iqitmegamenu-wrapper.stuck .wp-sticky-logo img { display: block; width: auto; height: 34px; }

/* ==========================================================================
   Article de blog (module ph_simpleblog, gabarit modules/ph_simpleblog/.../single.tpl)
   Maquette Figma TEST WELLPUTT, validee le 2026-10-13 : photo de couverture pleine largeur,
   texte centre (820 px), blocs larges (1100 px), articles lies sur fond noir.
   Typo : H1 Oswald Bold 70, H2 Oswald Regular 28, H3 Oswald Regular 18, texte Poppins Light.
   ========================================================================== */
/* La page va bord a bord : pas de fil d'Ariane ni de marges autour du contenu */
/* la photo et le bas noir font 100vw (barre de defilement comprise) : rien ne deborde sur le cote */
html:has(body#module-ph_simpleblog-single),
body#module-ph_simpleblog-single { overflow-x: clip; }
#module-ph_simpleblog-single #wrapper { padding-top: 0; padding-bottom: 0; }
#module-ph_simpleblog-single #wrapper > .container:has(> .breadcrumb) { display: none; }
#module-ph_simpleblog-single #inner-wrapper,
#module-ph_simpleblog-single #content-wrapper,
#module-ph_simpleblog-single #main,
#module-ph_simpleblog-single #content.page-content { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; }
#module-ph_simpleblog-single #footer { margin-top: 0; }
.wpbp { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.wpbp .wpbp-body a:not(.wpbp-pcard):not(.wpbp-study a) { color: var(--accent); }
.wpbp .wpbp-body a:not(.wpbp-pcard):not(.wpbp-study a):hover { color: #c2410c; }
.wpbp-reel__frame:empty { min-height: 200px; }
.wpbp-reel__load { display: block; width: 100%; min-height: 420px; border: 0; cursor: pointer;
  background: linear-gradient(160deg, #2b2b2b, #111); color: #fff; font-family: 'Oswald', sans-serif;
  font-size: 16px; letter-spacing: 1.5px; text-transform: uppercase; }
.wpbp-reel__load:hover { background: linear-gradient(160deg, #F15A29, #c2410c); }
.wpbp-video__frame iframe, .wpbp-reel__frame iframe { border: 0; }
.wpbp { --ink:#141414; --muted:#5f5f5f; --accent:#F15A29; --sand:#f1efeb; --line:rgba(20,20,20,.1);
  font-family:'Poppins',system-ui,sans-serif; color:var(--ink); background:#fff; }
.wpbp *, .wpbp *::before, .wpbp *::after { box-sizing:border-box; }
.wpbp a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.wpbp a:hover { color:#c2410c; }

/* Hero : photo pleine largeur, titre en bas a gauche, date sous un filet */
.wpbp-hero { position:relative; min-height:clamp(420px,62vh,620px); display:flex; align-items:flex-end;
  background:#111 center/cover no-repeat; color:#fff; overflow:hidden; }
.wpbp-hero::before { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.7) 100%); }
.wpbp-hero__inner { position:relative; width:100%; max-width:1440px; margin:0 auto; padding:0 clamp(20px,5.5vw,80px) clamp(28px,4vw,48px); }
.wpbp-hero h1 { margin:0; max-width:1100px; font-family:'Oswald','Arial Narrow',sans-serif; font-weight:700;
  text-transform:uppercase; font-size:clamp(36px,4.9vw,70px); line-height:1.02; letter-spacing:.3px; color:#fff;
  text-shadow:0 2px 30px rgba(0,0,0,.25); }
.wpbp-hero__meta { margin-top:clamp(22px,3vw,40px); padding-top:16px; border-top:1px solid rgba(255,255,255,.35);
  display:flex; align-items:center; gap:10px; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.9); }
.wpbp-hero__meta svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; }

/* Corps : colonne de texte centree (820 px), elements larges centres (820 + 2 x 140 = 1100 px) */
.wpbp-body { max-width:1360px; margin:0 auto; padding:clamp(56px,7vw,96px) 40px clamp(56px,7vw,100px);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,140px) minmax(0,820px) minmax(0,140px) minmax(0,1fr); }
.wpbp-body > *, .wpbp-body > .rte-content > * { grid-column:3; }
/* iqitelementor enveloppe le contenu (.rte-content) : ses enfants entrent directement dans la grille */
.wpbp-body > .rte-content { display:contents; }
.wpbp-body > .wpbp-wide, .wpbp-body > .rte-content > .wpbp-wide { grid-column:2 / 5; }
.wpbp-body p, .wpbp-body li { font-weight:300; font-size:16px; line-height:1.78; color:#262626; }
.wpbp-body p { margin:0 0 18px; }
.wpbp-lead { font-size:17px !important; }
.wpbp-body h2 { margin:30px 0 16px; font-family:'Oswald','Arial Narrow',sans-serif; font-weight:400;
  text-transform:uppercase; font-size:clamp(24px,2.1vw,28px); line-height:1.2; letter-spacing:.2px; color:var(--ink); }
.wpbp-body h3 { margin:26px 0 12px; font-family:'Oswald','Arial Narrow',sans-serif; font-weight:400;
  text-transform:uppercase; font-size:18px; letter-spacing:.3px; color:var(--ink); }
.wpbp-list { margin:6px 0 20px; padding:0; list-style:none; }
.wpbp-list li { position:relative; padding-left:16px; margin:3px 0; font-size:14.5px; line-height:1.6; }
.wpbp-list li::before { content:""; position:absolute; left:2px; top:.72em; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.wpbp-list strong { font-weight:500; color:var(--ink); }

/* Paire de photos */
.wpbp-photos { margin:46px 0 54px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,1.6vw,24px); }
.wpbp-photos img { width:100%; height:auto; object-fit:cover; border-radius:8px; display:block; }

/* Citation + carte produit */
.wpbp-quote { margin:54px 0 58px; display:grid; grid-template-columns:190px 1fr; gap:clamp(24px,3vw,48px); align-items:center; }
.wpbp-pcard { text-decoration:none !important; color:var(--ink) !important; }
/* 2026-10-21 : les photos produit sont carrees sur fond blanc ; un cadre 3:4 sur fond sable laissait
   deux bandes grises au-dessus et au-dessous de la photo : fond blanc, photo a sa hauteur, badge fonce
   dans une marge blanche au-dessus de la photo (il ne cache pas le haut du tapis) */
.wpbp-pcard__media { position:relative; display:block; background:#fff; border-radius:4px; padding-top:30px; overflow:hidden; }
.wpbp-pcard__media img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; display:block; }
.wpbp-pcard__tag { position:absolute; top:4px; left:0; z-index:1; background:var(--ink); padding:4px 8px; border-radius:3px;
  font-size:9.5px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; color:#fff; }
.wpbp-pcard__name { display:block; margin-top:12px; font-family:'Oswald',sans-serif; font-weight:600; font-size:13px; text-transform:uppercase; }
.wpbp-pcard__price { display:block; margin-top:4px; font-size:12px; color:var(--muted); }
.wpbp-quote blockquote { position:relative; margin:0; padding-left:44px; }
.wpbp-quote blockquote::before { content:"\201D"; position:absolute; left:0; top:-14px; font-family:'Oswald',sans-serif;
  font-size:84px; line-height:1; color:#9a9a9a; }
.wpbp-quote blockquote p { margin:0; font-family:'Oswald','Arial Narrow',sans-serif !important; font-weight:500 !important;
  text-transform:uppercase; font-size:clamp(17px,1.55vw,21px) !important; line-height:1.38 !important; color:#9a9a9a !important; }
.wpbp-quote blockquote p b { font-weight:500; color:var(--ink); }
.wpbp-quote cite { display:block; margin-top:16px; font-style:normal; font-size:13.5px; color:var(--muted); }
.wpbp-quote cite strong { color:var(--ink); font-weight:600; }

/* FAQ en accordeon numerote */
.wpbp-faq { margin:20px 0 50px; }
.wpbp-faq details { border-radius:4px; transition:background .25s ease; }
.wpbp-faq details[open] { background:#ebebea; }
.wpbp-faq summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:44px 1fr 24px; align-items:center;
  padding:18px 24px 18px 96px; }
.wpbp-faq summary::-webkit-details-marker { display:none; }
.wpbp-faq__n { font-family:'Oswald',sans-serif; font-size:13px; color:#8a8a8a; }
.wpbp-faq details[open] .wpbp-faq__n { color:var(--accent); }
.wpbp-faq__q { font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:14.5px; letter-spacing:.2px; }
.wpbp-faq__ico { justify-self:end; width:14px; height:14px; position:relative; }
.wpbp-faq__ico::before, .wpbp-faq__ico::after { content:""; position:absolute; left:0; top:6px; width:14px; height:1.5px; background:var(--ink); transition:transform .25s ease; }
.wpbp-faq__ico::after { transform:rotate(90deg); }
.wpbp-faq details[open] .wpbp-faq__ico::before { transform:rotate(45deg); }
.wpbp-faq details[open] .wpbp-faq__ico::after { transform:rotate(-45deg); }
.wpbp-faq__a { padding:0 72px 22px 140px; }
.wpbp-faq__a p { margin:0; font-size:15px; }

/* Bandeau etude PDF */
.wpbp-study { position:relative; margin:30px 0 60px; min-height:150px; border-radius:6px; overflow:hidden; display:flex; align-items:center;
  background:#1d1a17 right center/cover no-repeat; color:#fff; }
.wpbp-study::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.15) 100%); }
.wpbp-study__in { position:relative; padding:28px 34px; }
.wpbp-study h2 { margin:0 0 14px !important; color:#fff !important; font-size:26px !important; }
.wpbp-study a { display:inline-block; padding:7px 12px; border-radius:4px; background:#fff; color:var(--ink) !important; text-decoration:none !important;
  font-size:12.5px; font-weight:500; }
.wpbp-study a:hover { background:var(--accent); color:#fff !important; }
.wpbp-study__docs { position:absolute; right:38px; bottom:-18px; display:flex; }
.wpbp-study__docs span { display:block; width:92px; height:118px; background:#fff; border-radius:3px; box-shadow:0 8px 24px rgba(0,0,0,.35);
  margin-left:-34px; transform:rotate(var(--r)); background-image:repeating-linear-gradient(180deg,#d8d8d8 0 2px,transparent 2px 9px);
  background-size:70% 60%; background-position:center 30%; background-repeat:no-repeat; }

/* Articles lies */
.wpbp-related { background:#141414; color:#fff; padding:clamp(56px,7vw,90px) 0; }
.wpbp-related__in { max-width:1440px; margin:0 auto; padding:0 clamp(20px,5.5vw,80px); }
.wpbp-related h2 { margin:0 0 30px; font-family:'Oswald',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(24px,2.1vw,28px); color:#fff; }
.wpbp-related__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:clamp(16px,2vw,28px); }
.wpbp-rcard { position:relative; display:flex; align-items:flex-end; aspect-ratio:4/3; border-radius:6px; overflow:hidden;
  background:#222 center/cover no-repeat; color:#fff !important; text-decoration:none !important; }
.wpbp-rcard::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.72) 100%); transition:background .3s ease; }
.wpbp-rcard:hover::before { background:linear-gradient(180deg,rgba(0,0,0,.1) 20%,rgba(0,0,0,.8) 100%); }
.wpbp-rcard__in { position:relative; padding:20px; }
.wpbp-rcard h3 { margin:0 0 10px; font-family:'Oswald',sans-serif; font-weight:400; text-transform:uppercase; font-size:17px; line-height:1.25; color:#fff; }
.wpbp-rcard span { font-size:12px; color:rgba(255,255,255,.85); }

@media (max-width:1099px) {
  .wpbp-body { grid-template-columns:minmax(0,1fr); max-width:860px; padding-left:24px; padding-right:24px; }
  .wpbp-body > *, .wpbp-body > .wpbp-wide,
  .wpbp-body > .rte-content > *, .wpbp-body > .rte-content > .wpbp-wide { grid-column:1; }
  .wpbp-faq summary { padding-left:20px; }
  .wpbp-faq__a { padding:0 48px 20px 64px; }
}
@media (max-width:640px) {
  .wpbp-quote { grid-template-columns:1fr; }
  .wpbp-pcard { max-width:220px; }
  .wpbp-photos { grid-template-columns:1fr; }
  .wpbp-study__docs { display:none; }
  .wpbp-faq summary { grid-template-columns:34px 1fr 20px; padding:16px; }
  .wpbp-faq__a { padding:0 16px 18px 50px; }
}

/* Pastille de categorie (meme dessin que les filtres du blog) */
.wpbp .wpbp-pill { display:inline-block; margin:0 0 18px; padding:9px 20px; border-radius:999px; background:#fff;
  color:var(--ink) !important; text-decoration:none !important; font-family:'Oswald','Arial Narrow',sans-serif; font-weight:500;
  font-size:14px; letter-spacing:2px; text-transform:uppercase; line-height:1; }
.wpbp .wpbp-pill:hover { background:var(--accent); color:#fff !important; }

/* Reel Instagram + sa legende, cote a cote */
.wpbp-reel { margin:40px 0 50px; display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; }
.wpbp-reel__frame { border-radius:8px; overflow:hidden; box-shadow:0 12px 34px rgba(0,0,0,.12); background:#fff; }
.wpbp-reel__frame iframe { display:block; width:100%; height:600px; border:0; }
.wpbp-reel__caption p:last-child { margin-bottom:0; }
/* Reel seul, sans legende (2026-10-21) : centre dans la colonne de l'article */
.wpbp-reel:not(:has(> .wpbp-reel__caption)) { grid-template-columns:minmax(0,340px); justify-content:center; }

/* Video YouTube */
.wpbp-video { margin:26px 0 40px; }
.wpbp-video__frame { position:relative; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:#000; }
.wpbp-video__frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.wpbp-video figcaption { margin-top:10px; font-size:13px; color:var(--muted); }

@media (max-width:760px) {
  .wpbp-reel { grid-template-columns:1fr; }
  .wpbp-reel__frame { max-width:360px; }
}
.wpbp-body .wpbp-faq__q { margin:0; font-size:14.5px; }

/* Typo validee le 2026-10-13 : H1 Oswald Bold 70, H2 Oswald Regular 28, H3 Oswald Regular 18 */
.wpbp-body .wpbp-study h2 { font-size:28px !important; }
.wpbp-body .wpbp-faq__q { font-size:18px; }
.wpbp-rcard h3 { font-size:18px; }

/* Tuiles a icones (« Au-dela des chiffres ») : pictogrammes Wellputt du site (fond gris arrondi compris),
   choisis ici ; le contenu ne porte que la classe */
.wpbp-icons { margin:44px 0 46px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px 24px; text-align:center; }
.wpbp-icons li { list-style:none; display:flex; flex-direction:column; align-items:center; gap:22px; margin:0; padding:0; }
.wpbp-icons li::before { content:none; }
.wpbp-icons__ico { display:block; width:96px; height:96px; background:center/contain no-repeat; }
.wpbp-body .wpbp-icons p { margin:0; font-size:16px; line-height:1.7; color:#262626; }
.wpbp-icons strong { font-weight:600; color:var(--ink); }
.wpbp-ico--target { background-image:url('/img/cms/products/pictograms/250x250-Perfect-Aim.svg'); }
.wpbp-ico--distance { background-image:url('/img/cms/products/pictograms/250x250-Dial-In-Distance-Control.svg'); }
.wpbp-ico--tempo { background-image:url('/img/cms/products/pictograms/250x250-Visualize-Stroke-Amplitude.svg'); }
.wpbp-ico--confidence { background-image:url('/img/cms/products/pictograms/250x250-Boost-Confidence.svg'); }
.wpbp-ico--stars { background-image:url('/img/cms/products/pictograms/250x250-Immediate-feed-Back.svg'); }
@media (max-width:900px) { .wpbp-icons { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:560px) { .wpbp-icons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; } .wpbp-icons__ico { width:80px; height:80px; } }

/* Listes : le theme ajoutait ses puces en plus des points orange */
.wpbp-body ul.wpbp-list, .wpbp-body ul.wpbp-list li { list-style:none; }
.wpbp-body ul.wpbp-list { padding-left:0; }

/* Carte produit de la citation : nom, prix et couleurs de la boutique affichee (WpRender::blogHtml) */
.wpbp-pcard__price { font-family:'Poppins',sans-serif; font-size:13px; color:var(--ink); }
.wpbp-pcard__swatches { display:flex; gap:7px; margin-top:10px; }
.wpbp-pcard__swatches:empty { display:none; }
.wpbp-sw { width:14px; height:14px; border-radius:50%; border:1px solid rgba(20,20,20,.15); }
.wpbp-sw:first-child { box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ink); }

/* Partage en bas de l'article (2026-10-21) : liens simples vers les reseaux, ronds au trait */
.wpbp-share { margin:40px 0 0; padding-top:28px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.wpbp-body .wpbp-share__title { margin:0; font-family:'Oswald','Arial Narrow',sans-serif; font-weight:400; text-transform:uppercase;
  font-size:18px; letter-spacing:.3px; color:var(--ink); }
.wpbp-share__list { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.wpbp-share__list li { margin:0; padding:0; list-style:none; }
.wpbp-share__list li::before { content:none; }
.wpbp .wpbp-share__btn { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0;
  border:1px solid rgba(20,20,20,.18); border-radius:50%; background:#fff; color:var(--ink) !important; text-decoration:none !important;
  cursor:pointer; transition:background .2s ease, border-color .2s ease, color .2s ease; }
.wpbp .wpbp-share__btn:hover, .wpbp .wpbp-share__btn:focus-visible, .wpbp .wpbp-share__btn.is-copied {
  background:var(--accent); border-color:var(--accent); color:#fff !important; }
.wpbp-share__btn svg { width:18px; height:18px; fill:currentColor; }
.wpbp-share__btn svg.wpbp-share__line { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.wpbp-share__msg { font-size:13px; color:var(--muted); }
.wpbp-share__msg:empty { display:none; }
/* les 7 ronds tiennent sur une ligne de telephone (327 px) */
@media (max-width:640px) {
  .wpbp-share__list { gap:8px; }
  .wpbp .wpbp-share__btn { width:38px; height:38px; }
  .wpbp-share__btn svg { width:16px; height:16px; }
}

/* ==========================================================================
   Blog : page grille (accueil du blog et categories, gabarit modules/ph_simpleblog/.../list.tpl)
   Maquette Figma TEST WELLPUTT (2026-10-13) : titre, pastilles de categories, cartes photo
   4 par ligne (4:3), bouton « Plus d'articles ». Pas de fil d'Ariane, comme l'article.
   ========================================================================== */
html:has(body#module-ph_simpleblog-list), body#module-ph_simpleblog-list,
html:has(body#module-ph_simpleblog-category), body#module-ph_simpleblog-category { overflow-x: clip; }
#module-ph_simpleblog-list #wrapper > .container:has(> .breadcrumb),
#module-ph_simpleblog-category #wrapper > .container:has(> .breadcrumb) { display: none; }
#module-ph_simpleblog-list #wrapper, #module-ph_simpleblog-category #wrapper { padding-top: 0; }
.wpbl { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); background: #fff; }
.wpbl__in { max-width: 1440px; margin: 0 auto; padding: clamp(48px, 7vw, 100px) clamp(20px, 4.2vw, 60px) clamp(56px, 7vw, 96px); }
.wpbl__title { margin: 0; font-family: 'Oswald', 'Arial Narrow', sans-serif; font-weight: 700; text-transform: uppercase;
  font-size: clamp(34px, 3.4vw, 48px); line-height: 1.05; letter-spacing: .3px; color: #141414; }
.wpbl__lead, .wpbl .wpbl__lead { margin: 14px 0 0; max-width: 820px; font-family: 'Poppins', sans-serif; font-weight: 300; font-size: 16px; line-height: 1.6; color: #5f5f5f; }
.wpbl__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 32px; }
.wpbl-pill { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px; border-radius: 999px;
  background: #e2e2e2; color: #141414 !important; text-decoration: none !important; font-family: 'Oswald', sans-serif;
  font-weight: 500; font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; line-height: 1; transition: background .2s ease, color .2s ease; }
.wpbl-pill:hover { background: #cfcfcf; }
.wpbl-pill--on, .wpbl-pill--on:hover { background: #141414; color: #fff !important; }
.wpbl-pill__x { position: relative; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.wpbl-pill__x::before, .wpbl-pill__x::after { content: ""; position: absolute; left: 3px; top: 5.4px; width: 6px; height: 1.3px; background: #141414; transform: rotate(45deg); }
.wpbl-pill__x::after { transform: rotate(-45deg); }
.wpbl__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.wpbl-card { position: relative; display: flex; align-items: flex-end; aspect-ratio: 4 / 3; border-radius: 4px; overflow: hidden;
  background: #e2e2e2 center / cover no-repeat; color: #fff !important; text-decoration: none !important; }
.wpbl-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.68) 100%); transition: background .3s ease; }
.wpbl-card:hover::before { background: linear-gradient(180deg, rgba(0,0,0,.08) 25%, rgba(0,0,0,.78) 100%); }
.wpbl-card__in { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 0 26px 26px; }
.wpbl-card__title { font-family: 'Oswald', 'Arial Narrow', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 18px; line-height: 1.25; }
.wpbl-card__more { font-family: 'Poppins', sans-serif; font-size: 12.5px; }
.wpbl__more { display: flex; justify-content: center; margin-top: 48px; }
.wpbl__more-btn { display: inline-block; padding: 13px 26px; border-radius: 4px; background: #141414; color: #fff !important; text-decoration: none !important;
  font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.wpbl__more-btn:hover { background: #F15A29; }
.wpbl__more-btn.is-loading { opacity: .55; pointer-events: none; }
.wpbl__empty { margin: 0; font-size: 16px; color: #5f5f5f; }
@media (max-width: 1199px) { .wpbl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 899px) { .wpbl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 560px) { .wpbl__grid { grid-template-columns: minmax(0, 1fr); } .wpbl-card__in { padding: 0 20px 20px; } }

/* ---------- Surtitres : petite barre orange devant (2026-10-15) ----------
   Meme trait que le bandeau Packs (.wp-packband__eyebrow, 36 x 1,5 px) devant le surtitre des
   sections dont le titre est cale a gauche, sur toutes les pages. Quand le titre est centre, le
   surtitre reste centre et sans barre (demande du 2026-10-15) : liste des conteneurs centres
   ci-dessous, a completer si une nouvelle section centree apparait. Le grand visuel de
   l'accueil (.wp-hero__kicker) n'en a pas ; le bandeau Packs a deja la sienne ; les petites
   etiquettes des cartes produits / packs n'en ont pas. */
:is(.wp-eyebrow, .wpc-eyebrow, .wpp-eyebrow, .wps-eyebrow, .wpl-thanks__eyebrow,
    .wppack-eyebrow, .wppro-kicker, .wpa-eyebrow, .wpb-eyebrow, .wpx-eyebrow, .wplg-hero__eyebrow)::before {
  content: ""; display: inline-block; width: 36px; height: 1.5px; margin-right: 10px;
  vertical-align: .32em; background: var(--wp-accent, #F15A29);
}
:is(.wp-block--center, .wp-wrap--narrow, .wp-head--center, .wp-catbanner--center, .wp-video__head,
    .wpp-block--center, .wpp-wrap--narrow, .wpp-head--center, .wpp-video__head,
    .wpc-head, .wpc-hero--center, .wpc-block__center,
    .wps-center, .wps-hero, .wps-end, .wpl-thanks, .wpa-values, .wpa-trust)
  :is(.wp-eyebrow, .wpc-eyebrow, .wpp-eyebrow, .wps-eyebrow, .wpl-thanks__eyebrow, .wpa-eyebrow)::before {
  content: none;
}

/* ---------- Surtitre -> titre : meme espace partout (2026-10-15) ----------
   Il y avait 12, 14, 18, 20 ou 25 px selon le module. 16 px partout, grand visuel et bandeau
   Packs compris. !important : les modules fixent cette marge avec des selecteurs plus forts
   (.wp-scope ..., .page-content .wpa ...). */
:is(.wp-eyebrow, .wpc-eyebrow, .wpp-eyebrow, .wps-eyebrow, .wpl-thanks__eyebrow, .wppack-eyebrow,
    .wppro-kicker, .wpa-eyebrow, .wpb-eyebrow, .wpx-eyebrow, .wplg-hero__eyebrow, .wp-packband__eyebrow,
    .wp-hero__kicker) {
  margin-bottom: 16px !important;
}

/* ---------- Titres : interligne 1,15 (2026-10-15) ----------
   Entre 0,92 et 1,06 selon le module : sur deux lignes, les accents des majuscules (A, E, A
   circonflexe...) touchaient la ligne du dessus. Tous les titres du contenu, h1 a h3, plus les
   titres de page ecrits en <p> (A propos, Ambassadeur / Travailler avec nous). */
#wrapper :is(h1, h2, h3, .wpa-hero__title, .wpx-hero__title) {
  line-height: 1.15 !important;
}

/* ---------- Titres H2 a H6 : un seul style par niveau (2026-10-15) ----------
   Regle : deux titres du meme niveau ont la meme police, graisse et taille ; seuls la couleur
   et l'alignement peuvent changer. Deux familles :
   - pages vitrine (accueil, fiches, categories, packs, Studio, landings, A propos, contact...) ;
   - textes a lire (article de blog, FAQ et pages legales, descriptions produit / pack, texte
     SEO et texte des bandeaux de categorie), plus petits.
   Les noms dans les cartes (produits, articles, packs, univers Studio) ne sont plus des titres
   (div) et gardent leur style. Les titres de page (h1) ne sont pas concernes. Pas touches :
   panier, commande, compte client, configurateurs, filtres de categorie, cartes produit du theme.
   !important : chaque module fixe ses tailles (et ses tailles mobile) avec ses propres regles. */
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h2, h3, h4, h5, h6):not(#search_filters *, .product-miniature *) {
  font-family: Oswald, "Arial Narrow", Arial, sans-serif !important;
  text-transform: uppercase !important; letter-spacing: .5px !important; font-weight: 500 !important;
}
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h2):not(#search_filters *, .product-miniature *) { font-size: clamp(28px, calc(16px + 2.2vw), 48px) !important; font-weight: 600 !important; }
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h3):not(#search_filters *, .product-miniature *) { font-size: clamp(20px, calc(12px + 1.1vw), 28px) !important; font-weight: 600 !important; }
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h4):not(#search_filters *, .product-miniature *) { font-size: 18px !important; line-height: 1.25 !important; }
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h5):not(#search_filters *, .product-miniature *) { font-size: 16px !important; line-height: 1.25 !important; }
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(h6):not(#search_filters *, .product-miniature *) { font-size: 14px !important; line-height: 1.25 !important; }
/* Textes a lire */
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(.wpbp-body, .wplg__body, .wppack-detail__descinner, .wp-pdp__short, .wp-pdp__desc-inner,
    .wp-longtext, .wp-catbanner__text, .product-description) h2:not(#search_filters *, .product-miniature *) { font-size: clamp(22px, calc(14px + 1vw), 28px) !important; font-weight: 500 !important; }
body:not(:is(#cart, #checkout, #order-confirmation, #my-account, #authentication, #registration,
    #identity, #addresses, #address, #history, #order-detail, #password,
    #module-ghosthole-configurator, #module-wellstroke-configurator, [id^="module-wppro"])) #wrapper :is(.wpbp-body, .wplg__body, .wppack-detail__descinner, .wp-pdp__short, .wp-pdp__desc-inner,
    .wp-longtext, .wp-catbanner__text, .product-description) h3:not(#search_filters *, .product-miniature *) { font-size: 20px !important; font-weight: 500 !important; }
/* Grands noms des cartes Studio : interligne 1 d'origine, accents colles sur deux lignes. */
#wrapper :is(.wps-world__name, .wps-product__name) { line-height: 1.15 !important; }

/* ---------- Formulaire d'adresse : pays non liste (2026-10-15) ----------
   Phrase sous le choix du pays (customer/_partials/address-form.tpl du theme enfant). */
.wp-country-note { margin-top: -6px; font-size: 13px; line-height: 1.5; color: #5f5f5f; }
.wp-country-note a { color: var(--wp-accent, #F15A29); text-decoration: underline; }

/* ---------- Boutons : sans halo orange (2026-10-15) ----------
   Le halo orange (ombre portee orange) des boutons faisait « cheap » : bouton plat, sans ombre ;
   au survol il monte toujours (effet garde, demande de l'utilisateur) et son orange fonce un peu.
   Une seule regle pour tout le site : boutons des blocs Wellputt, packs, Studio, A propos, Ambassadeur,
   FAQ, popup newsletter, avis, panier du theme, configurateurs (modules gardes tels quels), bouton
   « Besoin d'aide ? » du chatbot et bouton « Demander un devis » de la page BigTilt (style en ligne,
   d'ou !important). Les ombres de focus des champs de formulaire ne sont pas concernees. */
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wellputt-chat-toggle,
    #wpEmbed a[href="#contact"]),
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wellputt-chat-toggle,
    #wpEmbed a[href="#contact"]):is(:hover, :focus, :active) {
  box-shadow: none !important;
}
/* Survol des boutons (2026-10-15) : comme le menu, un trait souligne le texte de gauche a droite puis se
   retire ; le bouton monte de 3 px et son orange fonce un peu. Meme courbe et meme duree que le menu.
   Le texte est entoure d'un <span class="wp-cta-label"> par le module wellputt (views/js/cta.js), pour
   que le trait fasse la largeur du texte. Le trait prend la couleur du texte (blanc sur orange).
   La montee passe par « translate » et non « transform » : sur les boutons qui apparaissent au defilement
   ([data-wp-reveal]), transform est pris par l'animation d'entree ; l'ancienne montee est neutralisee. */
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"]):not([data-wp-reveal]) {
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), translate .3s cubic-bezier(.16, 1, .3, 1), background-color .3s cubic-bezier(.16, 1, .3, 1), border-color .3s cubic-bezier(.16, 1, .3, 1);
}
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"])[data-wp-reveal].is-in {
  transition: opacity 1s cubic-bezier(.16, 1, .3, 1), transform 1s cubic-bezier(.16, 1, .3, 1), translate .3s cubic-bezier(.16, 1, .3, 1), background-color .3s cubic-bezier(.16, 1, .3, 1),
    border-color .3s cubic-bezier(.16, 1, .3, 1);
}
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"]):is(:hover, :focus-visible) {
  translate: 0 -3px;
}
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"]):not(.wp-btn--dark):not([class*="--ghost"]):not(#js-product-list *):is(:hover, :focus-visible) {
  background-color: #D9471C !important; border-color: #D9471C !important;
}
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"]):not([data-wp-reveal]):is(:hover, :focus-visible) {
  transform: none !important;
}
.wp-cta-label { position: relative; }
.wp-cta-label::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 1.5px;
  background: currentColor; transform: scaleX(0); transform-origin: left center;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1); pointer-events: none;
}
:is(.wp-btn, .wpp-btn, .wppack-btn, .wps-btn, .wpa-btn, .wpx-btn, .wplg-help__btn, .wp-nl__btn, .wr-btn-submit,
    .btn-primary, .btn-product-list, .add-to-cart, .wellstroke-cta, .ghosthole-cta, #wpEmbed a[href="#contact"]):is(:hover, :focus-visible) .wp-cta-label::after { transform: scaleX(1); }
/* Listes produits du theme (recherche...) : au survol, ni fond orange ni changement de couleur du texte :
   seulement la montee et le soulignement (orange, couleur du texte). Les cartes des pages categorie
   (.wp-lcard) ont un vrai bouton orange depuis le 2026-10-29 : survol gere dans category-page.css
   du module wellputt. */
#js-product-list .btn-product-list:not(.wp-lcard__cta *):is(:hover, :focus-visible) {
  background-color: transparent !important; border-color: transparent !important;
  color: var(--wp-accent, #F15A29) !important;
}

/* ---------- Pied de page : icones blanches au survol (2026-10-15) ----------
   Reseaux sociaux : le theme garde la couleur de la marque (Facebook bleu, YouTube rouge...) sur le rond
   orange ; bouton enveloppe de la newsletter : icone orange sur fond orange fonce. Au survol, icone
   blanche partout, comme TikTok. */
#footer .social-links a:is(:hover, :focus-visible),
#footer .social-links a:is(:hover, :focus-visible) :is(i, svg, span) {
  color: #fff !important;
}
/* Bouton enveloppe de la newsletter : icone toujours blanche (au survol : montee et orange plus fonce). */
#footer .btn-subscribe,
#footer .btn-subscribe :is(i, svg, span) {
  color: #fff !important;
}

/* ---------- En-tete mobile (2026-10-15) ----------
   Plus d'icone compte (le compte reste dans le menu) : la place est gardee pour que le logo reste centre.
   Panier : meme icone que sur ordinateur (chariot fa-shopping-cart au lieu du sac). */
#mobile-header .col-mobile-btn-account { visibility: hidden; pointer-events: none; }
#mobile-header .mobile-bag-icon::before { content: "\f07a"; }

/* ---------- Barre du haut sur tres grand ecran (2026-10-15) ----------
   Le reglage du theme (custom_s_*.css genere, « body #header .header-nav > .container » 1660 px !important,
   d'ou « html body ») la limitait a 1660 px centres alors que l'en-tete principal prend toute la largeur
   (marges de 30 px) : « Shop » et le compte s'alignent maintenant sur le logo et le panier. */
html body #header .header-nav > .container { max-width: 100% !important; }

/* Commande : textes des étapes en noir au lieu du gris #777 du thème (titres, libellés, aides,
   cases à cocher, texte saisi), 2026-10-30. Les textes d'exemple dans les champs restent gris. */
body#checkout .checkout-step,
body#checkout .checkout-step .form-control{
  color:#000;
}

/* Commande : montant restant avant la livraison offerte, sous le récapitulatif (module wellputt
   4.5.1, hook displayReassurance), 2026-10-30. */
body#checkout .wp-freeship{
  margin:16px 0 0; padding:16px 20px; border:1px solid #eee; background:#fff;
}
body#checkout .wp-freeship__text{ margin:0 0 10px; color:#000; font-size:15px; line-height:1.4; }
body#checkout .wp-freeship__text strong{ font-weight:600; }
body#checkout .wp-freeship__bar{ height:8px; border-radius:4px; background:#eee; overflow:hidden; }
body#checkout .wp-freeship__bar span{ display:block; height:100%; border-radius:4px; background:#f15a29; }
