/*==========================================================
Fichier CSS dédié - L'Harmonie du Bien-Être
Ce fichier ne modifie AUCUNE classe du template Chiropractic
(assets/css/style.css). Il ajoute uniquement le style des
nouvelles sections : Header, Footer, Nos Prestations, Boutique,
Abonnements, Blog, Newsletter.
==========================================================*/

:root{
	--hbe-green:#1F4D3A;
	--hbe-green-dark:#33482F;
	--hbe-beige:#F4EFE6;
	--hbe-offwhite:#FBF9F5;
	--hbe-gold:#C9A24B;
	--hbe-text:#2E2A22;
	--green-pale:   #CFE0D2;  
	
	--hbe-green-forest: #1F4D3A; /* Vert Forêt - Primaire */
	--hbe-green-sage:   #9CAF88; /* Vert Sauge */
	--hbe-beige-sand:   #E8DDCF; /* Beige Sable */
	--hbe-offwhite:     #F8F6F2; /* Blanc Cassé - Fond principal */
	--hbe-gold-champ:   #C6A66A; /* Champagne - Accentuation */
	--hbe-text-dark:    #242424; /* Noir Profond */
	--hbe-stone-gray:   #777777; /* Gris Pierre */
	--hbe-shadow-soft:  0 20px 60px rgba(0, 0, 0, 0.08); /* Ombres douces spa */
}

/*========== Header L'Harmonie ==========*/

/*==========================================================
	HEADER L'HARMONIE (STYLE REVISÉ & OPTIMISÉ NAV)
==========================================================*/

.hbe-header {
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06); /* Ombre portée douce style Chiropractic */
	border-bottom: 1px solid #eeeeee;
}

/* Alignement et espacement de la marque */
.hbe-header .navbar-brand {
	flex-shrink: 0;
}

/* Liste de navigation principale */
.hbe-nav {
	list-style: none;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

/* Liens de navigation */
.hbe-nav a {
	color: #202020; /* Texte foncé réel */
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .5px;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
}

.hbe-nav a:hover {
	color: #C6A66A; /* Transition vers l'Or Champagne */
}

/* Style de la page courante (Active) - Chic et épuré */
.hbe-nav a.active {
	color: #C6A66A !important; /* Couleur Champagne officielle */
	border-bottom: 2px solid #C6A66A; /* Soulignement délicat */
}

/* Conteneur d'icônes à droite */
.hbe-header-icons {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* Liens icônes (Wishlist & Panier) */
.nav-icon-link {
	position: relative;
	color: #1F4D3A; /* Vert Forêt */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: color 0.3s ease;
}

.nav-icon-link svg {
	width: 22px;
	height: 22px;
	stroke: #1F4D3A;
	transition: stroke 0.3s ease;
}

.nav-icon-link:hover svg {
	stroke: #C6A66A;
}

/* Badges de comptage */
.nav-icon-link .badge,
.hbe-header-icons .hbe-count {
	position: absolute;
	top: -6px;
	right: -8px;
	background-color: #1F4D3A; /* Vert Forêt */
	color: #ffffff;
	font-size: 9px;
	font-weight: 700;
	line-height: 15px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ffffff;
	padding: 0;
}

/* Bouton de réservation (Angles de 10px style Chiropractic d'origine) */

.hbe-btn-reserver
 {
    background-color: #1F4D3A;
    color: #ffffff !important;
    border-radius: 999px;
    font-weight: 700;
    padding: 12px 26px;
    text-transform: none;
    letter-spacing: 0;
    border: solid 2px #1F4D3A;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-align: center;
    font-size: 14px;
    margin-left: 0px;
    white-space: nowrap;
}

.hbe-btn-reserverold {
	background-color: #1F4D3A; /* Vert Forêt */
	color: #ffffff !important;
	border-radius: 10px; /* Aligné sur Chiropractic */
	font-weight: 700;
	padding: 10px 5px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: solid 2px #1F4D3A;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	font-size: 11px;
}

.hbe-btn-reserver:hover {
	background-color: #C6A66A;
	border-color: #C6A66A;
	color: #ffffff !important;
}

/*==========================================================
	GESTION RESPONSIVE ET SÉCURITÉ DE LA NAV (MEDIA QUERIES)
==========================================================*/

/* Écrans de taille standard et Ultra-larges (Luxe & Respiration maximale) */
@media (min-width: 1200px) {
	.hbe-nav {
		gap: 20px; /* Espacement optimal */
	}
	nav {
		margin-left: 25px; /* Écarte nettement le logo du menu */
		margin-right: 25px; /* Écarte nettement le menu de la Wishlist */
	}
	.hbe-header-icons {
		gap: 20px;
	}
	.hbe-btn-reserver {
		padding: 10px 22px;
		font-size: 12px;
	}
}

/* Écrans moyens (Laptops / Écrans 13-14 pouces) : Prévention stricte du wrapping */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.hbe-nav {
		gap: 14px; /* Compression douce de la nav pour éviter de casser la ligne */
	}
	nav {
		margin-left: 20px; /* Maintient une séparation de sécurité */
		margin-right: 20px;
	}
	.hbe-nav a {
		font-size: 11px; /* Réduction subtile de la taille pour rester sur une seule ligne */
	}
	.hbe-header-icons {
		gap: 14px;
	}
	.hbe-btn-reserver {
		padding: 8px 15px; /* Bouton plus compact */
		font-size: 11px;
	}
}

/* Version tablettes et mobiles d'origine */
@media (max-width: 991.98px) {
	.hbe-header-icons {
		gap: 12px;
	}
}

/*========== Nos Prestations (cartes) ==========*/

.hbe-prestation-card{
	position:relative;
}

.hbe-prestation-card .content{
	background-color:var(--hbe-offwhite);
	border:1px solid #e7e0d2;
	border-radius:6px;
	padding:25px 20px 30px;
}

.hbe-prestation-card .price{
	color:var(--hbe-gold);
	font-weight:700;
	font-size:17px;
	margin-bottom:8px;
	display:block;
}

.hbe-btn-decouvrir{
	display:inline-block;
	margin-top:16px;
	padding:8px 26px;
	border:2px solid var(--hbe-green);
	color:var(--hbe-green);
	border-radius:30px;
	font-size:13px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.5px;
	transition:.25s all;
}

.hbe-btn-decouvrir:hover{
	background-color:var(--hbe-green);
	color:#fff;
}

/*==========================================================
	GABARIT DE STYLE : BOUTIQUE & ABONNEMENTS (STYLE CHIROPRACTIC)
==========================================================*/

/*==========================================================
	STYLE CHIC & DIRECT-RESPONSE : SECTION BOUTIQUE
==========================================================*/

/* Element parent de la boutique */
.hbe-boutique-section {
	background-color: #ffffff; 
	padding-top: 70px;
	padding-bottom: 80px;
}

/* Grille de cartes produits */
.hbe-produit-card {
	background-color: #ffffff;
	border-radius: 10px; /* Bordures d'angle identiques aux éléments Chiropractic */
	overflow: hidden;
	border: 1px solid #dddddd;
	box-shadow: 0 4px 15px rgba(0,0,0,0.05);
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
}

.hbe-produit-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.hbe-produit-card figure {
	margin-bottom: 0;
	background-color: #ffffff;
	overflow: hidden;
}

.hbe-produit-card figure img {
	transition: transform 0.3s ease;
}

.hbe-produit-card:hover figure img {
	transform: scale(1.03); /* Effet d'échelle discret et élégant */
}

.hbe-produit-card .content {
	padding: 22px 20px 25px;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}

.hbe-produit-card .content h5 {
	font-size: 16px;
	font-weight: 700;
	color: #202020;
	margin-bottom: 8px;
}

.hbe-produit-card .price {
	color: #1e3f20; /* Vert forêt distinctif */
	font-weight: 700;
	font-size: 18px;
	display: block;
	margin-bottom: 18px;
}

/* Bouton principal de commande par produit */
.hbe-btn-commander {
	display: inline-block;
	background-color: #c5a880; /* Teinte dorée/champagne */
	color: #ffffff;
	padding: 10px 24px;
	border-radius: 10px; /* Consistance sur tout le modèle */
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: solid 2px #c5a880;
	transition: all 0.3s ease;
	text-decoration: none;
	width: 100%;
}

.hbe-btn-commander:hover {
	background-color: #1e3f20;
	border-color: #1e3f20;
	color: #ffffff;
}

/* Cartes produits boutique : boutons compacts, alignés sur une seule ligne */
.hbe-produit-card .content .d-flex{ align-items:center; flex-wrap:nowrap; }
.hbe-produit-card .hbe-btn-commander{
	width:auto;
	flex:1 1 auto;
	min-width:0;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	padding:9px 12px;
	font-size:13px;
	letter-spacing:.3px;
	border-radius:8px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.hbe-produit-card .hbe-icon-btn{ flex-shrink:0; width:36px; height:36px; }
.hbe-produit-card .hbe-btn-decouvrir{
	padding:8px 18px;
	font-size:11px;
	border-radius:8px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	box-shadow:none;
}

/* Bouton de redirection globale de la boutique (Style CTA Orange d'origine) */
.hbe-btn-decouvrir {
	display: inline-block;
	background-color: #1F4D3A; /* Orange d'action iconique de Chiropractic */
	color: #ffffff;
	padding: 9px 35px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: solid 2px #1F4D3A;
	transition: all 0.3s ease;
	text-decoration: none;
	box-shadow: 0 4px 15px rgba(252, 100, 6, 0.15);
}

.hbe-btn-decouvrir:hover {
	background-color: transparent;
	color: #1F4D3A;
	border-color: #1F4D3A;
	box-shadow: none;
}

/*========== Abonnements ==========*/

.hbe-abonnement-section {
	background-color: #f0f0f0;
	padding-top: 70px;
	padding-bottom: 80px;
}

.hbe-plan-card {
	background-color: #fff;
	border-radius: 10px; /* Angles identiques aux boutons de Chiropractic */
	padding: 35px 28px;
	text-align: center;
	height: 100%;
	position: relative;
	border: 1px solid #dddddd;
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.hbe-plan-card.hbe-popular {
	border: 3px solid #1F4D3A; /* Utilisation de l'orange d'action de Chiropractic pour la mise en avant */
}

.hbe-plan-card .hbe-badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #1F4D3A; /* Orange d'origine de Chiropractic */
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 5px 16px;
	border-radius: 20px;
	white-space: nowrap;
	letter-spacing: 1px;
}

.hbe-plan-card .hbe-kicker {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 11px;
	color: #c5a880; /* Teinte Or */
	font-weight: 700;
	display: block;
	margin-bottom: 5px;
}

.hbe-plan-card h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 8px 0 10px;
	color: #202020;
}

.hbe-plan-card .hbe-price {
	font-size: 34px;
	font-weight: 700;
	color: #1e3f20;
	margin-bottom: 14px;
}

.hbe-plan-card .hbe-price span {
	font-size: 14px;
	font-weight: 400;
	color: #666666;
}

.hbe-plan-card ul {
	list-style: none;
	padding: 0;
	margin: 0 0 25px;
	text-align: left;
}

.hbe-plan-card ul li {
	padding: 8px 0 8px 26px;
	position: relative;
	font-size: 14px;
	color: #444444;
	border-bottom: 1px solid #eeeeee;
}

.hbe-plan-card ul li:last-child {
	border-bottom: none;
}

.hbe-plan-card ul li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #1F4D3A; /* Puces orange vif */
	font-weight: 700;
	font-size: 16px;
	top: 5px;
}

