@charset "utf-8";
/*======================================
 [ -Main Stylesheet-
  Theme:  Massageric
  Version: 1.0
  Last change: 03/10/2025 ]
======================================*/

/*============================================
  TABLE DES MATIÈRES - LEXIQUE NUMÉROTÉ
============================================
01. CONFIGURATION GÉNÉRALE
02. PRÉCHARGEMENT & LOADER
03. STRUCTURE PRINCIPALE
04. HEADER PRINCIPAL
05. TOP HEADER
06. POPUP DE RECHERCHE
07. PARTAGE & SOCIAL
08. FOOTER
09. SECTIONS & CONTENUS
10. HERO & CAROUSEL
11. CARTES & CONTENUS
12. ÉLÉMENTS VISUELS
13. TEAM & TÉMOIGNAGES
14. MENU & TARIFS
15. BLOG & POSTS
16. GALERIE & FILTRES
17. FORMULAIRES
18. MODAL RÉSERVATION
19. BOUTIQUE & CHECKOUT
20. CONTACTS & CARTE
21. PAGINATION & NAVIGATION
22. COMPÉTENCES & ZONES
23. PAGES MASSAGES
24. VIDÉO & MEDIA
25. ÉLÉMENTS DIVERS
26. PAGE 404
27. SIDEBAR DARK
28. RESPONSIVE
29. MODAL ADMIN
30. FAQ STYLES - ONGLETS ET ACCORDÉON
31. STYLES POUR LES HUILES ESSENTIELLES
============================================*/

/* ============================================
   01. CONFIGURATION GÉNÉRALE
   ============================================ */

/*------------- 01.1 Variables CSS -----------------*/
:root {
	--main-color: #C19D60;
	--second-color: #4A653E;
	--main-font: 'Playfair', serif;
	--secondary-font: 'Jost', sans-serif;
}

/*------------- 01.2 Reset HTML/Body -----------------*/
html{
	overflow-x:hidden !important;
	height:100%;
}

body{
	margin: 0;
	padding: 0;
	font-family: var(--main-font);
	font-weight: 400;
	font-size: 13px;
    background: #232032;
	height:100%;
	text-align:center;
	color:#1e1e1e;
} 

@-o-viewport {width: device-width;}
@-ms-viewport {width: device-width;}
@viewport {width: device-width;}

/*------------- 01.3 Typographie -----------------*/
p {
	text-align: left;
    font-size: 16px;
    line-height: 24px;
    padding-bottom: 10px;
    font-weight: 400;
 	color: #5e646a;
	font-family: var(--secondary-font);
}

.has-drop-cap:first-letter {
	font-size: 70px;
	float: left;
	padding: 20px 20px 10px 0;
 	font-family: var(--main-font);
	color:var(--main-color);
}

blockquote {
	padding: 10px 20px 0;
	margin: 0 0 20px;
	border-left: 10px solid #eee;
	position:relative;
	text-decoration: underline;
}

blockquote p {
	font-style:italic;
  	font-family: var(--main-font);
	color: #333;
    line-height: 20px;
	font-size: 1.3em;
}

/*------------- 01.4 Classes utilitaires -----------------*/
.fl-wrap {
	float:left;
	width:100%;
	position:relative;
}

.no-bg {
	background:none !important;
}

.full-height {
	height:100%;
}

.no-padding {
	padding:0 !important;
}

.respimg {
	width:100%;
	height:auto;
}

/* ============================================
   02. PRÉCHARGEMENT & LOADER
   ============================================ */

/*------------- 02.1 Main Loader -----------------*/
.main-loader {
    background: #232032;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 11100;
}

.loader-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	transform: translateY(-50%) translateX(-50%);
	min-width: 100%;
}

.loader_count {
	font-size: 5.2em;
	color:var(--main-color);
	position: relative;
	z-index: 30;
}

/*------------- 02.2 CD Loader -----------------*/
.cd-loader-wrap {
	position: fixed;
	bottom:0;
	left: 350px;
    top: 90px;
	right:0;
	overflow:hidden;
 	display: none;
	z-index: 3
}

.cd-loader-layer .loader-layer  {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-98%);
	height: 120%;
	width: 2500%;
	background: url(../images/ink2.png) no-repeat 0 0;
	background-size: 100% 100%;
}

.cd-loader-layer.visible-steps .loader-layer  {
	animation: cd-sequence   .9s steps(24);
	animation-fill-mode: forwards;
}

.cd-loader-layer.closing-steps .loader-layer{
	animation: cd-sequence-reverse  .9s  steps(24);
	animation-fill-mode: forwards;
} 

@keyframes cd-sequence {
  0% {
    transform: translateY(-50%) translateX(-2%);
  }
  100% {
    transform: translateY(-50%) translateX(-98%);
  }
}

@keyframes cd-sequence-reverse {
  0% {
    transform: translateY(-50%) translateX(-98%);
  }
  100% {
    transform: translateY(-50%) translateX(-2%);
  }
}

/*------------- 02.3 Loader Spinner -----------------*/
.loader-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	z-index: 20;
 	margin-top: 50px;
	opacity: 0;
	transition: all .3s ease-in-out;
}

.loader-spinner.spiner-vis {
 	margin-top: 0;
	opacity: 1;	
}

.loader-spinner i{
	color:var(--main-color);
	font-size: 2.9em;
	animation:k3d 3.5s infinite linear;
	-webkit-box-reflect: below 10px -webkit-linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.3));
	-webkit-box-reflect: below 10px -o-linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.3));
	-webkit-box-reflect: below 10px linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.3));
}

@keyframes k3d {
0% {
  transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(360deg);
  }
  100%{
     transform: rotateY(0deg);
  }	
}

/*------------- 02.4 Loader Lines -----------------*/
.cd-loader-line {
	position: absolute;
	z-index: 21;
}

.cll_th {
	right: 50px;
	top: 50px;
	left: 40%;
	height: 1px;
}

.cll_bh {
	left: 50px;
	bottom: 50px;
	right: 40%;
	height: 1px;
}

.cll_th:before , .cll_bh:before {
	content: '';
	position: absolute;
	height: 1px;
	border-top: 1px dashed rgba(255,255,255,.2);
	transition: all .6s ease-in-out;
}

.cll_th:before {
	left: 0;
	right: 100%;
}

.cll_bh:before {
	right: 0;
	left: 100%;
}

.vis-cd-loader-line.cll_th:before , .vis-mll.cll_th:before {
	right: 0;
}

.vis-cd-loader-line.cll_bh:before , .vis-mll.cll_bh:before {
	left: 0;
}

.cll_tv {
	left: 50px;
	top: 50px;
	width: 1px;
	bottom: 40%;
}

.cll_bv {
	right: 50px;
	bottom: 50px;
	width: 1px;
	top: 40%;
}

.cll_tv:before , .cll_bv:before {
	content: '';
	position: absolute;
	width: 1px;
	border-left: 1px dashed rgba(255,255,255,.2);
	transition: all .6s ease-in-out;
}

.main-loader .cll_th:before , .main-loader  .cll_bh:before , .main-loader .cll_th:before, .main-loader .cll_bh:before  {
	transition: all 1.0s ease-in-out;	
}

.cll_tv:before {
	top: 0;
	bottom: 100%;
}

.cll_bv:before {
	top: 100%;
	bottom: 0;
}

.vis-cd-loader-line.cll_tv:before , .vis-mll.cll_tv:before  {
	bottom: 0;
}

.vis-cd-loader-line.cll_bv:before, .vis-mll.cll_bv:before  {
	top: 0;
}

/*------------- 02.5 Loader Title -----------------*/
.cd-loader_title , .loader-wrap-title {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 19;
    font-size: 6.0vw;
    color: rgba(255, 255, 255, .05);
 	text-transform: uppercase;
}

.cd-loader_title span {
	position: relative;
	opacity: 0;
	transition: all .6s ease-in-out;
}

.cd-loader_title span.cd-loader_title_vis {
	opacity: 1;
}

/* ============================================
   03. STRUCTURE PRINCIPALE
   ============================================ */

/*------------- 03.1 Main Container -----------------*/
#main{
	height:100%;
	width:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	opacity:0;
}

.wrapper {
    vertical-align: top;
    position: absolute;
    left: 350px;
    top: 90px;
    right: 0;
    bottom: 0;
    z-index: 2;
}

#content-holder {
	position: absolute;
	top:0;
	left:0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.content {
	position: relative;
	z-index: 3;
	background: #fff;
	min-height: 100vh;
}

/*------------- 03.2 Container -----------------*/
.container{
	width: min(100% - 25px, 1500px);
	margin-inline:auto;
	position: relative;
	z-index:5;
}

.container.small-container {
	width: min(100% - 40px, 945px);
	z-index:6;
}

/*------------- 03.3 Background & Overlay -----------------*/
.bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-size: cover;
	background-attachment: scroll  ;
	background-position: center  ;
	background-repeat:repeat;
	background-origin: content-box;
	border-radius: 8px;
} 

.overlay    {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
    background:rgba(39, 37, 53, .7);
	z-index: 2
}

.fs-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

/*------------- 03.4 Body Overlay -----------------*/
.body-ovelay, .reserv_modal_overlay {
    position: fixed;
    z-index: 19;
	background: rgba(39, 37, 53, .7);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    display: none;
	top: 90px;
	left:350px;
}

/* ============================================
   04. HEADER PRINCIPAL
   ============================================ */

/*------------- 04.1 Main Header -----------------*/
.main-header {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 350px;
    background: #232032;
	z-index: 30;
	overflow: hidden;
}

.main-header_container {
	position: absolute;
	top: -90px;
	left: 20px;
	bottom: 20px;
	right: 20px;
	z-index: 2;
}

.main-header:before , .share-wrapper:before , .content-nav-fixed:before , .sb-details:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px !important;
	bottom: 10px;
	right: 10px;
	border-radius: 10px;
	background: #272535;
    z-index: 1;
    border: 1px dashed rgba(255, 255, 255, .2);
}

/*------------- 04.2 Logo -----------------*/
.logo-holder {
	position: fixed;
	height: 50px;
	top: 60px;
	left: 95px;
	width: 140px;
	z-index: 31;
}

.logo-holder:after {
    content: '\25CF\25CF\25CF';
    color:  var(--main-color);
	position: absolute;
    font-size: 5px;
    letter-spacing: 8px;
 	left: 50%;
 	margin-left: -2px;
	top: -32px;
}

.logo-holder img {
	width: auto;
	height: 100%;
}

/*------------- 04.3 Navigation -----------------*/
.nav-wrap {
	position: relative;
 	float: left;
 	width: 310px;
 	margin-top: 190px;
 	z-index: 5;
}  

.nav-wrap nav.nav-inner {
	float: left;
	width: 100%;
	position: relative;
	overflow: hidden;
	z-index: 4;
}

.nav-wrap  ul {
	margin: 0;
	float: left;
	width: 100%;
	overflow: hidden;
}

.nav-wrap  li {
	margin: 0;
	position: relative;
	float: left;
	width: 100%;
}

.nav-wrap  a {
	color:#fff;
	font-size: 2.1em;
	height: 42px;
	font-weight: 500;
	line-height: 42px;
	text-transform: uppercase;
	position: relative;
	display: block;
} 

.nav-wrap   a:before {
    font-family: "Font Awesome 6 Pro";
   	content: '\f0d9';
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	opacity: 0;
} 

.nav-wrap  a:after {
    font-family: "Font Awesome 6 Pro";
   	content: '\f0da';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	opacity: 0;
	font-weight: bold;
}

.nav-wrap   a.act-link , .nav-wrap  a.back:before , .nav-wrap   a:hover , .nav-wrap   a:after , .nav-wrap  a:before , .nav-wrap a.actscr-link {
	color: var(--main-color);	
}

.nav-wrap   a:hover:after , .nav-wrap   a:hover:before  {
	opacity: 1;
}

.nav-wrap  a.back:after {
	display: none
}

.nav-wrap   a.back:before {
    font-family: "Font Awesome 6 Pro";	
	content: '\f00d';
 	transform: translateX(-50%) translateY(-50%);
	left: 50%;
	opacity: 1;
	font-size: 18px;
}

/*------------- 04.4 Nav Decorations -----------------*/
.nav_dec {
	position: relative;
	width: 90px;
 	display: inline-block;
	margin: 0 0 0px 0;
}

.nd_bottom , .nav_dec_solid.nav_dec.nav_dec_solid_bottom {
	margin: 30px 0 0 0;
}

.nav_dec_solid.nav_dec {
	margin: 0;
	width: 190px;
}

.nav_dec span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--main-color);
    display: inline-block;
}

.nav_dec:before, .nav_dec:after {
    content: '';
    position: absolute;
    width: 30px;
    height: 1px;
    border-top: 1px dotted rgba(255,255,255,.2);
    top: 50%;
    margin-top: 1px;
}

.nav_dec_solid.nav_dec:before , .nav_dec_solid.nav_dec:after {
	border-color: #bbb;
	width: 60px;
}

.nav_dec:before {
	left: 0;
}

.nav_dec:after {
	right: 0;
}

.nav-separator {
	position: absolute;
	top: -10px;
	left: 50%;
	width: 100px;
	height: 20px;
	line-height: 20px;
	background: #272535;
	z-index: 10;
	margin-left: -50px;
}

.nav-separator span:after {
    content: '\25CF\25CF\25CF\25CF\25CF\25CF';
    color:  var(--main-color);
    font-size: 5px;
    letter-spacing: 8px;
	position: relative;
	top: -2px;
}

.nav-separator span {
    display: inline-block;
    width: 60px;
}

/*------------- 04.5 Header Contacts -----------------*/
.main-header-contacts {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	padding: 0 20px;
}

.main-header-contacts-wrap {
	padding-top: 15px;
	border-top: 1px dashed rgba(255, 255, 255, .2);	
}

.main-header-contacts-wrap li {
	font-size: 1.2em;
	margin-bottom: 5px;
}

.main-header-contacts-wrap li a {
	color: #fff
}

.main-header-contacts-wrap li span {
	display: block;
	color:var(--main-color);
	margin-bottom: 4px;
}

.header-social {
	margin-top: 10px;
	padding-top: 25px;
	border-top: 1px dashed rgba(255, 255, 255, .2);
}

.header-social a {
	color:var(--main-color);
	display: inline-block;
	margin: 0 20px;
}

.mhc_dec {
	position: absolute;
	top: -30px;
	left: 50%;
	width: 20px;
	margin-left: -10px;
}

.mhc_dec:after {
	content: '';
	position: absolute;
	left: 50%;
	width: 1px;
	bottom:  50px;
	height: 80px;
	border-right:  1px dashed rgba(255,255,255,.2);
}

.mhc_dec:before {
	content: '';
	position: absolute;
	left: 50%;
	width: 8px;
	height: 8px;
	background: var(--main-color);
	margin-left: -4px;
	bottom: 0;
	transform: rotate(45deg);
}

/*------------- 04.6 Header Phone -----------------*/
.header-phone {
    color: #fff;
    position: relative;
    cursor: pointer;
    float: right;
    font-size: 2.5em;
    margin: 20px 20px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
}

.header-phone a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.7em;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

/* Hover effet global */
.header-phone a:hover {
    color: var(--main-color);
}

/* Icône */
.header-phone i {
    font-size: 0.8em;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Animation d'appel */
.header-phone:hover i {
    color: var(--main-color);
    transform: rotate(15deg);
    animation: phoneRing 0.5s ease-in-out;
}

/* Animation optionnelle */
@keyframes phoneRing {
    0% { transform: rotate(0); }
    25% { transform: rotate(15deg); }
    50% { transform: rotate(-10deg); }
    75% { transform: rotate(15deg); }
    100% { transform: rotate(0); }
}

/*------------- 04.7 Nav Button Mobile -----------------*/
.nav-button-wrap , .header-search_btn , .reser_btn_mob-dec , .mob-bg {
	display: none;
}

.nav-button-wrap {
	float: right;
	height: 60px;
	width: 60px;
	cursor: pointer;
	position: relative;
	margin: 6px 5px 0 0;
	z-index: 20;
	border: 2px solid var(--main-color);
	border-radius: 8px;
}

.menu-label {
	position: absolute;
	bottom: 35px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	font-weight: 700;
	color: var(--main-color);
	letter-spacing: 1px;
	white-space: nowrap;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.nav-button-wrap:hover .menu-label {
	opacity: 0;
}

.nav-button {
	position: absolute;
	top: 18px;
	left: 50%;
	width: 22px;
	height: 14px;
	margin-left: -11px;
}

.nav-button span {
	float: left;
	width: 100%;
	height: 2px;
	background: #fff;
	margin-bottom: 3px;
	transition: all 0.3s ease-in-out;
}

.nav-button span:first-child {
	width: 50%;
}

.nav-button-wrap.nbw_tb span {
	width: 0;
}

.nav-button-wrap.nbw_tb .menu-label {
	opacity: 0;
}

.nav-button-wrap:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f00d";
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
	height: 80px;
	line-height: 80px;
	opacity: 0;
	color: var(--main-color);
	font-size: 19px;
	transition: all 0.3s ease-in-out;
}

.nav-button-wrap.nbw_tb:before {
	transition-delay: 0.3s;
	opacity: 1;
}

/* ============================================
   05. TOP HEADER
   ============================================ */

/*------------- 05.1 Top Header Container -----------------*/
.top-header {
	position: fixed;
	top: 0;
	left: 350px;
	right: 0;
	height: 90px;
    background: #232032;
	z-index: 31;
	padding: 10px;
}

.top-header-container {
	position: relative;
	z-index: 2;
	height: 80px;
}

.top-header:before , .main-footer:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	bottom: 10px;
	right: 10px;
	border-radius: 10px;
	background: #272535;
    z-index: 1;
    border: 1px dashed rgba(255, 255, 255, .2);
}

/*------------- 05.2 Search Bar -----------------*/
.top-header-search-wrap{
    position: absolute;
    z-index: 20;
    width: 450px;
    left:0;
    top: 10px;
}

.top-header-search .search {
    color: #fff;
    float: left;
    border: 1px dashed rgba(255, 255, 255, .2);
    background: #32303F;
    position: relative;
    outline: none;
    padding: 0px 0px 0px 20px;
	border-radius: 10px;
    width: 100%;
    height: 50px;
	font-size: 1.1em;
	font-family: var(--main-font);
    -webkit-appearance: none;
}

.top-header-search .search::-webkit-input-placeholder {
	color:rgba(255,255,255,.7)
}

.top-header-search_btn{
	border: none;
    outline: none;
    cursor: pointer;
	background: none;
    position: absolute;	
	color:var(--main-color);
	font-size: 1.2em;
	top: 18px;
	right: 24px;
}

/*------------- 05.3 Reservation Button -----------------*/
.top-header-reser_btn {
	float: right;
    position: relative;
    padding: 0 20px;
    border-radius: 6px;
    background: var(--main-color);
    color: #000;
    height: 54px;
    line-height: 54px;
    margin: 0 20px 0 10px;
    top: 8px;
    font-size: 1.2em;
    cursor: pointer;
    transition: all .2s ease-in-out;	
}

.top-header-reser_btn i {
	margin-left: 10px;
    transition: all .2s ease-in-out;	
}

.top-header-reser_btn:hover {
	background: #32303F;
	color: var(--main-color);
}

.top-header-reser_btn:hover a {
	color: var(--main-color);
}

/*------------- 05.4 Header Cart -----------------*/
.header-cart_wrap {
	position:absolute;
	top:100px;
	right:-20px;
	padding:25px 30px 15px;
	width: 500px;
	background:#fff;
	opacity: 0;
    visibility: visible;
    display: none;
	border:1px solid #eee;
	border-top:none;
	transition: all .3s ease-in-out;
	border-radius: 6px;
    box-shadow: 0px 10px 54px 0px rgba(12, 0, 46, .2);
}

.vis-cart {
	opacity:1;
	visibility:visible;
	right:10px;
}

.close-cart {
	position: absolute;
	right: 30px;
	top: 20px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .2);
    background: #32303F;
 	color:var(--main-color);
	cursor: pointer;
    transition: all .3s ease-in-out;
	font-weight: 900;
	border-radius: 4px;
}

.header-cart_title {
	font-size:1.7em;
	font-weight:700;
	color:#666;
	padding: 0 0 20px 0;
	text-align:left;
	margin-bottom:10px;
	border-bottom:1px solid #eee;
}

.header-cart_title span {
	font-size:10px;
	position:relative;
	text-transform: uppercase;
	border-radius: 4px;
	font-weight:400;
	top:-2px;
	padding: 4px 10px;
	background: #fff;
	margin-left: 10px;
 	color:var(--main-color);
	font-family: var(--secondary-font);
	border: 1px solid #eee;
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
}

.header-cart_wrap_container {
	max-height:250px;
	float:left;
	width:100%;
	overflow:auto;
	padding:10px 20px 50px;
	background: #f9f9f9;
	border-radius: 10px;
	scrollbar-width: none;
    -ms-overflow-style: none;
	border:1px dashed #ddd;
}

.header-cart_wrap_container::-webkit-scrollbar {
  	width: 0px;
}

.header-cart_wrap_total {
	padding:22px 0;
	text-align:left;
	border-bottom:1px solid #eee;
	margin-top:10px;
}

.header-cart_wrap_total:before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:1px;
	border-top:1px solid #eee;
	box-sizing:border-box;
}

.header-cart_wrap_total_item {
	color:#292929;
	font-size:1.4em;
    font-weight: 600;
}

.header-cart_wrap_total_item span  {
	float: right; 
 	font-size: 1.1em
}

.box-widget-content .widget-posts ol {
	counter-reset: my-awesome-counter;
	padding:0 10px 0 20px;
} 

.box-widget-content .widget-posts li {
	position:relative;
	counter-increment: my-awesome-counter;
	border-bottom:1px  dotted #ddd;
	padding: 10px 0;
}

.box-widget-content .widget-posts li:before {
	content: counter(my-awesome-counter);
	font-size: 1.6em;
	font-weight: 600;
	position: absolute;
	left: -24px;
	top: 28px;
 	color:var(--main-color);
}

.box-widget-content .widget-posts li:last-child {
	margin-bottom:0;
	border-bottom:none;
}

.box-widget-content .widget-posts-img , .cart-details_header  .widget-posts-img  {
	float:left;
	width:30%;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 10px 14px 0px rgba(0,0,0, .3);
}

.box-widget-content  .widget-posts-descr  {
	float:left;
	width:70%;
	padding:10px 30px 0 20px;
	text-align:left;
	position:relative;
}

.box-widget-content  .widget-posts-descr a   {
	color:#333;
	font-weight:700;
 	font-size: 1.1em;
	font-family: var(--secondary-font);
}

.box-widget-content  .widget-posts-descr a:hover {
 	color:var(--main-color);
}

.widget-posts-descr_calc {
	width:100%;
	font-weight:700;
	color:#999;
	padding-top:6px;
	font-size:1.3em;
}

.widget-posts-descr_calc  span{
	padding:0 4px;
}

.clear-cart_button {
	cursor:pointer;
	border-radius:100%;
	text-align:center;
	position:absolute;
	right:6px;
	font-size: 15px;
	top:50%;
	margin-top:-10px;
 	color:var(--main-color);
}

.header-cart_wrap_footer {
	margin-top:15px;
}

.header-cart_wrap_footer:before {
    content: "";
    display: block;
    width: 1px;
    height: 36px;
    position: absolute;
    top: 50%;
    left:50%;
    background: #ddd;
    margin: -18px 0 0 -1px;
	z-index: 1;
}

.header-cart_wrap_footer:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	margin: -3px 0 0 -4px;
	background: var(--main-color);
	z-index: 2;
	box-shadow: 0px 0px 0px 2px #fff;
}

.header-cart_wrap_footer a{
	width:45%;
	float:left;
	padding:18px 0;
	border-radius: 4px;
    background: #32303F;
	text-transform: uppercase;
	font-weight:700;
    transition: all .3s ease-in-out;
	box-shadow: 0 10px 14px 0px rgba(0,0,0, .3);
	color:var(--main-color);
}

.header-cart_wrap_footer a:last-child {
	float:right;
}

.header-cart_wrap_footer a:hover {
	color:#fff;
	box-shadow: 0 0 0 0 rgba(0,0,0, .3);
}

/*------------- 05.5 Cart/Admin/Gift/Share Buttons -----------------*/
.cart-btn , .admin-btn , .gift-btn , .share-btn {
	color:#fff;
	position: relative;
	cursor: pointer;
}

.cart-btn , .admin-btn , .gift-btn , .share-btn  {
	float: right;
 	height: 54px;
	line-height: 54px;
	width: 54px;
	top: 50%;
	margin: -32px 0 0 0;
	padding-top: 4px;
}

.share-btn {
 	color:#fff;
	margin-right: 0px;
} 

.share-btn i  {
	font-size: 1.5em;
} 

