/* Blue Diamond, charte 2026 : générée depuis maquettes/charte.css par production/construire-theme.py. */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/hanken-grotesk-latin.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: "Playfair Display";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("fonts/playfair-display-latin.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: "Playfair Display";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/playfair-display-italic-latin.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;
}
html {
  --gcid-a5ea95e7-57a7-483e-b0fe-8a60d9d9c3a2: #071D57;
  --gcid-5747e99b-fe40-4f8a-a149-d8980d56c809: #183F7A;
  --gcid-f0b87b6c-c6f2-497c-992b-d1cb9cbfe4a7: #101B30;
  --gcid-cdeee459-4474-45f2-bf0b-c6af0a6a55fc: #4A5163;
  --gcid-f4641d6d-1ab2-4562-a9a1-0f4ac4d105dc: #C5A059;
  --gcid-24e32e6b-6558-4818-9f36-a3d34902734a: #E9C176;
  --gcid-6de463bd-dabb-4e55-917d-478fdd725374: #775A19;
  --gcid-8c544b95-6b5a-426a-96cf-7e7e3c84f5ec: #F7EBE8;
  --gcid-951525e4-4635-4ff1-baeb-d9a9bac75a8f: #E8C5B8;
  --gcid-f86b3eda-7dd6-44f0-9e87-01998847abf4: #FFFFFF;
  --gcid-376171d7-1b08-4f07-a312-aabef1429571: #FAFAF7;
  --gcid-3e1b6275-38a4-4d4f-842e-50082267f687: #E3E6EE;
  --gcid-3e1c740c-915e-4fba-a5c1-9b3230d00fdf: rgba(197, 160, 89, 0.45);
  --gcid-5479d32e-4a6c-4013-8e63-40bda1fe5cbf: #B3261E;
  --gcid-810ac367-f5bb-4a83-84f4-f75964eb0623: #1E6B3A;
}
:root {
  --bd-saphir: #071D57;
  --bd-saphir-survol: #183F7A;
  --bd-encre: #101B30;
  --bd-ardoise: #4A5163;
  --bd-or: #C5A059;
  --bd-or-clair: #E9C176;
  --bd-or-texte: #775A19;
  --bd-rose: #F7EBE8;
  --bd-rose-filet: #E8C5B8;
  --bd-blanc: #FFFFFF;
  --bd-perle: #FAFAF7;
  --bd-filet: #E3E6EE;
  --bd-filet-or: rgba(197, 160, 89, 0.45);
  --bd-alerte: #B3261E;
  --bd-succes: #1E6B3A;

  --bd-police-titre: "Playfair Display", Georgia, serif;
  --bd-police-texte: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;

  --bd-titre-xl: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
  --bd-titre-lg: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
  --bd-titre-md: clamp(1.375rem, 1.25rem + 0.6vw, 1.75rem);
  --bd-titre-sm: 1.25rem;
  --bd-texte: 1rem;
  --bd-texte-sm: 0.875rem;
  --bd-etiquette: 0.75rem;

  --bd-marge: clamp(1.25rem, 4vw, 4rem);
  --bd-gouttiere: clamp(1rem, 2vw, 2rem);
  --bd-section: clamp(3rem, 6vw, 5.5rem);
  --bd-largeur: 80rem;
}
body.bd-v2 .bd-conteneur { max-width: var(--bd-largeur); margin: 0 auto; padding: 0 var(--bd-marge); }
body.bd-v2 .bd-section { padding: var(--bd-section) 0; }
body.bd-v2 .bd-section--blanc { background: var(--bd-blanc); }
body.bd-v2 .bd-section--rose { background: var(--bd-rose); }
body.bd-v2 .bd-section--saphir { background: var(--bd-saphir); color: var(--bd-blanc); }
body.bd-v2 .bd-section--saphir h1, body.bd-v2 .bd-section--saphir h2, body.bd-v2 .bd-section--saphir h3 { color: var(--bd-blanc); }
body.bd-v2 .bd-etiquette {
  font-family: var(--bd-police-texte);
  font-size: var(--bd-etiquette);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-or-texte);
  margin: 0 0 0.75rem;
}
body.bd-v2 .bd-section--saphir .bd-etiquette { color: var(--bd-or-clair); }
body.bd-v2 .bd-chapo { font-size: 1.0625rem; color: var(--bd-ardoise); max-width: 40rem; }
body.bd-v2 .bd-section--saphir .bd-chapo { color: #D6DCEB; }
body.bd-v2 .bd-a-completer {
  background: #FFF4D6;
  color: #5D4201;
  padding: 0 0.25em;
  font-size: 0.9em;
}
body.bd-v2 .bd-bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0 1.75rem;
  border: 1px solid var(--bd-saphir);
  border-radius: 0;
  background: var(--bd-saphir);
  color: var(--bd-blanc);
  font-family: var(--bd-police-texte);
  font-size: var(--bd-etiquette);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 150ms, box-shadow 150ms;
}
body.bd-v2 .bd-bouton:hover { background: var(--bd-saphir-survol); color: var(--bd-blanc); box-shadow: inset 0 0 0 1px var(--bd-or); }
body.bd-v2 .bd-bouton--contour { background: transparent; color: var(--bd-saphir); }
body.bd-v2 .bd-bouton--contour:hover { background: var(--bd-saphir); color: var(--bd-blanc); box-shadow: none; }
body.bd-v2 .bd-bouton--or { background: var(--bd-or-clair); border-color: var(--bd-or-clair); color: var(--bd-saphir); }
body.bd-v2 .bd-bouton--or:hover { background: var(--bd-blanc); color: var(--bd-saphir); border-color: var(--bd-blanc); box-shadow: none; }
body.bd-v2 .bd-bouton--large { width: 100%; }
body.bd-v2 .bd-lien-fleche {
  font-size: var(--bd-etiquette);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
body.bd-v2 .bd-lien-fleche::after { content: " →"; display: inline-block; transition: transform 150ms; }
body.bd-v2 .bd-lien-fleche:hover::after { transform: translateX(4px); }
body.bd-v2 .bd-poincon {
  display: inline-block;
  border: 1px solid var(--bd-or);
  background: var(--bd-rose);
  color: var(--bd-or-texte);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  line-height: 1.4;
}
body.bd-v2 .bd-poincon--promo { border-color: var(--bd-saphir); background: var(--bd-blanc); color: var(--bd-saphir); }
body.bd-v2 .bd-bandeau {
  background: var(--bd-saphir);
  color: #D6DCEB;
  font-size: 0.8125rem;
  text-align: center;
  padding: 0.5rem var(--bd-marge);
}
body.bd-v2 .bd-bandeau strong { color: var(--bd-or-clair); font-weight: 600; }
body.bd-v2 .bd-entete { background: var(--bd-blanc); border-bottom: 1px solid var(--bd-filet); position: sticky; top: 0; z-index: 20; }
body.bd-v2 .bd-entete__ligne {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--bd-gouttiere);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
body.bd-v2 .bd-logo img { height: 3.25rem; width: auto; }
body.bd-v2 .bd-recherche { position: relative; max-width: 30rem; width: 100%; justify-self: center; }
body.bd-v2 .bd-recherche input {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--bd-filet);
  border-radius: 0;
  background: var(--bd-perle);
  padding: 0 1rem 0 2.5rem;
  font: inherit;
  font-size: var(--bd-texte-sm);
  color: var(--bd-encre);
}
body.bd-v2 .bd-recherche input::placeholder { color: var(--bd-ardoise); }
body.bd-v2 .bd-recherche input:focus { outline: none; border-color: var(--bd-saphir-survol); background: var(--bd-blanc); }
body.bd-v2 .bd-recherche svg { position: absolute; left: 0.875rem; top: 50%; transform: translateY(-50%); }
body.bd-v2 .bd-actions-entete { display: flex; gap: 0.25rem; align-items: center; }
body.bd-v2 .bd-icone {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  color: var(--bd-saphir);
  text-decoration: none;
}
body.bd-v2 .bd-icone:hover { color: var(--bd-saphir-survol); background: var(--bd-perle); }
body.bd-v2 .bd-icone__compte {
  position: absolute;
  top: 0.25rem;
  right: 0.125rem;
  min-width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background: var(--bd-or-clair);
  color: var(--bd-saphir);
  font-size: 0.6875rem;
  font-weight: 700;
  display: grid;
  place-items: center;
}
body.bd-v2 .bd-nav { border-top: 1px solid var(--bd-filet); }
body.bd-v2 .bd-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.75rem;
  overflow-x: auto;
  scrollbar-width: none;
}
body.bd-v2 .bd-nav a {
  display: block;
  padding: 0.875rem 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bd-encre);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid transparent;
}
body.bd-v2 .bd-nav a:hover, body.bd-v2 .bd-nav a[aria-current] { color: var(--bd-saphir); border-bottom-color: var(--bd-or); }
body.bd-v2 .bd-ariane { font-size: var(--bd-texte-sm); color: var(--bd-ardoise); padding: 1rem 0; }
body.bd-v2 .bd-ariane ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.bd-v2 .bd-ariane li + li::before { content: "/"; margin-right: 0.5rem; color: var(--bd-or); }
body.bd-v2 .bd-ariane a { color: var(--bd-ardoise); }
body.bd-v2 .bd-vitrine { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
body.bd-v2 .bd-vitrine h1 { margin-bottom: 1.25rem; }
body.bd-v2 .bd-vitrine__piece { border: 1px solid var(--bd-filet-or); background: #0B1A44; }
body.bd-v2 .bd-vitrine__piece img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
body.bd-v2 .bd-vitrine__legende { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-top: 1px solid var(--bd-filet-or); }
body.bd-v2 .bd-vitrine__legende p { margin: 0; }
body.bd-v2 .bd-vitrine__legende .bd-prix { color: var(--bd-or-clair); }
body.bd-v2 .bd-vitrine__legende a { color: var(--bd-blanc); text-decoration: none; font-family: var(--bd-police-titre); font-size: 1.125rem; }
body.bd-v2 .bd-faits { background: var(--bd-blanc); border-bottom: 1px solid var(--bd-filet); }
body.bd-v2 .bd-faits ul {
  list-style: none;
  margin: 0 auto;
  padding: 1.125rem var(--bd-marge);
  max-width: var(--bd-largeur);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
body.bd-v2 .bd-faits li { padding: 0 1.25rem; border-left: 1px solid var(--bd-filet-or); font-size: var(--bd-texte-sm); color: var(--bd-ardoise); }
body.bd-v2 .bd-faits li:first-child { border-left: 0; padding-left: 0; }
body.bd-v2 .bd-faits strong { display: block; color: var(--bd-saphir); font-weight: 600; }
body.bd-v2 .bd-entete-section { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.25rem; flex-wrap: wrap; }
body.bd-v2 .bd-entete-section h2 { margin: 0; }
body.bd-v2 .bd-entete-section .bd-chapo { margin: 0; max-width: 28rem; }
body.bd-v2 .bd-familles { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--bd-gouttiere); }
body.bd-v2 .bd-famille { text-decoration: none; color: var(--bd-encre); }
body.bd-v2 .bd-famille img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border: 1px solid var(--bd-filet); }
body.bd-v2 .bd-famille h3 { font-size: 1.125rem; margin: 0.875rem 0 0.125rem; }
body.bd-v2 .bd-famille p { font-size: var(--bd-texte-sm); color: var(--bd-ardoise); margin: 0; }
body.bd-v2 .bd-famille:hover h3 { color: var(--bd-saphir-survol); text-decoration: underline; text-decoration-color: var(--bd-or); text-underline-offset: 4px; }
body.bd-v2 .bd-duo { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
body.bd-v2 .bd-duo--inverse { grid-template-columns: 5fr 7fr; }
body.bd-v2 .bd-duo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
body.bd-v2 .bd-liste-filet { list-style: none; margin: 1.5rem 0; padding: 0; border-top: 1px solid var(--bd-filet-or); }
body.bd-v2 .bd-liste-filet li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.875rem 0; border-bottom: 1px solid var(--bd-filet-or); }
body.bd-v2 .bd-liste-filet a { text-decoration: none; }
body.bd-v2 .bd-liste-filet a:hover { text-decoration: underline; }
body.bd-v2 .bd-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--bd-gouttiere); }
body.bd-v2 .bd-grille--3 { grid-template-columns: repeat(3, 1fr); }
body.bd-v2 .bd-produit { background: var(--bd-blanc); border: 1px solid var(--bd-filet); display: flex; flex-direction: column; }
body.bd-v2 .bd-produit__visuel { position: relative; display: block; background: var(--bd-perle); }
body.bd-v2 .bd-produit__visuel img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
body.bd-v2 .bd-produit__visuel .bd-poincon { position: absolute; top: 0.75rem; left: 0.75rem; }
body.bd-v2 .bd-produit__corps { padding: 1rem 1.125rem 1.25rem; display: flex; flex-direction: column; gap: 0.375rem; flex: 1; }
body.bd-v2 .bd-produit__matiere { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bd-or-texte); margin: 0; }
body.bd-v2 .bd-produit__nom { font-family: var(--bd-police-titre); font-size: 1.125rem; line-height: 1.3; margin: 0; }
body.bd-v2 .bd-produit__nom a { color: var(--bd-saphir); text-decoration: none; }
body.bd-v2 .bd-produit__nom a:hover { text-decoration: underline; text-decoration-color: var(--bd-or); }
body.bd-v2 .bd-produit__pied { margin-top: auto; padding-top: 0.75rem; display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; flex-wrap: wrap; }
body.bd-v2 .bd-prix { font-weight: 600; font-size: 1.0625rem; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; color: var(--bd-encre); }
body.bd-v2 .bd-prix del { font-weight: 400; color: var(--bd-ardoise); font-size: 0.875rem; margin-left: 0.375rem; }
body.bd-v2 .bd-prix ins { text-decoration: none; }
body.bd-v2 .bd-dispo { font-size: 0.8125rem; color: var(--bd-succes); }
body.bd-v2 .bd-dispo--non { color: var(--bd-alerte); }
body.bd-v2 .bd-photo-a-venir {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  background: var(--bd-perle);
  border: 1px dashed var(--bd-filet);
  color: var(--bd-ardoise);
  font-size: var(--bd-texte-sm);
  text-align: center;
  padding: 1rem;
}
body.bd-v2 .bd-onglets { display: flex; gap: 0.5rem; flex-wrap: wrap; }
body.bd-v2 .bd-onglets button {
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 1px solid var(--bd-filet);
  background: var(--bd-blanc);
  color: var(--bd-encre);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}
