/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.9.0.1744783151
Updated: 2025-04-16 05:59:11

*/

/* Fond du menu principal (barre du haut) */
.main-header-bar,
.ast-primary-header {
  background-color: #161237 !important;
		 position: fixed;
	top:36px;
	width:100%;
}

.ast-above-header-bar {
  background-color: #00387B !important;
		 position: fixed;
	top : 0px;
	width:100%;
}

/* Menu principal - niveau 1 */
.main-header-menu > li {
  height: 87px;
}

/* Liens du menu principal */
.main-header-menu > li > a {
  font-size: 14px;
	font-weight: 500;
  color: white;
}

/* Fond au hover */
.main-header-menu > li:hover > a {
  background-color: #141032;
}

/* Trait animé sous le lien principal */
.main-header-menu > li::after {
  content: "";
  height: 2px;
  background-color: #EDF5FF;
  border-radius: 8px;
  opacity: 0;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: opacity 0.3s ease;
}

/* Animation du trait au hover */
.main-header-menu > li:hover::after {
  opacity: 1;
}

/* Couleur du lien actif ou parent actif */
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.main-header-menu li:hover > a,
.main-header-menu .current-menu-ancestor > a {
  color: #FFFFFF !important;
}

/* Sous-menu - conteneur */
.main-header-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 999;
  background: radial-gradient(circle at top left, 
    #00387B 0%, 
    #161236 39%, 
    #151135 52%);
  border-radius: 0 0 16px 0;
  padding: 16px 0 16px 8px;
  border-left: 4px solid white !important;
  min-width: 255px;
  overflow: hidden;
}

/* Affichage fluide du sous-menu au survol */
.main-header-menu li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(-4px);
}

/* Élément du sous-menu */
.main-header-menu .sub-menu li {
  height: 40px;
}

/* Liens dans le sous-menu */
.main-header-menu .sub-menu li a {
  font-size: 14px;
	font-weight: 500;
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  padding-left: 24px;
}

/* Span pour l’animation propre */
.main-header-menu .sub-menu li a span {
  display: inline-block;
  transition: transform 0.3s ease;
}

/* Lien dans le sous-menu */
.main-header-menu .sub-menu li a {
  font-size: 14px;
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  padding-left: 24px;
  transition: transform 0.3s ease;
}

/* Hover fluide sans tremblement */
.main-header-menu .sub-menu li a:hover {
  transform: translateX(8px);
}

.footer-widget-area .widget p {
  margin-bottom: -4%;
}
footer a {
  color: #EDF5FF;
  text-decoration: none;
  transition: color 0.3s ease;
}

footer a:hover {
  color: #FFFFFF;
}

/* Style général du formulaire */
.wpcf7-form {
  max-width: 880px;
  margin: 0 auto;
  color: white; /* Couleur des labels en blanc */
}

/* Disposition en lignes */
.form-row {
  display: flex;
  justify-content: space-between;
}

.form-row input {
	height : 56px;
	background-color: #EDF5FF;
	border: none;
}

form textarea {
	background-color: #EDF5FF;
	border: none;
}

.form-row input:hover, form textarea:hover {
		background : #FFFFFF;
}

/* Chaque champ prend 48% de la largeur pour laisser un espace entre les colonnes */
.form-group {
  width: 49%;
	margin-bottom: -4%;
}


/* Réactivité pour les petits écrans */
@media (max-width: 800px) {
  .form-row {
    flex-direction: column;
  }
  .form-group {
    width: 100%;
  }
}

/* Style du bouton d'envoi */
form input[type="submit"] { 
  background-color: #EDF5FF !important;
	color: #00387B !important;
}

form input[type="submit"]:hover { 
  background-color: #00387B !important;
	color: #EDF5FF !important;
	position: relative;
	transition: transform 0.3s ease;
    transform: translateY(4px);
}

/*
 * 
 * DEBUT CSS MENU MOBILE 
 * 
 */

#ast-hf-mobile-menu {
position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow-y: auto;         /* scroll uniquement en Y */
	overflow-x: hidden;       /* pas de scroll horizontal */
	background-color: #110E2C; /* ou la couleur que tu veux */
	z-index: 2;
}


/* Couleur des liens du menu mobile */
#ast-mobile-header a.menu-link {
	color: #EDF5FF !important;
}
/* Espacement en haut du menu mobile */
#ast-hf-mobile-menu ul {
	margin-top:120px;
}
/* Alignement des cellules du menu mobile */
#ast-hf-mobile-menu .menu-item {
  display: table;
  float: left; 
  height: 40px !important;	
}
/* Alignement des textes du menu mobile */
#ast-hf-mobile-menu .menu-item a {
  display: table-cell; 
  vertical-align: middle; 
  text-align: left;
  font-size: 16px;	
  border-bottom-width:0; 
                
	
}
/* Annulation effet survol du menu mobile */
#ast-hf-mobile-menu .menu-item a:hover {
  background-color: transparent !important;
}

#ast-hf-mobile-menu li.page_item {
	display:none !important;
}

#ast-hf-mobile-menu li.page-item-7,

#ast-hf-mobile-menu li.page-item-227,
#ast-hf-mobile-menu li.page-item-228,
#ast-hf-mobile-menu li.page-item-229,
#ast-hf-mobile-menu li.page-item-230,
#ast-hf-mobile-menu li.page-item-231,
#ast-hf-mobile-menu li.page-item-232,
#ast-hf-mobile-menu li.page-item-233,
#ast-hf-mobile-menu li.page-item-234,

#ast-hf-mobile-menu li.page-item-235,
#ast-hf-mobile-menu li.page-item-237,
#ast-hf-mobile-menu li.page-item-238,
#ast-hf-mobile-menu li.page-item-239,

