.gift-site-header {
  --lapis-deep: #0e1a4a;
  --lapis: #1c2e7a;
  --lapis-line: #2e4396;
  --gold: #d4af5a;
  --gold-soft: #e9d9a6;
  --gold-faint: rgba(212, 175, 90, 0.28);
  --vellum: #f2ebdb;
  --vellum-dim: #c4c0d6;
  --madder: #e08a96;
  --verdigris: #7fc8b0;
  --el-0: #f0a46b; /* feu */
  --el-1: #b9c98a; /* terre */
  --el-2: #b9d3f0; /* air */
  --el-3: #8fb7e6; /* eau */

  --serif: 'Alegreya', 'Noto Serif Devanagari', Georgia, serif;
  --sans: 'Alegreya Sans', 'Noto Sans Devanagari', system-ui, sans-serif;

  --step--1: 0.875rem;
  --step-0: 1.125rem;
  --step-1: 1.35rem;
  --step-2: 1.75rem;
  --step-3: clamp(2rem, 4vw, 2.6rem);
  --step-4: clamp(2.5rem, 6.5vw, 4.4rem);

  --gutter: clamp(16px, 4vw, 40px);
  --radius: 2px;
  color-scheme: dark;
}
.gift-site-header { border-bottom: 1px solid var(--gold-faint); position: sticky; top: 0; z-index: 5; background: rgba(14, 26, 74, 0.92); backdrop-filter: blur(8px); }
.gift-site-header .header-row { display: flex; align-items: center; gap: 1.5rem; min-height: 64px; }
.gift-site-header .wordmark { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 1.45rem; font-style: italic; color: var(--vellum); text-decoration: none; }
.gift-site-header .main-nav { display: flex; gap: 1.4rem; margin-left: auto; font-family: var(--sans); font-size: 1rem; }
.gift-site-header .main-nav a { color: var(--vellum); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.gift-site-header .main-nav a:hover { color: var(--gold); }
.gift-site-header .main-nav .nav-cta { color: var(--gold); }
.gift-site-header .lang { position: relative; font-family: var(--sans); font-size: 0.95rem; }
.gift-site-header .lang summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.6rem; border: 1px solid var(--gold-faint); border-radius: var(--radius); }
.gift-site-header .lang summary::-webkit-details-marker { display: none; }
.gift-site-header .lang ul { position: absolute; right: 0; top: calc(100% + 6px); list-style: none; margin: 0; padding: 0.4rem 0; background: var(--lapis); border: 1px solid var(--gold-faint); min-width: 11rem; }
.gift-site-header .lang li a { display: block; padding: 0.35rem 1rem; color: var(--vellum); text-decoration: none; }
.gift-site-header .lang li a:hover, .gift-site-header .lang li a[aria-current] { color: var(--gold); }

/* Menu */
.gift-site-header .menu { position: relative; font-family: var(--sans); }
.gift-site-header .menu summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.6rem; border: 1px solid var(--gold-faint); border-radius: var(--radius); }
.gift-site-header .menu summary::-webkit-details-marker { display: none; }
.gift-site-header .menu-panel { position: absolute; right: 0; top: calc(100% + 8px); width: min(94vw, 1040px); background: var(--lapis); border: 1px solid var(--gold-faint); padding: 1.4rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; z-index: 6; }
.gift-site-header .menu-panel ul { list-style: none; margin: 0; padding: 0; }
.gift-site-header .menu-panel li a { display: block; padding: 0.3rem 0; color: var(--vellum); text-decoration: none; }
.gift-site-header .menu-panel li a:hover { color: var(--gold); }
.gift-site-header .menu-title { font-size: 0.85rem; color: var(--gold-soft); margin: 0 0 0.4rem; }
.gift-site-header .menu-foot { grid-column: 1 / -1; display: flex; gap: 0.8rem; flex-wrap: wrap; border-top: 1px solid var(--gold-faint); padding-top: 1rem; }
.gift-site-header .header-row .menu { margin-left: 0.2rem; }

.gift-site-header .menu-mobile-quick, .gift-site-header .menu-mobile-groups { display: none; }

