/* =====================================================================
   BLEDX — LE MAGAZINE (2026-10-05)
   La boutique se lit comme un hebdomadaire de manga : une couverture, un
   sommaire, un chapitre par série, des cases à bord noir épais. Trois
   couleurs seulement, comme une page de manga imprimée : l'encre, le papier,
   et le rouge BLEDX (choix du patron, 2026-10-05 : plus de papiers teintés). Charge en dernier : il remplace le monde précédent, il ne le
   retouche pas. Aucune couleur en dur hors des jetons ci-dessous.
   ===================================================================== */
@font-face {
  font-family: "Dela Gothic One";
  src: url("../fonts/dela-gothic-one-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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;
}

:root {
  --mx-encre: #0d0d0d;
  --mx-nuit: #0a0a0a;   /* le noir des couvertures : celui des fichiers d'art */
  --mx-papier: #f7f7f5;  /* blanc neutre : le crème faisait « généré » */
  --mx-papier-ombre: #e8e8e5;
  --mx-blanc: #ffffff;   /* le fond des champs de saisie */
  --mx-rouge: #d81f26;   /* 4,8:1 sur le papier, 4,9:1 sous du texte papier */
  --mx-rouge-fonce: #a3121a;
  --mx-gris: #4a4a4a;    /* texte secondaire sur papier : 8,2:1 */
  --mx-gris-nuit: #a8a8a8; /* texte secondaire sur noir : 8,4:1 */
  --mx-trait: 3px;
  --mx-titre: "Dela Gothic One", "Archivo", system-ui, sans-serif;
  --mx-texte: "Archivo", system-ui, sans-serif;
  --mx-trame: radial-gradient(circle, color-mix(in srgb, var(--mx-encre) 22%, transparent) 0 1.1px, transparent 1.4px) 0 0 / 7px 7px;
  --mx-sortie: cubic-bezier(.23, 1, .32, 1);
}

/* ------------------------------------------------------------- SOCLE */
body.bledx-store { background: var(--mx-papier); color: var(--mx-encre); }
::selection { background: var(--mx-rouge); color: var(--mx-papier); }
html { scrollbar-color: var(--mx-encre) var(--mx-papier-ombre); }
.bledx-store input, .bledx-store textarea { caret-color: var(--mx-rouge); }

/* L'en-tête : un bandeau de magazine, le titre en rouge, filet noir épais. */
.bledx-store .ct-header [data-row] { border-bottom: var(--mx-trait) solid var(--mx-encre) !important; background: var(--mx-papier) !important; }
.bledx-store .ct-header .site-title,
.bledx-store .ct-header .site-title a,
.bledx-store .ct-header .site-logo-container {
  font-family: var(--mx-titre) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: -.01em;
  color: var(--mx-rouge) !important;
  text-transform: none;
}
.bledx-store .ct-header [data-id="menu"] > ul > li > a {
  font-family: var(--mx-texte);
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--mx-encre) !important;
}
.bledx-store .ct-header [data-id="menu"] > ul > li > a:hover { color: var(--mx-rouge) !important; }

/* Les titres de page et de section parlent la langue du magazine. */
.bledx-store h1.page-title,
.bledx-store .woocommerce-products-header__title,
.bledx-store .entry-summary .product_title,
.bledx-store .bledx-section-head h2,
.bledx-store .related > h2,
.bledx-store .up-sells > h2 {
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  line-height: 1.02 !important;
  color: var(--mx-encre) !important;
}

/* Les boutons : rectangles d'encre, angles droits. */
.bx-bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  border: var(--mx-trait) solid currentColor;
  background: transparent;
  color: inherit;
  font-family: var(--mx-texte);
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms var(--mx-sortie), background-color 160ms ease-out, color 160ms ease-out;
}
.bx-bouton:active { transform: translateY(2px); }
.bx-bouton-plein { background: var(--mx-encre); border-color: var(--mx-encre); color: var(--mx-papier); }
.bx-bouton-plein:hover { background: var(--mx-rouge); border-color: var(--mx-rouge); color: var(--mx-papier); }
.bx-bouton:focus-visible { outline: 3px solid var(--mx-rouge); outline-offset: 3px; }

/* Les lignes de concentration : le geste du manga pour dire « regarde ici ». */
.bx-focus {
  position: absolute;
  inset: -25%;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-conic-gradient(from 2deg at 50% 46%, var(--bx-focus-c, var(--mx-papier)) 0deg .45deg, transparent .45deg 3.4deg),
    repeating-conic-gradient(from 0deg at 50% 46%, var(--bx-focus-c, var(--mx-papier)) 0deg .22deg, transparent .22deg 1.9deg);
  -webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 46%, transparent 0 34%, #000 78%);
          mask-image: radial-gradient(ellipse 60% 55% at 50% 46%, transparent 0 34%, #000 78%);
  opacity: .5;
}
@media (prefers-reduced-motion: no-preference) {
  .bx-couv .bx-focus { animation: bx-eclat 900ms var(--mx-sortie) both; }
}
@keyframes bx-eclat { from { opacity: 0; transform: scale(1.18); } to { opacity: .5; transform: none; } }

/* ------------------------------------------------------- LA COUVERTURE */
.bx-couv {
  position: relative;
  overflow: hidden;
  background: var(--mx-nuit);
  color: var(--mx-papier);
  border-bottom: 8px solid var(--mx-rouge);
}
.bx-couv-tete {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 18px 28px;
  flex-wrap: wrap;
  max-width: var(--bx-max, 1400px);
  margin: 0 auto;
  padding: clamp(18px, 3vw, 34px) var(--bx-marge, 24px) 0;
}
.bx-couv-logo {
  font-family: var(--mx-titre);
  font-size: clamp(64px, 9vw, 132px);
  line-height: .78;
  letter-spacing: -.03em;
  color: var(--mx-rouge);
  text-shadow: 6px 6px 0 var(--mx-papier);
}
.bx-couv-num {
  font-family: var(--mx-texte);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: .08em;
  padding-bottom: 8px;
}
.bx-couv-prix {
  margin-left: auto;
  align-self: center;
  padding: 10px 16px;
  background: var(--mx-rouge);
  color: var(--mx-papier);
  font-family: var(--mx-titre);
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1;
  transform: rotate(-4deg);
}
.bx-couv-corps {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  max-width: var(--bx-max, 1400px);
  margin: 0 auto;
  min-height: clamp(520px, calc(100vh - 290px), 760px);
}
.bx-couv-art {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}
.bx-couv-art img {
  position: relative;
  z-index: 1;
  width: auto;
  height: min(92%, 760px);
  max-width: 88%;
  object-fit: contain;
  filter: drop-shadow(0 30px 40px color-mix(in srgb, var(--mx-encre) 60%, transparent));
  transition: transform 600ms var(--mx-sortie);
}
@media (hover: hover) { .bx-couv-art:hover img { transform: scale(1.025); } }
.bx-couv-nom {
  position: absolute;
  z-index: 2;
  top: 4%;
  right: 3%;
  writing-mode: vertical-rl;
  font-family: var(--mx-titre);
  font-size: clamp(64px, 9vw, 150px);
  line-height: .9;
  color: transparent;
  -webkit-text-stroke: 2px var(--mx-papier);
  letter-spacing: .02em;
  pointer-events: none;
}
.bx-couv-texte {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 22px;
  padding: 26px var(--bx-marge, 24px) 40px;
}
.bx-couv-titre {
  margin: 0;
  font-family: var(--mx-texte);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mx-papier);
}
.bx-couv-titre span {
  display: block;
  margin-top: 10px;
  font-family: var(--mx-titre);
  font-size: clamp(34px, 3.6vw, 58px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--mx-papier);
  text-wrap: balance;
}
.bx-couv-lignes { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.bx-couv-lignes li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid color-mix(in srgb, var(--mx-papier) 22%, transparent);
  font-size: 16px;
  font-weight: 600;
  color: color-mix(in srgb, var(--mx-papier) 88%, transparent);
}
.bx-couv-lignes b { font-family: var(--mx-titre); font-weight: 400; font-size: 30px; line-height: 1; color: var(--mx-rouge); min-width: 1.4em; }
.bx-couv-lignes .bx-couv-cod {
  margin-top: 6px;
  padding: 12px 14px;
  border: 0;
  background: var(--mx-rouge);
  color: var(--mx-papier);
  font-weight: 800;
}
.bx-couv-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.bx-couv .bx-bouton { color: var(--mx-papier); }
.bx-couv .bx-bouton-plein { background: var(--mx-papier); border-color: var(--mx-papier); color: var(--mx-encre); }
.bx-couv .bx-bouton-plein:hover { background: var(--mx-rouge); border-color: var(--mx-rouge); color: var(--mx-papier); }

