/* ==========================================================================
   MASSAGE KEUZE — « Kalk en kers » : famille des portails néerlandais de la niche.
   En-tête encre + barre de choix « provincie / stad », contenu blanc de chaux,
   cartes blanches bordées, accent cerise, ambre pour les étoiles ;
   Bricolage Grotesque (titres) + Figtree (texte). Boutons pilule, pas de barre collante.
   ========================================================================== */

/* Polices auto-hébergées (OFL), sous-ensemble latin (suffisant pour le néerlandais) */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 600 800; font-stretch: 100%; font-display: swap; src: url('../fonts/bricolage-grotesque-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/figtree-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/figtree-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --mk-css: 4; /* change l'empreinte Autoptimize (nouveau nom de fichier pour les navigateurs) */
  --ink: #17151A;        /* inkt : en-tête, pied, blocs sombres */
  --ink-2: #26222B;      /* barre de choix */
  --kalk: #F7F4EF;       /* fond du contenu */
  --paper: #FFFFFF;      /* cartes */
  --soft: #FBF9F6;       /* lignes paires, champs */
  --line: #E7E1D9;
  --line-2: #D6CEC3;
  --text: #1E1B22;
  --text-2: #433D48;
  --mute: #6B6470;
  --on-ink: #E9E4EC;
  --on-ink-2: #CFC8D3;
  --on-ink-mute: #B9B1BE;
  --kers: #D7263D;       /* accent cerise */
  --kers-d: #A9152B;     /* survol, liens */
  --kers-l: #FDE8EB;     /* étiquettes */
  --amber: #F2B33D;      /* étoiles */
  --gracht: #2F4A52;
  --shadow: 0 18px 40px -22px rgba(23, 21, 26, .45);
  --display: 'Bricolage Grotesque', 'Helvetica Neue', Arial, sans-serif;
  --sans: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --wrap: 1200px;
}

/* ---------- Base & neutralisation GeneratePress ---------- */