body.bd-v2 .bd-onglets button[aria-pressed="true"] { background: var(--bd-saphir); border-color: var(--bd-saphir); color: var(--bd-blanc); }
body.bd-v2 .bd-faq { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--bd-gouttiere); }
body.bd-v2 .bd-faq div { border-top: 1px solid var(--bd-filet-or); padding: 1.25rem 0; }
body.bd-v2 .bd-faq h3 { font-size: 1.125rem; margin-bottom: 0.5rem; }
body.bd-v2 .bd-faq p { color: var(--bd-ardoise); margin: 0; }
body.bd-v2 .bd-champ { display: flex; flex-direction: column; gap: 0.375rem; }
body.bd-v2 .bd-champ label { font-size: var(--bd-texte-sm); font-weight: 600; color: var(--bd-encre); }
body.bd-v2 .bd-champ input, body.bd-v2 .bd-champ select, body.bd-v2 .bd-champ textarea {
  min-height: 3rem;
  border: 1px solid #C4C6CC;
  border-radius: 0;
  background: var(--bd-blanc);
  padding: 0.75rem 1rem;
  font: inherit;
  color: var(--bd-encre);
}
body.bd-v2 .bd-champ input:focus, body.bd-v2 .bd-champ select:focus, body.bd-v2 .bd-champ textarea:focus { outline: none; border-color: var(--bd-saphir-survol); box-shadow: inset 0 -2px 0 var(--bd-saphir-survol); }
body.bd-v2 .bd-champ small { color: var(--bd-ardoise); font-size: 0.8125rem; }
body.bd-v2 .bd-case { display: flex; gap: 0.625rem; align-items: flex-start; font-size: var(--bd-texte-sm); }
body.bd-v2 .bd-case input { width: 1.125rem; height: 1.125rem; margin-top: 0.15rem; accent-color: var(--bd-saphir); }
body.bd-v2 .bd-quantite { display: inline-flex; border: 1px solid var(--bd-filet); }
body.bd-v2 .bd-quantite button { width: 2.75rem; height: 2.75rem; border: 0; background: var(--bd-blanc); font-size: 1.125rem; color: var(--bd-saphir); cursor: pointer; }
body.bd-v2 .bd-quantite input { width: 3rem; border: 0; border-left: 1px solid var(--bd-filet); border-right: 1px solid var(--bd-filet); text-align: center; font: inherit; }
body.bd-v2 .bd-pastilles { display: flex; gap: 0.75rem; }
body.bd-v2 .bd-pastille { width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid var(--bd-filet); }
body.bd-v2 .bd-pastille[aria-checked="true"] { box-shadow: 0 0 0 2px var(--bd-blanc), 0 0 0 3px var(--bd-saphir); }
body.bd-v2 .bd-pied { background: var(--bd-blanc); border-top: 1px solid var(--bd-filet-or); padding: var(--bd-section) 0 2rem; font-size: var(--bd-texte-sm); }
body.bd-v2 .bd-pied__grille { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--bd-gouttiere); }
body.bd-v2 .bd-pied h2 { font-family: var(--bd-police-texte); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bd-or-texte); margin-bottom: 1rem; }
body.bd-v2 .bd-pied ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
body.bd-v2 .bd-pied a { color: var(--bd-encre); text-decoration: none; }
body.bd-v2 .bd-pied a:hover { color: var(--bd-saphir); text-decoration: underline; }
body.bd-v2 .bd-pied address { font-style: normal; color: var(--bd-ardoise); }
body.bd-v2 .bd-pied__bas { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--bd-filet); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; color: var(--bd-ardoise); }
body.bd-v2 .bd-whatsapp {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0 1.125rem;
  background: var(--bd-saphir);
  color: var(--bd-blanc);
  border: 1px solid var(--bd-or);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
}
body.bd-v2 .bd-whatsapp:hover { color: var(--bd-blanc); background: var(--bd-saphir-survol); }
body.bd-v2 .bd-visuellement-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1024px) {
body.bd-v2 .bd-familles { grid-template-columns: repeat(3, 1fr); }
body.bd-v2 .bd-grille { grid-template-columns: repeat(3, 1fr); }
body.bd-v2 .bd-pied__grille { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
body.bd-v2 .bd-entete__ligne { grid-template-columns: auto auto; }
body.bd-v2 .bd-recherche { grid-column: 1 / -1; grid-row: 2; max-width: none; }
body.bd-v2 .bd-logo img { height: 2.75rem; }
body.bd-v2 .bd-vitrine, body.bd-v2 .bd-duo, body.bd-v2 .bd-duo--inverse { grid-template-columns: 1fr; }
body.bd-v2 .bd-faits ul { grid-template-columns: 1fr 1fr; row-gap: 1rem; }
body.bd-v2 .bd-faits li:nth-child(3) { border-left: 0; padding-left: 0; }
body.bd-v2 .bd-familles { grid-template-columns: repeat(2, 1fr); }
body.bd-v2 .bd-grille, body.bd-v2 .bd-grille--3 { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
body.bd-v2 .bd-produit__corps { padding: 0.75rem; }
body.bd-v2 .bd-produit__nom { font-size: 1rem; }
body.bd-v2 .bd-faq { grid-template-columns: 1fr; }
body.bd-v2 .bd-pied__grille { grid-template-columns: 1fr; }
body.bd-v2 .bd-whatsapp span { display: none; }
body.bd-v2 .bd-whatsapp { width: 3rem; padding: 0; justify-content: center; }
}
body.bd-v2 .bd-catalogue { display: grid; grid-template-columns: 16rem 1fr; gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
body.bd-v2 .bd-filtres { background: var(--bd-blanc); border: 1px solid var(--bd-filet); padding: 0 1.25rem 0.5rem; position: sticky; top: 9.5rem; }
body.bd-v2 .bd-filtres__tete { display: flex; justify-content: space-between; align-items: center; padding: 1.125rem 0; border-bottom: 1px solid var(--bd-filet-or); list-style: none; cursor: pointer; }
body.bd-v2 .bd-filtres__tete::-webkit-details-marker { display: none; }
body.bd-v2 .bd-filtres__tete span { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bd-saphir); }
body.bd-v2 .bd-filtres__tete a { font-size: 0.8125rem; color: var(--bd-ardoise); }
body.bd-v2 .bd-filtres fieldset { border: 0; border-bottom: 1px solid var(--bd-filet); margin: 0; padding: 1.125rem 0; display: grid; gap: 0.5rem; }
body.bd-v2 .bd-filtres fieldset:last-child { border-bottom: 0; }
body.bd-v2 .bd-filtres legend { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bd-or-texte); padding: 0; margin-bottom: 0.625rem; float: left; width: 100%; }
body.bd-v2 .bd-filtres .bd-case { align-items: center; min-height: 2rem; }
body.bd-v2 .bd-filtres .bd-case input { margin-top: 0; }
body.bd-v2 .bd-filtres .bd-case span { margin-left: auto; color: var(--bd-ardoise); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }
body.bd-v2 .bd-prix-champs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
body.bd-v2 .bd-prix-champs input { min-height: 2.75rem; padding: 0.5rem 0.75rem; width: 100%; }
body.bd-v2 .bd-barre-tri { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--bd-filet); }
body.bd-v2 .bd-barre-tri p { margin: 0; color: var(--bd-ardoise); }
body.bd-v2 .bd-barre-tri strong { color: var(--bd-encre); }
body.bd-v2 .bd-champ--ligne { flex-direction: row; align-items: center; gap: 0.75rem; }
body.bd-v2 .bd-champ--ligne select { min-height: 2.75rem; padding: 0.5rem 2rem 0.5rem 0.75rem; }
body.bd-v2 .bd-pagination { display: flex; justify-content: center; gap: 0.375rem; margin-top: 3rem; }
body.bd-v2 .bd-pagination a, body.bd-v2 .bd-pagination span { min-width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--bd-filet); background: var(--bd-blanc); text-decoration: none; color: var(--bd-encre); font-variant-numeric: tabular-nums; }
body.bd-v2 .bd-pagination span { border-color: transparent; background: none; }
body.bd-v2 .bd-pagination a[aria-current] { background: var(--bd-saphir); border-color: var(--bd-saphir); color: var(--bd-blanc); }
@media (max-width: 1024px) {
body.bd-v2 .bd-catalogue { grid-template-columns: 14rem 1fr; }
body.bd-v2 .bd-catalogue .bd-grille--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
body.bd-v2 .bd-catalogue { grid-template-columns: 1fr; }
body.bd-v2 .bd-filtres { position: static; }
body.bd-v2 .bd-filtres__tete span::after { content: " +"; }
body.bd-v2 .bd-filtres[open] .bd-filtres__tete span::after { content: " −"; }
}
body.bd-v2 .bd-fiche { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
body.bd-v2 .bd-galerie__principale { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid var(--bd-filet); background: var(--bd-blanc); }
body.bd-v2 .bd-galerie__vignettes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; margin-top: 0.75rem; }
body.bd-v2 .bd-galerie__vignettes button { padding: 0; border: 1px solid var(--bd-filet); background: none; cursor: pointer; }
body.bd-v2 .bd-galerie__vignettes button[aria-current="true"] { border-color: var(--bd-saphir); box-shadow: inset 0 0 0 1px var(--bd-or); }
body.bd-v2 .bd-galerie__vignettes img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
body.bd-v2 .bd-galerie__vignettes .bd-photo-a-venir { font-size: 0.75rem; padding: 0.5rem; }
body.bd-v2 .bd-fiche__achat { position: sticky; top: 9.5rem; }
body.bd-v2 .bd-fiche__titre { font-size: var(--bd-titre-lg); }
body.bd-v2 .bd-fiche__prix { display: flex; align-items: baseline; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--bd-filet-or); }
body.bd-v2 .bd-fiche__prix .bd-prix { font-size: 1.625rem; font-weight: 500; }
body.bd-v2 .bd-caracteristiques { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 1.5rem 0; border-top: 1px solid var(--bd-filet); }
body.bd-v2 .bd-caracteristiques div { padding: 0.75rem 0; border-bottom: 1px solid var(--bd-filet); }
body.bd-v2 .bd-caracteristiques dt { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bd-or-texte); }
body.bd-v2 .bd-caracteristiques dd { margin: 0.125rem 0 0; }
body.bd-v2 .bd-ajout { display: flex; gap: 0.75rem; margin: 1.5rem 0; }
body.bd-v2 .bd-ajout .bd-bouton { flex: 1; }
body.bd-v2 .bd-ajout .bd-quantite input { height: 3rem; }
body.bd-v2 .bd-ajout .bd-quantite button { height: 3rem; }
body.bd-v2 .bd-fiche__service { font-size: var(--bd-texte-sm); margin-top: 0; }
body.bd-v2 .bd-fiche__service li span:first-child { font-weight: 600; color: var(--bd-saphir); }
body.bd-v2 .bd-fiche__service li span:last-child { text-align: right; color: var(--bd-ardoise); }
body.bd-v2 .bd-fiche__contact { font-size: var(--bd-texte-sm); color: var(--bd-ardoise); }
body.bd-v2 .bd-fiche-details { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
body.bd-v2 .bd-fiche-details p { color: var(--bd-ardoise); max-width: 36rem; }
body.bd-v2 .bd-fiche-details strong { color: var(--bd-encre); }
body.bd-v2 .bd-titre-page { font-size: var(--bd-titre-lg); margin-bottom: 2rem; }
body.bd-v2 .bd-titre-page span { font-family: var(--bd-police-texte); font-size: 1rem; color: var(--bd-ardoise); margin-left: 0.5rem; letter-spacing: 0; }
body.bd-v2 .bd-tunnel { display: grid; grid-template-columns: 1fr 24rem; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
body.bd-v2 .bd-lignes { list-style: none; margin: 0 0 2rem; padding: 0; border-top: 1px solid var(--bd-filet-or); }
body.bd-v2 .bd-ligne { display: grid; grid-template-columns: 7.5rem 1fr auto; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid var(--bd-filet-or); align-items: start; }
body.bd-v2 .bd-ligne img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid var(--bd-filet); }
body.bd-v2 .bd-ligne__nom { font-size: 1.25rem; margin: 0.25rem 0; }
body.bd-v2 .bd-ligne__nom a { text-decoration: none; }
body.bd-v2 .bd-ligne__detail { font-size: var(--bd-texte-sm); color: var(--bd-ardoise); margin: 0 0 0.25rem; }
body.bd-v2 .bd-ligne__note { font-size: 0.8125rem; color: var(--bd-or-texte); margin: 0; }
body.bd-v2 .bd-ligne__actions { display: flex; align-items: center; gap: 1.25rem; margin-top: 1rem; flex-wrap: wrap; }
body.bd-v2 .bd-ligne .bd-prix { margin: 0; text-align: right; }
body.bd-v2 .bd-ligne .bd-prix del { display: block; margin: 0; }
body.bd-v2 .bd-exemple { color: var(--bd-ardoise); font-style: italic; font-size: 0.8125rem; }
body.bd-v2 .bd-lien-discret { border: 0; background: none; padding: 0.5rem 0; font: inherit; font-size: var(--bd-texte-sm); color: var(--bd-ardoise); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 2.75rem; }
body.bd-v2 .bd-lien-discret:hover { color: var(--bd-saphir); }
body.bd-v2 .bd-code { max-width: 32rem; margin-bottom: 2rem; }
body.bd-v2 .bd-code__ligne { display: flex; }
body.bd-v2 .bd-code__ligne input { flex: 1; min-width: 0; }
body.bd-v2 .bd-code__ligne .bd-bouton { margin-left: -1px; min-height: 3rem; }
body.bd-v2 .bd-recap { background: var(--bd-blanc); border: 1px solid var(--bd-filet); border-top: 2px solid var(--bd-or); padding: 1.75rem; position: sticky; top: 9.5rem; }
body.bd-v2 .bd-recap h2 { font-size: 1.5rem; }
body.bd-v2 .bd-recap dl { margin: 1rem 0 1.25rem; }
body.bd-v2 .bd-recap dl div { display: flex; justify-content: space-between; padding: 0.625rem 0; border-bottom: 1px solid var(--bd-filet); font-variant-numeric: tabular-nums; }
body.bd-v2 .bd-recap dd { margin: 0; }
body.bd-v2 .bd-recap__total { border-bottom: 0 !important; padding-top: 1rem !important; }
body.bd-v2 .bd-recap__total dt { font-family: var(--bd-police-titre); font-size: 1.25rem; color: var(--bd-saphir); }
body.bd-v2 .bd-recap__total dd { font-size: 1.375rem; font-weight: 600; }
body.bd-v2 .bd-recap__note { font-size: 0.8125rem; color: var(--bd-ardoise); margin: 0.875rem 0 0; }
body.bd-v2 .bd-recap__articles { list-style: none; margin: 1rem 0 0; padding: 0; }
body.bd-v2 .bd-recap__articles li { display: grid; grid-template-columns: 3.5rem 1fr auto; gap: 0.875rem; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--bd-filet); font-size: var(--bd-texte-sm); }
body.bd-v2 .bd-recap__articles img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
body.bd-v2 .bd-recap__articles small { color: var(--bd-ardoise); }
body.bd-v2 .bd-formulaire { display: grid; gap: 2rem; }
body.bd-v2 .bd-formulaire fieldset { border: 0; border-top: 1px solid var(--bd-filet-or); margin: 0; padding: 1.5rem 0 0; display: grid; gap: 1rem; }
body.bd-v2 .bd-formulaire legend { font-family: var(--bd-police-titre); font-size: 1.5rem; color: var(--bd-saphir); padding: 0 1rem 0 0; display: flex; align-items: center; gap: 0.75rem; }
body.bd-v2 .bd-formulaire legend span { font-family: var(--bd-police-texte); width: 2rem; height: 2rem; border: 1px solid var(--bd-or); color: var(--bd-or-texte); display: grid; place-items: center; font-size: 0.875rem; font-weight: 600; }
body.bd-v2 .bd-champs-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.bd-v2 .bd-champs-3 { display: grid; grid-template-columns: 1fr 1.5fr 1.5fr; gap: 1rem; }
body.bd-v2 .bd-facultatif { font-weight: 400; color: var(--bd-ardoise); }
body.bd-v2 .bd-deja-client { margin: 0; padding: 1rem 1.25rem; background: var(--bd-rose); font-size: var(--bd-texte-sm); }
body.bd-v2 .bd-choix { display: grid; gap: 0.5rem; }
body.bd-v2 .bd-choix__option { display: grid; grid-template-columns: auto 1fr auto; gap: 0.875rem; align-items: center; padding: 1rem 1.25rem; border: 1px solid var(--bd-filet); background: var(--bd-blanc); font-size: var(--bd-texte-sm); cursor: pointer; }
body.bd-v2 .bd-choix__option:has(input:checked) { border-color: var(--bd-saphir); box-shadow: inset 0 0 0 1px var(--bd-saphir); }
body.bd-v2 .bd-choix__option input { width: 1.125rem; height: 1.125rem; accent-color: var(--bd-saphir); }
body.bd-v2 .bd-stripe { border: 1px solid var(--bd-filet); background: var(--bd-blanc); padding: 1.25rem; display: grid; gap: 1rem; }
body.bd-v2 .bd-stripe small { color: var(--bd-ardoise); font-size: 0.8125rem; }
@media (max-width: 1024px) {
body.bd-v2 .bd-tunnel { grid-template-columns: 1fr 20rem; }
}
@media (max-width: 768px) {
body.bd-v2 .bd-fiche, body.bd-v2 .bd-fiche-details, body.bd-v2 .bd-tunnel { grid-template-columns: 1fr; }
body.bd-v2 .bd-fiche__achat, body.bd-v2 .bd-recap { position: static; }
body.bd-v2 .bd-caracteristiques { grid-template-columns: 1fr 1fr; }
body.bd-v2 .bd-ligne { grid-template-columns: 5.5rem 1fr; }
body.bd-v2 .bd-ligne > .bd-prix { grid-column: 2; text-align: left; }
body.bd-v2 .bd-ligne .bd-prix del { display: inline; margin-left: 0.375rem; }
body.bd-v2 .bd-champs-2, body.bd-v2 .bd-champs-3 { grid-template-columns: 1fr; }
body.bd-v2 .bd-choix__option { grid-template-columns: auto 1fr; }
body.bd-v2 .bd-choix__option > :last-child { grid-column: 2; }
}
body.bd-v2 .bd-tunnel > *, body.bd-v2 .bd-ligne__info, body.bd-v2 .bd-catalogue > *, body.bd-v2 .bd-fiche > * { min-width: 0; }
body.bd-v2 .bd-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }
body.bd-v2 .bd-visuellement-cache:focus { position: fixed; top: 0.5rem; left: 0.5rem; width: auto; height: auto; clip: auto; z-index: 50; padding: 0.75rem 1rem; background: var(--bd-blanc); color: var(--bd-saphir); outline: 2px solid var(--bd-saphir-survol); }

