@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");

/* AC Monza account console — same tokens as login: red #e10032, ink #111111 */

:root,
html.pf-v5-theme-dark,
.pf-v5-theme-dark {
  --acmonza-red: #e10032;
  --acmonza-red-dark: #c81932;
  --acmonza-ink: #111111;
  --acmonza-footer-bg: #1a1a1a;
  --acmonza-paper: #f4f4f4;
  --acmonza-line: #d8d8d8;
  --pf-v5-global--primary-color--100: #e10032;
  --pf-v5-global--primary-color--200: #c81932;
  --pf-v5-global--primary-color--dark-100: #e10032;
  --pf-v5-global--link--Color: #e10032;
  --pf-v5-global--link--Color--hover: #c81932;
  --pf-v5-global--active-color--100: #e10032;
  --pf-v5-global--active-color--200: #c81932;
  --pf-v5-global--active-color--300: #e10032;
  --pf-v5-global--active-color--400: #e10032;
  --pf-v5-c-nav__link--after--BorderColor: #e10032;
  --pf-v5-c-nav__link--m-current--after--BorderColor: #e10032;
  --pf-v5-c-nav__link--hover--after--BorderColor: #c81932;
  --pf-v5-c-button--m-primary--BackgroundColor: #e10032;
  --pf-v5-c-button--m-primary--Color: #ffffff;
  --pf-v5-c-button--m-primary--hover--BackgroundColor: #c81932;
  --pf-v5-c-button--m-primary--focus--BackgroundColor: #c81932;
  --pf-v5-c-button--m-primary--active--BackgroundColor: #c81932;
  --pf-v5-c-spinner--Color: #e10032;
  --pf-v5-c-nav__link--m-current--BackgroundColor: rgba(225, 0, 50, 0.16);
  --pf-v5-c-nav__link--m-current--Color: #ffffff;
  --pf-v5-c-nav__link--hover--BackgroundColor: rgba(255, 255, 255, 0.08);
  --pf-v5-c-tabs__item--m-current__link--after--BorderColor: #e10032;
  --pf-v5-c-tabs__link--after--BorderColor--hover: #e10032;
  --pf-v5-c-alert--m-info__icon--Color: #e10032;
  --pf-v5-c-label--m-blue--BackgroundColor: rgba(225, 0, 50, 0.12);
  --pf-v5-c-label--m-blue--Color: #e10032;
  --pf-t--global--color--brand--default: #e10032;
  --pf-t--global--color--brand--hover: #c81932;
  --pf-t--global--color--brand--clicked: #c81932;
  --pf-t--global--text--color--link--default: #e10032;
  --pf-t--global--text--color--link--hover: #c81932;
  --pf-v6-c-button--m-primary--BackgroundColor: #e10032;
  --pf-v6-c-button--m-primary--Color: #ffffff;
  --pf-v6-c-button--m-primary--hover--BackgroundColor: #c81932;
  --pf-v6-c-spinner--Color: #e10032;
}

html,
body,
#app {
  font-family: "Open Sans", sans-serif;
  height: auto !important;
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--acmonza-paper);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#app {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.pf-v5-c-page,
.pf-v6-c-page {
  flex: 1 1 auto;
  --pf-v5-c-page--BackgroundColor: var(--acmonza-paper);
  --pf-v6-c-page--BackgroundColor: var(--acmonza-paper);
  background-color: var(--acmonza-paper);
}

.keycloak__loading-container {
  color: var(--acmonza-ink);
  background-color: #ffffff;
}

/* ----- Masthead: club black + red rule ----- */
.pf-v5-c-masthead,
.pf-v6-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: var(--acmonza-ink);
  --pf-v6-c-masthead--BackgroundColor: var(--acmonza-ink);
  background-color: var(--acmonza-ink);
  border-bottom: 3px solid var(--acmonza-red);
  color: #ffffff;
}

.pf-v5-c-masthead .pf-v5-c-masthead__toggle,
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-menu-toggle,
.pf-v5-c-masthead .pf-v5-c-menu-toggle__toggle-icon,
.pf-v6-c-masthead .pf-v6-c-masthead__toggle,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-plain,
.pf-v6-c-masthead .pf-v6-c-menu-toggle,
.pf-v6-c-masthead .pf-v6-c-menu-toggle__toggle-icon {
  color: #ffffff !important;
}

.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain:hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-plain:hover,
.pf-v6-c-masthead .pf-v6-c-menu-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}

.pf-v5-c-masthead .pf-v5-c-button.pf-m-link,
.pf-v5-c-masthead a,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-link,
.pf-v6-c-masthead a {
  color: #ffffff !important;
}

