/* styles.css */

html {
    box-sizing: border-box;
    font-size: 16px; /* Ou 100% */}

*, *::before, *::after {
    box-sizing: inherit;}

body {
    font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif; /* Police par défaut pour le corps du texte */
    font-size: 1rem; /* 16px par défaut grâce au html font-size */
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: white;
    color: black;}
/* Styles pour les titres */
h1, h2, h3, h4, h5, h6 {
    font-family: Calibri, sans-serif;
    color: #50ACCF;
    margin-top: 0.5em;
    margin-bottom: 0.5em;}
h1 { font-size: 2.5rem; } 
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 2rem; }
h5 { font-size: 1.5rem; margin:0}
h6 { font-size: 1rem; }


@media (max-width: 768px) { 
    .navbar {
        flex-direction: column; 
        align-items: center; 
        padding: 10px; 
    }

    .navbar img {
        margin-right: 0; 
        margin-bottom: 10px;
    }
}



/* Styles pour les liens */
a {
    color: #c00000;
    text-decoration: none;}
/* Styles pour l'en-tête (Header)*/
header {
    background-color: white;
    color: black;
    padding: 1rem 0;
    text-align: left;} 
.header-spacer{
    height: 5px;}

.navbar-container {
    width: 100%;
    background-color:white;/*couleur fond barre menu*/
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;}
.navbar {
    position: relative;
    display: flex;
    background-color: white; /*couleur barre menu*/
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 20px;
    flex-wrap: wrap;}
.navbar-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
        justify-content: flex-end;
        flex-grow: 1;}
.navbar-links li{
    margin:0 5px;}

/* Paramétrage barre menu */
.nav-link {
  position:relative;
  display:block;
  color: white(249, 249, 125); 
  text-decoration: none;
  padding: 8px 15px;
  border-radius: 4px;
  transition: background-color 0.3s ease; 
  z-index: 1000;}
.nav-link:hover
.nav-link:focus {
  background-color: #555;
  color: #c00000;} 
.nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid transparent;
    border-radius: 8px; 
    background-color: transparent; 
    box-sizing: border-box; 
    pointer-events: none; 
    transition: background-color 0.3s ease, border-color 0.3s ease;
    z-index: -1;}
.nav-link:hover::before,
.nav-link:focus::before {
    background-color: #555; 
    border-color: #79e167; 
}
/* Styles pour le dernier élément de navigation ("Guichet en ligne") */
.special-nav-link{
    display:block;
    border: 2px solid #c00000;
    background-color: white;
    color: #218838;
    font-weight: bold;
    padding: 6px 13px; 
    border-radius: 8px;
    z-index: 1000;}
