/**
 * 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;
}
.sk-fiche-suite .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: var(--sp-8) var(--sp-40);
	list-style: none; margin: 0 0 var(--sp-32); padding: 0; border-bottom: 2px solid var(--color-grey-2);
}
.sk-fiche-suite .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.sk-fiche-suite .woocommerce-tabs ul.tabs li a {
	display: block; padding: 0 0 var(--sp-12); margin-bottom: -2px;
	font: 700 var(--fs-28)/1.2 var(--font-heading); color: var(--color-text-muted); text-decoration: none;
	border-bottom: 3px solid transparent;
}
.sk-fiche-suite .woocommerce-tabs ul.tabs li.active a { color: var(--color-dark); border-bottom-color: var(--color-primary); }
.sk-fiche-suite .woocommerce-Tabs-panel { padding: 0; } /* Bricks pose 30 px */
.sk-fiche-suite .woocommerce-Tabs-panel--description { max-width: 75ch; } /* largeur de lecture : le résumé seul */

/* résumé : le contenu importé porte des styles en ligne (noir, 12 pt) — on les neutralise */
.sk-fiche-suite .woocommerce-Tabs-panel--description [style] { color: inherit !important; font-size: 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; }
}
