/* ============================================================
   COLEKA Showroom - charte globale
   Sombre froid assorti au logo : rouge #EE482D en touches,
   gris-bleu #728292 en secondaire, Quicksand + Nunito Sans.
   ============================================================ */

:root {
	--ck-bg: #0f1216;
	--ck-bg-soft: #141921;
	--ck-card: #1a202a;
	--ck-ink: #edf1f4;
	--ck-ink-dim: #8fa0af;
	--ck-line: #252d38;
	--ck-red: #EE482D;
	--ck-red-soft: #f2604a;
	--ck-slate: #728292;
	/* vert sourd, réservé aux confirmations : le rouge de la charte disait
	   "problème" sur des messages de succès */
	--ck-ok: #3f9e6b;
}

/* ---------- base ---------- */
body.coleka-showroom {
	font-family: "Nunito Sans", sans-serif;
	color: var(--ck-ink);
	background: var(--ck-bg);
	-webkit-font-smoothing: antialiased;
	/* cases à cocher, ascenseurs et sélecteurs natifs en version sombre */
	color-scheme: dark;
}
body.coleka-showroom h1,
body.coleka-showroom h2,
body.coleka-showroom h3,
body.coleka-showroom h4 {
	font-family: "Quicksand", sans-serif;
	color: var(--ck-ink);
}
body.coleka-showroom ::selection { background: var(--ck-red); color: #fff; }
body.coleka-showroom a { color: var(--ck-red-soft); }
body.coleka-showroom a:hover { color: var(--ck-red); }

.ck-wrap { max-width: 1180px; margin: 0 auto; padding: 0 36px; }

/* Neutralise la mise en page Storefront sur notre chrome */
body.coleka-showroom .ck-content { padding: 0; }
body.coleka-showroom #page { background: var(--ck-bg); }

/* ---------- header ---------- */
.ck-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(15, 18, 22, .86);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--ck-line);
}
.ck-nav { display: flex; align-items: center; padding: 20px 36px; gap: 40px; max-width: 1180px; margin: 0 auto; }
.ck-brand img { height: 30px; width: auto; display: block; }
.ck-brand-text { font-family: "Quicksand"; font-weight: 700; font-size: 22px; color: var(--ck-ink); }
.ck-menu { margin-left: auto; }
.ck-menu ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
.ck-menu li { margin: 0; }
/* préfixé par body : sinon `body.coleka-showroom a` (rouge) l'emporte et tout
   le menu vire au rouge, alors que la charte réserve le rouge aux accents */
body.coleka-showroom .ck-menu a {
	font-size: 13.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	color: var(--ck-ink-dim); text-decoration: none; transition: .25s;
}
body.coleka-showroom .ck-menu a:hover,
body.coleka-showroom .ck-menu .current-menu-item > a,
body.coleka-showroom .ck-menu .current_page_item > a { color: var(--ck-ink); }
.ck-cart {
	font-size: 13.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	color: var(--ck-red-soft) !important; text-decoration: none; white-space: nowrap;
}

/* ---------- outils du header : recherche, panier, menu mobile ---------- */
.ck-header { position: sticky; }
.ck-tools { display: flex; align-items: center; gap: 18px; }
body.coleka-showroom .ck-icon {
	background: none; border: 1px solid var(--ck-line); border-radius: 10px;
	width: 38px; height: 38px; padding: 0; display: inline-grid; place-items: center;
	color: var(--ck-ink-dim); cursor: pointer; transition: .2s; flex: none;
}
body.coleka-showroom .ck-icon:hover,
body.coleka-showroom .ck-icon[aria-expanded="true"] {
	color: var(--ck-ink); border-color: var(--ck-slate); background: var(--ck-card); box-shadow: none;
}
.ck-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
body.coleka-showroom .ck-burger { display: none; }
.ck-burger-bars, .ck-burger-bars::before, .ck-burger-bars::after {
	display: block; width: 16px; height: 1.7px; background: currentColor; border-radius: 2px;
}
.ck-burger-bars { position: relative; }
.ck-burger-bars::before, .ck-burger-bars::after { content: ""; position: absolute; left: 0; }
.ck-burger-bars::before { top: -5px; }
.ck-burger-bars::after { top: 5px; }

/* panneau de recherche déroulant */
.ck-search { border-top: 1px solid var(--ck-line); background: var(--ck-bg-soft); }
.ck-search[hidden] { display: none; }
.ck-search .ck-wrap { padding-top: 20px; padding-bottom: 20px; }
.ck-search-form { display: flex; gap: 12px; }
body.coleka-showroom .ck-search-form input[type="search"] {
	flex: 1 1 auto; background: var(--ck-bg); border-radius: 12px; font-size: 16px; padding: 14px 18px;
}
body.coleka-showroom .ck-search-form button { flex: none; border-radius: 12px; }
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip-path: inset(50%); white-space: nowrap;
}

/* ---------- hero ---------- */
.ck-hero {
	min-height: 76vh; display: flex; flex-direction: column; justify-content: center;
	position: relative; padding: 90px 0 60px;
	background:
		radial-gradient(880px 400px at 50% -8%, rgba(114, 130, 146, .13), transparent 65%),
		radial-gradient(520px 260px at 88% 36%, rgba(238, 72, 45, .05), transparent 60%);
}
.ck-over {
	font-size: 12px; font-weight: 700; letter-spacing: .38em; text-transform: uppercase;
	color: var(--ck-red-soft); margin-bottom: 28px; animation: ck-fade 1s .1s backwards;
}
.ck-hero h1 {
	font-weight: 600; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.1;
	max-width: 21ch; letter-spacing: -.01em; margin: 0; animation: ck-fade 1s .25s backwards;
}
.ck-hero h1 span { color: var(--ck-red); }
.ck-hero p {
	color: var(--ck-ink-dim); font-size: 17px; line-height: 1.75; max-width: 54ch;
	margin: 28px 0 0; animation: ck-fade 1s .45s backwards;
}
.ck-down {
	position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%);
	color: var(--ck-ink-dim); font-size: 11.5px; letter-spacing: .3em;
	text-transform: uppercase; font-weight: 700; animation: ck-fade 1s .8s backwards;
}
.ck-down::after {
	content: ""; display: block; width: 1px; height: 42px;
	background: linear-gradient(var(--ck-red), transparent);
	margin: 12px auto 0; animation: ck-drop 2.2s ease-in-out infinite;
}
@keyframes ck-fade { from { opacity: 0; transform: translateY(16px); } }
@keyframes ck-drop {
	0% { transform: scaleY(0); transform-origin: top; }
	55% { transform: scaleY(1); }
	100% { transform: scaleY(1); opacity: 0; }
}

/* ---------- univers ---------- */
.ck-univers { padding: 30px 36px 90px; }
.ck-sec-label { display: flex; align-items: center; gap: 20px; margin-bottom: 44px; }
.ck-sec-label h2 {
	font-weight: 600; font-size: 15px; letter-spacing: .3em; text-transform: uppercase;
	color: var(--ck-ink-dim); white-space: nowrap; margin: 0;
}
.ck-sec-label::before, .ck-sec-label::after { content: ""; height: 1px; background: var(--ck-line); flex: 1; }
.ck-doors { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.ck-door {
	position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 16/9.4;
	display: block; text-decoration: none; color: var(--ck-ink);
	border: 1px solid var(--ck-line); background: var(--ck-card);
}
.ck-door > img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	filter: saturate(.88) brightness(.7); transition: 1s cubic-bezier(.2, .6, .2, 1);
}
.ck-door:hover > img { transform: scale(1.045); filter: saturate(1) brightness(.85); }
.ck-door::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(186deg, transparent 36%, rgba(11, 13, 17, .93) 86%);
}
.ck-door-txt { position: absolute; left: 32px; right: 32px; bottom: 28px; z-index: 2; padding-right: 58px; }
.ck-door-n {
	font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase;
	color: var(--ck-red-soft);
}
.ck-door h3 { font-weight: 600; font-size: 29px; margin: 8px 0 6px; letter-spacing: -.01em; color: var(--ck-ink); }
/* la description de catégorie ne doit pas déborder de la carte */
.ck-door-txt p {
	color: var(--ck-ink-dim); font-size: 13.5px; margin: 0; line-height: 1.55;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ck-door-go {
	position: absolute; right: 28px; bottom: 32px; z-index: 2; width: 46px; height: 46px;
	border-radius: 50%; border: 1.5px solid rgba(238, 72, 45, .55);
	display: grid; place-items: center; color: var(--ck-red-soft); font-size: 18px;
	transition: .35s; background: rgba(15, 18, 22, .45);
}
.ck-door:hover .ck-door-go { background: var(--ck-red); border-color: var(--ck-red); color: #fff; transform: translateX(4px); }

/* ---------- manifeste atelier ---------- */
.ck-atelier {
	border-top: 1px solid var(--ck-line); border-bottom: 1px solid var(--ck-line);
	background: var(--ck-bg-soft); padding: 84px 0;
}
.ck-atelier-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.ck-atelier h2 { font-weight: 600; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: -.01em; margin: 0; }
.ck-atelier h2 span { color: var(--ck-red); }
.ck-lead { color: var(--ck-ink-dim); font-size: 15.5px; line-height: 1.8; margin: 22px 0 0; max-width: 48ch; }
.ck-steps { display: flex; flex-direction: column; }
.ck-step { display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--ck-line); align-items: flex-start; }
.ck-step:last-child { border-bottom: none; }
.ck-step-num {
	font-family: "Quicksand"; font-weight: 700; font-size: 15px; color: #fff;
	background: var(--ck-red); border-radius: 10px; min-width: 38px; height: 38px;
	display: grid; place-items: center;
}
.ck-step b { display: block; font-size: 15.5px; font-weight: 700; margin-bottom: 5px; color: var(--ck-ink); }
.ck-step div > span { color: var(--ck-ink-dim); font-size: 14px; line-height: 1.65; }

/* ---------- pièce du moment ---------- */
.ck-piece { padding: 94px 0; }
.ck-piece-inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 74px; align-items: center; }
.ck-stage { position: relative; }
.ck-stage-photo {
	border-radius: 14px; overflow: hidden; aspect-ratio: 4/4.4;
	box-shadow: 0 60px 110px -50px rgba(0, 0, 0, .95), 0 0 0 1px var(--ck-line); position: relative;
}
.ck-stage-photo::before {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
	background: radial-gradient(620px 320px at 50% 0%, rgba(143, 160, 175, .14), transparent 60%);
}
.ck-stage-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.94); }
.ck-socle {
	height: 10px; background: linear-gradient(180deg, #222a35, #10141a);
	border-radius: 0 0 12px 12px; margin: 0 26px;
	box-shadow: 0 24px 36px -16px rgba(0, 0, 0, .9);
}
.ck-piece h2 { font-weight: 600; font-size: clamp(28px, 2.9vw, 38px); line-height: 1.18; margin: 16px 0; letter-spacing: -.01em; }
.ck-desc { color: var(--ck-ink-dim); font-size: 15.5px; line-height: 1.8; max-width: 46ch; }
.ck-specs {
	display: flex; margin: 32px 0 36px;
	border-top: 1px solid var(--ck-line); border-bottom: 1px solid var(--ck-line);
}
.ck-spec { flex: 1; padding: 18px 6px; text-align: center; }
.ck-spec + .ck-spec { border-left: 1px solid var(--ck-line); }
.ck-spec b { display: block; font-family: "Quicksand"; font-size: 19px; font-weight: 700; color: var(--ck-ink); }
.ck-spec span {
	font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ck-ink-dim); font-weight: 700;
}
.ck-buy { display: flex; align-items: center; gap: 26px; }
.ck-btn {
	display: inline-block; background: var(--ck-red); color: #fff !important;
	font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
	text-decoration: none; padding: 17px 32px; border-radius: 12px; transition: .3s;
}
.ck-btn:hover {
	background: var(--ck-red-soft);
	box-shadow: 0 16px 40px -12px rgba(238, 72, 45, .55);
	transform: translateY(-2px);
}
.ck-price { font-family: "Quicksand"; font-size: 29px; font-weight: 700; color: var(--ck-ink); }
.ck-price .woocommerce-Price-currencySymbol { font-size: 16px; color: var(--ck-ink-dim); }

