/* ============================================================
   BOUTIQUE PRV CONCEPT — charte de la vitrine posée sur Intrigue
   Palette : noir chaud · rouge · orange · blanc os
   Type : Saira Condensed (display) · Archivo (corps) · JetBrains Mono (labels)
   Chargée EN DERNIER (functions.php) : elle passe après ci_woocommerce.css et
   colors/default.css, d'où le peu de !important — seulement là où le parent
   utilise lui-même !important ou un sélecteur plus spécifique.
   ============================================================ */

:root {
	--bg:        #100E0C;
	--bg-2:      #16120F;
	--bg-3:      #0B0907;
	--ink:       #F2EEE6;
	--ink-soft:  #C2B9AD;
	--ink-mut:   #9C938A;
	--ink-dim:   #8A8178;
	--orange:    #ED7D2B;
	--red:       #E0322A;
	--line:      rgba(242,238,230,.09);
	--line-soft: rgba(242,238,230,.06);
	--halo:      rgba(237,125,43,.14);
	--disp: 'Saira Condensed', 'Arial Narrow', Arial, sans-serif;
	--body: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

/* ---------- Base ---------- */
html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	background: var(--bg);
	color: var(--ink-soft);
	font-family: var(--body);
	-webkit-font-smoothing: antialiased;
}
/* Grain filmique discret, comme la vitrine et le forum */
body::after {
	content: ""; position: fixed; inset: 0; z-index: 300; pointer-events: none; opacity: .06;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection { background: var(--orange); color: #0E0C0A; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
/* Le thème peint TOUS les liens en rouge vif (`colors/default.css`) : on revient à
   l'encre du site, l'orange servant au survol. `a:visited` doit être cité, sinon la
   règle du parent (plus spécifique) l'emporte sur les liens déjà visités. */
a, a:visited { color: var(--ink); text-shadow: none; }
a:hover, a:focus { color: var(--orange); text-shadow: none; }
h1, h2, h3, h4, h5 { font-family: var(--disp); text-transform: uppercase; color: var(--ink); letter-spacing: -.2px; }
h1 { font-weight: 800; }
h2, h3 { font-weight: 700; }
p { line-height: 1.6; }
hr { border-color: var(--line); }

/* ---------- Bandeau de marque : celui de la vitrine (gabarit header.php) ---------- */
#header {
	background: rgba(16,14,12,.96) !important;
	background-image: none !important;
	border-bottom: 1px solid var(--line);
	position: sticky; top: 0; z-index: 200;
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
#header .prv-bar {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	padding: 12px 0 10px; margin: 0;
}
/* L'en-tête prend la LARGEUR DE CELUI DU SITE (1240 px, marges de 28 px) au lieu du
   conteneur d'Intrigue (980 px) : le menu commun y était à l'étroit, et l'entrée réservée
   « Membre du bureau » le faisait déborder de 131 px à 1331 px, encore 36 px à 1520
   (mesuré le 11/09/2026). Même géométrie que le site : le logo ne saute plus d'une
   surface à l'autre. Au-dessus de 960 px seulement — en dessous, la grille du thème. */
@media (min-width: 960px) {
	#header > .container { width: auto !important; max-width: 1240px; padding: 0 28px; box-sizing: border-box; }
}
/* La grille d'Intrigue pose un « clearfix » (::before / ::after, content " ") sur chaque
   .row. Dans nos rangées FLEX réparties (space-between), ces pseudo-éléments deviennent des
   éléments à part entière et prennent leur part d'espace : logo décalé, panier du ruban
   poussé de 109 px à droite, logo centré en mode tablette (relevé le 11/09/2026). */
#header .prv-bar::before, #header .prv-bar::after,
#header .prv-ribbon::before, #header .prv-ribbon::after { content: none; display: none; }
/* Entrée réservée présente (membre connecté au forum) : écart resserré juste au-dessus
   du point de bascule en burger, où « Membre du bureau » manquait encore de place. */
@media (min-width: 1331px) and (max-width: 1440px) {
	.prv-nav:has(.nav-espace) { gap: 12px; }
}
.prv-brand { display: flex; align-items: center; flex-shrink: 0; }
.prv-brand img { height: 34px; width: auto; display: block; }
.prv-nav {
	display: flex; gap: 15px; align-items: center;
	font-family: var(--disp); font-weight: 600;
	font-size: 15px; letter-spacing: .6px; text-transform: uppercase;
	white-space: nowrap;
}
.prv-nav a { position: relative; color: #C9C0B5; transition: color .15s ease; }
.prv-nav a:hover, .prv-nav a.current { color: var(--ink); }
.prv-nav a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 2px;
	background: var(--orange); transform: scaleX(0); transform-origin: left;
	transition: transform .26s cubic-bezier(.2,.7,.2,1);
}
.prv-nav a:hover::after, .prv-nav a.current::after { transform: scaleX(1); }
.prv-nav a.nav-espace { display: inline-flex; align-items: center; gap: 6px; color: var(--orange); }
.prv-nav a.nav-espace:hover { color: var(--orange); }
.prv-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.prv-pill {
	font-family: var(--disp); font-weight: 700; text-transform: uppercase;
	font-size: 14px; letter-spacing: .8px; padding: 9px 17px; border-radius: 6px;
	border: 1px solid transparent; transition: filter .18s ease, transform .18s ease;
}
.prv-pill:active { transform: scale(.96); }
.prv-pill-fb, .prv-pill-ig, .prv-pill-yt { display: inline-flex; align-items: center; justify-content: center; padding: 11px 13px; color: #fff; }
.prv-pill-fb { background: #1877F2; }
.prv-pill-yt { background: #FF0000; }
.prv-pill-ig { background: #C13584; background: linear-gradient(45deg, #F58529 0%, #DD2A7B 45%, #8134AF 75%, #515BD4 100%); }
.prv-pill-fb svg, .prv-pill-ig svg, .prv-pill-yt svg { display: block; }
.prv-pill-fb:hover, .prv-pill-ig:hover, .prv-pill-yt:hover { filter: brightness(1.08); color: #fff; }
.prv-toggle {
	display: none; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	width: 38px; height: 38px; padding: 0; background: none;
	border: 1px solid rgba(242,238,230,.18); border-radius: 6px; cursor: pointer;
}
.prv-toggle span { display: block; width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .22s ease, opacity .22s ease; }
#header.nav-open .prv-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
#header.nav-open .prv-toggle span:nth-child(2) { opacity: 0; }
#header.nav-open .prv-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Ruban SOUS le bandeau : panier et recherche (même place que sur le forum) */
#header .prv-ribbon {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 8px 0; margin: 0; border-top: 1px solid var(--line-soft);
}
.cart-wrap { position: static !important; background: none !important; border: 0 !important; padding: 0 !important; width: auto !important; }
.cart-wrap span {
	font-family: var(--mono); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase;
	color: var(--ink-mut); background: none !important;
}
.cart-wrap a.cart {
	font-family: var(--disp); font-weight: 700; text-transform: uppercase; letter-spacing: .8px;
	font-size: 13px; color: var(--bg); background: var(--orange) !important;
	border: 0; border-radius: 999px; padding: 6px 14px; margin-left: 10px;
	transition: filter .18s ease;
}
.cart-wrap a.cart:hover { filter: brightness(1.06); color: var(--bg); }
/* Compte client : une entrée sobre à côté du panier, pas un second bouton plein. */
.cart-wrap a.compte {
	font-family: var(--mono); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase;
	color: var(--ink-mut); margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--line);
}
.cart-wrap a.compte:hover { color: var(--orange); }
/* Connecté : pseudo + « Se déconnecter », comme le ruban du forum (owner, 11/09/2026). */
.cart-wrap .prv-moi { display: inline-flex; align-items: center; white-space: nowrap; }
.cart-wrap .prv-moi a { display: inline-flex; align-items: center; gap: 6px; }
.cart-wrap .prv-moi .ic { flex: 0 0 auto; color: var(--orange); }
/* Avatar du forum à la place de l'icône (owner, 11/09/2026) : pastille ronde, recadrée.
   min-width/max-width : Intrigue impose « img { min-width: 100% } » sous 767 px — l'avatar
   prenait la largeur du lien, s'étirait en bandeau et poussait le pseudo sous « Se déconnecter »
   (vu par l'owner sur iPhone, 11/09/2026). */
.cart-wrap .prv-moi .ava { width: 18px; height: 18px; min-width: 0; max-width: none; flex: 0 0 18px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--line); }
/* Pseudo dans la couleur de son GROUPE sur le forum (owner, 11/09/2026 : « même couleur que sur
   le forum ») — --couleur-pseudo posée par le script du pied depuis la sonde du forum. */
.cart-wrap a.compte-moi { color: var(--couleur-pseudo, var(--ink)); font-weight: 600; }
.cart-wrap a.compte-moi:hover { color: var(--couleur-pseudo, var(--ink)); opacity: .8; }
.cart-wrap a.compte-sortie {
	font-family: var(--mono); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase;
	color: var(--ink-mut); margin-left: 14px;
}
.cart-wrap a.compte-sortie:hover { color: var(--orange); }
.cart-wrap .prv-moi .txt { font: inherit; letter-spacing: inherit; color: inherit; }
.nav-search { float: none !important; width: auto !important; margin: 0 !important; }
.nav-search .searchform { margin: 0; }
.nav-search input.s {
	background: var(--bg-2) !important; border: 1px solid var(--line) !important;
	border-radius: 999px !important; color: var(--ink) !important;
	font-family: var(--body); font-size: 13px; padding: 7px 16px; width: 240px; box-shadow: none !important;
}
.nav-search input.s:focus { border-color: var(--orange) !important; }

/* Fil d'Ariane, sous le ruban — même forme que celui du forum : mono, capitales
   espacées, petite maison orange en tête. Celui que les gabarits WooCommerce du parent
   rendent DANS le contenu (`#breadcrumb`) est masqué : il ferait doublon. */
#header .prv-crumbs {
	padding: 9px 0 7px; margin: 0; border-top: 1px solid var(--line-soft);
	font-family: var(--mono); font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase;
	color: var(--ink-mut);
}
.prv-fil { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.prv-fil a { color: var(--ink-mut); }
.prv-fil a:hover { color: var(--orange); }
.prv-fil > a:first-child { display: inline-flex; align-items: center; gap: 7px; }
.prv-fil > a:first-child::before {
	content: ""; width: 13px; height: 13px; flex: 0 0 13px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h5v-6h4v6h5V10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.prv-fil .sep { color: var(--ink-dim); }
#breadcrumb, .woocommerce-breadcrumb:not(.prv-fil) { display: none; }

/* ---------- Contenu ---------- */
#main { background: none; }
.main-content { background: none; }
.content-hold h1, .content-hold h2 { color: var(--ink); }
.page-title, .entry-title, h1.page-title { font-family: var(--disp); text-transform: uppercase; }

/* Fil d'Ariane */
.woocommerce-breadcrumb {
	font-family: var(--mono); font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase;
	color: var(--ink-mut); border: 0;
}
.woocommerce-breadcrumb a { color: var(--ink-mut); }
.woocommerce-breadcrumb a:hover { color: var(--orange); }

/* ---------- Cartes produits : celles de la vitrine ----------
   ⚠️ Intrigue n'utilise PAS `ul.products` de WooCommerce mais SA liste
   `ul.product-list > li.product > .product-thumbnail + .product-info`. Cibler les
   classes WooCommerce seules ne touche rien sur les listes (vécu : les prix
   restaient rouges alors que la fiche produit était déjà orange). */
/* ⚠️ `box-sizing: border-box` OBLIGATOIRE : la grille Skeleton du thème dimensionne les
   colonnes en `width` avec le modèle de boîte historique. Une bordure de 1 px ajoutée
   sans lui fait dépasser la largeur disponible et les deux colonnes s'empilent en une
   seule (vécu à la première passe). */
ul.product-list li.product {
	box-sizing: border-box;
	background: var(--bg-2); border: 1px solid var(--line); border-radius: 14px;
	padding-bottom: 16px; overflow: hidden;
	transition: border-color .18s ease, transform .18s ease;
}
ul.product-list li.product:hover { border-color: rgba(237,125,43,.35); transform: translateY(-2px); }
ul.product-list li.product .product-thumbnail { margin-bottom: 12px; }
ul.product-list li.product .product-thumbnail img { display: block; width: 100%; height: auto; }
ul.product-list li.product .product-info { padding: 0 16px; }
ul.product-list li.product .product-info h2,
ul.product-list li.product .product-info h3,
ul.product-list li.product .product-info h2 a,
ul.product-list li.product .product-info h3 a {
	font-family: var(--disp); font-weight: 700; text-transform: uppercase;
	font-size: 20px; line-height: 1.1; color: var(--ink);
}
ul.product-list li.product .product-info h2 a:hover, ul.product-list li.product .product-info h3 a:hover { color: var(--orange); }
ul.product-list li.product .product-info a[rel="tag"],
ul.product-list li.product .product-categories a { color: var(--ink-mut); font-size: 13px; }
ul.product-list li.product .product-info a[rel="tag"]:hover { color: var(--orange); }
ul.product-list li.product .product-desc .excerpt { color: var(--ink-soft); }
ul.product-list li.product .read-more a { color: var(--orange); font-family: var(--mono); font-size: 12px; }

/* Les PRIX, partout (listes, fiche, panier, widgets) : le rouge criard du thème
   (`colors/default.css` : `.price { color:#ff0000 }`) passe à l'orange de la charte. */
.price, p.price, span.price, .amount, .woocommerce-Price-amount,
ul.product-list li.product p.price, ul.product-list li.product .price {
	color: var(--orange) !important;
	font-family: var(--mono); font-variant-numeric: tabular-nums;
}
.price del, .price del .amount { color: var(--ink-dim) !important; opacity: .75; }
.price ins { text-decoration: none; }

/* Tri et pagination des listes */
/* Sélecteur de tri (« Tri par popularité ») — owner, 11/09/2026 : fin, natif, posé sur la
   première carte. Deux causes : le parent le place en `position: absolute; top: 39px;
   right: 0` dans `.page-content` (style.css), pile sur le haut de la grille ; et rien ne
   lui donnait de hauteur (19 px, flèche système). On le remet DANS le flux, aligné à
   droite au-dessus des cartes, et on lui donne le champ du site (sombre, filet fin, rayon
   6 px, 44 px de haut, bord orange au focus) avec un chevron dessiné. Le <select> natif
   reste : clavier, lecteur d'écran et liste système sur mobile. */
.woocommerce-ordering {
	position: static; top: auto; right: auto; float: none;
	display: flex; justify-content: flex-end; clear: both;
	margin: 0 0 22px;
}
.woocommerce-ordering select.orderby {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	box-sizing: border-box; height: 44px; width: auto; max-width: 100%; margin: 0;
	padding: 0 44px 0 16px;
	background: var(--bg-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2B9AD' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 14px 14px !important;
	border: 1px solid rgba(242,238,230,.16) !important; border-radius: 6px !important;
	color: var(--ink) !important; font-family: var(--body); font-size: 15px; font-weight: 500;
	line-height: normal; letter-spacing: normal; text-transform: none; cursor: pointer;
	transition: border-color .2s ease;
}
.woocommerce-ordering select.orderby:hover { border-color: rgba(237,125,43,.55) !important; }
.woocommerce-ordering select.orderby:hover, .woocommerce-ordering select.orderby:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
}
.woocommerce-ordering select.orderby:focus { border-color: var(--orange) !important; outline: none; }
.woocommerce-ordering select.orderby:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.woocommerce-ordering select.orderby option { background: var(--bg-2); color: var(--ink); }
.woocommerce-pagination .page-numbers li a, .woocommerce-pagination .page-numbers li span,
.wp-pagenavi a, .wp-pagenavi span {
	background: transparent !important; border: 1px solid var(--line) !important;
	color: var(--ink-soft) !important; border-radius: 999px !important;
	font-family: var(--mono); font-size: 12px; padding: 5px 12px !important;
}
.woocommerce-pagination .page-numbers li .current, .wp-pagenavi span.current {
	background: var(--orange) !important; border-color: var(--orange) !important; color: var(--bg) !important;
}
.woocommerce-pagination .page-numbers li a:hover, .wp-pagenavi a:hover {
	border-color: var(--orange) !important; background: var(--halo) !important; color: var(--ink) !important;
}

.woocommerce ul.products li.product, ul.products li.product {
	background: var(--bg-2); border: 1px solid var(--line); border-radius: 14px;
	padding: 0 0 18px; overflow: hidden;
	transition: border-color .18s ease, transform .18s ease;
}
.woocommerce ul.products li.product:hover, ul.products li.product:hover {
	border-color: rgba(237,125,43,.35); transform: translateY(-2px);
}
.woocommerce ul.products li.product a img, ul.products li.product a img {
	margin: 0 0 14px; border-radius: 0; box-shadow: none; border: 0;
	transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3,
ul.products li.product h3 {
	font-family: var(--disp); font-weight: 700; text-transform: uppercase; letter-spacing: .1px;
	font-size: 20px; line-height: 1.1; color: var(--ink); padding: 0 18px; margin: 0 0 6px;
}
.woocommerce ul.products li.product .price, ul.products li.product .price {
	font-family: var(--mono); font-variant-numeric: tabular-nums;
	color: var(--orange) !important; font-size: 15px; padding: 0 18px; display: block;
}
.woocommerce ul.products li.product .price del { color: var(--ink-dim) !important; opacity: .7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .posted_in, ul.products li.product .product_meta,
ul.products li.product a[rel="tag"] { color: var(--ink-mut); }
/* Les liens de catégorie sous le titre (rouge criard d'origine) */
ul.products li.product .product-categories a, ul.products li.product .posted_in a { color: var(--ink-mut); }
ul.products li.product .product-categories a:hover { color: var(--orange); }

/* ---------- Fiche produit ---------- */
.product .product_title, .woocommerce div.product .product_title {
	font-family: var(--disp); font-weight: 800; text-transform: uppercase; color: var(--ink);
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--orange) !important; font-family: var(--mono); font-variant-numeric: tabular-nums;
	font-size: 26px; font-weight: 600;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ink-soft); }
.woocommerce div.product form.cart table.variations td, .woocommerce div.product form.cart table.variations th {
	color: var(--ink-soft); border: 0;
}
.woocommerce div.product form.cart table.variations label { font-family: var(--body); font-weight: 600; color: var(--ink-soft); }
.woocommerce div.product .product_meta { font-size: 13px; color: var(--ink-mut); }
.woocommerce div.product .product_meta a { color: var(--orange); }
.woocommerce div.product div.images img { border-radius: 12px; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 8px; }
.woocommerce-tabs ul.tabs li { background: var(--bg-2) !important; border: 1px solid var(--line) !important; border-radius: 999px !important; }
.woocommerce-tabs ul.tabs li a { font-family: var(--disp); text-transform: uppercase; color: var(--ink-mut) !important; }
.woocommerce-tabs ul.tabs li.active { background: var(--orange) !important; border-color: var(--orange) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--bg) !important; }
.woocommerce-tabs .panel { background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; padding: 18px; color: var(--ink-soft); }

/* ---------- Boutons : les pilules de la vitrine ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, a.button, button.button, input.button, .button {
	font-family: var(--disp) !important; font-weight: 700 !important; text-transform: uppercase;
	font-size: 15px !important; letter-spacing: .5px;
	background: var(--orange) !important; color: var(--bg) !important;
	border: 1px solid transparent !important; border-radius: 999px !important;
	padding: 10px 22px !important; text-shadow: none !important; box-shadow: none !important;
	transition: filter .18s ease, transform .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, a.button:hover, button.button:hover, .button:hover {
	filter: brightness(1.06); transform: translateY(-1px); color: var(--bg) !important;
}
/* Bouton secondaire (mettre à jour le panier, appliquer un code…) */
.woocommerce button.button[name="update_cart"], .woocommerce input.button[name="update_cart"],
.woocommerce button.button[name="apply_coupon"], .woocommerce .cart input.button[name="apply_coupon"] {
	background: transparent !important; color: var(--ink) !important; border-color: var(--line) !important;
}
.woocommerce button.button[name="update_cart"]:hover, .woocommerce button.button[name="apply_coupon"]:hover {
	background: var(--halo) !important; border-color: var(--orange) !important; color: var(--ink) !important;
}
.woocommerce a.added_to_cart { font-family: var(--mono); font-size: 12px; color: var(--orange); }

/* Quantité */
.woocommerce .quantity input.qty, .quantity input.qty {
	background: var(--bg-3) !important; border: 1px solid var(--line) !important;
	color: var(--ink) !important; border-radius: 8px; font-family: var(--mono);
}

/* ---------- Formulaires (panier, commande, connexion) ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], textarea, select, .select2-container .select2-selection {
	background: var(--bg-3) !important; border: 1px solid var(--line) !important;
	color: var(--ink) !important; border-radius: 8px !important; font-family: var(--body);
	box-shadow: none !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--orange) !important; }
label { color: var(--ink-soft); font-family: var(--body); }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ink) !important; }
.select2-dropdown, .select2-container--default .select2-results__option {
	background: var(--bg-2) !important; color: var(--ink-soft) !important; border-color: var(--line) !important;
}
.select2-container--default .select2-results__option--highlighted { background: var(--halo) !important; color: var(--ink) !important; }

/* Œil « afficher le mot de passe » de WooCommerce : son conteneur n'est pas positionné
   dans ce thème, la pastille se retrouvait posée à côté de la case « Se souvenir de moi »
   comme un rectangle gris. On la remet DANS le champ, en œil orange. */
.woocommerce form .password-input, .woocommerce-page form .password-input { display: block; position: relative; }
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
	position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
	width: 20px; height: 20px; padding: 0; border: 0 !important; cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C938A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 12s3.5-6.5 10-6.5S22 12 22 12s-3.5 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
}
.woocommerce form .show-password-input:hover, .woocommerce form .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 12s3.5-6.5 10-6.5S22 12 22 12s-3.5 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
}
.woocommerce form .password-input input { padding-right: 38px; }
/* Cases à cocher : le thème n'en dit rien, le rendu système sur fond sombre est illisible. */
.woocommerce form .woocommerce-form__input-checkbox, .woocommerce-page input[type="checkbox"] { accent-color: var(--orange); }

/* Tableaux : panier, commande, totaux */
.woocommerce table.shop_table, .woocommerce table.cart, .woocommerce-checkout table {
	background: var(--bg-2); border: 1px solid var(--line) !important; border-radius: 12px; color: var(--ink-soft);
}
.woocommerce table.shop_table th { font-family: var(--mono); font-size: 11.5px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--orange); }
.woocommerce table.shop_table td, .woocommerce table.shop_table tbody th { border-color: var(--line-soft) !important; }
.woocommerce table.shop_table .product-name a { color: var(--ink); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { font-family: var(--disp); text-transform: uppercase; color: var(--ink); }
.woocommerce .order-total .amount, .woocommerce .cart-subtotal .amount { color: var(--orange); font-family: var(--mono); }
.woocommerce-info, .woocommerce-message, .woocommerce-error {
	background: var(--bg-2) !important; border-top-color: var(--orange) !important;
	color: var(--ink-soft) !important; border-radius: 8px;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--orange) !important; }
