/* ----- HTML Tag Reset and ClearFix ----- */
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h4,h6,pre,
form,fieldset,input,textarea,
p,blockquote,th,td				{ margin: 0; padding: 0; font-family: Verdana, sans-serif; font-size: 12px; }
table							{ border-collapse: collapse; border-spacing: 0; }
fieldset,img					{ border: 0; vertical-align: bottom; }
a,h1							{ overflow: hidden; }
ol,ul							{ list-style: none; }
caption,th						{ text-align: left; }
h1,h2,h3,h4,h4,h6				{ font-size: 100%; font-weight: normal; overflow: hidden; }
q:before,q:after			{ content: ''; }
abbr,acronym                       		{ border: 0;}
.clear:after				{ content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clear						{ display: inline-block; }
html[xmlns] .clear			{ display: block; }
* html .clear					{ height: 1%; }



/* ----- General ----- */
body			 	 			{ background: #fff; background-color:#3b0066; color: #fff; }

html, body					{ height: 100%; }
#container 	 				{ width: 100%; margin: auto; min-height: 100%; }

a							{ color: #fff;  text-decoration: underline; outline: none; }
a:hover						{ text-decoration: underline;background-color:#000;}
a.navigation {
    font-family: Verdana, sans-serif;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    text-decoration: underline;
    overflow: hidden;
    padding: 14 14 14 14px;
    }

/* ----- Menu déroulant Galerie ----- */
.menu-item {
    display: inline-block;
    position: relative;
    vertical-align: top;
}

.submenu {
    display: none;
    position: absolute;
    background-color: #3b0066;
    min-width: 150px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    padding: 10px 0;
    top: 100%;
    left: 0;
}

.menu-item:hover .submenu {
    display: block;
}

.submenu a {
    display: block;
    padding: 8px 16px;
    text-decoration: none;
    font-size: 14px;
}

.submenu a:hover {
    background-color: #000;
}

a.navigation.menu-parent {
    cursor: pointer;
}

h1.titre{
    font-family: Verdana, sans-serif;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    overflow: hidden;
    padding: 14 14 14 14px;
    }
h1.categories{
    font-family: Verdana, sans-serif;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    overflow: hidden;
    padding: 14 14 14 14px;
    }
/* ----- Classes and Headers----- */
.hidden						{ display: none; }
.default_header				{ text-indent: -9999px; height: 0px; }

#header_fr_accueil			{ background: url(../images/text/fr/bienvenue.gif) no-repeat; width: 260px; }
#header_fr_events			{ background: url(../images/text/fr/events.gif) no-repeat; width: 230px; }
#header_fr_sponsors			{ background: url(../images/text/fr/sponsors.gif) no-repeat; width: 230px; }
#header_fr_delegation		{ background: url(../images/text/fr/delegation.gif) no-repeat; width: 230px; }
#header_fr_faq				{ background: url(../images/text/fr/faq.gif) no-repeat; width: 230px; }
#header_fr_contact			{ background: url(../images/text/fr/contact.gif) no-repeat; width: 230px; }
#header_fr_management		{ background: url(../images/text/fr/management.gif) no-repeat; width: 230px; }
#header_fr_partner			{ background: url(../images/text/fr/partner.gif) no-repeat; width: 230px; }

img.oeuvre{
	border: 2px #AAAAAA solid;
}

img.bouttons				{  height=25px; padding: 5px 0 0 0; vertical-align=middle; border: 0px; }
img.fleches				{  height=25px; padding: 0 0 5px 0; vertical-align=middle; border: 0px; }

/* ----- Banner ----- 
#top_banner
{   background: url(../images/content/entete4_1.png) no-repeat;
    height: 100px;
    width: 810px;
    text-indent: -9999px;
    float: left;
    margin-top: 15px;
    margin-left: 10%;
    margin-right: 10%;
    }
#top_banner
{   background: url(../images/content/entete4_1.png) no-repeat;
    height: 100px;
    width: 810px;
    margin-top: 15px;
	horizontal-align: middle;
    }
*/

/* ----- Wrap ----- */
/* #wrap						{ float: left; width: 810px; margin-top: 0px; } */
#wrap						{ width: 100%; margin-top: 0px;  }

/* ----- Sidebar ----- */
#sidebar					{ float: left; width: 231px; padding: 0 0 0 14px; }
#side_top					{ float: left; background: url(../images/bg/side_top.gif) no-repeat; height: 25px; width: 181px; padding: 12px 0 0 56px; }
#nav_top					{ float: left; background: url(../images/bg/nav_top.gif) no-repeat; height: 48px; width: 810px; text-indent: -9999px; margin-top: 20px; }
#nav						{ float: left; background: url(../images/bg/nav.gif) repeat-y; width: 810px; padding: 5px 0 0 21px; }
#nav ul						{ float: left; width: 206px; }
#nav li						{ float: left; height: 19px; width: 206px; padding: 5px 0 0 0;  }
#nav li:hover					{ background: url(../images/bg/nav_hover.gif) repeat-y; }
#nav span					{ color: #999999; }
#nav_bottom					{ float: left; background: url(../images/bg/nav_bottom.gif) no-repeat; height: 12px; width: 227px; text-indent: -9999px;  }

img.photo				    { float: left; width: 200px; padding: 0 15px 15px 0px; }


/* ----- Middle ----- */
/*  #middle						{ float: left; width: 810px; text-align: center; padding: 0 0 0 8px; } */

#middle						{ width: 100%; text-align: center; padding: 0 0 0 8px; }

#middle_top					{ float: left; height: 40px; width: 100%; padding: 10px 0 0 0px;}

#content					{ float: left; width: 80%; padding: 2% 5% 2% 5%; } 

#portrait					{ width: 100%;  }

td.padded					{ padding: 0 0px 0 10px; }

#middle p					{ float: left; width: 810px; text-align: justify; padding: 0 0 10px 0; line-height: 18px; }
#middle p a					{ color: #009dda; text-decoration: underline; }
#middle p a:hover			{ text-decoration: none; }

/* ----- Footer ----- */
/* #footer						{ float: left; width: 810px; text-align: center; font-size: 11px; line-height: 18px; padding-top: 30px; } */
#footer						{ width: 100%; text-align: center; font-size: 11px; line-height: 18px; padding-top: 10px; }
#padding: 100px; 

table.galerie {
	margin: 0;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	table-layout: fixed;
	width: 100%;
}
td.galerie {
	margin: 0;
	padding: 20px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	width: 25%;
	text-align: center;
	vertical-align: middle;
}

H1 { font-size : 30pt;
	 font-family: verdana, Helvetica, arial, sans-serif; 
	 color : #ffffff;
	}
H2 { font-size : 20pt;
	 font-family: verdana, Helvetica, arial, sans-serif; 
	 color : #ffffff;
	}
H3 { font-size : 10pt;
	 font-family: verdana, Helvetica, arial, sans-serif;
	 color : #ffffff;
	}

/* ----- Responsive Images ----- */
img {
	max-width: 100%;
	height: auto;
}

/* Petites icônes (comme le point rouge) */
img.icon,
img[src*="red-dot.png"] {
	max-width: none !important;
	width: auto !important;
	height: 15px !important;
	vertical-align: middle;
	float: right;
	margin-top: 5px;
}

/* Page grand.php - texte sous l'image (toutes versions) */
/* Ne s'applique PAS aux tableaux avec classe .galerie */
#content table:not(.galerie) tr {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#content table:not(.galerie) td {
	width: 100%;
	text-align: center;
}

#content table:not(.galerie) td.padded {
	max-width: 800px;
	padding: 20px;
	text-align: left;
}

/* Conteneur responsive pour iframes YouTube */
.video-container {
	position: relative;
	padding-bottom: 56.25%; /* Ratio 16:9 */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ----- Menu Hamburger ----- */
.hamburger {
	display: none;
	cursor: pointer;
	background: none;
	border: none;
	padding: 10px;
	z-index: 1001;
}

.hamburger span {
	display: block;
	width: 30px;
	height: 3px;
	background-color: #fff;
	margin: 6px 0;
	transition: 0.3s;
}

/* Animation du hamburger en X */
.hamburger.active span:nth-child(1) {
	transform: rotate(-45deg) translate(-6px, 6px);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	transform: rotate(45deg) translate(-6px, -6px);
}

/* ----- Media Queries - Mobile ----- */
@media screen and (max-width: 767px) {
	/* Typographie mobile */
	body, div, dl, dt, dd, ul, ol, li,
	form, fieldset, input, textarea,
	p, blockquote, th, td {
		font-size: 14px;
	}

	a.navigation {
		font-size: 14px;
		padding: 10px 8px;
	}

	h1.titre {
		font-size: 14px;
		padding: 10px;
	}

	h1.categories {
		font-size: 18px;
		padding: 10px;
	}

	H1 { font-size: 24pt; }
	H2 { font-size: 18pt; }
	H3 { font-size: 12pt; }

	/* Menu hamburger mobile */
	.hamburger {
		display: block;
		position: fixed;
		top: 10px;
		right: 10px;
	}

	/* Navigation mobile */
	#middle_top {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: #3b0066;
		z-index: 1000;
		padding: 60px 20px 20px 20px;
		overflow-y: auto;
		flex-direction: column;
	}

	#middle_top.mobile-menu-open {
		display: flex;
	}

	#middle_top a.navigation {
		display: block;
		width: 100%;
		text-align: center;
		padding: 15px;
		border-bottom: 1px solid rgba(255,255,255,0.2);
		font-size: 18px;
	}

	.menu-item {
		display: block;
		width: 100%;
		text-align: center;
	}

	.submenu {
		position: static;
		box-shadow: none;
		padding: 5px 0;
		margin-top: 0;
		display: block;
		background-color: rgba(0,0,0,0.3);
	}

	.submenu a {
		padding: 12px 16px;
		font-size: 16px;
	}

	/* Content mobile */
	#content {
		width: 90%;
		padding: 5%;
		float: none;
	}

	#middle p {
		width: 100%;
		float: none;
	}

	/* Tables responsive */
	table.galerie {
		width: 100%;
	}

	td.galerie {
		display: block;
		width: 100%;
		padding: 10px;
	}

	td.padded {
		display: block;
		padding: 10px 0;
	}

	/* Images dans galerie */
	img.oeuvre {
		max-width: 100%;
		width: 100%;
		height: auto;
	}

	img.photo {
		float: none;
		width: 100%;
		max-width: 100%;
		padding: 0 0 15px 0;
	}

	/* Footer mobile */
	#footer {
		padding: 20px 10px;
		font-size: 12px;
	}

	/* Page grand.php - détails oeuvre (mobile seulement) */
	table {
		width: 100%;
	}

	table tr {
		display: flex;
		flex-direction: column;
	}

	table td {
		width: 100% !important;
	}

	/* Bouton Acheter plus visible sur mobile */
	a[href*="preview.php"] {
		display: inline-block;
		background-color: rgba(255,255,255,0.2);
		padding: 12px 24px;
		margin: 10px 0;
		border-radius: 5px;
		text-decoration: none;
		font-size: 16px;
		font-weight: bold;
	}

	a[href*="preview.php"]:hover {
		background-color: rgba(255,255,255,0.3);
	}
}

/* ----- Media Queries - Tablette ----- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	/* Typographie tablette */
	body, div, dl, dt, dd, ul, ol, li,
	form, fieldset, input, textarea,
	p, blockquote, th, td {
		font-size: 13px;
	}

	a.navigation {
		font-size: 15px;
		padding: 12px 10px;
	}

	H1 { font-size: 26pt; }
	H2 { font-size: 19pt; }

	/* Content tablette */
	#content {
		width: 85%;
		padding: 3% 7.5%;
	}

	#middle p {
		width: 100%;
		max-width: 768px;
		margin: 0 auto;
		float: none;
	}

	/* Images optimisées pour tablette */
	img.oeuvre {
		max-width: 400px;
	}

	img.photo {
		max-width: 300px;
	}
}

/* ----- Media Queries - Desktop large ----- */
@media screen and (min-width: 1025px) {
	#content {
		max-width: 1200px;
		margin: 0 auto;
	}

	#middle p {
		max-width: 810px;
		margin: 0 auto;
	}
}
