/*
Theme Name: La Cabine – KL Barbertruck
Theme URI: https://lacabineklbarbertruck.fr
Author: La Cabine
Description: Thème sur mesure pour La Cabine – KL Barbertruck, barbier en Haute-Savoie. Noir, blanc et orange métallique, typographie Helvetica. Pages pré-construites, modifiables avec l’éditeur WordPress.
Version: 1.8.9
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: lacabine
*/

:root {
	--lc-logo-black: #020202; /* noir exact du fond du logo */
	--lc-black: #0b0b0b;
	--lc-black-2: #141414;
	--lc-black-3: #1c1c1c;
	--lc-white: #ffffff;
	--lc-text: #e6e6e6;
	--lc-muted: #9a9a9a;
	--lc-gold: #E0773A;          /* orange métallique (teinte moyenne) */
	--lc-gold-dark: #A9461A;
	--lc-gold-light: #F4B07C;
	--lc-brass: linear-gradient(110deg, #A9461A 0%, #E0773A 52%, #F4B07C 100%);
	--lc-line: rgba(255, 255, 255, .12);
	--lc-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--lc-header-h: 86px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--lc-black);
	color: var(--lc-text);
	font-family: var(--lc-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--lc-font);
	font-weight: 700;
	color: var(--lc-white);
	line-height: 1.15;
	margin: 0 0 .6em;
}

a { color: var(--lc-gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--lc-white); }
img { max-width: 100%; height: auto; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; z-index: 1000; top: 8px; left: 8px;
	background: var(--lc-gold); color: var(--lc-black); padding: 10px 16px;
}

.lc-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ---------- En-tête ---------- */
.lc-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--lc-logo-black);
	border-bottom: 1px solid rgba(224, 119, 58, .35);
	transition: box-shadow .3s;
}
.admin-bar .lc-header { top: 32px; }
.lc-header.is-scrolled { box-shadow: 0 6px 24px rgba(0, 0, 0, .6); }

.lc-header__inner {
	max-width: 1240px; margin: 0 auto; padding: 0 24px;
	height: var(--lc-header-h);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}

/* Logo rond (sans cercle de couleur), qui déborde sous la barre de menu */
.lc-brand, .custom-logo-link {
	position: relative; z-index: 5; display: block;
	align-self: flex-start; margin-top: 10px; line-height: 0;
	transition: margin .3s ease;
}
.lc-brand img, .custom-logo-link img {
	height: 150px; width: 150px; object-fit: cover; display: block;
	border-radius: 50%; padding: 0;
	background: var(--lc-logo-black);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .7);
	transition: width .3s ease, height .3s ease;
}
.lc-brand:hover img, .custom-logo-link:hover img { box-shadow: 0 14px 30px rgba(0, 0, 0, .7); }
/* Au défilement (ou menu mobile ouvert), le médaillon rentre dans la barre */
.lc-header.is-scrolled .lc-brand, .lc-header.is-scrolled .custom-logo-link,
.lc-header.menu-open .lc-brand, .lc-header.menu-open .custom-logo-link { margin-top: 8px; }
.lc-header.is-scrolled .lc-brand img, .lc-header.is-scrolled .custom-logo-link img,
.lc-header.menu-open .lc-brand img, .lc-header.menu-open .custom-logo-link img { width: 70px; height: 70px; }

.lc-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; }
.lc-menu li { position: relative; }
.lc-menu a {
	display: block; padding: 10px 14px;
	color: var(--lc-white);
	font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
}
.lc-menu a:hover,
.lc-menu .current-menu-item > a,
.lc-menu .current_page_item > a { color: var(--lc-gold); }

/* Bouton « Prendre RDV » mis en évidence */
.lc-menu .menu-rdv { margin-left: 14px; }
.lc-menu .menu-rdv > a {
	background: var(--lc-brass); color: var(--lc-black);
	padding: 13px 22px; border-radius: 2px;
	box-shadow: 0 0 0 1px var(--lc-gold), 0 6px 18px rgba(224, 119, 58, .25);
}
.lc-menu .menu-rdv > a:hover,
.lc-menu .menu-rdv.current-menu-item > a { background: var(--lc-white); color: var(--lc-black); box-shadow: 0 0 0 1px var(--lc-white); }

