/**
 * Fiche livre — skeditions.fr (refonte 2026, maquette Bookoe « Book Detail »).
 * Chargée sur les fiches produit et dans l'éditeur Bricks (mu-plugin bp-skeditions-fiche-livre).
 * Toutes les valeurs passent par les variables du système de design (poser-systeme-design.php).
 * Miroir local : skeditions.fr/refonte/bricks-child/assets/ — modifier localement puis pousser.
 *
 * Écarts volontaires à la maquette, pour l'accessibilité (contraste ≥ 4,5:1) :
 *   - « En stock » : vert #1E7B3A sur #DCF5E3 (la maquette : #3DB65F, 2,4:1) ;
 *   - pastille de remise : texte foncé sur l'orange (blanc dessus = 2,7:1).
 */

/* ---------- fil d'Ariane ---------- */

/* ---------- bloc produit : couverture | texte ---------- */
.sk-fiche-hero { padding-block: var(--sp-32) var(--sp-64); }
.sk-fiche-produit {
	display: grid;
	grid-template-columns: minmax(260px, 398px) minmax(0, 1fr);
	gap: var(--sp-64);
	align-items: start;
	margin-top: var(--sp-24);
}
.sk-fiche-couverture .woocommerce-product-gallery,
.sk-fiche-couverture img { border-radius: var(--radius-lg); }
.sk-fiche-couverture .woocommerce-product-gallery__image img {
	box-shadow: var(--shadow-soft);
	aspect-ratio: 1 / 1.41;
	object-fit: cover;
	width: 100%;
}
.sk-fiche-texte { display: flex; flex-direction: column; gap: var(--sp-24); min-width: 0; }
.sk-fiche-texte h1 { margin: 0; }

/* note + nombre d'avis */
.sk-fiche-texte .woocommerce-product-rating { display: flex; align-items: center; gap: var(--sp-12); margin: 0; }
.sk-fiche-texte .woocommerce-review-link { color: var(--color-text-muted); font-weight: 600; font-size: var(--fs-14); }

/* ---------- [sk_fiche_infos] ---------- */
.sk-infos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-24) var(--sp-40); }
.sk-infos__item { display: flex; align-items: center; gap: var(--sp-16); color: inherit; text-decoration: none; }
a.sk-infos__item:hover .sk-infos__valeur { color: var(--color-primary); }
.sk-infos__avatar { width: 50px; height: 50px; border-radius: var(--radius-full); object-fit: cover; flex: none; }
.sk-infos__avatar--vide { display: inline-block; background: var(--color-primary-soft); }
.sk-infos__label { display: block; font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-infos__valeur { display: block; font-size: var(--fs-18); font-weight: 600; color: var(--color-dark); line-height: 1.3; }
.sk-infos__badges { display: flex; flex-wrap: wrap; gap: var(--sp-12); margin-left: auto; }
.sk-badge {
	display: inline-flex; align-items: center;
	padding: 10px 18px; border-radius: var(--radius-md);
	font-size: var(--fs-14); font-weight: 700; line-height: 1.2;
}
.sk-badge--ok { background: #DCF5E3; color: #1E7B3A; }
.sk-badge--primaire { background: var(--color-primary-soft); color: var(--color-primary); }
.sk-badge--accent { background: #FFEDE6; color: var(--color-accent-text); }

.sk-sep { height: 2px; background: var(--color-grey-2); border-radius: 12px; width: 100%; }

/* ---------- prix + choix du format + panier ---------- */
.sk-fiche-achat { display: flex; flex-direction: column; gap: var(--sp-20); }
.sk-fiche-achat .price {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-16);
	font-family: var(--font-heading); font-weight: 700; font-size: clamp(30px, 2.4vw + 10px, 45px);
	color: var(--color-primary); line-height: 1.1; margin: 0;
}
.sk-fiche-achat .price del { font-size: var(--fs-20); font-weight: 600; color: var(--color-text-muted); }
.sk-fiche-achat .price ins { text-decoration: none; }
.sk-fiche-achat .onsale,
.sk-remise {
	background: var(--color-accent); color: var(--color-dark);
	border-radius: var(--radius-md); padding: 3px 14px; font: 700 var(--fs-16)/1.6 var(--font-body);
}

/* formulaire WooCommerce (simple ou à variantes) */
.sk-fiche-achat form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--sp-16); margin: 0; }
.sk-fiche-achat form.variations_form { flex-direction: column; align-items: stretch; }
/* le tableau des variantes est mis à plat : en cellule de tableau, les pastilles étaient
   bridées à la largeur du contenu (171 px mesurés sur mobile) et s'empilaient */
