/* ════════════════════════════════════════════════════════════
   Julianadorp — thema "Vandaag in het dorp"
   1-op-1 naar het bindende ontwerp Home.dc.html (designmap docs/bedrijven/design/
   is op 21-07-2026 opgeruimd; opvraagbaar via de git-historie)
   (header/rails/footer herhalen letterlijk in de bedrijven-mockups).

   Volledig gescoped op body.site-theme-julianadorp zodat andere lokale
   portals (default/franeker/kolhorn/hogerheide/wieringerwerf) ongemoeid
   blijven. De schil-markup komt uit themes/julianadorp/ (header.php,
   footer.php, partials/rails.php, home.php, module_shell.php).

   Kleuren: de gedeelde --portal-*-tokens (portal-tokens.css, letterlijk
   uit de handoff) + de --jd-*-laag hieronder. Eenmalige mockup-waarden
   staan als rgb() met de mockup-hex in commentaar (bestaande conventie).
   ════════════════════════════════════════════════════════════ */

/* Self-hosted fonts (CSP: font-src 'self'; geen externe CDN). */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/themes/julianadorp/fonts/newsreader-latin.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 700;font-display:swap;src:url("/assets/themes/julianadorp/fonts/newsreader-italic-latin.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/themes/julianadorp/fonts/instrument-sans-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/themes/julianadorp/fonts/ibm-plex-mono-latin.woff2") format("woff2")}

/* ── Palette: --local-* stuurt de gedeelde basis; --jd-* stuurt de schil ──
   Waarden uit de mockup Home.dc.html ("Anno 1909 dorpskrant"):
   warm crème + terracotta + goud, diep navy. */
body.site-body.site-theme-julianadorp{
    /* Gedeelde local-portal-tokens op het mockup-palet */
    --local-bg:#f3f0e7;
    --local-panel:#fffefb;
    --local-panel-strong:#fffefb;
    --local-panel-muted:#f4f1e8;
    --local-text:#23252a;
    --local-muted:#55565b;
    --local-line:#e9e3d5;
    --local-brand:#17243f;
    --local-brand-dark:#0f1a30;
    --local-accent:#c0472e;
    --local-warm:#e0a63f;
    --local-shadow:0 14px 34px rgba(60,45,25,.08);
    --local-header:#fffefb;
    --local-header-text:#17243f;
    --local-page-bg:#f3f0e7;
    --local-hero-bg:#fffefb;
    --local-footer-highlight:#3a6ea5;

    /* Mockup-laag: veldkleuren (bollenlint/wayfinding) + tinten + fonts */
    --jd-bg:#f3f0e7;--jd-wit:#fffefb;--jd-inkt:#23252a;--jd-navy:#17243f;
    --jd-staal-d:#0f1a30;--jd-tekst:#55565b;--jd-grijs:#8a8578;--jd-grijs-vaag:#a29c8d;
    --jd-kicker:#9a9385;         /* mockup: kickers, headersubtitel, zoekicoon */
    --jd-inkt-zacht:#2c2d31;     /* mockup: raillinks, chips-knoppen */
    --jd-nav-rust:#5c5d62;       /* mockup: inactieve headernav */
    --jd-lijn:#e9e3d5;--jd-lijn-zacht:#f0ece1;--jd-veldrand:#e8e2d3;
    --jd-chip:#f5f1e7;--jd-tulp-zacht:#f7ece7;
    --jd-zand:#f5f0e5;--jd-zand-rand:#ece5d5;--jd-goudlijn:#c0a06a;
    --jd-tulp:#c0472e;--jd-narcis:#e0a63f;--jd-hyacint:#8a5a9c;--jd-zee:#3a6ea5;--jd-helm:#7f8a3e;
    --jd-open:#2f7a4c;--jd-open-bg:#e7f1e6;--jd-dicht:#b5432f;--jd-dicht-bg:#f6e8e2;
    --jd-display:"Newsreader",Georgia,"Times New Roman",serif;
    --jd-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
    --jd-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",monospace;

    background:var(--jd-bg);
    font-family:var(--jd-body);
    color:var(--jd-inkt);
}
body.site-theme-julianadorp ::selection{background:rgba(224,166,63,.33)} /* mockup #e0a63f55 */