.lc-menu .sub-menu {
	list-style: none; margin: 0; padding: 8px 0; min-width: 200px;
	position: absolute; top: 100%; left: 0;
	background: var(--lc-black-2); border-top: 2px solid var(--lc-gold);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s;
}
.lc-menu li:hover > .sub-menu, .lc-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.lc-burger {
	display: none; background: none; border: 0; cursor: pointer; padding: 10px;
	width: 46px; height: 46px; position: relative;
}
.lc-burger span:not(.screen-reader-text) {
	display: block; height: 2px; background: var(--lc-white); margin: 6px 0; transition: .25s;
}
.lc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.lc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.lc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 1024px) {
	:root { --lc-header-h: 72px; }
	.lc-brand img, .custom-logo-link img { width: 96px; height: 96px; }
	.lc-header.is-scrolled .lc-brand img, .lc-header.is-scrolled .custom-logo-link img,
	.lc-header.menu-open .lc-brand img, .lc-header.menu-open .custom-logo-link img { width: 56px; height: 56px; }
	.lc-burger { display: block; }
	.lc-nav {
		position: absolute; top: 100%; left: 0; right: 0;
		background: var(--lc-logo-black); border-bottom: 1px solid rgba(224, 119, 58, .35);
		max-height: 0; overflow: hidden; transition: max-height .35s ease;
	}
	.lc-nav.is-open { max-height: 80vh; overflow-y: auto; }
	.lc-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 24px; }
	.lc-menu a { padding: 14px 0; border-bottom: 1px solid var(--lc-line); font-size: 14px; }
	.lc-menu .menu-rdv { margin: 18px 0 0; }
	.lc-menu .menu-rdv > a { text-align: center; border-bottom: 0; }
	.lc-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; background: none; border: 0; padding-left: 16px; }
}
@media (max-width: 782px) { .admin-bar .lc-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .lc-header { top: 0; } }

/* ---------- Contenu hors Elementor ---------- */
.lc-main { min-height: 50vh; }
.lc-page { padding: 80px 0; }
.lc-page__title { font-size: clamp(32px, 5vw, 52px); text-transform: uppercase; letter-spacing: .02em; }
.lc-page__title::after { content: ""; display: block; width: 60px; height: 3px; background: var(--lc-brass); margin-top: 18px; }

/* ---------- Motifs décoratifs utilisés dans les pages Elementor ---------- */
.lc-hero, .lc-pagehero {
	position: relative; overflow: hidden;
	background-image:
		radial-gradient(ellipse at 50% 35%, rgba(224, 119, 58, .16), transparent 62%),
		radial-gradient(ellipse at 50% 120%, rgba(255, 255, 255, .05), transparent 60%);
}
.lc-hero::after, .lc-pagehero::after, .lc-stripe::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; pointer-events: none;
	background: repeating-linear-gradient(-45deg, var(--lc-gold) 0 10px, var(--lc-black) 10px 20px);
	opacity: .85;
}
.lc-stripe { position: relative; }

/* Laiton en dégradé : textes (sur-titres, accroches) et séparateurs */
.lc-brass-text .elementor-heading-title {
	background: var(--lc-brass);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
.lc-brass-line .elementor-divider-separator { border-image: var(--lc-brass) 1; }

/* Emplacements photo vides (images à ajouter dans Elementor) */
.lc-ph img[src*="placeholder"] {
	filter: grayscale(1) brightness(.3) contrast(1.1);
	outline: 1px dashed rgba(224, 119, 58, .55); outline-offset: -1px;
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
}

.lc-card { transition: transform .25s, border-color .25s; }
.lc-card:hover { transform: translateY(-4px); border-color: var(--lc-gold) !important; }

/* ---------- Formulaire de contact ---------- */
.lc-form { display: grid; gap: 16px; }
.lc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .lc-form__row { grid-template-columns: 1fr; } }
.lc-form label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--lc-white); margin-bottom: 6px; }
.lc-form input[type="text"], .lc-form input[type="email"], .lc-form input[type="tel"], .lc-form select, .lc-form textarea {
	width: 100%; padding: 14px 16px;
	background: var(--lc-black); color: var(--lc-white);
	border: 1px solid var(--lc-line); border-radius: 2px;
	font: 16px var(--lc-font);
}
.lc-form textarea { min-height: 150px; resize: vertical; }
.lc-form input:focus, .lc-form select:focus, .lc-form textarea:focus { outline: none; border-color: var(--lc-gold); }
.lc-form__consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--lc-muted); }
.lc-form__consent label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 13px; color: var(--lc-muted); }
.lc-form__hp { position: absolute; left: -9999px; }
.lc-notice { padding: 14px 18px; border-left: 3px solid var(--lc-gold); background: var(--lc-black-3); color: var(--lc-white); }
.lc-notice--error { border-color: #d9534f; }

.lc-btn {
	display: inline-block; cursor: pointer; border: 1px solid var(--lc-gold);
	background: var(--lc-brass); color: var(--lc-black);
	padding: 16px 30px; border-radius: 2px;
	font: 700 13px var(--lc-font); letter-spacing: .14em; text-transform: uppercase;
	transition: .2s;
}
.lc-btn:hover { background: var(--lc-white); border-color: var(--lc-white); color: var(--lc-black); }
.lc-btn--ghost { background: transparent; color: var(--lc-white); border-color: var(--lc-white); }
.lc-btn--ghost:hover { background: var(--lc-white); color: var(--lc-black); }

/* ---------- Fil Instagram ---------- */
.lc-ig__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 640px) { .lc-ig__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }
.lc-ig__item { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--lc-black-3); border: 1px solid var(--lc-line); }
.lc-ig__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.lc-ig__item:hover img { transform: scale(1.05); }
.lc-ig__item--empty { display: flex; align-items: center; justify-content: center; border-style: dashed; border-color: rgba(224, 119, 58, .35); }
.lc-ig__item--empty svg { width: 34px; height: 34px; opacity: .35; }
.lc-ig__note { text-align: center; color: var(--lc-muted); margin: 24px 0 0; }
.lc-ig__follow { text-align: center; margin-top: 28px; }