.woocommerce-error { border-top-color: var(--red) !important; }
.woocommerce-error::before { color: var(--red) !important; }

/* ---------- Barre latérale (widgets) ---------- */
.widget { color: var(--ink-soft); }
.widget .widgettitle, .widget h3, .widget h4 {
	font-family: var(--disp); font-weight: 700; text-transform: uppercase; font-size: 22px;
	color: var(--ink); border-bottom: 1px solid var(--line); padding-bottom: 8px;
}
.widget ul li { border-color: var(--line-soft) !important; }
.widget a { color: var(--ink-soft); }
.widget a:hover { color: var(--orange); }
.widget .amount, .widget ins { color: var(--orange); }
/* Filtre par prix */
.price_slider_wrapper .ui-slider { background: var(--bg-3) !important; }
.price_slider_wrapper .ui-slider .ui-slider-range { background: var(--orange) !important; }
.price_slider_wrapper .ui-slider .ui-slider-handle { background: var(--ink) !important; border: 0 !important; }
.widget_price_filter .price_label { font-family: var(--mono); font-size: 12px; color: var(--ink-mut); }
/* Calendrier */
#wp-calendar { color: var(--ink-soft); font-family: var(--mono); font-size: 12px; }
#wp-calendar caption { font-family: var(--mono); letter-spacing: 1.4px; text-transform: uppercase; color: var(--orange); }
#wp-calendar th { background: var(--bg-3) !important; color: var(--ink-mut) !important; border-color: var(--line) !important; }
#wp-calendar td { border-color: var(--line-soft) !important; }
#wp-calendar #today { background: var(--halo) !important; color: var(--ink) !important; }