.hbe-btn-choisir {
	display: inline-block;
	background-color: #1F4D3A; /* Orange d'action Chiropractic */
	color: #fff;
	padding: 12px 30px;
	border-radius: 10px; /* Bord arrondi identique aux boutons d'origine */
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .5px;
	width: 100%;
	border: solid 2px #1F4D3A;
	transition: all 0.3s ease;
	text-align: center;
	text-decoration: none;
}

.hbe-btn-choisir:hover {
	background-color: transparent;
	color: #1F4D3A;
	border-color: #1F4D3A;
}

/*========== Blog ==========*/

.hbe-blog-section{
	background-color:#fff;
}

.hbe-article-card{
	background-color:#fff;
	border-radius:6px;
	overflow:hidden;
	box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.hbe-article-card .content{
	padding:20px;
}

.hbe-article-card .hbe-date{
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:1px;
	color:var(--hbe-gold);
	font-weight:600;
}

.hbe-article-card h3{
	font-size:19px;
	font-weight:700;
	margin:8px 0;
}

.hbe-lire-plus{
	color:var(--hbe-green-dark);
	font-weight:600;
	font-size:14px;
	text-decoration:underline !important;
}

/*========== Newsletter ==========*/

.hbe-newsletter-section{
	background-color:var(--hbe-green);
	text-align:center;
}

.hbe-newsletter-section h2{
	color:#fff;
	font-weight:700;
}

.hbe-newsletter-section p{
	color:#eef3ee;
	max-width:600px;
	margin:0 auto 25px;
}

.hbe-newsletter-form{
	max-width:480px;
	margin:0 auto;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	justify-content:center;
}

.hbe-newsletter-form input[type="email"]{
	flex:1 1 280px;
	padding:14px 18px;
	border-radius:30px;
	border:none;
	font-size:14px;
}

.hbe-newsletter-form button{
	background-color:var(--hbe-gold);
	color:#fff;
	border:none;
	padding:14px 28px;
	border-radius:30px;
	font-weight:600;
	text-transform:uppercase;
	font-size:13px;
	letter-spacing:.5px;
}

.hbe-newsletter-form button:hover{
	background-color:var(--hbe-green-dark);
}

/*========== Footer L'Harmonie (Styles et Newsletter Révisés) ==========*/

.hbe-footer {
	background-color: #112113; /* Noir/Vert très sombre de pied de page */
	padding-top: 60px;
	padding-bottom: 30px;
	border-top: 5px solid #C6A66A; /* Or Champagne de la charte officielle */
}

.hbe-footer h5 {
	font-family: 'Playfair Display', sans-serif;
	color: #ffffff;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: 1px;
	margin-bottom: 20px;
	font-weight: 700;
}

.hbe-footer p, 
.hbe-footer li, 
.hbe-footer a {
	color: #ffffff;
	font-size: 14px;
	text-decoration: none;
}

.hbe-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.hbe-footer ul li {
	margin-bottom: 10px;
}

.hbe-footer a:hover {
	color: #C6A66A; /* Passage à la couleur Or Champagne */
}

.hbe-footer .hbe-social a:hover {
	border-color: #C6A66A;
	background-color: #C6A66A;
	color: #ffffff;
}

/*--- Formulaire de Newsletter du Pied de page (Style d'angle à 10px) ---*/
.hbe-footer-newsletter-form {
	margin-top: 12px;
	max-width: 320px;
}

.hbe-newsletter-input-group {
	display: flex;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px; /* Aligné sur les 10px de Chiropractic */
	overflow: hidden;
	background-color: rgba(255, 255, 255, 0.05);
	transition: border-color 0.3s ease;
}

.hbe-newsletter-input-group:focus-within {
	border-color: #C6A66A; /* Devient Or Champagne lors de la saisie */
}

.hbe-newsletter-input-group input[type="email"] {
	border: none;
	background: transparent;
	padding: 10px 14px;
	color: #ffffff;
	font-size: 13px;
	width: 100%;
	outline: none;
}

.hbe-newsletter-input-group input[type="email"]::placeholder {
	color: #a3b098;
	opacity: 0.8;
}

.hbe-newsletter-input-group button {
	border: none;
	background-color: #C6A66A; /* Or Champagne */
	color: #ffffff;
	padding: 10px 16px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hbe-newsletter-input-group button:hover {
	background-color: #1F4D3A; /* Devient Vert Forêt au survol */
}

.hbe-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	margin-top: 40px;
	padding-top: 20px;
	text-align: center;
	font-size: 13px;
	color: #a3b098;
}


/*==========================================================
	SECTION PAS (PROBLEM - AGITATE - SOLUTION)
==========================================================*/

.hbe-pas-section {
	background-color: #F8F6F2; /* Fond Blanc Cassé officiel */
	padding-top: 80px;
	padding-bottom: 80px;
}

.hbe-pas-visual-wrapper {
	position: relative;
}

/* Image avec angles arrondis style charte HBE */
.hbe-pas-img {
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
	transition: transform 0.4s ease;
}

.hbe-pas-img:hover {
	transform: scale(1.02);
}

.hbe-pas-content-wrapper {
	padding-left: 20px;
}

.hbe-pas-kicker {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: #C6A66A; /* Champagne */
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.hbe-pas-title {
	font-family: 'Playfair Display', 'Montserrat', sans-serif;
	font-size: 38px;
	font-weight: 700;
	color: #1F4D3A; /* Vert Forêt */
	margin-bottom: 25px;
}

.hbe-pas-block {
	margin-bottom: 20px;
}

/* Citation / Problème */
.hbe-pas-quote {
	font-family: 'Playfair Display', sans-serif;
	font-size: 19px;
	font-style: italic;
	font-weight: 600;
	color: #1F4D3A;
	border-left: 3px solid #C6A66A;
	padding-left: 15px;
	line-height: 1.5;
	margin-bottom: 0;
}

/* Agitation & Textes */
.hbe-pas-block p {
	font-size: 15px;
	line-height: 1.7;
	color: black; /* Gris Pierre */
}

/* Solution block */
.hbe-pas-solution h4 {
	font-size: 15px;
	color: #1F4D3A;
	margin-bottom: 12px;
}

.hbe-pas-list {
	list-style: none;
	padding-left: 0;
	margin: 15px 0 0 0;
}

.hbe-pas-list li {
	position: relative;
	padding-left: 25px;
	font-size: 14px;
	color: #242424;
	margin-bottom: 10px;
}

.hbe-pas-list li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #C6A66A;
	font-weight: 700;
	font-size: 15px;
}

/* Boutons d'Action Côte à Côte */
.hbe-pas-actions {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

.hbe-pas-btn {
	display: inline-block;
	padding: 13px 28px;
	border-radius: 12px; /* Coins à 12px selon la charte */
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	text-decoration: none;
	transition: all 0.3s ease;
	text-align: center;
	flex: 1 1 200px;
}

/* Bouton Réservation (Couleur Vert Forêt) */
.hbe-btn-reserve {
	background-color: #1F4D3A;
	color: #ffffff !important;
	border: 2px solid #1F4D3A;
}

.hbe-btn-reserve:hover {
	background-color: #C6A66A;
	border-color: #C6A66A;
}

/* Bouton Abonnement (Contour Champagne / Fond Transparent) */
.hbe-btn-subscribe {
	background-color: transparent;
	color: #C6A66A !important;
	border: 2px solid #C6A66A;
}

.hbe-btn-subscribe:hover {
	background-color: #C6A66A;
	color: #ffffff !important;
}

/* Responsive */
@media (max-width: 991.98px) {
	.hbe-pas-section {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.hbe-pas-content-wrapper {
		padding-left: 0;
	}
	.hbe-pas-title {
		font-size: 30px;
	}
}
/*==========================================================
	MOBILE NAV TOGGLE (Accessibilité & Responsive)
==========================================================*/
.hbe-nav-toggle{
	display:none;
	background:none;
	border:2px solid var(--hbe-green-forest);
	border-radius:8px;
	width:38px;
	height:38px;
	align-items:center;
	justify-content:center;
	margin-left:10px;
	cursor:pointer;
}
.hbe-nav-toggle span,
.hbe-nav-toggle span:before,
.hbe-nav-toggle span:after{
	content:"";
	display:block;
	width:18px;
	height:2px;
	background:var(--hbe-green-forest);
	position:relative;
	transition:.25s;
}
.hbe-nav-toggle span:before{ position:absolute; top:-6px; }
.hbe-nav-toggle span:after{ position:absolute; top:6px; }
@media (max-width: 991.98px){
	.hbe-nav-toggle{ display:inline-flex; }
	nav.hbe-mobile-nav-wrap{
		display:block !important;
		position:fixed;
		top:0; right:-320px;
		width:300px; max-width:85vw; height:100vh;
		background:var(--hbe-offwhite);
		box-shadow:-10px 0 40px rgba(0,0,0,.15);
		padding:90px 26px 30px;
		transition:right .35s ease;
		z-index:1200;
		overflow-y:auto;
	}
	nav.hbe-mobile-nav-wrap.is-open{ right:0; }
	.hbe-nav{ flex-direction:column; align-items:flex-start; gap:22px !important; }
	.hbe-nav-backdrop{
		display:none;
		position:fixed; inset:0; background:rgba(31,77,58,.45);
		z-index:1100;
	}
	.hbe-nav-backdrop.is-open{ display:block; }
	.hbe-nav-close{
		position:absolute; top:22px; right:22px;
		background:none; border:none; font-size:26px; color:var(--hbe-green-forest);
		line-height:1; cursor:pointer;
	}
}

/*==========================================================
	FIL D'ARIANE (BREADCRUMB)
==========================================================*/
.hbe-breadcrumb{
	background:var(--hbe-offwhite);
	padding:16px 0;
	border-bottom:1px solid #ece4d5;
	margin-top:0;
}

.hbe-breadcrumb ol{
	list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0;
	font-size:13px; color:var(--hbe-stone-gray);
}
.hbe-breadcrumb a{ color:var(--hbe-green-forest); text-decoration:none; font-weight:600; }
.hbe-breadcrumb a:hover{ color:var(--hbe-gold-champ); }
.hbe-breadcrumb li:not(:last-child):after{ content:"/"; margin-left:6px; color:#c8bfa8; }

/*==========================================================
	HERO GÉNÉRIQUE (pages secondaires)
==========================================================*/
.hbe-page-hero{
	background:linear-gradient(135deg, var(--hbe-green-forest), var(--hbe-green-dark));
	color:#fff;
	padding:90px 0 70px;
	text-align:center;
	position:relative;
	overflow:hidden;
}
.hbe-page-hero:before{
	content:"";
	position:absolute; inset:0;
	background:radial-gradient(circle at 80% 20%, rgba(198,166,106,.25), transparent 55%);
	pointer-events:none;
	z-index:0;
}

.hbe-page-hero h1{
	font-family:'Cormorant Garamond','Playfair Display',serif;
	font-size:44px; font-weight:700; margin-bottom:14px; position:relative;
}
.hbe-page-hero p{
	max-width:640px; margin:0 auto; font-size:17px; opacity:.92; position:relative;
}
.hbe-page-hero .hbe-kicker{
	text-transform:uppercase; letter-spacing:2px; font-size:12px;
	color:var(--hbe-gold-champ); font-weight:700; display:block; margin-bottom:14px;
}
@media (max-width:767.98px){
	.hbe-page-hero{ padding:70px 0 50px; }
	.hbe-page-hero h1{ font-size:32px; }
}

/*==========================================================
	BOUTONS COMMUNS
==========================================================*/
.hbe-btn-primary-lg{
	display:inline-block; background:var(--hbe-green-forest); color:#fff !important;
	padding:15px 36px; border-radius:12px; font-weight:700; text-transform:uppercase;
	letter-spacing:.6px; font-size:13px; border:2px solid var(--hbe-green-forest);
	transition:.3s; text-decoration:none;
}
.hbe-btn-primary-lg:hover{ background:var(--hbe-gold-champ); border-color:var(--hbe-gold-champ); color:#fff !important; }
.hbe-btn-outline-lg{
	display:inline-block; background:transparent; color:var(--hbe-green-forest) !important;
	padding:13px 34px; border-radius:12px; font-weight:700; text-transform:uppercase;
	letter-spacing:.6px; font-size:13px; border:2px solid var(--hbe-green-forest);
	transition:.3s; text-decoration:none;
}
.hbe-btn-outline-lg:hover{ background:var(--hbe-green-forest); color:#fff !important; }

/* CTA orange d'origine Chiropractic - réservé exclusivement aux CTA principaux */
.hbe-btn-cta{
	display:inline-block; background:#FC6406; color:#fff !important;
	padding:15px 38px; border-radius:12px; font-weight:700; text-transform:uppercase;
	letter-spacing:.6px; font-size:13px; border:2px solid #FC6406;
	transition:.3s; text-decoration:none; box-shadow:0 14px 30px rgba(252,100,6,.28);
}
.hbe-btn-cta:hover{ background:#e35800; border-color:#e35800; color:#fff !important; transform:translateY(-2px); }
/* Sticky CTA mobile (réservation) */
.hbe-sticky-cta{
	display:none;
	position:fixed; left:0; right:0; bottom:0; z-index:900;
	background:#fff; padding:12px 16px; box-shadow:0 -8px 24px rgba(0,0,0,.12);
}
@media (max-width:767.98px){
	.hbe-sticky-cta{ display:flex; gap:10px; }
	.hbe-sticky-cta a{ flex:1; text-align:center; padding:13px 10px; font-size:12px; }
	body{ padding-bottom:70px; }
}

/*==========================================================
	PREUVE SOCIALE / NOTES / TÉMOIGNAGES
==========================================================*/
.hbe-rating{ color:var(--hbe-gold-champ); font-size:13px; letter-spacing:1px; }
.hbe-rating .hbe-rating-count{ color:var(--hbe-stone-gray); font-size:12.5px; margin-left:6px; }
.hbe-social-proof{
	display:inline-flex; align-items:center; gap:10px; background:var(--hbe-offwhite);
	border:1px solid #ece4d5; border-radius:30px; padding:8px 18px; font-size:13px;
	color:var(--hbe-text-dark); margin-top:18px;
}
.hbe-testimonial-card{
	background:#fff; border:1px solid #ece4d5; border-radius:14px; padding:28px 26px;
	box-shadow:var(--hbe-shadow-soft); height:100%;
}
.hbe-testimonial-card p{ font-style:italic; color:var(--hbe-text-dark); margin:14px 0; }
.hbe-testimonial-card .hbe-author{ font-weight:700; color:var(--hbe-green-forest); font-size:14px; }
.hbe-testimonial-card .hbe-role{ font-size:12px; color:var(--hbe-stone-gray); }

/*==========================================================
	FAQ ACCORDÉON
==========================================================*/
.hbe-faq-item{
	border:1px solid #ece4d5; border-radius:12px; margin-bottom:14px; overflow:hidden; background:#fff;
}
.hbe-faq-question{
	width:100%; text-align:left; background:var(--hbe-offwhite); border:none;
	padding:18px 22px; font-weight:700; color:var(--hbe-text-dark); font-size:15.5px;
	display:flex; justify-content:space-between; align-items:center; cursor:pointer;
}
.hbe-faq-question:after{ content:"+"; font-size:20px; color:var(--hbe-green-forest); transition:.3s; }
.hbe-faq-item.is-open .hbe-faq-question:after{ content:"–"; }
.hbe-faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; padding:0 22px; }
.hbe-faq-item.is-open .hbe-faq-answer{ padding:6px 22px 20px; }
.hbe-faq-answer p{ margin:0; color:var(--hbe-stone-gray); line-height:1.75; font-size:14.5px; }

/*==========================================================
	FICHE PRESTATION / PRODUIT (Landing premium)
==========================================================*/
.hbe-benefit-card{
	background:#fff; border:1px solid #ece4d5; border-radius:14px; padding:30px 24px;
	text-align:center; height:100%; box-shadow:var(--hbe-shadow-soft); transition:.3s;
}
.hbe-benefit-card:hover{ transform:translateY(-4px); }
.hbe-benefit-card .hbe-icon{
	width:56px; height:56px; border-radius:50%; background:var(--hbe-green-sage);
	display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:#fff; font-size:22px;
}
.hbe-step{ display:flex; gap:18px; margin-bottom:26px; }
.hbe-step .hbe-step-num{
	flex-shrink:0; width:42px; height:42px; border-radius:50%; background:var(--hbe-green-forest);
	color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Cormorant Garamond',serif; font-size:18px;
}
.hbe-profile-chip{
	display:inline-block; background:var(--hbe-beige-sand); color:var(--hbe-text-dark);
	padding:8px 18px; border-radius:30px; font-size:13px; margin:4px; font-weight:600;
}

/*==========================================================
	BOUTIQUE / PRODUIT - EXTRAS
==========================================================*/
.hbe-cart-drawer{
	position:fixed; top:0; right:-420px; width:400px; max-width:92vw; height:100vh;
	background:#fff; z-index:1400; box-shadow:-14px 0 50px rgba(0,0,0,.18);
	transition:right .4s ease; display:flex; flex-direction:column;
}
.hbe-cart-drawer.is-open{ right:0; }
.hbe-cart-backdrop{
	position:fixed; inset:0; background:rgba(31,77,58,.45); z-index:1300; display:none;
}
.hbe-cart-backdrop.is-open{ display:block; }
.hbe-cart-head{
	display:flex; justify-content:space-between; align-items:center;
	padding:22px 24px; border-bottom:1px solid #ece4d5;
}
.hbe-cart-head h3{ font-family:'Cormorant Garamond',serif; font-size:22px; margin:0; color:var(--hbe-green-forest); }
.hbe-cart-close{ background:none; border:none; font-size:24px; color:var(--hbe-stone-gray); cursor:pointer; }
.hbe-cart-items{ flex:1; overflow-y:auto; padding:18px 24px; }
.hbe-cart-line{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #f0ece2; }
.hbe-cart-line img{ width:64px; height:64px; object-fit:cover; border-radius:8px; }
.hbe-cart-line .hbe-cart-line-info{ flex:1; }
.hbe-cart-line h6{ margin:0 0 4px; font-size:14px; color:var(--hbe-text-dark); }
.hbe-cart-line .hbe-qty{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.hbe-cart-line .hbe-qty button{
	width:24px; height:24px; border-radius:6px; border:1px solid #ddd; background:#fff; cursor:pointer;
}
.hbe-cart-remove{ background:none; border:none; color:#b5442e; font-size:12px; cursor:pointer; text-decoration:underline; margin-top:6px; }
.hbe-cart-empty{ text-align:center; padding:60px 10px; color:var(--hbe-stone-gray); }
.hbe-cart-foot{ padding:20px 24px 26px; border-top:1px solid #ece4d5; }
.hbe-cart-subtotal{ display:flex; justify-content:space-between; font-weight:700; color:var(--hbe-text-dark); margin-bottom:14px; font-size:15px; }
.hbe-trust-row{
	display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin:26px 0;
	font-size:15px; color:var(--hbe-stone-gray);
}
.hbe-trust-row span{ display:flex; align-items:center; gap:6px; }
.hbe-trust-row i{ color:var(--hbe-green-forest); }
.hbe-sticky-add{
	display:none; position:fixed; left:0; right:0; bottom:0; z-index:900; background:#fff;
	padding:12px 16px; box-shadow:0 -8px 24px rgba(0,0,0,.12); align-items:center; gap:12px;
}
@media (max-width:767.98px){ .hbe-sticky-add{ display:flex; } }

/*==========================================================
	WIZARD DE RÉSERVATION
==========================================================*/
.hbe-wizard-progress{ display:flex; justify-content:center; gap:0; margin:0 0 46px; flex-wrap:wrap; }
.hbe-wizard-step{ display:flex; align-items:center; gap:10px; padding:0 18px; position:relative; }
.hbe-wizard-step .hbe-num{
	width:38px; height:38px; border-radius:50%; border:2px solid #d8cfba; color:#b3a689;
	display:flex; align-items:center; justify-content:center; font-weight:700; background:#fff; transition:.3s;
}
.hbe-wizard-step .hbe-label{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:#b3a689; }
.hbe-wizard-step.is-active .hbe-num, .hbe-wizard-step.is-done .hbe-num{ border-color:var(--hbe-green-forest); background:var(--hbe-green-forest); color:#fff; }
.hbe-wizard-step.is-active .hbe-label, .hbe-wizard-step.is-done .hbe-label{ color:var(--hbe-green-forest); }
.hbe-wizard-step:not(:last-child):after{
	content:""; position:absolute; top:19px; left:100%; width:36px; height:2px; background:#e4dcc7;
}
.hbe-wizard-panel{ display:none; }
.hbe-wizard-panel.is-active{ display:block; animation:hbeFade .4s ease; }
@keyframes hbeFade{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
.hbe-choice-card{
	border:2px solid #ece4d5; border-radius:14px; padding:22px; cursor:pointer; transition:.25s; height:100%; background:#fff;
}
.hbe-choice-card:hover{ border-color:var(--hbe-green-sage); }
.hbe-choice-card.is-selected{ border-color:var(--hbe-green-forest); background:var(--hbe-offwhite); box-shadow:var(--hbe-shadow-soft); }
.hbe-choice-card h5{ color:var(--hbe-green-forest); margin-bottom:6px; }
.hbe-slot{
	border:2px solid #ece4d5; border-radius:10px; padding:10px 6px; text-align:center; font-size:13px;
	font-weight:700; cursor:pointer; transition:.2s; background:#fff; color:var(--hbe-text-dark);
}
.hbe-slot.is-taken{ background:#f2efe8; color:#c3bba6; border-color:#f2efe8; cursor:not-allowed; text-decoration:line-through; }
.hbe-slot.is-available:hover{ border-color:var(--hbe-green-sage); }
.hbe-slot.is-selected{ background:var(--hbe-green-forest); border-color:var(--hbe-green-forest); color:#fff; }
.hbe-wizard-summary{
	background:var(--hbe-offwhite); border:1px solid #ece4d5; border-radius:14px; padding:24px; position:sticky; top:100px;
}
.hbe-wizard-summary h5{ color:var(--hbe-green-forest); margin-bottom:16px; }
.hbe-line{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	flex-wrap:wrap; font-size:14px; margin-bottom:10px; color:var(--hbe-text-dark);
	padding:9px 0; border-bottom:1px solid #f0ece2;
}
.hbe-line:last-child{ border-bottom:none; margin-bottom:0; }
.hbe-line > span:first-child{ min-width:0; }
.hbe-line .hbe-pill{ flex-shrink:0; white-space:nowrap; }
.hbe-wizard-summary .hbe-line{ font-size:14px; margin-bottom:10px; padding:0 0 10px; border-bottom:none; }
.hbe-wizard-nav{ display:flex; justify-content:space-between; margin-top:34px; }
.hbe-mobile-wizard-bar{
	display:none; position:fixed; left:0; right:0; bottom:0; z-index:900; background:#fff;
	padding:12px 16px; box-shadow:0 -8px 24px rgba(0,0,0,.12); gap:10px;
}
@media (max-width:767.98px){ .hbe-mobile-wizard-bar{ display:flex; } }

/*==========================================================
	FORMULAIRES ACCESSIBLES
==========================================================*/
.hbe-form-group{ margin-bottom:20px; text-align:left; }
.hbe-form-group label{ display:block; font-weight:700; font-size:13.5px; color:var(--hbe-text-dark); margin-bottom:7px; }
.hbe-form-group .hbe-req{ color:#b5442e; }
.hbe-form-group input,
.hbe-form-group select,
.hbe-form-group textarea{
	width:100%; padding:13px 16px; border:1.5px solid #ddd3ba; border-radius:10px; font-size:14.5px;
	background:#fff; color:var(--hbe-text-dark); transition:.2s;
}
.hbe-form-group input:focus,
.hbe-form-group select:focus,
.hbe-form-group textarea:focus{ outline:none; border-color:var(--hbe-green-forest); box-shadow:0 0 0 3px rgba(31,77,58,.12); }
.hbe-form-error{ color:#b5442e; font-size:12.5px; margin-top:6px; display:none; }
.hbe-form-group.has-error input, .hbe-form-group.has-error select, .hbe-form-group.has-error textarea{ border-color:#b5442e; }
.hbe-form-group.has-error .hbe-form-error{ display:block; }
.hbe-form-hint{ font-size:12px; color:var(--hbe-stone-gray); margin-top:5px; }
.hbe-toast{
	position:fixed; top:100px; right:24px; z-index:1600; background:var(--hbe-green-forest); color:#fff;
	padding:16px 22px; border-radius:12px; box-shadow:var(--hbe-shadow-soft); font-size:14px; font-weight:600;
	display:flex; align-items:center; gap:10px; transform:translateX(120%); transition:transform .35s ease;
}
.hbe-toast.is-visible{ transform:translateX(0); }
.hbe-toast i{ color:var(--hbe-gold-champ); }

/*==========================================================
	COMPARATIF ABONNEMENTS
==========================================================*/
.hbe-compare-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--hbe-shadow-soft); }
.hbe-compare-table th, .hbe-compare-table td{ padding:16px 18px; border-bottom:1px solid #f0ece2; font-size:14px; text-align:center; }
.hbe-compare-table th:first-child, .hbe-compare-table td:first-child{ text-align:left; color:var(--hbe-text-dark); font-weight:600; }
.hbe-compare-table thead th{ background:var(--hbe-green-forest); color:#fff; font-family:'Cormorant Garamond',serif; font-size:17px; }
.hbe-compare-table td i.fa-check{ color:var(--hbe-green-forest); }
.hbe-compare-table td i.fa-times{ color:#c9beac; }

/*==========================================================
	CONNEXION / RÔLES
==========================================================*/
.hbe-auth-wrap{ max-width:960px; margin:0 auto; }
.hbe-role-card{
	border:2px solid #ece4d5; border-radius:16px; padding:34px 24px; text-align:center; cursor:pointer;
	transition:.25s; background:#fff; height:100%;
}
.hbe-role-card:hover{ border-color:var(--hbe-green-sage); transform:translateY(-3px); }
.hbe-role-card .hbe-role-icon{
	width:64px; height:64px; border-radius:50%; background:var(--hbe-beige-sand); color:var(--hbe-green-forest);
	display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:26px;
}
.hbe-auth-card{ background:#fff; border:1px solid #ece4d5; border-radius:16px; padding:40px 34px; box-shadow:var(--hbe-shadow-soft); max-width:460px; margin:0 auto; }

/*==========================================================
	DASHBOARDS (CLIENT / ADMIN)
==========================================================*/
.hbe-dash{ background:var(--hbe-offwhite); min-height:100vh; padding-top:76px; }
.hbe-dash-shell{ display:flex; min-height:calc(100vh - 76px); }
/* Espace Administration : pas de header public fixe au-dessus, donc pas de décalage */
.hbe-dash-noheader{ padding-top:0; }
.hbe-dash-noheader .hbe-dash-shell{ min-height:100vh; }
.hbe-dash-sidebar{
	width:270px; flex-shrink:0; background:#fff; border-right:1px solid #ece4d5; padding:28px 18px;
}
.hbe-dash-sidebar .hbe-dash-user{ text-align:center; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid #ece4d5; }
.hbe-dash-avatar{
	width:64px; height:64px; border-radius:50%; background:var(--hbe-green-forest); color:#fff;
	display:flex; align-items:center; justify-content:center; margin:0 auto 10px; font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:700;
}
.hbe-dash-nav{ list-style:none; padding:0; margin:0; }
.hbe-dash-nav li{ margin-bottom:4px; }
.hbe-dash-nav .hbe-dash-nav-btn{
	width:100%; text-align:left; background:none; border:none; padding:12px 14px; border-radius:10px;
	font-size:14px; font-weight:600; color:var(--hbe-text-dark); align-items:center; gap:10px; cursor:pointer; transition:.2s;
	text-decoration:none; border-left:3px solid transparent; display:flex;
}
.hbe-dash-nav .hbe-dash-nav-btn:hover{ background:var(--hbe-offwhite); border-left-color:var(--hbe-gold-champ); color:var(--hbe-green-forest); }
.hbe-dash-nav .hbe-dash-nav-btn:focus-visible{ outline:2px solid var(--hbe-green-forest); outline-offset:-2px; }
.hbe-dash-nav .hbe-dash-nav-btn.is-active{ background:var(--hbe-green-forest); color:#fff; border-left-color:var(--hbe-gold-champ); }
.hbe-dash-nav .hbe-dash-nav-btn i{ width:18px; text-align:center; color:var(--hbe-green-forest); }
.hbe-dash-nav .hbe-dash-nav-btn.is-active i,
.hbe-dash-nav .hbe-dash-nav-btn:hover i{ color:inherit; }
.hbe-dash-nav .hbe-dash-nav-btn.hbe-nav-logout{ color:#a13f26; margin-top:10px; border-top:1px solid #ece4d5; padding-top:16px; border-radius:0; }
.hbe-dash-nav .hbe-dash-nav-btn.hbe-nav-logout i{ color:#a13f26; }
.hbe-dash-nav .hbe-dash-nav-btn.hbe-nav-logout:hover{ background:#fbeee9; border-left-color:#a13f26; }
@media (min-width:992px){
	.hbe-dash-noheader .hbe-dash-sidebar .hbe-dash-user{ display:none; }
	.hbe-dash-noheader .hbe-dash-sidebar{ padding-top:30px; }
}
.hbe-dash-main{ flex:1; padding:32px 34px 60px; overflow-x:hidden; margin-top:0; }
.hbe-dash-panel{ display:none; }
.hbe-dash-panel.is-active{ display:block; animation:hbeFade .35s ease; }
.hbe-dash-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; flex-wrap:wrap; gap:14px; }
.hbe-dash-topbar h2{ font-family:'Cormorant Garamond',serif; color:var(--hbe-green-forest); font-size:28px; margin:0; }
.hbe-stat-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:18px; margin-bottom:30px; }
.hbe-stat-grid.hbe-stat-grid-3{ grid-template-columns:repeat(3, 1fr); }
@media (max-width:767.98px){ .hbe-stat-grid.hbe-stat-grid-3{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:479.98px){ .hbe-stat-grid.hbe-stat-grid-3{ grid-template-columns:1fr; } }
.hbe-stat-card{ background:#fff; border:1px solid #ece4d5; border-radius:14px; padding:22px; box-shadow:var(--hbe-shadow-soft); }
.hbe-stat-card .hbe-stat-label{ font-size:12.5px; text-transform:uppercase; letter-spacing:.5px; color:#5b5b5b; font-weight:700; }
.hbe-stat-card .hbe-stat-value{ font-family:'Cormorant Garamond',serif; font-size:32px; color:var(--hbe-green-forest); font-weight:700; margin:6px 0; font-variant-numeric:lining-nums; font-feature-settings:"lnum"; }
.hbe-stat-card .hbe-stat-delta{ font-size:12px; color:#3d7a2e; font-weight:700; }
.hbe-dash-card{ background:#fff; border:1px solid #ece4d5; border-radius:14px; padding:24px; margin-bottom:22px; box-shadow:var(--hbe-shadow-soft); }
.hbe-dash-card h4{ color:var(--hbe-green-forest); font-family:'Cormorant Garamond',serif; font-size:20px; margin-bottom:16px; }
.hbe-table{ width:100%; border-collapse:collapse; }
.hbe-table th{ text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--hbe-stone-gray); padding:10px 12px; border-bottom:2px solid #ece4d5; }
.hbe-table td{ padding:12px; border-bottom:1px solid #f0ece2; font-size:13.5px; color:var(--hbe-text-dark); vertical-align:middle; }
.hbe-table tr:hover td{ background:#fbf9f5; }
.hbe-pill{ display:inline-block; padding:5px 14px; border-radius:20px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
.hbe-pill-green{ background:#e2ecdf; color:var(--hbe-green-forest); }
.hbe-pill-gold{ background:#f3ead4; color:#8a6a2b; }
.hbe-pill-red{ background:#f6e1dc; color:#a13f26; }
.hbe-pill-gray{ background:#eee; color:#777; }
.hbe-progress-track{ background:#ece4d5; border-radius:20px; height:8px; overflow:hidden; }
.hbe-progress-fill{ background:var(--hbe-green-forest); height:100%; border-radius:20px; }
.hbe-mini-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.hbe-mini-cal .hbe-cal-cell{ background:#fff; border:1px solid #ece4d5; border-radius:8px; padding:8px 4px; font-size:11px; text-align:center; min-height:60px; }
.hbe-mini-cal .hbe-cal-cell .hbe-cal-day{ font-weight:700; color:var(--hbe-text-dark); }
.hbe-mini-cal .hbe-cal-cell .hbe-cal-tag{ display:block; margin-top:4px; background:var(--hbe-green-sage); color:#fff; border-radius:5px; padding:2px 3px; font-size:9.5px; }
.hbe-dash-empty{ text-align:center; padding:40px 10px; color:var(--hbe-stone-gray); }
.hbe-icon-btn{ width:34px; height:34px; border-radius:8px; border:1px solid #ddd3ba; background:#fff; display:inline-flex; align-items:center; justify-content:center; color:var(--hbe-green-forest); cursor:pointer; }
.hbe-btn-sm{ padding:8px 16px; border-radius:8px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; border:2px solid var(--hbe-green-forest); background:var(--hbe-green-forest); color:#fff !important; text-decoration:none; display:inline-block; cursor:pointer; }
.hbe-btn-sm:hover{ background:var(--hbe-gold-champ); border-color:var(--hbe-gold-champ); }
.hbe-btn-sm-outline{ padding:8px 16px; border-radius:8px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; border:2px solid var(--hbe-green-forest); background:transparent; color:var(--hbe-green-forest) !important; text-decoration:none; display:inline-block; cursor:pointer; }
.hbe-dash-mobile-toggle{ display:none; }
@media (max-width:991.98px){
	.hbe-dash-shell{ flex-direction:column; }
	.hbe-dash-sidebar{
		width:100%; position:fixed; top:0; left:-300px; height:100vh; z-index:1200; transition:left .35s ease;
		box-shadow:14px 0 40px rgba(0,0,0,.15);
	}
	.hbe-dash-sidebar.is-open{ left:0; }
	.hbe-dash-main{ padding:22px 16px 60px; }
	.hbe-dash-mobile-toggle{
		display:inline-flex; align-items:center; gap:8px; background:var(--hbe-green-forest); color:#fff;
		border:none; padding:10px 16px; border-radius:8px; font-size:12.5px; font-weight:700; cursor:pointer; margin-bottom:16px;
	}
}

/*==========================================================
	IMAGE PLACEHOLDER (à remplacer par la photographie finale)
==========================================================*/
.hbe-img-ph{ background:linear-gradient(135deg, var(--hbe-green-sage), var(--hbe-beige-sand)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:12px; text-align:center; }

/*==========================================================
	ADMIN TOPBAR (propre à l'espace administration)
==========================================================*/
.hbe-admin-topbar{
	position:relative; z-index:10; background:#fff; border-bottom:1px solid #ece4d5;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:18px 28px; margin:-32px -34px 26px;
}
.hbe-admin-topbar .hbe-admin-search{
	flex:1; max-width:360px; position:relative; margin:0;
}
.hbe-admin-topbar .hbe-admin-search input{
	width:100%; padding:10px 16px 10px 38px; border-radius:10px; border:1.5px solid #ece4d5; font-size:13.5px; background:var(--hbe-offwhite);
	transition:.2s;
}
.hbe-admin-topbar .hbe-admin-search input:hover{ border-color:#ddd3ba; }
.hbe-admin-topbar .hbe-admin-search input:focus{ outline:none; border-color:var(--hbe-green-forest); box-shadow:0 0 0 3px rgba(31,77,58,.1); background:#fff; }
.hbe-admin-topbar .hbe-admin-search i{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--hbe-stone-gray); font-size:13px; pointer-events:none; }
.hbe-admin-topbar .hbe-admin-actions{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
.hbe-admin-bell > button, .hbe-admin-profile > button{
	background:none; border:none; cursor:pointer; display:flex; align-items:center; border-radius:8px; transition:.2s;
}
.hbe-admin-bell > button:hover, .hbe-admin-profile > button:hover{ background:var(--hbe-offwhite); }
.hbe-admin-bell > button:focus-visible, .hbe-admin-profile > button:focus-visible{ outline:2px solid var(--hbe-green-forest); outline-offset:2px; }
.hbe-admin-bell{ position:relative; color:var(--hbe-green-forest); font-size:18px; }
.hbe-admin-bell > button{ padding:8px; }
.hbe-admin-bell .hbe-count{
	position:absolute; top:2px; right:2px; background:var(--hbe-gold-champ); color:#1F4D3A; font-size:9px; font-weight:800;
	width:15px; height:15px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff;
}
.hbe-admin-profile > button{ gap:10px; padding:6px 10px 6px 6px; }
.hbe-admin-profile .hbe-dash-avatar{ width:36px; height:36px; font-size:15px; margin:0; }
.hbe-admin-profile .hbe-admin-role{ font-size:11px; color:#5b5b5b; }
.hbe-admin-breadcrumb{ font-size:12px; color:#5b5b5b; margin-bottom:4px; }
.hbe-admin-breadcrumb a{ color:var(--hbe-green-forest); text-decoration:none; font-weight:600; }
.hbe-admin-breadcrumb a:hover{ text-decoration:underline; }
.dropdown-menu .dropdown-item{ font-size:13px; color:var(--hbe-text-dark); }
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus{ background:var(--hbe-offwhite); color:var(--hbe-green-forest); }
.dropdown-menu .dropdown-item.text-danger:hover{ background:#fbeee9; }
.dropdown-menu .dropdown-header{ font-size:11px; letter-spacing:.5px; }
@media (max-width:991.98px){
	.hbe-admin-topbar{ margin:-22px -16px 18px; padding:12px 16px; flex-wrap:wrap; }
	.hbe-admin-topbar .hbe-admin-search{ order:3; max-width:100%; flex-basis:100%; }
}
.hbe-dash-sidebar-backdrop{
	display:none; position:fixed; inset:0; background:rgba(31,77,58,.45); z-index:1150;
}
.hbe-dash-sidebar-backdrop.is-open{ display:block; }

/*==========================================================
	MODALES ADMIN (CRUD)
==========================================================*/
.hbe-modal-backdrop{
	position:fixed; inset:0; background:rgba(31,77,58,.5); z-index:1500; display:none; align-items:center; justify-content:center; padding:20px;
}
.hbe-modal-backdrop.is-open{ display:flex; }
.hbe-modal{
	background:#fff; border-radius:16px; max-width:560px; width:100%; max-height:88vh; overflow-y:auto;
	box-shadow:0 30px 80px rgba(0,0,0,.25); animation:hbeFade .25s ease; transition:max-width .2s ease;
}
.hbe-modal.hbe-modal-xl{ max-width:820px; }
.hbe-modal-head{ display:flex; justify-content:space-between; align-items:center; padding:22px 26px; border-bottom:1px solid #ece4d5; }
.hbe-modal-head h3{ font-family:'Cormorant Garamond',serif; color:var(--hbe-green-forest); font-size:21px; margin:0; }
.hbe-modal-close{ background:none; border:none; font-size:22px; color:var(--hbe-stone-gray); cursor:pointer; }
.hbe-modal-body{ padding:24px 26px; }
.hbe-modal-body .row > [class*="col-"]{ margin-bottom:2px; }
.hbe-modal-foot{ padding:16px 26px 24px; display:flex; justify-content:flex-end; gap:10px; }
.hbe-modal-foot button{
	height:42px; padding:0 24px; border-radius:10px; font-size:13px; font-weight:700; cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center; border:2px solid transparent; transition:.2s;
}
.hbe-modal-foot .hbe-modal-btn-cancel{ background:transparent; border-color:#ddd3ba; color:var(--hbe-text-dark); }
.hbe-modal-foot .hbe-modal-btn-cancel:hover{ background:var(--hbe-offwhite); }
.hbe-modal-foot .hbe-modal-btn-save{ background:var(--hbe-green-forest); border-color:var(--hbe-green-forest); color:#fff; }
.hbe-modal-foot .hbe-modal-btn-save:hover{ background:var(--hbe-gold-champ); border-color:var(--hbe-gold-champ); }
.hbe-modal-foot .hbe-modal-btn-save.hbe-modal-btn-danger{ background:#a13f26; border-color:#a13f26; }
.hbe-modal-foot .hbe-modal-btn-save.hbe-modal-btn-danger:hover{ background:#8a3520; border-color:#8a3520; }

/* Import / Export toolbar */
.hbe-io-bar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.hbe-io-bar .hbe-btn-sm-outline{ display:inline-flex; align-items:center; gap:6px; }
.hbe-io-note{ font-size:11.5px; color:#5b5b5b; margin-top:6px; }

/* Pagination */
.hbe-pagination{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid #ece4d5; }
.hbe-pagination .hbe-pagination-info{ font-size:12.5px; color:#5b5b5b; }
.hbe-pagination .hbe-pagination-btns{ display:flex; gap:6px; }
.hbe-pagination button{
	width:34px; height:34px; border-radius:8px; border:1px solid #ddd3ba; background:#fff; color:var(--hbe-text-dark);
	font-size:13px; font-weight:700; cursor:pointer; transition:.2s;
}
.hbe-pagination button:hover:not(:disabled){ background:var(--hbe-offwhite); }
.hbe-pagination button.is-active{ background:var(--hbe-green-forest); border-color:var(--hbe-green-forest); color:#fff; }
.hbe-pagination button:disabled{ opacity:.4; cursor:not-allowed; }

/* Upload de fichier (image / galerie) */
.hbe-upload-zone{
	border:2px dashed #ddd3ba; border-radius:12px; padding:24px; text-align:center; cursor:pointer;
	background:var(--hbe-offwhite); transition:.2s; color:#5b5b5b; font-size:13px;
}
.hbe-upload-zone:hover{ border-color:var(--hbe-green-sage); }
.hbe-upload-zone i{ font-size:22px; color:var(--hbe-green-forest); display:block; margin-bottom:8px; }
.hbe-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(70px,1fr)); gap:8px; margin-top:12px; }
.hbe-gallery-grid img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:8px; border:1px solid #ece4d5; }
.hbe-gallery-thumb{ position:relative; }
.hbe-gallery-thumb button{
	position:absolute; top:-6px; right:-6px; width:18px; height:18px; border-radius:50%; background:#a13f26; color:#fff;
	border:none; font-size:10px; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.hbe-table-toolbar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:16px; }
.hbe-table-toolbar input[type="search"]{ padding:10px 14px; border-radius:10px; border:1.5px solid #ece4d5; font-size:13.5px; min-width:220px; }
.hbe-table-toolbar select{ padding:10px 14px; border-radius:10px; border:1.5px solid #ece4d5; font-size:13.5px; }
.hbe-table-actions{ display:flex; gap:6px; }
.hbe-table-actions button{ background:none; border:none; cursor:pointer; color:var(--hbe-green-forest); font-size:14px; padding:4px 6px; }
.hbe-table-actions button.hbe-danger{ color:#a13f26; }
.hbe-empty-row td{ text-align:center; padding:30px; color:var(--hbe-stone-gray); }
.hbe-kpi-row{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.hbe-toggle{ position:relative; display:inline-block; width:40px; height:22px; }
.hbe-toggle input{ opacity:0; width:0; height:0; }
.hbe-toggle .hbe-slider{ position:absolute; cursor:pointer; inset:0; background:#dcd4bf; border-radius:22px; transition:.2s; }
.hbe-toggle .hbe-slider:before{ position:absolute; content:""; height:16px; width:16px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:.2s; }
.hbe-toggle input:checked + .hbe-slider{ background:var(--hbe-green-forest); }
.hbe-toggle input:checked + .hbe-slider:before{ transform:translateX(18px); }
.hbe-tag-chip{ display:inline-flex; align-items:center; gap:6px; background:var(--hbe-offwhite); border:1px solid #ece4d5; border-radius:20px; padding:5px 12px; font-size:12px; margin:2px; }
.hbe-tag-chip button{ background:none; border:none; color:#a13f26; cursor:pointer; font-size:12px; }

/*==========================================================
	ONGLETS PARAMÈTRES (Settings tabs)
==========================================================*/
.hbe-settings-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; border-bottom:1px solid #ece4d5; padding-bottom:14px; }
.hbe-settings-tabs button{
	background:none; border:1.5px solid #ece4d5; color:var(--hbe-text-dark); padding:9px 18px; border-radius:30px;
	font-size:12.5px; font-weight:700; cursor:pointer; transition:.2s; display:inline-flex; align-items:center; gap:6px;
}
.hbe-settings-tabs button:hover{ border-color:var(--hbe-green-sage); }
.hbe-settings-tabs button.is-active{ background:var(--hbe-green-forest); border-color:var(--hbe-green-forest); color:#fff; }
.hbe-settings-panel{ display:none; }
.hbe-settings-panel.is-active{ display:block; animation:hbeFade .3s ease; }
.hbe-logo-upload-row{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hbe-logo-preview{ width:90px; height:90px; border-radius:14px; background:var(--hbe-offwhite); border:1px solid #ece4d5; display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; }
.hbe-logo-preview img{ width:100%; height:100%; object-fit:contain; }
.hbe-api-key-row{ display:flex; gap:8px; align-items:center; }
.hbe-api-key-row input{ font-family:monospace; font-size:12.5px; }

/* Chiffres alignés (lining figures) partout où Cormorant Garamond affiche des montants */
[style*="Cormorant Garamond"], .price, .hbe-price, .hbe-stat-value{
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum";
}

/*==========================================================
	ICÔNES SOCIALES (fix : rendues comme liens bruts non stylés)
==========================================================*/
.hbe-social{ display:flex; gap:10px; flex-wrap:wrap; }
.hbe-social a{
	width:38px; height:38px; border-radius:50%; background:var(--hbe-offwhite); border:1px solid #ece4d5;
	display:inline-flex; align-items:center; justify-content:center; color:var(--hbe-green-forest);
	text-decoration:none; font-size:15px; transition:.2s;
}
.hbe-social a:hover{ background:var(--hbe-green-forest); color:#fff; border-color:var(--hbe-green-forest); transform:translateY(-2px); }

/*==========================================================
	WIDGET WHATSAPP FLOTTANT
==========================================================*/
.hbe-whatsapp-widget{
	position:fixed; right:22px; bottom:22px; z-index:1000;
}
.hbe-whatsapp-btn{
	width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; border:none;
	display:flex; align-items:center; justify-content:center; font-size:26px; cursor:pointer;
	box-shadow:0 10px 30px rgba(37,211,102,.4); transition:.25s;
}
.hbe-whatsapp-btn:hover{ transform:scale(1.08); }
.hbe-whatsapp-panel{
	position:absolute; bottom:72px; right:0; width:290px; background:#fff; border-radius:16px;
	box-shadow:0 20px 60px rgba(0,0,0,.25); overflow:hidden; display:none; animation:hbeFade .25s ease;
}
.hbe-whatsapp-panel.is-open{ display:block; }
.hbe-whatsapp-head{ background:#25D366; color:#fff; padding:16px 18px; display:flex; align-items:center; gap:10px; }
.hbe-whatsapp-head i{ font-size:22px; }
.hbe-whatsapp-head div strong{ display:block; font-size:14px; }
.hbe-whatsapp-head div span{ font-size:11.5px; opacity:.9; }
.hbe-whatsapp-body{ padding:16px 18px; }
.hbe-whatsapp-body p{ font-size:13px; color:var(--hbe-text-dark); background:var(--hbe-offwhite); border-radius:12px; padding:12px 14px; margin-bottom:14px; }
.hbe-whatsapp-body a{
	display:flex; align-items:center; justify-content:center; gap:8px; background:#25D366; color:#fff;
	text-decoration:none; padding:11px; border-radius:10px; font-weight:700; font-size:13px;
}
.hbe-whatsapp-body a:hover{ background:#1ebc59; }
.hbe-whatsapp-close{ background:none; border:none; color:#fff; font-size:18px; margin-left:auto; cursor:pointer; }
@media (max-width:479.98px){
	.hbe-whatsapp-widget{ right:14px; bottom:14px; }
	.hbe-whatsapp-panel{ width:calc(100vw - 28px); right:-8px; }
}

/*==========================================================
	FICHE CONNEXION — bordures de champs plus visibles (A11Y)
==========================================================*/
.hbe-form-group input,
.hbe-form-group select,
.hbe-form-group textarea{ border-width:1.5px; border-color:#c9beac; }

/*==========================================================
	CARTE NEWSLETTER SIDEBAR (fond foncé) — contraste WCAG AA
==========================================================*/
.hbe-newsletter-card-dark{
	background:var(--hbe-green-forest); border-color:var(--hbe-green-forest);
	border-radius:16px; padding:28px 24px; box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.hbe-newsletter-card-dark h4{ color:#fff; }
.hbe-newsletter-card-dark p{ color:rgba(255,255,255,.85); font-size:13px; }
.hbe-newsletter-card-dark input[type="email"]{
	border-radius:10px; border:1px solid rgba(255,255,255,.35); padding:12px 15px;
	background:rgba(255,255,255,.12); color:#fff; margin-bottom:10px; width:100%; outline:none;
}
.hbe-newsletter-card-dark input[type="email"]::placeholder{ color:#d1dad2; }
.hbe-newsletter-card-dark input[type="email"]:focus{ background:rgba(255,255,255,.2); border-color:#fff; }
.hbe-newsletter-card-dark button[type="submit"]{
	border-radius:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:12px;
	background:var(--hbe-gold-champ); color:var(--hbe-green-forest) !important; border:none; width:100%;
	cursor:pointer; transition:.25s;
}
.hbe-newsletter-card-dark button[type="submit"]:hover{ background:#fff; color:var(--hbe-green-forest) !important; }

/*==========================================================
	AUTH SOCIALE (Google / Facebook) + RECHERCHE BLOG
==========================================================*/
.hbe-social-auth{ display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.hbe-social-auth-btn{
	display:flex; align-items:center; justify-content:center; gap:10px;
	border:1.5px solid #ddd3ba; background:#fff; border-radius:10px; padding:11px;
	font-size:13.5px; font-weight:700; color:var(--hbe-text-dark); text-decoration:none; cursor:pointer; transition:.2s;
}
.hbe-social-auth-btn:hover{ background:var(--hbe-offwhite); border-color:var(--hbe-green-sage); }
.hbe-social-auth-btn i{ font-size:16px; }
.hbe-social-auth-btn.hbe-google i{ color:#DB4437; }
.hbe-social-auth-btn.hbe-facebook i{ color:#1877F2; }
.hbe-auth-divider{ display:flex; align-items:center; gap:14px; margin:6px 0 20px; color:#5b5b5b; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.hbe-auth-divider:before, .hbe-auth-divider:after{ content:""; flex:1; height:1px; background:#ece4d5; }

.hbe-search-group{ position:relative; display:flex; max-width:460px; margin:0 auto; }
.hbe-search-group input[type="search"]{
	flex:1; padding:14px 50px 14px 18px; border-radius:10px; border:none; font-size:14.5px;
}
.hbe-search-group button{
	position:absolute; right:6px; top:50%; transform:translateY(-50%);
	width:38px; height:38px; border-radius:8px; background:var(--hbe-green-forest); border:none; color:#fff;
	display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s;
}
.hbe-search-group button:hover{ background:var(--hbe-gold-champ); }
.hbe-breadcrumb.hbe-breadcrumb-center ol{ justify-content:center; }

/*==========================================================
	STABILITÉ DE MISE EN PAGE (CLS) — dimensions réservées
	avant chargement des images, pour éviter tout décalage
	visuel pendant le chargement des polices/images.
==========================================================*/
.hbe-article-card figure{ margin:0; aspect-ratio:16/10; overflow:hidden; background:var(--hbe-offwhite); }
.hbe-article-card figure img{ width:100%; height:100%; object-fit:cover; }
.hbe-produit-card figure{ margin:0; aspect-ratio:1/1; overflow:hidden; background:var(--hbe-offwhite); }
.hbe-produit-card figure img{ width:100%; height:100%; object-fit:cover; }
.hbe-prestation-card figure{ margin:0; aspect-ratio:4/3; overflow:hidden; background:var(--hbe-offwhite); }
.hbe-prestation-card figure img{ width:100%; height:100%; object-fit:cover; }


/*==========================================================
	SAISIE CODE OTP
==========================================================*/
.hbe-otp-group{ display:flex; gap:10px; justify-content:center; margin-bottom:20px; }
.hbe-otp-input{
	width:48px; height:56px; text-align:center; font-size:22px; font-weight:700;
	border:1.5px solid #ddd3ba; border-radius:10px; color:var(--hbe-text-dark);
	font-family:'Manrope', sans-serif;
}
.hbe-otp-input:focus{ outline:none; border-color:var(--hbe-green-forest); box-shadow:0 0 0 3px rgba(31,77,58,.12); }
@media (max-width:380px){
	.hbe-otp-input{ width:40px; height:48px; font-size:18px; }
	.hbe-otp-group{ gap:6px; }
}

/*==========================================================
	AVANT / APRÈS (StoryBrand PAS) — pages prestations
==========================================================*/
.hbe-before-after{ display:grid; grid-template-columns:1fr auto 1fr; gap:28px; align-items:center; }
@media (max-width:767.98px){ .hbe-before-after{ grid-template-columns:1fr; } }
.hbe-ba-card{ background:#fff; border-radius:18px; padding:32px 28px; box-shadow:var(--hbe-shadow-soft); height:100%; }
.hbe-ba-card.hbe-ba-before{ border:1.5px solid #e7ded0; }
.hbe-ba-card.hbe-ba-after{ border:1.5px solid var(--hbe-green-sage); background:var(--hbe-offwhite); }
.hbe-ba-card h3{ font-family:'Cormorant Garamond',serif; font-size:22px; margin-bottom:18px; }
.hbe-ba-before h3{ color:#8a7a5c; }
.hbe-ba-after h3{ color:var(--hbe-green-forest); }
.hbe-ba-card ul{ list-style:none; padding:0; margin:0; }
.hbe-ba-card li{ display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; font-size:14.5px; color:var(--hbe-text-dark); }
.hbe-ba-before li i{ color:#b3a689; }
.hbe-ba-after li i{ color:var(--hbe-green-forest); }
.hbe-ba-arrow{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--hbe-green-forest); color:#fff; font-size:20px; margin:0 auto; }
@media (max-width:767.98px){ .hbe-ba-arrow{ transform:rotate(90deg); } }

/*==========================================================
	COMPARATIF DES PRESTATIONS
==========================================================*/
.hbe-service-compare-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--hbe-shadow-soft); }
.hbe-service-compare-table th, .hbe-service-compare-table td{ padding:16px 20px; border-bottom:1px solid #f0ece2; font-size:14px; text-align:left; }
.hbe-service-compare-table thead th{ background:var(--hbe-green-forest); color:#fff; font-family:'Cormorant Garamond',serif; font-size:16px; font-weight:600; }
.hbe-service-compare-table tbody tr:last-child td{ border-bottom:none; }
.hbe-service-compare-table tbody tr.is-current{ background:var(--hbe-offwhite); font-weight:700; }
.hbe-service-compare-table td a{ color:var(--hbe-green-forest); font-weight:700; text-decoration:none; }
.hbe-service-compare-table td a:hover{ text-decoration:underline; }

/*==========================================================
	AVIS CLIENTS AVEC PHOTO (variante enrichie)
==========================================================*/
.hbe-testimonial-photo{ width:52px; height:52px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.hbe-testimonial-card .hbe-testi-head{ display:flex; align-items:center; gap:12px; margin-top:14px; }

/*==========================================================
	PAGES LÉGALES — composants (sommaire, catégories cookies,
	bloc confiance, checklist droits RGPD)
==========================================================*/
.hbe-legal-toc{ background:var(--hbe-offwhite); border:1px solid #ece4d5; border-radius:14px; padding:22px 26px; margin-bottom:34px; }
.hbe-legal-toc h2{ font-size:15px; text-transform:uppercase; letter-spacing:.5px; color:var(--hbe-green-forest); margin-bottom:12px; font-family:'Manrope',sans-serif; font-weight:800; }
.hbe-legal-toc ol{ columns:2; column-gap:30px; padding-left:20px; margin:0; }
.hbe-legal-toc li{ margin-bottom:8px; font-size:13.5px; }
.hbe-legal-toc a{ color:var(--hbe-text-dark); text-decoration:none; }
.hbe-legal-toc a:hover{ color:var(--hbe-green-forest); text-decoration:underline; }
@media (max-width:575.98px){ .hbe-legal-toc ol{ columns:1; } }

.hbe-legal-section{ margin-bottom:44px; scroll-margin-top:100px; }
.hbe-legal-section h2{ font-family:'Cormorant Garamond',serif; color:var(--hbe-green-forest); font-size:26px; margin-bottom:14px; }
.hbe-legal-section h3{ color:var(--hbe-text-dark); font-size:16px; font-weight:700; margin:20px 0 8px; }
.hbe-legal-section p, .hbe-legal-section li{ color:var(--hbe-text-dark); line-height:1.85; font-size:15px; }
.hbe-legal-check-list{ list-style:none; padding:0; margin:0 0 16px; }
.hbe-legal-check-list li{ padding-left:28px; position:relative; margin-bottom:10px; }
.hbe-legal-check-list li:before{ content:"\\2713"; position:absolute; left:0; top:1px; color:var(--hbe-green-forest); font-weight:800; }

.hbe-cookie-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--hbe-shadow-soft); margin-bottom:30px; }
.hbe-cookie-table th, .hbe-cookie-table td{ padding:16px 20px; border-bottom:1px solid #f0ece2; font-size:14px; text-align:left; vertical-align:top; }
.hbe-cookie-table thead th{ background:var(--hbe-green-forest); color:#fff; font-family:'Cormorant Garamond',serif; font-size:16px; }
.hbe-cookie-table tbody tr:last-child td{ border-bottom:none; }
.hbe-cookie-table .hbe-cookie-status{ display:inline-flex; align-items:center; gap:8px; }
.hbe-cookie-table .hbe-toggle{ margin:0; }

.hbe-trust-footer{ background:var(--hbe-offwhite); border:1px solid #ece4d5; border-radius:16px; padding:30px 32px; margin-top:50px; text-align:center; }
.hbe-trust-footer h3{ font-family:'Cormorant Garamond',serif; color:var(--hbe-green-forest); font-size:20px; margin-bottom:10px; }
.hbe-trust-footer p{ color:var(--hbe-text-dark); font-size:14.5px; margin-bottom:4px; }
.hbe-trust-footer a{ color:var(--hbe-green-forest); font-weight:700; text-decoration:none; }

.hbe-legal-hero-cta{ margin-top:24px; }

/*==========================================================
	BANNIÈRE DE CONSENTEMENT COOKIES
==========================================================*/
.hbe-cookie-banner{
	position:fixed; left:0; right:0; bottom:0; z-index:1400;
	background:var(--hbe-green-forest); color:#fff;
	padding:20px 24px; box-shadow:0 -10px 30px rgba(0,0,0,.18);
	display:none;
}
.hbe-cookie-banner.is-visible{ display:block; animation:hbeCookieUp .35s ease; }
@keyframes hbeCookieUp{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
.hbe-cookie-banner-inner{
	max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.hbe-cookie-banner-icon{
	width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12);
	display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--hbe-gold-champ); flex-shrink:0;
}
.hbe-cookie-banner-text{ flex:1; min-width:240px; }
.hbe-cookie-banner-text strong{ display:block; font-size:14.5px; margin-bottom:4px; }
.hbe-cookie-banner-text p{ margin:0; font-size:13px; color:rgba(255,255,255,.82); line-height:1.6; }
.hbe-cookie-banner-text a{ color:var(--hbe-gold-champ); text-decoration:underline; }
.hbe-cookie-banner-actions{ display:flex; gap:10px; flex-shrink:0; }
.hbe-cookie-banner-actions button, .hbe-cookie-banner-actions a{
	padding:11px 22px; border-radius:999px; font-size:13px; font-weight:700; cursor:pointer; border:2px solid transparent;
	text-decoration:none; white-space:nowrap;
}
.hbe-cookie-accept{ background:var(--hbe-gold-champ); color:var(--hbe-green-forest) !important; }
.hbe-cookie-accept:hover{ background:#fff; color:var(--hbe-green-forest) !important; }
.hbe-cookie-manage{ background:transparent; border-color:rgba(255,255,255,.4); color:#fff !important; }
.hbe-cookie-manage:hover{ border-color:#fff; }
@media (max-width:575.98px){
	.hbe-cookie-banner-actions{ width:100%; }
	.hbe-cookie-banner-actions button, .hbe-cookie-banner-actions a{ flex:1; text-align:center; }
}