/*==========================================================
Theme Name: Chiropractic - Care for Back Pain
Author: OG Web Solutions
Author URL: https://www.ogwebsolutions.com/
Version : 1.1
==========================================================*/

/**
@File: Chiropractic - Care for Back Pain
This file contains the styling for the actual theme, this
is the file you need to edit to change the look of the
theme.

==========================================================
		CSS Index 
============================================================

# Global Styles
	## Back to top
	## Preload Spinner
	## Header
	## Footer
# Home Page
	## Banner Section
	## Hero Section
	## Benefits Section
	## Improve Section
	## Why are You Suffering Section
	## FAQ 
	## Bottom CTA Section
	## Testimonial Section
	## Treatment Section
	## Chiropractor Section
	## Free Consultation Popup
# Appointment Confirmation Page
# Order Page
# Order Cancelled Page
# Thank You Page
# Privacy Policy Page
# Error || 404 || Page not found

==========================================================**/

/*==========================================================

    # Global Styles

==========================================================*/

body {
	color: #202020;
	background-color: #fff;
	font-family: 'Montserrat', sans-serif;
}

.form-group {
	margin-bottom: 1rem;
}

/*========== Text Colors ==========*/

.text-blue {
	color: #9CAF88;
}

.text-yellow {
	color: #FFDB5D;
}

.text-orange {
	color: #1F4D3A;
}


/*========== Background Colors ==========*/

.bg-blue {
	background-color: #9CAF88;
}


/*========== Font Weight ==========*/

.font-weight-regular {
	font-weight: 400;
}

.font-weight-medium {
	font-weight: 500;
}

.font-weight-semibold {
	font-weight: 600;
}


/*========== Text Decoration ==========*/

.text-underline {
	text-decoration: underline;
}

a {
	text-decoration: none;
}


/*========== Line Height ==========*/

.line-height-1-5 {
	line-height: 1.5 !important;
}

.line-height-1-2 {
	line-height: 1.2 !important;
}


/*========== Section Title ==========*/

.section-title {
	margin-bottom: 40px;
	text-align: center;
}

.section-title h2 {
	font-size: 48px;
}

.section-title h5 {
	font-size: 22px;
	line-height: 1.5;
}


/* --- Responsive css --- */

@media (max-width:991.98px) {
	.section-title h2 {
		font-size: 32px;
	}
}

@media (max-width:1199.98px) {
	.section-title h2 {
		font-size: 36px;
	}

	.section-title h5 {
		font-size: 20px;
	}
}

@media (max-width:767.98px) {
	.section-title h2 {
		font-size: 28px;
	}

	.section-title h5 {
		font-size: 18px;
	}
}


/*========== Buttons ==========*/

.btn {
	border-radius: 10px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.btn:focus {
	box-shadow: none;
	outline: none;
}

.btn .title {
	font-size: 20px;
}

.btn .sub-title {
	font-size: 15px;
}

.btn-orange {
	background-color: #1F4D3A;
	color: #fff;
	max-width: 430px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: solid 2px #1F4D3A !important;
}

.btn-orange:hover {
	background-color: transparent;
	color: #1F4D3A;
}

.btn-hover-white:hover {
	background-color: #fff;
	color: #1F4D3A;
	border-color: #fff;
}


/* --- Responsive css --- */

@media (max-width:767.98px) {
	.btn .title {
		font-size: 16px;
	}

	.btn .sub-title {
		font-size: 14px;
	}
}


/*========== Section Spacer ==========*/

.section-spacer {
	padding-top: 80px;
	padding-bottom: 80px;
}

.section-alt-spacer {
	padding-top: 70px;
	padding-bottom: 80px;
}

.section-equal-spacer {
	padding-top: 70px;
	padding-bottom: 50px;
}


/* --- Responsive css --- */

@media (max-width:991.98px) {
	.section-spacer {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.section-alt-spacer {
		padding-top: 45px;
		padding-bottom: 50px;
	}

	.section-equal-spacer {
		padding-top: 45px;
		padding-bottom: 10px;
	}
}


/*========== Custom List ==========*/

.custom-list-arrow {
	list-style-type: none;
	padding-left: 0;
}

.custom-list-arrow li {
	position: relative;
	padding-left: 40px;
}

.custom-list-arrow li:not(:last-child) {
	margin-bottom: 5px;
}

.custom-list-arrow li:before {
	content: url('../icons/home-05-right-arrow-icon.png');
	position: absolute;
	left: 0;
	top: 0;
}


/*========== Custom Bullet ==========*/

.custom-list-blue {
	list-style-type: none;
	padding-left: 0;
}

.custom-list-blue li {
	position: relative;
	padding-left: 25px;
}

.custom-list-blue li:not(:last-child) {
	margin-bottom: 5px;
}

.custom-list-blue li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	background-color: #9CAF88;
}


/*========== Blockquote ==========*/

.blockquote {
	background-color: #f5f5f5;
	padding: 20px;
	font-size: 18px;
	font-style: italic;
}

@media (max-width:767.98px) {
	.blockquote * {
		font-size: 16px;
	}
}


/* Container */

@media (min-width: 1200px) {

	.container,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl {
		max-width: 1190px;
	}
}


/* ## Back to top */

.backtotop {
	position: fixed;
	right: 15px;
	bottom: 15px;
	height: 40px;
	width: 40px;
	background-color: #142d60;
	cursor: pointer;
	border: 2px solid #3a4354;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .2);
	border-radius: 10px;
	opacity: 0.9;
	transition: opacity 200ms linear;
	display: none;
}

.backtotop::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -7px;
	margin-top: -4px;
	transform: rotate(-45deg);
	height: 0px;
	width: 0px;
	border-width: 3px 3px 0 0;
	border-style: solid;
	padding: 5px;
	border-color: #fff;
}

