/* ==========================================================================
   AFRO LOCKS CULTURE — feuille de style du site
   Direction : grand magazine. Didone pour les titres, couleurs pleines par rubrique,
   photographie en grand format.
   ========================================================================== */

:root {
	--alc-encre: #1A1512;
	--alc-papier: #FBF8F3;
	--alc-ivoire: #F1E9DC;
	--alc-ebene: #15100D;
	--alc-or: #B98B3E;
	--alc-or-clair: #D9B77C;
	--alc-bordeaux: #5C1A25;
	--alc-foret: #1E4535;
	--alc-brun: #3D2A20;
	--alc-trait: #DDD4C6;
	--alc-gris: #6B6259;
	--alc-display: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
	--alc-serif: Newsreader, 'Iowan Old Style', Georgia, serif;
	--alc-sans: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--alc-gutter: clamp(1rem, 4vw, 2.5rem);
	--alc-gap: clamp(1.25rem, 3vw, 2.5rem);
	--alc-max: 1280px;
}

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 1.5rem; }
body { background: var(--alc-papier); color: var(--alc-encre); overflow-x: clip; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-optical-sizing: auto; }
::selection { background: var(--alc-bordeaux); color: var(--alc-ivoire); }
img { height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--alc-or); outline-offset: 2px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Pleine largeur et conteneur */
.alc-bleed { width: 100vw; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.alc-wrap { max-width: var(--alc-max); margin-inline: auto; padding-inline: var(--alc-gutter); box-sizing: border-box; }

/* Couleurs des rubriques */
.alc-cover--locks { --alc-c: var(--alc-foret); }
.alc-cover--afro { --alc-c: var(--alc-bordeaux); }
.alc-cover--soins { --alc-c: #6E4A1C; }
.alc-cover--pros { --alc-c: var(--alc-ebene); }
.alc-cover--marques { --alc-c: #7A5A22; }
.alc-cover--visages { --alc-c: var(--alc-brun); }
.alc-cover--culture { --alc-c: var(--alc-ebene); }
.alc-cover--divers { --alc-c: var(--alc-ebene); }
[class*="alc-cover--"] { background-color: var(--alc-c, var(--alc-ebene)); }

/* --------------------------------------------------------------------------
   Logotype
   -------------------------------------------------------------------------- */
.alc-logo {
	font-family: var(--alc-display);
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--alc-ivoire);
	text-decoration: none;
	white-space: nowrap;
}
.alc-logo:hover { color: var(--alc-ivoire); }

/* --------------------------------------------------------------------------
   En-tête des pages intérieures
   -------------------------------------------------------------------------- */
.alc-header { background: var(--alc-ebene); color: var(--alc-ivoire); }
.alc-header__bar { min-height: 68px; gap: 1rem; }
.alc-header__tools { gap: .25rem; }
.alc-nav .wp-block-navigation-item__content { text-decoration: none; color: inherit; padding: .25rem 0; letter-spacing: .01em; }
.alc-nav .wp-block-navigation-item__content:hover { color: var(--alc-or-clair); }
.alc-nav .alc-nav__annuaire > .wp-block-navigation-item__content { color: var(--alc-or-clair); font-weight: 600; }
.alc-nav .wp-block-navigation__container { gap: clamp(.9rem, 1.8vw, 1.75rem); }
.alc-header .alc-nav { color: var(--alc-ivoire); }

.alc-header__search .wp-block-search__button { background: none; color: var(--alc-ivoire); padding: .5rem; border: 0; }
.alc-header__search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.alc-header__search .wp-block-search__input { border: 1px solid var(--alc-or); background: var(--alc-ebene); color: var(--alc-ivoire); border-radius: 0; font-size: 1rem; }
.alc-header__search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }

.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--alc-ivoire); padding: .5rem; }
.wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--alc-ebene) !important; color: var(--alc-ivoire) !important; padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: flex-start; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(241, 233, 220, .16); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--alc-display); font-style: italic; font-size: 2.25rem; font-weight: 500; padding: .5rem 0 !important; display: block; width: 100%; color: var(--alc-ivoire) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .alc-nav__annuaire .wp-block-navigation-item__content { color: var(--alc-or-clair) !important; }

/* --------------------------------------------------------------------------
   Accueil : le titre du média, comme une couverture
   -------------------------------------------------------------------------- */
.alc-masthead { background: var(--alc-ebene); color: var(--alc-ivoire); padding-top: .75rem; }
.alc-masthead__top { min-height: 44px; }
.alc-masthead__tagline { margin: 0; font-family: var(--alc-serif); font-style: italic; font-size: 1.0625rem; color: var(--alc-or-clair); }
.alc-masthead__title {
	margin: clamp(.75rem, 2vw, 1.5rem) 0 0;
	container-type: inline-size;
	font-family: var(--alc-display);
	font-weight: 600;
	text-transform: uppercase;
	line-height: .86;
	letter-spacing: -0.01em;
}
.alc-masthead__title a { color: var(--alc-ivoire); text-decoration: none; display: block; font-size: 30cqw; }
.alc-masthead__title span { display: block; width: fit-content; }
.alc-masthead__title .l3 { font-size: .71em; margin-top: .08em; }
@media (min-width: 760px) {
	.alc-masthead__title a { font-size: 8.85cqw; white-space: nowrap; }
	.alc-masthead__title span { display: inline; }
	.alc-masthead__title .l3 { font-size: 1em; margin: 0; }
}
.alc-nav--row {
	margin-top: clamp(1rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--alc-or);
	color: var(--alc-ivoire);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.alc-nav--row::-webkit-scrollbar { display: none; }
.alc-nav--row .wp-block-navigation__container { flex-wrap: nowrap !important; padding: .9rem 0 1rem; }
.alc-nav--row .wp-block-navigation-item { flex: 0 0 auto; }
.alc-nav--row .alc-nav__annuaire { margin-left: auto; }
.alc-masthead .alc-header__search .wp-block-search__button { color: var(--alc-ivoire); }

/* --------------------------------------------------------------------------
   Structure générale
   -------------------------------------------------------------------------- */
.alc-main { padding-bottom: var(--wp--preset--spacing--50); }
.alc-main > * + * { margin-block-start: var(--wp--preset--spacing--50); }
.alc-home > .alc-une, .alc-home > :first-child { margin-top: 0; }

.alc-section-title {
	font-family: var(--alc-display);
	font-weight: 500;
	font-style: italic;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: .95;
	letter-spacing: -0.015em;
	margin: 0;
}
.alc-section-title a { color: inherit; text-decoration: none; }
.alc-section-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .1em; }
.alc-section-title--small { font-size: clamp(1.75rem, 3.2vw, 2.25rem); }

.alc-more { font-family: var(--alc-sans); font-weight: 600; font-size: .9375rem; color: inherit; text-decoration: none; white-space: nowrap; border-bottom: 1px solid var(--alc-or); padding-bottom: 2px; }
.alc-more:hover { color: var(--alc-or); }

/* --------------------------------------------------------------------------
   Cartes
   -------------------------------------------------------------------------- */
