
/* ============================================
   CONTACT PAGE STYLESHEET
   Theme: Green accent (--vert)
   ============================================ */

:root{
    --corail: #ff6b52; /* corail */
    --vert: #00C853; /* vert */
    --bleu: #1E90FF; /* bleu */
    --jaune: #FFC857; /* jaune */
    --beige: #f4ebe4;    /* warm beige */
}

/* Local Gliker font */
@font-face{
    font-family: 'Gliker';
    src: url('../Font/gliker-regular.woff2') format('woff2'),
         url('../Font/gliker-regular.woff') format('woff'),
         url('../Font/gliker-regular.eot');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Global reset */
*{box-sizing:border-box}
body{
    margin:0;
    font-family: 'Gliker', sans-serif;
    background: var(--beige);
    -webkit-font-smoothing:antialiased;
    overflow:hidden;
    height:100vh;
    max-height:100vh;
}

.nav-wrap{
    padding:0.75rem 1rem;
}

.nav{
	width:95%;
    max-width:75rem;
    margin:0 auto;
    background: var(--beige);
    border:0.25rem solid var(--vert);
    border-radius:1.75rem;
    padding: 0.5rem 1rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.nav-list{
    display:flex;
    gap:0.875rem;
    list-style:none;
    margin:0;
    padding:0;
    align-items:center;
}

.nav-link{
    display:inline-block;
    padding:0.625rem 1.5rem;
    border-radius:999px;
    border:0.1875rem solid var(--vert);
    color:var(--vert);
    text-decoration:none;
    font-weight:700;
    background:transparent;
    transition:all .16s ease;
}

.nav-Contact{
    background:var(--vert);
    color:var(--beige);
}

.nav-Projets:hover{
    border-color:var(--bleu);
    color:var(--bleu);
}

.nav-Outils:hover{
    border-color:var(--jaune);
    color:var(--jaune);
}

.nav-Accueil:hover{
    border-color:var(--corail);
    color:var(--corail);
}

/* SVG sizing */
.green-svg{
    width:3rem;
    height:3rem;
    display:block;
}

/* ============================================
   CONTACT PAGE LAYOUT & FORM
   ============================================ */

.contact-page{
    padding:0.5rem 1rem;
    background:var(--beige);
    position:relative;
    height:100vh;
    max-height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.contact-section{
    max-width:43.75rem;
    margin:0 auto;
    text-align:center;
    position:relative;
    z-index:1;
    flex:1;
    display:flex;
    flex-direction:column;
    padding:1rem;
    justify-content:center;
}

.contact-section h1{
    color:var(--vert);
    font-size:clamp(1.75rem,5vw,3rem);
    margin:0 0 0.75rem;
    font-weight:800;
}

/* Form styles */
.contact-form{
    display:flex;
    flex-direction:column;
    gap:0.75rem;
}

.form-group{
    text-align:left;
}

.form-label{
    display:block;
    margin-bottom:0.5rem;
    color:var(--vert);
    font-weight:700;
    font-size:0.95rem;
}

.form-input,
.form-textarea{
    width:100%;
    padding:0.75rem 0;
    border:none;
    border-bottom:0.1875rem solid var(--vert);
    background:transparent;
    font-family:inherit;
    font-size:1rem;
    color:var(--vert);
    outline:none;
    transition:border-color .2s ease;
}

.form-input::placeholder,
.form-textarea::placeholder{
    color:#999;
}

.form-input:focus,
.form-textarea:focus{
    border-bottom-color:var(--vert);
}

.form-textarea{
    resize:none;
    overflow:hidden;
    min-height:auto;
}

.form-actions{
    margin-top:1.5rem;
    text-align:center;
}

.btn-submit{
    padding:0.75rem 2.5rem;
    border-radius:999px;
    color:var(--vert);
    font-family:inherit;
    font-weight:700;
    font-size:1rem;
    cursor:pointer;
    transition:all .2s ease;
    border: 0.1875rem solid var(--vert);
}

.btn-submit:hover{
    transform:translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,200,83,0.2);
    background:var(--vert);
    color: var(--beige);
}

/* ============================================
   DECORATIVE BACKGROUND ELEMENTS
   ============================================ */

.hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
}

.contact-section{
    max-width:700px;
    margin:0 auto;
    text-align:center;
    position:relative;
    z-index:1;
}

.space{
    position:absolute;
    width:auto;
    height:auto;
    transform-origin:center center;
    filter:blur(0.875rem);
    opacity:0.95;
    transform:translate3d(0,0,0) scale(1);
    transition:transform 450ms cubic-bezier(.2,.9,.3,1), opacity 300ms ease, filter 220ms ease;
    animation: space-pulse 6s ease-in-out infinite;
}

.space path{
    fill:currentColor;
}

.space--1{
    left:0;
    top:0;
    width:clamp(7.5rem,25vw,22.5rem);
    height:auto;
    color:var(--vert);
}

.space--2{
    right:8%;
    top:6%;
    width:clamp(5.625rem,18vw,16.25rem);
    height:auto;
    color:var(--corail);
    animation-delay:0.8s;
}

.space--3{
    left:10%;
    bottom:25%;
    width:clamp(6.25rem,20vw,17.5rem);
    height:auto;
    color:var(--bleu);
    animation-delay:1.4s;
}

.space--4{
    right:0%;
    bottom:10%;
    width:clamp(4.375rem,14vw,12.5rem);
    height:auto;
    color:var(--jaune);
    animation-delay:2s;
}

@keyframes space-pulse {
    0%{
        transform: translate3d(0,0,0) scale(1) rotate(0deg);
        opacity:0.95;
    }
    25%{
        transform: translate3d(0.375rem,-0.25rem,0) scale(1.03) rotate(-0.6deg);
        opacity:0.88;
    }
    50%{
        transform: translate3d(0,-0.5rem,0) scale(1.06) rotate(0.6deg);
        opacity:0.82;
    }
    75%{
        transform: translate3d(-0.375rem,-0.25rem,0) scale(1.03) rotate(-0.6deg);
        opacity:0.88;
    }
    100%{
        transform: translate3d(0,0,0) scale(1) rotate(0deg);
        opacity:0.95;
    }
}

/* ============================================
   UNAVAILABLE MESSAGE STYLES
   ============================================ */

.contact-unavailable{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1;
    width:100%;
    overflow-y:auto;
    padding:1rem 0;
}

.unavailable-message{
    background:rgba(0, 200, 83, 0.08);
    border:0.2rem solid var(--vert);
    border-radius:2rem;
    padding:0.75rem;
    animation:fade-in 500ms ease-out forwards;
}

.unavailable-message h2{
    color:var(--vert);
    font-size:1.25rem;
    margin:0 0 0.5rem;
    font-weight:800;
}

.unavailable-message > p{
    color:#555;
    font-size:1rem;
    line-height:1.6;
    margin:0 0 1rem;
}

.contact-methods{
    display:flex;
    flex-direction:column;
    gap:0.5rem;
    margin-top:0.75rem;
}

.contact-method{
    background:var(--beige);
    border:0.15rem solid var(--vert);
    border-radius:1.5rem;
    padding:0.5rem;
    transition:all 300ms ease;
}

.contact-method:hover{
    transform:translateY(-0.25rem);
    box-shadow:0 0.75rem 2rem rgba(0, 200, 83, 0.15);
}

.contact-method h3{
    color:var(--vert);
    margin:0 0 1rem;
    font-size:1.1rem;
    font-weight:800;
}

.contact-method p{
    color:#555;
    font-size:0.95rem;
    margin:0 0 1rem;
    line-height:1.5;
}

.contact-link{
    display:inline-block;
    color:var(--vert);
    text-decoration:none;
    font-weight:700;
    padding:0.5rem 1rem;
    border-radius:999px;
    border:0.15rem solid var(--vert);
    transition:all 250ms ease;
}

.contact-link:hover{
    background:var(--vert);
    color:var(--beige);
    transform:scale(1.05);
}

@keyframes fade-in{
    from{
        opacity:0;
        transform:translateY(1rem);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