.pf-v5-c-masthead__brand,
.pf-v5-c-masthead a.pf-v5-c-masthead__brand,
.pf-v6-c-masthead__brand,
.pf-v6-c-masthead a.pf-v6-c-masthead__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}

.pf-v5-c-masthead .pf-v5-c-brand,
.pf-v5-c-masthead img.pf-v5-c-brand,
.pf-v5-c-masthead .keycloak__pageheader_brand,
.pf-v6-c-masthead .pf-v6-c-brand,
.pf-v6-c-masthead img.pf-v6-c-brand,
.pf-v6-c-masthead .keycloak__pageheader_brand {
  height: 42px !important;
  width: auto !important;
  max-height: 42px;
  object-fit: contain;
}

.acmonza-wordmark {
  font-family: "Open Sans", sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #ffffff;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.acmonza-wordmark-bold {
  font-weight: 700;
}

/* ----- Sidebar ----- */
.pf-v5-c-page__sidebar,
.pf-v5-c-page__sidebar-body,
.pf-v6-c-page__sidebar,
.pf-v6-c-page__sidebar-body {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--acmonza-footer-bg);
  --pf-v6-c-page__sidebar--BackgroundColor: var(--acmonza-footer-bg);
  background-color: var(--acmonza-footer-bg);
}

.pf-v5-c-nav,
.pf-v6-c-nav {
  --pf-v5-global--active-color--100: var(--acmonza-red);
  --pf-v5-global--active-color--400: var(--acmonza-red);
  --pf-v5-c-nav__link--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__link--hover--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__link--focus--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__link--active--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__link--m-current--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__section__link--m-current--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__subnav__link--m-current--after--BorderColor: var(--acmonza-red);
  --pf-v5-c-nav__item--item__link--after--Top: 0;
  --pf-v5-c-nav__link--after--Top: 0;
}

.pf-v5-c-nav__link,
.pf-v6-c-nav__link {
  position: relative;
  color: #f2f2f2 !important;
  font-weight: 600;
}

.pf-v5-c-nav__link:hover,
.pf-v6-c-nav__link:hover {
  color: #ffffff !important;
}

.pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-nav__link[aria-current="page"],
.pf-v5-c-nav__item.pf-m-current .pf-v5-c-nav__link,
.pf-v6-c-nav__link.pf-m-current,
.pf-v6-c-nav__link[aria-current="page"],
.pf-v6-c-nav__item.pf-m-current .pf-v6-c-nav__link {
  color: #ffffff !important;
  background: rgba(225, 0, 50, 0.22) !important;
}

.pf-v5-c-nav .pf-v5-c-nav__link::after,
.pf-v5-c-nav .pf-v5-c-nav__link::before,
.pf-v6-c-nav .pf-v6-c-nav__link::after,
.pf-v6-c-nav .pf-v6-c-nav__link::before {
  inset: 0 auto 0 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: auto !important;
  transform: none !important;
  background: none !important;
  border: 0 solid var(--acmonza-red) !important;
  border-inline-start-width: 0 !important;
  border-block-end-width: 0 !important;
}

.pf-v5-c-nav .pf-v5-c-nav__link.pf-m-current::after,
.pf-v5-c-nav .pf-v5-c-nav__link.pf-m-current:hover::after,
.pf-v5-c-nav .pf-v5-c-nav__link[aria-current="page"]::after,
.pf-v5-c-nav .pf-v5-c-nav__item.pf-m-current:not(.pf-m-expanded) .pf-v5-c-nav__link::after,
.pf-v6-c-nav .pf-v6-c-nav__link.pf-m-current::after,
.pf-v6-c-nav .pf-v6-c-nav__link[aria-current="page"]::after,
.pf-v6-c-nav .pf-v6-c-nav__item.pf-m-current:not(.pf-m-expanded) .pf-v6-c-nav__link::after {
  width: 4px !important;
  background-color: var(--acmonza-red) !important;
  border-color: var(--acmonza-red) !important;
  border-inline-start-width: 4px !important;
}

.pf-v5-c-nav__section-title,
.pf-v6-c-nav__section-title {
  color: #bdbdbd;
}