/* ---------- footer ---------- */
.ck-footer { border-top: 1px solid var(--ck-line); padding: 62px 0 30px; background: var(--ck-bg-soft); }
.ck-fgrid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 44px; padding-bottom: 44px; }
.ck-flogo img { height: 26px; width: auto; }
.ck-fgrid p { color: var(--ck-ink-dim); font-size: 13.5px; line-height: 1.75; max-width: 36ch; margin: 16px 0 0; }
.ck-fgrid h4 {
	font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
	color: var(--ck-slate); margin: 0 0 18px;
}
.ck-fgrid ul { list-style: none; margin: 0; padding: 0; }
.ck-fgrid li { margin-bottom: 11px; }
.ck-fgrid a { color: var(--ck-ink); opacity: .75; text-decoration: none; font-size: 14px; transition: .2s; }
.ck-fgrid a:hover { opacity: 1; color: var(--ck-red-soft); }
.ck-fbottom {
	border-top: 1px solid var(--ck-line); padding-top: 24px;
	display: flex; justify-content: space-between; align-items: center;
	color: var(--ck-ink-dim); font-size: 12.5px;
}
.ck-pay { display: flex; gap: 8px; }
.ck-pay span {
	border: 1px solid var(--ck-line); border-radius: 6px; padding: 4px 10px;
	font-size: 10.5px; font-weight: 700; letter-spacing: .04em;
}

/* ---------- responsive ---------- */
@media (max-width: 980px) {
	.ck-nav { gap: 14px; padding: 16px 22px; }
	body.coleka-showroom .ck-burger { display: inline-grid; }
	/* le menu devient un panneau déroulant sous le header */
	.ck-menu {
		position: absolute; left: 0; right: 0; top: 100%;
		background: var(--ck-bg-soft); border-bottom: 1px solid var(--ck-line);
		margin: 0; display: none;
	}
	.ck-menu.is-open { display: block; }
	.ck-menu ul { flex-direction: column; gap: 0; padding: 8px 22px 18px; }
	.ck-menu li { border-top: 1px solid var(--ck-line); }
	.ck-menu li:first-child { border-top: none; }
	.ck-menu a { display: block; padding: 15px 0; font-size: 14px; }
	.ck-cart { font-size: 12.5px; }
}
@media (max-width: 880px) {
	.ck-hero { min-height: 0; padding: 70px 0 90px; }
	.ck-doors { grid-template-columns: 1fr; }
	.ck-atelier-inner, .ck-piece-inner { grid-template-columns: 1fr; gap: 40px; }
	.ck-fgrid { grid-template-columns: 1fr; gap: 30px; }
	.ck-fbottom { flex-direction: column; gap: 14px; }
}

/* ============================================================
   Salle d'exposition (archive / page univers)
   ============================================================ */

.ck-uhead {
	padding: 64px 0 52px;
	background: radial-gradient(800px 360px at 30% -10%, rgba(114, 130, 146, .12), transparent 65%);
}
.ck-crumb {
	font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
	color: var(--ck-ink-dim); font-weight: 700; margin-bottom: 24px;
}
.ck-crumb a { color: var(--ck-ink-dim); text-decoration: none; }
.ck-crumb a:hover { color: var(--ck-red-soft); }
.ck-crumb b { color: var(--ck-red-soft); font-weight: 700; }
.ck-uhead h1 {
	font-weight: 600; font-size: clamp(38px, 4.6vw, 60px); line-height: 1.06;
	letter-spacing: -.01em; margin: 0;
}
.ck-uhead h1 em { font-style: normal; color: var(--ck-red); }
.ck-uhead-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-top: 22px; }
.ck-uhead-row p { color: var(--ck-ink-dim); font-size: 16px; line-height: 1.7; max-width: 56ch; margin: 0; }
.ck-count { color: var(--ck-ink-dim); font-size: 14px; white-space: nowrap; padding-bottom: 4px; }
.ck-count b {
	font-family: "Quicksand"; color: var(--ck-red-soft); font-size: 26px;
	font-weight: 700; margin-right: 8px;
}

.ck-salle { padding: 10px 36px 60px; }

/* pièce exposée en grand */
.ck-oeuvre {
	display: grid; grid-template-columns: 1.02fr .98fr; gap: 60px; align-items: center;
	padding: 52px 0; border-top: 1px solid var(--ck-line);
}
.ck-oeuvre:first-child { border-top: none; }
.ck-oeuvre:nth-child(even) { direction: rtl; }
.ck-oeuvre:nth-child(even) > * { direction: ltr; }
.ck-oeuvre-photo {
	position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 4/3.6;
	display: block; border: 1px solid var(--ck-line);
	box-shadow: 0 50px 90px -45px rgba(0, 0, 0, .9);
}
.ck-oeuvre-photo::before {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
	background: radial-gradient(560px 280px at 50% 0%, rgba(143, 160, 175, .12), transparent 60%);
}
.ck-oeuvre-photo img {
	width: 100%; height: 100%; object-fit: cover;
	filter: saturate(.92); transition: 1s cubic-bezier(.2, .6, .2, 1);
}
.ck-oeuvre:hover .ck-oeuvre-photo img { transform: scale(1.03); }
.ck-oeuvre-num {
	font-size: 11.5px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase;
	color: var(--ck-red-soft); display: block; margin-bottom: 12px;
}
.ck-oeuvre h2 { font-weight: 600; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; margin: 0 0 14px; }
.ck-oeuvre h2 a { color: var(--ck-ink); text-decoration: none; }
.ck-oeuvre h2 a:hover { color: var(--ck-red-soft); }