/* WooCommerce Product Search : champ de recherche avec suggestions et filtres de catégorie */
body.bd-v2 .product-search,
body.bd-v2 .product-search-form,
body.bd-v2 .product-search-form form { width: 100%; }
body.bd-v2 .product-search-form input.product-search-field,
body.bd-v2 .product-search-form input.product-filter-field {
  box-sizing: border-box;
  width: 100%;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 1px solid var(--bd-filet);
  border-radius: 0;
  background: var(--bd-perle);
  color: var(--bd-encre);
  font-family: var(--bd-police-texte);
  font-size: var(--bd-texte-sm);
}
body.bd-v2 .product-search-form input.product-search-field::placeholder,
body.bd-v2 .product-search-form input.product-filter-field::placeholder { color: var(--bd-ardoise); opacity: 1; }
body.bd-v2 .product-search-form input.product-search-field:focus,
body.bd-v2 .product-search-form input.product-filter-field:focus { outline: none; border-color: var(--bd-saphir-survol); background: var(--bd-blanc); }
body.bd-v2 .product-search-results-content { border: 1px solid var(--bd-filet); border-radius: 0; background: var(--bd-blanc); font-family: var(--bd-police-texte); }
body.bd-v2 .product-search-results-content a { color: var(--bd-saphir); }

