/*
Theme Name: Nora LDA
Theme URI: https://www.noralda.fr
Author: Amel S. — Développeuse web
Author URI: https://amelsaiez.com
Description: Thème du site de Nora LDA, coach sportive. Thème enfant de Twenty Twenty-Five, sans constructeur de pages.
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: nora-lda
License: GNU General Public License v2 or later
*/

/* ---------- Base ---------- */
:root {
	--nora-chocolat: #3B2A20;
	--nora-brun: #6F4E37;
	--nora-cuivre: #8A5A3B;
	--nora-caramel: #B08968;
	--nora-sable-fonce: #D8C3AE;
	--nora-sable: #F3E9DD;
	--nora-creme: #FAF6F1;
	--nora-dore: #E2B98A;
	--nora-serif: "Cormorant Garamond", Georgia, serif;
	--nora-sans: Jost, "Helvetica Neue", sans-serif;
	--nora-gutter: clamp(20px, 5vw, 96px);
}

html { scroll-behavior: smooth; }

.wp-site-blocks > * + * { margin-block-start: 0; }
.nora-main { margin: 0; padding: 0; }
.nora-content > * { margin-block: 0 !important; max-width: none !important; }

h1 em, h2 em, h3 em { font-style: italic; color: var(--nora-cuivre); }
strong { font-weight: 500; }

/* ---------- En-tête ---------- */
.nora-header {
	background: var(--nora-chocolat);
	color: var(--nora-creme);
	padding: 0 clamp(20px, 5vw, 72px);
	margin: 0;
}
.nora-header__inner {
	min-height: 96px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.nora-logo { display: block; line-height: 0; }
.nora-logo img { height: 68px; width: auto; display: block; }
.nora-nav, .nora-nav a { color: var(--nora-creme); }
.nora-nav .wp-block-navigation-item__content {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-decoration: none;
}
.nora-nav .wp-block-navigation-item__content:hover,
.nora-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--nora-dore); }
.nora-nav .wp-block-navigation__container { gap: 32px; }
.nora-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--nora-chocolat) !important;
	color: var(--nora-creme) !important;
	padding: 32px 24px;
}
.nora-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 22px; }
.nora-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 16px; }
.nora-nav .wp-block-navigation__responsive-container-open,
.nora-nav .wp-block-navigation__responsive-container-close { color: var(--nora-creme); }

@media (max-width: 781px) {
	.nora-header__inner { min-height: 72px; }
	.nora-logo img { height: 52px; }
}

/* ---------- Pied de page ---------- */
.nora-footer {
	background: var(--nora-chocolat);
	color: rgba(250, 244, 236, 0.78);
	padding: 44px clamp(20px, 5vw, 72px);
	margin: 0;
	font-size: 13px;
	letter-spacing: 2px;
}
.nora-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.nora-footer p { margin: 0; }
.nora-footer a { color: inherit; text-decoration: none; }
.nora-footer a:hover { color: var(--nora-dore); }
.nora-footer .nora-logo img { height: 56px; }
@media (max-width: 781px) {
	.nora-footer__inner { flex-direction: column; text-align: center; }
}