.cart-btn i  {
	font-size: 1.6em;
}

.admin-btn i  {
	font-size: 1.6em;
}

.gift-btn i  {
	font-size: 1.6em;
}

.cart-btn strong , .admin-btn strong , .gift-btn strong , .share-btn strong  {
	position: absolute;
    top: 100%;
    right: 50%;
	margin:30px -70px 0 0;
    width: 140px;
    height: 50px;
    line-height: 50px;
    background: #32303F;
	border-radius: 4px;
    font-weight: 700;
    transition: all .3s ease-in-out;
    font-size: 1.1em;
    opacity: 0;
    visibility: hidden;
 	color:var(--main-color);
    box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .05);
}

.gift-card-btn {
    position: absolute;
    bottom: 15px;
    right: 150px; /* Positionné à gauche du bouton Réserver */
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
}

/* Les deux boutons apparaissent au hover de hero-menu-item */
.hero-menu-item:hover .gift-card-btn {
    opacity: 1;
    visibility: visible;
}

/* Tooltip pour le bouton Carte Cadeau */
.gift-card-btn a::after {
    content: 'Offrir en carte cadeau';
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%) scale(0);
    background-color: #32303F;
    color: var(--main-color);
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
    z-index: 20;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
}

/* Flèche du tooltip */
.gift-card-btn a::before {
    content: '';
    position: absolute;
    bottom: 80%;
    left: 50%;
    transform: translateX(-50%) scale(0);
    border: 6px solid transparent;
    border-top-color: #32303F;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 20;
}

/* Affichage du tooltip au hover du bouton */
.gift-card-btn a:hover::after,
.gift-card-btn a:hover::before {
    transform: translateX(-50%) scale(1);
    opacity: 1;
}

.gift-card-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #32303F;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .1);
}

.gift-card-btn a i {
    font-size: 14px;
    color: var(--main-color);
    transition: all 0.2s ease-in-out;
}

.gift-card-btn a:hover {
    background: #fff;
    box-shadow: 0px 12px 18px 0px rgba(12, 0, 46, .2);
}

.gift-card-btn a:hover i {
    color: var(--main-color);
}

/* Version responsive */
@media (max-width: 768px) {
    .gift-card-btn {
        right: 150px;
		bottom: 5px;
    }
    
    .gift-card-btn a {
        width: 32px;
        height: 32px;
    }
    
    .gift-card-btn a i {
        font-size: 16px;
    }
}

@media (max-width: 564px) {
    .gift-card-btn {
        right: 135px;
		bottom: 5px;
    }
    
    .gift-card-btn a {
        width: 31px;
        height: 31px;
    }
    
    .gift-card-btn a i {
        font-size: 14px;
    }
}

.cart-btn:hover  strong , .admin-btn:hover strong , .gift-btn:hover strong ,.share-btn:hover  strong {
	visibility: visible;
	opacity: 1;
}

.cart-btn_counter {
	position: absolute;
	bottom: 8px;
	left: 2px;
	width: 20px;
	height: 16px;
	line-height: 16px;
	background: var(--main-color);
	color:#fff;
	font-size: 10px;
	border-radius: 4px;
	font-family: var(--secondary-font);
}

/*------------- 05.6 Language Selector -----------------*/
.lang-wrap  {
	position:relative;
	top:14px;
	float: right;
	margin-left: 20px;
	padding:0  10px;
    background:#32303F;
	border-radius: 4px;
	border: 1px dashed rgba(255, 255, 255, .2);
}

.lang-tooltip {
	position:absolute;
	top:74px;
	right:0;
	width:120px;
	z-index:105;
    background: #32303F;
	padding:20px ;
	visibility:hidden;
	opacity:0;
	transition: all .3s ease-in-out;
	border-radius: 4px;
}

.lang-tooltip li {
	line-height: 25px;
	text-align: left;
}

.lang-tooltip li a {
	color:#fff;
	font-size: 1.1em;
	text-transform: uppercase;
}

.lang-tooltip li a.current-lan , .lang-tooltip li a:hover , .show-lang i  {
	color:var(--main-color);	
}

.show-lang   {
	color:#fff;
	cursor:pointer;
	width:100px;
	float:right;
	padding:12px 10px 10px 0;
	position:relative;
	z-index:106;
}

.show-lang i.arrlan {
	position:absolute;
	left:75px;
	top:50%;
	line-height:10px;
	height:10px;
	margin-top:-5px;
}

.show-lang span {
	position:relative;
	z-index:2;
	float:left;
	margin-left:10px;
	text-transform: uppercase;
	font-weight: 600;
}

.show-lang span strong {
	padding-left:10px;
	top:-2px;
	font-weight:500;
	position:relative;
}

.show-lang span i {
	font-size:17px;
}

.show-lang .fa-angle-down {
	position:relative;
	top:2px;
}

.lang-wrap:hover .lang-tooltip  {
	visibility:visible;
	opacity:1;
}

/* ============================================
   06. POPUP DE RECHERCHE
   ============================================ */

/*------------- 06.1 Search Results Popup -----------------*/
.search-results-popup {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 30px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    max-height: 80vh;
    overflow-y: auto;
    transition: all 0.3s ease;
}

.search-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px 15px;
    border-bottom: 1px solid #eee;
    background: #f9f9f9;
    border-radius: 10px 10px 0 0;
}

.search-results-header h4 {
    margin: 0;
    font-size: 1.4em;
    color: #333;
    font-weight: 600;
}

.close-search-results {
    background: none;
    border: none;
    font-size: 1.2em;
    color: #666;
    cursor: pointer;
    padding: 5px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.close-search-results:hover {
    background: #f0f0f0;
    color: var(--main-color);
}

.search-results-content {
    padding: 15px 0;
    max-height: 60vh;
    overflow-y: auto;
}

.search-category {
    margin-bottom: 25px;
}

.search-category:last-child {
    margin-bottom: 0;
}

.search-category-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 25px 15px;
    margin: 0 0 10px 0;
    font-size: 1.2em;
    font-weight: 600;
    color: var(--main-color);
    border-bottom: 1px dotted #ddd;
}

.search-category-title i {
    font-size: 1.1em;
}

.search-results-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.search-result-item {
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.2s ease;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item:hover {
    background: #f8f9fa;
}

.search-result-item a {
    display: flex;
    align-items: center;
    padding: 15px 25px;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
}

.search-result-item a:hover {
    color: inherit;
}

.result-icon {
    width: 40px;
    height: 40px;
    background: #f0f0f0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.result-icon i {
    font-size: 1.2em;
    color: #666;
    transition: all 0.2s ease;
}

.search-result-item:hover .result-icon {
    background: var(--main-color);
}

.search-result-item:hover .result-icon i {
    color: #fff;
}

.result-content {
    flex: 1;
    text-align: left;
}

.result-title {
    display: block;
    font-size: 1.1em;
    font-weight: 600;
    color: #333;
    margin-bottom: 3px;
    transition: all 0.2s ease;
}

.search-result-item:hover .result-title {
    color: var(--main-color);
}

.result-description {
    display: block;
    font-size: 0.9em;
    color: #666;
    line-height: 1.4;
}

.result-price {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--main-color);
    margin-left: 15px;
    flex-shrink: 0;
}

.search-results-footer {
    padding: 15px 25px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    border-radius: 0 0 10px 10px;
}

.search-tip {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9em;
    color: #666;
    font-style: italic;
}

.search-tip i {
    color: var(--main-color);
    font-size: 1.1em;
}

.search-results-content::-webkit-scrollbar {
    width: 6px;
}

.search-results-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.search-results-content::-webkit-scrollbar-thumb {
    background: var(--main-color);
    border-radius: 3px;
}

.search-results-content::-webkit-scrollbar-thumb:hover {
    background: #4A653E;
}

.search-results-popup.show {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.search-results-popup.hide {
    opacity: 0;
    transform: translateY(-10px);
    visibility: hidden;
}

/* ============================================
   07. PARTAGE & SOCIAL
   ============================================ */

/*------------- 07.1 Share Wrapper -----------------*/
.share-wrapper {
	position:absolute;
	width: 500px;
	right:10px;
	top:100%;
	padding:0 20px;
    transition: all .4s ease-in-out;
    background: #211F2C;
	overflow:hidden;
	height: 80px;
	line-height:80px;
    box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .05);
	border-radius: 10px;
	visibility: hidden;
	opacity: 0;
}

.visshare {
	visibility: visible;
	opacity: 1;
	margin-top: 10px;
} 

.share-container {
	z-index:2;
}

.share-container a{
	display:inline-block;
	position:relative;
	opacity:0;
	top:-10px;
	margin:0 20px;
	font-size:1.3em;
	font-weight:600;
	color: var(--main-color);
    transition: all .2s ease-in-out;
}

.share-container a.vissharea {
	opacity: 1;
	top: 0;
}

.share-container a:hover {
	color:#fff;
}  

.share-icon-facebook:before {
    content: "Facebook";
}

.share-icon-tiktok:before {
    content: "TikTok";
}

.share-icon-instagram:before {
    content: "Instagram";
}

.share-icon-youtube:before {
    content: "YouTube";
}

/*------------- 07.2 Brush Decorations -----------------*/
.brush-dec , .brush-dec2 {
	position:absolute;
	left:0;
	height:40px;
	width:100%;
	z-index:20;
	background-size: cover;
	background-attachment: scroll;
	background-position: center;
	background-repeat: repeat;
	background-origin: content-box;
}

.brush-dec {
	bottom:0;
	background:url(../images/brush-dec.png);
}

.brush-dec2 {
	top:-2px;
	height:50px;
	background:url(../images/brush-dec_2.png);
}

.brush-dec2.brush-dec_bottom {
	top:100%;
	margin-top:-2px;
}

/* ============================================
   08. FOOTER
   ============================================ */

/*------------- 08.1 Main Footer -----------------*/
.height-emulator {
    z-index: 1;
	position: relative;
}

.main-footer {
    background: #211F2C;
	position: fixed;
	z-index: 2;
	bottom: 0;
	left: 350px;
	right: 0;
}

.main-footer:before {
	content: '';
	position: absolute;
	top:50px;
	left: 0;
	bottom: 10px;
	right: 10px;
	border-radius: 10px;
	background: #272535;
    z-index: 1;
    border: 1px dashed rgba(255, 255, 255, .2);
}

.footer-inner {
	position: relative;
	z-index: 3;
	overflow: hidden;
}

.footer-dec {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: 2;
}

/*------------- 08.2 Footer Widgets -----------------*/
.footer-widget-wrap {
	padding:110px 0 150px;
	position: relative;
	z-index: 10;
}

.footer-widget-title {
	text-align:left;
 	color: var(--main-color);
	font-size:2.0em;
	padding-bottom:16px;
	margin-bottom: 22px;
	border-bottom: 1px dashed rgba(255, 255, 255, .2);
}

.subcribe-form  , #subscribe {
	position: relative
}

.subcribe-form input.enteremail{
    border: 1px dashed rgba(255, 255, 255, .2);
	border-right: none;
	background: rgba(255, 255, 255, 0.05);
	padding: 0 20px;
	height:60px;
	line-height:60px;
	box-sizing:border-box;
	border-radius:4px;
	position: relative;
	z-index: 1;
	color: #fff;
	width:100%;
	outline:none;
	float:left;
 	font-family: var(--main-font);
} 

.enteremail::-webkit-input-placeholder {
	color:#fff;
}

.subcribe-form .subscribe-button {
 	right: 6px;
	top: 4px;
	width: 120px;
	z-index: 2;
	height:52px;
	line-height:52px;
 	position:absolute;
	outline:none;
	border: none;
	font-weight: 500;
	cursor: pointer;
    text-transform: uppercase;
 	font-family: var(--main-font);
	border-radius: 4px;
	background: var(--main-color); 
    transition: all .2s linear;
}

.subcribe-form .subscribe-button:hover {
	background:#fff;
} 

.subscribe-message {
	position:absolute;
	bottom:-90px;
	left:0;
	width:100%;
	text-align:left;
	font-weight:500;
	font-size: 1.2em;
	color: var(--main-color); 
}

.footer-widget-content p {
	text-align:left;
	margin-bottom:15px;
	color: rgba(255,255,255,0.7);
}

.footer-widget-content-link {
 	color: var(--main-color);
	font-size:14px;
	margin-top:6px;
	position:relative;
  	font-family: var(--secondary-font);
    transition: all .2s linear;
	text-align: left;
	display: block;
}

.footer-widget-content-link span {
	border-bottom:1px dotted  rgba(255,255,255,0.3);
	padding-bottom:4px;
}

.footer-widget-content-link:hover {
	color:#fff;
}

.footer-contacts {
	margin-bottom:26px;
	padding-top:4px;
} 

.footer-contacts li{
	text-align:left;
	margin-bottom:10px;
	color:#fff;
	font-size: 1.2em
}

.footer-contacts li:last-child {
	margin-bottom:0;
}

.footer-contacts li span {
	margin-right:10px;
	width:80px;
	float:left;
}

.footer-contacts li a  , .footer-contacts li span{
	color:#fff;
    transition: all .2s linear;
}

.footer-list li {
	display: block;
	margin-bottom: 10px;
	text-align: left;
	position: relative;
	padding-left: 20px;
	font-weight: 500;
	font-size: 1.1em;
	text-transform: uppercase;
}

.footer-contacts li a:hover , .footer-list li a:hover {
	color:var(--main-color);	
}

.footer-list li:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 11px;
	font-weight: 900;
    transition: all .2s linear;
	color:var(--main-color);
}

.footer-list li:hover:before {
	left: 4px;
}

.footer-list li a {
	color:#fff;
}

/* État active pour les liens du footer */
.footer-list li.active a {
    color: var(--main-color);
}

.footer-list li.active:before {
    left: 4px;
    color: var(--main-color);
}

/* Alternative : si vous ajoutez la classe directement sur le lien */
.footer-list li a.active {
    color: var(--main-color);
}

.footer-social {
	position: relative;
	height: 46px;
	line-height: 46px;
	display: inline-block;
	top: 18px;
	border: 1px dashed rgba(255, 255, 255, .2);
    background: #32303F;
	overflow: hidden;
	border-radius: 6px;
}

.footer-social li , .footer-social li a {
	float: left;
}

.footer-social li a {
	width: 46px;
	border-left: 1px dashed rgba(255, 255, 255, .2);
	height: 46px;
	line-height: 46px;
	color: var(--main-color);
	font-size: 1.1em;
    transition: all .2s ease-in-out;
}

.footer-social li:first-child a {
	border: none
}

.footer-social li a:hover {
	color:#fff;
}

/*------------- 08.3 Footer Bottom -----------------*/
.footer-bottom {
	position: absolute;
	height: 80px;
	line-height: 80px;
	border-top: 1px dashed rgba(255, 255, 255, .2);
	left: 20px;
	right: 30px;
	overflow: hidden;
	bottom: 10px;
	z-index: 10;
}

.copyright {
	float: left;
	color:var(--main-color);
	font-size: 1.2em;
}

.to-top {
	float: right;
	cursor: pointer;
	color: var(--main-color);
	font-size: 1.1em;
	text-transform: uppercase;
}

.to-top i {
	margin-left: 20px;
	color:#fff;
	position: relative;
	top: 0;
	transition: all .3s ease-in-out;
}

.to-top:hover i {
	top: -5px;
}

/* ============================================
   09. SECTIONS & CONTENUS
   ============================================ */

/*------------- 09.1 Section de base -----------------*/
.section {
	position: relative;
	padding: 60px 0;
	background: #fff;	
}

.hidden-section {
	overflow: hidden;
}

.parallax-section {
	padding: 120px 0;
}

.big-padding {
	padding: 140px 0;
}

.sps {
	padding: 90px 0 70px;
}

.parallax-section.hero-section {
	padding:210px 0 120px;
	z-index:21;
}

.hero-section:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(39, 37, 53, 0) 0%, rgba(39, 37, 53, 0.6) 80%);
}

.par-elem   {
	height: 120%;
	top: 0;
}

.menu-wrapper-title .bg{
	height: 130%;
	top:5%;
}

.section-bg {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:400px;
	overflow:hidden;
	opacity:0.4;
}

/*------------- 09.2 Section Title -----------------*/
.section-title {
	position:relative;
	z-index:5;
	margin: 0px 0 20px;
}

.statb {
	padding-bottom: 10px;
	border-bottom: 1px dashed #ddd;
}

.statb2 {
	padding-bottom: 10px;
	border-bottom: 1px dashed #ddd;
}

.section-title.text-align_left {
	text-align:left;
	margin: 0
}

.section-title.text-align_left h4::after {
	position: absolute;
	content: '\25CF\25CF\25CF\25CF\25CF';
	width: 50px;
	left: 45%;
	top: -45px;
	font-size: 6px;
	letter-spacing: 8px;
	color: var(--main-color);
}

.section-title.text-align_left.statb2 h4::after {
	position: absolute;
	content: '\25CF\25CF\25CF\25CF\25CF';
	width: 50px;
	left: 45%;
	top: -47px;
	font-size: 6px;
	letter-spacing: 8px;
	color: var(--main-color);
}

.section-title h4 {
	font-style:italic;
	font-size:18px;
	font-weight:500;
	color: var(--main-color);
	position: relative;
	margin-left: 25px;
}

.section-title h2 {
	font-size:3.0em;
	font-weight:500;
	color: #323246;
}

.section-title h4:after {
    position: absolute;
	content: '\25CF\25CF\25CF\25CF\25CF';
	width: 50px;
	left: 45%;
	top: -21px;
	font-size: 6px;
	letter-spacing: 8px;
	color: var(--main-color);
} 

.section-title.text-align_left h2 {
	font-size:2.5em;	
	padding-left: 10px;
}

.parallax-section  .section-title h2 {
	color:#fff;
 	font-size:3.0em;
}

.parallax-section  .section-title p {
	color:rgba(255,255,255,.8);
	margin-top: 20px;
}

.parallax-section.hero-section .section-title h2 {
	font-size:4.5em;
}

.parallax-section.hero-section .section-title h4:before {
	content: '';
	position: absolute;
	left: 49%;
	top: -116px;
	height: 70px;
	width: 1px;
	border-left: 1px  dashed rgba(255, 255, 255, .4);
}

.parallax-section.hero-section .section-title h4:after {
	content: none;
}

/*------------- 09.3 Dots Separator -----------------*/
.dots-separator {
	margin:10px 0 30px;
}

.dots-separator span {
	float:none;
	display:inline-block;
	width:75px;
}

.dots-separator span:after {
    content: '\25CF\25CF\25CF\25CF\25CF\25CF';
    font-size: 7px;
    letter-spacing: 10px;
	color: var(--main-color);
}

.sec-dots-dec {
	position: absolute;
	top: 50%;
	width: 8px;
    height: 8px;
    border-radius: 50%;
	z-index: 10;
	background: var(--main-color);
	margin-top: -15px;
}

.sec-dots-dec:before, .sec-dots-dec:after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    left: 50%;
	background: #fff;
	margin-left: -2px;
} 

.sec-dots-dec:before {
	top: -25px;
}

.sec-dots-dec:after {
	bottom: -25px;
}

.sdd_left {
	left:30px; 
}

.sdd_right {
	right: 30px;
}

/*------------- 09.4 Section Separator -----------------*/
.section-title-separator_wrap {
	position: relative
}

.section-title-separator {
	position: relative;
	width: 150px;
	display: inline-block;
	margin-top: 11px;
}

.section-title-separator:before , .section-title-separator:after {
	content: '';
	position: absolute;
	width: 60px;
	height: 1px;
	border-top: 1px dotted rgba(0,0,0,.4);
	top: 50%;
	margin-top: 1px;
}

.content-section.dark-bg .section-title-separator:before  , .content-section.dark-bg  .section-title-separator:after , .hero-title-item .section-title-separator:after , .hero-title-item .section-title-separator:before   {
	border-top: 1px dotted rgba(255,255,255,.4);	
}

.section-title-separator:before {
	left: 0;
}

.section-title-separator:after {
	right: 0;
}

.section-title-separator span {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--main-color);;
	display: inline-block;
}

.section-separator {
	position: relative;
	margin-top: 20px;
}

.section-separator:before , .section-separator:after {
	content: '';
	position: absolute;
	top: 50%;
	width: 110px;
	height: 1px;
	background: #eee;
}

.section-separator:before {
	left: 50%;
	margin-left: 30px;
}

.section-separator:after {
	right: 50%;
	margin-right:30px;
}

.section-separator i {
	font-size: 1.7em;
	color:var(--main-color);
}

.section-dec {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	border-top: 1px dashed #ddd;
	z-index: 1;
}

.section-dec:before, .section-dec:after {
	content: '';
	position: absolute;
	top: 50%;
	width: 20px;
	height: 6px;
	border-radius: 4px;
	margin-top: -4px;
	background:  var(--main-color);
}

.section-dec:before {
	left: 20px;
}

.section-dec:after {
	right: 20px;
}

/*------------- 09.5 Boxed Content -----------------*/
.boxed-content-item {
    padding: 30px;
	background: #fff;
	position: relative;
}

.boxed_content {
	position: relative;
	z-index: 3
}

.bi_dec {
	border-radius: 10px;
	border: 1px dashed #ddd;
}

.boxed-container   {
	position: relative;
	border-radius: 4px;
	padding: 30px;
	background: #F6F6F6;
	border: 1px dashed #ddd;
}

.boxed-content {
    position: relative;
    background: #fff;
    border-radius: 6px;
    border: 1px dashed #ddd;
    margin-bottom: 20px;
	overflow: hidden;
}

.boxed-content-title {
	border-bottom: 1px dashed #ddd;
    padding: 20px 30px;
    font-size: 1.5em;
    margin-bottom: 20px;
    font-weight: 600;
    position: relative;
    background: #fff;
    color: #292929;
	text-align: left;
}

.boxed-content-title:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0dd";
    position: absolute;
    right: 40px;
    top: 50%;
    color: var(--main-color);
    height: 20px;
    font-size: 13px;
    line-height: 20px;
    margin-top: -10px;
    font-weight: 900;
}

.bc-item_smal_pad {
	padding: 5px 30px;
}

/*------------- 09.6 Text Block -----------------*/
.text-block-title {
 	position: relative;
}

.tb-sin {
	margin-top: 30px;
	padding-right: 50px;
}

.text-block-title h4 , .tbc_subtitle {
	text-align: left;
 	font-weight: 500;
 	position: relative;
    color: #333;
    font-size: 2.8em;
}

.text-block {
	position: relative;
	z-index: 4;
}

/*------------- 09.7 Quote Box -----------------*/
.quote-box {
	position:absolute;
	left:0;
	right:0;
	top:50%;
	transform: translateY(-50%);
	padding:0 90px;
	z-index:5;
}

.quote-box p {
	color:#fff;
 	float: left;
	width: 100%;
    font-family: var(--main-font);
	line-height:29px;
	font-size: 1.3em;
}

.quote-box i {
	font-size:40px;
	margin-bottom:20px;
	color:  var(--main-color);
	float: left;
}

.signature {
	float:right;
	margin:20px 0 0 0;
}

.quote-box h4 {
	float:left;
	position:relative;
	top:20px;
	font-size:1.3em;
	text-transform: uppercase;
	font-weight:700;
	padding-bottom:20px;
	color:  var(--main-color);
}

/*------------- 09.8 Sec Dec BG -----------------*/
.sec_dec_bg , .sec_dec_bg2, .sec_dec_bg3 {
    position: absolute;
    z-index: 1;
    opacity: .2;
}

.sec_dec_bg  {
    right: 0px;
    bottom: 0px;
    width: 385px;
    height: 245px;
    z-index: 1;
    background: url(../images/bg/bg-dec/4.png) no-repeat center;
}

.sec_dec_bg2 {
    left: -20px;
    bottom: -40px;
    width: 178px;
    height: 250px;
    z-index: 1;
    background: url(../images/bg/bg-dec/1.png) no-repeat center;	
}

.sec_dec_bg3 {
    right: 20px;
    bottom: -20px;
    width: 350px;
    height: 201px;
    z-index: 1;
    background: url(../images/bg/bg-dec/7.png) no-repeat center;	
}

.sec_img-dec2 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 324px;
    height: 360px;
    margin: -180px 0 0 -162px;
    z-index: -1;
    background: url(../images/bg/bg-dec/6.png) no-repeat center;
    opacity: .1;
    transform: scale(.8);
}

.section-title.text-align_left {
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.section-title.text-align_left.with-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
	margin-bottom: 20px;
}

.section-title.text-align_left > div:first-child {
    flex: 1;
    min-width: 300px;
}

.section-title .price-buttons {
    gap: 15px;
    flex-shrink: 0;
    margin: 10px; /* descend de 10px */
}

.offre {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
}