.alc-card { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.alc-card__media { display: block; overflow: hidden; position: relative; text-decoration: none; }
.alc-card__media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .6s ease; }
.alc-card:hover .alc-card__media img { transform: scale(1.03); }
.alc-card__body { display: flex; flex-direction: column; gap: .5rem; }
.alc-card__title { margin: 0; font-family: var(--alc-display); font-weight: 600; letter-spacing: -0.005em; text-wrap: balance; }
.alc-card__title a { color: inherit; text-decoration: none; }
.alc-card__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
.alc-card__excerpt { margin: 0; font-family: var(--alc-serif); font-size: 1.0625rem; line-height: 1.5; opacity: .82; }
.alc-card--lead .alc-card__title { font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1.02; }
.alc-card--lead .alc-card__media img { aspect-ratio: 3 / 2; }
.alc-card--medium .alc-card__title { font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.1; }
.alc-card--small .alc-card__title { font-size: clamp(1.125rem, 1.8vw, 1.375rem); line-height: 1.15; }
.alc-card--line { padding: 1rem 0; border-top: 1px solid var(--alc-trait); gap: .35rem; }
.alc-card--line .alc-card__title { font-size: 1.25rem; line-height: 1.2; }

/* Couverture graphique (contenu sans photo) */
.alc-cover { aspect-ratio: 4 / 5; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1rem, 2.5vw, 1.5rem); color: var(--alc-ivoire); box-sizing: border-box; isolation: isolate; }
.alc-cover::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(217, 183, 124, .45); pointer-events: none; }
.alc-cover__brand { order: -1; font-family: var(--alc-display); text-transform: uppercase; letter-spacing: .14em; font-size: .6875rem; color: var(--alc-or-clair); }
.alc-cover__word { font-family: var(--alc-display); font-style: italic; font-weight: 500; font-size: clamp(2.25rem, 6vw, 3.5rem); line-height: .9; letter-spacing: -0.01em; }
.alc-card--lead .alc-cover { aspect-ratio: 3 / 2; }
.alc-card--small .alc-cover__word { font-size: clamp(1.75rem, 4.5vw, 2.5rem); }

.alc-kicker { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; font-family: var(--alc-sans); font-size: .8125rem; font-weight: 600; line-height: 1.3; letter-spacing: .02em; }
.alc-kicker a { color: var(--alc-bordeaux); text-decoration: none; }
.alc-kicker a:hover { text-decoration: underline; }
.alc-kicker__fmt { color: var(--alc-gris); font-weight: 500; }
.alc-kicker__fmt::before { content: ""; display: inline-block; width: 1em; height: 1px; background: currentColor; opacity: .5; vertical-align: middle; margin-right: .5rem; }
.alc-kicker__partner { background: var(--alc-ivoire); color: var(--alc-encre); padding: .1rem .45rem; font-weight: 600; }

/* --------------------------------------------------------------------------
   À la une : couverture pleine largeur
   -------------------------------------------------------------------------- */
.alc-une__hero { position: relative; color: var(--alc-ivoire); overflow: hidden; }
.alc-une__hero.has-media { background: var(--alc-ebene); }
.alc-une__media { margin: 0; }
.alc-une__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 760px) { .alc-une__media img { aspect-ratio: 16 / 8; } }
.alc-une__hero.has-media .alc-une__text { position: absolute; inset: auto 0 0 0; padding-block: clamp(5rem, 14vw, 10rem) clamp(1.75rem, 4vw, 3.5rem); background: linear-gradient(to bottom, rgba(21, 16, 13, 0) 0%, rgba(21, 16, 13, .72) 45%, rgba(21, 16, 13, .92) 100%); }
.alc-une__hero:not(.has-media) .alc-une__text { padding-block: clamp(3rem, 9vw, 7rem) clamp(2.5rem, 6vw, 5rem); }
.alc-une__hero:not(.has-media)::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(217, 183, 124, .4); pointer-events: none; }
.alc-une__text .alc-wrap { display: grid; gap: 1rem; }
.alc-une__text .alc-kicker a, .alc-une__text .alc-kicker__fmt { color: var(--alc-or-clair); }
.alc-une__title { margin: 0; font-family: var(--alc-display); font-weight: 600; font-size: clamp(2.5rem, 7.2vw, 6.25rem); line-height: .98; letter-spacing: -0.02em; max-width: 15ch; text-wrap: balance; }
.alc-une__title a { color: var(--alc-ivoire); text-decoration: none; }
.alc-une__chapo { margin: 0; font-family: var(--alc-serif); font-size: clamp(1.1875rem, 2vw, 1.5rem); line-height: 1.4; max-width: 34em; color: rgba(241, 233, 220, .9); }
.alc-une__cta { display: inline-block; margin-top: .5rem; font-family: var(--alc-sans); font-weight: 600; color: var(--alc-ebene); background: var(--alc-or-clair); padding: .8rem 1.4rem; text-decoration: none; }
.alc-une__cta:hover { background: var(--alc-ivoire); color: var(--alc-ebene); }

.alc-latest { margin-block-start: clamp(2.5rem, 5vw, 4rem) !important; }
.alc-latest .alc-section-title { margin-bottom: 1.5rem; padding-top: .9rem; border-top: 1px solid var(--alc-encre); }
.alc-grid { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem) var(--alc-gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.alc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; }
@media (min-width: 900px) { .alc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem var(--alc-gap); } }

/* --------------------------------------------------------------------------
   Rubriques en vitrine
   -------------------------------------------------------------------------- */
.alc-rubrique__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .5rem 1.5rem; padding-top: 1rem; border-top: 1px solid currentColor; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.alc-rubrique__desc { grid-column: 1 / -1; grid-row: 2; margin: 0; font-family: var(--alc-serif); font-size: 1.1875rem; line-height: 1.45; max-width: 40em; opacity: .8; }
.alc-band-color { background: var(--alc-c); color: var(--alc-ivoire); padding-block: clamp(3rem, 7vw, 5.5rem); }
.alc-band-color .alc-kicker a, .alc-band-color .alc-kicker__fmt { color: var(--alc-or-clair); }
.alc-band-color .alc-rubrique__head { border-top-color: var(--alc-or); }
.alc-band-color .alc-more { border-color: var(--alc-or-clair); }
.alc-band-color .alc-cover { background: rgba(0, 0, 0, .22); }
.alc-rubrique--locks.alc-band-color { --alc-c: var(--alc-foret); }
.alc-rubrique--culture.alc-band-color { --alc-c: var(--alc-ebene); }
.alc-rubrique--visages.alc-band-color { --alc-c: var(--alc-bordeaux); }
.alc-main > .alc-band-color + .alc-band-color, .alc-main > .alc-une + .alc-band-color { margin-block-start: 0; }

.alc-duo { display: grid; gap: var(--wp--preset--spacing--50) var(--alc-gap); }
@media (min-width: 900px) { .alc-duo { grid-template-columns: 1fr 1fr; } .alc-duo .alc-grid { grid-template-columns: 1fr 1fr; } .alc-duo .alc-card__excerpt { display: none; } }
.alc-duo > * + * { margin-block-start: 0 !important; }

