:root {
  --als-privacy-ink: #26312d;
  --als-privacy-muted: #64716b;
  --als-privacy-bronze: #9a673e;
  --als-privacy-border: #d7ddd9;
  --als-privacy-paper: #ffffff;
  --als-privacy-soft: #f4f1eb;
}

/* Legacy menu entries stay hidden; the current legal navigation is rendered by the footer template. */
#t3-footer li.item-175,
#t3-footer li.item-176,
#t3-footer li.item-177 { display: none !important; }
#t3-footer #Mod135 li.item-182 { display: none !important; }
#t3-footer .als-company-source-menu { display: none !important; }
#t3-footer .als-company-navigation,
#t3-footer .als-company-links { margin: 0; padding: 0; }

.als-legal-links {
  display: grid;
  gap: 3px;
  max-width: 270px;
  margin: 7px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid rgba(255,255,255,.13);
  font-size: 12px;
  line-height: 1.45;
}
.als-legal-links--bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 24px;
  max-width: none;
  margin: 0;
  padding: 0 0 14px;
  border-top: 0;
}
.als-legal-links a,
.als-cookie-settings-link {
  display: flex;
  align-items: center;
  min-height: 30px;
  color: rgba(255,255,255,.78);
  text-decoration: none;
}
.als-legal-links a:hover,
.als-legal-links a:focus,
.als-cookie-settings-link:hover,
.als-cookie-settings-link:focus { color: #fff; text-decoration: underline; }
.als-cookie-settings-link {
  width: max-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.als-cookie-banner[hidden], .als-cookie-dialog[hidden] { display: none !important; }
.als-cookie-banner,
.als-cookie-banner *,
.als-cookie-dialog,
.als-cookie-dialog * { box-sizing: border-box; }
.als-cookie-banner {
  position: fixed;
  z-index: 2147483600;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 24px;
  border: 1px solid var(--als-privacy-border);
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 60px rgba(20,30,25,.18);
  color: var(--als-privacy-ink);
}
.als-cookie-banner h2, .als-cookie-dialog h2 { margin: 0 0 7px; font: 600 23px/1.2 Georgia, 'Times New Roman', serif; color: var(--als-privacy-ink); }
.als-cookie-banner p, .als-cookie-dialog p { margin: 0; color: var(--als-privacy-muted); font-size: 14px; line-height: 1.55; }
.als-cookie-banner p, .als-cookie-dialog p, .als-consent-label > span { min-width: 0; overflow-wrap: anywhere; }
.als-cookie-banner a, .als-cookie-dialog a { color: var(--als-privacy-bronze); text-decoration: underline; text-underline-offset: 2px; }
.als-cookie-banner__actions, .als-cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: 9px; }
.als-button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  font: 600 13px/1.2 'Segoe UI', Arial, sans-serif;
  cursor: pointer;
}
.als-button--primary { background: var(--als-privacy-ink); color: #fff; }
.als-button--primary:hover, .als-button--primary:focus { background: #17201d; color: #fff; }
.als-button--secondary { border-color: var(--als-privacy-ink); background: #fff; color: var(--als-privacy-ink); }
.als-button--secondary:hover, .als-button--secondary:focus { background: var(--als-privacy-soft); }
.als-button--text { border-color: transparent; background: transparent; color: var(--als-privacy-bronze); }
.als-button:focus-visible, .als-cookie-dialog__close:focus-visible, .als-switch input:focus-visible + span { outline: 3px solid rgba(154,103,62,.35); outline-offset: 2px; }

.als-cookie-dialog { position: fixed; z-index: 2147483601; inset: 0; display: grid; place-items: center; padding: 20px; }
.als-cookie-dialog__backdrop { position: absolute; inset: 0; background: rgba(23,31,28,.62); }
.als-cookie-dialog__panel {
  position: relative;
  width: min(650px,100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 30px;
  border-radius: 14px;
  background: var(--als-privacy-paper);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
}
.als-cookie-dialog__close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--als-privacy-ink); font-size: 30px; line-height: 1; cursor: pointer; }
.als-cookie-category { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--als-privacy-border); }
.als-cookie-category:first-of-type { margin-top: 14px; border-top: 1px solid var(--als-privacy-border); }
.als-cookie-category strong, .als-cookie-category span { display: block; }
.als-cookie-category strong { margin-bottom: 4px; color: var(--als-privacy-ink); }
.als-cookie-category div > span { color: var(--als-privacy-muted); font-size: 13px; line-height: 1.45; }
.als-cookie-dialog__actions { margin-top: 24px; }
.als-switch { position: relative; display: inline-flex; }
.als-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.als-switch span { position: relative; display: block; width: 48px; height: 28px; border-radius: 999px; background: #aeb8b3; cursor: pointer; transition: background .18s ease; }
.als-switch span::after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); transition: transform .18s ease; }
.als-switch input:checked + span { background: var(--als-privacy-bronze); }
.als-switch input:checked + span::after { transform: translateX(20px); }
.als-switch input:disabled + span { cursor: not-allowed; opacity: .72; }
.als-cookie-dialog-open { overflow: hidden; }

