/* =========================================================================
   LINEACRAFT – charte « Atelier »
   Encre argan, calcaire, cèdre, acier, vert zellige. Archivo (large) + Readex Pro (AR).
   ========================================================================= */
:root:root {
	--lc-ink: #15211d;
	--lc-ink-2: #2b3633;
	--lc-stone: #f3f3ef;
	--lc-stone-2: #e6e7e1;
	--lc-line: #d6d8d1;
	--lc-cedar: #8a5a3b;
	--lc-cedar-2: #6f4529;
	--lc-steel: #5e6a6c;
	--lc-zellige: #1f5c55;
	--lc-white: #ffffff;
	--lc-wood: #8a5a3b;
	--lc-wood-dark: #6f4529;
	--lc-ink-soft: #4d5856;
	--lc-paper: #f3f3ef;
	--lc-sand: #e6e7e1;

	--global-palette1: #1f5c55;
	--global-palette2: #15211d;
	--global-palette3: #15211d;
	--global-palette4: #2b3633;
	--global-palette5: #4d5856;
	--global-palette6: #8e9693;
	--global-palette7: #e6e7e1;
	--global-palette8: #f3f3ef;
	--global-palette9: #ffffff;

	--lc-wide: "Archivo", system-ui, sans-serif;
	--lc-gutter: clamp(16px, 4vw, 48px);
}

/* ---------- Typographie ---------- */
body {
	font-family: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--lc-ink);
	background: var(--lc-stone);
	font-variation-settings: "wdth" 100;
}
h1, h2, h3, h4, h5, .site-title, .wp-block-heading, .entry-title, .woocommerce-loop-product__title, .product_title {
	font-family: "Archivo", system-ui, sans-serif !important;
	font-stretch: 118%;
	font-variation-settings: "wdth" 118;
	font-weight: 700;
	letter-spacing: -0.012em;
	line-height: 1.08;
	color: var(--lc-ink);
}
h1, .wp-block-heading:where(h1) { font-size: clamp(2.4rem, 5.6vw, 4.6rem); font-weight: 800; }
h2, .wp-block-heading:where(h2) { font-size: clamp(1.8rem, 3.4vw, 2.75rem); }
h3, .wp-block-heading:where(h3) { font-size: clamp(1.15rem, 1.6vw, 1.35rem); font-stretch: 108%; font-variation-settings: "wdth" 108; letter-spacing: 0; line-height: 1.25; }
p, li { max-width: 72ch; }
.has-text-align-center p, p.has-text-align-center { margin-inline: auto; }

html[lang^="ar"] body,
html[lang^="ar"] h1, html[lang^="ar"] h2, html[lang^="ar"] h3, html[lang^="ar"] h4, html[lang^="ar"] .site-title,
html[lang^="ar"] .wp-block-heading, html[lang^="ar"] .entry-title, html[lang^="ar"] .woocommerce-loop-product__title,
html[lang^="ar"] .product_title, html[lang^="ar"] button, html[lang^="ar"] input, html[lang^="ar"] select, html[lang^="ar"] textarea {
	font-family: "Readex Pro", "Tajawal", system-ui, sans-serif !important;
	letter-spacing: 0 !important;
	font-stretch: 100%;
	font-variation-settings: normal;
}
html[lang^="ar"] h1, html[lang^="ar"] h2 { line-height: 1.3; }

/* Petit libellé de section : discret, en casse normale */
.lc-eyebrow {
	font-family: "Archivo", sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .95rem !important;
	font-weight: 600;
	color: var(--lc-cedar) !important;
	margin-bottom: .6rem !important;
}

a { color: var(--lc-zellige); text-underline-offset: 3px; }
a:hover { color: var(--lc-ink); }