/* rangée discrète */
.ck-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-bottom: 30px; }
.ck-mini {
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 14px;
	overflow: hidden; text-decoration: none; color: var(--ck-ink); transition: .3s; display: block;
}
.ck-mini:hover {
	transform: translateY(-5px); border-color: rgba(238, 72, 45, .5);
	box-shadow: 0 30px 56px -28px rgba(0, 0, 0, .9);
}
.ck-mini-ph { aspect-ratio: 4/3.4; overflow: hidden; }
.ck-mini-ph img {
	width: 100%; height: 100%; object-fit: cover;
	filter: saturate(.9); transition: .6s;
}
.ck-mini:hover .ck-mini-ph img { transform: scale(1.04); }
.ck-mini-pi { padding: 18px 20px 20px; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.ck-mini h3 { font-weight: 600; font-size: 16px; line-height: 1.35; margin: 0; }
.ck-mini-p { font-family: "Quicksand"; font-weight: 700; font-size: 17px; color: var(--ck-red-soft); white-space: nowrap; }
.ck-mini-p del { color: var(--ck-ink-dim); font-size: 13px; margin-right: 6px; }

/* pagination Woo restylée */
.coleka-showroom .woocommerce-pagination { text-align: center; padding: 20px 0 30px; }
.coleka-showroom .woocommerce-pagination ul { display: inline-flex; gap: 8px; list-style: none; margin: 0; padding: 0; border: none; }
.coleka-showroom .woocommerce-pagination li { border: none; }
.coleka-showroom .woocommerce-pagination .page-numbers {
	display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px;
	border: 1px solid var(--ck-line); border-radius: 10px; background: none;
	color: var(--ck-ink-dim); font-weight: 700; font-size: 14px; text-decoration: none; transition: .2s;
}
.coleka-showroom .woocommerce-pagination .page-numbers:hover { color: var(--ck-ink); border-color: var(--ck-slate); }
.coleka-showroom .woocommerce-pagination .page-numbers.current { background: var(--ck-red); border-color: var(--ck-red); color: #fff; }

/* Les salles, en bas des pages boutique. Remplace l'ancienne bande
   "Salle suivante", qui n'offrait qu'une seule destination. */
.ck-univers-bas { padding-top: 56px; margin-top: 20px; border-top: 1px solid var(--ck-line); }
.ck-univers-haut { padding-top: 8px; padding-bottom: 64px; }
.ck-doors-3 { grid-template-columns: repeat(3, 1fr); }
.ck-doors-3 .ck-door { aspect-ratio: 4/3.4; }
.ck-doors-3 .ck-door h3 { font-size: 24px; }
.ck-doors-2 { grid-template-columns: repeat(2, 1fr); }
.ck-doors-1 { grid-template-columns: 1fr; }

/* ============================================================
   Fiche d'œuvre (page produit)
   ============================================================ */

.ck-crumb-product { padding: 28px 36px 0; }
.ck-fiche {
	display: grid; grid-template-columns: 1.06fr .94fr; gap: 60px;
	padding: 30px 36px 70px; align-items: start;
}

/* galerie Woo sous spotlight */
.ck-galerie .woocommerce-product-gallery {
	position: relative; border-radius: 14px; overflow: hidden;
	border: 1px solid var(--ck-line);
	box-shadow: 0 56px 100px -48px rgba(0, 0, 0, .95);
	background: var(--ck-card);
}
.ck-galerie .woocommerce-product-gallery__wrapper { margin: 0; }
.ck-galerie .woocommerce-product-gallery__image a { display: block; }
.ck-galerie .flex-viewport { border-radius: 14px 14px 0 0; }
.ck-galerie .flex-control-thumbs {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;
	margin: 12px 0 0; padding: 0 2px 2px; list-style: none;
}
.ck-galerie .flex-control-thumbs li { margin: 0; }
.ck-galerie .flex-control-thumbs img {
	border: 1px solid var(--ck-line); border-radius: 9px; cursor: pointer;
	filter: saturate(.85) brightness(.8); transition: .25s; opacity: 1;
}
.ck-galerie .flex-control-thumbs img:hover,
.ck-galerie .flex-control-thumbs img.flex-active { filter: none; border-color: var(--ck-red); box-shadow: 0 0 0 1px var(--ck-red); }
.ck-galerie .ck-socle { margin-top: 0; }
.ck-galerie .woocommerce-product-gallery__trigger {
	background: rgba(15, 18, 22, .7) !important; border-radius: 50%;
}

/* cartel */
.ck-cartel .ck-over { margin-bottom: 0; animation: none; }
.ck-cartel h1.product_title {
	font-weight: 600; font-size: clamp(28px, 2.9vw, 38px); line-height: 1.16;
	margin: 14px 0 10px; letter-spacing: -.01em;
}
.ck-cartel-prix { display: flex; align-items: baseline; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.ck-cartel-prix .price {
	font-family: "Quicksand"; font-size: 30px; font-weight: 700; color: var(--ck-ink);
}
.ck-cartel-prix .price del { color: var(--ck-ink-dim); font-size: 18px; }
.ck-cartel-prix .price ins { text-decoration: none; }
.ck-prix-note { color: var(--ck-ink-dim); font-size: 14px; }
.ck-pitch { color: var(--ck-ink-dim); font-size: 15.5px; line-height: 1.8; max-width: 50ch; }
.ck-pitch p { margin: 0 0 10px; }

/* formulaire d'achat Woo restylé */
.ck-achat { margin: 6px 0 26px; }
.ck-achat .variations { width: 100%; border: none; margin: 0 0 8px; }
.ck-achat .variations td, .ck-achat .variations th { border: none; padding: 0; vertical-align: top; }
.ck-achat .variations label {
	display: block; font-size: 12px; font-weight: 700; letter-spacing: .2em;
	text-transform: uppercase; color: var(--ck-ink-dim); margin: 14px 0 12px;
}
.ck-achat select {
	background: var(--ck-card); color: var(--ck-ink); border: 1px solid var(--ck-line);
	border-radius: 10px; padding: 11px 14px; font-size: 14.5px; font-family: "Nunito Sans";
}
.ck-achat .reset_variations { color: var(--ck-ink-dim); font-size: 12.5px; }
.ck-achat .woocommerce-variation-price { margin: 10px 0; }
.ck-achat .woocommerce-variation-price .price { font-family: "Quicksand"; font-size: 22px; font-weight: 700; color: var(--ck-ink); }
.ck-achat .woocommerce-variation-availability { color: var(--ck-ink-dim); font-size: 13.5px; }
.ck-achat .single_variation_wrap .woocommerce-variation { margin-bottom: 6px; }
.ck-achat form.cart { display: block; }
.ck-achat form.cart div.quantity, .ck-achat form.cart .quantity {
	display: inline-flex; align-items: center; margin: 0 14px 0 0; float: none;
}
.ck-achat .quantity .qty {
	background: var(--ck-card); color: var(--ck-ink); border: 1px solid var(--ck-line);
	border-radius: 12px; width: 76px; height: 54px; text-align: center;
	font-family: "Quicksand"; font-weight: 700; font-size: 16px;
}
.ck-achat .single_add_to_cart_button,
.ck-achat button.button.alt {
	background: var(--ck-red) !important; color: #fff !important;
	font-weight: 700; font-size: 14.5px; letter-spacing: .06em; text-transform: uppercase;
	padding: 18px 34px; border-radius: 12px; border: none; transition: .3s; cursor: pointer;
}
.ck-achat .single_add_to_cart_button:hover {
	background: var(--ck-red-soft) !important;
	box-shadow: 0 16px 40px -12px rgba(238, 72, 45, .55); transform: translateY(-2px);
}
.ck-achat .single_add_to_cart_button.disabled { opacity: .45; box-shadow: none; transform: none; }

/* nuancier (swatches.js) */
.ck-sw-hidden { display: none !important; }
.ck-sw-current { color: var(--ck-ink); font-size: 14px; font-weight: 700; margin: -4px 0 12px; }
.ck-swatches { display: flex; gap: 12px; flex-wrap: wrap; }
.ck-sw {
	width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
	border: 2px solid var(--ck-line); padding: 0; position: relative; transition: .2s;
	background-clip: padding-box;
}
.ck-sw:hover { transform: scale(1.1); }
.ck-sw.on { border-color: var(--ck-red); box-shadow: 0 0 0 2px rgba(238, 72, 45, .35); }
.ck-sw.on::after {
	content: "✓"; position: absolute; inset: 0; display: grid; place-items: center;
	color: #fff; font-weight: 700; font-size: 15px; text-shadow: 0 1px 3px rgba(0, 0, 0, .65);
}
.ck-sw-text {
	width: auto; border-radius: 10px; padding: 0 16px; height: 42px;
	background: var(--ck-card); color: var(--ck-ink); font-size: 13.5px; font-weight: 700;
}
.ck-sw-text.on::after { content: none; }

/* réassurance */
.ck-reassur { display: flex; flex-direction: column; gap: 12px; }
.ck-r { display: flex; gap: 13px; align-items: center; color: var(--ck-ink-dim); font-size: 13.5px; }
.ck-r i {
	font-style: normal; width: 34px; height: 34px; border-radius: 9px;
	background: var(--ck-card); border: 1px solid var(--ck-line);
	display: grid; place-items: center; font-size: 15px; flex: none;
}
.ck-r b { color: var(--ck-ink); font-weight: 700; }

/* histoire de la pièce */
.ck-histoire {
	border-top: 1px solid var(--ck-line);
	background: var(--ck-bg-soft); padding: 70px 0;
}
.ck-histoire h2 { font-weight: 600; font-size: clamp(26px, 2.6vw, 34px); margin: 0 0 26px; letter-spacing: -.01em; }
.ck-histoire h2 span { color: var(--ck-red); }
.ck-histoire-body { color: var(--ck-ink-dim); font-size: 15.5px; line-height: 1.85; max-width: 72ch; }
.ck-histoire-body p { margin: 0 0 16px; }
.ck-histoire-body iframe, .ck-histoire-body video {
	max-width: 100%; border-radius: 14px; border: 1px solid var(--ck-line);
	box-shadow: 0 46px 90px -44px rgba(0, 0, 0, .95); margin: 14px 0;
}
.ck-histoire-body img { border-radius: 14px; height: auto; }

/* "Dans la même salle" : related Woo restylés en minis */
.ck-meme-salle { padding: 64px 0 80px; }
.ck-meme-salle .related.products > h2 {
	display: flex; align-items: center; gap: 20px;
	font-weight: 600; font-size: 14px; letter-spacing: .3em; text-transform: uppercase;
	color: var(--ck-ink-dim); margin: 0 0 40px;
}
.ck-meme-salle .related.products > h2::before,
.ck-meme-salle .related.products > h2::after { content: ""; height: 1px; background: var(--ck-line); flex: 1; }
.ck-meme-salle ul.products {
	display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px;
	list-style: none; margin: 0; padding: 0;
}
.ck-meme-salle ul.products::before, .ck-meme-salle ul.products::after { content: none; }
.ck-meme-salle ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 14px;
	overflow: hidden; transition: .3s;
}
.ck-meme-salle ul.products li.product:hover {
	transform: translateY(-5px); border-color: rgba(238, 72, 45, .5);
	box-shadow: 0 30px 56px -28px rgba(0, 0, 0, .9);
}
.ck-meme-salle ul.products li.product a { text-decoration: none; }
.ck-meme-salle ul.products li.product img {
	width: 100%; aspect-ratio: 4/3.4; object-fit: cover; margin: 0;
	filter: saturate(.9); transition: .6s;
}
.ck-meme-salle ul.products li.product:hover img { transform: scale(1.04); }
.ck-meme-salle ul.products li.product .woocommerce-loop-product__title {
	font-family: "Quicksand"; font-weight: 600; font-size: 16px; line-height: 1.35;
	color: var(--ck-ink); padding: 18px 20px 4px; margin: 0;
}
.ck-meme-salle ul.products li.product .price {
	font-family: "Quicksand"; font-weight: 700; font-size: 17px;
	color: var(--ck-red-soft); padding: 0 20px 20px; display: block;
}
.ck-meme-salle ul.products li.product .button,
.ck-meme-salle ul.products li.product .added_to_cart { display: none; }

/* notices Woo sur fond sombre : habillage complet plus bas (session 3) */
.coleka-showroom .woocommerce-message a,
.coleka-showroom .woocommerce-info a { color: var(--ck-red-soft); }

/* responsive boutique */
@media (max-width: 880px) {
	.ck-oeuvre { grid-template-columns: 1fr; gap: 28px; padding: 40px 0; }
	.ck-mini-grid { grid-template-columns: 1fr; }
	.ck-fiche { grid-template-columns: 1fr; gap: 36px; }
	.ck-uhead-row { flex-direction: column; align-items: flex-start; gap: 16px; }
	.ck-meme-salle ul.products { grid-template-columns: 1fr; }
}

/* ============================================================
   Neutralisation de la mise en page Storefront (thème parent)
   Storefront pose des largeurs/floats sur la galerie et le
   résumé produit + des wrappers #primary : on reprend la main.
   ============================================================ */

.coleka-showroom .col-full { max-width: none; margin: 0; padding: 0; }
.coleka-showroom #primary,
.coleka-showroom .content-area {
	width: 100% !important; float: none !important;
	margin: 0 !important; padding: 0 !important;
}
.coleka-showroom .site-main { margin: 0; padding: 0; }

/* éléments Storefront non désirés */
.coleka-showroom .storefront-breadcrumb,
.coleka-showroom .woocommerce-breadcrumb,
.coleka-showroom .storefront-product-pagination,
.coleka-showroom .storefront-sticky-add-to-cart,
.coleka-showroom .storefront-handheld-footer-bar { display: none !important; }

/* fiche produit : Storefront floate galerie (52%) et summary (47%) */
.coleka-showroom.single-product div.product .woocommerce-product-gallery {
	width: 100% !important; float: none !important; margin: 0 !important;
}
.coleka-showroom.single-product div.product .summary,
.coleka-showroom.single-product div.product .entry-summary {
	width: 100% !important; float: none !important;
	margin: 0 !important; padding: 0 !important;
}
.coleka-showroom.single-product div.product::before,
.coleka-showroom.single-product div.product::after { content: none; }

/* badge promo Woo sur fond sombre */
.coleka-showroom .onsale {
	background: var(--ck-red); color: #fff; font-weight: 700;
	font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
	border-radius: 7px; padding: 6px 12px; min-width: 0; min-height: 0;
	line-height: 1.4; top: 12px; left: 12px; z-index: 3;
}

/* formulaire variations : Storefront met le label/td en bloc tabulaire */
.coleka-showroom .variations tr { display: block; }
.coleka-showroom .variations td { display: block; width: 100%; }
.coleka-showroom .variations .label { display: block; }

/* finitions session 2 */
.ck-meme-salle .upsells { display: none !important; } /* ceinture-bretelles */
.ck-oeuvre .ck-desc {
	display: -webkit-box; -webkit-line-clamp: 6;
	-webkit-box-orient: vertical; overflow: hidden;
}
.ck-pitch ul, .ck-desc ul { margin: 8px 0 8px 18px; padding: 0; }
.ck-pitch li, .ck-desc li { margin-bottom: 4px; }

/* ============================================================
   Galerie produit v2 : carte propre, image pleine largeur,
   vignettes carrées intégrées (Woo force des width inline → on reprend la main)
   ============================================================ */
.ck-galerie .woocommerce-product-gallery { padding-bottom: 6px; }
.ck-galerie .woocommerce-product-gallery__wrapper { margin: 0; }
.ck-galerie .woocommerce-product-gallery__image a,
.ck-galerie .woocommerce-product-gallery__image img {
	width: 100% !important; height: auto !important; display: block;
}
.ck-galerie .flex-viewport { border-radius: 13px 13px 0 0; }
.ck-galerie .flex-control-thumbs {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;
	margin: 0; padding: 12px;
}
.ck-galerie .flex-control-thumbs img {
	width: 100% !important; height: auto !important;
	aspect-ratio: 1; object-fit: cover; display: block;
}

/* vignettes : Storefront force li à 14% en float → on neutralise */
.ck-galerie .flex-control-thumbs li {
	width: 100% !important; float: none !important; margin: 0 !important;
	padding: 0; list-style: none;
}
.ck-galerie .flex-control-thumbs img {
	border: 1px solid var(--ck-line); border-radius: 9px; cursor: pointer;
	filter: saturate(.85) brightness(.8); transition: .25s; opacity: 1;
}

/* loupe plein écran : cercle lisible sur fond sombre */
.ck-galerie .woocommerce-product-gallery__trigger {
	position: absolute; top: 12px; right: 12px; z-index: 9;
	width: 42px; height: 42px; border-radius: 50% !important;
	background: rgba(15, 18, 22, .75) !important;
	border: 1px solid var(--ck-line);
	display: grid; place-items: center;
	font-size: 17px; line-height: 1; color: #fff !important;
	text-decoration: none; transition: .25s;
}
.ck-galerie .woocommerce-product-gallery__trigger:hover {
	background: var(--ck-red) !important; border-color: var(--ck-red);
}
/* certains habillages remplacent le glyphe par un pseudo-élément vide → on fournit le nôtre */
.ck-galerie .woocommerce-product-gallery__trigger::before {
	content: "⛶"; color: #fff; font-size: 18px;
	position: static; width: auto; height: auto;
	background: none; border: none; box-shadow: none;
}
.ck-galerie .woocommerce-product-gallery__trigger::after { content: none; }
.ck-galerie .woocommerce-product-gallery__trigger img { display: none; }

/* ============================================================
   Galerie produit v3 (demande Xavier) :
   pas de conteneur visible - grande image + vignettes nues dessous
   ============================================================ */
.ck-galerie .woocommerce-product-gallery {
	background: none !important; border: none !important;
	box-shadow: none !important; padding: 0 !important;
	overflow: visible !important; border-radius: 0 !important;
}
/* la carte, c'est l'image principale elle-même */
.ck-galerie .flex-viewport,
.ck-galerie .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--ck-line); border-radius: 14px; overflow: hidden;
	box-shadow: 0 50px 95px -45px rgba(0, 0, 0, .95);
	background: var(--ck-card);
}
/* vignettes nues, en rangée régulière */
.ck-galerie .flex-control-thumbs {
	display: flex !important; flex-wrap: wrap; gap: 12px;
	margin: 16px 0 0 !important; padding: 0 !important; background: none;
}
.ck-galerie .flex-control-thumbs li {
	width: calc(20% - 10px) !important; margin: 0 !important; padding: 0 !important;
}
.ck-galerie .flex-control-thumbs li:empty { display: none; }
.ck-galerie .flex-control-thumbs img {
	border-radius: 10px;
}
/* loupe : rectangle à petit radius */
.ck-galerie .woocommerce-product-gallery__trigger {
	border-radius: 10px !important;
}

