*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
   /* height:100vh; 
    overflow:hidden; */
	height:auto;
	overflow-y:auto;
    font-family:Arial, Helvetica, sans-serif;
    background:linear-gradient(to bottom,#1f2937,#374151);
    color:white;
}

.container{
    position:relative;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    z-index:10;
}

h1{
    font-size:4rem;
    text-transform:uppercase;
    letter-spacing:4px;
    margin-bottom:20px;
    text-shadow:0 0 15px rgba(255,255,255,0.2);
	color:#fbbf24;
}

.subtitle{
    font-size:1.4rem;
    color:#fbbf24;
    margin-bottom:40px;
}

h2{
    margin-top:30px;
    margin-bottom:15px;
    color:#fbbf24;
    border-left:5px solid #f59e0b;
    padding-left:12px;
}

h3{
    margin-top:20px;
    color:#fcd34d;
}

h3b{    
	color:#50321E;
	margin-bottom:15px;
}

.liste-entetes { 
	margin-left: 10px; 
	padding-left: 20px; 
} 
.liste-entetes li {
	margin-bottom: 3px; 
}

/* Pour entourer les formulaires et les tableaux */

.card{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:12px;
    padding:25px;
    margin:20px auto;
    max-width:1200px;
    backdrop-filter:blur(4px);
}

/* Boutons de formulaires */

.btn{
    display:inline-block;
    padding:15px 35px;
    background:#f59e0b;
    color:#111827;
    text-decoration:none;
    font-weight:bold;
    border-radius:50px;
    transition:0.3s;
    box-shadow:0 5px 20px rgba(245,158,11,.4);
}

.btn:hover{
    transform:translateY(-3px);
    background:#fbbf24;
}

.btn:disabled{
    background-color:#cccccc;
    border-color:#aaaaaa;
    color:#666666;
    cursor:not-allowed;
    opacity:0.8;
}

.btn-secondary{
    display:inline-block;
    padding:12px 25px;
    background:#374151;
    color:white;
    text-decoration:none;
    border-radius:50px;
    transition:.3s;
}

.btn-secondary:hover{
    background:#4b5563;
}

.btn-container{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:20px;
}

.btn-container form{
    margin:0;
}

/* Actions dans la liste des comptes rendus */
.actions-pdf {
    white-space: nowrap;
}

.actions-pdf .btn-pdf {
    display: inline-block;
    padding: 4px 8px;
    margin: 2px;
    font-size: 0.8rem;
    line-height: 1.3;
    min-height: 0;
    width: auto;
}

.form-suppression-pdf {
    display: inline;
    margin: 0;
    padding: 0;
}

.actions-pdf .btn-supprimer {
    background-color: #b42318;
	color:white;
}


C

.ground{
    position:absolute;
    bottom:0;
    width:100%;
    height:120px;
    background:#111827;
}

/* Grue */
.crane{
    position:absolute;
    left:10%;
    bottom:120px;
    width:12px;
    height:320px;
    background:#f59e0b;
}

.crane::before{
    content:"";
    position:absolute;
    top:20px;
    left:0;
    width:260px;
    height:10px;
    background:#f59e0b;
}

.crane::after{
    content:"";
    position:absolute;
    top:30px;
    left:240px;
    width:3px;
    height:90px;
    background:#d1d5db;
}

/* Cônes */
.cone{
    position:absolute;
    bottom:120px;
    width:0;
    height:0;
    border-left:25px solid transparent;
    border-right:25px solid transparent;
    border-bottom:60px solid #f97316;
}

.cone::after{
    content:"";
    position:absolute;
    top:18px;
    left:-20px;
    width:40px;
    height:8px;
    background:white;
}

.cone1{ left:65%; }
.cone2{ left:72%; }
.cone3{ left:79%; }

/* Animation */
@keyframes blink{
    0%,100%{opacity:1;}
    50%{opacity:0.4;}
}

.subtitle{
    animation:blink 2s infinite;
}

/* Formulaires */

.form-card{
    max-width:900px;
    margin:20px auto;
    background:white;
    color:#111827;
    border-radius:10px;
    overflow:hidden;
}

.form-group{
    display:flex;
	flex-wrap: wrap;
    align-items:top; /* center */
    border-bottom:1px solid #e5e7eb;
	padding=14px;
}