/* Pour commencer */
.alc-essentiels { background: var(--alc-ivoire); padding: clamp(1.75rem, 5vw, 3.5rem); }
.alc-essentiels .alc-section-title { margin-bottom: .5rem; }
.alc-essentiels .alc-rubrique__desc { opacity: .75; }
.alc-essentiels__list { list-style: none; margin: 2rem 0 0; padding: 0; counter-reset: alc; display: grid; gap: 1.75rem var(--alc-gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.alc-essentiels__list > li { counter-increment: alc; display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.alc-essentiels__list > li::before { content: counter(alc); font-family: var(--alc-display); font-style: italic; font-size: 3.5rem; line-height: .8; color: var(--alc-or); }
.alc-essentiels .alc-card__media { display: none; }

/* Bandeau annuaire */
.alc-band--annuaire { background: var(--alc-ebene); color: var(--alc-ivoire); padding-block: clamp(3rem, 7vw, 5.5rem); }
.alc-band__grid { display: grid; gap: 2rem var(--alc-gap); }
@media (min-width: 900px) { .alc-band__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: end; } }
.alc-band__title { font-family: var(--alc-display); font-weight: 500; font-style: italic; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: .95; margin: 0 0 1rem; color: var(--alc-ivoire); letter-spacing: -0.015em; }
.alc-band__text p { margin: 0; font-family: var(--alc-serif); font-size: 1.1875rem; line-height: 1.45; color: rgba(241, 233, 220, .82); max-width: 30em; }
.alc-band--annuaire .alc-field span { color: var(--alc-or-clair); }
.alc-band--annuaire select { border-color: rgba(241, 233, 220, .4); background-color: var(--alc-ebene); color: var(--alc-ivoire); }
.alc-band--annuaire .alc-button { background: var(--alc-or-clair); color: var(--alc-ebene); }
.alc-band--annuaire .alc-button:hover { background: var(--alc-ivoire); color: var(--alc-ebene); }

/* Bandeau newsletter */
.alc-band--nl { background: var(--alc-bordeaux); color: var(--alc-ivoire); padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.alc-band--nl .alc-nl__text p { color: rgba(241, 233, 220, .85); }
.alc-band--nl .alc-nl__consent { color: rgba(241, 233, 220, .75); }
.alc-band--nl input[type=email] { border-color: var(--alc-ivoire); }
.alc-band--nl .alc-button { background: var(--alc-or-clair); color: var(--alc-ebene); }
.alc-band--nl .alc-button:hover { background: var(--alc-ivoire); }
.alc-band--nl .alc-nl__status { background: rgba(0, 0, 0, .2); color: var(--alc-ivoire); border-left-color: var(--alc-or-clair); }

/* --------------------------------------------------------------------------
   Article
   -------------------------------------------------------------------------- */
.alc-article, .alc-page { padding-top: clamp(1.5rem, 4vw, 3.5rem); }
.alc-article > * + *, .alc-page > * + * { margin-block-start: 1rem; }
.alc-article .alc-fil, .alc-article .alc-kicker { justify-content: center; text-align: center; }
.alc-article .alc-fil ol { justify-content: center; }
.alc-article__title, .alc-page__title {
	font-family: var(--alc-display) !important; font-weight: 600 !important;
	font-size: clamp(2.5rem, 7vw, 5.25rem) !important; line-height: 1 !important; letter-spacing: -0.02em; text-wrap: balance; margin-block-start: .75rem !important;
}
.alc-article .alc-article__title { text-align: center; max-width: 18ch; margin-inline: auto !important; }
.alc-article__chapo { margin-block-start: 1.25rem !important; }
.alc-article__chapo, .alc-article__chapo p { font-family: var(--alc-serif); font-style: italic; font-size: clamp(1.25rem, 2.4vw, 1.625rem); line-height: 1.38; color: var(--alc-encre); margin: 0; }
.alc-article .alc-article__chapo { text-align: center; }
.alc-article__chapo .wp-block-post-excerpt__more-text { display: none; }
.alc-meta { font-family: var(--alc-sans); font-size: .875rem; color: var(--alc-gris); margin: 0; padding: 1rem 0 0; margin-block-start: 1.5rem !important; text-align: center; }
.alc-article__image { margin-block-start: clamp(2rem, 4vw, 3rem) !important; }
.alc-article__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.alc-credit { font-family: var(--alc-sans); font-size: .75rem; color: var(--alc-gris); text-align: right; margin-block-start: .5rem !important; }
.alc-credit a { color: inherit; }

.alc-article__body { font-family: var(--alc-serif); font-size: clamp(1.1875rem, 1.6vw, 1.3125rem); line-height: 1.68; margin-block-start: clamp(2rem, 4vw, 3rem) !important; }
.alc-article__body > * + * { margin-block-start: 1.15em; }
.alc-article__body > p:first-of-type::first-letter { font-family: var(--alc-display); font-weight: 600; float: left; font-size: 4.6em; line-height: .78; margin: .08em .08em 0 0; color: var(--alc-bordeaux); }
.alc-article__body h2 { font-family: var(--alc-display); font-weight: 600; font-size: clamp(1.875rem, 3.6vw, 2.5rem); line-height: 1.08; margin-block-start: 2em; scroll-margin-top: 1.5rem; }
.alc-article__body h3 { font-family: var(--alc-display); font-size: clamp(1.375rem, 2.4vw, 1.625rem); line-height: 1.2; margin-block-start: 1.8em; font-weight: 600; }
.alc-article__body h2 + *, .alc-article__body h3 + * { margin-block-start: .7em; }
.alc-article__body ul, .alc-article__body ol { padding-left: 1.25em; }
.alc-article__body li + li { margin-top: .45em; }
.alc-article__body li::marker { color: var(--alc-or); font-variant-numeric: normal; font-weight: 600; }
.alc-article__body a { color: var(--alc-bordeaux); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.alc-article__body strong { font-weight: 650; }
.alc-article__body .wp-block-table { font-family: var(--alc-sans); overflow-x: auto; }
.alc-article__body .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .9375rem; line-height: 1.45; }
.alc-article__body .wp-block-table th, .alc-article__body .wp-block-table td { border: 0; border-bottom: 1px solid var(--alc-trait); padding: .7rem .75rem .7rem 0; text-align: left; vertical-align: top; }
.alc-article__body .wp-block-table thead { border-bottom: 2px solid var(--alc-encre); }
.alc-article__body .wp-block-table th { font-weight: 650; }

.alc-essentiel { background: var(--alc-ivoire); border-top: 3px solid var(--alc-or); padding: 1.5rem 1.75rem !important; font-family: var(--alc-sans); font-size: 1.0625rem; line-height: 1.6; }
.alc-essentiel > * { margin: 0; }
.alc-essentiel > * + * { margin-top: .6em; }
.alc-essentiel .alc-essentiel__label { font-family: var(--alc-display); font-style: italic; font-size: 1.5rem !important; font-weight: 500; margin: 0 0 .5rem !important; color: var(--alc-bordeaux); }

.alc-encadre { border: 1px solid var(--alc-encre); padding: 1.5rem 1.75rem !important; }
.alc-encadre > * { margin: 0; }
.alc-encadre > * + * { margin-top: .6em; }
.alc-encadre h3 { margin-top: 0 !important; }
.alc-sante { background: var(--alc-ivoire); padding: 1.1rem 1.4rem !important; font-family: var(--alc-sans); font-size: 1rem; }
.alc-sante p { margin: 0; }

.alc-sources { margin-block-start: 3.5rem !important; padding-top: 1.25rem; border-top: 1px solid var(--alc-encre); font-family: var(--alc-sans); font-size: .9375rem; line-height: 1.55; }
.alc-sources__title { font-family: var(--alc-sans); font-size: 1rem !important; font-weight: 700; margin: 0 0 .75rem !important; }
.alc-sources ol, .alc-sources ul { padding-left: 1.2em; }
.alc-sources li + li { margin-top: .5em; }

.alc-toc { margin-top: 2.25rem; border-top: 1px solid var(--alc-encre); border-bottom: 1px solid var(--alc-trait); padding: 1.1rem 0 1.2rem; margin-bottom: 2.5rem; font-family: var(--alc-sans); font-size: 1rem; }
.alc-toc__title { margin: 0 0 .6rem; font-family: var(--alc-display); font-style: italic; font-size: 1.375rem; }
.alc-toc ol { margin: 0; padding-left: 1.5em; display: grid; gap: .4rem; }
.alc-toc li::marker { color: var(--alc-or); font-variant-numeric: normal; }
.alc-toc a { color: var(--alc-encre); text-decoration: none; }
.alc-toc a:hover { color: var(--alc-bordeaux); text-decoration: underline; }

.alc-notice { background: var(--alc-ivoire); padding: .9rem 1.1rem; font-family: var(--alc-sans); font-size: .9375rem; line-height: 1.5; margin-bottom: 1.5rem; }
.alc-notice--partner { border-left: 3px solid var(--alc-or); }
.alc-article__tags { font-family: var(--alc-sans); font-size: .875rem; color: var(--alc-gris); margin-block-start: 2.5rem !important; }
.alc-article__tags a { color: var(--alc-encre); }

.alc-fil ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .1rem .45rem; font-family: var(--alc-sans); font-size: .8125rem; color: var(--alc-gris); }
.alc-fil li + li::before { content: "/"; margin-right: .45rem; opacity: .5; }
.alc-fil a { color: inherit; text-decoration: none; }
.alc-fil a:hover { text-decoration: underline; }
.alc-fil [aria-current] { display: inline-block; max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

.alc-a-lire { border-top: 1px solid var(--alc-encre); padding-top: 1rem; }
.alc-a-lire .alc-section-title { margin-bottom: 1.75rem; }
.alc-a-lire .alc-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }

/* Pages simples */
.alc-page .alc-article__body > p:first-of-type::first-letter { all: unset; }
.alc-page .alc-article__chapo, .alc-page .alc-article__chapo p { font-style: normal; }

/* --------------------------------------------------------------------------
   Archives : bandeau de rubrique
   -------------------------------------------------------------------------- */
.alc-archive-band { color: var(--alc-ivoire); padding-block: clamp(2rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3.5rem); margin-block-start: 0 !important; position: relative; }
.alc-archive-band .alc-wrap { display: grid; gap: 1rem; }
.alc-archive-band .alc-fil ol { color: rgba(241, 233, 220, .7); }
.alc-archive-band__title { margin: .25rem 0 0; font-family: var(--alc-display); font-style: italic; font-weight: 500; font-size: clamp(3.5rem, 13vw, 9rem); line-height: .9; letter-spacing: -0.02em; color: var(--alc-ivoire); }
.alc-archive-band__desc { margin: 0; font-family: var(--alc-serif); font-size: clamp(1.1875rem, 2vw, 1.4375rem); line-height: 1.4; max-width: 36em; color: rgba(241, 233, 220, .88); }
.alc-archive-band .search-form, .alc-archive-band .wp-block-search { max-width: 640px; }
.alc-subnav { margin-top: .75rem; overflow-x: auto; scrollbar-width: none; }
.alc-subnav::-webkit-scrollbar { display: none; }
.alc-subnav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .5rem; }
.alc-subnav a { display: block; white-space: nowrap; padding: .5rem 1rem; border: 1px solid rgba(241, 233, 220, .35); border-radius: 999px; color: var(--alc-ivoire); text-decoration: none; font-family: var(--alc-sans); font-size: .9375rem; }
.alc-subnav a:hover { border-color: var(--alc-or-clair); }
.alc-subnav a[aria-current] { background: var(--alc-ivoire); border-color: var(--alc-ivoire); color: var(--alc-encre); }

.alc-list { display: grid; gap: clamp(2rem, 4vw, 3rem) var(--alc-gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); padding-top: clamp(2rem, 4vw, 3rem); }
.alc-list .alc-card--lead { grid-column: 1 / -1; padding-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--alc-trait); }
@media (min-width: 900px) { .alc-list .alc-card--lead { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--alc-gap); align-items: center; } }

