/**********
 * Global *
 *********/
:root {
	--global-primary-color: #62524e;
	--global-secondary-color: #c03d37;
	--global-text-color: #FFF;
	--global-background-color: #222;
	--global-title-font: "Poppins", "Arial", sans-serif;
	--global-text-font: "Poppins", "Arial", sans-serif;
	--bg-green: #38c0a7;
	--bg-red: #ad0a02;
}
* {
	box-sizing: border-box;
}
 
html{
	margin: 0px;
	padding: 0px;
	color: var(--global-text-color);
	background: #FFF;
	height: 100%;
	font-size: 18px;
	border: 0px solid transparent;
	font-family: var(--global-text-font);
	font-weight: 400;
}
body{
	margin: 0px;
	padding: 0px;
	width: 100%; 
	position:relative;
	height:100%;
	direction: ltr;
}
a { 
	outline: none;
	text-decoration: none;
	cursor: pointer;
	color: inherit;
}
a.zoom img{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;	
}
a.zoom:hover img{
	-ms-transform: scale(1.05); /* IE 9 */
	-webkit-transform: scale(1.05); /* Safari 3-8 */
	transform: scale(1.05);
	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
img { 
	border: none;
}
p {
	line-height: 130%;
	font-size: 20px;
}
p.pcontact{
	line-height: 30px;
	padding: 20px;
	border: solid 1px var(--bg-red);
}
:focus {outline:none;}
::-moz-focus-inner {border:0;}
::-moz-selection { color: #FFF; background: var(--global-secondary-color); }
::selection  { color: #FFF; background: var(--global-secondary-color); }
button, select{
	background: #FFF;
	border: solid 1px #000;
	padding: 5px;
	font-size: 16px;
}
::-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!important; }
.alr{ text-align: right; }
.alj{ text-align: justify!important; }
.prel { position: relative; }
.dib { display: block; }
.ovhid { overflow: hidden; }
.fin{
	clear:both;
	line-height:0;
	height:0;
	font-size:1px;
}
.pure-g [class*="pure-u"] {
	font-family: var(--global-text-font);
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.flex.sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex.sa {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flex.start {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start; 
}
.flex.end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end; 
}
.flex.jcc {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex.ac {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flex.col { 
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column; 
}
.fb50{ flex-basis: 50%; }
.fb100{ flex-basis: 100%; }
.acc {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.ac {
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}
.as {
	-ms-flex-item-align: start;
	align-self: flex-start;
}
.wrap {
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}
.ttu{
	text-transform: uppercase;
}
.pt25 {
	padding-top: 25px;
}
.pt50 {
	padding-top: 50px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb25 {
	padding-bottom: 25px;
}
.pl15 {
	padding-left: 15px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb50 {
	padding-bottom: 50px;
}
.ptb20 {
	padding: 20px 0;
}
.ptb25 {
	padding: 25px 0;
}
.plr25{
	padding: 0 25px;
}
.plr50{
	padding: 0 50px;
}
.plr100{
	padding: 0 100px;
}
.pt10 {
	padding: 10px 0 0 0;
}
.ptb5 {
	padding: 5px 0;
}
.ptb10 {
	padding: 10px 0;
}
.ptb50 {
	padding: 50px 0;
}
.pad15 {
	padding: 15px;
}
.pad25 {
	padding: 25px;
}
.pad30 {
	padding: 30px;
}
.pad50 {
	padding: 50px;
}
.mt50{
	margin-top: 50px;
}
.mt100{
	margin-top: 100px;
}
.mt150{
	margin-top: 150px;
}
.mtb10{
	margin: 10px 0;
}
.mt50{
	margin: 50px 0 0 0;
}
.mtb20{
	margin: 20px 0;
}
h2{
	font-size: 48px;
}
h2.big{
	font-size: 70px;
	font-family: "Poppins", "Arial", sans-serif;
}
h3.spec{
	font-size: 46px;
	text-transform: uppercase;
	color: #000;
	text-align: center;
}
p.big{
	font-size: 30px;
	font-weight: 600;
	line-height: 44px;
	margin: 0 auto;
}
#strErreur, 
#strInfo,
#strValide,
#strLink{ display: none; }
#map-canvas{ width: 100%; height: 250px; }
.m0auto {margin: 0 auto;}
.mobile_menu_button {
	display: none;
}
.w100{ width: 100%; }
.h100{ height: 100%; }
/**********/
h1,h2,h3,h4{ margin: 0px; }
html, body {height: 100%;}
* {margin:0;padding:0;}
/*********
 * FONTS *
 ********/
@font-face {
    font-family: 'Mechta';
    src: url('/font/Mechta-Regular.eot');
    src: local('Mechta Regular'), local('Mechta-Regular'),
        url('/font/Mechta-Regular.eot?#iefix') format('embedded-opentype'),
        url('/font/Mechta-Regular.woff2') format('woff2'),
        url('/font/Mechta-Regular.woff') format('woff'),
        url('/font/Mechta-Regular.ttf') format('truetype'),
        url('/font/Mechta-Regular.svg#Mechta-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lemon/Milk';
    src: url('/font/LemonMilk.eot');
    src: local('Lemon/Milk'), local('LemonMilk'),
        url('/font/LemonMilk.eot?#iefix') format('embedded-opentype'),
        url('/font/LemonMilk.woff2') format('woff2'),
        url('/font/LemonMilk.woff') format('woff'),
        url('/font/LemonMilk.ttf') format('truetype'),
        url('/font/LemonMilk.svg#LemonMilk') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lemon/Milk';
    src: url('/font/LemonMilklight.eot');
    src: local('Lemon/Milk light'), local('LemonMilklight'),
        url('/font/LemonMilklight.eot?#iefix') format('embedded-opentype'),
        url('/font/LemonMilklight.woff2') format('woff2'),
        url('/font/LemonMilklight.woff') format('woff'),
        url('/font/LemonMilklight.ttf') format('truetype'),
        url('/font/LemonMilklight.svg#LemonMilklight') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'ITC Avant Garde Std Md';
    src: url('/font/ITCAvantGardeStd-Md.eot');
    src: local('ITC Avant Garde Gothic Std Medium'), local('ITCAvantGardeStd-Md'),
        url('/font/ITCAvantGardeStd-Md.eot?#iefix') format('embedded-opentype'),
        url('/font/ITCAvantGardeStd-Md.woff2') format('woff2'),
        url('/font/ITCAvantGardeStd-Md.woff') format('woff'),
        url('/font/ITCAvantGardeStd-Md.ttf') format('truetype'),
        url('/font/ITCAvantGardeStd-Md.svg#ITCAvantGardeStd-Md') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'ITC Avant Garde Std Md';
    src: url('/font/ITCAvantGardeStd-Bk.eot');
    src: local('ITC Avant Garde Gothic Std Book'), local('ITCAvantGardeStd-Bk'),
        url('/font/ITCAvantGardeStd-Bk.eot?#iefix') format('embedded-opentype'),
        url('/font/ITCAvantGardeStd-Bk.woff2') format('woff2'),
        url('/font/ITCAvantGardeStd-Bk.woff') format('woff'),
        url('/font/ITCAvantGardeStd-Bk.ttf') format('truetype'),
        url('/font/ITCAvantGardeStd-Bk.svg#ITCAvantGardeStd-Bk') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'ITC Avant Garde Std Md';
    src: url('/font/ITCAvantGardeStd-Bold.eot');
    src: local('ITC Avant Garde Gothic Std Bold'), local('ITCAvantGardeStd-Bold'),
        url('/font/ITCAvantGardeStd-Bold.eot?#iefix') format('embedded-opentype'),
        url('/font/ITCAvantGardeStd-Bold.woff2') format('woff2'),
        url('/font/ITCAvantGardeStd-Bold.woff') format('woff'),
        url('/font/ITCAvantGardeStd-Bold.ttf') format('truetype'),
        url('/font/ITCAvantGardeStd-Bold.svg#ITCAvantGardeStd-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Flama Condensed Basic';
    src: url('/font/FlamaCondensed-Basic.eot');
    src: local('FlamaCondensed-Basic'),
        url('/font/FlamaCondensed-Basic.eot?#iefix') format('embedded-opentype'),
        url('/font/FlamaCondensed-Basic.woff2') format('woff2'),
        url('/font/FlamaCondensed-Basic.woff') format('woff'),
        url('/font/FlamaCondensed-Basic.ttf') format('truetype'),
        url('/font/FlamaCondensed-Basic.svg#FlamaCondensed-Basic') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Flama Condensed';
    src: url('/font/FlamaCondensed-Medium.eot');
    src: local('FlamaCondensed-Medium'),
        url('/font/FlamaCondensed-Medium.eot?#iefix') format('embedded-opentype'),
        url('/font/FlamaCondensed-Medium.woff2') format('woff2'),
        url('/font/FlamaCondensed-Medium.woff') format('woff'),
        url('/font/FlamaCondensed-Medium.ttf') format('truetype'),
        url('/font/FlamaCondensed-Medium.svg#FlamaCondensed-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Flama Condensed Book';
    src: url('/font/FlamaCondensed-Book.eot');
    src: local('FlamaCondensed-Book'),
        url('/font/FlamaCondensed-Book.eot?#iefix') format('embedded-opentype'),
        url('/font/FlamaCondensed-Book.woff2') format('woff2'),
        url('/font/FlamaCondensed-Book.woff') format('woff'),
        url('/font/FlamaCondensed-Book.ttf') format('truetype'),
        url('/font/FlamaCondensed-Book.svg#FlamaCondensed-Book') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Pontiac';
    src: url('/font/PontiacRegular.eot');
    src: url('/font/PontiacRegular.eot?#iefix') format('embedded-opentype'),
        url('/font/PontiacRegular.woff2') format('woff2'),
        url('/font/PontiacRegular.woff') format('woff'),
        url('/font/PontiacRegular.ttf') format('truetype'),
        url('/font/PontiacRegular.svg#PontiacRegular') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
/*************
**** BODY ****
**************/
.flex-1 {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 0px;
	flex: 1 1 0;
}
.flex-2 {
	-webkit-box-flex: 2;
	-ms-flex: 2 1 0px;
	flex: 2 1 0;
}
.le-projet,.contact,.mentions,.histoire{
	min-height: 100%;
	width: 100%;
}
.content_max_width {	
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
}
.reg_contentTop{	
	width: 100%;
	padding: 0 30px 0;
}
.accueil .contenuGeneral {
	position:relative;
	height:100%; 
	padding:0;
}
.accueil .reg_contentBot{
	width:100%;	
	color:#FFFFFF;		
}
.reg_content {
	width: 95%;
	max-width: 1366px;
	display: block;
	margin: 0 auto;
	overflow: hidden;
}
.titlePara1{
	font-weight: 600;
	font-size: 14px;
	text-align: center;
	padding-bottom: 10px;
	text-transform: uppercase;
}
.titlePara2{
	font-weight: 600;
	font-size: 24px;
	text-transform: uppercase;
	padding: 0 0 10px 0;
	color: #a3a2a1;
}
.accueil .pad_spe {
	padding: 0 10px;
}
/* Liste programmations */
.programmations_liste h2 {
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	color: #fff;
	z-index: 10;
	text-transform: uppercase;
	text-align: center;
	font-size: 46px;
	line-height: 42px;
	font-family: var(--global-title-font);
	width: 100%;
	font-weight: 400;
	padding: 0 5px;
	letter-spacing: 0.5px;
	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;	
}
.programmations_liste.cesoir{
	border-bottom: solid 1px #000;
	padding-bottom: 40px;
	margin-bottom: 50px;
}
.programmations_liste img {
	width: 100%;
	display: block;
}
.programmations_liste .programmation a {
	display: block;
}
.programmations_liste .programmation_date {
	position: absolute;
	top: -92%;
	z-index: 1;
	padding: 20px 15px 25px;
	font-size: 21px;
	line-height: 23px;
	color: #fff;
	width: 150%;
	text-align: center;
	border-radius: 0 0 100% 100%;
	height: 92%;
	left: 50%;
	transform: translateX(-50%);
	text-transform: uppercase;
	font-family: var(--global-extra-font-2);
	background-color: var(--global-secondary-color);
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.programmations_liste .programmation:hover  .programmation_date {
/*	display: block;*/
	-webkit-animation: bottomReveal .3s forwards;
	animation: bottomReveal .3s forwards;
}
.programmations_liste .programmation:hover h2{
	color: var(--global-secondary-color);
	text-shadow: 2px 2px 2px #000;
	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;	
}
.petit_palais_des_glaces .programmations_liste .programmation_date {
	height: 92%;
	bottom: -92%;
	width: 120%;
	font-size: 18px;
	line-height: 21px;
	padding: 25px 18px 32px 18px;
}
.petit_palais_des_glaces .programmations_liste h2 {
	bottom: 5%;
	font-size: 36px;
	line-height: 34px;
}
.petit_palais_des_glaces .programmations_liste .programmation:hover  .programmation_date {
/*	display: block;*/
	-webkit-animation: bottomReveal2 .3s forwards;
	animation: bottomReveal2 .3s forwards;
}
@-webkit-keyframes bottomReveal {
	0% {
		opacity: 0;
	}  
  	100% {
    	opacity: 1;
    	top: -75%;
  	}
}
@keyframes bottomReveal {
  	0% {
    	opacity: 0;
  	}  
  	100% {
    	opacity: 1;
    	top: -75%;
  	}
}
@-webkit-keyframes bottomReveal2 {
	0% {
		opacity: 0;
	}  
  	100% {
    	opacity: 1;
    	top: -70%;
  	}
}
@keyframes bottomReveal2 {
  	0% {
    	opacity: 0;
  	}  
  	100% {
    	opacity: 1;
    	top: -70%;
  	}
}
.programmations_liste p{
	padding: 25px;
	font-size: 18px;
	margin: 0px;
	line-height: 24px;
}
.programmations_liste p strong{
	font-size: 22px;
}
.follow i{
	font-size: 22px;
	color: #a3a2a1;
	margin: 0 7px 0 10px;
}
.programmations_liste-item{
	border-bottom: solid 1px #a3a2a1;
	padding: 30px 0;
}
.programmations_liste-item .resa_links {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.programmations_liste-item .resa_links a {
	display: inline-block;
	margin-right: 20px;
}
.programmations_liste-item img{
	display: block;
	max-width: 350px;
}
/*************************
***  DÉTAIL PROGRAMME  ***
*************************/
.detail_programme .programme_artiste {
	font-family: var(--global-title-font);
	text-transform: uppercase;
	color: var(--bg-red);
	font-size: 60px;
	line-height: 100%;
}
.detail_programme .programme_titre {
	font-family: var(--global-title-font);
	text-transform: uppercase;
	font-size: 40px;
	line-height: 100%;
}
.detail_programme .programme_description {
	font-family: var(--global-text-font);
	font-weight: 400;
	line-height: 24px;
	font-size: 20px;
	padding-bottom: 40px;
}
.detail_programme .programme_description b,
.detail_programme .programme_description strong {
	font-family: var(--global-extra-font-1);
	font-weight: 700;
}
.detail_programme .programme_date {
	text-transform: uppercase;
	font-size: 28px;
	font-weight: 500;
	font-family: var(--global-text-font);
}
.detail_programme .programme_video {
	padding-top: 25px;
}
.detail_programme_image .pad25 {
	height: 100%;
}
.detail_programme_image img {
	width: 100%;
}
.detail_programme_video {
	padding-top: 15px;
}
.detail_programme_video a {
	padding: 8px;
	border: 2px solid var(--global-secondary-color);
	margin-left: 10px;
}
.detail_programme_video a:hover {
  background-color: var(--global-secondary-color);
  border-color: var(--global-secondary-color);
  color: #fff;
}
.detail_programme_image .btnStd {
	margin: 70px auto 0 auto;
	display: block;
}
.detail_programme_image .btnStd:last-child {
	margin-top: 25px;
}
.programme_link{
	margin-top: 20px;
}
.programme_link a{
	font-size: 14px;
}
.logoBot img{
	width: 100%;
	max-width: 400px;
}
.inputNews{
	border-radius: 10px;
	border: none;
	min-width: 0;
}
.validNews{
	margin-left: 10px;
	border-radius: 90px;
	font-weight: 700;
}

.video-container {
	text-align: center;
}

.evenementiel .video-container{
	height:550px;
	overflow:hidden;
}

video {
	width: 100%;
}

.accueil video{
	max-width: 690px;
}

/*****************
***  ARCHIVES  ***
*****************/
.archives .item img {
	max-width: 104px;
	width: 100%;
}
/****************
***  HISTOIRE ***
****************/
.histoire_content_pad {
	padding: 25px;
}
.histoire .histoire_container{
	max-height: 1320px;
	overflow-y: scroll;
	padding-right: 30px;
	/*-ms-overflow-style: none;  /* IE and Edge */
  	/*scrollbar-width: 5px;  /* Firefox */
  	/*scrollbar-color: #d4aa70 #e4e4e4;*/
  	/*transition: scrollbar-color 0.3s ease-out;*/
}
/*.histoire .texte:hover {
	scrollbar-color: #5749d2;
}*/
/*.histoire .texte::-webkit-scrollbar-thumb {
    border: 5px solid transparent;
    background-image: linear-gradient(180deg, #D0368A 0%, #708AD4 99%);
    box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
    border-radius: 100px;
    background-color: #8070d4;
    background-clip: content-box;
}*/
/*.histoire .texte::-webkit-scrollbar {
  display: none;
}*/
.histoire_container img {
	width: 100%;
}
/********************
***  ÉVÉNEMENTIEL ***
********************/
.evenementiel_container p {
	padding-right: 50px;
}
.evenementiel_container img {
	width: 100%;
	display: block;
}
/***********************
***  INFOS PRATIQUES ***
***********************/
.infos strong span{ color: var(--global-secondary-color); }
.infos_pratiques address {
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
}
.infos_pratiques .contact_numero {
	font-family: var(--global-extra-font-1);
	font-weight: 500;
	font-size: 21px;
}
.infos_pratique_carte iframe {
	border: 2px solid #000;
}
/* Accès */
.infos_pratique_acces img {
	width: auto;
	max-width: 100%;
}
.infos_pratique_acces .transports img {
	margin-right: 10px;
}
.infos_pratique_acces .velib img {
	margin-right: 20px;
}
.infos_pratique_acces .parking img {
	margin-right: 20px;
}
/********************
***  PARTENAIRES  ***
********************/


/********************
***  GENERAL  ***
********************/
.global_page_title {
	font-size: 36px;
	font-weight: 400;
	text-transform: uppercase;
	font-family: var(--global-title-font);
	color: var(--global-secondary-color);
	line-height: 100%;
	padding: inherit 15px;
}
.global_page_title.spe {
	font-size: 40px;
	font-weight: 300;
	font-family: var(--global-extra-font-1);
	line-height: 120%;
}
.global_page_title strong {
	color: var(--global-text-color);
}
.right_social_links {
	position: fixed;
	right: -12px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}
.right_social_links_container {
	padding: 25px;
	border-radius: 120px 0 0 120px;
	background-color: #000;
}
.right_social_links_container a {
	color: #fff;
	display: block;
	padding: 3px 0;
}
/********************
**** BACK TO TOP ****
********************/
#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;	
}
/********
*  TOP  *
*********/
.reg_topGauche { float: left; }
.reg_topDroite { float: right; }
.reg_topGauche a,.reg_topGauche img{ display: block;}
.contentMenuTop { padding:10px 0 30px 0; }
.tabMenu {
	position: relative;
	min-height: 30px;
}
.tabMenu {
	padding: 15px 0;
}
.tabMenu .menu_item {
	position: relative;
}
.tabMenu .menu_item > a{
	display: block;
	font-size: 20px;
	margin: 0 44px;
	white-space: nowrap;
	font-family: 'Pontiac';
}
/*.tabMenuCont{ 
	position: fixed;
	z-index: 100;
}*/
.tabMenu a.sel,
.tabMenu a:hover { 
	color: var(--global-secondary-color);
}
.sub_menu {
	display: none;
	opacity: 0;
	position: absolute;
	top: 20px;
	left: -50%;
	padding: 0 15px;
	width: 300%;
	z-index: 10000000;
	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;	
}
.sub_menu a {
	font-size: 16px;
	display: block;
	margin: 15px 30px 5px 30px;
	font-family: 'Pontiac';
}
a:hover ~ .sub_menu,
.sub_menu:hover {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
	opacity: 1;
	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;	
}
.main_mobile_menu {display: none;}
.bg-black{
	background: #000;
}
.bg-white{
	background: #FFF;
}
.c-black{
	color: #000;
}
.c-white{
	color: #FFF;
}
.logo{
	position: fixed;
	z-index: 99999;
	top: 20px;
}
.logo a{
	display: block;
}
.logo img{
	width: 100%;
	max-width: 35px;
}
.bloc-resa-content{
    display: flex;
    justify-content: flex-end;
	position: sticky;
	bottom: 0px;
	right: 0px;	
	z-index: 999;
}
.bloc-resa{
	padding: 30px;
	background: var(--bg-red);
	width: 25vw;
	text-align: center;
	margin-right: 2.5vw;
}
.bloc-resa.resa{
	margin: 0 auto;
}
.bloc-resa-content-bis{
    display: flex;
    justify-content: flex-end;
}
.bloc-resa-bis{
	padding: 30px;
	background: var(--bg-red);
	width: 30vw;
	text-align: center;
	margin-right: 5vw;	
}
.bloc-resa-bis.big{
	width: 50vw;
}
.bloc-resa-bis.resa{
	margin: 0 auto;
	background: none;
	padding: 0;
	min-height: 1000px;
}
.bloc-resa-bis.resa h2{
	text-transform: uppercase;
   	transform: rotate(-90deg);
    display: inline-block;
	position: relative;
	left: -17vw;
	top: 160px;
	font-family: "Poppins", "Arial", sans-serif;
	color: #000;
}
.bloc-resa-bis.resa .lignes{
	margin-bottom: 10px;
	padding: 20px;
	background: #000;
	color: #FFF;
}
.bloc-resa-bis img{
	width: 100%;
}
.bloc-resa-spectacle{
	max-width: 720px;
	margin: 0 auto;
	color: #000;
	padding-bottom: 150px;
}
.actuDateTxt{
	color: #FFF;
	font-size: 20px;
	font-weight: 500;
}
.dateresa{
	color: #000;
}
.dateresa strong{
	font-size: 22px;
}
.resaTop{
	position: fixed;
	color: #FFF;
	padding: 10px 15px;
	display: block;
	top: 20px;
	right: 130px;
	z-index: 99999;
	font-weight: 600;
	font-size: 24px;
	font-family: "Poppins", "Arial", sans-serif;
    -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;		
}
.resaTop i{
	transform: rotate(-40deg);
	margin-right: 15px;
}
.acceder-au-theatre .resaTop,
.reservations .resaTop,
.le-lieu .resaTop,
.histoire-du-palais-des-glaces .resaTop,
.archives .resaTop{
	color: #000;
}
/* Bouton menu */
.menu-toggle {
	position: fixed;
	top: 15px;
	right: 15px;
	background: #FFF;
	color: #000;
	border: none;
	font-size: 26px;
	cursor: pointer;
	z-index: 99998;
	transition: transform 0.3s ease;
	border-radius: 120px;
	width: 50px;
	height: 50px;
	padding: 0px;
	text-align: center;
	line-height: 50px;
}
/* Le menu latéral */
.menu {
	position: fixed;
	top: 0;
	right: -430px;
	width: 430px;
	height: 100%;
	background: #FFF;
	color: #000;
	padding-top: 80px;
	z-index: 99997;
	transition: right 0.3s ease-in-out;
	box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
	font-family: "Poppins", "Arial", sans-serif;
}
.menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
	padding: 0 50px;
}
.menu ul li {
	position: relative;
	padding: 15px;
	border-bottom: 1px solid #eaeaea;
}
.menu ul li:last-child{
	border-bottom: none;
}
.menu ul li a {
	color: #000;
	text-decoration: none;
	font-size: 22px;
	display: block;
	font-weight: 800;
}
.menu ul.submenu li a{
	font-size: 14px;
	font-weight: 400;
}
/* Sous-menus */
.submenu {
	display: none;
}
.menu ul.submenu {
	padding: 15px 0 0 0;
}
.menuReseau{
	padding: 30px 0 0 0;
}
.submenu li {
	padding: 10px;
	border-bottom: 1px solid #eaeaea;
}
.submenu li a {
	font-size: 16px;
}
/* Flèche pour ouvrir/fermer le sous-menu */
.toggle-submenu,
.toggle-faq {
	position: absolute;
	right: 15px;
	top: 15px;
	cursor: pointer;
	font-size: 20px;
	transition: transform 0.3s ease;
	color: #000;
}
.faq_list_item .toggle-faq{
	color: #000;
}
.submenu-active .toggle-submenu,
.faq-active .toggle-faq {
	transform: rotate(180deg);
}
/* Active le menu principal */
.menu.active {
	right: 0;
}
a.resaTop:has(+ button.active) {
	color: #000;
}
/* Changement du bouton menu en croix */
.menu-toggle.active {
	transform: rotate(90deg);
	background: #000;
}
.menu-toggle.active i{
	color: #FFF;
}
/* SLIDE */
.slick-slider {
    position: relative;
    z-index: 1;
}
.slick-prev::before, .slick-next::before{
	font-size: 60px;
	color: #000;
}
.accueil .slider4 .slick-prev::before, .accueil .slider4 .slick-next::before{
	font-size: 60px;
	color: #FFF;
}
.slick-next{
	right: -50px;
	z-index: 99999;
	width: 55px;
	height: 100%;
	/* background: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0)), color-stop(50%, rgba(34,34,34,0.2)), to(#AAA));
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(34,34,34,0.2) 50%, #AAA 100%); */
}
.slick-prev{
	left: -50px;
	z-index: 99999;
	width: 55px;
	height: 100%;
	/* background: -webkit-gradient(linear, right top, left top, from(rgba(0,0,0,0)), color-stop(50%, rgba(34,34,34,0.2)), to(#AAA));
	background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(34,34,34,0.2) 50%, #AAA 100%); */
}
.slick-next:hover, .slick-next:focus{
	/* background: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0)), color-stop(50%, rgba(34,34,34,0.2)), to(#AAA));
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(34,34,34,0.2) 50%, #AAA 100%); */
}
.slick-prev:hover, .slick-prev:focus{
	/* background: -webkit-gradient(linear, right top, left top, from(rgba(0,0,0,0)), color-stop(50%, rgba(34,34,34,0.2)), to(#AAA));
	background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(34,34,34,0.2) 50%, #AAA 100%); */
}
.slick-slide {
    display: flex !important;
    justify-content: center; 
    align-items: start;
	position: relative;
}
.slick-slide a {
	display: inline-block;
	height: 100%;
}
.slick-slide img {
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: cover;
}
.slider-nav {
	display: flex;
	justify-content: center;
	gap: 10px;
	padding: 20px;
	background-color: #f1f1f1;
}
.slider-nav button {
	padding: 10px 20px;
	border: none;
	background-color: #ddd;
	cursor: pointer;
}
.slider-nav button.active {
	background-color: var(--bg-red);
	color: white;
}
.slick-dots li button::before {
	font-size: 12px;
	color: white !important;
}
.slick-dots{
	bottom: 30px;
}
.detail-programme .slider.resa .slick-slide{
	height: 75vh;
}
.evenementiel .slick-slide,
.histoire-du-palais-des-glaces .slick-slide,
.le-lieu .slick-slide,
.groupe-ce .slick-slide,
.partenaires .slick-slide,
.faq .slick-slide,
.acceder-au-theatre .slick-slide,
.archives .slick-slide,
.la-loge .slick-slide{
	/* height: 60vh; */
}
h1.spec{
	position: absolute;
	left: 40px;
	bottom: -30px;
	z-index: 99999;
	font-size: 90px;
	letter-spacing: 4px;
	font-family: "Poppins", "Arial", sans-serif;
	text-transform: uppercase;
}
h1.spec.bis{
	left: 150px;
	bottom: 0px;

}
h1.spec.ter{
	position: initial;
	color: #000;
	font-size: 90px;
	padding-top: 70px;
	letter-spacing: 4px;
}
h1.spec.ter.pad{
	padding: 0px 0px 0px 100px;
}
.blocSpecTxt{
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	color: #000;
}
.blocSpec{
	text-align: center;
	background: var(--bg-red);
	font-size: 30px;
}
.detail-programme .slick-slide img,
.evenementiel .slick-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
	object-position: center top;
}
.mw40{
	max-width: 40vw;
}
.mw50{
	max-width: 50vw;
}
.book-btn {
    background: var(--bg-red);
    color: #FFF;
    border: none;
    padding: 15px 30px;
    font-size: 30px;
    border-radius: 5px;
    transition: background 0.3s;
	z-index: 9999;
	font-weight: 500;
	text-transform: uppercase;
	display: inline-block;
	font-family: "Poppins", "Arial", sans-serif;
}
.book-btn.min{
    font-size: 20px;
	padding: 10px 20px;
}
.book-txt{
    position: absolute;
    bottom: 30vh;
    left: 20vw;
	width: 60vw;
}
.book-txt h1{
	padding-bottom: 20px;
	display: block;
	font-weight: 500;
}
.book-txt h1 strong{
	font-size: 2.7em;
	line-height: .8em;
	display: block;
	text-transform: uppercase;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3), -1px -1px 2px rgba(0,0,0,0.3), 1px -1px 2px rgba(0,0,0,0.3), -1px 1px 2px rgba(0,0,0,0.3);
}
.book-txt h1 span{
	font-size: 1.5em;
	display: block;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3), -1px -1px 2px rgba(0,0,0,0.3), 1px -1px 2px rgba(0,0,0,0.3), -1px 1px 2px rgba(0,0,0,0.3);
}
.book-txt h1 p{
	font-size: .5em;
	display: block;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3), -1px -1px 2px rgba(0,0,0,0.3), 1px -1px 2px rgba(0,0,0,0.3), -1px 1px 2px rgba(0,0,0,0.3);
}
.book-btn i, .book-btn-std i{
	transform: rotate(-40deg);
	margin-right: 15px;
}
.article h2{
	font-size: 22px;
	padding: 10px 0 5px 0;
}
.article p{
	font-size: 20px;
	padding: 5px 0;
}
.article span{
	font-size: 20px;
	display: inline-block;
	padding: 5px 0 20px 0;
}
.book-btn-std{
    background: rgba(255, 255, 255, 0.9);
    color: #000;
    border: none;
    padding: 20px 40px;
    font-size: 26px;
    border-radius: 5px;
    transition: background 0.3s;
	display: inline-block;
	text-transform: uppercase;
	font-family: "Poppins", "Arial", sans-serif;
}
.book-btn-std.jaune{
	background: var(--bg-red);
	color: #FFF;
}
.book-btn-std.min{
	font-size: 20px;
	padding: 10px 20px;
}
.slider2,
.slider3 {
    max-width: 100%;
    margin: auto;
    padding: 0 10px;
}
.slider2 .slick-slide,
.slider3 .slick-slide{
    padding: 10px;
}
.slider4 .slick-slide{
    padding: 20px;
}
.slider2 p{
	font-size: 20px;
	line-height: 24px;
	text-align: justify;
	max-width: 950px;
	margin: 0 auto;
}
.slider2 p strong.titre{
	text-align: center;
	display: inline-block;
	padding-bottom: 5px;
	width: 100%;
}
.bgTheatre{
	background: url('/imgs/bg-home.jpg') no-repeat center / cover;
	height: 60vh;
}
.bgTheatre a{
	display: block;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
}

/*********************
*** PLAYER ***
*********************/

.player-container {
	position: relative;
	aspect-ratio: 16/9;
	background: #000;
}
iframe {
	border: none;
}
.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.8);
	padding: 20px 30px;
	font-size: 24px;
	font-weight: bold;
	color: black;
	cursor: pointer;
	border-radius: 5px;
	transition: 0.3s;
}
.play-button:hover {
	background: rgba(255, 255, 255, 1);
}
.thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/*********************
*** IMAGES THEATRE ***
*********************/
.images_theatre img {
	width: 100%;
}
.images_theatre .pad10, .pad10 {
	padding: 10px;
}
.images_theatre .pb10 {
	padding-bottom: 10px;
}
.lSSlideOuter .lSPager.lSpg > li a {
	height: 12px;
	width: 12px;
}
.lSSlideOuter .lSPager.lSpg > li.active a, 
.lSSlideOuter .lSPager.lSpg > li:hover a {
	background-color: #c03d37;
}
/*************
*** BOTTOM ***
**************/
.main_footer{
	background: #000;
}
.main_footer_sep {
	height: 1px;
	background-color: #000;
	width: calc(100% - 30px);
	margin: 0 15px;
	box-sizing: border-box;
}
.main_footer_item_pad {
	padding: 15px;
}
.main_footer_address {
	padding-bottom: 12px;
}
.main_footer_address address {
	font-style: normal;
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: "Poppins", "Arial", sans-serif;
}
.main_footer_address address sup {
	text-transform: none;
}
.main_footer_credits {
	font-size: 16px;
	background: #222222;
	padding: 20px 50px;
}
.main_footer_credits .credit {
	padding: 0 8px;
	font-weight: 300;
}
/* Footer - Newsletter */
.main_footer .newsletter legend {
	font-weight: 600;
	font-size: 14px;
	text-align: center;
}
.main_footer .newsletter input[type="submit"] {
	font-size: 13px;
	font-weight: 400;
	padding: 5px;
}
.reg_contentBot .botFooterGauche, 
.reg_contentBot .botFooterDroite{
	padding: 50px 50px 30px 0;
}
.reg_contentBot .botMenu a{
	float: left;
	display: block;
	padding: 0 0 0 10px;
	font-size:12px;	
	letter-spacing:1px;
	color: var(--global-text-color);
}
.reg_contentBot .botMenu a.facebook{
	display: block;	
	background: url('/imgs/picto.facebookBlack.png') center center no-repeat; 
	width:30px; 
	height:35px;
}
.reg_contentBot .botMenu a.twitter{
	display: block;	
	background: url('/imgs/picto.twitterBlack.png') center center no-repeat; 
	width:30px; 
	height:35px;
}
.reg_contentBot .botMenu a.instagram{
	display: block;	
	background: url('/imgs/picto.instagramBlack.png') center center no-repeat; 
	width:30px; 
	height:35px;
}
/*************
*** BOUTON ***
**************/
[data-cc="accept-necessary"] {
	font-weight: 600 !important;
	text-decoration: underline !important;
	cursor: pointer;
}
ul.std{
	list-style-type: none;
	font-size: 20px;
	line-height: 130%;
}
.btnStd {
	padding: 10px 15px;
	font-weight: 400;
	font-size: 24px;
	line-height: 24px;
	text-align: center;
	text-transform: uppercase;
	cursor:pointer;
	color: #FFF;	
	font-family: var(--global-extra-font-1);
	background: var(--bg-red);
	display: table;
	letter-spacing: 1px;
	border: none;
}
.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;
}
/*************
*** FORMS ***
**************/
.formStdTop {
	width: 100%;
	padding: 5px 0;
}
.formStdTop legend {
	padding: 5px 0;
}
.formStdTop input[type="text"]{
	display: block;
	border: solid 1px #a3a2a1;
	height: 28px;	
	text-indent: 5px;
}
.formStdTop input[type="submit"]{
	display: block;	
	height: 28px;
	background: #a3a2a1;
	color: #FFF;
	border: none;
	max-width: 28px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
}
.formStd{ width:100%; }
.formStd fieldset{
	margin: 0px;
	border: 0px;
	padding: 10px 40px;
}
.formStd fieldset label{
	padding: 0 0 10px 0;
}
.formStd fieldset label.check{
	padding: 0 0 10px 25px;
}
.formStd input.textStd{
	height: 35px;
	width: 48%;
	background: #FFF;
	border: solid 1px var(--global-secondary-color) ;
	text-indent: 10px;
    color: #000;
    display: block;
    font-size: 16px;
    line-height: 32px;
}
.formStd input.textStd.input{
	width: 100%;
}
.formStd textarea.areaStd{
	height: 90px;
	width: 98%;
	background: none;
	border: solid 1px var(--global-secondary-color);
	padding: 5px 0 0 10px;
	font-size: 15px;
    color: var(--global-secondary-color) ;
    display: block;
}
#calendrier{
	margin: 0 auto;
}
.flatpickr-day.event-day {
    border: 1px solid var(--global-secondary-color);
    border-radius: 50%;
}
/* 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 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: var(--global-secondary-color);
}
.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 .testbox {
    display: flex;
    justify-content: center;
    align-items: center;
    height: inherit;
    padding: 20px;
}
.production_form form {
    width: 100%;
    padding: 20px;
    margin-top: 80px;
}
.production_form form .item strong {
	font-weight: normal;
}
.production_form .banner {
    position: relative;
    height: 250px;
    background-image: url("/uploads/media/default/0001/02/cc6bc584f236c7234947015b89151ab6d04c4cbf.jpeg");
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.production_form .banner::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    width: 100%;
    height: 100%;
}
.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: var(--global-secondary-color);
}
.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 var(--global-secondary-color);
    color: var(--global-secondary-color);
}
.production_form .item {
    position: relative;
    margin: 10px 0;
}
.production_form .item span {
    /*color: red;*/
}
.production_form .week {
    display: flex;
    justify-content: space-between;
}
.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 .question-answer label {
    display: 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 var(--global-secondary-color);
}
.production_form label.radio:after {
    content: "";
    position: absolute;
    top: 6px;
    left: 5px;
    width: 8px;
    height: 4px;
    border: 3px solid var(--global-secondary-color);
    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 var(--global-secondary-color);
}
input[type=checkbox]:checked + .check:before {
	background: var(--global-secondary-color);
}
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 .flax {
    display: flex;
    justify-content: space-around;
}
.production_form .btn-block {
    margin-top: 10px;
    text-align: center;
}
.production_form button {
	width: 150px;
    padding: 10px;
    border: none;
    border-radius: 5px;
    background: var(--global-secondary-color);
    font-size: 16px;
    color: #fff;
    cursor: pointer;
    display: block;
    margin: 25px auto;
}
.production_form button:hover {
    background: var(--global-text-color);
}
.production_form .btnStd.download {
	margin: 25px 0 50px 0;
}
.icons{ padding: 30px 0 50px 0; }
.icons i{
	margin: 0 10px;
}
/*************
*** LANGUE ***
*************/
.boxLangue{
	position: relative;
	border-radius: 0 0 120px 120px;	
	background: #000;	
	padding: 0 15px 5px 15px;
}
.boxLangue a{
	width: 28px;
	height: 28px;
	display: block;
	border-radius: 150px;
	color: #FFF;
	text-align: center;
	line-height: 28px;
	cursor: pointer;
	font-size: 12px!important;
	font-weight: 700!important;
	font-family: 'MinervaModern',Arial,sans-serif!important;
}
#lang_list:target,
#lang_list_rp:target{
	display: block;
   	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;	
}
.lang_list{
	display: none;
	position: absolute;
	background: rgba(0, 0, 0, 0.6);
	list-style-type: none;
	padding: 10px;
	top: 35px;
	text-align: left;
	left: 0px;
	color: #FFF;
   	-webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;	
	z-index: 99999;
}
.lang_list a{
	color: #FFF;
	background: none;
	margin: 0px!important;
	width: auto;
	display: block;
	padding: 0 20px;
}
.lang_list li{
	display: block;
}
.faq_list{
	list-style-type: none;
}
.faq_list_item{
	border-top: solid 1px #000;
	border-left: solid 1px #000;
	border-right: solid 1px #000;
	position: relative;
	padding: 20px;
	text-align: left;
}
.faq_list_item a{
	display: block;
	width: 100%;
	font-weight: 600;
}
.faq_list_item:last-child{
	border-bottom: solid 1px #000;
}
.faq_list_item h2{
	font-size: 16px;
	color: #000;
}
.faq_list_item_text{
	display: none;
	font-weight: 400;
	padding: 20px 0 10px 0;
	font-style: italic;
}
/*************
*** MIDDLE ***
**************/
.recapResa{
	padding: 40px 15px;
}
/***** MENTIONS *******/
.mentions{padding: 0 0 40px 0;}
.mentions  .texte {
	padding: 25px;
}
.mentions h3{
	font-size:16px;
	float:left;
    line-height: 32px;
}
.mentions h4{
	font-size:16px;
	font-weight:normal;
	float:left;
	padding: 0 0 0 5px;
    line-height: 32px;
}
.contact .photo_theatre {
	background: url('/imgs/thumbs_image-6.png') center top no-repeat;
	background-size: cover;
	width: 500px;
}
.contact_container p,
.contact_container .contactText {
	font-weight: 300;
	line-height: 28px;
}
.contact_container p strong,
.contact_container .contactText strong {
	font-family: var(--global-extra-font-1);
}

/* PAGE VISITE VIRTUELLE */
.visite-virtuelle-container {
	padding-left: 100px;
}
@media screen and (max-width: 960px) {
	.visite-virtuelle-container {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* PAGE ACTUALITES - grille verticale */
.actus-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px 30px;
}
@media screen and (max-width: 1200px) {
	.actus-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 768px) {
	.actus-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 20px;
	}
}
@media screen and (max-width: 480px) {
	.actus-grid {
		grid-template-columns: 1fr;
	}
}
.actus-grid .article {
	display: flex;
	flex-direction: column;
}
.actus-grid .article a {
	text-decoration: none;
	color: inherit;
}
.actus-grid .article h2 {
	font-size: 20px;
	margin-top: 12px;
	line-height: 1.2;
}
.actus-grid .article span {
	display: block;
	font-size: 14px;
	color: #555;
	margin: 8px 0;
}
.actus-grid .article p {
	font-size: 14px;
	line-height: 1.4;
}

@media screen and (min-width: 1200px) {
	.logo img{
		max-width: 39px;
	}
}
/***********************
*** RESPONSIVE (13") ***
***********************/
@media screen and (max-width: 1366px)
{	
	.detail_programme .programme_description {
		font-size: 16px;
	}
	.global_page_title.spe {
		font-size: 30px;
	}
	.book-txt{
		bottom: 10vh;
	}
}
/***********
 * TABLETTE PAYSAGE
 */
 
@media screen and (max-width: 1024px)
{	
	.sub_menu {
		left: -60%;
	}
	.blocBlancPad{ padding: 0 30px 30px 30px ;}
	.tabMenu a {font-size: 17px;}
	.programmations_liste a, .programmations_liste .programmation {flex-basis: 33.3333333333%;}
	.blocome {-webkit-box-flex: 1; -ms-flex: 0 0 auto; flex: 0 0 auto; padding: 25px; box-sizing: border-box;}
	.transports {
		padding: 0;
	}
	.transports > .pure-u-1 {
		padding: 20px 0;
		text-align: left;
	}
	.velib .jcc {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.programmations_liste h2 {
		bottom: 20%;
		font-size: 36px;
		line-height: 34px;
	}
	.programmations_liste .programmation_date {
		bottom: -70%;
		height: 70%;
	}
	@-webkit-keyframes bottomReveal {
		0% {
			opacity: 0;
		}  
	  	100% {
	    	opacity: 1;
	    	bottom: -45%;
	  	}
	}
	@keyframes bottomReveal {
	  	0% {
	    	opacity: 0;
	  	}  
	  	100% {
	    	opacity: 1;
	    	bottom: -45%;
	  	}
	}
}
/***********
 * TABLETTE PORTRAIT 
 */
@media screen and (max-width: 960px)
{
	.detail_programme .programme_artiste{
		font-size: 30px;
	}
	.detail_programme .programme_titre{
		font-size: 24px;
	}
	.detail-programme .slider.resa .slick-slide{
		height: 25vh;
	}
	.logo{
		left: 10px;
	}
	h1.spec.ter{
		font-size: 24px;
		text-align: center;
		padding: 10px 10px 10px 10px!important;
	}
	h1.spec{
		font-size: 30px;
	}
	h1.spec.bis{
		left: 10px;
	}	
	.blocSpecTxt{
		width: 100%;
	}
	.book-btn-std.min{
		font-size: 16px;
	}
	.actuDateTxt strong{
		font-size: 18px;
	}
	.bloc-resa-bis.resa h2{
		left: -45vw;
		color: #FFF;
		text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
		font-size: 38px;
		top: 115px;
	}
	.bloc-resa-bis.resa .fb100{
		text-align: center;
	}
	.mw50, 
	.mw40{
		max-width: 100vw;
	}
	.evenementiel .slick-slide,
	.histoire-du-palais-des-glaces .slick-slide,
	.le-lieu .slick-slide,
	.groupe-ce .slick-slide,
	.partenaires .slick-slide,
	.faq .slick-slide,
	.acceder-au-theatre .slick-slide,
	.archives .slick-slide,
	.la-loge .slick-slide{
		height: auto;
	}	
	.bloc-resa-bis.resa .lignes{
		padding: 20px 50px;
	}
	.resaTop{
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		font-size: 16px;
		text-align: center;
		padding: 0px;
	}
	.resaTop i{
		margin-right: 5px;
	}
	h2.big{
		font-size: 60px;
	}
	.logo img{
		width: 40%;
	}
	.menu-toggle{
		top: 10px;
		right: 10px;
	}
	.programmations_liste h2,
	.petit_palais_des_glaces .programmations_liste h2 {
		opacity: 1;
		position: static;
		color: var(--global-secondary-color);
		transform: none;
		padding: 15px 0 0 0;
		font-size: 25px;
		line-height: 30px;
		text-align: left;
	}
	.slick-prev, .slick-next{
		width: 25px;
		right: 0px;
	}
	.slick-prev{
		left: -20px;
	}
	.slick-prev::before, .slick-next::before{
		font-size: 30px;
	}
	.plr50{
		padding: 20px;
	}
	.detail_programme .programme_date{
		font-size: 16px;
	}
	.bloc-resa{
		width: 100%;
		margin: 0 0 30px 0;
		padding: 15px;	
	}
	.bloc-resa-spectacle{
		padding: 20px!important;
	}
	.bloc-resa-content-bis{
		justify-content: center;
	}
	.bloc-resa-bis{
		width: 100%;
		margin: 0px;
	}
	.book-btn-std{
		font-size: 18px;
		padding: 10px 20px;
	}
	.book-btn{
		bottom: 0;
		font-size: 14px;
		padding: 10px 20px;
		left: 50%;
	}
	.article h2{
		font-size: 16px;
	}
	.slider2 p{
		font-size: 14px;
		line-height: normal;
	}
	.programmations_liste .programmation_date,
	.petit_palais_des_glaces .programmations_liste .programmation_date {
		position: static;
		transform: none;
		background: none;
		color: var(--global-text-color);
		height: auto;
		width: auto;
		padding: 8px 0;
		text-align: left;
	}
	.programmations_liste .programmation:hover .programmation_date {
		animation: none;
	}
	a.zoom:hover img {
		transform: none;
	}
	.website_header img {
		width: 100%;
		max-width: 340px;
		padding-bottom: 0;
	}
	/* Menu transition */
	.sub_menu {
		width: auto;
	}
	.reg_contentTop {
		position: fixed;
		z-index: 1000;
		background-color: var(--global-background-color);
	}
	.reg_contentTop > .pad25 {
		padding: 0;
	}
	.tabMenu {
		position: absolute;
	}
	.tabMenuCont {
		/*display: none;*/
		flex-direction: column;
		width: 250px;
		left: -260px;
		top: 0;
		height: 100vh;
		box-shadow: 3px 0px 5px 2px rgba(0,0,0,0.3);
		position: fixed;
		-webkit-transition: left 0.4s ease;
		-o-transition: left 0.4s ease;
		transition: left 0.4s ease;
		background-color: var(--global-background-color);
		padding-top: 120px;
	}
	.tabMenuCont .menu_item {
		padding-bottom: 25px;
	}
	.tabMenuCont .menu_item a, {
		font-size: 25px;
	}
	.sub_menu {
		position: static;
		display: block;
		opacity: 1;
	}
	a:hover ~ .sub_menu, .sub_menu:hover {
		display: block;
	}
	.sub_menu a {
		margin: 25px 0;
	}
	.mobile_menu_button.open + .tabMenuCont { 
		left: 0;
		-webkit-transform: translate(100, 0);
		-ms-transform: translate(100, 0);
		transform: translate(100, 0);
	}
	.mobile_menu_button {
	  display: table;
	  margin-left: auto;
	  cursor: pointer;
	  position: fixed;
	  z-index: 1100;
	  top: 15px;
	  left: 15px;
	}
	.bar1, .bar2, .bar3 {
	  width: 35px;
	  height: 5px;
	  background-color: var(--global-secondary-color);
	  margin: 6px 0;
	  -webkit-transition: 0.4s;
	  -o-transition: 0.4s;
	  transition: 0.4s;
	}
	.navbar a:hover, .subnav:hover {
		background: none;
	}
	.tabMenuCont .menuTab .menuRow .menuCell a:hover {
		background-color: var(--global-secondary-color);
	}
	.tabMenuCont .menuTab .menuRow .menuCell a.sel i {
		color: #fff;
	}
	.mobile_menu_button.open .bar1 {
	  -webkit-transform: rotate(-45deg) translate(-7px, 6px);
	  -ms-transform: rotate(-45deg) translate(-7px, 6px);
	  transform: rotate(-45deg) translate(-7px, 6px);
	}
	.mobile_menu_button.open .bar2 {opacity: 0;}
	.mobile_menu_button.open .bar3 {
	  -webkit-transform: rotate(45deg) translate(-9px, -9px);
	  -ms-transform: rotate(45deg) translate(-9px, -9px);
	  transform: rotate(45deg) translate(-9px, -9px);
	}
	.mobile_menu_button.open + .tabMenuCont .subnav-content.open {
		padding: 10px;
		display: flex;
		flex-wrap: wrap;
		background: none;
		position: static;
	}
	.tabMenu .menu_item > a {
		transition: none;
	}
	html { font-size: 16px; }
	.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;}	
	/*****/
	.footer{background-color: #f1f1f1; margin-top: 25px; padding: 25px 0;}
	.website_header .newsletter, .website_header .social{display: none;}
	.footer .newsletter, .footer .social{display: block;}
	.programmations_liste a, .programmations_liste .programmation {flex-basis: 50%;}
	.flex.come-in {-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
	.infos {text-align: center;}
	.infos h2 {padding-top: 50px;}
	.programmations_liste-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;}
	.programmations_liste-item .btnStd {display: table; font-size: 1.5em; margin: 45px auto 0 auto;}
	.contact .main_container{flex-direction: column; }
	/* .contact .flex .item, .contact .flex .contactBox { padding: 15px; margin: 0;} */
	/* .contact .flex .item:nth-child(3n+1) {display: none;} */
	/* .contact .flex .item img{width: 100%;} */
	/* .contact .flex.padL30{padding: 15px;} */
	.contact .blocG{ width: 100%; float: none; }
	.contact .blocD{ width: 100%; float: none; }
	.infos-covid {
		margin-top: 25px;
		flex-basis: 100%;
	}
	.infos-covid-border {
		display: table;
	}
	.programmations_liste a img, .programmations_liste .programmation img {max-height: none;}
	/* Images théâtre */
	.images_theatre .item > .pad25 {
		padding: 15px;
	}
}

@media screen and (max-width: 768px)
{
	.slider .slick-slide img {
		min-height: 350px;
	}

	.evenementiel .video-container{
		height: 240px;
	}
	.plr25{
		padding: 0 15px;
	}
	.accueil .slider4 .slick-next:before,
	.accueil .slider4 .slick-prev:before{
		font-size: 26px;
	}
	p, ul.std{
		font-size: 14px;
	}
	.slick-dotted.slick-slider{
		margin-bottom: 0px;
	}
	.histoire-du-palais-des-glaces .slider-nav button{
		font-size: 16px;
		padding: 10px 5px;
		flex-basis: 100%;
	}
	.histoire-du-palais-des-glaces .slider-nav{
		flex-wrap: wrap;
	}
	.histoire-du-palais-des-glaces .plr100{
		padding: 0px;
	}
	.la-loge .slick-slide img,
	.contact .slick-slide img,
	.groupe-ce .slick-slide img,
	.partenaires .slick-slide img{
		min-height: 230px;
	}
	.detail-programme .slick-slide{
		background-color: var(--bg-red);
	}
	.detail-programme .slick-slide img{
		min-height: auto;
		width: 100%;
		margin-top: 70px;
	}
	.main_footer img{
		margin-top: 15px;
	}
	.main_footer .flex{
		flex-wrap: wrap;
	}
	.main_footer .fb50{
		flex-basis: 100%;
	}
	.slick-next{
		right: -20px;
	}
	h2{
		font-size: 34px;
	}
	h3.spec{
		font-size: 40px;
	}
	h2.big{
		font-size: 40px;
	}
	.slick-dots{
		bottom: 10px;
	}
	.book-txt{
		bottom: 10vh;
		width: 60vw;
	}
	.book-txt h1{
		line-height: 16px;
		font-size: 14px;
		padding-bottom: 5px;
	}
	.book-txt h1 strong{
		font-size: 1.5em;
	}
	.book-txt h1 p{
		font-size: 1em;
	}
	.book-txt h1 span{
		font-size: 1.1em;
	}
	.parking.flex {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: center;
	}
	.infos_pratique_acces .parking img {
		margin: 0 auto 25px auto;
	}
	/* Contact */
	.contact_container.flex {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.contact_container .pad30 {
		padding: 15px;
	}
	.contactBox .pad15 {
		padding: 15px 0;
	}
}
/***********
 * SMARTPHONES
 */
@media screen and (max-width: 568px)
{
	.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;}
	.detail-actu .btnStd {display: table; font-size: 1.5em; margin: 45px auto 0 auto;}
	.detail-actu .programme_link .btnStd{ font-size: .8em; padding: 5px 10px; }
	.detail-actu {padding-top: 30px;}
	.programmations_liste a img, .programmations_liste .programmation img {width: calc(100% - 20px); margin: 10px; max-height: none;}
	.programmations_liste a:not(.ui-state-default,.ui-corner-all) {margin: 25px 15px;}
	.programmations_liste a:not(.ui-state-default,.ui-corner-all), .programmations_liste .programmation {flex: 1 1 100%;}
	.production_form .colums div { width: 100%; margin: 0;}
	.programmations_liste-item .resa_links a { margin: 15px auto; }
	.programmation .pad15 { padding: 0; }
    .programmations_liste a:not(.ui-state-default,.ui-corner-all) { margin: 15px 0; } 
    .programmations_liste a img, 
    .programmations_liste .programmation img {
    	margin: 0;
    	width: 100%;
    }
    .programmations_liste .programmation_date,
    .petit_palais_des_glaces .programmations_liste .programmation_date {
    	position: static;
    	display: block;
    	border-radius: 0;
    	width: 100%;
    	transform: none;
    	font-size: 22px;
    	line-height: 24px;
		/*padding: 25px 20px;*/
    }
    /* Histoire */
    .histoire_container .histoire_content_pad,
    .histoire_container .pad25 {
    	padding: 15px;
    }
    .main_footer_credits {
    	-webkit-box-orient: vertical;
    	-webkit-box-direction: normal;
    	-ms-flex-direction: column;
    	flex-direction: column;
    }
    .main_footer_credits .credit {
    	padding: 5px 10px;
		display: block;
		width: 100%;
		font-size: 12px;
		text-align: center;
    }
	.main_footer_item_pad{
		text-align: center;
	}
	.ptb50{ padding: 25px 0; }
}
@media screen and (max-width: 480px)
{
	.pad50 {
		padding: 25px;
	}
	.pad25 {
		padding: 15px;
	}
	.ptb25{
		padding: 15px 0;
	}
	.global_page_title {
		font-size: 28px;
	}
	.infos_pratiques.acces .pad50 {
		padding: 25px;
	}
	.infos_pratique_carte .pad25 {
		padding: 0;
	}
	.logoMid img{width:70%;}
	.logoMid{  top: 38%;}
	.logoMid hr{ width: 70%;}
	.logoMid span.comingSoon{ font-size: 18px; padding: 10px 0;}
	.blocBlanc h1.titre{ letter-spacing: 2px; font-size: 15px;}
	.histoire .wide-container{height:200px;}		
	.tabMenu .trMenu .tdMenu{ padding: 1px 0;}	
	.logoMid img,.logoMid hr{width:55%;}
	.logoMid span.comingSoon{font-size: 12px;}
	.botFooterGauche span{font-size: 10px;}
	.logoMid{ top: 34%;}
	.slides-navigation{ top:34%;}
	.botFooterGauche span, .botFooterDroite span{  line-height: 14px;}
	.programmations_liste a, .programmations_liste .programmation {flex-basis: auto;}
	a.back_to_home {margin: 15px auto 30px auto !important;}
	.mentions {padding: 0;}
	.mentions .blocBlancPad {padding: 15px;}
	.mentions h1 {padding-top: 15px; text-align: center;}
	.video-jeff{display: block;}
	.link-video{margin: 30px 0px;}
}
@media screen and (max-width: 380px)
{
	.video-jeff{display: block;}
	.link-video{margin: 30px 0px;}
	
	.formStd{padding:10px 0}
	.formStd fieldset{padding: 10px 15px;}
	.logoMid{  top: 40%;}
	.logoMid img{width:70%;}
	.logoMid span.comingSoon{ font-size: 15px; }
	.logoMid hr{ width: 70%;}
	.btnStd, .subStd{font-size:12px;}
	.programmations_liste-item img {width: 100%;}
	.last-item.footer {-webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;}
	.last-item.footer > * {padding: 10px 0;}
	.production_form fieldset { padding: 15px; }
	.production_form legend { font-size: 16px; }
}

/* Refonte 2026 */

:root {
	--pdg-bg: #F5F0EA;
	--pdg-bg-alt: #FFFFFF;
	--pdg-red: #C0392C;
	--pdg-red-hover: #A02620;
	--pdg-text: #1A1A1A;
	--pdg-muted: #6B6B6B;
	--pdg-border: rgba(0,0,0,0.08);
	--pdg-dark: #1A1A1A;
	--pdg-max: 1400px;
	--pdg-gut: 40px;
}

.pdg, .pdg-header, .pdg-news { font-size: 16px; color: var(--pdg-text); }
.pdg-footer { font-size: 16px; }
:where(.pdg, .pdg-header, .pdg-news, .pdg-footer) img { max-width: 100%; display: block; }
:where(.pdg, .pdg-header, .pdg-news, .pdg-footer) a { color: inherit; text-decoration: none; }
:where(.pdg, .pdg-header, .pdg-news, .pdg-footer) :where(h1, h2, h3, h4, p, ul) { margin: 0; }
:where(.pdg, .pdg-header, .pdg-news, .pdg-footer) ul { list-style: none; padding: 0; }

.pdg-wrap {
	max-width: var(--pdg-max);
	margin: 0 auto;
	padding: 0 var(--pdg-gut);
}

/* Boutons */
.pdg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 4px;
	cursor: pointer;
	border: 1.5px solid transparent;
	padding: 15px 32px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	text-align: center;
}
.pdg-btn--primary { background: var(--pdg-red); color: #fff; }
.pdg-btn--primary:hover { background: var(--pdg-red-hover); color: #fff; }
.pdg-btn--outline { background: transparent; color: var(--pdg-red); border-color: var(--pdg-red); }
.pdg-btn--outline:hover { background: var(--pdg-red); color: #fff; }
.pdg-btn--clair { background: transparent; color: #fff; border-color: #fff; }
.pdg-btn--clair:hover { background: #fff; color: var(--pdg-text); border-color: #fff; }
.pdg-btn--sm { padding: 11px 22px; font-size: 12px; }

.pdg-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-red);
	transition: gap 0.2s;
}
.pdg-link:hover { gap: 12px; color: var(--pdg-red); }

/* En-tête */
.pdg-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--pdg-bg);
	border-bottom: 1px solid var(--pdg-border);
	color: var(--pdg-text);
}
.pdg-header__inner {
	max-width: var(--pdg-max);
	margin: 0 auto;
	padding: 16px var(--pdg-gut);
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 32px;
}
.pdg-header__logo img { width: 300px; max-width: 100%; height: auto; }

.pdg-nav > ul {
	display: flex;
	justify-content: center;
	gap: 34px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.pdg-nav > ul > li { position: relative; }
.pdg-nav a { display: block; padding: 10px 0; transition: color 0.2s; white-space: nowrap; }
.pdg-nav a:hover, .pdg-nav a.sel { color: var(--pdg-red); }

.pdg-nav > ul > li > a { position: relative; }
.pdg-nav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	background: var(--pdg-red);
	border-radius: 2px;
	transform: scaleX(0);
	transition: transform 0.25s ease;
}
.pdg-nav > ul > li:hover > a::after,
.pdg-nav > ul > li > a.sel::after { transform: scaleX(1); }

.pdg-nav .pdg-sub {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-top: 12px;
	min-width: 224px;
	background: var(--pdg-bg-alt);
	border-radius: 14px;
	padding: 8px;
	box-shadow: 0 1px 2px rgba(26,26,26,0.06), 0 18px 38px -12px rgba(26,26,26,0.3);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -8px);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
	z-index: 10;
}
.pdg-nav .pdg-sub::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -12px;
	height: 12px;
}
.pdg-nav .pdg-sub::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 12px;
	height: 12px;
	margin-left: -6px;
	background: var(--pdg-bg-alt);
	border-radius: 3px;
	transform: rotate(45deg);
}
.pdg-nav li:hover > .pdg-sub,
.pdg-nav li:focus-within > .pdg-sub { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.pdg-sub a {
	position: relative;
	padding: 10px 14px;
	border-radius: 9px;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: none;
	white-space: normal;
	transition: background 0.18s, color 0.18s;
}
.pdg-sub a:hover, .pdg-sub a.sel { background: var(--pdg-bg); color: var(--pdg-red); }

.pdg-header__actions { display: flex; align-items: center; gap: 14px; }

/* Choix de la langue */
.pdg-langues { display: flex; align-items: center; gap: 2px; }
.pdg-langue {
	padding: 5px 8px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--pdg-text);
	opacity: 0.5;
	transition: opacity 0.2s, background 0.2s, color 0.2s;
}
a.pdg-langue:hover { opacity: 1; background: var(--pdg-bg-alt); color: var(--pdg-red); }
.pdg-langue.is-actif { opacity: 1; color: var(--pdg-red); cursor: default; }