body.bd-v2 .product-search-filter-terms .product-search-filter-terms-heading,
body.bd-v2 .product-search-filter-price .product-search-filter-price-heading {
  font-family: var(--bd-police-texte);
  font-size: var(--bd-etiquette);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bd-or-texte);
}
body.bd-v2 .product-search-filter-terms ul { list-style: none; margin: 0; padding: 0; }
body.bd-v2 .product-search-filter-terms li a { display: block; padding: 0.375rem 0; color: var(--bd-encre); text-decoration: none; font-size: var(--bd-texte-sm); }
body.bd-v2 .product-search-filter-terms li a:hover,
body.bd-v2 .product-search-filter-terms li.current-cat > a { color: var(--bd-saphir); text-decoration: underline; text-decoration-color: var(--bd-or); }
body.bd-v2 .product-search-filter-price input { min-height: 2.75rem; border: 1px solid #C4C6CC; border-radius: 0; padding: 0 0.75rem; }

/* Produits proposés (fiche produit) : le titre de section est porté par le module Titre de la mise en page */
body.bd-v2 .et_pb_wc_related_products section.related > h2 { display: none; }
body.bd-v2 .et_pb_wc_related_products li.product .woocommerce-loop-product__title {
  font-family: var(--bd-police-titre);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.3;
  color: var(--bd-saphir);
}
body.bd-v2 .et_pb_wc_related_products li.product .price { font-family: var(--bd-police-texte); font-weight: 600; color: var(--bd-encre); }

/* Images au format 4:5 (familles, accueil) */
body.bd-v2 .bd-ratio-45 img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }

