*{box-sizing:border-box}
body{margin:0;font:16px Arial,Helvetica,sans-serif;color:#182019;background:#f6f2e9;line-height:1.6}
nav{background:#090b09;color:#fff;padding:16px 5%;display:flex;justify-content:space-between;position:sticky;top:0;z-index:5}
nav a{color:#fff;text-decoration:none;margin-left:18px}
nav a:hover{color:#d2a45d}
.hero{min-height:78vh;background-color:#182019;background-image:linear-gradient(90deg,#000b,#0002),url('../uploads/hero.jpg');background-position:center;background-size:cover;display:flex;align-items:center;color:#fff}
.hero-in,section,.contact-in{max-width:1100px;margin:auto;padding:70px 24px;width:100%}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif}
h1{font-size:clamp(3rem,8vw,6rem);line-height:1;margin:15px 0}
.hero p{font-size:1.2rem}
.btn{display:inline-block;background:#a52b25;color:#fff;padding:13px 22px;text-decoration:none;margin:8px 8px 0 0}
.btn:hover{background:#8d211c}
.eyebrow{color:#a52b25;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:bold}
.hero .eyebrow{color:#d2a45d}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fffdf8;padding:28px;border:1px solid #ddd6c8;border-radius:8px}
.info{background:#182019;color:#fff;padding:30px;border-radius:8px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}
.contact{background:#111611;color:#fff;max-width:none}
.contact .eyebrow{color:#d2a45d}
footer{text-align:center;background:#090b09;color:#aaa;padding:22px}
@media(max-width:700px){nav .links{display:none}.grid,.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:450px){.grid,.gallery{grid-template-columns:1fr}}

/* --- Disciplines cliquables (onglets sans JavaScript) --- */
.hint{color:#6b6a60;font-size:.95rem;margin:-8px 0 26px}
.disc-input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.card[for]{cursor:pointer;display:block;transition:border-color .15s,box-shadow .15s,transform .15s}
.card[for]:hover{border-color:#a52b25;transform:translateY(-2px)}
.card .more{display:inline-block;margin-top:10px;color:#a52b25;font-weight:bold;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.card .more::after{content:' →'}
#d-karate:checked~.grid .card[for="d-karate"],
#d-taichi:checked~.grid .card[for="d-taichi"],
#d-qigong:checked~.grid .card[for="d-qigong"]{border-color:#a52b25;box-shadow:inset 0 0 0 2px #a52b25}
#d-karate:checked~.grid .card[for="d-karate"] .more,
#d-taichi:checked~.grid .card[for="d-taichi"] .more,
#d-qigong:checked~.grid .card[for="d-qigong"] .more{color:#6b6a60}
#d-karate:focus-visible~.grid .card[for="d-karate"],
#d-taichi:focus-visible~.grid .card[for="d-taichi"],
#d-qigong:focus-visible~.grid .card[for="d-qigong"]{outline:3px solid #d2a45d;outline-offset:3px}
.detail{display:none;background:#fffdf8;border:1px solid #ddd6c8;border-left:5px solid #a52b25;border-radius:8px;padding:30px 34px;margin-top:26px}
.detail h3{margin-top:0}
.detail p:last-child{margin-bottom:0}
#d-karate:checked~#p-karate,
#d-taichi:checked~#p-taichi,
#d-qigong:checked~#p-qigong{display:block}
@media(max-width:450px){.detail{padding:24px 20px}}

/* --- Contact : liens et carte --- */
.contact a{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#d2a45d}
.contact a:hover{color:#d2a45d}
.contact .grid>div p{margin:6px 0 0}
.map{margin:42px 0 0;background:#0a0d0a;border:1px solid #2b332b;border-radius:10px;overflow:hidden;box-shadow:0 14px 34px #0006}
.map iframe{display:block;width:100%;height:min(58vh,430px);border:0;filter:saturate(.9)}
.map figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;color:#cfd3cd;font-size:.95rem}
.btn-map{margin:0;background:#a52b25;border-radius:4px;padding:10px 18px;font-size:.9rem;text-decoration:none}
.contact a.btn-map{color:#fff;text-decoration:none}
.contact a.btn-map:hover{background:#8d211c;color:#fff}
@media(max-width:450px){.map figcaption{justify-content:center;text-align:center}}

/* --- Horaires --- */
.sched-title{margin:0 0 6px;font-size:1.35rem}
.schedule{list-style:none;margin:18px 0 0;padding:0}
.schedule li{display:grid;grid-template-columns:1.3fr 1.4fr auto;align-items:center;gap:10px 22px;padding:16px 0;border-top:1px solid #ffffff26}
.schedule li:first-child{border-top:0}
.s-disc{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem}
.s-note{font-family:Arial,Helvetica,sans-serif;font-size:.8rem;color:#b9c0b8;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.s-day{color:#e8e6df}
.s-ask{color:#b9c0b8;font-style:italic}
.s-time{color:#d2a45d;font-weight:bold;font-size:1.1rem;white-space:nowrap;text-align:right}
.s-link{display:inline-block;color:#d2a45d;font-size:.9rem;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;border:1px solid #d2a45d;border-radius:4px;padding:7px 14px;text-decoration:none}
.s-link:hover{background:#d2a45d;color:#182019}
.sched-foot{margin:22px 0 0;padding-top:18px;border-top:1px solid #ffffff26;color:#c8ccc6;font-size:.95rem}
.sched-foot a,.info a{color:#d2a45d}
@media(max-width:700px){
  .schedule li{grid-template-columns:1fr;gap:4px}
  .s-time{text-align:left;margin-top:4px}
}
