/* =============================================================
   Marny Concierge — page marketing « Conciergerie » (scopé .mcm-cg)
   ============================================================= */
.mcm-cg {
	--cg-burgundy: #561C24;
	--cg-burgundy-700: #431218;
	--cg-cream: #E8D8C4;
	--cg-cream-soft: #f7f1e9;
	--cg-ink: #241a1c;
	--cg-muted: #7c6f6f;
	--serif: 'Cormorant Garamond', Georgia, serif;
	--sans: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;

	/* pleine largeur, même dans un conteneur de thème contraint */
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;

	font-family: var(--sans);
	color: var(--cg-ink);
	font-weight: 300;
	line-height: 1.65;
	background: #fff;
	overflow-x: hidden;
}
.mcm-cg *, .mcm-cg *::before, .mcm-cg *::after { box-sizing: border-box; }

/* Masque le titre de page redondant du thème sur la page Conciergerie */
article:has(> .entry-content .mcm-cg) > .entry-header,
article:has(> .entry-content .mcm-cg) > .post-thumbnail { display: none; }
.mcm-cg h1, .mcm-cg h2, .mcm-cg h3 { font-family: var(--serif); font-weight: 500; line-height: 1.1; margin: 0; color: var(--cg-ink); }
/* Sections à fond sombre : titres clairs (priorité sur le thème) */
.mcm-cg__hero h1 { color: #fff; }
.mcm-cg__benefits h2, .mcm-cg__ctaband h2 { color: #fff; }
.mcm-cg p { margin: 0; }
.mcm-cg em { font-style: italic; }

.mcm-cg__wrap { max-width: 1140px; margin: 0 auto; padding: 0 26px; }
.mcm-cg__wrap--narrow { max-width: 800px; }

.mcm-cg__kicker { display: inline-block; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--cg-burgundy); margin-bottom: 14px; }
.mcm-cg__kicker--light { color: var(--cg-cream); }
.mcm-cg__head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
.mcm-cg__head h2 { font-size: clamp(2rem, 4vw, 2.9rem); }

/* Boutons */
.mcm-cg__btn { display: inline-block; font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 15px 30px; border-radius: 4px; transition: transform .2s, background .2s, color .2s; text-decoration: none; }
.mcm-cg__btn--primary { background: var(--cg-burgundy); color: #fff; }
.mcm-cg__btn--primary:hover { background: var(--cg-burgundy-700); transform: translateY(-2px); }
.mcm-cg__btn--ghost { border: 1px solid rgba(255,255,255,.5); color: #fff; }
.mcm-cg__btn--ghost:hover { background: rgba(255,255,255,.12); }
.mcm-cg__btn--cream { background: var(--cg-cream); color: var(--cg-burgundy); }
.mcm-cg__btn--cream:hover { transform: translateY(-2px); filter: brightness(1.03); }

/* HERO */
.mcm-cg__hero { background: radial-gradient(120% 120% at 70% 0%, #6d2a34 0%, var(--cg-burgundy) 45%, var(--cg-burgundy-700) 100%); color: #fff; padding: 130px 0 120px; text-align: center; }
.mcm-cg__eyebrow { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--cg-cream); opacity: .9; }
.mcm-cg__hero h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); margin: 22px 0 24px; }
.mcm-cg__hero h1 em { color: var(--cg-cream); }
.mcm-cg__lead { max-width: 660px; margin: 0 auto 38px; font-size: 18px; color: rgba(255,255,255,.85); }
.mcm-cg__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* INTRO */
.mcm-cg__intro { display: grid; grid-template-columns: 1.4fr 1fr; gap: 60px; align-items: center; padding: 100px 26px; }
.mcm-cg__intro h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom: 20px; }
.mcm-cg__intro p { color: var(--cg-muted); margin-bottom: 16px; font-size: 16px; }
.mcm-cg__stats { display: grid; gap: 18px; }
.mcm-cg__stats div { background: var(--cg-cream-soft); border-radius: 14px; padding: 22px 24px; }
.mcm-cg__stats strong { display: block; font-family: var(--serif); font-size: 34px; color: var(--cg-burgundy); line-height: 1; }
.mcm-cg__stats span { font-size: 13px; color: var(--cg-muted); }

/* Grilles génériques */
.mcm-cg__grid { display: grid; gap: 24px; }
.mcm-cg__grid--4 { grid-template-columns: repeat(4, 1fr); }
.mcm-cg__grid--3 { grid-template-columns: repeat(3, 1fr); }

/* POURQUOI */
.mcm-cg__why { background: var(--cg-cream-soft); padding: 100px 0; }
.mcm-cg__value { background: #fff; border-radius: 16px; padding: 32px 26px; box-shadow: 0 10px 30px rgba(86,28,36,.05); }
.mcm-cg__vico, .mcm-cg__sico { width: 52px; height: 52px; border-radius: 14px; background: var(--cg-cream); color: var(--cg-burgundy); display: grid; place-items: center; margin-bottom: 18px; }
.mcm-cg__vico svg, .mcm-cg__sico svg { width: 26px; height: 26px; }
.mcm-cg__value h3 { font-size: 1.4rem; margin-bottom: 10px; }
.mcm-cg__value p { color: var(--cg-muted); font-size: 14px; }

/* SERVICES */
.mcm-cg__services { padding: 100px 0; }
.mcm-cg__service { border: 1px solid #efe7dd; border-radius: 16px; padding: 34px 30px; transition: transform .25s, box-shadow .25s; }
.mcm-cg__service:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(86,28,36,.08); }
.mcm-cg__service h3 { font-size: 1.5rem; margin-bottom: 12px; }
.mcm-cg__service p { color: var(--cg-muted); font-size: 15px; }

/* FONCTIONNEMENT */
.mcm-cg__how { background: var(--cg-cream-soft); padding: 100px 0; }
.mcm-cg__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.mcm-cg__step { position: relative; padding-top: 12px; }
.mcm-cg__num { font-family: var(--serif); font-size: 46px; color: var(--cg-cream); font-weight: 600; display: block; margin-bottom: 8px; }
.mcm-cg__step h3 { font-size: 1.35rem; margin-bottom: 10px; }
.mcm-cg__step p { color: var(--cg-muted); font-size: 14px; }

/* AVANTAGES */
.mcm-cg__benefits { background: linear-gradient(135deg, var(--cg-burgundy) 0%, var(--cg-burgundy-700) 100%); color: #fff; padding: 100px 0; }
.mcm-cg__benefits .mcm-cg__head h2 { color: #fff; }
.mcm-cg__benefits-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 40px; max-width: 900px; margin: 0 auto; }
.mcm-cg__benefits-list li { position: relative; padding-left: 34px; font-size: 16px; color: rgba(255,255,255,.9); }
.mcm-cg__benefits-list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--cg-cream); }
.mcm-cg__benefits-list li::after { content: ""; position: absolute; left: 6px; top: 8px; width: 8px; height: 5px; border-left: 2px solid var(--cg-burgundy); border-bottom: 2px solid var(--cg-burgundy); transform: rotate(-45deg); }

/* FAQ */
.mcm-cg__faq { padding: 100px 0; }
.mcm-cg__q { border-bottom: 1px solid #ece2d6; padding: 6px 0; }
.mcm-cg__q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 4px; font-family: var(--serif); font-size: 1.35rem; color: var(--cg-ink); }
.mcm-cg__q summary::-webkit-details-marker { display: none; }
.mcm-cg__q-plus { position: relative; width: 18px; height: 18px; flex-shrink: 0; }
.mcm-cg__q-plus::before, .mcm-cg__q-plus::after { content: ""; position: absolute; background: var(--cg-burgundy); transition: transform .25s; }
.mcm-cg__q-plus::before { top: 8px; left: 0; width: 18px; height: 2px; }
.mcm-cg__q-plus::after { left: 8px; top: 0; width: 2px; height: 18px; }
.mcm-cg__q[open] .mcm-cg__q-plus::after { transform: scaleY(0); }
.mcm-cg__q p { color: var(--cg-muted); font-size: 15px; padding: 0 4px 22px; max-width: 90%; }

/* CTA */
.mcm-cg__ctaband { background: radial-gradient(120% 140% at 30% 0%, #6d2a34, var(--cg-burgundy) 60%); color: #fff; text-align: center; padding: 90px 0; }
.mcm-cg__ctaband h2 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin-bottom: 14px; }
.mcm-cg__ctaband p { color: rgba(255,255,255,.85); margin-bottom: 30px; }

/* CONTACT */
.mcm-cg__contact { background: var(--cg-cream-soft); padding: 100px 0; }
.mcm-cg__contact-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 50px; align-items: center; }
.mcm-cg__contact h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom: 16px; }
.mcm-cg__contact-inner > div p { color: var(--cg-muted); }
.mcm-cg__contact-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mcm-cg__ccard { display: flex; flex-direction: column; gap: 4px; background: #fff; border-radius: 14px; padding: 22px 24px; text-decoration: none; color: var(--cg-ink); transition: transform .2s, box-shadow .2s; }
.mcm-cg__ccard:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(86,28,36,.1); }
.mcm-cg__ccard strong { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--cg-burgundy); }
.mcm-cg__ccard span { font-size: 14px; color: var(--cg-muted); }
.mcm-cg__ccard--wa { background: var(--cg-burgundy); }
.mcm-cg__ccard--wa strong, .mcm-cg__ccard--wa span { color: #fff; }
.mcm-cg__ccard--wa span { color: rgba(255,255,255,.8); }

/* RESPONSIVE */
@media (max-width: 900px) {
	.mcm-cg__grid--4, .mcm-cg__grid--3, .mcm-cg__steps { grid-template-columns: 1fr 1fr; }
	.mcm-cg__intro, .mcm-cg__contact-inner { grid-template-columns: 1fr; gap: 36px; }
	.mcm-cg__benefits-list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.mcm-cg__grid--4, .mcm-cg__grid--3, .mcm-cg__steps, .mcm-cg__contact-cards { grid-template-columns: 1fr; }
	.mcm-cg__hero { padding: 90px 0 80px; }
	.mcm-cg__intro, .mcm-cg__why, .mcm-cg__services, .mcm-cg__how, .mcm-cg__benefits, .mcm-cg__faq, .mcm-cg__ctaband, .mcm-cg__contact { padding-top: 64px; padding-bottom: 64px; }
}