/* ---------- Boutons ---------- */
.wp-block-button__link, .lc-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button, .button {
	border-radius: 0 !important;
	font-family: "Archivo", sans-serif;
	font-weight: 600 !important;
	letter-spacing: .01em;
	padding: .95em 1.6em;
	transition: background-color .2s, color .2s, border-color .2s;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.woocommerce .single_add_to_cart_button, .lc-btn--primary {
	background: var(--lc-ink) !important; color: #fff !important; border: 1px solid var(--lc-ink) !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.woocommerce .single_add_to_cart_button:hover, .lc-btn--primary:hover {
	background: var(--lc-zellige) !important; border-color: var(--lc-zellige) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link, .lc-btn--outline {
	background: transparent !important; color: var(--lc-ink) !important; border: 1px solid var(--lc-ink) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .lc-btn--outline:hover { background: var(--lc-ink) !important; color: #fff !important; }
.wp-block-cover .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff !important; color: var(--lc-ink) !important; border-color: #fff !important; }
.wp-block-cover .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--lc-stone-2) !important; }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff !important; color: var(--lc-ink) !important; }
:focus-visible { outline: 2px solid var(--lc-zellige); outline-offset: 3px; }

/* ---------- En-tête ---------- */
#masthead .site-main-header-wrap .site-header-row-container-inner,
#masthead .site-header-row-container-inner { background: var(--lc-white); border-bottom: 1px solid var(--lc-line); }
#masthead .site-title {
	font-size: 1.35rem; font-weight: 800; letter-spacing: .06em !important;
	font-stretch: 125%; font-variation-settings: "wdth" 125; color: var(--lc-ink);
}
.main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-weight: 500; font-size: .98rem; color: var(--lc-ink); padding-inline: .8em;
}
.main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: var(--lc-cedar); }
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--lc-cedar); }