/* Contrôle de l'étape 9 : contrastes et signes typographiques des extensions WooCommerce */
body.bd-v2 .woocommerce-result-count { color: var(--bd-ardoise); }
body.bd-v2 .woocommerce-pagination ul.page-numbers { border: 0; }
body.bd-v2 .woocommerce-pagination ul.page-numbers li { border: 0; margin: 0 0.25rem; }
body.bd-v2 .woocommerce-pagination .page-numbers a,
body.bd-v2 .woocommerce-pagination .page-numbers span {
  min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--bd-filet); background: var(--bd-blanc); color: var(--bd-encre); font-family: var(--bd-police-texte);
}
body.bd-v2 .woocommerce-pagination .page-numbers span.current { background: var(--bd-saphir); border-color: var(--bd-saphir); color: var(--bd-blanc); }
body.bd-v2 .woocommerce-pagination .page-numbers a:hover { border-color: var(--bd-saphir); color: var(--bd-saphir); background: var(--bd-blanc); }
/* Le séparateur « — » du filtre de prix disparaît, l'écart entre les deux champs le remplace */
body.bd-v2 .product-search-filter-price .min-max-fields { display: inline-flex; align-items: center; gap: 0.75rem; font-size: 0; }
body.bd-v2 .product-search-filter-price .min-max-fields input { font-size: var(--bd-texte-sm); }
/* Loupe de la galerie : pictogramme dessiné à la place de l'emoji */
body.bd-v2 .woocommerce-product-gallery__trigger > span[aria-hidden="true"] { font-size: 0; display: inline-block; width: 1.25rem; height: 1.25rem;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071D57' stroke-width='1.8'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E"); }
body.bd-v2 .product-search-filter-price .slider-limit-min,
body.bd-v2 .product-search-filter-price .slider-limit-max { color: var(--bd-ardoise); opacity: 1; }
/* Le préréglage WooCommerce par défaut du site colore ce champ en or (#b99456, 2,7:1) avec une forte spécificité */
body.bd-v2.et-db #et-boc .et-l form.cart .quantity input.qty,
body.bd-v2 form.cart .quantity input.qty { color: var(--bd-encre) !important; -webkit-text-fill-color: var(--bd-encre); border: 1px solid var(--bd-filet); background: var(--bd-blanc); border-radius: 0; min-height: 3rem; }
/* Liens dans le texte courant : soulignés, pas seulement colorés (RGAA 10.6) */
body.bd-v2 .et-l--post .et_pb_text_inner p a,
body.bd-v2 .et-l--post .et_pb_text_inner li a,
body.bd-v2 .et-l--body .et_pb_text_inner p a,
body.bd-v2 .et-l--body .et_pb_text_inner li a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* Bouton de l'extension Cookie Compliance (style or imposé en ligne : 2,82:1) */
body.bd-v2 #cookie-notice #cn-accept-cookie, body.bd-v2 #cookie-notice .cn-button { background-color: var(--bd-saphir) !important; color: var(--bd-blanc) !important; }

/* Pages WooCommerce et pages anciennes (panier, commande, Mon compte, Contact) : boutons, champs, avis, barre latérale */
body.bd-v2 { --bd-filet-champ: #858B9C; --gcid-link-color: var(--bd-saphir); }
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) a.button,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) button.button,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) input.button,
body.bd-v2 #page-container .et_pb_section .et_pb_contact_form_container.et_pb_module .et_pb_contact_form .et_pb_contact_submit.et_pb_button {
  background: transparent !important; color: var(--bd-saphir) !important; border: 1px solid var(--bd-saphir) !important; border-radius: 0 !important;
  font-family: var(--bd-police-texte) !important; font-size: var(--bd-etiquette) !important; font-weight: 600 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important; padding: 0.9rem 1.5rem !important; line-height: 1.2 !important;
}
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) a.button.alt,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) button.button.alt,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) a.checkout-button,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) #place_order,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) .wc-backward,
body.bd-v2 #page-container .et_pb_section .et_pb_contact_form_container.et_pb_module .et_pb_contact_form .et_pb_contact_submit.et_pb_button {
  background: var(--bd-saphir) !important; color: var(--bd-blanc) !important; border-color: var(--bd-saphir) !important;
}
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) a.button:hover,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) button.button:hover,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) input.button:hover,
body.bd-v2 #page-container .et_pb_section .et_pb_contact_form_container.et_pb_module .et_pb_contact_form .et_pb_contact_submit.et_pb_button:hover {
  background: var(--bd-saphir-survol) !important; color: var(--bd-blanc) !important; border-color: var(--bd-saphir-survol) !important;
}
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) .button:after,
body.bd-v2 #page-container .et_pb_section .et_pb_contact_form_container.et_pb_module .et_pb_contact_form .et_pb_contact_submit.et_pb_button:after { display: none !important; }
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) button.button:disabled,
body.bd-v2 #page-container :is(.woocommerce, .et-l--post) button.button:disabled:hover { background: transparent !important; color: var(--bd-ardoise) !important; border-color: var(--bd-filet-champ) !important; opacity: 0.7 !important; }

