/*
 * NRL theme profile runtime bridge.
 * Loaded after the existing visual refresh so the built-in profile is a
 * no-visual-change baseline while saved profiles can override safe roles.
 */

body.nrl-visual-refresh,
body.nrl-auth-page,
body.nrlsr-page {
  background:
    radial-gradient(1200px 600px at 30% -10%, var(--nrl-profile-page-glow-1), transparent 60%),
    radial-gradient(900px 500px at 80% 0%, var(--nrl-profile-page-glow-2), transparent 55%),
    radial-gradient(800px 500px at 40% 110%, var(--nrl-profile-page-glow-3), transparent 60%),
    radial-gradient(760px 520px at 72% 112%, var(--nrl-profile-page-glow-4), transparent 62%),
    linear-gradient(180deg, var(--nrl-profile-page-bg-start) 0%, var(--nrl-profile-page-bg-mid) 65%, var(--nrl-profile-page-bg-end) 100%) !important;
}

:root[data-nrl-theme="light"] body.nrl-visual-refresh,
:root[data-nrl-theme="light"] body.nrl-auth-page,
:root[data-nrl-theme="light"] body.nrlsr-page {
  background:
    radial-gradient(900px 420px at 12% 0%, var(--nrl-profile-page-glow-1), transparent 58%),
    radial-gradient(780px 420px at 88% 4%, var(--nrl-profile-page-glow-2), transparent 56%),
    radial-gradient(680px 440px at 76% 24%, var(--nrl-profile-page-glow-3), transparent 62%),
    radial-gradient(760px 520px at 28% 112%, var(--nrl-profile-page-glow-4), transparent 62%),
    linear-gradient(180deg, var(--nrl-profile-page-bg-start) 0%, var(--nrl-profile-page-bg-mid) 48%, var(--nrl-profile-page-bg-end) 100%) !important;
}

@media (prefers-color-scheme: light) {
  :root:not([data-nrl-theme]) body.nrl-visual-refresh,
  :root:not([data-nrl-theme]) body.nrl-auth-page,
  :root:not([data-nrl-theme]) body.nrlsr-page {
    background:
      radial-gradient(900px 420px at 12% 0%, var(--nrl-profile-page-glow-1), transparent 58%),
      radial-gradient(780px 420px at 88% 4%, var(--nrl-profile-page-glow-2), transparent 56%),
      radial-gradient(680px 440px at 76% 24%, var(--nrl-profile-page-glow-3), transparent 62%),
      radial-gradient(760px 520px at 28% 112%, var(--nrl-profile-page-glow-4), transparent 62%),
      linear-gradient(180deg, var(--nrl-profile-page-bg-start) 0%, var(--nrl-profile-page-bg-mid) 48%, var(--nrl-profile-page-bg-end) 100%) !important;
  }
}

:is(.nrlui, .nrlsc, .nrlsr, .nrl-auth, .nrl-teamreq) :is(input, select, textarea) {
  color: var(--nrl-profile-input-text) !important;
  caret-color: var(--nrl-profile-input-text) !important;
}

.nrlsc select option,
:root[data-nrl-theme="light"] :is(.nrlui, .nrlsr, .nrl-teamreq) select option {
  background: var(--nrl-profile-option-bg) !important;
  color: var(--nrl-profile-option-text) !important;
}

@media (prefers-color-scheme: light) {
  :root:not([data-nrl-theme]) :is(.nrlui, .nrlsr, .nrl-teamreq) select option {
    background: var(--nrl-profile-option-bg) !important;
    color: var(--nrl-profile-option-text) !important;
  }
}

:is(.nrlui, .nrlsc, .nrlsr, .nrl-auth) :is(.button, button, input[type="submit"]):hover,
.nrl-theme-toggle:hover {
  box-shadow: var(--nrl-profile-button-hover-shadow);
}

/* Astra header and menus on NRL-owned pages. */
body.nrl-visual-refresh .ast-primary-header-bar,
body.nrl-visual-refresh .ast-primary-header-bar a,
body.nrl-visual-refresh .ast-primary-header-bar .menu-link,
body.nrl-visual-refresh .ast-header-account-wrap,
body.nrl-visual-refresh .ast-header-account-wrap a {
  color: var(--nrl-profile-header-text) !important;
}

body.nrl-visual-refresh .ast-primary-header-bar .ast-icon,
body.nrl-visual-refresh .ast-header-social-wrap svg {
  fill: var(--nrl-profile-header-icon) !important;
  color: var(--nrl-profile-header-icon) !important;
}

body.nrl-visual-refresh .ast-primary-header-bar a:hover,
body.nrl-visual-refresh .ast-primary-header-bar .menu-link:hover,
body.nrl-visual-refresh .ast-primary-header-bar .current-menu-item > a,
body.nrl-visual-refresh .ast-primary-header-bar .current_page_item > a,
body.nrl-visual-refresh .ast-primary-header-bar .current-menu-ancestor > a {
  color: var(--nrl-profile-header-hover-text) !important;
}