.pdg-burger {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 22px;
	color: var(--pdg-text);
	padding: 6px 10px;
}

/* Hero */
.pdg-hero { position: relative; background: var(--pdg-dark); }
.pdg-hero__slide { position: relative; display: block; }
.pdg-hero__media {
	position: relative;
	max-width: var(--pdg-max);
	margin: 0 auto;
	height: 600px;
	overflow: hidden;
	background: var(--pdg-dark);
}
.pdg-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
/* Les bords de l'image se fondent dans le fond de la page */
.pdg-hero__media::before,
.pdg-hero__media::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.pdg-hero__media::before {
	background: linear-gradient(90deg, var(--pdg-dark) 0%, rgba(26,26,26,0) 13%);
}
.pdg-hero__media::after {
	background: linear-gradient(270deg,
		var(--pdg-dark) 0%,
		rgba(26,26,26,0) 13%);
}
.pdg-hero__inner {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	pointer-events: none;
}
.pdg-hero__content {
	max-width: var(--pdg-max);
	margin: 0 auto;
	padding: 0 var(--pdg-gut);
	width: 100%;
	color: #fff;
	pointer-events: auto;
}
.pdg-hero__box { max-width: 620px; }
.pdg-hero__artist {
	font-size: clamp(18px, 2vw, 28px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
/* Accroche longue */
.pdg-hero__artist--long {
	font-size: clamp(14px, 1.3vw, 18px);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
	line-height: 1.4;
	max-width: 520px;
	margin-bottom: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pdg-hero__title {
	font-size: clamp(38px, 6vw, 88px);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.01em;
	color: #fff;
	margin-bottom: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pdg-hero__title strong { color: var(--pdg-red); font-weight: 900; }
.pdg-hero__title--long {
	font-size: clamp(24px, 3vw, 42px);
	line-height: 1.1;
	-webkit-line-clamp: 3;
}
.pdg-hero__salle {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 22px;
}
.pdg-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }

.pdg-hero__tabs {
	background: var(--pdg-bg);
	border-bottom: 1px solid var(--pdg-border);
}
.pdg-hero__tabs-inner {
	max-width: var(--pdg-max);
	margin: 0 auto;
	padding: 0 var(--pdg-gut);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 48px;
}
.pdg-tab {
	padding: 16px 8px 14px;
	border-top: 2px solid transparent;
	text-align: center;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.2s, border-color 0.2s;
	background: transparent;
	border-left: none;
	border-right: none;
	border-bottom: none;
	font-family: inherit;
	color: var(--pdg-text);
	min-width: 120px;
	max-width: 210px;
}
.pdg-tab:hover { opacity: 0.8; }
.pdg-tab.is-active { opacity: 1; border-top-color: var(--pdg-red); }
.pdg-tab__artist {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.pdg-tab__artist,
.pdg-tab__show {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pdg-tab__show {
	display: block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-muted);
	margin-top: 2px;
}

/* Accès rapides */
.pdg-search {
	background: var(--pdg-bg-alt);
	border-bottom: 1px solid var(--pdg-border);
	padding: 26px 0;
}
.pdg-search__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
	text-align: center;
	margin-bottom: 18px;
}
.pdg-search__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.pdg-pill {
	padding: 11px 26px;
	border: 1px solid var(--pdg-border);
	border-radius: 999px;
	background: var(--pdg-bg-alt);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.pdg-pill:hover { border-color: var(--pdg-red); color: var(--pdg-red); }
.pdg-pill--fort {
	background: var(--pdg-red);
	border-color: var(--pdg-red);
	color: #fff;
}
.pdg-pill--fort:hover { background: var(--pdg-red-hover); border-color: var(--pdg-red-hover); color: #fff; }

/* Programme */
.pdg-section { padding: 70px 0 0; }
.pdg-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin-bottom: 30px;
}
.pdg-section__rule {
	flex: 1 1 60px;
	height: 1px;
	background: var(--pdg-red);
}
.pdg-section__title--logo { line-height: 0; }
.pdg-section__title--logo img { display: block; width: 260px; max-width: 100%; height: auto; }
.pdg-section__title {
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pdg-text);
}

.pdg-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 24px;
}

/* Carrousel de spectacles */
.pdg-carrousel { position: relative; margin-right: 20px; }
.pdg-carrousel::before,
.pdg-carrousel::after {
	content: "";
	position: absolute;
	top: 0;
	width: 40px;
	height: 66%;
	pointer-events: none;
	transition: opacity 0.25s;
	z-index: 2;
}
.pdg-carrousel::before {
	left: 0;
	background: linear-gradient(to left, rgba(26,26,26,0) 0%, rgba(26,26,26,0.38) 100%);
	opacity: 0;
}
.pdg-carrousel::after {
	right: 0;
	background: linear-gradient(to right, rgba(26,26,26,0) 0%, rgba(26,26,26,0.38) 100%);
	opacity: 1;
}
.pdg-carrousel.is-debut::before { opacity: 0; }
.pdg-carrousel:not(.is-debut)::before { opacity: 1; }
.pdg-carrousel.is-fin::after { opacity: 0; }
.pdg-carrousel .slick-list { overflow: hidden; }
.pdg-carrousel .slick-track { display: flex; align-items: stretch; }
.pdg-carrousel .slick-slide { display: block !important; float: none; height: auto; }
.pdg-carrousel__item { padding-right: 24px; }
.pdg-carrousel .pdg-card { height: 100%; }
.pdg-carrousel .pdg-card > a { display: block; height: auto; }

.pdg-carrousel .slick-prev,
.pdg-carrousel .slick-next {
	position: absolute;
	top: 33%;
	width: 40px;
	height: 40px;
	margin: 0;
	transform: translateY(-50%);
	padding: 0;
	border: 1px solid var(--pdg-border);
	border-radius: 50%;
	background: var(--pdg-bg-alt);
	box-shadow: 0 6px 18px -8px rgba(26,26,26,0.45);
	z-index: 5;
	transition: background 0.2s, border-color 0.2s, opacity 0.2s;
}
.pdg-carrousel .slick-prev { left: -40px; }
.pdg-carrousel .slick-next { right: -60px; }
.pdg-carrousel .slick-prev::before,
.pdg-carrousel .slick-next::before {
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 15px;
	line-height: 1;
	color: var(--pdg-text);
	opacity: 1;
}
.pdg-carrousel .slick-prev::before { content: "\f053"; }
.pdg-carrousel .slick-next::before { content: "\f054"; }
.pdg-carrousel .slick-prev:hover,
.pdg-carrousel .slick-next:hover { background: var(--pdg-red); border-color: var(--pdg-red); }
.pdg-carrousel .slick-prev:hover::before,
.pdg-carrousel .slick-next:hover::before { color: #FFF; }
.pdg-carrousel .slick-prev.slick-disabled,
.pdg-carrousel .slick-next.slick-disabled { opacity: 0; pointer-events: none; }
.pdg-card { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.pdg-card__media {
	aspect-ratio: 470 / 705;
	overflow: hidden;
	border-radius: 2px;
	background: var(--pdg-dark);
}
.pdg-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}
.pdg-card:hover .pdg-card__media img { transform: scale(1.04); }
.pdg-card__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.25;
	color: var(--pdg-text);
}
.pdg-card__meta {
	font-size: 13px;
	line-height: 1.5;
	color: var(--pdg-muted);
}
.pdg-card__meta strong { color: var(--pdg-text); font-weight: 500; }
.pdg-card__price { font-size: 13px; color: var(--pdg-text); }
.pdg-card__btn { margin-top: auto; align-self: flex-start; }

/* Blocs d'information */
.pdg-info { padding: 70px 0; }
.pdg-info__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: stretch;
}
.pdg-box {
	background: var(--pdg-bg);
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.pdg-box--split {
	display: grid;
	grid-template-columns: 1fr 0.8fr;
	align-items: stretch;
}
.pdg-box__body {
	padding: 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.pdg-box__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 12px;
	color: var(--pdg-text);
}
.pdg-box__text {
	font-size: 14px;
	line-height: 1.55;
	color: var(--pdg-muted);
	margin-bottom: 18px;
}
.pdg-box__body .pdg-link { margin-top: auto; align-self: flex-start; }
.pdg-box__media {
	position: relative;
	overflow: hidden;
	background: var(--pdg-dark);
	min-height: 210px;
}
.pdg-box__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pdg-box__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.pdg-box__head .pdg-box__title { margin-bottom: 0; }

.pdg-actus { display: flex; flex-direction: column; }
.pdg-actu {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
}
.pdg-actu + .pdg-actu { border-top: 1px solid var(--pdg-border); }
.pdg-actu__thumb {
	display: block;
	width: 92px;
	aspect-ratio: 16 / 10;
	border-radius: 4px;
	overflow: hidden;
	background: var(--pdg-dark);
}
.pdg-actu__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdg-actu__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 500;
	color: var(--pdg-text);
}
.pdg-actu:hover .pdg-actu__title { color: var(--pdg-red); }

/* Newsletter */
.pdg-news {
	background: var(--pdg-bg-alt);
	border-top: 1px solid var(--pdg-border);
	border-bottom: 1px solid var(--pdg-border);
	padding: 36px 0;
}
.pdg-news__inner {
	max-width: var(--pdg-max);
	margin: 0 auto;
	padding: 0 var(--pdg-gut);
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 24px;
	align-items: center;
}
.pdg-news__icon { font-size: 30px; color: var(--pdg-red); }
.pdg-news__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 4px;
	color: var(--pdg-text);
}
.pdg-news__text { font-size: 13px; color: var(--pdg-muted); }
.pdg-news__form { display: flex; flex-wrap: wrap; gap: 12px; position: relative; }
.pdg-news__form input[type="text"] {
	padding: 14px 18px;
	border: 1px solid var(--pdg-border);
	border-radius: 4px;
	font-family: inherit;
	font-size: 14px;
	min-width: 280px;
	background: var(--pdg-bg-alt);
	color: var(--pdg-text);
	height: auto;
}
.pdg-news__hp {
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	clip-path: inset(50%);
}