/* ---------- Accueil plein écran ---------- */
.nora-home {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	box-sizing: border-box;
	padding: 24px 72px 28px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	color: #FAF4EC;
	background: #6F4E37 url("assets/images/hero-lionne-desktop.jpg") center 18% / cover no-repeat;
	margin: 0 !important;
}
.nora-home::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(46, 32, 25, 0.32);
	pointer-events: none;
}
.nora-home > * { position: relative; z-index: 1; margin: 0 !important; }
.nora-home__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.nora-home__top .nora-logo img { height: 78px; }
.nora-home__links {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
}
.nora-home__links a { color: #FAF4EC; text-decoration: none; margin-left: 30px; }
.nora-home__links a:hover { color: var(--nora-dore); }
.nora-home__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	text-align: center;
}
.nora-home__bottom h1 { color: #FAF4EC; margin: 0; }
.nora-home__bottom h1 em { color: var(--nora-dore); }
.nora-home__bottom .nora-eyebrow { color: var(--nora-dore); }
.nora-home .nora-pills {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: min(1080px, 100%);
	margin-top: 26px !important;
}
.nora-home .nora-pills .wp-block-button { width: 100%; margin: 0; }
.nora-home .nora-pills .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
	min-height: 92px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	background: var(--nora-sable);
	color: var(--nora-chocolat);
	font-size: 15px;
	padding: 14px 24px;
}
.nora-home .nora-pills .wp-block-button__link:hover { background: #FAF4EC; color: var(--nora-chocolat); }
.nora-pill__sub {
	font-family: var(--nora-serif);
	font-style: italic;
	font-size: 18px;
	letter-spacing: 0;
	text-transform: none;
	color: #7A5236;
}
.nora-home__legal {
	margin: 0;
	font-size: 12px;
	letter-spacing: 2px;
	text-align: center;
	color: rgba(250, 244, 236, 0.72);
}
.nora-home__legal a { color: inherit; text-decoration: none; }

@media (max-width: 781px) {
	.nora-home__bottom { margin-top: auto !important; gap: 12px; }
	.nora-home .nora-eyebrow { letter-spacing: 3px; font-size: 11px !important; }
	.nora-home {
		gap: 20px;
		padding: 16px 20px 20px;
		background-image: url("assets/images/hero-nora-portrait.jpg");
		background-position: center top;
	}
	.nora-home::before { background: linear-gradient(to bottom, rgba(46, 32, 25, 0.05) 25%, rgba(46, 32, 25, 0.78) 72%, rgba(46, 32, 25, 0.85) 100%); }
	.nora-home__top .nora-logo img { height: 60px; }
	.nora-home__links a { margin-left: 16px; font-size: 12px; }
	.nora-home__links .nora-hide-mobile { display: none; }
	.nora-home .nora-pills { grid-template-columns: 1fr; gap: 12px; margin-top: 10px !important; }
	.nora-home .nora-pills .wp-block-button__link { min-height: 64px; font-size: 13px; padding: 10px 18px; }
	.nora-pill__sub { font-size: 16px; }
	.nora-home__legal { font-size: 10px; }
}

/* ---------- Sections ---------- */
.nora-section {
	padding: clamp(56px, 7vw, 96px) var(--nora-gutter);
	margin: 0;
}
.nora-inner { max-width: 1248px; margin-left: auto !important; margin-right: auto !important; }
.nora-inner--narrow { max-width: 900px; }
.nora-center { text-align: center; }
.nora-center .wp-block-buttons { justify-content: center; }

.nora-sable { background: var(--nora-sable); }
.nora-dark, .nora-brun { color: #FAF4EC; }
.nora-dark { background: var(--nora-chocolat); }
.nora-brun { background: var(--nora-brun); }
.nora-dark h1, .nora-dark h2, .nora-dark h3, .nora-brun h1, .nora-brun h2, .nora-brun h3 { color: #FAF4EC; }
.nora-dark em, .nora-brun em { color: var(--nora-dore); }

.nora-eyebrow {
	font-size: 13px !important;
	font-weight: 400;
	letter-spacing: 6px;
	text-transform: uppercase;
	color: var(--nora-cuivre);
	margin-bottom: 0 !important;
}
.nora-dark .nora-eyebrow, .nora-brun .nora-eyebrow { color: var(--nora-dore); }
.nora-eyebrow + h1, .nora-eyebrow + h2 { margin-top: 12px !important; }

.nora-lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.65; }
.nora-dark .nora-lead, .nora-brun .nora-lead { color: rgba(250, 244, 236, 0.9); }
.nora-note { font-size: 14px; color: var(--nora-brun); }
.nora-dark .nora-note, .nora-brun .nora-note { color: rgba(250, 244, 236, 0.72); }

.nora-section .wp-block-buttons { margin-top: 30px; gap: 14px; }
.nora-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.nora-brun .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--nora-sable); color: var(--nora-chocolat); }
.nora-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.nora-brun .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #FAF4EC; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
	padding: 16px 29px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(250, 244, 236, 0.12); color: inherit; }

/* En-tête de section */
.nora-head { margin-bottom: clamp(32px, 4vw, 52px) !important; }
.nora-head h2 { margin: 12px 0 0; }
.nora-head .nora-lead { margin-top: 16px; }

/* Ouverture des pages intérieures */
.nora-hero {
	padding: clamp(64px, 9vw, 120px) var(--nora-gutter);
	margin: 0;
}
.nora-hero h1 { margin: 12px 0 0; }
.nora-hero .nora-lead { max-width: 640px; margin-top: 22px; }
.nora-hero.nora-center .nora-lead { margin-left: auto; margin-right: auto; }

