/* Cookie banner (includes/tracking.php, assets/js/consent.js). A light card bottom-left; a bottom sheet on phones. */
.hm-consent {
  position: fixed; z-index: 1000; left: 1rem; bottom: 1rem; width: min(25rem, calc(100vw - 2rem));
  padding: 1.15rem 1.25rem 1.1rem; border: 1px solid var(--hm-line); border-radius: 1rem;
  background: var(--hm-white); color: var(--hm-ink); font-size: var(--hm-fs-sm); line-height: 1.5;
  box-shadow: 0 18px 50px rgba(6, 35, 29, 0.22);
}
.hm-consent[hidden] { display: none; }
.hm-consent__title { margin: 0 0 0.3rem; font-family: var(--hm-font-display); font-size: 1.125rem; font-weight: 600; color: var(--hm-green-800); }
.hm-consent__text { margin: 0; color: var(--hm-ink-2); }
.hm-consent__text a { color: var(--hm-green-800); font-weight: 600; }
.hm-consent__choose { display: grid; gap: 0.55rem; margin-top: 0.85rem; }
.hm-consent__choose[hidden] { display: none; }
.hm-consent__opt { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.6rem 0.7rem; border: 1px solid var(--hm-line); border-radius: 0.6rem; background: var(--hm-ivory); cursor: pointer; }
.hm-consent__opt input { width: 1.15rem; height: 1.15rem; margin: 0.15rem 0 0; accent-color: var(--hm-green-800); flex: none; }
.hm-consent__opt b { display: block; color: var(--hm-ink); }
.hm-consent__opt span { color: var(--hm-ink-2); font-size: var(--hm-fs-xs); }
.hm-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: 0.95rem; }
.hm-consent__btn { --_bg: var(--hm-green-800); --_fg: var(--hm-ivory); width: 100%; justify-content: center; min-height: 2.75rem; }
.hm-consent__btn[hidden], .hm-consent__more[hidden] { display: none; }
.hm-consent__save { grid-column: 1 / -1; }
.hm-consent__more {
  grid-column: 1 / -1; justify-self: center; min-height: 2.75rem; padding: 0 0.5rem; border: 0; background: none;
  color: var(--hm-green-800); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.hm-consent__more:hover { color: var(--hm-green-600); }
.hm-consent :focus-visible { outline: 3px solid var(--hm-gold-500); outline-offset: 2px; }
@media (max-width: 47.99rem) {
  .hm-consent { left: 0; right: 0; bottom: 0; width: auto; border-radius: 1rem 1rem 0 0; border-width: 1px 0 0; padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
  html.hm-consent-open .hm-actionbar { visibility: hidden; }
}
/* Footer link that reopens the banner. */
.hm-linkbtn { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