/* Pied de page */
.pdg-footer {
	background: var(--pdg-dark);
	color: #E5DFD5;
	padding: 56px 0 26px;
}
.pdg-footer__inner { max-width: var(--pdg-max); margin: 0 auto; padding: 0 var(--pdg-gut); }
.pdg-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(4, 1fr);
	gap: 40px;
	padding-bottom: 36px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.pdg-footer__title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 18px;
}
.pdg-footer__col ul { display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: #B3ABA0; }
.pdg-footer__col a { transition: color 0.2s; }
.pdg-footer__col a:hover { color: #fff; }
.pdg-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.pdg-footer__brand img { max-width: 190px; }
.pdg-footer__address { font-style: normal; font-size: 13px; line-height: 1.7; color: #B3ABA0; }
.pdg-footer__socials { display: flex; gap: 12px; }
.pdg-footer__socials a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	display: grid;
	place-items: center;
	font-size: 16px;
	color: #fff;
	transition: background 0.2s;
}
.pdg-footer__socials a:hover { background: var(--pdg-red); }
.pdg-footer__bottom {
	padding-top: 22px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	font-size: 12px;
	color: #7A736A;
}
.pdg-footer__bottom a:hover { color: #fff; }
.pdg-footer__partners { display: flex; align-items: center; gap: 18px; }
.pdg-footer__partners img { max-height: 46px; width: auto; }

/* Adaptatif */
@media (max-width: 1200px) {
	.pdg-header__logo img { width: 260px; }
	.pdg-grid { grid-template-columns: repeat(4, 1fr); }
	.pdg-nav > ul { gap: 22px; }
}

@media (max-width: 980px) {
	.pdg-header__inner { grid-template-columns: auto 1fr auto; gap: 16px; }
	.pdg-header__actions { gap: 8px; }
	.pdg-langue { padding: 5px 6px; font-size: 11px; }
	.pdg-burger { display: block; order: 3; }
	.pdg-nav {
		display: none;
		order: 4;
		grid-column: 1 / -1;
		border-top: 1px solid var(--pdg-border);
		padding-top: 12px;
	}
	.pdg-nav.is-open { display: block; }
	.pdg-nav > ul { flex-direction: column; gap: 0; }
	.pdg-nav > ul > li { border-bottom: 1px solid var(--pdg-border); }
	.pdg-nav a { padding: 14px 0; }
	.pdg-nav > ul > li > a::after { display: none; }
	.pdg-nav .pdg-sub {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		border: none;
		border-radius: 0;
		box-shadow: none;
		margin-top: 0;
		padding: 0 0 10px 16px;
		background: transparent;
		min-width: 0;
	}
	.pdg-nav .pdg-sub::before,
	.pdg-nav .pdg-sub::after { display: none; }
	.pdg-sub a { padding: 12px 0; border-radius: 0; }
	.pdg-sub a:hover, .pdg-sub a.sel { background: transparent; }
	.pdg-hero__media { height: 320px; }
	.pdg-hero__media img { object-fit: cover; object-position: right center; }
	.pdg-hero__media::after { background: linear-gradient(180deg, rgba(10,8,7,0.35) 0%, rgba(10,8,7,0.9) 78%); }
	.pdg-hero__inner { align-items: flex-end; padding-bottom: 30px; }
	.pdg-grid { grid-template-columns: repeat(3, 1fr); }
	.pdg-info__grid { grid-template-columns: 1fr; }
	.pdg-box__media { min-height: 180px; }
	.pdg-news__inner { grid-template-columns: 1fr; }
	.pdg-news__form input[type="text"] { min-width: 0; flex: 1 1 180px; }
	.pdg-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
	:root { --pdg-gut: 20px; }
	.pdg-header__logo img { width: 190px; }
	.pdg-grid { grid-template-columns: repeat(2, 1fr); }
	.pdg-box--split { grid-template-columns: 1fr; }
	.pdg-hero__media { height: 280px; }
	.pdg-hero__actions .pdg-btn { flex: 1; }
	.pdg-footer__grid { grid-template-columns: 1fr; }
	.pdg-footer__bottom { flex-direction: column; }
	.pdg-tab { min-width: 100px; }
	.pdg-section { padding: 44px 0 0; }
	.pdg-info { padding: 44px 0; }
}

/* Fiche spectacle */
.pdg-fil {
	background: var(--pdg-bg-alt);
	border-bottom: 1px solid var(--pdg-border);
}
.pdg-fil ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	font-size: 13px;
	color: var(--pdg-muted);
}
.pdg-fil li { display: flex; align-items: center; gap: 10px; }
.pdg-fil li + li::before { content: '\203A'; color: var(--pdg-muted); }
.pdg-fil a:hover { color: var(--pdg-red); }
.pdg-fil [aria-current] { color: var(--pdg-text); font-weight: 600; }

/* Le fond court sur toute la largeur, le contenu reste centré */
.pdg-fiche { background: var(--pdg-dark); }
.pdg-fiche__inner {
	position: relative;
	max-width: var(--pdg-max);
	margin: 0 auto;
	height: 500px;
	overflow: hidden;
}
.pdg-fiche__media { position: absolute; inset: 0; }
.pdg-fiche__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Cadrages de facade */
.pdg-fiche__media--facade img { object-position: center 35%; }
.pdg-fiche__media--ecrans img { object-position: center 45%; }
/* Voile porte vers la gauche */
.pdg-fiche__media--ecrans + .pdg-page-hero {
	background:
		linear-gradient(180deg, rgba(26,26,26,0) 45%, rgba(26,26,26,0.62) 100%),
		linear-gradient(90deg, rgba(26,26,26,0.62) 0%, rgba(26,26,26,0) 58%);
}
.pdg-fiche__media::before,
.pdg-fiche__media::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.pdg-fiche__media::before {
	background: linear-gradient(90deg, var(--pdg-dark) 0%, rgba(26,26,26,0) 13%);
}
.pdg-fiche__media::after {
	background: linear-gradient(270deg, var(--pdg-dark) 0%, rgba(26,26,26,0) 13%);
}

/* Bandeau d'informations, sous le visuel */
.pdg-fiche-infos {
	background: var(--pdg-bg);
	border-bottom: 1px solid var(--pdg-border);
	padding: 30px 0;
}
.pdg-fiche-infos__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px 40px;
}
.pdg-fiche-infos__texte { flex: 1 1 420px; }
.pdg-fiche-infos__cote {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	flex: 0 1 auto;
}
.pdg-fiche__artiste {
	font-size: clamp(16px, 1.6vw, 22px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 2px;
}
.pdg-fiche__titre {
	font-size: clamp(30px, 3.6vw, 52px);
	font-weight: 900;
	line-height: 1;
	color: var(--pdg-red);
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pdg-fiche__meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
}
.pdg-fiche__meta span { display: flex; align-items: flex-start; gap: 10px; }
.pdg-fiche__meta i { color: var(--pdg-red); margin-top: 2px; }
.pdg-fiche__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.pdg-btn.is-complet { opacity: 0.55; cursor: default; }
.pdg-fiche__site {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-red);
}

/* Dates */
.pdg-dates { padding: 40px 0 0; }
/* Dernier bloc de la page */
.pdg-dates:last-child { padding-bottom: 70px; }
.pdg-dates__panel {
	background: var(--pdg-bg);
	border-radius: 6px;
	padding: 30px 34px;
}
.pdg-dates__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 24px;
}
.pdg-dates__titre {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pdg-text);
}
.pdg-dates__grille {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
}
.pdg-jour {
	display: block;
	text-align: center;
	padding: 16px 6px;
	border: 1px solid var(--pdg-border);
	border-radius: 4px;
	background: var(--pdg-bg-alt);
	transition: border-color 0.2s, transform 0.2s;
}
a.pdg-jour:hover { border-color: var(--pdg-red); transform: translateY(-2px); }
.pdg-jour__nom,
.pdg-jour__mois {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pdg-muted);
}
.pdg-jour__num { display: block; font-size: 32px; font-weight: 800; line-height: 1.1; color: var(--pdg-text); }
.pdg-jour__heure {
	display: block;
	margin-top: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--pdg-red);
}

