/* ============================================================
   TENNISSHOP — page contact (maquettes/contact-v1.html)
   ============================================================ */

/* Trois canaux */
.canaux{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.canal{display:grid;gap:.5rem;align-content:start;border-radius:var(--r-carte);padding:1.4rem;background:var(--gris-clair);border:2px solid transparent}
.canal:hover{border-color:var(--encre)}
.canal-icone{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;margin-bottom:.3rem}
.canal small{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;color:var(--gris)}
.canal strong{font-size:1.35rem;font-weight:1000;line-height:1.1;overflow-wrap:anywhere}
.canal p{font-size:.93rem;color:#444}
.canal.prefere{background:#E7F8EC}
.canal.prefere .canal-icone{background:#25D366;color:#fff}
.prefere-tag{justify-self:start;background:var(--encre);color:var(--balle);font-weight:900;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pilule);padding:.2rem .6rem}

/* Formulaire + infos boutique */
.deux-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
.formulaire .champs{margin-top:1.2rem}
.formulaire .intro{color:var(--gris)}
.formulaire .btn{margin-top:1.2rem}
.formulaire .note{margin-top:1rem}
.case a{text-decoration:underline}
.piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.infos{display:grid;gap:14px}
.infos h2{margin-bottom:.6rem}
.infos p{font-size:.97rem}
.infos .rapide{margin-top:.9rem;background:#E7F8EC;border-radius:8px;padding:.6rem .8rem;font-size:.92rem}
.infos .note-siege{margin-top:.5rem;font-size:.85rem;color:var(--gris)}
.horaires{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;font-size:.95rem;margin:0}
.horaires dt{color:var(--gris)}
.horaires dd{margin:0;font-weight:800}
.horaires .ferme{color:var(--terre)}

/* Clubs et académies */
.clubs-section{padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.clubs{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-panneau);overflow:hidden;scroll-margin-top:90px}
.clubs-visuel{position:relative;background:linear-gradient(160deg,#5C8BCB,#2F5DA8);min-height:320px;isolation:isolate}
.clubs-visuel .lignes{opacity:.7}
.clubs-visuel .tubes{position:absolute;inset:12% 18%;mix-blend-mode:multiply;z-index:1;display:flex;align-items:center;justify-content:center;gap:4%}
.clubs-visuel .tubes img{width:46%;height:auto;transform:rotate(-8deg)}
.clubs-visuel .tubes img+img{transform:rotate(10deg)}
.clubs-visuel .tubes svg{width:40%;height:auto;mix-blend-mode:normal}
.clubs-texte{background:var(--encre);color:#fff;padding:clamp(1.5rem,3.4vw,2.8rem);display:grid;gap:1rem;align-content:center}
.clubs-texte h2{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:1000;text-transform:uppercase;line-height:1}
.clubs-texte p{color:rgba(255,255,255,.78)}
.clubs-texte a:not(.btn){color:var(--balle);text-decoration:underline}
.paliers{display:grid;gap:.4rem}
.paliers div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.15);padding:.55rem 0}
.paliers b{color:var(--balle);font-weight:900;white-space:nowrap}
.clubs-texte .btn{justify-self:start}

@media(max-width:960px){.canaux{grid-template-columns:1fr}.deux-col{grid-template-columns:1fr}.clubs{grid-template-columns:1fr}.clubs-visuel{min-height:220px}}