/* ============================================================
   Galerie produit v4 - FINALE : slider Woo désactivé, markup statique.
   Grande image (carte radius) + vignettes nues en rangée dessous.
   Le clic vignette la passe en premier (gallery.js).
   ============================================================ */
.ck-galerie .woocommerce-product-gallery {
	background: none !important; border: none !important;
	box-shadow: none !important; padding: 0 !important;
	border-radius: 0 !important; overflow: visible !important;
	width: 100% !important; float: none !important;
}
.ck-galerie .woocommerce-product-gallery__wrapper {
	display: flex; flex-wrap: wrap; gap: 12px; margin: 0;
	background: none; border: none;
}
/* la grande image */
.ck-galerie .woocommerce-product-gallery__image:first-child {
	flex: 0 0 100%; width: 100%;
	border: 1px solid var(--ck-line); border-radius: 14px; overflow: hidden;
	background: var(--ck-card);
	box-shadow: 0 50px 95px -45px rgba(0, 0, 0, .95);
}
.ck-galerie .woocommerce-product-gallery__image:first-child img {
	width: 100% !important; height: auto !important; display: block;
	aspect-ratio: 4 / 5; object-fit: cover;
}
/* les vignettes, nues */
.ck-galerie .woocommerce-product-gallery__image:not(:first-child) {
	flex: 0 0 calc(20% - 10px); width: calc(20% - 10px);
	border-radius: 10px; overflow: hidden; cursor: pointer;
	border: 1px solid var(--ck-line); background: var(--ck-card);
	transition: .25s;
}
.ck-galerie .woocommerce-product-gallery__image:not(:first-child):hover {
	border-color: var(--ck-red); transform: translateY(-2px);
}
.ck-galerie .woocommerce-product-gallery__image:not(:first-child) img {
	width: 100% !important; height: auto !important;
	aspect-ratio: 1; object-fit: cover; display: block;
	filter: saturate(.85) brightness(.82); transition: .25s;
}
.ck-galerie .woocommerce-product-gallery__image:not(:first-child):hover img { filter: none; }

/* le wrapper ne doit porter AUCUN habillage (reliquat v3 : :not(.flexslider)
   matche depuis que le slider est désactivé) */
.ck-galerie .woocommerce-product-gallery__wrapper,
.ck-galerie .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper {
	background: none !important; border: none !important;
	box-shadow: none !important; border-radius: 0 !important;
	overflow: visible !important;
}

/* vignettes : liste fixe, pas d'animation de déplacement ; état actif net */
.ck-galerie .woocommerce-product-gallery__image:not(:first-child) { transition: border-color .2s; }
.ck-galerie .woocommerce-product-gallery__image:not(:first-child):hover { transform: none; }
.ck-galerie .woocommerce-product-gallery__image.ck-on { border-color: var(--ck-red); box-shadow: 0 0 0 1px var(--ck-red); }
.ck-galerie .woocommerce-product-gallery__image.ck-on img { filter: none; }

/* panoramique au survol de la grande image (gallery.js pilote object-position) */
.ck-galerie .woocommerce-product-gallery__image:first-child img {
	transition: object-position .25s ease-out;
}

/* la grande image est au ratio 1:1 (les photos produit sont carrées) */
.ck-galerie .woocommerce-product-gallery__image:first-child img {
	aspect-ratio: 1 / 1;
}

/* zoom au survol : transitions douces */
.ck-galerie .woocommerce-product-gallery__image:first-child img {
	transition: object-position .2s ease-out, transform .2s ease-out;
	will-change: transform;
}

/* ============================================================
   Session 3 - Gabarits de contenu (pages, billets, recherche, 404)
   Hors accueil / salle / fiche, Storefront rendait le contenu à
   nu, collé aux bords de la fenêtre : on pose ici le conteneur,
   la typographie de lecture et les contrôles de formulaire.
   ============================================================ */

/* ---------- bandeau de titre ---------- */
.ck-phead {
	padding: 56px 0 40px;
	background: radial-gradient(760px 320px at 26% -12%, rgba(114, 130, 146, .12), transparent 66%);
	border-bottom: 1px solid var(--ck-line);
}
.ck-phead .ck-crumb { display: flex; gap: 10px; align-items: center; margin-bottom: 20px; }
.ck-phead h1 {
	font-weight: 600; font-size: clamp(32px, 3.8vw, 48px); line-height: 1.1;
	letter-spacing: -.01em; margin: 0;
}
.ck-phead h1 em { font-style: normal; color: var(--ck-red); }
.ck-phead-sub { color: var(--ck-ink-dim); font-size: 16px; line-height: 1.7; max-width: 60ch; margin: 18px 0 0; }
.ck-phead-search { margin-top: 26px; max-width: 560px; }
.ck-empty { color: var(--ck-ink-dim); font-size: 16.5px; margin: 0 0 48px; }

/* ---------- conteneur de page ---------- */
/* padding vertical seulement : .ck-page se combine avec .ck-wrap, qui porte
   déjà les marges latérales (un padding raccourci les effacerait) */
.ck-page { padding-top: 48px; padding-bottom: 90px; }
.ck-edit { margin: 40px 0 0; }
.ck-edit a { font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }

/* ---------- colonne de lecture ---------- */
.ck-prose {
	max-width: 74ch; color: var(--ck-ink-dim);
	font-size: 16.5px; line-height: 1.85;
}
.ck-prose > *:first-child { margin-top: 0; }
.ck-prose > *:last-child { margin-bottom: 0; }
.ck-prose p { margin: 0 0 20px; }
.ck-prose h2 {
	font-weight: 600; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.25;
	color: var(--ck-ink); margin: 52px 0 18px; letter-spacing: -.01em;
}
.ck-prose h3 { font-weight: 600; font-size: 20px; color: var(--ck-ink); margin: 38px 0 14px; }
.ck-prose h4 { font-weight: 700; font-size: 16px; color: var(--ck-ink); margin: 30px 0 12px; }
.ck-prose ul, .ck-prose ol { margin: 0 0 20px; padding-left: 22px; }
.ck-prose li { margin-bottom: 9px; }
.ck-prose li::marker { color: var(--ck-red-soft); }
.ck-prose strong, .ck-prose b { color: var(--ck-ink); font-weight: 700; }
.ck-prose blockquote {
	margin: 28px 0; padding: 4px 0 4px 26px;
	border-left: 3px solid var(--ck-red); color: var(--ck-ink); font-size: 18px; font-style: italic;
}
.ck-prose blockquote p:last-child { margin-bottom: 0; }
.ck-prose hr { border: none; border-top: 1px solid var(--ck-line); margin: 44px 0; }
.ck-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.ck-prose figure { margin: 30px 0; }
.ck-prose figcaption { font-size: 13.5px; color: var(--ck-ink-dim); margin-top: 10px; text-align: center; }
.ck-prose iframe { max-width: 100%; border-radius: 14px; border: 1px solid var(--ck-line); }
.ck-prose code {
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 6px;
	padding: 2px 6px; font-size: .9em;
}
.ck-prose table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; }
.ck-prose th, .ck-prose td { padding: 12px 14px; border-bottom: 1px solid var(--ck-line); text-align: left; }
.ck-prose th { color: var(--ck-ink); font-family: "Quicksand", sans-serif; font-weight: 700; }

.ck-post-cover { margin: 0 0 44px; }
.ck-post-cover img {
	width: 100%; height: auto; border-radius: 16px; border: 1px solid var(--ck-line);
	box-shadow: 0 50px 90px -46px rgba(0, 0, 0, .9);
}

