/**
 * Styles globaux — skeditions.fr (refonte 2026, maquette Bookoe) : boutons, titres de
 * section, cartes livres, en-tête, pied de page, sections de l'accueil.
 * Chargée partout (mu-plugin bp-skeditions-accueil). Variables : poser-systeme-design.php.
 * Miroir local : skeditions.fr/refonte/bricks-child/assets/ — modifier localement puis pousser.
 */

/* NB : les conteneurs Bricks (container, block) sont en colonne par défaut : toute classe
   posée sur l'un d'eux et censée aligner en ligne doit le dire (flex-direction: row). */

/* ---------- boutons ---------- */
.sk-btn,
.brxe-button.sk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 56px; padding: 0 var(--sp-32); border-radius: var(--radius-md);
	background: var(--color-primary); color: var(--color-white); border: 2px solid var(--color-primary);
	font: 700 var(--fs-18)/1 var(--font-heading); text-decoration: none; cursor: pointer;
	box-shadow: var(--shadow-accent); transition: background-color .2s, color .2s, border-color .2s;
}
.sk-btn:hover, .sk-btn:focus-visible { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: var(--color-white); }
.sk-btn--contour, .brxe-button.sk-btn--contour { background: transparent; color: var(--color-primary); box-shadow: none; }
.sk-btn--contour:hover { background: var(--color-primary); color: var(--color-white); }
.sk-btn--clair, .brxe-button.sk-btn--clair { background: var(--color-white); color: var(--color-dark); border-color: var(--color-white); box-shadow: none; }
.sk-btn--clair:hover { background: var(--color-primary-soft); border-color: var(--color-primary-soft); color: var(--color-primary); }

.sk-surtitre { margin: 0; font: 700 var(--fs-16)/1.3 var(--font-heading); letter-spacing: .06em; text-transform: uppercase; color: var(--color-accent-text); }

/* ---------- sections et titres de section ---------- */
.sk-section { padding-block: var(--sp-80); }
.sk-section--teinte { background: var(--color-grey-3); }
.sk-section--rose { background: var(--color-primary-soft); }
.sk-section--sombre { background: var(--color-dark); color: #D7D8E0; }
.sk-section--sombre :is(h1, h2, h3) { color: var(--color-white); }
.sk-entete-section { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sp-16) var(--sp-32); width: 100%; margin-bottom: var(--sp-40); }
.sk-entete-section > * { width: auto; }
.sk-entete-section > :first-child { flex: 1 1 auto; }
.sk-entete-section :is(h2) { margin: 0; }
.sk-entete-section p { margin: var(--sp-8) 0 0; color: var(--color-text-muted); max-width: 60ch; }
.sk-voir-tout { font: 700 var(--fs-16)/1.2 var(--font-heading); color: var(--color-primary); text-decoration: none; white-space: nowrap; }
.sk-voir-tout:hover { text-decoration: underline; }

/* ---------- cartes livres (toutes les boucles WooCommerce marquées .sk-grille) ---------- */
.sk-grille { width: 100%; }
.sk-grille ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--sp-40) var(--sp-32); margin: 0; padding: 0; list-style: none; }
.sk-grille ul.products::before, .sk-grille ul.products::after { content: none; }
.sk-grille ul.products li.product { width: auto; margin: 0; float: none; display: flex; flex-direction: column; gap: 6px; position: relative; }
.sk-grille ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.sk-grille ul.products li.product img { aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-md); width: 100%; margin: 0 0 var(--sp-8); box-shadow: var(--shadow-faint); transition: transform .25s, box-shadow .25s; }
.sk-grille ul.products li.product:hover img { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.sk-grille .woocommerce-loop-product__title { font: 700 var(--fs-18)/1.3 var(--font-heading); color: var(--color-dark); margin: 0; padding: 0; }
.sk-grille .sk-carte__auteur { font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-grille ul.products li.product .star-rating { font-size: 12px; margin: 2px 0; }
.sk-grille ul.products li.product .price { font: 700 var(--fs-18)/1.2 var(--font-heading); color: var(--color-primary); margin: 0; }
.sk-grille ul.products li.product .price del { font-size: var(--fs-14); color: var(--color-text-muted); font-weight: 600; }
.sk-grille ul.products li.product .price ins { text-decoration: none; }
/* badges : à gauche sur la couverture ; la promo passe à droite pour ne pas s'y superposer */
.sk-grille ul.products li.product .sk-badge { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 12px; border-radius: var(--radius-md); background: var(--color-dark); color: var(--color-white); font: 700 var(--fs-14)/1.4 var(--font-body); }
.sk-grille ul.products li.product .sk-badge--precommander { background: var(--color-primary); }
.sk-grille ul.products li.product .onsale {
	position: absolute; top: 10px; left: auto; right: 10px; z-index: 2; margin: 0; min-height: 0; min-width: 0;
	background: var(--color-accent); color: var(--color-dark); border-radius: var(--radius-md);
	padding: 4px 12px; font: 700 var(--fs-14)/1.4 var(--font-body);
}
.sk-grille ul.products li.product .button { display: none; }

/* ---------- en-tête ---------- */
.sk-entete { background: var(--color-white); border-bottom: 1px solid var(--color-grey-2); }
.sk-entete__haut { display: flex; flex-direction: row; align-items: center; gap: var(--sp-32); padding-block: var(--sp-20); }
.sk-logo img { height: 64px; width: auto; max-width: none; display: block; }
/* Les blocs Bricks (block, shortcode, search) ont width:100% par défaut : dans une rangée,
   le logo tombait à 0 px et les actions prenaient 1 361 px (mesuré). */
.sk-entete__haut > * { width: auto; flex: none; }
.sk-entete__haut > .sk-recherche { flex: 1 1 auto; }
.sk-recherche { flex: 1 1 auto; max-width: 760px; margin-inline: auto; }
.sk-recherche form { display: flex; align-items: stretch; width: 100%; }
.sk-recherche input[type="search"] {
	flex: 1; height: 56px; padding: 0 var(--sp-24); border: 2px solid var(--color-grey-2); border-right: 0;
	border-radius: var(--radius-md) 0 0 var(--radius-md); font: 400 var(--fs-16)/1 var(--font-body); color: var(--color-dark); background: var(--color-white);
}
.sk-recherche input[type="search"]::placeholder { color: var(--color-text-muted); }
.sk-recherche input[type="search"]:focus { outline: none; border-color: var(--color-primary); }
.sk-recherche button { height: 56px; padding: 0 var(--sp-20); border: 2px solid var(--color-grey-2); border-left: 0; border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--color-white); color: var(--color-primary); cursor: pointer; }
.sk-recherche input[type="search"]:focus + button { border-color: var(--color-primary); }
.sk-entete__actions > * { width: auto; }
.sk-entete__actions { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: var(--sp-12); flex: none; }
.sk-compte { display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 var(--sp-20); border-radius: var(--radius-md); background: var(--color-primary-soft); color: var(--color-primary); font: 700 var(--fs-16)/1 var(--font-heading); text-decoration: none; }
.sk-compte:hover { background: var(--color-primary); color: var(--color-white); }
.sk-panier .mini-cart-link { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--radius-md); background: var(--color-primary); color: var(--color-white); font-size: 22px; position: relative; }
.sk-panier .cart-count { background: var(--color-accent); color: var(--color-dark); font: 700 12px/20px var(--font-body); min-width: 20px; height: 20px; border-radius: 10px; top: -6px; right: -6px; }