.offre .details {
	background-color: #f9f9f9;
	border: 1px dashed #dddddd;
	border-radius: 6px;
	padding: 6px 14px;
	font-weight: 600;
	font-size: 17px;
	cursor: default;
	color: #32303F;
	width: 180px;
    text-align: center;
}

.offre .details i {
    vertical-align: middle;
	margin: 0 10px;
}

.offre .details .prix {
	color: var(--main-color);
	margin-left: 4px;
}

.offre .icon a {
	position: relative;
	display: inline-block;
	background-color: #32303F;
	border-radius: 6px;
	padding: 7px;
	color: var(--main-color);
	transition: background-color 0.3s;
	font-size: 14px;
	text-decoration: none;
	overflow: visible;
	z-index: 10;
	box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .05);
	border: solid 1px #32303F;
}

.offre .icon a:hover {
	background: #fff;
	border: solid 1px #ddd;
    box-shadow: 0px 12px 18px 0px rgba(12, 0, 46, .2);
}

.offre .icon a::after {
  content: 'Offrir en carte cadeau';
  position: absolute;
  right: calc(100% + 8px); /* décale à gauche de l'icône */
  top: 50%;
  transform: translateY(-50%) scale(0);
  background-color: #32303F;
  color: var(--main-color);
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  transition: transform 0.18s ease, opacity 0.18s ease;
  pointer-events: none;
  z-index: 1000;
  box-shadow: 0px 4px 12px rgba(0,0,0,0.2);
}

/* Flèche (triangle) : pointe vers la droite, positionnée entre tooltip et icône */
.offre .icon a::before {
  content: '';
  position: absolute;
  right: calc(100% + 2px);
  top: 50%;
  transform: translateY(-50%) scale(0);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #32303F; /* triangle pointant vers la droite */
  opacity: 0;
  transition: transform 0.18s ease, opacity 0.18s ease;
  z-index: 1000;
}

/* afficher au hover / focus */
.offre .icon a:hover::after,
.offre .icon a:focus::after,
.offre .icon a:hover::before,
.offre .icon a:focus::before {
  transform: translateY(-50%) scale(1);
  opacity: 1;
}

.offre .btn-reserver {
	background-color: #32303F;
	color:var(--main-color);
    box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .05);
	padding: 8px 14px;
	border-radius: 4px;
    font-weight: 500;
    transition: all .3s ease-in-out;
    font-size: 1em;
	border: solid 1px #32303F;
}

.offre .btn-reserver:hover {
	background: #fff;
	border: solid 1px #ddd;
    box-shadow: 0px 12px 18px 0px rgba(12, 0, 46, .2);
}

@media (max-width: 968px) {
    .section-title.text-align_left {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .section-title .price-buttons {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ============================================
   10. HERO & CAROUSEL
   ============================================ */

/*------------- 10.1 Hero Wrap -----------------*/
.hero-wrap , .hero-carousel  {
	position: relative;
	overflow: hidden;
	z-index: 1
} 

.hero-wrap    {
    background: #262434;
	z-index: 20;
	padding-right: 10px;
	padding-left: 10px;
}

.fs-slider-item {
	position: relative;
}

.hero-carousel .swiper-slide {
    overflow: hidden;
	border-radius: 10px;
}

.hero-carousel .swiper-slide .bg {
    width: 130%;
    left: -15%;
    transform: translateZ(0);
}

/*------------- 10.2 Hero Title -----------------*/
.hero-title-container {
	position: relative;
	z-index: 10;
	top: 50%;
	transform: translateY(-50%);
}

.ms-item_fs .bg {
    transform: scale(1);
    transition: all 8.5s linear;
}

.slideshow-container_wrap .swiper-slide-active   .bg , .slideshow-container_wrap .swiper-slide-duplicate-active  .bg {
    transform: scale(1.2);
} 

.hero-title-container .section-title h2 {
	font-size: 5.7em;
	line-height: 75px;
	text-transform: uppercase;
	padding: 20px 0 0;
	color:#fff;
}

.hero-carousel .hero-title-container .section-title h2 {
	font-size: 3.2em;
	line-height: 55px;
}

.hero-carousel .hero-title-container .section-title h4:after {
	position: absolute;
	content: '\25CF\25CF\25CF\25CF\25CF\25CF';
	width: 50px;
	left: 37%;
	top: -21px;
	font-size: 6px;
	letter-spacing: 14px;
	color: var(--main-color);
} 

.hero-carousel .hero-title-container{
	opacity:.5;
    filter: blur(50px);
    transition: all .3s linear;
}

.hero-carousel .swiper-slide-active .hero-title-container {
	filter: blur(0px);
	opacity:1;
	transition-delay: 0.5s;
}

.hero-carousel .hero-title-container .nd_bottom {
	margin-top: 10px
}

/*------------- 10.3 Carousel Controls -----------------*/
.carousel-btn_control-prev {
	left: calc(33.3% - 77px);
}

.carousel-btn_control-next {
 	right: calc(33.3% - 77px);
}

.hs_btn {
	position: absolute;
	top: 50%;
	z-index: 120;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	cursor: pointer;
}

.hs_btn:after{
	content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    bottom: -5px;
    right: -5px;
    border: 1px dashed rgba(255, 255, 255, .4);
    border-radius: 50%;
	transition: all .2s ease-in-out;
}

.hs_btn:hover:after {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;	
}

.hs_btn i {
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	transition: all .2s ease-in-out;
	font-size: 1.3em;
	font-weight: bold; 
	background: #272535;
	color:var(--main-color);	
}

.hs_btn:hover i {
	background: var(--main-color);
	color: #272535;
}

.hs_btn:before {
	content: '';
	position: absolute;
	top: 50%;
	left: -80px;
	width: 0;
	height: 1px;
	background: rgba(255,255,255,.2);
	z-index: -3;
	transition: all .5s ease-in-out;
}

.hs_btn:hover:before {
	width: 60px;
	transition-delay: .3s
}

.hs_btn2 {
	position: absolute;
	top: 50%;
	z-index: 120;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	cursor: pointer;
}

.hs_btn2:after{
	content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    bottom: -5px;
    right: -5px;
    border: 1px dashed rgba(255, 255, 255, .4);
    border-radius: 50%;
	transition: all .2s ease-in-out;
}

.hs_btn2:hover:after {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;	
}

.hs_btn2 i {
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	transition: all .2s ease-in-out;
	font-size: 1.3em;
	font-weight: bold; 
	background: #272535;
	color:var(--main-color);	
}

.hs_btn2:hover i {
	background: var(--main-color);
	color: #272535;
}

.hs_btn2:before {
	content: '';
	position: absolute;
	top: 50%;
	right: -80px;
	width: 0;
	height: 1px;
	background: rgba(255,255,255,.2);
	z-index: -3;
	transition: all .5s ease-in-out;
}

.hs_btn2:hover:before {
	width: 60px;
	transition-delay: .3s;
}

.hs_btn_wrap_preview {
	position: absolute;
	top: 50%;
	width: 80px;
	height: 80px;
	overflow: hidden;
	border-radius: 50%;
	margin-top: -40px;
	transition: all .3s ease-in-out;
	box-shadow: 0px 0px 0px 10px rgba(255, 255, 255,  .1);
	opacity: 0;
	transform: scale(0);
}

.hs_btn:hover .hs_btn_wrap_preview {
	opacity: 1;
	transform: scale(1);
	transition-delay: .2s
}

.hs_btn_prev {
	left: 20px;
}

.hs_btn_next {
	right: 20px;
}

.hs_btn_prev:before {
	left: auto;
	right: -90px;
} 

.hs_btn_next .hs_btn_wrap_preview{
	right: 120px;
}

.hs_btn_prev .hs_btn_wrap_preview{
	left: 120px;
}

/*------------- 10.4 Hero Pagination -----------------*/
.hero-slider-pag_wrap {
	position: absolute;
	bottom: 50px;
	left: 50%;
	z-index: 10;
	transform: translateX(-50%);
}

.hc_counter {
	position: absolute;
	bottom: 85px;
	left: 50%;
	z-index: 10;
	transform: translateX(-50%);
	font-size: 1.5em;
	color: var(--main-color); 
	padding:0  50px 10px;
	border-bottom: 1px dashed rgba(255, 255, 255,  .2);
}

.hc_counter:before {
	content: '';
	position: absolute;
	left: 50%;
	transform: rotate(45deg);
	top: -10px;
	width: 1px;
	height: 30px;
	border-left: 1px dashed rgba(255, 255, 255,  .2);
}

.hc_counter div {
	display: inline-block;
	margin: 0 10px;
	position: relative;
}

.hc_counter div.current_c {
	top: -20px;
	color: #fff;
}

/*------------- 10.5 Hero Decorations -----------------*/
.hero-sec-topdec {
	position: absolute;
	top: 30px;
	left: 50%;
	z-index: 20;
	width: 120px;
	margin-left: -65px;
}

.hero-wrap .hero-sec-topdec:before {
	content: '';
	position: absolute;
	left: 52%;
	width: 1px;
	height: 70px;
	border-left: 1px dashed rgba(255, 255, 255,  .2);
	top: 100%;
	margin: 20px 0 0 -3px;
}

.hero-sec-topdec:after {
    content: '\25CF\25CF\25CF\25CF\25CF\25CF';
    font-size: 7px;
    letter-spacing: 19px;
	color: var(--main-color);
}

.hero-section-scroll {
	position:absolute;
	width:20px;
	height:30px;
	z-index:20;
	bottom:-70px;
	left:50%;
	margin-left:-10px;
}

.hero-wrap .hero-section-scroll {
	bottom: 40px;
}

.hero-section-scroll:before {
	content: '';
	position: absolute;
	bottom: -40px;
	height: 40px;
	width: 1px;
	left: 50%;
	border-left: 1px  dashed rgba(255,255,255, .2);
}

.mousey {
	float: left;
	width: 20px;
	height: 30px;
	border-radius: 4px;
	padding: 0 6px;
	border: 1px solid rgba(255,255,255,.7);
    background: rgba(39, 37, 53, .6);
	box-sizing: border-box;
	position:relative;
	z-index:10;
}

.scroller {
	position: relative;
	left: 50%;
	top: 6px;
	margin-left: -2px;
	width: 4px;
	height: 4px;
	background:var(--main-color); 
	border-radius: 4px;
	animation-name: scroll;
	animation-duration: 2.2s;
	animation-timing-function: cubic-bezier(.15, .41, .69, .94);
	animation-iteration-count: infinite;
}

@keyframes scroll {
	0% {
		opacity: 0;
	}
	10% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(10px);
		opacity: 0;
	}
}

/*------------- 10.6 Dec Corners -----------------*/
.dec-corner {
	position:absolute;
	width:70px;
	height:70px;
	z-index:10;
}

.dc_lb{
	left: 30px;
	bottom:50px;
 	border-bottom: 1px dashed;
	border-left:1px dashed;
 	border-radius: 0 0 0 10px  
}

.dc_rb{
	right: 30px;
	bottom:50px;
 	border-bottom: 1px dashed;
	border-right:1px dashed;
 	border-radius:  0 0 10px 0
}

.dc_rt {
	right: 30px;
	top:30px;
 	border-top: 1px dashed;
	border-right:1px dashed;
 	border-radius:0 10px 0 0	
}

.dc_lt {
	left: 30px;
	top:30px;
 	border-top: 1px dashed;
	border-left:1px dashed;
 	border-radius: 10px 0 0 0	
}

.dec-corner  {
	border-color:rgba(255,255,255,.4);
}

/* ============================================
   11. CARTES & CONTENUS
   ============================================ */

/*------------- 11.1 Content Inner (Flip Cards) -----------------*/
.cards-wrap {
	margin :50px 0 0;
	z-index:2;
	position: relative;
}

.content-inner {
	width:100%;
	color: #fff;
	position: relative;
	transform-style: preserve-3d;
	perspective: 1000px;
	backface-visibility: hidden;
	transition: .9s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.content-inner > * {
	backface-visibility: hidden;
	transition: .9s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.content-inner:hover .content-front {
	transform: rotateY(-180deg);
}

.content-inner:hover .content-back {
	transform: rotateY(0deg);
}

.content-inner .content-front,
.content-inner .content-back {
	position: relative;
	transform-style: preserve-3d;
	perspective: 1000px;
	backface-visibility: hidden;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0px 10px 34px 0px rgba(0,0,0,.2);
}

.content-inner .overlay {
    background: rgba(39, 37, 53, .65);
}

.content-front {
	background: #32303F;
	position:relative;
	cursor:pointer;
	border-radius: 6px;
}

.content-front:before , .content-back:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 10px;
	bottom: 10px;
	right: 10px;
	border-radius: 4px;
	border: 1px dashed rgba(255, 255, 255, .4);
	z-index: 3;
	box-shadow: 0px 0px 0px 10px #32303F;
}

.content-inner .content-back {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	transform: rotateY(180deg);
	background: #32303F;
	border-radius: 6px;
}

.content-inner .cf-inner {
	transform-style: preserve-3d;
	backface-visibility: hidden;
	width:100%;
	padding:130px 40px 110px;
	border-radius: 6px;
}

.content-inner .cf-inner .fs-wrapper {
	border-radius: 10px;
}

.content-inner .cf-inner .inner {
	align-items: stretch;
	transform-style: preserve-3d;
	perspective: 1000px;
	backface-visibility: hidden;
	transform: translateZ(95px) scale(0.81);
	text-align: center;
	position:relative;
	z-index:2;
} 

.content-back i {
	font-size:54px;
	position:relative;
	color: var(--main-color);
}

.dec-icon {
	position:relative;
	display:inline-table;
	width:80px;
	height:80px;
}

.dec-icon:before , .dec-icon:after {
	content:'';
	position:absolute;
	width:80px;
	height:20px;
	border-radius:10px;
	background:rgba(255,255,255,0.1);
}

.dec-icon:before {
	left:-15px;
	top:12px;
}

.dec-icon:after  {
	right:-15px;
	bottom:12px;
}

.dec-icon i {
	z-index:3;
}

.content-back .dec-icon {
	top:-20px;
}

.cf-inner .nav_dec {
	margin: 0;
}

.content-inner .cf-inner .inner p {
	color:#fff;
	text-align: center;
}

.content-back:after  {
	position:absolute;
    content: '\25CF\25CF\25CF\25CF\25CF';
	width:50px;
	left:50%;
	bottom:30px;
	margin-left:-25px;
    font-size: 6px;
    letter-spacing: 6px;
	color: var(--main-color);	
}

.serv-num {
	position:absolute;
	bottom:40px;
	left:50%;
	color:#fff;
	z-index:13;
	transform: translateX(-50%);
	font-size:1.9em;
}

.content-inner .cf-inner .inner h2  {
	position:relative;
	font-size:1.7em;
	font-weight:600;
 	text-transform: uppercase;
	padding-bottom:10px;
}

.content-inner .cf-inner .inner h2:after {
	content:'';
	position:absolute;
	top:-20px;
	margin-left:-25px;
	left:50%;
	width:50px;
	height:1px;
	background:  var(--main-color);
}

.content-inner .content-front h4{
	display: block;
	text-transform:uppercase;
 	font-weight: 500;
	margin:0 4px;
	font-size: .9em;
    font-family: var(--secondary-font);
	color: var(--main-color);
	margin-bottom: 5px;
}

.content-inner .cf-inner .inner h2:before {
	content:'';
	position:absolute;
	left:50%;
	bottom:10px;
	width:20px;
	height:2px;
	margin-left:-10px;
}

.single-slider-wrap img{
	width:100%;
	height:auto;
}

.content-inner .content-front .section-separator:before, .content-inner .content-front .section-separator:after {
	background:rgba(255,255,255, .3);
}

/*------------- 11.2 Column Section -----------------*/
.column-section-wrap{
	float: right;
    width: 50%;
    position: relative;
    padding: 120px 50px 100px;
    background: #272535;
}

.column-section-wrap:before {
	content: '';
    position: absolute;
    top: 60px;
    left: 10px;
    bottom: 30px;
    right: 10px;
    border-radius: 10px;
    background: #32303f;
    z-index: 1;
    border: 1px dashed rgba(255, 255, 255, .2);	
}

.column-wrap-bg {
    position: absolute;
    top: 0;
    width:50%;
    height: 100%;
    overflow: hidden;
}

.column-wrap-bg .bg {
	height: 140%;
	top: -10%;
}

.column-wrap-bg .dc_lt  , .column-wrap-bg .dc_rt {
	top: 60px;
}

.column-wrap-content {
	position: relative;
	z-index: 10;
	padding: 0 50px;
}

.column-wrap-content .section-title h2 {
	color:#fff;
}

.column-wrap-content .btn , .sst_top .btn , .hero-title-container .btn {
	background: var(--main-color);
	color: #222;
}

.column-wrap-content .btn:hover , .sst_top .btn:hover , .hero-title-container .btn:hover {
	color:  var(--main-color);
	background: #32303F;
}

.column-wrap-content .btn:before ,  .sst_top .btn:before , .hero-title-container .btn:before  {
	border-color: rgba(255, 255, 255, .4);	
}

.column-wrap-content .section-separator:before, .column-wrap-content .section-separator:after {
    background: rgba(255, 255, 255, .4);	
}

/*------------- 11.3 Events Carousel -----------------*/
.events-carousel-wrap {
	position: relative;
	margin-top: 50px;
}

.event-carousel-item {
	position: relative;
}

.event-carousel-item p{
	text-align: center;
	color:#fff;
}

.event-date {
	color:#fff;
    font-family: var(--secondary-font);
	text-transform: uppercase;
	padding-bottom: 10px;
	display: block;
}

.event-carousel-item h4 {
	font-size: 1.7em;
	padding-bottom: 10px;
}

.event-carousel-item h4 a {
    color: var(--main-color);	
}

.ec-button {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    z-index: 20;
    cursor: pointer;
    font-size:1.3em;
 	color: var(--main-color);
}

.ec-button-prev {
	left: -40px
}

.ec-button-next {
	right: -40px;
}

/*------------- 11.4 Align Text Block -----------------*/
.align-text-block  {
 	position: relative;
	padding:25px 30px;
	background:#f9f9f9;
	border:1px  dashed #ddd;
	margin-top:20px;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .05);
}

.align-text-block h4{
	text-align:left;
	font-size:1.4em;
	float:left;
	font-style:italic;
	position:relative;
	top:12px;
	color: #555;
	font-weight: 600;
	padding-bottom: 10px;
	border-bottom: 1px dotted var(--main-color);
}

.align-text-block .btn {
	float:right;
	margin-left:60px;
	margin-top:0;
}

.align-text-block h2 {
    color: #5e646a;
    margin: 0;
    font-size: 1.4em;
}

/* ============================================
   12. ÉLÉMENTS VISUELS
   ============================================ */

/*------------- 12.1 Video Link -----------------*/
.video_link {
	position:absolute;
	left:30px;
	bottom:30px;
	z-index:10;
	cursor: pointer;
}

.video_link i {
	width:50px;
	height:50px;
	line-height:50px;
	background: var(--main-color);
    box-shadow: 0px 0px 0px 10px rgba(255,255,255,0.2);
	margin-right:20px;
	color: #fff;
	border-radius:50%;
	box-sizing:border-box;
}

.video_link:hover i {
    background: #272535;
	color:var(--main-color);
}

.video_link span {
	font-weight: 500;
 	font-size: 1.2em;
	color:#fff;
}

/*------------- 12.2 Buttons -----------------*/
.dwonload_btn , .btn {
	height: 50px;
	line-height: 50px;
	padding: 0 54px;
 	position: relative;
	display: inline-block;
	margin-top: 50px;
 	font-size: 1.2em;
	font-weight: 500;
	border-radius: 4px;
	color:var(--main-color);
	background: #32303F;
    transition: all .3s ease-in-out;
}

.btn:before , .dwonload_btn:before {
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	right: -10px;
	bottom: -10px;
	border-radius: 4px;
	border: 1px dashed #ddd;
    transition: all .3s ease-in-out;
}

.btn:hover:before , .dwonload_btn:hover:before , .stg_link:hover:before  {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;	
}

.btn {
	margin-top: 30px;
}

.fl-btn{
	float: left
}

.dwonload_btn:after {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    width: 1px;
    height: 25px;
    background: #eee;
    z-index: 10;
}

.dwonload_btn:hover , .btn:hover , .color_btn {
	background: var(--main-color);
	color:#222;
}

.color_btn:hover  {
	background: #32303F;
	color: var(--main-color);
}

/*------------- 12.3 Image Collage -----------------*/
.image-collge-wrap {
	position: relative
} 

.images-collage-item {
	overflow:hidden;
	height: auto;
	position:absolute;
	z-index:1;
}

.single-dec_img   {
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0px 30px 64px 0px rgba(0,0,0,.4);
	position: relative;
	z-index: 10;
}

.hero-image-collge-wrap {
	position: relative;
	padding-left: 50px;
}

.hero_images-collage-item {
    position: absolute;
    height: auto;
    border-radius: 10px;
}

.hero_images-collage-item:before {
	content: '';
	position: absolute;
	left: -10px;
	right: -10px;
	top: -10px;
	bottom: -10px;
	border-radius: 10px;
	border: 1px dotted #ccc;
	z-index: 1;
}

.hero_images-collage-item img {
	position: relative;
	z-index: 2;
    border-radius: 10px;
 	box-shadow: 0px 30px 64px 0px rgba(0,0,0,.4);	
}

.main-iamge {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	z-index: 4;
}

.image-collge-wrap:before , .hero-image-collge-wrap:before {
	content:'';
	position:absolute;
	left:-50px;
	bottom:-20px;
	right:100px;
	height:250px;
	background:#f9f9f9;
	border:1px dashed #ddd;
	z-index: 1;
	border-radius: 10px;
}

/*------------- 12.4 About Image Hotifer -----------------*/
.about-img-hotifer {
	position: absolute;
	right: -40px;
	bottom: 20px;
	width: 320px;
	padding:  30px;
	z-index: 11;
	color: #fff;
	text-align: left; 
	box-shadow: 0 5px 25px rgba(0,0,0,0.2);
	border-radius: 4px;
	background: #272535;
}

.about-img-hotifer-wrap {
	position: relative;
	z-index: 4;
}

.about-img-hotifer-wrap:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f10e";
    bottom: 10px;
    right: 10px;
    position: absolute;
    font-size: 1.6em;
	font-weight: bold;
	color: var(--main-color);
}

.about-img-hotifer:before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    bottom: 10px;
    right: 10px;
    border: 1px dashed rgba(255, 255, 255, .2);
    border-radius: 10px;
    z-index: 1;
}

.about-img-hotifer:after{
    content: '\25CF\25CF\25CF\25CF\25CF\25CF';
    position: absolute;
    top: 9px;
    font-size: 5px;
    height: 4px;
    background: #272535;
    width: 100px;
    margin-left: -50px;
    z-index: 2;
    letter-spacing: 8px;
    color: var(--main-color);
    left: 50%;
    text-align: center;
}

.about-img-hotifer h4 {
	padding-bottom: 6px;
	font-size: 1.4em;
	color: var(--main-color);
}

.about-img-hotifer h5 {
	font-size: 1.2em;
}

.about-img-hotifer p {
	color: #fff;
	text-align: left;
}

/*------------- 12.5 Parallax Elements -----------------*/
.parallax-element {
	position: absolute;
	z-index: 1;
	opacity: .3;
    transition: all .3s ease-out;
	width: 100px;
}

.parallax-element2 {
	position: absolute;
	z-index: 1;
	opacity: .3;
    transition: all .3s ease-out;
	width: 200px;
}

.parallax-element3 {
	position: absolute;
	z-index: 1;
	opacity: .3;
    transition: all .3s ease-out;
	width: 300px;
}

/*------------- 12.6 Box Media Zoom -----------------*/
.box-media-zoom {
	position:absolute;
	width:46px;
	height:46px;
	line-height:46px;
    background: #32303F;
	border-radius:50%;
	top:20px;
	right:20px;
	font-size:1.1em;
	transform:scale(0);
	opacity:0;
	z-index:20;
    transition: all .3s ease-out;
	color:var(--main-color);
    box-shadow: 0px 0px 0px 8px rgba(255,255,255,.2);
}

.hov_zoom:hover .box-media-zoom {
	transform:scale(1.0);
	opacity:1;
}

.box-media-zoom:hover , .ss-slider-cont:hover {
	background: #fff
}

/*------------- 12.7 Breadcrumbs -----------------*/
.breadcrumbs-list {
	position: relative;
	height: 64px;
	line-height: 64px;
	padding:0 150px 0 30px;
}

.breadcrumbs-list.bl_flat {
	background: #f6f6f6;
	border-radius: 4px;
	margin: 20px 0;
	border: 1px dashed #ddd;
}

.breadcrumbs-list a , .breadcrumbs-list span {
	float: left;
	position: relative;
	margin-right: 20px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.1em;
	padding-right: 20px;
}

.breadcrumbs-list a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    font-size: 11px;
	color:var(--main-color);
}