/* L'ordre de lecture de la couverture : titre, action, puis lignes. */
.bx-couv-texte .bx-couv-actions { order: 2; }
.bx-couv-texte .bx-couv-lignes { order: 3; }
.bx-couv-texte .bx-couv-titre { order: 1; }
/* Sur l'accueil, le titre du magazine est sur la couverture : pas deux BLEDX. */
.home.bledx-store .ct-header .site-title,
.home.bledx-store .ct-header .site-logo-container { visibility: hidden; }

/* ----------------------------------------------------------- SOMMAIRE */
.bx-sommaire {
  padding-block: clamp(44px, 6vw, 88px);
  background: var(--mx-papier);
  border-bottom: var(--mx-trait) solid var(--mx-encre);
}
.bx-sommaire-titre {
  margin: 0 0 clamp(22px, 3vw, 36px);
  font-family: var(--mx-titre);
  font-weight: 400;
  font-size: clamp(54px, 9vw, 128px);
  line-height: .85;
  letter-spacing: -.02em;
  color: var(--mx-encre);
}
.bx-sommaire-liste {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(20px, 4vw, 64px);
  border-top: var(--mx-trait) solid var(--mx-encre);
}
.bx-sommaire-liste a {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  min-height: 84px;
  padding: 10px 6px;
  border-bottom: var(--mx-trait) solid var(--mx-encre);
  color: var(--mx-encre);
  text-decoration: none;
  transition: background-color 160ms ease-out;
}
.bx-sommaire-liste a:hover,
.bx-sommaire-liste a:focus-visible { background: var(--mx-encre); color: var(--mx-papier); outline: none; }
.bx-sommaire-liste a:hover .bx-som-compte,
.bx-sommaire-liste a:focus-visible .bx-som-compte { color: var(--mx-gris-nuit); }
.bx-som-num { font-family: var(--mx-titre); font-size: 22px; color: var(--mx-rouge); min-width: 2ch; }
.bx-som-nom { font-family: var(--mx-titre); font-size: clamp(22px, 2.2vw, 32px); line-height: 1.05; }
.bx-som-compte { font-size: 14px; font-weight: 700; color: var(--mx-gris); white-space: nowrap; }
.bx-som-vignette { width: 62px; height: 62px; object-fit: cover; border: 2px solid var(--mx-encre); background: var(--mx-papier); }
.bx-sommaire-pratique .bx-som-num { color: var(--mx-encre); }

/* ----------------------------------------------------------- CHAPITRES */
.bx-chapitre {
  padding-block: clamp(40px, 6vw, 84px);
  border-bottom: var(--mx-trait) solid var(--mx-encre);
}
.bx-papier-blanc { background: var(--mx-papier); }
/* La double page noire : même chapitre, encre et papier inversés. */
.bx-papier-nuit { background: var(--mx-nuit); color: var(--mx-papier); border-bottom-color: var(--mx-nuit); }
.bx-chap-tete {
  display: flex;
  align-items: flex-end;
  gap: 14px 22px;
  flex-wrap: wrap;
  margin-bottom: clamp(18px, 2.4vw, 30px);
  padding-bottom: 14px;
  border-bottom: 6px solid var(--mx-encre);
}
.bx-chap-num {
  align-self: center;
  padding: 8px 10px;
  background: var(--mx-encre);
  color: var(--mx-papier);
  font-family: var(--mx-titre);
  font-size: 16px;
  line-height: 1;
}
.bx-chap-tete h2 {
  margin: 0;
  font-family: var(--mx-titre);
  font-weight: 400;
  font-size: clamp(40px, 6.4vw, 104px);
  line-height: .88;
  letter-spacing: -.02em;
  color: var(--mx-encre);
}
.bx-chap-compte { margin-left: auto; font-size: 15px; font-weight: 800; color: var(--mx-encre); padding-bottom: 6px; }
.bx-chap-suite {
  display: inline-flex;
  margin-top: 22px;
  padding: 14px 22px;
  border: var(--mx-trait) solid var(--mx-encre);
  background: var(--mx-papier);
  color: var(--mx-encre);
  font-weight: 800;
  text-decoration: none;
}
.bx-chap-suite:hover { background: var(--mx-encre); color: var(--mx-papier); }

/* ------------------------------------------- LES CASES (cartes produit)
   Partout dans la boutique : une case de manga à bord noir épais, l'image,
   puis la légende comme un encadré de narration. */