.sk-entete__nav { border-top: 1px solid var(--color-grey-2); }
.sk-menu .bricks-nav-menu > li > a,
.sk-menu .bricks-nav-menu > li > .brx-submenu-toggle > a { font: 700 var(--fs-16)/1 var(--font-heading); color: var(--color-dark); padding-block: var(--sp-20); }
.sk-menu .bricks-nav-menu > li { margin: 0 var(--sp-32) 0 0; }
.sk-menu .bricks-nav-menu > li:hover > a,
.sk-menu .bricks-nav-menu > li:hover > .brx-submenu-toggle > a,
.sk-menu .bricks-nav-menu > li.current-menu-item > a,
.sk-menu .bricks-nav-menu > li.current-menu-ancestor > .brx-submenu-toggle > a { color: var(--color-primary); }
.sk-menu .sub-menu { background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); padding: var(--sp-8) 0; min-width: 260px; }
.sk-menu .sub-menu a { font: 600 var(--fs-16)/1.3 var(--font-body); color: var(--color-dark); padding: 10px var(--sp-20); white-space: nowrap; }
.sk-menu .sub-menu a:hover { color: var(--color-primary); background: var(--color-primary-soft); }

/* menu mobile (panneau Bricks) : fond clair aux couleurs du site au lieu du gris foncé par défaut */
.sk-menu .bricks-mobile-menu-wrapper { width: min(360px, 88vw); padding: 80px var(--sp-24) var(--sp-24); box-shadow: var(--shadow-soft); }
.sk-menu .bricks-mobile-menu-wrapper::before { background: var(--color-white); }
.sk-menu .bricks-mobile-menu > li { border-bottom: 1px solid var(--color-grey-2); }
.sk-menu .bricks-mobile-menu a { color: var(--color-dark); font: 700 var(--fs-18)/1.3 var(--font-heading); padding: 14px 0; }
.sk-menu .bricks-mobile-menu .sub-menu a { font: 600 var(--fs-16)/1.3 var(--font-body); padding: 10px 0 10px var(--sp-16); }
.sk-menu .bricks-mobile-menu .brx-submenu-toggle button { color: var(--color-dark); }
.sk-menu .bricks-mobile-menu a:hover, .sk-menu .bricks-mobile-menu .current-menu-item > a { color: var(--color-primary); }
.sk-menu.show-mobile-menu .bricks-mobile-menu-toggle { color: var(--color-dark); z-index: 1001; }
.sk-menu .bricks-mobile-menu-overlay { background: rgba(17, 20, 45, .5); }
.sk-menu .bricks-mobile-menu .sub-menu { box-shadow: none; border-radius: 0; padding: 0; min-width: 0; background: transparent; }

