/*
Theme Name: Mélina D'Arcy-Lepage
Theme URI: https://melinadarcylepage.ca
Author: Canis Connexa
Description: Thème WordPress compatible Elementor pour le site de Mélina D'Arcy-Lepage, T.S. (consultations, ateliers, conférences, coaching). À l'activation, les 8 pages, le menu et la page d'accueil sont créés automatiquement.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mdl
*/

:root {
	/* Couleurs relevées sur le site d'origine */
	--mdl-text: #504C41;
	--mdl-cream: #F2F1ED;
	--mdl-grey: #7A867F;
	--mdl-link: #C4D7DF;
	--mdl-icon: #4B5B5B;
	--mdl-olive: #504C41;
	--mdl-sage: #D4DED2;
	--mdl-sage-dark: #5E7A62;
	--mdl-sage-deep: #3F5743;
	--mdl-accent: #C9826B;
	/* Polices relevées sur le site d'origine */
	--mdl-font-title: "Source Sans Pro", "Source Sans 3", sans-serif;
	--mdl-font-script: "Satisfy", cursive;
	--mdl-font-body: "Open Sans Hebrew", Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--mdl-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--mdl-text);
	background: #fff;
}

h1, h2, h3, h4 {
	font-family: var(--mdl-font-title);
	font-weight: 700;
	color: var(--mdl-text);
	line-height: 1.25;
}

a { color: var(--mdl-sage-dark); }
a:hover { color: var(--mdl-accent); }

img { max-width: 100%; height: auto; }

.skip-link {
	position: absolute;
	left: -9999px;
}
.skip-link:focus {
	left: 10px;
	top: 10px;
	z-index: 100000;
	background: #fff;
	padding: 8px 14px;
}

/* ============ EN-TÊTE : photo plein écran ============ */
.mdl-hero {
	position: relative;
	min-height: max(660px, 44vw);
	background-color: #e9e4d8;
	background-size: cover;
	background-position: center 22%;
	background-repeat: no-repeat;
	overflow: hidden;
}
.mdl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(250, 246, 238, .42);
}
.mdl-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
	padding: 110px 13.6vw 70px 9.4vw;
	font-family: var(--mdl-font-title);
	text-transform: uppercase;
	font-weight: 700;
}

.mdl-brand {
	display: block;
	text-decoration: none;
	max-width: 640px;
}
.mdl-brand__name {
	display: block;
	font-size: clamp(24px, 2.17vw, 36px);
	line-height: 1.2;
	color: #F2F1ED;
	text-shadow: 0 0 10px rgba(0, 0, 0, .3);
}
.mdl-brand__tagline {
	display: block;
	margin-top: 4px;
	font-size: clamp(14px, 1.08vw, 18px);
	color: var(--mdl-text);
}

.mdl-side {
	margin-top: 184px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}
.mdl-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0;
}
.mdl-nav li { margin: 0; }
.mdl-nav a {
	display: block;
	padding: 8px 0;
	font-size: 18px;
	text-decoration: none;
	color: var(--mdl-text);
	transition: color .2s ease;
}
.mdl-nav a:hover { color: #fff; text-shadow: 0 1px 6px rgba(60, 50, 30, .5); }
.mdl-nav .current-menu-item > a,
.mdl-nav .current_page_item > a {
	color: #fff;
	text-shadow: 0 1px 6px rgba(60, 50, 30, .45);
}

.mdl-btn-light {
	display: inline-block;
	margin-top: 16px;
	padding: 12px 18px;
	background: var(--mdl-cream);
	color: var(--mdl-text);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.5px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(60, 50, 30, .25);
	transition: transform .2s ease, box-shadow .2s ease;
}
.mdl-btn-light:hover { color: var(--mdl-accent); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(60, 50, 30, .3); }

.mdl-menu-toggle {
	display: none;
	background: rgba(255, 255, 255, .9);
	border: 0;
	border-radius: 6px;
	padding: 10px 16px;
	font: inherit;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--mdl-olive);
	cursor: pointer;
}

@media (max-width: 900px) {
	.mdl-hero { min-height: 520px; background-position: 62% 15%; }
	.mdl-hero__inner { flex-direction: column; padding: 40px 24px 40px; }
	.mdl-side { margin-top: 0; align-items: flex-start; text-align: left; width: 100%; }
	.mdl-menu-toggle { display: inline-block; }
	.mdl-nav { display: none; width: 100%; margin-top: 12px; background: rgba(255, 255, 255, .88); border-radius: 8px; padding: 8px 16px; }
	.mdl-nav.is-open { display: block; }
	.mdl-nav ul { align-items: flex-start; }
	.mdl-nav a, .mdl-nav .current-menu-item > a { color: var(--mdl-olive); text-shadow: none; }
	.mdl-nav .current-menu-item > a { color: var(--mdl-accent); }
	.mdl-btn-light { margin-top: 16px; }
}