.form-group label{
	background:#374151;
    color:white;
    width:220px;
    padding:15px;
    font-weight:bold;
    flex-shrink:0;
}


.form-group input,
.form-group select,
.form-group textarea{
    flex:1;
    border:none;
    padding:12px 15px;
    font-size:1rem;
    background:transparent;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;
    background:#fff8e6;
}

.form-group:nth-of-type(even){
    background:#f9fafb;
	color:#111827;
}

.form-group input[type="radio"],
.form-group input[type="checkbox"] {
	flex: 0 0 auto;
    width: 16px;
    height: 16px;
    transform: none;
    margin: 0 6px 0 20px;
    vertical-align: middle;
	align-self: center;
}

.form-field {
    flex: 1;
	vertical-align : middle;
}

.form-field select {
    flex: 0 0 auto;
    width: fit-content;
}

.form-field textarea {
    width: 100%;
    box-sizing: border-box;
}

.form-help {
    margin: 0 15px 8px 15px;
    font-size: 0.8em;
}

.radio-options {
    display: flex;
    align-items: center;
    gap: 10px;
}

.radio-options span {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    font-weight: normal;
}

.radio-options input[type="radio"] {
    margin: 0 6px 0 20px;
}

/* Tableaux */
.gc-table{

    width:100%;
    border-collapse:collapse;
    margin-top:20px;
    background:white;
    color:#111827;
    border-radius:10px;
    overflow:hidden;
}
.gc-table th{

    background:#f59e0b;
    color:#111827;
    padding:14px;
    text-align:left;
}
.gc-table td{

    padding:12px;
    border-bottom:1px solid #e5e7eb;
}
.gc-table tr:nth-child(even){

    background:#f9fafb;
}
.gc-table tr:hover{

    background:#fef3c7;
}

/* Partie entreprise */

.fiche tr.entreprise td:first-child {
    width:150px;
}
.entreprise input[type=text] {
    width:100%;
}

.entreprise .cp {
    width:80px;
}

.entreprise .ville {
    width:calc(100% - 90px);
}

/* Partie contacts */
.fiche tr.contact td {
    width:50%;
}

.contact input[type=text] {
    width:100%;
}

/* messages */

.success{
    background:#065f46;
    color:white;
    padding:15px;
    border-radius:8px;
    margin:15px 0;
}

.error{
    background:#991b1b;
    color:white;
    padding:15px;
    border-radius:8px;
    margin:15px 0;
}

.warning{
    background:#92400e;
    color:white;
    padding:15px;
    border-radius:8px;
    margin:15px 0;
}

/* Conteneur principal */
.main-content{

    max-width:1200px;
    margin:auto;
    padding:40px 20px;
}

/* Identity pour que ce soit zoli */