/* ---------- liste de résultats / billets ---------- */
.ck-results { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.ck-results li { margin: 0; }
.ck-results > li > a {
	display: flex; gap: 26px; align-items: center; text-decoration: none;
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 14px;
	padding: 24px 28px; transition: .3s;
}
.ck-results > li > a:hover {
	border-color: rgba(238, 72, 45, .5); transform: translateY(-3px);
	box-shadow: 0 30px 56px -30px rgba(0, 0, 0, .9);
}
.ck-results-ph { flex: none; width: 132px; }
.ck-results-ph img { width: 100%; aspect-ratio: 4/3.2; object-fit: cover; border-radius: 10px; display: block; }
.ck-results-date {
	font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
	color: var(--ck-red-soft);
}
.ck-results h2 { font-weight: 600; font-size: 21px; color: var(--ck-ink); margin: 8px 0 8px; line-height: 1.3; }
.ck-results h2:first-child { margin-top: 0; }
.ck-results p { color: var(--ck-ink-dim); font-size: 14.5px; line-height: 1.65; margin: 0; }

.ck-404-actions { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 64px; }
.ck-mini-grid-4 { grid-template-columns: repeat(4, 1fr); }

/* ---------- bouton secondaire ---------- */
.ck-btn-ghost {
	display: inline-block; background: none; color: var(--ck-ink) !important;
	font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
	text-decoration: none; padding: 16px 30px; border-radius: 12px;
	border: 1px solid var(--ck-line); transition: .3s;
}
.ck-btn-ghost:hover { border-color: var(--ck-slate); background: var(--ck-card); }

/* ============================================================
   Contrôles de formulaire (Contact, panier, commande, compte)
   ============================================================ */

body.coleka-showroom input[type="text"],
body.coleka-showroom input[type="email"],
body.coleka-showroom input[type="tel"],
body.coleka-showroom input[type="url"],
body.coleka-showroom input[type="password"],
body.coleka-showroom input[type="search"],
body.coleka-showroom input[type="number"],
body.coleka-showroom input[type="date"],
body.coleka-showroom textarea,
body.coleka-showroom select,
body.coleka-showroom .select2-container .select2-selection--single {
	background: var(--ck-bg-soft); color: var(--ck-ink);
	border: 1px solid var(--ck-line); border-radius: 10px;
	padding: 13px 15px; font-family: "Nunito Sans", sans-serif; font-size: 15px;
	width: 100%; max-width: 100%; box-shadow: none; transition: border-color .2s, box-shadow .2s;
}
body.coleka-showroom textarea { min-height: 170px; line-height: 1.7; resize: vertical; }
body.coleka-showroom input:focus,
body.coleka-showroom textarea:focus,
body.coleka-showroom select:focus {
	outline: none; border-color: var(--ck-red);
	box-shadow: 0 0 0 3px rgba(238, 72, 45, .18);
}
body.coleka-showroom ::placeholder { color: var(--ck-ink-dim); opacity: .8; }
/* Storefront efface le texte indicatif dès la prise de focus ; avec le champ
   de recherche qui s'ouvre déjà focalisé, on se retrouve devant une boîte
   vide sans indication. */
body.coleka-showroom input:focus::placeholder,
body.coleka-showroom textarea:focus::placeholder { opacity: .8; }
body.coleka-showroom input:focus::-webkit-input-placeholder,
body.coleka-showroom textarea:focus::-webkit-input-placeholder { opacity: .8; }
body.coleka-showroom input[type="checkbox"],
body.coleka-showroom input[type="radio"] {
	accent-color: var(--ck-red); width: 17px; height: 17px; margin: 0; flex: none; vertical-align: middle;
}
body.coleka-showroom label { color: var(--ck-ink); font-size: 14px; font-weight: 700; display: block; margin-bottom: 8px; }
body.coleka-showroom .required { color: var(--ck-red-soft); border: none; }

/* .ck-sw (nuancier) et .pswp__button (visionneuse) sont des <button> qui ont
   leur propre habillage : ils restent hors de ce style générique.
   L'exclusion passe par :where() pour ne rien ajouter à la spécificité -
   sinon ce style générique l'emporterait sur les variantes ci-dessous. */
body.coleka-showroom button:not(:where(.ck-sw, [class*="pswp__button"], .show-password-input)),
body.coleka-showroom input[type="submit"],
body.coleka-showroom .wp-block-button__link,
body.coleka-showroom .woocommerce .button,
body.coleka-showroom .woocommerce a.button,
body.coleka-showroom .woocommerce button.button,
body.coleka-showroom .woocommerce input.button {
	background: var(--ck-red); color: #fff; border: none; border-radius: 12px;
	padding: 15px 28px; font-family: "Nunito Sans", sans-serif;
	font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
	cursor: pointer; text-decoration: none; transition: .3s; text-shadow: none; width: auto;
}
body.coleka-showroom button:not(:where(.ck-sw, [class*="pswp__button"])):hover,
body.coleka-showroom input[type="submit"]:hover,
body.coleka-showroom .woocommerce .button:hover,
body.coleka-showroom .woocommerce a.button:hover,
body.coleka-showroom .woocommerce button.button:hover,
body.coleka-showroom .woocommerce input.button:hover {
	background: var(--ck-red-soft); color: #fff;
	box-shadow: 0 16px 40px -14px rgba(238, 72, 45, .5);
}
/* actions de second rang : contour, pas d'aplat rouge */
body.coleka-showroom .woocommerce a.button.wc-backward,
body.coleka-showroom .woocommerce button[name="update_cart"],
body.coleka-showroom .woocommerce input[name="update_cart"],
body.coleka-showroom .woocommerce a.edit,
body.coleka-showroom .woocommerce-MyAccount-content a.button {
	background: none; color: var(--ck-ink); border: 1px solid var(--ck-line);
}
body.coleka-showroom .woocommerce button[name="update_cart"]:hover,
body.coleka-showroom .woocommerce input[name="update_cart"]:hover,
body.coleka-showroom .woocommerce a.button.wc-backward:hover {
	background: var(--ck-card); color: var(--ck-ink); border-color: var(--ck-slate); box-shadow: none;
}
body.coleka-showroom button[disabled],
body.coleka-showroom .woocommerce button.button:disabled,
body.coleka-showroom .woocommerce button.button.disabled { opacity: .45; box-shadow: none; }

/* select2 (pays / région du tunnel de commande) : le <select> natif est masqué,
   le widget visible est reconstruit en div → il faut l'habiller à part. */
body.coleka-showroom .select2-container--default .select2-selection--single {
	height: auto; background: var(--ck-bg-soft);
	border: 1px solid var(--ck-line); border-radius: 10px; padding: 0;
}
body.coleka-showroom .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--ck-ink); line-height: 1.4; padding: 13px 34px 13px 15px; font-size: 15px;
}
body.coleka-showroom .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%; top: 0; right: 10px;
}
body.coleka-showroom .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--ck-ink-dim); }
body.coleka-showroom .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--ck-red); }
body.coleka-showroom .select2-dropdown {
	background: var(--ck-bg-soft); border-color: var(--ck-line); border-radius: 10px; overflow: hidden;
}
body.coleka-showroom .select2-container--default .select2-results__option { color: var(--ck-ink); background: none; }
body.coleka-showroom .select2-container--default .select2-results__option--highlighted[aria-selected],
body.coleka-showroom .select2-container--default .select2-results__option[aria-selected="true"] {
	background: var(--ck-red); color: #fff;
}
body.coleka-showroom .select2-search--dropdown .select2-search__field {
	background: var(--ck-card); color: var(--ck-ink); border: 1px solid var(--ck-line); border-radius: 8px;
}

/* Contact Form 7 */
body.coleka-showroom .wpcf7 { max-width: 620px; }
body.coleka-showroom .wpcf7 p { margin: 0 0 20px; color: var(--ck-ink-dim); }
body.coleka-showroom .wpcf7-not-valid-tip { color: var(--ck-red-soft); font-size: 13px; margin-top: 6px; }
body.coleka-showroom .wpcf7-response-output {
	border: 1px solid var(--ck-line) !important; border-radius: 12px;
	background: var(--ck-card); color: var(--ck-ink); padding: 16px 20px !important; margin: 20px 0 0 !important;
}
body.coleka-showroom .wpcf7-spinner { filter: invert(1) brightness(1.4); }

/* ============================================================
   WooCommerce : notices, tableaux, panier, commande, compte
   ============================================================ */

/* Les notices greffées hors de nos conteneurs (hooks Woo) partent en pleine
   largeur : on les recadre. Celles déjà rendues dans .ck-page sont en place. */
.coleka-showroom .ck-content > .woocommerce-notices-wrapper:not(:empty),
.coleka-showroom .ck-content > .woocommerce > .woocommerce-notices-wrapper:not(:empty) {
	max-width: 1180px; margin: 0 auto; padding: 22px 36px 0;
}
.coleka-showroom .woocommerce-message,
.coleka-showroom .woocommerce-info,
.coleka-showroom .woocommerce-error {
	background: var(--ck-card); color: var(--ck-ink);
	border: 1px solid var(--ck-line); border-top: 3px solid var(--ck-red);
	border-radius: 12px; padding: 16px 20px 16px 52px; margin: 0 0 16px; list-style: none;
}
.coleka-showroom .woocommerce-message::before,
.coleka-showroom .woocommerce-info::before,
.coleka-showroom .woocommerce-error::before { top: 18px; left: 20px; color: var(--ck-red-soft); }
.coleka-showroom .woocommerce-message .button { float: right; margin-left: 16px; }

/* tableaux Woo : Storefront les rend en blanc → illisibles sur fond sombre */
.coleka-showroom .woocommerce table.shop_table,
.coleka-showroom table.shop_table_responsive {
	background: var(--ck-card); color: var(--ck-ink);
	border: 1px solid var(--ck-line); border-radius: 14px; border-collapse: separate;
	border-spacing: 0; width: 100%; margin: 0 0 28px; overflow: hidden;
}
.coleka-showroom .woocommerce table.shop_table th,
.coleka-showroom .woocommerce table.shop_table td,
.coleka-showroom .woocommerce table.shop_table tr,
.coleka-showroom .woocommerce table.shop_table tbody th,
.coleka-showroom .woocommerce table.shop_table tfoot td,
.coleka-showroom .woocommerce table.shop_table tfoot th { background: none; color: inherit; }
.coleka-showroom .woocommerce table.shop_table thead th {
	font-family: "Quicksand", sans-serif; font-size: 11px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--ck-slate);
	padding: 18px 20px; border-bottom: 1px solid var(--ck-line); text-align: left;
}
.coleka-showroom .woocommerce table.shop_table td,
.coleka-showroom .woocommerce table.shop_table tbody th {
	padding: 20px; border-top: 1px solid var(--ck-line); vertical-align: middle; font-size: 15px;
}
.coleka-showroom .woocommerce table.shop_table tbody tr:first-child td,
.coleka-showroom .woocommerce table.shop_table tbody tr:first-child th { border-top: none; }
.coleka-showroom .woocommerce table.shop_table .amount,
.coleka-showroom .woocommerce table.shop_table .woocommerce-Price-amount {
	font-family: "Quicksand", sans-serif; font-weight: 700; color: var(--ck-ink);
}
.coleka-showroom .woocommerce table.shop_table .product-name a { color: var(--ck-ink); text-decoration: none; font-weight: 700; }
.coleka-showroom .woocommerce table.shop_table .product-name a:hover { color: var(--ck-red-soft); }
.coleka-showroom .woocommerce table.shop_table .product-thumbnail img {
	width: 74px; height: 74px; object-fit: cover; border-radius: 10px;
	border: 1px solid var(--ck-line); display: block;
}
.coleka-showroom .woocommerce table.shop_table td.product-remove { width: 44px; }
.coleka-showroom .woocommerce a.remove {
	color: var(--ck-ink-dim) !important; background: none; font-size: 22px; line-height: 1;
	width: 26px; height: 26px;
}
.coleka-showroom .woocommerce a.remove:hover { color: var(--ck-red) !important; background: none; }
.coleka-showroom .woocommerce table.shop_table .variation {
	color: var(--ck-ink-dim); font-size: 13.5px; margin: 6px 0 0;
}
.coleka-showroom .woocommerce table.shop_table .variation dt,
.coleka-showroom .woocommerce table.shop_table .variation dd { display: inline; margin: 0; }
.coleka-showroom .woocommerce table.shop_table .variation dd { margin-right: 10px; }
.coleka-showroom .woocommerce table.shop_table .variation dd p { display: inline; margin: 0; }

/* la quantité dans le panier */
.coleka-showroom .woocommerce td.product-quantity .quantity .qty {
	background: var(--ck-bg-soft); color: var(--ck-ink); border: 1px solid var(--ck-line);
	border-radius: 10px; width: 74px; height: 46px; text-align: center;
	font-family: "Quicksand", sans-serif; font-weight: 700;
}

/* Ligne d'actions du panier : code promo à gauche, mise à jour à droite.
   La cellule reste une cellule de tableau (un display:flex ici annulerait le
   colspan et la ramènerait à la largeur de la première colonne). */
.coleka-showroom .woocommerce table.shop_table td.actions {
	padding: 20px; border-top: 1px solid var(--ck-line);
}
.coleka-showroom .woocommerce table.shop_table td.actions::after { content: ""; display: block; clear: both; }
.coleka-showroom .woocommerce .coupon { display: flex; gap: 10px; align-items: center; float: left; }
.coleka-showroom .woocommerce .coupon label { display: none; }
.coleka-showroom .woocommerce .coupon .input-text { width: 240px; max-width: 100%; }
.coleka-showroom .woocommerce table.shop_table td.actions > button[name="update_cart"],
.coleka-showroom .woocommerce table.shop_table td.actions > input[name="update_cart"] { float: right; }