.pdg-dates__mois {
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin: 34px 0 14px;
}
.pdg-dates__liste { display: flex; flex-direction: column; }
.pdg-ligne {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid var(--pdg-border);
}
.pdg-ligne__quand {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	font-size: 15px;
	color: var(--pdg-text);
}
.pdg-ligne__jour,
.pdg-ligne__heure { font-size: 13px; color: var(--pdg-muted); text-transform: uppercase; letter-spacing: 0.06em; }

/* Le spectacle */
.pdg-spectacle { padding: 60px 0 20px; }
/* Dernier bloc de la page */
.pdg-spectacle:last-child { padding-bottom: 70px; }
.pdg-spectacle__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
}
.pdg-titre-souligne {
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pdg-text);
	padding-bottom: 14px;
	position: relative;
}
.pdg-titre-souligne::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 3px;
	background: var(--pdg-red);
}
.pdg-spectacle__grille {
	display: grid;
	grid-template-columns: 1fr 0.72fr;
	gap: 48px;
	align-items: start;
}
.pdg-spectacle__texte { font-size: 15px; line-height: 1.75; color: var(--pdg-muted); }
.pdg-spectacle__texte p { margin: 0 0 16px; }
.pdg-spectacle__texte strong { color: var(--pdg-text); }
.pdg-spectacle__texte a { color: var(--pdg-red); text-decoration: underline; }