.identity-block{
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

/* colonne gauche */
.identity-fields{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch /* ou flex-start */
    gap:10px;
}

/* photo */
.identity-photo{
    width: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.photo-trombi{
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid #ccc;
}
.photo-upload{
    width:100%;
    text-align:center;
}

.photo-upload input[type=file]{
    max-width:180px;
    font-size:0.9rem;
}
.photo-btn{
    display:inline-block;
    cursor:pointer;
    padding:10px 15px;
    text-align:center;
}

.photo-btn input[type=file]{
    display:none;
}

/* TROMBINOSCOPE */

.trombi-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
    margin-bottom:40px;
}

.trombi-card{
    border:1px solid #ddd;
    border-radius:8px;
    padding:10px;
    text-align:center;
    background:white;
	color:#333;
}

.trombi-photo{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:6px;
}

.trombi-nom{
    font-weight:bold;
    margin-top:10px;
	color:#333;
}
.trombi-long{
	font-size:clamp(0.6rem, 1vw, 0.9rem);
}
@media print {
    .btn-container{
        display:none;
    }

    .trombi-card{
        break-inside:avoid;
    }
}

/* =========================================================
   ACTUALITÉS
   ========================================================= */

/* Actualité principale */
.actu-principale {
    width: 100%;
    max-width: 900px; /* même largeur à ajuster si .form-card a une autre valeur */
	margin:20px auto;
    background:white;
    color:#111827;
    border-radius:10px;
    overflow:hidden;
    /* margin: 0 auto 30px auto; */
    box-sizing: border-box;
    /* border: 10px solid red !important; */
}

.actu-principale-medias {
    display: flex;
    gap: 10px;
    width: 100%;
}

.actu-principale-media {
    /* width: 100%; */
	flex: 1;
    min-width: 0;
}

.actu-principale-media img,
.actu-principale-media video {
    display: block;
    width: 100%;
    height: auto;
}
.actu-principale-vignettes {
    width: 90px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.actu-principale-vignette {
    width: 90px;
    height: 90px;
    overflow: hidden;
    background: #eeeeee;
    border-radius: 6px;
    box-sizing: border-box;
}

.actu-principale-vignette img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.actu-principale-plus {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    font-weight: bold;
    color: #555555;
}
.actu-principale-contenu {
    padding: 20px;
    box-sizing: border-box;
}


/* Mur des actualités secondaires */
.mur-actualites {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;

    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    box-sizing: border-box;
}


/* Chaque actualité secondaire */
.actu-carte {
    width: calc(50% - 12.5px);
    box-sizing: border-box;
	
	background:white;
    color:#111827;
    border-radius:10px;
}

.actu-carte-media {
    width: 100%;
}

.actu-carte-media img,
.actu-carte-media video {
    display: block;
    width: 100%;
    height: auto;
}

.actu-carte-contenu {
    padding: 15px;
    box-sizing: border-box;
}


/* Informations communes */
.actu-date {
    margin-bottom: 8px;
}

.actu-chapo {
    font-weight: bold;
}

.actu-texte {
    margin-top: 10px;
}

/* Fichiers en modification */
.medias-existants {
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.medias-existants img {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.medias-existants video {
    display: block;
    width: 200px;
    max-height: 150px;
}
.nouveaux-medias {
	width: 100%;
    margin-top: 10px;
}

/* Petit écran */
@media screen and (max-width: 700px) {

    .actu-principale,
    .mur-actualites {
        width: 100%;
    }

    .actu-carte {
        width: 100%;
    }
}

/* =========================================================
   LIGHTBOX ACTUALITÉS
   ========================================================= */

.lightbox-actu {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.75);
    padding: 30px;
    box-sizing: border-box;
    overflow-y: auto;
}


/* Lightbox ouverte */

.lightbox-actu.ouverte {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Contenu */

.lightbox-actu-contenu {
    position: relative;
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    background: white;
    border-radius: 10px;
    overflow-y: auto;
    box-sizing: border-box;
}


/* Bouton fermer */

.lightbox-actu-fermer {
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 10;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    color: white;
    font-size: 30px;
    line-height: 35px;
    cursor: pointer;
}


/* Média */

.lightbox-actu-media {
    width: 100%;
	position: relative;
}

.lightbox-actu-media img,
.lightbox-actu-media video {
    display: block;
    width: 100%;
    max-height: 60vh;
    object-fit: contain;
}

/* Flèches de navigation */

.lightbox-actu-navigation {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    width: 45px;
    height: 45px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.60);
    color: white;

    font-size: 30px;
    line-height: 45px;

    cursor: pointer;
}

.lightbox-actu-precedent {
    left: 15px;
}

.lightbox-actu-suivant {
    right: 15px;
}


/* Points de position */

.lightbox-actu-points {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 7px;

    padding: 12px 0 5px;
}

.lightbox-actu-point {
    width: 9px;
    height: 9px;

    border-radius: 50%;
    background: #cccccc;
}

.lightbox-actu-point.actif {
    background: #555555;
}


/* Texte */

.lightbox-actu-texte {
    padding: 25px;
    box-sizing: border-box;
	
}

.lightbox-actu-texte h2 {
    margin-top: 5px;
    margin-bottom: 15px;
}

.lightbox-actu-texte .actu-chapo {
    margin-bottom: 20px;
	color: #111827;
}

.lightbox-actu-texte .actu-texte {
    line-height: 1.6;
	color: #111827;
}

.lightbox-actu-texte .actu-credits {
    margin-top: 20px;
    font-size: 0.85em;
	color: #111827;
}


/* Empêche le défilement de la page derrière la lightbox */

body.lightbox-active {
    overflow: hidden;
}


/* Petit écran */

@media screen and (max-width: 700px) {

    .lightbox-actu {
        padding: 10px;
    }

    .lightbox-actu-contenu {
        max-height: 95vh;
    }

    .lightbox-actu-texte {
        padding: 18px;
    }

}
