/* ============================================================
   Feuille de styles
   Danse Et Création pour un Mieux Etre — Fléron
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
  body { margin: 0; background: #FDF6EC; color: #241C16; font-family: Karla, system-ui, sans-serif; overflow-x: hidden; }
  img { display: block; max-width: 100%; }
  a { color: #C22C61; text-decoration-thickness: 1px; text-underline-offset: 3px; }
  a:hover { color: #9B1E4A; }
  :focus-visible { outline: 3px solid #12857F; outline-offset: 3px; border-radius: 4px; }
  ::selection { background: #F5C6D8; color: #241C16; }
  @keyframes dcMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
  @keyframes dcFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-9px,0); } }
  @keyframes dcPulse { 0%,100% { opacity: .55; transform: scale(1); } 50% { opacity: .18; transform: scale(1.5); } }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } html { scroll-behavior: auto; } }

.dc-lb{position:fixed;inset:0;z-index:9999;display:none;background:rgba(7,17,29,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dc-lb.on{display:block}
.dc-lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(52px,7vh,84px) clamp(12px,5vw,72px)}
.dc-lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 40px 90px -30px rgba(0,0,0,.85);opacity:0;transform:scale(.97);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.3,1)}
.dc-lb.on .dc-lb-img{opacity:1;transform:none}
.dc-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(253,246,236,.1);border:1px solid rgba(253,246,236,.24);color:#FDF6EC;border-radius:999px;cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}
.dc-lb-btn:hover{background:rgba(253,246,236,.22);transform:scale(1.06)}
.dc-lb-close{top:clamp(12px,2.2vh,22px);right:clamp(12px,2.2vw,26px);width:48px;height:48px}
.dc-lb-nav{top:50%;margin-top:-26px;width:52px;height:52px}
.dc-lb-prev{left:clamp(8px,1.6vw,22px)}
.dc-lb-next{right:clamp(8px,1.6vw,22px)}
.dc-lb-cap{position:absolute;left:0;right:0;bottom:clamp(12px,2.2vh,22px);text-align:center;padding:0 clamp(56px,8vw,96px);font:400 14.5px/1.5 Karla,system-ui,sans-serif;color:#BFCBD8}
.dc-lb-hint{position:absolute;left:clamp(12px,2.2vw,26px);top:clamp(12px,2.2vh,22px);font:500 12.5px/1 Karla,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8FA3B7}
@media (max-width:640px){.dc-lb-nav{width:44px;height:44px;margin-top:-22px}.dc-lb-close{width:44px;height:44px}}
img[data-zoom]{cursor:zoom-in}


/* ---- Responsive (mobile) ---- */
@media (max-width:900px){
  header .dc-hd{flex-wrap:wrap;row-gap:10px}
  header nav{order:3;flex:1 1 100%;justify-content:flex-start!important;margin:0 -4px}
  header nav>div{flex:0 0 auto}
}
@media (max-width:560px){
  .dc-hd .dc-tel span{display:none}
  .dc-hd .dc-tel{padding:12px!important;width:44px;justify-content:center}
}
@media (max-width:700px){
  /* dl "Quand / Où / Places" on the Concours: stack label above value */
  .dc-kv{display:block!important}
  .dc-kv>span:first-child{display:block!important;width:auto!important;margin-bottom:2px}
}

@media (max-width:620px){
  .dc-hero-wrap{padding-bottom:0!important}
  .dc-hero-thumb{position:static!important;width:100%!important;margin-top:12px;border-radius:18px!important}
  .dc-hero-badge{position:static!important;max-width:none!important;margin-top:12px}
}


