/*** General CSS ***/
body {
    line-height: 1.9em;
}

/*** Header Area ***/
/* Header Menu */
#sp-header {
    top: 0;
    height: inherit;
}
#sp-header.header-sticky {
    position: fixed;
    top: 0;
    padding: 0;
  	background: #000;
  	box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
}
body:not(.home) #sp-header {
    background: #000;
    position: static;
}
body:not(.home) #sp-header.header-sticky {
    position: fixed;    
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
    color: #252525;
  	font-size: 14px !important;
    font-weight: 400 !important;
    padding: 10px 0;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    text-transform: capitalize;
    position: relative;
    color: #fff;
}
.sp-megamenu-parent>li.active>a {
    font-weight: 600;
}

/* Canvas Menu */
.offcanvas-menu .offcanvas-inner .menu-child > li a {
    padding: 12px 10px !important;
    border-bottom: 1px solid rgba(197, 153, 153, 0.21);
    display: inherit;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 15px;
    font-weight: 500;
}
.burger-icon>span {
    background-color: #fff;
}
.offcanvas-menu > .align-items-center {
    background: #000;
}
.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #fff;
}

/*** Block Styles ***/
/* Button */
.btn,
.btn.btn-default,
.slider-btn a,
#sp_qc_submit {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    font-weight: 400;
    font-family: inherit;
    line-height: 2em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    border: 0;
    color: #010101;
    border-radius: 0px;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 2.1em;
    padding: 15px 35px;
    letter-spacing: 2.5px;
    fill: #ffffff;
    color: #ffffff;
    background-color: #232323;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    border-radius: 60px 60px 60px 60px;
}
.btn.btn-default:hover,
.btn:hover {
    color: #ffffff;
    transform: translateY(8px);
}

/* Slider */
#slider {
  	margin-top: -90px !important;
}
.slider .sppb-col-md-3 {
    background: rgba(3, 19, 34, 0.39);
}
.slider .sppb-row > div:nth-child(2) {
    z-index: 999;
} 
@keyframes myrotate {
  0%   {transform: scale(1.02);}
  20%  {transform: scale(1.04);}
  40%  {transform: scale(1.06);}
  60%  {transform: scale(1.08);}
  80%  {transform: scale(1.06);}
  100% {transform: scale(1.03);}
}
.slider .sppb-feature-box-title {
  animation: myrotate 3s infinite;
}

/* Dirived */
.dirived {
    margin: 0 auto;
}

/* Title */
.title {
    max-width: 700px;
    margin: 0 auto;
}
.title h3 {
    font-size: 43px;
    line-height: 45px;
    margin-bottom: 20px;
}
.title h6 {
    font-size: 19px;
    font-weight: 400;
    line-height: 1.2em;
    color: #000;
    font-style: italic;
}
.title p {
    color: #000;
}

/* SEARCH FORM */
.about-search {
    box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 20%)!important;
    padding: 30px 25px 40px 25px;
}
#sr-checkavailability-form-130 .action {
    text-align: center;
    margin-top: 30px;
}
.search-hotel {
    z-index: 2!important;
}
.search-hotel .sppb-row-container {
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: -70px;
    padding: 10px 20px 20px;
}
.search-hotel .action .btn-block {
    padding: 13px 25px;
    color: #fff;
    margin-top: -14px;
}
.search-hotel .checkin_module,
.search-hotel .checkout_module {
    height: 50px;
    line-height: 40px;
    border-radius:  0;
}
.search-hotel .checkin_module i,
.search-hotel .checkout_module i {
    margin-top: 12px;
}
.search-hotel .search-item label {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.search-hotel .reset {
    padding: 16px 45px;
}
.search-hotel button.primary i {
    font-size: 20px;
}
fieldset .row-fluid {
    float: left;
    width: 100%;
    margin-right: 0%;
}
fieldset .row-fluid:nth-child(4) {
    clear: left;
}
fieldset .row-fluid .row-fluid {
    width: 100%;
}
#coupon_code_check {
    padding: 8px 30px;
    display: inline-block;
    margin-top: 10px;
}

/* About */
.about-right-column {
    padding: 150px 40px 40px 40px;

}
.about-right-column:before {
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 80%;
    background-color: transparent;
    background-image: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.85) 100%);
    display: inline-block;
    position: absolute;
}
.about-title h4 {
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 16px;
    text-transform: capitalize;
}
.about-title h6 {
    color: #000000;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2em;
}

/* Locations */
.locations-colum {
    border: 1px solid;
}
.locations-colum:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    display: inline-block;
    background-image: linear-gradient(180deg, rgba(255,255,255,0.16) 36%, #000000 100%);
}
.locations-colum .title-small {
    color: #ffffff;
    font-size: 17px;
}

