@charset "UTF-8";
/*
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.9.0
*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0;display:block;}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}

@font-face {
    font-family: 'ciclesemi';
    src: url('../fonts/Cicle_Semi-webfont.eot');
    src: url('../fonts/Cicle_Semi-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Cicle_Semi-webfont.woff') format('woff'),
         url('../fonts/Cicle_Semi-webfont.ttf') format('truetype'),
         url('../fonts/Cicle_Semi-webfont.svg#ciclesemi') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'cicle_gorditagordita';
    src: url('../fonts/Cicle_Gordita-webfont.eot');
    src: url('../fonts/Cicle_Gordita-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Cicle_Gordita-webfont.woff') format('woff'),
         url('../fonts/Cicle_Gordita-webfont.ttf') format('truetype'),
         url('../fonts/Cicle_Gordita-webfont.svg#cicle_gorditagordita') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'ciclefina';
    src: url('../fonts/Cicle_Fina-webfont.eot');
    src: url('../fonts/Cicle_Fina-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Cicle_Fina-webfont.woff') format('woff'),
         url('../fonts/Cicle_Fina-webfont.ttf') format('truetype'),
         url('../fonts/Cicle_Fina-webfont.svg#ciclefina') format('svg');
    font-weight: normal;
    font-style: normal;

}

html, body {
    color: #000;
	font-family: Arial, Helvetica, sans-serif;
    font-size: 100%;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-align: left;
	background-color: #fff;
	-webkit-text-size-adjust:none;
	-webkit-font-smoothing:antialiased
}

body{
	min-height:100%;
}

body.media{
	background-color:#303030;
}

*{
	margin:0;
	padding:0;
	outline:none;
}

img{
	display:block;
	border:none;
    -ms-interpolation-mode: bicubic;
}

h1,h2,h3,h4,p{
	font-weight:normal;
}

div, a{
	-webkit-tap-highlight-color:rgba(0,0,0,0);	
}

p a{
	font-size:16px;
}

a{
	font-family: Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:22px;
	color:#333;
	text-decoration:underline;
	
	-webkit-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-moz-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-ms-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-o-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
}

body.travaux a{
	text-decoration:none;
}
body.travaux a:hover{
	text-decoration:underline;
}

div.button{
	-webkit-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-moz-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-ms-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	-o-transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
	transition: all 300ms cubic-bezier(0.550, 0.085, 0.680, 0.530);
}

a:hover{
	text-decoration:none;
	color:#666;
}

strong{
	font-weight:bold;
}

span.clear { 
    display: block; 
    clear: both; 
    width: 1px; 
    height: 0.001%;
    font-size: 0px; 
    line-height: 0px; 
}

div#top{
	width:100%;
	height:20px;
	background-color:#ffbd59;
}

div#main-wrapper{
	max-width:960px;
	margin-left:150px;
	margin-bottom:50px;
}

@media (max-width: 1280px) {
  	div#main-wrapper{
		margin:0 auto;
		margin-bottom: 50px;
	}
}

div.content-padder{
    max-width: 85%;
    margin: 0 auto;
}

div#header{
	position:relative;
	height:140px;
}

div#logo{
	position:absolute;
	top:41px;
	left:7.5%;
}
div#meta-navigation{
	position:absolute;
	bottom:28px;
	right:7.5%;
}

@media (max-width: 500px) {
	div#header{
    	padding-left: 7.5%;	
    	padding-top: 25px;
	}
	div#logo{
		position:static;
	}
	div#meta-navigation{
		position:static;
	}
}

div#meta-navigation ul{
	margin-top:14px;
}

div#meta-navigation ul li{
	display: inline;
}

div#meta-navigation ul li span{
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:1;
	color:#999;
	margin-left:5px;
	margin-right:5px;
}

div#meta-navigation ul li a{
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:1;
	color:#999;
	text-decoration:none;
}
div#meta-navigation ul li a:hover{
	text-decoration:underline;
}
div#meta-navigation ul li a.act{
	text-decoration:underline;
}

div#header-image{
	position:relative;
	height:180px;
	overflow: hidden;
}
div#header-image #header-image-shadow{
	position:absolute;
	z-index:50000;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background-image:url(../images/header-image-shadow.png);
	background-repeat:no-repeat;
}
div#header-image #header-image-fade-left{
	position:absolute;
	z-index:50000;
	top:0;
	left:0;
	width:91px;
	height:100%;
	background-image:url(../images/header-image-fade-left.png);
	background-repeat:repeat-y;
}
div#header-image #header-image-fade-right{
	position:absolute;
	z-index:50000;
	top:0;
	right:0;
	width:91px;
	height:100%;
	background-image:url(../images/header-image-fade-right.png);
	background-repeat:repeat-y;
}

.splide{
	
}

.splide__list{
max-height:500px;	
}

@media (max-width: 500px) {
	.splide__list{
	max-height:300px;	
	}	
}

.splide__slide{
	display:flex;
	align-items:center;
	justify-content: center;
}

.splide__slide img{
	margin: auto;
    max-width: 100%;
	image-rendering: pixelated;
	object-fit: contain;
    max-height: 100%;
}

@media (max-width: 968px) {
	.splide__slide img{
		max-width: none;
	}
}

div#detail .splide__slide{
	padding:1rem 0;
}

div#detail .splide__slide img{
	box-shadow:0px 0px 15px #999;
	max-width:85%;
}

div#header-image > img{
	display:none;
}

div#navigation{
	background-image:url(../images/navigation-divider.png);
	background-repeat:no-repeat;
	background-position:left bottom;
	padding-top: 10px;
    padding-bottom: 24px;
}

div#navigation div.content-padder{
	
}

div#navigation ul li{
	display: inline-block;
	padding-top: 5px;
    padding-bottom: 5px;
}

@media (max-width: 500px) {
	div#navigation ul li{
		display: block;
		text-align: center;
	}

	div#navigation ul li.divider{
		display: none;
	}
}

div#navigation ul li span{
	font-family:'ciclesemi', Arial, Helvetica, sans-serif;
	font-size:20px;
	line-height:1.2;
	color:#ffbd59;
	margin-left:15px;
	margin-right:15px;
}

div#navigation ul li a{
	font-family:'cicle_gorditagordita', Arial, Helvetica, sans-serif;
	font-size:20px;
	line-height:1.2;
	color:#ffbd59;
	text-decoration:none;
}
div#navigation ul li a:hover{
	color:#fc1200;
}
div#navigation ul li a.act{
	color:#fc1200;
}

div#content{
	margin-top:36px;
	margin-bottom:36px;
}

div#content h1{
	font-family:'ciclesemi', Arial, Helvetica, sans-serif;
	font-size:24px;
	color:#fc1200;
	
	margin-top:33px;
	margin-bottom:12px;
}

body.inscriptions div#content h1{
	margin-bottom:25px;
}

div#content h2{
	font-family:'ciclesemi', Arial, Helvetica, sans-serif;
	font-size:20px;
	color:#fc1200;
	
	margin-top:20px;
	margin-bottom:12px;
}

body.inscriptions div#content h2{
	margin-top:10px;
	margin-bottom:5px;
}

div#content a{
	display:inline-block;
}
div#content a.space{
	display:inline-block;
	padding-top:10px;
}

div#content p{
	font-family:Arial, Helvetica, sans-serif;
	font-size:16px;
	color:#333;
}

div#content p.info{
	font-weight: bold;
}

div#content p.list-indent{
	padding-left: 8px;
	text-indent: -8px;
	
	margin-top:5px;
	margin-bottom:10px;
}

div.flyer{
	margin-top:20px;
	
}
div.flyer a{
	width: 100%;
    padding: 20px;
	background-color: #fcefdc;

	display: flex !important;
	align-items: center;
    justify-content: center;

	box-sizing: border-box;
}

div.flyer a:hover{
	background-color: #ffe8c6;
}

div.flyer a div{
	width: 50%;
	text-align: center;
	max-width: 300px;
}

div.flyer a div:first-child{
	padding-right:10px;
}
div.flyer a div:last-child{
	padding-left:10px;
}

div.flyer a div img{
	width: 100%;
	height: auto;
	margin: 0 auto;
	
}

div.gallery-wrapper{
	min-height:200px;
}

div#gallery{
	
}

div#detail{
	display:none;
}

div#gallery div.row{
	margin-bottom:30px;
}

@media (max-width: 500px) {
	div#gallery div.row{
		margin-bottom:0px;
	}
}

div.image{
	float:left;
	margin-right:20px;
	cursor:pointer;
}

div.image div.image-holder{
	width:196px;
	height:126px;	
	/* box-shadow:0px 3px 8px #ccc; */
	box-shadow:0px 3px 15px #999;
	position:relative;
	overflow: hidden;
}

