:root {
  --portal-shell-notice-background: var(--primary, #3968af);
  --portal-shell-notice-text: #fff;
  --portal-shell-action-background: var(--primary, #3968af);
  --portal-shell-action-text: #fff;
  --portal-shell-footer-background: color-mix(in srgb, var(--footer-background, #17243a) 92%, #000);
  --portal-shell-footer-text: var(--footer-text, #eaf0f7);
}

.portal-shell-notice {
  margin: 0;
  padding: .55rem 1rem;
  background: var(--portal-shell-notice-background);
  color: var(--portal-shell-notice-text);
  text-align: center;
  font: 600 .86rem/1.35 var(--font-body, system-ui, sans-serif);
}

.portal-shell-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  margin-left: auto;
}

.portal-shell-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.3rem;
  padding: .45rem .8rem;
  border: 1px solid transparent;
  border-radius: .55rem;
  font: 600 .82rem/1.2 var(--font-body, system-ui, sans-serif);
  text-decoration: none;
  transition: transform .18s ease, filter .18s ease;
}
.portal-shell-action:hover { transform: translateY(-1px); filter: brightness(.96); }
.portal-shell-action--primary { background: var(--portal-shell-action-custom-background, var(--portal-shell-action-background)); color: var(--portal-shell-action-custom-text, var(--portal-shell-action-text)); }
.portal-shell-action--secondary { background: var(--secondary, #f49819); color: #162332; }
.portal-shell-action--outline { border-color: var(--portal-shell-action-custom-background, var(--portal-shell-action-background)); color: var(--portal-shell-action-custom-background, var(--portal-shell-action-background)); background: transparent; }
.portal-shell-action--secondary { background: var(--portal-shell-action-custom-background, var(--secondary, #f49819)); color: var(--portal-shell-action-custom-text, #162332); }
.portal-shell-action--shape-rounded { border-radius: .55rem; }.portal-shell-action--shape-pill { border-radius: 999px; }.portal-shell-action--shape-square { border-radius: 0; }.portal-shell-action__icon { display:inline-flex; width:1rem; height:1rem; margin-right:.4rem; }.portal-shell-action__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.footer-menu-links .portal-shell-footer-link { color: var(--footer-link, #fff); text-decoration: none; }
.portal-shell-map {
  max-width: var(--content, 1180px);
  margin: 1.5rem auto 0;
  padding: 1rem;
  color: var(--portal-shell-footer-text);
  background: var(--portal-shell-footer-background);
  border-radius: .8rem .8rem 0 0;
}
.portal-shell-map h2 { margin: 0 0 .7rem; color: inherit; font: 700 1.05rem/1.3 var(--font-title, system-ui, sans-serif); }
.portal-shell-map iframe { display: block; width: 100%; border: 0; border-radius: .55rem; background: #fff; }
.portal-shell-map-link { display: inline-flex; align-items: center; min-height: 2.4rem; padding: .45rem .8rem; border: 1px solid currentColor; border-radius: .5rem; color: inherit; font: 700 .85rem/1.2 var(--font-body, system-ui, sans-serif); text-decoration: none; }
.portal-shell-map-link:hover { filter: brightness(1.12); }

@media (max-width: 760px) {
  .portal-shell-actions { width: 100%; margin: .75rem 0 0; }
  .portal-shell-action { flex: 1 1 auto; }
  .portal-shell-map { border-radius: 0; }
}
