/* ==========================================================================
   cookie-consent.css  —  Eazy Plug GDPR/AVG cookie consent banner
   LOCAL ONLY. No @import, no remote url(), no web fonts, no CDNs, no trackers.
   Brand palette only: brown #701f00, gold #e09900, taupe #71645d,
   cream #f8f4ee / #f3eee4, white. Open Sans system stack.
   All selectors namespaced .epc-cc-  (Eazy Plug Cookie Consent).

   The only exception is `body.epc-cc-visible .epc-root` / `.epc-panel`:
   those lift the existing chat widget (chat-widget.css, .epc-root is
   position:fixed right:22px bottom:22px z-index:2147483000) clear of the
   consent bar while the bar is on screen. Specificity (0,2,1) / (0,4,1)
   beats chat-widget.css's (0,1,0), so load order does not matter.
   ========================================================================== */

/* ---- the bar ------------------------------------------------------------- */
.epc-cc-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:2147483200;              /* above the chat widget (2147483000) */
  box-sizing:border-box;
  background:#f8f4ee;
  border-top:3px solid #e09900;
  box-shadow:0 -10px 34px rgba(60,40,20,.22);
  font-family:'Open Sans',Helvetica,Arial,sans-serif;
  color:#4d453d;
  max-height:72vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  animation:epc-cc-rise .22s ease;
}
.epc-cc-bar[hidden]{ display:none; }
.epc-cc-bar *,
.epc-cc-bar *::before,
.epc-cc-bar *::after{ box-sizing:border-box; }
.epc-cc-bar:focus{ outline:none; }

@keyframes epc-cc-rise{
  from{ opacity:0; transform:translateY(100%); }
  to{ opacity:1; transform:translateY(0); }
}

/* ---- layout -------------------------------------------------------------- */
.epc-cc-inner{
  max-width:1180px;
  margin:0 auto;
  padding:18px 22px;
  display:flex;
  align-items:center;
  gap:26px;
}
.epc-cc-txt{ flex:1 1 auto; min-width:0; }

.epc-cc-title{
  margin:0 0 5px;
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  color:#701f00;
}
.epc-cc-body{
  margin:0;
  font-size:13.5px;
  line-height:1.6;
  color:#4d453d;
}

/* ---- buttons ------------------------------------------------------------- */
/* Accept and Reject are deliberately identical in size, padding, font size,
   font weight, radius and border width. Only the fill colour differs, and both
   fills clear WCAG AA against white text (#701f00 = 11.1:1, #71645d = 5.7:1).
   No dark patterns: refusing is exactly as easy as accepting. */
.epc-cc-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:11px;
}
.epc-cc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  margin:0;
  padding:12px 22px;
  border:2px solid transparent;
  border-radius:26px;
  font-family:'Open Sans',Helvetica,Arial,sans-serif;
  font-size:14.5px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.2px;
  text-align:center;
  color:#ffffff;
  cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}
.epc-cc-btn--accept{ background:#701f00; border-color:#701f00; }
.epc-cc-btn--accept:hover{ background:#5c1900; border-color:#5c1900; transform:translateY(-1px); }
.epc-cc-btn--reject{ background:#71645d; border-color:#71645d; }
.epc-cc-btn--reject:hover{ background:#5f544e; border-color:#5f544e; transform:translateY(-1px); }
.epc-cc-btn:focus-visible{ outline:3px solid #e09900; outline-offset:2px; }
.epc-cc-btn:focus{ outline:3px solid #e09900; outline-offset:2px; }
.epc-cc-btn:focus:not(:focus-visible){ outline:none; }

/* ---- privacy policy link ------------------------------------------------- */
.epc-cc-links{ margin:8px 0 0; font-size:12.5px; line-height:1.5; }
.epc-cc-link{
  color:#701f00;
  font-weight:600;
  text-decoration:underline;
}
.epc-cc-link:hover{ color:#e09900; }
.epc-cc-link:focus-visible{ outline:2px solid #e09900; outline-offset:2px; }

/* ---- persistent reopen control ------------------------------------------- */
/* Primary placement is the footer LEGAL menu (see cookie-consent.js). This is
   the fallback for pages without that menu (e.g. 404.html): a discreet pill in
   the bottom-LEFT corner, so it never collides with the bottom-right chat
   launcher. */
.epc-cc-reopen{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:2147482900;              /* below the chat widget, below the bar */
  border:1px solid #e7e0d6;
  border-radius:20px;
  padding:7px 14px;
  background:#f3eee4;
  color:#701f00;
  font-family:'Open Sans',Helvetica,Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  opacity:.85;
  box-shadow:0 4px 14px rgba(60,40,20,.14);
  transition:opacity .16s ease, background .16s ease;
}
.epc-cc-reopen:hover{ opacity:1; background:#ece3d3; }
.epc-cc-reopen:focus-visible{ outline:3px solid #e09900; outline-offset:2px; opacity:1; }

/* reopen entry inside the existing footer LEGAL menu: inherits the theme's
   own link styling, we only guarantee a visible focus ring. */
.epc-cc-menu-link{ cursor:pointer; }
.epc-cc-menu-link:focus-visible{ outline:2px solid #e09900; outline-offset:2px; }

/* ---- keep the chat widget usable while the bar is visible ---------------- */
/* --epc-cc-offset is written to <html> by cookie-consent.js and holds the
   measured height of the bar in px. */
body.epc-cc-visible .epc-root{
  bottom:calc(var(--epc-cc-offset, 168px) + 16px);
}
body.epc-cc-visible .epc-root.epc-open .epc-panel{
  max-height:calc(100vh - var(--epc-cc-offset, 168px) - 76px);
}

/* ---- mobile -------------------------------------------------------------- */
@media (max-width:820px){
  .epc-cc-inner{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    padding:16px 18px;
  }
  .epc-cc-actions{ width:100%; }
  .epc-cc-btn{ flex:1 1 0; min-width:0; }
}

@media (max-width:480px){
  .epc-cc-bar{ max-height:80vh; }
  .epc-cc-inner{ padding:14px 14px 16px; gap:12px; }
  .epc-cc-title{ font-size:15px; }
  .epc-cc-body{ font-size:13px; line-height:1.5; }
  .epc-cc-actions{ flex-direction:column; gap:9px; }
  .epc-cc-btn{ width:100%; padding:13px 18px; }
  .epc-cc-reopen{ left:10px; bottom:10px; padding:6px 12px; font-size:11.5px; }

  /* chat-widget.css turns the panel full-screen below 480px; keep the bar
     reachable by ending the panel where the bar starts. */
  body.epc-cc-visible .epc-root.epc-open .epc-panel{
    bottom:var(--epc-cc-offset, 200px);
    height:auto;
    max-height:none;
  }
}

/* ---- reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .epc-cc-bar{ animation:none; }
  .epc-cc-btn,.epc-cc-reopen,.epc-cc-link{ transition:none; }
  .epc-cc-btn:hover{ transform:none; }
}

/* ---- high contrast ------------------------------------------------------- */
@media (forced-colors:active){
  .epc-cc-btn{ border-color:ButtonText; }
}
