/* ════════════════════════════════════════
     MIKVEDEN — HOME
     Toutes les nouvelles classes sont préfixées « mk- »
     pour ne pas entrer en conflit avec le template.
     ════════════════════════════════════════ */
  .home-page {
    --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:32px; margin-bottom:7px; }
    .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); }

  /* ── HERO ── */
  .home-page .main-banner h1 { margin-top:56px; line-height:1.15; }
  .home-page .main-banner h1 em { font-style:italic; color:var(--mk-sage); }
  .home-page p.mk-lead { display:block !important; margin:18px 0 28px; font-size:15.5px; line-height:1.6; max-width:34em; }
  .home-page p.mk-lead span { color:var(--mk-rose); font-weight:600; }
  .home-page .pics-banner-mask { top:66% !important; }
  @keyframes dotAppear { 0%,100% { opacity:.5; } 50% { opacity:1; } }
  @keyframes pulse { 0%,100% { transform:scale(1.6); opacity:1; } 72% { transform:scale(1); opacity:0; } }

  @media (max-width: 991px) {
    .home-page .main-banner h1 { font-size:1.9em; margin-top:28px; }
    .home-page p.mk-lead { font-size:13px; line-height:1.55; margin:10px auto 18px; text-align:center; }
  }

  /* ── TRUST ── */
  .mk-trust { border-top:1px solid var(--mk-line); border-bottom:1px solid var(--mk-line); background:var(--mk-cream); padding:32px 0; margin-top:72px; }
  .mk-trust-row { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .mk-trust-item { text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; }
  .mk-trust-item b { font-family:var(--mk-serif); font-weight:400; font-size:34px; line-height:1; color:var(--mk-rose); }
  .mk-trust-item span, .mk-trust-item .label-rotating { font-size:13.5px; color:#a98587; }
  .label-rotating { position:relative; height:20px; overflow:hidden; min-width:120px; }
  .rotating-text { position:absolute; inset:0; opacity:0; transform:translateY(10px); transition:opacity .4s ease, transform .4s ease; white-space:nowrap; }
  .rotating-text.active { opacity:1; transform:none; }
  @media (max-width: 767px) {
    .mk-trust { margin-top:0; padding:24px 0; }
    .home-page .main-banner, .home-page .content-banner { margin-bottom:0 !important; padding-bottom:0 !important; }
    .mk-trust-row { grid-template-columns:1fr 1fr; row-gap:22px; }
    .mk-trust-item b { font-size:28px; }
  }

  /* ── Témoignages ── */
  .home-page .testimonials { padding-bottom:80px; }
  @media (max-width: 767px) { .home-page .testimonials { padding-bottom:48px; } .home-page .mk-temo { padding-top:48px; } }

  /* ── SECTIONS ── */
  .mk-section { padding:80px 0; }
  .mk-head { text-align:center; margin-bottom:48px; }
  .mk-eyebrow { display:inline-block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#8bb; margin-bottom:12px; }
  .mk-head h2 { font-family:var(--mk-serif); font-weight:400; font-size:clamp(28px,3.5vw,42px); line-height:1.1; letter-spacing:-.015em; color:var(--mk-teal); margin:0; }
  .mk-head h2 em { font-style:italic; color:var(--mk-sage); }
  .mk-head p { margin:14px auto 0; max-width:36em; color:#7f8f8e; font-size:15px; }
  @media (max-width: 767px) { .mk-section { padding:56px 0; } .mk-head { margin-bottom:32px; } }

  .mk-center { text-align:center; margin-top:40px; }
  .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); }

  /* ── Fonds de section (alternance clair / teinté) ──
     chiffres : crème · bénéfices : blanc · Tout Mikveden : crème
     témoignages : rose pâle · FAQ : blanc · pro : bleu nuit */
  .mk-benefits, .mk-faq-section { background:#fff; }
  .home-page .mk-temo { background:#fdf5f5; padding-top:72px; }

  /* Bénéfices */
  .mk-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mk-benefit {
    padding:28px 26px; border-radius:var(--mk-radius); background:#fff; border:1px solid #f3ece4;
    opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;
  }
  .mk-benefit.visible { opacity:1; transform:none; }
  .mk-benefit-ico {
    display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px;
    background:#fdeeee; color:var(--mk-rose); font-size:20px; margin-bottom:18px;
  }
  .mk-benefit:nth-child(2) .mk-benefit-ico { background:#e8f4f6; color:var(--mk-teal); }
  .mk-benefit:nth-child(3) .mk-benefit-ico { background:#eef6f2; color:#4f8a78; }
  .mk-benefit h3 { font-family:var(--mk-serif); font-weight:400; font-size:21px; line-height:1.2; color:var(--mk-teal); margin:0 0 10px; }
  .mk-benefit p { font-size:14px; line-height:1.6; color:#7f8f8e; margin:0; }
  @media (max-width: 900px) {
    .mk-benefit-grid { grid-template-columns:1fr; gap:12px; }
    .mk-benefit { display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding:18px; }
    .mk-benefit-ico { grid-row:span 2; width:44px; height:44px; font-size:18px; margin:0; }
    .mk-benefit h3 { font-size:18px; margin:0 0 6px; }
    .mk-benefit p { font-size:13.5px; }
  }

  /* Explorer */
  .mk-explore { background:var(--mk-cream); }
  .mk-explore .mk-tiles { grid-template-columns:repeat(3,1fr); gap:16px; }
  .mk-explore .mk-tile { background:#fff; border:1px solid #f6e9e2; flex-direction:row; align-items:center; gap:16px; padding:20px; }
  .mk-explore .mk-tile img { height:56px; max-width:80px; flex-shrink:0; }
  .mk-explore .mk-tile > div { display:flex; flex-direction:column; gap:4px; }
  .mk-explore .mk-tile-fa { width:56px; height:56px; font-size:24px; background:var(--mk-cream); }
  .mk-explore .mk-tile.is-featured { grid-column:span 2; background:linear-gradient(120deg,#fdeeee 0%, #fff 70%); border-color:var(--mk-line); }
  .mk-explore .mk-tile.is-featured .mk-tile-fa { background:#fff; }
  .mk-explore .mk-tile.is-featured .mk-tile-label { font-size:18px; }
  @media (max-width: 991px) { .mk-explore .mk-tiles { grid-template-columns:1fr 1fr; } }
  @media (max-width: 575px) {
    .mk-explore .mk-tiles { grid-template-columns:1fr; gap:10px; }
    .mk-explore .mk-tile { padding:14px 16px; }
    .mk-explore .mk-tile img { height:42px; }
    .mk-explore .mk-tile-fa { width:42px; height:42px; font-size:18px; }
    .mk-explore .mk-tile.is-featured { grid-column:auto; }
  }

  /* ── PRO ── */
  .mk-pro { padding:48px 0 112px; }
  .mk-pro-card {
    position:relative; overflow:hidden; border-radius:28px; padding:64px;
    background:var(--mk-dark); color:var(--mk-mint);
    display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center;
  }
  .mk-pro-card::before {
    content:''; position:absolute; width:420px; height:420px; border-radius:50%; right:-80px; top:-140px;
    background:radial-gradient(circle, rgba(162,213,198,.14) 0%, transparent 65%);
  }
  .mk-pro-card > * { position:relative; z-index:1; }
  .mk-pro-card .mk-eyebrow { color:rgba(250,249,246,.5); }
  .mk-pro-card h2 { font-family:var(--mk-serif); font-weight:400; font-size:clamp(28px,3.4vw,44px); line-height:1.08; margin:0 0 18px; max-width:16ch; color:var(--mk-mint); }
  .mk-pro-card h2 em { font-style:italic; color:var(--mk-sage); }
  .mk-pro-card p { font-size:15px; line-height:1.65; color:rgba(255,255,255,.75); max-width:40ch; margin:0 0 30px; }
  .mk-cta-row { display:flex; gap:12px; flex-wrap:wrap; }
  .mk-btn-light { background:var(--mk-sage); }
  .mk-btn-light:hover { box-shadow:0 10px 24px rgba(0,0,0,.25); }
  .mk-btn-ghost { background:transparent; color:var(--mk-sage); border:1px solid rgba(250,249,246,.22); font-weight:500; }
  .mk-btn-ghost:hover { color:#fff; border-color:var(--mk-sage); box-shadow:none; }

  .mk-pro-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(250,249,246,.12); border-radius:16px; overflow:hidden; }
  .mk-pro-stat { background:var(--mk-dark); padding:24px; }
  .mk-pro-stat b { display:block; font-family:var(--mk-serif); font-weight:400; font-size:38px; line-height:1; color:var(--mk-sage); margin-bottom:8px; }
  .mk-pro-stat span { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(162,213,198,.7); }
  .mk-pro-villes { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:18px 24px; background:var(--mk-dark); }
  .mk-pro-villes-label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(162,213,198,.6); }
  .mk-villes { display:flex; flex-wrap:wrap; gap:6px; }
  .mk-villes span {
    font-size:12px; color:var(--mk-mint); padding:4px 10px; border-radius:999px;
    background:rgba(162,213,198,.12); border:1px solid rgba(162,213,198,.18);
  }
  .mk-villes .mk-villes-more { background:none; border-color:transparent; color:rgba(162,213,198,.6); font-style:italic; }

  @media (max-width: 900px) {
    .mk-pro { padding:32px 0 72px; }
    .mk-pro-card { grid-template-columns:1fr; padding:40px 22px 22px; gap:32px; border-radius:24px; }
    .mk-pro-card .mk-cta-row { flex-direction:column; }
    .mk-pro-card .mk-cta-row .mk-btn { justify-content:center; }
    .mk-pro-stat { padding:20px 18px; }
  }

  /* ── Slider d'annonces (hero) ── */
  .mk-slider { position:relative; margin-top:22px; max-width:520px; }
  .mk-slides {
    position:relative; display:grid; border-radius:16px; overflow:hidden;
    background:#fff; border:1px solid #f3e3c4; box-shadow:0 6px 20px rgba(233,180,32,.10);
    touch-action:pan-y; user-select:none; -webkit-user-select:none;
  }
  .mk-slide {
    grid-area:1/1; display:flex; align-items:center; gap:14px; padding:14px 18px;
    text-decoration:none; color:inherit;
    opacity:0; visibility:hidden; transform:translateX(24px);
    transition: opacity .45s ease, transform .45s ease, visibility 0s .45s;
    -webkit-user-drag:none;
  }
  .mk-slide.is-active { opacity:1; visibility:visible; transform:none; transition: opacity .45s ease, transform .45s ease, visibility 0s; }
  .mk-slide.is-leaving-left  { transform:translateX(-24px); }
  .mk-slide.from-left { transform:translateX(-24px); }
  .mk-slides.is-dragging .mk-slide { transition:none; }
  .mk-slide-icon { flex-shrink:0; width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; }
  .mk-slide-body { display:flex; flex-direction:column; gap:2px; min-width:0; }
  .mk-slide-when { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .mk-slide-title { font-weight:600; font-size:15px; color:var(--mk-teal); }
  .mk-slide-sub { font-size:12.5px; color:#7f8f8e; }
  .mk-slide-arrow { margin-left:auto; padding-left:6px; color:var(--mk-rose); font-size:18px; transition:transform .25s; }
  .mk-slide:hover .mk-slide-arrow { transform:translateX(3px); }

  /* Couleurs par type */
  .mk-slide--evenement .mk-slide-icon { background:#fdf5df; color:#c9960c; }
  .mk-slide--evenement .mk-slide-when { color:#c9960c; }
  .mk-slide--nouveaute .mk-slide-icon { background:#fdeeee; color:var(--mk-rose); }
  .mk-slide--nouveaute .mk-slide-when { color:var(--mk-rose); }
  .mk-slide--info .mk-slide-icon { background:#e8f4f6; color:var(--mk-teal); }
  .mk-slide--info .mk-slide-when { color:var(--mk-teal); }

  /* Jauges */
  .mk-slider-bars { display:flex; gap:6px; margin-top:10px; padding:0 4px; }
  .mk-bar {
    flex:1; height:16px; padding:6px 0; border:0; background:none; cursor:pointer; /* zone tactile plus haute que le trait */
  }
  .mk-bar::before { content:''; display:block; height:3px; border-radius:3px; background:#efe6dc; }
  .mk-bar { position:relative; }
  .mk-bar-fill {
    position:absolute; left:0; top:6px; height:3px; width:100%; border-radius:3px;
    background:var(--mk-rose); transform:scaleX(0); transform-origin:left;
  }
  .mk-bar.is-done .mk-bar-fill { transform:scaleX(1); opacity:.35; }
  .mk-bar:focus-visible { outline:2px solid var(--mk-rose); outline-offset:2px; border-radius:4px; }

  /* ── FAQ ── */
  .mk-faq { max-width:760px; margin:0 auto; }
  .mk-faq details { border-bottom:1px solid var(--mk-line); }
  .mk-faq details:first-child { border-top:1px solid var(--mk-line); }
  .mk-faq summary {
    list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px;
    padding:20px 4px; font-weight:600; font-size:16px; color:var(--mk-teal);
  }
  .mk-faq summary::-webkit-details-marker { display:none; }
  .mk-faq summary::after {
    content:'+'; flex-shrink:0; width:30px; height:30px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--mk-cream); color:var(--mk-rose); font-size:20px; font-weight:400;
    transition: transform .3s ease;
  }
  .mk-faq details[open] summary::after { transform:rotate(45deg); }
  .mk-faq summary:hover { color:var(--mk-rose); }
  .mk-faq details p { margin:0; padding:0 48px 22px 4px; font-size:14.5px; line-height:1.65; color:#6c7b7a; }
  .mk-faq-more { text-align:center; margin-top:28px; font-size:14px; color:#7f8f8e; }
  .mk-faq-more a { color:var(--mk-rose); font-weight:600; }

  /* ── Aujourd'hui · lieu · lever / coucher (au-dessus du titre) ── */
  .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 { 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-slider { margin-bottom:36px; }
    .mk-slide { padding:12px 14px; gap:12px; }
    .mk-slide-icon { width:40px; height:40px; font-size:16px; }
    .mk-sun:not([hidden]) + h1 { margin-top:28px !important; }
  }

  /* ── 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); }

  /* ── CTA flottant mobile ── */
  .mk-float {
    position:fixed; left:16px; right:16px; bottom:16px; z-index:800;
    display:flex; justify-content:center;
    opacity:0; transform:translateY(120%); pointer-events:none;
    transition: opacity .3s ease, transform .35s ease;
  }
  .mk-float.is-visible { opacity:1; transform:none; pointer-events:auto; }
  .mk-float .mk-btn { width:100%; max-width:420px; justify-content:center; box-shadow:0 12px 30px rgba(183,110,121,.35); }
  @media (min-width: 992px) { .mk-float { display:none; } }

  @media (prefers-reduced-motion: reduce) {
    .mk-benefit { opacity:1; transform:none; transition:none; }
    .mk-geo-dot::after { animation:none; }
    .mk-drawer, .mk-overlay, .mk-float, .mk-slide { transition:none; }
    .mk-chip--geo.is-highlight, .mk-burger-dot::after { animation:none; }
  }