.breadcrumbs-list_dec {
	position: absolute;
	width: 54px;
	height: 54px;
	line-height: 60px;
	right: 6px;
	top: 50%;
	margin-top: -27px;
	border-radius: 4px;
	background:var(--main-color);
	color:#fff;
}

.breadcrumbs-list_dec i {
	font-size: 1.2em;
	font-weight: 300;
}

/* ============================================
   13. TEAM & TÉMOIGNAGES
   ============================================ */

/*------------- 13.1 Facts -----------------*/
.inline-facts-wrap {
	position: relative;
}

.inline-facts {
	float:left;
	width:25%;
	position:relative;
}

.inline-facts:before {
	content: '';
	position: absolute;
	right: 0;
	width: 1px;
	height: 50px;
	background: rgba(255,255,255,.3);
	top: 50%;
	margin-top: -25px;
}

.inline-facts-wrap .inline-facts:last-child:before {
	display: none
}

.inline-facts .num {
	color:var(--main-color);
	font-size:6.3em;
	font-weight:600;
}

.inline-facts h6 {
	margin-top:20px;
	font-weight:600;
	position:relative;
	color:#fff;
    font-family: var(--secondary-font);
	text-transform: uppercase;
	font-size: .9em;
	display: inline-block;
	padding: 10px 30px;
	border: 1px solid rgba(255,255,255,.2);
	background:#272535;
	border-radius: 4px;
}

.inline-facts h6:after {
    position: absolute;
    content: '\25CF\25CF\25CF';
    width: 50px;
    left: 50%;
    bottom: -40px;
    margin-left: -25px;
    font-size: 6px;
    letter-spacing: 4px;
	color:var(--main-color);
}

/*------------- 13.2 Team Carousel -----------------*/
.team-carousel-wrap {
	position: relative;
	z-index: 3;
	margin-top: 30px;
	padding: 0 2px;
}

.team-carousel {
	position: relative;
	overflow: hidden;	
}

.tcc-buttons-wrap {
	position: absolute;
	bottom: -100px;
	right: 0;
	z-index: 50;
}

.tcc-buttons-wrap .tcs-pagination{
	position: absolute;
	right: 100%;
	margin-right: 20px;
	top: 50%;
	transform: translateY(-50%);
	min-width: 150px;
} 

.tcc-button{
	float: left;
	margin-left: 10px;
	width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    background: #32303F;
    color: var(--main-color);
    cursor: pointer;
	position: relative;
}

.tcc-button:before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	bottom: -5px;
	right: -5px;
	border: 1px dashed #ccc;
	border-radius: 50%;
}

.team-box {
	overflow: hidden;
	margin-bottom: 20px;
}

.team-photo {
	overflow:hidden;
	position:relative;
	border-radius: 10px;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .1);
	z-index: 10;
}

.team-photo .overlay {
	opacity:0;
	transition: all .2s ease-in-out;
}

.team-photo:hover .overlay {
	opacity:0.5;
}

.team-info {
	margin-top: 10px;
	padding:25px 30px ;
	border:1px dotted #ddd;
	background:#fff;
	border-radius: 6px;
}

.team-info h3  {
	display:block;
	padding-bottom:10px;
	font-weight:500;
	font-size:2.2em;
	color:var(--main-color);
	text-align: center;
}

.team-info h4 {
	font-size:.9em;
	font-weight: 500;
    font-family: var(--secondary-font);
	text-transform: uppercase;
	position: relative;
	color: #666;
}

.team-info h4:before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    width: 40px;
    height: 1px;
    margin-left: -20px;
    background: var(--main-color);
}

.team-info p{
	margin-top:30px;
	text-align: center;
}

.team-social {
	position:absolute;
	top:50%;
	height:40px;
	left:20px;
	right:20px;
	opacity:0;
	line-height:40px;
	margin-top:-20px;
	z-index:5;
 	transition: all .3s ease-in-out;
	padding:0 10px;
}

.ts_title {
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	font-size:1.1em;
	color:#fff;
	font-weight: 500;
    font-family: var(--secondary-font);
	text-transform: uppercase;
}

.team-photo:hover .team-social{
	opacity:1;
}

.team-social ul {
	display:inline-block;
	border: 1px dashed rgba(255, 255, 255, .2);
    border-radius: 4px;
    background: rgba(39, 37, 53, .8);
	padding: 6px 10px;
}

.team-social li {
	display:inline-block;
	margin: 0 13px;
}

.team-social li a , .team_num {
	color:var(--main-color);
	font-size: 1.1em;
}

.team-dec {
	position:absolute;
	top:20px;
	right:30px;
	font-size:26px;
	color: #ADC7DD;
} 

.team_num {
	font-size: 1.5em;
}

/*------------- 13.3 FW Aminit Wrap -----------------*/
.fw-aminit-wrap {
	position: relative;
 	padding: 50px 50px 90px;
	overflow: hidden;
}

.fw-aminit-wrap_link {
	position: absolute;
	bottom: 60px;
	color:var(--main-color);
	font-size: 2.1em;
	left: 50%;
	transform: translateX(-50%);
	z-index: 20;
	border-bottom: 1px dashed rgba(255, 255, 255, .2);
    transition: all .3s ease-in-out;
}

.fw-aminit-wrap_link:after {
    content: '\25CF\25CF\25CF\25CF\25CF';
    color: var(--main-color);
    font-size: 5px;
    letter-spacing: 8px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}

.fw-aminit-wrap_link:hover {
	color:#fff;
	border-color: var(--main-color);
}

.fw-aminit-item {
	position: relative;
	float: left;
	width: 33.3333333%;
	border-left: 1px dashed rgba(255,255,255,.2);
	z-index: 20;
	padding: 250px 0;
}

.fw-aminit-wrap .fw-aminit-item:first-child {
	border: none
}

.fw-aminit-item:before {
	content: '';
	position: absolute;
	top: 70px;
	bottom: 50px;
	right: 30px;
	left: 30px;
	border: 1px dashed rgba(255,255,255,.2);
	border-radius: 10px;
    background:rgba(39, 37, 53, .3);
    transition: all .3s ease-in-out;
}

.fw-aminit-item:after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	height: 0;
	width: 1px;
	background:  rgba(255,255,255,.2);
    transition: all .3s ease-in-out;
}

.fw-aminit-item.act-index:after {
	height: 100px;
}

.fw-aminit-item.act-index:before {
	-webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    background:rgba(39, 37, 53, .8);
}

.fw-aminit-wrap .fw-aminit-item:last-child {
	border:none;
}

.fw-aminit-item-container{
	position: relative;
	padding: 0 50px;
	z-index: 5;
}

.fw-aminit-item-container i {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) scale(0);
	color:var(--main-color);
	opacity: .3;
	z-index: -1;
	font-size: 10.4em;
    transition: all .3s ease-in-out;
}

.fw-aminit-item.act-index .fw-aminit-item-container i {
	transform: translateX(-50%) scale(1.0);	
}

.fw-aminit-item-container h3 {
	color:#fff;
	font-size: 2.7em;
	position: relative;
}

.fw-aminit-item-container h3:before {
	content: '';
	position: absolute;
	bottom: -14px;
	left: 50%;
	width: 50px;
	height: 1px;
	margin-left: -25px;
	background: var(--main-color);
}

.fw-aminit-item-container h5 {
	font-size: 1.3em;
    font-style: italic;
	font-weight: 500;
	color:var(--main-color);
}

.fw-aminit-item-container h6 {
	margin-top: 30px;
}
 
.fw-aminit-item.act-index .fw-aminit-item_link {
	opacity: 1;
	margin-bottom: 0;	
}

.aminit-work-time span  , .fw-aminit-item-container h6 {
	color:#fff;
    font-family: var(--secondary-font);
	text-transform: uppercase;
}

.fw-aminit-item_link {
	position: absolute;
	padding: 11px 40px;
	border-radius: 4px;
	background: var(--main-color);
	bottom: 100px;
	opacity: 0;
    margin-bottom: 30px;
    transition: all .3s ease-in-out;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.2em;
} 

.fw-aminit-item_link:before {
    content: '';
    position: absolute;
    top: -7px;
    left: -7px;
    right: -7px;
    bottom: -7px;
    border-radius: 4px;
    border: 1px dashed rgba(255, 255, 255, .3);
    transition: all .3s ease-in-out;
}

.fw-aminit-item_link:hover:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;	
}

.bg-ser .bg {
	opacity: 0;
	will-change: opacity, transform;
	transform: scale(1);
	transition: all 1.2s linear;
}

.bg-ser .bg.active {
	opacity: 1;
	left: 0;
	transform: scale(1.05);
}

/*------------- 13.4 Testimonials -----------------*/
.testimonilas-carousel-wrap:before {
	content:'';
	position:absolute;
	top:50%;
	left:0;
	right:0;
	height:1px;
	background: #eee;
}

.testimonilas-carousel-wrap {
	position: relative;
	padding: 0 50px;
	z-index: 10;
}

.testi-item {
    transition: all .3s ease-in-out;
    transform :scale(0.9);
}

.testi-item:after {
    position: absolute;
	content: '\25CF\25CF\25CF\25CF\25CF';
    width: 50px;
    left: 50%;
    bottom: 50px;
    margin-left: -25px;
    font-size: 6px;
    letter-spacing: 8px; 
	color: var(--main-color);
}

.testimonilas-text-item {
	position: relative;
	z-index: 2;
}

.testi-item-dec:before {
	content: '';
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 10px;
	border: 1px dashed #ddd;
	background: #f9f9f9;
    transition: all .3s ease-in-out;
}

.testimonilas-text {
	padding: 85px 50px 75px;
    overflow: hidden;
    background: #fff;
	border:1px solid #eee;
	border-radius: 10px;
    transition: all .3s ease-in-out;
}

.star-rating i {
	color: var(--main-color);
	font-size: .9em;
	margin: 0 2px;
}

.testimonilas-text .star-rating {
	margin-bottom: 20px;
}

.testimonilas-text:before, .testimonilas-text:after {
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    font-size: 1.7em;
    transition: all .4s linear;
	font-weight: bold;
	color: var(--main-color);
	z-index: 10;
}

.testimonilas-text:after {
    content: "\f10e";
    bottom: 30px;
    right: 35px;
}

.testimonilas-text:before {
    content: "\f10e";
    top: 30px;
    left: 35px;
}

.testimonilas-text  h3 {
	font-weight: 600;
	font-size:1.8em;
	padding-bottom:20px;  
}

.testimonilas-carousel .swiper-slide{
	padding:30px 0;
}

.testi-avatar {
	position:absolute;
	left:50%;
	top:-30px;
	width:90px;
	height:90px;
	margin-left:-45px;
	z-index:20;
}

.testi-avatar:before {
    content: '';
    position: absolute;
    border-radius: 100%;
    left: -8px;
    bottom: -8px;
    right: -8px;
    top: -8px;
    border: 1px solid #eee;
    z-index: 1;
    background: #fff;
    box-shadow: 0px 10px 24px 0px rgba(0,0,0,.09);
} 

.testi-avatar img {
	width:90px;
	height:90px;
	float:left;
	border-radius:100%;
	position:relative;
	z-index:2;
}

.testimonilas-text p{
    color: #878C9F;
 	font-size: 1.3em;
 	font-family: var(--main-font);
    font-style: italic;
 	text-align: center;
    padding-bottom: 0;
    font-weight: 500;
}

.swiper-slide-active .testimonilas-text   {
    background: #f9f9f9;
}

.swiper-slide-active .testimonilas-text .testi-item-dec:before {
	background: #fff
}

.swiper-slide-active .testi-item {
	opacity:1;
    transform :scale(1.0);
	background:#fff;
    box-shadow: 0px 10px 24px 0px rgba(0,0,0,.05);
	transition-delay: .7s;
}

.testi-link {
	position: relative;
	display: inline-block;
 	color:var(--main-color);
	text-transform: uppercase;
	margin-top: 20px;
	font-size: 1.3em;
	font-weight: 600;
}

.testi-link:hover {
	color:#666;
}

.testi-number {
	position:absolute;
	bottom:35px;
	left:35px;
	font-size:1.8em;
	color:#999;
	z-index: 10;
}

.tc-button   {
	position:absolute;
	top:50%;
	width: 50px;
    height: 50px;
    line-height: 50px;
    margin-top: -25px;
    border-radius: 50%;
	background: #32303F;
 	color:var(--main-color);
	z-index:50;
	cursor:pointer;
}

.tc-button:before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	bottom: -5px;
	right: -5px;
	border: 1px dashed #ccc;
	border-radius: 50%;
}

.tc-button-next {
	right:15px;
}

.tc-button-prev   {
	left:15px;
}

.tcs-pagination_init {
	margin-top:10px;
 	overflow: hidden;
} 

.tcs-pagination_init {
	position:absolute;
	bottom:-20px;
	left:0;
	width:100%;
}

.tcs-pagination   .swiper-pagination-bullet   {
	opacity:1;
	background:#ccc;
	margin:0 10px;
	display:inline-block;
	width:6px;
	height:6px;
	position:relative;
	border-radius:100%;
    transition: all 300ms ease-out;
}

.tcs-pagination   .swiper-pagination-bullet:before  {
	content:'';
	position:absolute;
	left:-5px;
	top:-5px;
	right:-5px;
	bottom:-5px;
	border-radius:100%;
	box-sizing:border-box;
	border:1px solid #ccc;
    transition: all 300ms ease-out;
	transform:scale(0);
}

.tcs-pagination   .swiper-pagination-bullet.swiper-pagination-bullet-active:before  {
	transform:scale(1.0);
}

.tcs-pagination   .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background:  var(--main-color);
}

/* ============================================
   14. MENU & TARIFS
   ============================================ */

/*------------- 14.1 Tab System -----------------*/
.tab-content   {
    display: none;
}

.tab{
    position: relative;
}

.first-tab {
	display: block;
}

/*------------- 14.2 Hero Menu -----------------*/
.hero-menu_header {
	position: relative;
	display: inline-table;
	top: -5px;
}

.hero-menu-det {
	margin-top: 40px;
	padding-top: 20px;
 	border-top: 1px solid #ddd;	
}

.hero-menu_header li {
	text-align: left;
	display: inline-block;
	margin: 0 20px;
	font-size: 1.1em;
	position: relative;
	padding: 0 0 15px;
	text-transform: uppercase;
	font-weight: 600;
}

.hero-menu_header li:after {
	content: '';
	position: absolute;
	top: 11px;
	right: -24px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--main-color);
} 

.hero-menu_header li:last-child:after {
	display: none
} 

.hero-menu_header li:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0d8";
    position: absolute;
    bottom: -11px;
    font-size: 15px;
    right: 50%;
 	opacity: 0;
    font-weight: 800;
} 

.hero-menu_header li a {
	color:#222;
    transition: all .3s ease-in-out;
} 

.hero-menu_header li.current a , .hero-menu_header li.current:before , .hero-menu_header li  a:hover , .hero-menu_title h4 , .signature_title_item h6 {
	color: var(--main-color);
}

.hero-menu_header li.current:before {
	opacity: 1
}

/*------------- 14.3 Hero Menu Wrap -----------------*/
.hero-menu-wrap {
    position: relative;
    overflow: hidden;
    border: 1px dashed #ddd;
    border-radius: 6px;
 	padding: 30px;
	background: #fff;
	margin-bottom: 30px;
}

.hero-menu-wrap .add_cart , .grid-item-details .add_cart {
    position: absolute;
    bottom: 15px;
    right: 15px;
    font-size: .9em;
    font-weight: 700;
    background: #32303F;
    color: var(--main-color);
    padding: 8px 12px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease-in-out;
    border: 1px solid #ddd;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .1);
    border-radius: 4px;
}

.grid-item-details .add_cart a {
    color: var(--main-color);
}

.add_cart a {
    color: var(--main-color);
}

.hero-menu-wrap:before {
    content: '';
    position: absolute;
    left: 50%;
    width: 1px;
    border-left: 1px dashed #ddd;
    top: 0;
    bottom: 0;
    z-index: 20;
}

.hero-menu-item {
	position: relative;
	border-bottom: 1px dashed #ddd;
	z-index: 10; 
	opacity:0;
	left: -30px;
 	width: 50%;
	float: left;
	background: #f9f9f9;
 	overflow: hidden;
}

.add_cart:hover , .hero-menu-item:hover {
	background: #fff;
}

.hero-menu-item:hover .add_cart {
	opacity: 1;
	visibility: visible;
}

.hero-menu-wrap .hero-menu-item:nth-child(even) {
    padding: 30px 0 30px 150px;
}

.hero-menu-wrap .hero-menu-item:nth-child(odd) {
    padding: 30px 20px 30px 150px;
} 

.hero-menu-wrap .hero-menu-item:nth-child(2),  .hero-menu-wrap .hero-menu-item:first-child {
 	border-top: 1px dashed #ddd;
}

.hero-menu-wrap .hero-menu-item:nth-child(even) {
	border-right: 1px dashed #ddd;
}

.hero-menu-wrap .hero-menu-item:nth-child(odd) {
	border-left: 1px dashed #ddd;
}

 .hero-menu-item.uvis-hmi , .hero-menu-wrap.vis_men-item  .hero-menu-item {
	opacity: 1;
	left: 0;	
}

.uvis-hmi {
	transition-delay: .2s;
	transition: all .2s ease-in-out;
}

.hero-menu-item-img {
    width: 80px;
    height: 80px;
    position: absolute;
    left: 40px;
    top: 50%; 
	margin-top: -40px;
}

.hero-menu-item-img:before {
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	right: -10px;
	bottom: -10px;
	border-radius: 50%;
	border: 1px dashed #ccc;
	background: #fff;
	z-index: 1;
}

.hero-menu-item-img img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .2);
	position: relative;
	z-index: 2;
}

.hero-menu-item-img:after  {
	font-family:"Font Awesome 6 Pro";
	content: "\f002";
	position: absolute;
	left:0;
 	top: 0;
	background:rgba(0,0,0,0.6);
	border-radius: 50%;
    width: 80px;
    height: 80px;
	line-height: 80px;
	z-index:3;
	opacity:0;
	font-size:15px;
	transition: all .2s ease-in-out;
	color: var(--main-color);
}

 .hero-menu-item-img:hover:after{
	opacity:1;
}

.hero-menu-item-title h6 {
	text-align: left;
	padding-bottom: 4px;
  	color:#444;
    font-size:1.7em;
    font-weight: 500;
    position: relative;
}

.hot-desc {
	color: var(--main-color);
	margin-left: 10px;
}

.hero-menu-item-price {
    font-weight: 500;
    font-size:1.7em;
    position: absolute;
	right: 30px;
    top: 30px;
	color: var(--main-color);
}

.hero-menu-item-details {
	padding-right: 50px;
}

/*------------- 14.4 Menu Wrapper Title -----------------*/
.menu-section {
	position: relative;
}

.menu-wrapper-title {
	margin-bottom: 30px;
	border-radius: 10px;
}

.menu-wrapper-title .dec-corner {
    width: 50px;
    height: 50px;
}

.dc_lb , .dc_rb{
	bottom:30px;
}

.hero-wrap .dc_lb , .hero-wrap .dc_rb {
	bottom:50px;	
}

.menu-wrapper-title-item {
	position:relative;
	z-index:4;
}

.menu-wrapper-title-item h4 {
	color:#fff;
	font-weight:600;
 	position: relative;
	font-size:2.3em;
	text-transform: uppercase;
	padding-bottom:10px;
}

.menu-wrapper-title-item h4:before {
content: '';
    position: absolute;
    left: 50%;
    top: -90px;
    height: 60px;
    width: 1px;
    border-left: 1px dashed rgba(255, 255, 255, .4);	
}

.menu-wrapper-title-item h5 {
	font-weight:600;
  	font-style: italic;
	font-size:1.2em;
	color: var(--main-color);
}

.menu-wrapper-title_number {
	position:absolute;
	left:50%;
	bottom:30px;
	transform: translateX(-50%);
	font-size:1.6em;
	z-index:5;
	color:#fff;
}

.menu-wrapper-title-item .section-separator:before , .menu-wrapper-title-item .section-separator:after {
	background: rgba(255,255,255,.5);	
}

/*------------- 14.5 Small Menu -----------------*/
.small-menu-wrap {
	position: relative;
	padding:10px 0 0 50px;
	border-left: 1px dashed rgba(255,255,255,.3);
}

.small-menu-item {
	padding-left: 50px;
	position: relative;
	margin-bottom: 30px;
}

.small-menu-item h6 {
    color: #fff;
	text-align: left;
  	display: table;
    font-size: 1.7em;
    font-weight: 600;
    position: relative;
}

.small-menu-item h6 a {
	color:#fff;
}

.small-menu-item-details p {
	color: rgba(255,255,255,.8)
}

.small-menu-item  h6 span {
    position: absolute;
    left: -60px;
    top: 10px;
	font-size: 18px;
}

.small-menu-item h6 a:hover , .small-menu-item  h6 span , .small-menu-item-price {
	 	color: var(--main-color);
}

.section-title.sst_top {
	margin-top: 70px;
}

.small-menu-item-price {
    position: absolute;
	top: 0;
	right: 0;
    font-size: 1.8em;
}

.small-menu-item_img {
    position: absolute;
    bottom: 0;
    width: 120px;
    right: 90px;
    transition: all .3s ease-in-out;
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);
}

.small-menu-item:hover .small-menu-item_img {
	opacity: 1;
	visibility: visible;
    transform: translateX(0px);
}

.small-menu-item_img img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    border-radius: 6px;
}

.small-menu-item_img:before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 1px dashed rgba(255, 255, 255, .2);
    z-index: -2;
    box-shadow: 0px 0px 0px 10px rgba(255, 255, 255, .09);
    background: #272535;
    border-radius: 6px;
}

.hmi-dec {
    position: absolute;
    border-bottom: 1px dotted rgba(204, 204, 204,  .4);
    top: 20px;
    right: 80px;
}

.smi_link {
	float:right;
    color: #fff;
    padding : 10px 0;
 	border-bottom: 1px dotted  var(--main-color);	
    font-size: 1.3em;
	text-transform: uppercase;
	font-weight: 600;
    margin: 0 0 0 0;
    transition: all .2s ease-in-out;
}

/*------------- 14.6 Dishes Nav -----------------*/
.dishes-nav-container {
	position: relative;
	z-index: 100;
	padding : 10px 0;
}

.dishes-nav-content{
    position: relative;
	height: 80px;
    background: #272535;
	border-radius: 6px;
 	box-shadow: 0px  10px 64px 0px rgba(0,0,0,.4);
	overflow: hidden;
}

.dishes-nav , .dishes-nav li  {
	float: left;
	position: relative;
}

.dishes-nav {
	margin-left: 10px;
	z-index: 9;
    background: #272535;
	padding-right: 10px;
}

.dishes-nav ul {
	position: relative;
 	top: 10px;
	overflow: hidden;
	border-radius: 6px;
	height: 60px;
	border: 1px dashed rgba(255,255,255,.2);
}

.dishes-nav a {
	float: left;
    background: #32303F;
	color:#fff;
	height: 60px;
	line-height: 60px;
	text-transform: uppercase;
	font-weight: 600;
	padding: 0 40px;
	position: relative;
	border-right: 1px dashed rgba(255,255,255,.2);
}

.dishes-nav a span {
	margin-right: 5px;
}

.dishes-nav ul li:last-child a {
	border:none;
} 

.dishes-nav a.act-dish , .dishes-nav a:hover {
	color:var(--main-color);
}

.dishes-nav_dwonload_btn {
	position: absolute;
	right: 15px;
	top: 15px;
	padding: 0 50px;
	line-height: 50px;
	background: var(--main-color);
	border-radius: 6px;
	height: 50px;
	text-transform: uppercase;
	font-weight: 600;
	z-index: 10;
}

.dishes-nav_dwonload_btn:before {
	content: '';
	position: absolute;
	left: -5px;
	top: -5px;
	bottom: -5px;
	right: -5px;
	border-radius: 6px;
	border: 1px  dashed rgba(255,255,255,.4);
}

/*------------- 14.7 Grid Item Details -----------------*/
.grid-item-details {
	float:left;
	width:100%;
	padding: 20px 20px 10px;
	border:1px dashed #ddd;
	background:#fff;
	box-sizing:border-box;
	border-radius: 0 0 6px 6px;
	overflow: hidden;
}

.grid-item-details h3{
	display:block;
	text-align:left;
	padding-bottom:12px;
	color: var(--main-color);
    font-size: 1.6em;
    font-weight: 600;
    position: relative;
}

.grid-item-details h3 a{
	color: var(--main-color);
}

.grid-item-details h3 a:hover {
	color:#222;
}

.grid-item-details h3 span {
	position:absolute;
	right:0;
	top:6px;
    font-weight: 600;	
	font-size:14px;
	font-style:italic;
}

.grid-item-details p {
	text-align:left;
}

