/* ═══════════════════════════════════════════════════════════
   DECORPS COACHING — theme.css
   Styles strictement communs aux 4 pages (index, contact,
   fiche, contrat), extraits à l'identique (aucun changement
   visuel). Chaque page conserve son propre :root, son propre
   .header et tous ses styles spécifiques dans son <style>.
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Barlow+Condensed:wght@600;700;800&display=swap');

/* ═══ MENU LATÉRAL DECORPS ═══ */
.dc-burger { position:fixed; top:14px; right:16px; z-index:1000; width:46px; height:46px; background:rgba(0,0,0,0.7); border:1px solid var(--dc-red,#E11D2A); border-radius:10px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); transition:all 0.2s; }
.dc-burger:hover { background:var(--dc-red,#E11D2A); }
.dc-burger span { display:block; width:22px; height:2.5px; background:#fff; border-radius:2px; transition:all 0.3s; }
.dc-burger.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.dc-burger.open span:nth-child(2) { opacity:0; }
.dc-burger.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
.dc-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); z-index:998; opacity:0; visibility:hidden; transition:all 0.3s; }
.dc-overlay.open { opacity:1; visibility:visible; }
.dc-sidemenu { position:fixed; top:0; right:-320px; width:300px; max-width:82vw; height:100%; background:#0A0A0B; border-left:2px solid var(--dc-red,#E11D2A); z-index:999; transition:right 0.32s cubic-bezier(0.4,0,0.2,1); box-shadow:-10px 0 40px rgba(0,0,0,0.5); overflow-y:auto; display:flex; flex-direction:column; }
.dc-sidemenu.open { right:0; }
.dc-menu-header { display:flex; align-items:center; gap:12px; padding:22px 20px; border-bottom:1px solid #2A2A2E; position:relative; background:#000; }
.dc-menu-logo { height:44px; width:auto; flex-shrink:0; display:flex; align-items:center; filter:drop-shadow(0 0 10px rgba(225,29,42,0.45)); }
.dc-menu-logo img { height:100%; width:auto; display:block; }
.dc-menu-brand { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:800; color:#fff; line-height:1.05; letter-spacing:0.5px; }
.dc-menu-close { position:absolute; top:14px; right:14px; background:none; border:none; color:#8A8A92; font-size:28px; cursor:pointer; line-height:1; padding:0; width:28px; height:28px; }
.dc-menu-close:hover { color:#fff; }
.dc-menu-link { display:flex; align-items:center; gap:14px; padding:17px 22px; color:#EDEDEF; text-decoration:none; font-size:16px; font-weight:600; border-bottom:1px solid #1C1C1F; transition:all 0.15s; }
.dc-menu-link .ic { font-size:20px; width:26px; text-align:center; }
.dc-menu-link:hover { background:#141416; padding-left:28px; color:#fff; }
.dc-menu-link.active { background:rgba(225,29,42,0.12); color:#fff; border-left:3px solid var(--dc-red,#E11D2A); }
.dc-menu-link.active .ic { filter:drop-shadow(0 0 6px rgba(225,29,42,0.8)); }
.dc-lock-badge { margin-left:auto; font-size:10px; font-weight:700; background:var(--dc-red,#E11D2A); color:#fff; padding:2px 8px; border-radius:20px; text-transform:uppercase; letter-spacing:0.5px; }
.dc-menu-social { padding:16px 22px 6px; border-top:1px solid #2A2A2E; }
.dc-menu-social-title { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:#8A8A92; font-weight:700; margin-bottom:10px; }
.dc-menu-social-links { display:flex; flex-direction:column; gap:10px; }
.dc-menu-social-link { display:flex; align-items:center; gap:10px; color:#EDEDEF; text-decoration:none; font-size:13.5px; transition:color 0.15s; }
.dc-menu-social-link:hover { color:var(--dc-red,#E11D2A); }
.dc-menu-social-link .dc-ig-icon { flex-shrink:0; display:flex; color:var(--dc-red,#E11D2A); }
.dc-menu-social-link b { font-weight:700; }
.dc-menu-footer { margin-top:auto; padding:20px 22px; border-top:1px solid #2A2A2E; font-size:12px; color:#8A8A92; line-height:1.8; }
.dc-menu-tag { color:var(--dc-red,#E11D2A); font-style:italic; font-weight:600; margin-top:8px; }