.bledx-store ul.products li.product {
  background: var(--mx-papier) !important;
  border: var(--mx-trait) solid var(--mx-encre) !important;
  border-radius: 0 !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
}
.bledx-store ul.products li.product figure { margin: 0 !important; position: relative; overflow: hidden; }
.bledx-store ul.products li.product .ct-media-container,
.bledx-store ul.products li.product .ct-media-container img { border-radius: 0 !important; }
.bledx-store ul.products li.product .woocommerce-loop-product__title {
  order: 2;
  margin: 0 !important;
  padding: 12px 14px 0 !important;
  border-top: var(--mx-trait) solid var(--mx-encre);
  font-family: var(--mx-texte) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
.bledx-store ul.products li.product .woocommerce-loop-product__title a { color: var(--mx-encre) !important; }
.bledx-store ul.products li.product .price {
  order: 3;
  margin: 0 !important;
  padding: 4px 14px 14px !important;
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  color: var(--mx-encre) !important;
}
.bledx-store ul.products li.product .price * { color: inherit !important; font-weight: inherit !important; }
/* au toucher ou au survol : les lignes de concentration sur la case */
.bledx-store ul.products li.product figure::after {
  content: "";
  position: absolute;
  inset: -30%;
  z-index: 2;
  pointer-events: none;
  background:
    repeating-conic-gradient(from 2deg at 50% 50%, var(--mx-encre) 0deg .5deg, transparent .5deg 3.6deg),
    repeating-conic-gradient(from 0deg at 50% 50%, var(--mx-encre) 0deg .25deg, transparent .25deg 2.1deg);
  -webkit-mask-image: radial-gradient(ellipse 52% 50% at 50% 50%, transparent 0 46%, #000 80%);
          mask-image: radial-gradient(ellipse 52% 50% at 50% 50%, transparent 0 46%, #000 80%);
  opacity: 0;
  transform: scale(1.15);
  transition: opacity 220ms ease-out, transform 420ms var(--mx-sortie);
}
@media (hover: hover) and (pointer: fine) {
  .bledx-store ul.products li.product:hover figure::after { opacity: .55; transform: none; }
}
.bledx-store ul.products li.product:focus-within figure::after { opacity: .55; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .bledx-store ul.products li.product figure::after { transition: none; }
}
.bledx-store ul.products li.product .bledx-rapide { z-index: 4; border-radius: 0; border: 2px solid var(--mx-encre); }
.bledx-store .bledx-rapide button { border-radius: 0 !important; }

/* La grille des chapitres : la première case est la grande planche. */
.bx-mag ul.products.bx-cases {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bx-mag ul.products.bx-cases > li.product { width: auto !important; margin: 0 !important; }
.bx-mag ul.products.bx-cases > li.product:first-child { grid-column: span 2; grid-row: span 2; }
.bx-mag ul.products.bx-cases > li.product:first-child .woocommerce-loop-product__title { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: clamp(20px, 2vw, 28px) !important; }
.bx-mag ul.products.bx-cases > li.product:first-child .price { font-size: 22px !important; }

/* ----------------------------------------- COMMANDER EN QUATRE CASES */
.bx-yonkoma { background: var(--mx-rouge); border-bottom: var(--mx-trait) solid var(--mx-encre); }
.bx-yonkoma .bledx-etapes-titre {
  font-family: var(--mx-titre);
  font-weight: 400;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: .95;
  color: var(--mx-papier);
}
.bx-yonkoma .bledx-etapes-liste { gap: 12px; }
.bx-yonkoma .bledx-etapes-liste li {
  padding: 22px 20px 24px;
  background: var(--mx-papier);
  border: var(--mx-trait) solid var(--mx-encre);
  background-image: var(--mx-trame);
}
.bx-yonkoma .bledx-etapes-liste li::after { display: none; }
.bx-yonkoma .bledx-etapes-liste svg {
  width: 34px;
  height: 34px;
  padding: 0;
  margin-bottom: 14px;
  background: none;
  color: var(--mx-encre);
}
.bx-yonkoma .bledx-etapes-liste strong { font-family: var(--mx-titre); font-weight: 400; font-size: 22px; line-height: 1.05; }
.bx-yonkoma .bledx-etapes-liste span { color: var(--mx-encre); font-size: 15px; font-weight: 500; }

/* --------------------------------------------- LA PAGE COULEUR (preuve) */
.bx-page-couleur { background: var(--mx-encre); color: var(--mx-papier); }
.bx-page-couleur .bledx-preuve-texte h2 { font-family: var(--mx-titre); font-weight: 400; color: var(--mx-papier); letter-spacing: -.01em; }
.bx-page-couleur .bledx-preuve-texte p,
.bx-page-couleur .bledx-preuve-texte li { color: color-mix(in srgb, var(--mx-papier) 86%, transparent); }
.bx-page-couleur .bledx-preuve-texte li svg { color: var(--mx-rouge); }
.bx-page-couleur .bledx-loupe { border: var(--mx-trait) solid var(--mx-papier); border-radius: 0; }
.bx-page-couleur .bx-bouton-plein { background: var(--mx-papier); border-color: var(--mx-papier); color: var(--mx-encre); }
.bx-page-couleur .bx-bouton-plein:hover { background: var(--mx-rouge); border-color: var(--mx-rouge); color: var(--mx-papier); }

/* ------------------------------------------------- LA FICHE PRODUIT */
.bledx-store.single-product .woocommerce-product-gallery,
.bledx-store.single-product .ct-product-gallery-container { border: var(--mx-trait) solid var(--mx-encre); }
.bledx-store.single-product .entry-summary .product_title { font-size: clamp(34px, 3.6vw, 56px) !important; }
.bledx-store.single-product .entry-summary > .price { font-family: var(--mx-titre) !important; font-weight: 400 !important; }
.bledx-store.single-product .bledx-pack-table,
.bledx-store.single-product [class*="bledx-pack"] { border-radius: 0 !important; }
.bledx-store .bledx-pastilles .bledx-pastille-choix { border-radius: 0 !important; border-width: 2px !important; border-color: var(--mx-encre) !important; }
.bledx-store.single-product .single_add_to_cart_button { border-radius: 0 !important; background: var(--mx-encre) !important; font-weight: 800 !important; }
.bledx-store.single-product .single_add_to_cart_button:hover { background: var(--mx-rouge) !important; }

/* ----------------------------------------------- LA QUATRIÈME DE COUVERTURE */
.bledx-pied { background: var(--mx-encre) !important; color: var(--mx-papier) !important; border-top: 8px solid var(--mx-rouge); }
.bledx-pied a { color: color-mix(in srgb, var(--mx-papier) 82%, transparent) !important; }
.bledx-pied a:hover { color: var(--mx-papier) !important; text-decoration: underline; text-decoration-color: var(--mx-rouge); text-underline-offset: 4px; text-decoration-thickness: 2px; }
.bledx-pied h2, .bledx-pied .bledx-pied-marque { color: var(--mx-papier) !important; }
.bledx-pied p, .bledx-pied li, .bledx-pied span { color: color-mix(in srgb, var(--mx-papier) 78%, transparent) !important; }
.bledx-pied .bledx-pied-mot { font-family: var(--mx-titre); font-weight: 400; color: var(--mx-rouge) !important; letter-spacing: -.03em; }
.bledx-pied .bledx-pied-signature { border-top-color: color-mix(in srgb, var(--mx-papier) 20%, transparent) !important; }
.bledx-pied .bledx-pied-signature p { color: var(--mx-papier) !important; }
.bledx-pied .bledx-pied-preuves, .bledx-pied .bledx-pied-bas { border-color: color-mix(in srgb, var(--mx-papier) 20%, transparent) !important; }

/* -------------------------------------------------------- TÉLÉPHONE */
@media (max-width: 900px) {
  .bx-couv-corps { grid-template-columns: 1fr; min-height: 0; }
  .bx-couv-art { grid-column: 1; grid-row: 1; height: min(54vh, 470px); }
  .bx-couv-art img { height: 94%; }
  .bx-couv-texte { grid-column: 1; grid-row: 2; padding-top: 6px; gap: 16px; }
  .bx-couv-nom { font-size: 64px; -webkit-text-stroke-width: 1.5px; }
  .bx-sommaire-liste { grid-template-columns: 1fr; }
  .bx-mag ul.products.bx-cases { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .bx-mag ul.products.bx-cases > li.product:first-child { grid-column: span 2; grid-row: auto; }
}
@media (max-width: 720px) {
  .bx-couv-tete { gap: 6px 14px; padding-top: 14px; }
  .bx-couv-logo { font-size: 58px; text-shadow: 4px 4px 0 var(--mx-papier); }
  .bx-couv-num { font-size: 12px; padding-bottom: 4px; }
  .bx-couv-prix { font-size: 18px; padding: 8px 10px; }
  .bx-couv-art { height: min(40vh, 340px); }
  .bx-couv-titre span { font-size: 30px; margin-top: 6px; }
  .bx-couv-lignes { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .bx-couv-lignes li { padding: 8px 0; font-size: 13px; gap: 8px; }
  .bx-couv-lignes b { font-size: 22px; }
  .bx-couv-lignes .bx-couv-cod { grid-column: 1 / -1; order: -1; margin: 0 0 4px; font-size: 14px; padding: 10px 12px; }
  .bx-couv-lignes li:nth-child(n+3):not(.bx-couv-cod) { display: none; }
  .bx-couv-actions .bx-bouton { flex: 1 1 auto; }
  .bx-sommaire-liste a { grid-template-columns: auto 1fr auto; min-height: 72px; gap: 12px; }
  .bx-som-vignette { display: none; }
  .bx-chap-compte { margin-left: 0; }
  .bx-yonkoma .bledx-etapes-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .bx-yonkoma .bledx-etapes-liste li { padding: 16px 14px 18px; }
  .bx-yonkoma .bledx-etapes-liste strong { font-size: 18px; }
}

/* ------------------------------------------------ CORRECTIONS DU 1er TOUR */
/* Le mot du pied : Dela est plus large qu'Archivo, cinq lettres font ~4,3 fois le corps. */
.bledx-pied .bledx-pied-mot { font-size: calc((min(100vw, var(--bx-max, 1400px)) - 2 * var(--bx-marge, 24px)) / 4.3) !important; white-space: nowrap; line-height: .9 !important; }

/* Les chapitres courts remplissent leur rangee : la grande planche n'existe
   qu'a partir de cinq pieces. */
@media (min-width: 901px) {
  .bx-mag ul.products.bx-cases > li.product:first-child { grid-column: auto; grid-row: auto; }
  .bx-mag ul.products.bx-cases:has(> li:nth-child(5)) > li.product:first-child { grid-column: span 2; grid-row: span 2; }
  .bx-mag ul.products.bx-cases:not(:has(> li:nth-child(3))) > li.product { grid-column: span 2; }
  .bx-mag ul.products.bx-cases:has(> li:nth-child(3)):not(:has(> li:nth-child(4))) > li.product:first-child { grid-column: span 2; }
  .bx-mag ul.products.bx-cases:not(:has(> li:nth-child(5))) > li.product:first-child .woocommerce-loop-product__title { font-family: var(--mx-texte) !important; font-weight: 800 !important; font-size: 15px !important; }
}

/* La fiche : le cadre sur l'image, pas autour des vignettes. */
.bledx-store.single-product .woocommerce-product-gallery,
.bledx-store.single-product .ct-product-gallery-container { border: 0; }
.bledx-store.single-product .woocommerce-product-gallery .flexy-view { border: var(--mx-trait) solid var(--mx-encre); }
.bledx-store.single-product .woocommerce-product-gallery .flexy-pills img,
.bledx-store.single-product .woocommerce-product-gallery [class*="pills"] li { border-radius: 0 !important; }

/* L'echelle de prix : voir LA FICHE PRODUIT plus bas. */

/* Les pages de categorie et de boutique : un en-tete de chapitre. */
.bledx-store.archive .hero-section,
.bledx-store.post-type-archive-product .hero-section,
.bledx-store.tax-product_cat .hero-section {
  background: var(--mx-nuit) !important;
  border-bottom: 8px solid var(--mx-rouge);
  padding-block: clamp(26px, 4vw, 52px) !important;
}
.bledx-store.archive .hero-section .entry-header { text-align: left !important; }
.bledx-store.archive .hero-section .page-title {
  font-size: clamp(44px, 7vw, 112px) !important;
  line-height: .9 !important;
  letter-spacing: -.02em !important;
}
.bledx-store .bledx-archive-worlds a,
.bledx-store .bledx-archive-worlds span { border-radius: 0 !important; border-width: 2px !important; border-color: var(--mx-encre) !important; font-weight: 800; }
.bledx-store .bledx-archive-worlds a[aria-current="page"] { background: var(--mx-encre) !important; color: var(--mx-papier) !important; }
.bledx-store.archive .hero-section .entry-header,
.bledx-store.archive .hero-section .page-title,
.bledx-store.archive .hero-section .page-description { background: transparent !important; box-shadow: none !important; max-width: none !important; }
.bledx-store.archive .hero-section .page-title { color: var(--mx-papier) !important; }
.bledx-store.archive .hero-section .page-description,
.bledx-store.archive .hero-section .page-description * { color: var(--mx-gris-nuit) !important; font-size: 16px !important; max-width: 60ch; }
.bledx-store.archive .hero-section .ct-breadcrumbs, .bledx-store.archive .hero-section .ct-breadcrumbs a { color: var(--mx-gris-nuit) !important; }
.bx-som-nom { overflow-wrap: normal; word-break: normal; hyphens: none; min-width: 0; }
.bx-sommaire-pratique .bx-som-nom { font-size: clamp(18px, 1.8vw, 26px); }
@media (max-width: 720px) { .bx-sommaire-pratique .bx-som-compte { display: none; } }

/* ------------------------------------------------ CORRECTIONS DE LA RELECTURE */
/* La couverture commence en haut de l'écran : sur l'accueil, le bandeau de
   navigation est imprimé sur le noir de la couverture, pas sur une bande crème vide. */
.home.bledx-store .ct-header [data-row] { background: var(--mx-nuit) !important; border-bottom-color: var(--mx-nuit) !important; }
.home.bledx-store .ct-header [data-id="menu"] > ul > li > a,
.home.bledx-store .ct-header a,
.home.bledx-store .ct-header button { color: var(--mx-papier) !important; --theme-icon-color: var(--mx-papier); --theme-link-initial-color: var(--mx-papier); }
.home.bledx-store .ct-header svg { fill: currentColor; }
.home.bledx-store .ct-header [data-id="menu"] > ul > li > a:hover { color: var(--mx-papier) !important; text-decoration: underline; text-decoration-color: var(--mx-rouge); text-decoration-thickness: 3px; text-underline-offset: 6px; }

/* Le titre de couverture n'a plus de surtitre : le nom suffit, la mention reste pour les lecteurs d'écran. */
.bx-couv-titre .screen-reader-text { display: inline; }
.bx-couv-titre span { margin-top: 0; }

/* Sans grande planche, le premier prix a la taille des autres. */
@media (min-width: 901px) {
  .bx-mag ul.products.bx-cases:not(:has(> li:nth-child(5))) > li.product:first-child .price { font-size: 17px !important; }
}

/* =====================================================================
   ENCRE, PAPIER, ROUGE (2026-10-05, deuxième passe)
   Les chapitres alternent page blanche et double page noire ; la trame
   de points remplace les papiers teintés. La fiche, le panier et la
   commande entrent dans le même monde.
   ===================================================================== */

/* -------------------------------------------- LA TRAME (texture d'impression) */
.bx-chapitre, .bx-sommaire { position: relative; isolation: isolate; }
.bx-chapitre::before,
.bx-sommaire::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  z-index: -1;
  width: min(54%, 720px);
  height: min(70%, 520px);
  background: radial-gradient(circle, var(--bx-trame-c, color-mix(in srgb, var(--mx-encre) 16%, transparent)) 0 1.2px, transparent 1.5px) 0 0 / 8px 8px;
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 100% 0%, #000 0 30%, transparent 75%);
          mask-image: radial-gradient(ellipse 80% 80% at 100% 0%, #000 0 30%, transparent 75%);
  pointer-events: none;
}
.bx-papier-nuit::before { --bx-trame-c: color-mix(in srgb, var(--mx-papier) 14%, transparent); }

/* -------------------------------------------- LA DOUBLE PAGE NOIRE */
.bx-papier-nuit .bx-chap-tete { border-bottom-color: var(--mx-papier); }
.bx-papier-nuit .bx-chap-tete h2,
.bx-papier-nuit .bx-chap-compte { color: var(--mx-papier); }
.bx-papier-nuit .bx-chap-num { background: var(--mx-rouge); color: var(--mx-papier); }
.bx-papier-nuit ul.products li.product { border-color: var(--mx-papier) !important; }
.bx-chap-suite:hover { background: var(--mx-rouge); border-color: var(--mx-rouge); color: var(--mx-papier); }
.bx-papier-nuit .bx-chap-suite { background: transparent; border-color: var(--mx-papier); color: var(--mx-papier); }
.bx-papier-nuit .bx-chap-suite:hover { background: var(--mx-papier); border-color: var(--mx-papier); color: var(--mx-encre); }

/* Les cases : au survol, la légende passe en encre et le prix en papier. */
.bledx-store ul.products li.product .woocommerce-loop-product__title,
.bledx-store ul.products li.product .price { transition: background-color 200ms ease-out, color 200ms ease-out; }
@media (hover: hover) and (pointer: fine) {
  .bledx-store ul.products li.product:hover .woocommerce-loop-product__title,
  .bledx-store ul.products li.product:hover .price { background: var(--mx-encre); }
  .bledx-store ul.products li.product:hover .woocommerce-loop-product__title a { color: var(--mx-papier) !important; }
  .bledx-store ul.products li.product:hover .price { color: var(--mx-papier) !important; }
}

/* -------------------------------------------- LE BANDEAU QUI DÉFILE */
.bx-defile {
  overflow: hidden;
  background: var(--mx-rouge);
  color: var(--mx-papier);
  border-bottom: var(--mx-trait) solid var(--mx-encre);
}
.bx-defile-piste {
  display: flex;
  width: max-content;
  padding-block: 14px;
}
.bx-defile-piste span {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding-right: 28px;
  font-family: var(--mx-titre);
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1;
  white-space: nowrap;
}
.bx-defile-piste span::after {
  content: "";
  width: 12px;
  height: 12px;
  background: var(--mx-papier);
  transform: rotate(45deg);
}

/* -------------------------------------------- LES QUATRE CASES, SUR ROUGE */
.bx-yonkoma .bledx-etapes-liste li { background-color: var(--mx-papier); }
.bx-yonkoma .bledx-etapes-liste svg { color: var(--mx-rouge); }

/* ===================================================== LA FICHE PRODUIT */
.bledx-store.single-product .hero-section { padding-block: 18px 0 !important; border: 0 !important; background: transparent !important; }
.bledx-store.single-product .hero-section .entry-header { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.bledx-store .ct-breadcrumbs, .bledx-store .ct-breadcrumbs a { font-size: 14px !important; font-weight: 700; color: var(--mx-gris) !important; }
.bledx-store .ct-breadcrumbs a:hover { color: var(--mx-rouge) !important; }

.bledx-store.single-product .entry-summary .product_title { line-height: .95 !important; text-wrap: balance; }
.bledx-store.single-product .entry-summary > .price,
.bledx-store.single-product .entry-summary > .price * {
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 2.6vw, 38px) !important;
  color: var(--mx-rouge) !important;
}
.bledx-store.single-product .entry-summary > .price { display: inline-block; }
.bledx-store.single-product .woocommerce-product-details__short-description p { font-size: 17px; color: var(--mx-encre); }

/* L'échelle de prix : un encadré noir, une rangée par quantité. La rangée
   qui correspond à la quantité choisie s'allume en rouge (bledx-mouvement.js). */
.bledx-store .bledx-pack {
  border: var(--mx-trait) solid var(--mx-encre) !important;
  border-radius: 0 !important;
  background: var(--mx-nuit) !important;
  color: var(--mx-papier) !important;
  padding: 0 !important;
  overflow: hidden;
}
.bledx-store .bledx-pack * { color: inherit !important; }
.bledx-store .bledx-pack .bledx-pack-t {
  display: block;
  padding: 14px 18px 10px !important;
  font-family: var(--mx-titre) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.bledx-store .bledx-pack ul { margin: 0 !important; padding: 0 !important; }
.bledx-store .bledx-pack li {
  margin: 0 !important;
  padding: 12px 18px !important;
  border-top: 1px solid color-mix(in srgb, var(--mx-papier) 18%, transparent) !important;
  transition: background-color 260ms var(--mx-sortie);
}
.bledx-store .bledx-pack li b { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: 26px !important; color: var(--mx-rouge) !important; }
.bledx-store .bledx-pack li > span { font-family: var(--mx-titre); font-weight: 400; }
.bledx-store .bledx-pack li em { color: var(--mx-gris-nuit) !important; font-style: normal; }
.bledx-store .bledx-pack li i {
  font-style: normal;
  padding: 3px 8px !important;
  background: var(--mx-rouge);
  color: var(--mx-papier) !important;
  font-weight: 800;
}
.bledx-store .bledx-pack li.bx-actif { background: var(--mx-rouge); }
.bledx-store .bledx-pack li.bx-actif b,
.bledx-store .bledx-pack li.bx-actif em { color: var(--mx-papier) !important; }
.bledx-store .bledx-pack li.bx-actif i { background: var(--mx-encre); }
.bledx-store .bledx-pack .bledx-pack-n { margin: 0 !important; padding: 10px 18px 14px !important; color: var(--mx-gris-nuit) !important; font-size: 14px; border-top: 1px solid color-mix(in srgb, var(--mx-papier) 18%, transparent); }

/* La fiche technique : des filets d'encre, pas des boîtes grises. */
.bledx-store .bledx-product-confidence,
.bledx-store .bledx-product-confidence-grid { border-radius: 0 !important; background: transparent !important; }
.bledx-store .bledx-product-confidence-grid { border: 0 !important; border-top: var(--mx-trait) solid var(--mx-encre) !important; }
.bledx-store .bledx-product-confidence-grid > div { border-color: var(--mx-encre) !important; border-width: 0 0 1px !important; border-style: solid !important; background: transparent !important; }
.bledx-store .bledx-product-confidence-grid span { color: var(--mx-gris) !important; font-weight: 700; letter-spacing: 0 !important; text-transform: none !important; font-size: 14px !important; }
.bledx-store .bledx-product-confidence-grid strong { color: var(--mx-encre) !important; font-weight: 800; }

/* Les tailles. */
.bledx-store .bledx-pastilles .bledx-pastille-choix {
  min-width: 56px;
  min-height: 52px;
  border: 2px solid var(--mx-encre) !important;
  background: var(--mx-blanc) !important;
  color: var(--mx-encre) !important;
  font-family: var(--mx-titre);
  font-weight: 400;
  font-size: 17px;
  transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms var(--mx-sortie);
}
.bledx-store .bledx-pastilles .bledx-pastille-choix[aria-checked="true"] { background: var(--mx-encre) !important; color: var(--mx-papier) !important; box-shadow: inset 0 -5px 0 var(--mx-rouge) !important; }
.bledx-store .bledx-pastilles .bledx-pastille-choix[aria-disabled="true"] { opacity: .35; text-decoration: line-through; }
.bledx-store .bledx-pastilles .bledx-pastille-choix:focus-visible { outline: 3px solid var(--mx-rouge) !important; outline-offset: 3px; }
.bledx-store .variations label, .bledx-store .variations th { font-weight: 800 !important; color: var(--mx-encre) !important; }

/* Quantité et bouton d'ajout. */
.bledx-store.single-product form.cart .quantity { border: var(--mx-trait) solid var(--mx-encre) !important; border-radius: 0 !important; background: var(--mx-blanc) !important; min-height: 58px; }
.bledx-store.single-product form.cart .quantity input.qty { font-family: var(--mx-titre); font-size: 18px !important; color: var(--mx-encre) !important; }
.bledx-store.single-product .single_add_to_cart_button {
  min-height: 58px !important;
  border: var(--mx-trait) solid var(--mx-rouge) !important;
  background-color: var(--mx-rouge) !important;
  color: var(--mx-papier) !important;
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  font-size: 19px !important;
  letter-spacing: 0 !important;
}
.bledx-store.single-product .single_add_to_cart_button:hover { background-color: var(--mx-encre) !important; border-color: var(--mx-encre) !important; }
.bledx-store.single-product .single_add_to_cart_button.disabled,
/* Sans taille choisie, le bouton reste rouge et cliquable : le clic montre
   les tailles (bledx-boutique.js). Gris, il avait l'air cassé. */
.bledx-store.single-product .single_add_to_cart_button:disabled { background-color: var(--mx-rouge) !important; border-color: var(--mx-rouge) !important; opacity: 1 !important; cursor: pointer; }

/* Les promesses sous le bouton : des lignes, pas des pastilles. */
.bledx-store .bledx-pdp-trust { gap: 10px 22px; text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 700; color: var(--mx-encre); }
.bledx-store .bledx-pdp-trust > * { display: inline-flex; align-items: center; gap: 10px; border: 0 !important; border-radius: 0 !important; background: none !important; padding: 0 !important; color: var(--mx-encre) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 15px !important; }
.bledx-store .bledx-pdp-trust > span::before { content: ""; width: 9px; height: 9px; background: var(--mx-rouge); transform: rotate(45deg); flex: none; }
.bledx-store .bledx-pdp-trust a { text-decoration-color: var(--mx-rouge); text-decoration-thickness: 2px; min-height: 44px; }

.bledx-store.single-product .product_meta,
.bledx-store.single-product .product_meta a { color: var(--mx-gris) !important; letter-spacing: 0 !important; }

/* Entretien et livraison : un encadré de narration. */
.bledx-store .bledx-product-extra-facts { background: var(--mx-papier) !important; border-top: var(--mx-trait) solid var(--mx-encre); border-bottom: var(--mx-trait) solid var(--mx-encre); border-radius: 0 !important; }
.bledx-store .bledx-product-extra-facts article { background: transparent !important; border: 0 !important; }
.bledx-store .bledx-fait-titre { margin: 0; font-family: var(--mx-titre); font-weight: 400; font-size: 24px; line-height: 1.1; color: var(--mx-encre); }
.bledx-store .bledx-product-extra-facts p { color: var(--mx-encre) !important; font-size: 16px; }

/* Les onglets. */
.bledx-store .woocommerce-tabs ul.tabs { border-bottom: var(--mx-trait) solid var(--mx-encre) !important; }
.bledx-store .woocommerce-tabs ul.tabs li { position: relative; }
.bledx-store .woocommerce-tabs ul.tabs li a { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: 18px !important; color: var(--mx-gris) !important; }
.bledx-store .woocommerce-tabs ul.tabs li.active a { color: var(--mx-encre) !important; }
.bledx-store .woocommerce-tabs ul.tabs li::after { content: "" !important; position: absolute; left: 0; right: 0; bottom: -3px; height: 5px; background: var(--mx-rouge) !important; transform: scaleX(0); transform-origin: left; transition: transform 320ms var(--mx-sortie); border: 0 !important; }
.bledx-store .woocommerce-tabs ul.tabs li.active::after { transform: none; }
.bledx-store .woocommerce-Tabs-panel p { font-size: 17px; color: var(--mx-encre); }

/* La barre d'achat du téléphone : noire, le bouton rouge. */
.bledx-store .bledx-barre-produit { background: var(--mx-nuit) !important; backdrop-filter: none !important; border-top: var(--mx-trait) solid var(--mx-rouge) !important; }
.bledx-store .bledx-barre-produit-prix span,
.bledx-store .bledx-barre-produit-prix span * { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: 19px !important; color: var(--mx-papier) !important; }
.bledx-store .bledx-barre-panier { color: var(--mx-papier) !important; }
.bledx-store .bledx-barre-produit .bledx-barre-produit-action { border-radius: 0 !important; background: var(--mx-rouge) !important; color: var(--mx-papier) !important; font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: 18px !important; }

/* Le panneau après l'ajout : une case, bord d'encre, bandeau noir. */
.bledx-store .bledx-ajout { border-radius: 0 !important; border: var(--mx-trait) solid var(--mx-encre) !important; background: var(--mx-papier) !important; box-shadow: 0 24px 60px -18px color-mix(in srgb, var(--mx-encre) 55%, transparent) !important; padding-top: 0 !important; }
.bledx-store .bledx-ajout-tete { margin-inline: -20px; padding: 14px 20px; background: var(--mx-encre); color: var(--mx-papier); }
@media (max-width: 720px) { .bledx-store .bledx-ajout-tete { margin-inline: calc(-1 * var(--bx-marge, 16px)); padding-inline: var(--bx-marge, 16px); } }
.bledx-store .bledx-ajout-tete p { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 20px !important; color: var(--mx-papier) !important; }
.bledx-store .bledx-ajout-tete svg { color: var(--mx-rouge); }
.bledx-store .bledx-ajout .bledx-ajout-fermer { color: var(--mx-papier) !important; border-radius: 0 !important; }
.bledx-store .bledx-ajout .bledx-ajout-fermer:hover { background: var(--mx-rouge) !important; color: var(--mx-papier) !important; }
.bledx-store .bledx-ajout-image { border: 2px solid var(--mx-encre); border-radius: 0 !important; }
.bledx-store .bledx-ajout-nom { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 18px !important; color: var(--mx-encre) !important; }
.bledx-store .bledx-ajout-detail { color: var(--mx-gris) !important; }
.bledx-store .bledx-ajout-conseil { border-radius: 0 !important; background: var(--mx-papier-ombre) !important; color: var(--mx-encre) !important; font-weight: 700; }
.bledx-store .bledx-ajout-conseil.est-offre { background: var(--mx-encre) !important; color: var(--mx-papier) !important; }
.bledx-store .bledx-ajout .bledx-ajout-commander,
.bledx-store .bledx-ajout .bledx-ajout-continuer { border-radius: 0 !important; font-family: var(--mx-titre); font-weight: 400 !important; font-size: 17px !important; min-height: 52px; }
.bledx-store .bledx-ajout .bledx-ajout-commander { background: var(--mx-rouge) !important; border: var(--mx-trait) solid var(--mx-rouge) !important; color: var(--mx-papier) !important; }
.bledx-store .bledx-ajout .bledx-ajout-commander:hover { background: var(--mx-encre) !important; border-color: var(--mx-encre) !important; }
.bledx-store .bledx-ajout .bledx-ajout-continuer { background: transparent !important; border: var(--mx-trait) solid var(--mx-encre) !important; color: var(--mx-encre) !important; }
.bledx-store .bledx-ajout .bledx-ajout-panier { color: var(--mx-encre) !important; text-decoration-color: var(--mx-rouge); text-decoration-thickness: 2px; }

/* ===================================================== PANIER ET COMMANDE */
.bledx-store.woocommerce-cart .hero-section,
.bledx-store.woocommerce-checkout .hero-section { padding-block: clamp(22px, 3vw, 40px) 0 !important; border: 0 !important; background: transparent !important; }
.bledx-store.woocommerce-cart .hero-section .entry-header,
.bledx-store.woocommerce-checkout .hero-section .entry-header { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 0 14px !important; border-bottom: 6px solid var(--mx-encre) !important; }
.bledx-store.woocommerce-cart .page-title,
.bledx-store.woocommerce-checkout .page-title { font-size: clamp(48px, 8vw, 116px) !important; line-height: .86 !important; letter-spacing: -.02em !important; }

/* Les champs : rectangles blancs, bord d'encre, le rouge au focus. */
.bledx-store .wc-block-components-text-input input,
.bledx-store .wc-block-components-text-input input[type],
.bledx-store .wc-block-components-combobox .components-combobox-control input,
.bledx-store .wc-blocks-components-select .wc-blocks-components-select__select,
.bledx-store .wc-block-components-textarea,
.bledx-store .wc-block-components-totals-coupon input {
  border: 2px solid var(--mx-encre) !important;
  border-radius: 0 !important;
  background: var(--mx-blanc) !important;
  color: var(--mx-encre) !important;
  box-shadow: none !important;
  transition: border-color 160ms ease-out, box-shadow 200ms var(--mx-sortie);
}
.bledx-store .wc-block-components-text-input input:focus,
.bledx-store .wc-block-components-combobox .components-combobox-control input:focus,
.bledx-store .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.bledx-store .wc-block-components-textarea:focus {
  border-color: var(--mx-rouge) !important;
  box-shadow: inset 0 -4px 0 var(--mx-rouge) !important;
  outline: none !important;
}
.bledx-store .wc-block-components-text-input label,
.bledx-store .wc-blocks-components-select__label { color: var(--mx-gris) !important; }
.bledx-store .wc-block-components-text-input.has-error input { border-color: var(--mx-rouge-fonce) !important; }
.bledx-store .wc-block-components-validation-error p { color: var(--mx-rouge-fonce) !important; font-weight: 700; }

/* Le défaut corrigé : « input { min-height: 50px } » étirait aussi les
   cases à cocher et les boutons radio en rectangles de 20 × 50. */
.bledx-store.woocommerce-checkout input[type="checkbox"],
.bledx-store.woocommerce-checkout input[type="radio"],
.bledx-store.woocommerce-cart input[type="checkbox"],
.bledx-store.woocommerce-cart input[type="radio"] { min-height: 0 !important; height: 22px !important; width: 22px !important; flex: none; }
.bledx-store .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border: 2px solid var(--mx-encre) !important; border-radius: 0 !important; background: var(--mx-blanc) !important; }
.bledx-store .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--mx-encre) !important; }
.bledx-store .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--mx-papier) !important; }
.bledx-store .wc-block-components-radio-control .wc-block-components-radio-control__input { border: 2px solid var(--mx-encre) !important; background: var(--mx-blanc) !important; }
.bledx-store .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--mx-rouge) !important; }
.bledx-store .wc-block-components-checkbox label { font-weight: 700; color: var(--mx-encre); }