/* ---------- messages WooCommerce (partout : ajout au panier, erreurs, invitations) ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-8) var(--sp-16); margin: 0; padding: var(--sp-12) var(--sp-20); border: 0; border-left: 4px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-primary-soft); color: var(--color-dark); font-size: var(--fs-16); list-style: none; }
.woocommerce-error { border-left-color: var(--color-accent-text); background: #FFF1EC; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button) { color: var(--color-primary); font-weight: 600; }
.woocommerce-message .button, .woocommerce-info .button { display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--sp-16); border: 0; border-radius: var(--radius-sm); background: var(--color-primary); color: var(--color-white); font: 700 var(--fs-14)/1.2 var(--font-heading); text-decoration: none; }
.woocommerce-message .button:hover, .woocommerce-info .button:hover { background: var(--color-primary-hover); color: var(--color-white); }

/* ---------- fil d'Ariane (fiches et boutique) ---------- */
.sk-ariane { font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-ariane .navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.sk-ariane a { color: var(--color-text-muted); text-decoration: none; }
.sk-ariane a:hover { color: var(--color-primary); }
.sk-ariane .separator { color: var(--color-grey-1); }

/* ---------- pied de page ---------- */
.sk-pied { background: var(--color-dark); color: #C9CBD6; padding-block: var(--sp-80) 0; }
.sk-pied a { color: #C9CBD6; text-decoration: none; }
.sk-pied a:hover { color: var(--color-white); }
.sk-pied__grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--sp-48); width: 100%; }
.sk-logo--clair img { height: 72px; width: auto; filter: brightness(0) invert(1); } /* le logo est noir : passé en blanc sur le fond sombre */
.sk-pied__baseline { margin: var(--sp-20) 0; max-width: 34ch; line-height: 1.6; }
.sk-pied h2, .sk-pied .sk-pied__titre { font: 700 var(--fs-20)/1.2 var(--font-heading); color: var(--color-white); margin: 0 0 var(--sp-20); }
.sk-pied .bricks-nav-menu { display: flex; flex-direction: column; gap: 12px; }
.sk-pied .bricks-nav-menu > li { margin: 0; }
.sk-pied .bricks-nav-menu a { font: 400 var(--fs-16)/1.4 var(--font-body); color: #C9CBD6; padding: 0; }
.sk-pied .bricks-nav-menu a:hover { color: var(--color-white); }
.sk-pied__contact { font-style: normal; line-height: 1.8; }
.sk-pied__reseaux { display: flex; gap: var(--sp-12); margin-top: var(--sp-8); }
.sk-pied__reseaux a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: rgba(255, 255, 255, .08); color: var(--color-white); font-size: 20px; }
.sk-pied__reseaux a:hover { background: var(--color-primary); }
.sk-pied__bas { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-12); width: 100%; margin-top: var(--sp-64); padding-block: var(--sp-24); border-top: 1px solid rgba(255, 255, 255, .1); font-size: var(--fs-14); }
.sk-pied__bas > * { width: auto; }
.sk-pied__bas p { margin: 0; }
.sk-coeur { color: var(--color-accent); }

/* ---------- boutique (gabarit « Boutique » : boutique, catégories, auteurs, séries, recherche) ---------- */
.sk-boutique { padding-block: var(--sp-24) var(--sp-80); }
.sk-boutique__grille { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: var(--sp-40); width: 100%; margin-top: var(--sp-24); align-items: start; }
.sk-boutique__contenu { display: flex; flex-direction: column; gap: var(--sp-24); min-width: 0; }
.sk-boutique__entete { display: flex; flex-direction: row; align-items: center; gap: var(--sp-24); }
.sk-boutique__entete > * { width: auto; }
.sk-boutique__portrait.sk-portrait { width: 120px; height: 120px; }
.sk-boutique__titre { margin: 0; font-size: var(--fs-40); }
.sk-boutique__intro { margin-top: var(--sp-12); color: var(--color-text-muted); max-width: 80ch; line-height: 1.6; }
.sk-boutique__intro p { margin: 0 0 var(--sp-8); }
.sk-boutique__barre { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-12) var(--sp-24); padding: var(--sp-12) var(--sp-20); background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-faint); }
.sk-boutique__barre > * { width: auto; }
.sk-boutique__compte { color: var(--color-text-muted); font-weight: 600; }
.sk-boutique__tri select, .sk-boutique__tri { min-width: 220px; }
.sk-boutique__tri select { height: 44px; padding: 0 var(--sp-12); border: 2px solid var(--color-grey-2); border-radius: var(--radius-sm); background-color: var(--color-white); color: var(--color-dark); font: 600 var(--fs-16)/1 var(--font-body); }
.sk-boutique__actifs:empty { display: none; }
.sk-boutique__actifs { display: flex; flex-wrap: wrap; gap: var(--sp-8); list-style: none; margin: 0; padding: 0; }
.sk-boutique__actifs li { margin: 0; }
.sk-boutique__actifs button { background: var(--color-primary-soft); color: var(--color-primary); border: 0; border-radius: var(--radius-full); padding: 6px 14px; font: 600 var(--fs-14)/1.3 var(--font-body); cursor: pointer; }
.sk-boutique__actifs button:hover { background: var(--color-primary); color: var(--color-white); }
.sk-grille--boutique ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* boucle Bricks : le <ul> et les <li> sont des blocs, à remettre d'aplomb sur les cartes des autres rangées */
.sk-grille--boutique ul.products { width: 100%; }
.sk-grille--boutique ul.products li.product { align-items: stretch; min-width: 0; }
.sk-grille--boutique li.product > .brxe-shortcode { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.sk-boutique__vide { grid-column: 1 / -1; padding: var(--sp-40); background: var(--color-primary-soft); border-radius: var(--radius-md); color: var(--color-dark); margin: 0; }
.sk-boutique .woocommerce-info, .sk-boutique .woocommerce-no-products-found { padding: var(--sp-40); background: var(--color-primary-soft); border-radius: var(--radius-md); color: var(--color-dark); border: 0; }

/* pagination */
.sk-pagination { margin-top: var(--sp-16); }
.sk-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-8); margin: 0; padding: 0; list-style: none; }
.sk-pagination .page-numbers li { margin: 0; }
.sk-pagination .page-numbers a, .sk-pagination .page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; padding: 0 var(--sp-12); border-radius: var(--radius-md); background: var(--color-white); color: var(--color-dark); font: 700 var(--fs-16)/1 var(--font-heading); text-decoration: none; box-shadow: var(--shadow-faint); }
.sk-pagination .page-numbers a:hover { color: var(--color-primary); }
.sk-pagination .page-numbers .current { background: var(--color-primary); color: var(--color-white); }
.sk-pagination .page-numbers .dots { background: transparent; box-shadow: none; }