.grid-item_price span{
	font-size: 1.7em;
    position: relative;
}

.grid-item_price strong {
	padding-right: 10px;
	font-size: 1.2em;
	color:#666;
}

.grid-item_price {
	float:left;
	width:100%;
	position:relative;
	margin-top:5px;
	padding-top: 15px;
	border-top: 1px dashed #ddd;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.grid-item-details .add_cart {
	opacity:1;
	visibility:visible;
	background:#fff;
	right: 30px;
	bottom: 22px;
}

.grid-item-details .add_cart:hover {
	background: #32303F;
    color: var(--main-color);	
}

.grid-item-details .page-counter {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 8px 15px;
	background: #32303F;
	border-radius: 4px;
	color: #fff;
	box-shadow: 0px 10px 14px 0px rgba(0, 0, 0, .2);
}

.grid-item-details .page-counter:before {
	display: none;
}

.grid-item-details .page-counter i {
	color: var(--main-color);
	margin-right: 6px;
	font-size: 12px;
}

.grid-item-details .page-counter span {
	font-weight: 600;
	min-width: 15px;
	text-align: center;
	font-size: 11px;
}

.grid-item_price .learn_more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #222;
    color: var(--main-color);
    padding: 8px 16px;
    margin-right: 15px;
    font-size: 0.9em;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 10px 14px rgba(12, 0, 46, 0.1);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    outline: none;
    position: relative;
}

.grid-item_price .learn_more:hover,
.grid-item_price .learn_more:focus {
    background: var(--main-color);
    color: #222;
}

.grid-item_price .learn_more:focus-visible {
    outline: 2px solid var(--main-color);
    outline-offset: 2px;
}

.grid-item_price .learn_more:active {
    transform: translateY(0);
    box-shadow: 0 8px 12px rgba(12, 0, 46, 0.1);
}

.grid-item_price .learn_more a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
    display: block;
    width: 100%;
    height: 100%;
}

/*------------- 14.8 Price Badges -----------------*/
.grid-item-holder {
  position: relative;
  overflow: hidden;
}

.price-badges {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 10;
}

.price-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}

.price-badge:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateX(3px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.price-badge .duration {
  font-size: 11px;
  color: #666;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.price-badge .price {
  font-size: 16px;
  font-weight: 700;
  color: var(--main-color);
  line-height: 1;
}

.price-badges.horizontal {
  flex-direction: row;
  gap: 6px;
}

.price-badges.horizontal .price-badge {
  flex-direction: column;
  gap: 2px;
  padding: 6px 10px;
}

/*------------- 14.9 Product Title -----------------*/
.product-title {
	position: relative;
	overflow: hidden;
}

.product-title h4 {
	position: relative;
	padding-left: 10px;
}

.product-title h4:before {
	content: '';
	position: absolute;
	left: 1px;
	top: -18px;
	height: 50px;
	width: 49px;
	border-radius: 10px 0;
	border-left: 1px dashed #ddd;
	border-top: 1px dashed #ddd;
}

.product-title .section-title:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
	border-radius: 0 10px 0 0;
    border-right: 1px dashed #ddd;
    border-top: 1px dashed #ddd;
}

.shop-header-title_opt {
	overflow: hidden;
	float: left;
	width: 100%;
	padding-bottom: 20px;
	border-bottom: 1px dashed #ddd;
}

.shop-header-title_opt li {
 	float: left;
	margin-right:20px;
	padding-right: 20px;
	position: relative;
}

.menu-single-preice {
    font-size: 1.5em;
    font-weight: 600;
    position: relative;
    top: -4px;
	color:#666;
    vertical-align: text-top;
}

.menu-single-preice strong {
	color: var(--main-color);
	padding-left: 10px;
}

.shop-tabs-menu {
	position: relative;
	overflow: hidden;
 	border-bottom: 1px dashed #ddd;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.shop-tabs-menu a {
	float: left;
	height: 50px;
	line-height: 50px;
	padding: 0 30px;
	margin-right: 10px;
 	text-transform: uppercase;
	font-weight: 600;
	background: #fff;
	border-radius: 4px;
  	border: 1px dashed #ddd;
}

.shop-tabs-menu li.current a{
	background: #f9f9f9;
}

.page-counter {
	padding: 8px 15px;
	background: #32303F;
	border-radius: 4px;
	color:#fff;
    box-shadow: 0px 10px 14px 0px rgba(0, 0, 0, .2);
}

.page-counter i {
	color: var(--main-color);
	margin-right: 10px;
}

.shop-tabs-menu .page-counter {
	position: absolute;
	top: 10px;
	right: 20px;
}

.shop-tabs-menu .page-counter:before {
	content: '';
	position: absolute;
	width: 80px;
	right: 100%;
	margin-right: 30px;
	background: #ddd;
	height: 1px;
	top: 50%;
}

.product-header_form {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 10;
}

.product-header_form button {
	float: left;
	border:none;
    background: #32303F;
	padding: 0 35px 0 85px;
	height: 50px;
	line-height: 50px;
	border-radius: 4px;
	color: var(--main-color);
	cursor: pointer;
	font-family: var(--main-font);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 11px;
	position: relative;
 	transition: all .3s ease-in-out;
	margin-left: 10px;
	overflow: hidden;
}

.product-header_form button  i {
	position: absolute;
	left: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 14px;
	color:#fff;
	border-right: 1px solid rgba(255,255,255,.2);
    background: #32303F;
}

.product-header_form button:hover {
	background: var(--main-color);
	color:#000;
}

.quantity , .quantity_title {
	float: left;
	position: relative
}

.quantity_title {
	font-size: 1.1em;
	top: 16px;
}

.quantity span {
	float:left;
	position:relative;
	top:16px;
	padding-left:14px;
    color: #7d93b2;
}

.quantity span i {
	padding-right:10px;
	font-size:14px;
}

.quantity input.minus , .quantity input.plus ,.quantity input.qty {
	width:40px;
	height:40px;
	border-radius:0;
	text-align:center;
	border: none;
	padding:0;
	cursor:pointer;
	-webkit-appearance: none;
	background: none;
}

.quantity-item{
	float:right;
 	position: relative;
}

.quantity input.qty {
	width:50px;
	height:50px;
 	background: #f9f9f9;
	border-right:none;
	border-left:none;
	cursor:default;
	-webkit-appearance: none;
 	border: 1px dashed #ddd;
}

.blog-text-container  {
	margin-top: 30px;
	position: relative;
}

.product-details-container , .shop-tabs {
	position: relative;
}

.shop-tabs .tabs-content {
	display: none;	
}

.shop-tabs .tabs-content.first-tab {
	display: block
} 

.item-related-content {
	position: relative;
	padding: 15px 20px;
	overflow: hidden;
}

.post-related h6 {
	margin-bottom:20px;
}

.item-related img {
	width:100%;
	height:auto;
	border-radius:6px ;
	box-shadow: 0px 10px 34px 0px rgba(0,0,0,.4);
	transition: all .3s ease-in-out;
}

.item-related:hover img {
	box-shadow: 0px 10px 64px 0px rgba(0,0,0, 0);	
}

.post-related .section-title h2 {
	font-size: 2.2em
}

.item-related h3 {
	font-weight:700;
	font-size:1.7em;
}

.item-related h3 a {
	color:#444;
}

.item-related .post-date {
	float:left;
	font-style:italic;
	color:#666;
	width:100%;
	font-weight:500;
	margin-top:4px;
}

.item-related .post-date.post-price {
	font-size:1.5em;
 	color: var(--main-color);
}

.item-related {
	padding-top:15px;
	padding-bottom:15px;
}

/* ============================================
   15. BLOG & POSTS
   ============================================ */

/*------------- 15.1 Post Item -----------------*/
.post-item {
	width: 50%;
	position: relative;
	padding: 0 20px 20px 0;
}

.post-items {
	z-index: 1
}

.post-item_media  {
	position: relative;
	overflow: hidden;
	border-radius: 6px 6px 0 0 ;
}

.post-item_media img {
	width: 100%;
	height: auto;
    transition: all .2s ease-in-out;
}

.post-item_media a:hover img {
	opacity: .7
}

.post_header_cat {
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 10;
}

.post_header_cat a {
    float: left;
    margin-bottom: 10px;
    padding: 7px 20px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .8em;
    box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, .2);
	background: #32303F;
}

.post_header_cat span {
    display: inline-block;
    margin-bottom: 10px;
    padding: 7px 20px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .8em;
    box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: #32303F;
}

.post_header_cat i {
    margin: 0 10px 0 0;
}

.post-item_content {
	padding: 30px  30px 20px;
	border-radius: 0 0 6px 6px;
	border: 1px dashed #ddd;
	border-top: none;
	background: #fff;
}

.post-item_content h3 {
    font-size: 1.6em;
    margin-bottom: 15px;
	text-align: left;
	position: relative;
	font-weight: 600;
}

.post-item_content h3 a {
	display: block;
	color: var(--main-color);
    transition: all .2s ease-in-out;
}

.post-item_content h3:hover a , .post_header_cat a:hover  {
	color: var(--main-color);
}

.post-card_link {
	display: table;
    border: 1px solid #eee;
    padding: 10px 20px;
    text-transform: uppercase;
    border-radius: 4px;
	background: #32303F;
	color:#fff;
    font-weight: 600;
    font-size: .9em;
    transition: all .2s ease-in-out;
	margin-top: 20px;
}

.post-card_link i {
    margin: 0 0 0 10px;
	color: var(--main-color);
}

.post-card_link:hover {
	background: #f9f9f9;
	color:#000;
}

.post-card-details {
	overflow: hidden;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	padding: 14px 0;
	position: relative;
}

.post-card-details li {
	float: left;
	margin-right: 20px;
	font-size: 1.2em;
	color:#666;
}

.post-card-details li i {
	margin-right: 10px;
	color:var(--main-color);
}

.pv-item_wrap {
    position: absolute;
    bottom: 40px;
    right: 54px;
    padding: 0 12px;
    height: 36px;
    line-height: 36px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 4px;
    font-weight: 600;
}

.pv-item_wrap_single {
    bottom: 50%;
    margin-bottom: -18px;
    right: 0;
    padding: 0 12px;
    height: 36px;
    line-height: 36px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 4px;
}

.pv-item_wrap i, .tc_single_title i {
    margin-right: 10px;
    color: var(--main-color);
}

/*------------- 15.2 Tagcloud -----------------*/
.tagcloud_single {
	position: relative;
	padding: 15px 0 10px 20px;
	margin-top: 40px; /* laisser de la place pour la ligne au-dessus */
	overflow: visible; /* nécessaire pour que ::before soit visible */
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
}

.tagcloud_single::before {
	content: '';
	position: absolute;
	top: -20px; /* 20px au-dessus du bloc */
	left: 0;
	width: 100%;
	height: 0;
	border-top: 1px dashed #ddd;
	display: block;
}

.tc_single_title {
	text-transform: uppercase;
	margin-right: 20px;
	font-weight: 600;
	margin-top: 10px;
}

.tc_single_title i {
	font-size: 1.2em;
}

.tc_single_title .tags-widget,
.tc_single_title {
	float: left;
}

/*------------- 15.3 Sidebar Widgets -----------------*/
.search-widget {
	padding: 5px ;
	overflow: hidden;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	margin-bottom: 20px;
	position: relative;
}

.search-widget input.search-inpt-item{
	background: #f9f9f9;
    height: 60px;
    padding: 0 20px;
    width: 100%;
 	float:left;
    border: 1px dashed #ddd;
	border-radius:  4px;
	font-family: var(--main-font);
}

.search-submit {
	border:none;
	position: absolute;
	top: 10px;
	right: 10px;
    height: 50px;
	line-height:50px;
	width:100px;
	border-radius: 6px;
	background: #32303F;
	cursor: pointer;
	transition: all .3s linear;
	color:  var(--main-color);
}

.search-submit:hover {
	background: #000;
	color: var(--main-color);
}

.recent-post-widget {
    overflow: hidden;
    position: relative;
}

.recent-post-widget ul {
    list-style: none;
    position: relative;
    z-index: 5;
}

.recent-post-widget ul li {
    float: left;
    width: 100%;
    margin-bottom: 15px;
    position: relative;
    border: 2px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    overflow: hidden;
    border-radius: 10px;
    transition: all 0.3s ease;
    cursor: pointer;
    z-index: 5;
}

.recent-post-img {
    float: left;
    width: 140px;
    padding: 14px;
    border-right: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.08);
    transition: all 0.3s ease;
    overflow: hidden;
}

.recent-post-widget ul li:hover,
.recent-post-widget ul li:active,
.recent-post-widget ul li.active {
    border: 2px solid var(--main-color);
    background: rgba(255,255,255,0.1);
}

.recent-post-widget ul li:hover .recent-post-content h4 a,
.recent-post-widget ul li:active .recent-post-content h4 a,
.recent-post-widget ul li.active .recent-post-content h4 a {
    color: var(--main-color);
}

.recent-post-widget ul li:hover .post-date,
.recent-post-widget ul li:active .post-date,
.recent-post-widget ul li.active .post-date {
    color: var(--main-color);
}

.recent-post-img img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .2);
    transition: transform 0.3s ease;
}

.recent-post-widget ul li:hover .recent-post-img img,
.recent-post-widget ul li:active .recent-post-img img,
.recent-post-widget ul li.active .recent-post-img img {
    transform: scale(1.1);
}

.recent-post-content {
    float: left;
    padding: 20px 0 0 20px;
    color: #fff;
}

.recent-post-content h4 {
    padding-bottom: 2px;
    text-align: left;
    font-size: 1.2em;
    font-weight: 600;
    transition: color 0.3s ease;
    color: #fff;
}

.recent-post-content h4 a {
    color: #fff;
}

.recent-post-content h4 a:hover, 
.category-widget .cat-item li a:hover, 
.rpc_link {
    color: var(--main-color);
}

.rpc_link {
	display: block;
	text-align: left;
	margin-top: 16px;
}

.recent-post-opt   span.post-date {
 	text-align: left;
	padding-right:10px;
	position: relative;
	display: block;
 	font-weight: 500;
}

.recent-post-opt   span.post-date:before {
	content: '';
	position: absolute;
	bottom: -10px;
	width: 20px;
	height: 1px;
	left: 0;
	background: var(--main-color);
}

.category-widget .cat-item li {
	text-align:left;
	width:100%;
	margin-bottom:20px;
	font-weight:500;
	position:relative;
	overflow: hidden;
}

.category-widget .cat-item li a {
	float:left;
	position:relative;
 	font-weight: 600;
	z-index:2;
	padding:0 40px 0 0;
	top:4px;
	font-size: 1.1em;
}

.category-widget .cat-item li:before {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	right:50px;
	border-top:1px solid #eee;
	z-index:2;
}

.category-widget .cat-item li span {
	float:right;
	width:30px;
	height:30px;
	line-height:30px;
	color:var(--main-color);
	text-align:center;
	font-size:.9em;
	border-radius:4px;
	background: #f9f9f9;
	border: 1px solid #eee;
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}  

.social-widget  {
 	overflow: hidden;
	padding-bottom: 10px;
}

.social-widget   a   {
	float: left;
	width:40px;
	height:40px;
	line-height:40px;
	background: #3c3a49;
 	border-radius: 4px;
    color: var(--main-color);
	margin: 0 4px 4px 0;
	font-size: 1.1em;
	transition: all .3s linear;
	margin: 10px 10px 0 0;
}

.social-widget   a:hover  , .contact-social-container a:hover {
	color:#fff;
	background: var(--main-color); 
}

.post-banner-widget {
	padding: 180px 30px 20px;
    overflow: hidden;
    border-radius: 4px;
	position: relative;
}

.post-banner-widget_content {
    z-index:14;
    position: relative;
}

.post-banner-widget_content h5 {
    text-align: left;
    color: #fff;
    font-size: 1.3em;
    font-weight: 600;
    position: relative;
}

.post-banner-widget_single .post-banner-widget_content h5 {
	font-size: 1.8em;
	margin-bottom: 10px;
}

.post-banner-widget_single .post-banner-widget_content p {
	color:#fff;
	max-width: 650px;
	padding-bottom: 0;
}

.post-banner-widget_single {
	margin-top: 50px;
	border-radius: 20px;
	padding-bottom: 50px;
}

.post-banner-widget_content a {
	padding: 13px 20px;
    background: var(--main-color);
	display: table;
	color:#fff;
	margin-top: 20px;
	border-radius: 4px;
	box-shadow: 0px 0px 0px 4px rgba(255, 255, 255, .2);
	transition: all .3s linear;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .9em;
}

.post-banner-widget_content a:hover {
	background: #000;
	color: var(--main-color);
	box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}

/*------------- 15.4 Blog Media -----------------*/
.blog-media {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 30px;
}

.blog-media img {
	width: 100%;
	height: 400px;
}

.post-img-row {
    display: grid;
    grid-template-columns: 50% 50%;
    padding: 20px 0 30px;
    grid-gap: 10px;
}

.post-img-row img {
	border-radius: 10px;
}

/*------------- 15.5 Content Nav -----------------*/
.content-nav-fixed {
	position:relative;
	padding:0 30px;
	height: 90px;
    background: #32303F;
	border-radius: 4px;
}

.content-nav-fixed:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px !important;
	bottom: 10px;
	right: 10px;
	border-radius: 10px;
	background: #272535;
    z-index: 1;
    border: 1px dashed rgba(255, 255, 255, .2);
}

.content-nav-fixed:after {
	content:'';
	position:absolute;
	left:50%;
	width:1px;
	height:20px;
	top:50%;
	margin-top:-10px;
	background:var(--main-color);
	z-index:100;
}

.content-nav-fixed ul {
	display: grid;
	grid-template-columns: 50% 50%;
	position: relative;
	z-index: 10;
}

.content-nav-fixed li {
	width:100%;
	display:block;
	position:relative;
}

.content-nav-fixed li:first-child {
	border:none;
}

.content-nav-fixed li a.ln , .content-nav-fixed li a.rn {
 	color:#fff;
	position:relative;
	width:100%;
	height: 90px;
	line-height: 90px;
}

.content-nav-fixed li a.ln  {
	text-align:left;
	float:left;
	padding-left: 120px;
}

.content-nav-fixed li a.rn  {
	text-align:right;
	float:right;
	padding-right: 120px;
}

.content-nav-fixed li a:hover:before {
	top:0;
}

.content-nav-fixed li a.ln i , .content-nav-fixed li a.rn i  {
	position:relative;
	z-index:50;
    transform: translateX(0);
	transition: all .3s linear;
	color:var(--main-color);
}

.content-nav-fixed li a.ln:hover i   {
    transform: translateX(-105px);
	transition-delay: .35s;
}

 .content-nav-fixed li a.rn:hover i  {
    transform: translateX(105px);
	transition-delay: .35s;
}

.content-nav-fixed li a span {
	font-size:.9em;
	text-transform:uppercase;
	font-weight:600;
	position:relative;
	z-index:10;
}

.content-nav-fixed li a.ln span {
	padding-left:15px;
}

.content-nav-fixed li a.rn span  {
	padding-right:15px;
}

.content-nav_mediatooltip {
	position:absolute;
	bottom:50%;
	margin-bottom:-30px;
	overflow:hidden;
	width:60px;
	height:60px;
	border-radius:4px;
}

.content-nav-fixed li .overlay {
	opacity: 0;
	transition: all .3s linear;
}

.content-nav-fixed li:hover    .overlay {
	opacity: .7;
	transition-delay: .3s
}

.content-nav_mediatooltip.cnmd_leftside {
	left:-10px;
}

.content-nav_mediatooltip.cnmd_rightside {
	right:-10px;
}

/*------------- 15.6 Comments -----------------*/
.comments-item {
	position: relative;
	padding-left: 100px;
}

.comments-avatar {
	position: absolute;
	top: 0;
	left: 0;
	width: 70px;
	height: 70px;
	border-radius: 4px;
    box-shadow: 0 10px 24px 0px rgba(0,0,0, .2);
}

.comments-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 4px;
}

.comments-avatar:before {
	content: '';
	position: absolute;
	width: 40px;
	height: 40px;
	border-bottom: 1px solid #eee;
	border-left: 1px solid #eee;
	right: -4px;
	bottom: -50px;
	border-radius: 0 0 0 10px;
}

.comments-item-text {
	position: relative;
	overflow: hidden;
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 4px;
}

.comments-wrap  {
	margin-top: 30px;
}

.comments-item {
	margin-bottom: 30px;
}

.comments-wrap .comments-item:last-child {
	margin-bottom: 0;
}

.comments-header {
	padding: 20px 30px;
	text-align: left;
	border-bottom: 1px solid #eee;
	font-size: 1.2em;
	background: #fff;
	font-weight: 600;
	position: relative;
}

.review-header .listing-rating-count-wrap{
	left: auto;
	right: 20px;
	width: 130px;
	text-align: center;
	font-size: .9em;
}

.r_st_rei {
	margin-left: 10px;
}

.r_st_rei:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f005 \f005 \f005 \f005 \f005";
	position: absolute;
	left: -1px;
	top: 5px;
	color:#eee;
	z-index: -1;
	text-indent: 1px;
}

.comments-header:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 30px;
	height: 1px;
	background: var(--main-color);
}

.review-header:before {
	display: none;
}

.comments-item-footer {
	position: relative;
	overflow: hidden;
	padding: 15px 30px;	
	border-top: 1px solid #eee;
}

.comments-item-text-wrap {
	padding: 20px 30px ;
}

.comments-item-text-wrap p {
 	text-align: left;
}

.comments-item-date {
	float: left;
	font-size: .9em;
	margin-top: 10px;
	font-weight: 600;
}

.comments-item-date i {
	margin-right: 10px;
	color:var(--main-color);
}

.reply-item {
	float: right;
	background: #fff;
	padding: 8px 20px;
	border: 1px solid #eee;
	font-size: .9em;
	border-radius: 4px;
	font-weight: 600;
}

.reply-item i {
	margin-right: 10px;
	color:var(--main-color);
}

.reply-item span {
	margin-left: 10px;
	color:var(--main-color);
}

.comment-form_title {
	text-align: left;
    font-size: 1.3em;
    font-weight: 600;
	margin: 30px 0 ;
	border-top: 1px solid #eee;
	padding-top: 30px;
}

/*------------- 15.7 Tags Widget -----------------*/
.tags-widget {
    position: relative;
    overflow: hidden;
    padding-bottom: 10px;
}

.tags-widget span {
    float: left;
    padding: 10px 15px;
    color: #fff;
    background: #32303F;
    margin: 0 4px 4px 0;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .9em;
    transition: all .3s ease-in-out;
    cursor: default;
}

.tags-widget span:hover {
    color: var(--main-color);	
}

/*------------- 15.8 Single Slider -----------------*/
.single-slider-wrap , .single-slider  {
	position: relative
}

.single-slider-wrap  {
	z-index: 4;
}

.fwc-controls_wrap {
	position: absolute;
	bottom: 30px;
	left: 20px;
	z-index: 10;
}

.ss-slider-pagination_wrap {
    height: 20px;
    line-height: 20px;
    position: absolute;
    bottom: 25px;
    z-index: 10;
    left: 40px;
}

.ss-slider-pagination{
	position:relative;
	float: left;
	bottom: 0;
}

.ss-slider-pagination .swiper-pagination-bullet , .hero-slider-pag  .swiper-pagination-bullet , .ssh_pagination .swiper-pagination-bullet {
 	background: #fff;
	margin:0 10px;
	padding:0;
	height:6px;
	border-radius:100%;
	opacity:1;
	width:6px;
	position:relative;
	top:-2px;
}

.ss-slider-pagination .swiper-pagination-bullet:after , .hero-slider-pag  .swiper-pagination-bullet:after , .ssh_pagination .swiper-pagination-bullet:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 100%;
    transition: all  .3s ease;
    transform: scale(0.0);
}

.ss-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after , .hero-slider-pag  .swiper-pagination-bullet.swiper-pagination-bullet-active:after , .ssh_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after  {
    transform: scale(1.0);
}

.ss-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active , .hero-slider-pag  .swiper-pagination-bullet.swiper-pagination-bullet-active , .ssh_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active  {
	background: var(--main-color);
}

.ss-slider-cont {
    position: absolute;
    width: 40px;
    height: 40px;
    line-height: 40px;
    bottom: 20px;
    border-radius: 100%;
    background: #32303F;
    z-index: 50;
	font-size: 11px;
    cursor: pointer;
	color:var(--main-color);
    box-shadow: 0px 0px 0px 8px rgba(255,255,255,.2);
    transition: all .3s ease-out;
}

.ss-slider-cont-prev {
	right: 80px;
}

.ss-slider-cont-next {
	right: 20px;
}

/* ============================================
   16. GALERIE & FILTRES
   ============================================ */

/*------------- 16.1 Gallery Grid -----------------*/
.grid-item-holder {
	float: left;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	border-radius: 6px;
}