.sk-fiche-achat table.variations,
.sk-fiche-achat table.variations tbody,
.sk-fiche-achat table.variations tr { display: block; width: 100%; border: 0; margin: 0; }
.sk-fiche-achat table.variations th,
.sk-fiche-achat table.variations td { display: block; width: 100%; max-width: none; padding: 0; border: 0; background: none; text-align: left; }
.sk-fiche-achat table.variations th.label { font-size: var(--fs-14); color: var(--color-text-muted); font-weight: 600; margin-bottom: var(--sp-8); }
.sk-fiche-achat .reset_variations { display: inline-block; margin-top: var(--sp-8); font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-fiche-achat .woocommerce-variation-price .price { font-size: var(--fs-28); }
.sk-fiche-achat .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--sp-16); align-items: stretch; }
.sk-fiche-achat .woocommerce-variation-description p { margin: 0; color: var(--color-text-muted); }

/* pastilles de format (Bricks, type « label ») */
.sk-fiche-achat .bricks-variation-swatches { display: flex; flex-wrap: wrap; gap: var(--sp-12); }
/* balisage Bricks : ul.bricks-variation-swatches.bricks-swatch-label > li > button.bricks-swatch-button */
.sk-fiche-achat .bricks-variation-swatches { list-style: none; margin: 0; padding: 0; }
.sk-fiche-achat .bricks-variation-swatches.bricks-swatch-label li {
	border: 2px solid var(--color-grey-2); border-radius: var(--radius-md);
	padding: 12px 22px; font: 700 var(--fs-16)/1.2 var(--font-heading); color: var(--color-dark);
	cursor: pointer; background: var(--color-white);
}
.sk-fiche-achat .bricks-variation-swatches li.bricks-swatch-selected {
	border-color: var(--color-primary); background: var(--color-primary-soft); color: var(--color-primary);
}
/* icône du format, dessinée par un masque pour suivre la couleur du texte (rouge une fois choisi) ;
   icones/ : dessins de la cliente, recadrés et au trait épaissi pour rester lisibles à cette taille */
.sk-fiche-achat .bricks-swatch-label .bricks-swatch-button { display: inline-flex; align-items: center; gap: 10px; color: inherit; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.sk-fiche-achat .bricks-swatch-label .bricks-swatch-button::before { content: ""; flex: none; width: 40px; height: 32px; background: currentColor; -webkit-mask: url(icones/livre.svg) center / contain no-repeat; mask: url(icones/livre.svg) center / contain no-repeat; }
.sk-fiche-achat .bricks-swatch-label li[data-value="e_book"] .bricks-swatch-button::before { -webkit-mask-image: url(icones/ebook.svg); mask-image: url(icones/ebook.svg); }
.sk-fiche-achat .bricks-variation-swatches .bricks-swatch-button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }

/* quantité et bouton */
.sk-fiche-achat .quantity input.qty {
	height: 60px; width: 110px; border: 2px solid var(--color-grey-2); border-radius: var(--radius-md);
	font: 600 var(--fs-20)/1 var(--font-body); text-align: center; color: var(--color-dark);
}
.sk-fiche-achat .single_add_to_cart_button {
	height: 60px; padding: 0 var(--sp-40);
	background: var(--color-primary); color: var(--color-white);
	border: 0; border-radius: var(--radius-md);
	font: 700 var(--fs-18)/1 var(--font-heading);
	box-shadow: var(--shadow-accent); cursor: pointer;
	transition: background-color .2s;
}
.sk-fiche-achat .single_add_to_cart_button:hover,
.sk-fiche-achat .single_add_to_cart_button:focus-visible { background: var(--color-primary-hover); }
.sk-fiche-achat .single_add_to_cart_button.disabled { opacity: .5; box-shadow: none; }
.sk-fiche-achat .stock { margin: 0; font-weight: 600; }
.sk-fiche-achat .stock.in-stock { color: #1E7B3A; }
.sk-fiche-achat .stock.available-on-backorder { color: var(--color-accent-text); }

/* ---------- onglets | colonne « même série » ---------- */
.sk-fiche-suite { padding-block: var(--sp-64); background: var(--color-white); }
.sk-fiche-suite__grille {
	display: grid; grid-template-columns: minmax(0, 1fr) 397px; gap: var(--sp-64); align-items: start;
}
/* Onglets comme la maquette : du texte seul, l'actif en foncé, les autres en gris, ni filet ni soulignement
   (WooCommerce en pose aussi par ses ::before / ::after). Le panneau qui s'ouvre apparaît en fondu. */
.sk-fiche-suite .woocommerce-tabs { border: 0; } /* Bricks pose un filet dessus et dessous */
.sk-fiche-suite .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: var(--sp-8) var(--sp-48);
	list-style: none; margin: 0 0 var(--sp-40); padding: 0; border: 0; overflow: visible;
}
.sk-fiche-suite .woocommerce-tabs ul.tabs::before, .sk-fiche-suite .woocommerce-tabs ul.tabs::after,
.sk-fiche-suite .woocommerce-tabs ul.tabs li::before, .sk-fiche-suite .woocommerce-tabs ul.tabs li::after { display: none !important; }
.sk-fiche-suite .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.sk-fiche-suite .woocommerce-tabs ul.tabs li a {
	display: block; padding: 0; margin: 0; border: 0;
	font: 700 clamp(26px, 1.3vw + 14px, 36px)/1.25 var(--font-heading); color: #AAAAAA; text-decoration: none; transition: color .25s;
}
.sk-fiche-suite .woocommerce-tabs ul.tabs li a:hover { color: var(--color-text-muted); }
.sk-fiche-suite .woocommerce-tabs ul.tabs li.active a { color: var(--color-dark); }
.sk-fiche-suite .woocommerce-tabs ul.tabs li a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; border-radius: 4px; }
.sk-fiche-suite .woocommerce-Tabs-panel { animation: sk-onglet .4s ease-out; }
@keyframes sk-onglet { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .sk-fiche-suite .woocommerce-Tabs-panel { animation: none; } }
.sk-fiche-suite .woocommerce-Tabs-panel { padding: 0; } /* Bricks pose 30 px */