/* colonne des filtres */
.sk-filtres { display: flex; flex-direction: column; gap: var(--sp-16); }
.sk-filtres__haut { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--sp-12); }
.sk-filtres__haut > * { width: auto; }
.sk-filtres__titre { margin: 0; font-size: var(--fs-40); }
.sk-filtres__bouton { display: none; }
.sk-filtres__corps { display: flex; flex-direction: column; gap: var(--sp-16); }
.sk-filtre { background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-faint); padding: var(--sp-20) var(--sp-24); }
.sk-filtre__titre { margin: 0 0 var(--sp-12); padding-bottom: var(--sp-12); border-bottom: 1px solid var(--color-grey-3); font-size: var(--fs-20); }
.sk-filtre ul { margin: 0; padding: 0; list-style: none; }
.sk-filtre li { margin: 0; }
.sk-filtre label { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: var(--color-dark); cursor: pointer; line-height: 1.3; }
.sk-filtre label:hover { color: var(--color-primary); }
.sk-filtre input[type="checkbox"] { flex: none; width: 18px; height: 18px; accent-color: var(--color-primary); }
.sk-filtre--long .brxe-filter-checkbox { max-height: 260px; overflow-y: auto; }
/* Une case cochée dans un groupe : Bricks ne compte plus que le chevauchement avec elle
   (« Contemporaine (1) » alors que la cocher ajoute 161 livres). On masque ces nombres trompeurs. */