div.image div.image-holder img{
	-webkit-transition:all 0.4s ease-out;
	-moz-transition:all 0.4s ease-out;
	-ms-transition:all 0.4s ease-out;
	-o-transition:all 0.4s ease-out;
	transition:all 0.4s ease-out;
	
	max-width:100%;
}

div.image:hover div.image-holder img{
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-ms-transform: scale(1.05);
	-o-transform: scale(1.05);
	transform: scale(1.05);
}

@media (max-width: 500px) {
	div.image{
		margin-right:20px;
		margin-bottom:20px;
	}
	div.image:last-child{
		margin-right:20px;
		margin-bottom:0;
	}
}

div.image span{
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:12px;
	color:#333;
	display:block;
	margin-top:10px;
}

div.form{
	margin-top:20px;
	margin-bottom:20px;
}

div.form div.row{
	margin-bottom:16px;
}

div#content div.form div.general-error{
	display:none;
	margin-bottom: 10px;
}

div#content  div.form div.general-error p{
	color:#fc1200;
}

div.form span.fielderror{
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:12px;
	color:#fc1200;
	margin-bottom:10px;
}

div.form span.success{
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:14px;
	color:#377d27;
	margin-bottom:10px;
}

div.form div#progress{
	height: 5px;
	margin-bottom:16px;
}
div.form div#progress .bar {
    height: 5px;
    background-color: #ffbd59;
}

