*{
    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;
}

/* 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;
}

.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;
    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;
    }
}