html, body { max-width: 100vw; overflow-x: hidden; }
html { scroll-behavior: smooth; }
body.mk {
  background: var(--kalk) !important;
  color: var(--text);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.mk ::selection { background: var(--kers); color: #fff; }
body.mk [id] { scroll-margin-top: 20px; }
body.mk #page.site,
body.mk .site.grid-container { max-width: 100% !important; padding: 0 !important; background: transparent !important; }
body.mk #content.site-content { display: block !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; background: transparent !important; }
body.mk .widget-area, body.mk .sidebar, body.mk .site-footer .footer-widgets, body.mk .site-info { display: none !important; }
body.mk .site-footer { background: transparent !important; padding: 0 !important; }
/* titres : jamais de couleur ici (posée section par section) */
body.mk h1, body.mk h2, body.mk h3, body.mk h4, body.mk h5, body.mk h6 { text-transform: none; letter-spacing: normal; font-family: var(--display); font-weight: 700; }
body.mk a { color: var(--kers-d); text-decoration-color: rgba(215, 38, 61, .45); text-underline-offset: 3px; transition: color .2s ease; }
body.mk a:hover { color: var(--kers); }
body.mk img, body.mk svg, body.mk iframe, body.mk video { max-width: 100%; height: auto; }
body.mk h1, body.mk h2, body.mk h3, body.mk p, body.mk li, body.mk a, body.mk span { overflow-wrap: break-word; }
body.mk #comments, body.mk .comments-area, body.mk #respond { display: none !important; }
body.mk .ez-toc-container, body.mk #ez-toc-container { display: none !important; }
body.mk .screen-reader-text:focus { background: var(--paper); color: var(--ink); border-radius: 999px; box-shadow: var(--shadow); }
body.mk .site-content, body.mk .inside-article, body.mk .site-main { color: var(--text); }
body.mk a:focus-visible, body.mk button:focus-visible, body.mk summary:focus-visible, body.mk select:focus-visible, body.mk input:focus-visible, body.mk textarea:focus-visible { outline: 3px solid var(--kers); outline-offset: 2px; }

#pc-annuaire-root .arc-hero__title, #pc-annuaire-root .arc-hero__title span, #pc-annuaire-root .arc-section__title, #pc-annuaire-root .arc-seo-content h2, #pc-annuaire-root .arc-seo-content h3, .mk-phero h1, .mk-h2, .mk-cta h2 { text-wrap: balance; }

/* ---------- En-tête encre (défile avec la page) ---------- */

.mk-header { position: relative; z-index: 900; background: var(--ink); color: #fff; }
.mk-header__in { position: relative; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; height: 72px; display: flex; align-items: center; gap: 24px; }

.mk-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
body.mk .mk-brand, body.mk .mk-brand:hover { color: #fff; text-decoration: none; }
.mk-brand__pill { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--kers); color: #fff; font: 800 17px/1 var(--display); box-shadow: 0 6px 16px -8px rgba(215, 38, 61, .9); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.mk-brand:hover .mk-brand__pill { transform: rotate(-8deg) scale(1.06); }
.mk-brand__txt { display: flex; flex-direction: column; line-height: 1; }
.mk-brand__word { font: 800 23px/1 var(--display); letter-spacing: -.02em; color: #fff; }
.mk-brand__word em { font-style: normal; font-weight: 600; color: rgba(255, 255, 255, .72); }
.mk-brand__tag { margin-top: 5px; font: 500 12px/1 var(--sans); color: var(--on-ink-mute); }

.mk-nav { margin-left: auto; }
.mk-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.mk-nav__list > li { position: relative; margin: 0; }
body.mk .mk-nav__list > li > a,
body.mk .mk-sub-toggle {
  display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px;
  background: none; border: 0; border-radius: 999px; cursor: pointer;
  font: 600 15px/1 var(--sans); color: var(--on-ink-2); text-decoration: none; position: relative;
  transition: background .2s ease, color .2s ease;
}
body.mk .mk-nav__list > li > a:hover, body.mk .mk-sub-toggle:hover, body.mk .mk-sub-toggle:focus, body.mk .mk-has-sub.is-open .mk-sub-toggle { background: rgba(255, 255, 255, .08); color: #fff; }
body.mk .mk-nav__list > li > a[aria-current] { color: #fff; }
.mk-sub-toggle::after { content: ''; width: 6px; height: 6px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .25s ease; }
body.mk .mk-nav__list > li > a.mk-nav__cta { margin-left: 10px; padding: 0 20px; background: var(--kers); color: #fff; font-weight: 700; box-shadow: 0 8px 22px -10px rgba(215, 38, 61, .8); }
body.mk .mk-nav__list > li > a.mk-nav__cta:hover { background: var(--kers-d); color: #fff; }

.mk-has-sub::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 12px; } /* pont de survol vers le sous-menu */
.mk-sub {
  list-style: none; margin: 0; padding: 8px; position: absolute; top: calc(100% + 10px); left: 0; z-index: 20; min-width: 250px;
  background: var(--paper); border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 26px 50px -20px rgba(23, 21, 26, .5);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease, visibility .25s;
  max-height: 70vh; overflow: auto;
}
.mk-has-sub:hover .mk-sub, .mk-has-sub:focus-within .mk-sub, .mk-has-sub.is-open .mk-sub { opacity: 1; visibility: visible; transform: translateY(0); }
.mk-sub li { margin: 0; }
body.mk .mk-sub a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 12px; font: 600 15px/1.3 var(--sans); color: var(--ink); text-decoration: none; white-space: normal; }
.mk-sub a b { flex-shrink: 0; min-width: 28px; padding: 4px 8px; border-radius: 999px; background: var(--kalk); text-align: center; font: 600 12px/1 var(--sans); color: var(--mute); }
.mk-sub li.mk-sub__all { margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--line, rgba(0, 0, 0, .08)); }
body.mk .mk-sub li.mk-sub__all a { color: var(--kers-d); }
body.mk .mk-sub a:hover { background: var(--kers-l); color: var(--kers-d); }
.mk-sub a:hover b { background: var(--kers); color: #fff; }

.mk-burger { display: none; margin-left: auto; width: 48px; height: 42px; padding: 0; position: relative; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; cursor: pointer; }
.mk-burger span { position: absolute; left: 14px; right: 14px; height: 2px; border-radius: 2px; background: #fff; transition: transform .3s ease, opacity .3s ease; }
.mk-burger span:nth-child(1) { top: 13px; } .mk-burger span:nth-child(2) { top: 19px; } .mk-burger span:nth-child(3) { top: 25px; }
.mk-burger em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mk-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mk-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mk-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
/* boutons : neutraliser le style <button> de GeneratePress */
body.mk .mk-burger, body.mk .mk-burger:hover, body.mk .mk-burger:focus { background: none; color: #fff; }
body.mk .mk-card, body.mk .mk-card:hover, body.mk .mk-card:focus { background: none; color: inherit; }

/* ---------- Barre de choix « provincie / stad » (sous l'en-tête, non collante) ---------- */

.mk-pick { background: var(--ink-2); border-top: 1px solid rgba(255, 255, 255, .07); }
.mk-pick__in { position: relative; max-width: var(--wrap); margin: 0 auto; padding: 12px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mk-pick__label { margin: 0 4px 0 0; font: 600 13.5px/1.2 var(--sans); color: var(--on-ink-mute); }
body.mk .mk-pick__sel {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  flex: 0 1 230px; min-width: 0; max-width: 100%; height: 42px; margin: 0; padding: 0 42px 0 18px;
  border: 0; border-radius: 999px; box-shadow: none; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2317151A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 12px 8px;
  color: var(--ink); font: 600 14.5px/1.2 var(--sans); text-overflow: ellipsis;
}
body.mk .mk-pick__sel:focus { outline: none; box-shadow: 0 0 0 3px rgba(215, 38, 61, .6); }
body.mk .mk-pick__sel:disabled { opacity: .55; cursor: not-allowed; }
body.mk .mk-pick__btn {
  display: inline-flex; align-items: center; justify-content: center; height: 42px; margin: 0; padding: 0 22px;
  border: 0; border-radius: 999px; cursor: pointer; white-space: nowrap;
  background: var(--kers); color: #fff; font: 700 14.5px/1 var(--sans);
  box-shadow: 0 8px 22px -10px rgba(215, 38, 61, .8); transition: background .2s ease, transform .2s ease;
}
body.mk .mk-pick__btn:hover, body.mk .mk-pick__btn:focus { background: var(--kers-d); color: #fff; }
body.mk .mk-pick__btn:hover { transform: translateY(-1px); }

/* ---------- Barre de lecture ---------- */

.mk-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 1000; transform-origin: left; transform: scaleX(0); background: var(--kers); pointer-events: none; }

/* ==========================================================================
   ANNUAIRE — peau des gabarits (markup du plugin et du thème)
   ========================================================================== */

body.mk #pc-annuaire-root { position: relative; isolation: isolate; overflow: hidden; background: var(--kalk); color: var(--text); font-family: var(--sans); padding-bottom: 40px; }
#pc-annuaire-root .arc-container { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; position: relative; }

/* fil d'Ariane */
#pc-annuaire-root .arc-breadcrumbs { padding: 24px 0 0; font: 500 13px/1.6 var(--sans); color: var(--mute); }
#pc-annuaire-root .arc-breadcrumbs a { color: var(--kers-d); font-weight: 600; text-decoration: none; }
#pc-annuaire-root .arc-breadcrumbs a:hover { color: var(--kers); text-decoration: underline; }
#pc-annuaire-root .arc-breadcrumbs__sep { color: var(--line-2); margin: 0 6px; }

/* hero : texte à gauche, photo de la ville la nuit dans un cadre arrondi à droite (pseudo-éléments) */
#pc-annuaire-root .arc-hero {
  --mk-photo: 41%;
  position: relative; display: flex; flex-direction: column; justify-content: center; text-align: left;
  min-height: 400px; margin: 12px 0 26px; padding: 20px calc(var(--mk-photo) + 40px) 20px 0;
  background: none; border: 0; border-radius: 0; overflow: visible;
}
#pc-annuaire-root .arc-hero::before,
#pc-annuaire-root .arc-hero::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: var(--mk-photo); border-radius: 22px; pointer-events: none; }
#pc-annuaire-root .arc-hero::after { /* photo, ou ville de nuit dessinée tant qu'elle manque */
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(10, 14, 16, 0) 52%, rgba(10, 14, 16, .85) 100%),
    radial-gradient(60% 40% at 70% 22%, rgba(242, 179, 61, .55), rgba(242, 179, 61, 0) 70%),
    radial-gradient(50% 35% at 25% 60%, rgba(215, 38, 61, .35), rgba(215, 38, 61, 0) 70%),
    repeating-linear-gradient(90deg, #1E2A30 0 46px, #25343B 46px 50px),
    linear-gradient(180deg, var(--gracht), #141B1F);
  box-shadow: 0 34px 60px -38px rgba(23, 21, 26, .65);
}
#pc-annuaire-root .arc-hero::before { /* fenêtres éclairées (colonnes découpées en étages par le masque) */
  z-index: 1;
  background:
    repeating-linear-gradient(90deg, rgba(242, 179, 61, 0) 0 14px, rgba(242, 179, 61, .8) 14px 22px, rgba(242, 179, 61, 0) 22px 40px) bottom / 100% 34% no-repeat,
    repeating-linear-gradient(90deg, rgba(242, 179, 61, 0) 0 31px, rgba(242, 179, 61, .5) 31px 38px, rgba(242, 179, 61, 0) 38px 70px) bottom / 100% 48% no-repeat;
  -webkit-mask: repeating-linear-gradient(180deg, transparent 0 8px, #000 8px 18px);
  mask: repeating-linear-gradient(180deg, transparent 0 8px, #000 8px 18px);
}
body.mk-has-hero #pc-annuaire-root .arc-hero::after { background: url('../img/stad-nacht-1600.webp') center / cover no-repeat, var(--ink); }
@media (max-width: 767px) { body.mk-has-hero #pc-annuaire-root .arc-hero::after { background-image: url('../img/stad-nacht-800.webp'); } }
body.mk-has-hero #pc-annuaire-root .arc-hero::before { -webkit-mask: none; mask: none; background: linear-gradient(180deg, rgba(23, 21, 26, 0) 55%, rgba(23, 21, 26, .35) 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
#pc-annuaire-root .arc-hero > * { position: relative; z-index: 1; max-width: 640px; }
#pc-annuaire-root .arc-hero__title { margin: 0 0 18px; font: 800 clamp(30px, 4vw, 50px)/1.08 var(--display); letter-spacing: -.02em; color: var(--ink); }
#pc-annuaire-root .arc-hero__title .mk-h1a { display: block; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.02; letter-spacing: -.03em; }
#pc-annuaire-root .arc-hero__title .mk-h1b {
  display: block; margin-top: 12px; font: 700 clamp(21px, 2.2vw, 28px)/1.3 var(--display); letter-spacing: -.01em; color: var(--kers-d);
  text-decoration: underline; text-decoration-color: rgba(215, 38, 61, .16); text-decoration-thickness: .42em; text-underline-offset: -.26em; text-decoration-skip-ink: none;
}
#pc-annuaire-root .arc-hero__subtitle { max-width: 600px; margin: 0 0 24px; font-size: 17.5px; line-height: 1.65; color: var(--text-2); }
#pc-annuaire-root .arc-hero__subtitle strong { color: var(--ink); font-weight: 700; background: linear-gradient(transparent 64%, var(--kers-l) 64%); }
.mk-hero-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
#pc-annuaire-root .arc-hero p.arc-adult-notice {
  display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 5px 16px 5px 5px; border-radius: 999px; align-self: flex-start;
  background: var(--paper); border: 1px solid var(--line); font: 500 13px/1.4 var(--sans); color: var(--mute);
}
#pc-annuaire-root .arc-hero p.arc-adult-notice::before { content: '18+'; flex-shrink: 0; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: #fff; font: 800 11.5px/1 var(--display); }

/* compteurs (accueil) */
.mk-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 18px; }
.mk-stat { padding: 20px 22px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); }
.mk-stat strong { display: block; font: 800 clamp(30px, 3.2vw, 38px)/1 var(--display); letter-spacing: -.02em; color: var(--ink); }
.mk-stat span { display: block; margin-top: 6px; font-size: 14.5px; color: var(--mute); }

/* badges de confiance : pilules */
#pc-annuaire-root .arc-trust-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(44px, 6vw, 76px); padding: 0; background: none; border: 0; }
#pc-annuaire-root .arc-trust-badge { display: inline-flex; align-items: center; gap: 9px; padding: 10px 17px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); }
#pc-annuaire-root .arc-trust-badge__icon { color: var(--kers); font-size: 13px; line-height: 1; }
#pc-annuaire-root .arc-trust-badge__text { font: 600 14.5px/1.3 var(--sans); color: var(--text-2); }

/* sections */
#pc-annuaire-root .arc-section { margin: 0 0 clamp(52px, 7vw, 84px); padding: 0; background: none; border: 0; }
#pc-annuaire-root .arc-section .arc-section__title { position: relative; margin: 0 0 24px; padding-left: 0; font: 800 clamp(25px, 2.8vw, 36px)/1.15 var(--display); letter-spacing: -.02em; color: var(--ink); }
#pc-annuaire-root .arc-section .arc-section__title::before { content: ''; display: block; width: 40px; height: 5px; margin-bottom: 14px; border-radius: 5px; background: var(--kers); }
#pc-annuaire-root p.arc-section__intro { max-width: 800px; margin: -6px 0 26px; font-size: 17px; line-height: 1.75; color: var(--text-2); }
#pc-annuaire-root p.arc-section__intro strong { color: var(--ink); }
#pc-annuaire-root .arc-section__more { margin-top: 26px; text-align: center; }

/* grilles */
#pc-annuaire-root .arc-grid { display: grid; gap: 12px; }
#pc-annuaire-root .arc-grid--cities { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
#pc-annuaire-root .arc-grid--depts { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
#pc-annuaire-root .arc-grid--compact { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-bottom: 40px; }
#pc-annuaire-root .arc-grid--lieux { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; counter-reset: mk-lieu; }

/* cartes : base (villes de l'accueil et des provinces) */
#pc-annuaire-root .arc-card {
  position: relative; display: flex; flex-direction: column; justify-content: flex-start; gap: 4px;
  min-height: 118px; padding: 18px 18px 16px; text-decoration: none; color: var(--text);
  background: var(--paper); border: 1px solid var(--line); border-radius: 18px;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease, border-color .3s ease, background .3s ease, opacity .6s ease;
}
#pc-annuaire-root .arc-card > * { position: relative; z-index: 1; }
#pc-annuaire-root a.arc-card:hover { transform: translateY(-4px); border-color: var(--line-2); box-shadow: var(--shadow); }
#pc-annuaire-root .arc-card .arc-card__name { margin: 0; font: 700 19px/1.2 var(--display); letter-spacing: -.01em; color: var(--ink); }
#pc-annuaire-root .arc-card--city .arc-card__name { padding-right: 18px; }
#pc-annuaire-root .arc-card--city::after { /* chevron qui avance au survol */
  content: ''; position: absolute; right: 19px; top: 24px; width: 8px; height: 8px;
  border-top: 2px solid var(--line-2); border-right: 2px solid var(--line-2); transform: rotate(45deg);
  transition: transform .3s ease, border-color .3s ease;
}
#pc-annuaire-root a.arc-card--city:hover::after { border-color: var(--kers); transform: translateX(3px) rotate(45deg); }
#pc-annuaire-root .arc-card--city .arc-card__postal { font: 500 13px/1.3 var(--sans); color: var(--mute); }
#pc-annuaire-root .arc-card__count { margin-top: auto; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--kers-l); font: 600 12.5px/1.3 var(--sans); color: var(--kers-d); transition: background .3s ease, color .3s ease; }
#pc-annuaire-root .arc-card--city .arc-card__count { margin-top: auto; }
#pc-annuaire-root a.arc-card:hover .arc-card__count { background: var(--kers); color: #fff; }
/* Page « Alle steden » (/sexdate/) */
#pc-annuaire-root .mk-steden-prov__meta { margin: -6px 0 16px; font-size: 15px; color: var(--text-2); }
#pc-annuaire-root .mk-steden-prov__meta a { color: var(--kers-d); font-weight: 600; }
#pc-annuaire-root .arc-card--city .arc-card__distance { font: 500 13px/1.3 var(--sans); color: var(--mute); }

/* provinces : tuiles (nom à gauche, nombre à droite) */
#pc-annuaire-root .arc-card--dept { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; padding: 15px 16px 15px 18px; border-radius: 14px; }
#pc-annuaire-root .arc-card--dept .arc-card__name { font: 700 16.5px/1.25 var(--display); transition: color .2s ease; }
#pc-annuaire-root .arc-card--dept .arc-card__count { flex-shrink: 0; margin-top: 0; align-self: center; padding: 0; background: none; font: 500 13px/1.3 var(--sans); color: var(--mute); }
#pc-annuaire-root a.arc-card--dept:hover { transform: none; border-color: var(--kers); box-shadow: none; }
#pc-annuaire-root a.arc-card--dept:hover .arc-card__name, #pc-annuaire-root a.arc-card--dept:hover .arc-card__count { background: none; color: var(--kers-d); }

#pc-annuaire-root .arc-grid--compact .arc-card { min-height: 104px; padding: 16px 16px 14px; border-radius: 16px; }
#pc-annuaire-root .arc-grid--compact .arc-card .arc-card__name { font-size: 17px; }

/* villes voisines (page ville) : pastilles cerise, les plus lointaines au trait */
body.mk-ville #pc-annuaire-root .arc-grid--cities { display: flex; flex-wrap: wrap; gap: 10px; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card {
  flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; min-height: 0; max-width: 100%;
  padding: 8px 10px 8px 17px; border-radius: 999px; background: var(--kers); border: 1.5px solid var(--kers); color: #fff;
  box-shadow: 0 8px 20px -12px rgba(215, 38, 61, .8);
}
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card::after { display: none; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card .arc-card__name { padding-right: 0; font: 700 15.5px/1.2 var(--sans); letter-spacing: 0; color: #fff; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card__count { margin-top: 0; align-self: center; padding: 3px 9px; background: rgba(255, 255, 255, .2); font-size: 12.5px; color: #fff; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card__distance { padding-right: 6px; font-size: 13px; color: rgba(255, 255, 255, .88); }
body.mk-ville #pc-annuaire-root .arc-grid--cities a.arc-card:hover { transform: translateY(-2px); background: var(--kers-d); border-color: var(--kers-d); box-shadow: 0 12px 24px -14px rgba(169, 21, 43, .9); }
body.mk-ville #pc-annuaire-root .arc-grid--cities a.arc-card:hover .arc-card__count { background: rgba(255, 255, 255, .24); color: #fff; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card:nth-child(n+4) { background: var(--paper); border-color: var(--line-2); box-shadow: none; }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card:nth-child(n+4) .arc-card__name { color: var(--ink); }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card:nth-child(n+4) .arc-card__count { background: var(--kers-l); color: var(--kers-d); }
body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card:nth-child(n+4) .arc-card__distance { color: var(--mute); }
body.mk-ville #pc-annuaire-root .arc-grid--cities a.arc-card:nth-child(n+4):hover { background: var(--paper); border-color: var(--ink); box-shadow: none; }

/* fiches lieu : étiquette, numéro, nom, adresse, note en pied de carte */
#pc-annuaire-root .arc-card--lieu { counter-increment: mk-lieu; min-height: 0; padding: 22px 22px 20px; gap: 0; border-radius: 18px; }
#pc-annuaire-root .arc-card--lieu::after { content: counter(mk-lieu, decimal-leading-zero); position: absolute; right: 20px; top: 22px; font: 800 15px/1 var(--display); color: var(--line-2); }
#pc-annuaire-root .arc-card--lieu:hover { transform: translateY(-4px); border-color: var(--line-2); box-shadow: var(--shadow); }
#pc-annuaire-root .arc-card--lieu .arc-card__header { display: contents; }
#pc-annuaire-root .arc-card--lieu .arc-card__type-label { order: 0; align-self: flex-start; margin-right: 36px; padding: 5px 12px; border-radius: 999px; background: var(--kers-l); color: var(--kers-d); font: 600 13px/1.3 var(--sans); }
#pc-annuaire-root .arc-card--lieu .arc-card__body { order: 1; padding: 0; margin-bottom: 14px; }
#pc-annuaire-root .arc-card--lieu .arc-card__title { margin: 14px 0 10px; font: 700 21px/1.25 var(--display); letter-spacing: -.01em; color: var(--ink); }
#pc-annuaire-root .arc-card--lieu .arc-card__meta { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 6px; font-size: 14.5px; line-height: 1.5; color: var(--mute); }
#pc-annuaire-root .arc-card--lieu .arc-card__meta-icon { flex-shrink: 0; width: 18px; text-align: center; font-size: 13px; filter: grayscale(1); opacity: .7; }
#pc-annuaire-root .arc-card--lieu .arc-card__website-url { word-break: break-all; }
#pc-annuaire-root .arc-card--lieu .arc-card__rating { order: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line); }
#pc-annuaire-root .arc-card--lieu .arc-card__stars { display: inline-flex; gap: 1px; }
#pc-annuaire-root .arc-card--lieu .arc-star { font-size: 15px; line-height: 1; }
#pc-annuaire-root .arc-card--lieu .arc-star--full { color: var(--amber); }
#pc-annuaire-root .arc-card--lieu .arc-star--half { color: var(--amber); opacity: .5; }
#pc-annuaire-root .arc-card--lieu .arc-star--empty { color: var(--line-2); }
#pc-annuaire-root .arc-card--lieu .arc-card__rating-text { font: 700 15px/1 var(--sans); color: var(--ink); }
#pc-annuaire-root .arc-card--lieu .arc-card__rating-count { font: 500 13px/1.2 var(--sans); color: var(--mute); }

/* guide (texte rédigé) : feuille blanche */
#pc-annuaire-root .arc-seo-content {
  max-width: 880px; margin: 0 auto clamp(52px, 7vw, 84px); padding: clamp(30px, 5vw, 58px) clamp(20px, 5vw, 60px);
  background: var(--paper); border: 1px solid var(--line); border-radius: 22px; position: relative;
}
#pc-annuaire-root .mk-guide { max-width: 940px; }
#pc-annuaire-root .arc-seo-content::before { content: ''; position: absolute; left: clamp(20px, 5vw, 60px); top: -3px; width: 80px; height: 6px; border-radius: 6px; background: var(--kers); }
#pc-annuaire-root .arc-seo-content h2 { position: relative; margin: 50px 0 16px; padding-top: 0; font: 800 clamp(24px, 2.6vw, 32px)/1.2 var(--display); letter-spacing: -.02em; color: var(--ink); border: 0; }
#pc-annuaire-root .arc-seo-content h2:first-child { margin-top: 0; }
#pc-annuaire-root .arc-seo-content h3 { margin: 30px 0 10px; font: 700 19.5px/1.35 var(--display); letter-spacing: -.01em; color: var(--ink); }
#pc-annuaire-root .arc-seo-content p { margin: 0 0 18px; color: var(--text-2); }
#pc-annuaire-root .arc-seo-content strong { color: var(--ink); font-weight: 700; }
#pc-annuaire-root .arc-seo-content a { color: var(--kers-d); font-weight: 600; }
#pc-annuaire-root .arc-seo-content a:hover { color: var(--kers); }
#pc-annuaire-root .arc-seo-content ul, #pc-annuaire-root .arc-seo-content ol { margin: 0 0 24px; padding: 0; list-style: none; }
#pc-annuaire-root .arc-seo-content li { position: relative; margin: 0 0 10px; padding-left: 28px; color: var(--text-2); }
#pc-annuaire-root .arc-seo-content ul li::before { content: ''; position: absolute; left: 6px; top: .66em; width: 8px; height: 8px; border-radius: 50%; background: var(--kers); }
#pc-annuaire-root .arc-seo-content ol { counter-reset: mk-li; }
#pc-annuaire-root .arc-seo-content ol li { counter-increment: mk-li; padding-left: 42px; }
#pc-annuaire-root .arc-seo-content ol li::before { content: counter(mk-li); position: absolute; left: 0; top: .12em; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--kers-l); color: var(--kers-d); font: 800 13.5px/1 var(--display); }
/* tableau à en-tête encre */
#pc-annuaire-root .arc-seo-content table { width: 100%; margin: 8px 0 30px; border-collapse: separate; border-spacing: 0; font-size: 15px; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
#pc-annuaire-root .arc-seo-content thead, #pc-annuaire-root .arc-seo-content th { background: var(--ink); }
#pc-annuaire-root .arc-seo-content th { padding: 13px 16px; text-align: left; font: 700 14px/1.35 var(--sans); color: #fff; border: 0; }
#pc-annuaire-root .arc-seo-content td { padding: 12px 16px; color: var(--text-2); border: 0; border-top: 1px solid var(--line); vertical-align: top; background: var(--paper); }
#pc-annuaire-root .arc-seo-content thead + tbody tr:first-child td { border-top: 0; }
#pc-annuaire-root .arc-seo-content tbody tr:nth-child(even) td { background: var(--soft); }
#pc-annuaire-root .arc-seo-content tbody tr:hover td { background: #FDF2F4; }
#pc-annuaire-root .mk-guide--note { padding-top: 34px; padding-bottom: 30px; }
#pc-annuaire-root .mk-guide--note p:last-child { margin-bottom: 0; }
.mk-guide .mk-figure { margin: 8px 0 30px; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); }
.mk-guide .mk-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* listes « signaux » */
#pc-annuaire-root .arc-seo-content ul.mk-flags li { padding-left: 34px; }
#pc-annuaire-root .arc-seo-content ul.mk-flags li::before { width: 22px; height: 22px; border-radius: 50%; top: .14em; left: 0; display: grid; place-items: center; font: 700 12px/1 var(--sans); }
#pc-annuaire-root .arc-seo-content ul.mk-flags--yes li::before { content: '✓'; background: #E3F4EA; color: #1E7A45; }
#pc-annuaire-root .arc-seo-content ul.mk-flags--no li::before { content: '✕'; background: var(--kers-l); color: var(--kers-d); }

/* cartes à retourner (woordenlijst) */
.mk-flash { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 10px 0 34px; }
.mk-card { position: relative; height: 176px; padding: 0; border: 0; border-radius: 18px; background: none; cursor: pointer; perspective: 900px; text-align: left; font: inherit; color: inherit; }
.mk-card__face {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border-radius: 18px;
  backface-visibility: hidden; -webkit-backface-visibility: hidden; transition: transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease;
}
.mk-card__front { background: var(--kalk); box-shadow: inset 0 0 0 1px var(--line); }
.mk-card__front b { align-self: flex-start; font: 700 18px/1.2 var(--display); letter-spacing: -.01em; color: var(--ink); }
.mk-card__front em { align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: var(--kers-l); font: 700 11px/1 var(--sans); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--kers-d); }
.mk-card__front em::after { content: ' ↻'; letter-spacing: 0; font-size: 1.3em; line-height: 0; }
.mk-card__back { transform: rotateY(180deg); background: var(--kers); color: #fff; font: 500 14.5px/1.5 var(--sans); justify-content: center; }
.mk-card.is-flipped .mk-card__front { transform: rotateY(-180deg); }
.mk-card.is-flipped .mk-card__back { transform: rotateY(0); }
.mk-card:hover .mk-card__front { box-shadow: inset 0 0 0 1.5px var(--kers); }
.mk-card:focus-visible { outline: 3px solid var(--kers); outline-offset: 3px; }

/* 4 regels */
.mk-manifesto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 10px 0 34px; }
.mk-manifesto article { position: relative; padding: 24px 22px 22px; border-radius: 18px; background: var(--kalk); border: 1px solid var(--line); overflow: hidden; }
.mk-manifesto article::after { content: ''; position: absolute; right: -34px; bottom: -34px; width: 110px; height: 110px; border-radius: 50%; background: var(--kers-l); }
.mk-manifesto article > * { position: relative; z-index: 1; }
#pc-annuaire-root .mk-manifesto h3, .mk-manifesto h3 { margin: 0 0 10px; padding: 0; font: 700 20px/1.25 var(--display); color: var(--ink); }
.mk-manifesto h3 span { display: table; margin-bottom: 12px; padding: 5px 10px; border-radius: 999px; background: var(--kers); font: 700 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
#pc-annuaire-root .mk-manifesto p, .mk-manifesto p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--text-2); }

/* FAQ en accordéons : « + » dans un rond cerise pâle */
.mk-faq { margin: 8px 0 26px; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.mk-faq details { border-top: 1px solid var(--line); }
.mk-faq details:first-child { border-top: 0; }
.mk-faq summary { position: relative; display: block; list-style: none; cursor: pointer; padding: 18px 66px 18px 20px; font: 700 17px/1.35 var(--display); letter-spacing: -.01em; color: var(--ink); transition: color .2s ease; }
.mk-faq summary::-webkit-details-marker { display: none; }
.mk-faq summary::after { content: '+'; position: absolute; right: 18px; top: 50%; width: 32px; height: 32px; margin-top: -16px; border-radius: 50%; display: grid; place-items: center; background: var(--kers-l); color: var(--kers); font: 500 22px/1 var(--sans); transition: transform .3s ease, background .3s ease, color .3s ease; }
.mk-faq details[open] summary::after { transform: rotate(45deg); background: var(--kers); color: #fff; }
.mk-faq summary:hover { color: var(--kers-d); }
#pc-annuaire-root .mk-faq details p, .mk-faq details p { margin: 0; padding: 0 20px 20px; color: var(--text-2); }

/* maillage interne : trois colonnes */
#pc-annuaire-root .arc-internal-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: clamp(40px, 6vw, 72px) 0 20px; padding: 32px 0 0; border-top: 1px solid var(--line-2); background: none; }
#pc-annuaire-root .arc-internal-links__section h3 { margin: 0 0 14px; font: 700 13px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--kers-d); }
#pc-annuaire-root .arc-internal-links__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; max-height: 360px; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
#pc-annuaire-root .arc-internal-links__list li { margin: 0; padding: 0; }
#pc-annuaire-root .arc-internal-links__list a { display: block; padding: 8px 0; font: 500 15px/1.35 var(--sans); color: var(--text-2); text-decoration: none; border-bottom: 1px solid var(--line); transition: color .2s ease, padding .25s ease; }
#pc-annuaire-root .arc-internal-links__list a:hover { color: var(--kers-d); padding-left: 8px; }

/* boutons pilule */
body.mk #pc-annuaire-root .arc-btn, body.mk #pc-annuaire-root .mk-btn, body.mk .mk-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 24px; border: 0; border-radius: 999px; cursor: pointer; text-decoration: none; white-space: nowrap;
  font: 700 15.5px/1 var(--sans); color: #fff;
  background: var(--kers); box-shadow: 0 10px 24px -12px rgba(215, 38, 61, .85);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
body.mk #pc-annuaire-root .arc-btn:hover, body.mk #pc-annuaire-root .mk-btn:hover, body.mk .mk-btn:hover { transform: translateY(-2px); background: var(--kers-d); color: #fff; box-shadow: 0 14px 28px -12px rgba(169, 21, 43, .9); }
body.mk #pc-annuaire-root .mk-btn.mk-btn--ghost, body.mk .mk-btn.mk-btn--ghost { background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-2); }
body.mk #pc-annuaire-root .mk-btn.mk-btn--ghost:hover, body.mk .mk-btn.mk-btn--ghost:hover { background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
#pc-annuaire-root .arc-empty { margin: 0 0 56px; padding: 22px 24px; border: 1.5px dashed var(--line-2); border-radius: 18px; color: var(--text-2); font: 600 17px/1.5 var(--display); background: var(--paper); }

/* appel final : bloc encre */
.mk-cta {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 36px; align-items: center;
  margin: clamp(48px, 7vw, 84px) 0 clamp(56px, 8vw, 96px); padding: clamp(28px, 4vw, 46px) clamp(24px, 4vw, 50px);
  border-radius: 22px; background: var(--ink); color: var(--on-ink); text-align: left;
}
.mk-cta::before { content: ''; position: absolute; right: -90px; top: -130px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(215, 38, 61, .38), rgba(215, 38, 61, 0) 70%); pointer-events: none; }
.mk-cta > * { position: relative; z-index: 1; }
body.mk .mk-cta h2 { grid-column: 1; margin: 0 0 8px; font: 800 clamp(26px, 3.2vw, 38px)/1.12 var(--display); letter-spacing: -.02em; color: #fff; }
body.mk .mk-cta p { grid-column: 1; margin: 0; max-width: 620px; color: var(--on-ink-mute); }
.mk-cta__btns { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
body.mk #pc-annuaire-root .mk-cta .mk-btn.mk-btn--ghost, body.mk .mk-cta .mk-btn.mk-btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .3); }
body.mk #pc-annuaire-root .mk-cta .mk-btn.mk-btn--ghost:hover, body.mk .mk-cta .mk-btn.mk-btn--ghost:hover { background: rgba(255, 255, 255, .08); color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }

/* ==========================================================================
   PAGES (Over ons, Contact, pages légales)
   ========================================================================== */

.mk-page { position: relative; isolation: isolate; overflow: hidden; background: var(--kalk); }
.mk-phero { position: relative; padding: clamp(36px, 6vw, 80px) 0 clamp(28px, 4vw, 48px); }
.mk-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.mk-crumbs { margin: 0 0 20px; font: 500 13px/1.6 var(--sans); color: var(--mute); }
body.mk .mk-crumbs a { color: var(--kers-d); font-weight: 600; text-decoration: none; }
body.mk .mk-crumbs a:hover { color: var(--kers); text-decoration: underline; }
.mk-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 7px 14px; border-radius: 999px; background: var(--kers-l); font: 700 12.5px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--kers-d); }
body.mk .mk-phero h1 { margin: 0; max-width: 940px; font: 800 clamp(36px, 5.2vw, 64px)/1.05 var(--display); letter-spacing: -.03em; color: var(--ink); }
.mk-phero h1 em { font-style: normal; color: var(--kers); }

.mk-about-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); align-items: center; margin: 0 0 clamp(60px, 8vw, 110px); }
.mk-lede { margin: 0 0 20px; font: 600 clamp(20px, 2.1vw, 25px)/1.5 var(--display); letter-spacing: -.01em; color: var(--ink); }
.mk-lede strong { font-weight: 800; background: linear-gradient(transparent 64%, var(--kers-l) 64%); }
.mk-about-intro p { color: var(--text-2); }
.mk-frame { position: relative; margin: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 36px 64px -40px rgba(23, 21, 26, .55); }
.mk-frame img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.mk-frame.mk-frame--wide { margin-top: 28px; }
.mk-frame.mk-frame--wide img { aspect-ratio: 3 / 2; }
.mk-quote { margin: 0 auto clamp(60px, 8vw, 110px); max-width: 980px; text-align: center; border: 0; background: none; padding: 0; }
.mk-quote p { margin: 0; font: 700 clamp(26px, 3.6vw, 44px)/1.2 var(--display); letter-spacing: -.02em; color: var(--ink); }
.mk-quote p::before { content: '“'; color: var(--kers); }
.mk-quote p::after { content: '”'; color: var(--kers); }
.mk-quote cite { display: block; margin-top: 18px; font: 600 13px/1 var(--sans); font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
body.mk .mk-h2 { margin: 0 0 14px; font: 800 clamp(27px, 3.2vw, 40px)/1.12 var(--display); letter-spacing: -.02em; color: var(--ink); }
.mk-h2::after { content: ''; display: block; width: 52px; height: 5px; margin-top: 16px; border-radius: 5px; background: var(--kers); }
.mk-sub-lede { margin: 0 0 36px; max-width: 700px; color: var(--text-2); }
.mk-steps { list-style: none; margin: 0 0 clamp(60px, 8vw, 110px); padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; counter-reset: mk-step; }
.mk-steps li { position: relative; margin: 0; padding: 24px 22px 22px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); counter-increment: mk-step; }
.mk-steps li::before { content: counter(mk-step); display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border-radius: 50%; background: var(--kers); font: 800 18px/1 var(--display); color: #fff; }
body.mk .mk-steps h3 { margin: 0 0 8px; font: 700 19px/1.25 var(--display); color: var(--ink); }
.mk-steps p { margin: 0; font-size: 15.5px; color: var(--text-2); }
.mk-page .mk-manifesto { margin-bottom: clamp(60px, 8vw, 110px); }
.mk-page .mk-manifesto article { background: var(--paper); }
.mk-page .mk-cta { margin-top: 0; }

.mk-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; margin: 0 0 clamp(60px, 8vw, 110px); }
.mk-contact__aside p { color: var(--text-2); }
.mk-contact__aside ul { list-style: none; margin: 0; padding: 0; }
.mk-contact__aside li { position: relative; margin: 0 0 10px; padding-left: 26px; color: var(--text-2); }
.mk-contact__aside li::before { content: ''; position: absolute; left: 4px; top: .66em; width: 8px; height: 8px; border-radius: 50%; background: var(--kers); }
.mk-form { position: relative; padding: clamp(24px, 4vw, 40px); border-radius: 22px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 30px 60px -44px rgba(23, 21, 26, .5); }
.mk-form .wpcf7 label { display: block; margin-bottom: 6px; font: 600 14px/1.4 var(--sans); color: var(--ink); }
.mk-form .wpcf7 p { margin: 0 0 18px; }
.mk-form .wpcf7 input[type="text"], .mk-form .wpcf7 input[type="email"], .mk-form .wpcf7 input[type="tel"], .mk-form .wpcf7 input[type="url"], .mk-form .wpcf7 textarea, .mk-form .wpcf7 select {
  width: 100%; padding: 13px 16px; border: 1.5px solid var(--line-2); border-radius: 14px; background: var(--soft); color: var(--text); font: 400 16px/1.4 var(--sans);
}
.mk-form .wpcf7 select option { background: var(--paper); color: var(--text); }
.mk-form .wpcf7 textarea { min-height: 160px; }
.mk-form .wpcf7 input:focus, .mk-form .wpcf7 textarea:focus, .mk-form .wpcf7 select:focus { outline: none; border-color: var(--kers); background: var(--paper); box-shadow: 0 0 0 4px rgba(215, 38, 61, .14); }
.mk-form .wpcf7 .wpcf7-acceptance label { font-weight: 400; color: var(--text-2); }
.mk-form .wpcf7 input[type="submit"] { padding: 15px 30px; border: 0; border-radius: 999px; background: var(--kers); color: #fff; font: 700 15.5px/1 var(--sans); cursor: pointer; box-shadow: 0 10px 24px -12px rgba(215, 38, 61, .85); transition: background .2s ease, transform .2s ease; }
.mk-form .wpcf7 input[type="submit"]:hover, .mk-form .wpcf7 input[type="submit"]:focus { background: var(--kers-d); color: #fff; transform: translateY(-2px); }
.mk-form .wpcf7-response-output { margin: 16px 0 0 !important; border-radius: 14px; color: var(--text-2); }
.mk-form .wpcf7-not-valid-tip { color: var(--kers-d); font-size: 14px; }

/* pages GeneratePress (légales, 404) */
body.mk.page .site-main, body.mk.error404 .site-main { max-width: 900px; margin: 0 auto; padding: clamp(36px, 6vw, 72px) 24px; }
body.mk .site-main > article, body.mk.error404 .site-main .inside-article { background: none; }
body.mk .site-main .inside-article { padding: clamp(28px, 5vw, 56px); background: var(--paper); border: 1px solid var(--line); border-radius: 22px; }
body.mk .site-main .entry-header .entry-title { margin: 0 0 22px; font: 800 clamp(30px, 4.2vw, 48px)/1.1 var(--display); letter-spacing: -.02em; color: var(--ink); }
body.mk .site-main .entry-content { color: var(--text-2); }
body.mk .site-main .entry-content h2 { margin: 36px 0 12px; font: 700 clamp(20px, 2.1vw, 26px)/1.25 var(--display); color: var(--ink); }
body.mk .site-main .entry-content h3 { margin: 26px 0 10px; font: 700 18px/1.35 var(--display); color: var(--ink); }
body.mk .site-main .entry-content a { color: var(--kers-d); font-weight: 600; }
body.mk .site-main .entry-content strong { color: var(--ink); }
body.mk .site-main .entry-content table { border-collapse: collapse; width: 100%; }
body.mk .site-main .entry-content td, body.mk .site-main .entry-content th { border: 1px solid var(--line); padding: 10px 12px; }
body.mk .site-main .entry-content th { background: var(--ink); color: #fff; }
body.mk.page .mk-page .entry-content, body.mk .mk-page .site-main { padding: 0; }

/* ---------- Pied de page encre ---------- */

.mk-footer { position: relative; margin-top: 0; background: var(--ink); color: var(--on-ink-mute); }
.mk-footer__grid { max-width: var(--wrap); margin: 0 auto; padding: 60px 24px 40px; display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
body.mk .mk-footer .mk-brand, body.mk .mk-footer .mk-brand__word { color: #fff; }
.mk-footer__brand p { margin: 18px 0 0; max-width: 430px; font-size: 15px; line-height: 1.7; color: var(--on-ink-mute); }
body.mk .mk-footer__brand p.mk-footer__adult { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--on-ink); }
.mk-footer__adult span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--kers); color: #fff; font: 800 12px/1 var(--display); flex-shrink: 0; }
body.mk .mk-footer h4.mk-footer__title { margin: 4px 0 16px; font: 700 15px/1.2 var(--display); letter-spacing: .01em; color: #fff; }
.mk-footer__list { list-style: none; margin: 0; padding: 0; }
.mk-footer__list li { margin: 0 0 9px; }
body.mk .mk-footer__list a { color: var(--on-ink-mute); text-decoration: none; font-size: 15px; }
body.mk .mk-footer__list a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--kers); }
.mk-footer__list--depts { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); }
.mk-footer__bar { padding: 22px 24px 28px; text-align: center; font-size: 14px; color: #9A929F; border-top: 1px solid rgba(255, 255, 255, .08); }

/* bannière cookies Complianz aux couleurs du site */
body.mk .cmplz-cookiebanner { background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 22px !important; box-shadow: 0 30px 60px -24px rgba(23, 21, 26, .55) !important; }
body.mk .cmplz-cookiebanner .cmplz-title, body.mk .cmplz-cookiebanner .cmplz-message, body.mk .cmplz-cookiebanner .cmplz-description, body.mk .cmplz-cookiebanner a, body.mk .cmplz-cookiebanner .cmplz-categories * { color: var(--text) !important; }
body.mk .cmplz-cookiebanner .cmplz-btn { border-radius: 999px !important; font-family: var(--sans) !important; font-weight: 700 !important; }
body.mk .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--kers) !important; border-color: var(--kers) !important; color: #fff !important; }
body.mk .cmplz-cookiebanner .cmplz-btn.cmplz-deny, body.mk .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, body.mk .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: var(--paper) !important; border: 1.5px solid var(--line-2) !important; color: var(--ink) !important; }

/* ---------- Apparitions ---------- */

.mk-js .mk-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1); }
.mk-js .mk-reveal.is-in { opacity: 1; transform: none; }
.mk-js .mk-reveal.is-in:hover { transition-delay: 0s !important; } /* le délai d'apparition (style en ligne) ne doit pas retarder le survol */

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1080px) {
  body.mk .mk-nav__list > li > a, body.mk .mk-sub-toggle { padding: 0 10px; font-size: 14.5px; }
  body.mk .mk-nav__list > li > a.mk-nav__cta { margin-left: 6px; padding: 0 16px; }
  .mk-header__in { gap: 16px; }
  .mk-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 919px) {
  .mk-header__in { height: 62px; padding: 0 14px 0 16px; }
  .mk-burger { display: block; }
  .mk-nav {
    position: absolute; left: 10px; right: 10px; top: calc(100% + 6px); z-index: 30; max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); margin: 0; padding: 8px 18px 20px; overflow-y: auto;
    background: var(--paper); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 30px 60px -20px rgba(23, 21, 26, .55);
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s ease, transform .3s ease, visibility .3s;
  }
  .mk-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .mk-nav__list { flex-direction: column; align-items: stretch; gap: 0; white-space: normal; }
  .mk-nav__list > li { border-bottom: 1px solid var(--line); }
  .mk-nav__list > li:last-child { border-bottom: 0; }
  body.mk .mk-nav__list > li > a, body.mk .mk-sub-toggle { width: 100%; height: 54px; padding: 0 4px; font-size: 17px; justify-content: space-between; border-radius: 0; background: none; color: var(--ink); }
  body.mk .mk-nav__list > li > a:hover, body.mk .mk-sub-toggle:hover, body.mk .mk-sub-toggle:focus, body.mk .mk-has-sub.is-open .mk-sub-toggle, body.mk .mk-nav__list > li > a[aria-current] { background: none; color: var(--kers-d); }
  body.mk .mk-nav__list > li > a.mk-nav__cta { margin: 16px 0 0; justify-content: center; border-radius: 999px; color: #fff; }
  .mk-has-sub::after { display: none; }
  .mk-sub { position: static; min-width: 0; max-height: none; opacity: 1; visibility: visible; transform: none; display: none; margin: 0 0 12px; box-shadow: none; background: var(--kalk); }
  .mk-sub a b { background: var(--paper); }
  .mk-has-sub:hover .mk-sub { display: none; }
  .mk-has-sub.is-open .mk-sub { display: block; }
  .mk-has-sub.is-open .mk-sub-toggle::after { transform: rotate(-135deg) translateY(-2px); }

  /* hero en une colonne : texte puis photo */
  #pc-annuaire-root .arc-hero { min-height: 0; margin-top: 8px; padding: 8px 0 0; }
  #pc-annuaire-root .arc-hero > * { max-width: none; }
  #pc-annuaire-root .arc-hero::after { position: relative; top: auto; right: auto; bottom: auto; order: 10; flex-shrink: 0; width: 100%; height: clamp(190px, 46vw, 320px); margin-top: 26px; }
  #pc-annuaire-root .arc-hero::before { top: auto; left: 0; right: 0; bottom: 0; width: auto; height: clamp(190px, 46vw, 320px); }

  #pc-annuaire-root .arc-internal-links { grid-template-columns: minmax(0, 1fr); }
  #pc-annuaire-root .arc-internal-links__list { max-height: 240px; }
  .mk-flash { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-about-intro, .mk-contact { grid-template-columns: minmax(0, 1fr); }
  .mk-cta { grid-template-columns: minmax(0, 1fr); }
  .mk-cta__btns { grid-column: 1; grid-row: auto; justify-content: flex-start; margin-top: 22px; }
  .mk-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .mk-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  body.mk { font-size: 16px; }
  .mk-header__in { gap: 10px; }
  .mk-brand { gap: 8px; }
  .mk-brand__word { font-size: 21px; }
  .mk-brand__tag { font-size: 11px; }
  .mk-brand__pill { width: 30px; height: 30px; font-size: 16px; border-radius: 8px; }
  .mk-pick__in { padding: 10px 16px 12px; gap: 8px; }
  .mk-pick__label { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  body.mk .mk-pick__sel { flex: 1 1 calc(50% - 4px); height: 40px; padding: 0 32px 0 14px; font-size: 14px; background-position: right 12px center; }
  body.mk .mk-pick__btn { flex: 1 1 100%; height: 42px; }
  #pc-annuaire-root .arc-container, .mk-wrap { padding: 0 16px; }
  body.mk.page .site-main, body.mk.error404 .site-main { padding: 24px 16px; }
  body.mk .site-main .inside-article { padding: 24px 18px; border-radius: 18px; }
  #pc-annuaire-root .arc-breadcrumbs { padding-top: 18px; }
  body.mk-has-hero #pc-annuaire-root .arc-hero::after { background: url('../img/stad-nacht-800.webp') center 45% / cover no-repeat, var(--ink); }
  #pc-annuaire-root .arc-hero::after, #pc-annuaire-root .arc-hero::before { border-radius: 18px; }
  #pc-annuaire-root .arc-hero__title .mk-h1b { margin-top: 10px; }
  #pc-annuaire-root .arc-hero__subtitle { font-size: 16.5px; }
  #pc-annuaire-root .arc-hero p.arc-adult-notice { border-radius: 20px; font-size: 12.5px; }
  .mk-hero-ctas .arc-btn, .mk-hero-ctas .mk-btn { flex: 1 1 100%; }
  .mk-stats { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .mk-stat { display: flex; align-items: baseline; gap: 12px; padding: 16px 20px; }
  .mk-stat span { margin-top: 0; }
  #pc-annuaire-root .arc-trust-badges { gap: 8px; }
  #pc-annuaire-root .arc-trust-badge { padding: 8px 14px; }
  #pc-annuaire-root .arc-trust-badge__text { font-size: 13.5px; }
  #pc-annuaire-root .arc-grid--cities, #pc-annuaire-root .arc-grid--depts, #pc-annuaire-root .arc-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #pc-annuaire-root .arc-grid--lieux { grid-template-columns: minmax(0, 1fr); }
  #pc-annuaire-root .arc-card { min-height: 106px; padding: 16px 14px 14px; border-radius: 16px; }
  #pc-annuaire-root .arc-card .arc-card__name { font-size: 17px; }
  #pc-annuaire-root .arc-card--city::after { right: 14px; top: 21px; }
  #pc-annuaire-root .arc-card--city .arc-card__name { padding-right: 14px; font-size: 16px; -webkit-hyphens: auto; hyphens: auto; }
  #pc-annuaire-root .arc-card--dept { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; min-height: 0; padding: 13px 14px; border-radius: 14px; }
  #pc-annuaire-root .arc-card--dept .arc-card__name { font-size: 16px; }
  #pc-annuaire-root .arc-card--dept .arc-card__count { align-self: flex-start; font-size: 12.5px; }
  body.mk-ville #pc-annuaire-root .arc-grid--cities { gap: 8px; }
  body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card { min-height: 0; padding: 7px 8px 7px 14px; border-radius: 999px; }
  body.mk-ville #pc-annuaire-root .arc-grid--cities .arc-card .arc-card__name { font-size: 14.5px; }
  #pc-annuaire-root .arc-card--lieu { min-height: 0; padding: 20px 18px 18px; border-radius: 18px; }
  #pc-annuaire-root .arc-card--lieu::after { right: 18px; top: 20px; }
  #pc-annuaire-root .arc-seo-content { padding: 30px 18px; border-radius: 18px; }
  #pc-annuaire-root .arc-seo-content::before { left: 18px; }
  #pc-annuaire-root .arc-seo-content table { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  #pc-annuaire-root .arc-seo-content th, #pc-annuaire-root .arc-seo-content td { white-space: normal; min-width: 140px; }
  .mk-card { height: 184px; }
  .mk-card__front b { font-size: 16.5px; }
  .mk-card__back { font-size: 13.5px; padding: 14px 12px; }
  .mk-faq summary { padding: 16px 58px 16px 16px; font-size: 16px; }
  .mk-faq summary::after { right: 14px; }
  #pc-annuaire-root .mk-faq details p, .mk-faq details p { padding: 0 16px 18px; }
  .mk-steps, .mk-manifesto { grid-template-columns: minmax(0, 1fr); }
  .mk-cta { border-radius: 18px; }
  .mk-cta__btns .mk-btn { flex: 1 1 100%; }
  .mk-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 44px 16px 32px; }
  .mk-footer__bar { padding: 20px 16px 26px; }
}

/* ---------- Signature et encadré de la rédactrice (inc/redactie.php) ---------- */

.mk-byline { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; }
.mk-byline__photo { flex-shrink: 0; display: block; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, #C9A88F, #7E5B4A); box-shadow: 0 0 0 2px var(--kalk), 0 0 0 3.5px var(--kers); }
.mk-byline__img { display: block; width: 44px; height: 44px; object-fit: cover; }
body.mk p.mk-byline__text { margin: 0; font: 400 14.5px/1.45 var(--sans); color: var(--mute); }
body.mk .mk-byline__text a { font-weight: 700; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-2); }
body.mk .mk-byline__text a:hover { color: var(--kers-d); border-color: currentColor; }
.mk-byline__date { white-space: nowrap; color: var(--mute); }
.mk-author { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-items: start; max-width: 940px; margin: 0 auto clamp(52px, 7vw, 84px); padding: clamp(24px, 3.5vw, 36px); background: var(--paper); border: 1px solid var(--line); border-radius: 22px; }
.mk-author__photo { display: block; width: 112px; height: 112px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, #C9A88F, #7E5B4A); box-shadow: 0 0 0 4px var(--paper), 0 0 0 6px var(--kers); }
.mk-author__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mk-author--long .mk-author__photo { width: 160px; height: 160px; }
body.mk .mk-author p { margin: 0; }
body.mk .mk-author p.mk-author__kicker { margin-bottom: 4px; font: 700 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--kers-d); }
body.mk .mk-author p.mk-author__name { font: 700 24px/1.2 var(--display); letter-spacing: -.01em; }
body.mk .mk-author__name a { color: var(--ink); text-decoration: none; }
body.mk .mk-author__name a:hover { color: var(--kers-d); }
body.mk .mk-author p.mk-author__role { margin: 2px 0 12px; font: 600 14px/1.4 var(--sans); color: var(--mute); }
body.mk .mk-author p.mk-author__bio { font: 400 16px/1.65 var(--sans); color: var(--text-2); }
body.mk .mk-author p.mk-author__meta { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line-2); font: 400 13.5px/1.6 var(--sans); color: var(--mute); }
body.mk .mk-author__meta a { color: var(--kers-d); font-weight: 700; }
.mk-page .mk-author { margin-top: clamp(40px, 6vw, 72px); }
@media (max-width: 640px) {
  .mk-byline { align-items: flex-start; }
  .mk-author { grid-template-columns: minmax(0, 1fr); gap: 16px; border-radius: 18px; }
  .mk-author__photo, .mk-author--long .mk-author__photo { width: 88px; height: 88px; }
  body.mk .mk-author p.mk-author__name { font-size: 21px; }
}

/* ---------- Mouvement réduit ---------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mk-js .mk-reveal { opacity: 1; transform: none; transition: none; }
  body.mk *, body.mk *::before, body.mk *::after { transition-duration: .01ms !important; transition-delay: 0s !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  #pc-annuaire-root a.arc-card:hover, #pc-annuaire-root .arc-card--lieu:hover, body.mk-ville #pc-annuaire-root .arc-grid--cities a.arc-card:hover,
  body.mk #pc-annuaire-root .arc-btn:hover, body.mk #pc-annuaire-root .mk-btn:hover, body.mk .mk-btn:hover, body.mk .mk-pick__btn:hover,
  .mk-form .wpcf7 input[type="submit"]:hover, .mk-brand:hover .mk-brand__pill { transform: none; }
}
