/* ================= HERO CONTACT ================= */

.hero.contact-hero{
position:relative;

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px 0;

text-align:center;

background:linear-gradient(180deg,#ffffff,#F2FAFB);

overflow:hidden;
}

.hero-content{
max-width:700px;

display:flex;
flex-direction:column;
align-items:center;

gap:24px;

z-index:2;
}

.hero-content h1{
font-size:64px;
line-height:1.05;
letter-spacing:-1px;
margin:0;
}

.hero-content span{
font-family:'Cormorant Garamond', serif;
font-style:italic;
color:var(--violet);
}

.hero-content p{
font-size:18px;
color:#666;
max-width:480px;
margin:0;
}

/* ================= CONTACT ================= */

.contact-section{
padding:140px 20px 100px; /* 🔥 plus d’espace en haut */
}

/* CONTAINER */

.contact-container{
max-width:1100px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:start;
}

/* ================= INFOS ================= */

.contact-info{
padding-top:40px;
}

.contact-info h2,
.contact-form h2{
font-size:30px; /* 🔥 plus élégant */
line-height:1.2;
margin-bottom:16px;
}

.contact-name{
font-size:20px;
font-weight:600;
margin-bottom:5px;
}

.contact-role{
color:#777;
margin-bottom:30px;
}

/* LABEL */

.contact-label{
font-size:11px;
letter-spacing:2px;
text-transform:uppercase;
color:#aaa;
margin-bottom:12px;
}

/* LINKS */

.contact-links{
display:flex;
flex-direction:column;
gap:20px;
}

/* STYLE CLEAN (plus moderne) */

.contact-link{
display:inline-flex;
align-items:center;
gap:10px;

padding:12px 18px;

border-radius:14px;

background:#fafafa;
border:1px solid rgba(0,0,0,0.05);

text-decoration:none;
color:#333;
font-weight:500;

transition:0.2s;
}

.contact-link:hover{
background:#f0f0f0;
transform:translateX(4px);
}

/* ================= FORM ================= */

.contact-form{
background:#ffffff;

padding:40px;
border-radius:24px;

border:1px solid rgba(0,0,0,0.05);

display:flex;
flex-direction:column;
gap:18px;
}

/* INPUT GROUP */

.input-group{
position:relative;
}

/* INPUT MODERNE */

.input-group input,
.input-group textarea{
width:100%;
padding:16px 14px;

border-radius:14px;

border:1px solid rgba(0,0,0,0.06);

font-size:15px;

background:#fafafa;

transition:0.2s ease;
outline:none;
}

/* FOCUS CLEAN */

.input-group input:focus,
.input-group textarea:focus{
background:white;
border-color:var(--bleu);
}

/* TEXTAREA */

textarea{
resize:none;
min-height:120px;
}

/* ================= CTA ================= */

.contact-form .cta-main{
align-self:center;

padding:14px 28px;
border-radius:30px;

background:var(--bleu);
color:white;

font-size:15px;
font-weight:500;

border:none; /* 🔥 supprime toute bordure */
outline:none; /* 🔥 important */

box-shadow:none; /* 🔥 enlève effet sale */

transition:0.2s;
}

.contact-form .cta-main:hover{
transform:translateY(-2px);
opacity:0.9;
box-shadow:none;
}

/* ================= RESPONSIVE ================= */

@media (max-width:900px){

.contact-container{
grid-template-columns:1fr;
gap:60px;
}

.contact-info{
text-align:center;
}

.contact-links{
align-items:center;
}

.hero-content h1{
font-size:42px;
}

}

/* ================= RESPONSIVE MOBILE ================= */
 
@media (max-width: 768px) {
 
  /* HERO */
  .hero.contact-hero {
    padding: 120px 20px 60px;
    min-height: auto;
  }
 
  .hero-content h1 {
    font-size: 36px;
    letter-spacing: -0.5px;
  }
 
  .hero-content p {
    font-size: 16px;
  }
 
  /* SECTION CONTACT */
  .contact-section {
    padding: 60px 20px 60px;
  }
 
  .contact-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
 
  /* INFOS */
  .contact-info {
    padding-top: 0;
    text-align: center;
  }
 
  .contact-info h2,
  .contact-form h2 {
    font-size: 24px;
  }
 
  .contact-name {
    font-size: 17px;
  }
 
  .contact-links {
    align-items: center;
  }
 
  .contact-link {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
 
  /* FORMULAIRE */
  .contact-form {
    padding: 28px 20px;
    border-radius: 18px;
  }
 
  .input-group input,
  .input-group textarea {
    font-size: 16px; /* évite le zoom auto sur iOS */
  }
 
  .contact-form .cta-main {
    width: 100%;
    max-width: 280px;
    text-align: center;
  }
 
}
 