.page{display:none}.page.is-on{display:block}
[data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s cubic-bezier(.2,.7,.3,1),transform .72s cubic-bezier(.2,.7,.3,1)}[data-reveal].shown{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}
.s0:focus-visible{left:0 !important}
.s1:hover{background:rgba(20,48,79,.1) !important}
.s2:hover{background:rgba(20,48,79,.1) !important}
.s3:hover{background:rgba(20,48,79,.1) !important}
.s4:hover{background:rgba(20,48,79,.1) !important}
.s5:hover{background:rgba(20,48,79,.1) !important}
.s6:hover{transform:translateY(-2px) !important;background:#AD2455 !important;box-shadow:0 14px 26px -10px rgba(120,25,58,.6) !important}
.s7:active{transform:translateY(1px) scale(.985) !important}
.s8:hover{transform:translateY(-3px) !important;background:#AD2455 !important;box-shadow:0 20px 38px -14px rgba(120,25,58,.65) !important}
.s9:active{transform:translateY(1px) scale(.985) !important}
.s10:hover{background:rgba(20,48,79,.06) !important;border-color:rgba(20,48,79,.5) !important;transform:translateY(-3px) !important}
.s11:active{transform:translateY(1px) scale(.985) !important}
.s12:hover{transform:translateY(-6px) !important;box-shadow:0 34px 62px -28px rgba(120,25,58,.38) !important}
.s13:hover{transform:translateY(-6px) !important;box-shadow:0 34px 62px -28px rgba(12,80,76,.38) !important}
.s14:hover{transform:translateY(-3px) !important;background:#0B1E33 !important}
.s15:active{transform:translateY(1px) scale(.985) !important}
.s16:hover{transform:translateY(-3px) !important;background:#E7B850 !important}
.s17:active{transform:translateY(1px) scale(.985) !important}
.s18:hover{background:rgba(253,246,236,.09) !important;border-color:rgba(253,246,236,.6) !important;transform:translateY(-3px) !important}
.s19:active{transform:translateY(1px) scale(.985) !important}
.s20:hover{background:rgba(20,48,79,.06) !important;border-color:rgba(20,48,79,.5) !important;transform:translateY(-3px) !important}
.s21:active{transform:translateY(1px) scale(.985) !important}
.s22:hover{background:#fff !important;transform:translateY(-2px) !important}
.s23:active{transform:translateY(1px) scale(.99) !important}
.s24:hover{background:rgba(253,246,236,.1) !important;transform:translateY(-2px) !important}
.s25:active{transform:translateY(1px) scale(.99) !important}
.s26:hover{transform:translateY(-3px) !important;background:#AD2455 !important}
.s27:active{transform:translateY(1px) scale(.985) !important}
.s28:hover{transform:translateY(-3px) !important;background:#0E6F6A !important}
.s29:active{transform:translateY(1px) scale(.985) !important}
.s30:hover{background:#fff !important;transform:translateY(-2px) !important}
.s31:active{transform:translateY(1px) scale(.99) !important}
.s32:hover{transform:translateY(-3px) !important;background:#E7B850 !important}
.s33:active{transform:translateY(1px) scale(.985) !important}
.s34:hover{background:rgba(253,246,236,.09) !important;border-color:rgba(253,246,236,.6) !important;transform:translateY(-3px) !important}
.s35:active{transform:translateY(1px) scale(.985) !important}
.s36:hover{transform:translateY(-6px) !important;border-color:rgba(217,166,60,.5) !important}
.s37:hover{transform:translateY(-6px) !important;border-color:rgba(217,166,60,.5) !important}
.s38:hover{transform:translateY(-6px) !important;border-color:rgba(217,166,60,.5) !important}
.s39:hover{transform:translateY(-6px) !important}
.s40:hover{transform:translateY(-3px) !important;background:#E7B850 !important}
.s41:active{transform:translateY(1px) scale(.985) !important}
.s42:hover{transform:translateY(-3px) !important;background:#AD2455 !important}
.s43:active{transform:translateY(1px) scale(.985) !important}
.s44:hover{transform:scale(1.015) !important}
.s45:hover{transform:scale(1.015) !important}
.s46:hover{transform:scale(1.015) !important}
.s47:hover{transform:scale(1.015) !important}
.s48:hover{transform:scale(1.015) !important}
.s49:hover{transform:scale(1.015) !important}
.s50:hover{transform:scale(1.015) !important}
.s51:hover{background:rgba(253,246,236,.09) !important;border-color:rgba(253,246,236,.6) !important;transform:translateY(-3px) !important}
.s52:active{transform:translateY(1px) scale(.985) !important}
.s53:hover{transform:translateY(-3px) !important;background:#0E6F6A !important}
.s54:active{transform:translateY(1px) scale(.985) !important}
.s55:hover{transform:translateY(-3px) !important;background:#0B1E33 !important}
.s56:active{transform:translateY(1px) scale(.985) !important}
.s57:hover{transform:translateY(-3px) !important;background:#AD2455 !important}
.s58:active{transform:translateY(1px) scale(.985) !important}
.s59:hover{transform:translateY(-6px) !important;box-shadow:0 36px 68px -28px rgba(11,30,51,.6) !important}
.s60:active{transform:translateY(1px) scale(.99) !important}
.s61:hover{transform:translateY(-6px) !important;box-shadow:0 36px 68px -30px rgba(120,25,58,.36) !important}
.s62:active{transform:translateY(1px) scale(.99) !important}
.s63:hover{transform:translateY(-6px) !important;box-shadow:0 36px 68px -30px rgba(140,105,30,.36) !important}
.s64:active{transform:translateY(1px) scale(.99) !important}
.s65:hover{transform:translateY(-3px) !important;border-color:rgba(20,48,79,.45) !important;color:#14304F !important}
.s66:active{transform:translateY(1px) scale(.99) !important}
.s67:hover{color:#D9A63C !important}
.s68:hover{color:#D9A63C !important}
.s69:hover{color:#D9A63C !important}
.s70:hover{color:#D9A63C !important}
.s71:hover{color:#D9A63C !important}
.s72:hover{color:#D9A63C !important}
.s73:hover{color:#D9A63C !important}
.s74:hover{color:#D9A63C !important}

/* ---- Menu mobile (burger) ---- */
.dc-bl{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.2,.7,.3,1),opacity .2s ease}
.dc-bl1{top:0}.dc-bl2{top:6px}.dc-bl3{top:12px}
#dc-burger[aria-expanded="true"] .dc-bl1{transform:translateY(6px) rotate(45deg)}
#dc-burger[aria-expanded="true"] .dc-bl2{opacity:0}
#dc-burger[aria-expanded="true"] .dc-bl3{transform:translateY(-6px) rotate(-45deg)}
.dc-menu{position:fixed;left:0;right:0;top:0;bottom:0;z-index:8000;display:none;background:#FDF6EC}
.dc-menu.on{display:block}
.dc-menu-in{max-width:520px;margin:0 auto;padding:96px clamp(18px,5vw,28px) 40px;display:flex;flex-direction:column;gap:2px;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}
.dc-mi{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:20px 22px;border:0;border-radius:16px;background:transparent;color:#14304F;font:600 21px/1.2 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em;text-align:left;cursor:pointer;min-height:64px;transition:background .2s ease}
.dc-mi svg{flex:0 0 auto;opacity:.32;transition:transform .24s cubic-bezier(.2,.7,.3,1),opacity .2s ease}
.dc-mi:active{background:rgba(20,48,79,.06)}
.dc-mi:hover svg{transform:translateX(3px);opacity:.6}
.dc-mi[aria-current="page"]{background:#14304F;color:#FDF6EC}
.dc-mi[aria-current="page"] svg{opacity:.85}
.dc-menu-foot{margin-top:auto;padding-top:30px;border-top:1px solid rgba(20,48,79,.13)}
.dc-menu-lab{margin:0 0 12px;font:600 11.5px/1 Karla,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8B7B6A}
.dc-menu-tel{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:999px;background:#C22C61;color:#FDF6EC;font:600 17px/1 Karla,sans-serif;text-decoration:none;min-height:54px;font-variant-numeric:tabular-nums}
.dc-menu-mail{display:block;margin-top:14px;font:500 15.5px/1.5 Karla,sans-serif;color:#5C4E42;word-break:break-word}
@media (max-width:780px){
  header nav[aria-label="Navigation principale"]{display:none!important}
  #dc-burger{display:inline-flex!important;order:3}
  .dc-hd{justify-content:space-between}
  .dc-hd .dc-tel{margin-left:auto}
}
@media (min-width:781px){.dc-menu{display:none!important}}

/* -- fermeture du menu mobile -- */
#dc-burger{position:relative;z-index:8100}
.dc-menu-x{position:absolute;top:22px;right:clamp(18px,5vw,28px);z-index:8200;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1.5px solid rgba(20,48,79,.2);border-radius:14px;background:rgba(20,48,79,.045);color:#14304F;cursor:pointer;transition:background .2s ease}
.dc-menu-x:hover{background:rgba(20,48,79,.1)}
.dc-menu-x:active{transform:scale(.95)}
@media (max-width:780px){
  .dc-hd{justify-content:space-between!important}
  .dc-hd>nav[aria-label="Navigation principale"]{display:none!important}
  .dc-hd .dc-tel{margin-left:auto;margin-right:10px}
}