/* Les étapes numérotées : l'ordre compte, on l'écrit. */
.bledx-store .wc-block-checkout__form { counter-reset: bx-etape; }
.bledx-store .wc-block-components-checkout-step__title {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  color: var(--mx-encre) !important;
}
.bledx-store .wc-block-components-checkout-step__title::before {
  counter-increment: bx-etape;
  content: counter(bx-etape);
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--mx-encre);
  color: var(--mx-papier);
  font-size: 19px;
  flex: none;
}
.bledx-store .wc-block-components-checkout-step__description { color: var(--mx-gris) !important; }

/* Le mode de livraison et le paiement : des cases d'encre. */
.bledx-store .wc-block-components-radio-control--highlight-checked,
.bledx-store .wc-block-components-radio-control-accordion-option,
.bledx-store .wc-block-components-radio-control__option { border-radius: 0 !important; }
.bledx-store .wc-block-components-radio-control--highlight-checked::after { border: var(--mx-trait) solid var(--mx-encre) !important; border-radius: 0 !important; }
.bledx-store .wc-block-components-radio-control__label { font-weight: 800 !important; color: var(--mx-encre) !important; }
.bledx-store .wc-block-components-radio-control__secondary-label { font-family: var(--mx-titre); font-weight: 400; color: var(--mx-encre) !important; }

