/* ════════════════════════════════════════
   MIKVEDEN — STYLES COMMUNS (toutes les pages)
   Header, menu, tiroir, pastilles, tuiles, boutons, raccourcis de recherche.
   Classes préfixées « mk- » pour ne pas entrer en conflit avec le template.
   ════════════════════════════════════════ */
  :root {
    --mk-teal: #00758d;
    --mk-rose: #b76e79;
    --mk-rose-soft: #ce9fa0;
    --mk-sage: #84a3a0;
    --mk-mint: #a2d5c6;
    --mk-cream: #fffaf0;
    --mk-line: #f4cdcd;
    --mk-dark: #002a33;
    --mk-text: #3d4a4c;
    --mk-serif: 'DM Serif Display', serif;
    --mk-radius: 18px;
  }
  .mk-wrap { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
  .mk-sr { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  /* ── HEADER ── */
  .mk-header {
    position: sticky; top: 0; z-index: 900;
    background: rgba(255,255,255,.88);
    backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px);
    transition: box-shadow .25s ease;
  }
  .mk-header.is-scrolled { box-shadow: 0 1px 0 var(--mk-line), 0 8px 24px rgba(0,42,51,.05); }
  .mk-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; height:72px; }
  .mk-logo img { display:block; height:34px; width:auto; }

  .mk-header-inner { position:relative; }
  .mk-bh {
    position:absolute; top:4px; right:16px; font-size:11px; line-height:1; color:#9fb3b1;
    letter-spacing:.02em; pointer-events:none; white-space:nowrap;
  }

  .mk-nav { display:none; align-items:center; gap:2px; }
  .mk-nav a, .mk-nav .mk-soon {
    position:relative; display:inline-flex; align-items:center;
    padding:10px 12px; border-radius:999px;
    font-size:14px; font-weight:500; color:var(--mk-text); text-decoration:none;
    transition: background .2s, color .2s;
  }
  .mk-nav a:hover, .mk-nav a:focus-visible { background:var(--mk-cream); color:var(--mk-rose); }
  .mk-nav .mk-soon { color:#a9b5b4; cursor:default; }
  /* Pastilles « Nouveau / Bientôt » posées au-dessus du nom */
  .mk-nav .mk-nav-pin {
    position:absolute; left:50%; top:-7px; transform:translateX(-50%);
    font-size:8.5px; padding:1px 5px; border-radius:5px; white-space:nowrap;
    box-shadow:0 2px 6px rgba(0,42,51,.12);
  }

  .mk-header-actions { display:flex; align-items:center; gap:10px; }
  .mk-link-pro {
    display:none; align-items:center; gap:7px; margin-left:6px; padding:6px 0 6px 14px;
    border-left:1px solid var(--mk-line);
    font-size:13px; font-weight:500; color:var(--mk-rose); text-decoration:none; white-space:nowrap;
  }
  .mk-link-pro i { font-size:12px; opacity:.8; }
  .mk-link-pro:hover { color:var(--mk-teal); }

  .mk-burger {
    display:inline-flex; align-items:center; gap:10px;
    background:var(--mk-cream); border:0; border-radius:999px; padding:10px 16px;
    font-size:14px; font-weight:500; color:var(--mk-teal); cursor:pointer;
  }
  .mk-burger { position:relative; }
  .mk-burger-icon { display:grid; gap:4px; }
  .mk-burger-dot {
    position:absolute; top:6px; right:8px; width:9px; height:9px; border-radius:50%;
    background:var(--mk-rose); box-shadow:0 0 0 2px #fff;
  }
  .mk-burger-dot[hidden] { display:none; }
  .mk-burger-dot::after {
    content:''; position:absolute; left:50%; top:50%; width:19px; height:19px; margin:-9.5px 0 0 -9.5px;
    border-radius:50%; border:1.5px solid var(--mk-rose); animation: mkGeoPulse 2s ease-out infinite;
  }

  /* Mobile : logo centré, hamburger seul à droite */
  @media (max-width: 767px) {
    .mk-header-inner { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; height:72px; padding-top:14px; padding-bottom:4px; box-sizing:border-box; }
    .mk-logo { grid-column:2; justify-self:center; }
    .mk-logo img { height:28px; }
    .mk-header-actions { grid-column:3; justify-self:end; }
    .mk-burger { width:44px; height:44px; padding:0; justify-content:center; }
    .mk-burger-txt { display:none; }
    .mk-burger-dot { top:7px; right:7px; }
    .mk-bh { top:4px; font-size:10px; }
  }
  .mk-burger-icon span { display:block; width:18px; height:2px; border-radius:2px; background:currentColor; }

  @media (min-width: 1200px) {
    .mk-nav { display:flex; }
    .mk-link-pro { display:inline-flex; }
    .mk-burger { display:none; }
  }

  /* Badges */
  .mk-badge {
    display:inline-block; font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:#fff; background:var(--mk-teal); padding:2px 6px; border-radius:6px; line-height:1.4;
  }
  .mk-badge--gold  { background:#e9b420; }
  .mk-badge--teal  { background:var(--mk-teal); }
  .mk-badge--muted { background:var(--mk-sage); }
  .mk-badge--rose  { background:var(--mk-rose); }

  /* ── MENU (tiroir) ── */
  .mk-overlay {
    position:fixed; inset:0; z-index:1000; background:rgba(0,42,51,.35);
    opacity:0; visibility:hidden; transition: opacity .3s, visibility .3s;
  }
  .mk-drawer {
    position:fixed; z-index:1001; left:0; right:0; bottom:0;
    max-height:88vh; overflow-y:auto; overscroll-behavior:contain;
    background:#fff; border-radius:24px 24px 0 0;
    padding:12px 20px 28px;
    transform:translateY(100%); transition: transform .38s cubic-bezier(.2,.8,.2,1);
    box-shadow: 0 -12px 40px rgba(0,42,51,.12);
  }
  .mk-drawer-grip { width:42px; height:4px; border-radius:4px; background:#e6e2dc; margin:0 auto 14px; }
  .mk-drawer-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
  .mk-drawer-head strong { font-family:var(--mk-serif); font-weight:400; font-size:22px; color:var(--mk-teal); }
  .mk-close {
    width:38px; height:38px; border-radius:50%; border:0; background:var(--mk-cream);
    color:var(--mk-teal); font-size:20px; line-height:1; cursor:pointer;
  }
  html.mk-menu-open { overflow:hidden; }
  html.mk-menu-open .mk-overlay { opacity:1; visibility:visible; }
  html.mk-menu-open .mk-drawer { transform:none; }

  @media (min-width: 768px) {
    .mk-drawer {
      left:auto; top:0; width:420px; max-height:none; height:100%;
      border-radius:24px 0 0 24px; padding:24px 28px;
      transform:translateX(100%);
    }
    .mk-drawer-grip { display:none; }
  }

  /* Tuiles de rubriques (menu + section Explorer) */
  .mk-tiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .mk-tile {
    position:relative; display:flex; flex-direction:column; gap:10px;
    padding:16px; border-radius:var(--mk-radius); background:var(--mk-cream);
    color:var(--mk-text); text-decoration:none;
    transition: transform .25s ease, box-shadow .25s ease, background .2s;
  }
  a.mk-tile:hover, a.mk-tile:focus-visible { transform:translateY(-3px); box-shadow:0 10px 24px rgba(183,110,121,.12); color:var(--mk-text); }
  a.mk-tile:hover .mk-tile-label { color:var(--mk-rose); }
  .mk-tile img { height:44px; width:auto; max-width:72px; object-fit:contain; }
  .mk-tile-label { font-weight:600; font-size:15px; color:var(--mk-teal); transition:color .2s; }
  .mk-tile-desc { font-size:12.5px; line-height:1.45; color:#7f8f8e; }
  .mk-tile .mk-badge { position:absolute; top:12px; right:12px; }
  .mk-tile.is-soon { opacity:.6; }
  .mk-tile-fa {
    display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0;
    border-radius:12px; background:#fff; color:var(--mk-rose); font-size:20px;
  }
  .mk-tile.is-featured { grid-column:1 / -1; flex-direction:row; align-items:center; background:linear-gradient(120deg,#fdeeee 0%, var(--mk-cream) 100%); }
  .mk-tile.is-featured .mk-tile-label { font-size:16px; }

  .mk-drawer-section { margin-top:22px; padding-top:18px; border-top:1px solid #f3ece4; }
  .mk-drawer-section p { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--mk-sage); margin:0 0 10px; }
  .mk-audience { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .mk-audience a {
    display:block; text-align:center; padding:12px; border-radius:14px;
    border:1px solid var(--mk-line); font-weight:600; font-size:14px; text-decoration:none;
  }
  .mk-audience a:first-child { color:var(--mk-teal); }
  .mk-audience a:last-child  { color:var(--mk-rose); }
  .mk-drawer-help { display:block; margin-top:16px; text-align:center; font-size:13.5px; color:var(--mk-sage); }

  .mk-btn {
    display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; border:0;
    background:var(--mk-rose); color:#fff; font-size:14.5px; font-weight:600; text-decoration:none; cursor:pointer;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .mk-btn:hover { color:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(183,110,121,.3); }

  /* ── Raccourcis sous la recherche ── */
  .mk-quick { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding:0 4px; }
  .mk-chip {
    display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0 14px; border-radius:999px;
    background:#fff; border:1px solid var(--mk-line); font-size:13.5px; font-weight:600; color:var(--mk-rose);
    cursor:pointer; transition: border-color .2s, background .2s;
  }
  .mk-chip:hover { border-color:var(--mk-rose); background:#fff6f6; }
  /* « Autour de moi » mis en avant quand le champ est actif */
  .mk-chip--geo { transition: border-color .25s, background .25s, color .25s, box-shadow .25s, transform .25s; }
  .mk-chip--geo.is-highlight {
    background:var(--mk-rose); border-color:var(--mk-rose); color:#fff;
    transform:translateY(-1px); animation: mkGeoGlow 1.8s ease-in-out infinite;
  }
  .mk-chip--geo.is-highlight .mk-geo-dot { background:#fff; }
  .mk-chip--geo.is-highlight .mk-geo-dot::after { border-color:#fff; }
  @keyframes mkGeoGlow {
    0%,100% { box-shadow:0 0 0 0 rgba(183,110,121,.45); }
    50%     { box-shadow:0 0 0 7px rgba(183,110,121,0); }
  }
  .mk-geo-dot {
    position:relative; display:inline-block; width:9px; height:9px; margin:0 4px 0 2px; flex-shrink:0;
    border-radius:50%; background:var(--mk-rose);
  }
  .mk-geo-dot::after {
    content:''; position:absolute; left:50%; top:50%; width:19px; height:19px; margin:-9.5px 0 0 -9.5px;
    border-radius:50%; border:1.5px solid var(--mk-rose); animation: mkGeoPulse 2s ease-out infinite;
  }
  @keyframes mkGeoPulse { 0% { transform:scale(.45); opacity:.9; } 80%,100% { transform:scale(1.15); opacity:0; } }
  .mk-chip--last { padding-right:2px; background:#fff6f6; cursor:default; }
  .mk-chip--last[hidden] { display:none; }
  .mk-chip--last a { display:inline-flex; align-items:center; gap:8px; color:var(--mk-text); text-decoration:none; font-weight:500; }
  .mk-chip--last a strong { color:var(--mk-rose); }
  .mk-chip--last a:hover strong { text-decoration:underline; }
  .mk-chip--last button { width:30px; height:30px; border:0; border-radius:50%; background:none; color:#b9a3a5; font-size:18px; line-height:1; cursor:pointer; }
  .mk-chip--last button:hover { background:#fde9e9; color:var(--mk-rose); }

  @media (prefers-reduced-motion: reduce) {
    .mk-geo-dot::after, .mk-chip--geo.is-highlight, .mk-burger-dot::after { animation:none; }
    .mk-drawer, .mk-overlay { transition:none; }
  }

  /* Logo « M » sur mobile (pages autres que l'accueil) */
  .mk-logo .mk-logo-mini { display:none; }
  @media (max-width: 767px) {
    .mk-header--mini .mk-logo .mk-logo-full { display:none; }
    .mk-header--mini .mk-logo .mk-logo-mini { display:block; height:34px; width:auto; }
  }

  /* ── Bandeau soleil : Aujourd'hui · lieu · lever / coucher (mk-soleil.js) ── */
  .mk-sun {
    display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:48px;
    padding:9px 18px; border-radius:999px; background:var(--mk-cream); border:1px solid #f6e9e2;
    font-size:13px; color:#6c7b7a;
  }
  .mk-sun[hidden] { display:none; }
  .mk-sun-head { display:inline-flex; align-items:center; gap:14px; }
  .mk-sun-day { color:#6c7b7a; }
  .mk-sun.is-demain { background:#f3f7f8; border-color:#e1ecee; }
  .mk-sun.is-demain #mkSunWhen, .mk-sun.is-demain .js-when { color:var(--mk-teal); font-weight:600; }
  .mk-sun-head b { color:var(--mk-teal); font-weight:600; }
  .mk-sun-place { font-weight:600; color:var(--mk-teal); }
  .mk-sun-place::before, .mk-sun-info::before { content:'·'; margin-right:14px; color:#c9b9ad; font-weight:400; }
  .mk-sun-info { display:inline-flex; align-items:center; gap:14px; }
  .mk-sun-t { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
  .mk-sun-line { display:inline-flex; align-items:center; gap:6px; }
  .mk-sun-t svg { width:18px; height:18px; flex-shrink:0; }
  .mk-sun-t strong { color:var(--mk-rose); font-variant-numeric:tabular-nums; }
  .mk-sun-t.is-past { opacity:.45; }
  .mk-sun-t.is-soon strong { color:#d93a3a; }
  .mk-sun-soon {
    display:inline-flex; align-items:center; gap:5px; margin-left:2px; padding:2px 8px 2px 6px; border-radius:999px;
    background:#fde4e4; color:#c22f2f; font-style:normal; font-size:11.5px; font-weight:700;
  }
  .mk-sun-dot { position:relative; width:7px; height:7px; border-radius:50%; background:#e03b3b; }
  .mk-sun-dot { flex-shrink:0; }
  .mk-sun-dot::after {
    content:''; position:absolute; left:50%; top:50%; width:15px; height:15px; margin:-7.5px 0 0 -7.5px;
    border-radius:50%; border:1.5px solid #e03b3b; animation: mkGeoPulse 1.6s ease-out infinite;
  }
  @media (prefers-reduced-motion: reduce) { .mk-sun-dot::after { animation:none; } }
  .mk-sun-info.is-invite { display:block; white-space:normal; text-align:center; line-height:1.5; }
  .mk-sun-info.is-invite::before { display:none; }
  .mk-sun-refresh {
    display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; margin-left:-8px;
    padding:0; border:0; border-radius:50%; background:transparent; color:var(--mk-sage); cursor:pointer;
    transition: background .2s, color .2s;
  }
  .mk-sun-refresh[hidden] { display:none; }
  .mk-sun-refresh svg { width:14px; height:14px; }
  .mk-sun-refresh:hover, .mk-sun-refresh:focus-visible { background:#fff; color:var(--mk-rose); }
  .mk-sun-refresh.is-loading svg { animation: mkSpin .9s linear infinite; }
  @keyframes mkSpin { to { transform:rotate(360deg); } }
  .mk-sun-info button {
    background:none; border:0; padding:0; color:var(--mk-rose); font-weight:600; cursor:pointer;
    text-decoration:underline; text-underline-offset:3px;
  }
  .mk-sun:not([hidden]) + h1 { margin-top:22px !important; }
  @media (max-width: 991px) {
    .mk-sun {
      display:flex; flex-direction:column; gap:6px; width:fit-content; max-width:100%;
      margin:32px auto 0; padding:12px 20px; border-radius:16px; font-size:12.5px; text-align:center;
    }
    .mk-sun-head, .mk-sun-info { justify-content:center; gap:10px; }
    .mk-sun-place::before { margin-right:10px; }
    .mk-sun-info::before { display:none; }
    .mk-sun-info { align-items:flex-start; gap:16px; }
    .mk-sun-t { flex-direction:column; gap:4px; }
    .mk-sun-soon { margin:0; }
    .mk-sun:not([hidden]) + h1 { margin-top:28px !important; }
  }

  /* Le picto du champ et « Autour de moi » restent visibles au clic dans la recherche
   (un ancien script les masquait pour l'ancien header mobile) */
#search-form .pic-search { display:inline-block !important; visibility:visible !important; opacity:1 !important; }
.mk-chip--geo { display:inline-flex !important; visibility:visible !important; opacity:1 !important; }