.nora-hero-split { padding: 0; margin: 0; }
.nora-hero-split > .wp-block-columns { gap: 0; margin: 0; align-items: stretch !important; }
.nora-hero-split__text {
	padding: clamp(56px, 8vw, 110px) clamp(20px, 5vw, 72px) clamp(56px, 8vw, 110px) var(--nora-gutter);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.nora-hero-split__text > * { max-width: 580px; }
.nora-hero-split__media { min-height: 420px; }
.nora-hero-split__media .wp-block-image,
.nora-hero-split__media .wp-block-image img { height: 100%; width: 100%; margin: 0; }
.nora-hero-split__media .wp-block-image img { object-fit: cover; object-position: center 20%; min-height: 420px; display: block; }
.nora-hero-split__media .nora-ph { height: 100%; border-radius: 0; }

/* Colonnes */
.nora-cols-top { align-items: flex-start !important; gap: 0 clamp(40px, 7vw, 96px) !important; }
.nora-section .wp-block-columns { gap: clamp(24px, 3vw, 40px); margin-bottom: 0; }
.nora-cols-wide { gap: clamp(40px, 7vw, 96px) !important; align-items: center !important; }

/* Cartes */
.nora-card {
	background: var(--nora-sable);
	border-radius: 24px;
	padding: clamp(26px, 3vw, 40px);
	height: 100%;
	box-sizing: border-box;
}
.nora-sable .nora-card { background: var(--nora-creme); }
.nora-card--outline { background: transparent !important; border: 1px solid var(--nora-sable-fonce); }
.nora-dark .nora-card--outline, .nora-brun .nora-card--outline { border-color: rgba(250, 244, 236, 0.28); }
.nora-card--light { background: var(--nora-sable) !important; color: var(--nora-chocolat); }
.nora-card--light h3, .nora-card--light .nora-price { color: var(--nora-brun) !important; }
.nora-card > * { margin-block: 0; }
.nora-card > * + * { margin-top: 12px !important; }
.nora-card h3 { margin: 0; }
.nora-card .wp-block-buttons { margin-top: 20px !important; }

.nora-label {
	font-size: 13px !important;
	font-weight: 500;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--nora-cuivre);
}
.nora-dark .nora-label, .nora-brun .nora-label { color: inherit; }

.nora-price {
	font-family: var(--nora-serif);
	font-size: clamp(38px, 4vw, 60px) !important;
	font-weight: 500;
	line-height: 1;
}
.nora-dark .nora-price { color: var(--nora-dore); }
.nora-card .nora-price { margin-top: 18px !important; }

/* Étapes */
.nora-num {
	font-family: var(--nora-serif);
	font-style: italic;
	font-size: 54px !important;
	line-height: 1;
	color: var(--nora-caramel);
	margin: 0;
}
.nora-dark .nora-num, .nora-brun .nora-num { color: var(--nora-dore); }
.nora-step-title {
	font-size: 15px !important;
	font-weight: 500;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-top: 12px !important;
}
.nora-step-title + p { margin-top: 10px !important; }
.nora-steps > .wp-block-column > * { margin-block: 0; }
.nora-steps--line > .wp-block-column { border-top: 2px solid var(--nora-caramel); padding-top: 20px; }

/* Listes */
.nora-list { list-style: none; padding: 0; margin: 0; }
.nora-list li { position: relative; padding-left: 24px; margin: 0 0 10px; }
.nora-list li::before { content: "—"; position: absolute; left: 0; color: var(--nora-caramel); }

/* Chiffres */
.nora-stat {
	font-family: var(--nora-serif);
	font-size: clamp(30px, 2.6vw, 40px) !important;
	line-height: 1.05;
	color: var(--nora-brun);
}
.nora-stat + p {
	font-size: 12px !important;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-top: 8px !important;
}

/* Citation */
.nora-quote {
	font-family: var(--nora-serif);
	font-style: italic;
	font-size: clamp(34px, 4vw, 56px) !important;
	line-height: 1.12;
	margin: 0 auto;
	max-width: 1000px;
}
.nora-review {
	font-family: var(--nora-serif);
	font-style: italic;
	font-size: 22px !important;
	line-height: 1.45;
}