/* ============ Contenu ============ */
.mdl-main { min-height: 30vh; }
.mdl-content-default { max-width: 900px; margin: 0 auto; padding: 50px 20px; }

/* Boutons de contenu */
.mdl-btn {
	display: inline-block;
	background: var(--mdl-cream);
	color: var(--mdl-text) !important;
	padding: 12px 22px;
	border-radius: 4px;
	text-decoration: none;
	font-family: var(--mdl-font-title);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.5px;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(80, 76, 65, .18);
	transition: background .2s ease, transform .2s ease;
}
.mdl-btn:hover { background: var(--mdl-link); transform: translateY(-1px); }

/* Rendu de secours (si Elementor n'est pas actif) */
.mdl-sec { width: 100%; }
.mdl-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 60px 20px;
	display: flex;
	gap: 24px;
}
.mdl-column { flex-direction: column; }
.mdl-row { flex-direction: row; }
.mdl-col { display: flex; flex-direction: column; gap: 24px; flex: 1; min-width: 0; }
.mdl-col.mdl-row { flex-direction: row; }
.mdl-row > .mdl-col { flex: 1; }
.mdl-sec h1, .mdl-sec h2, .mdl-sec h3 { margin: 0; }

/* Titres : mêmes polices que le site d'origine (valables avec ou sans Elementor) */
.mdl-page h1, .mdl-page h1.elementor-heading-title {
	font-family: var(--mdl-font-title) !important;
	font-size: 36px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -1px;
	color: var(--mdl-text) !important;
}
.mdl-page h2, .mdl-page h2.elementor-heading-title,
.mdl-page h3, .mdl-page h3.elementor-heading-title {
	font-family: var(--mdl-font-script) !important;
	font-size: 28px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.3;
	color: var(--mdl-text) !important;
}
/* Titre en police de corps (ex. « POURQUOI TOUT GÉRER SEUL(E)... ») */
.mdl-page .mdl-h-plain, .mdl-page .mdl-h-plain *,
.mdl-page .mdl-h-plain h2, .mdl-page .mdl-h-plain h2.elementor-heading-title,
.mdl-page h2.mdl-h-plain {
	font-family: var(--mdl-font-body) !important;
	font-size: 22px;
	font-weight: 400;
}
.mdl-page .mdl-h-plain strong, .mdl-page .mdl-h-plain b { font-weight: 700; }
.mdl-page .mdl-h-grey, .mdl-page .mdl-h-grey * { color: var(--mdl-grey) !important; }

/* Texte, liens, boutons Elementor */
.mdl-page .mdl-text a, .mdl-page .elementor-widget-text-editor a { color: var(--mdl-link); font-weight: 700; }
.mdl-page .elementor-button {
	font-family: var(--mdl-font-title) !important;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -.5px;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(80, 76, 65, .18);
}

/* Icônes de réseaux sociaux */
.mdl-social { display: flex; gap: 46px; justify-content: center; margin: 0; padding: 0; list-style: none; }
.mdl-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 4px;
	background: var(--mdl-icon);
	color: var(--mdl-link);
	font-size: 26px;
	text-decoration: none;
}
.mdl-social a:hover { background: var(--mdl-grey); color: #fff; }
.mdl-text > *:first-child { margin-top: 0; }
.mdl-text > *:last-child { margin-bottom: 0; }
.mdl-btnrow { margin: 0; }
.mdl-fig { margin: 0; }
.mdl-fig img { display: block; margin: 0 auto; border-radius: 10px; }
.mdl-list { list-style: none; margin: 0; padding: 0; }
.mdl-list li { position: relative; padding: 4px 0 4px 26px; }
.mdl-list li::before { content: "✓"; position: absolute; left: 0; color: var(--mdl-sage-dark); font-weight: 700; }
.mdl-list.mdl-list--dot li::before { content: "•"; }

@media (max-width: 800px) {
	.mdl-row { flex-direction: column; }
	.mdl-col.mdl-row { flex-direction: column; }
}

/* ============ Bandeau 811 + pied de page ============ */
.mdl-cta-band {
	background: var(--mdl-sage);
	text-align: center;
	padding: 50px 20px 30px;
}
.mdl-urgence {
	max-width: 760px;
	margin: 26px auto 0;
	font-size: 16px;
}

.mdl-footer {
	background: var(--mdl-sage-deep);
	color: #fff;
	padding: 40px 20px;
	text-align: center;
	font-size: 15px;
}
.mdl-footer a { color: #fff; }
.mdl-footer img { max-height: 90px; width: auto; margin-bottom: 14px; background: #fff; border-radius: 10px; padding: 8px 14px; }
.mdl-footer p { margin: 6px 0; }

blockquote {
	margin: 24px auto;
	max-width: 760px;
	padding: 10px 24px;
	border-left: 4px solid var(--mdl-accent);
	font-style: italic;
	font-size: 1.15em;
}
blockquote cite { display: block; margin-top: 8px; font-style: normal; font-weight: 700; }