.alc-pagination { margin-top: 3rem; font-family: var(--alc-sans); }
.alc-pagination .page-numbers { display: inline-block; padding: .45rem .85rem; margin-right: .25rem; border: 1px solid var(--alc-trait); color: var(--alc-encre); text-decoration: none; }
.alc-pagination .page-numbers.current { background: var(--alc-encre); color: var(--alc-ivoire); border-color: var(--alc-encre); }

.alc-empty { background: var(--alc-ivoire); padding: clamp(1.5rem, 4vw, 2.75rem); }
.alc-empty h2 { font-family: var(--alc-display); font-size: clamp(1.625rem, 3.4vw, 2.25rem); margin: 0 0 .75rem; }
.alc-empty p { margin: 0; max-width: 38em; font-family: var(--alc-serif); font-size: 1.125rem; }
.alc-empty p + p { margin-top: 1.25rem; }
.alc-404 { padding-top: var(--wp--preset--spacing--50); }

/* --------------------------------------------------------------------------
   Annuaire
   -------------------------------------------------------------------------- */
.alc-annuaire { padding-top: clamp(1.5rem, 4vw, 3.5rem); }
.alc-annuaire > * + * { margin-top: 1rem; }
.alc-annuaire__title { font-family: var(--alc-display); font-style: italic; font-weight: 500; font-size: clamp(2.75rem, 8vw, 6rem); line-height: .95; letter-spacing: -0.02em; margin-top: .5rem !important; text-wrap: balance; max-width: 14ch; }
.alc-annuaire__intro { font-family: var(--alc-serif); font-size: clamp(1.1875rem, 2vw, 1.375rem); line-height: 1.45; color: var(--alc-gris); max-width: 36em; margin-bottom: 0; }
.alc-annuaire .alc-search { margin-top: 2rem; padding: clamp(1.25rem, 3vw, 2rem); background: var(--alc-ebene); }
.alc-annuaire .alc-search .alc-field span { color: var(--alc-or-clair); }
.alc-annuaire .alc-search select { background-color: var(--alc-ebene); color: var(--alc-ivoire); border-color: rgba(241, 233, 220, .4); }
.alc-annuaire .alc-search .alc-button { background: var(--alc-or-clair); color: var(--alc-ebene); }
.alc-annuaire__count { font-family: var(--alc-sans); font-weight: 600; margin-top: 2.5rem !important; padding-bottom: .5rem; border-bottom: 1px solid var(--alc-encre); }

.alc-search { display: grid; gap: .9rem; }
@media (min-width: 700px) { .alc-search { grid-template-columns: 1fr 1fr auto; align-items: end; } }
.alc-search .alc-field { display: grid; gap: .35rem; margin: 0; }
.alc-search .alc-field span { font-family: var(--alc-sans); font-size: .8125rem; font-weight: 600; }