.pdg-video-cadre {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-dark);
}
.pdg-video-cadre iframe,
.pdg-video-cadre video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.pdg-affiche { border-radius: 6px; overflow: hidden; background: var(--pdg-dark); }
.pdg-affiche img { width: 100%; height: auto; display: block; }

@media (max-width: 980px) {
	.pdg-fiche__inner { height: 300px; }

	/* Banniere de fiche : proportions conservees */
	.pdg-fiche--visuel .pdg-fiche__inner {
		height: auto;
		aspect-ratio: 1920 / 690;
	}
	.pdg-fiche-infos__inner { align-items: flex-start; }
	.pdg-fiche__box { padding: 34px var(--pdg-gut) 40px; }
	.pdg-dates__grille { grid-template-columns: repeat(4, 1fr); }
	.pdg-spectacle__grille { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 620px) {
	.pdg-dates__panel { padding: 22px 18px; }
	.pdg-dates__grille { grid-template-columns: repeat(2, 1fr); }
	.pdg-fiche__actions .pdg-btn { flex: 1; }
}

/* Bandeau de page */
.pdg-page-hero {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	background: linear-gradient(180deg,
		rgba(26,26,26,0) 28%,
		rgba(26,26,26,0.55) 62%,
		rgba(26,26,26,0.88) 100%);
}
.pdg-page-hero__box {
	max-width: var(--pdg-max);
	margin: 0 auto;
	width: 100%;
	padding: 0 var(--pdg-gut) 46px;
	color: #fff;
}
.pdg-page-hero__titre {
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 900;
	line-height: 1;
	color: #fff;
	max-width: 700px;
	margin-bottom: 18px;
}
.pdg-page-hero__titre::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	background: var(--pdg-red);
	margin-top: 18px;
}
.pdg-page-hero__texte {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255,255,255,0.88);
	max-width: 460px;
}

