/**********
 * Global *
 *********/

html{
	margin: 0px;
	padding: 0px;
	color: #000;
	background: #FFF;
	font-size: 16px;
	border: 0px solid transparent;
	font-family: 'Mostra Nuova AltD',Arial,sans-serif;
	height: 100%;
}
html.cssPdg{
	background: #F2EEE6;
}
body{
	margin: 0px;
	padding: 0px;
	width: 100%; 
	position:relative;
	height:100%;
	direction: ltr;
}

a{ 
	outline: none;
	text-decoration: none;
	cursor: pointer;
	color: inherit;
}

img{ border: none; }

:focus{outline:none;}
::-moz-focus-inner{border:0;}

::-moz-selection{ color: #FFF; background: #c03d37; }
::selection{ color: #FFF; background: #c03d37; }


::-webkit-input-placeholder{ /* WebKit, Blink, Edge */
    font-size: 14px;
}
:-moz-placeholder{ /* Mozilla Firefox 4 to 18 */
   	font-size: 14px;
   	/*opacity:  1;*/
}
::-moz-placeholder{ /* Mozilla Firefox 19+ */
   	font-size: 14px;
   	/*opacity:  1;*/
}
:-ms-input-placeholder{ /* Internet Explorer 10-11 */
   	font-size: 14px;
}
:placeholder-shown{
  	font-size: 14px;
}
::placeholder{
	font-size: 14px;
}

.flol{ float: left; }
.flor{ float: right; }
.alc{ text-align: center; }


.fin{
	clear:both;
	line-height:0;
	height:0;
	font-size:1px;
}

#strErreur,
#strInfo,
#strValide,
#strLink{ display: none; }
#map-canvas{ width: 100%; height: 250px; }


/**********/

h1,
h2,
h3,
h4{ margin: 0px; }
html,
body{height: 100%;}
*{margin:0;padding:0;}

/********	
 * FONT *
 *******/

@font-face{ 
	font-family: bellerose;
	src: url('/font/bellerose/BelleroseLight_gdi.eot');
	src: url('/font/bellerose/BelleroseLight_gdi.eot?#iefix') format('embedded-opentype'),
		url('/font/bellerose/BelleroseLight_gdi.woff') format('woff'),
		url('/font/bellerose/BelleroseLight_gdi.ttf') format('truetype'),
		url('/font/bellerose/BelleroseLight_gdi.svg#bellerose') format('svg');
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
	unicode-range: U+0020-25CA;
	filter: alpha(opacity=99);
} 

@font-face{ 
	font-family: parisish;
	src: url('/font/parisish/Parisish_gdi.eot');
	src: url('/font/parisish/Parisish_gdi.eot?#iefix') format('embedded-opentype'),
		url('/font/parisish/Parisish_gdi.woff') format('woff'),
		url('/font/parisish/Parisish_gdi.ttf') format('truetype'),
		url('/font/parisish/Parisish_gdi.svg#parisish') format('svg');
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
	unicode-range: U+0020-25CA;
	filter: alpha(opacity=99);
} 

@font-face{ 
	font-family: arwen;
	src: url('/font/arwen/ArwenRegular_gdi.eot');
	src: url('/font/arwen/ArwenRegular_gdi.eot?#iefix') format('embedded-opentype'),
		url('/font/arwen/ArwenRegular_gdi.woff') format('woff'),
		url('/font/arwen/ArwenRegular_gdi.ttf') format('truetype'),
		url('/font/arwen/ArwenRegular_gdi.svg#arwen') format('svg');
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
	unicode-range: U+0020-25CA;
	filter: alpha(opacity=99);
} 

@font-face{ 
	font-family: neutra;
	src: url('/font/neutra/NeutraText-Bold_gdi.eot');
	src: url('/font/neutra/NeutraText-Bold_gdi.eot?#iefix') format('embedded-opentype'),
		url('/font/neutra/NeutraText-Bold_gdi.woff') format('woff'),
		url('/font/neutra/NeutraText-Bold_gdi.ttf') format('truetype'),
		url('/font/neutra/NeutraText-Bold_gdi.svg#neutra') format('svg');
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
	unicode-range: U+0020-25CA;
	filter: alpha(opacity=99);
} 


@font-face {
    font-family: 'Mostra Nuova AltD';
    src: url('/font/mostra/MostraNuovaAltD.eot');
    src: url('/font/mostra/MostraNuovaAltD.eot?#iefix') format('embedded-opentype'),
        url('/font/mostra/MostraNuovaAltD.woff2') format('woff2'),
        url('/font/mostra/MostraNuovaAltD.woff') format('woff'),
        url('/font/mostra/MostraNuovaAltD.ttf') format('truetype'),
        url('/font/mostra/MostraNuovaAltD.svg#MostraNuovaAltD') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mostra Nuova AltD Bold';
    src: url('/font/mostra/MostraNuovaAltD-Bold.eot');
    src: url('/font/mostra/MostraNuovaAltD-Bold.eot?#iefix') format('embedded-opentype'),
        url('/font/mostra/MostraNuovaAltD-Bold.woff2') format('woff2'),
        url('/font/mostra/MostraNuovaAltD-Bold.woff') format('woff'),
        url('/font/mostra/MostraNuovaAltD-Bold.ttf') format('truetype'),
        url('/font/mostra/MostraNuovaAltD-Bold.svg#MostraNuovaAltD-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mostra Nuova AltD Light';
    src: url('/font/mostra/MostraNuovaAltD-Light.eot');
    src: url('/font/mostra/MostraNuovaAltD-Light.eot?#iefix') format('embedded-opentype'),
        url('/font/mostra/MostraNuovaAltD-Light.woff2') format('woff2'),
        url('/font/mostra/MostraNuovaAltD-Light.woff') format('woff'),
        url('/font/mostra/MostraNuovaAltD-Light.ttf') format('truetype'),
        url('/font/mostra/MostraNuovaAltD-Light.svg#MostraNuovaAltD-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


*{
	box-sizing: border-box;
}
.flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex.sb{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex.ac{
	-webkit-box-align: center;
	   -ms-flex-align: center;
		  align-items: center;
}


.reg_contentGlobal{
	width: 100%;
	margin: 0 auto;
}


#cookiesBloc{
    background:rgba(192,61,55,0.8);
    bottom:2%;
	right: 1%;
	max-width:400px;
    cursor: pointer;
	z-index:4;
    position: fixed;
    padding: 20px;
   -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;	
	display:none;
}

#cookiesBloc p{
	color:#FFFFFF;
	font-size: 1em;
	text-align:center;
	margin:0;
}
#cookiesBloc p a{
	text-decoration:underline;
}


#returnOnTop{
    width: 45px;
    height: 45px;
    background-color: #313131;
    border-radius: 50%;
    bottom: 1%;
    cursor: pointer;
    display: none;
    filter: alpha(opacity = 50); /* IE < 8 */
    opacity: 0.5;
    position: fixed;
    right: 1%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

#returnOnTop:hover{
    filter: alpha(opacity = 100); /* IE < 8 */
    opacity: 1;
}

#loading{
	width: 0%;
	height: 3px;	
	background: #22a1d6;
	position: fixed;	
}


.btnStd{
	padding: 10px 15px;
	font-weight: 600;
	font-size: 22px;
	text-align: center;
	text-transform: uppercase;
	cursor:pointer;
	color: #FFF;	
	background: #c03d37;
	display: table;
}
.btnStd:hover{
	background: #000;
	color: #FFF;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;	
}

.formStd{ width:100%; }

.formStd fieldset{
	margin: 0px;
	border: 0px;
	padding: 10px 40px;
}


/* FORM PRODUCTION */
.boxRadio{
	padding: 15px 0 0 15px;
}
.fx-relay-email-input-wrapper{
	z-index: 10 !important;
}
.swal2-shown .fiche-production ~ .swal2-container .swal2-show{
	width: 500px !important;
	max-width: 98%;
	min-height: auto !important;
}
.swal2-shown .fiche-production ~ .swal2-container .swal2-show .swal2-content{
	text-align: center;
}
.fiche-production p.infos{
	padding: 15px 40px;
}
.fiche-production p.infos span{
	font-weight: bold;
	font-size: 1.2em;
}
.production_form.cssPdg{
	background-color: #F2EEE6;
}
.production_form fieldset{
	margin: 0px;
	border: 0px;
	padding: 10px 40px;
}
.production_form legend{
    padding: 10px;
    margin: 15px 0 25px 0;
    font-size: 18px;
    color: #fff;
    background-color: #c03d37;
}
.production_form textarea{
    width: calc(100% - 12px);
    padding: 5px;
}
.production_form cite{
	display: block;
	font-size: 13px;
	font-style: italic;
}
.production_form input.error,
.production_form textarea.error{
	border-color: red;
}
.production_form cite.error,
.production_form cite.error-message{
	color: red;
	font-style: italic;
	margin-top: -16px;
	font-size: 15px;
}
.production_form cite.error-message{
	margin-top: -8px;
}

.production_form form{
    width: 100%;
    padding: 20px;
    margin-top: 80px;
}
.production_form form .item strong{
	font-weight: normal;
}

.production_form input,
.production_form select,
.production_form textarea{
	-webkit-appearance: none;
   	-moz-appearance: none;
    appearance: none;
    margin-bottom: 25px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 14px;
}
.production_form input{
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}
.production_form textarea{
    width: 100%;
    padding: 10px;
    min-height: 200px;
    resize: none;
    font-family: inherit;
}
.production_form .item:hover p,
.production_form .item:hover i,
.production_form .question:hover p,
.production_form .question label:hover,
.production_form input:hover::placeholder{
    color: #c03d37;
}
.production_form .checkbox input[type="checkbox"]{
    display: inline-block;
    height: 15px;
    width: 15px;
    margin-right: 5px;
    vertical-align: text-top;
}
.production_form .item input:hover,
.production_form .item select:hover,
.production_form .item textarea:hover{
    border: 1px solid transparent;
    box-shadow: 0 0 3px 0 #c03d37;
    color: #c03d37;
}
.production_form .item{
    position: relative;
    margin: 10px 0;
}
.production_form .item span{
    /*color: red;*/
}

.production_form .colums{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}
.production_form .colums div{
    width: 48%;
}
.production_form input[type="radio"],
.production_form input[type="checkbox"]{
    display: none;
}
.production_form label.radio{
    position: relative;
    display: inline-block;
    margin: 5px 20px 15px 0;
    cursor: pointer;
    line-height: 40px;
}
.production_form .question{
	height: 88px;
}
.production_form .question span{
    margin-left: 30px;
    vertical-align: sub;
    display: inline-block;
}

.production_form label.radio:before{
    content: "";
    position: absolute;
    left: 0;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    border: 2px solid #ccc;
    top: 50%;
    transform: translateY(-50%);
}
.production_form input[type="radio"]:checked + label:before,
.production_form label.radio:hover:before{
    border: 2px solid #c03d37;
}
.production_form label.radio:after{
    content: "";
    position: absolute;
    top: 6px;
    left: 5px;
    width: 8px;
    height: 4px;
    border: 3px solid #c03d37;
    border-top: none;
    border-right: none;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
    top: 50%;
}
.production_form input[type="radio"]:checked + label:after{
    opacity: 1;
}
input[type=checkbox]{
	display: none;
}
label.check{
	position: relative;
	display: inline-block;
	margin: 5px 20px 10px 0;
	cursor: pointer;
}
label.check:before{
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 16px;
	height: 16px;
	border-radius: 2px;
	border: 1px solid #c03d37;
}
input[type=checkbox]:checked + .check:before{
	background: #c03d37;
}
label.check:after{
	content: "";
	position: absolute;
	top: 6px;
	left: 4px;
	width: 8px;
	height: 4px;
	border: 3px solid #fff;
	border-top: none;
	border-right: none;
	transform: rotate(-45deg);
	opacity: 0;
}
input[type=checkbox]:checked + label:after{
	opacity: 1;	
}

.production_form button{
	width: 150px;
    padding: 10px;
    border: none;
    border-radius: 5px;
    background: #c03d37;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
    display: block;
    margin: 25px auto;
}
.production_form button:hover{
    background: #000;
}
.production_form .btnStd.download{
	margin: 25px 0 50px 0;
}







/***********
 * TABLETTE PAYSAGE
 */

@media screen and (max-width: 1024px){	
	.blocBlancPad{ padding: 0 30px 30px 30px ;}
	.tabMenu a {font-size: 17px;}
	.liste-prog a, .liste-prog .item {flex-basis: 33.3333333333%;}
	.blocome {-webkit-box-flex: 1; -ms-flex: 0 0 auto; flex: 0 0 auto; padding: 25px; box-sizing: border-box;}
}/***********
 * TABLETTE PORTRAIT 
 */

@media screen and (max-width: 960px){
	.blocBlanc .content.flol,.blocBlanc .img.flor {float:none;}	
	.blocBlanc .img.flor{ padding: 20px 0 0 0; }
	.blocBlanc .content,.blocBlanc .img{width:100%;}	
	.histoire .wide-container{width:90%;}
	.formStd{width:100%;}
	.blocBlanc{padding:20px 0;}
	.reg_topDroite,.reg_topGauche{float:none;}
	.contentMenuTop{padding:10px 0 0 0;}
	.reg_topGauche img{display:table; margin:0 auto;}
	.tabMenu .trMenu{display:block;text-align:left;}
	.tabMenu .trMenu .tdMenu{ width: 100%;display: block; float: none; padding: 4px 0;}
	.cl-effect-7 a{padding:0;margin: 0;font-size: 12px; }
	.cl-effect-7 a::before, .cl-effect-7 a::after{content:none;}
	.tabMenu{ display: block; /*height: 25px;*/ height: 100px; width:100%; overflow: hidden;  text-align: center;}	
	.reg_contactL, .reg_contactR{ float: none; width: 80%; margin: 0 auto; }	
	.transport {width:80%; margin: 0 auto;}
	table.transport tr td,table.transport tr td:nth-child(1),table.transport tr td:nth-child(2),table.transport tr td:nth-child(3),
	table.transport tr td:nth-child(4),table.transport tr td:nth-child(5){display:block; width:100%;}	
	.blocSpec{ width: 75%; }
	.botMenu{ width: 125px; margin: 0 auto; padding: 20px 0; }
	.tabMenu.flex-1 {display: none;}
	/* MENU BURGER*/
	.main_desktop_menu {display: none;}
	.main_mobile_menu {display: block;}
	.contentMenuTop .menuRow{display: none;}
	nav.resp{display: block;}
	.spinner{background-color: #a1a1a1; height: 5px;}
	.sidebarIconToggle{width: 30px; left: 15px;}
	.horizontal,.diagonal.part-2{margin-top: 5px;}
	input[type="checkbox"]:checked ~ .sidebarIconToggle > .diagonal.part-2{margin-top: -15px;}
	.sidebarMenuInner li span{font-size: 1.5em; color: #a1a1a1; letter-spacing: 0.5px; font-style: normal;}
	.sidebarMenuInner li a{font-family: 'Mostra Nuova AltD'; font-weight: 600;}
	.sidebarMenuInner li a:hover{color: #a1a1a1;}
	#sidebarMenu{box-shadow: 1px 1px 6px #313131;}
	.contentMenuTop{position: fixed; z-index: 11000000; left: 1%; top: 1%; float: none; width: auto;}
	.contentPhoneTop{width: 100%; float: none;}
	.contentPhoneTop a{padding: 0; line-height: 75px; text-align: center;}
	#openSidebarMenu:not(:checked) + .sidebarIconToggle .spinner {
		box-shadow: 1px 1px 3px #313131;
	}
	/*****/
	.footer{background-color: #f1f1f1; margin-top: 25px; padding: 25px 0;}
	.website_header .newsletter, .website_header .social{display: none;}
	.footer .newsletter, .footer .social{display: block;}
	.liste-prog a, .liste-prog .item {flex-basis: 50%;}
	.flex.come-in {-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
	.liste-prog-item {-webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center;-ms-flex-align: center;align-items: center;}
	.prog-item {padding: 15px;}
	.liste-prog-item .btnStd {display: table; font-size: 1.5em; margin: 45px auto 0 auto;}
	.infos-covid {
		margin-top: 25px;
		flex-basis: 100%;
	}
	.infos-covid-border {
		display: table;
	}
	.liste-prog a img, .liste-prog .item img {max-height: none;}
}/***********
 * SMARTPHONES
 */

@media screen and (max-width: 640px){
	.blocSpec{ width: 100%; }
	.blocBlanc h1.titre{ padding: 20px;   font-size: 18px;}
	.blocBlanc h2.texte{  font-size: 14px;  line-height: 20px;   padding: 0 20px 20px;}
	.reg_contentBot .botFooterGauche, .reg_contentBot .botFooterDroite{padding:0; float:none!important;width:100%;}
	.botFooterGauche cite{display:none;}
	.botFooterGauche.flol,.botFooterDroite.flor{width:100%;display:block; float:none; }	
	.botFooterGauche span,.botFooterDroite span{line-height: 18px;text-align:center;width:100%;display:block; float:none; }
	.histoire .wide-container{height:250px;}
	.ft > a {margin: 35px auto 20px auto; display: table;}
	.website_header > .flex {-webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-top: 25px;}
	.website_header img {width: 100%;}
	.liste-prog a img, .liste-prog .item img {width: calc(100% - 20px); margin: 10px; max-height: none;}
	.liste-prog a {margin: 25px 15px;}
	.liste-prog a, .liste-prog .item {flex: 1 1 100%;}
	.production_form .colums div { width: 100%; margin: 0;}
	.liste-prog-item .resa_links a { margin: 15px auto; }
}

@media screen and (max-width: 480px)
{

	.slides-navigation{ top:34%;}

}

@media screen and (max-width: 380px)
{


	.formStd{padding:10px 0}
	.formStd fieldset{padding: 10px 15px;}

	.btnStd{font-size:12px;}

	.production_form fieldset{ padding: 15px; }
	.production_form legend{ font-size: 16px; }
}


/* ====================================================================
   Refonte 2026
   ==================================================================== */

@font-face{
	font-family: 'Antonio';
	src: url('/font/antonio/Antonio-Light.woff2') format('woff2'),
		url('/font/antonio/Antonio-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Antonio';
	src: url('/font/antonio/Antonio-Regular.woff2') format('woff2'),
		url('/font/antonio/Antonio-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Antonio';
	src: url('/font/antonio/Antonio-Bold.woff2') format('woff2'),
		url('/font/antonio/Antonio-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: 'Montserrat';
	src: url('/font/montserrat/Montserrat-Variable.woff2') format('woff2-variations');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root{
	--lm-creme: #F7F6EF;
	--lm-creme-alt: #FFFFFF;
	--lm-noir: #060C0F;
	--lm-noir-doux: #11181C;
	--lm-rouge: #E24527;
	--lm-rouge-fonce: #C13518;
	--lm-texte: #16191B;
	--lm-gris: #6A6E70;
	--lm-trait: rgba(0, 0, 0, 0.10);
	--lm-trait-clair: rgba(255, 255, 255, 0.16);
	--lm-or: #DAC18C;
	--lm-max: 1240px;
	--lm-gut: 40px;
	--lm-titre: 'Antonio', 'Arial Narrow', Arial, sans-serif;
	--lm-texte-fam: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.lm,
.lm-header,
.lm-footer{
	font-family: var(--lm-texte-fam);
	font-size: 16px;
	line-height: 1.6;
	color: var(--lm-texte);
	background: var(--lm-creme);
}

:where(.lm,
.lm-header,
.lm-footer) img{ max-width: 100%; display: block; }
:where(.lm,
.lm-header,
.lm-footer) a{ color: inherit; text-decoration: none; }
:where(.lm,
.lm-header,
.lm-footer) :where(h1,
h2,
h3,
h4,
p,
ul,
figure){ margin: 0; }
:where(.lm,
.lm-header,
.lm-footer) ul{ list-style: none; padding: 0; }
:where(.lm,
.lm-header,
.lm-footer) *,
:where(.lm,
.lm-header,
.lm-footer) *::before,
:where(.lm,
.lm-header,
.lm-footer) *::after{ box-sizing: border-box; }

:where(.lm,
.lm-header,
.lm-footer) [hidden]{ display: none !important; }

.lm-wrap{
	max-width: var(--lm-max);
	margin: 0 auto;
	padding: 0 var(--lm-gut);
}

/* --- Titres ------------------------------------------------------- */

.lm-h1,
.lm-h2,
.lm-h3{
	font-family: var(--lm-titre);
	font-weight: 700;
	text-transform: uppercase;

	line-height: 1.04;
	letter-spacing: 0.005em;
}

.lm-h1{ font-size: clamp(42px, 6.4vw, 86px); }
.lm-h2{ font-size: clamp(30px, 4vw, 52px); }
.lm-h3{ font-size: clamp(22px, 2.4vw, 30px); }

.lm-surtitre{
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--lm-rouge);

	text-indent: 0.22em;
}

.lm-surtitre--clair{ color: rgba(255, 255, 255, 0.72); }

/* --- Boutons ------------------------------------------------------ */

.lm-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 30px;
	border: 1.5px solid transparent;
	font-family: var(--lm-texte-fam);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	text-indent: 0.14em;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.lm-btn--primaire{ background: var(--lm-rouge); color: #FFF; }
.lm-btn--primaire:hover{ background: var(--lm-rouge-fonce); color: #FFF; }

.lm-btn--noir{ background: var(--lm-noir); color: #FFF; }
.lm-btn--noir:hover{ background: var(--lm-rouge); color: #FFF; }

.lm-btn--contour{ background: transparent; color: var(--lm-noir); border-color: var(--lm-noir); }
.lm-btn--contour:hover{ background: var(--lm-noir); color: #FFF; }

.lm-btn--clair{ background: transparent; color: #FFF; border-color: #FFF; }
.lm-btn--clair:hover{ background: #FFF; color: var(--lm-noir); }

.lm-btn--sm{ padding: 11px 20px; font-size: 11px; }
.lm-btn--bloc{ display: flex; width: 100%; }

.lm-btn.is-complet,
.lm-btn[aria-disabled="true"]{
	background: transparent;
	color: var(--lm-gris);
	border-color: var(--lm-trait);
	cursor: default;
	pointer-events: none;
}

.lm-lien{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-indent: 0.12em;
	transition: gap 0.2s;
}

.lm-lien:hover{ gap: 14px; }
.lm-lien__fleche{ transition: transform 0.2s; }
.lm-lien:hover .lm-lien__fleche{ transform: translateX(3px); }

.lm-btn__fleche{ font-size: 14px; line-height: 1; transition: transform 0.2s; }
.lm-btn:hover .lm-btn__fleche{ transform: translateX(3px); }

/* --- En-tete ------------------------------------------------------ */

.lm-header{
	position: sticky;
	top: 0;
	z-index: 300;
	background: var(--lm-noir);
	color: #FFF;
}

.lm-header__inner{
	max-width: var(--lm-max);
	margin: 0 auto;
	padding: 14px var(--lm-gut);
	display: flex;
	align-items: center;
	gap: 30px;
}

.lm-header__logo{ flex: 0 0 auto; }
.lm-header__logo img{ width: 218px; height: auto; }

.lm-nav{ flex: 1 1 auto; }

.lm-nav__liste{
	display: flex;
	justify-content: center;
	gap: 34px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lm-nav__liste a{
	position: relative;
	display: block;
	padding: 8px 0;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.88);
	transition: color 0.2s;
}

.lm-nav__liste a::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--lm-rouge);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s;
}

.lm-nav__liste a:hover,
.lm-nav__liste a.sel{ color: #FFF; }
.lm-nav__liste a:hover::after,
.lm-nav__liste a.sel::after{ transform: scaleX(1); }

.lm-header__actions{ flex: 0 0 auto; display: flex; align-items: center; gap: 16px; }
.lm-header__resa{ border-color: var(--lm-rouge); color: var(--lm-rouge); }
.lm-header__resa:hover{ background: var(--lm-rouge); color: #FFF; border-color: var(--lm-rouge); }

/* --- Langues ------------------------------------------------------ */

.lm-langues{
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.lm-langues li + li::before{
	content: "/";
	margin: 0 6px;
	color: rgba(255, 255, 255, 0.35);
}

.lm-langues a{ color: rgba(255, 255, 255, 0.55); transition: color 0.2s; }
.lm-langues a:hover{ color: #FFF; }
.lm-langues a.sel{ color: #FFF; }

.lm-langues--menu{ display: none; }


.lm-logo-blanc{ filter: invert(1); }

.lm-burger{
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.lm-burger__trait{
	display: block;
	width: 23px;
	height: 2px;
	margin: 0 auto;
	background: #FFF;
	transition: transform 0.25s, opacity 0.2s;
}

.lm-burger[aria-expanded="true"] .lm-burger__trait:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.lm-burger[aria-expanded="true"] .lm-burger__trait:nth-child(2){ opacity: 0; }
.lm-burger[aria-expanded="true"] .lm-burger__trait:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* --- Pied de page ------------------------------------------------- */

.lm-page{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: var(--lm-texte-fam);
	color: var(--lm-texte);
}

.lm-page .lm-footer{ margin-top: auto; }

.lm-footer{ background: var(--lm-noir); color: rgba(255, 255, 255, 0.82); }

.lm-footer__haut{
	max-width: var(--lm-max);
	margin: 0 auto;
	padding: 44px var(--lm-gut);
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
}

.lm-footer__logo{ flex: 0 0 auto; }
.lm-footer__logo img{ width: 190px; height: auto; }

.lm-footer__infos{
	flex: 1 1 360px;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 18px;
	font-size: 13px;
	line-height: 1.45;
}


@media screen and (min-width: 1180px){

	.lm-footer__infos{ flex-wrap: nowrap; }
	.lm-footer__lettre{ flex: 0 1 320px; }
}

.lm-footer__info{ display: flex; gap: 10px; align-items: flex-start; }
.lm-footer__pastille{ flex: 0 0 auto; margin-top: 1px; color: var(--lm-rouge); }

.lm-picto{ display: block; flex: 0 0 auto; }
.lm-picto text{ font-family: var(--lm-texte-fam); }

.lm-footer__lettre{ flex: 0 1 330px; }

.lm-footer__titre{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-indent: 0.18em;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, 0.62);
}

.lm-lettre__champ{ display: flex; border: 1px solid var(--lm-trait-clair); }

.lm-lettre__champ input[type="email"],
.lm-lettre__champ input[type="text"]{
	flex: 1 1 auto;
	min-width: 0;
	padding: 13px 15px;
	border: 0;
	background: transparent;
	color: #FFF;
	font-family: inherit;
	font-size: 14px;
}

.lm-lettre__champ input::placeholder{ color: rgba(255, 255, 255, 0.42); }
.lm-lettre__champ input:focus{ outline: 2px solid var(--lm-rouge); outline-offset: -2px; }

.lm-lettre__envoi{
	flex: 0 0 auto;
	padding: 0 16px;
	border: 0;
	background: transparent;
	color: #FFF;
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}

.lm-lettre__envoi:hover{ color: var(--lm-rouge); }

.lm-footer__reseaux{ flex: 0 0 auto; display: flex; gap: 14px; align-items: center; }

.lm-footer__reseaux a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--lm-trait-clair);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.86);
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.lm-footer__reseaux a:hover{ background: var(--lm-rouge); border-color: var(--lm-rouge); }

.lm-footer__reseaux a:hover{ color: #FFF; }

.lm-footer__bas{
	border-top: 1px solid var(--lm-trait-clair);
}

.lm-footer__bas-inner{
	max-width: var(--lm-max);
	margin: 0 auto;
	padding: 16px var(--lm-gut);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 14px;
	font-size: 11px;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.lm-footer__bas a:hover{ color: #FFF; }
.lm-footer__legal{ display: flex; flex-wrap: wrap; gap: 8px; }
.lm-footer__legal span{ opacity: 0.4; }

/* --- Banniere de page --------------------------------------------- */

.lm-banniere{
	position: relative;
	background: var(--lm-noir);
	color: #FFF;
	overflow: hidden;
}

.lm-banniere__fond{
	position: absolute;

	inset: 0;
}

.lm-banniere__fond img{ width: 100%; height: 100%; object-fit: cover; }


.lm-banniere__voile{
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 12, 15, 0.86) 0%, rgba(6, 12, 15, 0.66) 34%, rgba(6, 12, 15, 0.20) 62%, rgba(6, 12, 15, 0.06) 100%);
}

.lm-banniere__inner{
	position: relative;
	max-width: var(--lm-max);
	margin: 0 auto;
	padding: 92px var(--lm-gut);
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 18px;
}

.lm-banniere__texte{
	max-width: 22ch;
	font-family: var(--lm-titre);
	font-size: clamp(19px, 2.1vw, 28px);
	font-weight: 400;
	line-height: 1.16;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}
.lm-banniere__actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }

/* --- Sections ----------------------------------------------------- */

.lm-section{ padding: 68px 0; }
.lm-section--serre{ padding-top: 40px; }
.lm-section--creme{ background: var(--lm-creme); }
.lm-section--blanc{ background: var(--lm-creme-alt); }
.lm-section--noir{ background: var(--lm-noir); color: #FFF; }

.lm-section__tete{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 30px;
}

.lm-section__tete .lm-surtitre{ margin-bottom: 8px; }

/* --- Filtres de la programmation ---------------------------------- */

.lm-filtres{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	padding: 0 0 30px;
}

.lm-filtres__groupe{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.lm-filtres__dates{ margin-left: auto; }

.lm-select{
	padding: 11px 16px;
	border: 1px solid var(--lm-trait);
	background: var(--lm-creme-alt);
	font-family: var(--lm-texte-fam);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lm-texte);
	cursor: pointer;
}

.lm-select:focus{ outline: 2px solid var(--lm-rouge); outline-offset: -2px; }
.lm-filtres--auto .lm-filtres__valider{ display: none; }

.lm-filtres__label{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-indent: 0.16em;
	color: var(--lm-gris);
	margin-right: 4px;
}

.lm-filtre{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 24px;
	border: 1px solid var(--lm-trait);
	background: transparent;
	font-family: var(--lm-texte-fam);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	text-indent: 0.14em;
	color: var(--lm-texte);
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.lm-filtre:hover{ border-color: var(--lm-noir); }
.lm-filtre.sel{ background: var(--lm-rouge); border-color: var(--lm-rouge); color: #FFF; }

/* --- Carte spectacle ---------------------------------------------- */


.lm-grille{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));
	gap: 34px 26px;
}

.lm-grille--large{ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.lm-carte{ display: flex; flex-direction: column; }

.lm-carte__affiche{
	position: relative;
	display: block;
	aspect-ratio: 2 / 3;
	background: #E6E3DA;
	overflow: hidden;
}

.lm-carte__affiche img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

.lm-carte:hover .lm-carte__affiche img{ transform: scale(1.03); }

.lm-carte__complet{
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 11px;
	background: var(--lm-noir);
	color: #FFF;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-indent: 0.14em;
}

.lm-carte__corps{ padding-top: 14px; display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; }

.lm-carte__artiste{
	font-family: var(--lm-titre);
	font-size: 23px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.lm-carte__titre{ font-size: 15px; line-height: 1.35; color: var(--lm-texte); }

.lm-carte__quand{
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--lm-gris);
	margin-top: 2px;
}


.lm-carte__action{ margin-top: auto; padding-top: 13px; }

.lm-vide{ padding: 40px 0; color: var(--lm-gris); }

/* --- Fiche spectacle ---------------------------------------------- */

.lm-fiche{ background: var(--lm-creme); }

.lm-fiche__bandeau{
	position: relative;
	background: var(--lm-noir);
	padding: 24px 0 0;
	min-height: 230px;
	overflow: hidden;
}

.lm-fiche__fond{ position: absolute; inset: 0; }
.lm-fiche__fond img{ width: 100%; height: 100%; object-fit: cover; opacity: 0.6; }
.lm-fiche__voile{ position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,12,15,0.38) 0%, rgba(6,12,15,0.62) 100%); }
.lm-fiche__retour{ position: relative; color: rgba(255,255,255,0.85); }
.lm-fiche__retour:hover{ color: #FFF; }

.lm-fiche__inner{
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 330px) minmax(0, 1fr);
	gap: 48px;
	padding: 0 0 48px;
	align-items: start;
}

.lm-fiche__affiche{ margin-top: -142px; }
.lm-fiche__affiche img{ width: 100%; height: auto; box-shadow: 0 18px 44px rgba(6, 12, 15, 0.32); }

.lm-fiche__texte{ display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 34px; }
.lm-fiche__artiste{ margin-top: 2px; }

.lm-fiche__titre{
	font-size: clamp(26px, 3vw, 38px);
	color: var(--lm-rouge);
	font-weight: 700;
}

.lm-fiche__quand{
	display: flex;
	flex-direction: column;
	gap: 9px;
	width: 100%;
	max-width: 560px;
	margin-top: 10px;
	padding-top: 20px;
	border-top: 1px solid var(--lm-trait);
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--lm-texte);
}

.lm-fiche__quand p{ display: flex; align-items: center; gap: 12px; }
.lm-fiche__quand .lm-picto{ flex: 0 0 auto; color: var(--lm-rouge); }

.lm-fiche__actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }

.lm-fiche__lieu{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
	padding-top: 20px;
	border-top: 1px solid var(--lm-trait);
	width: 100%;
	max-width: 520px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--lm-gris);
}

.lm-fiche__lieu .lm-picto{ color: var(--lm-rouge); }

.lm-fiche + .lm-section{ padding-top: 40px; }

.lm-fiche__lieu strong{ color: var(--lm-texte); }
.lm-fiche__site{ color: var(--lm-rouge); }

/* --- Dates -------------------------------------------------------- */

.lm-dates{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.lm-date{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 24px 18px 26px;
	background: var(--lm-creme-alt);
	text-align: center;
}

.lm-date__jour{
	font-family: var(--lm-titre);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.1;
	text-transform: uppercase;
}

.lm-date__heure{ font-size: 15px; color: var(--lm-gris); text-transform: uppercase; margin-bottom: 14px; }

/* --- Corps de texte ----------------------------------------------- */

.lm-texte{ font-size: 16px; line-height: 1.72; }
.lm-texte p{ margin: 0 0 1em; }
.lm-texte p:last-child{ margin-bottom: 0; }
.lm-texte strong{ font-weight: 700; }


.lm-texte a:not(.lm-btn):not(.lm-lien){ color: var(--lm-rouge); text-decoration: underline; }

.lm-spectacle{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}


.lm-spectacle--seul{ grid-template-columns: minmax(0, 1fr); }
.lm-spectacle--seul .lm-spectacle__texte{ max-width: 72ch; }

.lm-spectacle__titre{ margin-bottom: 20px; }

.lm-video{ position: relative; padding-top: 56.25%; background: var(--lm-noir); }
.lm-video iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.lm-citation{
	margin: 0 auto;
	max-width: 780px;
	padding-left: 26px;
	border-left: 3px solid var(--lm-rouge);
	font-size: 19px;
	line-height: 1.6;
	font-style: italic;
}

@media screen and (max-width: 900px) {

	.lm-fiche__inner{ grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px 0 40px; }
	.lm-fiche__affiche{ max-width: 300px; }
	.lm-spectacle{ grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

@media screen and (max-width: 560px) {

	.lm-fiche__actions{ width: 100%; }
	.lm-fiche__actions .lm-btn{ flex: 1 1 100%; }
	.lm-dates{ grid-template-columns: minmax(0, 1fr); }
}

/* --- Contact ------------------------------------------------------ */

.lm-contact{
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

.lm-equipe{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--lm-trait);
}

.lm-equipe__carte{
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 18px 20px 18px 0;
	border-bottom: 1px solid var(--lm-trait);
}

.lm-equipe__carte:nth-child(odd){ padding-right: 28px; }
.lm-equipe__carte:nth-child(even){ padding-left: 28px; border-left: 1px solid var(--lm-trait); }

.lm-equipe__role{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-indent: 0.14em;
	color: var(--lm-rouge);
}

.lm-equipe__nom{ font-size: 16px; font-weight: 600; }
.lm-equipe__lien{ font-size: 14px; color: var(--lm-gris); word-break: break-word; }

.lm-contact__infos{ display: flex; flex-direction: column; gap: 16px; }
.lm-contact__equipe{ display: flex; flex-direction: column; gap: 18px; padding-top: 6px; }

.lm-contact__personne{
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 16px;
	border-top: 1px solid var(--lm-trait);
	font-size: 15px;
}

.lm-contact__personne strong{ font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lm-gris); }
.lm-contact__ft{ padding-top: 10px; }
.lm-contact__form .lm-h2{ margin-bottom: 18px; }

/* --- Archives ----------------------------------------------------- */

.lm-affiches{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 18px;
}

.lm-affiches__item{ position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: #E6E3DA; }
.lm-affiches__item img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* --- Pages légales ------------------------------------------------ */

.lm-fiches{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lm-fiche-legale{
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px 24px 28px;
	background: var(--lm-creme-alt);
	border-top: 2px solid var(--lm-rouge);
}

.lm-fiche-legale__titre{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-indent: 0.16em;
	color: var(--lm-gris);
}

.lm-fiche-legale__valeur{
	font-family: var(--lm-titre);
	font-size: 21px;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--lm-texte);
	overflow-wrap: anywhere;
}

.lm-fiche-legale__valeur p{ margin: 0; }
.lm-fiche-legale__valeur a{ color: var(--lm-rouge); text-decoration: none; }
.lm-fiche-legale__valeur a:hover{ text-decoration: underline; }

.lm-donnees{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.lm-donnees__bloc{
	padding: 8px 36px 8px 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.65;
}

.lm-donnees__bloc + .lm-donnees__bloc{ padding-left: 36px; border-left: 1px solid var(--lm-trait-clair); }
.lm-donnees__bloc p{ margin: 0 0 0.9em; }
.lm-donnees__bloc p:last-child{ margin-bottom: 0; }

.lm-donnees__picto{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	margin-bottom: 20px;
	border: 1px solid var(--lm-rouge);
	border-radius: 50%;
	color: var(--lm-rouge);
}

.lm-donnees__titre{
	margin: 0 0 12px;
	font-family: var(--lm-titre);
	font-size: 24px;
	font-weight: 400;
	text-transform: uppercase;
	color: #FFF;
}

.lm-droits{
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 56px;
	padding: 32px 36px;
	border: 1px solid var(--lm-trait-clair);
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.65;
}

.lm-droits .lm-donnees__picto{ margin-bottom: 0; }
.lm-droits__texte{ flex: 1 1 auto; }
.lm-droits__texte p{ margin: 0; max-width: 70ch; }
.lm-droits .lm-btn{ flex: 0 0 auto; }

@media screen and (max-width: 900px) {

	.lm-contact{ grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.lm-donnees{ grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.lm-donnees__bloc,
	.lm-donnees__bloc + .lm-donnees__bloc{ padding: 0; border-left: 0; }
	.lm-droits{ flex-direction: column; align-items: flex-start; padding: 28px 24px; }

	.lm-equipe{ grid-template-columns: minmax(0, 1fr); }
	.lm-equipe__carte:nth-child(odd),
	.lm-equipe__carte:nth-child(even){ padding-left: 0; padding-right: 0; border-left: 0; }
}

/* --- Bandeau de consentement -------------------------------------- */

.lm-cookies{
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 400;
	max-width: 620px;
	margin: 0 auto;
	padding: 20px 24px;
	background: var(--lm-noir);
	color: rgba(255, 255, 255, 0.88);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	font-family: var(--lm-texte-fam);
	font-size: 14px;
	line-height: 1.5;
}

.lm-cookies[hidden]{ display: none; }

.lm-cookies__texte{ flex: 1 1 280px; margin: 0; }
.lm-cookies__texte a{ text-decoration: underline; }
.lm-cookies__actions{ flex: 0 0 auto; display: flex; gap: 10px; }
.lm-cookies .lm-btn--contour{ color: #FFF; border-color: rgba(255, 255, 255, 0.4); }
.lm-cookies .lm-btn--contour:hover{ background: #FFF; color: var(--lm-noir); border-color: #FFF; }

@media screen and (max-width: 560px) {

	.lm-cookies{ left: 12px; right: 12px; bottom: 12px; padding: 16px; }
	.lm-cookies__texte{ flex: 0 0 auto; width: 100%; }
	.lm-cookies__actions{ width: 100%; }
	.lm-cookies__actions .lm-btn{ flex: 1 1 0; }
}

.lm-spectacle__portrait{ position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #E6E3DA; }
.lm-spectacle__portrait img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lm-mots-plats{
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-indent: 0.14em;
	line-height: 1.7;
	color: var(--lm-texte);
}

/* --- Bloc image + texte ------------------------------------------- */


.lm-duo{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 0;
}

.lm-duo__media{ position: relative; min-height: 340px; }
.lm-duo__media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lm-duo__texte{ padding: 56px var(--lm-gut); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; background: var(--lm-creme); }
.lm-duo__texte p{ max-width: 46ch; }
.lm-duo__texte--sombre{ background: var(--lm-noir); color: rgba(255, 255, 255, 0.82); }
.lm-duo__texte--sombre .lm-h2{ color: #FFF; }
.lm-duo--inverse .lm-duo__media{ order: 2; }


.lm-duo__texte{
	padding-right: max(var(--lm-gut), calc(100% - var(--lm-max) / 2 + var(--lm-gut)));
	padding-left: 64px;
}

.lm-duo--inverse .lm-duo__texte{
	padding-left: max(var(--lm-gut), calc(100% - var(--lm-max) / 2 + var(--lm-gut)));
	padding-right: 64px;
}

.lm-banniere--haute .lm-banniere__inner{ min-height: 520px; padding: 110px var(--lm-gut); }

/* --- Repères chiffrés --------------------------------------------- */

.lm-reperes{ padding: 44px 0; }

.lm-reperes__liste{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.lm-reperes__liste li{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	padding: 0 16px;
	border-left: 1px solid var(--lm-trait-clair);
}

.lm-reperes__liste li:first-child{ border-left: 0; }

.lm-reperes__liste li::after{
	content: "";
	width: 34px;
	height: 2px;
	margin-top: 4px;
	background: var(--lm-rouge);
}

.lm-reperes__liste strong{
	font-family: var(--lm-titre);
	font-size: 34px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
	color: #FFF;
}

.lm-reperes__liste span{
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-indent: 0.16em;
	color: rgba(255, 255, 255, 0.62);
}

/* --- Galerie ------------------------------------------------------ */

.lm-galerie{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 18px;
}

.lm-galerie__item{ position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #E6E3DA; }
.lm-galerie__item img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lm-galerie__voir{
	position: absolute;
	inset: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	overflow: hidden;
}

.lm-galerie__voir img{ transition: transform 0.4s ease; }
.lm-galerie__voir:hover img,
.lm-galerie__voir:focus-visible img{ transform: scale(1.05); }
.lm-galerie__voir:focus-visible{ outline: 2px solid var(--lm-rouge); outline-offset: -2px; }

/* --- Photo agrandie ----------------------------------------------- */

.lm-fige{ overflow: hidden; }

.lm-zoom{
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 56px 72px;
}

.lm-zoom[hidden]{ display: none; }

.lm-zoom__fond{ position: absolute; inset: 0; background: rgba(6, 12, 15, 0.96); cursor: zoom-out; }

.lm-zoom__boite{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 100%;
	max-height: 100%;
}

.lm-zoom__image{
	max-width: 100%;
	max-height: calc(100vh - 140px);
	width: auto;
	height: auto;
	display: block;
	background: var(--lm-noir);
}

.lm-zoom__compteur{
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

.lm-zoom__bouton{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	background: rgba(6, 12, 15, 0.6);
	color: #FFF;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.lm-zoom__bouton:hover{ background: var(--lm-rouge); border-color: var(--lm-rouge); }
.lm-zoom__bouton[hidden]{ display: none; }

.lm-zoom__bouton--fermer{ top: 18px; right: 18px; }
.lm-zoom__bouton--prec{ top: 50%; left: 16px; transform: translateY(-50%); }
.lm-zoom__bouton--suiv{ top: 50%; right: 16px; transform: translateY(-50%); }

/* --- Blocs de présentation ---------------------------------------- */

.lm-intro{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 44px;
}

.lm-prestations{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
	border-top: 1px solid var(--lm-trait);
	padding-top: 32px;
}

.lm-prestations li{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	padding: 0 12px;
	border-left: 1px solid var(--lm-trait);
}

.lm-prestations li:first-child{ border-left: 0; }
.lm-prestations .lm-picto{ color: var(--lm-texte); }

.lm-prestations span{
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-indent: 0.14em;
}

.lm-trois{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 38px;
}

.lm-trois article{ display: flex; flex-direction: column; gap: 12px; }
.lm-trois p{ color: var(--lm-gris); }

/* --- Accès -------------------------------------------------------- */

.lm-acces{
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 48px;
	align-items: stretch;
}

.lm-acces__infos{ display: flex; flex-direction: column; gap: 32px; }

.lm-acces__adresse{ display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

.lm-transports{ display: flex; flex-direction: column; gap: 20px; }

.lm-transports li{
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--lm-trait);
	font-size: 15px;
	line-height: 1.5;
}

.lm-transports li:last-child{ border-bottom: 0; padding-bottom: 0; }

.lm-transports__pastille{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--lm-rouge);
	border-radius: 50%;
	color: var(--lm-rouge);
}
.lm-transports strong{ display: block; margin-bottom: 2px; }

.lm-contacts{ display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.lm-contacts li{ display: flex; align-items: center; gap: 12px; }
.lm-contacts .lm-picto{ color: var(--lm-rouge); }

@media screen and (max-width: 900px) {

	.lm-acces{ grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.lm-plan{ min-height: 340px; }
}

/* --- Carte -------------------------------------------------------- */

.lm-plan{
	position: relative;
	z-index: 0;
	min-height: 440px;
	height: 100%;
	background: #EFEDE3;
	overflow: hidden;
}

.lm-plan__toile{ position: absolute; inset: 0; }

.lm-plan__toile .leaflet-tile-pane{
	filter: grayscale(0.55) sepia(0.28) saturate(0.85) brightness(1.03) contrast(0.96);
}

.lm-plan__accord{
	position: absolute;
	inset: 0;
	z-index: 500;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 12px;
	padding: 32px;
	background: linear-gradient(180deg, rgba(6, 12, 15, 0.35) 0%, rgba(6, 12, 15, 0.82) 100%), #16191B;
	color: rgba(255, 255, 255, 0.86);
}

.lm-plan__accord[hidden]{ display: none; }
.lm-plan__accord .lm-surtitre{ color: var(--lm-rouge); }
.lm-plan__texte{ max-width: 42ch; font-size: 14px; line-height: 1.55; }
.lm-plan__secours{ margin-top: 14px; color: rgba(255, 255, 255, 0.78); }
.lm-plan__secours[hidden]{ display: none; }
.lm-plan__secours a{ color: var(--lm-rouge); text-decoration: underline; }

.lm-plan__repere svg{ display: block; filter: drop-shadow(0 6px 10px rgba(6, 12, 15, 0.35)); }

.lm-plan .lm-plan__etiquette{
	padding: 5px 11px;
	border: 0;
	border-radius: 2px;
	background: var(--lm-rouge);
	box-shadow: 0 4px 10px rgba(6, 12, 15, 0.28);
	font-family: var(--lm-texte-fam);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #FFF;
	white-space: nowrap;
}

.lm-plan .lm-plan__etiquette::before{ border-top-color: var(--lm-rouge); }

.lm-plan .leaflet-container{
	font-family: var(--lm-texte-fam);
	background: #EFEDE3;
}

.lm-plan .leaflet-control-attribution{
	background: rgba(247, 246, 239, 0.9);
	font-size: 11px;
	color: var(--lm-gris);
}

.lm-plan .leaflet-control-attribution a{ color: var(--lm-rouge); }

.lm-plan .leaflet-bar a{
	background: var(--lm-creme-alt);
	color: var(--lm-texte);
	border-bottom-color: var(--lm-trait);
}

.lm-plan .leaflet-bar a:hover{ background: var(--lm-creme); }

/* --- Questions fréquentes ----------------------------------------- */

.lm-faq{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.62fr);
	gap: 56px;
	align-items: stretch;
}

.lm-faq__colonne{ display: flex; flex-direction: column; }

.lm-faq__media{ position: relative; min-height: 320px; overflow: hidden; background: #E6E3DA; }
.lm-faq__media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lm-faq__tete{ display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.lm-faq__pied{ margin-top: 20px; font-size: 15px; color: var(--lm-gris); }
.lm-faq__pied a{ color: var(--lm-rouge); text-decoration: underline; }

.lm-faq__liste{ border-top: 1px solid var(--lm-trait); }
.lm-faq__item{ border-bottom: 1px solid var(--lm-trait); }

.lm-faq__question{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 2px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	transition: color 0.2s;
}

.lm-faq__question::-webkit-details-marker{ display: none; }
.lm-faq__question:hover{ color: var(--lm-rouge); }

.lm-faq__question::after{
	content: "";
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	border-right: 2px solid var(--lm-rouge);
	border-bottom: 2px solid var(--lm-rouge);
	transform: rotate(45deg) translate(-3px, -3px);
	transition: transform 0.2s;
}

.lm-faq__item[open] .lm-faq__question{ color: var(--lm-rouge); }
.lm-faq__item[open] .lm-faq__question::after{ transform: rotate(225deg) translate(-2px, -2px); }

.lm-faq__reponse{
	padding: 0 2px 22px;
	max-width: 62ch;
	font-size: 15px;
	line-height: 1.65;
	color: var(--lm-gris);
}

@media screen and (max-width: 900px){

	.lm-faq{ grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

/* --- Formulaire --------------------------------------------------- */

.lm-duo__texte--large p{ max-width: none; }

.lm-form{ width: 100%; display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.lm-form__ligne{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.lm-champ{ display: block; }

.lm-champ__label,
.lm-champ--cache{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.lm-champ--cache input{ width: 1px; height: 1px; padding: 0; border: 0; }

.lm-champ input,
.lm-champ select,
.lm-champ textarea{
	width: 100%;
	padding: 15px 18px;
	border: 1px solid rgba(6, 12, 15, 0.18);
	border-radius: 6px;
	background-color: transparent;
	font-family: var(--lm-texte-fam);
	font-size: 15px;
	line-height: 1.4;
	color: var(--lm-texte);
}

.lm-champ input::placeholder,
.lm-champ textarea::placeholder{ color: var(--lm-gris); opacity: 1; }

.lm-champ select{
	appearance: none;
	-webkit-appearance: none;
	padding-right: 46px;
	cursor: pointer;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23060C0F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 14px 9px;
}

.lm-champ select:invalid{ color: var(--lm-gris); }

.lm-champ textarea{ resize: vertical; min-height: 128px; }
.lm-champ input:focus,
.lm-champ select:focus,
.lm-champ textarea:focus{ outline: 2px solid var(--lm-rouge); outline-offset: -2px; }

.lm-form .lm-btn--bloc{ margin-top: 6px; }

.lm-form__pied{
	width: 100%;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid var(--lm-trait);
	font-size: 14px;
	line-height: 1.6;
	color: var(--lm-gris);
	text-align: center;
}

.lm-form__pied .email{ display: block; color: var(--lm-rouge); }

@media screen and (max-width: 900px) {

	.lm-intro{ grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 32px; }
	.lm-prestations{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; }
	.lm-prestations li{ border-left: 0; }
	.lm-trois{ grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.lm-duo__texte--large{ max-width: none; }
}

@media screen and (max-width: 560px) {

	.lm-form__ligne{ grid-template-columns: minmax(0, 1fr); }
}

/* --- Appel de fin de page ----------------------------------------- */

.lm-appel{
	position: relative;
	padding: 56px 0;
	background: var(--lm-noir);
	overflow: hidden;
}

.lm-appel__fond{ position: absolute; inset: 0; }
.lm-appel__fond img{ width: 100%; height: 100%; object-fit: cover; }

.lm-appel__voile{
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6,12,15,0.62) 0%, rgba(6,12,15,0.88) 26%, rgba(6,12,15,0.92) 62%, rgba(6,12,15,0.70) 100%);
}

.lm-appel__inner{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.lm-appel .lm-h2{ color: #FFF; margin-top: 8px; }

.lm-appel--colonne{ padding: 76px 0; }

.lm-appel--colonne .lm-appel__voile{
	background: linear-gradient(90deg, rgba(6, 12, 15, 0.94) 0%, rgba(6, 12, 15, 0.86) 32%, rgba(6, 12, 15, 0.38) 62%, rgba(6, 12, 15, 0.10) 100%);
}

.lm-appel--colonne .lm-appel__inner{ display: block; }

.lm-appel__texte{
	max-width: 520px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.lm-appel__texte .lm-h2{ margin-top: 0; }
.lm-appel__texte p{ color: rgba(255, 255, 255, 0.82); }


.lm-section--noir + .lm-section--noir{ padding-top: 0; }

@media screen and (max-width: 900px) {

	.lm-reperes__liste{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	.lm-reperes__liste li:nth-child(odd){ border-left: 0; }
}

/* --- Responsive --------------------------------------------------- */

@media screen and (max-width: 1100px){

	.lm-header__inner { gap: 20px; }
	.lm-nav__liste { gap: 18px; font-size: 11px; letter-spacing: 0.09em; }
	.lm-header__logo img { width: 172px; }
	.lm-header__resa { padding-left: 14px; padding-right: 14px; }
}

@media screen and (max-width: 900px) {

	:root{ --lm-gut: 22px; }

	.lm-faq{ grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.lm-faq__media{ min-height: 220px; order: -1; }

	.lm-nav{ display: none; }
	.lm-burger{ display: inline-flex; }

	.lm-nav.is-ouvert{
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--lm-noir);
		border-top: 1px solid var(--lm-trait-clair);
		padding: 10px 0 18px;
	}

	.lm-nav.is-ouvert .lm-nav__liste{ flex-direction: column; gap: 0; padding: 0 var(--lm-gut); }
	.lm-nav.is-ouvert .lm-nav__liste a{ padding: 14px 0; border-bottom: 1px solid var(--lm-trait-clair); }
	.lm-nav.is-ouvert .lm-nav__liste a::after{ content: none; }
	.lm-nav.is-ouvert .lm-nav__liste li:last-child a{ border-bottom: 0; }

	.lm-nav.is-ouvert .lm-nav__liste a.sel{ color: var(--lm-rouge); }

	.lm-langues--barre{ display: none; }
	.lm-nav.is-ouvert .lm-langues--menu{
		display: flex;
		margin-top: 8px;
		padding: 14px var(--lm-gut) 0;
		border-top: 1px solid var(--lm-trait-clair);
		font-size: 13px;
	}

	.lm-header__inner{ position: relative; gap: 16px; }
	.lm-header__logo img{ width: 168px; }

	.lm-banniere__inner{ padding: 64px var(--lm-gut); min-height: 260px; }
	.lm-banniere__voile{ background: linear-gradient(180deg, rgba(6, 12, 15, 0.42) 0%, rgba(6, 12, 15, 0.78) 100%); }

	.lm-duo{ grid-template-columns: minmax(0, 1fr); }
	.lm-duo__media{ min-height: 250px; }
	.lm-duo--inverse .lm-duo__media{ order: 0; }


	.lm-duo__texte,
	.lm-duo--inverse .lm-duo__texte{ padding-left: var(--lm-gut); padding-right: var(--lm-gut); }

	.lm-section{ padding: 48px 0; }

	.lm-footer__haut{ gap: 28px; }


	.lm-footer__infos,
	.lm-footer__lettre{ flex: 0 0 auto; width: 100%; }
}

@media screen and (max-width: 640px) {

	.lm-grille{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
	.lm-carte__artiste{ font-size: 17px; }
	.lm-filtres{ gap: 8px; }
	.lm-filtres__label{ width: 100%; margin-bottom: 2px; }
	.lm-filtres__dates{ margin-left: 0; width: 100%; }
	.lm-section__tete{ margin-bottom: 20px; }
	.lm-footer__bas-inner{ flex-direction: column; }

	.lm-zoom{ padding: 64px 12px 24px; }
	.lm-zoom__image{ max-height: calc(100vh - 160px); }
	.lm-zoom__bouton{ width: 40px; height: 40px; font-size: 22px; }
	.lm-zoom__bouton--prec{ top: auto; bottom: 16px; left: 24%; transform: none; }
	.lm-zoom__bouton--suiv{ top: auto; bottom: 16px; right: 24%; transform: none; }
}


@media screen and (max-width: 420px){

	.metro5,
	.metro6 { white-space: normal; }

	.metro5 { padding-left: 0; background-position: 0 100%; padding-bottom: 76px; min-height: 0; }
}

/* --- Mouvement réduit --------------------------------------------- */

@media (prefers-reduced-motion: reduce){

	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-delay: 0ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		transition-delay: 0ms !important;
		scroll-behavior: auto !important;
	}

	[data-aos] {
		opacity: 1 !important;
		transform: none !important;
	}
}