.alc-pros { display: grid; gap: 0 var(--alc-gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.alc-pro { padding: 1.25rem 0 1.5rem; border-bottom: 1px solid var(--alc-trait); display: grid; gap: .45rem; align-content: start; }
.alc-pro__name { margin: 0; font-family: var(--alc-display); font-size: 1.75rem; line-height: 1.1; }
.alc-pro__name a { color: var(--alc-encre); text-decoration: none; }
.alc-pro__name a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.alc-pro__meta { margin: 0; color: var(--alc-gris); font-size: .9375rem; }
.alc-pro__check { margin: 0; font-size: .8125rem; color: var(--alc-foret); font-weight: 600; }
.alc-tags { list-style: none; margin: .25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.alc-tags li { font-size: .8125rem; padding: .2rem .65rem; border: 1px solid var(--alc-trait); border-radius: 999px; }

.alc-villes { margin-top: var(--wp--preset--spacing--50) !important; }
.alc-villes h2 { font-family: var(--alc-display); font-style: italic; font-weight: 500; font-size: clamp(2rem, 4vw, 3rem); padding-top: .9rem; border-top: 1px solid var(--alc-encre); margin-bottom: 1rem; }
.alc-villes ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 0 var(--alc-gap); }
.alc-villes li { display: flex; justify-content: space-between; align-items: baseline; padding: .75rem 0; border-bottom: 1px solid var(--alc-trait); }
.alc-villes a { font-family: var(--alc-display); font-size: 1.5rem; color: var(--alc-encre); text-decoration: none; }
.alc-villes a:hover { color: var(--alc-bordeaux); }
.alc-villes span { font-size: .8125rem; color: var(--alc-gris); }

.alc-fiche { border-top: 1px solid var(--alc-encre); border-bottom: 1px solid var(--alc-trait); padding: 1rem 0 1.25rem; margin-block-start: 2rem !important; font-family: var(--alc-sans); }
.alc-fiche dl { margin: 0; display: grid; gap: .6rem; }
.alc-fiche dl > div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; }
@media (max-width: 480px) { .alc-fiche dl > div { grid-template-columns: 1fr; gap: .1rem; } }
.alc-fiche dt { font-size: .875rem; color: var(--alc-gris); }
.alc-fiche dd { margin: 0; }
.alc-fiche .alc-button { margin-top: 1rem; }
.alc-fiche__check { font-size: .8125rem; color: var(--alc-gris); margin: 1rem 0 0; }

.alc-marques { list-style: none; padding: 0; margin: 2rem 0 0; border-top: 1px solid var(--alc-encre); }
.alc-marques li { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--alc-trait); }
.alc-marques a { font-family: var(--alc-display); font-size: 1.625rem; color: var(--alc-encre); text-decoration: none; }
.alc-marques span { color: var(--alc-gris); font-size: .875rem; }

/* --------------------------------------------------------------------------
   Formulaires
   -------------------------------------------------------------------------- */
.alc-button, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 50px; padding: .75rem 1.5rem; border: 0; border-radius: 0;
	background: var(--alc-encre); color: var(--alc-ivoire); font-family: var(--alc-sans); font-weight: 600; font-size: 1rem; line-height: 1.2; letter-spacing: .01em;
	text-decoration: none; cursor: pointer; transition: background-color .15s ease;
}
.alc-button:hover, .alc-button:focus-visible { background: var(--alc-bordeaux); color: var(--alc-ivoire); }