.backtotop:hover {
	opacity: 1;
	transition: opacity 200ms linear;
}


/* ## Preload Spinner */

.preloadSpinner {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: #ffffff;
	z-index: 99999;
}

.preloadSpinner::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -50px;
	margin-left: -50px;
	width: 100px;
	height: 100px;
	background-color: #f5f7fa;
	border: 1px solid #0e3478;
	border-top: 10px dotted #0e3478;
	border-radius: 100%;
	animation: spinner 500ms infinite ease-in-out;
}

@keyframes spinner {
	to {
		transform: rotate(360deg);
	}
}

@media screen and (max-width:767.98px) {
	.preloadSpinner::after {
		width: 50px;
		height: 50px;
		margin-top: -25px;
		margin-left: -25px;
		border-top: 5px dotted #f9492c;
	}
}


/*----------------------------------------------------------

    ## Header

---------------------------------------------------------*/

header {
	padding-top: 5px;
	background-color: #fff;
	-webkit-box-shadow: 0 0 5px #c1c1c1;
	box-shadow: 0 0 5px #c1c1c1;
}

.navbar-brand {
	max-width: 170px;
	width: 100%;
}

@media (max-width:767.98px) {
	header p {
		font-size: 13px;
	}
}


/*==========================================================
		 # Home Page
==========================================================*/


/*-------------------------------------------------------
    ## Banner section
---------------------------------------------------------*/

.banner-section h2 {
	font-size: 50px;
}

@media (max-width:1199.98px) {
	.banner-section h2 {
		font-size: 36px;
	}
}

@media (max-width:991.98px) {
	.banner-section h2 {
		font-size: 30px;
	}
}

@media (max-width:767.98px) {
	.banner-section h2 {
		font-size: 26px;
	}
}

main {
	margin-top: 50px;
}

@media (max-width:767.98px) {
	main {
		margin-top: 80px;
	}
}


/*----------------------------------------------------------
	## Hero Section
---------------------------------------------------------*/