/* Menu téléphone : rubriques repliables et défilement indépendant. */
@media screen and (max-width: 600px) {
.gift-site-header { z-index: 60; }
.gift-site-header:has(.menu[open]) { position: fixed; top: 0; left: 0; right: 0; }
.gift-site-header .header-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; min-height: 64px; }
.gift-site-header .header-row > * { min-width: 0; }
.gift-site-header .header-row .wordmark { font-size: 1.25rem; gap: 6px; }
.gift-site-header .header-row .wordmark svg { flex-shrink: 0; }
.gift-site-header .header-row .main-nav { display: none; }
.gift-site-header .header-row .menu { position: static; margin-left: 0; }
.gift-site-header .header-row .menu > summary, .gift-site-header .header-row .lang > summary { min-height: 44px; justify-content: center; box-sizing: border-box; }
.gift-site-header .header-row .menu > summary { width: 44px; }
.gift-site-header .menu[open] > summary > svg { transform: rotate(90deg); }
.gift-site-header .header-row .menu-panel {
    position: absolute; top: 100%; left: 0; right: 0; width: auto;
    max-height: calc(100dvh - 64px); box-sizing: border-box;
    overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    display: block; padding: 12px 20px calc(24px + env(safe-area-inset-bottom));
  }
.gift-site-header .menu-desktop-group, .gift-site-header .menu-panel > .menu-foot { display: none; }
.gift-site-header .menu-mobile-quick { display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: 12px; border-bottom: 1px solid var(--gold-faint); }
.gift-site-header .menu-mobile-quick a { display: flex; align-items: center; min-height: 44px; color: var(--gold-soft); text-decoration: none; font-size: 1rem; overflow-wrap: anywhere; }
.gift-site-header .menu-mobile-groups { display: block; }
.gift-site-header .menu-mobile-group { border-bottom: 1px solid var(--gold-faint); }
.gift-site-header .menu-mobile-group > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; width: 100%; min-height: 52px; padding: 8px 0; box-sizing: border-box; border: 0; color: var(--gold-soft); font-size: 1rem; line-height: 1.35; }
.gift-site-header .menu-mobile-group[open] > summary > span { transform: rotate(180deg); }
.gift-site-header .menu-mobile-group ul { padding-bottom: 8px; }
.gift-site-header .menu-mobile-group li a { min-height: 44px; display: flex; align-items: center; padding: 8px 12px; box-sizing: border-box; font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere; }
  body:has(.site-header .menu[open]) .zc-fab,
  body:has(.site-header .menu[open]) .zc-panel,
.gift-site-header body:has(.site-header .menu[open]) .cookie-bar { visibility: hidden; pointer-events: none; }
.gift-site-header:has(.menu[open]) .lang ul { z-index: 2; }
}


.gift-site-header { font: 18px/1.5 var(--serif); }
.gift-site-header details { background: transparent; border-radius: 0; margin: 0; padding: 0; }
.gift-site-header details summary::after, .gift-site-header details[open] summary::after { content: none; }
.gift-site-header summary { font-size: inherit; }
.gift-site-header svg { flex-shrink: 0; }
.gift-site-header .wrap { max-width: 1200px; padding: 0 var(--gutter); margin: auto; }
.gift-site-header p { margin: 0 0 6px; }
.gift-site-header a, .gift-site-header summary { cursor: pointer; }
.gift-site-header a:focus-visible, .gift-site-header summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.gift-site-header .btn { display: inline-flex; align-items: center; padding: 10px 16px; text-decoration: none; border: 1px solid var(--gold); border-radius: var(--radius); }
.gift-site-header .btn-gold { background: var(--gold); color: var(--lapis-deep); }
.gift-site-header .btn-ghost { color: var(--gold-soft); }
.gift-site-header .lang li a { min-height: 44px; display: flex; align-items: center; }
@media (max-width: 900px) { .gift-site-header .main-nav a:not(.nav-cta) { display: none; } }
@media (max-width: 600px) { .gift-site-header .menu-label { display: none; } }
@media print { .gift-site-header { display: none; } }