.sk-filtre .brxe-filter-checkbox:has(input:checked) .brx-option-count { display: none; }
.sk-filtre .brx-option-text { display: flex; flex-wrap: wrap; gap: 4px; }
.sk-filtre .brx-option-count { color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-filtre--prix .value-wrap .value::after { content: " €"; }
/* inutile de filtrer par auteur sur la page d'un auteur, ni par série sur celle d'une série */
.tax-product_brand .sk-filtre--auteur, .tax-serie .sk-filtre--serie { display: none; }
.sk-filtres__reset { width: 100%; min-height: 48px; justify-content: center; border: 2px solid var(--color-grey-2); border-radius: var(--radius-md); background: transparent; color: var(--color-dark); font: 700 var(--fs-16)/1 var(--font-heading); cursor: pointer; }
.sk-filtres__reset:hover { border-color: var(--color-primary); color: var(--color-primary); }

/* ---------- pages ordinaires (gabarit « Page ») ---------- */
.sk-page { padding-block: var(--sp-48) var(--sp-80); }
.sk-page__titre { margin: 0 0 var(--sp-32); }
.sk-page__contenu { width: 100%; max-width: 80ch; font-size: var(--fs-16); line-height: 1.7; }
.sk-page__contenu :is(h2, h3, h4, h5, h6) { margin: var(--sp-40) 0 var(--sp-12); }
.sk-page__contenu h2 { font-size: var(--fs-28); }
.sk-page__contenu :is(h3, h4, h5, h6) { font-size: var(--fs-20); }
.sk-page__contenu img { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.sk-page__contenu a { color: var(--color-primary); }
.sk-page__contenu, .sk-mesure { overflow-wrap: anywhere; }
/* bandeau de cookies : ni puce vide pour le document désactivé, ni texte collé au bord */
.cmplz-cookiebanner .cmplz-documents li:has(.cmplz-hidden) { display: none; }
/* la page « Nos auteurs » (grille) et les pages WooCommerce prennent toute la largeur */
.sk-page__contenu:has(.sk-auteurs--tous, .woocommerce) { max-width: none; }

/* ---------- pages de contenu (construites dans Bricks) ---------- */
.sk-page__corps { width: 100%; }
.sk-page .sk-ariane { margin-bottom: var(--sp-16); }
.sk-page__intro { font-size: var(--fs-20); color: var(--color-text-muted); margin-bottom: var(--sp-32); }
.sk-page__intro p { margin: 0; }
.sk-mesure { width: 100%; max-width: 80ch; display: flex; flex-direction: column; gap: var(--sp-24); line-height: 1.7; }
.sk-mesure a, .sk-presentation__texte a, .sk-contact__infos a { color: var(--color-primary); }
.sk-carte-page { background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-faint); padding: var(--sp-32); }
.sk-carte-page h2 { margin: 0 0 var(--sp-16); font-size: var(--fs-24); }
.sk-encadre { padding: var(--sp-24) var(--sp-32); border-left: 4px solid var(--color-primary); border-radius: var(--radius-md); background: var(--color-primary-soft); width: 100%; }
.sk-encadre h2 { margin: 0 0 var(--sp-12); font-size: var(--fs-24); color: var(--color-primary); }
.sk-encadre p:last-child { margin-bottom: 0; }
/* contact */
.sk-contact { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--sp-32); align-items: start; width: 100%; }
.sk-contact > * { width: 100%; }
.sk-contact__infos { line-height: 1.7; }
.sk-contact__infos a { font-weight: 600; text-decoration: none; }
/* qui sommes-nous */
.sk-presentation { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: var(--sp-48); align-items: start; width: 100%; }
.sk-presentation__photo { width: 100%; position: sticky; top: var(--sp-24); }
.sk-presentation__photo img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.sk-presentation__texte { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-16); max-width: 80ch; line-height: 1.7; }
/* partenaire */
.sk-partenaire { display: flex; flex-direction: row; align-items: center; gap: var(--sp-16); width: 100%; }
.sk-partenaire > * { width: auto; }
.sk-partenaire__logo img { width: 72px; height: auto; }
.sk-partenaire p { margin: 0; font-weight: 600; }
/* dédicaces : une date par carte, depuis une simple liste à puces */
.sk-dates { width: 100%; }
.sk-dates ul { display: flex; flex-direction: column; gap: var(--sp-12); margin: 0; padding: 0; list-style: none; }
.sk-dates li { margin: 0; padding: var(--sp-16) var(--sp-24); border-left: 4px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-white); box-shadow: var(--shadow-faint); line-height: 1.5; }
.sk-dates strong { color: var(--color-primary); font-family: var(--font-heading); }
/* articles */
.sk-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-32); width: 100%; }
.sk-article { background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-faint); overflow: hidden; }
.sk-article > a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; padding-bottom: var(--sp-20); }
.sk-article__image { display: block; width: 100%; height: 220px; object-fit: cover; background: var(--color-primary-soft); margin-bottom: var(--sp-16); }
.sk-article__sur { padding-inline: var(--sp-20); color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-article__titre { margin: 4px 0 var(--sp-8); padding-inline: var(--sp-20); font-size: var(--fs-20); line-height: 1.3; }
.sk-article > a:hover .sk-article__titre { color: var(--color-primary); }
.sk-article__texte { margin: 0; padding-inline: var(--sp-20); color: var(--color-text-muted); font-size: var(--fs-14); line-height: 1.5; }
.sk-article__date { margin: 0; color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-article__une { width: 100%; }
.sk-article__une img { display: block; width: auto; max-width: 100%; height: auto; max-height: 520px; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
.sk-articles__vide { padding: var(--sp-32); border-radius: var(--radius-md); background: var(--color-primary-soft); }
/* séries */
.sk-series { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--sp-32) var(--sp-24); width: 100%; }
.sk-serie { display: flex; flex-direction: column; gap: 4px; color: var(--color-dark); text-decoration: none; }
.sk-serie__image { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-faint); margin-bottom: var(--sp-8); transition: transform .25s; }
.sk-serie:hover .sk-serie__image { transform: translateY(-4px); }
.sk-serie__nom { font: 700 var(--fs-16)/1.3 var(--font-heading); }
.sk-serie:hover .sk-serie__nom { color: var(--color-primary); }
.sk-serie__nb { color: var(--color-text-muted); font-size: var(--fs-14); }
/* 404 */
.sk-erreur .sk-page__corps { align-items: center; text-align: center; gap: var(--sp-16); }
.sk-erreur__recherche { width: 100%; max-width: 560px; }
.sk-erreur__recherche form { display: flex; width: 100%; }
.sk-erreur__recherche input[type="search"] { flex: 1 1 auto; width: 100%; min-height: 52px; padding: 0 var(--sp-16); border: 2px solid var(--color-grey-2); border-radius: var(--radius-md); font: 400 var(--fs-16)/1.4 var(--font-body); }
.sk-erreur__recherche input[type="search"]:focus { border-color: var(--color-primary); outline: none; }
.sk-erreur__liens { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: var(--sp-12); margin-top: var(--sp-16); }
.sk-erreur__liens > * { width: auto; }
.sk-btn--ligne { background: transparent !important; color: var(--color-primary) !important; border: 2px solid var(--color-primary) !important; }
/* formulaire de contact (Gravity Forms) */
.sk-contact .gform_wrapper { --gf-color-primary: #811E27; --gf-color-primary-rgb: 129, 30, 39; --gf-color-primary-darker: #6A1820; --gf-ctrl-border-color: var(--color-grey-2); --gf-ctrl-radius: var(--radius-sm); }
.sk-contact .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]), .sk-contact .gform_wrapper select, .sk-contact .gform_wrapper textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 2px solid var(--color-grey-2); border-radius: var(--radius-sm); font: 400 var(--fs-16)/1.4 var(--font-body); }
.sk-contact .gform_wrapper input:focus, .sk-contact .gform_wrapper select:focus, .sk-contact .gform_wrapper textarea:focus { border-color: var(--color-primary); outline: none; }
.sk-contact .gform_wrapper .gfield_label { font-size: var(--fs-14); font-weight: 600; color: var(--color-dark); }
.sk-contact .gform_wrapper .gfield_required { color: var(--color-primary); }
.sk-contact .gform_wrapper input[type="checkbox"] { accent-color: var(--color-primary); width: 18px; height: 18px; }
.sk-contact .gform_wrapper .gform_footer input[type="submit"], .sk-contact .gform_wrapper .gform_footer button { min-height: 48px; padding: 0 var(--sp-32); border: 0; border-radius: var(--radius-md); background: var(--color-primary); color: var(--color-white); font: 700 var(--fs-16)/1.2 var(--font-heading); cursor: pointer; }
.sk-contact .gform_wrapper .gform_footer input[type="submit"]:hover { background: var(--color-primary-hover); }
/* newsletter (AcyMailing) sur le bandeau rouge. AcyMailing imprime ses styles en ligne, par identifiant :
   sans !important, le formulaire reste un cadre blanc à bouton noir. */