body.bd-v2 .input-text,
body.bd-v2 .woocommerce-input-wrapper select,
body.bd-v2 textarea.input-text,
body.bd-v2 .quantity input.qty,
body.bd-v2 #coupon_code,
body.bd-v2 .select2-container--default .select2-selection--single,
body.bd-v2 .et_pb_contact_form .input {
  background: var(--bd-blanc) !important; color: var(--bd-encre) !important; border: 1px solid var(--bd-filet-champ) !important; border-radius: 0 !important;
  font-family: var(--bd-police-texte) !important; font-size: var(--bd-texte) !important;
}
body.bd-v2 .input-text,
body.bd-v2 #coupon_code,
body.bd-v2 .et_pb_contact_form .input { padding: 0.75rem 0.875rem !important; }
body.bd-v2 .select2-container--default .select2-selection--single { height: auto !important; padding: 0.5rem 0.375rem !important; }
body.bd-v2 .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--bd-encre) !important; }
body.bd-v2 .input-text::placeholder,
body.bd-v2 #coupon_code::placeholder,
body.bd-v2 .et_pb_contact_form .input::placeholder { color: var(--bd-ardoise) !important; opacity: 1; }
body.bd-v2 .input-text:focus,
body.bd-v2 .woocommerce-input-wrapper select:focus,
body.bd-v2 .et_pb_contact_form .input:focus { outline: 2px solid var(--bd-saphir-survol) !important; outline-offset: 1px; }
body.bd-v2 .form-row label { color: var(--bd-encre); font-size: var(--bd-texte-sm); }