/* ---------- Pied de page : celui de la vitrine (gabarit prv-footer.php) ---------- */
#footer.footer-rich {
	background: var(--bg-3) !important; background-image: none !important;
	border-top: 1px solid var(--line); color: var(--ink-mut);
	padding: 48px 28px 26px; margin-top: 40px;
}
#footer.footer-rich .foot-inner { max-width: 1240px; margin: 0 auto; }
#footer.footer-rich .foot-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
#footer.footer-rich .foot-brand-col { max-width: 380px; }
/* `min-width: 0` : sous 768 px, le parent pose `img { min-width: 100%; height: auto }`
   (style.css) — avec la hauteur fixée à 40 px, le logo s'étirait sur toute la largeur
   (350 × 40 au lieu de 82,5 × 40, owner 11/09/2026). Même rendu que la vitrine et le forum. */
#footer.footer-rich .foot-logo { height: 40px; width: auto; min-width: 0; max-width: 100%; object-fit: contain; display: block; margin-bottom: 14px; }
#footer.footer-rich .foot-slogan { font-family: var(--disp); font-weight: 700; font-size: 18px; text-transform: uppercase; letter-spacing: .5px; color: var(--ink-soft); margin-bottom: 12px; }
#footer.footer-rich .foot-tag { font-size: 13.5px; line-height: 1.6; color: var(--ink-mut); margin: 0; }
#footer.footer-rich .foot-col h5 { font-family: var(--mono); font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; color: var(--orange); margin: 4px 0 16px; font-weight: 500; border: 0; }
#footer.footer-rich .foot-col a { display: block; font-size: 14px; font-weight: 400; color: #B6ADA1; padding: 5px 0; transition: color .15s ease; }
#footer.footer-rich .foot-col a:hover { color: var(--ink); }
#footer.footer-rich .foot-bot { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; padding-top: 22px; }
.footer-rich .foot-bot .copy { font-family: var(--mono); font-size: 11px; letter-spacing: 1px; color: #6f675d; }
#footer.footer-rich .credit { display: inline-block; vertical-align: middle; opacity: .55; line-height: 0; transition: opacity .18s ease; }
#footer.footer-rich .credit:hover { opacity: 1; }
#footer.footer-rich .nsy-logo { height: 14px; width: auto; display: block; }
#footer.footer-rich .foot-mentions { font-family: var(--mono); font-size: 10.5px; letter-spacing: .6px; color: #6f675d; text-align: right; }
.footer-rich .foot-mentions a { color: #8a8278; }
.callout, .callout-footer { background: var(--bg-2) !important; border: 1px solid var(--line); border-radius: 12px; color: var(--ink-soft); }
.callout h1 { font-size: 26px; }

/* ---------- Le Père Hervé reste au-dessus du grain ---------- */
#cbot-fab, #cbot, #cbot-greeter { z-index: 310; }

/* ---------- Responsive ---------- */
@media (max-width: 1330px) {
	.prv-toggle { display: inline-flex; }
	.prv-nav {
		position: absolute; top: 100%; left: 0; right: 0;
		flex-direction: column; align-items: stretch; gap: 0;
		background: var(--bg-2); border-bottom: 1px solid var(--line);
		padding: 4px 24px 14px; box-shadow: 0 20px 34px rgba(0,0,0,.45);
		opacity: 0; transform: translateY(-12px); pointer-events: none;
		transition: opacity .2s ease, transform .2s ease; white-space: normal; z-index: 210;
	}
	.prv-nav a { padding: 14px 2px; font-size: 17px; border-bottom: 1px solid var(--line-soft); }
	.prv-nav a:last-of-type { border-bottom: 0; }   /* :last-child échoue : le <select> masqué du thème ferme la liste */
	.prv-nav a::after { display: none; }
	#header.nav-open .prv-nav { opacity: 1; transform: none; pointer-events: auto; }
	#header .prv-bar { position: relative; }
	/* Menu ouvert : le bandeau passe au-dessus de tout le contenu — sinon le sélecteur de
	   tri des produits, plus bas dans le document, se dessine par-dessus le volet. */
	#header.nav-open { z-index: 400; }
	/* Le script du thème ajoute un <select class="alt-nav"> dans la nav pour les petits
	   écrans — c'était SA navigation mobile, le menu étant masqué. Notre volet la remplace :
	   le doublon se retrouvait au bas du volet. */
	select.alt-nav { display: none !important; }
}
@media (max-width: 900px) {
	#footer.footer-rich .foot-top { grid-template-columns: 1fr; gap: 30px; }
	#footer.footer-rich .foot-mentions { text-align: left; }
	.nav-search input.s { width: 170px; }
}
/* Connecté, jusqu'à la tablette : pseudo + déconnexion sur leur PROPRE ligne, sans le filet
   de séparation (prévu pour la ligne du panier). Sur la ligne du panier, le téléphone
   élargissait la page à 543 px ; à 800 px, le filet traînait en début de ligne (11/09/2026). */
@media (max-width: 959px) {
	.cart-wrap { display: flex; flex-wrap: wrap; align-items: center; row-gap: 8px; }
	.cart-wrap .prv-moi { flex: 0 0 100%; }
	.cart-wrap .prv-moi a.compte-moi { margin-left: 0; padding-left: 0; border-left: 0; }
	.cart-wrap a.compte-sortie { margin-left: 16px; }
}
@media (max-width: 767px) {
	#header .prv-bar { padding: 10px 0 8px; }
	.prv-brand img { height: 30px; }
	#header .prv-ribbon { flex-wrap: wrap; gap: 8px; }
	.cart-wrap { white-space: nowrap; }
	.cart-wrap span { font-size: 10px; letter-spacing: .8px; }
	.cart-wrap a.cart { padding: 5px 11px; font-size: 12px; margin-left: 8px; }
	.cart-wrap a.compte { margin-left: 8px; padding-left: 8px; font-size: 10px; }
	.cart-wrap a.compte-sortie { font-size: 10px; }
	.nav-search { width: 100% !important; }
	.nav-search input.s { width: 100%; }
	#footer.footer-rich { padding: 36px 20px 22px; }
	/* Tri : pleine largeur de la colonne, 16 px pour qu'iOS ne zoome pas au toucher. */
	.woocommerce-ordering { margin-bottom: 18px; }
	.woocommerce-ordering select.orderby { width: 100%; font-size: 16px; }

	ul.product-list li.product .product-info h2, ul.product-list li.product .product-info h3 { font-size: 18px; }
	.woocommerce ul.products li.product h3 { font-size: 18px; }
	.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 22px; }
}

/* ============================================================
   ESPACE CLIENT, BOUTONS À ICÔNE, TABLEAUX LISIBLES (owner, 10/09/2026)
   « le menu sous Commandes, un truc plus joli » · « les boutons, toujours une icône à
   gauche comme pour le site » · « le récapitulatif des commandes, texte trop petit ».
   Les icônes sont celles du registre de la vitrine (app.js, BTN_ICONS), posées ici en
   ::before faute de script : une puce ronde à gauche, comme .btn .ic sur le site.
   ============================================================ */

/* --- Boutons : pastille + puce d'icône à gauche (valeurs de .btn.has-ic du site) --- */
.woocommerce a.button, .woocommerce button.button, a.button, button.button, .button {
	display: inline-flex !important; align-items: center; gap: 10px;
	padding: 7px 20px 7px 7px !important; line-height: 1.2 !important; font-weight: 600 !important;
	float: none; height: auto !important; min-height: 0; white-space: nowrap; vertical-align: middle;
}
.woocommerce a.button::before, .woocommerce button.button::before, a.button::before, button.button::before, .button::before,
.cart-wrap a.cart::before {
	content: ""; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(16,14,12,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
	transition: box-shadow .3s ease;
}
.button:hover::before, .cart-wrap a.cart:hover::before { box-shadow: 0 0 0 4px rgba(16,14,12,.18); }
.cart-wrap a.cart { display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px 4px 4px !important; }
.cart-wrap a.cart::before { flex-basis: 22px; width: 22px; height: 22px; background-size: 12px 12px; }
.button.view::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6.5 10-6.5S22 12 22 12s-3.5 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important; }
.button.invoice::before,
.button.invoice_xml::before,
.woocommerce-MyAccount-downloads-file::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E") !important; }
.single_add_to_cart_button::before,
.add_to_cart_button::before,
.ajax_add_to_cart::before,
a.button[href*="add-to-cart"]::before,
.wc-forward::before,
.cart-wrap a.cart::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a1.5 1.5 0 0 0 1.5 1.2h8.7a1.5 1.5 0 0 0 1.5-1.1L21 8H6.1'/%3E%3C/svg%3E") !important; }
#place_order::before,
.button.pay::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") !important; }
.woocommerce-form-login__submit::before,
button[name="login"]::before,
button[name="register"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") !important; }
.widget_price_filter .button::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E") !important; }
.wc-backward::before,
.woocommerce-button--previous::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M11 6l-6 6 6 6'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-content .woocommerce-info .button::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E") !important; }
button[name="save_account_details"]::before,
button[name="save_address"]::before,
button[name="woocommerce_checkout_place_order"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; }
.button.order-again::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.9-3.5L4 9'/%3E%3Cpath d='M4 4v5h5'/%3E%3Cpath d='M4 13a8 8 0 0 0 14.9 3.5L20 15'/%3E%3Cpath d='M20 20v-5h-5'/%3E%3C/svg%3E") !important; }
.button.cancel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") !important; }

/* Boutons secondaires (bordés) : puce orangée, icône orange — .btn-ghost .ic du site. */
button[name="update_cart"]::before { background-color: rgba(237,125,43,.16) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.9-3.5L4 9'/%3E%3Cpath d='M4 4v5h5'/%3E%3Cpath d='M4 13a8 8 0 0 0 14.9 3.5L20 15'/%3E%3Cpath d='M20 20v-5h-5'/%3E%3C/svg%3E") !important; }
button[name="apply_coupon"]::before { background-color: rgba(237,125,43,.16) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12l-8 8-9-9V3h8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.3'/%3E%3C/svg%3E") !important; }

/* Dans un tableau, des boutons plus compacts, côte à côte sans se coller. */
table.shop_table .button { padding: 5px 15px 5px 5px !important; font-size: 13px !important; gap: 8px; margin: 2px 6px 2px 0; }
table.shop_table .button::before { flex-basis: 22px; width: 22px; height: 22px; background-size: 12px 12px; }

/* --- Menu du compte : des pastilles à icône, la page courante en orange --- */
.woocommerce-MyAccount-navigation { margin: 0 0 22px; padding: 0 0 18px; border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li::marker { content: none; }
.woocommerce-MyAccount-navigation a {
	display: inline-flex; align-items: center; gap: 9px; padding: 5px 16px 5px 5px;
	border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2);
	font-family: var(--disp); font-weight: 600; font-size: 14px; letter-spacing: .4px; text-transform: uppercase;
	color: var(--ink-soft); transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.woocommerce-MyAccount-navigation a::before {
	content: ""; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
	background: rgba(237,125,43,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
}
.woocommerce-MyAccount-navigation a:hover { border-color: rgba(237,125,43,.55); color: var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--orange); border-color: var(--orange); color: var(--bg); }
.woocommerce-MyAccount-navigation li.is-active a::before { background-color: rgba(16,14,12,.22); }
/* « Se déconnecter » se tient à l'écart, au bout de la ligne. */
.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: auto !important; }
.woocommerce-MyAccount-navigation-link--dashboard a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='13.5' y='3' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='3' y='13.5' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5' rx='1.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--dashboard.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='13.5' y='3' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='3' y='13.5' width='7.5' height='7.5' rx='1.5'/%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5' rx='1.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5L12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5l9 4.5 9-4.5'/%3E%3Cpath d='M12 12v9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5L12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5l9 4.5 9-4.5'/%3E%3Cpath d='M12 12v9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19'/%3E%3Cpath d='M6 15h4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19'/%3E%3Cpath d='M6 15h4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED7D2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h3'/%3E%3Cpath d='M15 16l4-4-4-4'/%3E%3Cpath d='M19 12H9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout.is-active a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h3'/%3E%3Cpath d='M15 16l4-4-4-4'/%3E%3Cpath d='M19 12H9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-content { clear: both; }

/* --- Avis (dont « Confirmer l'adresse e-mail ») : le bouton à droite, le texte lisible --- */
.woocommerce-info, .woocommerce-message, .woocommerce-error {
	display: flow-root; padding: 14px 18px !important; font-size: 14.5px; line-height: 1.6; margin: 0 0 18px;
}
.woocommerce-info .button, .woocommerce-message .button, .woocommerce-error .button {
	float: right !important; margin: -2px 0 0 18px !important; font-size: 13px !important;
	padding: 5px 15px 5px 5px !important;
}
.woocommerce-info .button::before, .woocommerce-message .button::before { flex-basis: 22px; width: 22px; height: 22px; background-size: 12px 12px; }

/* --- Tableaux (commandes, panier, récapitulatif) : du texte qu'on lit sans plisser les yeux ---
   Le thème parent descend à 11-12 px (`table.shop_table th`, `.shop_table.cart`) et grise
   toute cellule <th> — d'où la première colonne plus claire du tableau des commandes. */
table.shop_table, table.shop_table.cart { font-size: 15px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
table.shop_table th, table.shop_table td { border-left: 0 !important; padding: 14px 16px !important; vertical-align: middle; }
table.shop_table thead th { background: var(--bg-3) !important; font-size: 11.5px !important; padding-top: 12px !important; padding-bottom: 12px !important; border-bottom: 1px solid var(--line) !important; }
table.shop_table tbody th, table.shop_table tfoot th {
	background: transparent !important; font-family: var(--body) !important; font-size: 15px !important;
	font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important;
}
table.shop_table tbody th a { color: var(--ink); }
table.shop_table tbody th a:hover { color: var(--orange); }
table.shop_table td { color: var(--ink-soft); line-height: 1.5; }
table.shop_table tbody tr td, table.shop_table tbody tr th { border-top: 1px solid var(--line-soft) !important; }
table.shop_table tr:nth-child(2n+1) td { background: transparent; }
table.shop_table tbody tr:hover td, table.shop_table tbody tr:hover th { background: rgba(237,125,43,.04) !important; }
table.shop_table .amount { font-size: 15px; }
table.shop_table del { opacity: .6; font-size: 13px; margin-right: 4px; }
table.shop_table ins { text-decoration: none; }
table.shop_table ins .amount { text-decoration: none; }
/* État de la commande : une étiquette, lisible d'un coup d'œil */
.woocommerce-orders-table__cell-order-status { font-family: var(--mono); font-size: 12px !important; letter-spacing: 1px; text-transform: uppercase; }
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #7FC98A; }
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: var(--orange); }
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: var(--ink-dim); }

/* Mobile : le thème ne charge pas la feuille « petit écran » de WooCommerce — les tableaux
   responsive débordaient. Chaque ligne devient une fiche, l'intitulé de colonne en tête. */
@media (max-width: 767px) {
	.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0 !important; }
	.woocommerce-MyAccount-navigation a { font-size: 13px; padding: 4px 13px 4px 4px; }
	.woocommerce-MyAccount-navigation a::before { flex-basis: 22px; width: 22px; height: 22px; background-size: 12px 12px; }
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tbody tr { display: block; border-top: 1px solid var(--line); padding: 6px 0; }
	table.shop_table_responsive tbody th, table.shop_table_responsive tbody td {
		display: flex !important; justify-content: space-between; align-items: center; gap: 12px;
		text-align: right; border-top: 0 !important; padding: 7px 14px !important;
	}
	table.shop_table_responsive tbody [data-title]::before {
		content: attr(data-title); font-family: var(--mono); font-size: 10.5px; letter-spacing: 1.2px;
		text-transform: uppercase; color: var(--orange); text-align: left; font-weight: 500;
	}
	.woocommerce-info .button, .woocommerce-message .button { float: none !important; margin: 0 0 10px !important; display: inline-flex !important; }
}

/* Intitulés réservés aux lecteurs d'écran (en-têtes « Image miniature », « Retirer
   l'article » du panier) : le thème ne définit pas la classe, ils dessinaient un bloc. */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
/* Croix « retirer du panier » : une puce ronde discrète, rouge au survol (un carré blanc
   du thème de 2013 jusque-là). */
.woocommerce a.remove, a.remove {
	display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	background: transparent !important; border: 1px solid var(--line); color: var(--ink-dim) !important;
	font-size: 17px; line-height: 1; text-decoration: none; transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.woocommerce a.remove:hover, a.remove:hover { color: #fff !important; background: var(--red) !important; border-color: var(--red); }
/* En-tête du tableau du panier : la cellule « Miniature » (vide à l'écran) restait plus
   courte que ses voisines et laissait voir le fond plus clair du tableau en dessous — un
   bloc gris. On peint toute la rangée et on remet la cellule en cellule de tableau. */
table.shop_table thead, table.shop_table thead tr { background: var(--bg-3) !important; }
table.shop_table thead th { display: table-cell !important; vertical-align: middle; }

/* ============================================================
   ESPACE CLIENT : LE TEXTE À TAILLE DE LECTURE (owner, 10/09/2026, « pareil ici le texte
   est trop petit », sur le tableau de bord après le tableau des commandes). Le parent pose
   des paragraphes à ~13 px ; toute la zone de contenu du compte passe à 16 px — tableau de
   bord, adresses, détails du compte, détail d'une commande, connexion.
   ============================================================ */
.woocommerce-MyAccount-content, .woocommerce-account .woocommerce { font-size: 16px; line-height: 1.65; color: var(--ink-soft); }
.woocommerce-MyAccount-content p, .woocommerce-account .woocommerce > p,
.woocommerce-account .woocommerce form p { font-size: 16px; line-height: 1.65; margin: 0 0 14px; }
.woocommerce-MyAccount-content strong { color: var(--ink); }
/* Les liens du texte courant (« commandes récentes », « adresses… ») se confondaient avec
   lui : un filet orange les désigne, comme les liens des messages du forum. */
.woocommerce-MyAccount-content p a { color: var(--ink); border-bottom: 1px solid rgba(237,125,43,.55); }
.woocommerce-MyAccount-content p a:hover { color: var(--orange); border-bottom-color: var(--orange); }
/* <mark> (n° de commande, date, état dans le détail d'une commande) : surligné jaune par
   défaut du navigateur, criard sur fond sombre. */
.woocommerce-MyAccount-content mark { background: none; color: var(--ink); font-weight: 600; padding: 0; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3,
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 22px; margin: 22px 0 12px; }
.woocommerce-MyAccount-content address, .woocommerce-customer-details address {
	font-style: normal; font-size: 15px; line-height: 1.7; color: var(--ink-soft);
	background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px;
}
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.woocommerce-Address-title a.edit { font-family: var(--mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--orange); }
.woocommerce-account .woocommerce form label, .woocommerce-account .woocommerce fieldset legend { font-size: 15px; }
.woocommerce-account .woocommerce form .input-text, .woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea { font-size: 15px !important; padding: 9px 12px !important; }
.woocommerce-account .woocommerce form .password-input input { padding-right: 38px !important; }
.woocommerce-account .woocommerce em { font-size: 14px; color: var(--ink-mut); }

/* ============================================================
   FORMULAIRES DE LA BOUTIQUE = FORMULAIRES DU SITE (owner, 10/09/2026 : « un style qui soit
   le même que pour les formulaires du site »). Mêmes valeurs que `.contrib-form` de la
   vitrine (css/styles.css) : libellé en capitales grises 12 px AU-DESSUS du champ, champ
   sombre 15 px, bord fin, rayon 6 px, bord orange au focus. Vaut pour toutes les
   rangées WooCommerce : détails du compte, adresses, connexion, mot de passe perdu,
   coordonnées de la commande. L'astérisque des champs requis reste SUR la ligne du
   libellé (sur le site, le libellé en flex-column le fait tomber seul dessous).
   ============================================================ */
.woocommerce form .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce form .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block; font-family: var(--body) !important; font-size: 12px !important; font-weight: 400 !important;
	letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mut) !important; line-height: 1.4; margin: 0;
}
.woocommerce form .form-row .required, .woocommerce form .form-row abbr.required {
	color: var(--orange); text-decoration: none; border: 0; font-weight: 400;
}
.woocommerce form .form-row .input-text, .woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"], .woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"], .woocommerce form .form-row input[type="number"],
.woocommerce form .form-row textarea, .woocommerce form .form-row select {
	width: 100% !important; box-sizing: border-box; background: var(--bg-3) !important;
	border: 1px solid rgba(242,238,230,.12) !important; border-radius: 6px !important;
	color: var(--ink) !important; padding: 10px 14px !important; font-family: var(--body) !important;
	font-size: 15px !important; line-height: 1.4; letter-spacing: normal; text-transform: none;
	box-shadow: none !important; outline: none; transition: border-color .2s; height: auto;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { border-color: var(--orange) !important; }
.woocommerce form .form-row textarea { resize: vertical; min-height: 110px; }
.woocommerce form .form-row .input-text::placeholder, .woocommerce form .form-row textarea::placeholder { color: var(--ink-dim); }
/* Deux champs côte à côte (Prénom / Nom) : même écart que la grille du site. */
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 7px) !important; float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide, .woocommerce form .clear { clear: both; }
/* Aide sous un champ (« Indique comment votre nom apparaîtra… ») : discrète, droite. */
.woocommerce form .form-row em, .woocommerce form .form-row .description { font-style: normal; font-size: 13.5px; color: var(--ink-dim); }
/* Groupe « Changement de mot de passe » : un bloc, titré comme les colonnes du pied. */
.woocommerce form fieldset {
	border: 1px solid var(--line); border-radius: 12px; padding: 10px 18px 4px; margin: 20px 0 18px; clear: both;
}
.woocommerce form fieldset legend {
	font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: 1.8px; text-transform: uppercase;
	color: var(--orange) !important; padding: 0 8px; margin-left: -8px; font-weight: 500;
}
/* Cases à cocher (« Se souvenir de moi », « Créer un compte ? », conditions) : phrase normale. */
.woocommerce form .woocommerce-form__label-for-checkbox, .woocommerce form label.checkbox {
	display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--ink-soft); text-transform: none; letter-spacing: normal;
}
/* Listes déroulantes enrichies (pays, département de la commande) : même champ. */
.woocommerce .select2-container .select2-selection--single {
	height: auto !important; min-height: 44px; background: var(--bg-3) !important;
	border: 1px solid rgba(242,238,230,.12) !important; border-radius: 6px !important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	color: var(--ink) !important; font-size: 15px; line-height: 42px !important; padding: 0 36px 0 14px !important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 42px !important; right: 8px; }