.menu-grid-container {
	margin-bottom: 0!important
}

.menu-grid-container .grid-item-holder {
	border-radius: 6px 6px 0 0;
}

.gallery-items {
	position: relative;
	width: 100%;
}

.spad .gallery-item {
	padding: 6px;
}

.min-pad .gallery-item {
	padding: 4px;
}

.hid-port-info .grid-item-holder {
	overflow: hidden;
}

.grid-big-pad .gallery-item {
	padding: 12px;
}

.gallery-item,
.grid-sizer {
	width: 33.3%;
	position: relative;
	float: left;
	overflow: hidden;
}

.grid-item-holder:before {
	content:'';
	position:absolute;
	top:0;
	right:0;
	left:0;
	bottom:0;
	background:rgba(0,0,0,0.3);
	z-index:2;
	opacity:0;
  	transition: all 2000ms cubic-bezier(.19,1,.22,1) 0ms;
}

.grid-item-holder .box-media-zoom {
	right:50%;
	top:50%;
	margin:-20px -20px 0 0;
}

.grid-item-holder:hover:before {
	opacity:1;
}

.gallery-item-second,
.grid-sizer-second {
	width: 66.6%;
}

.four-column .gallery-item {
	width: 25%;
}

.four-column .gallery-item.gallery-item-second   , .two-column .gallery-item{
	width: 50%;
}

.gallery-item img,
.grid-sizer img {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
	background: #272535;
    transform: translateZ(0);
  	transition: all 2000ms cubic-bezier(.19,1,.22,1) 0ms;
}

.gallery-item:hover img {
	transform: scale(1.15);
}

/*------------- 16.2 Gallery Filters -----------------*/
.gallery-filters {
    border: 1px dashed #ddd;
    display: block;
	margin-bottom:40px;
	padding:25px 30px 23px;
	background:#f5f5f5;
 	border-radius: 6px;
    position: relative;
	overflow: hidden;
}

.gallery-filters.gth {
	background: #fff;
	margin: 10px 13px 20px 12px;
}

.gallery-filters2 {
    border: 1px dashed #ddd;
    display: block;
	margin-bottom:40px;
	padding:20px 30px 10px;
	background:#f5f5f5;
 	border-radius: 6px;
    position: relative;
	overflow: hidden;
}

.gallery-filters2.gth {
	background: #fff;
	margin: 0 0 20px;
}

.gallery-filters a {
    display: inline-block;
    margin: 0 20px;
 	text-transform: uppercase;
    font-size: 1.1em;
    position: relative;
    font-weight: 600;
}

.gallery-filters a:after {
	content: '';
	position: absolute;
	top: 11px;
	right: -24px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--main-color);
} 

.gallery-filters a:last-child:after {
	display: none
} 

.gallery-filters a span {
    color:#666;
	padding-right: 10px
}

.gallery-filters a:before {
    font-family: "Font Awesome 6 Pro";
	content: "\f0d8";
    position: absolute;
	color: var(--main-color);
    top: 31px;
    right: 50%;
    font-size: 15px;
    opacity: 0;
    font-weight: 800;
}

.gallery-filters a.gallery-filter-active , .gallery-filters a:hover {
	color: var(--main-color);
}

.gallery-filters a.gallery-filter-active:before {
	opacity:1;
}

/* ============================================
   17. FORMULAIRES
   ============================================ */

/*------------- 17.1 Custom Form -----------------*/
.custom-form textarea,
.custom-form input[type="text"],
.custom-form input[type=email],
.custom-form input[type=tel],
.custom-form input[type=password] {
	float: left;
	border: 1px solid #e1e1e1;
	background: #f9f9f9;
	width: 100%;
	padding: 0 30px;
	height: 56px;
	font-weight: 700;
	color: #000;
	font-size: 13px;
	border-radius: 4px;
	-webkit-appearance: none;
	font-family: var(--main-font);
}

.custom-form input::-webkit-input-placeholder,
.custom-form textarea::-webkit-input-placeholder {
	color: #666;
	font-weight: 700;
	font-size: 13px;
	position: relative;
	font-family: var(--main-font);
}

.custom-form input:-moz-placeholder,
.custom-form textarea:-moz-placeholder {
	color: #666;
	font-weight: 700;
	font-size: 13px;
	font-family: var(--main-font);
}

.custom-form textarea {
	resize: vertical ;
	padding: 30px 20px;
	-webkit-appearance: none;
	border: 1px solid #e1e1e1;
	min-height: 230px;
}

.reservation-content .custom-form textarea , .check-out_container textarea  {
	min-height:  150px;
	max-height: 250px;
}

.check-out_container .custom-form .btn {
	margin-top: 20px;
}

.custom-form input {
	margin-bottom: 20px;
}

.custom-form .btn {
	border:none;
	-webkit-appearance: none;
	cursor:pointer;
	margin-top:40px;
 	font-family:var(--main-font);
}

.custom-form  textarea:focus , .custom-form input[type="text"]:focus  , .custom-form  input[type=email]:focus  , .custom-form  input[type=password]:focus   {
	background:#fff;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.06);
}

.nice-select{
 	font-weight: 700;
	padding-left: 30px;
	height:56px;
	line-height:56px;
 	font-family:var(--main-font);
	font-size: 13px;
	color:#000;
	border-radius: 4px;
}

.nice-select:after {
	border-color:var(--main-color);
}

.nice-select .option.focus,.nice-select .option.selected.focus {
	color:#fff;
}

.nice-select .option {
 	min-height: 50px;
    line-height: 50px;
 	font-size: 13px;
	text-transform: uppercase;
} 

.date-container {
	position: relative;
}

.nice-select .option.focus,.nice-select .option.selected.focus , .daterangepicker td.active, .daterangepicker td.active:hover {
	background: var(--main-color);
}

.daterangepicker .calendar-table table {
	font-family: var(--main-font);
}

.daterangepicker .calendar-table td, .daterangepicker .calendar-table th {
    font-size: 13px;
 	font-weight:700;
}

/*------------- 17.2 Form Select & Date -----------------*/
.form-select,
.form-date,
.form-textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-family: var(--main-font);
    background: #fff;
    transition: all 0.3s ease;
}

.form-select:focus,
.form-date:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(201, 166, 135, 0.1);
}

.form-textarea {
    resize: vertical;
    min-height: 100px;
}

/*------------- 17.3 Comment Submit -----------------*/
#message {
	text-align:left;
	font-size: 1.1em;
}

#message div {
	padding : 15px 30px;
	background: #32303F;
	margin-bottom: 10px;
	border-radius:4px;
	font-weight: 500;
	color:#fff;
}

#message div p {
	margin-top: 5px;
	color:#fff;
	padding-bottom: 0;
}

#message div strong {
	color:var(--main-color);	
}

.commentssubmit {
	float: left;
	height: 50px;
	line-height: 50px;
    cursor: pointer;
 	padding: 0 50px;
    border: none;
	margin-top: 20px;
    -webkit-appearance: none;
    border-radius: 4px;
    position: relative;
	color:  #fff;
    text-transform: uppercase;
	background: #32303F;
	font-weight: 600;
    font-size: 1.1em;
 	font-family: var(--main-font);
	transition: all .2s linear;
	overflow: hidden;
}

.commentssubmit:hover {
    background:var(--main-color); 
}

.csb-no-align {
	float: none;
	margin-top: 30px;
	display: inline-block
}

.commentssubmit_fw {
	padding: 0;
}

.commentssubmit i {
	position: absolute;
	color:  var(--main-color);
	font-size: 1.3em;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-left: 1px solid rgba(255,255,255,.3);
	transition: all .2s linear;
}

.csb_color {
	background: var(--main-color);
	box-shadow: 0px 0px 0px 8px rgba(255, 255, 255, .2);
}

.csb_color i , .commentssubmit:hover i  {
	color:#fff;
}

.csb_color:hover {
	color:#000;
	box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, .2);
}

/* ============================================
   18. MODAL RÉSERVATION
   ============================================ */

/*------------- 18.1 Modal Container -----------------*/
.reserv_modal-container {
	position: fixed;
	top: 0px;
	left:350px;
	right: 0;
	bottom: 0;
	z-index: 100;
	overflow: auto;
	display: none;
}

.reserv_modal-inner {
	position: relative;
	width: 700px;
	display: inline-block;
	overflow: hidden;
	z-index: 102;
 	margin-top: -30px;
	top:15%;
    transition: all .4s linear;
	opacity: 0; 
}

.reserv_modal-wrapper {
	float: right;
	width: 100%;
	padding: 60px 40px 40px;
	position: relative;
	overflow: hidden;
	background: #f9f9f9;
}

.reserv_modal-wrapper:after {
    content: '';
    position: absolute;
    top: 18px;
    left: 18px;
    bottom: 18px;
    right: 18px;
	background: #fff;
    border: 1px dotted #ccc;
    z-index: 1;
	border-radius: 10px;
}

.reservation-content {
	position: relative;
	z-index: 2;
}

.reserv_modal-inner-box {
	overflow: hidden;
	border-radius: 10px;
 	box-shadow: 0px 0px 0px 15px rgba(255,255,255,.09);
}

.vis_modiiner {
	opacity: 1;
	margin-top: 0;
}

/*------------- 18.2 Modal Title -----------------*/
.reserv-modal-title {
	position: relative;
	margin-bottom: 40px;
}

.reserv-modal-title h4 {
    font-style: italic;
    font-size: 18px;
    font-weight: 700;
	color:var(--main-color);
    padding-bottom: 10px;
}

.reserv-modal-title h3 {
    font-size:2.5em;
    font-weight:700;
    color: #333;
}

.close-reservation-modal {
    position: absolute;
    right: 35px;
    top: 35px;
    cursor: pointer;
    font-size: 13px;
    width: 46px;
    height: 46px;
    line-height: 46px;
 	color:var(--main-color);
    background: #272535;
    z-index: 3;
	border-radius: 4px;
    transition: all .3s ease-in-out;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46,  .3);
}

.close-reservation-modal:hover , .reservation_btn:hover , .close-cart:hover {
	box-shadow: 0px 0 0 0px rgba(12, 0, 46, 0.06);
}

.reserv-modal_bg {
	position: absolute;
	left: -30px;
	top: -55px;
	width: 350px;
	height: 179px;
	z-index: -1;
	background: url("../images/bg/bg-dec/2.png") no-repeat center;
	opacity: .2
}

/*------------- 18.3 Reservation Message -----------------*/
#reserv-message , #message {
	color:#fff;
	font-size: 1.2em;
	margin-bottom: 20px;
}

#reserv-message div , #message div {
	background: #222;
	padding: 15px 30px;	
}

#reserv-message p , #message p {
	text-align: center;
}

#reserv-message p strong , #message p strong {
	color:var(--main-color);
}

.reservation_btn {
	padding: 18px 50px;
 	float: left;
    background: #272535;
 	font-family: var(--main-font);
 	color:var(--main-color);
	cursor: pointer;
	border: none;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46,  .2);
	font-weight: 600;
	font-size: 1.2em;
	margin-top: 20px;
	position: relative;
    transition: all .3s ease-in-out;
	border-radius: 6px;
}

.reserv-link{
	position: absolute;
	background: #f9f9f9;
	color:#000;
	border: 1px solid #eee;
	margin: 0 0 0 10px;
	bottom: 0;
	right: 0;
	padding: 10px 20px;
 	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46,  .05);
	cursor: pointer;
	font-weight: 500;
	border-radius: 4px;
}

.reserv-link i {
	margin:0  0 0 10px;
	position: relative;
 	color:var(--main-color);
}

.load-more_btn:hover i {
	opacity: 1;
	animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}

/*------------- 18.4 Steps Indicator -----------------*/
.steps-indicator {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
    padding: 20px 0;
}

.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0.4;
    transition: all 0.3s ease;
}

.step-item.active {
    opacity: 1;
}

.step-item.completed {
    opacity: 0.7;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e0e0e0;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.step-item.active .step-number {
    background: var(--main-color);
    color: #000;
    transform: scale(1.1);
}

.step-item.completed .step-number {
    background: #4caf50;
    color: #fff;
}

.step-label {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.form-step {
    display: none;
    animation: fadeInStep 0.4s ease;
}

.form-step.active {
    display: block;
}

@keyframes fadeInStep {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.form-navigation {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    justify-content: center;
}

.form-navigation .reservation_btn {
    flex: 1;
    max-width: 200px;
}

.btn-next {
    background: var(--main-color) !important;
    color: #000 !important;
}

.btn-prev {
    background: #000 !important;
    color: var(--main-color) !important;
}

/*------------- 18.5 Recap Container -----------------*/
.recap-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.recap-block {
    background: #fafafa;
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #f0f0f0;
}

.recap-block h4 {
    margin-bottom: 15px;
    color: #333;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--main-color);
}

.recap-block h4 i {
    color: var(--main-color);
}

.recap-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #e5e5e5;
}

.recap-item:last-child {
    border-bottom: none;
}

.recap-label {
    font-weight: 600;
    color: #666;
    font-size: 14px;
}

.recap-value {
    color: #333;
    font-weight: 500;
    text-align: right;
    font-size: 14px;
}

/*------------- 18.6 Custom Alert -----------------*/
.custom-alert {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 25px 30px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    z-index: 99999;
    min-width: 300px;
    text-align: center;
    animation: alertFadeIn 0.3s ease;
}

.custom-alert-content {
    margin-bottom: 20px;
    color: #333;
    font-size: 15px;
}

.custom-alert-btn {
    background: var(--main-color);
    color: #000;
    border: none;
    padding: 10px 25px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

.custom-alert-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.custom-alert-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99998;
}

@keyframes alertFadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* ============================================
   19. BOUTIQUE & CHECKOUT
   ============================================ */

/*------------- 19.1 Checkout Table -----------------*/
.checkout-table {
 	overflow: hidden;
	border-radius: 6px;
    width: 100%;
	font-size:1.2em;
	box-sizing: border-box;
}

.checkout-table table {
	width: 100%;
	float: left;
	border: 1px solid #eee;
}

.checkout-table table > tbody > tr > td,
.checkout-table table > tbody > tr > th,
.checkout-table table > tfoot > tr > td,
.checkout-table table > tfoot > tr > th,
.checkout-table table > thead > tr > td,
.checkout-table table > thead > tr > th {
	border-top: 1px solid #eee;
	padding: 12px;
}

.checkout-table tr td:nth-child(odd),
.checkout-table tr th:nth-child(odd) {
	background:#f9f9f9;
}

.checkout-table tbody tr td:first-child,
.checkout-table tbody tr th:first-child {
	max-width: 66px;
}

.pr-remove {
	vertical-align: middle !important;
	text-align: center;
}

.pr-remove i {
	color:  var(--main-color);	
}

.order-money {
	font-family: var(--main-font);
	font-size:18px;
}

.order-count {
	border:none;
	width:60px;
	height:50px;
	text-align:center;
	font-weight:bold;
	font-family: var(--main-font);
	font-size: 18px;
}

.product-name {
	font-weight:500;
}

/*------------- 19.2 Coupon Holder -----------------*/
.coupon-holder {
	float:left;
	width:100%;
	margin-top:30px;
	padding: 12px 12px 20px 12px;
}

.coupon-holder .col-md-12 {
	border-bottom:1px solid #eee;
}

.coupon-holder input{
	float:left;
	margin-bottom:20px;
	font-size: 14px;
	height:40px;
	position:relative;
	z-index:20;
	padding-left:8px;
	color:#000;
	border:1px solid #eee;
	background:#f9f9f9;
 	border-radius: 4px;
	font-family: var(--main-font);
}

.coupon-holder button {
	float:left;
	height:40px;
	border:none;
	color:#fff;
	cursor:pointer;
	padding:0 20px;
	background: #32303F;
	-webkit-appearance: none;
	transition: all .3s ease-in-out;
	font-family: var(--main-font);
	border-radius: 4px;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, .15);
}

.coupon-holder button.btn-a{
	float:left;
	margin-left:20px;
}

.coupon-holder button.btn-uc {
	float:right;
}

.coupon-holder button:hover{
	background: var(--main-color);
	color:#222;
}

h4.cart-title {
	font-size:20px;
	font-weight:bold;
	letter-spacing:1px;
	margin-bottom:20px;
	text-align:left
}

h4.cart-title span {
    font-size: 12px;
    position: relative;
    text-transform: uppercase;
    border-radius: 4px;
    font-weight: 600;
    top: -2px;
    padding: 4px 10px;
    background: #fff;
    margin-left: 10px;
    color: var(--main-color);
    font-family: var(--secondary-font);
    border: 1px solid #eee;
    box-shadow: 0px 10px 12px 0px rgba(0, 0, 0, .07);
}

/*------------- 19.3 Cart Totals -----------------*/
.cart-totals {
	padding:75px 60px 40px;
	position: relative;
	background: #32303F;
	overflow: hidden;
	border-radius: 6px;
    box-shadow: 0px 10px 24px 0px rgba(12, 0, 46, .25);
}

.cart-totals.soh_2 {
	margin-top: 40px;
}

.cart-totals:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px dashed rgba(255,255,255,0.2);
    z-index: 2;
    box-shadow: 0px 0px 0px 20px rgba(255,255,255,0.03);
	border-radius: 6px;
}

.cart-totals:after {
    font-family: "Font Awesome 6 Pro";
	content: "\f72d";
    position: absolute;
    font-size: 2.0em;
    font-weight: 100;
 	color:var(--main-color);
    z-index: 10;
	right: 60px;
	top: 70px;
}

.cart-totals h3 {
 	color:var(--main-color);
	font-size:20px;
	font-weight:bold;
	text-align:left;
	padding-bottom:30px;
}

.total-table {
	width:100%;
	float:left;
	position:relative;
	z-index:2;
}

.total-table tr {
	font-size:1.2em;
	text-align:right;
} 

.total-table  th , .total-table tr  {
	padding:15px 0;
	color:#fff;
} 

.total-table th {
	border-bottom:1px solid rgba(255,255,255,0.1);
	text-align:left;
}

.cart-totals_btn {
	float:right;
	margin-top:50px;
	height:48px;
	line-height: 48px;
	border:none;
	color:#222;
	width:100%;
	background: var(--main-color);
	border-radius: 4px; 
	cursor:pointer;
	padding:0 20px;
	-webkit-appearance: none;
	position:relative;
	text-transform: uppercase;
	font-size: 1.1em;
	font-weight: 600;
	z-index:2; 
	transition: all 0.3s ease-in-out;
	font-family: var(--main-font);
}

.cart-totals_btn:hover {
	background:#666;
}

/* ============================================
   20. CONTACTS & CARTE
   ============================================ */

/*------------- 20.1 Contacts Card -----------------*/
.contacts-card-item {
	position: relative;
	padding: 20px 30px 20px 90px;
	overflow: hidden;
	border: 1px dashed #ddd;
	border-radius: 4px;
    background: #f9f9f9	;
 	transition: all .3s ease-in-out;
}

.contacts-card-item:hover {
	background: #fff;
	box-shadow: 0px 10px 14px 0px rgba(0,0,0,.05);
}  

.contacts-card-item i {
	position: absolute;
	top: 50%;
	left: 20px;
	font-size: 1.3em;
	width: 50px;
	height: 50px;
	line-height: 50px;
	background: #fff;
	border: 1px dashed #ddd;
	border-radius: 6px;
	color:var(--main-color);
	transform: translateY(-50%);
	box-shadow: 0px 10px 14px 0px rgba(0,0,0,.05);
}

.contacts-card-item span  {
	display: block;
	text-align: left;
	font-size: 1.7em;
	margin-bottom: 15px;
	font-weight: 600;
	position: relative;
	color:var(--main-color);
}

.contacts-card-item a {
	float: left;
    text-transform: uppercase;
    font-family: var(--secondary-font);
	margin: 10px 15px 0 0;
	font-weight: 500;
	color:#666;
	transition: all .2s ease-in-out;
}

.contacts-card-item a:hover {
	color:var(--main-color);
}

.contacts-text-block {
	position: relative;
	overflow: hidden;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px dashed #ddd;
}

.contact-list li {
    display: flex;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

.contact-list .label {
    width: 120px;
    text-align: left;
    color: #fff;
    font-weight: bold;
    padding-right: 10px;
    flex-shrink: 0;
}

.contact-list .value {
    text-align: left;
    color: white;
    flex: 1;
    word-break: break-word;
}

/*------------- 20.2 Map Wrapper -----------------*/
.map-wrapper {
	background: #272535;
    border-radius: 10px;
    position: relative;
	margin: 20px 0;
	padding: 20px 20px 20px 370px;
}

.location-container {
	position: absolute;
	left: 20px;
	top: 20px;
	bottom: 20px;
	background: #32303F;
	width: 330px;
	border-radius: 10px;
	overflow: hidden;
	padding: 30px;
}

.location-container:before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
	background: #32303F;
    border-radius: 10px;
    z-index: 1;
    border: 1px dashed rgba(255,255,255,.2);
}

.location-content {
	position: relative;
	z-index: 5;
	top: 50%;
	transform: translateY(-50%);
}

.location-content-title {
	font-size: 1.9em;
 	position: relative;
	padding-bottom: 20px;
	color:var(--main-color);
}

.location-content-title:before {
	content: '';
	position: absolute;
	top: -26px;
	width: 30px;
	height: 1px;
	left: 50%;
	margin-left: -15px;
	background: rgba(255,255,255,.2);
}

.location-container_dec {
    position: absolute;
 	left: 50%;
	bottom: 40px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin: 0 0 0 -3px;
	background: var(--main-color);
	z-index: 10;
}

.location-container_dec:before, .location-container_dec:after {
    content: '';
    position: absolute;
    width: 40px;
    height: 1px;
	top: 50%;
	border-top: 1px dotted rgba(255,255,255,.2);
}

.location-container_dec:after {
    left: -54px;	
}

.location-container_dec:before {
    right: -54px;
}

.location-content a {
	display: block;
	color:#fff;
	padding: 10px 0;
	font-size: 1.2em;
	font-family: var(--secondary-font);
}

.location-content a:hover {
	color:var(--main-color);	
}

/*------------- 20.3 Map Container -----------------*/
.map-container{
	height:420px;
	position:relative;
	overflow:hidden;
	border-radius: 10px;
}

#singleMap {
	height:100%;
}

.leaflet-left  {
	right:20px;
	top:50%;
	margin-top:-20px;
}

.leaflet-touch .leaflet-bar a {
	width:40px;
	height:40px;
	line-height:40px;
	border-radius:4px;
	border:none;
    background: #32303F;
    box-shadow: 0px 0px 0px 6px rgba(255,255,255,0.3);
	margin-bottom:15px;
	color:var(--main-color);
}

.leaflet-container a.leaflet-popup-close-button {
	top:10px;
	right:10px;
}

.map-links_tabs-container {
	position: absolute;
	right: 40px;
	top: 40px;
	z-index: 1000;
	width: 240px;
}

.map-links_tabs {
	position: absolute;
	top: 70px;
	left:0;
	right: 0;
	padding: 20px 30px ;
	overflow: hidden;
	border-radius: 6px;
	background: #32303F;
	text-align: left;
	display: none;
}

.map-links_tabs a {
	display: block;
	color:#fff;
	padding: 10px 0;
	font-size: 1.1em;
}

.map-links_tabs a.ml_act , .map-links_tabs a:hover {
	color:var(--main-color);	
}

.map-links_tabs-title {
	height: 60px;
	line-height: 60px;
	background: #32303F;
	border-radius: 6px;
	color:var(--main-color);
	cursor: pointer;
 	font-size: 1.1em;
	box-shadow: 0px 0px 0px  5px rgba(255,255,255,.09);
	padding-left: 30px;
	text-align: left;
}

.map-links_tabs-title i {
	color:#fff;
	position: absolute;
	right: 30px;
	top: 50%;
	height: 8px;
	line-height: 8px;
	margin-top: -4px;
}

.ml_act_title i {
	transform: rotateX(180deg);
}

/*------------- 20.4 Single Open Hours -----------------*/
.single-open-hours {
	overflow: hidden;
    padding: 30px 30px;
    border-radius: 10px;
    margin-top: 15px;
    background: #333;
    position: relative;
	border: solid 30px #343241;
}

.single-open-hours:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    background:rgba(39, 37, 53, .8);
    border-radius: 10px;
    z-index: 1;
    border: 1px dashed rgba(255,255,255,.2);
	box-shadow: 0px 0px 10px 20px rgba(255,255,255,0.03);
    border-radius: 6px !important;
}

.single-open-hours_container {
	position: relative;
	z-index: 3;
}

.single-open-hours_container .big-number {
	margin-top: 0px;
} 

.single-open-hours-title {
	margin-bottom: 10px
}

.single-open-hours-title h4 {
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 600;
	padding-bottom: 10px;
}

.single-open-hours-title h2 {
    color: #fff;
    font-size: 2.2em;
} 