body.bd-v2 .woocommerce-info,
body.bd-v2 .woocommerce-message,
body.bd-v2 .woocommerce-error,
body.bd-v2 .woocommerce-notices-wrapper .woocommerce-message {
  background: var(--bd-perle) !important; color: var(--bd-encre) !important; border-left: 3px solid var(--bd-saphir) !important; font-family: var(--bd-police-texte);
}
body.bd-v2 .woocommerce-error { border-left-color: var(--bd-alerte) !important; }
body.bd-v2 .woocommerce-info a, body.bd-v2 .woocommerce-message a, body.bd-v2 .woocommerce-error a { color: var(--bd-saphir) !important; text-decoration: underline; }

body.bd-v2.woocommerce-page .et-l--post a:not(.button):not(.remove):not(.et_pb_button),
body.bd-v2 .woocommerce-MyAccount-navigation a { color: var(--bd-saphir); }

/* Pas de barre latérale dans la charte 2026 (widgets « Recent Posts » sur Mon compte) */
body.bd-v2 #sidebar { display: none; }
body.bd-v2 #left-area { width: 100%; padding-right: 0; float: none; }
body.bd-v2 #main-content .container:before { display: none; }
body.bd-v2 #payment div.payment_box { background: var(--bd-perle) !important; color: var(--bd-encre); }
body.bd-v2 #payment div.payment_box::before { border-bottom-color: var(--bd-perle) !important; }