/* totaux du panier */
.coleka-showroom .cart-collaterals { display: flex; justify-content: flex-end; }
.coleka-showroom .cart-collaterals .cross-sells { display: none; }
.coleka-showroom .cart_totals { width: 100%; max-width: 460px; }
.coleka-showroom .cart_totals h2 {
	font-weight: 600; font-size: 15px; letter-spacing: .22em; text-transform: uppercase;
	color: var(--ck-ink-dim); margin: 0 0 20px;
}
.coleka-showroom .cart_totals .order-total .amount { font-size: 22px; color: var(--ck-red-soft); }
.coleka-showroom .woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.coleka-showroom .woocommerce ul#shipping_method li { margin: 0 0 10px; padding: 0; }
.coleka-showroom .woocommerce ul#shipping_method label { display: inline; font-weight: 400; color: var(--ck-ink); }
.coleka-showroom .woocommerce-shipping-destination,
.coleka-showroom .woocommerce-shipping-methods + p,
.coleka-showroom .shipping-calculator-button { color: var(--ck-ink-dim); font-size: 13.5px; }
.coleka-showroom .wc-proceed-to-checkout { padding: 20px 0 0; }
.coleka-showroom .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; font-size: 15px; padding: 18px 28px; }

/* ---------- commande ---------- */
/* Deux colonnes : saisie à gauche, récapitulatif + paiement à droite.
   Les zones sont placées explicitement, sinon le titre "Votre commande"
   et le récapitulatif se retrouvent sur deux rangées différentes. */
.coleka-showroom .woocommerce form.checkout {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	column-gap: 50px; row-gap: 0; align-items: start;
}
/* Storefront donne des largeurs en pourcentage (52,94% / 41,18%) et des floats
   à ces trois blocs : dans la grille, ça les réduit au tiers de leur colonne. */
.coleka-showroom .woocommerce form.checkout #customer_details,
.coleka-showroom .woocommerce form.checkout #order_review_heading,
.coleka-showroom .woocommerce form.checkout #order_review {
	width: 100%; float: none; margin-left: 0; margin-right: 0;
	background: none; /* Storefront peint #order_review en blanc */
}
.coleka-showroom .woocommerce form.checkout #customer_details { grid-area: 1 / 1 / 3 / 2; }
.coleka-showroom .woocommerce form.checkout #order_review_heading { grid-area: 1 / 2 / 2 / 3; }
.coleka-showroom .woocommerce form.checkout #order_review { grid-area: 2 / 2 / 3 / 3; }
.coleka-showroom .woocommerce form.checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.coleka-showroom .woocommerce form.checkout .col2-set,
.coleka-showroom .woocommerce form.checkout .col-1,
.coleka-showroom .woocommerce form.checkout .col-2 { width: 100%; float: none; margin: 0; }
.coleka-showroom .woocommerce form.checkout h3,
.coleka-showroom .woocommerce #order_review_heading {
	font-weight: 600; font-size: 15px; letter-spacing: .22em; text-transform: uppercase;
	color: var(--ck-ink-dim); margin: 0 0 22px;
}
.coleka-showroom .woocommerce .form-row { margin: 0 0 18px; padding: 0; }
.coleka-showroom .woocommerce .form-row-first,
.coleka-showroom .woocommerce .form-row-last { width: 48.5%; float: left; }
.coleka-showroom .woocommerce .form-row-last { float: right; }
.coleka-showroom .woocommerce .form-row-wide { clear: both; }
.coleka-showroom .woocommerce .woocommerce-input-wrapper { display: block; }
/* "Expédier à une adresse différente ?" : Storefront envoie la case à droite */
.coleka-showroom #ship-to-different-address { margin: 28px 0 18px; }
.coleka-showroom #ship-to-different-address label {
	display: inline-flex; align-items: center; gap: 11px; margin: 0;
	font-size: 15px; letter-spacing: 0; text-transform: none;
}
.coleka-showroom #ship-to-different-address input { float: none; margin: 0; }

/* Le bloc de paiement reste clair : Stripe et PayPal y injectent des
   iframes en thème clair qu'on ne peut pas repeindre. */
body.coleka-showroom.woocommerce-checkout #payment {
	background: #f4f4f2; border-radius: 14px; padding: 26px; color: #1c2128;
	color-scheme: light; /* le panneau reste clair : contrôles natifs clairs aussi */
}
body.coleka-showroom.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #dcdcd8; padding: 0 0 18px; margin: 0 0 18px; list-style: none;
}
body.coleka-showroom.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 12px; }
body.coleka-showroom.woocommerce-checkout #payment label { color: #1c2128; display: inline; font-weight: 700; }
body.coleka-showroom.woocommerce-checkout #payment div.payment_box {
	background: #e9e9e5; color: #40474f; border-radius: 10px; font-size: 14px; margin: 12px 0 0;
}
body.coleka-showroom.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #e9e9e5; }
body.coleka-showroom.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.coleka-showroom.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { color: #40474f; font-size: 13.5px; }
body.coleka-showroom.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: var(--ck-red); }
body.coleka-showroom.woocommerce-checkout #payment #place_order { width: 100%; padding: 18px 28px; font-size: 15px; }

/* ---------- mon compte ---------- */
body.coleka-showroom.woocommerce-account .woocommerce {
	display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 44px; align-items: start;
}
/* placement explicite : les notices Woo s'intercalent entre le menu et le
   contenu selon les cas, l'auto-placement décalerait tout d'une case */
body.coleka-showroom.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-area: 1 / 1 / 2 / 3; }
body.coleka-showroom.woocommerce-account .woocommerce-MyAccount-navigation { grid-area: 2 / 1 / 3 / 2; }
body.coleka-showroom.woocommerce-account .woocommerce-MyAccount-content { grid-area: 2 / 2 / 3 / 3; }
.coleka-showroom .woocommerce-MyAccount-navigation {
	width: auto; float: none; margin: 0;
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 14px; padding: 10px;
}
.coleka-showroom .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.coleka-showroom .woocommerce-MyAccount-navigation li { margin: 0; border: none; }
.coleka-showroom .woocommerce-MyAccount-navigation li a {
	display: block; padding: 12px 16px; border-radius: 10px; text-decoration: none;
	color: var(--ck-ink); font-size: 14.5px; transition: .2s;
}
.coleka-showroom .woocommerce-MyAccount-navigation li a:hover { background: var(--ck-bg-soft); }
.coleka-showroom .woocommerce-MyAccount-navigation li.is-active a { background: var(--ck-red); color: #fff; font-weight: 700; }
.coleka-showroom .woocommerce-MyAccount-content { width: auto; float: none; color: var(--ck-ink-dim); line-height: 1.8; }
.coleka-showroom .woocommerce-MyAccount-content a { color: var(--ck-red-soft); }
.coleka-showroom .woocommerce-MyAccount-content mark { background: none; color: var(--ck-ink); font-weight: 700; }

/* l'oeil "afficher le mot de passe" reste un discret bouton d'icône */
body.coleka-showroom .show-password-input {
	background: none; border: none; color: var(--ck-ink-dim); cursor: pointer;
	padding: 0 14px; box-shadow: none;
}
body.coleka-showroom .show-password-input:hover { color: var(--ck-ink); }

/* connexion / inscription : panneaux */
.coleka-showroom .woocommerce form.login,
.coleka-showroom .woocommerce form.register,
.coleka-showroom .woocommerce form.lost_reset_password,
.coleka-showroom .woocommerce form.woocommerce-EditAccountForm,
.coleka-showroom .woocommerce form.edit-account {
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 14px;
	padding: 30px; max-width: 560px;
}
.coleka-showroom .woocommerce form.login .woocommerce-form-login__rememberme,
.coleka-showroom .woocommerce .woocommerce-form__label-for-checkbox { font-weight: 400; display: inline-flex; gap: 9px; align-items: center; }
/* titres de section du compte et du détail de commande : même traitement
   discret que "Total panier" ou "Votre commande", pas des titres de page */
body.coleka-showroom.woocommerce-account h2,
body.coleka-showroom .woocommerce-MyAccount-content h2,
body.coleka-showroom .woocommerce-order-details h2,
body.coleka-showroom .woocommerce-customer-details h2,
body.coleka-showroom .woocommerce-column__title {
	font-weight: 600; font-size: 15px; letter-spacing: .22em; text-transform: uppercase;
	color: var(--ck-ink-dim); margin: 40px 0 20px;
}
body.coleka-showroom .woocommerce-MyAccount-content > *:first-child { margin-top: 0; }
body.coleka-showroom address { font-style: normal; line-height: 1.8; color: var(--ck-ink); }
.coleka-showroom .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.coleka-showroom .woocommerce-columns--addresses .col-1,
.coleka-showroom .woocommerce-columns--addresses .col-2 { width: 100%; float: none; }
.coleka-showroom .woocommerce-address-fields__field-wrapper,
.coleka-showroom .woocommerce-Addresses { color: var(--ck-ink-dim); }
.coleka-showroom .woocommerce-Address address { font-style: normal; line-height: 1.8; }

/* ---------- confirmation de commande ---------- */
.coleka-showroom .woocommerce-order-overview {
	list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 14px; margin: 0 0 34px; padding: 0; border: none;
}
.coleka-showroom .woocommerce-order-overview li {
	background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 12px;
	padding: 18px 20px; margin: 0; float: none; border-right: 1px solid var(--ck-line);
	font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--ck-slate);
}
.coleka-showroom .woocommerce-order-overview li strong {
	display: block; margin-top: 8px; font-family: "Quicksand", sans-serif; font-size: 17px;
	letter-spacing: 0; text-transform: none; color: var(--ck-ink);
}

/* ============================================================
   Pagination (salle d'exposition, journal, recherche)
   Storefront la sort du flux avec un float:right : elle passait
   par-dessus la bande "Salle suivante" et le footer.
   ============================================================ */
.coleka-showroom .woocommerce-pagination,
.coleka-showroom .woocommerce nav.woocommerce-pagination,
.coleka-showroom .navigation.pagination,
.coleka-showroom .pagination {
	float: none !important; width: 100% !important; clear: both;
	text-align: center; padding: 30px 0 10px; margin: 0;
}
.coleka-showroom .woocommerce-pagination ul.page-numbers,
.coleka-showroom .woocommerce nav.woocommerce-pagination ul,
.coleka-showroom .navigation.pagination .nav-links {
	display: inline-flex !important; flex-wrap: wrap; justify-content: center;
	gap: 8px; list-style: none; margin: 0; padding: 0;
	border: none !important; border-radius: 0; white-space: normal;
}
.coleka-showroom .woocommerce-pagination ul.page-numbers li,
.coleka-showroom .woocommerce nav.woocommerce-pagination ul li {
	display: inline-block !important; float: none !important;
	border: none !important; margin: 0; padding: 0; overflow: visible;
}
/* Le sélecteur est préfixé par `body` et passe par `li` / `.nav-links` pour
   dépasser en spécificité `.woocommerce-pagination .page-numbers li .page-numbers`
   de Storefront, qui impose sinon son display inline-block et son padding :
   le chiffre se calait alors en haut de la case au lieu d'être centré. */
body.coleka-showroom .woocommerce-pagination li .page-numbers,
body.coleka-showroom .navigation.pagination .nav-links .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 12px; box-sizing: border-box;
	border: 1px solid var(--ck-line); border-radius: 10px; background: none;
	color: var(--ck-ink-dim); font-family: "Quicksand", sans-serif;
	font-weight: 700; font-size: 14.5px; line-height: 1; text-decoration: none;
	vertical-align: middle; transition: .2s;
}
body.coleka-showroom .woocommerce-pagination li .page-numbers:hover,
body.coleka-showroom .navigation.pagination .nav-links .page-numbers:hover {
	color: var(--ck-ink); border-color: var(--ck-slate); background: var(--ck-card);
}
body.coleka-showroom .woocommerce-pagination li .page-numbers.current,
body.coleka-showroom .navigation.pagination .nav-links .page-numbers.current {
	background: var(--ck-red); border-color: var(--ck-red); color: #fff;
}
body.coleka-showroom .woocommerce-pagination li .page-numbers.dots {
	border-color: transparent; background: none;
}