.work-time {
	margin: 20px 0;
	position: relative;
}

.work-time:before {
	content: '';
	position: absolute;
	left: 50%;
	width: 1px;
	top: 0;
	bottom: 0;
	border-left: 1px dashed rgba(255,255,255,.4);
}

.work-time h6 {
	color:var(--main-color);
	margin-bottom: 20px;
	font-weight: 500;
	font-size: 1.1em;
}

.big-number {
	margin-top: 20px;
}

.big-number a {
    font-size: 3.0em;
	color:var(--main-color);
    transition: all .1s linear;
}

.big-number a:hover {
	color:#fff;
}

.hours {
    text-transform: uppercase;
    font-weight: 500;
    font-size:2.1em;
	line-height: 40px;
    color: #fff;
}

/* ============================================
   21. PAGINATION & NAVIGATION
   ============================================ */

/*------------- 21.1 Pagination -----------------*/
.pagination-wrap {
 	margin-top: 30px;
	position: relative;
}

.load-more_btn   {
	position: absolute;
	top: 0;
	right: 0;
	height:54px;
	line-height:54px;
	padding: 0 50px;
	background: #32303F;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	font-size: 1.1em;
	border-radius: 6px;
}

.load-more_btn i {
	margin-left: 15px;
	color:  var(--main-color);
	font-size: 13px;
}

.pagination {
	text-align:center;
}

.pagination.float-pagination {
	display: table
}

.pagination  a {
	display:inline-block;
	width:54px;
	height:54px;
	line-height:54px;
	border-radius:4px;
 	border:1px solid #eee;
	box-sizing:border-box;
	position:relative;
	font-size:1.3em;
	background:#fff;
	transition: all .3s linear;
}

.pagination.float-pagination a{
	float: left;
	margin-right: 3px;
}

.pagination a.current-page, .pagination a:hover {
	background:var(--main-color);
	color:#fff;
	box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}

.pagination  a i {
	font-size:12px;
}

/* ============================================
   22. COMPÉTENCES & ZONES
   ============================================ */

/*------------- 22.1 Skill Cards -----------------*/
.skill-card {
    background: #2f2d3c;
    border: 1px solid #52515d;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.skill-card:hover {
    border-color: var(--main-color);
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

.skill-icon {
    margin-bottom: 20px;
}

.skill-icon i {
    font-size: 3em;
    color: #fff;
    transition: color 0.3s ease;
}

.skill-card:hover .skill-icon i {
    color: var(--main-color);
}

.skill-card h2 {
    font-size: 3em;
    color: #fff;
    margin-bottom: 15px;
    font-weight: 600;
    transition: color 0.3s ease;
}

.skill-card:hover h2 {
    color: var(--main-color);
}

.skill-card p {
    color: #b8b8b8;
    text-align: center;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
}

/*------------- 22.2 Zone Cards -----------------*/
.zone-card {
    background: #fff;
    border: 1px solid #9d9d9d;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.zone-card:hover {
    border: 2px solid var(--main-color);
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

.zone-icon {
    margin-bottom: 20px;
}

.zone-icon i {
    font-size: 3em;
    color: #9d9d9d;
    transition: color 0.3s ease;
}

.zone-card:hover .zone-icon i {
    color: var(--main-color);
}

.zone-card h2 {
    font-size: 3em;
    color: #9d9d9d;
    margin-bottom: 15px;
    font-weight: 600;
    transition: color 0.3s ease;
}

.zone-card:hover h2 {
    color: var(--main-color);
}

.zone-card h3 {
	font-size: 1.4em;
    color: #9d9d9d;
    text-align: center;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
}

.zone-card p {
    color: #9d9d9d;
    text-align: center;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
}

/* ============================================
   23. PAGES MASSAGES
   ============================================ */

/*------------- 23.1 Massage Section Styles -----------------*/
.massag-section-separator {
    margin: 30px 0 20px 0;
}

.massag-main-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 25px;
}

.massag-tarifs-container {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.massag-tarif-card {
    flex: 1;
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    text-align: center;
}

.massag-tarif-card.premium {
    border: 2px solid #CBAA6B;
}

.massag-tarif-title {
    font-size: 20px;
    margin-bottom: 15px;
}

.massag-tarif-price {
    font-size: 18px;
    font-weight: bold;
    margin: 8px 0;
}

.massag-tarif-description {
    font-size: 14px;
    margin: 0;
    text-align: center;
}

.massag-included-section {
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin: 20px 0;
}

.massag-included-title {
    text-align: center;
    font-size: 18px;
    margin-bottom: 20px;
}

.massag-included-grid {
    display: flex;
    gap: 15px;
    text-align: center;
}

.massag-included-item {
    flex: 1;
}

.massag-included-icon {
    color: var(--main-color);
    font-size: 24px;
    display: block;
    margin-bottom: 10px;
}

.massag-included-text {
    font-size: 14px;
    font-weight: 500;
}

/*------------- 23.2 Massage Contraindications -----------------*/
.massag-contraindications-title {
    font-size: 24px;
    margin-bottom: 25px;
}

.massag-contraindications-container {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.massag-contraindication-box {
    flex: 1;
    padding: 15px;
    border-radius: 5px;
}

.massag-contraindication-box.warning {
    background: #f7ebd8;
    border-left: 4px solid #C19D60;
}

.massag-contraindication-box.info {
    background: #e4e8e4;
    border-left: 4px solid #a2bba3;
}

.massag-contraindication-subtitle {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    text-align: left;
}

.massag-contraindication-list {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    text-align: left;
    list-style-type: disc;
}

.massag-important-notice {
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    text-align: center;
    border-left: 4px solid #dc3545;
    background-color: #ffeaea;
}

.massag-important-text {
    margin: 0;
    font-size: 15px;
}

/*------------- 23.3 Massage Déroulement -----------------*/
.massag-deroulement-title {
    font-size: 24px;
    margin-bottom: 25px;
    text-align: center;
}

.massag-deroulement-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
}

.massag-deroulement-item {
    flex: 1;
    min-width: calc(50% - 8px);
    display: flex;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    border-bottom: 4px solid #CBAA6B;
}

.massag-step-number {
    background: #CBAA6B;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
    font-weight: bold;
}

.massag-step-content {
    text-align: left;
}

.massag-step-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.massag-step-description {
    font-size: 14px;
    margin: 0;
}

.massag-bienfaits-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
}

.massag-bienfait-item {
    flex: 1;
    min-width: 250px;
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
}

.massag-bienfait-icon {
    background: #CBAA6B;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.massag-bienfait-text {
    font-size: 14px;
    margin: 0;
}

/*------------- 23.4 Massage Technique -----------------*/
.massag-technique-container {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 30px;
}

.massag-technique-content {
    flex: 1;
    background: #f8f9fa;
    padding: 25px;
    border-radius: 10px;
    text-align: left;
}

.massag-technique-text {
    margin-bottom: 20px;
    line-height: 1.6;
}

.massag-technique-subtitle {
    font-size: 18px;
    margin-bottom: 15px;
}

.massag-technique-list {
    margin: 0;
    padding-left: 20px;
    line-height: 1.8;
    list-style-type: disc;
}

.massag-technique-list li {
    margin-bottom: 12px;
}

.massag-technique-images {
    flex: 1;
}

.massag-technique-main-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 15px;
}

.massag-technique-small-images {
    display: flex;
    gap: 10px;
}

.massag-technique-small-image {
    flex: 1;
    height: 120px;
    object-fit: cover;
    border-radius: 10px;
}

/*------------- 23.5 Massage Domicile -----------------*/
.massag-domicile-title {
    font-size: 24px;
    margin-bottom: 25px;
    text-align: center;
}

.massag-domicile-container {
    border: 2px solid #CBAA6B;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 20px;
}

.massag-domicile-grid {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.massag-domicile-item {
    flex: 1;
    padding: 15px;
}

.massag-domicile-icon {
    font-size: 2rem;
    color: #CBAA6B;
    margin-bottom: 10px;
}

.massag-domicile-text {
    font-size: 14px;
    margin: 0;
    text-align: center;
}

.massag-preparation-section {
    background: #ded7c8;
    padding: 20px;
    border-radius: 8px;
}

.massag-preparation-title {
    text-align: center;
    margin-bottom: 15px;
    font-size: 18px;
}

.massag-preparation-grid {
    display: flex;
    gap: 15px;
    text-align: center;
    flex-wrap: wrap;
}

.massag-preparation-item {
    flex: 1;
    min-width: 120px;
}

.massag-preparation-icon {
    color: #CBAA6B;
    font-size: 20px;
    display: block;
    margin-bottom: 8px;
}

.massag-preparation-text {
    font-size: 13px;
}

/*------------- 23.6 Massage FAQ -----------------*/
.massag-faq-container {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
	margin-bottom: 10px;
}

.massag-faq-item {
    border-bottom: 1px solid #e0e0e0;
    padding: 15px 25px;
}

.massag-faq-item:last-child {
    border-bottom: none;
}

.massag-faq-question {
    font-size: 18px;
    color: #CBAA6B;
    margin-bottom: 15px;
    font-weight: 600;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 15px;
}
}

.massag-faq-answer {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #666;
}

.massag-faq-icon {
    margin: 0 10px;
}

/* ============================================
   24. VIDÉO & MEDIA
   ============================================ */

/*------------- 24.1 Media Container -----------------*/
.media-container {
 	background: #211F2C;
	overflow: hidden;
	z-index: 1;
	bottom: -50px;
}

.video-mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.video-holder {
	position: absolute;
	width: 100%;
	height: 100% !important;
	display: block;
	overflow: hidden !important;
	top: 0;
	left: 0;
	padding: 0 !important;
}

.video-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 0;
	z-index: -1;
}

.video-container video {
	width: 100%;
}

.resp-video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.resp-video iframe,
.resp-video object,
.resp-video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*------------- 24.2 Big Prom -----------------*/
.big_prom {
	position:relative;
	display:inline-block;
	margin-top:10px;
	cursor: pointer;
}

.big_prom span {
	float:left;
	font-size:13px;
	width:70px;
	height:70px;
	line-height:70px;
	background: var(--main-color);
	position:relative;
	z-index:2;
	margin-top: 30px;
	border-radius:50%;
	color: #fff;
    transition: all .3s ease-out;
	box-shadow: 0px 0px 0px 10px rgba(255,255,255,.14);
}

.big_prom span:before {
	content: '';
	position: absolute;
	top: 100%;
	margin-top: 30px;
	height: 70px;
	left: 50%;
	width: 1px;
	border-left: 1px dashed rgba(255, 255, 255, .3);
}

.big_prom:hover span {
	background: #272535;
	box-shadow: 0px 0px 0px 5px rgba(255,255,255,.14);
	color:var(--main-color);
}

.video_section-title h4 {
	font-size:1.4em;
	text-transform: uppercase;
	font-weight: 700;
	padding-bottom:20px;
	color:var(--main-color);
}

.video_section-title h2{
	font-size:32px;
	font-weight:800;
	color:#fff;
}

/* ============================================
   25. ÉLÉMENTS DIVERS
   ============================================ */

/*------------- 25.1 Clients List -----------------*/
.clients-list {
	overflow: hidden;
	border: 1px dashed #ddd;
	margin-top: 50px;
	border-radius: 10px;
}

.clients-list img {
	width: 100%;
	aspect-ratio:6/2;
	object-fit:contain;
}

.clients-list li {
	float: left;
	width: 20%;
	height: 100px;
	line-height: 100px;
	position: relative;
	z-index: 2;
 	background: #fff;
    transition: all .2s linear;
	border-radius: 4px;
	border-left: 1px dashed #ddd;
}

.clients-list li:hover {
	background: #f9f9f9;
}

.clients-list li:first-child {
	border: none
}

/*------------- 25.2 Big Video -----------------*/
@-webkit-keyframes big-video-background {
  to { opacity: 1; }
}

@-moz-keyframes big-video-background {
  to { opacity: 1; }
}

@-o-keyframes big-video-background {
  to { opacity: 1; }
}

@keyframes big-video-background {
  to { opacity: 1; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.bg {
		background-attachment: scroll !important;
		-webkit-background-size:cover;
		background-position:center;
	}
}

/* ============================================
   26. PAGE 404
   ============================================ */

/*------------- 26.1 Error Container -----------------*/
.error_container {
	position: relative;
	z-index: 10;
}

.error-wrap {
	position: relative;
	top:50%;
	transform: translateY(-50%);
	z-index:20;
}

.error-wrap h2 {
	font-size: 12.8em;
	color: #fff;
	font-weight: 900;
}

.error-wrap p {
	color: rgba(255, 255, 255, 0.91);
	font-size: 12px;
	text-align:center;
	letter-spacing:2px;
	text-transform:uppercase;
}

.error-wrap .sec-dec_top {
	left:0;
	top:0;
}

.error-wrap .sec-dec_bottom  {
	right:0;
}

/* ============================================
   27. SIDEBAR DARK
   ============================================ */

/*------------- 27.1 Sidebar Dark Boxed Content -----------------*/
.sidebar-dark .boxed-content {
	padding: 30px 40px 40px;
	background: #32303F !important;
	border: none !important;
	box-shadow: 0px 10px 24px 0px rgba(12, 0, 46, .25);
}

.sidebar-dark .boxed-content:before {
	content: '';
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	bottom: 20px;
	border: 1px dashed rgba(255,255,255,0.2);
	z-index: 2;
	box-shadow: 0px 0px 10px 20px rgba(255,255,255,0.03);
	border-radius: 6px;
}

.sidebar-dark .boxed-content:after {
    position: absolute;
    font-size: 2.0em;
    font-weight: 100;
    color: var(--main-color);
    z-index: 10;
    right: 60px;
    top: 50px;
}

.sidebar-dark .boxed-content-title {
	border-bottom: 1px dashed rgba(255,255,255,0.2) !important;
	padding-bottom: 10px !important;
	margin-bottom: 10px !important;
	background: transparent !important;
	color: var(--main-color) !important;
	font-size: 20px !important;
	position: relative;
	z-index: 5;
}

.sidebar-dark .boxed-content-title:before {
	display: none;
}

.sidebar-dark .boxed-content-item {
	padding: 0 !important;
	background: transparent !important;
	position: relative;
	z-index: 5;
}

.sidebar-dark .boxed-content-title i {
    float: right;
    font-size: 1.2em;
    color: var(--main-color);
    margin-left: 10px;
}

.sidebar-dark .boxed-content2 {
    padding: 5px 20px 20px;
    background: #32303F !important;
    border: none !important;
    box-shadow: 0px 10px 24px 0px rgba(12, 0, 46, .25);
    position: relative;
	border-radius: 6px !important;
}

.sidebar-dark .boxed-content2:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px dashed rgba(255,255,255,0.2);
    z-index: 2;
    box-shadow: 0px 0px 10px 20px rgba(255,255,255,0.03);
    border-radius: 6px !important;
}

.sidebar-dark .boxed-content2:after {
    position: absolute;
    font-size: 2.0em;
    font-weight: 100;
    color: var(--main-color);
    z-index: 10;
    right: 60px;
    top: 50px;
}

/*------------- 27.2 Service List -----------------*/
.service-category-container {
	width: 100%;
}

.service-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.service-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 20px;
	color: #fff;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
	transition: all 0.3s ease-in-out;
	font-size: 16px;
	font-weight: 500;
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
}

.service-item.active {
	background: var(--main-color);
	border-color: var(--main-color);
	color: #32303F;
}

.service-item:hover {
	background: var(--main-color);
	color: #32303F;
	border-color: var(--main-color);
	box-shadow: 0 5px 15px rgba(162, 187, 163, 0.2);
}

.service-item:hover .service-arrow {
	opacity: 1;
	transform: translateX(0);
}

.service-text {
	flex: 1;
	text-align: left;
}

.signature-badge {
	background: #32303F;
	color: var(--main-color);
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	margin-left: 10px;
	margin-right: 10px;
}

.service-arrow {
	opacity: 1;
	transition: all 0.3s ease-in-out;
	color: var(--main-color);
	font-size: 14px;
}

.service-item:hover .service-arrow {
	opacity: 1;
	transform: translateX(0) rotate(45deg);
	color: #32303F;
}

.service-item.active .service-arrow {
	opacity: 1;
	transform: translateX(0) rotate(45deg);
	color: #32303F;
}

/* ============================================
   28. RESPONSIVE
   ============================================ */

/*------------- 28.1 Max-width 1600px -----------------*/
@media only screen and  (max-width: 1600px) {
	.main-header {
	   transition: all .3s ease-in-out;
	   left: auto;
	   right: -350px;
	   top: 80px;
	}
	.vismobmenu {
		right: 0;	
	}
	.mob-nav-overlay {
		position: fixed;
		z-index: 5;
		background: rgba(39, 37, 53, .7);
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
		display: none;
	}
	.nav-wrap {
		margin-top:70px;
	}
	.top-header {
		box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .2);
	 }
	.wrapper , .main-footer , .top-header , .reserv_modal-container , .body-ovelay, .reserv_modal_overlay , .cd-loader-wrap  {
		left: 0;
	}	 
	.top-header-search-wrap {
		width: 350px;
		left: 220px;
	}
	.logo-holder {
		height: 60px;
		top: 25px;
		left: 15px;
		z-index: 32
	}	
	.menu-label {
		position: absolute;
		bottom: 35px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 12px;
		font-weight: 700;
		color: var(--main-color);
		letter-spacing: 1px;
		white-space: nowrap;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}
	.nav-button-wrap:hover .menu-label {
		opacity: 0;
	}	
	.nav-button-wrap {
		float:right;
		height:54px;
		width:54px;
		cursor:pointer;
		position:relative;
		display: block;
		margin :8px 8px 0 0;
		z-index: 20;
	}
	.nav-button  {
		position:absolute;
		top:57%;
		left:50%;
		width:22px;
		height:20px;
		margin-left:-11px;
		margin-top:-6px;
	}
	.nav-button span{
		float:left;
		width:100%;
		height:2px;
		background: #fff;
		margin-bottom:4px;
		transition: all .3s ease-in-out;
	}
	.nav-button span:first-child {
		width: 50%;
	}
	.nav-button-wrap.nbw_tb span {
		width: 0;
	}
	.nav-button-wrap:before {
		font-family: "Font Awesome 6 Pro";
		content: "\f00d";
		position: absolute;
		left: 0;
		right: 0;
		top: -15px;
		height: 80px;
		line-height: 80px;
		opacity: 0;
		color:  var(--main-color);
		font-size: 19px;
		transition: all .3s ease-in-out;
	}
	.nav-button-wrap.nbw_tb:before {
		transition-delay: .3s;
		opacity: 1;
	}
	.logo-holder:after {
		display: none;
	}		 
}

/*------------- 28.2 Max-height 1000px -----------------*/
@media only screen and  (max-height: 1000px) {
	.nav-wrap {
		margin-top: 150px;
	}
	.mhc_dec {
		display: none;
	}	
}

/*------------- 28.3 Max-height 800px -----------------*/
@media only screen and  (max-height: 800px) {
	.nav-wrap {
		margin-top: 110px;
	}
	.logo-holder {
		top: 15px;
	}
}

/*------------- 28.4 Max-width 1200px -----------------*/
@media only screen and  (max-width: 1200px) {
	.top-header-reser_btn {
		padding: 0 30px;
		margin: 0 10px 0 20px;
	}
	.top-header-search-wrap {
		width: 250px;
	}
	.search-results-popup {
		max-height: 70vh;
	}
	.search-results-content {
		max-height: 50vh;
	}
}

/*------------- 28.5 Max-width 1068px -----------------*/
@media only screen and  (max-width: 1068px) {
	.header-search_btn {
		float: right;
		display: block;
		height: 80px;
		width: 30px;
		line-height: 80px;
		color: #fff;
		cursor: pointer;
		font-size: 1.4em;
	}
	.top-header-search-wrap {
		width:auto;
		top: 100%;
		left: -20px;
		right: -20px;
		opacity: 0;
		visibility: hidden;
		margin-top: 20px;
		transition: all .3s ease-in-out;
	}
	.top-header-search-wrap.vis-searvvh_wrap{
		opacity: 1;
		visibility: visible;
		margin-top: 0
	}	
	.top-header-search .search {
		box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, .2);
		border-radius:0;
		height:60px;
	}
	.top-header-search_btn {
		top: 22px;
		right: 44px;
	}
	.content-nav-fixed {
		margin-bottom: 10px;
	}
	.main-footer {
		position: relative;
	}
	.height-emulator , .to-top span , .hero_images-collage-item , .column-wrap-bg .dec-corner , .image-collge-wrap:before, .hero-image-collge-wrap:before , .tcs-pagination , .hero-sec-topdec:after , .mhc_dec   {
	   display: none;
	}
	.dishes-nav a , .dishes-nav_dwonload_btn {
		padding: 0 20px;
	}
	.blog-media img {
		height: 300px;
	}	
	.footer-widget-title {
		margin: 15px 0 22px;
	}
	.footer-widget-wrap {
		padding: 70px 0  40px;
	}
	.footer-bottom {
		position: relative;
		height: auto;
		line-height: 30px;
		padding: 30px 0;
		right: 0;
		left: 0;
	}
	.footer-social , .copyright {
		top: 0
	}
	.footer-social , .main-iamge  {
		margin-top: 20px;
	}	
	 .copyright {
		text-align: left;
	}
	.to-top {
		position: absolute;
		bottom: 0;
		right: 30px;
		font-size: 1.2em;
	}
	.hero-image-collge-wrap {
		margin-top: 20px;
		padding-left: 0;
	}
	.content-inner {
		margin-top: 10px;
	}
	.small-menu-wrap {
		margin-top: 40px;
		padding: 0;
		border:none;
	}
	.smi_link , .column-wrap-bg , .footer-social , .copyright  {
		float: left;
	}
	.column-wrap-bg {
		position: relative;
		height: auto;
		padding: 90px 0;
	}
	.column-section-wrap {
		padding: 60px 30px 70px;
	}
	.column-section-wrap:before {
		top: 10px;
	}	
	.quote-box {
		position: relative;
		top:0;
		transform: translateY(0);
		padding: 0 30px;
	}
	.nav_dec_solid.nav_dec {
		margin: 0 0 20px;
	}
	.hero-title-container .section-title h2 {
		font-size: 3.7em;
		line-height: 65px; 
	}
	.testimonilas-text {
		padding: 85px 20px 75px;
	}
	.testimonilas-carousel-wrap {
		padding: 0;
	}
	.main-header-contacts {
		position: relative;
		bottom: 0;
		float: left;
		padding: 0 20px;
	}
	.main-header_container {
		overflow: auto;
	}
	.parallax-section.hero-section .section-title h2 {
		font-size: 3.5em;
	}
	.parallax-section.hero-section {
		padding: 90px 0 100px;
		z-index: 21;
	}
	.hero-section-scroll {
		bottom: -40px;
	}	
	.about-img-hotifer {
		position: relative;
		right: 0;
		bottom: 0;
		margin-top: 20px;
	}
	.inline-facts , .main-header-contacts , .fw-aminit-item , .about-img-hotifer , .column-section-wrap , .column-wrap-bg ,  .copyright {
		width: 100%;
	}
	.tcc-buttons-wrap {
		bottom: -40px;
		right: 50%;
		transform: translateX(50%);
	}
	.team-carousel-wrap {
		margin-bottom: 30px;
	}
	.fw-aminit-item {
		border-left: none;
		border-top: 1px dashed rgba(255, 255, 255, .2);
		padding: 150px 0;
	}
	.fw-aminit-wrap {
		padding: 50px 10px 90px;
	}
	.fw-aminit-item-container h3 {
		font-size: 2.1em;
	}
	.location-container {
		position: relative;
		left: 0;
		top: 0;
		bottom: auto;
		padding: 60px 0;
		width: 100%;
	}
	.location-content {
		top: 0;
		transform: translateY(0);
	}
	.map-wrapper {
		padding: 80px 10px 10px;
	}
	.map-links_tabs-container {
		right: 10px;
		top: 10px;
		width:auto;
		left: 10px;
	}
	.map-links_tabs {
	   background: #272535
	}
	.pagination-wrap {
		margin : 10px 0;
	}
	.boxed-content-title {
		margin-bottom: 0;
	}
	.product-header_form {
		position: relative;
		right: 0;
		bottom: 0;
		float: left;
		width: 100%;
		padding : 20px 0;
		border-bottom: 1px dashed #ddd;
	}
	.gallery-item, .grid-sizer {
		width: 50%;
	}
	.hero-menu-item {
		border-right: 1px dashed #ddd;
		width: 100%;
		z-index: 50;
		border-left: 1px dashed #ddd;
	}
	.hero-menu-wrap .hero-menu-item:nth-child(2) {
		border-top:none;
	}
	.menu-section {
		margin-top: 10px;
	}
	.nice-select {
		margin-bottom: 20px;
	}	
}