/* résumé : le contenu importé porte des styles en ligne (noir, 12 pt, Georgia) — on les neutralise */
.sk-fiche-suite .woocommerce-Tabs-panel--description [style] { color: inherit !important; font-size: inherit !important; font-family: inherit !important; }
.sk-fiche-suite .woocommerce-Tabs-panel--description h6 { font: 700 var(--fs-20)/1.3 var(--font-heading); color: var(--color-dark); margin: var(--sp-32) 0 var(--sp-12); }
.sk-fiche-suite .woocommerce-Tabs-panel--description ul { padding-left: 1.2em; }
.sk-fiche-suite .woocommerce-Tabs-panel--description li p { margin: 0; }

/* ---------- [sk_fiche_details] ---------- */
.sk-details { width: 100%; border-collapse: separate; border-spacing: 0; border: 0; font-size: var(--fs-18); }
.sk-details tr:nth-child(odd) { background: #FBF6F7; }
.sk-details th,
.sk-details td { padding: 24px 32px; border: 0; text-align: left; vertical-align: top; }
.sk-details th { width: 32%; font-weight: 700; color: var(--color-dark); }
.sk-details td { color: var(--color-text); }
.sk-details td a { color: var(--color-primary); }
.sk-details td .price { font: inherit; color: inherit; }
.sk-details__isbn { display: block; font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-tags { display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.sk-tag {
	display: inline-block; padding: 8px 18px; border-radius: var(--radius-md);
	background: var(--color-primary-soft); color: var(--color-primary); font-weight: 600; font-size: var(--fs-16); text-decoration: none;
}
.sk-details__brut { margin-top: var(--sp-24); color: var(--color-text-muted); }
.sk-details__brut [style] { color: inherit !important; font-size: inherit !important; }

/* ---------- [sk_livres_lies] ---------- */
.sk-lies__titre { font-size: var(--fs-28); margin: 0 0 var(--sp-32); }
.sk-lies__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-32); }
.sk-lie { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--sp-24); align-items: start; }
.sk-lie__couv img { width: 110px; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-md); display: block; }
.sk-lie__texte { display: flex; flex-direction: column; gap: 6px; }
.sk-lie__tome { font-size: var(--fs-14); font-weight: 600; color: var(--color-primary); }
.sk-lie__titre { font: 700 var(--fs-18)/1.3 var(--font-heading); color: var(--color-dark); text-decoration: none; }
.sk-lie__titre:hover { color: var(--color-primary); }
.sk-lie__note { font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-lie__prix { font: 700 var(--fs-18)/1.2 var(--font-heading); color: var(--color-dark); }
.sk-lie__prix del { font-size: var(--fs-14); color: var(--color-text-muted); font-weight: 600; }
.sk-lie--actuel .sk-lie__couv img { outline: 3px solid var(--color-primary); outline-offset: 3px; }

/* ---------- « Vous aimerez aussi » (Woo related) — les cartes sont dans site.css (.sk-grille) ---------- */
.sk-fiche-aussi { padding-block: var(--sp-64) var(--sp-80); background: var(--color-grey-3); }
.sk-fiche-aussi .related > h2 { margin: 0 0 var(--sp-40); }

/* ---------- tablette / mobile ---------- */
@media (max-width: 991px) {
	/* Le titre du livre est juste en dessous : inutile de le répéter dans l'Ariane.
	   WooCommerce l'écrit en TEXTE NU (aucune balise), donc inciblable : on met le
	   conteneur à 0 et on rétablit la taille sur les liens et les séparateurs. */
	.sk-ariane .navigation { font-size: 0; }
	.sk-ariane .navigation > a,
	.sk-ariane .navigation > .separator { font-size: var(--fs-14); }
	.sk-ariane .navigation > .separator:last-of-type { display: none; }
	.sk-fiche-produit,
	.sk-fiche-suite__grille { grid-template-columns: minmax(0, 1fr); gap: var(--sp-40); }
	.sk-fiche-couverture { max-width: 320px; margin-inline: auto; width: 100%; }
	.sk-infos__badges { margin-left: 0; }
}
@media (max-width: 478px) {
	.sk-details th,
	.sk-details td { display: block; width: auto; padding: 12px 16px; }
	.sk-details th { padding-bottom: 0; }
	.sk-fiche-achat .single_add_to_cart_button { flex: 1 1 auto; }
}

/* ---------- partage (mu-plugin bp-skeditions-partage) ---------- */
.sk-fiche-partage { width: 100%; }
.sk-partage { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-8) var(--sp-16); margin-top: var(--sp-20); padding-top: var(--sp-20); border-top: 1px solid var(--color-grey-2); }
.sk-partage__titre { color: var(--color-text-muted); font-size: var(--fs-14); font-weight: 600; }
.sk-partage__liens { display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.sk-partage__lien { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 2px solid var(--color-grey-2); border-radius: 50%; background: var(--color-white); color: var(--color-dark); cursor: pointer; transition: border-color .2s, color .2s; }
.sk-partage__lien:hover, .sk-partage__lien:focus-visible { border-color: var(--color-primary); color: var(--color-primary); }
.sk-partage__copie { color: var(--color-primary); font-size: var(--fs-14); font-weight: 600; }

/* ==========================================================================
   Mise en page de la maquette Bookoe « 04 Fiche livre » (03/11/2026)
   Titre Cairo 50 ; note + partage sur une ligne ; accroche ; infos et pastilles ; filet ;
   prix à gauche, format / quantité / bouton à droite. Liste latérale : couverture 140 × 196,
   genres, note, prix, bouton compact. Puis atouts, « vous aimerez aussi », newsletter.
   ========================================================================== */
.sk-fiche-texte h1 { font-size: clamp(32px, 2.2vw + 16px, 50px); line-height: 1.15; }

/* note + partage */
.sk-fiche-sous { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: var(--sp-16) var(--sp-24); width: 100%; }
.sk-fiche-sous > * { width: auto; }
.sk-fiche-texte .woocommerce-product-rating .star-rating { font-size: 20px; width: 5.4em; height: 1.2em; line-height: 1.2; margin: 0; }
.sk-fiche-sous .sk-fiche-partage { width: auto; }
.sk-fiche-sous:has(.star-rating) .sk-fiche-partage { margin-left: auto; } /* note à gauche, partage à droite ; sans note, le partage reste à gauche */
.sk-fiche-sous .sk-partage { margin: 0; padding: 0; border: 0; }
.sk-fiche-sous .sk-partage__lien { width: 38px; height: 38px; border-radius: 14px; }

/* accroche */
.sk-accroche { margin: 0; font-size: var(--fs-16); line-height: 1.75; color: var(--color-text-muted); max-width: 75ch; }
.sk-accroche__suite { color: var(--color-primary); font-weight: 600; white-space: nowrap; }

/* prix | achat */
.sk-fiche-achat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-24) var(--sp-40); align-items: start; }
.sk-fiche-achat > .brxe-product-price, .sk-fiche-achat > .price { grid-column: 1; }
.sk-fiche-achat > .brxe-product-add-to-cart { grid-column: 2; justify-self: end; width: auto; max-width: 100%; }
.sk-fiche-achat form.cart { justify-content: flex-end; }
.sk-fiche-achat .quantity { /* maquette : une boîte de 189 × 60 avec − et + à l'intérieur */
	display: inline-flex; align-items: stretch; width: 189px; height: 60px; margin: 0; border: 2px solid var(--color-grey-2); border-radius: var(--radius-md); background: var(--color-white); overflow: hidden;
}
.sk-fiche-achat .quantity input.qty { order: 2; flex: 1 1 auto; min-width: 0; width: auto; height: auto; border: 0; border-radius: 0; background: none; -moz-appearance: textfield; }
.sk-fiche-achat .quantity input.qty::-webkit-inner-spin-button, .sk-fiche-achat .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sk-fiche-achat .quantity .action { position: static; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: auto; color: var(--color-dark); font-size: 20px; cursor: pointer; transition: color .2s, background-color .2s; }
.sk-fiche-achat .quantity .action.minus { order: 1; }
.sk-fiche-achat .quantity .action.plus { order: 3; }
.sk-fiche-achat .quantity .action:hover { color: var(--color-primary); background: var(--color-primary-soft); }
.sk-fiche-achat .quantity .action.disabled { opacity: .35; pointer-events: none; }
.sk-fiche-achat .single_add_to_cart_button { min-width: 229px; }

