/* ─────────────────────────────────────────────────────────────────────────────
   Gedeelde footer + juridisch venster van de klantsites (home, bestellen, over-ons).
   Eén opmaak voor elke pagina — voorheen had elke pagina een eigen footer, met
   andere kolommen, icoontjes en teksten. De inhoud komt uit js/site-footer.js.
   Alles hangt onder .dp-site-foot / .dp-legal zodat de pagina-CSS er niet tussen
   kan komen (over-ons heeft bv. een eigen `footer{}`-regel).
   ───────────────────────────────────────────────────────────────────────────── */
footer.dp-site-foot{display:block;background:var(--ink,#0e0a06);border-top:1px solid rgba(255,255,255,.08);padding:44px 20px 26px;color:rgba(255,255,255,.58);font-family:var(--font-body,'DM Sans',system-ui,sans-serif);font-size:13px;line-height:1.55;text-align:left;border-radius:0}
.dp-site-foot *{box-sizing:border-box}
.dp-site-foot .footer-inner{max-width:1440px;margin:0 auto}
.dp-site-foot .footer-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr) minmax(0,1.25fr) minmax(0,1.3fr) minmax(0,1fr);gap:28px;margin-bottom:30px;align-items:start}
.dp-site-foot .footer-brand{font-family:var(--font-head,'Playfair Display',Georgia,serif);font-size:23px;line-height:1.2;color:#fff;margin:0 0 6px}
.dp-site-foot .footer-tagline{font-size:13px;color:rgba(255,255,255,.58)}
.dp-site-foot .footer-company{margin-top:12px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.5)}
.dp-site-foot .footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dp-site-foot .footer-social a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.82);font-size:12px;font-weight:700;text-decoration:none}
.dp-site-foot .footer-social a:hover{border-color:var(--gold2,#e8c06a);color:var(--gold2,#e8c06a)}
.dp-site-foot h5{margin:0 0 10px;color:rgba(255,255,255,.86);font-size:13px;font-weight:800;letter-spacing:.01em}
.dp-site-foot ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin:0;padding:0}
.dp-site-foot li{font-size:13px;margin:0;padding:0}
.dp-site-foot a{color:rgba(255,255,255,.62);text-decoration:none}
.dp-site-foot a:hover,.dp-site-foot a:focus-visible{color:var(--gold2,#e8c06a)}
.dp-site-foot .footer-accent{color:var(--gold2,#e8c06a);font-weight:700}
.dp-site-foot .footer-hours li{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.dp-site-foot .footer-hours li.today{color:var(--gold2,#e8c06a);font-weight:700}
.dp-site-foot .footer-hours li.closed{color:rgba(255,255,255,.42)}
.dp-site-foot .footer-hours li.today.closed{color:var(--gold2,#e8c06a)}
.dp-site-foot .legal-link{border:0;background:none;padding:0;margin:0;color:rgba(255,255,255,.62);font:inherit;font-size:13px;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.25)}
.dp-site-foot .legal-link:hover,.dp-site-foot .legal-link:focus-visible{color:var(--gold2,#e8c06a)}
.dp-site-foot .menu-tools{display:flex;gap:8px;flex-direction:column;align-items:stretch;margin:14px 0 0;padding-top:14px;border-top:1px dashed rgba(255,255,255,.12);max-width:210px}
.dp-site-foot .menu-tools button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 13px;border-radius:10px;font:700 12.5px var(--font-body,'DM Sans',system-ui,sans-serif);cursor:pointer}
.dp-site-foot .menu-tools .ft-gold{border:0;background:linear-gradient(135deg,var(--gold,#c9952a),var(--gold2,#e8c06a));color:var(--ink,#0e0a06)}
.dp-site-foot .menu-tools .ft-ghost{border:1px solid rgba(255,255,255,.18);background:transparent;color:rgba(255,255,255,.86)}
.dp-site-foot .menu-tools .ft-ghost:hover{border-color:var(--gold2,#e8c06a);color:var(--gold2,#e8c06a)}
.dp-site-foot .footer-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;font-size:12px;text-align:center;color:rgba(255,255,255,.46)}
@media(max-width:1099px){
  .dp-site-foot .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px}
  .dp-site-foot .footer-id{grid-column:1/-1}
}
@media(max-width:639px){
  footer.dp-site-foot{padding:32px 16px calc(22px + env(safe-area-inset-bottom))}
  .dp-site-foot .footer-top{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:22px}
  .dp-site-foot .footer-brand{font-size:21px}
  .dp-site-foot .menu-tools{flex-direction:row;max-width:none}
  .dp-site-foot .menu-tools button{flex:1}
  .dp-site-foot .footer-legal ul{flex-direction:row;flex-wrap:wrap;gap:8px 16px}
  .dp-site-foot .footer-hours{max-width:340px}
}

/* ── Juridisch venster (voorwaarden / privacy / cookies / allergenen) ──
   Op de bestelpagina bestaat al een #legalOverlay; home en over-ons krijgen dit. */
.dp-legal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(14,10,6,.62);backdrop-filter:blur(4px)}
.dp-legal.open{display:flex}
.dp-legal-box{position:relative;width:min(720px,100%);max-height:min(86vh,900px);overflow:auto;padding:26px 24px 22px;border-radius:18px;background:#fffdf9;color:var(--ink,#0e0a06);box-shadow:0 30px 80px rgba(0,0,0,.35);font-family:var(--font-body,'DM Sans',system-ui,sans-serif)}
.dp-legal-box h3{margin:0 40px 12px 0;font:800 22px/1.25 var(--font-head,'Playfair Display',Georgia,serif)}
.dp-legal-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid var(--line,#e4d9cc);border-radius:50%;background:#fff;color:var(--ink,#0e0a06);font-size:20px;line-height:1;cursor:pointer}
.legal-document{font-size:13.5px;line-height:1.6;color:var(--ink,#0e0a06)}
.legal-document h4{font:800 17px/1.3 var(--font-head,'Playfair Display',Georgia,serif);margin:17px 0 6px}
.legal-document h4:first-child{margin-top:0}
.legal-document p{margin:6px 0}
.legal-document .legal-version{margin-top:18px;color:var(--muted,#6a5b49);font-size:11px}