#ast-hf-mobile-menu li.page-item-240,
#ast-hf-mobile-menu li.page-item-241,
#ast-hf-mobile-menu li.page-item-1573
{
	display:table !important;
}


/* Indentation des sous-menus mobile */
#ast-hf-mobile-menu .page-item-228 a::before,
#ast-hf-mobile-menu .page-item-229 a::before,
#ast-hf-mobile-menu .page-item-230 a::before,
#ast-hf-mobile-menu .page-item-231 a::before,
#ast-hf-mobile-menu .page-item-232 a::before,
#ast-hf-mobile-menu .page-item-233 a::before,
#ast-hf-mobile-menu .page-item-237 a::before,
#ast-hf-mobile-menu .page-item-238 a::before,
#ast-hf-mobile-menu .page-item-239 a::before {
  content: ">" !important;
	margin-left: 24px;
	margin-right:10px;
	color: #EDF5FF;
    font-weight: bolder;
	font-size: bigger;
}
/* Force la surimpression du bandeau d'ouverture en haut de page */
.ast-above-header-bar.ast-above-header.site-above-header-wrap {
  z-index: 4;	
}
/* Efface le bouton Rendez-vous */
div.ast-custom-button_xx {
	display:none !important;
}


#ast-hf-mobile-menu .page-item-228,
#ast-hf-mobile-menu .page-item-229,
#ast-hf-mobile-menu .page-item-230,
#ast-hf-mobile-menu .page-item-231,
#ast-hf-mobile-menu .page-item-232,
#ast-hf-mobile-menu .page-item-233,
#ast-hf-mobile-menu .page-item-237,
#ast-hf-mobile-menu .page-item-238,
#ast-hf-mobile-menu .page-item-239 {
	background-color: #161237;
	border-left: 4px solid white;
}


#ast-hf-mobile-menu .page-item-7,
#ast-hf-mobile-menu .page-item-227,
#ast-hf-mobile-menu .page-item-234,
#ast-hf-mobile-menu .page-item-235,
#ast-hf-mobile-menu .page-item-240,
#ast-hf-mobile-menu .page-item-241,
#ast-hf-mobile-menu .page-item-1573 {
	background-color: #110E2C;
}

#ast-hf-mobile-menu .stack-on-mobile .page-item-7 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-227 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-234 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-235 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-240 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-241 .menu-link,
#ast-hf-mobile-menu .stack-on-mobile .page-item-1573 .menu-link {
	font-weight: 600 !important;
}

#ast-hf-mobile-menu .page-item-1573 {
	padding-bottom: 120px !important;	
}

#ast-hf-mobile-menu .current-menu-item a {
  backdrop-filter: brightness(0.9);
}

/* A ranger dans le CSS du menu principal */
.current-menu-item a {

}
.main-header-menu .sub-menu li.current-menu-item a:hover {
  transform: translateX(0) !important;	
}
/*
 * 
 * FIN CSS MENU MOBILE 
 * 
 */

/* Avis client Google */

.ti-rating-text, .nowrap, .nowrap strong {
	color: white !important;
	display: none;
}

.avis_fond_clair .ti-rating-text, .avis_fond_clair .nowrap, .avis_fond_clair .nowrap strong {
	color: #161237 !important;
}

.form-rgpd label, .read-more a {
	color: white !important;
}

.form-rgpd a {
	color: white !important;
	position:relative;
	top:-29px;
	left:45px;
}

/* All pages */
#content {
	margin-top: 120px;
}

/* Articles */

.ast-post-format-, .blog-layout-4, .ast-article-inner {
	background-color : #EDF5FF;
	box-shadow: 0 0 !important;
}
.ast-article-inner {
	color: #000 !important;
}

.article-inner a, .entry-title a {
	color: #110E2C !important;
	font-size: 18px !important;
}

.read-more a {
	color: #00387B !important;
	font-weight: 700 !important;
}

.read-more a:hover {
	color: #00387B !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
}

body[itemtype="https://schema.org/Blog"] {
  background-color: white !important;
}

/* Bouton du menu au survol */
.ast-custom-button:hover {
	background-color: var(--ast-global-color-0) !important;
	color: white;
	transform: translateY(2px);
	transition: transform 0.3s ease;
}


/* Reservation */
.address-service {
	background-color: var(--ast-global-color-0) !important;
	padding: 16px !important;
	}

.wap-front, .address-service {
	box-shadow: none !important;
	border: none !important;
	
}

.icon-address svg {
  width: 24px !important;
  height: 24px !important;
}

.wbtn-primary, .wbtn-secondary {
	box-shadow: none !important;
	border: none !important;
	padding: 16px 16px 16px 16px !important;
	font-size: 16px !important;
	font-weight: 600;
	border-radius: 24px !important;
}

span.wbtn-primary.wbtn-disabled {
	background-color: transparent !important;
	border: 1px solid grey !important;
	opacity: 0,5 !important;
}

.d-flex.wbtn-confirm {
	margin-top: 40px;
}

.wap-wid {
	max-width: inherit !important;
}

#email, #name, .wap-booking-fields input[id^="telinput-"] {
	color: #475569 !important;
}
.wbtn-secondary.wbtn.wbtn-round.wbtn-top.sq { 
	display: flex !important;
	align-items: center !important;
	-webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.site-content, .ast-post-format- ast-no-thumb single-layout-1 {
	background-color: #161237 !important;
}

/* Annulation Reservation et changement Reservation */
.ast-post-format- {
	background-color: inherit;
}
.ast-post-format-.ast-no-thumb.single-layout-1 {
	display: table;
	margin-left: auto;
    margin-right: auto;
}

.wap-form-body {
 	overflow-y: inherit !important; 
 	overflow-x: inherit !important;
}

body.blog div[class*="ast-post-format-"] {
  background-color: #edf5ff !important;