.woocommerce .select2-container--focus .select2-selection--single, .woocommerce .select2-container--open .select2-selection--single { border-color: var(--orange) !important; }
@media (max-width: 767px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100% !important; float: none; }
}

/* ── Compte unique forum ↔ boutique (11/09/2026) ─────────────────────────────
   En tête des deux formulaires de connexion (Mon compte, page de commande) : le
   bouton du forum en premier, pleine largeur, puis un séparateur « ou avec un
   compte boutique » avant les champs habituels. */
.woocommerce form .prv-sso { margin: 0 0 18px; }
/* Libellé long : il passe à la ligne sur mobile (les boutons de base sont en nowrap). */
.woocommerce form .prv-sso .button.prv-sso-forum { width: 100%; justify-content: center; box-sizing: border-box; white-space: normal; text-align: left; }
.button.prv-sso-forum::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23100E0C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h11a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H9l-4 3v-3H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3Cpath d='M17 9h3a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-1v3l-4-3h-3'/%3E%3C/svg%3E") !important; }
.woocommerce form .prv-sso-aide { margin: 10px 0 0; font-size: 14px; color: var(--ink-mut); text-align: center; }
.woocommerce form .prv-sso-aide a { color: var(--ink); border-bottom: 1px solid var(--orange); text-decoration: none; }
.woocommerce form .prv-sso-ou { display: flex; align-items: center; gap: 12px; margin: 18px 0 4px; }
.woocommerce form .prv-sso-ou::before, .woocommerce form .prv-sso-ou::after { content: ""; flex: 1 1 12px; min-width: 12px; height: 1px; background: var(--line); }
.woocommerce form .prv-sso-ou span { font-family: var(--mono); font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; color: var(--ink-mut); white-space: nowrap; }
@media (max-width: 480px) {
	.woocommerce form .prv-sso-ou { gap: 8px; }
	.woocommerce form .prv-sso-ou span { font-size: 10px; letter-spacing: .6px; }
}
.woocommerce-MyAccount-content .prv-sso-relie { margin: 0 0 14px; color: var(--ink-soft); }
.woocommerce-MyAccount-content .prv-sso-relie strong { color: var(--orange); font-weight: 600; }