body.nrl-visual-refresh.ast-desktop .main-header-menu .sub-menu {
  background: var(--nrl-profile-dropdown-bg) !important;
  border-color: var(--nrl-profile-dropdown-border) !important;
  box-shadow: var(--nrl-profile-dropdown-shadow) !important;
}

body.nrl-visual-refresh.ast-desktop .main-header-menu .sub-menu a {
  color: var(--nrl-profile-dropdown-text) !important;
}

body.nrl-visual-refresh.ast-desktop .main-header-menu .sub-menu a:hover,
body.nrl-visual-refresh.ast-desktop .main-header-menu .sub-menu a:focus {
  color: var(--nrl-profile-dropdown-hover-text) !important;
  background: var(--nrl-profile-dropdown-hover-bg) !important;
}

:root[data-nrl-theme="light"] body.nrlsr-page h1.entry-title,
:root[data-nrl-theme="light"] body.nrl-visual-refresh h1.entry-title,
:root[data-nrl-theme="light"] body.nrl-previous-seasons-page h1,
:root[data-nrl-theme="light"] body.nrl-previous-seasons-page .elementor-heading-title,
:root[data-nrl-theme="light"] body.nrl-previous-seasons-page .uagb-heading-text,
:root[data-nrl-theme="light"] body.nrl-visual-refresh .entry-header .entry-title,
:root[data-nrl-theme="light"] body.nrl-visual-refresh header.entry-header h1,
:root[data-nrl-theme="light"] body.nrl-visual-refresh .site-main .entry-title {
  color: var(--nrl-profile-page-heading-text) !important;
  -webkit-text-fill-color: var(--nrl-profile-page-heading-text) !important;
}

@media (prefers-color-scheme: light) {
  :root:not([data-nrl-theme]) body.nrlsr-page h1.entry-title,
  :root:not([data-nrl-theme]) body.nrl-visual-refresh h1.entry-title,
  :root:not([data-nrl-theme]) body.nrl-previous-seasons-page h1,
  :root:not([data-nrl-theme]) body.nrl-previous-seasons-page .elementor-heading-title,
  :root:not([data-nrl-theme]) body.nrl-previous-seasons-page .uagb-heading-text {
    color: var(--nrl-profile-page-heading-text) !important;
    -webkit-text-fill-color: var(--nrl-profile-page-heading-text) !important;
  }
}

@media (max-width: 921px) {
  body.nrl-visual-refresh.ast-header-break-point :is(
    .ast-mobile-popup-drawer,
    .ast-mobile-popup-drawer .ast-mobile-popup-inner,
    .ast-mobile-popup-drawer .ast-builder-menu-mobile,
    .ast-mobile-popup-drawer .main-header-menu,
    .ast-mobile-popup-drawer .menu-item,
    .ast-mobile-popup-drawer .sub-menu,
    #ast-mobile-header[data-type="dropdown"] .ast-mobile-header-content,
    #ast-mobile-header[data-type="dropdown"] .main-header-menu,
    #ast-mobile-header[data-type="dropdown"] .menu-item,
    #ast-mobile-header[data-type="dropdown"] .sub-menu
  ) {
    background: var(--nrl-profile-mobile-bg) !important;
    background-image: none !important;
    border-color: var(--nrl-profile-dropdown-border) !important;
  }

  body.nrl-visual-refresh.ast-header-break-point :is(
    .ast-button-wrap .menu-toggle,
    .ast-button-wrap .menu-toggle .mobile-menu-toggle-icon,
    .ast-mobile-popup-drawer a,
    .ast-mobile-popup-drawer .menu-link,
    .ast-mobile-popup-drawer .current-menu-item > .menu-link,
    .ast-mobile-popup-drawer .current-menu-ancestor > .menu-link,
    .ast-mobile-popup-drawer button.ast-menu-toggle,
    .ast-mobile-popup-drawer .dropdown-menu-toggle,
    #ast-mobile-header[data-type="dropdown"] a.menu-link,
    #ast-mobile-header[data-type="dropdown"] .current-menu-item > .menu-link,
    #ast-mobile-header[data-type="dropdown"] .current-menu-ancestor > .menu-link,
    #ast-mobile-header[data-type="dropdown"] button.ast-menu-toggle,
    #ast-mobile-header[data-type="dropdown"] .dropdown-menu-toggle
  ) {
    color: var(--nrl-profile-mobile-text) !important;
    background: transparent !important;
    text-shadow: none !important;
  }

  body.nrl-visual-refresh.ast-header-break-point :is(
    .ast-button-wrap .menu-toggle svg,
    .ast-button-wrap .menu-toggle svg path,
    .ast-button-wrap .menu-toggle svg line,
    .ast-mobile-popup-drawer svg,
    .ast-mobile-popup-drawer svg path,
    .ast-mobile-popup-drawer svg line,
    #ast-mobile-header[data-type="dropdown"] svg,
    #ast-mobile-header[data-type="dropdown"] svg path,
    #ast-mobile-header[data-type="dropdown"] svg line
  ) {
    color: var(--nrl-profile-mobile-icon) !important;
    fill: var(--nrl-profile-mobile-icon) !important;
    stroke: var(--nrl-profile-mobile-icon) !important;
  }
}

