/*
Theme Name: Jobard
Theme URI: https://les-jobardises.fr
Description: Thème bloc sur mesure pour la boutique Jobard. Univers illustré inspiré de la bande dessinée Jobard & Sylvie.
Author: —
Version: 3.15.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: jobard
Tags: e-commerce, full-site-editing
*/

/* ==========================================================================
   Les couleurs, tailles et espacements vivent dans theme.json.
   Ce fichier ne contient que ce que les blocs ne savent pas exprimer.
   ========================================================================== */

:root {
	--tee-blanc:  #FFFFFF;
	--tee-sable:  #E5D9BF;
	--tee-gris:   #D3D5D8;
	--tee-jaune:  #F2C230;
	--tee-rose:   #E8397F;
	--tee-roi:    #2C6FD1;
	--tee-marine: #2E3A5C;
}

/* --------------------------------------------------------------------------
   Accessibilité
   -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--magenta);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus {
	left: 1rem; top: 1rem; z-index: 100;
	background: var(--wp--preset--color--encre);
	color: #fff; padding: 1em 1.4em;
}

/* --------------------------------------------------------------------------
   Le nuancier
   -------------------------------------------------------------------------- */

.jb-rail { display: flex; height: 10px; width: 100%; }
.jb-rail span { flex: 1 1 0; }
.jb-rail span:nth-child(1) {
	background: var(--tee-blanc);
	box-shadow: inset 0 0 0 1px rgba(43, 33, 24, 0.09);
}
.jb-rail span:nth-child(2) { background: var(--tee-sable); }
.jb-rail span:nth-child(3) { background: var(--tee-gris); }
.jb-rail span:nth-child(4) { background: var(--tee-jaune); }
.jb-rail span:nth-child(5) { background: var(--tee-rose); }
.jb-rail span:nth-child(6) { background: var(--tee-roi); }
.jb-rail span:nth-child(7) { background: var(--tee-marine); }

/* --------------------------------------------------------------------------
   Bandeau d'annonce
   -------------------------------------------------------------------------- */

.jb-annonce {
	position: relative;
	background: var(--wp--preset--color--jaune);
	color: var(--wp--preset--color--encre);
	text-align: center;
	padding: 0.62em 3em;
}

.jb-annonce[hidden] { display: none; }

.jb-annonce__fermer {
	position: absolute;
	right: 0.35em;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
	display: grid;
	place-items: center;
	box-shadow: none;
	transition: background 0.15s ease;
}

.jb-annonce__fermer:hover { background: rgba(43, 33, 24, 0.12); }
.jb-annonce__fermer:active { transform: translateY(-50%); box-shadow: none; }

.jb-annonce__fermer svg {
	width: 15px;
	height: 15px;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	fill: none;
}

.jb-annonce p {
	margin: 0;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 0.86rem;
	line-height: 1.35;
	letter-spacing:normal;
}

@media (max-width: 600px) {
	.jb-annonce p { font-size: 0.78rem; }
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.jb-header { position: sticky; top: 0; z-index: 50; }
.jb-logo {
	margin: 0;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--grand);
	line-height: 1.1;
}
.jb-logo a, .jb-logo a:hover { text-decoration: none; }
.admin-bar .jb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .jb-header { top: 46px; } }

.jb-header__icons { gap: 1.1rem; }
.jb-header__icons a { text-decoration: none; }
.jb-header__icons a:hover { color: var(--wp--preset--color--magenta); }

/* Lien du compte client représenté par une icône, avec le libellé conservé
   pour les lecteurs d'écran. */
.jb-compte a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	overflow: hidden;
	text-indent: -999em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 21px 21px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2118' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");
}

.jb-compte a:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6007E' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Pastille inclinée et macaron
   À poser via « Classe(s) CSS additionnelle(s) » du panneau Avancé.
   -------------------------------------------------------------------------- */

.jb-chip {
	display: inline-block;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	color: #fff;
	background: var(--wp--preset--color--magenta);
	padding: 0.35em 1.1em;
	border-radius: 999px;
	box-shadow: 0 3px 0 rgba(43, 33, 24, 0.22);
	transform: rotate(-1.4deg);
}

.jb-chip--prairie { background: var(--wp--preset--color--prairie); transform: rotate(1.1deg); }
.jb-chip--orange  { background: var(--wp--preset--color--orange);  transform: rotate(-0.8deg); }
.jb-chip--ciel    { background: var(--wp--preset--color--ciel);    transform: rotate(-1.2deg); }
.jb-chip--bois    { background: var(--wp--preset--color--bois);    transform: rotate(-1.5deg); }
.jb-chip--jaune   { background: var(--wp--preset--color--jaune); color: var(--wp--preset--color--encre); }

.jb-macaron {
	display: grid;
	place-items: center;
	width: 118px;
	height: 118px;
	border-radius: 50%;
	background: var(--wp--preset--color--jaune);
	color: var(--wp--preset--color--encre);
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 0.9rem;
	line-height: 1.1;
	text-align: center;
	transform: rotate(-8deg);
	box-shadow: 0 0 0 4px #fff, 0 0 0 8px var(--wp--preset--color--jaune);
}

/* Boutons cartonnés : l'ombre pleine s'écrase au clic */
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	box-shadow: 0 4px 0 var(--wp--preset--color--magenta-fonce);
	transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.wp-block-button__link:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
	transform: translateY(2px);
	box-shadow: 0 2px 0 var(--wp--preset--color--magenta-fonce);
}

/* ==========================================================================
   WooCommerce
   ========================================================================== */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1rem;
	background: var(--wp--preset--color--magenta);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 0.85em 2.2em;
	line-height: 1.2;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--wp--preset--color--magenta-fonce);
	color: #fff;
}