.als-media-placeholder[hidden] { display: none !important; }
.als-media-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 260px;
  padding: 28px;
  border: 1px solid var(--als-privacy-border);
  background: var(--als-privacy-soft);
  color: var(--als-privacy-ink);
  text-align: center;
}
.als-media-placeholder > div { max-width: 520px; }
.als-media-placeholder strong { display: block; margin-bottom: 7px; font: 600 21px/1.25 Georgia, 'Times New Roman', serif; }
.als-media-placeholder p { margin: 0 0 16px; color: var(--als-privacy-muted); font-size: 14px; line-height: 1.5; }

.als-consent-field { margin-top: 8px; }
.als-consent-label { display: grid !important; grid-template-columns: 22px minmax(0,1fr); gap: 10px; align-items: start; color: #39443f; font-size: 12px; line-height: 1.45; cursor: pointer; }
.als-consent-label input { width: 18px !important; height: 18px !important; margin: 1px 0 0 !important; accent-color: var(--als-privacy-bronze); }
.als-consent-label a { color: #7d5334; text-decoration: underline; text-underline-offset: 2px; }
.als-consent-note { margin: 6px 0 0 32px; color: #66716c; font-size: 11px; line-height: 1.4; }
.als-consent-error { margin: 6px 0 0 32px; color: #a72b2b; font-size: 12px; line-height: 1.35; }
.als-consent-label.als-has-error { color: #8f2020; }

.als-legal-document { max-width: 920px; margin: 0 auto; padding: 48px 24px 64px; color: var(--als-privacy-ink); font: 15px/1.68 'Segoe UI', Arial, sans-serif; }
.als-legal-document h1, .als-legal-document h2 { font-family: Georgia, 'Times New Roman', serif; color: var(--als-privacy-ink); }
.als-legal-document h1 { margin: 0 0 12px; font-size: clamp(30px,4vw,46px); line-height: 1.12; }
.als-legal-document h2 { margin: 34px 0 12px; font-size: 24px; line-height: 1.25; }
.als-legal-document p, .als-legal-document li { max-width: 78ch; }
.als-legal-document ul { padding-left: 22px; }
.als-legal-document .als-legal-lead { margin-bottom: 28px; color: var(--als-privacy-muted); font-size: 17px; }
.als-legal-document .als-legal-card { margin: 24px 0; padding: 20px 22px; border-left: 3px solid var(--als-privacy-bronze); background: var(--als-privacy-soft); }
.als-legal-document table { width: 100%; margin: 18px 0; border-collapse: collapse; }
.als-legal-document th, .als-legal-document td { padding: 12px; border: 1px solid var(--als-privacy-border); text-align: left; vertical-align: top; }
.als-legal-document th { background: var(--als-privacy-soft); }

@media (max-width: 820px) {
  .als-cookie-banner { right: 12px; bottom: 12px; left: 12px; width: auto; max-width: calc(100vw - 24px); grid-template-columns: minmax(0,1fr); gap: 16px; padding: 18px; }
  .als-cookie-banner__actions, .als-cookie-dialog__actions { display: grid; grid-template-columns: 1fr; }
  .als-cookie-banner .als-button, .als-cookie-dialog .als-button { width: 100%; min-width: 0; white-space: normal; }
  .als-cookie-dialog { padding: 12px; }
  .als-cookie-dialog__panel { max-height: calc(100vh - 24px); padding: 26px 18px 20px; }
  .als-legal-document { padding: 36px 18px 48px; }
  .als-legal-document table, .als-legal-document tbody, .als-legal-document tr, .als-legal-document th, .als-legal-document td { display: block; }
  .als-legal-document th { border-bottom: 0; }
  .als-legal-document td { margin-bottom: 10px; }
  .als-media-placeholder { min-height: 220px; padding: 22px 16px; }
  .als-legal-links a, .als-cookie-settings-link { min-height: 44px; }
  .als-legal-links--bottom { display: grid; gap: 0; padding-bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .als-switch span, .als-switch span::after { transition: none; }
}
