/* ==========================================================================
 * Member-portal Industrial-Blue overrides (Bootstrap 4 base).
 * Loaded LAST in the portal layout — after bootstrap.min.css and style.css —
 * so these win. Reuses the shared --eb-* tokens from globals.css (the root
 * layout loads globals.css on portal pages too), keeping the portal buttons
 * identical in colour to the admin app. Scoped under .eg-public.
 * ========================================================================== */

.eg-public .btn {
  border-radius: var(--eb-radius);
  font-weight: var(--eb-fw);
  text-transform: none;
}

/* Primary CTA (Login / Submit / Enquire Now / Logout / Call / Directions / Get OTP / Confirm) */
.eg-public .btn-dark,
.eg-public .btn-primary {
  background-color: var(--eb-primary);
  border-color: var(--eb-primary);
  color: #fff;
}
.eg-public .btn-dark:hover, .eg-public .btn-dark:focus,
.eg-public .btn-primary:hover, .eg-public .btn-primary:focus,
.eg-public .btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--eb-primary-hover);
  border-color: var(--eb-primary-hover);
  color: #fff;
}

/* Secondary / neutral (signature-pad Clear buttons use .btn-info) */
.eg-public .btn-info {
  background-color: var(--eb-secondary-bg);
  border-color: var(--eb-border);
  color: var(--eb-secondary-fg);
}
.eg-public .btn-info:hover {
  background-color: var(--eb-secondary-bg-h);
  border-color: #b6bcc6;
  color: var(--eb-secondary-fg);
}

.eg-public .btn-success { background-color: var(--eb-success); border-color: var(--eb-success); }
.eg-public .btn-success:hover { background-color: var(--eb-success-hover); border-color: var(--eb-success-hover); }
.eg-public .btn-danger { background-color: var(--eb-danger); border-color: var(--eb-danger); }
.eg-public .btn-danger:hover { background-color: var(--eb-danger-hover); border-color: var(--eb-danger-hover); }

/* Slot tiles + outline buttons */
.eg-public .btn-outline-primary {
  color: var(--eb-primary);
  border-color: var(--eb-primary);
  background: transparent;
}
.eg-public .btn-outline-primary:hover,
.eg-public .btn-outline-primary.active,
.eg-public .btn-outline-primary:not(:disabled):not(.disabled):active {
  background-color: var(--eb-primary);
  border-color: var(--eb-primary);
  color: #fff;
}

/* My Account tabs — the Bootstrap default makes these labels tiny; enlarge them */
.eg-public .membership-nav .nav-link,
.eg-public .nav-tabs .nav-link {
  font-size: 16px;
  font-weight: 600;
  padding: 12px 18px;
}
.eg-public .nav-link.active { color: var(--eb-primary); }
.eg-public a { color: var(--eb-primary); }

/* The admin app's globals.css sets `html { font-size: 10px }` (a 62.5% root for
   its px-corrected rem scale). The customer portal uses Bootstrap-4 rem units,
   so that global rule shrinks EVERY portal text/spacing to ~62.5% — the whole
   portal looks tiny. This stylesheet loads ONLY on portal routes (and after
   globals.css), so resetting the root here restores the portal to its intended
   size without affecting the admin panel. */
html { font-size: 16px; }

/* Portal typography/layout is otherwise left to the legacy webapp/css/style.css
   so the customer portal is a 100% visual match to the live PHP demo (big tile
   titles, full card spacing). Do NOT re-add "formal"/compact overrides here. */

/* Footer policy links (Privacy / Terms / Refund). Their size/layout is set INLINE
   in PublicChrome.tsx — this stylesheet carries a 4-hour max-age, so a visitor on
   a cached copy must still get the buttons. Only the hover state lives here. */
.eg-public .policy-links a:hover,
.eg-public .policy-links a:focus {
  background: var(--eb-secondary-bg, #e2e8f0) !important;
  border-color: var(--eb-primary, #0d9488) !important;
  text-decoration: none;
}