/* liste latérale */
.sk-lie { grid-template-columns: 140px minmax(0, 1fr); gap: var(--sp-24); }
.sk-lie__couv img { width: 140px; border-radius: 14px; }
.sk-lie__titre { font-size: var(--fs-20); }
.sk-lie__genres { font-size: var(--fs-14); color: var(--color-primary); text-transform: uppercase; letter-spacing: .02em; }
.sk-lie__note { display: flex; align-items: center; gap: 8px; }
.sk-lie__note .star-rating { font-size: 14px; width: 5.4em; height: 1.2em; line-height: 1.2; margin: 0; }
.sk-lie__note > strong { color: var(--color-dark); }
.sk-lie__prix { color: var(--color-primary); }
.sk-lie__achat.button {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; height: 36px; padding: 0 14px;
	border: 0; border-radius: 10px; background: var(--color-primary); color: var(--color-white); font: 700 var(--fs-14)/1 var(--font-heading); text-decoration: none;
	transition: background-color .2s, transform .2s;
}
.sk-lie__achat.button::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--sk-icone-panier) center / contain no-repeat; mask: var(--sk-icone-panier) center / contain no-repeat; }
.sk-lie__achat.button:hover, .sk-lie__achat.button:focus-visible { background: var(--color-primary-hover); color: var(--color-white); transform: translateY(-1px); }
.sk-lie .added_to_cart { font-size: var(--fs-14); color: var(--color-primary); }