/* Le grand bouton : rouge, plein, la police d'affiche. */
.bledx-store .wc-block-components-checkout-place-order-button,
.bledx-store .wc-block-cart__submit-button {
  min-height: 62px !important;
  border: var(--mx-trait) solid var(--mx-rouge) !important;
  border-radius: 0 !important;
  background-color: var(--mx-rouge) !important;
  color: var(--mx-papier) !important;
  font-family: var(--mx-titre) !important;
  font-weight: 400 !important;
  font-size: 21px !important;
  letter-spacing: 0 !important;
  transition: background-color 200ms ease-out, border-color 200ms ease-out, transform 140ms var(--mx-sortie);
}
.bledx-store .wc-block-components-checkout-place-order-button:hover,
.bledx-store .wc-block-cart__submit-button:hover { background-color: var(--mx-encre) !important; border-color: var(--mx-encre) !important; }
.bledx-store .wc-block-components-checkout-place-order-button:active,
.bledx-store .wc-block-cart__submit-button:active { transform: translateY(2px); }
.bledx-store .wc-block-components-checkout-place-order-button:focus-visible,
.bledx-store .wc-block-cart__submit-button:focus-visible { outline: 3px solid var(--mx-encre) !important; outline-offset: 3px; }
.bledx-store .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.bledx-store .wc-block-cart__submit-button .wc-block-components-button__text { font: inherit !important; }