div.form div.button{
	display:inline-block;
	
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:12px;
	color:#333;
	
	padding-top:10px;
	padding-bottom:10px;
	padding-left:30px;
	padding-right:30px;
	
	border:1px solid #fcb03d;
	background-color:#ffbd59;
	
	box-shadow:0px 3px 5px #e5e5e5;
	
	cursor:pointer;
}

div.form div.button:hover{
	border:1px solid #fd9d0b;
	background-color:#fca92b;	
}

input[type="text"],
input[type="email"],
textarea{
	border:1px solid #999999;
	outline: none;
	
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:16px;
	color:#333;
	
	padding-left:10px;
	
	box-shadow:0px 3px 5px #e5e5e5;

	 overflow: auto;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus{
	border:1px solid #666;
	box-shadow:0px 3px 5px #dcdcdc;
}

input[type="text"],
input[type="email"]{
	height:28px;
	width:300px;
}

textarea{
	resize:vertical;	
	width:430px;
	height:48px;
	padding-top:10px;
	line-height: 20px;
}

textarea.mid{
	height:72px;
}
textarea.big{
	height:96px;
}

::-webkit-input-placeholder { /* WebKit browsers */
    color:    #99;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #666;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #666;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #666;
}


/* Upload Script Styles */

div.form div.files{
	margin-bottom: 10px;
}

div#content div.files p.error{
	color:#fc1200;
}

span.btn{
	overflow:hidden;
	background-color: red;
}

.fileinput-button {
  position: relative;
  overflow: hidden;
}
.fileinput-button input {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  opacity: 0;
  -ms-filter: 'alpha(opacity=0)';
  font-size: 200px;
  direction: ltr;
  cursor: pointer;
}

/* Fixes for IE < 8 */
@media screen\9 {
  .fileinput-button input {
    filter: alpha(opacity=0);
    font-size: 100%;
    height: 100%;
  }
}


div#google-maps{
	width:100%;
	height:300px;
	margin-top:20px;
}

div#footer div.content-padder{
	border-top:1px solid #999;
}

div#footer span{
	display: block;
	margin-top: 10px;
	font-size:14px;
	line-height:1;
	color:#999;
}