/* ----- Buttons, links, tabs ----- */
.pf-v5-c-button.pf-m-primary,
.pf-v6-c-button.pf-m-primary {
  background-color: var(--acmonza-red);
  border-color: var(--acmonza-red);
  color: #ffffff;
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus,
.pf-v6-c-button.pf-m-primary:hover,
.pf-v6-c-button.pf-m-primary:focus {
  background-color: var(--acmonza-red-dark);
  border-color: var(--acmonza-red-dark);
}

.pf-v5-c-button.pf-m-secondary,
.pf-v6-c-button.pf-m-secondary {
  --pf-v5-c-button--m-secondary--Color: var(--acmonza-red);
  --pf-v5-c-button--m-secondary--after--BorderColor: var(--acmonza-red);
  color: var(--acmonza-red);
}

.pf-v5-c-button.pf-m-link,
.pf-v5-c-page__main a:not(.pf-v5-c-button),
.pf-v6-c-button.pf-m-link,
.pf-v6-c-page__main a:not(.pf-v6-c-button) {
  color: var(--acmonza-red);
}

.pf-v5-c-button.pf-m-link:hover,
.pf-v5-c-page__main a:not(.pf-v5-c-button):hover,
.pf-v6-c-button.pf-m-link:hover,
.pf-v6-c-page__main a:not(.pf-v6-c-button):hover {
  color: var(--acmonza-red-dark);
}

.pf-v5-c-popover__body a,
.pf-v6-c-popover__body a,
.pf-v5-c-tooltip__content a,
.pf-v6-c-tooltip__content a {
  color: var(--acmonza-red);
  text-decoration: underline;
}

.pf-v5-c-tabs__link::after,
.pf-v6-c-tabs__link::after,
.pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link::after,
.pf-v6-c-tabs__item.pf-m-current .pf-v6-c-tabs__link::after {
  border-color: var(--acmonza-red);
}

/* ----- Forms: label above field ----- */
.pf-v5-c-form.pf-m-horizontal .pf-v5-c-form__group,
.pf-v6-c-form.pf-m-horizontal .pf-v6-c-form__group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  grid-template-columns: 1fr;
}

.pf-v5-c-form.pf-m-horizontal .pf-v5-c-form__group-label,
.pf-v6-c-form.pf-m-horizontal .pf-v6-c-form__group-label {
  text-align: left;
  padding-block-end: 0;
  max-width: 100%;
}

.pf-v5-c-form.pf-m-horizontal .pf-v5-c-form__group-control,
.pf-v6-c-form.pf-m-horizontal .pf-v6-c-form__group-control {
  max-width: 100%;
}

.pf-v5-c-form.pf-m-horizontal .pf-v5-c-radio,
.pf-v6-c-form.pf-m-horizontal .pf-v6-c-radio {
  align-items: flex-start;
}

/* ----- Forms ----- */
.pf-v5-c-form-control:focus,
.pf-v5-c-form-control:focus-within,
.pf-v5-c-text-input-group:focus-within,
.pf-v6-c-form-control:focus,
.pf-v6-c-form-control:focus-within,
.pf-v6-c-text-input-group:focus-within {
  --pf-v5-c-form-control--after--BorderBottomColor: var(--acmonza-red);
  outline-color: var(--acmonza-red);
}

.pf-v5-c-switch__input:checked + .pf-v5-c-switch__toggle,
.pf-v6-c-switch__input:checked + .pf-v6-c-switch__toggle {
  background-color: var(--acmonza-red);
}

.pf-v5-c-check__input:checked,
.pf-v5-c-radio__input:checked,
.pf-v6-c-check__input:checked,
.pf-v6-c-radio__input:checked {
  accent-color: var(--acmonza-red);
}

/* ----- Page titles, cards, lists ----- */
.pf-v5-c-title,
.pf-v5-c-page__main-section h1,
.pf-v6-c-title,
.pf-v6-c-page__main-section h1 {
  color: var(--acmonza-ink);
}

.pf-v5-c-card,
.pf-v6-c-card {
  border-top: 3px solid var(--acmonza-red);
}

.pf-v5-c-alert.pf-m-info,
.pf-v6-c-alert.pf-m-info {
  --pf-v5-c-alert--m-info__icon--Color: var(--acmonza-red);
}

.pf-v5-c-empty-state__icon,
.pf-v6-c-empty-state__icon {
  color: var(--acmonza-red);
}

.pf-v5-c-menu__item.pf-m-selected,
.pf-v6-c-menu__item.pf-m-selected,
.pf-v5-c-menu__item:hover,
.pf-v6-c-menu__item:hover {
  --pf-v5-c-menu__item--BackgroundColor: rgba(225, 0, 50, 0.08);
}

.pf-v5-c-label.pf-m-blue,
.pf-v5-c-label.pf-m-outline.pf-m-blue,
.pf-v6-c-label.pf-m-blue,
.pf-v6-c-label.pf-m-outline.pf-m-blue {
  --pf-v5-c-label--Color: var(--acmonza-red);
  color: var(--acmonza-red);
}