/* atouts : bande teintée comme la maquette */
.sk-fiche-atouts { background: var(--color-primary-soft); }

@media (max-width: 991px) {
	.sk-fiche-achat { grid-template-columns: minmax(0, 1fr); }
	.sk-fiche-achat > .brxe-product-add-to-cart { grid-column: 1; justify-self: stretch; }
	.sk-fiche-achat form.cart { justify-content: flex-start; }
}
@media (max-width: 478px) {
	.sk-fiche-achat .quantity { width: 140px; }
	.sk-fiche-achat .single_add_to_cart_button { min-width: 0; }
	.sk-lie { grid-template-columns: 100px minmax(0, 1fr); }
	.sk-lie__couv img { width: 100px; }
}
/* quantité, bouton et cœur des favoris alignés sur leur centre */
.sk-fiche-achat form.cart:not(.variations_form), .sk-fiche-achat .woocommerce-variation-add-to-cart { align-items: center; }
.sk-fiche-achat .single_add_to_cart_button { margin: 0; }

/* ---------- zone d'achat : prix par format à gauche, choix du format dessous ; quantité, bouton, cœur à droite ----------
   Livre à formats : le bloc d'ajout au panier, son formulaire et son enveloppe de variante s'ouvrent dans la grille
   (display: contents, le formulaire reste un vrai formulaire) pour que le choix du format passe sous les prix et les
   boutons sur la ligne des prix. Le prix et la disponibilité que WooCommerce répète sous le format sont masqués : le
   prix est à gauche, la disponibilité dans la pastille « En stock » du haut (fiche-livre.js). */
.sk-fiche-achat { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "prix actions"; align-items: center; }
.sk-fiche-achat:has(.variations_form) { grid-template-areas: "prix actions" "format format"; }
.sk-fiche-achat > .sk-fiche-prix { grid-area: prix; grid-column: auto; }
.sk-fiche-achat > .brxe-product-add-to-cart { grid-area: actions; grid-column: auto; justify-self: end; }
.sk-fiche-achat > .brxe-product-add-to-cart:has(.variations_form),
.sk-fiche-achat form.variations_form,
.sk-fiche-achat .single_variation_wrap { display: contents; }
.sk-fiche-achat table.variations { grid-area: format; width: auto; margin: 0; }
.sk-fiche-achat .woocommerce-variation-add-to-cart { grid-area: actions; justify-self: end; flex-wrap: nowrap; }
.sk-fiche-achat .single_variation { display: none !important; }
body:has([data-sk-stock]) .sk-fiche-achat form.cart > .stock, body:has([data-sk-stock]) .sk-fiche-achat .brxe-product-add-to-cart > .stock { display: none; } /* la pastille du haut la porte déjà (livre à un format : la mention est hors du formulaire) */