/* ---------- Réservation Planity ---------- */
.lc-booking { text-align: center; padding: 56px 24px; border: 1px dashed rgba(224, 119, 58, .5); background: var(--lc-black-2); }
.lc-booking h3 { font-size: 24px; }
.lc-booking p { color: var(--lc-muted); max-width: 560px; margin: 0 auto 28px; }
.lc-booking__embed iframe { width: 100%; min-height: 720px; border: 0; }

/* Module Planity : affiché dans ses couleurs d'origine (fond clair), textes renforcés et prestations en gras.
   Aucun filtre ni « overflow: hidden » ici : la fenêtre de vérification par SMS de Planity
   (position fixe) doit pouvoir s'afficher en plein écran. */
.lc-booking__embed {
	background: #fff; color: #111; border-radius: 6px; padding: 20px;
	box-shadow: 0 0 0 1px rgba(224, 119, 58, .6), 0 18px 40px rgba(0, 0, 0, .45);
	text-align: left; scroll-margin-top: 120px;
}
.lc-booking__inner {
	background: #fff; color: #111;
	--text-primary: #111; --grey-800: #111; --grey-700: #111; --grey-600: #333; --grey-500: #555;
	--medium: 700; --semibold: 700; --bold: 800;
}
.lc-booking__inner :where(strong, b, h1, h2, h3, h4, h5, h6) { font-weight: 700; color: #111; }
.lc-booking__inner :where(a) { color: inherit; }
.lc-booking__inner ul li::before { content: none !important; }
@media (max-width: 640px) { .lc-booking__embed { padding: 10px; } }

/* ---------- Pied de page ---------- */
.lc-footer { background: var(--lc-logo-black); border-top: 1px solid rgba(224, 119, 58, .35); color: var(--lc-muted); font-size: 15px; }
.lc-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 48px; padding: 72px 0 48px; }
@media (max-width: 900px) { .lc-footer__grid { grid-template-columns: 1fr; gap: 36px; text-align: center; } }
.lc-footer h4 { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--lc-gold); margin-bottom: 18px; }
.lc-footer a { color: var(--lc-text); }
.lc-footer a:hover { color: var(--lc-gold); }
.lc-footer__logo img { width: 140px; height: auto; }
.lc-footer ul { list-style: none; margin: 0; padding: 0; }
.lc-footer li { margin-bottom: 8px; }
.lc-footer__bottom { border-top: 1px solid var(--lc-line); padding: 22px 0; font-size: 13px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) { .lc-footer__bottom { justify-content: center; text-align: center; } }
.lc-social { display: inline-flex; gap: 10px; margin-top: 14px; }
.lc-social a { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--lc-line); border-radius: 50%; }
.lc-social a:hover { border-color: var(--lc-gold); }
.lc-social svg { width: 18px; height: 18px; fill: currentColor; }

/* ---------- Tableaux (tarifs, planning) ---------- */
.lc-price table { width: 100%; border-collapse: collapse; margin: 0; }
.lc-price td { padding: 16px 0; border-bottom: 1px solid var(--lc-line); vertical-align: top; color: var(--lc-text); }
.lc-price tr:first-child td { border-top: 1px solid var(--lc-line); }
.lc-price td strong { color: var(--lc-white); letter-spacing: .02em; }
.lc-price td span { color: var(--lc-muted); font-size: 14px; }
.lc-price td:last-child { text-align: right; white-space: nowrap; padding-left: 16px; font-weight: 700; color: var(--lc-gold); }
.lc-price td + td:not(:last-child) { padding-left: 16px; }

/* Listes dans les textes */
.elementor-widget-text-editor ul { margin: 0 0 1em; padding-left: 0; list-style: none; }
.elementor-widget-text-editor ul li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.elementor-widget-text-editor ul li::before { content: ""; position: absolute; left: 0; top: .7em; width: 10px; height: 2px; background: var(--lc-brass); }