:focus-visible {
  outline-color: var(--acmonza-red);
}

/* ----- Footer (injected) ----- */
.acmonza-footer {
  flex-shrink: 0;
  width: 100%;
  background-color: var(--acmonza-footer-bg);
  border-top: 3px solid var(--acmonza-red);
  color: #ccc;
  font-size: 0.8rem;
  padding: 1.1rem 2.5rem;
  box-sizing: border-box;
}

.acmonza-footer__inner {
  max-width: 72rem;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.acmonza-footer__brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.acmonza-footer__crest {
  display: block;
  width: 48px;
  height: 58px;
  background: url("../img/logo.png") no-repeat center / contain;
  flex-shrink: 0;
}

.acmonza-footer__info p {
  margin: 0.12rem 0;
  line-height: 1.4;
}

.acmonza-footer__company {
  color: #fff;
  font-size: 0.88rem;
}

.acmonza-footer__copyright {
  color: #c4c4c4;
}

.acmonza-footer__info a,
.acmonza-footer__info a:visited {
  color: #ffffff;
  text-decoration: none;
}

.acmonza-footer__info a:hover {
  color: var(--acmonza-red);
  text-decoration: underline;
}

.acmonza-footer__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
  flex-shrink: 0;
}

.acmonza-footer__social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.acmonza-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  color: #ffffff;
}

.acmonza-footer__social a:hover {
  border-color: var(--acmonza-red);
  background: var(--acmonza-red);
  color: #ffffff;
}

.acmonza-icon {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
}

.acmonza-footer__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.acmonza-footer__links a,
.acmonza-footer__links a:visited {
  color: var(--acmonza-red);
  text-decoration: none;
}

.acmonza-footer__links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.acmonza-footer__sep {
  color: #555;
}

.acmonza-phone-change {
  margin-top: 0.75rem;
  width: fit-content;
}

.acmonza-phone-locked,
input.acmonza-phone-locked,
.pf-v5-c-form-control:has(.acmonza-phone-locked),
.pf-v6-c-form-control:has(.acmonza-phone-locked) {
  background-color: #f5f5f5;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 768px) {
  .acmonza-wordmark {
    font-size: 0.95rem;
  }

  .acmonza-footer {
    padding: 1rem 1rem 1.35rem;
  }

  .acmonza-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.9rem;
  }

  .acmonza-footer__aside {
    align-items: flex-start;
  }

  .acmonza-footer__social {
    justify-content: flex-start;
  }

  .acmonza-footer__sep {
    display: none;
  }

  .acmonza-footer__links {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }
}

.pf-v5-c-form__group[hidden],
.pf-v6-c-form__group[hidden],
.pf-c-form__group[hidden] {
  display: none !important;
}

[data-acmonza-source] {
  display: none !important;
}

.pf-v5-c-form > .pf-v5-u-pb-lg:first-child,
.pf-v6-c-form > .pf-v6-u-pb-lg:first-child {
  display: none !important;
}

section + section {
  border-top: 1px solid #d5d5d5;
  margin-top: 2.25rem !important;
  padding-top: 1.75rem;
}

.pf-v5-c-form-control:has(> select[data-acmonza-overlay]) > input,
.pf-v6-c-form-control:has(> select[data-acmonza-overlay]) > input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  padding: 0 !important;
}

.pf-v5-c-form__group-control:has(> [data-acmonza-country-shell]),
.pf-v6-c-form__group-control:has(> [data-acmonza-country-shell]) {
  position: relative;
}

.pf-v5-c-form__group-control:has(> [data-acmonza-country-shell]) > :not([data-acmonza-country-shell]),
.pf-v6-c-form__group-control:has(> [data-acmonza-country-shell]) > :not([data-acmonza-country-shell]) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  padding: 0 !important;
}

[data-acmonza-country-shell],
[data-acmonza-overlay-shell] {
  width: 100%;
}

[data-acmonza-country-shell] > select,
[data-acmonza-overlay-shell] > select {
  width: 100%;
  appearance: none;
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
  font: inherit;
  color: inherit;
}

/* PatternFly country/typeahead menus: scroll inside the list, do not stretch the page. */
.pf-v5-c-menu,
.pf-v6-c-menu,
.pf-v5-c-select__menu {
  max-height: min(20rem, calc(100vh - 8rem)) !important;
  overflow: hidden !important;
}

.pf-v5-c-menu__content,
.pf-v6-c-menu__content,
.pf-v5-c-select__menu-list,
.pf-v5-c-menu__list,
.pf-v6-c-menu__list {
  max-height: min(20rem, calc(100vh - 8rem)) !important;
  overflow-y: auto !important;
}
