/* r35: consent UI independently positioned and legible across site themes. */
html body > .gavopia-privacy-panel {
  position:fixed !important; z-index:100000 !important;
  inset:auto 1rem 1rem auto !important;
  display:block !important; box-sizing:border-box !important;
  width:min(420px, calc(100vw - 2rem)) !important;
  max-width:calc(100vw - 2rem) !important;
  max-height:calc(100dvh - 2rem) !important;
  margin:0 !important; padding:1rem 1.15rem !important; overflow:auto !important;
  background:#fff !important; color:#102b25 !important;
  border:1px solid #b6c9c2 !important; border-radius:16px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.22) !important;
  font-family:inherit !important; font-style:normal !important;
  font-size:16px !important; line-height:1.5 !important;
  text-align:left !important; text-transform:none !important;
  letter-spacing:normal !important; transform:none !important;
}
html body > .gavopia-privacy-panel h2 {
  display:block !important; font-size:1.06rem !important; line-height:1.35 !important;
  margin:0 0 .5rem !important; padding:0 !important; color:#102b25 !important;
  font-weight:700 !important; text-transform:none !important;
}
html body > .gavopia-privacy-panel p {
  display:block !important; font-size:.9rem !important; line-height:1.5 !important;
  margin:0 0 .85rem !important; padding:0 !important; color:#24483f !important;
  font-weight:400 !important; text-transform:none !important;
}
html body > .gavopia-privacy-panel .gavopia-privacy-actions {
  display:flex !important; flex-wrap:wrap !important; gap:.6rem !important;
  align-items:stretch !important; justify-content:flex-start !important;
}
html body > .gavopia-privacy-panel .gavopia-privacy-actions button {
  display:inline-flex !important; flex:1 1 165px !important; align-items:center !important;
  justify-content:center !important; box-sizing:border-box !important;
  cursor:pointer !important; margin:0 !important; padding:.65rem .85rem !important;
  border-radius:9px !important; font-family:inherit !important; font-size:.88rem !important; line-height:1.3 !important; font-weight:600 !important;
  min-height:44px !important; text-align:center !important;
  text-transform:none !important; letter-spacing:normal !important;
}
html body > .gavopia-privacy-panel .gavopia-privacy-necessary {
  background:#fff !important; color:#17483b !important;
  border:1px solid #62877b !important;
}
html body > .gavopia-privacy-panel .gavopia-privacy-accept {
  background:#17483b !important; color:#fff !important;
  border:1px solid #17483b !important;
}
.site-footer .gavopia-privacy-settings,
.gavopia-privacy-settings {
  display:inline-block; margin:.65rem; padding:.3rem .2rem;
  border:0; background:transparent; color:inherit;
  text-decoration:underline; cursor:pointer; font:inherit; font-size:.85rem;
  min-height:40px;
}
.gavopia-privacy-panel button:focus-visible,.gavopia-privacy-settings:focus-visible {
  outline:3px solid #b78011 !important; outline-offset:2px !important;
}
@media(max-width:520px) {
  html body > .gavopia-privacy-panel {
    inset:auto .65rem .65rem .65rem !important;
    width:calc(100vw - 1.3rem) !important;
    max-width:calc(100vw - 1.3rem) !important;
    max-height:calc(100dvh - 1.3rem) !important;
    padding:.85rem !important;
  }
}