/* ── HEADER (mockup: surface-balk + regenboogbalk 3/1.1/1.1/1.1/1.4) ── */
body.site-theme-julianadorp .jd-header{background:var(--jd-wit);position:relative;z-index:1030}
body.site-theme-julianadorp .jd-header-bar{display:flex;align-items:center;gap:24px;padding:18px 48px}
body.site-theme-julianadorp .jd-brand{flex:0 0 auto;display:block;text-decoration:none}
body.site-theme-julianadorp .jd-brand-naam{display:block;font:700 27px/1 var(--jd-display);letter-spacing:-.01em;color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-brand-sub{display:block;font:600 10px/1 var(--jd-body);letter-spacing:.16em;text-transform:uppercase;color:var(--jd-kicker);margin-top:5px}
body.site-theme-julianadorp .jd-header-nav{flex:1 1 auto;justify-content:center;gap:30px;min-width:0;flex-wrap:wrap}
body.site-theme-julianadorp .jd-header-nav a{font:600 15px/1 var(--jd-body);color:var(--jd-nav-rust);text-decoration:none}
body.site-theme-julianadorp .jd-header-nav a:hover{color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-header-nav a.is-actief{color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-header-tools{flex:0 0 auto;display:flex;align-items:center;gap:12px;margin-left:auto}
body.site-theme-julianadorp .jd-search{align-items:center;gap:9px;background:var(--local-panel-muted);border:1px solid var(--jd-veldrand);border-radius:999px;padding:10px 16px;width:270px}
body.site-theme-julianadorp .jd-search-icoon{font-size:15px;line-height:1;color:var(--jd-kicker)}
body.site-theme-julianadorp .jd-search input{border:0;background:transparent;outline:none;width:100%;padding:0;font:400 14px/1 var(--jd-body);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-beheer-pill{align-items:center;gap:9px;background:var(--jd-wit);border:1px solid var(--jd-veldrand);border-radius:999px;padding:5px 15px 5px 5px;text-decoration:none;transition:border-color .15s ease}
body.site-theme-julianadorp .jd-beheer-pill:hover{border-color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-beheer-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--jd-helm),var(--jd-tulp));flex:0 0 auto;overflow:hidden}
body.site-theme-julianadorp .jd-beheer-avatar.heeft-foto img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
body.site-theme-julianadorp .jd-beheer-label{font:600 14px/1 var(--jd-body);color:var(--jd-inkt);white-space:nowrap}
body.site-theme-julianadorp .jd-lint{display:flex;height:4px}
body.site-theme-julianadorp .jd-lint i{display:block}
body.site-theme-julianadorp .jd-lint i:nth-child(1){flex:3;background:var(--portal-stripe-1,#c0472e)}
body.site-theme-julianadorp .jd-lint i:nth-child(2){flex:1.1;background:var(--portal-stripe-2,#e0a63f)}
body.site-theme-julianadorp .jd-lint i:nth-child(3){flex:1.1;background:var(--portal-stripe-3,#8a5a9c)}
body.site-theme-julianadorp .jd-lint i:nth-child(4){flex:1.1;background:var(--portal-stripe-4,#7f8a3e)}
body.site-theme-julianadorp .jd-lint i:nth-child(5){flex:1.4;background:var(--portal-stripe-5,#3a6ea5)}
body.site-theme-julianadorp .portal-header-menu-btn{color:var(--jd-navy)}

/* ── Niet-home pagina's (contact/auth/generiek): koppen in Newsreader ── */
body.site-theme-julianadorp .portal-content-card-v147 h1,
body.site-theme-julianadorp .portal-content-card-v147 h2,
body.site-theme-julianadorp .portal-panel-v147 h1,
body.site-theme-julianadorp .portal-panel-v147 h2,
body.site-theme-julianadorp .portal-contact-v1473 h1,
body.site-theme-julianadorp .portal-contact-v1473 h2,
body.site-theme-julianadorp .portal-auth-v148 h1{font-family:var(--jd-display)}

/* ── BODYGRID (mockup: 288 · minmax(0,1fr) · 320, gap 28, 30/48/60) ── */
body.site-theme-julianadorp .jd-home{background:var(--jd-bg);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-home a{text-decoration:none}
body.site-theme-julianadorp .jd-body{display:grid;grid-template-columns:288px minmax(0,1fr) 320px;gap:28px;align-items:start;padding:30px 48px 60px}
body.site-theme-julianadorp .jd-body-detail{padding-top:24px}
body.site-theme-julianadorp .jd-body-alleen-rechts{grid-template-columns:minmax(0,1fr) 320px}
body.site-theme-julianadorp .jd-body-alleen-links{grid-template-columns:288px minmax(0,1fr)}
body.site-theme-julianadorp .jd-body-kaal{grid-template-columns:minmax(0,1fr)}
body.site-theme-julianadorp .jd-rail{display:flex;flex-direction:column;gap:20px;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
body.site-theme-julianadorp .jd-rail::-webkit-scrollbar{width:0;height:0;display:none}
body.site-theme-julianadorp .jd-center{display:flex;flex-direction:column;gap:40px;min-width:0}
body.site-theme-julianadorp .jd-vol{padding-left:clamp(1rem,3vw,3rem);padding-right:clamp(1rem,3vw,3rem)}

/* ── Railkaarten (mockup: surface, rand, radius 16, padding 20) ── */
body.site-theme-julianadorp .jd-railkaart{background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:16px;padding:20px}
body.site-theme-julianadorp .jd-rail-kicker{font:700 11px/1 var(--jd-body);letter-spacing:.13em;text-transform:uppercase;color:var(--jd-kicker);margin:0 0 12px;padding:0}
body.site-theme-julianadorp .jd-ontdek .jd-rail-kicker{margin-bottom:8px}
body.site-theme-julianadorp .jd-agenda .jd-rail-kicker,
body.site-theme-julianadorp .jd-p2000-blok .jd-rail-kicker{margin-bottom:14px}

/* Snelmenu (linkerrail): 600 15px, dots 9px, actief terracotta op zacht terracotta */
body.site-theme-julianadorp .jd-snelmenu{display:flex;flex-direction:column}
body.site-theme-julianadorp .jd-snelmenu a{display:flex;align-items:center;gap:11px;font:600 15px/1 var(--jd-body);color:var(--jd-inkt-zacht);padding:10px 6px;border-radius:8px;transition:background .15s ease}
body.site-theme-julianadorp .jd-snelmenu a:hover{background:var(--jd-chip);color:var(--jd-inkt-zacht)}
body.site-theme-julianadorp .jd-snelmenu a.is-actief,
body.site-theme-julianadorp .jd-snelmenu a.is-actief:hover{color:var(--jd-tulp);background:var(--jd-tulp-zacht)}
body.site-theme-julianadorp .jd-velddot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
body.site-theme-julianadorp .jd-snelmenu-label{flex:1 1 auto;min-width:0}
body.site-theme-julianadorp .jd-teller{margin-left:auto;background:var(--jd-chip);color:var(--jd-navy);font:700 11px/1 var(--jd-body);border-radius:999px;padding:3px 8px}

/* Ontdek lokaal (rechterrail): rijen met goudkleurige pijl */
body.site-theme-julianadorp .jd-ontdek nav{display:flex;flex-direction:column}
body.site-theme-julianadorp .jd-ontdek nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 4px;border-bottom:1px solid var(--jd-lijn-zacht);font:600 15px/1 var(--jd-body);color:var(--jd-inkt-zacht)}
body.site-theme-julianadorp .jd-ontdek nav a:last-child{border-bottom:0}
body.site-theme-julianadorp .jd-ontdek nav a:hover{color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-pijl{color:var(--jd-goudlijn)}

/* Agenda (rechterrail): 48px datumtegel, Newsreader-titels */
body.site-theme-julianadorp .jd-agenda-lijst{display:flex;flex-direction:column;gap:14px}
body.site-theme-julianadorp .jd-agenda-item{display:flex;align-items:center;gap:13px;color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-ag-datum{flex:0 0 auto;width:48px;text-align:center;background:var(--jd-zand);border:1px solid var(--jd-zand-rand);border-radius:10px;padding:7px 0}
body.site-theme-julianadorp .jd-ag-datum b{display:block;font:600 18px/1 var(--jd-display);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-ag-datum small{display:block;font:600 9px/1 var(--jd-body);letter-spacing:.1em;color:var(--jd-grijs-vaag);margin-top:3px}
body.site-theme-julianadorp .jd-ag-titel{display:block;font:600 15px/1.2 var(--jd-display);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-ag-meta{display:block;font:400 12.5px/1 var(--jd-body);color:var(--jd-grijs);margin-top:4px}
body.site-theme-julianadorp .jd-rail-meer{display:block;text-align:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--jd-lijn-zacht);font:600 13px/1 var(--jd-body);color:var(--jd-tulp)}

/* 112 in de buurt (rechterrail) */
body.site-theme-julianadorp .jd-p2000-lijst{display:flex;flex-direction:column;gap:14px}
body.site-theme-julianadorp .jd-p2000-item{display:flex;gap:11px;align-items:flex-start;color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-p2000-tijd{flex:0 0 auto;font:500 12px/1.5 var(--jd-body);color:var(--jd-grijs-vaag)}
body.site-theme-julianadorp .jd-p2000-dienst{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 auto}
body.site-theme-julianadorp .jd-p2000-item b{display:block;font:600 13.5px/1.2 var(--jd-body);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-p2000-item small{display:block;font:400 12px/1 var(--jd-body);color:var(--jd-grijs);margin-top:3px}
body.site-theme-julianadorp .jd-p2000-voet{margin-top:14px;padding-top:12px;border-top:1px solid var(--jd-lijn-zacht);font:400 11.5px/1.4 var(--jd-body);color:var(--jd-grijs-vaag)}
body.site-theme-julianadorp .jd-p2000-voet a{color:var(--jd-tulp)}

/* ── HOME: hero (datum-kicker, kop 46px met accent, chips, knoppen, 1909-stempel) ── */
body.site-theme-julianadorp .jd-dagstart{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}
body.site-theme-julianadorp .jd-dagstart-copy{flex:1 1 0;min-width:min(100%,240px)}
body.site-theme-julianadorp .jd-dag-datum{font:700 12px/1 var(--jd-body);letter-spacing:.15em;text-transform:uppercase;color:var(--jd-tulp);margin:0 0 14px}
body.site-theme-julianadorp .jd-dagstart h1{margin:0 0 16px;font:500 clamp(30px,3.2vw,46px)/1.05 var(--jd-display);letter-spacing:-.015em;color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-dagstart h1 em{font-style:italic;font-weight:500;color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-lead{margin:0 0 20px;font:400 17px/1.55 var(--jd-body);color:var(--jd-tekst);max-width:560px;text-wrap:pretty}
body.site-theme-julianadorp .jd-dag-feiten{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 22px}
body.site-theme-julianadorp .jd-dag-feit{display:inline-flex;align-items:center;gap:8px;background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:999px;padding:9px 14px;font:500 13px/1 var(--jd-body);color:rgb(63 64 69)} /* mockup #3f4045 — eenmalig */
body.site-theme-julianadorp .jd-bol{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
body.site-theme-julianadorp .jd-hero-acties{display:flex;gap:12px;flex-wrap:wrap}
body.site-theme-julianadorp .jd-btn{font:600 15px/1 var(--jd-body);padding:14px 22px;border-radius:11px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,border-color .15s ease}
body.site-theme-julianadorp .jd-btn-primary{background:var(--jd-navy);color:var(--jd-wit)}
body.site-theme-julianadorp .jd-btn-primary:hover{background:var(--jd-staal-d);color:var(--jd-wit)}
body.site-theme-julianadorp .jd-btn-outline{border:1px solid var(--portal-border-strong,#d8d0be);background:transparent;color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-btn-outline:hover{border-color:var(--jd-tulp);color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-stempel{flex:0 0 auto;width:150px;height:150px;border:2px solid var(--jd-tulp);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--jd-tulp);position:relative;margin-inline:auto}
body.site-theme-julianadorp .jd-stempel::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(192,71,46,.4)}
body.site-theme-julianadorp .jd-stempel b{font:600 40px/1 var(--jd-display);color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-stempel small,
body.site-theme-julianadorp .jd-stempel-boog{font:600 8px/1.4 var(--jd-body);letter-spacing:.18em;text-transform:uppercase}

/* ── Sectiekoppen (Newsreader 27px + sub + terracotta meer-link) ── */
body.site-theme-julianadorp .jd-sectie{margin:0}
body.site-theme-julianadorp .jd-sectiekop{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
body.site-theme-julianadorp .jd-sectie-open .jd-sectiekop{margin-bottom:18px}
body.site-theme-julianadorp .jd-sectiekop h2{margin:0 0 4px;font:500 27px/1.1 var(--jd-display);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-sub{display:block;font:400 14px/1 var(--jd-body);color:var(--jd-grijs)}
body.site-theme-julianadorp .jd-sectiekop > a{font:600 14px/1 var(--jd-body);color:var(--jd-tulp);white-space:nowrap}

/* ── Nu open in het dorp: 2×2 bedrijfs-tegels ── */
body.site-theme-julianadorp .jd-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.site-theme-julianadorp .jd-gidskaart{position:relative;display:block;background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:14px;padding:20px;color:var(--jd-inkt);transition:transform .15s ease,box-shadow .15s ease}
body.site-theme-julianadorp .jd-gidskaart:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-card-hover,0 14px 30px rgba(20,34,74,.12));color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-gk-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
body.site-theme-julianadorp .jd-gidskaart h4{margin:0;font:600 19px/1.2 var(--jd-display);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-status{flex:0 0 auto;font:600 12px/1 var(--jd-body);padding:5px 10px;border-radius:999px;white-space:nowrap}
body.site-theme-julianadorp .jd-status.is-open{background:var(--jd-open-bg);color:var(--jd-open)}
body.site-theme-julianadorp .jd-status.is-dicht{background:var(--jd-dicht-bg);color:var(--jd-dicht)}
body.site-theme-julianadorp .jd-soort{font:400 13px/1 var(--jd-body);color:var(--jd-grijs);margin-top:6px}
body.site-theme-julianadorp .jd-gidskaart .jd-tijd{font:400 13px/1.4 var(--jd-body);color:var(--jd-tekst);margin-top:12px}
body.site-theme-julianadorp .jd-gidskaart.is-uitgelicht{border:1.5px solid var(--jd-narcis)}
body.site-theme-julianadorp .jd-uitgelicht-badge{position:absolute;top:-11px;left:16px;font:700 10px/1 var(--jd-body);letter-spacing:.08em;text-transform:uppercase;color:var(--jd-wit);background:var(--jd-narcis);padding:5px 10px;border-radius:6px}

/* ── Kort nieuws: rijenkaart met categorie-kicker ── */
body.site-theme-julianadorp .jd-nieuwslijst{background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:14px;padding:6px 20px}
body.site-theme-julianadorp .jd-nieuwsregel{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--jd-lijn-zacht);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-nieuwsregel:last-child{border-bottom:0}
body.site-theme-julianadorp .jd-nieuwsregel:hover h5{text-decoration:underline}
body.site-theme-julianadorp .jd-nieuwsregel .jd-tag{flex:0 0 96px;font:700 10.5px/1 var(--jd-body);letter-spacing:.08em;text-transform:uppercase}
body.site-theme-julianadorp .jd-nieuwsregel h5{flex:1 1 auto;min-width:0;margin:0;font:500 16px/1.3 var(--jd-display);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-nieuwsregel small{flex:0 0 auto;font:400 13px/1 var(--jd-body);color:var(--jd-grijs-vaag)}

/* ── Het prikbord (kurk met briefjes en punaises) ── */
body.site-theme-julianadorp .jd-prikbord{position:relative;background:rgb(201 160 106);background-image:repeating-linear-gradient(45deg,rgba(120,80,40,.15) 0 2px,transparent 2px 8px);border:12px solid rgb(111 75 44);border-radius:22px;padding:24px 26px 28px;box-shadow:inset 0 2px 10px rgba(60,35,15,.25)} /* mockup #c9a06a / #6f4b2c — eenmalig */
body.site-theme-julianadorp .jd-prik-kop{margin-bottom:24px}
body.site-theme-julianadorp .jd-prik-titel{display:inline-block;white-space:nowrap;background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:9px;padding:12px 18px;font:600 15px/1 var(--jd-display);color:var(--jd-navy);box-shadow:0 4px 10px rgba(60,35,15,.22)}
body.site-theme-julianadorp .jd-prik-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
body.site-theme-julianadorp .jd-briefje{position:relative;display:block;background:rgb(253 252 247);border-radius:8px;padding:26px 20px 18px;box-shadow:0 8px 16px rgba(60,35,15,.28);color:var(--jd-inkt)} /* mockup #fdfcf7 — eenmalig */
body.site-theme-julianadorp .jd-briefje:hover{color:var(--jd-inkt);box-shadow:0 10px 20px rgba(60,35,15,.34)}
body.site-theme-julianadorp .jd-briefje::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgb(238 115 101),rgb(176 40 28));box-shadow:0 2px 4px rgba(0,0,0,.35)} /* mockup #ee7365/#b0281c — eenmalig */
body.site-theme-julianadorp .jd-briefje.is-geel{background:rgb(253 243 211)} /* mockup #fdf3d3 — eenmalig */
body.site-theme-julianadorp .jd-briefje.is-blauw{background:rgb(221 234 245)} /* mockup #ddeaf5 — eenmalig */
body.site-theme-julianadorp .jd-briefje h5{margin:0 0 8px;font:700 16.5px/1.3 var(--jd-body);color:var(--jd-navy)}
body.site-theme-julianadorp .jd-briefje p{margin:0 0 12px;font:400 14.5px/1.55 var(--jd-body);color:var(--jd-tekst)}
body.site-theme-julianadorp .jd-briefje small{font:700 14px/1 var(--jd-body);color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-b-rot1{transform:rotate(-.8deg)}
body.site-theme-julianadorp .jd-b-rot2{transform:rotate(.6deg)}
body.site-theme-julianadorp .jd-b-rot3{transform:rotate(-.5deg)}
body.site-theme-julianadorp .jd-b-rot4{transform:rotate(.7deg)}

/* ── Gemeente & meldingen (1.45fr/1fr, gouden accentrand, ⚠-tegels) ── */
body.site-theme-julianadorp .jd-gem{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;align-items:stretch}
body.site-theme-julianadorp .jd-gemeente{background:var(--jd-wit);border:1px solid var(--jd-lijn);border-left:5px solid var(--jd-narcis);border-radius:14px;padding:26px 30px}
body.site-theme-julianadorp .jd-gemeente h3{margin:0 0 8px;font:500 24px/1.25 var(--jd-display);color:var(--jd-navy)}
body.site-theme-julianadorp .jd-gemeente p{margin:0 0 18px;font:400 15px/1.55 var(--jd-body);color:var(--jd-tekst)}
body.site-theme-julianadorp .jd-gemeente-acties{display:flex;gap:12px;flex-wrap:wrap}
body.site-theme-julianadorp .jd-gemeente-acties a{font:600 14.5px/1 var(--jd-body);color:var(--jd-inkt-zacht);background:rgb(242 239 232);border:1px solid rgb(229 223 210);border-radius:12px;padding:14px 20px;min-height:44px;display:inline-flex;align-items:center;transition:border-color .15s ease,color .15s ease} /* mockup #f2efe8/#e5dfd2 — eenmalig */
body.site-theme-julianadorp .jd-gemeente-acties a:hover{border-color:var(--jd-tulp);color:var(--jd-tulp)}
body.site-theme-julianadorp .jd-meldingen{display:flex;flex-direction:column;gap:16px}
body.site-theme-julianadorp .jd-melding{flex:1;display:flex;gap:14px;align-items:center;background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:14px;padding:18px 20px;color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-melding:hover{border-color:var(--jd-navy);color:var(--jd-inkt)}
body.site-theme-julianadorp .jd-m-icoon{flex:0 0 auto;width:40px;height:40px;border-radius:11px;background:rgb(250 240 216);color:rgb(184 134 46);display:flex;align-items:center;justify-content:center;font-size:17px} /* mockup #faf0d8/#b8862e — eenmalig */
body.site-theme-julianadorp .jd-melding-titel{display:block;font:700 15.5px/1.35 var(--jd-body);color:var(--jd-navy)}
body.site-theme-julianadorp .jd-melding small{display:block;font:400 14px/1.4 var(--jd-body);color:var(--jd-grijs);margin-top:4px}

/* ── Op bezoek (pill-links) ── */
body.site-theme-julianadorp .jd-bezoek{background:var(--jd-wit);border:1px solid var(--jd-lijn);border-radius:14px;padding:24px 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
body.site-theme-julianadorp .jd-bezoek-tekst{flex:1 1 260px;min-width:min(100%,260px)}
body.site-theme-julianadorp .jd-bezoek h3{margin:0 0 6px;font:500 24px/1.25 var(--jd-display);color:var(--jd-navy)}
body.site-theme-julianadorp .jd-bezoek p{margin:0;font:400 15px/1.55 var(--jd-body);color:var(--jd-tekst)}
body.site-theme-julianadorp .jd-bezoek-links{display:flex;gap:10px;flex-wrap:wrap}
body.site-theme-julianadorp .jd-bezoek-links a{font:600 14.5px/1 var(--jd-body);color:var(--jd-inkt);background:var(--jd-wit);border:1px solid rgb(213 207 194);border-radius:999px;padding:14px 24px;min-height:44px;display:inline-flex;align-items:center;transition:border-color .15s ease,color .15s ease} /* mockup #d5cfc2 — eenmalig */
body.site-theme-julianadorp .jd-bezoek-links a:hover{border-color:var(--jd-tulp);color:var(--jd-tulp)}

/* ── Historieband (bestaand onderdeel, zelfde vormtaal — niet in de mockup) ── */
body.site-theme-julianadorp .jd-historieband{background:var(--jd-navy);color:#dfe8ef;position:relative;overflow:hidden}
body.site-theme-julianadorp .jd-historieband::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--jd-tulp) 0 20%,var(--jd-narcis) 20% 40%,var(--jd-hyacint) 40% 60%,var(--jd-helm) 60% 80%,var(--jd-zee) 80% 100%)}
body.site-theme-julianadorp .jd-historie-inner{display:flex;gap:2rem;align-items:center;padding-top:clamp(2rem,3.5vw,3.5rem);padding-bottom:clamp(2rem,3.5vw,3.5rem);flex-wrap:wrap}
body.site-theme-julianadorp .jd-historie-copy{flex:1 1 30rem}
body.site-theme-julianadorp .jd-historie-jaar{flex:0 0 auto;margin-inline:auto}
body.site-theme-julianadorp .jd-smallcaps{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--jd-narcis)}
body.site-theme-julianadorp .jd-historieband h2{font-family:var(--jd-display);color:#fff;font-weight:500;font-size:clamp(1.5rem,2.8vw,2rem);margin:.35rem 0 .6rem}
body.site-theme-julianadorp .jd-historieband p{color:#b9c8d4;max-width:48rem}
body.site-theme-julianadorp .jd-lees{font-weight:700;color:var(--jd-narcis)}
body.site-theme-julianadorp .jd-lees:hover{color:#fff}
body.site-theme-julianadorp .jd-jaartal{text-align:center}
body.site-theme-julianadorp .jd-jaartal b{display:block;font-family:var(--jd-display);font-size:clamp(3rem,6vw,4.4rem);font-weight:700;line-height:1;color:#fff}
body.site-theme-julianadorp .jd-jaartal small{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--jd-narcis)}
body.site-theme-julianadorp .jd-tijdlijn{display:flex;gap:1.6rem;margin-top:1.1rem;flex-wrap:wrap}
body.site-theme-julianadorp .jd-tl-punt{border-left:3px solid rgba(255,255,255,.18);padding-left:.8rem}
body.site-theme-julianadorp .jd-tl-punt b{font-family:var(--jd-display);font-size:1.2rem;display:block;color:#fff}
body.site-theme-julianadorp .jd-tl-punt small{color:#9fb2c0}

/* ── FOOTER (mockup: vlak navy, 1.7/1/1/1, footbar) ── */
body.site-theme-julianadorp .jd-footer{
    --jd-foot-bg:var(--jd-navy);
    --jd-foot-tekst:rgb(201 208 224);      /* mockup #c9d0e0 */
    --jd-foot-link:rgb(185 196 216);       /* mockup #b9c4d8 */
    --jd-foot-link-hover:var(--jd-narcis);
    --jd-foot-zacht:rgb(159 176 207);      /* mockup #9fb0cf */
    --jd-foot-kicker-kleur:rgb(127 146 179);/* mockup #7f92b3 */
    --jd-foot-onder:rgb(142 160 189);      /* mockup #8ea0bd */
    --jd-foot-lijn:rgba(255,255,255,.1);
    background:var(--jd-foot-bg);color:var(--jd-foot-tekst);margin-top:auto;
}
body.site-theme-julianadorp .jd-foot{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;padding:52px 48px 28px}
body.site-theme-julianadorp .jd-foot-cols-3{grid-template-columns:1.7fr 1fr 1fr}
body.site-theme-julianadorp .jd-foot-cols-2{grid-template-columns:1.7fr 1fr}
body.site-theme-julianadorp .jd-foot-cols-1{grid-template-columns:minmax(0,1fr)}
body.site-theme-julianadorp .jd-foot-merk{display:flex;align-items:center;gap:11px;margin-bottom:15px}
body.site-theme-julianadorp .jd-foot-logo{width:36px;height:36px;border-radius:9px;background:var(--jd-narcis);color:var(--jd-navy);display:flex;align-items:center;justify-content:center;font:700 20px/1 var(--jd-display);overflow:hidden;flex:0 0 auto}
body.site-theme-julianadorp .jd-foot-logo img{width:100%;height:100%;object-fit:cover;display:block}
body.site-theme-julianadorp .jd-foot-naam{font:700 20px/1 var(--jd-display);color:var(--jd-wit)}
body.site-theme-julianadorp .jd-foot-tekst{margin:0 0 18px;font:400 13.5px/1.65 var(--jd-body);color:var(--jd-foot-zacht);max-width:340px}
body.site-theme-julianadorp .jd-foot-kicker{font:700 11px/1 var(--jd-body);letter-spacing:.13em;text-transform:uppercase;color:var(--jd-foot-kicker-kleur);margin-bottom:10px}
body.site-theme-julianadorp .jd-foot-kolom .jd-foot-kicker{margin-bottom:8px}
body.site-theme-julianadorp .jd-foot-social{display:flex;gap:9px;margin-bottom:16px}
body.site-theme-julianadorp .jd-foot-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--jd-foot-tekst);display:flex;align-items:center;justify-content:center;font:700 15px/1 var(--jd-display);text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}
body.site-theme-julianadorp .jd-foot-social a:hover{background:var(--jd-tulp);border-color:var(--jd-tulp);color:var(--jd-wit)}
body.site-theme-julianadorp .jd-foot-mail{font:600 14px/1 var(--jd-body);color:var(--jd-narcis);text-decoration:none}
body.site-theme-julianadorp .jd-foot-mail:hover{color:rgb(236 184 87)} /* mockup #ecb857 — eenmalig */
body.site-theme-julianadorp .jd-foot-kolom a,
body.site-theme-julianadorp .jd-foot-kolom span{display:block;font:500 14px/1.1 var(--jd-body);color:var(--jd-foot-link);text-decoration:none;padding:7px 0}
body.site-theme-julianadorp .jd-foot-kolom a:hover{color:var(--jd-foot-link-hover)}
body.site-theme-julianadorp .jd-footbar{border-top:1px solid var(--jd-foot-lijn);padding:18px 48px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
body.site-theme-julianadorp .jd-footbar span{font:400 12.5px/1.5 var(--jd-body);color:var(--jd-foot-onder)}
body.site-theme-julianadorp .jd-footbar a{color:var(--jd-foot-tekst);text-decoration:none}
body.site-theme-julianadorp .jd-footbar a:hover{color:var(--jd-narcis)}
/* Mockup: het hart loopt mee met de footbar-tekst (shared footer.css kleurt het
   rood met !important — daarom hier ook !important); footer_heart_color blijft werken. */
body.site-theme-julianadorp .jd-footbar .footer-heart{color:var(--jd-foot-hart,var(--jd-foot-onder))!important;font-size:1em;font-weight:inherit}

/* ── Zichtbare focus-states (toegankelijkheid) ── */
body.site-theme-julianadorp .jd-header a:focus-visible,
body.site-theme-julianadorp .jd-search input:focus-visible,
body.site-theme-julianadorp .jd-home a:focus-visible,
body.site-theme-julianadorp .jd-btn:focus-visible,
body.site-theme-julianadorp .jd-snelmenu a:focus-visible,
body.site-theme-julianadorp .jd-gidskaart:focus-visible,
body.site-theme-julianadorp .jd-briefje:focus-visible,
body.site-theme-julianadorp .jd-footer a:focus-visible{outline:3px solid var(--jd-zee);outline-offset:2px;border-radius:.35rem}

/* ── Responsive (mockup: ≤1024 één kolom met main eerst; ≤640 compact) ── */
@media(max-width:1024px){
    body.site-theme-julianadorp .jd-header-bar{padding:18px 32px;flex-wrap:wrap}
    body.site-theme-julianadorp .jd-body{grid-template-columns:minmax(0,1fr);padding:24px 32px 48px}
    body.site-theme-julianadorp .jd-body > .jd-center{order:-1}
    body.site-theme-julianadorp .jd-rail{position:static;max-height:none;overflow:visible}
    body.site-theme-julianadorp .jd-gem{grid-template-columns:minmax(0,1fr)}
    body.site-theme-julianadorp .jd-foot{grid-template-columns:1fr 1fr;gap:32px;padding:44px 32px 24px}
}
@media(max-width:991.98px){
    body.site-theme-julianadorp .jd-home{padding-bottom:84px} /* ruimte voor de bottom-tabbar */
}
@media(max-width:640px){
    body.site-theme-julianadorp .jd-header-bar{padding:14px 16px;gap:14px}
    body.site-theme-julianadorp .jd-body{padding:18px 16px 40px;gap:20px}
    body.site-theme-julianadorp .jd-two{grid-template-columns:minmax(0,1fr)}
    body.site-theme-julianadorp .jd-hero-acties .jd-btn{flex:1 1 100%}
    body.site-theme-julianadorp .jd-prikbord{padding:16px}
    body.site-theme-julianadorp .jd-stempel{margin-inline:auto}
    body.site-theme-julianadorp .jd-foot{grid-template-columns:1fr;gap:28px;padding:36px 20px 22px}
    body.site-theme-julianadorp .jd-footbar{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}
}
@media(prefers-reduced-motion:reduce){
    body.site-theme-julianadorp .jd-home *,
    body.site-theme-julianadorp .jd-header *,
    body.site-theme-julianadorp .jd-footer *{transition:none!important}
}
