/* Mes Livres de Jeux v2 — boutique e-commerce classique avec l'identité des couvertures :
   jaune vif #FFD21F + noir #14141C, titres Anton en capitales, gros contrastes, badges nets, ombres douces.
   Le jaune n'est jamais du texte sur fond blanc (seulement sur fond noir). Couleurs des collections : pastilles et fonds de tuiles.
   Zéro chevauchement : les couvertures sont posées à plat, côte à côte. Corps ≥ 16 px, rien sous 13 px. Marge mobile 20 px. */

@font-face { font-family: "Anton"; src: url(../fonts/anton-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url(../fonts/archivo-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url(../fonts/archivo-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Archivo"; src: url(../fonts/archivo-600.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url(../fonts/archivo-700.woff2) format("woff2"); font-weight: 700 800; font-style: normal; font-display: swap; }

:root {
	--ja-noir: #14141C;
	--ja-texte: #1D1D24;
	--ja-gris: #55555F;
	--ja-clair: #F3F3F6;
	--ja-ligne: #E2E2E8;
	--ja-jaune: #FFD21F;
	--ja-jaune-pale: #FFF3BF;
	--ja-titre: "Anton", "Impact", "Arial Narrow Bold", sans-serif;
	--ja-police: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ja-gouttiere: 32px;
	--ja-largeur: 1280px;
	--ja-rayon: 10px;
	--ja-ombre: 0 1px 2px rgba(20, 20, 28, .06), 0 16px 34px -20px rgba(20, 20, 28, .38);
	--ja-ombre-couv: 0 12px 26px -12px rgba(0, 0, 0, .55);
	--theme-palette-color-1: var(--ja-noir);
	--theme-palette-color-2: #000;
	--theme-palette-color-3: var(--ja-texte);
	--theme-palette-color-4: var(--ja-noir);
	--theme-palette-color-5: var(--ja-ligne);
	--theme-palette-color-6: var(--ja-clair);
	--theme-palette-color-7: #fff;
	--theme-palette-color-8: #fff;
	--theme-text-color: var(--ja-texte);
	--theme-link-initial-color: var(--ja-noir);
	--theme-link-hover-color: #000;
	--theme-border-color: var(--ja-ligne);
	--theme-headings-color: var(--ja-noir);
	--theme-button-background-initial-color: var(--ja-noir);
	--theme-button-background-hover-color: #2C2C36;
	--theme-button-text-initial-color: #fff;
	--theme-button-text-hover-color: #fff;
	--theme-button-border-radius: var(--ja-rayon);
	--theme-form-field-border-radius: var(--ja-rayon);
	--theme-form-field-border-initial-color: #CBCBD3;
	--theme-form-field-border-focus-color: var(--ja-noir);
	--theme-font-family: var(--ja-police);
	--theme-normal-container-max-width: var(--ja-largeur);
}
@media (max-width: 760px) { :root { --ja-gouttiere: 20px; } }

/* ---------- base ---------- */
html, body { overflow-x: clip; }
@supports not (overflow: clip) { html, body { overflow-x: hidden; } }
html body.ja-site { background: #fff; color: var(--ja-texte); font-family: var(--ja-police); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; margin: 0; }
body.ja-site h1, body.ja-site h2, body.ja-site h3, body.ja-site h4 { font-family: var(--ja-titre); color: var(--ja-noir); font-weight: 400; line-height: 1.12; letter-spacing: .01em; }
body.ja-site a { color: inherit; text-underline-offset: 3px; }
body.ja-site img { max-width: 100%; height: auto; display: block; }
body.ja-site button { font-family: inherit; }
.ja-wrap { max-width: var(--ja-largeur); margin: 0 auto; padding: 0 var(--ja-gouttiere); box-sizing: border-box; }
.ja-main { display: block; min-height: 50vh; }
body.ja-site .ja-saut { position: absolute; left: -9999px; top: 0; z-index: 9999; background: #000; color: #fff; padding: 10px 16px; }
body.ja-site .ja-saut:focus { left: 8px; }
html.ja-bloque { overflow: hidden; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ja-picto { width: 22px; height: 22px; flex: none; }
.ja-centre { text-align: center; }
[hidden] { display: none !important; }

/* titres : Anton en capitales */
.ja-titre-xxl { font-size: clamp(40px, 5.2vw, 70px); margin: 0 0 18px; text-transform: uppercase; }
.ja-titre-xl { font-size: clamp(32px, 3.8vw, 50px); margin: 0 0 14px; text-transform: uppercase; }
.ja-titre-l { font-size: clamp(27px, 2.6vw, 38px); margin: 0 0 10px; text-transform: uppercase; }
.ja-titre-m { font-size: 24px; margin: 0 0 8px; text-transform: uppercase; }
.ja-titre-s { font-size: 21px; margin: 0 0 14px; text-transform: uppercase; }
.ja-surtitre { display: inline-block; font-weight: 800; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 16px; color: var(--ja-noir); background: var(--ja-jaune); padding: 5px 12px; border-radius: 6px; line-height: 1.3; }
.ja-section-intro { color: var(--ja-gris); margin: 4px 0 0; max-width: 720px; }

/* le mot mis en valeur : un trait jaune épais SOUS le mot (dans la ligne : jamais de débordement) ;
   sur fond noir, le mot devient jaune. */
.ja-surligne { background: linear-gradient(transparent 60%, var(--ja-jaune) 60%, var(--ja-jaune) 94%, transparent 94%); padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ja-hero .ja-surligne, .ja-offres-bandeau .ja-surligne, .ja-pied .ja-surligne { background: none; color: var(--ja-jaune); padding: 0; }
.ja-offre { display: inline-block; background: var(--ja-jaune); color: var(--ja-noir); border-radius: 999px; padding: 3px 12px; font-weight: 800; font-size: 14px; line-height: 1.45; white-space: nowrap; }
.ja-offre-petit { font-size: 13px; padding: 2px 10px; }
.ja-coll { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; color: var(--ja-texte); }
.ja-coll-point { width: 12px; height: 12px; border-radius: 50%; background: var(--coll, #111); box-shadow: inset 0 0 0 1.5px rgba(0, 0, 0, .25); flex: none; }
.ja-etoiles { color: var(--ja-noir); letter-spacing: 1px; font-size: 15px; white-space: nowrap; }
.ja-etoiles-vides { color: #C6C6CF; }

/* boutons */
.ja-bouton, body.ja-site .ja-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 26px; border: 2px solid var(--ja-noir); border-radius: var(--ja-rayon); background: var(--ja-noir); color: #fff; font-weight: 800; font-size: 16px; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, transform .15s; text-align: center; box-sizing: border-box; }
.ja-bouton:hover { background: #2C2C36; border-color: #2C2C36; color: #fff; }
.ja-bouton .ja-picto { width: 20px; height: 20px; }
.ja-bouton-clair, body.ja-site .ja-bouton-clair { background: #fff; color: var(--ja-noir); }
.ja-bouton-clair:hover { background: var(--ja-noir); color: #fff; }
.ja-bouton-jaune, body.ja-site .ja-bouton-jaune { background: var(--ja-jaune); border-color: var(--ja-jaune); color: var(--ja-noir); }
.ja-bouton-grand { min-height: 56px; padding: 0 30px; font-size: 17px; }
.ja-bouton-ok, body.ja-site .ja-bouton-ok { background: #fff; color: var(--ja-noir); border-color: var(--ja-noir); }
.ja-bouton-ok .ja-picto { width: 18px; height: 18px; }
.ja-bouton.loading { opacity: .6; pointer-events: none; }
.ja-lien { font-weight: 800; font-size: 15px; text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 4px; text-underline-offset: 5px; }
.ja-lien:hover { text-decoration-color: var(--ja-noir); }
.added_to_cart.wc-forward { display: none !important; }

/* ---------- bandeau + en-tête ---------- */
.ja-bandeau { background: var(--ja-jaune); color: var(--ja-noir); font-size: 14px; font-weight: 800; }
.ja-bandeau .ja-wrap { display: flex; justify-content: center; align-items: center; gap: 22px; min-height: 40px; flex-wrap: wrap; text-align: center; }
.ja-b-suite::before { content: "·"; margin-right: 22px; }
.ja-bandeau .ja-offre { font-size: 13px; padding: 1px 10px; background: var(--ja-noir); color: var(--ja-jaune); }
.ja-entete { position: sticky; top: 0; z-index: 100; background: #fff; }
.admin-bar .ja-entete { top: 32px; }
.ja-entete-in { display: flex; align-items: center; gap: 28px; min-height: 80px; }
.ja-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; color: var(--ja-noir) !important; white-space: nowrap; flex: none; }
.ja-symbole { width: 38px; height: 38px; flex: none; display: block; }
.ja-logo-texte { font-family: var(--ja-titre); font-size: 29px; line-height: 1; text-transform: uppercase; letter-spacing: .01em; }
.ja-recherche-barre { flex: 1; display: flex; align-items: center; max-width: 620px; height: 50px; border: 2px solid var(--ja-noir); border-radius: 999px; padding: 0 5px 0 20px; background: #fff; box-sizing: border-box; }
.ja-recherche-barre input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: none !important; font: inherit; font-size: 16px; padding: 0 !important; height: 40px; box-shadow: none !important; }
.ja-recherche-barre button { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--ja-jaune); color: var(--ja-noir); font-weight: 800; font-size: 15px; cursor: pointer; }
.ja-recherche-barre button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.ja-outils { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.ja-outil { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; text-decoration: none !important; color: var(--ja-noir); }
.ja-outil svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ja-outil small { font-size: 13px; font-weight: 700; }
.ja-panier-nb, .ja-fav-nb { position: absolute; top: -8px; right: -1px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--ja-jaune); color: var(--ja-noir); font-size: 13px; font-weight: 800; line-height: 20px; text-align: center; box-sizing: border-box; box-shadow: 0 0 0 2px #fff; }
.ja-burger { display: none; align-items: center; gap: 6px; height: 44px; border: 0; background: none; padding: 0 6px 0 0; margin-left: -6px; cursor: pointer; color: var(--ja-noir); font-weight: 800; font-size: 15px; }
.ja-burger svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.ja-burger .ja-burger-x, .ja-burger[aria-expanded="true"] svg:first-child { display: none; }
.ja-burger[aria-expanded="true"] .ja-burger-x { display: block; }

/* menu principal : une barre noire, cinq entrées */
.ja-menu { background: var(--ja-noir); position: relative; }
.ja-menu > .ja-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ja-menu-liste { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; gap: 6px; min-height: 54px; }
.ja-menu-liste li { flex: none; display: flex; }
body.ja-site .ja-menu-liste a, body.ja-site .ja-menu-liste button { display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; border: 0; background: none; font-family: var(--ja-titre); font-weight: 400; font-size: 19px; letter-spacing: .03em; text-transform: uppercase; color: #fff; text-decoration: none; cursor: pointer; white-space: nowrap; box-shadow: inset 0 -4px 0 transparent; transition: color .15s, box-shadow .15s; }
body.ja-site .ja-menu-liste li:first-child a, body.ja-site .ja-menu-liste li:first-child button { padding-left: 0; }
body.ja-site .ja-menu-liste a:hover, body.ja-site .ja-menu-liste button:hover, body.ja-site .ja-menu-liste a[aria-current="page"], body.ja-site .ja-menu-liste .ja-actif, body.ja-site .ja-menu-liste button[aria-expanded="true"] { color: var(--ja-jaune); box-shadow: inset 0 -4px 0 var(--ja-jaune); }
.ja-menu-liste button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.6; transition: transform .2s; }
.ja-menu-liste button[aria-expanded="true"] svg { transform: rotate(180deg); }
.ja-menu-offre { display: flex; gap: 8px; margin: 0; }
.ja-menu-offre .ja-offre { font-size: 13px; }

/* grands panneaux du menu */
.ja-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 5px solid var(--ja-jaune); box-shadow: 0 30px 50px -26px rgba(0, 0, 0, .45); z-index: 101; }
.ja-mega-in { display: grid; grid-template-columns: 1fr 280px; gap: 28px; padding-top: 26px; padding-bottom: 28px; }
.ja-mega-colls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ja-mega-coll { display: grid; grid-template-columns: 70px 1fr; gap: 16px; align-items: center; padding: 12px; border: 2px solid var(--ja-ligne); border-radius: 12px; text-decoration: none !important; transition: border-color .15s, background .15s; }
.ja-mega-coll:hover { border-color: var(--ja-noir); background: var(--ja-clair); }
.ja-mega-img { display: block; border-radius: 4px; overflow: hidden; box-shadow: var(--ja-ombre-couv); background: var(--coll); }
.ja-mega-img img { width: 70px; aspect-ratio: 1600 / 2263; object-fit: cover; }
.ja-mega-txt { display: grid; gap: 3px; min-width: 0; }
.ja-mega-txt .ja-coll { font-size: 17px; font-weight: 800; color: var(--ja-noir); }
.ja-mega-txt small { font-size: 14px; color: var(--ja-gris); line-height: 1.35; }
.ja-mega-txt em { font-style: normal; font-size: 13px; font-weight: 800; color: var(--ja-noir); }
.ja-mega-plus { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; padding: 20px 24px; background: var(--ja-jaune); border-radius: 12px; }
.ja-mega-titre { font-family: var(--ja-titre); font-size: 30px; line-height: 1; text-transform: uppercase; margin: 0; color: var(--ja-noir); }
.ja-mega-plus .ja-bouton { width: 100%; }
.ja-mega-plus .ja-lien { text-decoration-color: var(--ja-noir); }
.ja-mega-gratuits { grid-template-columns: 1fr 1fr 280px; }
.ja-mega-gratuit { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ja-mega-gratuit .ja-mega-titre { font-size: 24px; }
.ja-mega-gratuit ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; width: 100%; }
.ja-mega-gratuit li a { display: block; padding: 6px 0; font-weight: 600; font-size: 15px; text-decoration: none; border-bottom: 1px solid var(--ja-ligne); }
.ja-mega-gratuit li a:hover { text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; }
.ja-mega-note { margin: 0; font-weight: 700; font-size: 16px; color: var(--ja-noir); }
.ja-menu-mobile { display: none; }

/* ---------- accueil : bannière noire, deux blocs jaunes ---------- */
.ja-hero { background: var(--ja-noir); color: #fff; padding: 52px 0 60px; }
.ja-hero-tete { margin-bottom: 34px; }
.ja-hero-tete .ja-hero-sous { max-width: 860px; }
.ja-hero .ja-titre-xxl { color: #fff; margin-bottom: 14px; }
.ja-hero-sous { font-size: 19px; color: #D9D9E0; max-width: 760px; margin: 0; }
.ja-hero-offres { margin: 20px 0 0; font-weight: 700; font-size: 15px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: #fff; }
.ja-hero-offres-note { color: #B9B9C4; font-weight: 600; }
.ja-hero-jeux { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ja-hero-jeux-1 { grid-template-columns: 1fr; max-width: 640px; }
.ja-hero-jeu { display: flex; flex-direction: column; background: var(--ja-jaune); color: var(--ja-noir); border-radius: 18px; padding: 28px 28px 26px; }
.ja-hero-jeu-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body.ja-site .ja-hero-jeu-nom { font-size: clamp(36px, 3.6vw, 50px); margin: 0; text-transform: uppercase; line-height: 1; color: var(--ja-noir); }
.ja-hero-jeu-nb { background: var(--ja-noir); color: #fff; font-weight: 800; font-size: 14px; padding: 4px 12px; border-radius: 999px; white-space: nowrap; }
.ja-hero-jeu-texte { margin: 10px 0 20px; font-size: 16px; font-weight: 600; max-width: 520px; }
.ja-hero-couvs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 24px; }
.ja-hero-couv { display: block; border-radius: 5px; overflow: hidden; background: #fff; box-shadow: 0 0 0 3px #fff, var(--ja-ombre-couv); transition: transform .2s; }
.ja-hero-couv img { width: 100%; aspect-ratio: 1600 / 2263; object-fit: cover; }
.ja-hero-couv:hover { transform: translateY(-4px); }
.ja-hero-jeu-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: auto 0 0; }
.ja-hero-jeu-bas .ja-lien { text-decoration-color: var(--ja-noir); }

.ja-reassurance { border-bottom: 1px solid var(--ja-ligne); }
.ja-reassurance ul { list-style: none; margin: 0; padding: 26px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ja-reassurance li { display: flex; gap: 14px; align-items: center; }
.ja-reassurance .ja-picto { width: 30px; height: 30px; padding: 10px; background: var(--ja-jaune); color: var(--ja-noir); border-radius: 12px; box-sizing: content-box; }
.ja-reassurance b { display: block; font-size: 16px; font-weight: 800; color: var(--ja-noir); }
.ja-reassurance span { font-size: 14px; color: var(--ja-gris); }
.ja-section { padding: 64px 0; }
.ja-section + .ja-section:not(.ja-fond-clair):not(.ja-s-offres) { padding-top: 16px; }
.ja-fond-clair { background: var(--ja-clair); }
.ja-section.ja-fond-clair + .ja-section { padding-top: 64px; }
.ja-titre-ligne { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 28px; flex-wrap: wrap; }
.ja-titre-ligne .ja-titre-l { margin: 0; }
.ja-sous-titre { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 34px 0 16px; padding-top: 18px; border-top: 3px solid var(--ja-noir); }
.ja-sous-titre:first-of-type { margin-top: 6px; }
.ja-sous-titre .ja-titre-m { margin: 0; }

/* tuiles de collection : UNE couverture posée à plat sur la couleur de la collection */
.ja-cc-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ja-cc { display: flex; flex-direction: column; border: 2px solid var(--ja-noir); border-radius: 16px; overflow: hidden; text-decoration: none !important; background: #fff; transition: box-shadow .2s, transform .2s; }
.ja-cc:hover { box-shadow: 6px 6px 0 var(--ja-noir); transform: translate(-3px, -3px); }
.ja-cc-visuel { display: flex; align-items: center; justify-content: center; padding: 26px 0; background: var(--coll); border-bottom: 2px solid var(--ja-noir); }
.ja-cc-couv { display: block; width: 44%; border-radius: 4px; overflow: hidden; background: #fff; box-shadow: 0 0 0 3px #fff, var(--ja-ombre-couv); }
.ja-cc-couv img { width: 100%; aspect-ratio: 1600 / 2263; object-fit: cover; }
.ja-cc-texte { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.ja-cc-nom { font-family: var(--ja-titre); font-size: 25px; line-height: 1.1; text-transform: uppercase; color: var(--ja-noir); }
.ja-cc-intro { font-size: 15px; color: var(--ja-gris); }
.ja-cc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; color: var(--ja-texte); margin-top: auto; }
.ja-cc-meta b { background: var(--ja-noir); color: #fff; border-radius: 999px; padding: 2px 10px; font-size: 13px; font-weight: 800; }
.ja-cc-lien { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 15px; }
.ja-cc-lien .ja-picto { width: 18px; height: 18px; }
.ja-cc-grille-compacte { margin: 0 0 40px; }
.ja-cc-grille-compacte .ja-cc-visuel { padding: 18px 0; }
.ja-cc-grille-compacte .ja-cc-couv { width: 34%; }
.ja-cc-grille-compacte .ja-cc-intro { display: none; }

/* cartes livres */
.ja-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 22px; }
.ja-grille-3 { grid-template-columns: repeat(3, 1fr); }
.ja-carte { position: relative; display: flex; flex-direction: column; }
.ja-carte-img { display: block; aspect-ratio: 1600 / 2263; border-radius: 8px; overflow: hidden; background: var(--ja-clair); box-shadow: 0 0 0 1px var(--ja-ligne), 0 14px 26px -18px rgba(0, 0, 0, .5); }
.ja-carte-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.ja-carte:hover .ja-carte-img img { transform: scale(1.03); }
.ja-coeur { flex: none; margin-left: auto; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--ja-ligne); background: #fff; display: grid; place-items: center; cursor: pointer; padding: 0; }
.ja-coeur:hover { border-color: var(--ja-noir); }
.ja-coeur[aria-pressed="true"] { border-color: var(--ja-noir); background: var(--ja-jaune); }
.ja-coeur svg, .ja-fav-fiche svg { width: 21px; height: 21px; fill: none; stroke: var(--ja-noir); stroke-width: 2.2; }
.ja-coeur[aria-pressed="true"] svg, .ja-fav-fiche[aria-pressed="true"] svg { fill: var(--ja-noir); }
.ja-carte-corps { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; flex: 1; }
.ja-carte-coll { margin: 0; }
.ja-carte-coll .ja-coll { font-size: 13px; color: var(--ja-gris); align-items: flex-start; line-height: 1.35; }
.ja-carte-coll .ja-coll-point { margin-top: 3px; }
.ja-carte-titre { font-size: 23px !important; margin: 0; text-transform: uppercase; }
.ja-carte-titre a { text-decoration: none; }
.ja-carte-titre a:hover { text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; }
.ja-carte-infos { margin: 0; font-size: 14px; color: var(--ja-gris); }
.ja-carte-bas { display: flex; align-items: center; justify-content: flex-start; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.ja-prix, .ja-prix .amount { font-weight: 800; font-size: 19px; color: var(--ja-noir); }
body.ja-site .ja-carte-ajout { width: 100%; min-height: 46px; margin-top: 8px; font-size: 15px; padding: 0 10px; white-space: nowrap; }

/* bandeau des offres */
.ja-s-offres { padding: 0 0 64px; }
.ja-offres-bandeau { background: var(--ja-noir); color: #fff; }
.ja-section .ja-offres-bandeau, .ja-hub .ja-offres-bandeau { border-radius: 14px; max-width: calc(var(--ja-largeur) - 2 * var(--ja-gouttiere)); margin: 0 auto; }
.ja-s-offres .ja-offres-bandeau { margin: 0 var(--ja-gouttiere); }
@media (min-width: 1281px) { .ja-s-offres .ja-offres-bandeau { margin: 0 auto; } }
.ja-catalogue > .ja-offres-bandeau { margin: 56px 0 0; }
.ja-offres-bandeau-in { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: center; padding-top: 44px; padding-bottom: 44px; }
.ja-offres-bandeau h2 { color: #fff !important; }
.ja-offres-bandeau p { color: #E2E2DD; margin: 0 0 6px; }
.ja-offres-boutons { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 20px !important; }
body.ja-site .ja-offres-bandeau .ja-bouton { background: var(--ja-jaune); border-color: var(--ja-jaune); color: var(--ja-noir); }
body.ja-site .ja-offres-bandeau .ja-bouton:hover { background: #fff; border-color: #fff; }
.ja-offres-bandeau .ja-lien { color: #fff; }
.ja-offres-bandeau-tuiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ja-tuile { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; border-radius: 10px; background: #fff; color: var(--ja-noir); border: 2px solid var(--ja-ligne); }
.ja-tuile strong, .ja-tuile strong .amount { font-family: var(--ja-titre); font-weight: 400; font-size: 32px; line-height: 1; color: var(--ja-noir); }
.ja-tuile small { font-size: 14px; color: var(--ja-gris); }
.ja-tuile-nom { font-weight: 700; font-size: 14px; padding: 3px 0; }
.ja-tuile-phare { border-color: var(--ja-jaune); background: var(--ja-jaune); }
.ja-tuile-phare .ja-offre { background: var(--ja-noir); color: var(--ja-jaune); }
.ja-tuile-phare small { color: var(--ja-noir); }
.ja-offres-tuiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0 8px; }
.ja-offres-tuiles .ja-tuile { padding: 14px; }
.ja-offres-tuiles .ja-tuile strong, .ja-offres-tuiles .ja-tuile strong .amount { font-size: 26px; }
.ja-offres-note { font-size: 14px; color: var(--ja-gris); margin: 0 0 18px; }
.ja-offres-note a { color: var(--ja-noir); font-weight: 700; }
.ja-offres-tuiles-grand { max-width: 820px; }
.ja-offres-tuiles-grand .ja-tuile { padding: 22px; }
.ja-offres-tuiles-grand .ja-tuile strong, .ja-offres-tuiles-grand .ja-tuile strong .amount { font-size: 38px; }

/* grilles gratuites (cartes) */
.ja-gc-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ja-gc-grille-6 { grid-template-columns: repeat(6, 1fr); }
.ja-gc-grille-5 { grid-template-columns: repeat(5, 1fr); }
.ja-gc { display: flex; flex-direction: column; border: 2px solid var(--ja-ligne); border-radius: 12px; overflow: hidden; background: #fff; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
.ja-gc:hover { border-color: var(--ja-noir); transform: translateY(-2px); }
.ja-gc-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #fff; border-bottom: 1px solid var(--ja-ligne); }
.ja-gc-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.ja-gc-corps { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 12px 14px 14px; }
.ja-gc-badge { background: var(--ja-jaune); border-radius: 999px; padding: 1px 9px; font-size: 13px; font-weight: 800; }
.ja-gc-sudoku .ja-gc-badge { background: var(--ja-noir); color: var(--ja-jaune); }
.ja-gc-nom { font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--ja-noir); }
.ja-gc-niv { font-size: 13px; color: var(--ja-gris); }
.ja-gc-niv .ja-etoiles { font-size: 13px; }

/* comment ça marche */
.ja-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: e; }
.ja-etapes li { display: flex; gap: 16px; align-items: flex-start; padding: 24px; background: #fff; border-radius: 12px; border: 1px solid var(--ja-ligne); }
.ja-etapes b { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--ja-jaune); font-family: var(--ja-titre); font-weight: 400; font-size: 24px; color: var(--ja-noir); }
.ja-etapes strong { display: block; font-size: 18px; margin-bottom: 4px; color: var(--ja-noir); }
.ja-etapes span { color: #3A3A36; font-size: 16px; }
.ja-etapes-col { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
.ja-etapes-col strong { display: inline; margin-right: 6px; font-size: 17px; }

/* blog */
.ja-articles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 24px; }
.ja-article-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: var(--ja-clair); margin-bottom: 14px; }
.ja-article-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transition: transform .4s; }
.ja-article-carte:hover .ja-article-img img { transform: scale(1.03); }
.ja-article-date { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ja-gris); margin: 0 0 6px; }
.ja-article-titre { font-family: var(--ja-police) !important; font-weight: 700 !important; font-size: 20px !important; line-height: 1.3 !important; margin: 0 0 6px; }
.ja-article-titre a { text-decoration: none; }
.ja-article-titre a:hover { text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; }
.ja-article-extrait { font-size: 15px; color: var(--ja-gris); margin: 0; }
.ja-articles-liste { margin: 10px 0 60px; }
.ja-pagination { margin: 0 0 80px; }
.ja-pagination .nav-links { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.ja-pagination .page-numbers, .woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--ja-ligne); border-radius: var(--ja-rayon); text-decoration: none; padding: 0 12px; box-sizing: border-box; }
.ja-pagination .current, .woocommerce-pagination .page-numbers .current { background: var(--ja-noir); color: #fff; border-color: var(--ja-noir); }
.woocommerce-pagination { margin: 40px 0 0; }
.woocommerce-pagination ul.page-numbers { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; margin: 0; border: 0 !important; }
.woocommerce-pagination .page-numbers li { border: 0 !important; }

/* FAQ */
.ja-fiche-deux { display: grid; grid-template-columns: 1fr 1.4fr; gap: 56px; align-items: start; }
.ja-faq details { border-bottom: 1px solid var(--ja-ligne); padding: 18px 0; }
.ja-faq details:first-child { border-top: 1px solid var(--ja-ligne); }
.ja-faq summary { display: flex; justify-content: space-between; gap: 16px; font-weight: 700; font-size: 17px; color: var(--ja-noir); cursor: pointer; list-style: none; }
.ja-faq summary::-webkit-details-marker { display: none; }
.ja-faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ja-clair); font-size: 20px; line-height: 1; }
.ja-faq details[open] summary::after { content: "–"; background: var(--ja-jaune); }
.ja-faq-r { margin-top: 10px; color: #3A3A36; }
.ja-faq-r p { margin: 0 0 8px; }
.ja-faq-page h2 { font-size: 28px; margin: 40px 0 12px; }
.ja-faq-page h2:first-child { margin-top: 0; }
.ja-faq-contact { margin-top: 36px; font-weight: 600; }

/* texte éditorial */
.ja-seo { padding: 64px 0; border-top: 1px solid var(--ja-ligne); }
.ja-seo-in { display: grid; grid-template-columns: 1fr 2fr; gap: 56px; }
.ja-prose { font-size: 17px; line-height: 1.7; }
.ja-prose > *:first-child { margin-top: 0; }
.ja-prose h2 { font-size: 30px; margin: 40px 0 12px; }
.ja-prose h3 { font-family: var(--ja-police) !important; font-weight: 800 !important; font-size: 20px; margin: 28px 0 8px; line-height: 1.3 !important; }
.ja-prose p { margin: 0 0 16px; }
.ja-prose ul, .ja-prose ol { padding-left: 22px; margin: 0 0 18px; }
.ja-prose li { margin: 0 0 6px; }
.ja-prose a { font-weight: 600; text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.ja-prose a:hover { text-decoration-color: var(--ja-noir); }
.ja-prose strong { color: var(--ja-noir); }
.ja-encadre, .ja-prose .ja-encadre { background: var(--ja-jaune-pale); border-left: 6px solid var(--ja-jaune); padding: 18px 22px; border-radius: 0 10px 10px 0; }
.ja-prose table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 16px; }
.ja-prose th, .ja-prose td { border: 1px solid var(--ja-ligne); padding: 10px 12px; text-align: left; }

/* recherches populaires */
.ja-recherches { padding: 40px 0; border-top: 1px solid var(--ja-ligne); }
.ja-recherches-liste { display: flex; flex-wrap: wrap; gap: 10px; }
.ja-recherches-liste a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1.5px solid var(--ja-ligne); border-radius: 999px; font-weight: 600; font-size: 15px; text-decoration: none; }
.ja-recherches-liste a:hover { border-color: var(--ja-noir); }

/* ---------- pied ---------- */
.ja-pied { background: var(--ja-noir); color: #D8D8DF; border-top: 6px solid var(--ja-jaune); padding: 60px 0 28px; font-size: 15px; }
.ja-pied a { color: #D8D8D2; text-decoration: none; }
.ja-pied a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--ja-jaune); }
.ja-pied-grille { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; gap: 32px; }
.ja-pied .ja-logo { color: #fff !important; }
.ja-pied .ja-logo-texte { font-size: 24px; }
.ja-pied .ja-symbole { box-shadow: 0 0 0 2px #fff; border-radius: 7px; }
.ja-pied-marque p { max-width: 320px; margin: 16px 0 0; }
.ja-pied-contact a { color: #fff; font-weight: 600; }
.ja-pied-titre { font-family: var(--ja-police) !important; font-weight: 700 !important; color: #fff !important; font-size: 16px !important; margin: 0 0 14px !important; letter-spacing: 0; }
.ja-pied ul { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 9px; }
.ja-pied-bas { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 1px solid #2E2E2C; margin-top: 30px; padding-top: 22px; font-size: 14px; }
.ja-paiement-logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ja-paiement-logos img { width: 44px; height: 28px; object-fit: contain; background: #fff; border-radius: 4px; padding: 2px; box-sizing: border-box; }

/* ---------- catalogue ---------- */
.ja-cat-tete { padding: 26px 0 26px; border-top: 6px solid var(--coll, var(--ja-jaune)); }
.ja-ariane { font-size: 14px; color: var(--ja-gris); margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ja-ariane a { color: var(--ja-gris); text-decoration: none; }
.ja-ariane a:hover { color: var(--ja-noir); text-decoration: underline; }
.ja-sep { margin: 0 6px; opacity: .6; }
.ja-cat-point { display: inline-block; width: 20px; height: 20px; border-radius: 50%; background: var(--coll); border: 2px solid var(--ja-noir); box-sizing: border-box; margin-right: 14px; vertical-align: .18em; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.ja-cat-intro { max-width: 820px; color: #3A3A36; font-size: 18px; }
.ja-cat-intro p { margin: 0 0 10px; }
.ja-cat-intro a { font-weight: 600; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; }
.ja-filtres { display: flex; justify-content: flex-start; align-items: center; gap: 14px 22px; flex-wrap: wrap; padding: 16px 0; margin: 0 0 30px; border-top: 1px solid var(--ja-ligne); border-bottom: 1px solid var(--ja-ligne); }
.ja-filtres-coll, .ja-filtres-jeux { display: flex; gap: 8px; flex-wrap: wrap; }
.ja-filtres-jeux a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 2px solid var(--ja-noir); border-radius: 10px; font-family: var(--ja-titre); font-size: 18px; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; }
.ja-filtres-jeux a[aria-current] { background: var(--ja-jaune); }
.ja-filtres-jeux a:hover { background: var(--ja-jaune-pale); }
.ja-filtres-coll a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1.5px solid var(--ja-ligne); border-radius: 999px; font-weight: 600; font-size: 15px; text-decoration: none; }
.ja-filtres-coll a:hover { border-color: var(--ja-noir); }
.ja-filtres-coll a[aria-current] { background: var(--ja-noir); color: #fff; border-color: var(--ja-noir); }
.ja-filtres-coll a[aria-current] .ja-coll { color: #fff; }
.ja-catalogue .woocommerce-ordering { margin: 0 0 0 auto; }
.ja-catalogue .woocommerce-ordering select { height: 44px; padding: 0 36px 0 14px; border: 1.5px solid var(--ja-ligne); border-radius: var(--ja-rayon); background-color: #fff; font: inherit; font-size: 15px; }
.ja-grille-catalogue { margin-bottom: 20px; }
.ja-vide { text-align: center; padding: 50px 0 70px; }
.ja-section-mini { margin: 50px 0 10px; }

/* ---------- fiche ---------- */
.ja-fiche > .ja-wrap { padding-top: 22px; }
.ja-fiche-haut { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: start; padding-bottom: 56px; }
.ja-galerie-scene { position: relative; }
.ja-galerie-vue, .ja-gp-apercu { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--ja-clair); border-radius: 10px; overflow: hidden; cursor: zoom-in; box-shadow: 0 0 0 1px var(--ja-ligne); }
.ja-galerie-vue img { width: 100%; aspect-ratio: 1600 / 2263; object-fit: contain; background: #fff; }
.ja-galerie-loupe { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); color: var(--ja-noir); }
.ja-galerie-vignettes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px; }
.ja-vignette { display: flex; flex-direction: column; gap: 4px; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; }
.ja-vignette img { width: 100%; aspect-ratio: 1600 / 2263; object-fit: cover; object-position: top; border-radius: 5px; box-shadow: 0 0 0 1px var(--ja-ligne); }
.ja-vignette span { font-size: 13px; color: var(--ja-gris); line-height: 1.3; }
.ja-vignette[aria-selected="true"] img { box-shadow: 0 0 0 3px var(--ja-noir); }
.ja-vignette[aria-selected="true"] span { color: var(--ja-noir); font-weight: 700; }
.ja-galerie-aide { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--ja-gris); margin: 12px 0 0; }
.ja-galerie-aide .ja-picto { width: 18px; height: 18px; }
.ja-fiche-droite { position: sticky; top: 150px; }
.ja-fiche-coll { margin: 0 0 10px; }
.ja-fiche-coll a { text-decoration: none; }
.ja-fiche-titre { font-size: clamp(34px, 3.6vw, 48px) !important; margin: 0 0 12px; text-transform: uppercase; }
.ja-fiche-accroche { font-size: 18px; color: #3A3A36; margin: 0 0 18px; }
.ja-fiche-prix { display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px; padding: 16px 0; border-top: 1px solid var(--ja-ligne); }
.ja-fiche-prix > .woocommerce-Price-amount, .ja-fiche-prix .amount { font-family: var(--ja-titre); font-size: 40px; color: var(--ja-noir); font-weight: 400; }
.ja-fiche-prix > span:last-child { font-size: 15px; color: var(--ja-gris); }
.ja-fiche-achat form.cart { display: flex; gap: 10px; align-items: stretch; margin: 0 0 18px; flex-wrap: wrap; }
.ja-fiche-achat .quantity { display: none !important; }
.ja-fiche-achat .single_add_to_cart_button, body.ja-site .ja-fiche-achat .single_add_to_cart_button { flex: 1; min-height: 58px; border-radius: var(--ja-rayon) !important; background: var(--ja-noir) !important; color: #fff !important; font-weight: 800 !important; font-size: 18px !important; border: 0 !important; padding: 0 24px !important; cursor: pointer; }
.ja-fiche-achat .single_add_to_cart_button:hover { background: #333 !important; }
.ja-fav-fiche { display: inline-flex; align-items: center; gap: 8px; min-height: 58px; padding: 0 18px; border: 2px solid var(--ja-ligne); border-radius: var(--ja-rayon); background: #fff; font-weight: 700; font-size: 15px; cursor: pointer; }
.ja-fav-fiche:hover { border-color: var(--ja-noir); }
.ja-deja { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: var(--ja-jaune-pale); border-radius: var(--ja-rayon); font-weight: 600; margin: 0 0 18px; }
.ja-deja a { margin-left: auto; font-weight: 700; }
.ja-rassurance { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.ja-rassurance li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.4; }
.ja-rassurance strong { color: var(--ja-noir); }
.ja-numerique { display: flex; gap: 10px; margin: 16px 0 0; padding: 14px 16px; background: var(--ja-clair); border-radius: var(--ja-rayon); font-size: 15px; line-height: 1.45; }
.ja-fiche-sommaire { position: sticky; top: 129px; z-index: 20; background: #fff; border-top: 1px solid var(--ja-ligne); border-bottom: 1px solid var(--ja-ligne); }
.admin-bar .ja-fiche-sommaire { top: 161px; }
.ja-fiche-sommaire .ja-wrap { display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; }
.ja-fiche-sommaire a { flex: none; padding: 15px 0; font-weight: 700; font-size: 15px; text-decoration: none; border-bottom: 3px solid transparent; }
.ja-fiche-sommaire a.actif, .ja-fiche-sommaire a:hover { border-bottom-color: var(--ja-jaune); }
.ja-fiche-section { padding: 60px 0; scroll-margin-top: 190px; }
.ja-contenu { list-style: none; margin: 0; padding: 26px; background: var(--ja-clair); border-radius: 12px; display: grid; gap: 12px; }
.ja-contenu li { display: flex; gap: 12px; align-items: flex-start; }
.ja-contenu .ja-picto { color: var(--ja-noir); background: var(--ja-jaune); border-radius: 50%; padding: 3px; width: 18px; height: 18px; margin-top: 2px; }
.ja-themes { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.ja-themes li { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border-radius: 10px; border: 1px solid var(--ja-ligne); }
.ja-themes-nom { font-weight: 800; font-size: 18px; color: var(--ja-noir); }
.ja-themes a { display: inline-flex; gap: 6px; align-items: center; font-size: 15px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.ja-themes a .ja-picto { width: 18px; height: 18px; }
.ja-niveaux { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-top: 24px; }
.ja-niveau { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 12px; border: 1px solid var(--ja-ligne); }
.ja-niveau strong { font-family: var(--ja-titre); font-weight: 400; font-size: 26px; color: var(--ja-noir); }
.ja-niveau span { color: var(--ja-gris); }
.ja-niveau .ja-etoiles { font-size: 18px; color: var(--ja-noir); }
.ja-conseils { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ja-conseils li { position: relative; padding: 14px 16px 14px 46px; background: #fff; border-radius: 10px; border: 1px solid var(--ja-ligne); }
.ja-conseils li::before { content: "✓"; position: absolute; left: 14px; top: 13px; width: 22px; height: 22px; border-radius: 50%; background: var(--ja-jaune); font-weight: 800; font-size: 13px; display: grid; place-items: center; }
.ja-conseils a { font-weight: 700; }

.ja-regle { font-size: 18px; line-height: 1.6; margin: 0 0 18px; padding: 20px 22px; background: #fff; border: 2px solid var(--ja-noir); border-radius: 12px; }
.ja-regle-titre { margin-top: 26px !important; }
.ja-regle-essai { font-weight: 800; margin: 0 0 4px; }
.ja-themes-sudoku { margin-top: 10px; }
.ja-encarts-2 { grid-template-columns: 1fr 1fr; }
.ja-encarts-2 .ja-encart { grid-template-columns: 140px 1fr; gap: 22px; }

/* visionneuse */
.ja-visionneuse { position: fixed; inset: 0; z-index: 100000; background: rgba(17, 17, 17, .94); display: flex; flex-direction: column; }
.ja-visionneuse-barre { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; color: #fff; font-size: 15px; }
.ja-visionneuse-barre button { min-height: 44px; padding: 0 16px; border: 0; border-radius: var(--ja-rayon); background: var(--ja-jaune); color: var(--ja-noir); font-weight: 800; font-size: 15px; cursor: pointer; }
.ja-visionneuse-zone { flex: 1; overflow: auto; display: flex; align-items: center; justify-content: center; padding: 0 64px 20px; }
.ja-visionneuse-zone img { max-height: calc(100vh - 90px); max-width: 100%; width: auto; cursor: zoom-in; background: #fff; }
.ja-visionneuse-zone.zoom { display: block; padding: 0; }
.ja-visionneuse-zone.zoom img { max-height: none; max-width: none; width: 200%; cursor: zoom-out; }
.ja-v-prec, .ja-v-suiv { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; border-radius: 50%; border: 0; background: #fff; color: var(--ja-noir); font-size: 32px; line-height: 1; cursor: pointer; }
.ja-v-prec { left: 10px; }
.ja-v-suiv { right: 10px; }

/* ---------- page gratuite ---------- */
.ja-grille-page > .ja-wrap { padding-top: 22px; padding-bottom: 50px; }
.ja-gp-haut { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: start; }
.ja-gp-apercu img { width: 100%; height: auto; background: #fff; }
.ja-gp-sur { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; font-weight: 600; font-size: 15px; }
.ja-gp-sur a { color: var(--ja-gris); }
.ja-gp-faits { list-style: none; margin: 4px 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.ja-gp-faits li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1.5px solid var(--ja-ligne); border-radius: 999px; font-size: 15px; font-weight: 600; }
.ja-gp-faits .ja-picto { width: 18px; height: 18px; }
.ja-gp-telecharger { width: 100%; }
.ja-gp-sans { font-size: 15px; color: var(--ja-gris); margin: 10px 0 26px; text-align: center; }
.ja-mots { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ja-mots li { padding: 8px 14px; background: #fff; border: 1.5px solid var(--ja-ligne); border-radius: 999px; font-weight: 700; font-size: 16px; letter-spacing: .03em; text-transform: uppercase; }
.ja-encarts { display: grid; gap: 20px; }
.ja-encart { display: grid; grid-template-columns: 200px 1fr; gap: 32px; align-items: center; padding: 26px; border: 2px solid var(--ja-noir); border-radius: 14px; }
.ja-encart-img img { width: 100%; aspect-ratio: 1600 / 2263; object-fit: cover; border-radius: 6px; box-shadow: var(--ja-ombre); }
.ja-encart-texte p { margin: 0 0 10px; }
.ja-encart-texte h3 a { text-decoration: none; }
.ja-encart-desc { color: #3A3A36; }
.ja-encart-prix { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ja-encart-boutons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px !important; }

/* hub */
.ja-hub-intro { max-width: 820px; margin: 0 0 26px; }
.ja-hub-outils { position: sticky; top: 129px; z-index: 15; background: #fff; padding: 14px 0; margin-bottom: 20px; border-bottom: 1px solid var(--ja-ligne); }
.admin-bar .ja-hub-outils { top: 161px; }
.ja-hub-cherche { display: flex; align-items: center; gap: 10px; max-width: 520px; height: 50px; padding: 0 16px; border: 2px solid var(--ja-noir); border-radius: 999px; box-sizing: border-box; }
.ja-hub-cherche input { flex: 1; min-width: 0; border: 0 !important; outline: 0; font: inherit; font-size: 16px; background: none !important; box-shadow: none !important; padding: 0 !important; height: 44px; }
.ja-hub-familles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-bottom: 2px; }
.ja-hub-familles a { flex: none; display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1.5px solid var(--ja-ligne); border-radius: 999px; font-weight: 600; font-size: 14px; text-decoration: none; }
.ja-hub-familles a:hover { border-color: var(--ja-noir); background: var(--ja-jaune-pale); }
.ja-hub-famille { padding: 26px 0 30px; scroll-margin-top: 260px; }
.ja-hub-famille header { margin-bottom: 18px; }
.ja-hub-famille header p { margin: 0; color: var(--ja-gris); }
.ja-hub-aucun { padding: 30px; text-align: center; background: var(--ja-clair); border-radius: 10px; }
.ja-hub .ja-offres-bandeau { margin: 30px 0 46px; }
.ja-hub-bas { max-width: 860px; margin-bottom: 30px; }

/* ---------- pages ---------- */
.ja-page-tete { padding: 26px 0 18px; }
.ja-page-contenu { padding-bottom: 72px; }
.ja-page-contenu.ja-prose { max-width: 820px; }
.ja-page-intro { max-width: 820px; margin-bottom: 26px; }
.ja-page-offres-bas { margin: 50px 0 60px; }
.ja-page-suite { margin: 0 0 24px; }
.ja-favoris-vide { padding: 30px; background: var(--ja-clair); border-radius: 10px; text-align: center; font-size: 18px; }
.ja-favoris .ja-grille { margin: 26px 0; }
.ja-favoris-bas { text-align: center; }
.ja-404 { padding: 64px 0 96px; text-align: center; }
.ja-404 .ja-wrap > * { margin-left: auto; margin-right: auto; }
.ja-404-num { font-family: var(--ja-titre); font-size: 120px; line-height: 1; margin: 0 0 20px; }
.ja-404 .ja-hero-boutons { justify-content: center; margin-top: 26px; }
.ja-404-recherche { display: flex; gap: 10px; max-width: 520px; margin: 30px auto 0; }
.ja-404-recherche input { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 2px solid var(--ja-ligne); border-radius: var(--ja-rayon); font: inherit; }

/* billets */
.ja-billet-tete { background: var(--ja-clair); padding: 26px 0 44px; }
.ja-billet-tete-in { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; align-items: center; }
.ja-billet-chapo { font-size: 20px; color: #3A3A36; margin: 0 0 14px; }
.ja-billet-image { margin: 0; max-width: 300px; justify-self: center; transform: rotate(3deg); box-shadow: 0 22px 44px -20px rgba(0, 0, 0, .45); border-radius: 6px; overflow: hidden; }
.ja-billet-image img { width: 100%; }
.ja-billet-corps { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 56px; padding-top: 50px; padding-bottom: 50px; justify-content: center; }
.ja-billet-sommaire { position: sticky; top: 150px; align-self: start; font-size: 15px; }
.ja-billet-sommaire summary { font-weight: 800; cursor: pointer; margin-bottom: 10px; }
.ja-billet-sommaire ol { margin: 0; padding-left: 18px; display: grid; gap: 8px; }
.ja-billet-sommaire a { text-decoration: none; }
.ja-billet-sommaire a:hover { text-decoration: underline; text-decoration-color: var(--ja-jaune); text-decoration-thickness: 3px; }
.ja-billet-faq { margin-top: 40px; }

/* ---------- panneau panier ---------- */
.ja-tiroir { position: fixed; inset: 0; z-index: 99999; }
.ja-tiroir-fond { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity .3s; }
.ja-tiroir-panneau { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s cubic-bezier(.2, 0, .2, 1); box-shadow: -20px 0 40px -20px rgba(0, 0, 0, .3); }
.ja-tiroir.ouvert .ja-tiroir-fond { opacity: 1; }
.ja-tiroir.ouvert .ja-tiroir-panneau { transform: none; }
.ja-tiroir-tete { position: relative; padding: 22px 22px 14px; border-bottom: 1px solid var(--ja-ligne); }
.ja-tiroir-tete h2 { font-size: 28px; margin: 0; }
.ja-tiroir-ok { display: none; align-items: center; gap: 8px; margin: 0 0 6px; font-weight: 700; font-size: 15px; }
.ja-tiroir-ok .ja-picto { width: 20px; height: 20px; background: var(--ja-jaune); border-radius: 50%; padding: 3px; }
.ja-tiroir.ajout .ja-tiroir-ok { display: flex; }
.ja-tiroir-fermer { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ja-clair); font-size: 26px; line-height: 1; cursor: pointer; }
.ja-tiroir-contenu { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ja-tiroir-liste { list-style: none; margin: 0; padding: 8px 22px; flex: 1 1 auto; min-height: 110px; overflow-y: auto; }
.ja-tiroir-liste li { display: grid; grid-template-columns: 64px 1fr auto auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ja-ligne); }
.ja-tiroir-img img { width: 64px; height: 90px; object-fit: cover; border-radius: 4px; box-shadow: 0 0 0 1px var(--ja-ligne); }
.ja-tiroir-nom { display: block; font-weight: 700; font-size: 15px; line-height: 1.3; text-decoration: none; }
.ja-tiroir-info { display: block; font-size: 13px; color: var(--ja-gris); margin-top: 3px; }
.ja-tiroir-prix { font-weight: 700; font-size: 15px; white-space: nowrap; }
.ja-tiroir-retirer { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ja-clair); text-decoration: none; font-size: 20px; }
.ja-tiroir-bas { flex: none; margin-top: auto; padding: 14px 22px 8px; display: grid; gap: 10px; border-top: 1px solid var(--ja-ligne); background: #fff; }
.ja-tiroir-remise { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0; }
.ja-tiroir-remise b { font-size: 16px; }
.ja-tiroir-conseil { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; background: var(--ja-jaune-pale); border-radius: var(--ja-rayon); font-size: 15px; line-height: 1.4; }
.ja-tiroir-conseil a { font-weight: 800; }
.ja-tiroir-total { display: flex; justify-content: space-between; align-items: baseline; margin: 4px 0 0; font-size: 18px; }
.ja-tiroir-total b { font-family: var(--ja-titre); font-weight: 400; font-size: 30px; }
.ja-tiroir-note { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--ja-gris); margin: 0; }
.ja-tiroir-note .ja-picto { width: 18px; height: 18px; }
.ja-tiroir-bas .ja-bouton { width: 100%; }
.ja-paiement-tiroir .ja-paiement-logos { justify-content: center; }
.ja-paiement-tiroir img { box-shadow: 0 0 0 1px var(--ja-ligne); }
.ja-tiroir-continuer { flex: none; margin: 0 22px 10px; min-height: 40px; border: 0; background: none; font-weight: 700; font-size: 15px; text-decoration: underline; cursor: pointer; }
.ja-tiroir-vide { padding: 40px 22px; text-align: center; display: grid; gap: 14px; justify-items: center; }
.ja-tiroir-vide p { margin: 0; font-size: 17px; }
.ja-tiroir-offres { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }

/* ---------- WooCommerce : panier, paiement, compte ---------- */
.ja-page-woo .ja-page-tete h1 { font-size: clamp(32px, 3.4vw, 46px); }
.ja-panier-offres { margin: 0 0 26px; padding: 16px 20px; background: var(--ja-jaune-pale); border-radius: 10px; }
.ja-panier-offres p { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ja-panier-offres span:not(.ja-offre) { color: #3A3A36; }
.ja-panier-conseil { margin-top: 8px !important; font-weight: 600; }
.ja-panier-conseil a { font-weight: 800; }
.ja-page-woo .wc-block-components-button:not(.is-link), .ja-page-woo .wc-block-cart__submit-button, .ja-page-woo .wc-block-components-checkout-place-order-button { min-height: 56px; border-radius: var(--ja-rayon) !important; background: var(--ja-noir) !important; color: #fff !important; font-weight: 800 !important; font-size: 17px !important; }
.ja-page-woo .wc-block-components-button:not(.is-link):hover { background: #333 !important; }
.ja-page-woo .wc-block-components-product-name { font-weight: 700; font-size: 17px !important; text-decoration: none; color: var(--ja-noir); }
.ja-page-woo .wc-block-cart-items__header, .ja-page-woo .wc-block-components-title, .ja-page-woo .wc-block-cart__totals-title { font-family: var(--ja-titre) !important; font-weight: 400 !important; letter-spacing: .01em; text-transform: none !important; }
.ja-page-woo .wc-block-components-totals-fees .wc-block-components-totals-item__label { flex: 0 1 auto !important; background: var(--ja-jaune); border-radius: 999px; padding: 2px 12px; font-weight: 700; color: var(--ja-noir); }
.ja-page-woo .wc-block-components-totals-fees .wc-block-components-totals-item__value { margin-left: auto; font-weight: 700; }
.ja-page-woo .wc-block-components-order-summary-item__quantity { display: none !important; }
.ja-page-woo .wc-block-grid__product-title, .ja-page-woo .wc-block-grid__product-price, .ja-page-woo .wc-block-grid__product .wp-block-button__link, .ja-page-woo .wc-block-components-product-price { font-size: 15px !important; }
.ja-page-woo .wc-block-components-product-metadata, .ja-page-woo .wc-block-components-product-details { font-size: 14px !important; }
.ja-page-woo .wc-block-components-checkout-place-order-button, .ja-page-woo .wc-block-cart__submit-button { min-height: 58px; }
.ja-page-woo .wc-block-components-text-input input, .ja-page-woo .wc-block-components-combobox input, .ja-page-woo .wc-blocks-components-select select { border-radius: var(--ja-rayon) !important; }
.ja-page-woo .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ja-noir) !important; border-color: var(--ja-noir) !important; }
.ja-page-woo .wc-block-checkout__additional-fields .wc-block-components-checkbox, .ja-page-woo .wc-block-checkout__order-fields .wc-block-components-checkbox { padding: 14px 16px; background: var(--ja-jaune-pale); border-radius: var(--ja-rayon); }
.ja-page-woo .wc-block-components-product-metadata__description { font-size: 14px; }
.ja-page-woo .wc-block-components-quantity-selector { display: none !important; }
.ja-page-woo .wc-block-components-product-badge { font-size: 13px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; border-top: 1px solid var(--ja-ligne); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 0; border-bottom: 1px solid var(--ja-ligne); text-decoration: none; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { background: none !important; color: var(--ja-noir) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ja-jaune-pale) !important; box-shadow: inset 4px 0 0 var(--ja-jaune); padding-left: 14px; }
.woocommerce-MyAccount-content > p:has(~ .ja-compte-accueil) { display: none; }
.ja-compte-liens { display: flex; flex-wrap: wrap; gap: 10px; }
.ja-compte-petit { font-size: 15px; color: var(--ja-gris); }
.ja-site .woocommerce table.shop_table { border-color: var(--ja-ligne); border-radius: 8px; }
.ja-site .woocommerce-message, .ja-site .woocommerce-info { border-top-color: var(--ja-jaune) !important; background: var(--ja-clair); }
.ja-site .woocommerce-message::before, .ja-site .woocommerce-info::before { color: var(--ja-noir); }
.ja-site .woocommerce a.button, .ja-site .woocommerce button.button, .ja-site .woocommerce .woocommerce-MyAccount-downloads-file, .ja-site .woocommerce-Button { background: var(--ja-noir) !important; color: #fff !important; border-radius: var(--ja-rayon) !important; font-weight: 700 !important; }
.woocommerce-thankyou-order-received { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.ja-merci { margin: 0 0 32px; padding: 32px; background: var(--ja-clair); border-radius: 12px; text-align: center; }
.ja-merci-titre { font-family: var(--ja-titre); font-size: 32px; margin: 0 0 8px; color: var(--ja-noir); }
.ja-merci-etapes { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: left; }
.ja-merci-etapes li { display: flex; gap: 12px; align-items: center; padding: 14px; background: #fff; border-radius: 10px; font-size: 15px; }
.ja-merci-etapes b { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--ja-jaune); font-family: var(--ja-titre); font-weight: 400; font-size: 20px; }

/* rétractation, cookies (extension) */
.jab-retract-form { display: grid; gap: 4px; max-width: 560px; }
.jab-retract-form label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.jab-retract-form label span { font-weight: 400; color: var(--ja-gris); }
.jab-retract-form input, .jab-retract-form textarea { width: 100%; padding: 12px; border: 1.5px solid #CFCFC8; border-radius: var(--ja-rayon); font: inherit; box-sizing: border-box; background: #fff; }
.jab-retract .jab-bouton, .jab-retract-form .jab-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 0; border-radius: var(--ja-rayon); background: var(--ja-noir); color: #fff; font-weight: 800; font-size: 16px; cursor: pointer; }
.jab-retract-erreur { padding: 12px 14px; background: #FDECE8; color: #7C2A20; border-radius: var(--ja-rayon); }
.jab-retract-ok { padding: 24px; background: var(--ja-clair); border-radius: 10px; }
.jab-retract-legal { font-size: 15px; color: var(--ja-gris); }
.jab-cookie { border-radius: 12px !important; border: 2px solid var(--ja-noir) !important; font-size: 15px; background: #fff !important; color: var(--ja-texte) !important; }
.jab-cookie-titre { font-family: var(--ja-titre); font-size: 22px; margin: 0 0 4px; color: var(--ja-noir); }
.jab-cookie-texte { margin: 0; color: #3A3A36; }
.jab-cookie-btn { min-height: 44px; border-radius: var(--ja-rayon) !important; font: 700 15px var(--ja-police); color: var(--ja-noir); }
.jab-cookie-plein { background: var(--ja-noir) !important; border-color: var(--ja-noir) !important; color: #fff !important; }
.jab-cookie-lien { font: 600 15px var(--ja-police); color: var(--ja-noir); min-height: 44px; }
.jab-cookie-choix label { font-size: 15px; }

/* ---------- quatre jeux (v2.1.0) ---------- */
.ja-mega-gratuits { grid-template-columns: repeat(4, minmax(0, 1fr)) 220px; gap: 28px; }
.ja-mega-gratuit ul { grid-template-columns: 1fr; }
.ja-mega-gratuit .ja-mega-titre { font-size: 20px; line-height: 1.15; }
.ja-mega-gratuit .ja-bouton { white-space: normal; text-align: left; }
.ja-hero-couvs:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); max-width: 75%; }
.ja-gc-mots-fleches .ja-gc-badge { background: var(--ja-noir); color: #7CE0C3; }
.ja-gc-mots-croises .ja-gc-badge { background: var(--ja-noir); color: #fff; }

/* encadré des offres : sur très petit écran, les 3 tuiles passent les unes sous les autres */
@media (max-width: 380px) {
	.ja-offres-bandeau-in { grid-template-columns: minmax(0, 1fr); }
	.ja-offres-bandeau-tuiles { grid-template-columns: minmax(0, 1fr); }
}
/* ---------- quatre jeux : menu tiroir dès 1100 px (le menu horizontal ne tient plus) ---------- */
@media (max-width: 1280px) {
	body.ja-site .ja-menu-liste a, body.ja-site .ja-menu-liste button { font-size: 17px; padding: 0 12px; }
	.ja-menu-offre { display: none; }
}
@media (max-width: 1100px) {
	.ja-burger { display: inline-flex; }
	.ja-menu { display: none; }
	.ja-mega { display: none !important; }
	.ja-entete { border-bottom: 4px solid var(--ja-noir); }
	.ja-menu-mobile:not([hidden]) { display: block; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--ja-ligne); box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .45); max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); overflow-y: auto; overscroll-behavior: contain; }
	.ja-mm-in { padding: 6px var(--ja-gouttiere) 22px; }
	.ja-mm-jeu { border-bottom: 2px solid var(--ja-noir); }
	.ja-mm-jeu summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 62px; font-family: var(--ja-titre); font-size: 25px; text-transform: uppercase; letter-spacing: .02em; color: var(--ja-noir); cursor: pointer; list-style: none; }
	.ja-mm-jeu summary::-webkit-details-marker { display: none; }
	.ja-mm-jeu summary svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.6; transition: transform .2s; flex: none; }
	.ja-mm-jeu[open] summary svg { transform: rotate(180deg); }
	.ja-mm-colls { display: grid; gap: 8px; padding: 0 0 16px; }
	.ja-mm-colls a { display: grid; gap: 2px; padding: 12px 14px; border: 2px solid var(--ja-ligne); border-radius: 12px; text-decoration: none; }
	.ja-mm-colls a .ja-coll { font-size: 17px; font-weight: 800; color: var(--ja-noir); }
	.ja-mm-colls a b { font-size: 17px; font-weight: 800; }
	.ja-mm-colls small { font-size: 14px; color: var(--ja-gris); line-height: 1.35; }
	.ja-mm-liens { list-style: none; margin: 8px 0 0; padding: 0; }
	.ja-mm-liens a { display: flex; align-items: center; gap: 10px; min-height: 52px; font-weight: 700; font-size: 17px; text-decoration: none; border-bottom: 1px solid var(--ja-ligne); }
}
/* ---------- tablette ---------- */
@media (max-width: 1100px) {
	.ja-mega-in, .ja-mega-gratuits { grid-template-columns: 1fr 240px; }
	.ja-mega-gratuits .ja-mega-plus { display: none; }
	.ja-mega-gratuits { grid-template-columns: 1fr 1fr; }
	.ja-menu-offre { display: none; }
	.ja-cc-grille { grid-template-columns: 1fr 1fr; }
	.ja-pied-grille { grid-template-columns: 1fr 1fr 1fr; }
	.ja-pied-marque { grid-column: 1 / -1; }
	.ja-gc-grille-6, .ja-gc-grille-5 { grid-template-columns: repeat(4, 1fr); }
	.ja-offres-bandeau-in { grid-template-columns: 1fr; }
	.ja-grille { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
	.ja-fiche-haut, .ja-gp-haut, .ja-fiche-deux, .ja-seo-in, .ja-billet-tete-in { grid-template-columns: 1fr; gap: 32px; }
	.ja-hero-jeux { grid-template-columns: 1fr; }
	body.ja-site .ja-menu-liste a, body.ja-site .ja-menu-liste button { font-size: 17px; padding: 0 11px; }
	.ja-encarts-2 { grid-template-columns: 1fr; }
	.ja-fiche-droite { position: static; }
	.ja-reassurance ul { grid-template-columns: 1fr 1fr; }
	.ja-etapes { grid-template-columns: 1fr; }
	.ja-articles { grid-template-columns: 1fr 1fr; }
	.ja-gc-grille { grid-template-columns: repeat(3, 1fr); }
	.ja-gc-grille-6, .ja-gc-grille-5 { grid-template-columns: repeat(3, 1fr); }
	.ja-billet-corps { grid-template-columns: 1fr; gap: 24px; }
	.ja-billet-sommaire { position: static; }
	.ja-billet-image { max-width: 220px; }
	.ja-gp-visuel { max-width: 560px; }
}

/* ---------- téléphone ---------- */
@media (max-width: 760px) {
	html body.ja-site { font-size: 16px; }
	.ja-bandeau .ja-wrap { gap: 10px; min-height: 36px; font-size: 13px; }
	.ja-bandeau .ja-b:not(:first-child):not(:has(.ja-offre)) { display: none; }
	.ja-b-suite::before { margin-right: 10px; }
	.ja-entete-in { flex-wrap: wrap; gap: 8px 12px; min-height: 0; padding-top: 10px; padding-bottom: 12px; }
	.ja-burger { display: inline-flex; }
	.ja-symbole { width: 30px; height: 30px; }
	.ja-logo { gap: 7px; }
	.ja-logo-texte { font-size: 22px; }
	.ja-outils { gap: 14px; }
	.ja-outil small { display: none; }
	.ja-outil svg { width: 25px; height: 25px; }
	.ja-compte { display: none !important; }
	.ja-recherche-barre { order: 5; flex-basis: 100%; max-width: none; height: 46px; }
	.ja-recherche-barre button span { display: none; }
	.ja-recherche-barre button { padding: 0 12px; }
	.ja-menu { display: none; }
	.ja-mega { display: none !important; }
	.ja-entete { border-bottom: 4px solid var(--ja-noir); }
	.ja-menu-mobile:not([hidden]) { display: block; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--ja-ligne); box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .45); max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); overflow-y: auto; overscroll-behavior: contain; }
	.ja-mm-in { padding: 6px var(--ja-gouttiere) 22px; }
	.ja-mm-jeu { border-bottom: 2px solid var(--ja-noir); }
	.ja-mm-jeu summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 62px; font-family: var(--ja-titre); font-size: 25px; text-transform: uppercase; letter-spacing: .02em; color: var(--ja-noir); cursor: pointer; list-style: none; }
	.ja-mm-jeu summary::-webkit-details-marker { display: none; }
	.ja-mm-jeu summary svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.6; transition: transform .2s; flex: none; }
	.ja-mm-jeu[open] summary svg { transform: rotate(180deg); }
	.ja-mm-colls { display: grid; gap: 8px; padding: 0 0 16px; }
	.ja-mm-colls a { display: grid; gap: 2px; padding: 12px 14px; border: 2px solid var(--ja-ligne); border-radius: 12px; text-decoration: none; }
	.ja-mm-colls a .ja-coll { font-size: 17px; font-weight: 800; color: var(--ja-noir); }
	.ja-mm-colls a b { font-size: 17px; font-weight: 800; }
	.ja-mm-colls small { font-size: 14px; color: var(--ja-gris); line-height: 1.35; }
	body.ja-site .ja-mm-colls .ja-mm-tous { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; background: var(--ja-noir); border-color: var(--ja-noir); color: #fff; font-weight: 800; font-size: 16px; }
	.ja-mm-liens { list-style: none; margin: 8px 0 0; padding: 0; }
	.ja-mm-liens a { display: flex; align-items: center; gap: 10px; min-height: 52px; font-weight: 700; font-size: 17px; text-decoration: none; border-bottom: 1px solid var(--ja-ligne); }
	.ja-section { padding: 46px 0; }
	.ja-section.ja-fond-clair + .ja-section { padding-top: 46px; }
	.ja-titre-ligne { margin-bottom: 18px; }
	.ja-hero { padding: 30px 0 34px; }
	.ja-hero-tete { margin-bottom: 22px; }
	.ja-titre-xxl { font-size: 40px; }
	.ja-hero-sous { font-size: 17px; }
	.ja-hero-jeux { gap: 16px; }
	.ja-hero-jeu { padding: 20px 18px 20px; border-radius: 14px; }
	.ja-hero-couvs { gap: 8px; margin-bottom: 18px; }
	.ja-hero-couv { box-shadow: 0 0 0 2px #fff, var(--ja-ombre-couv); }
	.ja-hero-jeu-bas .ja-bouton { width: 100%; }
	.ja-hero-boutons { flex-direction: column; }
	.ja-hero-boutons .ja-bouton { width: 100%; }
	.ja-reassurance ul { gap: 16px 12px; padding: 20px 0; }
	.ja-reassurance li { flex-direction: column; align-items: flex-start; gap: 8px; }
	.ja-reassurance .ja-picto { width: 26px; height: 26px; padding: 6px; }
	.ja-reassurance b { font-size: 15px; }
	.ja-cc-grille { grid-template-columns: 1fr; gap: 14px; }
	.ja-cc { flex-direction: row; }
	.ja-cc-visuel { flex: none; width: 118px; padding: 16px 0; border-bottom: 0; border-right: 2px solid var(--ja-noir); }
	.ja-cc-couv, .ja-cc-grille-compacte .ja-cc-couv { width: 74px; }
	.ja-cc-texte { padding: 14px 16px; gap: 6px; min-width: 0; }
	.ja-cc-nom { font-size: 21px; }
	.ja-cc-intro { font-size: 14px; }
	.ja-cc-grille-compacte .ja-cc-visuel { padding: 12px 0; }
	.ja-cc-lien { display: none; }
	.ja-gc-grille-5 { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ja-sous-titre { margin-top: 28px; }
	.ja-filtres-jeux { flex-wrap: wrap; gap: 6px; }
	.ja-filtres-jeux a { flex: 1 1 auto; justify-content: center; min-height: 42px; padding: 0 10px; font-size: 15px; }
	.ja-catalogue .woocommerce-ordering { margin: 0; }
	.ja-encarts-2 .ja-encart { grid-template-columns: 1fr; }
	.ja-grille, .ja-grille-3 { grid-template-columns: 1fr 1fr; gap: 26px 14px; }
	.ja-carte-titre { font-size: 19px !important; }
	.ja-carte-infos { font-size: 13px; }
	.ja-prix, .ja-prix .amount { font-size: 17px; }
	body.ja-site .ja-carte-ajout { min-height: 44px; font-size: 14px; padding: 0 6px; gap: 6px; }
	.ja-coeur { width: 36px; height: 36px; }
	.ja-offres-bandeau-in { padding-top: 30px; padding-bottom: 30px; gap: 22px; }
	.ja-offres-bandeau-tuiles, .ja-offres-tuiles { gap: 8px; }
	.ja-tuile { padding: 12px 10px; }
	.ja-tuile strong, .ja-tuile strong .amount, .ja-offres-tuiles .ja-tuile strong .amount, .ja-offres-tuiles-grand .ja-tuile strong .amount { font-size: 23px; }
	.ja-tuile small { font-size: 13px; }
	.ja-tuile .ja-offre { font-size: 13px; padding: 2px 8px; }
	.ja-gc-grille, .ja-gc-grille-6 { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ja-gc-nom { font-size: 15px; }
	.ja-articles { grid-template-columns: 1fr; }
	.ja-pied-grille { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
	.ja-gc-grille-5 { grid-template-columns: 1fr 1fr; }
	.ja-pied-marque { grid-column: 1 / -1; }
	.ja-pied-bas { flex-direction: column; align-items: flex-start; }
	.ja-fiche-haut { gap: 24px; padding-bottom: 36px; }
	.ja-galerie-vignettes { gap: 6px; }
	.ja-vignette span { display: none; }
	.ja-rassurance { grid-template-columns: 1fr; }
	.ja-fav-fiche span { display: none; }
	.ja-fav-fiche { padding: 0 16px; }
	.ja-fiche-sommaire { top: 117px; }
	.ja-fiche-sommaire .ja-wrap { gap: 22px; }
	.ja-fiche-section { padding: 44px 0; scroll-margin-top: 175px; }
	.ja-contenu { padding: 18px; }
	.ja-gp-faits li { font-size: 14px; padding: 6px 12px; }
	.ja-encart { grid-template-columns: 1fr; padding: 18px; gap: 16px; }
	.ja-encart-img { max-width: 180px; }
	.ja-encart-boutons .ja-bouton { flex: 1 1 100%; }
	.ja-hub-outils { top: 117px; }
	.ja-hub-familles { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--ja-gouttiere)); padding-right: var(--ja-gouttiere); }
	.ja-hub-famille { scroll-margin-top: 240px; }
	.ja-recherches-liste { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--ja-gouttiere)); padding-right: var(--ja-gouttiere); }
	.ja-recherches-liste a { flex: none; }
	.ja-filtres { padding: 12px 0; }
	.ja-filtres-coll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--ja-gouttiere)); padding-right: var(--ja-gouttiere); }
	.ja-filtres-coll a { flex: none; }
	.ja-merci-etapes { grid-template-columns: 1fr; }
	.ja-merci { padding: 22px 18px; }
	.ja-visionneuse-zone { padding: 0 8px 12px; }
	.ja-v-prec, .ja-v-suiv { top: auto; bottom: 18px; transform: none; }
	.ja-404-num { font-size: 90px; }
	.ja-404-recherche { flex-direction: column; }
	.ja-billet-chapo { font-size: 18px; }
	.ja-prose h2 { font-size: 26px; }
	.ja-seo { padding: 46px 0; }
	.ja-tiroir-liste { padding: 6px 16px; }
	.ja-tiroir-liste li { grid-template-columns: 52px 1fr auto auto; gap: 10px; }
	.ja-tiroir-img img { width: 52px; height: 74px; }
	.ja-tiroir-bas { padding: 14px 16px 8px; }
}
@media (max-width: 430px) {
	.ja-burger span { display: none; }
}
@media (max-width: 380px) {
	.ja-logo-texte { font-size: 19px; }
	.ja-symbole { width: 26px; height: 26px; }
	.ja-outils { gap: 10px; }
	.ja-grille { gap: 22px 10px; }
}
/* Très petits téléphones : « Mes livres de jeux » + cœur + panier tiennent sur une ligne. */
@media (max-width: 350px) {
	.ja-entete-in { column-gap: 9px; }
	.ja-logo { gap: 6px; }
	.ja-logo-texte { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Panier et commande (blocs WooCommerce) : la petite description sous le nom du livre reste lisible. */
.wc-block-components-product-metadata, .wc-block-components-product-metadata__description, .wc-block-components-product-metadata p { font-size: 14px !important; line-height: 1.4; }

/* 2.2.1 — panier vide dans la charte (bloc WooCommerce par défaut : boutons bleus, smiley, petit lien) */
.ja-page-woo .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none !important; }
.ja-page-woo .wc-block-cart__empty-cart__title { font-family: var(--ja-titre) !important; font-weight: 400 !important; font-size: clamp(28px, 4vw, 40px) !important; margin: 10px 0 14px !important; }
.ja-page-woo .wp-block-woocommerce-empty-cart-block > p:not([class]) a, .ja-page-woo .wp-block-woocommerce-empty-cart-block p.has-text-align-center a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border-radius: var(--ja-rayon); background: var(--ja-noir); color: #fff !important; font-weight: 800; text-decoration: none; }
.ja-page-woo .wp-block-woocommerce-empty-cart-block > p:not([class]) a:hover, .ja-page-woo .wp-block-woocommerce-empty-cart-block p.has-text-align-center a:hover { background: #2C2C36; }
.ja-page-woo .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none !important; }
.ja-page-woo .wp-block-woocommerce-empty-cart-block h2 { font-family: var(--ja-titre) !important; font-weight: 400 !important; margin-top: 56px !important; }
.ja-page-woo .wc-block-grid__product { text-align: left !important; display: flex; flex-direction: column; }
.ja-page-woo .wc-block-grid__product-image img { border-radius: 8px; box-shadow: 0 0 0 1px var(--ja-ligne), 0 14px 26px -18px rgba(0, 0, 0, .5); }
.ja-page-woo .wc-block-grid__product-title { font-weight: 700 !important; font-size: 16px !important; color: var(--ja-noir); margin: 12px 0 6px !important; }
.ja-page-woo .wc-block-grid__product-price { font-weight: 800 !important; font-size: 18px !important; margin-bottom: 12px !important; }
.ja-page-woo .wc-block-grid__product-add-to-cart { margin-top: auto !important; }
.ja-page-woo .wc-block-grid__product-add-to-cart .wp-block-button__link { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 16px !important; border: 2px solid var(--ja-noir) !important; border-radius: var(--ja-rayon) !important; background: var(--ja-noir) !important; color: #fff !important; font-weight: 800 !important; font-size: 15px !important; box-sizing: border-box; }
.ja-page-woo .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: #2C2C36 !important; }
.ja-page-woo .wc-block-grid__product-add-to-cart .wp-block-button__link.added { background: #fff !important; color: var(--ja-noir) !important; }
.ja-page-woo .wc-block-grid__product-add-to-cart .added_to_cart { display: none !important; }
@media (max-width: 600px) { .ja-page-woo .wc-block-grid.has-4-columns .wc-block-grid__products { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 14px; } .ja-page-woo .wc-block-grid__product { max-width: none !important; flex: none !important; margin: 0 !important; } }
.ja-page-woo .wc-block-grid__product-price, .ja-page-woo .wc-block-grid__product-title { text-align: left !important; justify-content: flex-start !important; }
@media (max-width: 600px) { .ja-page-woo .wc-block-grid__product-add-to-cart .wp-block-button__link { font-size: 14px !important; padding: 0 8px !important; white-space: nowrap; } }
.ja-page-woo .wc-block-grid__product { align-items: stretch !important; }
.ja-page-woo .wc-block-grid__product-add-to-cart { width: 100%; }
.ja-page-woo .wc-block-grid__product-price { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; align-self: stretch !important; }

/* 2.2.1 : page offres, espace au-dessus du bouton « Voir tous les livres » */
.ja-offres-suite { margin-top: 40px; }