/* Le résumé : la double page noire, le total en grand. */
.bledx-store .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.bledx-store .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: var(--mx-nuit) !important;
  color: var(--mx-papier) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 6px 20px 10px !important;
}
.bledx-store .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { margin-bottom: 12px; }
.bledx-store .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block *,
.bledx-store .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block * { color: inherit; border-color: color-mix(in srgb, var(--mx-papier) 20%, transparent) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
.bledx-store .wc-block-cart__totals-title { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: 24px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mx-papier) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-totals-item__label,
.bledx-store .wc-block-cart__sidebar .wc-block-components-totals-item__label,
.bledx-store .wc-block-checkout__sidebar .wc-block-components-product-metadata,
.bledx-store .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices { color: var(--mx-gris-nuit) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.bledx-store .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 22px !important; color: var(--mx-papier) !important; }
.bledx-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.bledx-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value * { font-family: var(--mx-titre) !important; font-weight: 400 !important; font-size: clamp(28px, 2.4vw, 36px) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.bledx-store .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--mx-papier) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img { border: 2px solid var(--mx-papier); border-radius: 0 !important; background: var(--mx-papier); }
.bledx-store .wc-block-components-order-summary-item__quantity { background: var(--mx-rouge) !important; color: var(--mx-papier) !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; font-weight: 800; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-panel__button,
.bledx-store .wc-block-cart__sidebar .wc-block-components-panel__button { color: var(--mx-papier) !important; font-weight: 700; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-panel__button-icon,
.bledx-store .wc-block-cart__sidebar .wc-block-components-panel__button-icon { fill: var(--mx-papier) !important; }
.bledx-store .wc-block-checkout__sidebar .wc-block-components-product-name { font-weight: 800; color: var(--mx-papier) !important; }

/* Les lignes du panier. */
.bledx-store .wc-block-cart-items { border-top: var(--mx-trait) solid var(--mx-encre) !important; }
.bledx-store .wc-block-cart-items th { font-weight: 800 !important; color: var(--mx-gris) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 14px !important; }
.bledx-store .wc-block-cart-items__row { border-bottom: 1px solid var(--mx-encre) !important; }
.bledx-store .wc-block-cart-items td { border: 0 !important; }
.bledx-store .wc-block-cart-item__image img { border: 2px solid var(--mx-encre); border-radius: 0 !important; background: var(--mx-blanc); }
.bledx-store .wc-block-cart-items .wc-block-components-product-name { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 20px !important; color: var(--mx-encre) !important; text-decoration: none; }
.bledx-store .wc-block-cart-item__total .wc-block-components-product-price,
.bledx-store .wc-block-cart-item__total .wc-block-components-product-price * { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 19px !important; color: var(--mx-encre) !important; }
.bledx-store .wc-block-components-quantity-selector { border: 2px solid var(--mx-encre) !important; border-radius: 0 !important; background: var(--mx-blanc) !important; }
.bledx-store .wc-block-components-quantity-selector::after { display: none !important; }
.bledx-store .wc-block-components-quantity-selector input { font-family: var(--mx-titre); font-weight: 400 !important; font-size: 17px !important; color: var(--mx-encre) !important; }
.bledx-store .wc-block-components-quantity-selector button { color: var(--mx-encre) !important; border-radius: 0 !important; }
.bledx-store .wc-block-components-quantity-selector button:hover { background: var(--mx-encre) !important; color: var(--mx-papier) !important; }
.bledx-store .wc-block-cart-item__remove-link { color: var(--mx-gris) !important; }
.bledx-store .wc-block-cart-item__remove-link:hover { color: var(--mx-rouge) !important; }

/* Le panier vide : le gabarit WooCommerce affiche ses cases de produits. */
.bledx-store .wc-block-cart__empty-cart__title { font-family: var(--mx-titre); font-weight: 400 !important; font-size: clamp(28px, 4vw, 48px) !important; color: var(--mx-encre); }
.bledx-store .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { font-family: var(--mx-titre); font-weight: 400 !important; }
.bledx-store .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.bledx-store .wc-block-grid__product { border: var(--mx-trait) solid var(--mx-encre) !important; background: var(--mx-papier); padding: 0 0 14px !important; }
.bledx-store .wc-block-grid__product-image img { background: var(--mx-blanc); }
.bledx-store .wc-block-grid__product-title { font-weight: 800 !important; font-size: 15px !important; color: var(--mx-encre) !important; padding-inline: 12px; }
.bledx-store .wc-block-grid__product-price,
.bledx-store .wc-block-grid__product-price * { font-family: var(--mx-titre); font-weight: 400 !important; color: var(--mx-encre) !important; }
.bledx-store .wc-block-grid__product .wp-block-button__link { border-radius: 0 !important; background: var(--mx-encre) !important; color: var(--mx-papier) !important; font-weight: 800 !important; }
.bledx-store .wc-block-grid__product .wp-block-button__link:hover { background: var(--mx-rouge) !important; }

/* La commande reçue. */
.bledx-store .bledx-thankyou-next { border: var(--mx-trait) solid var(--mx-encre) !important; border-radius: 0 !important; background: var(--mx-papier) !important; }
.bledx-store .bledx-thankyou-next h2 { font-family: var(--mx-titre); font-weight: 400 !important; font-size: clamp(30px, 4vw, 52px) !important; color: var(--mx-encre) !important; }

@media (max-width: 720px) {
  .bledx-store .bledx-pack li { padding: 10px 14px !important; }
  .bledx-store .bledx-pack .bledx-pack-t { padding: 12px 14px 8px !important; }
  .bledx-store.single-product .entry-summary .product_title { font-size: 34px !important; }
}

/* ------------------------------------------------ CORRECTIONS DE LA DEUXIÈME PASSE */
/* Le titre de page portait son propre fond blanc et 49 px de marge. */
.bledx-store .page-title { background: transparent !important; }
.bledx-store.woocommerce-cart .page-title,
.bledx-store.woocommerce-checkout .page-title { padding: 0 !important; overflow-wrap: normal; word-break: normal; hyphens: none; }
@media (max-width: 720px) {
  .bledx-store.woocommerce-cart .page-title,
  .bledx-store.woocommerce-checkout .page-title { font-size: 44px !important; }
  .bledx-store .bledx-barre-produit .bledx-barre-produit-action { font-size: 16px !important; white-space: nowrap; padding-inline: 14px !important; }
}
/* La quantité : un seul cadre, pas de filet intérieur. */
.bledx-store.single-product form.cart .quantity input.qty,
.bledx-store.single-product form.cart .quantity .ct-increase,
.bledx-store.single-product form.cart .quantity .ct-decrease { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
/* Rouge sur noir : 3,9:1, donc réservé au grand texte (24 px et plus). */
@media (max-width: 720px) { .bx-couv-lignes b { font-size: 24px; } }