/* Accueil : en-tête posé sur la photo */
body.lc-home #masthead { position: absolute; top: var(--wp-admin--admin-bar--height, 0px); inset-inline: 0; z-index: 30; background: transparent !important; }
body.lc-home #masthead .site-header-wrap, body.lc-home #masthead .site-header-inner-wrap, body.lc-home #masthead .site-header-upper-wrap, body.lc-home #masthead .site-header-upper-inner-wrap, body.lc-home #masthead .site-main-header-wrap, body.lc-home #masthead .site-header-row-container, body.lc-home #masthead .site-mobile-header-wrap { background: transparent !important; }
body.lc-home #masthead .site-header-row-container-inner { background: transparent; border-bottom-color: rgba(255,255,255,.25); }
body.lc-home #masthead .site-title, body.lc-home #masthead .site-branding a, body.lc-home #masthead .site-branding .site-title,
body.lc-home .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.lc-home #masthead .menu-toggle-open, body.lc-home #masthead .mobile-toggle-open-container .menu-toggle-open { color: #fff; }
body.lc-home .main-navigation .primary-menu-container > ul > li.current-menu-item > a { box-shadow: inset 0 -2px 0 #fff; color: #fff; }

/* ---------- Titres d'archives (boutique, catégories) ---------- */
.entry-hero.product-archive-hero-section, .entry-hero.page-hero-section {
	background: var(--lc-ink);
}
.entry-hero .entry-hero-container-inner { background: transparent; }
.entry-hero .entry-header .entry-title, .entry-hero .archive-title, .entry-hero h1 { color: #fff !important; }
.entry-hero .archive-description, .entry-hero .term-description, .entry-hero p { color: #c9cfcc; }
.entry-hero .entry-header { min-height: 0; padding-block: clamp(40px, 7vw, 88px); }

/* ---------- Cartes produits ---------- */
ul.products li.product {
	background: var(--lc-white);
	border: 1px solid var(--lc-line);
	border-radius: 0;
	box-shadow: none !important;
	overflow: hidden;
}
ul.products li.product .woocommerce-loop-image-link { display: block; overflow: hidden; background: var(--lc-stone-2); }
ul.products li.product .woocommerce-loop-image-link img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform .6s ease; }
ul.products li.product:hover .woocommerce-loop-image-link img { transform: scale(1.035); }
ul.products li.product .product-details { padding: 18px 20px 20px !important; background: transparent; }
ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem !important; font-weight: 650; font-stretch: 105%; font-variation-settings: "wdth" 105; line-height: 1.3; margin-bottom: .45rem; }
ul.products li.product .woocommerce-loop-product__title a { color: var(--lc-ink); }
ul.products li.product .price { color: var(--lc-cedar) !important; font-weight: 700; font-size: 1.02rem; }
ul.products li.product .price .lc-price-request { font-family: "Archivo", sans-serif; font-size: .98rem; color: var(--lc-cedar); }
ul.products li.product .product-excerpt { display: none; }
ul.products li.product .product-action-wrap .button {
	background: transparent !important; color: var(--lc-ink) !important; border: 0 !important;
	padding: .2em 0 !important; text-decoration: underline; text-underline-offset: 4px; font-size: .92rem;
}
ul.products li.product .product-action-wrap .button:hover { color: var(--lc-zellige) !important; }
.lc-price-request { font-family: "Archivo", sans-serif !important; }

/* Fiche produit */
.single-product .product_title { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.single-product .summary .price { color: var(--lc-cedar); font-weight: 700; font-size: 1.5rem; }
.woocommerce-tabs ul.tabs li a { font-family: "Archivo", sans-serif; font-weight: 600; }

/* ---------- Cartes de contenu ---------- */
.lc-card {
	background: var(--lc-white) !important;
	border: 1px solid var(--lc-line) !important;
	border-radius: 0;
	box-shadow: none;
}
.lc-card h3 { margin-bottom: .5rem; }
.lc-card a { color: var(--lc-zellige); font-weight: 600; }
.lc-step-num { font-family: "Archivo", sans-serif !important; font-stretch: 125%; font-variation-settings: "wdth" 125; font-weight: 800; color: var(--lc-cedar) !important; font-size: 2.4rem !important; }
.lc-price-tag strong { font-family: "Archivo", sans-serif; font-stretch: 112%; font-variation-settings: "wdth" 112; font-size: 1.45rem; color: var(--lc-cedar); }
.wp-block-details { border-bottom: 1px solid var(--lc-line); padding-block: 1rem; }
.wp-block-details summary { font-weight: 650; cursor: pointer; font-size: 1.05rem; }

/* =========================================================================
   Composants de l'accueil
   ========================================================================= */
.lc-x { width: 100%; }
.lc-wrap { max-width: 1280px; margin-inline: auto; padding-inline: var(--lc-gutter); }

/* Cote de dessin technique : trait + butées */
.lc-dim { position: relative; border-top: 1px solid currentColor; padding-top: 12px; font-size: .92rem; }
.lc-dim::before, .lc-dim::after { content: ""; position: absolute; top: -7px; width: 1px; height: 13px; background: currentColor; }
.lc-dim::before { inset-inline-start: 0; }
.lc-dim::after { inset-inline-end: 0; }

/* Hero */
.lc-hero { position: relative; min-height: min(100svh, 920px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--lc-ink); }
.lc-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,33,29,.6) 0%, rgba(21,33,29,.1) 30%, rgba(21,33,29,.35) 55%, rgba(21,33,29,.9) 100%), linear-gradient(90deg, rgba(21,33,29,.55) 0%, rgba(21,33,29,0) 65%); }
html[dir="rtl"] .lc-hero::after { background: linear-gradient(180deg, rgba(21,33,29,.6) 0%, rgba(21,33,29,.1) 30%, rgba(21,33,29,.35) 55%, rgba(21,33,29,.9) 100%), linear-gradient(270deg, rgba(21,33,29,.55) 0%, rgba(21,33,29,0) 65%); }
.lc-hero__in { position: relative; z-index: 2; width: 100%; padding-block: 160px clamp(48px, 8vw, 96px); }
.lc-hero h1 { color: #fff; max-width: 15ch; margin: 0 0 1.4rem; font-size: clamp(2.6rem, 7.2vw, 6.2rem); line-height: .98; }
html[lang^="ar"] .lc-hero h1 { line-height: 1.2; max-width: 18ch; }
.lc-hero__lead { font-size: clamp(1.05rem, 1.5vw, 1.25rem); max-width: 52ch; color: #e7ebe9; margin: 0 0 2rem; }
.lc-hero__row { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-end; justify-content: space-between; }
.lc-hero .lc-dim { color: #dfe5e2; min-width: min(420px, 100%); }
.lc-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lc-hero .lc-btn--primary { background: #fff !important; color: var(--lc-ink) !important; border-color: #fff !important; }
.lc-hero .lc-btn--primary:hover { background: var(--lc-stone-2) !important; }
.lc-hero .lc-btn--outline { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.lc-hero .lc-btn--outline:hover { background: #fff !important; color: var(--lc-ink) !important; }
.lc-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; text-decoration: none; line-height: 1.2; }

/* Bandeau de faits */
.lc-facts { background: var(--lc-ink); color: #dfe5e2; }
.lc-facts ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.lc-facts li { padding: 26px 22px; border-inline-start: 1px solid rgba(255,255,255,.14); max-width: none; font-size: .95rem; }
.lc-facts li:first-child { border-inline-start: 0; padding-inline-start: 0; }
.lc-facts b { display: block; color: #fff; font-size: 1.05rem; font-stretch: 112%; font-variation-settings: "wdth" 112; margin-bottom: 2px; }

/* Sections */
.lc-sec { padding-block: clamp(64px, 9vw, 120px); }
.lc-sec--white { background: var(--lc-white); }
.lc-sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; margin-bottom: clamp(28px, 4vw, 48px); }
.lc-sec__head h2 { margin: 0; max-width: 18ch; }
.lc-sec__head p { margin: 0; color: var(--lc-ink-soft); max-width: 46ch; }

/* Mosaïque des univers */
.lc-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(180px, 19vw, 260px); gap: 10px; }
.lc-tile { position: relative; display: block; overflow: hidden; background: var(--lc-ink-2); color: #fff !important; text-decoration: none; }
.lc-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.lc-tile:hover img { transform: scale(1.05); }
.lc-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,33,29,0) 40%, rgba(21,33,29,.82) 100%); }
.lc-tile__t { position: absolute; z-index: 2; inset-inline: 18px; bottom: 16px; }
.lc-tile__t strong { display: block; font-size: 1.15rem; font-stretch: 112%; font-variation-settings: "wdth" 112; font-weight: 700; line-height: 1.15; }
.lc-tile__t span { display: block; font-size: .88rem; color: #d7dedb; margin-top: 4px; }
.lc-tile.is-big { grid-column: span 2; grid-row: span 2; }
.lc-tile.is-big .lc-tile__t { inset-inline: 26px; bottom: 24px; }
.lc-tile.is-big strong { font-size: clamp(1.5rem, 2.6vw, 2.2rem); }
.lc-tile.is-big span { font-size: 1rem; }
.lc-tile--all { background: var(--lc-zellige); display: flex; align-items: flex-end; }
.lc-tile--all::after { display: none; }
.lc-tile--all:hover { background: var(--lc-ink); }
html[lang^="ar"] .lc-tile__t strong, html[lang^="ar"] .lc-facts b { font-family: "Readex Pro", sans-serif; }

/* Estimation en ligne */
.lc-estim { background: var(--lc-ink); color: #dfe5e2; }
.lc-estim h2 { color: #fff; }
.lc-estim .lc-sec__head p { color: #b9c2bf; }
.lc-estim__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lc-estim__card { display: block; padding: clamp(24px, 3.4vw, 44px); background: var(--lc-ink-2); color: #dfe5e2 !important; text-decoration: none; border-top: 3px solid var(--lc-cedar); transition: background .25s; }
.lc-estim__card:hover { background: #33403c; }
.lc-estim__card h3 { color: #fff; margin: 0 0 1.2rem; font-size: 1.4rem; }
.lc-estim__price { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-bottom: 1.4rem; }
.lc-estim__price div { font-size: .9rem; color: #b9c2bf; }
.lc-estim__price b { display: block; color: #fff; font-size: clamp(1.6rem, 2.8vw, 2.3rem); font-stretch: 118%; font-variation-settings: "wdth" 118; font-weight: 800; line-height: 1.1; }
html[lang^="ar"] .lc-estim__price b { font-family: "Readex Pro", sans-serif; }
.lc-estim__go { display: inline-block; font-weight: 600; color: #fff; border-bottom: 1px solid var(--lc-cedar); padding-bottom: 2px; }

/* Méthode */
.lc-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: s; }
.lc-steps li { list-style: none; padding: 26px 24px 0 0; border-top: 1px solid var(--lc-ink); position: relative; max-width: none; }
html[dir="rtl"] .lc-steps li { padding: 26px 0 0 24px; }
.lc-steps li::before { counter-increment: s; content: counter(s, decimal-leading-zero); display: block; font-size: 2.6rem; font-weight: 800; font-stretch: 125%; font-variation-settings: "wdth" 125; color: var(--lc-cedar); line-height: 1; margin-bottom: 14px; }
.lc-steps h3 { margin: 0 0 .4rem; }
.lc-steps p { color: var(--lc-ink-soft); margin: 0; font-size: .98rem; }
.lc-steps ol, ol.lc-steps { margin: 0; padding: 0; }

/* Pro / marchés publics */
.lc-pro { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.lc-pro img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.lc-pro ul { margin: 1.4rem 0 2rem; padding: 0; list-style: none; }
.lc-pro li { padding: 12px 0; border-bottom: 1px solid var(--lc-line); max-width: none; }
.lc-pro li b { font-weight: 650; }

/* Appel final */
.lc-cta { background: var(--lc-cedar); color: #fff; }
.lc-cta h2 { color: #fff; max-width: 20ch; margin: 0 0 1rem; }
.lc-cta p { color: #f1e6dd; margin: 0 0 2rem; }
.lc-cta .lc-btn--primary { background: #fff !important; color: var(--lc-ink) !important; border-color: #fff !important; }
.lc-cta .lc-btn--outline { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.lc-cta .lc-btn--outline:hover { background: #fff !important; color: var(--lc-ink) !important; }

/* Sélection produits sur l'accueil */
.lc-picks ul.products { margin: 0 !important; }

/* ---------- Pied de page ---------- */
.lc-footer { background: var(--lc-ink); color: #b9c2bf; padding-block: clamp(56px, 7vw, 88px) 36px; font-size: .95rem; }
.lc-footer a { color: #e3e8e6; text-decoration: none; }
.lc-footer a:hover { color: #fff; text-decoration: underline; }
.lc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
.lc-footer__brand { font-size: 1.5rem; font-weight: 800; letter-spacing: .06em; font-stretch: 125%; font-variation-settings: "wdth" 125; color: #fff; margin-bottom: .8rem; }
.lc-footer h4 { color: #fff; font-size: 1rem; font-stretch: 105%; margin: 0 0 1rem; }
.lc-footer ul { list-style: none; margin: 0; padding: 0; }
.lc-footer li { margin-bottom: .45rem; }
.lc-footer .lc-dim { color: #6f7b78; margin-top: 44px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lc-footer .lc-dim span { color: #9aa5a2; }
.site-footer .site-bottom-footer-wrap { display: none; }

/* ---------- Animation d'entrée unique (hero) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.lc-hero h1, .lc-hero__lead, .lc-hero__row { animation: lcRise .9s cubic-bezier(.2,.7,.2,1) both; }
	.lc-hero__lead { animation-delay: .12s; }
	.lc-hero__row { animation-delay: .24s; }
	.lc-hero .lc-dim { transform-origin: left; animation: lcDraw 1.1s .35s cubic-bezier(.2,.7,.2,1) both; }
	html[dir="rtl"] .lc-hero .lc-dim { transform-origin: right; }
	@keyframes lcRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
	@keyframes lcDraw { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
}
@media (prefers-reduced-motion: reduce) {
	.lc-tile img, ul.products li.product .woocommerce-loop-image-link img { transition: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.lc-facts ul { grid-template-columns: repeat(2, 1fr); }
	.lc-facts li:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
	.lc-mosaic { grid-template-columns: repeat(2, 1fr); }
	.lc-steps { grid-template-columns: repeat(2, 1fr); row-gap: 28px; }
	.lc-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
	body { font-size: 16px; }
	.lc-facts ul { grid-template-columns: 1fr; }
	.lc-facts li { border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.14); padding: 18px 0; }
	.lc-facts li:first-child { border-top: 0; }
	.lc-mosaic { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; gap: 8px; }
	.lc-tile.is-big { grid-column: span 2; grid-row: span 1; }
	.lc-tile.is-big strong { font-size: 1.45rem; }
	.lc-tile__t { inset-inline: 12px; bottom: 10px; }
	.lc-tile__t strong { font-size: 1rem; }
	.lc-tile__t span { display: none; }
	.lc-tile.is-big .lc-tile__t span { display: block; }
	.lc-estim__grid, .lc-pro { grid-template-columns: 1fr; }
	.lc-steps { grid-template-columns: 1fr; }
	.lc-footer__grid { grid-template-columns: 1fr; }
	.lc-hero__in { padding-top: 120px; }
}

/* Accueil : sections bord à bord sans marges parasites */
body.lc-home .entry-content > *, body.lc-home .entry-content-wrap > .entry-content > * { margin-block: 0 !important; }
body.lc-home .content-container, body.lc-home .site-main, body.lc-home .content-area { margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; max-width: none; }
body.lc-home .entry-content-wrap { padding: 0 !important; }
body.lc-home article.entry { box-shadow: none; background: transparent; }
.lc-sec { padding-block: clamp(56px, 7vw, 96px); }

/* ---------- Page Réalisations (v1.3) ---------- */
body.lc-flush .entry-content > *, body.lc-flush .entry-content-wrap > .entry-content > * { margin-block: 0 !important; }
body.lc-flush .content-container, body.lc-flush .site-main, body.lc-flush .content-area { margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; max-width: none; }
body.lc-flush .entry-content-wrap { padding: 0 !important; }
body.lc-flush article.entry { box-shadow: none; background: transparent; }

.lc-phero { background: var(--lc-ink); color: #dfe5e2; padding-block: clamp(64px, 9vw, 120px) clamp(40px, 5vw, 64px); }
.lc-phero h1 { color: #fff; font-size: clamp(2.4rem, 6vw, 5rem); line-height: 1; margin: 0 0 1.2rem; max-width: 16ch; }
html[lang^="ar"] .lc-phero h1 { line-height: 1.25; }
.lc-phero p { max-width: 58ch; margin: 0; font-size: 1.08rem; color: #c9d1ce; }
.lc-phero .lc-eyebrow { color: #d6a982 !important; }
.lc-phero__facts { list-style: none; margin: clamp(32px, 4vw, 48px) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 0; border-top: 1px solid rgba(255,255,255,.16); padding-top: 22px; }
.lc-phero__facts li { padding-inline: 0 28px; margin-inline-end: 28px; border-inline-end: 1px solid rgba(255,255,255,.16); font-size: .95rem; }
.lc-phero__facts li:last-child { border: 0; }
.lc-phero__facts b { color: #fff; font-weight: 600; }

.lc-filter { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20; background: rgba(243,243,239,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--lc-line); }
.lc-filter .lc-wrap { display: flex; gap: 8px; overflow-x: auto; padding-block: 14px; scrollbar-width: none; }
.lc-filter button { flex: none; font: 600 .92rem/1 "Archivo", sans-serif; padding: .7em 1.15em; border: 1px solid var(--lc-line); background: #fff; color: var(--lc-ink); border-radius: 0; cursor: pointer; letter-spacing: 0; text-transform: none; }
html[lang^="ar"] .lc-filter button { font-family: "Readex Pro", sans-serif; }
.lc-filter button:hover { border-color: var(--lc-ink); }
.lc-filter button.is-on { background: var(--lc-ink); border-color: var(--lc-ink); color: #fff; }
.lc-filter button:focus-visible { outline: 2px solid var(--lc-cedar); outline-offset: 2px; }

.lc-proj { padding-block: clamp(48px, 6vw, 84px); border-bottom: 1px solid var(--lc-line); }
.lc-proj[hidden] { display: none; }
.lc-proj:nth-of-type(even) { background: #fff; }
.lc-proj__head { display: grid; grid-template-columns: auto 1fr minmax(240px, 34%); gap: 12px 32px; align-items: start; margin-bottom: clamp(22px, 3vw, 36px); }
.lc-proj__n { font: 700 clamp(2.4rem, 4vw, 3.4rem)/1 "Archivo", sans-serif; font-stretch: 118%; font-variation-settings: "wdth" 118; color: var(--lc-cedar); }
.lc-proj__head h2 { margin: 0 0 .5rem; font-size: clamp(1.6rem, 2.8vw, 2.4rem); line-height: 1.08; }
.lc-proj__head p { margin: 0; color: var(--lc-ink-soft); }
.lc-proj__tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-content: start; }
.lc-proj__tags li { font-size: .82rem; padding: .35em .75em; border: 1px solid var(--lc-line); color: var(--lc-ink-2); background: var(--lc-stone); }

.lc-gal { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(150px, 16vw, 230px); gap: 8px; }
.lc-gal a { position: relative; display: block; overflow: hidden; background: var(--lc-stone-2); cursor: zoom-in; }
.lc-gal a:first-child { grid-column: span 2; grid-row: span 2; }
.lc-gal img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.lc-gal a:hover img { transform: scale(1.04); }
.lc-gal a:focus-visible { outline: 3px solid var(--lc-cedar); outline-offset: 2px; }

.lc-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(12,18,16,.94); display: none; align-items: center; justify-content: center; }
.lc-lb.is-open { display: flex; }
.lc-lb img { max-width: 92vw; max-height: 84vh; object-fit: contain; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.lc-lb__cap { position: absolute; bottom: 18px; inset-inline: 0; text-align: center; color: #cfd6d3; font-size: .9rem; }
.lc-lb button { position: absolute; background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; width: 48px; height: 48px; font-size: 22px; line-height: 1; cursor: pointer; border-radius: 0; padding: 0; }
.lc-lb button:hover { background: rgba(255,255,255,.12); }
.lc-lb__x { top: 18px; right: 18px; }
.lc-lb__p { left: 18px; top: 50%; transform: translateY(-50%); }
.lc-lb__nx { right: 18px; top: 50%; transform: translateY(-50%); }

@media (max-width: 1024px) {
	.lc-proj__head { grid-template-columns: auto 1fr; }
	.lc-proj__tags { grid-column: 2; }
	.lc-gal { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
	.lc-proj__head { grid-template-columns: 1fr; }
	.lc-proj__tags { grid-column: 1; }
	.lc-gal { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; }
	.lc-phero__facts li { border: 0; padding: 0; margin-inline-end: 20px; }
	.lc-lb__p, .lc-lb__nx { top: auto; bottom: 50px; transform: none; }
}
@media (min-width: 1025px) { .lc-gal a.w2 { grid-column: span 2; } .lc-gal a.w4 { grid-column: span 4; } }
.lc-phero__facts, .lc-proj__tags { margin-inline: 0 !important; padding-inline: 0 !important; }
.lc-phero__facts { margin-top: clamp(32px, 4vw, 48px) !important; }

/* Catégorie sans produit : bloc sur mesure */
.lc-empty-cat { grid-column: 1 / -1; background: #fff; border: 1px solid var(--lc-line); padding: clamp(28px, 5vw, 56px); margin: 8px 0 40px; max-width: 900px; }
.lc-empty-cat h2 { margin: 0 0 .7rem; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.lc-empty-cat p { color: var(--lc-ink-soft); max-width: 60ch; }
.lc-empty-cat__btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.4rem 0 0; }
/* Sous-menus catégories */
.main-navigation .sub-menu .sub-menu { min-width: 240px; }
.main-navigation .sub-menu a { white-space: nowrap; }
