/* Page Contact — classes préfixées .ct- */

/* deux façons de commencer */
.ct-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px}
.ct-way{position:relative;display:flex;flex-direction:column;gap:12px;padding:40px;border-radius:24px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);min-height:320px}
.ct-way .pill{align-self:flex-start}
.ct-pill{background:var(--bg-alt);color:var(--gold-dark)}
.ct-way__n{font-size:20px;color:var(--gold);margin-top:18px}
.ct-way h3{font-size:clamp(40px,3.8vw,56px);margin:0}
.ct-way p{font-size:17px;line-height:1.6;color:var(--ink-2);margin:0;max-width:440px}
.ct-way__f{margin-top:auto;padding-top:22px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--ink-3)}

/* coordonnées + formulaire */
.ct-main{margin-top:140px;padding-top:130px;padding-bottom:130px}
.ct-main__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:72px;align-items:start}
.ct-dl{margin:40px 0 0;display:flex;flex-direction:column}
.ct-dl>div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.ct-dl>div:last-child{border-bottom:1px solid var(--line)}
.ct-dl dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);padding-top:4px}
.ct-dl dd{margin:0;font-size:18px;font-weight:600;line-height:1.45}
.ct-dl dd span{display:block;font-size:15px;font-weight:400;color:var(--ink-2);margin-top:4px}
.ct-dl a{text-decoration:none;border-bottom:1px solid var(--gold-pale)}
.ct-dl a:hover{border-color:var(--gold)}

.ct-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:16px}
.ct-form h3{font-size:48px;margin:0}
.ct-form__intro{margin:0 0 6px;color:var(--ink-2);line-height:1.6}
.ct-form__intro a{color:var(--gold-dark)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--ink-2);min-width:0}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-size:16px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-alt);color:var(--ink);min-height:50px;width:100%;transition:border-color .2s,background .2s}
.ct-form textarea{resize:vertical;min-height:130px}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;background:#fff}
.ct-form .is-err{border-color:#b4442c;background:#fff6f3}
.ct-form .btn{width:100%;margin-top:4px}
.ct-ok{display:none;border-radius:14px;padding:16px;font-size:15px;line-height:1.5}
.ct-ok.show{display:block}
.ct-ok.ok-good{background:#eef5ee;border:1px solid #b7d3b7;color:#1f3a1f}
.ct-ok.ok-bad{background:#fff6f3;border:1px solid #e6b8aa;color:#7a2a17}
.ct-form__legal{font-size:12px;color:var(--ink-3);margin:0}
.ct-form__legal a{color:var(--ink-2)}

/* en-tête : WhatsApp en premier, téléphone en secondaire */
.ct-wa svg{color:#25D366}
.ct-hero-tel{margin:16px 0 0;font-size:15px;color:rgba(255,255,255,.75)}
.ct-hero-tel a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}

/* coaching accessible à tous */
.ct-acc{scroll-margin-top:80px}
.ct-acc__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.ct-acc__head{position:sticky;top:110px}
.ct-acc__body{max-width:720px}
.ct-acc__body h3{font-size:19px;line-height:1.3;margin:40px 0 10px;padding-top:24px;border-top:1px solid var(--line)}
.ct-acc__body h3:first-child{margin-top:0;padding-top:0;border-top:0}
.ct-acc__body p{font-size:17px;line-height:1.75;color:var(--ink-2);margin:0}
.ct-acc__list{list-style:none;padding:0;margin:22px 0 0}
.ct-acc__list li{position:relative;padding:14px 0 14px 26px;border-top:1px solid var(--line-2);font-size:16px;line-height:1.65;color:var(--ink-2)}
.ct-acc__list li::before{content:"";position:absolute;left:4px;top:25px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.ct-acc__list b{color:var(--ink);font-weight:600}
.ct-acc__end{margin-top:28px!important}
.ct-acc__body .btn{margin-top:28px}

/* galerie */
.ct-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:14px;margin-top:56px}
.ct-gal figure{margin:0;position:relative;border-radius:18px;background:var(--bg-alt)}
.ct-gal img{width:100%;height:100%;object-fit:cover}
.ct-gal figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}
.ct-g1{grid-column:span 2;grid-row:span 2}
.ct-g2,.ct-g5,.ct-g6{grid-column:span 2}

/* itinéraire */
.ct-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);margin-top:56px;background:var(--bg-alt);color:var(--ink);border:1px solid var(--line);border-radius:28px;overflow:hidden}
.ct-route__img{position:relative;margin:0;min-height:460px}
.ct-route__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-route__img figcaption{position:absolute;left:20px;bottom:20px;background:#fff;color:var(--ink);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600}
.ct-route__txt{padding:56px;display:flex;flex-direction:column;justify-content:center}
.ct-route__txt h3{font-size:clamp(48px,4.6vw,72px);margin:16px 0 0}
.ct-route__list{list-style:none;padding:0;margin:30px 0 0}
.ct-route__list li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.ct-route__list a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold-pale)}
.ct-route__list b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);padding-top:2px}
.ct-route__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

@media (max-width:980px){
  .ct-ways{grid-template-columns:1fr}
  .ct-way{padding:30px 24px;min-height:0}
  .ct-main{margin-top:90px;padding-top:90px;padding-bottom:90px}
  .ct-main__in{grid-template-columns:1fr;gap:48px}
  .ct-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}
  .ct-g1{grid-column:span 2;grid-row:span 2}
  .ct-g2{grid-column:span 2}
  .ct-g5,.ct-g6{grid-column:span 1}
  .ct-acc__in{grid-template-columns:1fr;gap:36px}
  .ct-acc__head{position:static}
  .ct-route{grid-template-columns:1fr}
  .ct-route__img{min-height:280px}
  .ct-route__txt{padding:36px 24px}
}
@media (max-width:560px){
  .ct-form{padding:26px 20px}
  .ct-form h3{font-size:40px}
  .ct-row{grid-template-columns:1fr}
  .ct-dl>div{grid-template-columns:1fr;gap:6px}
  .ct-dl dd{font-size:17px}
  .ct-route__list li{grid-template-columns:1fr;gap:4px}
  .ct-route__ctas .btn,.ct-way__f .btn,.ct-acc__body .btn{width:100%}
  .ct-acc__body p{font-size:16px}
  .ct-gal{grid-auto-rows:140px}
}

/* Responsive — audit du 24/10 */
.ct-dl dd a{white-space:nowrap}
@media (min-width:981px) and (max-width:1180px){.ct-dl>div{grid-template-columns:112px 1fr;gap:14px}.ct-way__f{flex-direction:column;align-items:flex-start}}
@media (min-width:641px) and (max-width:980px){.ct-ways{grid-template-columns:1fr 1fr}.ct-way{padding:28px 22px}.ct-way__f{flex-direction:column;align-items:flex-start}}