.sk-newsletter [id^="acym_fulldiv"] { width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; color: var(--color-white) !important; text-align: left !important; display: block !important; }
.sk-newsletter [id^="acym_fulldiv"] form { width: 100%; }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__fields { display: flex !important; flex-direction: column; align-items: stretch !important; gap: var(--sp-12); }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__fields > * { width: 100% !important; margin: 0 !important; }
.sk-newsletter [id^="acym_fulldiv"] .onefield input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) { width: 100% !important; min-height: 48px; margin: 0 !important; padding: 10px 14px; border: 0; border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-dark); font: 400 var(--fs-16)/1.4 var(--font-body); text-align: left; }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__termscond, .sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__termscond label { color: var(--color-white) !important; font-size: var(--fs-14); text-align: left; }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__termscond a { color: var(--color-white) !important; text-decoration: underline; }
.sk-newsletter [id^="acym_fulldiv"] input[type="checkbox"] { width: 18px; height: 18px; margin-right: 8px; accent-color: var(--color-white); vertical-align: middle; }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__button { display: block !important; margin-top: var(--sp-16); }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__button button { min-height: 48px; padding: 0 var(--sp-32) !important; border: 0 !important; border-radius: var(--radius-md) !important; background-color: var(--color-white) !important; color: var(--color-primary) !important; font: 700 var(--fs-16)/1.2 var(--font-heading); cursor: pointer; }
.sk-newsletter [id^="acym_fulldiv"] .acym__subscription__form__button button:hover { background-color: var(--color-primary-soft) !important; }

/* ---------- accueil : héros ---------- */
.sk-hero { padding-block: var(--sp-32) var(--sp-40); }
.sk-hero__grille { display: grid; grid-template-columns: minmax(0, 1fr) 384px; gap: var(--sp-24); width: 100%; }
.sk-hero__banniere { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: var(--sp-40); background: var(--color-primary-soft); border-radius: var(--radius-xl); padding: var(--sp-64) var(--sp-80); overflow: hidden; min-height: 560px; }
.sk-hero__texte { display: flex; flex-direction: column; gap: var(--sp-20); }
.sk-hero__texte h1 { margin: 0; font-size: var(--fs-60); }
.sk-hero__texte .sk-hero__chapo { font: 600 var(--fs-24)/1.35 var(--font-heading); color: var(--color-dark); margin: 0; }
.sk-hero__texte p { margin: 0; color: var(--color-text-muted); max-width: 52ch; }
.sk-hero__boutons { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--sp-16); margin-top: var(--sp-8); }

.sk-couvertures { position: relative; height: 420px; }
.sk-couvertures__livre { position: absolute; top: 50%; left: 50%; width: 46%; transition: transform .3s; }
.sk-couvertures__livre img { width: 100%; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-md); box-shadow: 0 24px 40px rgba(17, 20, 45, .25); display: block; }
.sk-couvertures__livre--1 { z-index: 3; transform: translate(-50%, -50%); }
.sk-couvertures__livre--2 { z-index: 2; transform: translate(-108%, -46%) rotate(-8deg); }
.sk-couvertures__livre--3 { z-index: 1; transform: translate(8%, -46%) rotate(8deg); }
.sk-couvertures__livre:hover { z-index: 4; }

.sk-vente { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-12); height: 100%; background: var(--color-primary); color: var(--color-white); border-radius: var(--radius-xl); padding: var(--sp-40) var(--sp-32); }
.sk-vente__titre { margin: 0; font: 700 var(--fs-40)/1.1 var(--font-heading); color: var(--color-white); }
.sk-vente__sous { margin: 0; opacity: .85; }
.sk-vente__couv img { width: 206px; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-md); box-shadow: 0 20px 34px rgba(0, 0, 0, .3); margin-top: var(--sp-16); display: block; }
.sk-vente__livre { font: 700 var(--fs-18)/1.3 var(--font-heading); color: var(--color-white); text-decoration: none; margin-top: var(--sp-8); }
.sk-vente .sk-btn { margin-top: auto; min-height: 52px; }