/* prix par format ([sk_fiche_prix]) : le prix choisi est entouré, un reflet le traverse une fois */
.sk-prix-formats { display: flex; flex-wrap: wrap; gap: var(--sp-12) var(--sp-16); }
.sk-prix-format {
	position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 2px; padding: 8px 18px;
	border: 2px solid transparent; border-radius: 14px; cursor: pointer; transition: border-color .25s, background-color .25s;
}
.sk-prix-format:hover { border-color: var(--color-grey-2); }
.sk-prix-format .price { margin: 0; font-size: clamp(28px, 1.8vw + 10px, 40px); }
.sk-prix-format__nom { font: 600 var(--fs-14)/1.2 var(--font-body); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .04em; }
.sk-prix-format--choisi { border-color: var(--color-primary); background: var(--color-primary-soft); }
.sk-prix-format--choisi .sk-prix-format__nom { color: var(--color-primary); }
.sk-prix-format--reflet::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 50%; pointer-events: none;
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, .85), transparent);
	transform: skewX(-18deg); animation: sk-reflet .9s ease-out forwards;
}
@keyframes sk-reflet { to { left: 130%; } }
.sk-badge--rupture { background: #FDE8E8; color: #A61B1B; }

@media (max-width: 991px) {
	.sk-fiche-achat, .sk-fiche-achat:has(.variations_form) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "prix" "format" "actions"; }
	.sk-fiche-achat > .brxe-product-add-to-cart, .sk-fiche-achat .woocommerce-variation-add-to-cart { justify-self: start; }
}
@media (max-width: 478px) {
	.sk-fiche-achat .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .sk-prix-format--reflet::after { animation: none; display: none; } }

/* Les prix sont les boutons de format : icône à gauche, prix, nom dessous ; la ligne « Format » de WooCommerce est
   masquée (toujours dans le formulaire, c'est elle qui transmet le choix). */
.sk-fiche-achat:has(.variations_form) { grid-template-areas: "prix actions"; }
.sk-fiche-achat table.variations { display: none; }
button.sk-prix-format { display: grid; grid-template-columns: auto auto; grid-template-areas: "ico prix" "ico nom"; align-items: center; column-gap: 12px; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.sk-prix-format .price { grid-area: prix; }
.sk-prix-format__nom { grid-area: nom; white-space: nowrap; } /* « Livre ancienne couverture » sur une ligne : trois formats passent alors à 1 + 2 */
.sk-prix-format__ico { grid-area: ico; width: 34px; height: 30px; background: var(--color-text-muted); -webkit-mask: url(icones/livre.svg) center / contain no-repeat; mask: url(icones/livre.svg) center / contain no-repeat; transition: background-color .2s; }
.sk-prix-format--ebook .sk-prix-format__ico { -webkit-mask-image: url(icones/ebook.svg); mask-image: url(icones/ebook.svg); }
.sk-prix-format--choisi .sk-prix-format__ico, button.sk-prix-format:hover .sk-prix-format__ico { background: var(--color-primary); }
button.sk-prix-format:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
button.sk-prix-format:not(.sk-prix-format--choisi) { background: none; }
/* serrés pour tenir à deux sur la ligne du bouton d'achat (colonne d'environ 350 px) */
.sk-prix-formats { gap: 8px; }
button.sk-prix-format { padding: 6px 12px 6px 10px; column-gap: 8px; }
.sk-prix-format__ico { width: 26px; height: 24px; }
.sk-prix-format .price { font-size: clamp(26px, 1.2vw + 12px, 32px); line-height: 1.1; }
@media (max-width: 991px) {
	.sk-fiche-achat:has(.variations_form) { grid-template-areas: "prix" "actions"; }
}

/* ---------- onglet Avis (maquette 05) : synthèse, en-tête, cartes ---------- */
.sk-avis-synth {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) auto; gap: var(--sp-40); align-items: center;
	margin-bottom: var(--sp-48); padding: 44px 56px; border-radius: 14px; background: #FBF6F7;
}
.sk-avis-synth h3 { margin: 0 0 var(--sp-12); font: 700 var(--fs-28)/1.2 var(--font-heading); color: var(--color-dark); }
.sk-avis-synth__texte p { margin: 0; color: var(--color-text-muted); font-size: var(--fs-14); line-height: 1.6; }
.sk-avis-synth__barres { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sk-avis-synth__barres li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 44px; align-items: center; gap: var(--sp-16); font: 700 var(--fs-16)/1.6 var(--font-heading); color: var(--color-dark); }
.sk-avis-synth__rang { display: inline-flex; align-items: center; gap: 4px; }
.sk-avis-synth__rang svg { color: var(--color-primary); }
.sk-avis-synth__barre { height: 9px; border-radius: 15px; background: #E7DCDE; overflow: hidden; }
.sk-avis-synth__barre span { display: block; height: 100%; border-radius: 15px; background: var(--color-primary); }
.sk-avis-synth__pc { text-align: right; white-space: nowrap; }
.sk-avis-synth__moy { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.sk-avis-synth__moy p { margin: 0; display: flex; align-items: baseline; gap: 8px; }
.sk-avis-synth__moy p > strong { font: 700 46px/1 var(--font-heading); color: var(--color-dark); }
.sk-avis-synth__moy p > span { font: 600 var(--fs-16)/1 var(--font-heading); color: var(--color-text-muted); }
.sk-avis-synth__moy .star-rating { font-size: 22px; width: 5.4em; height: 1.2em; line-height: 1.2; margin: 0; float: none; }

.sk-avis-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-16); margin-bottom: var(--sp-24); }
.sk-avis-tete__nb { margin: 0; font: 700 var(--fs-18)/1.3 var(--font-heading); color: var(--color-dark); }
.sk-avis-tete select { min-width: 220px; height: 44px; padding: 0 var(--sp-40) 0 var(--sp-16); 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); cursor: pointer; transition: border-color .2s; }
.sk-avis-tete select:hover, .sk-avis-tete select:focus-visible { border-color: var(--color-primary); }

