/* LB Studio - habillage sur mesure
   Sombre sur la vitrine, clair sur la boutique. */

:root {
	--lbs-transition: 320ms cubic-bezier(.2,.6,.2,1);
}

/* ---------- Ambiance sombre : accueil, prestations, studio ---------- */

body.lbs-sombre {
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--craie);
}

body.lbs-sombre .lbs-entete,
body.lbs-sombre .lbs-pied {
	background: transparent;
	color: var(--wp--preset--color--craie);
}

body.lbs-sombre .wp-block-separator {
	border-color: var(--wp--preset--color--ardoise);
}

body.lbs-sombre .wp-element-button,
body.lbs-sombre .wp-block-button__link {
	background: var(--wp--preset--color--craie);
	color: var(--wp--preset--color--encre);
}

body.lbs-sombre .wp-element-button:hover,
body.lbs-sombre .wp-block-button__link:hover {
	background: var(--wp--preset--color--cuivre);
	color: var(--wp--preset--color--encre);
}

body.lbs-sombre .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--craie);
	border: 1px solid rgba(246,245,242,.35);
}

body.lbs-sombre .is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--cuivre);
	color: var(--wp--preset--color--cuivre);
}

/* ---------- En-tete ---------- */

.lbs-entete {
	position: sticky;
	top: 0;
	z-index: 40;
	backdrop-filter: saturate(140%) blur(10px);
}

body.lbs-sombre .lbs-entete { background: rgba(12,12,14,.72); }
body.lbs-clair  .lbs-entete { background: rgba(251,250,248,.82); }

.lbs-entete .wp-block-site-title a {
	text-decoration: none;
}

.lbs-entete .wp-block-navigation a {
	text-decoration: none;
	position: relative;
	padding-bottom: 2px;
}

.lbs-entete .wp-block-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--wp--preset--color--cuivre);
	transition: width var(--lbs-transition);
}

.lbs-entete .wp-block-navigation a:hover::after { width: 100%; }

/* ---------- Titres et rythme ---------- */

.lbs-surtitre {
	font-family: var(--wp--preset--font-family--texte);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--cuivre);
	margin-bottom: 1rem;
}

.lbs-discret {
	color: var(--wp--preset--color--brume);
	font-size: .9375rem;
}

.lbs-chapeau {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	line-height: 1.55;
	max-width: 42ch;
}

.lbs-trait { opacity: .28; }

/* ---------- Hero plein ecran ---------- */

.lbs-hero {
	min-height: 78vh;
	display: flex;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
}

.lbs-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12,12,14,.15) 0%, rgba(12,12,14,.82) 100%);
	pointer-events: none;
}

.lbs-hero > * { position: relative; z-index: 2; }

/* ---------- Grille de visuels ---------- */

.lbs-grille .wp-block-image,
.lbs-grille figure {
	margin: 0;
	overflow: hidden;
}

.lbs-grille img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 620ms cubic-bezier(.2,.6,.2,1);
}

.lbs-grille a:hover img,
.lbs-grille figure:hover img { transform: scale(1.045); }

/* ---------- Cartes de rubrique ---------- */

.lbs-carte {
	border: 1px solid rgba(246,245,242,.14);
	padding: var(--wp--preset--spacing--40);
	transition: border-color var(--lbs-transition), transform var(--lbs-transition);
}

body.lbs-clair .lbs-carte { border-color: rgba(12,12,14,.12); }

.lbs-carte:hover {
	border-color: var(--wp--preset--color--cuivre);
	transform: translateY(-3px);
}

/* ---------- Pied de page ---------- */

.lbs-liste-pied { list-style: none; padding: 0; margin: 0; }
.lbs-liste-pied li { margin-bottom: .55rem; }
.lbs-liste-pied a { text-decoration: none; color: inherit; opacity: .78; }
.lbs-liste-pied a:hover { opacity: 1; color: var(--wp--preset--color--cuivre); }

/* ---------- Boutique : ambiance claire ---------- */

body.lbs-clair {
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
}

body.lbs-clair ul.products li.product {
	text-align: left;
}

body.lbs-clair ul.products li.product img {
	border-radius: 2px;
	margin-bottom: 1rem;
}

body.lbs-clair ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--texte);
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.4;
}

body.lbs-clair ul.products li.product .price {
	color: var(--wp--preset--color--encre);
	font-size: .9375rem;
}

body.lbs-clair .woocommerce ul.products li.product .button {
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--craie);
	border-radius: 0;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-size: .75rem;
}

body.lbs-clair .woocommerce ul.products li.product .button:hover {
	background: var(--wp--preset--color--cuivre);
	color: var(--wp--preset--color--encre);
}

/* ---------- Accessibilite et confort ---------- */

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--cuivre);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

@media (max-width: 781px) {
	.lbs-hero { min-height: 68vh; }
}
