/* AlgoLodge analytics consent controls. No third-party tracking before opt-in. */
.al-ga-consent-banner[hidden] { display: none !important; }
.al-ga-consent-banner {
  box-sizing: border-box; position: fixed; z-index: 2147482000;
  right: max(16px, env(safe-area-inset-right));
  left: max(16px, env(safe-area-inset-left)); bottom: max(16px, env(safe-area-inset-bottom));
  max-width: 800px; margin: 0 auto; display: flex; flex-wrap: wrap;
  align-items: center; gap: 18px 28px; padding: 22px 26px;
  background: #fff; color: #15324e; border: 1px solid #b9ccdb;
  border-radius: 13px; box-shadow: 0 8px 32px rgba(14, 34, 52, .24);
  font: 15px/1.5 Arial, Helvetica, sans-serif;
}
.al-ga-consent-banner *, .al-ga-consent-banner *::before, .al-ga-consent-banner *::after { box-sizing: border-box; }
.al-ga-consent-copy { flex: 1 1 350px; min-width: 0; }
.al-ga-consent-copy strong { display: block; margin: 0 0 5px; color: #142b49; font-size: 17px; font-weight: 700; }
.al-ga-consent-copy p { margin: 0; color: #334e64; font: inherit; }
.al-ga-consent-copy a { color: #145db1; text-decoration: underline; }
.al-ga-consent-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; }
.al-ga-consent-actions button {
  font: 600 14px/1.2 Arial, Helvetica, sans-serif; min-height: 42px;
  min-width: 137px; cursor: pointer; padding: 11px 15px;
  border-radius: 8px; transition: background-color .15s;
}
.al-ga-consent-reject { background: #fff; color: #14528b; border: 1px solid #14528b; }
.al-ga-consent-reject:hover { background: #edf4fc; }
.al-ga-consent-accept { background: #1864b5; color: #fff; border: 1px solid #1864b5; }
.al-ga-consent-accept:hover { background: #0b4888; }
.al-ga-consent-manage { background: transparent; border: 0; padding: 3px; margin: 0;
  font: inherit; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.al-ga-consent-manage-floating { position: fixed; z-index: 2147481900; left: 12px; bottom: 8px;
  padding: 5px 9px; color: #143553; background: #fff; border: 1px solid #b9ccdb;
  border-radius: 6px; font: 12px/1.2 Arial, sans-serif; }
.al-ga-consent-actions button:focus-visible, .al-ga-consent-manage:focus-visible, .al-ga-consent-copy a:focus-visible {
  outline: 3px solid #e7992c; outline-offset: 2px;
}
@media (max-width: 620px) {
  .al-ga-consent-banner { padding: 17px; gap: 14px; }
  .al-ga-consent-copy { flex-basis: 100%; }
  .al-ga-consent-actions { width: 100%; }
  .al-ga-consent-actions button { flex: 1 1 130px; min-width: 0; }
}
