/* De Tesselse Oesterman — static-site fixes (scoped, additive). */

/* ---- Old broken Joomla GDPR banner markup (if any) stays hidden ---- */
.cc-window,.cc-revoke{display:none!important;}

/* ================= Working mobile off-canvas menu =================
   The Astroid hamburger is broken on the live site; this drives it. */
html.mm-open{overflow:hidden;}
.mm-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;
  transition:opacity .3s ease;z-index:1040;border:0;}
html.mm-open .mm-backdrop{opacity:1;visibility:visible;}
html.mm-open .astroid-mobilemenu.mobilemenu-slide{
  transform:translate3d(0,0,0)!important;-webkit-transform:translate3d(0,0,0)!important;
  visibility:visible!important;position:fixed!important;top:0;left:0;height:100%;
  overflow-y:auto;z-index:1050;}

/* ===================== Cookie consent banner =====================
   Styled after the original Joomla cookieconsent (dark floating box,
   bottom-left, ~24em), but functional: it remembers the choice and
   gates the third-party trackers. */
.dto-cc{
  position:fixed;left:1em;right:auto;bottom:1em;z-index:2000;max-width:24em;
  background:#1f1f1f;color:#fff;padding:1.5em 1.6em;border-radius:0;
  box-shadow:0 6px 28px rgba(0,0,0,.35);
  font-family:"Source Sans Pro","Ubuntu",-apple-system,Segoe UI,Arial,sans-serif;
  font-size:15px;line-height:1.5;
  transform:translateY(140%);transition:transform .35s ease;}
.dto-cc.in{transform:translateY(0);}
.dto-cc-msg{display:block;margin-bottom:1em;}
.dto-cc-btns{display:flex;flex-wrap:wrap;gap:.6em;}
.dto-cc button{cursor:pointer;font:inherit;font-weight:700;border-radius:0;
  padding:.55em 1.2em;border:1px solid #fff;transition:background .15s,color .15s;}
.dto-cc-allow{background:#fff;color:#000;border-color:#fff;}
.dto-cc-allow:hover{background:#3aae5a;border-color:#3aae5a;color:#fff;}
.dto-cc-deny{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.dto-cc-deny:hover{background:rgba(255,255,255,.12);}

/* Revoke tab — reopen the banner to change the choice */
.dto-cc-revoke{position:fixed;left:0;bottom:0;z-index:1990;
  background:#1f1f1f;color:#fff;border:0;border-top-right-radius:3px;cursor:pointer;
  font-family:"Source Sans Pro","Ubuntu",Arial,sans-serif;font-size:12px;
  padding:6px 12px;opacity:.85;transition:opacity .15s;}
.dto-cc-revoke:hover{opacity:1;}

/* Placeholders shown in place of gated embeds until consent is given */
.cc-hidden-by-consent{display:none!important;}
.cc-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.9em;text-align:center;min-height:220px;padding:1.5em;
  background:#f4f4f4;border:1px dashed #cfcfcf;color:#444;
  font-family:"Source Sans Pro","Ubuntu",Arial,sans-serif;font-size:15px;line-height:1.5;}
.cc-placeholder p{margin:0;max-width:26em;}
.cc-placeholder .cc-ph-accept{cursor:pointer;font-weight:700;border:0;border-radius:0;
  background:#3aae5a;color:#fff;padding:.6em 1.3em;font-size:14px;}
.cc-placeholder .cc-ph-accept:hover{background:#2e9a4c;}

@media (max-width:600px){
  .dto-cc{left:.6em;right:.6em;bottom:.6em;max-width:none;}
}
