/* Shared text styles for every page. Load after page-specific styles. */
:root {
  --site-font: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  --site-text: 16px;
  --site-small: 14px;
  --site-heading: 32px;
}
body { font-family: var(--site-font); font-size: var(--site-text); }
body input, body select, body textarea, body button { font-family: var(--site-font); }
body main h1 { font-size: var(--site-heading); font-weight: 700; line-height: 1.2; }
body main h2 { font-size: 22px; font-weight: 700; line-height: 1.3; }
body main h3 { font-size: 18px; font-weight: 700; line-height: 1.35; }
body main p, body main address, body main .description, body main .bio { line-height: 1.6; }
body .company-card p, body .company-card address, body .intro,
body .event-hero p, body .shipping-hero p { font-size: var(--site-text); }
body main label, body .profile-form label, body .shipping-form label,
body .filters label { font-size: var(--site-small); font-weight: 600; line-height: 1.5; }
body main input, body main select, body main textarea { font-size: var(--site-text); line-height: 1.5; }
body .btn, body .control, body button.primary,
body .profile-form button, body .contact-panel button, body .chat-compose button {
  font-size: var(--site-text); font-weight: 700; line-height: 1.4;
}
body .sidebar-menu { margin: 20px 0 0; padding: 0; list-style: none; }
body .sidebar-menu li { margin: 0 0 10px; padding: 0; }
body .sidebar-menu a {
  font-family: var(--site-font); font-size: 18px; font-weight: 700;
  line-height: normal; letter-spacing: normal; text-align: left;
}
@media (max-width: 768px) {
  :root { --site-heading: 28px; }
  body .sidebar-menu { margin-top: 8px; padding-bottom: 6px; }
  body .sidebar-menu li { margin: 0; }
  body .sidebar-menu a { font-size: 15px; }
}

/* Match the admin dashboard panels and controls. */
body .sidebar, body .login-box {
  color-scheme: dark;
  color: #eaf5ff;
  border: 1px solid rgba(168,119,225,.4);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(57,30,86,.96), rgba(29,16,49,.96));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 14px 36px rgba(0,0,0,.24);
}
body .sidebar::before, body .sidebar::after,
body .login-box::before, body .login-box::after { content: none; }
body .sidebar-logo { border-bottom-color: rgba(168,119,225,.4); }
body .sidebar-menu a { color: #eaf5ff; text-shadow: none; }
body .sidebar-menu a:hover, body .sidebar-menu a.active {
  color: #39e6f2;
  background: linear-gradient(135deg, rgba(100,55,143,.95), rgba(62,32,105,.95));
  box-shadow: inset 3px 0 #39e6f2;
}
body .sidebar-menu a:focus-visible, body .login-box :is(a,button,input):focus-visible {
  outline: 2px solid #39e6f2; outline-offset: 3px;
}
body .login-box :is(h1,h2,h3,label) { color: #eaf5ff; text-shadow: none; }
body .login-box :is(p,.form-footer) { color: #bca8d3; text-shadow: none; }
body .login-box a { color: #39e6f2; }
body .login-box input {
  background: #241334; color: #eaf5ff;
  border: 1px solid rgba(168,119,225,.5); border-radius: 7px;
}
body .login-box input::placeholder { color: #bca8d3; opacity: 1; }
body .login-box input:focus { border-color: #39e6f2; }
body .login-box button, body .login-box .home-profile-link {
  color: #e9fcff; border: 1px solid rgba(57,230,242,.45); border-radius: 7px;
  background: linear-gradient(135deg, rgba(100,55,143,.95), rgba(62,32,105,.95));
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 0 18px rgba(57,230,242,.08);
}
body .login-box button:hover, body .login-box .home-profile-link:hover {
  border-color: #39e6f2; box-shadow: 0 0 20px rgba(57,230,242,.2);
}
body .login-box .error { color: #ff9aa8; }

/* Keep the logo as wide as the sidebar's content area. */
body .sidebar-logo { min-width:0; }
body .sidebar-logo > a { display:block; width:100%; min-width:0; max-width:100%; }
body .sidebar-logo img { display:block; width:100%; max-width:100%; height:auto; margin-inline:auto; object-fit:contain; }
@media (max-width:768px) {
  body .sidebar-logo > a { max-width:160px; margin-inline:auto; }
}
