/* Colors variables */
:root {
    --bg-color: #E0E3E7;
    --second-bg-color: #161616;
    --text-color: #000;
    --second-text-color: #fff;
    --darkBlue-color: #1852c7;
    --lightBlue-color: #8FCCFB;
    --lightGrey-color: #e0e0e0;
    --darkGrey-color: #6c757d;
    --font-size-base: 0.85rem;
    --font-size-small: 0.75rem;
    --font-size-medium: 0.95rem;
    --font-size-large: 1.1rem;
    --spacing-compact: 0.5rem;
    --spacing-normal: 0.8rem;
}

/* Google fonts */
@font-face {
    font-family: 'montserrat';
    src: url('../fonts/montserratRegular.ttf');
}

@font-face {
    font-family: 'lobster';
    src: url('../fonts/lobsterRegular.ttf');
}

/* CSS */

* {
    margin: 0;
    padding: 0;
    font-family: 'montserrat';
    font-size: var(--font-size-base);
}

body {
    background-color: var(--second-text-color);
    color: var(--text-color);
}

body.dark-mode {
    background-color: #121212;
    color: var(--second-text-color);
}

#darkModeToggle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background-color: var(--text-color);
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-left: 25px;
}

.dark-mode #darkModeToggle {
    background-color: var(--second-text-color);
}

#darkModeToggle:focus {
    outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.dark-mode #icon {
    color: var(--text-color); /* L'icône devient blanche en mode sombre */
}

#icon {
    color: var(--second-text-color); /* L'icône est noire en mode clair */
    transition: color 0.3s ease;
}

button.dark-mode {
    background-color: #333;
    color: var(--second-text-color);
}

.dark-mode th {
    color: var(--second-text-color);
    background-color: #444;
}

/*tag search bar*/
#search-bar {
    margin: 12px;
    padding: 8px;
    width: 30%;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--text-color);
    font-size: var(--font-size-base);
}

/* Header */
header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--second-bg-color);
    padding: 8px;
    font-family: 'lobster';
}

header img {
    height: 28px;
    width: 60px;
}

nav a {
    color: var(--second-text-color);
    padding: 4px;
    text-decoration: none;
    font-size: var(--font-size-base);
}

nav a:hover {
    color: var(--lightBlue-color);
    text-decoration: underline;
}

h1 {
    text-align: center;
    font-family: 'lobster';
    color: var(--darkBlue-color);
    font-size: var(--font-size-large);
    margin: var(--spacing-compact) 0;
}

/*index.html*/
.title {
    font-family: 'lobster';
    color: var(--second-text-color);
    font-weight: 100;
    font-size: var(--font-size-large);
}

.deconnexion {
    text-align: center;
    padding: 8px;
}

.deconnexion a {
    display: inline-block; 
    padding: 6px 12px; 
    text-decoration: none; 
    background-color: #f0f0f0; 
    font-size: var(--font-size-small);
}

.deconnexion a:hover {
    background-color: #e0e0e0; 
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 90vh;
    margin: 0;
    background-color: var(--second-text-color);
}

main h2 {
    font-family: 'lobster';
    font-weight: 100;
    font-size: 42px;
    padding: 12px;
}

/*Formulaire*/
form {
    display: flex;
    flex-direction: column;
    width: 80%;
    max-width: 280px;
}

/*Champs email & password*/
input {
    margin-bottom: 10px;
    padding: 8px;
    font-size: var(--font-size-base);
    border: 1px solid #ccc;
    border-radius: 4px;
}

input:focus {
    outline: 1px solid var(--darkBlue-color);
}

/*Bouton de connexion*/
button {
    padding: 8px;
    background-color: var(--darkBlue-color);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: var(--font-size-base);
}

button:hover {
    background-color: var(--lightBlue-color);
    color: var(--text-color);
}

.password-wrapper {
    position: relative;
    width: 100%;
    max-width: 280px;
}

.password-wrapper input {
    width: 100%;
    padding-right: 40px; /* Leave space for the eye icon */
    padding-left: 10px;
    box-sizing: border-box;
}

.password-wrapper .togglePassword {
    position: absolute;
    right: 10px;
    top: 38%;
    transform: translateY(-50%);
    cursor: pointer;
}

.password-wrapper .togglePassword i {
    font-size: 18px;
    color: #555;
}

/*Modal geolocalisation*/
.modal {
    display: none;
    position: fixed; 
    z-index: 1000; /* Assure que la modal reste au-dessus des autres éléments */
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; /* Permet de scroller si le contenu est trop grand */
    background-color: rgba(0, 0, 0, 0.5); /* Arrière-plan semi-transparent */
}

/* Contenu de la modal */
.modal-content {
    background-color: white;
    margin: 10% auto; /* Centre la modal verticalement */
    padding: 15px;
    border-radius: 8px;
    width: 80%; /* Largeur de la modal */
    max-width: 380px; /* Largeur maximale */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    font-size: var(--font-size-base);
}

.dark-mode .modal-content {
    background-color: var(--second-bg-color);
    color: var(--second-text-color);
}

.dark-mode .modal-content h2 {
    color: var(--second-text-color);
}

.modal-content h2 {
    color: var(--text-color);
    font-size: var(--font-size-medium);
    margin-bottom: 10px;
}

.modal-content .close-modal, .modal-content .close-block-modal  {
    color: var(--text-color);
    font-size: 28px;
    float: right;
    cursor: pointer;
}

.modal-content .close-del-modal{
    color: var(--text-color);
    font-size: 28px;
    float: right;
    cursor: pointer;
}

.dark-mode .modal-content .close-modal,.dark-mode .modal-content .close-del-modal,.dark-mode .modal-content .close-block-modal {
    color: var(--second-text-color);
}

.dark-mode .select-tag {
    color: var(--second-text-color);
}

/* Style de la croix de fermeture */
.close-geo {
    color: #333;
    float: right;
    font-size: 34px; 
    font-weight: bold;
    cursor: pointer;
}

/* Style pour les inputs */
label {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    color: var(--text-color);
}

input[type="text"] {
    width: 100%; 
    padding: 10px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

/* Bouton de sauvegarde */
#save-geo-button {
    background-color: var(--darkBlue-color); /* Couleur verte */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 15px;
    width: 100%; /* Prend toute la largeur disponible */
}

#save-geo-button:hover {
    background-color: #45a049;
}

/* Style pour l'affichage du nombre de photos */
.photo-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--darkBlue-color);
    color: white;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 12px;
    position: relative;
    top: -25px;
    left: -10px;
    margin-right: -15px;
    vertical-align: middle;
}

/* Responsive */

/*écrans de tablettes (768px et moins)*/
@media (max-width: 768px) {
    #search-bar {
        width: 50%;
    }
}

@media (max-width: 480px) {
    #search-bar {
        width: 80%;
    }

}
