/*
Theme Name:   Découvrir (GeneratePress)
Theme URI:    https://www.decouvrir-cesson-sevigne.fr/
Description:  Thème enfant GeneratePress des sites Découvrir : design system (couleurs globales et typographies GP), trois accueils en compositions de blocs, annuaire Sirene, fiches entreprises, articles, pages, recherche et 404.
Author:       Neuron Partners
Author URI:   https://neuron-partners.fr/
Template:     generatepress
Version:      0.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain:  decouvrir
License:      GPL-2.0-or-later
*/

/* ==========================================================================
   1. Polices locales (aucun appel à Google Fonts)
   ========================================================================== */

@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url(assets/fonts/atkinson-next-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url(assets/fonts/atkinson-next-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Gabarito";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url(assets/fonts/gabarito-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Gabarito";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url(assets/fonts/gabarito-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   2. Jetons
   Les couleurs sont les « couleurs globales » de GeneratePress (Personnaliser
   > Couleurs) : GP les déclare sur :root. Les valeurs ci-dessous ne servent
   que de repli, avec une spécificité nulle pour ne jamais écraser GP.
   ========================================================================== */

:where(:root) {
	--contrast: #12203A;
	--contrast-2: #2B3A5C;
	--contrast-3: #4A5878;
	--base: #E3E9F4;
	--base-2: #F2F6FC;
	--base-3: #FFFFFF;
	--accent: #1446D8;
	--accent-2: #0E37B0;
	--soleil: #FFC93C;
	--corail: #FF5B4A;
	--menthe: #2FBF71;
	--violet: #5A3FD0;
	--metro: #00893E;
	--ciel: #EAF3FF;
	--menthe-clair: #E4F6EC;
	--lilas: #EFEAFF;
	--corail-clair: #FFE9E6;
	--nuit: #2A1F7A;
	--marine: #0E2A6E;
	--hero-journee: #D6E8FF;
	--hero-rubriques: #FF6B5B;
	--hero-recherche: #BFEBD3;
}

:root {
	--dc-titres: "Gabarito", "Atkinson Hyperlegible Next", system-ui, sans-serif;
	--dc-texte: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;
	--dc-largeur: 1280px;
	--dc-gouttiere: clamp(16px, 4vw, 24px);
	--dc-section: clamp(48px, 7vw, 72px);
	--dc-rayon-s: 10px;
	--dc-rayon: 16px;
	--dc-rayon-l: 20px;
	--dc-rayon-xl: 28px;
	--dc-pilule: 999px;
	--dc-ombre-1: 0 6px 18px rgba(18, 32, 58, 0.08);
	--dc-ombre-2: 0 14px 34px rgba(18, 32, 58, 0.18);
	--dc-trait: 1px solid var(--base);
	--dc-sur-fonce: #DCE6FF;
	--dc-sur-nuit: #D8D1FF;
}

/* Classes de palette des couleurs ajoutées par le thème (repli si le kit n'a pas encore été appliqué) */
:where(.has-soleil-background-color) { background-color: var(--soleil); }
:where(.has-corail-background-color) { background-color: var(--corail); }
:where(.has-menthe-background-color) { background-color: var(--menthe); }
:where(.has-violet-background-color) { background-color: var(--violet); }
:where(.has-metro-background-color) { background-color: var(--metro); }
:where(.has-ciel-background-color) { background-color: var(--ciel); }
:where(.has-menthe-clair-background-color) { background-color: var(--menthe-clair); }
:where(.has-lilas-background-color) { background-color: var(--lilas); }
:where(.has-corail-clair-background-color) { background-color: var(--corail-clair); }
:where(.has-nuit-background-color) { background-color: var(--nuit); }
:where(.has-marine-background-color) { background-color: var(--marine); }
:where(.has-accent-2-background-color) { background-color: var(--accent-2); }
:where(.has-hero-journee-background-color) { background-color: var(--hero-journee); }
:where(.has-hero-rubriques-background-color) { background-color: var(--hero-rubriques); }
:where(.has-hero-recherche-background-color) { background-color: var(--hero-recherche); }

/* ==========================================================================
   3. Base
   ========================================================================== */

body {
	font-family: var(--dc-texte);
	color: var(--contrast);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.main-title,
.dc-titre {
	font-family: var(--dc-titres);
	text-wrap: balance;
}

h1, h2 { font-weight: 800; letter-spacing: -0.01em; }
h3, h4, h5, h6 { font-weight: 700; }

p, li { text-wrap: pretty; }

a { text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }

:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection { background: var(--soleil); color: var(--contrast); }

.dc-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap;
}

.dc-nowrap { white-space: nowrap; }
.dc-chiffres { font-variant-numeric: tabular-nums; }

/* ==========================================================================
   4. En-tête et navigation (structure GP : en-tête puis menu en dessous)
   ========================================================================== */

.site-header { border-bottom: var(--dc-trait); }

.site-header .inside-header {
	padding-top: 14px;
	padding-bottom: 10px;
	gap: 12px;
}

.dc-marque {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-marque:hover,
.dc-marque:focus { color: var(--contrast); }

.dc-marque__logo { flex: 0 0 auto; display: block; }

.dc-marque__texte {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}
.dc-marque__surtitre {
	font-family: var(--dc-texte);
	font-weight: 600;
	font-size: 14px;
	color: var(--contrast-3);
}
.dc-marque__ville {
	font-family: var(--dc-titres);
	font-weight: 800;
	font-size: 23px;
}

.main-title { margin: 0; }

.dc-espace-pro {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	border: 2px solid var(--accent);
	color: var(--accent);
	border-radius: var(--dc-pilule);
	padding: 8px 18px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: background-color 0.15s ease-out, color 0.15s ease-out;
}
.dc-espace-pro:hover,
.dc-espace-pro:focus {
	background: var(--accent);
	color: var(--base-3);
}

.main-navigation {
	border-bottom: var(--dc-trait);
}
.main-navigation .main-nav > ul > li > a {
	border-radius: var(--dc-rayon-s);
	line-height: 44px;
	padding-left: 12px;
	padding-right: 12px;
}
.main-navigation .main-nav > ul > li[class*="current-menu-"] > a {
	box-shadow: inset 0 -3px 0 var(--accent);
	border-radius: 0;
}
.main-navigation .main-nav ul ul {
	border-radius: var(--dc-rayon);
	box-shadow: var(--dc-ombre-2);
	overflow: hidden;
}

/* ==========================================================================
   5. Boutons et formulaires
   ========================================================================== */

button,
.button,
input[type="submit"],
.wp-block-button__link {
	font-family: var(--dc-titres);
	font-weight: 700;
	border-radius: var(--dc-pilule);
	transition: background-color 0.15s ease-out, color 0.15s ease-out, box-shadow 0.15s ease-out;
}

.wp-block-button__link {
	padding: 13px 24px;
	background-color: var(--accent);
	color: var(--base-3);
	text-decoration: none;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus { background-color: var(--accent-2); color: var(--base-3); }

.wp-block-button.is-style-soleil .wp-block-button__link { background: var(--soleil); color: var(--contrast); }
.wp-block-button.is-style-soleil .wp-block-button__link:hover { box-shadow: inset 0 0 0 2px var(--contrast); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--accent);
	border: 2px solid currentColor;
}
.wp-block-button.is-style-lien .wp-block-button__link {
	background: transparent;
	color: var(--accent);
	padding-left: 6px;
	padding-right: 6px;
	text-decoration: underline;
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
	border-radius: 14px;
	border: 2px solid var(--base);
	background: var(--base-3);
	color: var(--contrast);
	font-family: var(--dc-texte);
}
input:focus, select:focus, textarea:focus { border-color: var(--accent); }

/* ==========================================================================
   6. Sections pleine largeur des compositions de blocs
   ========================================================================== */

/* Pages en « contenu pleine largeur » (réglage GP de la page) : aucune marge parasite */
.dc-composition .site-content,
.dc-composition .inside-article,
.dc-composition .entry-content { padding: 0; margin: 0; }
.dc-composition .entry-content > * { margin-top: 0; margin-bottom: 0; }
.dc-composition .site.grid-container { max-width: none; }

.dc-bandeau {
	padding: var(--dc-section) var(--dc-gouttiere);
	margin: 0;
}
.dc-bandeau--serre { padding-top: calc(var(--dc-section) * 0.6); padding-bottom: calc(var(--dc-section) * 0.6); }
.dc-bandeau--sans-haut { padding-top: 0; }

.dc-cadre {
	max-width: var(--dc-largeur);
	margin-left: auto;
	margin-right: auto;
}
.dc-cadre--etroit { max-width: 980px; }

.dc-bandeau .wp-block-heading,
.dc-entete .wp-block-heading { margin-bottom: 0; }

.dc-titre-section {
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.1;
	margin: 0;
}

.dc-ligne-titre {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin-bottom: 22px;
}
.dc-ligne-titre > * { margin: 0; }
.dc-ligne-titre p { color: var(--contrast-2); font-weight: 600; }
.has-nuit-background-color .dc-ligne-titre p { color: var(--dc-sur-nuit); }

.dc-centre { text-align: center; }
.dc-chapeau {
	max-width: 680px;
	margin: 10px auto 30px;
	color: var(--contrast-2);
}

.has-nuit-background-color,
.has-accent-background-color,
.has-marine-background-color { color: var(--base-3); }
.has-nuit-background-color :is(h1, h2, h3, h4),
.has-accent-background-color :is(h1, h2, h3, h4),
.has-marine-background-color :is(h1, h2, h3, h4) { color: inherit; }
.has-accent-background-color .dc-ligne-titre p { color: var(--dc-sur-fonce); }
.has-nuit-background-color a:not(.wp-block-button__link),
.has-accent-background-color a:not(.wp-block-button__link):not(.dc-tuile),
.has-marine-background-color a { color: var(--base-3); }

/* Deux colonnes souples (texte et illustration) */
.dc-duo {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
}
.dc-duo > * { flex: 1.3 1 460px; min-width: 0; margin: 0; }
.dc-duo > .dc-illustration { flex: 1 1 340px; max-width: 520px; }
.dc-duo--inverse { flex-wrap: wrap-reverse; }

.dc-illustration img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 24px;
}

/* ==========================================================================
   7. Bandeaux d'accueil et skyline
   ========================================================================== */

.dc-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 6vw, 64px) var(--dc-gouttiere) 0;
	text-align: center;
}
.dc-hero > .dc-cadre { position: relative; z-index: 1; max-width: 1000px; }

.dc-hero__titre {
	font-size: clamp(38px, 5.4vw, 70px);
	line-height: 1.04;
	margin: 0;
}
.dc-hero__chapeau {
	margin: 14px auto 0;
	max-width: 640px;
	font-size: clamp(18px, 1.6vw, 20px);
	color: var(--contrast-2);
}
.has-hero-rubriques-background-color .dc-hero__chapeau { color: var(--contrast); }
.has-hero-recherche-background-color .dc-hero__chapeau { color: #1E3A2C; }

/* Soleil du matin de la variante « Une journée » */
.dc-hero--journee::before {
	content: "";
	position: absolute;
	right: 5%;
	top: 30px;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: var(--soleil);
}

.dc-skyline {
	width: calc(100% + 2 * var(--dc-gouttiere));
	max-width: none;
	margin: 22px calc(var(--dc-gouttiere) * -1) 0;
}
.dc-skyline img,
img.dc-skyline {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	border-radius: 0 !important;
}
.dc-hero .dc-skyline { margin-top: 24px; }

/* Raccourcis sous la recherche */
.dc-puces {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.dc-puces li { margin: 0; }
.dc-puces a {
	display: inline-block;
	background: var(--base-3);
	border-radius: var(--dc-pilule);
	padding: 9px 16px;
	font-weight: 700;
	font-size: 15px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-puces a:hover, .dc-puces a:focus { box-shadow: inset 0 0 0 2px var(--accent); }
.dc-puces--contour { justify-content: flex-start; }
.dc-puces--contour a { border: 2px solid #CFE0D6; }

/* ==========================================================================
   8. Recherche
   ========================================================================== */

.dc-recherche {
	margin: 28px auto 0;
	max-width: 880px;
	background: var(--base-3);
	border-radius: 20px;
	box-shadow: var(--dc-ombre-2);
	padding: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	text-align: left;
}
.dc-recherche__champ {
	flex: 2 1 260px;
	display: flex;
	flex-direction: column;
	padding: 8px 16px;
	margin: 0;
	font-weight: 700;
	font-size: 13px;
	color: var(--contrast-3);
}
.dc-recherche__champ + .dc-recherche__champ { flex: 1 1 180px; border-left: var(--dc-trait); }
.dc-recherche__champ input,
.dc-recherche__champ select {
	border: 0;
	border-radius: 6px;
	padding: 4px 0;
	font-size: 18px;
	font-weight: 400;
	color: var(--contrast);
	background: transparent;
	width: 100%;
}
.dc-recherche__champ input:focus,
.dc-recherche__champ select:focus { outline: 2px solid var(--accent); outline-offset: 4px; }
.dc-recherche__bouton {
	flex: 0 0 auto;
	border: 0;
	border-radius: 14px !important;
	background: var(--accent);
	color: var(--base-3);
	font-size: 18px;
	padding: 0 30px;
	min-height: 60px;
	cursor: pointer;
}
.dc-recherche__bouton:hover,
.dc-recherche__bouton:focus { background: var(--accent-2); color: var(--base-3); }

.dc-recherche--compacte {
	box-shadow: none;
	border: 2px solid var(--base);
	margin: 0;
	max-width: none;
}

/* ==========================================================================
   9. Composants des accueils
   ========================================================================== */

/* Rail des moments de la journée */
.dc-rail {
	background: var(--base-3);
	border-bottom: var(--dc-trait);
	padding: 12px var(--dc-gouttiere);
}
.dc-rail__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dc-rail__liste li { margin: 0; }
.dc-rail__liste a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: var(--dc-pilule);
	padding: 10px 18px;
	background: var(--ciel);
	color: var(--contrast);
	font-weight: 700;
	text-decoration: none;
}
.dc-rail__liste li:nth-child(3) a { background: var(--lilas); }
.dc-rail__liste li:nth-child(4) a { background: #E8E4FF; }
.dc-rail__liste li a[aria-current="true"] { background: var(--accent); color: var(--base-3); }
.dc-rail__liste a[aria-current="true"]::before {
	content: "";
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--soleil);
}
.dc-rail__date { margin-left: auto !important; color: var(--contrast-3); font-size: 15px; }

/* Listes d'adresses (nom à gauche, lieu à droite) */
.dc-adresses {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dc-adresses li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	margin: 0;
	border-bottom: 1px solid #C9DCF5;
}
.dc-adresses a { font-weight: 700; text-decoration: none; color: var(--contrast); }
.dc-adresses a:hover { color: var(--accent); text-decoration: underline; }
.dc-adresses span { color: var(--contrast-2); text-align: right; }
.dc-adresses__note { color: var(--contrast-2); border-bottom: 0 !important; }

.dc-colonnes {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	align-items: flex-start;
}
.dc-colonnes > * { flex: 1 1 300px; min-width: 0; margin: 0; }
.dc-colonnes h3 { font-size: 22px; margin: 0 0 8px; }

/* Panneau métro (ligne b du STAR, vert officiel) */
.dc-metro {
	background: var(--base-3);
	border-radius: var(--dc-rayon-l);
	overflow: hidden;
	box-shadow: var(--dc-ombre-1);
}
.dc-metro--contour { box-shadow: none; border: 2px solid var(--base); }
.dc-metro > * { margin: 0 !important; }
.dc-metro__titre {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: var(--metro);
	color: #FFFFFF;
	font-weight: 700;
}
.dc-metro__titre::before {
	content: "b";
	width: 30px; height: 30px;
	flex: 0 0 30px;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--metro);
	font-family: var(--dc-titres);
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dc-metro__ligne {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: var(--dc-trait);
}
.dc-metro__ligne:last-child { border-bottom: 0; }

/* Article à la une et liste d'articles */
.dc-une {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
}
.dc-une__principal {
	flex: 1.5 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	border-radius: var(--dc-rayon-l);
	overflow: hidden;
	background: var(--base-3);
	border: var(--dc-trait);
	color: var(--contrast);
	text-decoration: none;
}
.dc-une__principal img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
}
.dc-une__corps { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.dc-une__titre { font-family: var(--dc-titres); font-weight: 800; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.15; }
.dc-une__resume { color: var(--contrast-2); }

.dc-meta {
	font-weight: 700;
	font-size: 15px;
	color: #0E7A3E;
}

.dc-pile {
	flex: 1 1 340px;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.dc-pile li { margin: 0; }
.dc-pile__carte {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border-radius: 18px;
	padding: 18px 20px;
	background: var(--ciel);
	color: var(--contrast);
	text-decoration: none;
}
.dc-pile li:nth-child(2) .dc-pile__carte { background: var(--menthe-clair); }
.dc-pile li:nth-child(3) .dc-pile__carte { background: var(--corail-clair); }
.dc-pile__titre { font-family: var(--dc-titres); font-weight: 700; font-size: 20px; line-height: 1.3; }
.dc-pile__meta { font-size: 15px; color: var(--contrast-2); }

.dc-lien-tout { font-weight: 700; color: var(--accent); }

/* Titres en liste simple, séparés par un filet */
.dc-titres {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}
.dc-titres li { margin: 0; padding: 13px 0; border-bottom: var(--dc-trait); }
.dc-titres a {
	font-family: var(--dc-titres);
	font-weight: 700;
	font-size: 19px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-titres a:hover { color: var(--accent); text-decoration: underline; }

/* Bloc d'article en aplat coloré */
.dc-aplat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--corail-clair);
	border-radius: 22px;
	padding: 24px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-aplat--ciel { background: var(--ciel); }
.dc-aplat__titre { font-family: var(--dc-titres); font-weight: 800; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; }

/* Horaires de l'après-midi */
.dc-horaires {
	list-style: none;
	margin: 0;
	background: var(--base-3);
	border-radius: var(--dc-rayon-l);
	padding: 6px 22px;
}
.dc-horaires li {
	display: flex;
	gap: 18px;
	padding: 16px 0;
	margin: 0;
	border-bottom: 1px solid #ECE7FB;
}
.dc-horaires li:last-child { border-bottom: 0; }
.dc-horaires__quand {
	flex: 0 0 76px;
	font-family: var(--dc-titres);
	font-weight: 800;
	font-size: 19px;
	font-variant-numeric: tabular-nums;
	color: var(--violet);
	line-height: 1.2;
}
.dc-horaires a { font-weight: 700; color: var(--contrast); text-decoration: none; }
.dc-horaires a:hover { text-decoration: underline; }
.dc-horaires small { display: block; color: var(--contrast-3); font-size: 15px; }

/* Sorties du soir */
.dc-soir { display: flex; flex-direction: column; gap: 12px; }
.dc-soir__carte {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 16px;
	border-radius: var(--dc-rayon-l);
	padding: 18px 22px;
	background: #3E2FA0;
	color: #FFFFFF !important;
	text-decoration: none;
}
.dc-soir__carte:first-child { background: var(--soleil); color: var(--contrast) !important; padding: 20px 22px; }
.dc-soir__titre { display: block; font-family: var(--dc-titres); font-weight: 700; font-size: 20px; }
.dc-soir__carte:first-child .dc-soir__titre { font-weight: 800; font-size: 23px; }
.dc-soir__detail { color: var(--dc-sur-nuit); }
.dc-soir__carte:first-child .dc-soir__detail { color: var(--contrast); }
.dc-soir__quand { font-family: var(--dc-titres); font-weight: 800; font-size: 22px; white-space: nowrap; }

/* Agenda avec pastille de date */
.dc-agenda {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.dc-agenda li { margin: 0; }
.dc-agenda a {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--base-3);
	border-radius: 18px;
	padding: 14px 18px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-agenda__date {
	flex: 0 0 64px;
	height: 64px;
	border-radius: var(--dc-rayon);
	background: var(--soleil);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-weight: 700;
	font-size: 13px;
}
.dc-agenda li:nth-child(2) .dc-agenda__date { background: #E3ECFF; }
.dc-agenda li:nth-child(3) .dc-agenda__date { background: #FFE4F0; }
.dc-agenda__date b { font-family: var(--dc-titres); font-size: 24px; }
.dc-agenda__titre { display: block; font-family: var(--dc-titres); font-weight: 700; font-size: 20px; }
.dc-agenda__detail { color: var(--contrast-3); }

/* Agenda en mosaïque (une grande carte, deux petites) */
.dc-mosaique { display: flex; flex-wrap: wrap; gap: 18px; }
.dc-mosaique__grande {
	flex: 1.4 1 460px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	border-radius: 22px;
	overflow: hidden;
	border: var(--dc-trait);
	color: var(--contrast);
	text-decoration: none;
}
.dc-mosaique__grande img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.dc-mosaique__colonne { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.dc-mosaique__petite {
	display: flex;
	border-radius: 22px;
	overflow: hidden;
	border: var(--dc-trait);
	color: var(--contrast);
	text-decoration: none;
}
.dc-mosaique__petite img { flex: 0 0 150px; width: 150px; object-fit: cover; display: block; }
.dc-mosaique__corps { padding: 16px 18px 20px; }
.dc-mosaique__titre { display: block; font-family: var(--dc-titres); font-weight: 700; font-size: 20px; line-height: 1.2; }
.dc-mosaique__grande .dc-mosaique__titre { font-weight: 800; font-size: 26px; line-height: 1.15; }

.dc-pastille-date {
	display: inline-block;
	margin-top: 8px;
	background: var(--lilas);
	color: #3B2A8C;
	border-radius: var(--dc-pilule);
	padding: 4px 12px;
	font-weight: 700;
	font-size: 14px;
}
.dc-mosaique__petite:nth-of-type(1) .dc-pastille-date { background: var(--menthe-clair); color: #0E6B37; }
.dc-mosaique__petite:nth-of-type(2) .dc-pastille-date { background: var(--corail-clair); color: #A62A18; }

/* Bandeau « Aujourd'hui » */
.dc-aujourdhui {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
}
.dc-aujourdhui > * {
	margin: 0 !important;
	background: var(--base-3);
	color: var(--contrast);
	border-radius: var(--dc-rayon-l);
	padding: 20px;
}
.dc-aujourdhui > *:last-child { background: var(--soleil); }
.dc-aujourdhui strong { display: block; font-family: var(--dc-titres); font-size: 20px; }
.dc-aujourdhui a { color: var(--contrast) !important; }

/* Tuiles des rubriques de l'annuaire (pastilles rondes, icônes au trait) */
.dc-tuiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 22px 12px;
	text-align: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dc-tuiles li { margin: 0; }
.dc-tuile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-tuile__icone {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: box-shadow 0.2s ease-out, transform 0.2s ease-out;
}
.dc-tuile__icone svg { width: 34px; height: 34px; }
.dc-tuile:hover .dc-tuile__icone,
.dc-tuile:focus .dc-tuile__icone { box-shadow: 0 0 0 3px var(--accent); }
.dc-tuile__nom { font-weight: 700; line-height: 1.25; }
.dc-tuile__nombre { font-size: 14px; color: var(--contrast-3); }
.dc-tuiles--grandes .dc-tuile__icone { width: 96px; height: 96px; }
.dc-tuiles--blanches .dc-tuile__icone { background: var(--base-3) !important; }
@media (min-width: 1100px) {
	.dc-tuiles { grid-template-columns: repeat(9, minmax(0, 1fr)); }
}
.dc-tuiles__source { margin: 26px 0 0; text-align: center; color: var(--contrast-3); font-size: 15px; }

/* Portes d'entrée illustrées (variante Rubriques) */
.dc-portes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 18px;
	text-align: center;
	list-style: none;
	margin: 0 auto;
	padding: 40px var(--dc-gouttiere) 8px;
	max-width: 1180px;
}
.dc-portes li { margin: 0; }
.dc-portes a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	font-family: var(--dc-titres);
	font-weight: 700;
	font-size: 19px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-portes li img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.dc-portes a:hover img, .dc-portes a:focus img { box-shadow: 0 0 0 4px var(--accent); }

/* Cartes blanches posées sur une teinte */
.dc-blocs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
}
.dc-blocs > * {
	margin: 0 !important;
	background: var(--base-3);
	border-radius: var(--dc-rayon);
	padding: 16px;
}
.dc-blocs strong { display: block; }
.dc-blocs span, .dc-blocs small { color: var(--contrast-3); font-size: 15px; }
.dc-blocs a { color: var(--contrast); }

.dc-etapes { display: flex; flex-direction: column; gap: 10px; }
.dc-etapes > * {
	margin: 0 !important;
	background: var(--base-3);
	border-radius: 18px;
	padding: 16px 18px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}
.dc-etiquette {
	display: inline-block;
	background: #DDF3E6;
	color: #0E6B37;
	border-radius: var(--dc-pilule);
	padding: 4px 10px;
	font-weight: 700;
	font-size: 14px;
}

/* Liste des nouvelles adresses */
.dc-nouvelles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dc-nouvelles li { margin: 0; }
.dc-nouvelles a {
	display: flex;
	gap: 14px;
	align-items: center;
	border: var(--dc-trait);
	border-radius: 18px;
	padding: 14px 16px;
	color: var(--contrast);
	text-decoration: none;
}
.dc-nouvelles a:hover { border-color: var(--accent); }
.dc-nouvelles .dc-tuile__icone { width: 48px; height: 48px; flex: 0 0 48px; }
.dc-nouvelles .dc-tuile__icone svg { width: 22px; height: 22px; }
.dc-nouvelles small { display: block; color: var(--contrast-3); font-size: 15px; }

/* Appel aux professionnels et lettre d'information */
.dc-duo-cartes {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.dc-duo-cartes > * { min-width: 0; margin: 0 !important; border-radius: 24px; padding: 34px; }
.dc-duo-cartes > :first-child { flex: 1.3 1 480px; }
.dc-duo-cartes > :last-child { flex: 1 1 360px; }

.dc-pro h2,
.dc-lettre h2 { font-size: 32px; line-height: 1.15; max-width: 480px; margin: 0; }
.dc-pro p { color: var(--dc-sur-fonce); max-width: 520px; margin: 10px 0 18px; }
.dc-pro--clair p { color: var(--contrast-2); }
.dc-pro--skyline {
	position: relative;
	overflow: hidden;
	background: #DCEBFF;
	border-radius: var(--dc-rayon-xl);
	padding: 40px 40px 0;
	text-align: center;
}
.dc-pro--skyline h2, .dc-pro--skyline p { margin-left: auto; margin-right: auto; max-width: 760px; }
.dc-pro--skyline .wp-block-buttons { justify-content: center; }
.dc-pro--skyline .dc-skyline { width: calc(100% + 80px); margin: 24px -40px 0; }

.dc-lettre p { color: var(--contrast-2); margin: 10px 0 14px; }
.dc-lettre__form { display: flex; flex-direction: column; gap: 14px; }
.dc-lettre__form label { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 14px; margin: 0; }
.dc-lettre__form input[type="email"] { padding: 14px; font-size: 17px; border-color: #B9DCC7; }
.dc-lettre__form button { align-self: flex-start; background: var(--accent); color: #FFFFFF; padding: 14px 26px; border: 0; }
.dc-lettre__form button:hover { background: var(--accent-2); }
.dc-lettre--ligne .dc-lettre__form { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
.dc-lettre--ligne .dc-lettre__form label { flex: 1 1 260px; }

/* ==========================================================================
   10. Pied de page
   ========================================================================== */

.dc-pied-skyline {
	display: block;
	width: 100%;
	height: auto;
	background: var(--hero-journee);
}
.site-footer .site-info {
	background: var(--marine);
	color: #FFFFFF;
}
.site-footer .inside-site-info {
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	padding-top: 32px;
	padding-bottom: 40px;
}
.dc-pied__nom { font-family: var(--dc-titres); font-weight: 800; font-size: 22px; }
.dc-pied__menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-weight: 700;
}
.dc-pied__menu li { margin: 0; }
.site-footer .site-info a { color: #FFFFFF; }
.dc-pied__sources { margin: 0; font-size: 14px; color: #C9D6F5; }
.site-footer .copyright-bar { font-size: 14px; color: #C9D6F5; }
.footer-widgets { background: var(--hero-journee); }

/* ==========================================================================
   11. Gabarits : entêtes, articles, archives, annuaire, fiches
   ========================================================================== */

/* Entête colorée des pages, archives, articles et fiches */
.dc-entete {
	padding: clamp(32px, 5vw, 56px) var(--dc-gouttiere) clamp(28px, 4vw, 44px);
	background: var(--ciel);
}
.dc-entete__titre {
	font-size: clamp(32px, 4.4vw, 54px);
	line-height: 1.08;
	margin: 0;
	max-width: 900px;
}
.dc-entete__chapeau {
	margin: 12px 0 0;
	max-width: 720px;
	font-size: 19px;
	color: var(--contrast-2);
}
.dc-entete__chapeau > *:last-child { margin-bottom: 0; }
.dc-entete__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.dc-entete__meta li { margin: 0; }
.dc-entete--menthe { background: var(--menthe-clair); }
.dc-entete--lilas { background: var(--lilas); }
.dc-entete--corail { background: var(--corail-clair); }
.dc-entete--skyline { padding-bottom: 0; }
.dc-entete--skyline .dc-skyline { margin-top: 28px; }

.dc-fil {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--contrast-3);
}
.dc-fil li { margin: 0; }
.dc-fil li + li::before {
	content: "/";
	margin-right: 10px;
	color: var(--contrast-3);
	opacity: 0.6;
}
.dc-fil a { color: var(--contrast-2); }

.dc-pilule {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--base-3);
	border-radius: var(--dc-pilule);
	padding: 6px 14px;
	font-weight: 700;
	font-size: 15px;
	color: var(--contrast);
	text-decoration: none;
}
a.dc-pilule:hover { box-shadow: inset 0 0 0 2px var(--accent); color: var(--contrast); }
.dc-pilule--accent { background: var(--accent); color: #FFFFFF; }
.dc-pilule--soleil { background: var(--soleil); }
.dc-pilule--vert { background: #DDF3E6; color: #0E6B37; }
.dc-pilule small { font-weight: 400; color: var(--contrast-3); }

/* Contenu d'article et de page */
.single .entry-content,
body.page .entry-content { font-size: 18px; }
.single .entry-content > *,
body.page:not(.dc-composition) .entry-content > * { max-width: 720px; }
.single .entry-content > .alignwide,
body.page .entry-content > .alignwide { max-width: 1100px; }
.single .entry-content > .alignfull,
body.page .entry-content > .alignfull { max-width: none; }
.entry-content h2 { font-size: clamp(26px, 2.6vw, 32px); margin-top: 1.6em; }
.entry-content h3 { font-size: 22px; margin-top: 1.4em; }
.entry-content blockquote {
	border-left: 4px solid var(--soleil);
	background: var(--base-2);
	border-radius: 0 var(--dc-rayon) var(--dc-rayon) 0;
	padding: 18px 22px;
	font-style: normal;
}
.entry-content img { border-radius: var(--dc-rayon); }
.single .featured-image img,
body.page .featured-image img { border-radius: var(--dc-rayon-l); }

.dc-a-lire {
	margin-top: 48px;
	padding-top: 28px;
	border-top: var(--dc-trait);
}
.dc-a-lire h2 { font-size: 28px; margin: 0 0 16px; }

/* Archives d'articles (blog, catégories, étiquettes, recherche) en grille */
.blog .site-main,
.archive:not(.post-type-archive-entreprise):not(.tax-activity_sector) .site-main,
.search .site-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 24px;
}
.blog .site-main > :not(article),
.archive .site-main > :not(article),
.search .site-main > :not(article) { grid-column: 1 / -1; }

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article { margin: 0; }
.blog .inside-article,
.archive .inside-article,
.search .inside-article {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 0 !important;
	border: var(--dc-trait);
	border-radius: var(--dc-rayon-l);
	overflow: hidden;
	background: var(--base-3);
}
.blog .inside-article > *,
.archive .inside-article > *,
.search .inside-article > * { margin-left: 22px; margin-right: 22px; }
.blog .inside-article > .post-image,
.archive .inside-article > .post-image,
.search .inside-article > .post-image { margin: 0 0 18px; order: -1; }
.blog .post-image img,
.archive .post-image img,
.search .post-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.blog .entry-header,
.archive .entry-header,
.search .entry-header { margin-top: 20px; }
.blog .post-image + .entry-header,
.archive .post-image + .entry-header,
.search .post-image + .entry-header { margin-top: 0; }
.blog .entry-title,
.archive .entry-title,
.search .entry-title { font-size: 22px; line-height: 1.2; }
.blog .entry-title a,
.archive .entry-title a,
.search .entry-title a { color: var(--contrast); text-decoration: none; }
.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search .entry-title a:hover { color: var(--accent); text-decoration: underline; }
.blog .entry-summary,
.archive .entry-summary,
.search .entry-summary { color: var(--contrast-2); font-size: 16px; }
.blog footer.entry-meta,
.archive footer.entry-meta,
.search footer.entry-meta { margin-top: auto; padding-bottom: 20px; font-size: 14px; }

/* Première carte du blog mise en avant sur deux colonnes */
@media (min-width: 900px) {
	.blog:not(.paged) .site-main > article:first-of-type,
	.category:not(.paged) .site-main > article:first-of-type { grid-column: span 2; }
	.blog:not(.paged) .site-main > article:first-of-type .entry-title,
	.category:not(.paged) .site-main > article:first-of-type .entry-title { font-size: 30px; }
}

.page-header { display: none; } /* remplacé par .dc-entete */

/* Pagination */
.paging-navigation .nav-links,
.dc-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}
.paging-navigation .page-numbers,
.dc-pagination .page-numbers {
	min-width: 44px;
	padding: 10px 14px;
	border-radius: var(--dc-pilule);
	background: var(--base-2);
	color: var(--contrast);
	text-align: center;
	text-decoration: none;
	font-weight: 700;
}
.paging-navigation .page-numbers.current,
.dc-pagination .page-numbers.current { background: var(--accent); color: #FFFFFF; }

/* Annuaire : barre de filtres, liste de fiches */
.dc-annuaire { padding: 32px 0 56px; }
.dc-annuaire__barre {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px 20px;
	margin-bottom: 18px;
}
.dc-annuaire__barre h2 { font-size: 24px; margin: 0; }
.dc-annuaire__compte { color: var(--contrast-3); font-weight: 600; }

.dc-sous-rubriques {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}
.dc-sous-rubriques li { margin: 0; }
.dc-sous-rubriques .dc-pilule { background: var(--base-2); }

.dc-fiches {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 14px;
}
.dc-fiches > li { margin: 0; }
.dc-fiche-carte {
	height: 100%;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border: var(--dc-trait);
	border-radius: 18px;
	padding: 16px;
	color: var(--contrast);
	text-decoration: none;
	background: var(--base-3);
	transition: border-color 0.15s ease-out, box-shadow 0.15s ease-out;
}
.dc-fiche-carte:hover,
.dc-fiche-carte:focus { border-color: var(--accent); box-shadow: var(--dc-ombre-1); color: var(--contrast); }
.dc-fiche-carte .dc-tuile__icone { width: 48px; height: 48px; flex: 0 0 48px; }
.dc-fiche-carte .dc-tuile__icone svg { width: 22px; height: 22px; }
.dc-fiche-carte__corps { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dc-fiche-carte__nom { font-family: var(--dc-titres); font-weight: 700; font-size: 19px; line-height: 1.2; overflow-wrap: anywhere; }
.dc-fiche-carte__activite { color: var(--contrast-2); font-size: 15px; }
.dc-fiche-carte__lieu { color: var(--contrast-3); font-size: 15px; }
.dc-fiche-carte__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.dc-badge {
	display: inline-block;
	border-radius: var(--dc-pilule);
	padding: 2px 10px;
	font-size: 13px;
	font-weight: 700;
	background: var(--base-2);
	color: var(--contrast-2);
}
.dc-badge--nouveau { background: var(--menthe-clair); color: #0E6B37; }
.dc-badge--siege { background: var(--ciel); color: var(--accent-2); }

.dc-vide {
	padding: 32px;
	border-radius: var(--dc-rayon-l);
	background: var(--base-2);
	text-align: center;
}

/* Fiche entreprise */
.dc-fiche {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 28px;
	padding: 36px 0 24px;
	align-items: start;
}
.dc-fiche__bloc {
	border: var(--dc-trait);
	border-radius: var(--dc-rayon-l);
	padding: 24px;
	background: var(--base-3);
}
.dc-fiche__bloc + .dc-fiche__bloc { margin-top: 20px; }
.dc-fiche__bloc h2 { font-size: 24px; margin: 0 0 14px; }

.dc-identite {
	display: grid;
	grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.2fr);
	margin: 0;
}
.dc-identite dt,
.dc-identite dd {
	margin: 0;
	padding: 11px 0;
	border-bottom: var(--dc-trait);
}
.dc-identite dt { color: var(--contrast-3); font-weight: 600; padding-right: 16px; }
.dc-identite dd { font-weight: 700; overflow-wrap: anywhere; }
.dc-identite dt:nth-last-of-type(1),
.dc-identite dd:last-of-type { border-bottom: 0; }

.dc-adresse { font-size: 18px; font-style: normal; margin: 0 0 14px; }
.dc-carte {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 0;
	border-radius: var(--dc-rayon);
	background: var(--base-2);
	overflow: hidden;
	z-index: 0;
}
.dc-carte .leaflet-control-attribution { font-size: 11px; }
.dc-carte-liens { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0 0; font-weight: 700; }

.dc-reclamer {
	background: var(--accent);
	color: #FFFFFF;
	border: 0 !important;
}
.dc-reclamer h2 { color: #FFFFFF; }
.dc-reclamer p { color: var(--dc-sur-fonce); }
.dc-reclamer .wp-block-button__link,
.dc-reclamer .dc-bouton { background: var(--soleil); color: var(--contrast); }

.dc-bouton {
	display: inline-block;
	background: var(--accent);
	color: #FFFFFF;
	border-radius: var(--dc-pilule);
	padding: 12px 22px;
	font-family: var(--dc-titres);
	font-weight: 700;
	text-decoration: none;
}
.dc-bouton:hover, .dc-bouton:focus { background: var(--accent-2); color: #FFFFFF; }

.dc-source { font-size: 14px; color: var(--contrast-3); margin: 18px 0 0; }

.dc-voisins { padding: 8px 0 56px; }
.dc-voisins h2 { font-size: 28px; margin: 0 0 16px; }

/* 404 et recherche */
.dc-introuvable { text-align: center; }
.dc-introuvable .dc-recherche { margin-top: 24px; }
.error404 .inside-article,
.search-no-results .inside-article { display: none; }

/* Espacements des titres de section dans les compositions */
.dc-cadre > .dc-titre-section,
.dc-duo .dc-titre-section,
.dc-colonnes h2 { margin-bottom: 22px; }
.dc-colonnes h2 { font-size: 32px; }
.dc-titre-section + .dc-chapeau { margin-top: 10px; }

.dc-lettre--ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px 28px;
}
.dc-lettre--ligne > * { flex: 1 1 320px; margin: 0 !important; }
.dc-lettre--ligne h2 { font-size: 30px; }
.dc-lettre--ligne p { margin: 6px 0 0; color: #1E3A2C; }

.dc-encart-evenement { margin-bottom: 28px; background: var(--lilas); border: 0; }
.dc-encart-evenement .dc-identite dt,
.dc-encart-evenement .dc-identite dd { border-color: #DCD3FA; }

.single .dc-source ul { margin: 6px 0 0 1.2em; }
.single .dc-source { border-top: var(--dc-trait); padding-top: 16px; margin-top: 36px; }

/* ==========================================================================
   12. Ajustements
   ========================================================================== */

@media (max-width: 768px) {
	.site-header .inside-header {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		text-align: left;
		padding-left: var(--dc-gouttiere);
		padding-right: var(--dc-gouttiere);
	}
	.site-header .site-branding { margin: 0; }
	.dc-recherche { flex-direction: column; }
	.dc-recherche__champ,
	.dc-recherche__champ + .dc-recherche__champ { flex: 0 0 auto; }
	.dc-fiche { padding-top: 8px; gap: 20px; }
	.dc-fiche__bloc { padding: 18px; }
	.dc-annuaire { padding-top: 8px; }
	.dc-recherche__champ + .dc-recherche__champ { border-left: 0; border-top: var(--dc-trait); }
	.dc-recherche__bouton { width: 100%; }
	.dc-rail__date { margin-left: 0 !important; width: 100%; }
	.dc-fiche { grid-template-columns: 1fr; }
	.dc-identite { grid-template-columns: 1fr; }
	.dc-identite dt { border-bottom: 0; padding-bottom: 0; }
	.dc-duo-cartes > * { padding: 26px; }
	.dc-pro--skyline { padding: 28px 22px 0; }
	.dc-pro--skyline .dc-skyline { width: calc(100% + 44px); margin: 20px -22px 0; }
	.dc-tuiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 8px; }
	.dc-tuile__icone { width: 72px; height: 72px; }
	.dc-tuiles--grandes .dc-tuile__icone { width: 76px; height: 76px; }
	.dc-mosaique__petite img { flex-basis: 110px; width: 110px; }
	.dc-espace-pro { padding: 7px 14px; font-size: 14px; }
	.dc-marque__ville { font-size: 20px; }
	.dc-hero--journee::before { width: 52px; height: 52px; top: 16px; right: 4%; }
}

@media (max-width: 420px) {
	.dc-tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-adresses li { flex-direction: column; gap: 2px; }
	.dc-adresses span { text-align: left; }
}

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