.special-nav-link:hover,
.special-nav-link:focus{
    background-color: #fdd;
    color: black;
    border-color: #c00000} 

/* Afficher le tooltip au survol du lien */
.nav-link:hover .tooltip-text,
.special-nav-link:hover .tooltip-text {
    visibility: visible;
    opacity: 1;}
/* Styles pour le texte du tooltip */
.tooltip-text {
    visibility: hidden;
    opacity: 0; 
    width: 160px; 
    background-color: #555; 
    color: #9bc9ec; 
    text-align: center; 
    border-radius: 6px; 
    padding: 5px 0;
    position: absolute;
    z-index: 1000; 
    top: 125%; 
    left: 50%; 
    transform:translateX(-50%);
    transition: opacity 0.3s;
    font-size: 0.85em;
    white-space: normal;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
/* Flèche sous le tooltip */
.tooltip-text::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #333 transparent;}

/* style pour le panneau d'accueil*/
.aventimed{
  background: url(Image/accueil.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  height: 400px;
  text-align: center;
  position:relative;}
.boite-info {
  position: absolute;
  left:20%;
  top: 10%;
  background-color: white;
  color: #c00000;
  width: 250px;
  border: 1px solid #ddd0c8;
  border-radius: 10px;}
/* style pour les panneaux de la structure du site i pour impair, p pour pair*/
.panneau_1{
    background-color: #ddd0c8;
    color:black;
    width: 70%;
    margin: 0 auto;
    margin-bottom: -18px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 5px;}
.panneau_i{
    background-color: #ddd0c8;
    color:black;
    width: 70%;
    margin: 0 auto;
    margin-bottom: -18px;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 5px;}
.panneau_p{
    background-color: white;
    color:black;
    width: 70%;
    margin: 0 auto;
    margin-bottom: -18px;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 5px;}
.med{
    grid-column: 1/-1;}
.ul1{
    list-style-type: none;}
.ul1-absence {
    list-style-type: none;
    color: #c00000;
    font-weight: bold;
    font-size: 1.25em;
    grid-column: 1/-1; }

/* Styles pour le cadre du texte et de l'image */
.text-image-frame {
    display: grid;
    grid-template-columns: 15% 1fr;
    align-items: center;
    margin:0 5%;
    border: 2px solid #c00000; /* Bordure */
    border-radius: 15px;      /* Coins arrondis */
    padding: 20px;            /* Espacement interne */
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.2); /* Ombre (optionnel) */
    margin-bottom:5%}
/* Conteneur pour l'image et le texte principal */
.content-wrapper {
    display: contents;}
/* Styles pour le conteneur de l'image à l'intérieur du cadre */
.text-image-frame .image-container {
    grid-column: 1;
    align-self: center;}
/* Styles pour le conteneur du texte à l'intérieur du cadre */
.text-image-frame .text-container {
    grid-column: 2;}

/* Styles spécifiques au paragraphe dans le conteneur de texte */
.text-image-frame .text-container p {
    text-align: justify;}

/* Styles pour l'image elle-même à l'intérieur du conteneur d'image */
.text-image-frame .image-container img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block; /* Évite les espaces sous l'image */}

/* Styles pour le pied de page (Footer) */
footer {
    background-color: white;
    color: black;
    text-align: center;
    padding: 1rem 0;
    margin-top: 20px;}
.centered-image {
  display: block; /* Transforme l'image en élément de bloc */
  margin-left: auto; /* Marge gauche automatique */
  margin-right: auto; /* Marge droite automatique */
  width: 100%;}

/* Styles de base pour la section des formulaires */
.form-section {
    background-color: #ddd0c8;
    width:100%;
    margin:0 auto;}

.form-section h3 {
    color: #50ACCF;
    text-align: left;
    margin-top:20px;
    margin-bottom: 20px;}

.form-section p{
    text-align: justify;
    margin-right: 5%;}

.form-section ul {
    list-style: none;
    padding: 0;
    text-align: center;}

.form-section li {
    margin-bottom: 10px;}

.form-section a {
    text-decoration: none;
    color: #007bff;
    font-weight: bold;
    font-size: 1.1em;
    padding: 8px 15px;
    border: 1px solid #007bff;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    display: inline-block; /* Permet le padding et les bordures */}

.form-section a:hover {
    background-color: #007bff;
    color: #c00000;}

/* Styles pour la forme de base des Pop-ups */
.modal {
    display: none;
    background-color: white;
    justify-content: center;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 80px;
    width: 100%;
    height: 85%;
    max-height: 90%;}
.modal h2{
    color:#218838;
    margin-left:5%;}
.modal-content {
    background-color: #ddd0c8;
    border: 1px solid #888;
    margin-left: 5%;
    max-height: auto;
    width: 80%;
    max-width: 900px;
    position: relative;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    overflow-y: auto;}
.modal-content form{
    margin-left:5%;
    margin-right:5%;}

.close-button {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;}
.close-button:hover,
.close-button:focus {
    color: black;
    text-decoration: none;}

/*.modal-content h3 {
    text-align: center;
    background-color: aqua;
    border:#007bff;
    color: #f7d138;
    margin-bottom: 20px;
}*/

.modal-content button[type="submit"] {
    padding: 10px 20px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    align-self: flex-end; /* Aligne le bouton à droite */
}
.modal-content button[type="submit"]:hover {
    background-color: #218838;
}

/* Styles pour les formulaires demandes administratives*/
.form-group /*paramètre du block question-réponse formulaire*/{
            margin-bottom: 5px;
            width: 100%;
            margin:0 auto;
            gap:10px;
            background-color:none;
            display: inline-block;}         
label /*paramètre question formulaire*/{
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    width: auto;}
input[type="text"],input[type="date"],input[type="tel"],input[type="email"],textarea,select {
    background-color: rgb(241, 241, 241);
    width: 250px; /* Taille fixe pour les inputs */
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;}

/* Ajout pour l'harmonie de la mise en page */
.form-row {
    display: flex;
    background-color: #79e167;
    flex-wrap: wrap;
    justify-content: space-between; 
    margin-bottom: 15px;
    margin-left: 5%;
    margin-right: 5%;}

.form-row .form-group {
    flex: 1;
    min-width: 280px; /* Largeur minimale pour éviter un trop petit affichage */
    margin-right: 20px;
    margin-bottom: 10px;}

.form-row .form-group:last-child {
    margin-right: 0;}

.form-row-full {
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 15px;}
.form-row-full .form-group {
    width: 100%;}
.form-row-full textarea {
    width: 100%;}


/*paramétrage pour modal de médicaments*/
.medication-item {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 10px;
            align-items: flex-end;}

.medication-item input {
            flex: 1;}
.medication-item button,.specialiste-item button {
            background-color: #dc3545;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1em;
            flex-shrink: 0;        }
.medication-item button:hover ,.specialiste-item button:hover{
            background-color: #c82333;        }
#addMedication,#addSpecialiste {
            background-color: #28a745;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1em;
            display: block;
            margin-top: 10px;        }
#addMedication:hover , #addSpecialiste:hover{
            background-color: #218838;        }
.radio-group label {
            display: inline-block;
            margin-right: 15px;
            font-weight: normal;
        }
.radio-group input[type="radio"] {
            margin-right: 5px;
        }
button[type="submit"] {
            background-color: #007bff;
            color: white;
            padding: 15px 25px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1.1em;
            display: block;
            width: 100%;
            margin-top: 20px;
        }
        button[type="submit"]:hover {
            background-color: #0056b3;
        }
        .error-message {
            color: red;
            font-size: 0.9em;
            margin-top: 5px;
        }
        .required::after {
            content: " *";
            color: red;
        }

/* Styles pour les cadres qui se superposent comme des séparations de classeurs */
.binder-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden; 
    background-color: red;
}

.binder-tabs /*barre intercalaire*/{
    display: flex;
    justify-content: flex-start;
    padding-left: 20px;
    background-color: greenyellow; /* Couleur de fond des onglets */
    border-bottom: 2px solid #ccc;
    position: relative;
    z-index: 2; /* S'assure que les onglets sont au-dessus du contenu */
}

.tab-title /*menus intercalaire pas utilisés*/ {
    position: relative;
    height: 100%;
    padding: 10px 25px 10px 20px; /* Ajustez le padding pour la forme */
    margin-right: -15px; /* Pour faire chevaucher les onglets */
    margin-top: -1px; /* Ajustement pour un meilleur alignement */
    background-color: #d2e147;
    border-bottom: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease, z-index 0.2s ease;
    z-index: 1; 
    display: flex; 
    align-items: center;
    clip-path: polygon(0% 0%, 100% 0%, calc(100% - 15px) 100%, 0% 100%);/* Forme d'onglet */}

.tab-title h3 {
    margin: 0;
    font-size: 1.2rem;
    color: black;}

.tab-title:hover {
    background-color: #a7b9eb;
    transform: translateY(-2px); /* Léger soulèvement au survol */
    z-index: 3; /* Met l'onglet survolé au-dessus */}

.tab-title.active {
    background-color: #fff; /* Couleur de l'onglet actif */
    border-color: #c00000;
    border-bottom-color: transparent; /* Cache la bordure inférieure pour se fondre avec le contenu */
    transform: translateY(0);
    z-index: 4; /* L'onglet actif est au premier plan */}
/* Onglets impairs (1er, 3e, 5e, etc.) : Rose Flamand */
.tab-title:not(.active):nth-child(odd) {
    background-color: #f7cac9; /* Code couleur pour Rose Flamand */}
/* Onglets pairs (2e, 4e, 6e, etc.) : Vert Menthe */
.tab-title:not(.active):nth-child(even) {
    background-color: #98ff98; /* Code couleur pour Vert Menthe */}
/* Optionnel: Style au survol (hover) pour les onglets inactifs */
.tab-title:not(.active):hover {
    background-color: #dcdcdc; /* Une couleur légèrement plus foncée ou une teinte des couleurs existantes */
    color: #000;}



.binder-content {
    background-color: #71cd8b;
    padding: 20px;
    border: 1px solid #c00000; /* Bordure pour le contenu */
    border-top: none; /* Pas de bordure supérieure car l'onglet la remplace */
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    min-height: 300px; /* Hauteur minimale pour le contenu */
    position: relative; /* Pour le positionnement des feuilles de contenu */
    z-index: 1; /* En dessous des onglets */}
.content-sheet {
    display: none; /* Cache toutes les feuilles par défaut */
    padding: 10px;}
.content-sheet.active {
    display: block; /* Affiche la feuille active */}

/* paramètre pour tableur */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;}
th,td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;}
th {
    background-color: #f2f2f2;
}