.sk-fiche-suite #reviews #comments > h2.woocommerce-Reviews-title:empty { display: none; }
.sk-fiche-suite #reviews .commentlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.sk-fiche-suite #reviews .commentlist li.review { margin: 0; padding: 40px 56px 32px; border: 1px solid #EFE3E5; border-radius: 14px; background: var(--color-white); }
.sk-fiche-suite #reviews .commentlist li[hidden] { display: none; }
.sk-fiche-suite #reviews .comment_container {
	display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; column-gap: 20px;
	grid-template-areas: "ini meta note" "texte texte note" "suite suite note";
}
.sk-fiche-suite #reviews .comment-text { display: contents; margin: 0; padding: 0; border: 0; }
.sk-avis-initiale { grid-area: ini; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--color-primary-soft); color: var(--color-primary); font: 700 22px/1 var(--font-heading); }
.sk-fiche-suite #reviews .comment-text p.meta { grid-area: meta; align-self: center; margin: 0; display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-14); }
.sk-fiche-suite #reviews .woocommerce-review__author { font: 600 var(--fs-18)/1.3 var(--font-heading); color: var(--color-dark); }
.sk-fiche-suite #reviews .woocommerce-review__dash { display: none; }
.sk-fiche-suite #reviews .woocommerce-review__published-date { color: var(--color-text-muted); }
.sk-fiche-suite #reviews .woocommerce-review__verified { color: #1E7B3A; font-style: normal; font-weight: 600; }
.sk-avis-note { grid-area: note; align-self: end; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-left: var(--sp-40); }
.sk-avis-note > strong { font: 700 35px/1 var(--font-heading); color: var(--color-primary); }
/* Bricks place la note en absolu en haut à droite et vide ses étoiles dans les avis : on les remet (glyphes de la police
   WooCommerce : s = étoile vide, S = pleine), en position relative pour que la partie pleine se cale sur elles. */
.sk-fiche-suite #reviews .sk-avis-note .star-rating { position: relative; inset: auto; }
.sk-fiche-suite #reviews .sk-avis-note .star-rating::before { content: "sssss"; }
.sk-fiche-suite #reviews .sk-avis-note .star-rating span::before { content: "SSSSS"; }
.sk-avis-note .star-rating { font-size: 20px; width: 5.4em; height: 1.2em; line-height: 1.2; margin: 0; float: none; }
.sk-fiche-suite #reviews .comment-text .description { grid-area: texte; margin-top: var(--sp-24); color: var(--color-text); font-size: var(--fs-16); line-height: 1.7; }
.sk-fiche-suite #reviews .comment-text .description p { margin: 0 0 .8em; }
.sk-fiche-suite #reviews .comment-text .description p:last-child { margin-bottom: 0; }
.sk-fiche-suite #reviews .description.sk-avis-coupe { max-height: calc(1.7em * 5); overflow: hidden; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.sk-avis-suite { grid-area: suite; justify-self: start; margin-top: var(--sp-8); padding: 0; border: 0; background: none; color: var(--color-primary); font: 600 var(--fs-14)/1.4 var(--font-body); cursor: pointer; }
.sk-avis-suite:hover { text-decoration: underline; }
.sk-fiche-suite #reviews .commentlist .children { list-style: none; margin: var(--sp-24) 0 0; padding: 0 0 0 var(--sp-40); border-left: 3px solid var(--color-primary-soft); }
.sk-avis-plus {
	display: block; width: 100%; height: 60px; margin-top: 18px; border: 0; border-radius: 14px;
	background: var(--color-primary); color: var(--color-white); font: 700 var(--fs-18)/1 var(--font-heading); cursor: pointer; transition: background-color .2s;
}
.sk-avis-plus:hover, .sk-avis-plus:focus-visible { background: var(--color-primary-hover); }
.sk-avis-plus[hidden] { display: none; }
.sk-avis-arrive { animation: sk-onglet .4s ease-out; }
.sk-avis-arrive:focus { outline: none; }
@media (prefers-reduced-motion: reduce) { .sk-avis-arrive { animation: none; } }