.woocommerce a.added_to_cart {
	font-size: 0.9rem;
	color: var(--wp--preset--color--gris);
	display: inline-block;
	margin-left: 1em;
}

/* --------------------------------------------------------------------------
   La vignette de la page d'accueil
   -------------------------------------------------------------------------- */

.jb-vignette { max-width: 420px; margin-inline: auto; }

.jb-vignette ul.products { grid-template-columns: 1fr !important; }

.jb-vignette ul.products li.product .woocommerce-loop-product__title { font-size: 1.5rem; }

/* --------------------------------------------------------------------------
   Grille boutique
   -------------------------------------------------------------------------- */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	margin: 0 0 var(--wp--preset--spacing--60);
	padding: 0;
	list-style: none;
}

@media (min-width: 600px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 782px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

/* Le catalogue est court : compteur et tri n'apportent rien. */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { display: none; }

/* Le titre de la boutique reste, mais discret : le produit passe devant. */
.woocommerce-products-header {
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: #fff;
	border: 0;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 0 rgba(43, 33, 24, 0.14);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 7px 0 rgba(43, 33, 24, 0.14);
}

.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: var(--wp--preset--color--creme);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1.2rem;
	padding: 0.9em 0.85em 0.1em;
	margin: 0;
}

.woocommerce ul.products li.product .price {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1.4rem;
	color: var(--wp--preset--color--magenta);
	padding: 0 0.75em;
	margin: 0 0 0.6em;
}

.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .onsale { display: none; }

.woocommerce ul.products li.product .button {
	margin: auto 1.1em 1.4em;
	align-self: stretch;
	text-align: center;
}

@media (min-width: 600px) {
	.woocommerce ul.products li.product .button {
		align-self: flex-start;
	}
}

/* Pastilles de coloris */
.jb-dots { display: flex; gap: 7px; padding: 0 1.1em 1em; flex-wrap: wrap; }
.jb-dots i {
	width: 16px; height: 16px; border-radius: 50%; display: block;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(43, 33, 24, 0.18);
}

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */

.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: clamp(1.9rem, 5vw, 2.6rem);
	line-height: 1.05;
	margin-bottom: 0.25em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1.7rem;
	color: var(--wp--preset--color--magenta);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--wp--preset--color--gris);
	font-size: 1.08rem;
	max-width: 46ch;
}

.woocommerce div.product form.cart .variations label {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 0.95rem;
	color: var(--wp--preset--color--encre);
}

.woocommerce div.product form.cart .variations td { padding-bottom: 1em; }

.woocommerce div.product form.cart .variations select,
.woocommerce div.product .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 2px solid var(--wp--preset--color--brume);
	border-radius: 12px;
	padding: 0.75em 0.9em;
	background: #fff;
	font-family: var(--wp--preset--font-family--ui);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 1.5em;
	border-bottom: 2px solid var(--wp--preset--color--brume);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	margin: 0 1.5em 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: transparent;
	background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1rem;
	color: var(--wp--preset--color--encre);
	padding: 0.8em 0;
	display: block;
	text-decoration: none;
}

/* Pas de soulignement ni d'effet au survol ; l'onglet actif reste identifiable. */
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	text-decoration: none;
	color: var(--wp--preset--color--encre);
	background: transparent;
	box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover {
	color: var(--wp--preset--color--magenta);
}


/* --------------------------------------------------------------------------
   Boutons à l'intérieur des notifications
   -------------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em 1.2em;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.wc-block-components-notice-banner .button {
	float: none !important;
	margin: 0 0 0 auto;
	padding: 0.6em 1.5em;
	font-size: 0.78rem;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
	white-space: nowrap;
}

.woocommerce-message .button:active,
.woocommerce-info .button:active { transform: none; box-shadow: none; }

@media (max-width: 600px) {
	.woocommerce-message .button,
	.woocommerce-info .button { margin-left: 0; width: 100%; text-align: center; }
}

/* --------------------------------------------------------------------------
   Panier, commande, messages
   -------------------------------------------------------------------------- */

.woocommerce table.shop_table {
	border-radius: 16px;
	border-color: var(--wp--preset--color--brume);
	overflow: hidden;
}

.woocommerce table.shop_table th {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 0.95rem;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-top: 4px solid var(--wp--preset--color--magenta);
	border-radius: 0 0 12px 12px;
	background: #fff;
	padding: 1.2em 1.5em;
	list-style: none;
}

.woocommerce-info::before,
.woocommerce-message::before { color: var(--wp--preset--color--magenta); }

.woocommerce form .form-row label { font-size: 0.9rem; color: var(--wp--preset--color--gris); }

.woocommerce .woocommerce-breadcrumb {
	font-size: 0.88rem;
	color: var(--wp--preset--color--gris);
	margin-bottom: 1.6em;
}

.woocommerce-products-header__title {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.05;
	margin-bottom: 0.4em;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: 0; display: flex; gap: 8px; justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li { border: 0; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	border: 2px solid var(--wp--preset--color--brume);
	border-radius: 999px;
	padding: 0.6em 1.1em;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wp--preset--color--magenta);
	color: #fff;
	border-color: var(--wp--preset--color--magenta);
}

/* ==========================================================================
   Édition BD — le papier, l'encre et la prairie de Jobard & Sylvie
   ========================================================================== */