.hero-section {
	padding-top: 80px;
	padding-bottom: 100px;
	background-image: url(../img/hero-bg-3.jpeg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero-section h1 {
	font-size: 88px;
}

.hero-section h2 {
	font-size: 68px;
	border: solid 2px #000;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 15px;
}

.hero-section p {
	font-size: 21px;
	max-width: 600px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.hero-section .btn {
	margin-top: 30px;
}


@media (max-width:1500px) {
	.hero-section {
		padding-top: 50px;
		padding-bottom: 70px;
	}
}

@media (max-width:1199.98px) {
	.hero-section {
		background-position: 73% 100%;
	}

	.hero-section h1 {
		font-size: 70px;
	}

	.hero-section h2 {
		font-size: 54px;
	}

	.hero-section p {
		font-size: 18px;
	}
}

@media (max-width:991.98px) {

	.hero-section .btn:before,
	.hero-section .btn:after {
		display: none;
	}

	.hero-section h1 {
		font-size: 60px;
	}

	.hero-section h2 {
		font-size: 44px;
	}
}

@media (max-width:767.98px) {
	.hero-section h1 {
		font-size: 36px;
	}

	.hero-section h2 {
		font-size: 26px;
	}
}


/*========== Filtre de Flou Progressif Lumineux (Left Backdrop Blur) ==========*/

.hero-section {
	position: relative;
	overflow: hidden;
}

/* S'assurer que le conteneur du texte et des boutons reste au-dessus du flou */
.hero-section .container {
	position: relative;
	z-index: 2;
}

/* Version Bureau : Flou artistique léger et progressif sur la gauche (52% de largeur) */
.hero-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 60%; 
	height: 100%;
	/* Dégradé de blanc cassé très doux et transparent */
	background: linear-gradient(
		to right, 
		rgba(248, 246, 242, 0.88) 0%, 
		rgba(248, 246, 242, 0.75) 45%, 
		rgba(248, 246, 242, 0.40) 75%, 
		rgba(248, 246, 242, 0) 100%
	);
	/* Force du flou arrière modérée pour préserver la douceur de la pièce */
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 1;
	pointer-events: none; /* Permet de cliquer sur les boutons sans gêne */
}

/* Version Tablettes et Mobiles : Le flou léger s'étend sur 100% de l'écran */
@media (max-width: 991.98px) {
	.hero-section::before {
		width: 100%;
		background: linear-gradient(
			to bottom, 
			rgba(248, 246, 242, 0.90) 0%, 
			rgba(248, 246, 242, 0.82) 80%, 
			rgba(248, 246, 242, 0.75) 100%
		);
		/* Flou légèrement accentué pour les petits écrans où le texte chevauche l'image */
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
}


/*----------------------------------------------------------
	## Benefits Section
---------------------------------------------------------*/


.benefits-section h2 {
	font-size: 43px;
}

.benefits-section h5 {
	font-size: 18px;
}

.benefits-section .inner-container {
	margin-top: 30px;
}

.benefits-section .inner-container figure {
	margin-bottom: 20px;
}

.benefits-section .inner-container h5 {
	margin-bottom: 5px;
}

@media (max-width:1199.98px) {
	.benefits-section h2 {
		font-size: 30px;
	}

	.benefits-section .section-title {
		margin-bottom: 10px;
	}
}

@media (max-width:767.98px) {
	.benefits-section h2 {
		font-size: 26px;
	}
}


/*==========================================================
	BENEFITS SECTION — CHARTE L'HARMONIE DU BIEN-ÊTRE
==========================================================*/

.benefits-section {
	padding-top: 65px;
	padding-bottom: 65px;
	background-color: #1F4D3A; /* Vert Forêt officiel de L'Harmonie */
	/* Subtil dégradé vert forêt vers une nuance légèrement plus profonde */
	background: linear-gradient(135deg, #1F4D3A 0%, #153627 100%);
	border-top: 1px solid rgba(198, 166, 106, 0.2); /* Touche de rappel Champagne */
	border-bottom: 1px solid rgba(21, 54, 39, 0.8);
}

/* Titre principal de la section */
.benefits-section .section-title h2,
.benefits-section h2.text-yellow {
	color: #C6A66A !important; /* Couleur Champagne officielle */
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 15px;
}

/* Description principale de la section */
.benefits-section .section-title h5,
.benefits-section h5.text-white {
	color: #F8F6F2 !important; /* Blanc Cassé pour une lecture douce */
	font-size: 18px;
	line-height: 1.6;
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
	font-weight: 400;
}

/* Titres des cartes (Équipements Premium, Détente Rapide, Accompagnement) */
.benefits-section .inner-container h5,
.benefits-section .inner-container .text-yellow {
	color: #C6A66A !important; /* Champagne pour les titres d'avantages */
	font-size: 20px;
	font-weight: 700;
	margin-top: 15px;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Textes sous les visuels d'avantages */
.benefits-section .inner-container p,
.benefits-section .inner-container p.text-white {
	color: #ffffff !important; /* Blanc pur pour un contraste élevé */
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.95;
	margin-bottom: 0;
}

/* Style des illustrations de la section */
.benefits-section .inner-container figure img {
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
	transition: transform 0.3s ease;
}

.benefits-section .inner-container:hover figure img {
	transform: translateY(-4px);
}

/* Responsive pour tablettes et mobiles */
@media (max-width: 991.98px) {
	.benefits-section {
		padding-top: 45px;
		padding-bottom: 45px;
	}
	.benefits-section .section-title h2,
	.benefits-section h2.text-yellow {
		font-size: 28px;
	}
	.benefits-section .section-title h5 {
		font-size: 16px;
	}
}


/*----------------------------------------------------------
	IMPROVE SECTION — CHARTE L'HARMONIE DU BIEN-ÊTRE
	Structure d'origine sublimée aux codes du luxe résidentiel
---------------------------------------------------------*/

.improve-section {
	background-color: #ffffff;
	padding-top: 80px;
	padding-bottom: 80px;
}

/* Liste des bienfaits (gauche) */
.improve-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.improve-section ul li {
	list-style: none;
	margin-bottom: 35px;
	transition: transform 0.3s ease;
}

.improve-section ul li:last-child {
	margin-bottom: 0;
}

/* Icônes de liste d'origine */
.improve-section ul li img {
	width: 78px;
	margin-right: 20px;
	flex-shrink: 0;
}

/* Titres des bienfaits */
.improve-section h3 {
	font-size: 20px;
	font-weight: 700;
	color: #242424; /* Noir Profond de la charte */
	margin-bottom: 8px;
	letter-spacing: 0.5px;
}

/* Surcharge de la classe Chiropractic d'origine pour correspondre au Vert Sauge officiel */
.improve-section .text-blue {
	color: #9CAF88 !important; /* Vert Sauge officiel */
}

/* Descriptions des bienfaits */
.improve-section p {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	color: black; /* Gris Pierre officiel */
	margin-bottom: 0;
}

.improve-section p:last-of-type {
	margin-bottom: 0;
}

/* Illustration de droite (Visuel de massage à sec) */
.improve-section .right-container img {
	border-radius: 16px; /* Arrondi généreux selon la charte (16px) */
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08); /* Ombre douce officielle */
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.improve-section .right-container img:hover {
	transform: scale(1.02);
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
}

/* Responsive pour mobiles et tablettes */
@media (max-width: 991.98px) {
	.improve-section {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

@media (max-width: 767.98px) {
	.improve-section h3 {
		font-size: 18px;
	}
	.improve-section p {
		font-size: 14px;
	}
	.improve-section ul li img {
		width: 64px; /* Légère réduction de l'icône sur mobile */
		margin-right: 15px;
	}
}


/*----------------------------------------------------------
	## Why are You Suffering Section
---------------------------------------------------------*/

.cta-section {
	padding-top: 65px;
	padding-bottom: 65px;
	background-image: url(../img/banner-home-04-2.jpeg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.cta-section h2 {
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 20px;
}

.cta-section h5 {
	max-width: 700px;
}

.cta-section .section-title {
	max-width: 900px;
}

.cta-section h2:before {
	content: url('../icons/home-04-left-arrow.png');
	position: absolute;
	left: -20px;
	top: 55px;
}

.cta-section h2:after {
	content: url('../icons/home-04-right-arrow.png');
	position: absolute;
	right: -20px;
	top: 55px;
}

@media (max-width:1199.98px) {
	.cta-section {
		padding-top: 90px;
		padding-bottom: 100px;
	}
}

@media (max-width:991.98px) {
	.cta-section {
		padding-top: 40px;
		padding-bottom: 50px;
	}
}

@media (max-width:767.98px) {

	.cta-section h2:before,
	.cta-section h2:after {
		display: none;
	}
}


/*----------------------------------------------------------
	## FAQ 
---------------------------------------------------------*/

.faq-section {
	background-color: #f0f0f0;
}

.faq-section .container {
	max-width: 980px;
}

.faq-section .section-title h2 {
	font-size: 56px;
}

.faq-section .section-title p {
	font-size: 22px;
	padding: 0 60px;
}

.accordion .accordion-section {
	border-bottom: 1px solid #d3d3d3;
}

.accordion .accordion-section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

.accordion .accordion-section-title {
	color: #202020;
	font-weight: bold;
	font-size: 22px;
	position: relative;
	margin: 20px 0;
	display: block;
	transition: ease 0.3s all;
	padding-right: 45px;
}

.accordion .accordion-section-title.active {
	margin-bottom: 10px;
	color: #9CAF88;
	border-bottom: 1px solid #9CAF88;
	padding-bottom: 10px;
}

.accordion .accordion-section-title:after {
	position: absolute;
	right: 25px;
	top: 50%;
	margin-top: -10px;
	content: '';
	height: 0;
	width: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid #3c3c3c;
	transition: all 300ms ease;
}

.accordion .accordion-section-title.active:after {
	border-top: 7px solid #9CAF88;
	transform: rotate(180deg);
}

.accordion-section-content {
	display: none;
}

.accordion-section-content p {
	font-size: 18px;
	color: #2c2c2c;
	line-height: 1.4;
}

.accordion .accordion-section-title:hover {
	text-decoration: none;
	color: #9CAF88;
}

@media (max-width:1199.98px) {
	.faq-section .section-title h2 {
		font-size: 36px;
	}
}

@media (max-width:768.98px) {
	.faq-section .section-title h2 {
		font-size: 28px;
	}

	.accordion-section-content p {
		font-size: 16px;
	}

	.accordion .accordion-section-title {
		font-size: 19px;
	}

	.accordion .accordion-section-title:after {
		right: 10px;
	}
}


/*----------------------------------------------------------
	## Bottom CTA Section
---------------------------------------------------------*/

/*==========================================================
	BOTTOM CTA SECTION — CHARTE L'HARMONIE
	Ajout d'un filtre protecteur Vert Forêt pour lisibilité 100%
==========================================================*/

.bottom-cta-section {
	padding-top: 115px;
	padding-bottom: 115px;
	/* Superposition d'un dégradé Vert Forêt translucide protecteur par-dessus l'image */
	background-image: linear-gradient(
		135deg, 
		rgba(31, 77, 58, 0.82) 0%, 
		rgba(17, 33, 19, 0.88) 100%
	), url(../img/home-cta-bg.jpeg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	border-top: 1px solid rgba(198, 166, 106, 0.2); /* Rappel subtil Champagne */
}

.bottom-cta-section .section-title {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
}

/* Titre d'action principal */
.bottom-cta-section .section-title h2 {
	font-family: 'Playfair Display', 'Montserrat', sans-serif;
	font-size: 40px;
	font-weight: 700;
	color: #ffffff; /* Blanc pur */
	line-height: 1.3;
	margin-bottom: 15px;
}

/* Surlignement Champagne pour les mots clés importants (ex: class="text-yellow" ou "text-underline") */
.bottom-cta-section .section-title h2 span,
.bottom-cta-section .section-title h2 .text-yellow {
	color: #C6A66A !important; /* Or Champagne officiel */
	text-decoration: underline;
}

/* Texte de description */
.bottom-cta-section .section-title p {
	font-size: 18px;
	line-height: 1.6;
	color: #F8F6F2; /* Blanc Cassé pour une lecture douce */
	opacity: 0.95;
	margin-bottom: 0;
}

/* Responsive pour tablettes et mobiles */
@media (max-width: 991.98px) {
	.bottom-cta-section {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.bottom-cta-section .section-title h2 {
		font-size: 28px;
	}
	.bottom-cta-section .section-title p {
		font-size: 15px;
	}
}


/*----------------------------------------------------------
	## Testimonial Section
---------------------------------------------------------*/

.testimonial-section figure img {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.testimonial-section .item-single {
	background-color: #f9f9f9;
	border: solid 2px #dddddd;
	margin-bottom: 25px;
}

.testimonial-section .content {
	padding: 15px 20px;
	border-left: solid 2px #dddddd;
}

.testimonial-section .content p {
	margin-bottom: 10px;
}

.testimonial-section .content h3 {
	font-size: 18px;
}

.testimonial-section .border,
.testimonial-section .border-left {
	border-color: #ddd !important;
	border-width: 2px !important;
	background-color: #f9f9f9;
}

.testimonial-section .border-left {
	padding: 15px 10px 15px 20px;
}

.testimonial-box img {
	flex-shrink: 0;
}

.testimonial-box h3 {
	margin-bottom: 0;
	font-size: 18px;
}

.testimonial-box p {
	font-size: 18px;
	line-height: 24px;
}

@media (max-width:991.98px) {
	.testimonial-section {
		padding-bottom: 25px;
	}
}

@media (max-width:767.98px) {
	.testimonial-section .content {
		border-left: none;
		border-top: solid 2px #dddddd;
	}
}


/*----------------------------------------------------------
	## Treatment Section
---------------------------------------------------------*/

.treatment-section {
	background-color: #e5f7ff;
}

.treatment-section .section-title {
	margin-bottom: 35px;
}

.treatment-section .item-single {
	margin-bottom: 20px;
}

.treatment-section .item-single .content {
	margin-top: 20px;
}

.treatment-section .item-single .content h5 {
	margin-bottom: 10px;
}

.treatment-section .item-single .content p:last-of-type {
	margin-bottom: 0;
}

@media (min-width:1200px) {
	.treatment-section .section-title h5 {
		padding-left: 60px;
		padding-right: 60px;
	}
}


/*----------------------------------------------------------
	## Chiropractor Section
---------------------------------------------------------*/

.chiropractor-section .section-title {
	margin-bottom: 35px;
}

.chiropractor-section .left-container video {
	width: 100%;
	height: auto;
}

.chiropractor-section .section-title p {
	padding: 0 60px;
	font-size: 22px;
}

.chiropractor-section p {
	font-size: 17px;
}

.chiropractor-section .right-container ul li:not(:last-child) {
	margin-bottom: 10px;
}

.chiropractor-section .certificate {
	padding: 20px;
	background-color: #f9f9f9;
}

.chiropractor-section .caption {
	padding: 15px;
}

.chiropractor-section .caption h3 {
	font-size: 22px;
	margin-bottom: 5px;
}

@media (max-width:1199.98px) {
	.chiropractor-section p {
		font-size: 15px;
	}

	.custom-list-arrow li {
		font-size: 15px;
	}
}


/*----------------------------------------------------------
	## Free Consultation Popup
---------------------------------------------------------*/

.free-consultation-popup .close {
	position: absolute;
	right: -10px;
	top: -10px;
	width: 30px;
	height: 30px;
	background-color: #000000;
	color: #fff;
	border: solid 2px #fff;
	border-radius: 100%;
	opacity: 1 !important;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

.free-consultation-popup .close:hover {
	opacity: 1;
}

.free-consultation-popup .modal-content {
	border-radius: 0;
	border: none;
}

.free-consultation-popup .top-content h3 {
	font-size: 26px;
}



.free-consultation-popup .top-content.inner-container {
	padding: 20px;
}

.free-consultation-popup .bottom-content.inner-container {
	padding: 30px 15px;
}

.free-consultation-popup .bottom-content .btn {
	max-width: 330px;
}

.free-consultation-popup .form-status {
	display: none;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
	border: 1px solid #9CAF88;
	background: #9CAF88;
}

@media (max-width:991.98px) {
	.free-consultation-popup .top-content h3 {
		font-size: 20px;
	}
}


/*==========================================================
	# Appointment Confirmation Page
==========================================================*/

.appointment-confirmation-banner {
	background-image: url(../img/banner-home-a-propos.jpeg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 100px 0 150px;
	text-align: center;
}

.appointment-confirmation-banner .banner_box {
	max-width: 900px;
	margin: 0 auto;
}

.appointment-confirmation-banner h1 {
	font-size: 55px;
	position: relative;
	padding-bottom: 35px;
	margin-bottom: 25px;
}

.appointment-confirmation-banner h1 span {
	font-size: 28px;
}

.appointment-confirmation-banner h1:before {
	width: 180px;
	height: 5px;
	background-color: #ffdb5d;
	position: absolute;
	left: 50%;
	bottom: 0;
	content: "";
	transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
}

.appointment-confirmation-banner p {
	font-size: 20px;
	margin-bottom: 50px;
}

.appointment-confirmation-banner h2 {
	font-size: 36px;
}

.appointment-confirmation-banner h2 span {
	margin-top: 25px;
}

.appointment-confirmation-banner a:hover {
	color: #fff;
}

@media (max-width:1500px) {
	.appointment-confirmation-banner {
		padding-top: 80px;
		padding-bottom: 130px;
	}
}

@media (max-width:1199.98px) {
	.appointment-confirmation-banner h1 {
		font-size: 36px;
	}

	.appointment-confirmation-banner h2 {
		font-size: 30px;
	}
}

@media (max-width:767.98px) {
	.appointment-confirmation-banner {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.appointment-confirmation-banner h1 {
		font-size: 28px;
	}

	.appointment-confirmation-banner h1 span {
		font-size: 22px;
	}

	.appointment-confirmation h2 {
		font-size: 22px;
	}

	.appointment-confirmation-banner h2 {
		font-size: 24px;
	}
}


/*==========================================================
	# Order Page
==========================================================*/

.order-info {
	background: #ecfaff;
	padding: 15px;
	border: 1px solid #d9d9d9;
	margin-bottom: 30px;
}

.order-info h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

.order-info ul li {
	font-size: 14px;
}

.order-info ul li:not(:last-child) {
	border-bottom: 1px solid #b0d2de;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.order-info ul li:last-child {
	font-size: 16px;
}

.order-form {
	border: 1px solid #d9d9d9;
	padding: 30px;
	box-shadow: 0px 2px 10px -1px #ccc;
}

.order-form .form-title {
	font-size: 20px;
	padding-bottom: 10px;
	border-bottom: 2px dotted #c7c7c7;
	margin-bottom: 30px;
}

.form-control {
	padding: 15px;
	border-radius: 0;
	height: auto;
	resize: none;
}

.form-control:focus {
	outline: none;
	box-shadow: none;
}

.form-control.error {
	border-color: #f00;
}

label.error {
	color: #f00;
	padding-left: 12px;
	font-size: 14px;
	padding-top: 5px;
}

.order-banner {
	background-image: url(../img/order-banner.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.order-banner .section-title h5 {
	max-width: 650px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.order-form .right-container .btn {
	max-width: 100%;
}

.order-banner .video-section {
	max-width: 800px;
}

.order-banner .video-section video {
	border: solid 2px #fff;
	width: 100%;
	height: auto;
}

.scroll-down i {
	-webkit-animation: bounce 3s infinite;
	animation: bounce 3s infinite;
	font-size: 30px;
	font-size: 30px;
}

@-webkit-keyframes bounce {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	50% {
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes bounce {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	50% {
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@media (max-width:991.98px) {
	.form-control {
		padding: 10px;
	}
}

@media (max-width:767.98px) {
	.order-form {
		padding: 15px;
	}
}


/*==========================================================
	# Order Cancelled Page
==========================================================*/

.order-cancelled-banner {
	background-image: url('../img/Thanks-banner-chiropractic-care.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.order-cancelled-content-section {
	max-width: 880px;
}

.order-cancelled-banner.banner-section h2 {
	color: #fff;
}

.order-cancelled-banner .section-title h5 {
	color: #fff;
}

.order-cancelled-content-section .order-details {
	-webkit-box-shadow: 0 0 8px #c1c1c1;
	box-shadow: 0 0 8px #c1c1c1;
}

.order-cancelled-content-section .order-details h2 {
	padding: 20px;
}

.order-cancelled-content-section .order-details .products {
	padding-left: 30px;
	padding-right: 30px;
}

.order-cancelled-content-section .order-details .products tr th {
	border-bottom: 1px solid #cccccc;
	font-size: 20px;
}

.order-cancelled-content-section .order-details .products tr td {
	font-size: 18px;
}

.order-cancelled-content-section .order-details .products tr th,
.order-cancelled-content-section .order-details .products tr td {
	padding: 20px;
}

.order-cancelled-content-section .order-details .products tr th:last-child,
.order-cancelled-content-section .order-details .products tr td:last-child {
	text-align: right;
}

@media (max-width:1199.98px) {
	.order-cancelled-content-section .order-details h2 {
		font-size: 26px;
	}
}

@media (max-width:991.98px) {
	.section-title h5 {
		font-size: 18px;
	}

	.order-cancelled-content-section .order-details h2 {
		font-size: 22px;
	}
}

@media (max-width:767.98px) {
	.order-cancelled-content-section .order-details .products tr th {
		font-size: 16px;
	}

	.order-cancelled-content-section .order-details .products tr td {
		font-size: 14px;
	}

	.order-cancelled-content-section .order-details .products tr th,
	.order-cancelled-content-section .order-details .products tr td {
		padding: 15px;
	}

	.order-cancelled-content-section .order-details .products {
		padding-left: 15px;
		padding-right: 15px;
	}
}


/*==========================================================
	# Thank You Page
==========================================================*/

.thank-you-banner {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image: linear-gradient(
		135deg, 
		rgba(31, 77, 58, 0.82) 0%, 
		rgba(17, 33, 19, 0.88) 70%
	), url(../img/banner-home-a-propos.jpeg);
}

.thank-you-banner.banner-section h2 {
	color: #fff;
}

.thank-you-banner .section-title h5 {
	max-width: 650px;
	width: 100%;
	color: #fff;
}

.thank-you-content-section {
	max-width: 880px;
}

.thank-you-content-section .order-details {
	-webkit-box-shadow: 0 0 8px #c1c1c1;
	box-shadow: 0 0 8px #c1c1c1;
}

.thank-you-content-section .order-details h2 {
	padding: 20px;
}

.thank-you-content-section .order-details .products {
	padding-left: 30px;
	padding-right: 30px;
}

.thank-you-content-section .order-details .products tr th {
	border-bottom: 1px solid #cccccc;
	font-size: 20px;
}

.thank-you-content-section .order-details .products tr td {
	font-size: 18px;
}

.thank-you-content-section .order-details .products tr th,
.thank-you-content-section .order-details .products tr td {
	padding: 20px;
}

.thank-you-content-section .order-details .products tr th:last-child,
.thank-you-content-section .order-details .products tr td:last-child {
	text-align: right;
}

@media (max-width:1199.98px) {
	.thank-you-content-section .order-details h2 {
		font-size: 26px;
	}
}

@media (max-width:991.98px) {
	.thank-you-content-section .order-details h2 {
		font-size: 22px;
	}
}

@media (max-width:767.98px) {
	.thank-you-content-section .order-details .products tr th {
		font-size: 16px;
	}

	.thank-you-content-section .order-details .products tr td {
		font-size: 14px;
	}

	.thank-you-content-section .order-details .products tr th,
	.thank-you-content-section .order-details .products tr td {
		padding: 15px;
	}

	.thank-you-content-section .order-details .products {
		padding-left: 15px;
		padding-right: 15px;
	}

	.thank-you-content-section .order-details h2 {
		font-size: 20px;
	}
}


/*==========================================================
	# Privacy Policy Page
==========================================================*/

.privacy-policy-page .inner-container h3 {
	font-size: 26px;
}

.counter {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	border-radius: 100px;
	font-size: 20px;
}

@media (max-width:767.98px) {
	.privacy-policy-page .inner-container h3 {
		font-size: 22px;
	}
}


/*==========================================================
	 # Error || 404 || Page not found
==========================================================*/

.error-page {
	padding-top: 150px;
	padding-bottom: 110px;
}

#notfound {
	position: relative;
	height: 50vh;
}

#notfound .notfound {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.notfound {
	max-width: 920px;
	width: 100%;
	line-height: 1.4;
	text-align: center;
	padding-left: 15px;
	padding-right: 15px;
}

.notfound .notfound-404 {
	position: absolute;
	height: 100px;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
}

.notfound .notfound-404 h1 {
	color: #ececec;
	font-weight: 900;
	font-size: 276px;
	margin: 0px;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.notfound h3 {
	font-size: 46px;
	color: #000;
	font-weight: 900;
	text-transform: uppercase;
	margin: 0px;
}

.notfound p {
	font-size: 16px;
	color: #000;
	font-weight: 400;
	text-transform: uppercase;
	margin-top: 15px;
}

.notfound a {
	font-size: 14px;
	text-decoration: none;
	text-transform: uppercase;
	background: #1F4D3A;
	display: inline-block;
	padding: 16px 38px;
	border: 2px solid transparent;
	border-radius: 5px;
	color: #fff;
	font-weight: 400;
	-webkit-transition: 0.2s all;
	transition: 0.2s all;
}

.notfound a:hover {
	background-color: #fff;
	border-color: #ff6f0e;
	color: #ff6f0e;
}

@media only screen and (max-width: 480px) {
	.notfound .notfound-404 h1 {
		font-size: 162px;
	}

	.notfound h3 {
		font-size: 32px;
	}

	.notfound h2 {
		font-size: 26px;
	}
}


/* stripe card */
.payment-outer{
    display: flex;
    flex-wrap: wrap;
    padding: 22px 15px 5px;
    background-color: #e9e9e9;
    position: relative;
    margin-top:10px;
    margin-bottom: 20px;
    border-radius: 5px;
}
.payment-outer:before{
    content: "";
    position: absolute;
    left: 35px;
	top: -8px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #e9e9e9;
}
.payment-outer .form-group{
    width: 33.33%;
    padding: 0 7px;
}
.payment-outer .form-group.card-number-group{
    width: 100%;
}
.payment-outer .form-group #card_number{
    background-image: url('../img/cards.png');
    background-repeat: no-repeat;
    background-size: 120px;
    background-position: right 10px center;
    padding-right: 140px;
}
.paypal-card-group{
    display: flex;
    flex-direction: column;
    margin-bottom:15px;
}
.paypal-card-group label:first-child{
    margin-bottom: 10px;
}
.form-group.btn-outer{
    position: relative;
}
.form-group.btn-outer #loader{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    background-color: rgba(0,0,0,0.4);
	border-radius: 5px;
}
form #loader img{
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
}
@media only screen and (max-width: 390px) {
    .payment-outer{
   	 padding: 15px 10px 0px;
    }
    .payment-outer .form-group #card_number{
   	 padding-right: 100px;
   	 background-size: 80px;
    }
    form select{
   	 background-size: 12px;
    }
}
/* stripe card end */


/* Effet Rubber Band (Bounce) */
/* Effet Bounce sur le bouton d'action principal */
@keyframes rubberBand {
from { transform: scale3d(1, 1, 1); }
30% { transform: scale3d(1.05, 0.95, 1); }
40% { transform: scale3d(0.95, 1.05, 1); }
50% { transform: scale3d(1.02, 0.98, 1); }
65% { transform: scale3d(0.98, 1.02, 1); }
75% { transform: scale3d(1.02, 0.98, 1); }
to { transform: scale3d(1, 1, 1); }
}

.btn-reserver {
animation: rubberBand 2.5s infinite;
display: inline-block;
transition: all 0.3s ease-in-out;
}


@keyframes hithere {
  30% { transform: scale(1.1); }
  40%, 60% { transform: rotate(-10deg) scale(1.1); }
  50% { transform: rotate(10deg) scale(1.1); }
  70% { transform: rotate(0deg) scale(1.1); }
  100% { transform: scale(1); }
}


/* Effet Rubber Band (Bounce) */
.hero-btn-reserver, .btn-cta-final {
    animation: hithere 1.5s ease infinite;
    box-shadow: 0 5px 15px rgb(198, 166, 106, 0,4);
}



/* Illustration de droite (Visuel de massage à sec) */
.chiropractor-section .right-container img {
	border-radius: 16px; /* Arrondi généreux selon la charte (16px) */
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08); /* Ombre douce officielle */
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.chiropractor-section .right-container img:hover {
	transform: scale(1.02);
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
}

.hbe-btn-decouvrir {
animation: rubberBand 2.5s infinite;
display: inline-block;
transition: all 0.3s ease-in-out;
}