/* =========================================
   1. STRUCTURE GLOBALE ET CARTE
   ========================================= */

/* Fond global reprenant la couleur beige de l'accueil */
.contact-body {
    background-color: var(--beige-bg, #FFF8F2);
}

/* La grande carte conteneur */
.contact-card {
    background-color: #ffffff;
    border-radius: 50px;
    border: 1px solid var(--border-color);
    overflow: hidden; 
}
/* =========================================
   SURCHARGE 
   ========================================= */

.main-header {
    background-color: var(--bg-color, #ffffff);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}
.nav-link-main:hover,
.nav-item-dropdown:hover .nav-link-main {
    background-color: var(--purple-light, #F8F2FB);
    color: var(--purple-text, #8A4BAF);
}

.search-wrapper:hover .search-input,
.search-input:focus {
    width: 200px;
    opacity: 1;
    padding: 8px 18px; 
    margin-right: 10px;
    background-color: var(--purple-light); 
}

/* =========================================
   2. PANNEAU DE GAUCHE (INFOS)
   ========================================= */

.contact-info-panel {
    background-color: var(--purple-light);
    color: var(--text-main);
}

/* Typographie spécifique */
.contact-title {
    font-family: 'Paytone One', sans-serif;
    font-size: 2.2rem;
    color: var(--purple-text);
    line-height: 1.2;
}

.contact-text {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}

/* Icônes de contact */
.icon-circle {
    width: 40px;
    height: 40px;
    background-color: #ffffff;
    color: var(--purple-text);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 10px rgba(138, 75, 175, 0.1);
}

/* Boutons réseaux sociaux */
.social-btn {
    width: 45px;
    height: 45px;
    background-color: transparent;
    border: 2px solid var(--purple-text);
    color: var(--purple-text);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-btn:hover {
    background-color: var(--purple-text);
    color: #ffffff;
    transform: translateY(-3px);
}

/* =========================================
   3. PANNEAU DE DROITE (FORMULAIRE)
   ========================================= */

.contact-form-panel {
    background-color: #ffffff;
}

/* Labels des champs */
.form-label {
    font-weight: 800;
    font-size: 13px;
    color: var(--text-title);
    margin-left: 15px;
    margin-bottom: 6px;
}

/* Champs de texte (Identique à login/register) */
.custom-input {
    border-radius: 25px; /* Arrondis type pilule */
    border: 2px solid var(--border-color);
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-main);
    background-color: #FAFAFA;
    transition: all 0.3s ease;
    box-shadow: none !important;
}

/* État actif (focus) */
.custom-input:focus {
    border-color: var(--purple-mid);
    background-color: #ffffff;
    /* Halo violet doux */
    box-shadow: 0 0 0 4px rgba(211, 184, 232, 0.3) !important; 
}

.custom-input::placeholder {
    color: #B0B0B0;
    font-weight: 400;
}

select.custom-input {
    cursor: pointer;
}

/* =========================================
   4. BOUTON ENVOYER
   ========================================= */

.btn-submit-contact {
    background-color: var(--brown-card);
    color: #ffffff;
    border: none;
    padding: 14px 35px;
    border-radius: 35px;
    font-size: 15px;
    font-weight: 800;
    transition: all 0.3s ease;
    display: inline-block;
}

.btn-submit-contact:hover {
    background-color: var(--brown-btn);
    color: #000000;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(185, 124, 70, 0.2);
}