/* Grilles de bijoux sur téléphone : deux par ligne comme la maquette validée (Divi n'en met qu'un) */
@media (max-width: 767px) {
  body.bd-v2 .et_pb_shop ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0.75rem; }
  body.bd-v2 .et_pb_shop ul.products::before,
  body.bd-v2 .et_pb_shop ul.products::after { display: none !important; }
  body.bd-v2 .et_pb_shop ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
  body.bd-v2 .et_pb_shop ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
  body.bd-v2 .et_pb_shop ul.products li.product .onsale { font-size: 0.625rem !important; padding: 0.3rem 0.5rem !important; min-width: 0 !important; min-height: 0 !important; line-height: 1.2 !important; }
}

/*
 * Boutons Divi au chargement : leurs couleurs de préréglage arrivent dans un fichier différé, et d'ici là
 * la règle de Divi « .et_pb_bg_layout_light.et_pb_module.et_pb_button » (0,3,0) les met en bleu #2ea3f2.
 * Mêmes couleurs et même typographie que les préréglages, avec une priorité (0,3,1) inférieure à celle des préréglages
 * (« body #page-container .et_pb_section .preset… ») : Divi reprend la main dès que son fichier arrive.
 */
body.bd-v2 .et_pb_button.et_pb_module {
  color: var(--bd-saphir); border: 1px solid var(--bd-saphir); background-color: transparent; border-radius: 0;
  font-family: var(--bd-police-texte); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  line-height: 1.4em !important; padding: 0.95rem 1.75rem; /* !important : le personnaliseur Divi impose « .et_pb_button { line-height: 1.7em !important } » */
}
body.bd-v2 .et_pb_button.preset--module--divi-button--607a1638-f82b-4beb-adca-ed684d287a4f { color: var(--bd-blanc); border-color: var(--bd-saphir); background-color: var(--bd-saphir); }
body.bd-v2 .et_pb_button.preset--module--divi-button--be25de52-b51f-4528-a2c6-49bc970c563d { color: var(--bd-saphir); border-color: var(--bd-saphir); background-color: transparent; }
body.bd-v2 .et_pb_button.preset--module--divi-button--417e2a59-c1a7-4c3b-b2d6-796f191becb0 { color: var(--bd-saphir); border-color: var(--bd-or-clair); background-color: var(--bd-or-clair); }