/*------------- 28.6 Max-width 768px -----------------*/
@media only screen and  (max-width: 768px) {
	.recent-post-img {
		width: 130px;
		padding: 10px;
	}
	.recent-post-content {
		padding: 15px 0 0 15px;
	}
	.recent-post-content h4 {
		font-size: 1.1em;
	}
	.steps-indicator {
		gap: 10px;
	}
	.step-label {
		font-size: 10px;
	}
	.step-number {
		width: 35px;
		height: 35px;
	}
	.form-navigation {
		flex-direction: column;
	}
	.form-navigation .reservation_btn {
		width: 100%;
	}
	.recap-block {
		padding: 15px;
	}
	.price-badges {
		top: 10px;
		left: 10px;
		gap: 6px;
	}
	.price-badge {
		padding: 6px 10px;
	}
	.price-badge .duration {
		font-size: 10px;
	}
	.price-badge .price {
		font-size: 14px;
	}
	.search-results-popup {
		left: -10px;
		right: -10px;
		margin-top: 5px;
		max-height: 60vh;
		border-radius: 8px;
	}
	.search-results-header {
		padding: 15px 20px 10px;
	}
	.search-results-header h4 {
		font-size: 1.2em;
	}
	.search-category-title {
		padding: 8px 20px 12px;
		font-size: 1.1em;
	}
	.search-result-item a {
		padding: 12px 20px;
	}
	.result-icon {
		width: 35px;
		height: 35px;
		margin-right: 12px;
	}
	.result-icon i {
		font-size: 1.1em;
	}
	.result-title {
		font-size: 1em;
	}
	.result-description {
		font-size: 0.85em;
	}
	.result-price {
		font-size: 1.1em;
		margin-left: 10px;
	}
	.search-results-footer {
		padding: 12px 20px;
	}
	.search-tip {
		font-size: 0.85em;
	}
	.header-phone {
		font-size: 1.3em;
		margin: 20px 30px;
		gap: 8px;
	}
	.header-phone a {
		font-size: 1.3em;
	}
	.header-phone i {
		font-size: 1.3em;
	}
	.sidebar-dark .boxed-content {
		padding: 50px 30px 30px;
	}
	.sidebar-dark .boxed-content:after {
		right: 30px;
		top: 50px;
	}
	.col-lg-4 {
		max-width: 100%;
	}
	.skill-card {
		padding: 25px;
		margin-bottom: 20px;
	}
	.skill-icon i {
		font-size: 1.8em;
	}
	.faq-category-nav {
        gap: 8px;
    }
    
    .faq-category-btn {
        padding: 10px 15px;
        font-size: 14px;
    }
    
    .faq-section-title h2 {
        font-size: 20px;
    }
    
    .faq-question {
        padding: 15px 18px;
        font-size: 15px;
    }
    
    .faq-item.active .faq-answer {
        padding: 15px 18px;
    }
    
    .faq-contact-cta {
        padding: 30px 20px;
    }
    
    .faq-contact-buttons {
        flex-direction: column;
    }
    
    .faq-contact-buttons a {
        width: 100%;
    }
}

/*------------- 28.7 Max-width 734px -----------------*/
@media only screen and  (max-width: 734px) {
	.top-header-reser_btn {
		padding: 0 10px;
		margin: 0 0 0 10px;
		height: 40px;
		line-height: 40px;
		top: 14px;
	}
	.top-header-reser_btn span i , .section-title h4::after , .hc_counter , .show-lang span i , .admin-btn strong , .gift-btn strong , .cart-btn strong, .share-btn strong , .breadcrumbs-list  , .hs_btn_wrap_preview , .hs_btn:before  , .sec_dec_bg , .load-more_btn  , .pv-item_wrap i  , .gallery-filters a:before  , .dishes-nav-container , .hero-menu_header li:before , .hero-menu_header li:after {
	   display: none;
	}
	.top-header-reser_btn {
		margin-right: 10px;
	}
	.top-header-reser_btn   i   {
		margin-left: 0;
	} 
	.hero-menu-wrap .add_cart {
		bottom: 5px;
	}
	.main-header_container {
	  top: -5px;
	}
	.show-lang span , .lang-wrap  {
		margin-left: 0;
	}
	.show-lang {
		width: 50px;
		padding: 12px 10px 10px 0;
	}
	.show-lang i.arrlan {
		left: 35px;
	}
	.share-wrapper {
		right: 0;
		width: 100%;
		border-radius: 0;
	}
	.visshare {
		margin-top: 0
	}
	.header-cart_wrap {
		padding: 25px 20px 15px;
		width: 400px;
	}
	.reserv_modal-inner {
		width: 100%;
	}
	.close-reservation-modal {
		right:15px;
		top: 15px;
	}
	.hs_btn {
		top: 68%;
		width: 50px;
		height: 50px;
		margin-top: -85px;
		cursor: pointer;
	}
	.hs_btn2 {
		position: absolute;
		top: 59%;
		z-index: 120;
		width: 50px;
		height: 50px;
		margin-top: -25px;
		cursor: pointer;
	}
	.hs_btn i {
		width: 50px;
		height: 50px;
	}	
	.carousel-btn_control-prev {
	  left: calc(33.3% - 85px);
	}
	.carousel-btn_control-next {
	  right: calc(33.3% - 85px);
	}
	.hero-title-container {
		padding: 0 15px;
	}
	.section-title h2   {
		font-size: 2.2em;
	}
	.parallax-section.hero-section .section-title h2 {
		font-size: 3.0em;
	}	
	.tc-button {
		top: 100%;
		width: 40px;
		height: 40px;
		line-height: 40px;
		margin-top:  -12px
	} 
	.clients-list li {
		border:none;
		width: 100%;
		border-top: 1px dashed #ddd;
	}
	.clients-list li:first-child{
		border-top: none;
	}	
	.clients-list img {
		width: 100%;
		aspect-ratio: 12 / 2;
		object-fit: contain;
	}
	.nav-wrap , .video_link {
		margin-top:20px;
	}
	.video_link {
		position: relative;
		padding: 20px 10px;
		left: 0;
		bottom: 0;
		border-radius: 4px;
		background: #272535;
	}
	.video_link i {
		width: 30px;
		height: 30px;
		line-height: 30px;
		margin-right: 10px;
		box-shadow: 0px 0px 0px 3px rgba(255, 255, 255, 0.2)
	}
	.main-iamge img {
		border-radius: 10px;
	}
	.align-text-block .btn {
		float: left;
		margin : 40px 0 0 0;
	}
	.post-item {
		width: 100%;
		padding: 10px 0;
	}
	.post-card-details {
		padding: 20px 0;
	}
	.pv-item_wrap_single {
		padding: 0 5px;
	}
	.content-nav-fixed li a.ln  {
		padding-left:0;
	}
	.content-nav-fixed li a.rn  {
		padding-right:0;
	}
	.shop-tabs-menu li {
		float: left;
		width: 50%;
	}
	.item-related h3 {
		font-size: 1.4em;
	}
	.gallery-item, .grid-sizer , .gallery-filters a {
		width: 100%;
	}	
	.gallery-filters a {
		display:  block;
		margin: 0   0 10px;
		text-align: left;
		font-size: 1.2em;
	}
	.gallery-filters {
		padding: 20px 20px 10px;
	}
	.gallery-filters.gth {
		margin-bottom: 10px;
	}
	.video_section-title h2 {
		font-size: 2.0em ;
	}
	.hero-menu_header li {
		text-align: center;
		display:  block;
		margin: 20px 0 ;
		font-size: 1.4em;
		padding: 0  ;
	}
	.card-title {
		font-size: 2em;
	}
	.card-subtitle {
		font-size: 1.3em;
	}
	.align-text-block h2 {
		font-size: 1.2em;
	}
	.header-phone a span {
        display: none;
    }

    /* Icône plus grande pour toucher facilement */
    .header-phone i {
        font-size: 1em;
    }

    /* Ajuste la taille et l'espacement du conteneur */
    .header-phone {
        margin: 25px 0 0 0;
        gap: 0;
    }
}		

/*------------- 28.8 Max-width 564px -----------------*/
@media only screen and  (max-width: 564px) {
	.loader_count {
		font-size: 2.2em;
	}	
	.top-header-reser_btn span , .lang-wrap , .reserv-link , .hero-title-container .nav_dec , .hc_counter , .content-nav_mediatooltip   , .shop-tabs-menu .page-counter , .hero-menu-item-img:before   {
	   display: none;
	} 
	.hero-wrap .hero-sec-topdec::before {
	  display: none;
	}
	.hero-carousel .hero-title-container .section-title h4 {
		font-size: 17px;
		margin-left: 0px;
	}
	.hero-carousel .hero-title-container .section-title h2 {
		font-size: 3em;
		line-height: 40px;
	}
	.parallax-section.hero-section .section-title h4::before {
		content: none;
	}
	.section-title h4 {
		font-size: 13px;
		margin-left: 0px;
	}
	.section-title.text-align_left h2 {
		font-size: 2em;
	}
	.section-title.text-align_left h4::after {
		content: none;
	}
	.parallax-section.hero-section .section-title h2 {
        font-size: 2.4em;
    }
	.product-title h4::before {
		left: -18px;
		top: 0px;
	}
	.product-title h4 {
		padding-left: 0px;
		padding-top: 10px;
	}
	.section-title.text-align_left h2 {
		padding-left: 0px;
	}
	.offre {
		justify-content: flex-start;
		gap: 5px;
	}
	.service-category-container .service-list .service-item {
		font-size: 14px;
	}
	.service-category-container .service-list .signature-badge {
		font-size: 9px;
	}
	.massag-technique-container {
		display: block;
	}
	.massag-technique-main-image {
		height: 150px;
	}
	.massag-technique-small-image {
		height: 79px;
	}
	.massag-technique-content {
		margin-bottom: 15px;
	}
	.small-menu-item h6 {
		font-size: 1.3em;
	}
	.small-menu-item-details p {
		font-size: 14px;
	}
	.tb-sin {
		margin-top: 30px;
		padding-right: 0px;
	}
	.blog-media img {
        height: 200px;
    }
	.cart-btn, 
    .admin-btn, 
    .gift-btn {
        width: 40px !important;
        height: 40px !important;
        line-height: 40px !important;
        margin: -25px 4px 0 0 !important;
        padding-top: 0 !important;
        
        /* Optimisations tactiles iOS */
        -webkit-tap-highlight-color: rgba(193, 157, 96, 0.3);
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
        touch-action: manipulation;
        
        /* Zone de touch élargie */
        position: relative;
        z-index: 100;
    }
	
	.share-btn {
		width: 45px;
    }
    /* Pseudo-élément pour zone tactile élargie invisible */
    .admin-btn::before {
        content: '';
        position: absolute;
        top: -8px;
        left: -8px;
        right: -8px;
        bottom: -8px;
        /* Zone tactile invisible de 60x60px */
    }
    
    /* Icône centrée */
    .admin-btn i {
        font-size: 1.3em;
        display: block;
        line-height: 44px;
    }
    
    /* Feedback visuel au touch */
    .admin-btn:active {
        opacity: 0.7;
        transform: scale(0.95);
    }
	.carousel-btn_control-next {
		right: calc(33.3% - 110px);
	}
	.carousel-btn_control-prev {
		left: calc(33.3% - 110px);
	}
	.reser_btn_mob-dec {
		display: block;
		position: relative;
		top: 4px;
		margin-right: -10px;
		font-size: 1.3em;
		color: #fff;
	}

	/* Lien cliquable : pas de background, couleur blanche */
	.reser_btn_mob-dec a {
		color: #fff;
		text-decoration: none;
		background: transparent;
	}

	/* Hover sur le lien */
	.reser_btn_mob-dec a:hover {
		background: transparent !important;
		color: #fff;
	}

	/* Hover sur l'icône */
	.reser_btn_mob-dec i:hover {
		background: transparent !important;
		color: #fff !important;
	}

	/* Container général */
	.top-header-reser_btn {
		background: transparent !important;
		margin-left: 0;
		padding: 0;
	}

	.menu-label {
		display: none;
	}
	.nav-button-wrap{
		border: none;
	}
	.content-nav-fixed li a span {
		font-size: 0.7em;
	}
	.blog-media {
		height: 200px;
	}	
	.logo-holder {
		left: 17px;
		top: 13px;
	}
	.nav-button-wrap {
		margin-right: 15px
	}	
	.header-cart_wrap {
		width: 100%;
		right: 0
	}
	.share-container a {
		margin: 0 4px;
		font-size: .9em;
	}
	.reserv_modal-inner {
		top: 10px;
	}	
	.reserv-modal-title h4 {
		font-size: 15px;
	}
	.reserv-modal-title h3 {
		font-size: 1.7em;
	}
	.boxed-container {
		padding: 10px;
	}
	.boxed-content-item  {
		padding: 20px;
	}
	.hero-title-container .section-title h2 {
		font-size: 2.3em;
		line-height: 35px;
		padding: 0;
	}
	.hero-title-container .btn {
		height: 40px;
		line-height: 40px;
		padding: 0 34px;
		margin-top: 20px;
		font-size: 1.1em;
	}	
	.hero-sec-topdec {
		top: 0;
	}
	.nav-wrap a {
		font-size: 1.8em;
		height: 32px;
		line-height:32px;
	}
	.small-menu-item {
		padding-left: 20px;
	}
	.small-menu-item h6 span {
		top: 0;
		left: -30px;
	}
	.dwonload_btn, .btn {
		height: 42px;
		line-height: 42px;
		padding: 0 24px;
		font-size: 1.1em
	}
	.tc_single_title {
		width: 100%;
		text-align: left;
		margin-right: 10px 0 ;
	}
	.tags-widget {
		width: 100%;
		padding-top: 10px;
	}
	.tagcloud_single {
		padding:  0 10px 0 ;
	}
	.ss-slider-cont {
		bottom: 10px;
	}
	.ss-slider-cont-prev {
		right: 80px;
	}
	.fwc-controls_wrap {
		bottom: 10px;
		left: 10px;
	}
	.comments-item {
		padding-left:0;
	}
	.comments-avatar {
		top: 10px;
		left: 10px;
		width: 40px;
		height: 40px;
		z-index: 20;
	}
	.comments-header {
		padding: 20px 30px 20px 70px;
	}
	.comments-wrap {
		margin-top: 0;
	}
	.error-wrap h2 {
		font-size: 7.8em;
	}
	.product-header_form button ,  .shop-tabs-menu li {
		margin : 10px 0 0 0;
	}
	 .shop-tabs-menu li , .shop-tabs-menu a , .gallery-filters a {
		width: 100%;
	}
	.hero-menu-wrap .hero-menu-item:nth-child(odd) , .hero-menu-wrap .hero-menu-item:nth-child(even)   {
		padding: 10px 10px 10px 60px;
	}
	.hero-menu-wrap .tab-content .hero-menu-item:nth-child(odd) ,  .hero-menu-wrap .tab-content .hero-menu-item:nth-child(even)   {
		padding: 20px 10px 20px 60px;
	}
	.hero-menu-wrap .tab-content  .add_cart {
		position: absolute;
		bottom: 5px;
		right: 0;
	}	
	.hero-menu-item-img {
		width: 40px;
		height: 40px;
		left: 10px;
		top: 20px;
		margin-top:0;
	}
	.hero-menu-item-price {
		left: 20px;
		right: auto;
		top: 70px;
		font-size: 1.2em;
	}  
	.hero-menu-item-img img , .hero-menu-item-img:after {
		width: 40px;
		height: 40px;
	}
	 .hero-menu-item-img:after {
		line-height: 40px;
		font-size: 9px;
	}	
	.hero-menu-item-title h6 {
		font-size: 1.1em;
	}
	.hero-menu-wrap {
		padding: 10px;
	}
	.hero-menu-item-details {
		padding-right: 10px;
	}
	.hero-menu-item-details p {
		font-size: 11px;
	}
	.pv-item_wrap {
		bottom: 30px;
	}
	.card-title {
		font-size: 1.8em;
	}
	.card-subtitle {
		font-size: 1.1em;
	}
	.card-text {
		font-size: 1em;
	}
	.align-text-block h2 {
		font-size: 1em;
	}
	.search-results-popup {
		left: -15px;
		right: -15px;
	}
	.result-content {
		margin-right: 5px;
	}
	.result-price {
		font-size: 1em;
		margin-left: 8px;
	}
	.search-tip {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
		text-align: left;
	}
	.massag-deroulement-grid {
		display: block;
	}
	.massag-deroulement-item {
		margin-bottom: 10px;
	}
	.massag-domicile-grid {
		display: block;
	}
	.massag-preparation-section {
		padding: 10px 3px;
	}
	.big-number a {
		font-size: 2em;
	}
	.tagcloud_single {
		display: none;
	}
	.massag-contraindications-container {
		display: block;
	}
	.massag-contraindication-box.warning {
		margin-bottom: 20px;
	}
	.massag-preparation-text {
		text-align: center;
	}
	.reservation-stepper,
	.gift-card-stepper {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.reservation-stepper .step-item,
	.gift-card-stepper .step-item {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		text-align: left;
		padding: 8px;
		min-width: unset;
	}

	.reservation-stepper .step-item::after,
	.gift-card-stepper .step-item::after {
		content: none;
	}

	.reservation-stepper .step-number,
	.gift-card-stepper .step-number {
		width: 28px;
		height: 28px;
		font-size: 13px;
	}

	.reservation-stepper .step-label,
	.gift-card-stepper .step-label {
		font-size: 15px;
	}

	.form-with-preview,
	.step-content.active {
		display: block !important;
	}
	.form-section {
		margin-bottom: 20px;
	}
}

/* ============================================
   29. MODAL ADMIN
   ============================================ */

/*------------- 29.1 Admin Modal Container -----------------*/
.admin-modal-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
}

.admin-modal-wrap.visible {
    display: block;
}

.admin-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(39, 37, 53, 0.9);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.admin-modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 500px;
    z-index: 2;
}

.admin-modal-inner {
    background: #fff;
    border-radius: 15px;
    padding: 40px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: adminModalFadeIn 0.4s ease;
}

@keyframes adminModalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/*------------- 29.2 Admin Modal Header -----------------*/
.admin-modal-header {
    text-align: center;
    margin-bottom: 30px;
}

.admin-modal-header i {
    font-size: 3.5em;
    color: var(--main-color);
    margin-bottom: 15px;
    display: block;
}

.admin-modal-header h3 {
    font-size: 2em;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}

.admin-modal-header p {
    color: #666;
    font-size: 1.1em;
    margin: 0;
    text-align: center;
}

/*------------- 29.3 Admin Form -----------------*/
.admin-form input {
    margin-bottom: 15px;
    height: 55px;
    padding: 0 20px;
    background: #f9f9f9;
    border: 2px solid #e0e0e0;
    transition: all 0.3s ease;
}

.admin-form input:focus {
    border-color: var(--main-color);
    background: #fff;
}

.admin-submit-btn {
    width: 100%;
    background: var(--main-color);
    color: #000;
    height: 55px;
    line-height: 55px;
    margin-top: 10px;
    font-size: 1.2em;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.admin-submit-btn:hover {
    background: #32303F;
    color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.admin-submit-btn i {
    margin-right: 10px;
}

/*------------- 29.4 Admin Message -----------------*/
.admin-message {
    padding: 12px 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    font-size: 1em;
    text-align: center;
    display: none;
    animation: slideDown 0.3s ease;
}

.admin-message.show {
    display: block;
}

.admin-message.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.admin-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*------------- 29.5 Admin Dashboard -----------------*/
.admin-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.admin-action-btn,
.admin-logout-btn {
    width: 100%;
    height: 55px;
    line-height: 55px;
    font-size: 1.1em;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.admin-action-btn {
    background: var(--main-color);
    color: #000;
}

.admin-action-btn:hover {
    background: #32303F;
    color: var(--main-color);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.admin-logout-btn {
    background: #f5f5f5;
    color: #666;
    border: 2px solid #e0e0e0;
}

.admin-logout-btn:hover {
    background: #ff4444;
    color: #fff;
    border-color: #ff4444;
}

/*------------- 29.6 Close Button -----------------*/
.close-admin-modal {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background: #f5f5f5;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1.2em;
    color: #666;
    z-index: 10;
}

.close-admin-modal:hover {
    background: var(--main-color);
    color: #fff;
    transform: rotate(90deg);
}

/*------------- 29.7 Gift Button Visibility -----------------*/
.gift-btn {
    display: none !important;
}

body.admin-logged-in .gift-btn {
    display: block !important;
}

/* ================================
   MODAL ADMIN
   ================================ */

.admin-modal-wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.admin-modal-wrap.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.admin-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(39, 37, 53, 0.9);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.admin-modal-container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;
}

.admin-modal-inner {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    max-width: 500px;
    width: 100%;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

/*------------- 29.8 Responsive -----------------*/
@media only screen and (max-width: 564px) {
    .admin-modal-inner {
        padding: 30px 20px;
    }
    
    .admin-modal-header h3 {
        font-size: 1.6em;
    }
    
    .admin-form input,
    .admin-submit-btn,
    .admin-action-btn,
    .admin-logout-btn {
        height: 50px;
        line-height: 50px;
        font-size: 1em;
    }
}

/* ===================================
   30. FAQ STYLES - ONGLETS ET ACCORDÉON
   =================================== */

/* Alignement du texte à gauche pour les FAQs */
.faq-answer,
.faq-answer p,
.faq-answer ul,
.faq-answer ol,
.faq-answer li {
    text-align: left !important;
}

/* Items FAQ (Accordéon) */
.faq-item {
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.faq-question {
    width: 100%;
    padding: 20px 25px;
    background-color: #fff;
    border: none;
    text-align: left;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
    position: relative;
}

.faq-question::after {
    content: '+';
    font-size: 24px;
    color: #CBAA6B;
    font-weight: 400;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-question {
    background-color: #f9f9f9;
    color: #CBAA6B;
}

.faq-item.active .faq-question::after {
    content: '−';
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background-color: #fff;
}

.faq-item.active .faq-answer {
    max-height: 2000px;
    padding: 20px 25px;
    border-top: 1px solid #e0e0e0;
}

.faq-answer p {
	font-size: 16px;
    margin: 0 0 15px 0;
    line-height: 1.7;
    color: #555;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer ul,
.faq-answer ol {
    margin: 15px 0;
    padding-left: 25px;
}

.faq-answer li {
	font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.7;
    color: #555;
}

.faq-answer strong {
    color: #333;
    font-weight: 600;
}

/* Encadrés spéciaux */
.faq-highlight {
    background-color: #fff8e6;
    border-left: 4px solid #d4af37;
    padding: 15px;
    margin: 20px 0;
    border-radius: 4px;
}

.faq-important {
    background-color: #fff0f0;
    border-left: 4px solid #e74c3c;
    padding: 15px;
    margin: 20px 0;
    border-radius: 4px;
    display: flex;
    gap: 12px;
}

.faq-important i {
    color: #e74c3c;
    font-size: 20px;
    flex-shrink: 0;
}

.faq-important div {
    flex: 1;
    color: #555;
    line-height: 1.6;
}

.hero-menu-wrap.no-border-faq::before {
    content: none;
}

.admin-message {
    padding: 10px;
    margin: 15px 0;
    border-radius: 5px;
    text-align: center;
    font-size: 14px;
}

.admin-message.error {
    background: #ffe6e6;
    color: #c0392b;
    border: 1px solid #e74c3c;
}

.admin-message.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

/* ===================================
   31. STYLES POUR LES HUILES ESSENTIELLES
   =================================== */

.oils-table {
    margin-top: 20px;
}

.oil-row {
    display: flex;
    margin-bottom: 20px;
    padding: 15px;
    background: #FAF5EE;
    border-left: 4px solid #c9a568;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.oil-row:hover {
    background: #F5EBDD;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.oil-number {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: #c9a568;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    margin-right: 15px;
}

.oil-content {
    flex: 1;
}

.oil-content h5 {
    color: #2c2c2c;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px 0;
	padding-bottom: 10px;
	border-bottom: 1px dashed #ddd;
}

.oil-content h5 em {
    font-weight: 400;
    font-style: italic;
    color: #666;
    font-size: 14px;
}

.oil-content p {
    margin: 5px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

.oil-content p strong {
    color: #2c2c2c;
    font-weight: 600;
}

.oil-content p:last-child {
    background: #fff;
    padding: 8px 10px;
    border-radius: 4px;
    border-left: 3px solid #d9534f;
    margin-top: 8px;
}

.oil-content p:last-child strong {
    color: #d9534f;
}

.tabs-content h4 {
    color: #2c2c2c;
    font-size: 22px;
    margin-bottom: 15px;
    border-bottom: 2px solid #c9a568;
    padding-bottom: 10px;
}

.tabs-content > p {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 20px;
}

/* ============================================
   FIN DU FICHIER CSS
   ============================================ */