/* En-tête commun : menu des langues (drapeaux) et menu du téléphone. */
.flag { width: 20px; height: 14px; border-radius: 3px; flex: none; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.lang-dd { position: relative; }
.lang-dd > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 10px; border-radius: 10px; border: 1px solid #1e293b; color: #cbd5e1; font-size: 14px; font-weight: 600; cursor: pointer; user-select: none; transition: background-color .2s, border-color .2s; }
.lang-dd > summary::-webkit-details-marker { display: none; }
.lang-dd > summary:hover, .lang-dd[open] > summary { background: #0e1223; border-color: #334155; color: #f8fafc; }
.lang-dd .chev { width: 12px; height: 12px; transition: transform .2s; }
.lang-dd[open] .chev { transform: rotate(180deg); }
.lang-menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 180px; padding: 6px; border-radius: 12px; border: 1px solid #334155; background: #0e1223; box-shadow: 0 16px 40px rgba(0,0,0,.45); z-index: 80; }
.lang-menu a, .lang-menu button, .m-lang a, .m-lang button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; background: none; color: #cbd5e1; font: inherit; font-size: 15px; font-weight: 500; text-decoration: none; cursor: pointer; text-align: left; }
.lang-menu a:hover, .lang-menu button:hover { background: #1a1e2f; color: #f8fafc; }
.lang-menu [aria-current="true"], .m-lang [aria-current="true"] { color: #f8fafc; font-weight: 600; }
.lang-menu [aria-current="true"]::after, .m-lang [aria-current="true"]::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }

.burger { display: none; width: 44px; height: 44px; flex: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #1e293b; border-radius: 10px; background: none; cursor: pointer; }
.burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: #f8fafc; transition: transform .2s, opacity .2s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.m-menu { position: fixed; left: 0; right: 0; bottom: 0; top: 64px; z-index: 70; overflow-y: auto; background: #020617; border-top: 1px solid #1e293b; padding: 12px max(16px, env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right)); }
.m-menu[hidden] { display: none; }
.m-menu nav { display: flex; flex-direction: column; }
.m-menu nav a { display: block; padding: 16px 4px; border-bottom: 1px solid #1e293b; color: #f8fafc; font-size: 18px; font-weight: 600; text-decoration: none; }
.m-lang { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 20px 0; }
.m-lang a, .m-lang button { justify-content: center; border: 1px solid #1e293b; background: #0e1223; }
.m-cta { display: flex; align-items: center; justify-content: center; height: 52px; border-radius: 12px; background: #22c55e; color: #052e16; font-size: 17px; font-weight: 700; text-decoration: none; }
html.menu-open { overflow: hidden; }

@media (max-width: 760px) {
  .burger { display: inline-flex; }
  .lang-dd.hide-m { display: none; }
}
@media (prefers-reduced-motion: reduce) { .burger span, .lang-dd .chev { transition: none; } }
.lab { display: inline-flex; align-items: center; gap: 8px; }
.lab[hidden] { display: none; }