@media (max-width: 991px) {
	.sk-avis-synth { grid-template-columns: minmax(0, 1fr) auto; padding: 32px; }
	.sk-avis-synth__texte { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.sk-avis-synth { grid-template-columns: minmax(0, 1fr); gap: var(--sp-24); padding: 24px; }
	.sk-avis-synth__moy { grid-row: 2; }
	.sk-fiche-suite #reviews .commentlist li.review { padding: 24px 20px; }
	.sk-fiche-suite #reviews .comment_container { grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 12px; grid-template-areas: "ini meta note" "texte texte texte" "suite suite suite"; }
	.sk-avis-initiale { width: 44px; height: 44px; font-size: 20px; }
	.sk-avis-note { align-self: start; padding-left: 0; gap: 4px; }
	.sk-avis-note > strong { font-size: 24px; }
	.sk-avis-note .star-rating { font-size: 13px; }
	.sk-avis-tete select { min-width: 0; width: 100%; }
}
.sk-avis-plus { text-align: center; }
/* formulaire d'avis : un encadré doux comme la synthèse */
.sk-fiche-suite #review_form_wrapper { margin-top: var(--sp-48); padding: 40px 56px; border-radius: 14px; background: #FBF6F7; }
.sk-fiche-suite #review_form .comment-reply-title { display: block; margin: 0 0 var(--sp-12); font: 700 var(--fs-28)/1.2 var(--font-heading); color: var(--color-dark); }
.sk-fiche-suite #review_form .comment-notes { margin: 0 0 var(--sp-24); color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-fiche-suite #review_form label { font-weight: 600; color: var(--color-dark); }
.sk-fiche-suite #review_form :is(input[type="text"], input[type="email"], textarea) { width: 100%; padding: 12px 16px; border: 2px solid var(--color-grey-2); border-radius: var(--radius-sm); background: var(--color-white); font: inherit; transition: border-color .2s; }
.sk-fiche-suite #review_form :is(input[type="text"], input[type="email"], textarea):focus { border-color: var(--color-primary); outline: none; }
.sk-fiche-suite #review_form p.stars a { font-size: 22px; }
.sk-fiche-suite #review_form .form-submit { margin: var(--sp-24) 0 0; }
.sk-fiche-suite #review_form .form-submit .sk-btn { width: auto; }
@media (max-width: 767px) { .sk-fiche-suite #review_form_wrapper { padding: 24px 20px; } }
@media (max-width: 478px) {
	.sk-fiche-suite .woocommerce-tabs ul.tabs { gap: var(--sp-8) var(--sp-16); flex-wrap: nowrap; margin-bottom: var(--sp-24); }
	.sk-fiche-suite .woocommerce-tabs ul.tabs li a { font-size: 19px; white-space: nowrap; }
}

/* « Choisissez votre format » : bulle au-dessus des prix tant qu'aucun format n'est choisi (fiche-livre.js) */
.sk-format-aide {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 var(--sp-12); padding: 6px 14px 6px 10px; border-radius: 999px;
	background: var(--color-primary); color: var(--color-white); font: 600 var(--fs-14)/1.3 var(--font-body);
	box-shadow: 0 6px 16px rgba(129, 30, 39, .25); animation: sk-aide-entree .4s ease-out both;
}
.sk-format-aide[hidden] { display: none; }
.sk-format-aide svg { flex: none; animation: sk-aide-fleche 1.2s ease-in-out infinite; }
@keyframes sk-aide-entree { from { opacity: 0; transform: translateY(6px); } }
@keyframes sk-aide-fleche { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
.sk-format-aide--rappel { animation: sk-aide-rappel .5s ease-in-out; }
@keyframes sk-aide-rappel { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.sk-prix-formats--a-choisir .sk-prix-format { border-color: var(--color-primary-soft); border-style: dashed; }
.sk-prix-formats--a-choisir .sk-prix-format:hover { border-style: solid; border-color: var(--color-primary); }
@media (prefers-reduced-motion: reduce) { .sk-format-aide, .sk-format-aide svg, .sk-format-aide--rappel { animation: none; } }
.sk-format-aide { white-space: nowrap; }