/* ---------- accueil : atouts ---------- */
.sk-atouts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-24); width: 100%; }
.sk-atout { display: flex; flex-direction: row; gap: var(--sp-20); align-items: flex-start; background: var(--color-white); border-radius: var(--radius-md); padding: var(--sp-24); box-shadow: var(--shadow-faint); }
.sk-atout__icone { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: var(--radius-md); background: var(--color-primary-soft); color: var(--color-primary); font-size: 26px; }
.sk-atout h3 { font-size: var(--fs-20); margin: 0 0 6px; }
.sk-atout p { margin: 0; font-size: var(--fs-14); color: var(--color-text-muted); line-height: 1.5; }

/* ---------- accueil : bannières de genres ---------- */
.sk-bannieres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-24); width: 100%; }
.sk-banniere { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-16); border-radius: var(--radius-xl); padding: var(--sp-48); min-height: 300px; justify-content: center; }
.sk-banniere h3 { font-size: var(--fs-40); margin: 0; }
.sk-banniere p { margin: 0; max-width: 42ch; }
.sk-banniere--rose { background: var(--color-primary-soft); }
.sk-banniere--sombre { background: var(--color-dark); color: #D7D8E0; }
.sk-banniere--sombre h3 { color: var(--color-white); }
.sk-banniere--sombre .sk-surtitre { color: var(--color-accent); } /* l'orange foncé (texte sur clair) passe mal sur le sombre */

/* ---------- accueil : coup de cœur ---------- */
.sk-cdc { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: var(--sp-64); align-items: center; width: 100%; }
.sk-cdc__couv img { width: 100%; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-lg); box-shadow: 0 30px 50px rgba(0, 0, 0, .35); display: block; }
.sk-cdc__texte { display: flex; flex-direction: column; gap: var(--sp-16); }
.sk-cdc .sk-surtitre { color: var(--color-accent); }
.sk-cdc__titre { font-size: var(--fs-50); margin: 0; }
.sk-cdc__titre a { color: inherit; text-decoration: none; }
.sk-cdc__genres { margin: 0; color: var(--color-accent); font-weight: 600; }
.sk-cdc__resume { margin: 0; font-size: var(--fs-18); line-height: 1.7; max-width: 62ch; }
.sk-cdc__infos { display: flex; flex-wrap: wrap; gap: var(--sp-40); }
.sk-cdc__infos > span { display: flex; align-items: center; gap: var(--sp-12); color: var(--color-white); font-weight: 600; font-size: var(--fs-18); }
.sk-cdc__infos > span > span, .sk-cdc__infos > span { flex-direction: row; }
.sk-cdc__infos small { display: block; font-weight: 400; font-size: var(--fs-14); color: #C9CBD6; }
.sk-cdc__achat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-24); margin-top: var(--sp-8); }
.sk-cdc__prix { font: 700 var(--fs-40)/1 var(--font-heading); color: var(--color-white); }
.sk-cdc__prix del { font-size: var(--fs-20); color: #C9CBD6; }
.sk-cdc__prix ins { text-decoration: none; }

/* ---------- accueil : avis ---------- */
.sk-avis-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-24); width: 100%; }
.sk-avis { margin: 0; display: flex; flex-direction: column; gap: var(--sp-16); background: var(--color-white); border-radius: var(--radius-lg); padding: var(--sp-32); box-shadow: var(--shadow-faint); }
.sk-avis__etoiles { color: var(--color-accent); letter-spacing: 3px; font-size: var(--fs-18); }
.sk-avis__texte { margin: 0; padding: 0; border: 0; font-family: var(--font-body); font-style: normal; quotes: none; font-size: var(--fs-16); line-height: 1.7; color: var(--color-text); flex: 1; }
.sk-avis figcaption { font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-avis figcaption strong { color: var(--color-dark); }
.sk-avis figcaption a { color: var(--color-primary); }

/* ---------- auteurs ---------- */
/* Portrait : rond, recadré sur la photo pour le gabarit maison (940 px : photo carrée de 535 px
   à x=203, y=173). Les pourcentages se calculent sur la largeur du cadre, qui est carré. */
.sk-portrait { position: relative; display: block; overflow: hidden; border-radius: var(--radius-full); aspect-ratio: 1; flex: none; }
.sk-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sk-portrait--gabarit img { position: absolute; width: 175.7%; max-width: none; height: auto; left: -37.9%; top: -32.3%; object-fit: initial; }
.sk-infos__avatar.sk-portrait, .sk-cdc__avatar.sk-portrait { width: 50px; height: 50px; }

.sk-auteurs { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--sp-32) var(--sp-24); width: 100%; }
.sk-auteurs--tous { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.sk-auteur { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; text-decoration: none; color: var(--color-dark); }
.sk-auteur__photo { width: 120px; height: 120px; border-radius: var(--radius-full); margin-bottom: var(--sp-8); box-shadow: var(--shadow-faint); transition: transform .25s; }
.sk-auteur:hover .sk-auteur__photo { transform: scale(1.04); }
.sk-auteur__photo--vide { display: inline-flex; align-items: center; justify-content: center; background: var(--color-primary-soft); color: var(--color-primary); font: 700 var(--fs-40)/1 var(--font-heading); }
.sk-auteur__nom { font: 700 var(--fs-16)/1.3 var(--font-heading); }
.sk-auteur:hover .sk-auteur__nom { color: var(--color-primary); }
.sk-auteur__nb { font-size: var(--fs-14); color: var(--color-text-muted); }

/* ---------- chiffres ---------- */
.sk-chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-24); width: 100%; margin: 0; }
.sk-chiffres__item { text-align: center; }
.sk-chiffres dt { font: 700 var(--fs-50)/1 var(--font-heading); color: var(--color-primary); }
.sk-chiffres dd { margin: var(--sp-8) 0 0; color: var(--color-text-muted); font-weight: 600; }