/* Our */
.our {
    position: relative;
}
.our .sppb-row-overlay:before {
    content: "";
    top: 0;
    width: 100%;
    height: 110px;
    position: absolute;
    display: inline-block;
    background: #fff;
    left: 0;
    right: 0;
}
.our-colum-img {
    min-height: 300px;
}
/* Style principal pour les zones avec .our-item */
.our-item {
    padding: 70px 20px;
	
    /* border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #c19b77;*/
	
    background: #FFFAF2;
    box-sizing: border-box;
}

/* Exception : supprimer la bordure uniquement sur les éléments .our-item.sans-bordure */
.our-item.sans-bordure {
    border: none !important;
}
.our-item h4 {
    font-size: 36px;
    padding: 20px 0;
    position: relative;
    margin-top: 35px;
}
.our-item h4:before,
.our-item h4:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 90px;
    height: 1px;
    background: #000;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.our-item h4:after {
    top: inherit;
    bottom: 0;
}
.our-item:hover h4:before {
    transform: translateX(-15px);
}
.our-item:hover h4:after {
    transform: translateX(15px);
}

/* Discover */
.discover-column-left:after {
    position: absolute;
    display: inline-block;
    content: "";
    bottom: 0;
    width: 100%;
    height: 40%;
    margin: 0px 0px 0px 0px;
    padding: 50px 75px 25px 75px;
    background-color: transparent;
    background-image: linear-gradient(
180deg
, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
}

/* Testimonial */
.quotes {
    opacity: .4;
}
.leaves {
    position: relative;
    margin-top: -20px;
}
.testimonital-social ul {
    padding-left: 0;
}
.testimonital-social ul li {
    list-style: none;
    display: inline-block;
}
.testimonital-social ul li a {
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.testimonital-social ul li a:hover {
    background: #222 !important;
}
.testimonital-social ul li a em {
    font-size: 0;
}
.testimonital-social ul li a em:before {
    font-size: 20px;
    color: #fff;
    padding: 17px;
    line-height: 50px;
}

/* Together */
.together h1 span {
    line-height: 100px;
    font-size: 70px;
}

/* Offer */
.offer .sppb-row img {
    box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    -moz-box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    -webkit-box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
}
.offer-left {
    margin-left: -10%;
    width: 110%;
}
.offer-right {
    margin-top: 100px;
    margin-left: -70px;
    z-index: -1;
    width: 110%;
}

/* Project */
.title-content h2 {
    font-size: 60px;
    line-height: 55px;
    font-weight: 700;
    color: rgb(0, 22, 89);
    letter-spacing: -2px;
    margin-bottom: 25px;
}
.title-content p {
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    color: rgb(86, 89, 105);
}
.project-img img {
    height: 667px;
}
.project-img-pen {
    position: absolute;
    bottom: 48px;
    right: 20px;
}

/* Contact */
.contact-content a {
    font-size: 73px;
    font-weight: 900;
    text-decoration: underline;
    color: #fff;
    display: inline-block;
    line-height: 75px;
}

/* Images */
.images {
    background-image: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%);
}
.images-colum .clearfix {
    float: left;
    width: 20%;
}
.images-colum .clearfix img {
    opacity: 0.75;
    filter: brightness( 99% ) contrast( 100% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg);
}
.images-colum .clearfix:hover img {
    opacity: 1;
    cursor: pointer;
    filter: brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg);
}

/* Ser */
.ser-item {
    border: 1px solid;
}

/* Menu */
.menu-colum, .lt-menu-colum > .sppb-column-overlay {
    border-radius: 20px;
}
.menu-img {
    margin-top: -50px;
    margin-bottom: -50px;
    padding: 0px 50px;
}
.menu-colum .lt-menu-img {
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.menu-colum:hover .lt-menu-img {
    transform: translateY(8px);
}
.menu .lt-title img {
    max-width: 150px;
}
.menu-price {
    float: left;
    width: 30%;
    text-align: right;
}
.menu-content {
    width: 70%;
    float: left;
}
h4.menu-title {
    margin: 0;
    font-size: 16px;
    color: #000;
}
p.menu-text {
    color: #000;
    font-size: 15px;
}
.menu-price h2 {
    font-size: 30px;
    font-weight: 900;
    color: #c16000;
}
.menu-right {
    width: 100%;
    padding: 0px 0;
    float: left;
}

/* Blog */
.jmm-item .jmm-image.mod-article-image {
  	overflow: hidden;
}
.jmm-image.mod-article-image img {
  	transform: scale(1);
  	-webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.jmm-item:hover .jmm-image.mod-article-image img {
  	transform: scale(1.12);
  	filter: grayscale(100%);
}
.jmm-text {
    padding: 21px 20px 32px 20px;
    background: #f5f5f5;
}
.jm-category-module.default .mod-article-image {
    margin-bottom: 0px;
}

/* Bottom */
#sp-bottom {
    padding: 60px 0 30px;
}

/* Footer Copyright */
#sp-footer {
    text-align: center;
}
#sp-footer {
    display: inline-block;
    width: 100%;
}
#sp-footer .container-inner {
    border-top: none;
}