/* Emplacements photo */
.nora-ph {
	background: var(--nora-sable-fonce);
	border-radius: 24px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}
.nora-ph p {
	margin: 0;
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-align: center;
	color: var(--nora-brun);
}
.nora-ph--tall { min-height: 560px; }
.nora-ph--short { min-height: 200px; }
.nora-ph--arch { border-radius: 280px 280px 24px 24px; min-height: 560px; }
.nora-dark .nora-ph, .nora-brun .nora-ph { background: #8A6A52; }
.nora-dark .nora-ph p, .nora-brun .nora-ph p { color: rgba(250, 244, 236, 0.85); }

.nora-rounded img { border-radius: 24px; }

/* Programme jour par jour */
.nora-days p { margin: 0; }
.nora-day {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 20px;
	padding: 16px 0;
	border-top: 1px solid rgba(250, 244, 236, 0.18);
	margin: 0 !important;
}
.nora-day:last-child { border-bottom: 1px solid rgba(250, 244, 236, 0.18); }
.nora-day > *:first-child {
	font-family: var(--nora-serif);
	font-style: italic;
	font-size: 23px;
	color: var(--nora-dore);
	line-height: 1.3;
}
@media (max-width: 600px) {
	.nora-day { grid-template-columns: 1fr; gap: 4px; }
}

/* FAQ */
.nora-faq .wp-block-details {
	border-top: 1px solid var(--nora-sable-fonce);
	padding: 20px 0;
	margin: 0 !important;
}
.nora-faq .wp-block-details:last-child { border-bottom: 1px solid var(--nora-sable-fonce); }
.nora-faq summary {
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
	list-style-position: outside;
}
.nora-faq .wp-block-details p { margin-top: 10px; }

/* Formulaires (WPForms) */
.nora-form-card {
	background: var(--nora-sable);
	border-radius: 28px;
	padding: clamp(24px, 4vw, 52px);
}
.nora-sable .nora-form-card { background: var(--nora-creme); }
.nora-form-card .wpforms-container { margin: 0 !important; }
.nora-form-card .wpforms-form input[type="text"],
.nora-form-card .wpforms-form input[type="email"],
.nora-form-card .wpforms-form input[type="tel"],
.nora-form-card .wpforms-form input[type="number"],
.nora-form-card .wpforms-form textarea,
.nora-form-card .wpforms-form select {
	max-width: 100% !important;
	border-radius: 12px !important;
	border: 1px solid var(--nora-sable-fonce) !important;
	background: #FFFFFF !important;
	font-family: var(--nora-sans) !important;
	font-size: 16px !important;
	color: var(--nora-chocolat) !important;
	min-height: 50px;
}
.nora-form-card .wpforms-form .wpforms-field-label,
.nora-form-card .wpforms-form .wpforms-field-sublabel {
	font-family: var(--nora-sans) !important;
	font-weight: 500 !important;
	color: var(--nora-chocolat) !important;
}
.nora-form-card .wpforms-form .wpforms-field-label-inline { font-weight: 300 !important; }
.nora-form-card .wpforms-form button[type="submit"],
.nora-form-card .wpforms-form .wpforms-submit {
	background: var(--nora-chocolat) !important;
	color: var(--nora-creme) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--nora-sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	padding: 17px 32px !important;
	height: auto !important;
}
.nora-form-card .wpforms-form button[type="submit"]:hover { background: var(--nora-brun) !important; }
.nora-shortcode-hint { font-size: 13px; color: var(--nora-brun); }
/* Rappel visible seulement dans l'éditeur, jamais sur le site */
.wp-site-blocks .nora-shortcode-hint { display: none; }
.nora-form-card { color: var(--nora-chocolat); }
.nora-form-card h2, .nora-form-card h3 { color: var(--nora-chocolat) !important; }

/* WooCommerce */
.woocommerce .price, .wc-block-components-product-price { font-family: var(--nora-serif); font-size: 26px; }
.wc-block-components-button:not(.is-link) { border-radius: 999px; }

/* Mobile */
@media (max-width: 781px) {
	.nora-hero-split__media, .nora-hero-split__media .wp-block-image img { min-height: 380px; }
	.nora-hero-split__text { padding-bottom: 48px; }
	.nora-ph--tall, .nora-ph--arch { min-height: 380px; }
	.nora-home__bottom h1 { font-size: 44px; }
}