/* ============================================================
   Finitions session 3
   ============================================================ */

/* fiche technique à un seul attribut : pas de bloc centré pleine largeur */
.ck-specs-1 { display: block; }
.ck-specs-1 .ck-spec { text-align: left; padding: 16px 0; }

/* le lien "Modifier" de l'admin ne doit pas se confondre avec le contenu */
.coleka-showroom .post-edit-link { color: var(--ck-ink-dim); }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
	/* une seule colonne : il faut réattribuer les LIGNES aussi, sinon les
	   zones définies pour le deux-colonnes se chevauchent */
	.coleka-showroom .woocommerce form.checkout { grid-template-columns: minmax(0, 1fr); row-gap: 34px; }
	.coleka-showroom .woocommerce form.checkout #customer_details { grid-area: 1 / 1 / 2 / 2; }
	.coleka-showroom .woocommerce form.checkout #order_review_heading { grid-area: 2 / 1 / 3 / 2; }
	.coleka-showroom .woocommerce form.checkout #order_review { grid-area: 3 / 1 / 4 / 2; }
	body.coleka-showroom.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	body.coleka-showroom.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-area: 1 / 1 / 2 / 2; }
	body.coleka-showroom.woocommerce-account .woocommerce-MyAccount-navigation { grid-area: 2 / 1 / 3 / 2; }
	body.coleka-showroom.woocommerce-account .woocommerce-MyAccount-content { grid-area: 3 / 1 / 4 / 2; }
	.ck-mini-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
	/* marges latérales resserrées, alignées sur celles du header */
	.ck-wrap { padding-left: 22px; padding-right: 22px; }
	.ck-univers { padding: 24px 22px 70px; }
	.ck-salle { padding: 10px 22px 50px; }
	.ck-crumb-product { padding: 22px 22px 0; }
	.ck-fiche { padding: 24px 22px 56px; }
	.ck-phead { padding: 38px 0 30px; }
	.ck-page { padding-top: 34px; padding-bottom: 64px; }
	.ck-results > li > a { flex-direction: column; align-items: flex-start; gap: 16px; padding: 20px; }
	.ck-results-ph { width: 100%; }
	.coleka-showroom .woocommerce .form-row-first,
	.coleka-showroom .woocommerce .form-row-last { width: 100%; float: none; }
	/* panier empilé : la croix de suppression se cale en haut à droite de la
	   ligne au lieu de chevaucher le bord de la carte */
	.coleka-showroom .woocommerce table.shop_table td.product-remove {
		width: auto; text-align: right; padding: 14px 20px 0; border-top: none;
	}
	.coleka-showroom .woocommerce table.shop_table td.product-remove::before { content: none; }
	.coleka-showroom .woocommerce a.remove { display: inline-block; float: none; margin: 0; }
	.coleka-showroom .woocommerce table.shop_table td.product-thumbnail { text-align: center; }
	.coleka-showroom .woocommerce table.shop_table td.product-thumbnail img { margin: 0 auto; }
	.coleka-showroom .woocommerce table.shop_table td.actions { flex-direction: column; align-items: stretch; }
	.coleka-showroom .woocommerce .coupon { flex-wrap: wrap; }
	.coleka-showroom .woocommerce .coupon .input-text { max-width: none; }
	.coleka-showroom .cart-collaterals { justify-content: stretch; }
	.coleka-showroom .cart_totals { max-width: none; }
	.ck-404-actions { flex-direction: column; align-items: stretch; }
	.ck-404-actions a { text-align: center; }
}

/* ============================================================
   Retours du 13/08 - corrections et ajustements
   ============================================================ */

/* ---------- header réellement collant ----------
   Storefront (ou Elementor) pose `overflow: hidden auto` sur #page : cet
   ancêtre devient le conteneur de défilement de référence et `position: sticky`
   n'a plus rien à quoi s'accrocher. `overflow-x: clip` coupe le débordement
   horizontal SANS créer de conteneur de défilement. */
body.coleka-showroom #page.site { overflow-x: clip; overflow-y: visible; }
.ck-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .ck-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .ck-header { top: 46px; }
}

/* ---------- panier plus présent dans le header ---------- */
body.coleka-showroom .ck-cart {
	display: inline-flex; align-items: center; gap: 9px;
	background: var(--ck-red); color: #fff !important;
	border-radius: 11px; padding: 10px 16px; font-size: 13px;
	transition: .25s; white-space: nowrap;
}
body.coleka-showroom .ck-cart:hover {
	background: var(--ck-red-soft);
	box-shadow: 0 14px 30px -12px rgba(238, 72, 45, .6);
}
.ck-cart-count {
	background: rgba(0, 0, 0, .28); border-radius: 20px;
	min-width: 21px; padding: 1px 6px; text-align: center;
	font-family: "Quicksand", sans-serif; font-size: 12.5px;
}

/* ---------- notices Woo : alignement et sémantique ---------- */
/* Elles sont greffées par des hooks à des profondeurs variables : on les
   recadre partout, puis on neutralise le recadrage quand elles sont déjà
   dans un conteneur .ck-wrap (sinon double marge). */
.coleka-showroom .woocommerce-notices-wrapper:not(:empty) {
	max-width: 1180px; margin: 0 auto; padding: 22px 36px 0; box-sizing: border-box;
}
.coleka-showroom .ck-wrap .woocommerce-notices-wrapper:not(:empty) {
	max-width: none; padding: 0; margin: 0 0 4px;
}
/* WooCommerce donne le focus aux notices pour les lecteurs d'écran : le cercle
   de focus du navigateur apparaissait à l'arrivée sur le panier. On le retire
   pour ce focus programmatique uniquement, pas pour la navigation au clavier. */
.coleka-showroom .woocommerce-notices-wrapper *:focus:not(:focus-visible) { outline: none; }

.coleka-showroom .woocommerce-message { border-top-color: var(--ck-ok); }
.coleka-showroom .woocommerce-message::before { color: var(--ck-ok); }
.coleka-showroom .woocommerce-info { border-top-color: var(--ck-slate); }
.coleka-showroom .woocommerce-info::before { color: var(--ck-slate); }
.coleka-showroom .woocommerce-error { border-top-color: var(--ck-red); }
.coleka-showroom .woocommerce-error::before { color: var(--ck-red-soft); }

/* ---------- fiche technique : libellé puis valeurs en toutes lettres ---------- */
.ck-specs {
	display: flex; flex-direction: column; gap: 0;
	margin: 30px 0 34px;
	border-top: 1px solid var(--ck-line); border-bottom: 1px solid var(--ck-line);
}
.ck-spec {
	flex: none; display: block; text-align: left; padding: 15px 0;
	border-left: none; border-top: 1px solid var(--ck-line);
}
.ck-spec:first-child { border-top: none; }
.ck-spec + .ck-spec { border-left: none; }
.ck-spec span {
	display: block; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
	color: var(--ck-ink-dim); font-weight: 700; margin-bottom: 7px;
}
.ck-spec b {
	display: block; font-family: "Nunito Sans", sans-serif; font-size: 15px;
	font-weight: 600; color: var(--ck-ink); line-height: 1.5;
}

/* ---------- repère de popularité ---------- */
.ck-ventes {
	display: inline-flex; align-items: center; gap: 9px; margin: -6px 0 22px;
	color: var(--ck-ink); font-size: 13.5px; font-weight: 700;
	background: var(--ck-card); border: 1px solid var(--ck-line);
	border-radius: 20px; padding: 7px 15px;
}
.ck-ventes i { font-style: normal; color: var(--ck-red-soft); }

/* ---------- panier : encart livraison à gauche des totaux ---------- */
.coleka-showroom .cart-collaterals {
	/* colonne des totaux en largeur fixe : `minmax(0, 520px)` se dimensionnait
	   sur le contenu (275px) et laissait les libellés d'expédition se casser */
	display: grid; grid-template-columns: minmax(0, 1fr) 480px;
	gap: 44px; align-items: start; justify-content: stretch;
}
/* Le clearfix de Storefront devient un élément de grille à part entière et
   occupe la première case : sans ça l'encart et les totaux se décalent. */
.coleka-showroom .cart-collaterals::before,
.coleka-showroom .cart-collaterals::after { content: none; }
/* Storefront impose `width: 52.94%` via `.woocommerce .cart-collaterals
   .cart_totals` : il faut passer devant en spécificité, sinon le bloc n'occupe
   que la moitié de sa colonne et les libellés d'expédition se cassent. */
body.coleka-showroom .cart-collaterals .cart_totals { width: 100%; max-width: none; float: none; }
.ck-cart-infos {
	color: var(--ck-ink-dim); font-size: 14.5px; line-height: 1.8;
	background: var(--ck-bg-soft); border: 1px solid var(--ck-line);
	border-radius: 14px; padding: 26px 28px;
}
.ck-cart-infos > *:first-child { margin-top: 0; }
.ck-cart-infos > *:last-child { margin-bottom: 0; }
.ck-cart-infos strong { color: var(--ck-ink); }
.ck-cart-infos-seul { margin-top: 40px; }

/* ---------- footer : textes lisibles ---------- */
.ck-fgrid p { font-size: 15px; line-height: 1.8; max-width: 40ch; }
.ck-fgrid h4 { font-size: 12px; letter-spacing: .2em; margin-bottom: 20px; }
.ck-fgrid a { font-size: 15.5px; opacity: .85; }
.ck-fgrid li { margin-bottom: 13px; }
.ck-fbottom { font-size: 13.5px; }
.ck-pay span { font-size: 11.5px; padding: 5px 11px; }

/* ---------- mon compte : bloc "Changement de mot de passe" ---------- */
/* Storefront peint les fieldset en blanc : le formulaire devenait illisible. */
body.coleka-showroom fieldset {
	background: var(--ck-bg-soft); border: 1px solid var(--ck-line);
	border-radius: 12px; padding: 22px 24px; margin: 28px 0 0;
}
body.coleka-showroom fieldset legend {
	font-family: "Quicksand", sans-serif; font-weight: 700; font-size: 12px;
	letter-spacing: .18em; text-transform: uppercase; color: var(--ck-slate);
	background: none; padding: 0 10px; margin-left: -10px; width: auto;
}
body.coleka-showroom .woocommerce-EditAccountForm em,
body.coleka-showroom .woocommerce-form-row span.description {
	display: block; color: var(--ck-ink-dim); font-size: 13.5px; font-style: normal; margin-top: 7px;
}

/* ---------- cartes univers dépouillées ---------- */
.ck-door-txt { padding-right: 66px; }
.ck-door h3 { margin: 0; font-size: 30px; }

/* ---------- diaporama de la pièce du moment ---------- */
.ck-diapo { position: absolute; inset: 0; }
.ck-diapo-vue {
	position: absolute; inset: 0; margin: 0; opacity: 0;
	transition: opacity .9s ease; pointer-events: none;
}
/* posée par diapo.js quand le système demande de réduire les animations :
   le diaporama tourne toujours, mais sans fondu */
