/* ════════════════════════════════════════════════════════════════
   PAGES FONCTIONNALITÉS — hub /fonctionnalites + landings dédiées
   (gestion-planning-cours, paiements-factures-automatiques,
   widget-reservation, espace-coach, suivi-financier)
   Préfixe .flp_ — dépend de css/variables.css et style_nav_products.css
   ════════════════════════════════════════════════════════════════ */

body{
	margin: 0;
	background: #FFFFFF;
}

/* ── Topbar ─────────────────────────────────────────────────── */
.flp_topbar{
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,0.92);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--color-border, #E5E7EB);
}
.flp_topbar_in{
	max-width: 1180px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.flp_logo{
	display: flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}
.flp_logo img{ width: 34px; height: 34px; }
.flp_logo #titleco{
	font-family: var(--font-family-logo, Briofont), 'Manrope', sans-serif;
	font-size: 26px;
	font-weight: 800;
	color: #111111;
	margin: 0;
	/* BRIOFONT.otf ne contient que des glyphes majuscules : sans uppercase,
	   « rio » retombe sur la police de fallback. */
	text-transform: uppercase;
	letter-spacing: -2px;
}
.flp_topbar_btns{ display: flex; align-items: center; gap: 10px; }
.flp_btn_signin{
	font-family: 'Manrope', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #FFFFFF;
	background: #111111;
	padding: 9px 20px;
	border-radius: 8px;
	text-decoration: none;
	transition: opacity .2s ease;
}
.flp_btn_signin:hover{ opacity: .85; }
.flp_burger{
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px;
}
.flp_burger .material-symbols-outlined{ font-size: 28px; color: #111111; }

/* ── Menu mobile plein écran ────────────────────────────────── */
.flp_mobilemenu{
	display: none;
	position: fixed;
	inset: 0;
	background: #FFFFFF;
	z-index: 400;
	padding: 20px 24px;
	overflow-y: auto;
}
.flp_mobilemenu.open{ display: block; }
.flp_mobilemenu_close{
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	margin-left: auto;
	display: block;
}
.flp_mobilemenu_close .material-symbols-outlined{ font-size: 26px; color: #111111; }
.flp_mobilemenu_list{
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

/* ── Hero ───────────────────────────────────────────────────── */
.flp_hero{
	padding: 72px 24px 56px;
	text-align: center;
	background:
		radial-gradient(ellipse 60% 50% at 50% -10%, rgba(197,90,54,.08), transparent),
		#FFFFFF;
}
.flp_sc{ max-width: 880px; margin: 0 auto; }
.flp_eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Manrope', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-primary, #C55A36);
	background: rgba(197,90,54,.06);
	border: 1px solid rgba(197,90,54,.12);
	padding: 6px 18px;
	border-radius: 50px;
	margin-bottom: 18px;
}
.flp_eyebrow .material-symbols-outlined{ font-size: 14px; color: var(--color-primary, #C55A36); }
.flp_h1{
	font-family: 'Manrope', sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1.15;
	color: #111111;
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}
.flp_h1 .flp_accent{ color: var(--color-primary, #C55A36); }
.flp_subtitle{
	font-family: 'Mulish', sans-serif;
	font-size: 17px;
	line-height: 1.65;
	color: var(--color-text-secondary, #64738B);
	max-width: 640px;
	margin: 0 auto 28px;
}
.flp_brandline{
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--color-primary, #C55A36);
	letter-spacing: .04em;
	margin: -6px 0 14px;
}
.flp_ctas{
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}
.flp_btn_primary{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #FFFFFF;
	background: var(--color-primary, #C55A36);
	padding: 14px 28px;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .2s ease;
}
.flp_btn_primary:hover{ background: var(--color-primary-hover, #ad4c2c); }
.flp_btn_primary .material-symbols-outlined{ font-size: 18px; color: #FFFFFF;}
.flp_btn_ghost{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #1A1A1A;
	background: transparent;
	border: 1.5px solid var(--color-border-strong, #CBD5E1);
	padding: 14px 28px;
	border-radius: 10px;
	cursor: pointer;
	text-decoration: none;
	transition: all .2s ease;
}
.flp_btn_ghost:hover{
	border-color: var(--color-primary, #C55A36);
	color: var(--color-primary, #C55A36);
}
.flp_micro{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin-top: 18px;
	font-family: 'Mulish', sans-serif;
	font-size: 13px;
	color: var(--color-text-secondary, #64738B);
}
.flp_micro .material-symbols-outlined{ font-size: 15px; color: var(--color-success-green, #22C55E); }

/* ── Grille de bénéfices (3 cartes) ─────────────────────────── */
.flp_benefits{ padding: 40px 24px 64px; }
.flp_benefits_grid{
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.flp_card{
	background: var(--color-surface, #FFFFFF);
	border: 1px solid var(--color-border, #E5E7EB);
	border-radius: 16px;
	padding: 28px 24px;
	transition: box-shadow .2s ease, transform .2s ease;
}
.flp_card:hover{
	box-shadow: 0 10px 28px rgba(17,17,17,.08);
	transform: translateY(-2px);
}
.flp_card_ico{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var(--color-primary-light, #FAEBE6);
	margin-bottom: 16px;
}
.flp_card_ico .material-symbols-outlined{ font-size: 24px; color: var(--color-primary, #C55A36); }
.flp_card_title{
	font-family: 'Manrope', sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: #111111;
	margin: 0 0 8px;
}
.flp_card_copy{
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--color-text-secondary, #64738B);
	margin: 0;
}

/* ── Section split (2 colonnes salles / coachs) ─────────────── */
.flp_split{
	padding: 64px 24px;
	background: var(--color-surface-alt, #F8F8F9);
}
.flp_split_in{
	max-width: 1080px;
	margin: 0 auto;
}
.flp_split_title{
	font-family: 'Manrope', sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: #111111;
	text-align: center;
	margin: 0 0 36px;
}
.flp_split_grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.flp_persona{
	background: var(--color-surface, #FFFFFF);
	border: 1px solid var(--color-border, #E5E7EB);
	border-radius: 16px;
	padding: 32px 28px;
}
.flp_persona_tag{
	display: inline-block;
	font-family: 'Manrope', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-primary, #C55A36);
	background: var(--color-primary-light, #FAEBE6);
	padding: 5px 12px;
	border-radius: 50px;
	margin-bottom: 14px;
}
.flp_persona h3{
	font-family: 'Manrope', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #111111;
	margin: 0 0 16px;
}
.flp_persona ul{
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.flp_persona li{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #1A1A1A;
}
.flp_persona li .material-symbols-outlined{
	font-size: 19px;
	color: var(--color-success-green, #22C55E);
	flex-shrink: 0;
	margin-top: 1px;
}
.flp_persona_link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Manrope', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--color-primary, #C55A36);
	text-decoration: none;
	transition: color .2s ease;
}
.flp_persona_link .material-symbols-outlined{
	font-size: 17px;
	transition: transform .2s ease;
	color: var(--color-primary, #C55A36);
}
/* Hover discret : teinte plus foncée + flèche qui glisse vers la droite */
.flp_persona_link:hover{ color: var(--color-primary-hover, #ad4c2c); }
.flp_persona_link:hover .material-symbols-outlined{ transform: translateX(4px); }

/* ── Étapes numérotées (landing résa régulière) ─────────────── */
.flp_steps{
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.flp_step{
	display: flex;
	align-items: flex-start;
	gap: 18px;
	background: var(--color-surface, #FFFFFF);
	border: 1px solid var(--color-border, #E5E7EB);
	border-radius: 16px;
	padding: 22px 24px;
}
.flp_step_num{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--color-primary-light, #FAEBE6);
	color: var(--color-primary, #C55A36);
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 800;
}
.flp_step strong{
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #111111;
	margin-bottom: 6px;
}
.flp_step p{
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--color-text-secondary, #64738B);
	margin: 0;
}
.flp_steps_cta{
	text-align: center;
	margin-top: 30px;
}
.flp_steps_note{
	text-align: center;
	margin-top: 28px;
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	color: var(--color-text-secondary, #64738B);
}
.flp_steps_note a{
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	color: var(--color-primary, #C55A36);
	text-decoration: none;
	transition: color .2s ease;
}
.flp_steps_note a:hover{ color: var(--color-primary-hover, #ad4c2c); }

/* ── FAQ ────────────────────────────────────────────────────── */
.flp_faq{ padding: 64px 24px; }
.flp_faq_in{ max-width: 880px; margin: 0 auto; }
.flp_faq_title{
	font-family: 'Manrope', sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: #111111;
	text-align: center;
	margin: 0 0 32px;
}
.flp_faq_grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
.flp_fq{
	background: var(--color-surface-alt, #F8F8F9);
	border-radius: 14px;
	padding: 22px 24px;
}
.flp_fq h3{
	font-family: 'Manrope', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #111111;
	margin: 0 0 8px;
}
.flp_fq p{
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--color-text-secondary, #64738B);
	margin: 0;
}

/* ── CTA final ──────────────────────────────────────────────── */
.flp_cta{
	padding: 24px 24px 72px;
}
.flp_cta_box{
	max-width: 1080px;
	margin: 0 auto;
	background: #111111;
	border-radius: 20px;
	padding: 56px 32px;
	text-align: center;
}
.flp_cta_box h2{
	font-family: 'Manrope', sans-serif;
	font-size: 30px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 12px;
}
.flp_cta_box p{
	font-family: 'Mulish', sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255,255,255,.75);
	max-width: 560px;
	margin: 0 auto 26px;
}

/* ── HUB : grille des fonctionnalités ───────────────────────── */
.flp_hub_grid{
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.flp_hub_card{
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--color-surface, #FFFFFF);
	border: 1px solid var(--color-border, #E5E7EB);
	border-radius: 16px;
	padding: 24px 20px;
	text-decoration: none;
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.flp_hub_card:hover{
	box-shadow: 0 10px 28px rgba(17,17,17,.08);
	transform: translateY(-2px);
	border-color: rgba(197,90,54,.35);
}
.flp_hub_card .flp_card_ico{ margin-bottom: 2px; }
.flp_hub_card_title{
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #111111;
	margin: 0;
}
.flp_hub_card_copy{
	font-family: 'Mulish', sans-serif;
	font-size: 13px;
	line-height: 1.55;
	color: var(--color-text-secondary, #64738B);
	margin: 0;
	flex: 1;
}
.flp_hub_card_more{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: 'Manrope', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: var(--color-primary, #C55A36);
}
.flp_hub_card_more .material-symbols-outlined{ font-size: 16px; color: var(--color-primary, #C55A36); }

/* ── HUB : bannières produits (Logiciel de gestion) ─────────── */
.flp_products{ padding: 24px 24px 64px; }
.flp_products_grid{
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.flp_product{
	background: var(--color-surface-alt, #F8F8F9);
	border: 1px solid var(--color-border, #E5E7EB);
	border-radius: 16px;
	padding: 32px 28px;
}
.flp_product_kicker{
	font-family: 'Manrope', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-text-secondary, #64738B);
	margin: 0 0 8px;
}
.flp_product h3{
	font-family: 'Manrope', sans-serif;
	font-size: 24px;
	font-weight: 800;
	color: #111111;
	margin: 0;
}
.flp_product_brand{
	font-family: 'Manrope', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--color-primary, #C55A36);
	letter-spacing: .04em;
	margin: 4px 0 12px;
}
.flp_product p.flp_product_copy{
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--color-text-secondary, #64738B);
	margin: 0 0 20px;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media screen and (max-width: 1080px){
	.flp_topbar_btns{ display: none; }
	.flp_burger{ display: block; }
}
@media screen and (max-width: 960px){
	.flp_hub_grid{ grid-template-columns: repeat(2, 1fr); }
	.flp_benefits_grid{ grid-template-columns: 1fr; max-width: 520px; }
	.flp_split_grid{ grid-template-columns: 1fr; }
	.flp_products_grid{ grid-template-columns: 1fr; }
}
@media screen and (max-width: 640px){
	.flp_h1{ font-size: 30px; }
	.flp_hero{ padding: 48px 20px 40px; }
	.flp_hub_grid{ grid-template-columns: 1fr; }
	.flp_ctas{ flex-direction: column; align-items: stretch; }
	.flp_btn_primary, .flp_btn_ghost{ justify-content: center; }
	.flp_cta_box h2{ font-size: 24px; }
}
