/* formulaire.css : Style pour les pages de formulaire (inscription, création de club) */

body {
    background-color: #f4fdf6;
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
}

#core {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    background: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.5)),
              var(--core-bg-image, url('../images/themes/defaut/bg-1920x1080.jpg')) no-repeat center center / cover;
    background-size: 100% auto;
    background-attachment: scroll;
}

/* ===== Fonds responsives pour formulaire (#core) ===== */

/* Par défaut (desktop standard) */
#core {
    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                var(--core-bg-image, url('../images/themes/defaut/bg-1920x1080.jpg')) no-repeat center center / cover;
}

/* Smartphone portrait */
@media screen and (max-width: 767px) {
    #core {
        background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                    var(--core-bg-image, url('../images/themes/defaut/bg-750x1200.jpg')) no-repeat center center / cover;
    }
}

/* Smartphone paysage */
@media screen and (min-width: 768px) and (max-width: 991px) {
    #core {
        background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                    var(--core-bg-image, url('../images/themes/defaut/bg-1280x800.jpg')) no-repeat center center / cover;
    }
}

/* Tablette portrait */
@media screen and (min-width: 992px) and (max-width: 1199px) {
    #core {
        background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                    var(--core-bg-image, url('../images/themes/defaut/bg-1024x1366.jpg')) no-repeat center center / cover;
    }
}

/* Grand écran (QHD) */
@media screen and (min-width: 1920px) and (max-width: 2559px) {
    #core {
        background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                    var(--core-bg-image, url('../images/themes/defaut/bg-2560x1440.jpg')) no-repeat center center / cover;
    }
}

/* Très grand écran (4K) */
@media screen and (min-width: 2560px) {
    #core {
        background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                    var(--core-bg-image, url('../images/themes/defaut/bg-3840x2160.jpg')) no-repeat center center / cover;
    }
}

@media (max-width: 768px) {
    .input-tel,
    .input-sigle,
    .input-email,
    .input-meta,
    .input-nom,
    .input-site-web {
        width: 100%;
    }
}

#contents {
    width: 100%;
    max-width: 1000px;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(2px);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
}

fieldset {
    background-color: white!important;
    border: 1px solid #2e8b57;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

legend {
    font-weight: bold;
    font-size: 1.1em;
    color: #2e8b57;
}

.form-row {
    margin-bottom: 15px;
}

.form-row input[type="text"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row input[type="file"],
.form-row input[list],
.form-row input[type="email"],
.form-row select {
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 10px;
    width: 100%;             /* pleine largeur */
    max-width: 600px;        /* (optionnel) limite maximale */
    box-sizing: border-box;
}

.form-row label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
}

.form-row input[type="text"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row input[type="file"],
.form-row input[list],
.form-row select {
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 10px;
}

/* Helpers */
.text-muted{ color: var(--sa-muted) !important; }
.small{ font-size:.915rem; }
.form-row small{ flex: 0 0 100%; margin-top:4px; }

.form-row input[type="email"]{
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 10px;
    width: 350px;
}

input[type="submit"],
input[type="button"] {
    background-color: #2e8b57;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

input[type="submit"]:hover,
input[type="button"]:hover {
    background-color: #226c45;
}

.checkbox-group label {
    display: inline-block;
    margin-right: 20px;
    font-size: 0.95em;
}

#bloc_infos_fede {
    background-color: #eaf5ea;
    padding: 15px;
    border-radius: 6px;
    margin-top: 10px;
    transition: all 0.3s ease;
}

.message_retour_good {
    background-color: #d4edda;
    color: #155724;
    padding: 10px 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    font-weight: bold;
}

.message_retour_bad {
    background-color: #ffe0e0;
    color: #a33;
    padding: 10px 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    font-weight: bold;
}

#account {
    position: absolute;
    top: 20px;
    right: 20px;
    text-align: right;
    z-index: 1000;
}

#account a,
#account input[type="submit"] {
    display: inline-block;
    background-color: #2e8b57;
    color: white;
    text-decoration: none;
    padding: 10px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    margin-top: 10px;
}

#account a:hover,
#account input[type="submit"]:hover {
    background-color: #226c45;
}

@media screen and (max-width: 768px) {
    #contents { padding: 20px; }
    .form-row input[type="text"],
    .form-row input[type="email"],
    .form-row input[type="password"],
    .form-row input[type="number"] { font-size: 0.95em; }
}

.form-page { background-color: #f4fdf6; font-family: 'Poppins', sans-serif; margin: 0; padding: 0; }

.formulaire-club { background-color: rgba(255, 255, 255, 0.85); padding: 40px; border-radius: 12px; box-shadow: 0 0 12px rgba(0, 0, 0, 0.05); margin: 40px auto; max-width: 900px; }

.formulaire-club fieldset { border: 1px solid #ccc; padding: 20px; margin-bottom: 25px; border-radius: 10px; background-color: #fafafa; }

.formulaire-club legend { font-size: 1.2em; color: #2e8b57; font-weight: bold; padding: 0 8px; }

.form-row input[type="submit"] { background-color: #2e8b57; color: white; border: none; padding: 12px 20px; font-size: 1em; border-radius: 8px; cursor: pointer; }

.form-row input[type="submit"]:hover { background-color: #226c45; }

.radio-option { margin-bottom: 10px; }

#footer { background: #2e8b57; color: white; text-align: center; padding: 20px; margin-top: auto; }

#contents h2, #contents h3, #contents h4, #core h2 { color: #2e8b57; margin-bottom: 20px; margin-top: 20px; }

#account-menu { position: absolute; top: 20px; right: 20px; text-align: right; z-index: 999; }
#account-toggle { cursor: pointer; }
#account-dropdown { position: absolute; top: 60px; right: 0; background-color: white; border: 1px solid #ccc; border-radius: 8px; padding: 10px; width: 220px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); text-align: center; color: #333; }
#account-dropdown p, #account-dropdown label { position: static; margin-bottom: 5px; }
#account-dropdown.hidden { display: none; }
#account-dropdown form input[type="email"], #account-dropdown form input[type="password"], #account-dropdown form input[type="submit"] { width: 100%; margin-top: 6px; margin-bottom: 10px; }
#account-dropdown a { color: #2e8b57; text-decoration: none; display: block; text-align: center; margin-top: 5px; }
#account-dropdown a:hover { text-decoration: underline; }
#account-name { margin-top: 10px; font-size: 0.95em; font-weight: bold; }

.input-tel, .input-fax { width: 120px; }
.input-sigle, .input-surnom, .input-x, .input-instagram, .input-code-postal { width: 150px; }
.input-meta, .input-email, .input-url { width: 250px; }
.input-nom, .input-devise, .input-site-web, .input-nom-long, .input-ville{ width: 350px; }
.input-full { width: 100%; }

select.form-select { min-width: 200px; }

input, select, textarea { height: 38px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }

.theme-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.theme-option { border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; transition: border 0.3s; }
.theme-option img { display: block; width: 120px; height: auto; }
.theme-option.selected { border: 2px solid #28a745; }
.texte-petit { font-size: 0.85em; color: #666; }

form input[type="submit"], form button { padding: 10px 20px; background-color: #2e8b57; color: white; border: none; border-radius: 8px; font-size: 1em; cursor: pointer; transition: background 0.3s; }
form input[type="submit"]:hover, form button:hover { background-color: #226c45; }

#lang-select { padding: 5px 10px; font-size: 1em; border-radius: 6px; }