.ck-diapo.sans-fondu .ck-diapo-vue { transition: none; }
.ck-diapo-vue.on { opacity: 1; }
.ck-diapo-vue img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.94); }
.ck-diapo-puces {
	position: absolute; left: 0; right: 0; bottom: 18px; z-index: 3;
	display: flex; justify-content: center; gap: 9px;
}
body.coleka-showroom .ck-diapo-puce {
	width: 8px; height: 8px; padding: 0; border-radius: 50%;
	background: rgba(237, 241, 244, .4); border: none; cursor: pointer;
	transition: .25s; box-shadow: none;
}
body.coleka-showroom .ck-diapo-puce:hover { background: rgba(237, 241, 244, .75); box-shadow: none; }
body.coleka-showroom .ck-diapo-puce.on { background: var(--ck-red); width: 22px; border-radius: 5px; }

/* ============================================================
   Trames de fond par zone
   Chaque bande a déjà sa classe : il suffit de renseigner la variable
   correspondante avec une image pour la personnaliser, la superposition
   et l'opacité sont gérées ici une fois pour toutes.
   Exemple : .ck-histoire { --ck-trame: url("../img/trame-histoire.avif"); }
   AUCUNE zone n'en déclare aujourd'hui : les bandes sont en aplat, le ::before
   reste transparent (--ck-trame vaut `none` par défaut). Le mécanisme est
   conservé pour poser des visuels le jour où on en aura de satisfaisants.
   ============================================================ */
.ck-atelier, .ck-piece, .ck-histoire, .ck-meme-salle,
.ck-uhead, .ck-phead, .ck-univers, .ck-chezvous, .ck-labo,
.ck-plus-loin { position: relative; }
.ck-atelier::before, .ck-piece::before, .ck-histoire::before, .ck-meme-salle::before,
.ck-uhead::before, .ck-phead::before, .ck-univers::before,
.ck-chezvous::before, .ck-labo::before, .ck-plus-loin::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background-image: var(--ck-trame, none);
	background-size: var(--ck-trame-taille, cover);
	background-position: var(--ck-trame-position, center);
	background-repeat: var(--ck-trame-repetition, no-repeat);
	opacity: var(--ck-trame-opacite, .18);
	mix-blend-mode: var(--ck-trame-fusion, normal);
}
.ck-atelier > *, .ck-piece > *, .ck-histoire > *, .ck-meme-salle > *,
.ck-uhead > *, .ck-phead > *, .ck-univers > *,
.ck-chezvous > *, .ck-labo > *, .ck-plus-loin > * { position: relative; z-index: 1; }

/* ---------- responsive des ajustements ci-dessus ---------- */
@media (max-width: 980px) {
	.coleka-showroom .cart-collaterals { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.ck-cart-infos { order: 2; }
}
@media (max-width: 880px) {
	/* déclaré ici, après .ck-doors-3 : sinon la variante à 3 colonnes,
	   plus bas dans le fichier, l'emporterait aussi sur téléphone */
	.ck-doors, .ck-doors-1, .ck-doors-2, .ck-doors-3 { grid-template-columns: 1fr; }
	.ck-doors-3 .ck-door { aspect-ratio: 16/9.4; }
}
@media (max-width: 700px) {
	.ck-door h3, .ck-doors-3 .ck-door h3 { font-size: 24px; }
	/* un prix en fourchette poussait "Voir la pièce" sur deux lignes */
	.ck-buy { flex-wrap: wrap; gap: 16px 20px; }
	.ck-btn { white-space: nowrap; }
	.ck-fgrid a, .ck-fgrid p { font-size: 15px; }
}

/* ============================================================
   Session 3 - "Chez vous" : les photos clients en situation
   ============================================================ */
.ck-chezvous {
	border-top: 1px solid var(--ck-line); background: var(--ck-bg-soft);
	padding: 66px 0 70px; position: relative;
}
.ck-chezvous-intro { color: var(--ck-ink-dim); font-size: 15px; margin: -26px 0 34px; }
.ck-chezvous-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ck-chezvous-photo { margin: 0; }
.ck-chezvous-photo a {
	display: block; border-radius: 14px; overflow: hidden;
	border: 1px solid var(--ck-line); background: var(--ck-card);
	box-shadow: 0 30px 56px -30px rgba(0, 0, 0, .9);
}
.ck-chezvous-photo img {
	width: 100%; aspect-ratio: 4/3.2; object-fit: cover; display: block;
	filter: saturate(.94); transition: .6s;
}
.ck-chezvous-photo a:hover img { transform: scale(1.04); filter: saturate(1); }
.ck-chezvous-photo figcaption {
	color: var(--ck-ink-dim); font-size: 13.5px; line-height: 1.6;
	margin-top: 12px; text-align: left;
}

@media (max-width: 880px) {
	.ck-chezvous-grille { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 560px) {
	.ck-chezvous-grille { grid-template-columns: 1fr; }
	.ck-chezvous { padding: 48px 0 52px; }
}

/* ============================================================
   Session 3 - page "Sur mesure"
   Récit linéaire : promesse → preuve (Labo) → méthode → demande.
   ============================================================ */
.ck-mesure-demarche { padding-bottom: 20px; }
.ck-mesure-demarche .ck-prose { max-width: 68ch; font-size: 17.5px; }

/* ---------- le Labo ---------- */
.ck-labo {
	border-top: 1px solid var(--ck-line); border-bottom: 1px solid var(--ck-line);
	background: var(--ck-bg-soft); padding: 72px 0 80px; position: relative;
}
/* Deux colonnes uniformes plutôt qu'une mosaïque : la majorité des pièces
   portent un texte, et les faire déborder sur deux colonnes d'une grille de
   trois laissait des trous à droite à chaque ligne. */
.ck-labo-grille {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: 44px 34px; align-items: start;
}
.ck-labo-piece { margin: 0; }
.ck-labo-piece a {
	display: block; border-radius: 16px; overflow: hidden;
	border: 1px solid var(--ck-line); background: var(--ck-card);
	box-shadow: 0 40px 70px -38px rgba(0, 0, 0, .95);
}
.ck-labo-piece img {
	width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
	filter: saturate(.92); transition: .7s;
}
.ck-labo-piece a:hover img { transform: scale(1.03); filter: saturate(1); }
.ck-labo-piece figcaption { padding: 18px 2px 0; }
.ck-labo-piece h3 {
	font-weight: 600; font-size: 22px; color: var(--ck-ink); margin: 0; line-height: 1.3;
}

.ck-labo-piece p {
	color: var(--ck-ink-dim); font-size: 14.5px; line-height: 1.75; margin: 10px 0 0; max-width: 62ch;
}

/* ---------- méthode et demande, côte à côte ---------- */
.ck-mesure-fin { padding: 76px 0 90px; }
.ck-mesure-cols {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: 64px; align-items: start;
}
.ck-mesure-methode .ck-steps { margin-top: -10px; }
.ck-mesure-intro { color: var(--ck-ink-dim); font-size: 15.5px; margin: -18px 0 28px; }
.ck-mesure-form {
	background: var(--ck-bg-soft); border: 1px solid var(--ck-line);
	border-radius: 16px; padding: 36px 38px; max-width: 760px;
}
body.coleka-showroom .ck-mesure-form .wpcf7 { max-width: none; }
body.coleka-showroom .ck-mesure-form .wpcf7 p { margin: 0 0 18px; }
body.coleka-showroom .ck-mesure-form textarea { min-height: 140px; }
body.coleka-showroom .ck-mesure-form input[type="submit"] { margin-top: 6px; }
.ck-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
body.coleka-showroom .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
body.coleka-showroom .wpcf7-acceptance label {
	display: flex; gap: 10px; align-items: flex-start;
	font-weight: 400; color: var(--ck-ink-dim); font-size: 13.5px; line-height: 1.5;
}

@media (max-width: 980px) {
	.ck-labo-grille { gap: 34px 26px; }
	.ck-mesure-cols { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 700px) {
	.ck-labo-grille { grid-template-columns: 1fr; gap: 30px; }
	.ck-labo { padding: 52px 0 56px; }
	.ck-form-grid { grid-template-columns: 1fr; }
	.ck-mesure-form { padding: 24px 20px; }
	.ck-mesure-demande { padding: 52px 0 64px; }
}

/* ============================================================
   "Pour aller plus loin" - ventes croisées sous le bloc d'achat.
   Fond de base (pas --ck-bg-soft) : la bande suivante, "L'histoire de
   la pièce", est déjà en soft et les deux se confondraient.
   ============================================================ */
.ck-plus-loin {
	border-top: 1px solid var(--ck-line); background: var(--ck-bg);
	padding: 60px 0 24px;
}
@media (max-width: 880px) {
	.ck-plus-loin { padding: 46px 0 16px; }
}

/* Grille propre à ce bloc : 4 pièces doivent tenir sur une ligne (les 4 tailles
   d'un même modèle), sans dépendre des points de rupture de .ck-mini-grid. */
.ck-plus-loin .ck-mini-grid { grid-template-columns: repeat(3, 1fr); }
.ck-plus-loin .ck-mini-grid.ck-mini-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
	.ck-plus-loin .ck-mini-grid,
	.ck-plus-loin .ck-mini-grid.ck-mini-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.ck-plus-loin .ck-mini-grid,
	.ck-plus-loin .ck-mini-grid.ck-mini-grid-4 { grid-template-columns: 1fr; }
}

/* ============================================================
   Tableaux dans les zones de texte libre (description produit, pages).
   Sans ça Storefront les peint en clair : un bloc blanc au milieu d'une
   page sombre. On ne garde que les filets horizontaux.
   ============================================================ */
body.coleka-showroom .ck-histoire-body table,
body.coleka-showroom .ck-prose table {
	width: 100%; max-width: 760px; border-collapse: collapse;
	margin: 10px 0 28px; background: none; font-size: 15px;
}
body.coleka-showroom .ck-histoire-body table tr,
body.coleka-showroom .ck-prose table tr { background: none; }
body.coleka-showroom .ck-histoire-body table th,
body.coleka-showroom .ck-histoire-body table td,
body.coleka-showroom .ck-prose table th,
body.coleka-showroom .ck-prose table td {
	background: none; border: none; border-bottom: 1px solid var(--ck-line);
	padding: 14px 20px 14px 0; text-align: left; vertical-align: top;
	color: var(--ck-ink-dim); line-height: 1.55;
}
body.coleka-showroom .ck-histoire-body table thead th,
body.coleka-showroom .ck-prose table thead th {
	font-family: "Quicksand", "Trebuchet MS", sans-serif; font-weight: 700;
	font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ck-slate); padding-bottom: 12px;
}
body.coleka-showroom .ck-histoire-body table td:first-child,
body.coleka-showroom .ck-prose table td:first-child { color: var(--ck-ink); font-weight: 600; }
body.coleka-showroom .ck-histoire-body table tbody tr:last-child td,
body.coleka-showroom .ck-prose table tbody tr:last-child td { border-bottom: none; }
/* Storefront zèbre les lignes paires depuis son CSS inline, avec
   `table:not(.has-background) tbody tr:nth-child(2n) td` (0,2,4) : il faut
   repasser par tbody tr ET par le nth-child pour reprendre la main. */
body.coleka-showroom .ck-histoire-body table tbody tr td,
body.coleka-showroom .ck-histoire-body table tbody tr:nth-child(2n) td,
body.coleka-showroom .ck-prose table tbody tr td,
body.coleka-showroom .ck-prose table tbody tr:nth-child(2n) td { background: none; }

@media (max-width: 620px) {
	/* un tableau ne doit jamais élargir la page : il défile dans son coin */
	body.coleka-showroom .ck-histoire-body table,
	body.coleka-showroom .ck-prose table { display: block; overflow-x: auto; }
}

/* Une seule pièce à proposer : une carte collée à gauche dans une grille de
   trois lit comme un trou. On resserre et on centre. */
.ck-plus-loin .ck-mini-grid.ck-mini-grid-peu {
	grid-template-columns: repeat(auto-fit, minmax(0, 300px));
	justify-content: center;
}
