@charset "utf-8";
* { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box }
html, body 					{ height: 100%; margin: 0 }

body 						{ display: flex; flex-direction: column; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; font-size: 13px; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }

/* HEADER GÉNÉRAL (pour toutes les pages) */
header 						{ position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 25px 100px; display: flex; align-items: center }

/* LANGUAGE SELECTOR (commun à toutes les pages) */
.language-selector 			{ display: flex; gap: 6px; align-items: center }
.language-selector a 		{ color: #EBDDCF; text-decoration: none; font-size: 0.70rem; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; transition: all 0.3s ease; padding: 5px 8px }
.language-selector a:hover,
.language-selector a.active { color: #FF6B6B }
.language-separator 		{ color: rgba(255, 255, 255, 0.4); font-weight: 300 }

/* HOME PAGE - Header simple (langues uniquement) */
header:not(.header-nav) 	{ justify-content: flex-start }

/* PAGES INTÉRIEURES - Header avec navigation */
header.header-nav 			{ justify-content: space-between; background: rgba(0, 0, 0, 0.8); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); backdrop-filter: blur(10px); padding: 10px 100px } /*background: #C8C8C8*/
.header-logo 				{ flex: 1; display: flex; justify-content: center; align-items: center }
.header-logo a 				{ display: block; transition: transform 0.3s ease }
.header-logo a:hover 		{ transform: scale(1.05) }
.header-logo img 			{ height: 70px; width: auto; filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5)) }
nav 						{ flex: 1; display: flex; justify-content: flex-end; align-items: center }
.nav-links 					{ display: flex; gap: 40px; list-style: none }
.nav-links a 				{ color: #EBDDCF; text-decoration: none; font-size: 0.85rem; letter-spacing: 3px; font-weight: 500; text-transform: uppercase; transition: all 0.3s ease; padding-bottom: 5px; border-bottom: 2px solid transparent }
.nav-links a:hover,
.nav-links a.active 		{ color: #FF6B6B }

/* RESPONSIVE */
@media (max-width: 768px) {
	header.header-nav 		{ padding: 20px; flex-direction: column; gap: 15px }
	.language-selector 		{ order: 1 }
	.header-logo 			{ order: 2 }
	.header-logo img 		{ height: 40px }
	nav 					{ order: 3; justify-content: center }
	.nav-links 				{ gap: 20px; font-size: 0.75rem }
}

main 						{ padding-top: 120px; flex: 1 }

.contenu						{ width: 1200px; margin: auto }
.contenu-min					{ min-height: 450px }
/*.rub-titre 						{ font-family: 'barlow condensed'; font-size: 1.2em; text-transform: uppercase; letter-spacing: 1px; margin: 1% 5% }
.rub-accroche 					{ font-family: 'barlow condensed'; font-size: 1.2em; letter-spacing: 1px }*/
.filet 							{ width: 10%; max-width: 100px; height: 1px; margin: 0 4% }
.contenu .accroche 				{ text-align: center; margin: 0 10%; text-transform: none }
.contenu h2						{ font-size: 24px; margin-bottom: 20px; padding-top: 5px; color: #656360; font-weight: 400; text-transform:none }
.contenu h3						{ font-size: 16px; line-height: 24px; color: #827F7B; font-weight: 400; text-transform:none }
.contenu h4						{ font-size: 20px; line-height: 24px; color: #827F7B; font-weight: 400; text-transform:none }

@media (max-width: 1200px){
.contenu						{ width: 100% }
.contenu .accroche 				{ margin: 0 5% }
}

@media (max-width: 550px){
.contenu .accroche h2			{ font-size: 20px }
.contenu .accroche h3			{ font-size: 14px; text-align: justify}
.contenu h2						{ font-size: 20px; margin-bottom: 10px }
}

/*h1.rub-titre, .titreH1			{ font-size: 45px; text-transform: none; letter-spacing: 1px; font-weight: 400; line-height: 45px; margin: 2% 0; color: #282828 }
h1.rub-titre p, .titreH1 p		{ margin: 0; font-size: 30px!important; line-height: 26px; color: #666 }
h1.rub-titre span, .titreH1 span{ margin: 0; font-size: 30px!important; line-height: 26px; color: #666 } *//*passer a span*/

.titreH1 						{ font-size: 1.8rem; text-align: center; margin-bottom: 20px; font-weight: 300; letter-spacing: 2px; text-transform: uppercase }
.titreH1 p 						{ display: inline; font-weight: 300; color: #999 }

@media (max-width: 768px){ 
h1.rub-titre, .titreH1			{ font-size: 45px; line-height: 36px }
h1.rub-titre p, .titreH1 p		{ font-size: 30px!important; line-height: 36px }
h2								{ font-size: 1.3em }	
}

.rubriques						{ text-align: center; font-size: 14px; text-transform:uppercase; letter-spacing: 1px }
.rubriques .rub					{ display: inline-block; position:relative; cursor:pointer; padding: 1% 2%; moz-transition: .8s all .3s; -webkit-transition: .8s all .3s; transition: .8s all .3s; background-color: #333; margin: 0 1% }
.rubriques .rub a				{ color: #CCC }
.rubriques .rub a:hover			{ color: #FFF; font-weight: 600 }
.rubriques a.rubchoix			{ color: #FFF!important; font-weight: 600  }

.rubriques .rub ul				{ display:none; position:absolute; z-index:99; min-width:175px; list-style:none; text-align:left; font-size:12px; background-color: #666; moz-transition: .8s all .3s; -webkit-transition: .8s all .3s; transition: .8s all .3s; padding: 0 0 10px 0; margin: 9px 0 0 -18px }
.rubriques .ssrub li a			{ display:block; padding: 8px 10px; color: #FFF; font-size:12px }
.rubriques .ssrub li.b			{ font-size: 13px; font-weight: 600 }
.rubriques .ssrub li.m			{ margin-left: 10px }
.rubriques .ssrub:hover ul		{ display: block }
.rubriques .ssrub:hover ul li	{     -webkit-transition:height 200ms ease-in;    -moz-transition:height 200ms ease-in;    -o-transition:height 200ms ease-in;    transition:height 200ms ease-in; }
.rubriques .ssrub ul a:hover	{ background-color: #555 }

.contenu .texte				{ margin: 0 5%; text-align: justify }
.contenu .texte	h1			{ font-size: 30px; margin-bottom: 20px; padding-top: 5px; color: #656360; font-weight: 500; text-transform:none }
.contenu .texte	h2			{ font-size: 24px; margin-bottom: 20px; padding-top: 5px; color: #656360; font-weight: 500; text-transform:none }
.contenu .texte	.txt-image-float-d		{ float: right; width: 30%; text-align: center }
.contenu .texte	.txt-image-float-d img	{ width: 100%; height: auto }
.contenu .bloc-txt			{ display: inline-block; width: 68%; vertical-align: top; padding: 3%; margin: 0 }
.contenu .bloc-txt	h1		{ font-size: 30px; margin-bottom: 20px; padding-top: 5px; color: #656360; font-weight: 500; text-transform:none }
.contenu .bloc-txt	h2		{ font-size: 24px; margin-bottom: 20px; padding-top: 5px; color: #656360; font-weight: 500; text-transform:none }
.contenu .bloc-infos		{ display: inline-block; width: 30%; vertical-align: top; padding: 3% }
.contenu  img.w100p			{ width: 100%; height: auto }


.contenu .pagetxt					{	min-height: 500px; background-color: #FFF; padding: 30px 200px 50px 200px; text-align:justify; line-height: 18px }
.contenu .pagetxt	.pagelogo		{	width: 200px; margin-left: -75px }

@media (max-width: 1200px){
.contenu .pagecomm, .contenu .pagetxt									{	padding: 20px 70px 40px 70px;  }	
.contenu .pagetxt	.pagelogo			{	margin-left: -55px }
}

@media (max-width: 480px){
.contenu .pagecomm, .contenu .pagetxt								{	padding: 10px }	
.contenu .pagetxt	.pagelogo		{	width: 100px; margin-left: -15px }
}


/*legal*/
.sousmenus					{ display: inline-block; vertical-align: top; width: 20%; margin: 1% 0 0 3%; color: #14213A; font-size:13px }
.sousmenus .sousmenu		{ border-bottom: 1px dashed #526EA4; border-right: 1px solid #526EA4; padding: 5%; cursor:pointer}
.sousmenus .sousmenu:hover	{ background-color: #E1EAEF }
.sousmenus .choix			{ background-color: #E1EAEF; border-right: 0; border-left: 6px solid #526EA4 }

.contenu .texte-droite h2	{ font-size: 26px; margin-bottom: 20px; padding-top: 5px; color: #9C9A97; font-weight: 400 }
.contenu .texte-droite		{ display: inline-block; vertical-align: top; width: 64%; margin: 0 5%; text-align: justify; min-height: 400px}
.contenu .texte-droite	h3	{ font-weight: 400}

@media (max-width: 768px){
.sousmenus					{ display: none; visibility:hidden   }
.contenu .texte-droite		{ display: block; width: 90%; margin: auto; }
}

/* MENTIONS LÉGALES */
.legal 							{ padding: 0 4% 40px; max-width: 1400px; margin: 0 auto }

.legal .infos 					{ display: grid; grid-template-columns: 280px 1fr 180px; gap: 40px; align-items: start; line-height: 1.6 }

.legal .infosdetail 			{ border-right: 1px solid #666; padding-right: 30px; font-size: 0.9rem; color: #666; text-align: right }
.legal .infosdetail h2 			{ padding-bottom: 5px; margin: 30px 0 10px; font-size: 0.8rem; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: #333 }
.legal .infosdetail h2:first-child { margin-top: 0 }
.legal .infosdetail a 			{ color: #666; text-decoration: none; transition: color 0.3s ease }
.legal .infosdetail a:hover 	{ color: #000 }

.legal .infostexte 				{ padding: 0 20px; text-align: left }
.legal .infostexte h2 			{ font-size: 1.2rem; font-weight: 500; letter-spacing: 1px; margin-bottom: 30px; color: #333 }
.legal .infostexte h3 			{ font-size: 1.1rem; font-weight: 500; margin: 30px 0 15px; color: #333 }
.legal .infostexte p 			{ font-size: 0.95rem; margin-bottom: 15px; color: #555; line-height: 1.8; text-align: justify }
.legal .infostexte .centre 		{ text-align: center; margin: 30px 0; padding: 20px; background: rgba(0, 0, 0, 0.03); border-radius: 8px }
.legal .infostexte .minus 		{ font-size: 0.85rem; color: #666; text-decoration: none; transition: color 0.3s ease }
.legal .infostexte .minus:hover { color: #000 }
.legal .infostexte a 			{ color: #333; text-decoration: underline }
.legal .infostexte a:hover 		{ color: #000 }

.legal .photo 					{ text-align: center; padding-top: 20px; opacity: 0; animation: fadeInLeft 0.8s ease-out 0.5s forwards }
.legal .photo img 				{ width: 100%; max-width: 130px; height: auto; transition: opacity 0.3s ease }

@media (max-width: 850px) {
.legal .infos 					{ grid-template-columns: 220px 1fr; gap: 30px }
.legal .photo 					{ display: none }
}

@media (max-width: 600px) {
.legal 							{ padding: 40px 3% }
.titreH1 						{ font-size: 1.5rem }
.legal .infos 					{ grid-template-columns: 1fr; gap: 30px }
.legal .infosdetail 			{ border-right: none; border-bottom: 1px solid #ddd; padding: 0 0 20px 0; text-align: left; font-size: 1rem }
.legal .infostexte 				{ padding: 0 }
.legal .infostexte p 			{ text-align: left }
}

.legal-reglement 				{ text-align: justify; font-size: 12px; line-height: 1.1em }

.grpd 						{ padding: 0 6% 40px; max-width: 1400px; margin: 0 auto }
.grpd h1 					{ font-size: 2rem; text-align: center; margin-bottom: 40px; font-weight: 300; letter-spacing: 2px; text-transform: uppercase }
.grpd-intro 				{ max-width: 900px; margin: 0 auto 60px; text-align: justify; font-size: 1rem; line-height: 1.8; color: #333 }
.grpd-intro p 				{ margin-bottom: 20px }

.grpd-blocs 				{ display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; margin-top: 40px }
.grpd-bloc 					{ background-color: #F9F9F9; border-left: 2px solid #333; padding: 30px 25px; text-align: left; line-height: 1.6; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column }
.grpd-bloc:hover 			{ transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) }
.grpd-icone 				{ margin-bottom: 10px }
.grpd-icone img 			{ width: 40px; height: auto }
.grpd h2 					{ margin: 0 0 15px 0; font-size: 1.3rem; color: #333; font-weight: 500; line-height: 1.4; letter-spacing: 1px }
.grpd-bloc p 				{ font-size: 0.95rem; margin-bottom: 10px; color: #555 }
.grpd-bloc .centre 			{ text-align: center; margin-top: 15px; padding: 15px; background: rgba(0, 0, 0, 0.03); border-radius: 8px }
.grpd-bloc a 				{ color: #333; text-decoration: underline; transition: color 0.3s ease }
.grpd-bloc a:hover 			{ color: #000 }

@media (max-width: 768px) {
.grpd 						{ padding: 40px 3% }
.grpd h1 					{ font-size: 1.5rem }
.grpd-intro 				{ font-size: 0.95rem; padding: 0 2% }
.grpd-blocs 				{ grid-template-columns: 1fr; gap: 20px }
.grpd-icone img 			{ width: 40px }
.grpd h2 					{ font-size: 1.1rem }
}

@media (max-width: 600px) {
.grpd-intro 				{ font-size: 0.9rem }
.grpd-bloc 					{ padding: 20px 15px }
}

.grpd-legal						{ margin-top: 5%; font-size: 12px; line-height: 1.1em; text-align: justify }


.pied-infos 					{ background-color: #E2E2E2; padding: 3%; display: flex; flex-wrap: wrap; justify-content: center; color: #444; font-size: 13px }
.pied-infos .pied-info			{ flex: 0 0 33%; max-width: 33%; position: relative; text-align: center; line-height: 1.3em }
.pied-info .minus				{ font-size: 13px; color: #222 }
.pied-info i					{ font-size: 1.5em }
.pied-info a					{ color: #444 }
.pied-info img.icone			{ width: 80px; height: auto; display: block; margin: auto }
.pied-info .detail				{ font-size: 13px }
.pied-info .tel					{ white-space: nowrap }

@media (max-width: 992px){
.pied-infos 					{ padding: 3% 1% }
}
@media (max-width: 768px){
.pied-infos						{ display: block }
.pied-infos .pied-info			{ display: block; width: 100%; flex: none; max-width: none; border-bottom: 1px solid #BBB; padding: 10px }
.pied-infos .pied-info:last-child{ border-bottom: none }
}

/*footer 							{ background-color: #A09D9A; color: #E3DED0; padding: 2% 0 }
footer .pied-cols				{ display: flex; flex-wrap: wrap }
footer .pied-cols .icone img	{ width: 70px; height: auto }
footer .pied-cols .icone a		{ color: #FFF; letter-spacing: 2px }
footer .pied-col				{ -webkit-box-flex: 0; position: relative; padding: 0 2%; }
footer .pied-col:first-child	{ flex: 0 0 50% }
footer .pied-col .pied-col-titre { font-size: 20px; margin: 10px 0; text-transform: none; color: #FFF }
footer .pied-col-suite 			{ flex: 0 0 25%; margin-top: 5% }
footer .pied-col a				{ display: block; color: #E3DED0; padding: 2%  }
footer .pied-col a:hover 		{ color: #FFF; margin-left: 10px; transition: 0.5s }

@media (max-width: 768px){
footer 							{ padding: 8% }
footer .pied-cols				{ display: block }
footer .pied-cols .icone img	{ width: 80px; height: auto }
footer .pied-col				{ flex: none; max-width: none; width: 60%; margin: auto; padding: 2%; text-align: center }
}*/

footer 							{ background: #000; color: #333; padding: 10px 40px; border-top: 1px solid #000 }
.footer-content 				{ max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center }
.footer-left 					{ flex: 1; display: flex; align-items: center }
.footer-left img 				{ width: 150px; height: auto }
.footer-center 					{ flex: 1; display: flex; gap: 20px; align-items: center; justify-content: center }
.social-icon 					{ color: #EBDDCF; font-size: 1.7rem; transition: color 0.3s ease }
.social-icon:hover 				{ color: #FFF }
.footer-right 					{ flex: 1; display: flex; flex-direction: column; font-size: 0.75rem; letter-spacing: 2px; align-items: flex-end }
.footer-right a 				{ display: block; padding-bottom: 5px; color: #EBDDCF; text-decoration: none; transition: color 0.3s ease }
.footer-right a:hover 			{ padding-right: 10px; color: #EBDDCF }

@media (max-width: 768px) {
.footer-content 				{ flex-direction: column; gap: 20px; text-align: center }
.footer-left, .footer-center	{ justify-content: center }
.footer-right 					{ align-items: center; text-align: center }
.footer-right a:hover 			{ padding-right: 0 }
}
