/*

	BAY VALLEY ELECTRIC

*/
footer, #footer { margin-top: 0 !important; }

/* global header */
div.mini-widgets {
    background-color: #2F4858; color: #DFE0DF;
}
	div.mini-widgets.brd-top {
		border-top: none !important;
	}

/* navigation */
.navbar-nav .nav-link[href*="/Contact"], .navbar-nav .nav-link[href*="/contact"] {
  
}

.nav-main .nav-pills li a[href*="/Contact"], .nav-main .nav-pills li a[href*="/contact"] {
  background-color: #E6B01C !important;
  color: #2F4858 !important;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  /*font-weight: 600;
  text-transform: uppercase;*/
  transition: all 0.2s ease-in-out;
  border: 2px solid #2F4858;
}

.nav-main .nav-pills li a[href*="/Contact"]:hover,
.nav-main .nav-pills li a[href*="/Contact"]:focus,
.nav-main .nav-pills li a[href*="/Contact"]:active, 
.nav-main .nav-pills li.active a[href*="/Contact"],
.nav-main .nav-pills li a[href*="/contact"]:hover,
.nav-main .nav-pills li a[href*="/contact"]:focus,
.nav-main .nav-pills li a[href*="/contact"]:active, 
.nav-main .nav-pills li.active a[href*="/contact"]  {
  background-color: #FFF8EE !important;
  color: #FFB153 !important;
  border-color: #FFB153;
}

/* accordion */
.accordion-button-trans {
  background-color: transparent !important;
  box-shadow: none !important;
}
	.accordion-button-trans:not(.collapsed) {
	  background-color: transparent !important;
	  color: inherit !important;
	}
	.accordion-button-trans:hover {
	  background-color: #006472 !important;
	  box-shadow: none !important;
	}
.accordion-body-trans, .accordion-item-trans {
  background-color: transparent !important;
}

/* OC: Counter Template */
.counter-append {
  font-size: 1.25em;   /* smaller than the counter */
  font-weight: normal; /* not bold */
  margin-left: 2px;   /* optional spacing */
  opacity: 0.8;       /* optional subtle look */
}

/* Final CTA */
.footer-dock-image {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: auto;
  z-index: 1;
  pointer-events: none;
}

/* contact form */

#LiveForm547 ul {
	box-shadow: none !important;
	margin-top: 1.5em;
}
	#LiveForm547 input[type="submit"]{ 
		background-color: #2F4858;
		color: #ffffff;
	}

/* Ensure links inside .small text don't shrink twice */
.small, 
.small a, .small a:hover, .small a:visited, 
.small a:active {
  font-size: 0.875rem !important; /* match Bootstrap's .small size */
  line-height: 1.5;               /* keep good readability */
}

.small a {
  color: inherit;                 /* match surrounding text color */
}


/* general stuff */
.z-1 {
  z-index: 1 !important;
}
.z-2 {
  z-index: 2 !important;
}
.z-900 {
  z-index: 900 !important;
}