:root { --jb-ink:#33271f; --jb-paper:#fff9e9; --jb-orange:#f5a443; --jb-green:#688137; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { background-color:var(--jb-paper); background-image:radial-gradient(ellipse at 0 32%,#ffedb84d,transparent 48%),radial-gradient(ellipse at 100% 60%,#dfecbc50,transparent 42%); }
.jb-annonce { background:#e5edc7; border-bottom:1px solid #33271f25; padding:.38em 3em; }
.jb-annonce p { font-size:.8rem; letter-spacing:normal; }
.jb-header { border-bottom:2px solid var(--jb-ink); background:#fffdf3 !important; }
.jb-logo { font-size:clamp(1.6rem,3vw,2rem); transform:rotate(-2deg); }
.jb-logo a { color:#bf6425; -webkit-text-stroke:1px var(--jb-ink); paint-order:stroke fill; text-shadow:1px 2px #ffe8a3; }
.jb-compte a:hover { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379311F' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E"); }
.jb-shop-main { padding-top:24px !important; padding-bottom:80px !important; }
.jb-bd-hero { isolation:isolate; position:relative; overflow:hidden; min-height:610px; border:2px solid var(--jb-ink); border-radius:10px 18px 8px 14px; background:#fff0b4; box-shadow:4px 5px 0 var(--jb-ink); }
.jb-bd-hero__art { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 58%; }
.jb-bd-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fff0bafa 0%,#fff0badb 26%,#fff0ba90 40%,transparent 60%); }
.jb-bd-hero__copy { padding:64px 0 58px 52px; width:47%; box-sizing:border-box; }
.jb-eyebrow { font-size:.71rem; font-weight:800; letter-spacing:normal; line-height:1.6; text-transform:uppercase; color:#64502e; margin:0 0 16px; }
.jb-bd-hero h1 { font-size:clamp(1.7rem,2.7vw,2.2rem); line-height:1.05; letter-spacing:normal; margin:0 0 25px; }
.jb-bd-hero h1 span { display:inline-block; padding-top:8px; font-size:clamp(3.8rem,6.8vw,5.4rem); line-height:.97; color:#e89134; -webkit-text-stroke:2px var(--jb-ink); paint-order:stroke fill; text-shadow:3px 3px 0 #fffbee,-2px 2px 0 #fffbee; }
.jb-bd-hero__intro { font-size:1.04rem; line-height:1.7; max-width:32ch; margin:0 0 26px; color:#4c3c29; }
.jb-bd-button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button:not(.is-link) {
 display:inline-flex; align-items:center; justify-content:center; gap:14px; border:2px solid var(--jb-ink); border-radius:7px 11px 8px 9px; background:var(--jb-orange); color:var(--jb-ink); box-shadow:3px 4px 0 var(--jb-ink); font-family:var(--wp--preset--font-family--titre); font-size:1rem; font-weight:800; line-height:1.25; padding:14px 23px; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.jb-bd-button:hover, .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:not(.is-link):hover { background:#ffdc6b; color:var(--jb-ink); text-decoration:none; transform:translate(-1px,-1px); box-shadow:4px 5px 0 var(--jb-ink); }
.jb-bd-button:active, .wp-block-button__link:active, .woocommerce a.button:active, .woocommerce button.button:active { transform:translate(2px,2px); box-shadow:1px 2px 0 var(--jb-ink); }
.jb-bd-button span { font-size:1.45rem; line-height:1; }
.jb-bd-note { position:absolute; top:36px; right:38px; padding:17px 24px; font-family:var(--wp--preset--font-family--titre); font-weight:800; font-size:1.1rem; line-height:1.15; text-align:center; color:var(--jb-ink); background:#fffdf4; border:2px solid var(--jb-ink); border-radius:50%; transform:rotate(7deg); box-shadow:2px 3px 0 #33271f; }
.jb-bd-note::after { content:none; }
.jb-bd-ribbon { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px 34px; padding:22px 16px; margin:17px 0 68px; color:#4c6030; border-bottom:1px dashed #839852; font-family:var(--wp--preset--font-family--titre); font-weight:700; font-size:.98rem; }
.jb-bd-ribbon [aria-hidden] { color:#ae682d; font-size:1.3rem; }
.jb-bd-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 auto 30px; max-width:960px; scroll-margin-top:120px; }
.jb-bd-section-heading .jb-eyebrow { margin-bottom:5px; }
.jb-bd-section-heading h2 { margin:0; font-size:clamp(1.7rem,3vw,2.35rem); line-height:1.1; }
.jb-bd-section-heading>p { color:#716251; font-size:.88rem; line-height:1.5; margin:0; }
.woocommerce-shop .woocommerce-products-header { margin:0; }
.woocommerce-shop ul.products { max-width:960px; margin-inline:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.woocommerce ul.products li.product { border:2px solid var(--jb-ink); border-radius:10px 14px 8px 12px; background:#fffef8; box-shadow:4px 5px 0 #d6c69d; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:5px 8px 0 #d6c69d; }
.woocommerce ul.products li.product a img { border-bottom:2px solid var(--jb-ink); aspect-ratio:1; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:19px 24px 2px; font-size:1.55rem; color:var(--jb-ink); }
.woocommerce ul.products li.product .price { padding:0 24px; font-size:1.5rem; color:#744b2c; margin-bottom:17px; }
.woocommerce ul.products li.product .button { margin: auto 24px 25px; align-self:stretch; }
.woocommerce ul.products li.product .jb-acheter::after { content:none; }
.jb-dots { padding-inline:24px; }
.jb-bd-story { display:grid; grid-template-columns:42% 1fr; gap:7%; align-items:center; padding:42px 8%; border:2px solid var(--jb-ink); border-radius:60% 1% 45% 1% / 2% 50% 2% 40%; background:radial-gradient(ellipse at 15% 35%,#fff6d1,transparent 60%),#e5edcd; margin-top:80px; }
.jb-bd-story__book { position:relative; text-align:center; }
.jb-bd-story__book img { display:block; width:225px; max-width:85%; height:auto; margin:auto; transform:rotate(-6deg); border:2px solid var(--jb-ink); box-shadow:6px 7px 0 #69833338; }
.jb-bd-story__book span { position:absolute; right:-6px; top:12px; transform:rotate(8deg); padding:14px 17px; border:2px solid var(--jb-ink); border-radius:50%; background:#fffef8; font-family:var(--wp--preset--font-family--titre); font-weight:700; line-height:1.1; font-size:1.04rem; }
.jb-bd-story__copy h2 { font-size:clamp(2rem,3.8vw,3.15rem); margin:0 0 18px; line-height:1.04; }
.jb-bd-story__copy>p:not(.jb-eyebrow) { color:#4c5139; max-width:43ch; font-size:1rem; margin:0 0 24px; }
.jb-bd-footer { position:relative; border-top:3px solid var(--jb-ink); background:#374a2d !important; padding-inline:24px; }
.jb-bd-footer::before { content:""; position:absolute; top:-13px; left:0; right:0; height:12px; background:linear-gradient(135deg,transparent 50%,#374a2d 50%) 0 0/18px 18px,linear-gradient(45deg,#374a2d 50%,transparent 50%) 0 0/18px 18px; }
.jb-bd-footer h2 { letter-spacing:normal; text-transform:none !important; font-size:2rem; }
.jb-bd-footer a { color:#fff8d7; }
.jb-bd-footer>.wp-block-columns { max-width:1180px; margin-inline:auto; }
.jb-bd-footer>.wp-block-columns+p { max-width:1180px; margin-inline:auto; opacity:.7; }
.woocommerce div.product .woocommerce-product-gallery { border:2px solid var(--jb-ink); border-radius:10px 14px 8px 12px; overflow:hidden; background:#fffdf3; box-shadow:4px 5px 0 #ddcfae; }
.woocommerce div.product .product_title { font-size:clamp(2rem,4.4vw,3.3rem); color:var(--jb-ink); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:#8c4f28; }
.woocommerce div.product form.cart .variations select, .woocommerce div.product .quantity .qty { background:#fffef8; border:1.5px solid #a99978; border-radius:7px; }
.woocommerce div.product .woocommerce-tabs { padding-top:30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover { color:#8d4c23; }
.woocommerce div.product .woocommerce-tabs .panel { background:#fffdf5; border:1px solid #d8ccb1; padding:28px; border-radius:6px 11px 9px 8px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size:1.55rem; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size:1.2rem; }
.wc-block-cart, .wc-block-checkout { --wp--preset--color--primary:#a33c26; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { background:#fffef8 !important; }
@media(max-width:900px) {
 .jb-bd-hero { min-height:550px; }
 .jb-bd-hero__copy { padding:52px 0 48px 30px; width:49%; }
 .jb-bd-hero h1 { font-size:1.6rem; }
 .jb-bd-hero h1 span { font-size:4rem; }
 .jb-bd-note { right:24px; top:24px; font-size:.9rem; }
 .jb-bd-button { font-size:.9rem; padding:13px 17px; }
 .jb-bd-ribbon { gap:10px 18px; font-size:.86rem; }
 .jb-bd-story { gap:5%; padding:35px 6%; }
 .jb-bd-story__book span { right:-14px; }
}
@media(max-width:600px) {
 html { scroll-padding-top:90px; }
 .jb-header { padding:17px 20px !important; }
 .jb-logo { font-size:1.65rem; }
 .jb-header__icons { gap:12px; }
 .jb-shop-main { padding-top:18px !important; }
 .jb-bd-hero { min-height:760px; }
 .jb-bd-hero__art { height:410px; top:auto; bottom:0; object-fit:cover; object-position:70% bottom; }
 .jb-bd-hero::before { background:linear-gradient(180deg,#fff0ba 0%,#fff0ba 41%,#fff0ba00 64%); }
 .jb-bd-hero__copy { width:100%; padding:34px 26px 340px; }
 .jb-bd-hero h1 { font-size:1.55rem; margin-bottom:18px; }
 .jb-bd-hero h1 span { font-size:3.85rem; }
 .jb-bd-hero__intro { font-size:.95rem; max-width:30ch; margin-bottom:21px; }
 .jb-eyebrow { font-size:.63rem; letter-spacing:normal; }
 .jb-bd-note { display:none; }
 .jb-bd-ribbon { margin-bottom:42px; gap:7px 16px; font-size:.82rem; padding:19px 0; }
 .jb-bd-ribbon span:last-child { flex-basis:100%; text-align:center; }
 .jb-bd-ribbon span:nth-child(4) { display:none; }
 .jb-bd-section-heading { display:block; margin-bottom:24px; }
 .jb-bd-section-heading>p { margin-top:12px; }
 .woocommerce-shop ul.products { grid-template-columns:1fr; max-width:420px; gap:30px; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.4rem; }
 .jb-bd-story { grid-template-columns:1fr; gap:35px; margin-top:52px; padding:35px 25px; }
 .jb-bd-story__book img { width:175px; }
 .jb-bd-story__book span { right:0; top:8px; font-size:.9rem; }
 .jb-bd-story__copy h2 { font-size:2.4rem; }
 .jb-bd-footer { padding:45px 25px !important; }
 .woocommerce div.product .woocommerce-tabs .panel { padding:20px; }
 .woocommerce div.product .woocommerce-tabs ul.tabs li { margin-right:1em; }
 .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:.9rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Le conteneur d'en-tête accompagne le défilement sur les pages longues. */
.wp-site-blocks > header.wp-block-template-part { position:sticky; top:0; z-index:60; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top:32px; }
.jb-bd-section-heading { scroll-margin-top:0; }
.jb-bd-hero h1 span { color:#bd641f; }
@media(max-width:782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top:46px; } }
@media(max-width:600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top:0; } }
/* Priorité sur la règle WooCommerce qui donne height:auto à toutes les images. */
.jb-bd-hero img.jb-bd-hero__art { height:100%; max-width:none; }
@media(max-width:600px) { .jb-bd-hero img.jb-bd-hero__art { height:410px; } }
@media(max-width:360px) {
 .jb-bd-hero__copy { padding-inline:20px; }
 .jb-bd-hero h1 { font-size:1.4rem; }
 .jb-bd-hero h1 span { font-size:clamp(3rem,15.4vw,3.45rem); }
 .jb-bd-button { padding-inline:13px; font-size:.86rem; }
}

/* Pied de page : services, paiement et livraison. */
.jb-footer-services { background:#fffdf7; color:#33271f; border-top:2px solid #33271f; padding:58px max(28px,calc((100% - 1180px)/2)) 24px; }
.jb-footer-services a { color:inherit; text-decoration:none; }
.jb-footer-services a:hover { color:#8d4c23; text-decoration:underline; text-underline-offset:4px; }
.jb-footer-services__top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:60px; padding-bottom:40px; }
.jb-footer-services .jb-footer-wordmark { font-family:var(--wp--preset--font-family--titre); font-weight:800; font-size:2.05rem; color:#9b552a; line-height:1.1; }
.jb-footer-services__brand p { color:#716251; font-size:.95rem; line-height:1.65; margin:15px 0 18px; }
.jb-footer-services__brand>a:not(.jb-footer-wordmark) { display:block; width:fit-content; margin:7px 0; font-size:.94rem; }
.jb-footer-services h2 { font-family:var(--wp--preset--font-family--ui, sans-serif); font-size:.8rem; font-weight:700; letter-spacing:normal; text-transform:uppercase; margin:0 0 20px; line-height:1.5; }
.jb-footer-services ul { padding:0; margin:0; list-style:none; }
.jb-footer-services li { margin:0 0 10px; font-size:.95rem; }
.jb-footer-services__methods { display:grid; grid-template-columns:1fr 1fr; gap:60px; border-block:1px solid #e4dbc7; padding:32px 0 35px; }
.jb-footer-services__methods section:last-child { justify-self:end; min-width:240px; }
.jb-footer-services__methods p { color:#716251; font-size:.78rem; margin:12px 0 0; }
.jb-payment-line { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.jb-footer-services .jb-payment-line li { margin:0; }
.jb-payment-line img { display:block; width:62.4px; height:40px; object-fit:contain; }
.jb-colissimo { display:inline-flex; align-items:center; gap:11px; font-size:1.7rem; font-weight:800; line-height:1; }
.jb-footer-services__bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:24px; }
.jb-footer-services__bottom p { font-size:.78rem; white-space:nowrap; margin:0; color:#716251; }
.jb-footer-services__bottom nav { display:flex; flex-wrap:wrap; gap:12px 25px; justify-content:flex-end; font-size:.78rem; }
@media(max-width:760px) { .jb-footer-services__top { grid-template-columns:1fr 1fr; gap:32px; } .jb-footer-services__brand { grid-column:1/-1; } .jb-footer-services__methods { gap:24px; } .jb-footer-services__methods section:last-child { min-width:0; } .jb-footer-services__bottom { display:block; } .jb-footer-services__bottom nav { justify-content:flex-start; margin-top:18px; } }
@media(max-width:420px) { .jb-footer-services { padding:38px 24px 25px; } .jb-footer-services__top { gap:25px 20px; } .jb-footer-services__methods { grid-template-columns:1fr; gap:28px; } .jb-footer-services__methods section:last-child { justify-self:start; } .jb-footer-services h2 { font-size:.73rem; } .jb-footer-services li { font-size:.88rem; } }

/* La BD à l'affiche. */
.jb-header__row { gap:24px; }
.jb-header__row .jb-logo { white-space:nowrap; }
.jb-product-nav ul { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 28px; padding:0; margin:0; list-style:none; }
.jb-product-nav a { display:flex; align-items:center; min-height:44px; color:var(--jb-ink); font-family:var(--wp--preset--font-family--titre); font-size:1rem; font-weight:700; text-decoration:none; }
.jb-product-nav a:hover, .jb-product-nav a[aria-current="page"] { color:#9b552a; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:2px; }
.jb-bd-hero--book { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:20px; min-height:620px; background:#ffeaa0; }
.jb-bd-hero--book img.jb-bd-hero__art { height:100%; top:0; bottom:auto; opacity:.23; object-position:center 70%; }
.jb-bd-hero--book::before { background:linear-gradient(90deg,#fff0b9 0%,#fff0b9e6 37%,#ffedb27a 70%,#e2ecc161 100%); }
.jb-bd-hero--book .jb-bd-hero__copy { width:auto; padding:48px 0 48px 52px; }
.jb-bd-hero--book h1 { font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:24px; }
.jb-bd-hero--book h1 span { font-size:clamp(2.8rem,5.5vw,4.3rem); line-height:1.05; padding-top:12px; }
.jb-bd-hero--book .jb-bd-hero__intro { max-width:36ch; }
.jb-bd-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px 26px; }
.jb-bd-hero__shop { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:.93rem; font-weight:800; color:var(--jb-ink); text-decoration:underline; text-underline-offset:5px; }
.jb-bd-hero__product { position:relative; min-width:0; padding:44px 44px 28px 12px; text-align:center; }
.jb-bd-hero__cover { display:block; position:relative; width:min(100%,330px); margin:0 auto; transform:rotate(5deg); border:2px solid var(--jb-ink); border-radius:2px 5px 5px 2px; background:#fff5d9; box-shadow:5px 3px 0 #fff6db,7px 4px 0 #8a6b42,17px 20px 26px #5a3d203b; }
.jb-bd-hero__cover img { display:block; width:100%; height:auto; border-radius:inherit; }
.jb-bd-hero__sticker { position:absolute; top:50px; right:22px; padding:17px 21px; font-family:var(--wp--preset--font-family--titre); font-size:1.15rem; font-weight:800; line-height:1.12; color:var(--jb-ink); background:#fffdf4; border:2px solid var(--jb-ink); border-radius:50%; transform:rotate(9deg); box-shadow:2px 3px 0 var(--jb-ink); pointer-events:none; }
.jb-bd-hero__caption { margin:30px 0 0; font-family:var(--wp--preset--font-family--titre); font-size:1rem; font-weight:700; color:#584328; }
@media(max-width:960px) {
 .jb-bd-hero--book { min-height:540px; gap:10px; }
 .jb-bd-hero--book .jb-bd-hero__copy { padding:38px 0 38px 30px; }
 .jb-bd-hero--book h1 span { font-size:clamp(2.6rem,5.5vw,3.6rem); }
 .jb-bd-hero__product { padding:42px 28px 28px 14px; }
 .jb-bd-hero__sticker { right:12px; top:28px; font-size:1rem; padding:13px 17px; }
}
@media(max-width:760px) {
 html { scroll-padding-top:100px; }
 .jb-header { padding:12px 20px 15px !important; }
 .jb-header .jb-header__row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 16px; }
 .jb-header__row .jb-logo { grid-column:1; grid-row:1; margin:0; }
 .jb-header__row .jb-header__icons { grid-column:2; grid-row:1; margin:0; }
 .jb-header__row .jb-product-nav { grid-column:1/-1; grid-row:2; margin:0; border-top:1px solid #e4dbc7; padding-top:6px; }
 .jb-product-nav ul { justify-content:space-between; gap:4px 12px; }
 .jb-product-nav a { font-size:.95rem; }
 .jb-bd-hero--book { grid-template-columns:minmax(0,1fr); min-height:0; gap:0; }
 .jb-bd-hero--book .jb-bd-hero__copy { padding:32px 26px 12px; text-align:center; }
 .jb-bd-hero--book h1 { font-size:1.5rem; margin-bottom:19px; }
 .jb-bd-hero--book h1 span { font-size:clamp(2.5rem,8vw,3.6rem); }
 .jb-bd-hero--book .jb-bd-hero__intro { margin:0 auto 22px; font-size:.96rem; }
 .jb-bd-hero__actions { justify-content:center; gap:12px 22px; }
 .jb-bd-hero--book::before { background:linear-gradient(180deg,#fff0b9 0%,#fff0b9ed 42%,#ffedb25c 100%); }
 .jb-bd-hero__product { width:min(100%,420px); box-sizing:border-box; justify-self:center; padding:28px 45px 22px; }
 .jb-bd-hero__cover { width:min(100%,245px); }
 .jb-bd-hero__sticker { right:16px; top:26px; font-size:.95rem; }
 .jb-bd-hero__caption { margin-top:23px; font-size:.9rem; }
}
@media(max-width:360px) {
 .jb-header { padding-inline:14px !important; }
 .jb-header__row .jb-logo { font-size:1.45rem; }
 .jb-bd-hero--book .jb-bd-hero__copy { padding-inline:18px; }
 .jb-bd-hero--book h1 { font-size:1.3rem; }
 .jb-bd-hero--book h1 span { font-size:2.25rem; }
 .jb-bd-hero__actions { flex-direction:column; gap:10px; }
 .jb-bd-hero__product { padding-inline:36px; }
}

/* Bannière bord à bord. */
.jb-shop-main.jb-shop-main--wide { padding-top:0 !important; margin-top:0; }
.jb-shop-main--wide > .jb-shop-content { margin-top:0; padding-inline:clamp(20px,3vw,40px); }
.jb-shop-main--wide .jb-bd-hero--book {
 box-sizing:border-box;
 width:100%;
 max-width:none;
 margin:0;
 min-height:620px;
 min-height:clamp(620px,calc(100svh - 82px),900px);
 padding:32px max(32px,calc((100% - 1280px)/2));
 gap:40px;
 border:0;
 border-radius:0;
 box-shadow:none;
}
.jb-shop-main--wide .jb-bd-hero--book .jb-bd-hero__copy { padding:20px 0; }
.jb-shop-main--wide .jb-bd-hero__product { padding:24px 42px 20px; }
.jb-shop-main--wide .jb-bd-hero__cover { width:min(100%,390px); }
.jb-shop-main--wide .jb-bd-hero__sticker { top:32px; right:14px; }
.jb-shop-main--wide > .jb-bd-ribbon { box-sizing:border-box; width:calc(100% - 48px); max-width:1180px; margin:0 auto 48px; padding-block:24px; }
@media(max-width:960px) and (min-width:761px) {
 .jb-shop-main--wide .jb-bd-hero--book { gap:24px; padding-inline:30px; min-height:600px; }
 .jb-shop-main--wide .jb-bd-hero__product { padding-inline:20px; }
}
@media(max-width:760px) {
 .jb-shop-main--wide .jb-bd-hero--book { min-height:0; padding:30px 24px 24px; gap:0; }
 .jb-shop-main--wide .jb-bd-hero--book .jb-bd-hero__copy { padding:0; }
 .jb-shop-main--wide .jb-bd-hero__product { padding:30px 38px 8px; }
 .jb-shop-main--wide .jb-bd-hero__cover { width:min(100%,260px); }
 .jb-shop-main--wide .jb-bd-hero__sticker { top:32px; right:12px; }
 .jb-shop-main--wide > .jb-bd-ribbon { margin-bottom:30px; padding-block:20px; }
}
@media(max-width:360px) {
 .jb-shop-main--wide .jb-bd-hero--book { padding-inline:18px; }
 .jb-shop-main--wide .jb-bd-hero__product { padding-inline:32px; }
}

/* Illustration d'origine bord à bord. */
.jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) { box-sizing:border-box; width:100%; max-width:none; min-height:610px; margin:0; border:0; border-radius:0; box-shadow:none; padding-inline:max(0px,calc((100% - 1280px)/2)); }
.jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-hero__copy { width:47%; padding:64px 0 58px 52px; }
.jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-note { right:max(38px,calc((100% - 1280px)/2 + 38px)); }
@media(max-width:900px) { .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-hero__copy { padding:52px 0 48px 30px; width:49%; } }
@media(max-width:600px) {
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) { min-height:760px; }
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-hero__copy { width:100%; padding:34px 26px 340px; }
}
@media(max-width:360px) { .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-hero__copy { padding-inline:20px; } }

/* Catalogue élargi : trois cartes et grandes photos bord à bord. */
.jb-shop-content > .wp-block-woocommerce-legacy-template { max-width:1280px; }
.woocommerce-shop ul.products { width:100%; max-width:1280px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.jb-bd-section-heading { max-width:1280px; margin-bottom:30px; }
.woocommerce ul.products li.product { min-width:0; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display:block; }
.woocommerce ul.products li.product .jb-product-card__media { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; height:auto; aspect-ratio:3/4; padding:0; overflow:hidden; background:#fffdf4; border-bottom:2px solid var(--jb-ink); }
.woocommerce ul.products li.product .jb-product-card__media img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; margin:0; object-fit:cover; object-position:center; aspect-ratio:3/4; border:0; background:transparent; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:3.5rem; box-sizing:border-box; padding:18px 20px 4px; font-size:1.3rem; line-height:1.2; }
.woocommerce ul.products li.product .price { padding:0 20px; margin-bottom:14px; font-size:1.25rem; }
.woocommerce ul.products li.product .jb-dots { padding:0 20px 16px; }
.woocommerce ul.products li.product .button { margin:auto 20px 22px; padding:12px 14px; font-size:.95rem; }
@media(max-width:900px) {
 .woocommerce-shop ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
}
@media(max-width:600px) {
 .woocommerce-shop ul.products { grid-template-columns:minmax(0,1fr); max-width:420px; gap:26px; }
 .jb-bd-section-heading h2 { font-size:1.85rem; }
}

/* Galerie produit : miniatures compactes, sur une seule rangée défilante. */
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs {
 display:flex;
 flex-flow:row nowrap;
 align-items:center;
 gap:10px;
 box-sizing:border-box;
 width:100%;
 max-width:100%;
 margin:0;
 padding:14px 12px 16px;
 border-top:1px solid #d8ccb1;
 background:#fffdf4;
 overflow-x:auto;
 overflow-y:hidden;
 overscroll-behavior-inline:contain;
 scroll-snap-type:x proximity;
 scroll-padding-inline:12px;
 scrollbar-width:thin;
 scrollbar-color:#b78e5c #f0e8d7;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs::before,
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs::after { display:none; }
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li {
 flex:0 0 76px;
 width:76px;
 min-width:76px;
 max-width:76px;
 height:96px;
 float:none;
 clear:none;
 margin:0;
 padding:0;
 list-style:none;
 scroll-snap-align:start;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li img {
 display:block;
 box-sizing:border-box;
 width:100%;
 height:100%;
 max-width:100%;
 margin:0;
 padding:3px;
 border:2px solid #d8ccb1;
 border-radius:7px;
 background:#fffef9;
 object-fit:contain;
 opacity:1;
 cursor:pointer;
 transition:border-color .15s ease,box-shadow .15s ease;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li img:hover { border-color:#91623f; }
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
 border-color:#ad571d;
 box-shadow:0 0 0 2px #f5a44355;
 opacity:1;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li img:focus-visible { outline:2px solid #365728; outline-offset:2px; }
@media(max-width:600px) {
 .woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs { gap:8px; padding:12px 10px 14px; }
 .woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li { flex-basis:64px; width:64px; min-width:64px; max-width:64px; height:82px; }
}

/* Pré-footer : les services, puis les liens sociaux sans scripts tiers. */
.jb-reassurance { background:#ffd17b; color:var(--jb-ink); border-top:2px solid var(--jb-ink); padding:38px 28px; }
.jb-reassurance ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; max-width:1180px; margin:0 auto; padding:0; list-style:none; }
.jb-reassurance a { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; color:inherit; text-decoration:none; font-size:.85rem; line-height:1.45; }
.jb-reassurance a:hover .jb-reassurance__title { text-decoration:underline; text-underline-offset:4px; }
.jb-reassurance svg { display:block; width:34px; height:34px; margin-bottom:8px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.jb-reassurance__title { font-family:var(--wp--preset--font-family--titre); font-size:1.2rem; font-weight:700; }
.jb-social { background:#dfeef1; color:var(--jb-ink); text-align:center; padding:32px 24px 34px; }
.jb-social h2 { font-family:var(--wp--preset--font-family--titre); font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.3; margin:0 0 20px; }
.jb-social ul { display:flex; justify-content:center; gap:32px; margin:0; padding:0; list-style:none; }
.jb-social a { display:flex; flex-direction:column; align-items:center; gap:8px; color:inherit; font-size:.8rem; font-weight:700; text-decoration:none; }
.jb-social__icon { display:grid; place-items:center; width:48px; height:48px; border:1.5px solid var(--jb-ink); border-radius:50%; background:#ffca69; transition:background-color .15s ease; }
.jb-social__icon svg { display:block; width:23px; height:23px; fill:currentColor; }
.jb-social a:hover .jb-social__icon { background:#fff6da; }
.jb-social a:hover { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px) {
 html { scroll-padding-top:145px; }
 .jb-reassurance { padding:30px 20px; }
 .jb-reassurance ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
 .jb-reassurance__title { font-size:1.05rem; }
 .jb-reassurance a { font-size:.78rem; }
 .jb-social ul { gap:25px; }
}
@media(max-width:420px) {
 .jb-payment-line { gap:10px; }
 .jb-payment-line img { width:56px; height:36px; }
}

/* Panier Jobard : confirmation lisible et icône au trait de l’univers BD. */
.wc-block-components-notice-banner.is-success {
 background:#f2f6e6;
 border:1px solid #a8b88a;
 border-radius:10px 13px 9px 12px;
 color:var(--jb-ink);
 gap:14px;
}
.wc-block-components-notice-banner.is-success > svg {
 background:#688137;
 fill:#fffdf3;
 flex-shrink:0;
 margin-top:9px;
}
.wc-block-components-notice-banner.is-success > .wc-block-components-notice-banner__content {
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:14px 24px;
 padding-right:4px;
 font-size:1rem;
 line-height:1.55;
}
/* WooCommerce impose ici des styles de lien avec !important. */
body .wc-block-components-notice-banner .button.wc-forward,
body .woocommerce-message .button.wc-forward {
 display:inline-flex !important;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 order:2;
 min-height:44px;
 box-sizing:border-box;
 float:none !important;
 margin:0 0 3px auto !important;
 padding:11px 20px !important;
 border:2px solid var(--jb-ink) !important;
 border-radius:7px 11px 8px 9px;
 background:var(--jb-orange) !important;
 color:var(--jb-ink) !important;
 box-shadow:2px 3px 0 var(--jb-ink);
 font-family:var(--wp--preset--font-family--titre);
 font-size:1rem;
 font-weight:800;
 line-height:1.25;
 text-decoration:none !important;
 opacity:1;
 white-space:normal;
 text-align:center;
}
body .wc-block-components-notice-banner .button.wc-forward:hover,
body .woocommerce-message .button.wc-forward:hover {
 background:#ffdc6b !important;
 color:var(--jb-ink) !important;
 box-shadow:3px 4px 0 var(--jb-ink);
 transform:translate(-1px,-1px);
}
body .wc-block-components-notice-banner .button.wc-forward:active,
body .woocommerce-message .button.wc-forward:active {
 transform:translate(1px,2px);
 box-shadow:1px 1px 0 var(--jb-ink);
}
.jb-header .wc-block-mini-cart__button {
 min-width:46px;
 min-height:46px;
 box-sizing:border-box;
 padding:6px;
 border:2px solid var(--jb-ink);
 border-radius:11px 9px 12px 8px;
 background:#fff0cf;
 color:var(--jb-ink);
 box-shadow:2px 3px 0 var(--jb-ink);
 transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.jb-header .wc-block-mini-cart__button:hover { background:#ffdc6b; opacity:1; }
.jb-header .wc-block-mini-cart__button:active { transform:translate(1px,2px); box-shadow:1px 1px 0 var(--jb-ink); }
/* Conserver le bouton, son libellé accessible, le compteur et le tiroir natifs. */
.jb-header .wc-block-mini-cart__quantity-badge { position:relative; display:inline-flex; align-items:center; }
.jb-header .wc-block-mini-cart__quantity-badge::before {
 content:"";
 display:block;
 width:30px;
 height:30px;
 background:url("assets/images/panier-jobard.svg") center/contain no-repeat;
}
.jb-header .wc-block-mini-cart__icon { display:none; }
.jb-header .wc-block-mini-cart__badge {
 min-width:20px;
 height:20px;
 box-sizing:border-box;
 padding:0 4px;
 top:-9px;
 right:-10px;
 border:1.5px solid var(--jb-ink);
 border-radius:50%;
 background:#506930 !important;
 color:#fffdf3 !important;
 font-family:var(--wp--preset--font-family--titre);
 font-size:12px;
 font-weight:800;
 line-height:17px;
}
.jb-header .jb-compte a {
 width:46px;
 height:46px;
 flex-shrink:0;
 box-sizing:border-box;
 border:2px solid var(--jb-ink);
 border-radius:9px 12px 8px 11px;
 background:#fff0cf url("assets/images/compte-jobard.svg") center/30px 30px no-repeat;
 box-shadow:2px 3px 0 var(--jb-ink);
 transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.jb-header .jb-compte a:hover { background-color:#ffdc6b; }
.jb-header .jb-compte a:active { transform:translate(1px,2px); box-shadow:1px 1px 0 var(--jb-ink); }
.jb-header .wc-block-mini-cart__button:focus-visible,
.jb-header .jb-compte a:focus-visible,
body .wc-block-components-notice-banner .button.wc-forward:focus-visible,
body .woocommerce-message .button.wc-forward:focus-visible {
 outline:3px solid #79311f;
 outline-offset:5px;
}
@media (max-width:600px) {
 .wc-block-components-notice-banner.is-success > svg { margin-top:0; }
 body .wc-block-components-notice-banner .button.wc-forward,
 body .woocommerce-message .button.wc-forward { width:100%; margin-left:0 !important; }
 .jb-header__icons { gap:.6rem; }
}

/* Sur téléphone, l'illustration ouvre le hero puis laisse place au texte. */
@media (max-width: 600px) {
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) {
  display: flex; flex-direction: column; min-height: 0; padding: 0;
 }
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book)::before { display: none; }
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) img.jb-bd-hero__art {
  position: static; z-index: auto; display: block; width: 100%;
  height: clamp(260px, 78vw, 410px); flex: none; object-fit: cover; object-position: right bottom;
 }
 .jb-shop-main--wide > .jb-bd-hero:not(.jb-bd-hero--book) .jb-bd-hero__copy {
  width: 100%; padding: 28px 24px 36px;
 }
}