/* ---------- newsletter ---------- */
.sk-newsletter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-40); align-items: center; width: 100%; background: var(--color-primary); color: var(--color-white); border-radius: var(--radius-xl); padding: var(--sp-64) var(--sp-80); }
.sk-newsletter h2 { color: var(--color-white); margin: 0 0 var(--sp-12); }
.sk-newsletter p { margin: 0; opacity: .9; }
.sk-newsletter__attente { padding: var(--sp-20); border: 2px dashed rgba(255, 255, 255, .5); border-radius: var(--radius-md); }

/* ---------- tablette / mobile ---------- */
@media (max-width: 1279px) {
	.sk-auteurs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sk-hero__banniere { padding: var(--sp-48); }
	.sk-atouts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-boutique__grille { grid-template-columns: 280px minmax(0, 1fr); }
	.sk-contact { grid-template-columns: minmax(0, 1fr) 320px; }
	.sk-presentation { grid-template-columns: 260px minmax(0, 1fr); gap: var(--sp-32); }
	.sk-grille--boutique ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.sk-entete__haut { flex-wrap: wrap; gap: var(--sp-16); }
	/* Mobile : le bouton du menu remonte sur la ligne du logo (sinon une ligne entière
	   pour un seul pictogramme). La rangée du menu est sortie du flux, à gauche du logo. */
	.sk-entete { position: relative; }
	.sk-entete__haut > :first-child { margin-left: 44px; } /* le logo laisse la place au bouton du menu */
	.sk-entete__nav { position: absolute; top: 20px; left: var(--sp-16); width: auto; border: 0; height: 56px; display: flex; align-items: center; justify-content: center; padding: 0; }
	.sk-menu .bricks-mobile-menu-toggle { width: 28px; height: 20px; color: var(--color-dark); }
	.sk-recherche { order: 3; flex-basis: 100%; max-width: none; }
	.sk-entete__actions { margin-left: auto; }
	.sk-hero__grille, .sk-hero__banniere, .sk-cdc, .sk-newsletter { grid-template-columns: minmax(0, 1fr); }
	.sk-hero__banniere { min-height: 0; }
	.sk-couvertures { height: 340px; }
	.sk-cdc__couv { max-width: 300px; }
	.sk-pied__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-avis-liste { grid-template-columns: minmax(0, 1fr); }
	.sk-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--sp-40); }
	/* Boutique : les filtres passent au-dessus des livres, repliés derrière un bouton. */
	.sk-boutique__grille { grid-template-columns: minmax(0, 1fr); }
	.sk-contact, .sk-presentation { grid-template-columns: minmax(0, 1fr); }
	.sk-presentation__photo { position: static; max-width: 300px; }
	.sk-carte-page { padding: var(--sp-20); }
	.sk-filtres__titre { font-size: var(--fs-24); }
	.sk-filtres__bouton { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 var(--sp-16); border-radius: var(--radius-md); background: var(--color-primary-soft); color: var(--color-primary); }
	.sk-filtres__corps { display: none; }
	.sk-filtres--ouvert .sk-filtres__corps { display: flex; }
}
@media (max-width: 767px) {
	.sk-section { padding-block: var(--sp-48); }
	.sk-hero__banniere, .sk-newsletter { padding: var(--sp-32) var(--sp-24); }
	.sk-banniere { padding: var(--sp-32); min-height: 0; }
	.sk-atouts, .sk-bannieres, .sk-pied__grille { grid-template-columns: minmax(0, 1fr); }
	.sk-logo img { height: 48px; }
	.sk-entete__haut { padding-block: var(--sp-12); }
	.sk-entete__nav { top: 12px; height: 56px; }
	.sk-compte span { display: none; }
	.sk-grille ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-24) var(--sp-16); }
	.sk-grille--boutique ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-series { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-24) var(--sp-16); }
	.sk-grille ul.products li.product .sk-badge, .sk-grille ul.products li.product .onsale { font-size: 12px; padding: 2px 8px; top: 6px; }
	.sk-grille ul.products li.product .sk-badge { left: 6px; }
	.sk-grille ul.products li.product .onsale { right: 6px; }
	/* Rangées de livres : le réglage « 5 colonnes » de l'élément (#brxe-… .products) passe avant la
	   règle ci-dessus et faisait déborder la page. Quatre cartes, pour ne pas laisser un livre seul. */
	.sk-grille:not(.sk-grille--boutique) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sk-grille:not(.sk-grille--boutique) ul.products li.product:nth-child(n+5) { display: none; }
	.sk-boutique__titre { font-size: var(--fs-28); }
	.sk-boutique__entete { align-items: flex-start; }
	.sk-boutique__portrait.sk-portrait { width: 72px; height: 72px; }
	.sk-boutique__tri, .sk-boutique__tri select { width: 100%; }
	.sk-couvertures { height: 280px; }
	.sk-auteurs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