/* Événementiel */
.pdg-event__intro {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	align-items: start;
}
.pdg-event__texte { font-size: 15px; line-height: 1.75; color: var(--pdg-muted); }
.pdg-event__texte p { margin: 0 0 16px; }
.pdg-event__atouts {
	background: var(--pdg-bg);
	border-radius: 6px;
	padding: 26px;
}
.pdg-event__atouts-titre {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 16px;
}
.pdg-event__atouts ul { display: flex; flex-direction: column; gap: 12px; }
.pdg-event__atouts li {
	position: relative;
	padding-left: 22px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--pdg-muted);
}
.pdg-event__atouts li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pdg-red);
}

.pdg-chiffres {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 48px;
	padding-top: 36px;
	border-top: 1px solid var(--pdg-border);
}
.pdg-chiffre { text-align: center; }
.pdg-chiffre__valeur {
	display: block;
	font-size: clamp(38px, 4vw, 56px);
	font-weight: 900;
	line-height: 1;
	color: var(--pdg-red);
}
.pdg-chiffre__libelle {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
}

.pdg-bandeau {
	background: var(--pdg-bg);
	margin-top: 60px;
	padding: 26px 0;
}
.pdg-bandeau p {
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pdg-text);
	line-height: 1.9;
}

.pdg-espaces {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}
.pdg-espace__media {
	aspect-ratio: 3 / 2;
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-dark);
	margin-bottom: 18px;
}
.pdg-espace__media img { width: 100%; height: 100%; object-fit: cover; }
.pdg-espace__titre {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 12px;
}
/* Logos de salle */
.pdg-espace__titre--logo {
	display: flex;
	align-items: flex-end;
	min-height: 60px;
	line-height: 0;
}
.pdg-espace__titre--logo img { width: 220px; max-width: 100%; height: auto; }

