/* ── cookie consent banner ──────────────────────────────────────────
   Deliberately NOT a full-screen blocker: it sits at the bottom so the
   page stays readable and the choice never feels coerced.

   "Decline" and "Accept" are intentionally the same size, weight and
   shape. Making reject visually weaker is the classic way these banners
   get ruled invalid under GDPR, so any future restyle must keep them
   equally prominent.
   ------------------------------------------------------------------ */
.mb-consent{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  display:flex; justify-content:center; padding:14px 14px calc(14px + env(safe-area-inset-bottom));
  pointer-events:none;
  opacity:0; transform:translateY(14px);
  transition:opacity .26s ease, transform .26s ease;
}
.mb-consent.is-shown{ opacity:1; transform:none; }

.mb-consent__box{
  pointer-events:auto;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:center;
  max-width:720px; width:100%;
  padding:14px 18px;
  background:#fffdf8;
  border:1px solid rgba(199,127,18,0.35);
  border-radius:14px;
  box-shadow:0 18px 40px -14px rgba(44,44,42,0.35);
}

.mb-consent__text{
  flex:1 1 320px; margin:0;
  font-family:var(--serif, Georgia, serif);
  font-size:13.5px; line-height:1.5; color:#4a4644;
}
.mb-consent__text a{ color:#c77f12; text-decoration:underline; text-underline-offset:2px; }
.mb-consent__text a:hover{ color:#ef9f27; }

.mb-consent__actions{ display:flex; gap:10px; flex:0 0 auto; }

.mb-consent__btn{
  font-family:var(--sans, system-ui, sans-serif);
  font-size:13px; font-weight:700; letter-spacing:.01em;
  padding:9px 20px; min-width:112px;
  border-radius:99px; cursor:pointer;
  border:1.5px solid rgba(199,127,18,0.55);
  background:#fff; color:#4a4644;
  transition:transform .12s ease, box-shadow .18s ease, background .18s ease;
}
.mb-consent__btn:hover{ transform:translateY(-1px); background:#fdf6ec; }
.mb-consent__btn--accept{
  background:linear-gradient(135deg,#ef9f27,#fac775);
  border-color:#c77f12; color:#3a2810;
  box-shadow:0 6px 16px -6px rgba(199,127,18,0.7);
}
.mb-consent__btn--accept:hover{ background:linear-gradient(135deg,#fac775,#ef9f27); }
.mb-consent__btn:focus-visible{ outline:2px solid #c77f12; outline-offset:2px; }

@media (max-width:520px){
  .mb-consent__box{ gap:12px; padding:13px 15px; }
  .mb-consent__text{ flex-basis:100%; font-size:13px; }
  .mb-consent__actions{ width:100%; }
  .mb-consent__btn{ flex:1 1 0; min-width:0; }  /* equal halves — neither option favoured */
}
