/* Barre haute commune : accueil, Privatiser, Bon cadeau. Source unique : site-test/nav/ (copiée par appliquer_nav.py). */
.bar { gap: 1rem; }
.bar-droite { display: flex; align-items: center; gap: clamp(0.75rem, 2vw, 1.75rem); }
.bar-nav { display: flex; align-items: center; gap: clamp(0.9rem, 1.8vw, 1.6rem); font-size: var(--t-s); }
.bar-nav a { text-decoration: none; color: var(--muted); transition: color .2s var(--ease-out); padding-block: .35rem; border-bottom: 1px solid transparent; }
.bar-nav a:hover { color: var(--paper); }
.bar-nav a[aria-current="page"] { color: var(--gold); border-bottom-color: color-mix(in oklab, var(--gold) 55%, transparent); }
.bar-tel { color: var(--ink); background: var(--paper); padding: .5rem 1rem; border-radius: 999px; font-weight: 500; font-size: var(--t-s); text-decoration: none; white-space: nowrap; transition: transform .2s var(--ease-out), background .2s var(--ease-out); }
.bar-tel:hover { background: var(--gold); color: var(--ink); }
.bar-tel:active { transform: scale(.97); }
.bar-menu { display: none; align-items: center; gap: .55rem; background: transparent; color: var(--paper); border: 1px solid var(--ink-line); border-radius: 999px; padding: .5rem .9rem; font: inherit; font-size: var(--t-s); cursor: pointer; min-height: 40px; }
.bar-menu i { position: relative; width: 16px; height: 10px; display: block; }
.bar-menu i::before, .bar-menu i::after { content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; transition: transform .25s var(--ease-out), top .25s var(--ease-out); }
.bar-menu i::before { top: 1px; } .bar-menu i::after { top: 7px; }
.bar-menu[aria-expanded="true"] i::before { top: 4px; transform: rotate(45deg); }
.bar-menu[aria-expanded="true"] i::after { top: 4px; transform: rotate(-45deg); }

@media (max-width: 54rem) {
  .bar-menu { display: inline-flex; }
  .bar-nav { position: absolute; top: 100%; left: 0; right: 0; height: calc(100dvh - var(--bar-h, 64px)); z-index: 49; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0;
    background: var(--ink); padding: 1.25rem var(--gut) 2rem; overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease-out), transform .25s var(--ease-out), visibility 0s .25s; }
  .bar[data-ouvert="true"] .bar-nav { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
  .bar-nav a { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: var(--t-lg); color: var(--paper); padding: 1.05rem 0; border-bottom: 1px solid var(--ink-line); }
  .bar-nav a[aria-current="page"] { color: var(--gold); }
  .bar-nav .bar-nav-pied { display: block; margin-top: 1.5rem; font-size: var(--t-s); color: var(--muted); }
}
@media (min-width: 54.01rem) { .bar-nav .bar-nav-pied { display: none; } }
body[data-menu="ouvert"] { overflow: hidden; }