/* Photos dans les cartes et galeries */
.lc-card .lc-ph img[src*="placeholder"] { aspect-ratio: 4 / 3; }

/* Smash Balloon Instagram Feed aux couleurs du site */
.lc-ig--sbi #sb_instagram { padding-bottom: 0 !important; }
.lc-ig--sbi #sb_instagram .sbi_follow_btn a,
.lc-ig--sbi #sb_instagram #sbi_load .sbi_load_btn {
	background: var(--lc-brass) !important; color: var(--lc-black) !important;
	border-radius: 2px !important; font: 700 13px var(--lc-font) !important;
	letter-spacing: .14em; text-transform: uppercase; padding: 14px 26px !important;
}
.lc-ig--sbi #sb_instagram .sbi_follow_btn a:hover,
.lc-ig--sbi #sb_instagram #sbi_load .sbi_load_btn:hover { background: var(--lc-white) !important; box-shadow: none !important; }
.lc-ig--sbi #sb_instagram .sb_instagram_header .sbi_header_text h3,
.lc-ig--sbi #sb_instagram .sb_instagram_header p { color: var(--lc-white) !important; }

/* Illustrations / photos des emplacements image */
.lc-ph img { width: 100%; height: auto; display: block; }
.lc-card .lc-ph img { aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Curseur personnalisé (point orange + rasoir) ---------- */
@media (hover: hover) and (pointer: fine) {
	html.lc-cursor-on, html.lc-cursor-on body, html.lc-cursor-on a, html.lc-cursor-on button,
	html.lc-cursor-on .elementor-button, html.lc-cursor-on select, html.lc-cursor-on label,
	html.lc-cursor-on input[type="checkbox"], html.lc-cursor-on input[type="submit"] { cursor: none; }
	html.lc-cursor-on input[type="text"], html.lc-cursor-on input[type="email"], html.lc-cursor-on input[type="tel"], html.lc-cursor-on textarea { cursor: text; }
}
.lc-cursor-dot, .lc-cursor-razor {
	position: fixed; top: 0; left: 0; z-index: 2147483647; pointer-events: none;
	opacity: 0; will-change: transform; transition: opacity .2s ease;
}
.lc-cursor-visible .lc-cursor-dot, .lc-cursor-visible .lc-cursor-razor { opacity: 1; }
.lc-cursor-dot::before {
	content: ""; position: absolute; left: -8px; top: -8px; width: 16px; height: 16px; border-radius: 50%;
	background: var(--lc-brass);
	box-shadow: 0 0 0 1px rgba(2, 2, 2, .5);
	transition: transform .25s ease, opacity .2s ease;
}
.lc-cursor-razor img {
	display: block; width: 58px; height: auto; margin: 0;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .35));
	transform-origin: 70% 26%;            /* pivot du rasoir */
	transition: transform .3s cubic-bezier(.3, 1.6, .5, 1);
}
.lc-cursor-hover .lc-cursor-dot::before { transform: scale(1.8); opacity: .8; }
.lc-cursor-hover .lc-cursor-razor img { transform: rotate(-18deg) scale(1.1); }
.lc-cursor-down .lc-cursor-dot::before { transform: scale(.8); }
.lc-cursor-down .lc-cursor-razor img { transform: rotate(14deg); }
.lc-cursor-text .lc-cursor-dot, .lc-cursor-text .lc-cursor-razor { opacity: 0 !important; }

/* Variante « petit rasoir deux tons, en bas à droite » */
.lc-cursor--deux-tons .lc-cursor-dot::before { left: -5px; top: -5px; width: 10px; height: 10px; box-shadow: 0 0 0 1px rgba(2, 2, 2, .5); }
.lc-cursor--deux-tons .lc-cursor-dot::before { transform: none; }
.lc-cursor--deux-tons.lc-cursor-hover .lc-cursor-dot::before { transform: scale(2.2); opacity: .8; }
.lc-cursor--deux-tons.lc-cursor-down .lc-cursor-dot::before { transform: scale(.8); }
.lc-cursor--deux-tons .lc-cursor-razor img { width: 34px; opacity: .85; transform-origin: 50% 76%; filter: drop-shadow(0 0 1px rgba(2, 2, 2, .6)); }
.lc-cursor--deux-tons.lc-cursor-hover .lc-cursor-razor img { transform: rotate(-18deg) scale(1.15); opacity: 1; }