/*** Responsive Layout ***/
/* Tablet Landscape Layout */
@media (min-width: 1400px) {
    .sppb-row-container {
      	max-width: 1320px;
    }
}

/* Mobile Standard Layout */
@media (max-width: 768px) {
	#sp-header, #sp-header .logo {
        height: 70px;
    }
  	#sp-footer p {
  		text-align: center;
	}
  	body #sp-header {
      	padding: 0;
        background: #000;
	}
  	.testimonial-item .sppb-media .pull-left, .testimonial-item .sppb-media .pull-right {
    	width: 100% !important;
	}
  	.testimonial-item .sppb-media-body {
        margin: 0 0 30px 0;
        top: 0px;
        left: 0;
	}
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
  	.event-tag .sppb-tab-content ul li {
    	width: 100%;
	}
}

/* General color defination
Color value depend on preset color that picking on template settings > Presets
*/

:root {
  --background-color: currentColor;
  --background: currentColor;
  --text-color: currentColor;
}
.page-item.active .page-link, .btn,
.slider-item .sppb-btn-success, .sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover,
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay, .sp-simpleportfolio .sp-simpleportfolio-filter>ul>li.active>a, .testimonital-social ul li a, .wizard ul li.active .badge, .room-grid .tariff-value {
 	background-color: var(--background-color) !important;
}
.article-list .article .readmore a:hover, .article-list .article .readmore a:active, .article-list .article .article-header h2 a:hover,
.slider-title h3, .about-title h4, .title h3, .our-item h4, .contact-content i, .amenities-icon i, .ser-colum h3,
.roomtype_name h4, .roomtype_more_desc i, .asset-name h1, .asset-contact i, .availability-search h3, 
.tariff-button .tariff_type, .wizard ul li.active, div.availability-calendar table tr th {
  	color: var(--text-color) !important; 
}
.btn.btn-primary:hover, .locations-colum, .ser-item, .wizard-style .active .badge:before, .wizard-style .active .badge:after,
div.availability-calendar table tr th {
  	border-color: var(--text-color) !important;
}
.service-column .clearfix {
    border-top-color: var(--text-color) !important;


/* === MODULES ALTERNÉS : Colonnes Image / Texte === */

/* Colonne image (gauche ou droite) */
.lt-our-colum-img {
  min-height: 400px;
  display: flex;
  align-items: center;
}
.lt-our-colum-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Colonne texte */
.lt-our-text-col {
  padding: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #FFFAF2;
  height: 100%;
}

/* Bloc de contenu à l'intérieur de la colonne texte */
.lt-our-card {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 30px 20px;
  border: 1px solid #c19b77;
  background: #FFFAF2;
}

/* Titre */
.lt-our-title {
  font-size: 28px;
  margin-bottom: 15px;
  text-align: center;
}

/* Bouton */
.lt-our-btn {
  margin-top: auto;
  align-self: center;
  background-color: #c19b77;
  color: #fff;
  padding: 10px 25px;
  border: none;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: bold;
  transition: background 0.3s ease;
}
.lt-our-btn:hover {
  background-color: #a87f5a;
}

/* === Zone d’introduction type Les Écrins === */
.lt-intro-title {
  margin-top: 60px;
  margin-bottom: 15px;
  font-size: 32px;
  text-align: center;
  font-weight: bold;
}

.lt-intro-separator {
  width: 60px;
  height: 3px;
  background-color: #c19b77;
  margin: 0 auto 25px auto;
  border: none;
}

.lt-intro-text {
  max-width: 700px;
  margin: 0 auto 30px auto;
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  padding: 0 20px;
}

.lt-intro-block {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.lt-intro-btn {
  display: inline-block;
  background-color: #c19b77;
  color: #fff;
  padding: 12px 30px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s ease;
}

.lt-intro-btn:hover {
  background-color: #a87f5a;
}

/* Supprime l'overlay qui déborde */
.sppb-row::before,
.row-overlay::before {
  content: none !important;
  display: none !important;
}

.sppb-addon-header {
  max-width: 100%;
  overflow: hidden;
  word-break: break-word;
}

/* Bouton personnalisé : fond marron, texte clair, coins droits */
.btn.btn-marron-clair {
  background-color: #7B4F2A !important;   /* Marron de ta charte */
  color: #fffbe6 !important;              /* Texte ivoire clair */
  border-radius: 0px !important;
  font-size: 14px !important;
  padding: 12px 28px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  border: none !important;
  transition: background 0.3s ease-in-out !important;
}

/* Variante au survol : plus sombre pour effet subtil */
.btn.btn-marron-clair:hover {
  background-color: #5e3920 !important;
  color: #ffffff !important;
}

/* Colonne en pleine largeur */
.col-full {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 auto;
}

/* Permet au carrousel de s’étaler */
.col-full .sppb-carousel-inner {
  width: 100% !important;
  max-width: 100% !important;
}


/* --- Structure principale du méga menu --- */
.mega-menu-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px;
  background-color: #a17c63; /* Fond clair du méga menu */
}

/* --- Vignettes cliquables (services) --- */
.vignette-service {
  text-align: center;
  background-color: #5a3d2a; /* Fond brun foncé */
  color: #ffffff;
  border-radius: 8px;
  padding: 10px;
  width: 160px;
  text-decoration: none;
  transition: transform 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.vignette-service:hover {
  transform: scale(1.05);
  background-color: #7a5438; /* Brun légèrement plus clair au survol */
}

.vignette-service img {
  max-width: 100%;
  border-radius: 6px;
  margin-bottom: 8px;
}

.vignette-service span {
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin-top: 4px;
}

/* --- Image centrale décorative (dauphins) --- */
.vignette-logo {
  width: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background-color: transparent; /* Pas de fond */
}

.vignette-logo img {
  max-width: 100%;
  opacity: 0.85;
  filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));
  border-radius: 8px;
}