.nrl-notice-success,
.notice-success,
.nrl-alert-success {
  border-color: color-mix(in srgb, var(--nrl-profile-success) 48%, var(--nrl-border));
}

/* Login/account cards. These selectors mirror the existing high-specificity rules. */
.nrl-auth-card {
  background: var(--nrl-profile-auth-card-bg) !important;
  border-color: var(--nrl-profile-auth-card-border) !important;
  box-shadow: var(--nrl-profile-auth-card-shadow) !important;
}

.nrl-auth-card::before {
  background:
    radial-gradient(1200px 600px at 15% 0%, var(--nrl-profile-auth-sheen-teal), transparent 55%),
    radial-gradient(900px 500px at 85% 0%, var(--nrl-profile-auth-sheen-gold), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
}

.nrl-auth-title { color: var(--nrl-profile-auth-title) !important; }
.nrl-auth p label { color: var(--nrl-profile-auth-label) !important; }

.nrl-auth p input[type="text"],
.nrl-auth p input[type="email"],
.nrl-auth p input[type="password"] {
  background: var(--nrl-profile-auth-input-bg) !important;
  border-color: var(--nrl-profile-auth-input-border) !important;
  color: var(--nrl-profile-auth-input-text) !important;
  caret-color: var(--nrl-profile-auth-input-text) !important;
}

.nrl-auth p input::placeholder { color: var(--nrl-profile-auth-placeholder) !important; }

.nrl-auth p input[type="text"]:focus,
.nrl-auth p input[type="email"]:focus,
.nrl-auth p input[type="password"]:focus {
  border-color: var(--nrl-profile-auth-focus-border) !important;
  background: var(--nrl-profile-auth-focus-bg) !important;
}

.nrl-auth .nrl-auth-links a { color: var(--nrl-profile-auth-link) !important; }
.nrl-auth .nrl-auth-links a:hover,
.nrl-auth .nrl-auth-links a:focus { color: var(--nrl-profile-auth-link-hover) !important; }
.nrl-auth .notice { background: var(--nrl-profile-auth-notice-bg) !important; }

.nrl-auth-card input[type="submit"],
.nrl-auth-card button[type="submit"],
.nrl-auth-card .nrl-lost-password-submit,
.nrl-auth-card .nrl-auth-submit {
  background: linear-gradient(135deg, var(--nrl-profile-auth-submit-top), var(--nrl-profile-auth-submit-bottom)) !important;
  color: var(--nrl-profile-auth-submit-text) !important;
  border-color: var(--nrl-profile-auth-submit-border) !important;
  box-shadow: var(--nrl-profile-auth-submit-shadow) !important;
}

.nrl-auth-card input[type="submit"]:hover,
.nrl-auth-card button[type="submit"]:hover {
  box-shadow: var(--nrl-profile-auth-submit-hover-shadow) !important;
}

/* Legacy shortcode surface variables and a few later hard-coded fields. */
.nrlsc {
  --mn-teal: var(--nrl-accent-2);
  --mn-gold: var(--nrl-gold);
  --mn-green: var(--nrl-accent);
}

.nrlsc :is(.notice, .nrl-notice),
.nrlsc :is(textarea, input[type="number"], input[type="url"], input[type="email"], input[type="file"], #nrl-claim-q),
.nrlsc .nrl-create-card :is(input[type="text"], input[type="email"]) {
  background: var(--nrl-profile-sc-notice-bg) !important;
}

.nrlsc .nrl-create-card .nrl-disabled {
  background: var(--nrl-profile-sc-disabled-bg) !important;
  color: var(--nrl-profile-sc-disabled-text) !important;
}

.nrlsc .nrl-claim-results table.widefat thead th {
  color: var(--sc-table-head-text) !important;
}

.nrlsc .req { color: var(--sc-accent-text) !important; }

/* Registration wizard maps its local semantic roles back to the profile. */
.nrlsr {
  --nrl-primary: var(--nrl-accent);
  --nrl-primary-dark: var(--nrl-profile-sr-primary-dark);
  --nrl-success: var(--nrl-profile-sr-success);
  --nrl-warning: var(--nrl-profile-sr-warning);
  --nrl-danger: var(--nrl-profile-sr-danger);
  --nrl-neutral: var(--nrl-profile-sr-neutral);
  --nrl-ink: var(--nrl-text);
  --nrl-paper: var(--nrl-surface-solid);
  --nrl-bg: transparent;
}