.pdg-espace__texte { font-size: 15px; line-height: 1.7; color: var(--pdg-muted); }
.pdg-espace__texte strong { color: var(--pdg-text); }
.pdg-espace .pdg-link { display: inline-block; margin-top: 18px; }

.pdg-equip {
	background: var(--pdg-dark);
	color: #E5DFD5;
	margin-top: 70px;
	padding: 60px 0;
}
.pdg-equip__grille {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: center;
}
.pdg-equip__media {
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: #000;
}
.pdg-equip__media img,
.pdg-equip__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdg-equip__titre {
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 22px;
}
.pdg-equip__texte p { font-size: 15px; line-height: 1.75; color: rgba(255,255,255,0.78); margin-bottom: 16px; }
.pdg-equip__texte .pdg-btn { margin-top: 10px; }

.pdg-projet { padding: 70px 0; }
.pdg-projet__grille {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	background: var(--pdg-bg);
	border-radius: 6px;
	overflow: hidden;
	align-items: stretch;
}
.pdg-projet__media { min-height: 320px; background: var(--pdg-dark); }
.pdg-projet__media img { width: 100%; height: 100%; object-fit: cover; }
.pdg-projet__texte { padding: 40px; display: flex; flex-direction: column; align-items: flex-start; }
.pdg-projet__titre {
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 14px;
}
.pdg-projet__texte > p { font-size: 15px; line-height: 1.7; color: var(--pdg-muted); margin-bottom: 22px; }
.pdg-projet__contact {
	font-size: 15px;
	line-height: 1.8;
	color: var(--pdg-text);
	margin-bottom: 26px;
}
.pdg-projet__contact strong { display: block; text-transform: uppercase; letter-spacing: 0.05em; font-size: 13px; margin-bottom: 6px; }
.pdg-projet__contact a { color: var(--pdg-red); }
.pdg-projet__contact span { display: block; color: var(--pdg-muted); }

/* Surtitre du bandeau */
.pdg-page-hero__sur {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.75);
	margin-bottom: 14px;
}

/* Les ecrans de la facade */
.pdg-ecrans {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 48px;
}
.pdg-ecran__num {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin-bottom: 10px;
}
.pdg-ecran__titre {
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 12px;
}
.pdg-ecran__intro {
	font-size: 15px;
	line-height: 1.7;
	color: var(--pdg-muted);
	margin-bottom: 24px;
}
.pdg-ecran__media {
	aspect-ratio: 2 / 1;
	overflow: hidden;
	margin-bottom: 24px;
}
.pdg-ecran__media img { width: 100%; height: 100%; object-fit: cover; }
.pdg-ecran__specs { list-style: none; margin: 0; padding: 0; }
.pdg-ecran__spec {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid var(--pdg-border);
	font-size: 14px;
	line-height: 1.6;
	color: var(--pdg-text);
}
.pdg-ecran__spec:last-child { border-bottom: 1px solid var(--pdg-border); }
.pdg-ecran__picto { color: var(--pdg-red); flex: 0 0 auto; line-height: 0; margin-top: 2px; }
.pdg-ecran__label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-muted);
	margin-bottom: 2px;
}

@media (max-width: 980px) {
	.pdg-event__intro { grid-template-columns: 1fr; gap: 30px; }
	.pdg-espaces { grid-template-columns: 1fr; gap: 34px; }
	.pdg-ecrans { grid-template-columns: 1fr; gap: 40px; }
	.pdg-equip__grille { grid-template-columns: 1fr; gap: 30px; }
	.pdg-projet__grille { grid-template-columns: 1fr; }
	.pdg-page-hero__box { padding-bottom: 30px; }
}

@media (max-width: 620px) {
	.pdg-chiffres { grid-template-columns: 1fr; gap: 26px; }
	.pdg-projet__texte { padding: 28px 20px; }

	/* Bandeau annote : proportions conservees */
	.pdg-fiche--ecrans .pdg-fiche__inner { height: auto; aspect-ratio: 988 / 544; }
}

/* Galerie photo */
.pdg-galerie {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.pdg-galerie__vignette {
	display: block;
	aspect-ratio: 3 / 2;
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-dark);
}
.pdg-galerie__vignette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}
.pdg-galerie__vignette:hover img { transform: scale(1.05); }
.pdg-section__head--suite { margin-top: 56px; }
.pdg-section--fin { padding-bottom: 70px; }

@media (max-width: 980px) {
	.pdg-galerie { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 620px) {
	.pdg-galerie { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Entête de page sans visuel */
.pdg-entete {
	background: var(--pdg-bg);
	border-bottom: 1px solid var(--pdg-border);
	padding: 46px 0;
}
.pdg-entete__titre {
	font-size: clamp(30px, 3.6vw, 52px);
	font-weight: 900;
	line-height: 1;
	color: var(--pdg-text);
	margin-bottom: 16px;
}
.pdg-entete__titre::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	background: var(--pdg-red);
	margin-top: 16px;
}
.pdg-entete__texte {
	font-size: 15px;
	line-height: 1.7;
	color: var(--pdg-muted);
	max-width: 620px;
}

/* Actualités */
.pdg-articles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 30px;
}
.pdg-article { display: flex; flex-direction: column; align-items: flex-start; }
.pdg-article__media {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-dark);
	margin-bottom: 16px;
}
.pdg-article__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.pdg-article__media:hover img { transform: scale(1.04); }
.pdg-article__date {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin-bottom: 8px;
}
.pdg-article__titre {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pdg-text);
	margin-bottom: 10px;
}
.pdg-article__titre a:hover { color: var(--pdg-red); }
.pdg-article__resume {
	font-size: 14px;
	line-height: 1.65;
	color: var(--pdg-muted);
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pdg-article .pdg-link { margin-top: auto; }

.pdg-vide { font-size: 15px; color: var(--pdg-muted); padding: 30px 0; }

/* Corps de texte long */
.pdg-texte-long {
	max-width: 780px;
	font-size: 16px;
	line-height: 1.8;
	color: var(--pdg-muted);
}
.pdg-texte-long p { margin: 0 0 18px; }
.pdg-texte-long h2,
.pdg-texte-long h3 {
	color: var(--pdg-text);
	font-weight: 700;
	margin: 32px 0 14px;
	letter-spacing: 0.02em;
}
.pdg-texte-long h2 { font-size: 22px; }
.pdg-texte-long h3 { font-size: 18px; }
.pdg-texte-long strong { color: var(--pdg-text); }
.pdg-texte-long a { color: var(--pdg-red); text-decoration: underline; }
.pdg-texte-long img { border-radius: 6px; margin: 18px 0; }
.pdg-texte-long ul { list-style: disc; padding-left: 20px; margin: 0 0 18px; }
.pdg-texte-long li { margin-bottom: 8px; }

.pdg-retour { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--pdg-border); }
.pdg-retour--droite { text-align: right; }

