/* ===== Place du Mac — formulaire pro (charte du site principal) ===== */
:root{
    --turquoise:#2fb5d2; --turquoise-dark:#2598b1; --red:#ff4c4c; --orange:#ff9a52;
    --text:#212529; --gray:#6c757d; --bg:#f8f9fa; --white:#fff; --border:#dee2e6;
}
*{box-sizing:border-box}
body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:'Karla',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
    display:flex; flex-direction:column; align-items:center; min-height:100vh; padding:24px 16px;
}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif; color:var(--text); line-height:1.2;}

.wrapper{width:100%; max-width:560px;}
.card{
    background:var(--white); border-radius:18px; padding:34px 30px;
    box-shadow:0 12px 40px rgba(33,37,41,.10); border:1px solid #eef0f2;
}
.logo-container{text-align:center; margin-bottom:22px;}
.logo{max-width:230px; height:auto;}

/* Sélecteur de langue */
.lang-switch{display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-bottom:18px;}
.lang-switch a{
    text-decoration:none; font-size:13px; font-weight:700; color:var(--gray);
    background:var(--white); border:1px solid var(--border); padding:5px 11px; border-radius:30px; transition:.15s;
}
.lang-switch a:hover{border-color:var(--turquoise); color:var(--turquoise);}
.lang-switch a.active{background:var(--turquoise); border-color:var(--turquoise); color:#fff;}

/* Intro */
.intro-screen{animation:fadeIn .4s ease;}
.intro-title{font-size:clamp(26px,5vw,38px); font-weight:800; margin:0 0 14px;}
.intro-text{font-size:16px; margin:0 0 18px;}
.intro-text strong{color:var(--turquoise-dark);}
.intro-benefits{list-style:none; padding:0; margin:0 0 18px;}
.intro-benefits li{display:flex; align-items:center; gap:10px; padding:7px 0; font-weight:400;}
.intro-benefits i{color:var(--turquoise); width:20px; text-align:center;}
.intro-note{font-size:13.5px; line-height:1.5; background:var(--bg); border:1px solid #eef0f2; border-radius:12px; padding:12px 14px; margin:0 0 18px; color:#495057;}
.intro-note strong{color:var(--text);}
.qualirepar-note{font-size:13.5px; line-height:1.55; background:#eaf7ef; border:1px solid #cdeedd; border-radius:12px; padding:12px 14px; margin:0 0 18px; color:#22683f;}
.qualirepar-note strong{color:#1a8f52;}
.qualirepar-note a{color:#1a8f52; font-weight:700; text-decoration:none; white-space:nowrap;}
.qualirepar-note a:hover{text-decoration:underline;}

/* Champs */
label{display:block; margin:16px 0 6px; font-size:14px; font-weight:700; color:var(--text);}
input,select{
    width:100%; padding:12px 14px; font-size:16px; font-family:inherit; color:var(--text);
    background:var(--white); border:1.5px solid var(--border); border-radius:10px; transition:.15s; outline:none;
}
input:focus,select:focus{border-color:var(--turquoise); box-shadow:0 0 0 3px rgba(47,181,210,.15);}
input[type=file]{padding:10px; background:var(--bg);}
.field-status{display:block; font-size:13px; margin:6px 0 0; min-height:16px;}
.phone-container{display:flex; gap:8px;}
.phone-container select{flex:0 0 110px;}

/* Boutons */
.btn{
    display:inline-block; font-family:inherit; font-weight:700; font-size:16px; cursor:pointer;
    border:none; border-radius:10px; padding:13px 22px; transition:.15s; text-align:center;
}
.btn-primary{background:var(--turquoise); color:#fff; margin-top:22px;}
.btn-primary:hover{background:var(--turquoise-dark);}
.btn-primary:disabled{background:#cfd4d8; cursor:not-allowed;}
.btn-block{display:block; width:100%;}
.btn-ghost{background:var(--white); color:var(--gray); border:1.5px solid var(--border); margin-top:22px;}
.btn-ghost:hover{border-color:var(--gray); color:var(--text);}
.btn-link{background:none; color:var(--turquoise-dark); padding:8px 0; margin-top:8px; font-size:14px;}
.btn-row{display:flex; gap:12px; justify-content:space-between;}
.btn-row .btn{flex:1;}

/* Barre de progression */
.progress-bar{height:6px; background:#eef0f2; border-radius:6px; overflow:hidden; margin-bottom:22px;}
.progress{height:100%; width:0; background:var(--turquoise); transition:width .4s ease;}

/* Étapes */
.form-step{display:none; animation:fadeIn .4s ease;}
.form-step.active{display:block;}
@keyframes fadeIn{from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;}}

/* Mot de passe : exigences */
#password-requirements{margin:14px 0 4px; font-size:13.5px;}
#password-requirements p{margin:5px 0; font-weight:700;}
.invalid{color:var(--red);} .valid{color:#1a9f5a;}
.force-manual{display:flex; gap:9px; align-items:flex-start; font-weight:400; font-size:13.5px; margin:8px 0 0; cursor:pointer;}
.force-manual input{width:auto; margin-top:3px;}

/* Pied de page */
.contact-footer{text-align:center; font-size:13px; color:var(--gray); margin:18px 0 0;}
.contact-footer a{color:var(--gray); text-decoration:none;}
.contact-footer a:hover{color:var(--turquoise-dark); text-decoration:underline;}

/* ===== Responsive ===== */
html,body{overflow-x:hidden; max-width:100%;}
img,.cf-turnstile{max-width:100%;}
.cf-turnstile{display:flex; justify-content:center; margin:18px 0;}

@media (max-width:560px){
    body{padding:14px 10px;}
    .card{padding:26px 20px; border-radius:14px;}
    .logo{max-width:195px;}
    .phone-container{flex-wrap:wrap;}
    .phone-container select{flex:0 0 96px;}
    .phone-container input{flex:1 1 140px;}
    .lang-switch{gap:5px;}
    .lang-switch a{padding:5px 9px; font-size:12px;}
}
@media (max-width:380px){
    .card{padding:22px 16px;}
    .btn{padding:13px 14px; font-size:15px;}
}
@media (max-width:360px){
    .cf-turnstile{transform:scale(.86); transform-origin:center top; margin-bottom:8px;}
}