.alc-form, .alc-search, .alc-nl__form { font-family: var(--alc-sans); font-size: 1rem; }
.alc-form input[type=text], .alc-form input[type=email], .alc-form input[type=tel], .alc-form textarea, .alc-form select,
.alc-search select, .alc-nl input[type=email] {
	width: 100%; box-sizing: border-box; min-height: 50px; padding: .75rem .9rem;
	font: inherit; font-size: 1rem; color: var(--alc-encre); background: #FFFFFF;
	border: 1px solid var(--alc-encre); border-radius: 0; appearance: none; -webkit-appearance: none;
}
.alc-form select, .alc-search select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B98B3E' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .9rem center; padding-right: 2.4rem;
}
.alc-form textarea { min-height: 9rem; resize: vertical; }
.alc-form { display: grid; gap: 1.1rem; margin-block-start: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--alc-encre); }
.alc-form .alc-field { margin: 0; display: grid; gap: .4rem; }
.alc-form label, .alc-form legend { font-weight: 600; font-size: .9375rem; }
.alc-req { font-weight: 400; color: var(--alc-gris); font-size: .8125rem; margin-left: .25rem; }
.alc-choices { border: 0; padding: 0; margin: 0; }
.alc-choices legend { margin-bottom: .5rem; }
.alc-choices label { display: flex; gap: .6rem; align-items: center; font-weight: 400; padding: .3rem 0; }
.alc-choices--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 0 1rem; }
.alc-choices--grid legend { grid-column: 1 / -1; }
.alc-form input[type=checkbox], .alc-form input[type=radio], .alc-nl input[type=checkbox] { width: 1.15rem; height: 1.15rem; accent-color: var(--alc-bordeaux); flex: 0 0 auto; margin: 0; }
.alc-consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .875rem; color: var(--alc-gris); }
.alc-consent input { margin-top: .15rem !important; }
.alc-form-errors { border-left: 3px solid #A1301F; background: #FBEFEC; padding: .9rem 1.1rem; }
.alc-form-errors p { margin: 0 0 .35rem; font-weight: 650; }
.alc-form-errors ul { margin: 0; padding-left: 1.1em; }
.alc-form-done { background: var(--alc-ivoire); border-left: 3px solid var(--alc-or); padding: 1.25rem 1.5rem; margin-block-start: 2rem; font-size: 1.0625rem; }
.alc-form-done p { margin: 0; }
.alc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter */
.alc-nl { display: grid; gap: 1.5rem var(--alc-gap); }
@media (min-width: 900px) { .alc-nl--bandeau { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; } }
.alc-nl__title { font-family: var(--alc-display); font-style: italic; font-weight: 500; font-size: clamp(2.5rem, 5.5vw, 4.25rem); line-height: .95; margin: 0 0 1rem; letter-spacing: -0.015em; }
.alc-nl__text p { margin: 0; max-width: 32em; font-family: var(--alc-serif); font-size: 1.1875rem; line-height: 1.45; }
.alc-nl__form { display: grid; gap: .75rem; }
.alc-nl__row { display: flex; gap: .5rem; }
.alc-nl__row input { flex: 1 1 auto; min-width: 0; }
.alc-nl__row .alc-button { flex: 0 0 auto; }
.alc-nl__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .8125rem; color: var(--alc-gris); line-height: 1.45; }
.alc-nl__consent input { margin-top: .1rem !important; }
.alc-nl__status { background: var(--alc-ivoire); border-left: 3px solid var(--alc-or); padding: 1rem 1.25rem; margin: 0; }
.alc-nl__error { color: #F2B8AC; font-size: .875rem; margin: 0; }
@media (max-width: 420px) { .alc-nl__row { flex-direction: column; } }

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
.alc-footer { background: var(--alc-ebene); color: rgba(241, 233, 220, .75); padding-top: var(--wp--preset--spacing--50); padding-bottom: 1.5rem; font-family: var(--alc-sans); font-size: .9375rem; }
.alc-footer a { color: var(--alc-ivoire); text-decoration: none; }
.alc-footer a:hover { color: var(--alc-or-clair); }
.alc-footer__grid { display: grid; gap: 2.25rem var(--alc-gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
@media (min-width: 900px) { .alc-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.alc-logo--footer { font-size: clamp(2rem, 4vw, 3rem); white-space: normal; display: inline-block; line-height: .95; letter-spacing: .02em; }
.alc-footer__brand p { margin: 1rem 0 0; max-width: 26em; font-family: var(--alc-serif); font-size: 1.0625rem; }
.alc-footer__col h2 { font-family: var(--alc-display); font-style: italic; font-size: 1.25rem; font-weight: 500; color: var(--alc-or-clair); margin: 0 0 .75rem; }
.alc-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.alc-footer__legal { margin-top: var(--wp--preset--spacing--40); padding-top: 1.25rem; border-top: 1px solid rgba(185, 139, 62, .35); font-size: .8125rem; }
.alc-footer__legal p { margin: 0; }
.alc-footer__legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.25rem; }
.alc-footer__legal a { color: rgba(241, 233, 220, .75); }

/* Les titres posés sur fond sombre ou coloré prennent la couleur du bandeau. */
.alc-band-color :is(h1, h2, h3, h4), .alc-band--annuaire :is(h1, h2, h3), .alc-band--nl :is(h1, h2, h3),
.alc-une :is(h1, h2), .alc-archive-band :is(h1, h2), .alc-footer :is(h1, h2, h3), .alc-masthead h1 { color: inherit; }
.alc-band--nl .alc-nl__title, .alc-band--annuaire .alc-band__title { color: var(--alc-ivoire); }
@media (max-width: 759px) { .alc-une__hero:not(.has-media) .alc-wrap { padding-inline: 2rem; } }

/* Une rubrique qui n'a qu'un contenu : carte horizontale, pas une image géante. */
.alc-grid--1 { grid-template-columns: minmax(0, 1fr); }
.alc-grid--1 .alc-card__media img, .alc-grid--1 .alc-cover { aspect-ratio: 16 / 10; }
@media (min-width: 760px) {
	.alc-grid--1 .alc-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--alc-gap); align-items: center; }
	.alc-grid--1 .alc-card__title { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.04; }
	.alc-grid--1 .alc-card__excerpt { font-size: 1.1875rem; }
}

/* ==========================================================================
   Version 3 — d'après la maquette validée : noir profond, or, photographie.
   ========================================================================== */
:root {
	--alc-display: Newsreader, 'Iowan Old Style', Georgia, serif;
	--alc-noir: #0F0C0A;
	--alc-noir-2: #17120F;
	--alc-or: #C9A35C;
	--alc-or-clair: #D9B877;
	--alc-blanc: #FFFFFF;
	--alc-papier: #FAF8F5;
}
body { background: var(--alc-blanc); }
.alc-gold { color: var(--alc-or-clair); }
.alc-arrow { display: inline-block; vertical-align: middle; margin-left: .5em; flex: 0 0 auto; }
.alc-icon { flex: 0 0 auto; }

/* Boutons et badges */
.alc-btn { display: inline-flex; align-items: center; gap: .1rem; font-family: var(--alc-sans); font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; padding: .95rem 1.4rem; border-radius: 3px; line-height: 1; transition: background-color .15s, color .15s; }
.alc-btn--gold { background: var(--alc-or-clair); color: var(--alc-noir); }
.alc-btn--gold:hover { background: var(--alc-blanc); color: var(--alc-noir); }
.alc-btn--outline { border: 1px solid var(--alc-or-clair); color: var(--alc-or-clair); background: transparent; }
.alc-btn--outline:hover { background: var(--alc-or-clair); color: var(--alc-noir); }
.alc-btn--small { padding: .75rem 1.1rem; }
.alc-btn--xs { padding: .55rem .85rem; font-size: .75rem; letter-spacing: .04em; text-transform: none; }
.alc-badge { display: inline-block; font-family: var(--alc-sans); font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .35rem .6rem; border-radius: 2px; background: var(--alc-or-clair); color: var(--alc-noir); line-height: 1; }
.alc-badge--solid { width: fit-content; }

/* Barre du haut et en-tête */
.alc-hd { background: var(--alc-noir); color: var(--alc-blanc); }
.alc-topbar { border-bottom: 1px solid rgba(255, 255, 255, .08); font-family: var(--alc-sans); font-size: .8125rem; }
.alc-topbar__in { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 44px; }
.alc-topbar__tag { margin: 0; color: rgba(255, 255, 255, .7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.alc-topbar__right { display: flex; align-items: center; gap: 1rem; }
.alc-topbar__soc { display: flex; gap: .75rem; }
.alc-topbar__soc a, .alc-topbar__icon { color: var(--alc-blanc); display: inline-flex; }
.alc-topbar__soc a:hover, .alc-topbar__icon:hover { color: var(--alc-or-clair); }
.alc-topbar__icon .alc-icon { width: 18px; height: 18px; }
.alc-topbar__link { color: var(--alc-blanc); text-decoration: none; padding-left: 1rem; border-left: 1px solid rgba(255, 255, 255, .15); }
.alc-topbar__link:hover { color: var(--alc-or-clair); }
@media (max-width: 640px) { .alc-topbar__tag, .alc-topbar__link { display: none; } .alc-topbar__in { justify-content: flex-end; } }

.alc-hd__bar { min-height: 84px; gap: 1.5rem; }
.alc-brand { display: inline-flex; flex-direction: column; text-decoration: none; font-family: var(--alc-display); font-weight: 500; text-transform: uppercase; line-height: .92; letter-spacing: -0.01em; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.alc-brand__a { color: var(--alc-blanc); }
.alc-brand__b { color: var(--alc-or-clair); }
.alc-nav2 { color: var(--alc-blanc); }
.alc-nav2 .wp-block-navigation__container { gap: clamp(1rem, 1.7vw, 1.75rem); }
.alc-nav2 .wp-block-navigation-item__content { font-family: var(--alc-sans); font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--alc-blanc); text-decoration: none; padding: .35rem 0; }
.alc-nav2 .wp-block-navigation-item__content:hover { color: var(--alc-or-clair); }
.alc-nav2 .wp-block-navigation__responsive-container-open { color: var(--alc-blanc); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--alc-noir) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--alc-display) !important; font-style: normal !important; text-transform: none; letter-spacing: 0; font-size: 2rem !important; }

/* Couverture */
.alc-home2 { padding-bottom: 0; }
.alc-home2 > * + * { margin-block-start: 0; }
.alc-hero { position: relative; background: var(--alc-noir); color: var(--alc-blanc); overflow: hidden; }
.alc-hero__bg { position: absolute; inset: 0; }
.alc-hero__bg img, .alc-hero__bg .alc-noimg { width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; display: block; }
.alc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 12, 10, .92) 0%, rgba(15, 12, 10, .7) 38%, rgba(15, 12, 10, .1) 62%, rgba(15, 12, 10, .55) 100%); pointer-events: none; }
.alc-hero__grid { position: relative; z-index: 1; display: grid; gap: 2rem; padding-block: clamp(2.5rem, 7vw, 5.5rem); min-height: min(78vh, 620px); align-content: center; }
@media (min-width: 960px) { .alc-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; gap: 4rem; } }
.alc-hero__main { display: grid; gap: 1.25rem; justify-items: start; max-width: 40rem; }
.alc-hero__title { margin: 0; font-family: var(--alc-display); font-weight: 500; font-size: clamp(2.5rem, 5.6vw, 4.5rem); line-height: 1.02; letter-spacing: -0.02em; color: var(--alc-blanc); text-wrap: balance; }
.alc-hero__title a { color: inherit; text-decoration: none; }
.alc-hero__chapo { margin: 0; font-family: var(--alc-sans); font-size: 1.0625rem; line-height: 1.55; color: rgba(255, 255, 255, .85); max-width: 34rem; }
.alc-hero__list { list-style: none; margin: 0; padding: 0; display: grid; align-self: center; }
.alc-hero__list li { display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; align-items: baseline; padding: 1.1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.alc-hero__list li:last-child { border-bottom: 0; }
.alc-hero__list li:first-child { border-bottom-color: var(--alc-or-clair); }
.alc-hero__num { font-family: var(--alc-display); font-size: 1.75rem; color: var(--alc-or-clair); line-height: 1; }
.alc-hero__list a { color: var(--alc-blanc); text-decoration: none; font-family: var(--alc-display); font-size: 1.125rem; line-height: 1.3; }
.alc-hero__list a:hover { color: var(--alc-or-clair); }
@media (max-width: 959px) {
	.alc-hero__bg { position: relative; inset: auto; height: 62vw; max-height: 520px; }
	.alc-hero::after { background: linear-gradient(180deg, rgba(15, 12, 10, 0) 0%, rgba(15, 12, 10, 0) 25%, rgba(15, 12, 10, 1) min(62vw, 520px)); }
	.alc-hero__grid { margin-top: -5rem; min-height: 0; padding-top: 0; }
}

/* Tuiles des rubriques */
.alc-tiles { padding-block: 1.25rem; }
.alc-tiles__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 46%); gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.alc-tiles__track::-webkit-scrollbar { display: none; }
@media (min-width: 760px) { .alc-tiles__track { grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; overflow: visible; } }
.alc-tile { position: relative; display: block; aspect-ratio: 4 / 4.3; overflow: hidden; border-radius: 3px; color: var(--alc-blanc); text-decoration: none; scroll-snap-align: start; background: var(--alc-noir-2); }
.alc-tile img, .alc-tile .alc-noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; display: block; }
.alc-tile:hover img { transform: scale(1.05); }
.alc-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .82) 100%); }
.alc-tile__text { position: absolute; left: .85rem; right: 3rem; bottom: .85rem; z-index: 1; display: grid; gap: .25rem; }
.alc-tile__name { font-family: var(--alc-display); font-size: 1.125rem; text-transform: uppercase; letter-spacing: .01em; }
.alc-tile__desc { font-family: var(--alc-sans); font-size: .75rem; line-height: 1.3; color: rgba(255, 255, 255, .85); }
.alc-tile__go { position: absolute; right: .75rem; bottom: .9rem; z-index: 1; width: 26px; height: 26px; border-radius: 50%; background: var(--alc-or-clair); color: var(--alc-noir); display: grid; place-items: center; }
.alc-tile__go .alc-arrow { margin: 0; width: 12px; }