/* ---------- Truck du jour ---------- */
.lc-today {
	display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center;
	margin: 6px auto 8px; padding: 10px 12px 10px 18px;
	background: rgba(2, 2, 2, .6); border: 1px solid rgba(224, 119, 58, .55); border-radius: 40px;
	color: var(--lc-text); font-size: 15px; line-height: 1.4; text-align: center;
	backdrop-filter: blur(4px);
}
.elementor-widget-shortcode:has(.lc-today) { width: 100%; text-align: center; }
.lc-today strong { color: var(--lc-white); }
.lc-today__label { color: var(--lc-gold); font-weight: 700; letter-spacing: .04em; }
.lc-today__hours { color: var(--lc-muted); }
.lc-today__pulse { position: relative; width: 10px; height: 10px; border-radius: 50%; background: #5fd38a; flex: none; }
.lc-today__pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid #5fd38a; opacity: 0; animation: lc-pulse 1.8s ease-out infinite; }
@keyframes lc-pulse { 0% { transform: scale(.5); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
.lc-today__pin { width: 10px; height: 10px; border-radius: 50%; background: var(--lc-brass); flex: none; }
.lc-today__btn {
	display: inline-block; padding: 8px 16px; border-radius: 30px;
	background: var(--lc-brass); color: var(--lc-black) !important;
	font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.lc-today__btn:hover { background: var(--lc-white); }
@media (max-width: 640px) { .lc-today { border-radius: 14px; padding: 12px 14px; font-size: 14px; } }

/* ---------- Planning dynamique ---------- */
.lc-planning tr.is-today td { background: rgba(224, 119, 58, .1); }
.lc-planning tr.is-today td:first-child { box-shadow: inset 3px 0 0 var(--lc-gold); padding-left: 12px; }
.lc-planning td:first-child { white-space: nowrap; }
.lc-planning a { color: var(--lc-text); border-bottom: 1px dotted rgba(224, 119, 58, .6); }
.lc-planning a:hover { color: var(--lc-gold); }
.lc-price td .lc-planning__tag, .lc-planning__tag { color: var(--lc-black); background: var(--lc-brass); font-size: 10px; }
.lc-planning__tag { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 10px; background: var(--lc-brass); color: var(--lc-black); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }
.lc-price td .lc-planning__muted, .lc-planning__muted { color: var(--lc-muted); font-style: italic; font-size: inherit; }

/* ---------- Barre d'actions mobile ---------- */
.lc-mbar { display: none; }
@media (max-width: 767px) {
	.lc-mbar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
		background: var(--lc-logo-black); border-top: 1px solid rgba(224, 119, 58, .45);
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); gap: 8px;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, .5);
	}
	.lc-mbar__btn {
		flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
		height: 48px; border-radius: 3px;
		font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	}
	.lc-mbar__btn svg { width: 18px; height: 18px; fill: currentColor; }
	.lc-mbar__btn--call { border: 1px solid rgba(255, 255, 255, .5); color: var(--lc-white); }
	.lc-mbar__btn--rdv { background: var(--lc-brass); color: var(--lc-black); }
	.lc-mbar__btn--rdv:hover, .lc-mbar__btn--call:hover { color: inherit; }
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}
@media (max-width: 640px) {
	.lc-planning table, .lc-planning tbody { display: block; width: 100%; }
	.lc-planning tr { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; border-bottom: 1px solid var(--lc-line); padding: 12px 0; }
	.lc-planning tr:first-child { border-top: 1px solid var(--lc-line); }
	.lc-planning td { border: 0 !important; padding: 0 !important; }
	.lc-planning td:first-child { grid-column: 1 / -1; margin-bottom: 4px; }
	.lc-planning tr.is-today { background: rgba(224, 119, 58, .1); box-shadow: inset 3px 0 0 var(--lc-gold); padding-left: 12px; padding-right: 8px; }
	.lc-planning tr.is-today td { background: none; box-shadow: none !important; }
	.lc-price td:last-child { padding-left: 0; }
}

/* ---------- Apparition au défilement ---------- */
.lc-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.lc-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Écran de chargement ---------- */
.lc-preloader {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
	background: var(--lc-logo-black); transition: opacity .6s ease, visibility .6s ease;
	animation: lc-pre-out .5s ease 3s forwards; /* sécurité : disparaît même si le script ne se charge pas */
}
@keyframes lc-pre-out { to { opacity: 0; visibility: hidden; } }
.lc-no-preload .lc-preloader, .lc-preloader.is-done { opacity: 0; visibility: hidden; }
.lc-no-preload .lc-preloader { display: none; }
.lc-preloader__inner { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.lc-preloader img { width: 150px; height: 150px; border-radius: 50%; animation: lc-pop .9s cubic-bezier(.2, .9, .3, 1.2) both; box-shadow: none; }
.lc-preloader__bar { width: 140px; height: 3px; background: rgba(224, 119, 58, .2); border-radius: 3px; overflow: hidden; }
.lc-preloader__bar span { display: block; height: 100%; width: 40%; background: var(--lc-brass); animation: lc-load 1.1s ease-in-out infinite; }
@keyframes lc-pop { from { transform: scale(.7); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes lc-load { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }

/* ---------- Enseigne de barbier animée (bouton Prendre RDV) ---------- */
.lc-has-pole .lc-menu .menu-rdv > a { display: inline-flex; align-items: center; gap: 10px; }
.lc-has-pole .lc-menu .menu-rdv > a::before {
	content: ""; flex: none; width: 8px; height: 20px; border-radius: 4px;
	background: repeating-linear-gradient(-45deg, #c8102e 0 4px, #fff 4px 8px, #1f3b8a 8px 12px, #fff 12px 16px);
	background-size: 100% 22.6px;
	box-shadow: 0 0 0 1.5px var(--lc-black), 0 0 0 2.5px rgba(255, 255, 255, .5);
	animation: lc-pole 1.2s linear infinite;
}
@keyframes lc-pole { from { background-position: 0 0; } to { background-position: 0 22.6px; } }
@media (max-width: 1024px) { .lc-has-pole .lc-menu .menu-rdv > a { justify-content: center; } }

/* ---------- FAQ ---------- */
.lc-faq { max-width: 860px; margin: 0 auto; }
.lc-faq__item { border-bottom: 1px solid var(--lc-line); }
.lc-faq__item:first-child { border-top: 1px solid var(--lc-line); }
.lc-faq__item summary {
	list-style: none; cursor: pointer; position: relative; padding: 22px 48px 22px 0;
	color: var(--lc-white); font-weight: 700; font-size: 18px; letter-spacing: .01em;
}
.lc-faq__item summary::-webkit-details-marker { display: none; }
.lc-faq__item summary::after {
	content: ""; position: absolute; right: 6px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
	background: linear-gradient(var(--lc-gold), var(--lc-gold)) center / 14px 2px no-repeat, linear-gradient(var(--lc-gold), var(--lc-gold)) center / 2px 14px no-repeat;
	transition: transform .3s ease;
}
.lc-faq__item[open] summary::after { transform: rotate(45deg); }
.lc-faq__item summary:hover { color: var(--lc-gold); }
.lc-faq__a { padding: 0 48px 22px 0; color: var(--lc-muted); font-size: 16px; line-height: 1.7; }
.lc-faq__a p { margin: 0; }

/* ---------- Bandeau cookies ---------- */
.lc-cookies {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; max-width: 560px;
	background: var(--lc-black-2); border: 1px solid rgba(224, 119, 58, .5); border-radius: 4px;
	padding: 18px 20px; box-shadow: 0 12px 40px rgba(0, 0, 0, .6); color: var(--lc-text); font-size: 14px;
}
.lc-cookies[hidden] { display: none; }
.lc-cookies p { margin: 0 0 14px; }
.lc-cookies__btns { display: flex; gap: 10px; justify-content: flex-end; }
.lc-cookies .lc-btn { padding: 11px 20px; }
@media (max-width: 767px) { .lc-cookies { bottom: calc(76px + env(safe-area-inset-bottom)); } }

.lc-today--soon .lc-today__btn { margin-left: 4px; }

/* Boutons Itinéraire */
.lc-today__btn { display: inline-flex; align-items: center; gap: 6px; }
.lc-today__btn--ghost { background: transparent; color: var(--lc-gold) !important; box-shadow: inset 0 0 0 1px rgba(224, 119, 58, .7); }
.lc-today__btn--ghost:hover { background: rgba(224, 119, 58, .15); }
.lc-pin { width: 14px; height: 14px; fill: currentColor; flex: none; }
.lc-planning .lc-planning__go {
	display: inline-flex; align-items: center; gap: 4px; margin-left: 10px; padding: 3px 9px; border: 0;
	border-radius: 12px; background: var(--lc-brass); color: var(--lc-black);
	font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; vertical-align: middle;
}
.lc-planning .lc-planning__go:hover { background: var(--lc-white); color: var(--lc-black); }
.lc-planning .lc-planning__go .lc-pin { width: 11px; height: 11px; }

/* =========================================================
   1.7.0 – Pages en blocs WordPress (sans Elementor)
   ========================================================= */
.lc-blocks { overflow-x: clip; }
.lc-blocks > .wp-block-group { margin: 0 !important; }
.lc-sec { position: relative; padding: 110px 24px; color: var(--lc-text); }
.lc-sec > * { position: relative; z-index: 1; max-width: 1200px; margin-left: auto !important; margin-right: auto !important; }
.lc-sec > * + * { margin-top: 18px !important; }
.lc-sec.lc-sec--plein { padding: 0; }
.lc-sec.lc-sec--plein > * { max-width: none; }
.lc-sec figure { margin: 0; }
.lc-stack > * { margin-top: 0; margin-bottom: 0; }
.lc-stack > * + *, .lc-sec .wp-block-column > * + * { margin-top: 16px !important; }
.lc-center { text-align: center; }
.lc-masque { display: none !important; }
@media (max-width: 767px) { .lc-sec { padding: 66px 20px; } }

/* Fonds de section (styles proposés dans l'éditeur) */
.lc-sec.is-style-lc-noir { background-color: #0B0B0B; }
.lc-sec.is-style-lc-gris { background-color: #141414; }
.lc-sec.is-style-lc-blanc { background-color: #fff; color: #555; }
.lc-sec.is-style-lc-blanc :is(h1, h2, h3, h4) { color: #1a1a1a; }
.lc-sec.is-style-lc-orange { background: var(--lc-brass); color: #1a1a1a; text-align: center; padding-top: 90px; padding-bottom: 96px; }
.lc-sec.is-style-lc-orange :is(h1, h2, h3, h4, p) { color: #0b0b0b; }

/* Bandeau principal (accueil) et bandeaux de titre */
.lc-sec.lc-hero { min-height: 88vh; display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 120px 24px; background-color: #0B0B0B; background-size: cover; background-position: center; }
.lc-sec.lc-hero::before { content: ""; position: absolute; inset: 0; background: rgba(5, 5, 5, .45); z-index: 0; pointer-events: none; }
.lc-sec.lc-hero > *, .lc-sec.lc-pagehero > * { margin-left: auto !important; margin-right: auto !important; }
.lc-sec.lc-pagehero { min-height: 46vh; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.lc-sec.lc-hero > * + *, .lc-sec.lc-pagehero > * + * { margin-top: 14px !important; }

/* Typographie */
.lc-sec :is(h1, h2, h3) { margin: 0; text-transform: uppercase; }
.lc-sec h1 { font-size: clamp(40px, 6vw, 64px); letter-spacing: 1px; }
.lc-sec h1.lc-hero-title { font-size: clamp(52px, 9vw, 96px); letter-spacing: 3px; }
.lc-sec h2 { font-size: clamp(28px, 4vw, 40px); letter-spacing: .5px; }
.lc-sec h3 { font-size: 20px; letter-spacing: 1px; }
.lc-sec p { margin: 0; font-size: 17px; line-height: 1.7; }
.lc-sec.lc-hero p:not([class*="lc-"]) { font-size: 19px; }
.lc-sec.lc-pagehero p:not([class*="lc-"]) { color: var(--lc-muted); font-size: 18px; }
.lc-sec .lc-card p, .lc-sec .wp-block-column .lc-stack p { font-size: 16px; }
.lc-sec p.lc-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; }
.lc-sec p.lc-tagline { font-size: 22px; font-weight: 700; letter-spacing: 8px; text-transform: uppercase; }
.lc-sec p.lc-step-num { font-size: 54px; font-weight: 700; line-height: 1.1; }
.lc-sec :is(p.lc-eyebrow, p.lc-tagline, p.lc-step-num) {
	background: var(--lc-brass); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--lc-gold);
}
@media (max-width: 767px) { .lc-sec p.lc-tagline { font-size: 18px; letter-spacing: 5px; } .lc-sec p.lc-eyebrow { font-size: 12px; } }

/* Trait de séparation */
.lc-sec hr.wp-block-separator.lc-divider { width: 60px; height: 3px; border: 0; background: var(--lc-brass); opacity: 1; margin-left: 0 !important; margin-right: auto !important; }
.lc-sec hr.wp-block-separator.lc-divider--center { margin-left: auto !important; }

/* Colonnes */
.lc-sec .wp-block-columns { gap: 64px; align-items: center; margin-bottom: 0; }
.lc-sec .wp-block-columns:has(> .lc-card) { gap: 24px; align-items: stretch; }
.lc-sec .wp-block-columns + .wp-block-columns { margin-top: 24px !important; }
@media (max-width: 781px) { .lc-sec .wp-block-columns { gap: 32px; } }

/* Cartes */
.lc-sec .lc-card { background: #0B0B0B; border: 1px solid rgba(255, 255, 255, .12); padding: 40px 32px; }
.lc-sec .lc-card:has(> figure) { padding: 16px 16px 32px; }
.lc-sec .lc-card:has(> figure) > :not(figure) { padding: 0 8px; }
.lc-sec .lc-card p { color: var(--lc-muted); }
.lc-sec .lc-card.lc-card--clair { background: #fff; border-color: #E2E2E2; }
.lc-sec .lc-card.lc-card--clair :is(h2, h3) { color: #1a1a1a; }
.lc-sec .lc-card.lc-card--clair p { color: #444; }

/* Images */
.lc-sec .lc-ph img, .lc-sec .wp-block-image img { width: 100%; height: auto; display: block; }

/* Boutons */
.lc-sec .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 16px; }
.lc-sec .wp-block-buttons.is-content-justification-center, .lc-center .wp-block-buttons, .lc-hero .wp-block-buttons, .is-style-lc-orange .wp-block-buttons { justify-content: center; }
.wp-block-button .wp-block-button__link {
	display: inline-block; padding: 17px 32px; border-radius: 2px; border: 1px solid var(--lc-gold);
	background: var(--lc-brass); color: var(--lc-black);
	font: 700 13px/1.2 var(--lc-font); letter-spacing: 2px; text-transform: uppercase; text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.wp-block-button .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--lc-black); }
.wp-block-button.is-style-lc-ghost .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.wp-block-button.is-style-lc-ghost .wp-block-button__link:hover { background: #fff; color: var(--lc-black); }
.wp-block-button.is-style-lc-dark .wp-block-button__link { background: var(--lc-black); color: #fff; border-color: var(--lc-black); }
.wp-block-button.is-style-lc-dark .wp-block-button__link:hover { background: #fff; color: var(--lc-black); border-color: #fff; }
.is-style-lc-blanc .wp-block-button.is-style-lc-ghost .wp-block-button__link { color: #1a1a1a; border-color: #1a1a1a; }

/* Listes */
.lc-sec ul.wp-block-list { list-style: none; margin: 0; padding: 0; }
.lc-sec ul.wp-block-list li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.lc-sec ul.wp-block-list li::before { content: ""; position: absolute; left: 0; top: .8em; width: 10px; height: 2px; background: var(--lc-brass); }

/* Tableaux (tarifs) */
.lc-sec figure.wp-block-table.lc-price table { table-layout: auto; border: 0; }
.lc-sec figure.wp-block-table.lc-price td { border-left: 0; border-right: 0; }

/* Carte Google */
.lc-map iframe { display: block; width: 100%; height: 420px; border: 0; filter: grayscale(.4) contrast(1.05); }
.lc-blocks .lc-booking p { margin: 0 auto 28px; text-align: center; }

/* Page d'attente (compte à rebours) : bandeau du logo dans le même noir que le fond du logo */
#kl-barbertruck .kl-header { background: #020202; -webkit-backdrop-filter: none; backdrop-filter: none; }
#kl-barbertruck .kl-logo { filter: none; }

/* Logo Instagram (accueil) qui mène au profil Instagram */
.lc-iglink-wrap { margin: 4px 0 0; }
.lc-iglink {
	display: inline-flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 14px; color: #fff;
	background: linear-gradient(110deg, #A9461A 0%, #E0773A 52%, #F4B07C 100%);
	box-shadow: 0 8px 22px rgba(224, 119, 58, .25);
	transition: transform .25s ease, box-shadow .25s ease;
}
.lc-iglink svg { width: 26px; height: 26px; fill: currentColor; }
.lc-iglink:hover, .lc-iglink:focus-visible { transform: translateY(-3px) scale(1.04); box-shadow: 0 12px 28px rgba(224, 119, 58, .4); color: #fff; }

/* Photos encadrées côte à côte (page Le concept, sous « Votre barbier ») */
.lc-blocks .wp-block-columns.lc-duo { gap: 16px; margin: 16px 0 0; }
.lc-blocks .lc-duo .wp-block-image { margin: 0; }
.lc-blocks .lc-duo img { display: block; width: 100%; height: auto; box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }

/* Horaires d'ouverture (accueil) */
.lc-hours { background: #000; border-radius: 6px; padding: 8px 24px 24px; box-shadow: 0 0 0 1px rgba(224, 119, 58, .45), 0 18px 40px rgba(0, 0, 0, .45); }
.lc-blocks .lc-hours__list, .lc-hours__list { list-style: none; margin: 0; padding: 0; }
.lc-blocks .lc-hours__list li::before { content: none; }
.lc-hours__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); font-size: 16px; }
.lc-hours__day { font-weight: 700; color: #fff; }
.lc-hours__day em { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-left: 8px; color: var(--lc-gold); }
.lc-hours__time { color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lc-hours__row.is-closed .lc-hours__time { color: var(--lc-muted); }
.lc-hours__row.is-today { border-bottom-color: rgba(224, 119, 58, .6); }
.lc-hours__row.is-today .lc-hours__time { color: var(--lc-gold-light, #F4B07C); font-weight: 700; }
.lc-hours__cta { margin: 24px 0 0; }

/* Avis Google (accueil, sous le logo Instagram) */
.lc-avis { margin-top: 28px; max-width: 100%; overflow: hidden; }
.lc-avis__title { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; background: linear-gradient(110deg, #A9461A 0%, #E0773A 52%, #F4B07C 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lc-avis .ti-widget { margin: 0 !important; }
.lc-avis--todo { padding: 16px 18px; border: 1px dashed rgba(224, 119, 58, .6); font-size: 14px; color: var(--lc-muted); }
.lc-avis--todo p { margin: 0; }
