/*  Site Name:   Enregistrement Pré-Parlementaire
Site URI:     https://enregistrement.etat-vivant-breton.bzh/
Description:  Enregistrement des pré-parlementaires
Author:       :Xavier:Jean:Nicolas.
Version:      1.2.0
License:      GNU General Public License v2 or later
*/

@font-face {
    font-family: 'Klee One';
    src: url('assets/fonts/KleeOne/KleeOne-SemiBold.eot');
    src: local('Klee One SemiBold'), local('KleeOne-SemiBold'),
        url('assets/fonts/KleeOne/KleeOne-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/KleeOne/KleeOne-SemiBold.woff2') format('woff2'),
        url('assets/fonts/KleeOne/KleeOne-SemiBold.woff') format('woff'),
        url('assets/fonts/KleeOne/KleeOne-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Klee One';
    src: url('assets/fonts/KleeOne/KleeOne-Regular.eot');
    src: local('Klee One Regular'), local('KleeOne-Regular'),
        url('assets/fonts/KleeOne/KleeOne-Regular.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/KleeOne/KleeOne-Regular.woff2') format('woff2'),
        url('assets/fonts/KleeOne/KleeOne-Regular.woff') format('woff'),
        url('assets/fonts/KleeOne/KleeOne-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/* ------------------------------
   STYLE GLOBAL
------------------------------ */
body{
  /*font-family: Klee One;*/
  font-family: Arial, sans-serif;
  background:#f5f5f5;
  margin:0;
  padding:0;
  color:#1774ff;
  font-size:19px;
}

.container{
  /* width:80%; */
  max-width:900px;
  margin:30px auto;
  background:#fff;
  padding:30px;
  border-radius:8px;
  box-shadow:0 2px 8px #ccc;
}

h1{
  color:#0066cc;
  text-align:left;
  font-size:30px;
  margin-bottom:22px;
}

.attention-msg{
  font-size:16px;
  font-weight:bold;
  color:#b30000;
  background:#ffe5e5;
  border-left:5px solid #b30000;
  padding:10px 12px;
  margin:15px 0;
  border-radius:4px;
}
.attention-msg b{color:#b30000;}

fieldset{
  border:1px solid #0066cc;
  padding:15px;
  margin-bottom:25px;
  background:#fafafa;
  border-radius:6px;
}

legend{
  color:#0066cc;
  font-weight:bold;
  font-size:20px;
  padding:0 5px;
}

/* ------------------------------

   CHAMPS DE FORMULAIRE
------------------------------ */
input, select{
  width:100%;
  max-width:600px;
  padding:8px;
  margin-top:4px;
  background:#f2f2f2;
  font-size: 16px;
  font-family: Klee One; 
  color: #0056b3;
  border:1px solid #ccc;
  box-sizing:border-box;
  border-radius:3px;
}

/* Focus visible (accessibilité) */
input:focus, select:focus, button:focus{
  outline:3px solid rgba(0,102,204,.35);

  outline-offset:2px;
}

/* Astérisque requis (évite qu'il parte seul à la ligne) */
.req{
  color:#b30000;
  font-weight:700;
  white-space:nowrap;
}

/* Titres label + aide sous champ */
.label-title{
  display:block;
  margin-bottom:4px;
}
.help{
  display:block;
  font-size:14px;
  margin-top:2px;
  margin-bottom:4px;
  opacity:.95;
}

/* ------------------------------
   Téléphones (Indicatif + Numéro)
------------------------------ */
.phone-group{
  display:flex;
  gap:10px;
  align-items:flex-start;
  width:100%;
  max-width:600px;
}
.phone-group > div{flex:1 1 0;}
.phone-group label{display:block;}
.phone-group .indicatif, .phone-group .numero{width:100%; max-width:100%;}

/* Ligne générique en colonnes */
.field-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  width:80%;
  max-width:60%;
}
.field-row > div{flex:1 1 0;}
.field-row label{display:block;}
.field-row input{width:100%; max-width:100%;}

/* Ligne pièce d'identité : alignement bas */
.field-row.id-row{align-items:flex-end;}
.field-row.id-row label{display:flex; flex-direction:column;}

/* Date + heure : Jour / Mois / Année = mêmes largeurs mais pas trop larges */
.field-row.date-time > div.datact,
{
  flex: 1 1 0;
  min-width: 110px;   /* ↓ réduit (valeur “standard”) */
}

/* Heure : un peu plus compacte aussi */
.field-row.date-time > div.time{
  flex: 0 0 120px;    /* ↓ réduit */
}

/* Heure : garde une largeur fixe raisonnable */
.field-row.date-time > div.time{
  flex: 0 0 23%; /* ajuste si besoin */
}

.infogen-indicatif {
  max-width:35%;
}

.largdate {
  max-width:200px;
}

@media (max-width:700px){
  .field-row.date-time{flex-direction:column;}
}

/* ------------------------------

   PRENOMS : input + bouton

------------------------------ */
.prenom-item{
  display:flex;
  gap:10px;
  align-items:flex-end;
  margin-bottom:10px;
  width:100%;
  max-width:500px;
}
.prenom-item label{flex:1 1 auto;}
.prenom-item input{width:100%; max-width:500px;}
.prenom-item button{
  white-space:nowrap;
  height:40px;
  margin-top:22px;
}

@media (max-width:600px){
  .prenom-item{flex-direction:column; align-items:stretch;}
  .prenom-item button{width:100%; margin-top:6px;}
}

/* ------------------------------

   SECTION ENFANTS
------------------------------ */
.child-block{
  border-radius:5px;
  margin-bottom:20px;
  overflow:hidden;
  transform-origin:top;
}

@keyframes childIn{
  from{opacity:0; transform:translateY(-8px) scale(0.99);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
.child-block.is-adding{animation:childIn 220ms ease-out;}

.child-header{
  padding:10px 12px;
  font-weight:bold;
  text-transform:uppercase;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.child-header-left{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.child-title{margin:0;}
.child-actions{
  display:inline-flex;
  gap:8px;
  align-items:center;
}
.child-toggle{
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.35);
  color:inherit;
  padding:6px 10px;
  border-radius:20px;
  cursor:pointer;
  font-size:14px;
}
.child-toggle:hover{background:rgba(255,255,255,0.26);}

.child-body{padding:15px;}
.child-block.is-collapsed .child-body{display:none;}

/* Couleurs enfants */
#childrenContainer .child-block:nth-of-type(5n + 1) .child-header{background:#d60b52; color:#fff;}
#childrenContainer .child-block:nth-of-type(5n + 1) .child-body{background:#f06292; color:#fff;}

#childrenContainer .child-block:nth-of-type(5n + 2) .child-header{background:#1976d2; color:#fff;}
#childrenContainer .child-block:nth-of-type(5n + 2) .child-body{background:#64b5f6; color:#fff;}

#childrenContainer .child-block:nth-of-type(5n + 3) .child-header{background:#388e3c; color:#fff;}
#childrenContainer .child-block:nth-of-type(5n + 3) .child-body{background:#81c784; color:#fff;}

#childrenContainer .child-block:nth-of-type(5n + 4) .child-header{background:#fbc02d; color:#000;}
#childrenContainer .child-block:nth-of-type(5n + 4) .child-body{background:#fff59d; color:#000;}
#childrenContainer .child-block:nth-of-type(5n + 4) .child-body label{color:#000;}

#childrenContainer .child-block:nth-of-type(5n) .child-header{background:#7b1fa2; color:#fff;}
#childrenContainer .child-block:nth-of-type(5n) .child-body{background:#ba68c8; color:#fff;}

.child-body label, .child-body p{color:inherit;}

/* ------------------------------

   BOUTONS

------------------------------ */
button{
  background:#0066cc;
  color:#fff;
  padding:10px 18px;
  border:none;
  margin-right:10px;
  font-size:15px;
  border-radius:20px;
  cursor:pointer;
}
button:hover{background:#0055aa;}

.submit-btn{
  background:#0066cc;
  color:#fff;
  padding:12px 25px;
  font-size:20px;
  font-weight:bold;
  border:none;
  border-radius:25px;
  cursor:pointer;
  display:block;
  margin:25px auto 0;
}