.text-primary    { color: #2F4858 !important; }
.text-secondary  { color: #006472 !important; }
.text-tertiary   { color: #008173 !important; }
.text-quaternary { color: #3799B0 !important; }
.text-h5         { color: #8BAB34 !important; }
.text-h6         { color: #E6B01C !important; }

.bg-primary, .bg-bve    { background-color: #2F4858 !important; }
.bg-secondary  { background-color: #006472 !important; }
.bg-tertiary   { background-color: #008173 !important; }
.bg-quaternary { background-color: #3799B0 !important; }
.bg-h5         { background-color: #8BAB34 !important; }
.bg-h6         { background-color: #E6B01C !important; }
.bg-white-translucent {
  background-color: rgba(255, 255, 255, 0.85); /* 85% opaque white */
  border-radius: 0.5rem; /* Optional: soften edges */
}

.text-normalcase {
  text-transform: none !important;
}

.text-shadow-none { text-shadow: none !important; }
.text-shadow-sm { text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15) !important; }
.text-shadow { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important; }
.text-shadow-lg { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important; }
.text-shadow-light-sm { text-shadow: 0 1px 1px rgba(255, 255, 255, 0.15) !important; }
.text-shadow-light { text-shadow: 0 1px 2px rgba(255, 255, 255, 0.25) !important; }
.text-shadow-light-lg { text-shadow: 0 2px 4px rgba(255, 255, 255, 0.35) !important; }

.shadow-gradient-top {
  position: relative;
  background: #fff; 
  overflow: hidden;
}

.shadow-gradient-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 60px; 
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent);
  pointer-events: none; 
  z-index: 1;
}

.shadow-gradient-bottom {
  position: relative;
  background: #fff;
  overflow: hidden;
}

.shadow-gradient-bottom::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 60px;
  width: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent);
  pointer-events: none;
  z-index: 1;
}

.btn-emergency-pulse {
  animation: pulse 1.2s infinite;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(220,53,69, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(220,53,69, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220,53,69, 0); }
}

.visually-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.max-w-90 {
  max-width: 90% !important;
  width: 100%;
  height: auto;
}

.max-w-80 {
  max-width: 80% !important;
  width: 100%;
  height: auto;
}

.max-w-75 {
  max-width: 75% !important;
  width: 100%;
  height: auto;
}

.max-w-50 {
  max-width: 50% !important;
  width: 100%;
  height: auto;
}

.max-w-40 {
  max-width: 40% !important;
  width: 100%;
  height: auto;
}

.max-w-25 {
  max-width: 25% !important;
  width: 100%;
  height: auto;
}

a.btn {
	text-decoration: none !important;
}


/* =========================================================
   Bay Valley Electric Login Page Polish
   Safe portal.css addition only.

   Purpose:
   - Modernize the built-in login view.
   - Keep both authentication providers visually consistent.
   - Prevent tab flicker by styling LoginTab, LoginTabHover,
     and LoginTabSelected with identical layout rules.
   - Avoid nested card-on-card styling.
   ========================================================= */

/* Local login design tokens */
body:has(.dnnLogin) {
  --bve-login-primary: #2F4858;
  --bve-login-primary-dark: #243946;
  --bve-login-secondary: #006472;
  --bve-login-secondary-dark: #004f5a;
  --bve-login-tertiary: #008173;
  --bve-login-blue: #3799B0;
  --bve-login-green: #8BAB34;
  --bve-login-gold: #E6B01C;
  --bve-login-gold-soft: #FFF8EE;
  --bve-login-ink: #1f2a33;
  --bve-login-muted: rgba(31, 42, 51, 0.68);
  --bve-login-border: rgba(47, 72, 88, 0.18);
  --bve-login-border-strong: rgba(47, 72, 88, 0.28);
  --bve-login-surface: #ffffff;
  --bve-login-soft: #f7fbfc;
  --bve-login-soft-2: #eef7fa;
  --bve-login-shadow-sm: 0 0.35rem 1rem rgba(31, 42, 51, 0.08);
  --bve-login-shadow-md: 0 1rem 2.75rem rgba(31, 42, 51, 0.12);
  --bve-login-shadow-lg: 0 1.5rem 4rem rgba(31, 42, 51, 0.14);
  --bve-login-radius: 0.95rem;
  --bve-login-radius-lg: 1.2rem;
  --bve-login-focus: 0 0 0 0.22rem rgba(230, 176, 28, 0.28);
}

/* Page-level spacing and centering */
body:has(.dnnLogin) .main {
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

body:has(.dnnLogin) #dnn_ContentPane,
body:has(.dnnLogin) #dnn_contentPane {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

/* Authentication providers rely on this class for state switching. */
.dnnLogin .hidden {
  display: none !important;
}

/* Main login shell */
.dnnLogin {
  width: 100%;
  max-width: 980px;
  margin: 0 auto clamp(2rem, 4vw, 4rem);
  color: var(--bve-login-ink);
}

/* Remove old visual noise from provider wrappers */
.dnnLogin,
.dnnLogin .loginContent,
.dnnLogin .LoginContainer,
.dnnLogin .dnnLoginService,
.dnnLogin .pwLogin {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   Login Tabs
   ========================================================= */

/*
   Use one stable rule set for every real tab state.

   LoginTabHover must get the same layout rules as LoginTab and
   LoginTabSelected. Otherwise, the provider tab can jump or flicker
   when the hover class is swapped in.
*/
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--bve-login-border) !important;
  border-bottom: 0 !important;
  border-radius: var(--bve-login-radius-lg) var(--bve-login-radius-lg) 0 0 !important;
  background:
    linear-gradient(180deg, #ffffff, rgba(247, 251, 252, 0.88)) !important;
  box-shadow: var(--bve-login-shadow-sm) !important;
  overflow: hidden !important;
}

/* All possible tab states get identical layout. */
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTab,
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabHover,
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabSelected,
.dnnLogin .LoginTab,
.dnnLogin .LoginTabHover,
.dnnLogin .LoginTabSelected {
  position: relative !important;
  display: flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0.95rem 1.35rem 1.15rem !important;
  border: 0 !important;
  border-right: 1px solid rgba(47, 72, 88, 0.13) !important;
  border-radius: 0 !important;
  color: var(--bve-login-primary) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 0.92rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-variant: normal !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: none !important;
  user-select: none !important;
  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease !important;
}

body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTab:last-child,
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabHover:last-child,
body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabSelected:last-child,
.dnnLogin .LoginTab:last-child,
.dnnLogin .LoginTabHover:last-child,
.dnnLogin .LoginTabSelected:last-child {
  border-right: 0 !important;
}

/* Normalize inner text/link wrappers */
.dnnLogin .LoginTab *,
.dnnLogin .LoginTabHover *,
.dnnLogin .LoginTabSelected *,
.dnnLogin .LoginTab a,
.dnnLogin .LoginTabHover a,
.dnnLogin .LoginTabSelected a,
.dnnLogin .LoginTab span,
.dnnLogin .LoginTabHover span,
.dnnLogin .LoginTabSelected span {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  font-variant: normal !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  white-space: inherit !important;
}

/* Inactive tab */
.dnnLogin .LoginTab {
  color: rgba(47, 72, 88, 0.74) !important;
  background: rgba(238, 247, 250, 0.62) !important;
  box-shadow: inset 0 -1px 0 rgba(47, 72, 88, 0.08) !important;
}

/* Hover tab state, including class-swapped LoginTabHover */
.dnnLogin .LoginTabHover,
.dnnLogin .LoginTab:hover,
.dnnLogin .LoginTab:focus,
.dnnLogin .LoginTab:focus-visible {
  color: var(--bve-login-primary) !important;
  background: #ffffff !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
  padding: 0.95rem 1.35rem 1.15rem !important;
  box-shadow:
    inset 0 -3px 0 rgba(230, 176, 28, 0.72),
    inset 0 0 0 999px rgba(230, 176, 28, 0.07) !important;
  transform: none !important;
}

/* Selected tab */
.dnnLogin .LoginTabSelected,
.dnnLogin .LoginTabSelected:hover,
.dnnLogin .LoginTabSelected:focus,
.dnnLogin .LoginTabSelected:focus-visible {
  color: var(--bve-login-ink) !important;
  background: #ffffff !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
  padding: 0.95rem 1.35rem 1.15rem !important;
  box-shadow: inset 0 -4px 0 var(--bve-login-gold) !important;
  transform: none !important;
}

/* Keep inner text stable during all hover/focus states */
.dnnLogin .LoginTab:hover *,
.dnnLogin .LoginTab:focus *,
.dnnLogin .LoginTab:focus-visible *,
.dnnLogin .LoginTabHover *,
.dnnLogin .LoginTabSelected:hover *,
.dnnLogin .LoginTabSelected:focus *,
.dnnLogin .LoginTabSelected:focus-visible * {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
}

/* Remove inherited/generated tab decorations */
.dnnLogin .LoginTab::before,
.dnnLogin .LoginTab::after,
.dnnLogin .LoginTabHover::before,
.dnnLogin .LoginTabHover::after,
.dnnLogin .LoginTabSelected::before,
.dnnLogin .LoginTabSelected::after,
.dnnLogin .LoginTab *::before,
.dnnLogin .LoginTab *::after,
.dnnLogin .LoginTabHover *::before,
.dnnLogin .LoginTabHover *::after,
.dnnLogin .LoginTabSelected *::before,
.dnnLogin .LoginTabSelected *::after {
  display: none !important;
  content: none !important;
}

/* Keyboard focus without layout changes */
.dnnLogin .LoginTab:focus-visible,
.dnnLogin .LoginTabHover:focus-visible,
.dnnLogin .LoginTabSelected:focus-visible {
  outline: none !important;
  box-shadow:
    inset 0 0 0 2px rgba(230, 176, 28, 0.38),
    inset 0 -4px 0 var(--bve-login-gold) !important;
}

/* =========================================================
   Login Panel
   ========================================================= */

.dnnLogin .LoginContainerGroup {
  position: relative;
  margin: 0 !important;
  padding: clamp(1.85rem, 3vw, 2.5rem) !important;
  border: 1px solid var(--bve-login-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--bve-login-radius-lg) var(--bve-login-radius-lg) !important;
  background:
    radial-gradient(circle at top left, rgba(230, 176, 28, 0.12), transparent 18rem),
    radial-gradient(circle at bottom right, rgba(0, 100, 114, 0.08), transparent 18rem),
    linear-gradient(180deg, #ffffff, rgba(247, 251, 252, 0.92)) !important;
  box-shadow: var(--bve-login-shadow-lg) !important;
  overflow: hidden;
}

/* Remove inner bordered boxes */
.dnnLogin .LoginContainerGroup .LoginContainer,
.dnnLogin .LoginContainerGroup .dnnLoginService,
.dnnLogin .LoginContainerGroup .pwLogin,
.dnnLogin .LoginContainerGroup fieldset,
.dnnLogin .LoginContainerGroup .dnnForm,
.dnnLogin .LoginContainerGroup .dnnFormItem,
.dnnLogin .LoginContainerGroup .dnnActions {
  border: 0 !important;
  box-shadow: none !important;
}

/* Some providers put an inline border-top on their own wrapper */
.dnnLogin .LoginContainer,
.dnnLogin .dnnLoginService,
.dnnLogin .pwLogin {
  padding: 0 !important;
  margin: 0 !important;
  border-top: 0 !important;
}

/* Form rows */
.dnnLogin .dnnFormItem {
  display: grid !important;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem 1rem;
  width: 100%;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Hide empty label columns without collapsing the grid on desktop */
.dnnLogin .dnnFormItem > .dnnLabel:empty,
.dnnLogin .dnnFormItem > .dnnFormLabel:empty,
.dnnLogin .dnnFormItem > .dnnLabel:has(label:empty),
.dnnLogin .dnnFormItem > .dnnFormLabel:has(label:empty) {
  visibility: hidden;
}

/* Labels */
.dnnLogin .dnnLabel,
.dnnLogin .dnnFormLabel {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bve-login-primary) !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  line-height: 1.25;
  text-align: left !important;
}

.dnnLogin .dnnLabel label,
.dnnLogin .dnnFormLabel label,
.dnnLogin label.dnnFormLabel {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

/* Inputs */
.dnnLogin input[type="text"],
.dnnLogin input[type="password"],
.dnnLogin input[type="email"] {
  width: 100% !important;
  max-width: none !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 0.75rem 0.9rem !important;
  border: 1px solid var(--bve-login-border) !important;
  border-radius: 0.8rem !important;
  background: #ffffff !important;
  color: var(--bve-login-ink) !important;
  font-size: 0.96rem !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease;
}

.dnnLogin input[type="text"]:focus,
.dnnLogin input[type="password"]:focus,
.dnnLogin input[type="email"]:focus {
  border-color: rgba(230, 176, 28, 0.7) !important;
  box-shadow: var(--bve-login-focus) !important;
  outline: none !important;
}

.dnnLogin input::placeholder {
  color: rgba(31, 42, 51, 0.48);
}

/* Verification/status messages */
.dnnLogin .dnnFormMessage {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: none !important;
  margin: 0.25rem 0 1.45rem 0 !important;
  padding: 1rem 1.1rem !important;
  border-radius: var(--bve-login-radius) !important;
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  line-height: 1.45;
  text-align: center;
  box-shadow: none !important;
}

.dnnLogin .dnnFormWarning {
  border: 1px solid rgba(230, 176, 28, 0.55) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(230, 176, 28, 0.16)) !important;
  color: var(--bve-login-primary) !important;
}

.dnnLogin .dnnFormError,
.dnnLogin .dnnFormValidationSummary {
  border: 1px solid rgba(47, 72, 88, 0.3) !important;
  background: rgba(47, 72, 88, 0.08) !important;
  color: var(--bve-login-primary-dark) !important;
}

/* Remember me */
.dnnLogin .dnnLoginRememberMe {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  color: var(--bve-login-muted) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

.dnnLogin .dnnLoginRememberMe input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0 !important;
  accent-color: var(--bve-login-gold);
}

.dnnLogin .dnnLoginRememberMe label {
  margin: 0 !important;
  color: var(--bve-login-muted) !important;
  font-weight: 700 !important;
  cursor: pointer;
}

/* =========================================================
   Actions
   ========================================================= */

.dnnLogin .dnnActions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

.dnnLogin .dnnActions li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.dnnLogin .dnnPrimaryAction,
.dnnLogin .dnnSecondaryAction,
.dnnLogin #btnSendEmail,
.dnnLogin #btnSendEmailDisabled {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  min-height: 44px;
  margin: 0 !important;
  padding: 0.72rem 1.25rem !important;
  border-radius: 999px !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  line-height: 1.1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

/* Primary actions */
.dnnLogin .dnnPrimaryAction,
.dnnLogin #btnSendEmail {
  border: 1px solid transparent !important;
  background:
    linear-gradient(135deg, var(--bve-login-gold), #FFB153) !important;
  color: var(--bve-login-primary) !important;
  box-shadow: 0 0.75rem 1.5rem rgba(230, 176, 28, 0.26) !important;
}

.dnnLogin .dnnPrimaryAction:hover,
.dnnLogin .dnnPrimaryAction:focus,
.dnnLogin #btnSendEmail:hover,
.dnnLogin #btnSendEmail:focus {
  background:
    linear-gradient(135deg, var(--bve-login-primary), var(--bve-login-secondary)) !important;
  color: #ffffff !important;
  box-shadow: 0 1rem 2rem rgba(47, 72, 88, 0.26) !important;
  transform: translateY(-1px);
}

/* Secondary actions */
.dnnLogin .dnnSecondaryAction {
  border: 1px solid var(--bve-login-border) !important;
  background: #ffffff !important;
  color: var(--bve-login-primary) !important;
}

.dnnLogin .dnnSecondaryAction:hover,
.dnnLogin .dnnSecondaryAction:focus {
  border-color: var(--bve-login-primary) !important;
  background: var(--bve-login-primary) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Disabled send-code state */
.dnnLogin #btnSendEmailDisabled,
.dnnLogin .aspNetDisabled,
.dnnLogin .dnnDisabledAction {
  border: 1px solid rgba(47, 72, 88, 0.12) !important;
  background: rgba(47, 72, 88, 0.08) !important;
  color: rgba(31, 42, 51, 0.42) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Reset password area */
.dnnLogin .dnnLoginActions {
  margin: 0.15rem 0 0 0 !important;
  padding: 0 !important;
}

/* Custom auth countdown/status text */
.dnnLogin #msgCounter {
  grid-column: 2;
  padding-left: 0 !important;
  margin: -0.35rem 0 0.9rem 0 !important;
}

.dnnLogin #msgCounter p {
  margin: 0 !important;
  color: var(--bve-login-muted) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
}

/* Keep hidden provider state elements hidden */
.dnnLogin #btnSendEmail.hidden,
.dnnLogin #btnSendEmailDisabled.hidden,
.dnnLogin #msgCounter.hidden,
.dnnLogin #valueTimeSpan.hidden,
.dnnLogin #valueMessageSpan.hidden {
  display: none !important;
}

.dnnLogin #btnSendEmailDisabled:not(.hidden) {
  opacity: 0.72;
  box-shadow: none !important;
}

/* =========================================================
   Responsive Login
   ========================================================= */

@media (max-width: 767.98px) {
  body:has(.dnnLogin) .main {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }

  .dnnLogin {
    max-width: 100%;
  }

  body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) {
    min-height: 52px !important;
    border-radius: var(--bve-login-radius) var(--bve-login-radius) 0 0 !important;
    overflow-x: auto !important;
  }

  body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTab,
  body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabHover,
  body .dnnLogin :is(#dnn_ctr_Login_tsLogin_lc, .LoginTabGroup) > span.LoginTabSelected,
  .dnnLogin .LoginTab,
  .dnnLogin .LoginTabHover,
  .dnnLogin .LoginTabSelected {
    flex: 1 0 auto !important;
    min-height: 52px !important;
    padding: 0.82rem 0.9rem 1.05rem !important;
    font-size: 0.82rem !important;
    white-space: nowrap !important;
  }

  .dnnLogin .LoginContainerGroup {
    padding: 1.35rem 1.15rem 1.15rem !important;
    border-radius: 0 0 var(--bve-login-radius) var(--bve-login-radius) !important;
  }

  .dnnLogin .dnnFormItem {
    display: block !important;
    margin-bottom: 1rem !important;
  }

  .dnnLogin .dnnLabel,
  .dnnLogin .dnnFormLabel {
    display: block !important;
    margin-bottom: 0.4rem !important;
  }

  .dnnLogin .dnnFormItem > .dnnLabel:empty,
  .dnnLogin .dnnFormItem > .dnnFormLabel:empty,
  .dnnLogin .dnnFormItem > .dnnLabel:has(label:empty),
  .dnnLogin .dnnFormItem > .dnnFormLabel:has(label:empty) {
    display: none !important;
  }

  .dnnLogin .dnnActions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0.6rem !important;
  }

  .dnnLogin .dnnPrimaryAction,
  .dnnLogin .dnnSecondaryAction,
  .dnnLogin #btnSendEmail,
  .dnnLogin #btnSendEmailDisabled {
    width: 100%;
    min-width: 0;
  }

  .dnnLogin #msgCounter {
    grid-column: auto;
    margin-top: 0 !important;
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .dnnLogin .LoginTab,
  .dnnLogin .LoginTabHover,
  .dnnLogin .LoginTabSelected,
  .dnnLogin input[type="text"],
  .dnnLogin input[type="password"],
  .dnnLogin input[type="email"],
  .dnnLogin .dnnPrimaryAction,
  .dnnLogin .dnnSecondaryAction,
  .dnnLogin #btnSendEmail,
  .dnnLogin #btnSendEmailDisabled {
    transition-duration: 0.001ms !important;
  }

  .dnnLogin .dnnPrimaryAction:hover,
  .dnnLogin .dnnPrimaryAction:focus,
  .dnnLogin .dnnSecondaryAction:hover,
  .dnnLogin .dnnSecondaryAction:focus,
  .dnnLogin #btnSendEmail:hover,
  .dnnLogin #btnSendEmail:focus {
    transform: none !important;
  }
}