.scroll-pane{
	width: 100%;
	height: auto;
}

#detail-container{
	white-space: nowrap;
}
#detail-container div.image{
	display: inline-block;
	float:none;
}
#detail-container div.image img{
	height:100%;
	width:auto;
}

div.counter{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #333;
}

div.counter a{
	text-decoration:none;
}

@charset 'UTF-8';
/*
 * blueimp Gallery CSS 2.5.0
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* Prevent artifacts in Mozilla Firefox: */
  -moz-backface-visibility: hidden;
}
.blueimp-gallery > .slides > .slide > .slide-content {
  margin: auto;

  opacity: 1;
  
  margin-top: 15px;
  margin-bottom: 15px;
  box-shadow:0px 0px 15px #999;
}
.blueimp-gallery {
  position: fixed;
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  display: none;
  -ms-touch-action: none;
}
.blueimp-gallery-carousel {
  position: relative;
  z-index: auto;
min-height:300px;
}

.blueimp-gallery-display {
  display: block;
  visibility: visible;
  opacity: 1;
}

.blueimp-gallery > .slides {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.blueimp-gallery > .slides > .slide {
  position: relative;
  float: left;
  height: 100%;
  text-align: center;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000); 
     -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000); 
      -ms-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000); 
       -o-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000); 
          transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  -webkit-transition: opacity 0.5s linear;
     -moz-transition: opacity 0.5s linear;
      -ms-transition: opacity 0.5s linear;
       -o-transition: opacity 0.5s linear;
          transition: opacity 0.5s linear;
}
.blueimp-gallery > .slides > .slide-loading {
  background: url(../img/loading.gif) center no-repeat;
  background-size: 64px 64px;
}
.blueimp-gallery > .slides > .slide-loading > .slide-content {
  opacity: 0;
}
.blueimp-gallery > .slides > .slide-error {
  background: url(../img/error.png) center no-repeat;
}
.blueimp-gallery > .slides > .slide-error > .slide-content {
  display: none;
}
.blueimp-gallery > .prev,
.blueimp-gallery > .next {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -23px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 2px #000;
  text-align: center;
  background: #222;
  background: rgba(0, 0, 0, 0.5);
  border: 3px solid #fff;
  -webkit-border-radius: 23px;
     -moz-border-radius: 23px;
          border-radius: 23px;
  opacity: 0.5;
  cursor: pointer;
  display: none;
}
.blueimp-gallery > .next {
  left: auto;
  right: 15px;
}
.blueimp-gallery > .close,
.blueimp-gallery > .title {
  position: absolute;
  top: 15px;
  left: 15px;
  margin: 0 40px 0 0;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
  text-shadow: 0 0 2px #000;
  opacity: 0.8;
  display: none;
}
.blueimp-gallery > .close {
  padding: 15px;
  right: 15px;
  left: auto;
  margin: -15px;
  font-size: 30px;
  text-decoration: none;
  cursor: pointer;
}
.blueimp-gallery > .play-pause {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 15px;
  height: 15px;
  background: url(../img/play-pause.png) 0 0 no-repeat;
  cursor: pointer;
  opacity: 0.5;
  display: none;
}
.blueimp-gallery-playing > .play-pause {
  background-position: -15px 0;
}
.blueimp-gallery-controls > .prev,
.blueimp-gallery-controls > .next,
.blueimp-gallery-controls > .close,
.blueimp-gallery-controls > .title,
.blueimp-gallery-controls > .play-pause {
  display: block;
  /* Fix z-index issues (controls behind slide element) on Android: */
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
       -o-transform: translateZ(0);
          transform: translateZ(0);
}
.blueimp-gallery-single > .prev,
.blueimp-gallery-left > .prev,
.blueimp-gallery-single > .next,
.blueimp-gallery-right > .next,
.blueimp-gallery-single > .play-pause {
  display: none;
}
.blueimp-gallery > .slides > .slide > .slide-content,
.blueimp-gallery > .prev,
.blueimp-gallery > .next,
.blueimp-gallery > .close,
.blueimp-gallery > .play-pause {
  -webkit-user-select: none;
   -khtml-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* Replace PNGs with SVGs for capable browsers (excluding IE<9) */
body:last-child .blueimp-gallery > .slides > .slide-error {
  background-image: url(../img/error.svg);
}
body:last-child .blueimp-gallery > .play-pause {
  width: 20px;
  height: 20px;
  background-size: 40px 20px;
  background-image: url(../img/play-pause.svg);
}
body:last-child .blueimp-gallery-playing > .play-pause {
  background-position: -20px 0;
}

@media (max-width: 767px) {
  .blueimp-gallery-carousel {
    height: 270px;
    max-width: 480px;
  }
}

/* IE7 fixes */
*+html .blueimp-gallery > .slides > .slide {
  min-height: 300px;
}
*+html .blueimp-gallery > .slides > .slide > .slide-content {
  position: relative;
}

/* FPAS 2026 - modernisation */
button.button, label.button {
    border: 0;
    font: inherit;
    display: inline-block;
    box-sizing: border-box;
}
button.button { cursor: pointer; }
button.button.disabled, button.button:disabled { opacity: .6; cursor: default; }
.auth-form { max-width: 480px; }
.auth-form label { display:block; margin-bottom:5px; }
.auth-error { color:#a00000; font-weight:bold; }
.admin-nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:15px; margin:20px 0; }
.admin-card, .admin-list a { display:block; padding:14px; border:1px solid #ddd; background:#fafafa; text-decoration:none; margin-bottom:8px; }
.admin-card strong, .admin-list strong { display:block; font-size:1.1em; }
.admin-card span, .admin-list span { display:block; margin-top:4px; color:#666; }
.protected-files { margin-bottom:18px; }
.global-js-error { display:block; margin-bottom:10px; }
#detail[hidden], #gallery[hidden] { display:none !important; }

/* FPAS 2026 - miniatures dans la liste des inscriptions */
.admin-inscription-list .admin-inscription-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-inscription-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border: 1px solid #ddd;
    background: #f1f1f1;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    color: #999 !important;
}

.admin-inscription-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.admin-inscription-no-photo {
    margin: 0 !important;
    color: #aaa !important;
    font-size: 1.5em;
}

.admin-inscription-info {
    min-width: 0;
    margin: 0 !important;
    color: inherit !important;
}

.admin-inscription-info strong {
    margin-top: 0;
}

@media (max-width: 600px) {
    .admin-inscription-thumb {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
    }

    .admin-inscription-info > span {
        overflow-wrap: anywhere;
    }
}


/* FPAS 2026 - agrandissement des miniatures d'inscription */
.admin-photo-lightbox-trigger {
    cursor: zoom-in;
}

.admin-photo-lightbox-trigger:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.admin-photo-lightbox[hidden] {
    display: none !important;
}

.admin-photo-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    box-sizing: border-box;
}

.admin-photo-lightbox-image {
    display: block;
    max-width: min(92vw, 1400px);
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
    background: #fff;
}

.admin-photo-lightbox-close {
    position: fixed;
    top: 14px;
    right: 18px;
    z-index: 10001;
    border: 0;
    background: transparent;
    color: #fff;
    font: 42px/1 Arial, sans-serif;
    cursor: pointer;
    padding: 6px 10px;
}

.admin-photo-lightbox-close:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

body.admin-photo-lightbox-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .admin-photo-lightbox {
        padding: 18px;
    }

    .admin-photo-lightbox-image {
        max-width: 96vw;
        max-height: 84vh;
    }

    .admin-photo-lightbox-close {
        top: 6px;
        right: 8px;
    }
}


/* FPAS 2026 - miniatures sur la fiche d'inscription */
.admin-inscription-detail-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 10px 0 20px;
}

.admin-inscription-detail-photo {
    display: block;
    width: 110px;
    height: 110px;
    border: 1px solid #ddd;
    background: #f5f5f5;
    overflow: hidden;
    text-decoration: none;
    box-sizing: border-box;
}

.admin-inscription-detail-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-inscription-detail-photo:hover,
.admin-inscription-detail-photo:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .admin-inscription-detail-photo {
        width: 88px;
        height: 88px;
    }
}