@media (max-width: 980px) {
	.pdg-articles { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
	.pdg-articles { grid-template-columns: 1fr; }
	.pdg-entete { padding: 32px 0; }
}

/* Contact */
.pdg-coord {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	background: var(--pdg-bg);
	border-radius: 6px;
	overflow: hidden;
	align-items: stretch;
}
.pdg-coord__texte { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.pdg-coord__titre {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 16px;
}
.pdg-coord__lignes { font-size: 16px; line-height: 1.9; color: var(--pdg-muted); }
.pdg-coord__lignes a { color: var(--pdg-red); }
.pdg-coord__liens {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 26px;
}
.pdg-coord__media { min-height: 300px; background: var(--pdg-dark); }
.pdg-coord__media img { width: 100%; height: 100%; object-fit: cover; }

.pdg-equipe {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.pdg-membre {
	background: var(--pdg-bg);
	border-radius: 6px;
	padding: 22px 24px;
}
.pdg-membre__role {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin-bottom: 8px;
}
.pdg-membre__coord { font-size: 15px; line-height: 1.7; color: var(--pdg-text); }
.pdg-membre__coord a { color: var(--pdg-muted); }
.pdg-membre__coord a:hover { color: var(--pdg-red); }

@media (max-width: 980px) {
	.pdg-coord { grid-template-columns: 1fr; }
	.pdg-equipe { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
	.pdg-coord__texte { padding: 26px 20px; }
	.pdg-equipe { grid-template-columns: 1fr; }
}

/* Partenaires */
.pdg-partenaires {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	align-items: center;
}
.pdg-partenaire {
	display: grid;
	place-items: center;
	padding: 24px;
	background: var(--pdg-bg);
	border-radius: 6px;
	min-height: 140px;
	transition: transform 0.2s;
}
.pdg-partenaire:hover { transform: translateY(-3px); }
.pdg-partenaire img { max-width: 100%; max-height: 90px; width: auto; height: auto; }

/* Accès */
.pdg-acces {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 40px;
	align-items: start;
}
.pdg-acces__plan {
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-bg);
	aspect-ratio: 4 / 3;
}
.pdg-acces__plan iframe { width: 100%; height: 100%; border: 0; display: block; }
.pdg-acces__infos { display: flex; flex-direction: column; gap: 22px; }
.pdg-acces__bloc {
	background: var(--pdg-bg);
	border-radius: 6px;
	padding: 20px 22px;
}
.pdg-acces__titre {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin-bottom: 8px;
}
.pdg-acces__bloc p,
.pdg-acces__bloc address {
	font-style: normal;
	font-size: 15px;
	line-height: 1.7;
	color: var(--pdg-text);
}
.pdg-acces__bloc a { color: var(--pdg-red); }

/* FAQ */
.pdg-faq { width: 100%; }
.pdg-faq__item { border-bottom: 1px solid var(--pdg-border); }
.pdg-faq__item summary {
	cursor: pointer;
	list-style: none;
	padding: 20px 40px 20px 0;
	position: relative;
	font-size: 16px;
	font-weight: 600;
	color: var(--pdg-text);
	transition: color 0.2s;
}
.pdg-faq__item summary::-webkit-details-marker { display: none; }
.pdg-faq__item summary:hover { color: var(--pdg-red); }
.pdg-faq__item summary::after {
	content: '+';
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: var(--pdg-red);
	line-height: 1;
}
.pdg-faq__item[open] summary::after { content: '\2013'; }
.pdg-faq__reponse {
	max-width: 900px;
	padding: 0 40px 22px 0;
	font-size: 15px;
	line-height: 1.75;
	color: var(--pdg-muted);
}
.pdg-faq__reponse a { color: var(--pdg-red); text-decoration: underline; }

/* Archives */
.pdg-archives {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}
.pdg-archive {
	aspect-ratio: 470 / 705;
	border-radius: 4px;
	overflow: hidden;
	background: var(--pdg-bg);
}
.pdg-archive img { width: 100%; height: 100%; object-fit: cover; }

/* Visite virtuelle */
.pdg-visite {
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-dark);
	aspect-ratio: 16 / 9;
	min-height: 420px;
}
.pdg-visite iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Mentions */
.pdg-mentions { max-width: 860px; display: flex; flex-direction: column; gap: 30px; }
.pdg-mention__titre {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-red);
	margin-bottom: 10px;
}
.pdg-mention__texte { font-size: 15px; line-height: 1.75; color: var(--pdg-muted); }
.pdg-mention__texte a { color: var(--pdg-red); text-decoration: underline; }

/* Histoire */
.pdg-jalons { display: flex; flex-wrap: wrap; gap: 12px; }
.pdg-jalon {
	padding: 11px 22px;
	border: 1px solid var(--pdg-border);
	border-radius: 999px;
	background: var(--pdg-bg-alt);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-text);
	transition: border-color 0.2s, color 0.2s;
}
.pdg-jalon:hover { border-color: var(--pdg-red); color: var(--pdg-red); }

.pdg-periode { padding: 56px 0 0; scroll-margin-top: 90px; }
/* Dernier bloc de la page */
.pdg-periode:last-child { padding-bottom: 70px; }
.pdg-periode__grille {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
/* Photo a droite */
.pdg-periode--inverse .pdg-periode__grille { grid-template-columns: minmax(0, 1fr) 240px; }
.pdg-periode--inverse .pdg-periode__media { order: 2; }
.pdg-periode__texte { max-width: 760px; }
.pdg-periode__media {
	border-radius: 6px;
	overflow: hidden;
	background: var(--pdg-bg);
	aspect-ratio: 3 / 4;
	max-width: 240px;
}
.pdg-periode__media img { width: 100%; height: 100%; object-fit: cover; }
.pdg-periode__titre {
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin-bottom: 20px;
	padding-bottom: 12px;
	position: relative;
}
.pdg-periode__titre::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 3px;
	background: var(--pdg-red);
}
.pdg-periode__texte .pdg-texte-long strong { display: inline-block; margin-top: 6px; color: var(--pdg-red); }

@media (max-width: 980px) {
	.pdg-partenaires { grid-template-columns: repeat(3, 1fr); }
	.pdg-acces { grid-template-columns: 1fr; }
	.pdg-archives { grid-template-columns: repeat(4, 1fr); }
	.pdg-periode__grille,
	.pdg-periode--inverse .pdg-periode__grille { grid-template-columns: 1fr; gap: 24px; }
	.pdg-periode--inverse .pdg-periode__media { order: 0; }
	.pdg-periode__media { aspect-ratio: 3 / 4; }
	.pdg-periode__texte { max-width: none; }
	.pdg-visite { min-height: 300px; }
}

@media (max-width: 620px) {
	.pdg-partenaires { grid-template-columns: repeat(2, 1fr); }
	.pdg-archives { grid-template-columns: repeat(2, 1fr); }
}

/* Agenda */
.pdg-search__pills--salles { margin-top: 12px; }
.pdg-pill.is-actif {
	background: var(--pdg-red);
	border-color: var(--pdg-red);
	color: #fff;
}
.pdg-pill.is-actif:hover { background: var(--pdg-red-hover); border-color: var(--pdg-red-hover); color: #fff; }

.pdg-calendrier { display: flex; justify-content: center; }

.pdg-agenda { display: flex; flex-direction: column; max-width: 1000px; margin: 0 auto; }
.pdg-section .pdg-dates__mois { max-width: 1000px; margin-left: auto; margin-right: auto; }
.pdg-repres {
	display: grid;
	grid-template-columns: 84px 72px 1fr auto;
	gap: 22px;
	align-items: center;
	padding: 16px 0;
	border-top: 1px solid var(--pdg-border);
}
.pdg-repres:last-child { border-bottom: 1px solid var(--pdg-border); }
.pdg-repres__media {
	display: block;
	width: 84px;
	aspect-ratio: 1 / 1;
	border-radius: 4px;
	overflow: hidden;
	background: var(--pdg-bg);
}
.pdg-repres__media img { width: 100%; height: 100%; object-fit: cover; }
.pdg-repres__quand { text-align: center; }
.pdg-repres__jour,
.pdg-repres__mois {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pdg-muted);
}
.pdg-repres__num { display: block; font-size: 28px; font-weight: 800; line-height: 1.1; color: var(--pdg-text); }
.pdg-repres__quoi { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pdg-repres__titre {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--pdg-text);
}
.pdg-repres__titre:hover { color: var(--pdg-red); }
.pdg-repres__sous { font-size: 15px; color: var(--pdg-text); }
.pdg-repres__infos { font-size: 13px; color: var(--pdg-muted); }

.pdg-aucune { padding: 50px 0; text-align: center; }
.pdg-aucune__titre { font-size: 17px; color: var(--pdg-muted); margin-bottom: 22px; }

@media (max-width: 780px) {
	.pdg-repres {
		grid-template-columns: 64px 1fr;
		grid-template-areas:
			"media quoi"
			"quand quand"
			"action action";
		gap: 12px 16px;
	}
	.pdg-repres__media { grid-area: media; width: 64px; }
	.pdg-repres__quoi { grid-area: quoi; }
	.pdg-repres__quand { grid-area: quand; display: flex; align-items: baseline; gap: 8px; text-align: left; }
	.pdg-repres__num { font-size: 20px; }
	.pdg-repres__action { grid-area: action; }
	.pdg-repres__action .pdg-btn { width: 100%; }
}

/* Page d'erreur */
.pdg-erreur { padding: 90px 0 110px; text-align: center; }
.pdg-erreur__code {
	display: block;
	font-size: clamp(70px, 12vw, 150px);
	font-weight: 900;
	line-height: 1;
	color: var(--pdg-red);
	letter-spacing: -0.02em;
}
.pdg-erreur__titre {
	font-size: clamp(22px, 2.6vw, 34px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pdg-text);
	margin: 18px 0 14px;
}
.pdg-erreur__texte {
	font-size: 16px;
	line-height: 1.7;
	color: var(--pdg-muted);
	max-width: 520px;
	margin: 0 auto 30px;
}
.pdg-erreur__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

/* Le pied de page reste collé au bas de l'écran sur les pages courtes */
main {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
main > section:not(.pdg-news) { flex: 1 0 auto; }

/* Petits ecrans : hero et onglets de la home */
@media (max-width: 620px) {
	.pdg-news { padding: 26px 0; }
	.pdg-news__form { flex-direction: column; }
	.pdg-news__form input[type="text"],
	.pdg-news__form input[type="submit"] { width: 100%; flex: none; }
	.pdg-news__text { font-size: 12px; }
}

@media (max-width: 720px) {
	.pdg-hero__artist { font-size: 15px; letter-spacing: 0.06em; margin-bottom: 2px; }
	.pdg-hero__title { font-size: clamp(28px, 8vw, 40px); margin-bottom: 10px; }
	.pdg-hero__title--long { font-size: clamp(20px, 5.5vw, 26px); -webkit-line-clamp: 2; }
	.pdg-hero__salle { font-size: 11px; gap: 7px; margin-bottom: 16px; }

	/* Boutons empiles */
	.pdg-hero__actions { flex-direction: column; align-items: stretch; gap: 10px; }
	.pdg-hero__actions .pdg-btn { flex: none; width: 100%; padding: 13px 18px; font-size: 12px; }

	/* Onglets a defilement lateral */
	.pdg-hero__tabs-inner {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		gap: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.pdg-hero__tabs-inner::-webkit-scrollbar { display: none; }
	.pdg-tab {
		flex: 0 0 auto;
		min-width: 140px;
		max-width: 170px;
		padding: 12px 10px 10px;
		scroll-snap-align: center;
	}
	.pdg-tab__artist { font-size: 11px; }
	.pdg-tab__show { font-size: 10px; }

	.pdg-search { padding: 20px 0; }
	.pdg-search__title { font-size: 12px; margin-bottom: 14px; }
	.pdg-pill { padding: 9px 18px; font-size: 11px; }
	.pdg-search__pills { gap: 8px; }

	.pdg-section { padding: 36px 0 0; }
	.pdg-carrousel .slick-prev { left: -8px; }
	.pdg-carrousel .slick-next { right: -8px; }
	.pdg-section__head { gap: 14px; margin-bottom: 20px; }
	.pdg-section__title--logo img { width: 190px; }
	.pdg-section__rule { display: none; }
	.pdg-link { font-size: 12px; }

	.pdg-card__title { font-size: 13px; }
	.pdg-card__meta { font-size: 12px; }
	.pdg-card__btn { padding: 10px 16px; font-size: 11px; }
	.pdg-grid { gap: 16px; }
}

/* Bande des prochains jours */
.pdg-bande {
	background: var(--pdg-bg);
	border-bottom: 1px solid var(--pdg-border);
	padding: 18px 0;
}
.pdg-bande__ligne { display: flex; align-items: center; gap: 16px; }
.pdg-bande__piste {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 2px;
	flex: 1;
}
.pdg-bande__piste::-webkit-scrollbar { display: none; }
.pdg-jourbande {
	flex: 0 0 auto;
	width: 60px;
	text-align: center;
	padding: 10px 4px;
	border: 1px solid var(--pdg-border);
	border-radius: 8px;
	background: var(--pdg-bg-alt);
	scroll-snap-align: start;
	transition: border-color 0.2s, transform 0.15s, background 0.2s;
}
a.pdg-jourbande:hover { border-color: var(--pdg-red); transform: translateY(-2px); }
.pdg-jourbande.is-vide { opacity: 0.4; background: transparent; cursor: default; }
.pdg-jourbande.is-actif {
	background: var(--pdg-red);
	border-color: var(--pdg-red);
	color: #fff;
}
.pdg-jourbande.is-actif .pdg-jourbande__nom,
.pdg-jourbande.is-actif .pdg-jourbande__mois { color: rgba(255,255,255,0.85); }
.pdg-jourbande__nom,
.pdg-jourbande__mois {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pdg-muted);
}
.pdg-jourbande__num { display: block; font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--pdg-text); }
.pdg-bande__choix { flex: 0 0 auto; white-space: nowrap; }
.pdg-bande__champ { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

@media (max-width: 620px) {
	.pdg-bande { padding: 14px 0; }
	.pdg-bande__ligne { flex-direction: column; align-items: stretch; gap: 12px; }
	.pdg-bande__choix { width: 100%; }
	.pdg-jourbande { width: 54px; }
}

/* Agenda : titre et filtres sur une meme ligne, pour remonter la liste */
.pdg-entete--agenda { padding: 26px 0 22px; }
.pdg-entete__ligne {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 18px 32px;
}
.pdg-entete--agenda .pdg-entete__titre {
	font-size: clamp(24px, 2.8vw, 36px);
	margin-bottom: 0;
}
.pdg-entete--agenda .pdg-entete__titre::after { display: none; }
.pdg-entete--agenda .pdg-entete__texte {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdg-red);
}
.pdg-filtres {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
.pdg-filtres .pdg-search__pills { justify-content: flex-end; gap: 8px; }
.pdg-filtres .pdg-pill { padding: 9px 18px; font-size: 11px; }

@media (max-width: 980px) {
	.pdg-entete__ligne { flex-direction: column; align-items: stretch; }
	.pdg-filtres { align-items: stretch; }
	.pdg-filtres .pdg-search__pills { justify-content: flex-start; }
}

/* La liste demarre juste sous la bande des jours */
.pdg-section--agenda { padding-top: 26px; }
.pdg-section--agenda .pdg-dates__mois:first-of-type { margin-top: 0; }
