/* Natural Companion – styles des pages (classes préfixées nc-) */
:root {
	--nc-navy: #143d60;
	--nc-green: #2e7a5a;
	--nc-ink: #1f2a33;
	--nc-muted: #5d6b78;
	--nc-soft: #eef3f6;
	--nc-sand: #f7f5ef;
	--nc-line: #d5dee4;
}

.nc-lang { text-align: right; font-size: .9rem; margin-bottom: 0; }
.nc-lang a { color: var(--nc-green); text-decoration: none; font-weight: 600; }

.nc-eyebrow {
	color: var(--nc-green);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: .4rem;
}

.nc-hero {
	background: var(--nc-sand);
	border-radius: 16px;
	padding: clamp(28px, 5vw, 56px) clamp(20px, 5vw, 56px);
	margin-bottom: 2rem;
}
.nc-hero-title {
	color: var(--nc-navy);
	font-family: Georgia, "DejaVu Serif", serif;
	font-weight: 400;
	font-size: clamp(2rem, 4.5vw, 3rem);
	line-height: 1.12;
	margin-top: 0;
}
.nc-lead { color: var(--nc-muted); font-size: 1.15rem; line-height: 1.55; max-width: 44rem; }
.nc-muted { color: var(--nc-muted); font-size: .92rem; }

.wp-block-button.nc-btn-primary .wp-block-button__link { background: var(--nc-navy); color: #fff; border-radius: 8px; }
.wp-block-button.nc-btn-ghost .wp-block-button__link { background: transparent; color: var(--nc-navy); border: 1.5px solid var(--nc-navy); border-radius: 8px; }
.wp-block-button.nc-btn-light .wp-block-button__link { background: #fff; color: var(--nc-navy); border-radius: 8px; }
.wp-block-button.nc-btn-ghost-light .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid #fff; border-radius: 8px; }

.nc-stats {
	background: var(--nc-navy);
	border-radius: 14px;
	padding: 24px 28px;
	gap: 16px;
}
.nc-stat { color: #dfe8ef; font-size: .92rem; margin: 0; }
.nc-stat strong {
	display: inline-block;
	color: #fff;
	font-family: Georgia, "DejaVu Serif", serif;
	font-weight: 400;
	font-size: 2rem;
	margin-bottom: .2rem;
}

.nc-card {
	background: var(--nc-soft);
	border-radius: 14px;
	padding: 24px 26px;
	height: 100%;
	box-sizing: border-box;
}
.nc-card-alt { background: var(--nc-sand); }
.nc-card-featured { background: #fff; border: 2px solid var(--nc-navy); }
.nc-big {
	color: var(--nc-navy);
	font-family: Georgia, "DejaVu Serif", serif;
	font-size: 3rem;
	line-height: 1;
	margin: .4rem 0 .6rem;
}

.nc-split { align-items: center; gap: 40px; }
.nc-split > .wp-block-column:last-child { flex: 0 0 34% !important; }
.nc-about-top > .wp-block-column:last-child { flex: 1 1 auto !important; }
.nc-about-top > .wp-block-column:first-child { flex: 0 0 32% !important; }

.nc-phone img {
	max-width: 240px;
	width: 100%;
	height: auto;
	border: 8px solid #17293a;
	border-radius: 26px;
	box-shadow: 0 0 0 4px #dce6ee;
}
.nc-phone { text-align: center; margin-bottom: 1rem; }
.nc-portrait img { width: 100%; height: auto; border-radius: 16px; }

.nc-three { gap: 28px; }
.nc-three h3 { color: var(--nc-navy); }

.wp-block-quote.nc-quote {
	border-left: 4px solid var(--nc-green);
	background: var(--nc-soft);
	border-radius: 0 12px 12px 0;
	padding: 18px 20px;
	margin: 0;
}
.wp-block-quote.nc-quote cite { color: var(--nc-muted); font-style: normal; font-size: .88rem; }

.nc-steps li { margin-bottom: .6rem; }

.nc-cta {
	background: var(--nc-navy);
	color: #fff;
	border-radius: 16px;
	padding: 32px clamp(20px, 5vw, 48px);
	margin-top: 2.5rem;
}
.nc-cta h2.wp-block-heading { color: #fff; margin-top: 0; }
.nc-cta a:not(.wp-block-button__link) { color: #fff; }

.nc-pricing { gap: 20px; }

.nc-footnav {
	border-top: 1px solid var(--nc-line);
	margin-top: 3rem;
	padding-top: 1rem;
	font-size: .85rem;
	color: var(--nc-muted);
}
.nc-footnav a { color: var(--nc-navy); }

mark.nc-todo { background: #fff2b3; color: #6b4e00; padding: 0 .2em; border-radius: 3px; }

h2.wp-block-heading:where(:not(.nc-hero-title)) { color: var(--nc-navy); margin-top: 2.5rem; }

@media (max-width: 781px) {
	.nc-split > .wp-block-column:last-child,
	.nc-about-top > .wp-block-column:first-child { flex: 1 1 100% !important; }
	.nc-big { font-size: 2.4rem; }
}

.nc-offer {
	background: var(--nc-navy);
	color: #dfe8ef;
	border-radius: 16px;
	padding: 28px clamp(20px, 5vw, 44px);
	margin: 1.5rem 0 2rem;
}
.nc-badge {
	display: inline-block;
	background: #fff2b3;
	color: #6b4e00;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .2em .8em;
	border-radius: 999px;
	margin-bottom: .2rem;
}
.nc-offer h3.wp-block-heading.nc-offer-title {
	color: #fff;
	font-family: Georgia, "DejaVu Serif", serif;
	font-weight: 400;
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: .4rem 0 .6rem;
}
.nc-offer-fine { color: #b9c9d6; font-size: .82rem; }

/* 1.3.1 — Payhip buy box */
.ncp-buy { background: var(--nc-soft); border-radius: 16px; padding: 24px 26px; margin: 2rem 0; }
.ncp-buy h2 { margin-top: 0; color: var(--nc-navy); }
.ncp-buy-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.ncp-buy-card { background: #fff; border: 2px solid #2E7D32; border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; }
.ncp-buy-card.ncp-buy-pro { border-color: var(--nc-navy); }
.ncp-buy-card h3 { margin: 0 0 .4rem; font-size: 1.2rem; }
.ncp-buy-card p { flex: 1; color: var(--nc-muted); margin: 0 0 14px; }
.ncp-buy-btn { display: block; text-align: center; background: #2E7D32; color: #fff !important; text-decoration: none !important; font-weight: 700; padding: 12px 18px; border-radius: 10px; }
.ncp-buy-pro .ncp-buy-btn { background: var(--nc-navy); }
.ncp-buy-btn:hover { filter: brightness(.9); }

/* 1.3.2 — Trois niveaux d'accès */
.nc-levels { gap: 16px; }
.nc-levels .nc-big { font-size: 2.4rem; }