/* En-têtes de section */
.alc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.25rem; }
.alc-head__title { margin: 0; font-family: var(--alc-display); font-weight: 500; font-size: clamp(1.75rem, 3.2vw, 2.375rem); letter-spacing: -0.015em; color: var(--alc-encre); }
.alc-head__more { font-family: var(--alc-sans); font-size: .8125rem; color: var(--alc-encre); text-decoration: none; white-space: nowrap; }
.alc-head__more:hover { color: var(--alc-or); }
.alc-head--dark .alc-head__title, .alc-head--dark .alc-head__more { color: var(--alc-encre); }

/* Derniers articles */
.alc-latest2 { padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2.5rem, 6vw, 4rem); }
.alc-cards { display: grid; gap: 1.75rem 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.alc-c { display: grid; gap: .6rem; align-content: start; min-width: 0; }
.alc-c__media { position: relative; display: block; aspect-ratio: 16 / 9.5; overflow: hidden; border-radius: 3px; background: var(--alc-noir-2); }
.alc-c__media img, .alc-c__media .alc-noimg { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.alc-c:hover .alc-c__media img { transform: scale(1.04); }
.alc-c__media .alc-badge { position: absolute; left: .7rem; bottom: .7rem; }
.alc-c__title { margin: .35rem 0 0; font-family: var(--alc-display); font-weight: 500; font-size: 1.25rem; line-height: 1.2; text-wrap: balance; }
.alc-c__title a { color: var(--alc-encre); text-decoration: none; }
.alc-c__title a:hover { color: var(--alc-or); }
.alc-c__excerpt { margin: 0; font-family: var(--alc-sans); font-size: .875rem; line-height: 1.5; color: var(--alc-gris); }
.alc-c__meta { margin: .2rem 0 0; display: flex; gap: .75rem; font-family: var(--alc-sans); font-size: .75rem; color: var(--alc-gris); }
.alc-c__meta span + span { padding-left: .75rem; border-left: 1px solid var(--alc-trait); }

/* Dossier spécial + vidéos */
.alc-split { background: var(--alc-papier); }
.alc-split__grid { display: grid; max-width: none; }
@media (min-width: 960px) { .alc-split__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.alc-dossier { position: relative; color: var(--alc-blanc); background: var(--alc-noir); min-height: 420px; display: flex; align-items: center; overflow: hidden; }
.alc-dossier__bg { position: absolute; inset: 0; }
.alc-dossier__bg img, .alc-dossier__bg .alc-noimg { width: 100%; height: 100%; object-fit: cover; object-position: 75% 30%; display: block; }
.alc-dossier::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 12, 10, .95) 0%, rgba(15, 12, 10, .75) 45%, rgba(15, 12, 10, .15) 100%); }
.alc-dossier__text { position: relative; z-index: 1; display: grid; gap: 1rem; justify-items: start; padding: clamp(2rem, 5vw, 3.5rem) var(--alc-gutter); max-width: 34rem; }
@media (min-width: 1360px) { .alc-dossier__text { margin-left: calc((100vw - 1280px) / 2); } }
.alc-dossier__kicker { margin: 0; font-family: var(--alc-display); font-style: italic; font-size: 1.5rem; color: var(--alc-or-clair); }
.alc-dossier__title { margin: 0; font-family: var(--alc-display); font-weight: 500; font-size: clamp(2.125rem, 4.4vw, 3.25rem); line-height: 1.04; letter-spacing: -0.015em; color: var(--alc-blanc); }
.alc-dossier__title a { color: inherit; text-decoration: none; }
.alc-dossier__chapo { margin: 0; font-family: var(--alc-sans); font-size: 1rem; line-height: 1.55; color: rgba(255, 255, 255, .82); }
.alc-media { padding: clamp(2rem, 4vw, 2.5rem) var(--alc-gutter); }
@media (min-width: 1360px) { .alc-media { padding-right: calc((100vw - 1280px) / 2 + var(--alc-gutter)); } }
.alc-media__grid { display: grid; gap: 1.25rem; }
@media (min-width: 600px) { .alc-media__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.alc-media__main { display: grid; gap: .6rem; color: var(--alc-encre); text-decoration: none; align-content: start; }
.alc-media__img { position: relative; display: block; aspect-ratio: 16 / 11; overflow: hidden; border-radius: 3px; background: var(--alc-noir-2); }
.alc-media__img img, .alc-media__img .alc-noimg { width: 100%; height: 100%; object-fit: cover; display: block; }
.alc-media__img .alc-badge { position: absolute; left: .7rem; bottom: .7rem; }
.alc-play { position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: rgba(15, 12, 10, .65); border: 1px solid rgba(255, 255, 255, .7); }
.alc-play::after { content: ""; position: absolute; left: 21px; top: 17px; border-left: 15px solid #fff; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
.alc-media__title { font-family: var(--alc-display); font-size: 1.1875rem; line-height: 1.25; }
.alc-media__main:hover .alc-media__title { color: var(--alc-or); }
.alc-media__time { display: block; font-family: var(--alc-sans); font-size: .75rem; color: var(--alc-gris); margin-top: .2rem; }
.alc-media__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; align-content: start; }
.alc-media__list a { display: grid; grid-template-columns: 84px 1fr; gap: .75rem; align-items: center; color: var(--alc-encre); text-decoration: none; }
.alc-media__thumb { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 3px; background: var(--alc-noir-2); }
.alc-media__thumb img, .alc-media__thumb .alc-noimg { width: 100%; height: 100%; object-fit: cover; display: block; }
.alc-media__small { display: block; font-family: var(--alc-display); font-size: .9375rem; line-height: 1.25; }
.alc-media__list a:hover .alc-media__small { color: var(--alc-or); }

/* Annuaire + communauté */
.alc-bottom { background: var(--alc-noir-2); color: var(--alc-blanc); }
.alc-bottom__grid { display: grid; }
@media (min-width: 960px) { .alc-bottom__grid { grid-template-columns: 1fr 1fr; } .alc-bottom__col + .alc-bottom__col { background: var(--alc-noir); } }
.alc-bottom__col { padding: clamp(2rem, 5vw, 3rem) var(--alc-gutter); display: grid; gap: 1rem; align-content: start; }
@media (min-width: 1360px) { .alc-bottom__col:first-child { padding-left: calc((100vw - 1280px) / 2 + var(--alc-gutter)); } .alc-bottom__col:last-child { padding-right: calc((100vw - 1280px) / 2 + var(--alc-gutter)); } }
.alc-bottom__col + .alc-bottom__col { border-top: 1px solid rgba(255, 255, 255, .08); }
.alc-bottom__head { display: flex; align-items: center; gap: .75rem; color: var(--alc-or-clair); }
.alc-bottom__head h2 { margin: 0; font-family: var(--alc-display); font-weight: 500; font-size: 1.625rem; color: var(--alc-blanc); }
.alc-bottom__col > p { margin: 0; font-family: var(--alc-sans); font-size: .9375rem; line-height: 1.55; color: rgba(255, 255, 255, .78); max-width: 34rem; }
.alc-bottom .alc-btn { width: fit-content; }
.alc-inline { display: flex; max-width: 28rem; }
.alc-inline input { flex: 1; min-width: 0; min-height: 46px; padding: .7rem .9rem; border: 0; border-radius: 3px 0 0 3px; font: inherit; font-family: var(--alc-sans); font-size: 1rem; background: var(--alc-blanc); color: var(--alc-encre); }
.alc-inline button { width: 52px; border: 0; border-radius: 0 3px 3px 0; background: var(--alc-or-clair); color: var(--alc-noir); cursor: pointer; display: grid; place-items: center; }
.alc-nl--inline { display: block; }
.alc-nl--inline .alc-nl__form { max-width: 34rem; }
.alc-nl--inline .alc-nl__row { gap: 0; }
.alc-nl--inline input[type=email] { border: 0; border-radius: 3px 0 0 3px; min-height: 46px; }
.alc-nl--inline .alc-button { background: var(--alc-or-clair); color: var(--alc-noir); border-radius: 0 3px 3px 0; min-height: 46px; text-transform: uppercase; letter-spacing: .06em; font-size: .8125rem; }
.alc-nl--inline .alc-nl__consent { color: rgba(255, 255, 255, .65); }
.alc-nl--inline .alc-nl__status { background: rgba(255, 255, 255, .06); color: var(--alc-blanc); }
@media (max-width: 420px) { .alc-nl--inline .alc-nl__row { flex-direction: row; } }

.alc-noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--alc-c, #2A211B), #0F0C0A); }

/* Pied de page, aligné sur la maquette */
.alc-footer { background: var(--alc-noir); }
.alc-logo--footer { font-family: var(--alc-display); font-weight: 500; letter-spacing: -0.01em; }

/* Pages intérieures : titres droits, fond blanc, or en accent */
.alc-section-title, .alc-band__title, .alc-nl__title, .alc-archive-band__title, .alc-annuaire__title, .alc-villes h2, .alc-toc__title, .alc-essentiel .alc-essentiel__label { font-style: normal; }
.alc-archive-band { background: var(--alc-noir); }
.alc-archive-band__title { font-weight: 500; }
.alc-article__body > p:first-of-type::first-letter { color: var(--alc-or); font-weight: 500; }
.alc-kicker a { color: var(--alc-or); }
.alc-band--nl { background: var(--alc-noir-2); }
.alc-band--nl .alc-button { background: var(--alc-or-clair); }
.alc-hero__bg img { object-position: 62% 32%; }
@media (max-width: 959px) { .alc-hero__bg img { object-position: 60% 28%; } }
.alc-tile img { object-position: 50% 25%; }
.alc-c__media img { object-position: 50% 25%; }

/* Couverture sur grand écran : le texte à gauche, la photo dégagée à droite, la liste en dessous. */
@media (min-width: 960px) {
	.alc-hero__bg { left: 40%; }
	.alc-hero__bg img { object-position: 50% 30%; }
	.alc-hero::after { background: linear-gradient(90deg, var(--alc-noir) 0%, var(--alc-noir) 40%, rgba(15, 12, 10, .55) 46%, rgba(15, 12, 10, 0) 58%, rgba(15, 12, 10, 0) 100%), linear-gradient(0deg, rgba(15, 12, 10, .96) 0%, rgba(15, 12, 10, 0) 34%); }
	.alc-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 640px; align-content: space-between; gap: 3rem; }
	.alc-hero__main { max-width: 34rem; }
	.alc-hero__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 2rem; align-self: end; }
	.alc-hero__list li { border-bottom: 0; border-top: 1px solid rgba(255, 255, 255, .25); padding: 1rem 0 0; grid-template-columns: 2.5rem 1fr; }
	.alc-hero__list li:first-child { border-top-color: var(--alc-or-clair); }
	.alc-hero__list a { font-size: 1rem; }
}