.vignette-logo span,
.vignette-logo .maximenuckdesc,
.vignette-logo .menutitle {
  display: none !important;
}


/* --- Pour centrer les légendes --- */
.vignette-service span {
  display: block;
  text-align: center;
  font-weight: bold;
  margin-top: 8px;
  color: #fff; /* Tu peux ajuster la couleur selon le fond */
}
.vignette-service {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}

.vignette-service img {
  max-width: 100%;
  height: auto;
}

.vignette-service span {
  margin-top: 8px;
  font-weight: bold;
  color: #fff;
  font-size: 14px;
}

.maximenuck {
  display: flex;
  flex-direction: row;
  justify-content: center; /* ou space-around, selon ton style */
  gap: 20px; /* espacement entre les vignettes */
}

.maximenuck ul.maximenuck {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
}

.map-info-box {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255,255,255,0.95);
  padding: 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  font-size: 14px;
  max-width: 250px;
  z-index: 10;
  line-height: 1.5;
}

.map-info-box strong {
  font-size: 16px;
  display: block;
  margin-bottom: 4px;
}

.map-expand-link {
  display: inline-block;
  margin-top: 8px;
  color: #0066cc;
  text-decoration: underline;
  font-weight: bold;
}

.map-expand-link:hover {
  color: #003366;
}

/* Optionnel : lien "Itinéraire" */
.map-directions-link {
  float: right;
  margin-top: 8px;
  color: #444;
  font-size: 16px;
}

.map-info-box {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255,255,255,0.95);
  padding: 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  font-size: 14px;
  max-width: 250px;
  z-index: 10;
  line-height: 1.5;
}

.map-info-box strong {
  font-size: 16px;
  display: block;
  margin-bottom: 4px;
}

.map-expand-link {
  display: inline-block;
  margin-top: 8px;
  color: #0066cc;
  text-decoration: underline;
  font-weight: bold;
}

.map-expand-link:hover {
  color: #003366;
}

/* Optionnel : lien "Itinéraire" */
.map-directions-link {
  float: right;
  margin-top: 8px;
  color: #444;
  font-size: 16px;
}

#sp-bottom2 {
  position: relative;
}

.map-info-box {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255,255,255,0.95);
  padding: 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  font-size: 14px;
  max-width: 260px;
  z-index: 10;
  line-height: 1.5;
}
.map-info-box strong {
  font-size: 16px;
  display: block;
  margin-bottom: 4px;
}
.map-expand-link {
  display: inline-block;
  margin-top: 8px;
  color: #0066cc;
  text-decoration: underline;
  font-weight: bold;
}
