/* ABC DANSE - /cours-de-danse/ */
.local-dance-page { --local-purple:#a21d70; --local-orange:#e56f27; --local-blue:#2475a8; --local-ink:#191421; --local-muted:#6f6875; --local-soft:#faf6f8; }

.local-hero { padding:72px 0; background:linear-gradient(135deg,#fff 0%,#fff8fb 55%,#f8eef4 100%); overflow:hidden; }
.local-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); gap:64px; align-items:center; }
.local-hero-copy h1 { margin:12px 0 20px; font-size:clamp(3rem,6vw,5.4rem); line-height:.94; letter-spacing:-.055em; text-transform:none; color:var(--local-ink); }
.local-hero-copy h1 span { color:var(--local-purple); }
.local-hero-lead { max-width:690px; font-size:1.12rem; line-height:1.75; color:var(--local-muted); }
.local-hero-points { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0; }
.local-hero-points span { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:#fff; box-shadow:0 8px 28px rgba(31,20,35,.07); font-size:.92rem; font-weight:600; }
.local-hero-points i { color:var(--local-purple); }
.local-hero-image { position:relative; }
.local-hero-image:before { content:""; position:absolute; inset:24px -24px -24px 24px; border-radius:30px; background:linear-gradient(135deg,rgba(162,29,112,.18),rgba(241,139,44,.16)); }
.local-hero-image img { position:relative; display:block; width:100%; min-height:440px; max-height:540px; object-fit:cover; object-position:32% center; border-radius:30px; box-shadow:0 24px 60px rgba(31,20,35,.18); }

.local-intro-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:70px; align-items:center; }
.local-intro p { color:var(--local-muted); line-height:1.8; }
.local-access-card { padding:34px; border-radius:24px; background:var(--local-soft); border:1px solid rgba(25,20,33,.06); box-shadow:0 16px 45px rgba(31,20,35,.06); }
.local-access-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; margin-bottom:18px; background:#fff; color:var(--local-purple); font-size:1.4rem; box-shadow:0 8px 24px rgba(31,20,35,.08); }
.local-access-card h3 { margin:0 0 10px; font-size:1.35rem; text-transform:none; }
.local-access-card > p { margin-bottom:22px; }
.local-access-line { display:flex; gap:12px; align-items:flex-start; margin:13px 0; color:var(--local-muted); line-height:1.5; }
.local-access-line i { width:18px; margin-top:3px; color:var(--local-purple); text-align:center; }
.local-text-link { display:inline-block; margin-top:15px; font-weight:700; color:var(--local-purple); text-decoration:none; }
.local-text-link span { margin-left:5px; }

.local-disciplines { padding:82px 0; background:#f8f5f7; }
.local-section-lead { max-width:720px; color:var(--local-muted); line-height:1.7; }
.local-dance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:38px; }
.local-dance-card { overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 15px 45px rgba(31,20,35,.08); transition:transform .22s ease,box-shadow .22s ease; }
.local-dance-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(31,20,35,.13); }
.local-dance-image { height:250px; overflow:hidden; }
.local-dance-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.local-dance-card:hover .local-dance-image img { transform:scale(1.035); }
.local-dance-content { padding:26px 27px 30px; }
.local-dance-label { margin-bottom:8px; font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.local-dance-card.purple .local-dance-label,.local-dance-card.purple a { color:var(--local-purple); }
.local-dance-card.orange .local-dance-label,.local-dance-card.orange a { color:var(--local-orange); }
.local-dance-card.blue .local-dance-label,.local-dance-card.blue a { color:var(--local-blue); }
.local-dance-content h3 { margin:0 0 10px; font-size:1.55rem; text-transform:none; }
.local-dance-content p { min-height:78px; color:var(--local-muted); line-height:1.65; }
.local-dance-content a { font-weight:700; text-decoration:none; }

.local-nearby-box { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:50px; align-items:center; padding:46px 52px; border-radius:28px; background:linear-gradient(135deg,#fff7fb,#f7f3f6); border:1px solid rgba(25,20,33,.05); }
.local-nearby-box p { color:var(--local-muted); line-height:1.75; }
.local-city-links { display:flex; flex-direction:column; gap:12px; }
.local-city-links a { padding:16px 18px; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(31,20,35,.06); color:var(--local-ink); font-weight:700; text-decoration:none; }
.local-city-links a span { float:right; color:var(--local-purple); }

@media screen and (max-width:980px) {
  .local-hero-grid,.local-intro-grid,.local-nearby-box { grid-template-columns:1fr; }
  .local-hero-grid { gap:42px; }
  .local-hero-image img { min-height:360px; }
  .local-dance-grid { grid-template-columns:1fr; }
  .local-dance-image { height:320px; }
  .local-dance-content p { min-height:0; }
}

@media screen and (max-width:736px) {
  .local-hero { padding:50px 0 58px; }
  .local-hero-copy h1 { font-size:clamp(2.8rem,14vw,4.2rem); }
  .local-hero-image:before { inset:14px -10px -14px 10px; }
  .local-hero-image img { min-height:290px; border-radius:22px; }
  .local-hero-points { display:grid; }
  .local-hero-points span { width:100%; }
  .local-intro-grid { gap:34px; }
  .local-access-card { padding:27px 23px; }
  .local-disciplines { padding:60px 0; }
  .local-dance-image { height:250px; }
  .local-nearby-box { padding:30px 24px; gap:24px; }
}

/* Correction lisibilite : bouton secondaire du hero */
.local-hero .home-btn-light {
  background: #fff;
  color: var(--local-purple) !important;
  border: 1px solid rgba(162,29,112,.22);
  box-shadow: 0 8px 24px rgba(31,20,35,.08);
}
.local-hero .home-btn-light:hover {
  background: #fff7fb;
  color: var(--local-purple) !important;
  border-color: rgba(162,29,112,.38);
}
