/*
 * ============================================================
 *  sracinc.org — Midnight Aerospace Theme
 *  Version 2.0 — Clean Build | March 2026
 *  File: /css/ai_dark.css
 *
 *  NOTE: default.css has been removed from lay_default.cfm
 *  This file is the sole stylesheet (alongside calendar.css)
 *
 *  Load order in lay_default.cfm <head>:
 *    1. calendar.css
 *    2. Google Fonts (Inter + JetBrains Mono)
 *    3. THIS FILE
 *
 *  Font links for <head>:
 *  <link rel="preconnect" href="https://fonts.googleapis.com">
 *  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
 * ============================================================
 */


/* ============================================================
   1. CSS VARIABLES
   ============================================================ */
:root {
  --sky-deep:        #080c14;
  --sky-dark:        #0d1520;
  --sky-mid:         #111d2e;
  --sky-light:       #1a2d45;
  --sky-lighter:     #243550;
  --electric:        #00d4ff;
  --electric-dark:   #00a8cc;
  --electric-glow:   rgba(0,212,255,0.15);
  --electric-subtle: rgba(0,212,255,0.08);
  --amber:           #f59e0b;
  --amber-dark:      #d97706;
  --amber-glow:      rgba(245,158,11,0.15);
  --green-ok:        #10b981;
  --red-alert:       #ef4444;
  --text-primary:    #e8edf5;
  --text-secondary:  #8899aa;
  --text-muted:      #4a6080;
  --text-white:      #ffffff;
  --border:          rgba(0,212,255,0.12);
  --border-subtle:   rgba(255,255,255,0.06);
  --border-amber:    rgba(245,158,11,0.25);
  --glass-bg:        rgba(13,21,32,0.85);
  --glass-bg-light:  rgba(26,45,69,0.70);
  --shadow-sm:       0 2px 8px rgba(0,0,0,0.4);
  --shadow-md:       0 4px 24px rgba(0,0,0,0.5);
  --shadow-lg:       0 8px 40px rgba(0,0,0,0.6);
  --glow-electric:   0 0 20px rgba(0,212,255,0.3);
  --glow-amber:      0 0 20px rgba(245,158,11,0.3);
  --font:            'Inter', 'PT Sans', Arial, sans-serif;
  --font-mono:       'JetBrains Mono', 'Courier New', monospace;
  --header-h:        70px;
  --sidebar-w:       220px;
  --max-w:           1280px;
  --radius:          8px;
  --radius-lg:       14px;
  --radius-xl:       20px;
  --trans:           0.2s ease;
}


/* ============================================================
   2. RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family:      var(--font)         !important;
  font-size:        15px                !important;
  color:            var(--text-primary) !important;
  background-color: var(--sky-deep)     !important;
  background-image: radial-gradient(ellipse at 20% 0%, rgba(0,212,255,0.04) 0%, transparent 60%),
                    radial-gradient(ellipse at 80% 100%, rgba(245,158,11,0.03) 0%, transparent 60%);
  background-attachment: fixed;
  margin:           0 !important;
  padding:          0 !important;
  line-height:      1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family:  var(--font) !important;
  font-weight:  700;
  line-height:  1.2;
  margin:       0 0 0.75rem 0;
  letter-spacing: -0.02em;
}
h1, h1[style] { font-size: 2rem    !important; font-weight: 800 !important; color: var(--electric)   !important; letter-spacing: -0.03em; text-shadow: 0 0 30px rgba(0,212,255,0.4); }
h2, h2[style] { font-size: 1.4rem  !important; color: var(--text-primary) !important; font-weight: 700 !important; }
h3, h3[style] { font-size: 1.15rem !important; color: var(--electric)     !important; font-weight: 600 !important; }
h4, h4[style] { font-size: 1rem    !important; color: var(--text-primary) !important; }

p { margin: 0 0 0.9rem; font-size: 0.975rem; color: var(--text-primary); line-height: 1.7; }

a             { color: var(--electric) !important; text-decoration: none; transition: color var(--trans); }
a:hover       { color: var(--electric-dark) !important; text-decoration: none !important; }
a:link        { color: var(--electric) !important; }
a:visited     { color: var(--electric) !important; }

img           { max-width: 100%; height: auto; }
ul, ol        { padding-left: 1.4rem; margin-bottom: 0.9rem; }
li            { margin-bottom: 0.35rem; font-size: 0.975rem; color: var(--text-primary); }

/* Hide old table layout */
body > table       { display: none !important; }
img[src*="spacer"] { display: none !important; }

/* Content images */
.site-content img        { max-width: 100% !important; height: auto !important; display: block; border-radius: var(--radius) !important; }
.site-content img[style] { width: 100%     !important; height: auto !important; }

/* Iframes — force block + full width + 16:9 */
.site-content iframe,
.wysiwyg-content iframe,
.cat_text_large iframe,
#dsppage iframe {
  display:       block   !important;
  width:         100%    !important;
  max-width:     100%    !important;
  min-width:     0       !important;
  aspect-ratio:  16 / 9  !important;
  height:        auto    !important;
  border-radius: var(--radius) !important;
  border:        1px solid var(--border) !important;
  margin:        1rem 0  !important;
}

/* WYSIWYG inline style overrides */
span[style*="background-color:black"],
span[style*="background-color: black"] {
  background-color: var(--sky-light)  !important;
  color:            var(--electric)   !important;
  border:           1px solid var(--border) !important;
  border-radius:    var(--radius-xl)  !important;
  padding:          4px 14px          !important;
  display:          inline-block      !important;
  font-size:        0.82rem           !important;
  font-weight:      600               !important;
}

div.thickline, div.thickline[style] {
  border:           none              !important;
  border-top:       1px solid var(--border) !important;
  height:           0                 !important;
  background:       transparent       !important;
  background-color: transparent       !important;
  color:            transparent       !important;
  margin:           1.25rem 0         !important;
}

div.thinline, div.thinline[style] {
  border:     none !important;
  border-top: 1px solid var(--border-subtle) !important;
  height:     0    !important;
  background: transparent !important;
  margin:     0.6rem 0 !important;
}


/* ============================================================
   3. SITE WRAPPER
   ============================================================ */
.site-wrapper {
  min-height:     100vh;
  display:        flex;
  flex-direction: column;
}


/* ============================================================
   4. HEADER
   ============================================================ */
.site-header {
  position:                sticky;
  top:                     0;
  z-index:                 500;
  width:                   100%;
  height:                  var(--header-h);
  background:              var(--glass-bg);
  backdrop-filter:         blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom:           1px solid var(--border);
  box-shadow:              var(--shadow-md);
}

.site-header::before {
  content:    '';
  position:   absolute;
  top:        0; left: 0; right: 0;
  height:     2px;
  background: linear-gradient(90deg, transparent 0%, var(--electric) 30%, var(--amber) 70%, transparent 100%);
  opacity:    0.7;
}

.header-inner {
  max-width:   var(--max-w);
  margin:      0 auto;
  padding:     0 1.5rem;
  height:      100%;
  display:     flex;
  align-items: center;
  gap:         1rem;
}

/* Logo */
.header-logo-wrap { flex-shrink: 0; display: flex; align-items: center; }

#putsitelogo {
  position:                static      !important;
  background:              transparent !important;
  backdrop-filter:         none        !important;
  -webkit-backdrop-filter: none        !important;
  box-shadow:              none        !important;
  border:                  none        !important;
  padding:                 0           !important;
  margin:                  0           !important;
  width:                   auto        !important;
  height:                  auto        !important;
  display:                 flex        !important;
  align-items:             center      !important;
  z-index:                 auto        !important;
}

#putsitelogo img {
  height:  44px !important;
  width:   auto !important;
  display: inline-block !important;
  filter:  brightness(1.1) drop-shadow(0 0 8px rgba(0,212,255,0.3));
}

#putsitelogo a, #siteName {
  font-family:     var(--font)       !important;
  font-size:       1.25rem           !important;
  font-weight:     800               !important;
  color:           var(--text-white) !important;
  text-decoration: none              !important;
  white-space:     nowrap;
}

/* Weather */
.header-weather { flex-shrink: 0; display: flex; align-items: center; }

.weather-widget {
  display:        flex;
  flex-direction: column;
  gap:            2px;
  padding:        5px 12px;
  background:     var(--electric-subtle);
  border:         1px solid var(--border);
  border-radius:  var(--radius);
  white-space:    nowrap;
}

.weather-row     { display: flex; align-items: center; gap: 5px; font-family: var(--font-mono) !important; font-size: 0.78rem !important; font-weight: 600; color: var(--electric) !important; line-height: 1; }
.weather-temp    { font-weight: 700 !important; color: var(--text-white) !important; font-size: 0.88rem !important; }
.weather-wind,
.weather-precip  { font-size: 0.75rem !important; color: var(--text-secondary) !important; }
.weather-rain    { color: var(--electric) !important; }
.weather-icon    { font-size: 0.8rem; color: var(--amber); }
.weather-divider { color: var(--text-muted); font-size: 0.7rem; padding: 0 2px; }
.weather-time    { font-family: var(--font-mono) !important; font-size: 0.65rem !important; color: var(--text-muted) !important; line-height: 1; }

/* ?? TOP NAV — white text, uppercase, clearly readable on dark header ?? */
.header-nav {
  flex:            1;
  display:         flex;
  align-items:     center;
  justify-content: flex-end;
  gap:             2px;
  overflow:        hidden;
}

.header-nav table { background: transparent !important; border: none !important; border-collapse: collapse !important; }
.header-nav td    { background: transparent !important; border: none !important; padding: 0 !important; vertical-align: middle !important; }
.header-nav tr    { background: transparent !important; }

/* Single authoritative rule — covers all link states */
.header-nav a,
.header-nav a:link,
.header-nav a:visited,
.header-nav a.menu_trail,
.header-nav a.menu_trail:link,
.header-nav a.menu_trail:visited {
  display:         inline-flex  !important;
  align-items:     center       !important;
  font-family:     var(--font)  !important;
  font-size:       0.78rem      !important;
  font-weight:     700          !important;
  color:           #8899aa  	!important;
  padding:         6px 12px     !important;
  border-radius:   var(--radius)!important;
  text-decoration: none         !important;
  white-space:     nowrap;
  background:      transparent  !important;
  border:          1px solid transparent;
  letter-spacing:  0.06em;
  text-transform:  uppercase;
  transition:      all var(--trans);
  opacity:         1            !important;
}

.header-nav a:hover,
.header-nav a.menu_trail:hover {
  color:        var(--electric)           !important;
  background:   rgba(0,212,255,0.1)       !important;
  border-color: rgba(0,212,255,0.25)      !important;
  text-shadow:  0 0 12px rgba(0,212,255,0.5) !important;
}

/* Mobile hamburger */
.mobile-menu-btn {
  display:         none;
  flex-shrink:     0;
  align-items:     center;
  justify-content: center;
  background:      var(--electric-subtle);
  border:          1px solid var(--border);
  border-radius:   var(--radius);
  width:           38px;
  height:          38px;
  font-size:       1.1rem;
  cursor:          pointer;
  color:           var(--electric);
  margin-left:     auto;
  line-height:     1;
  transition:      all var(--trans);
}
.mobile-menu-btn:hover { background: var(--electric-glow) !important; box-shadow: var(--glow-electric) !important; }


/* ============================================================
   5. MOBILE DRAWER
   ============================================================ */
.mobile-drawer {
  display:         none;
  width:           100%;
  background:      var(--glass-bg);
  border-top:      1px solid var(--border);
  box-shadow:      var(--shadow-lg);
  backdrop-filter: blur(20px);
}

.mobile-drawer-inner {
  max-width:   var(--max-w);
  margin:      0 auto;
  padding:     1.25rem 1.5rem;
  display:     flex;
  gap:         2rem;
  align-items: flex-start;
}

.mobile-nav { flex: 1; display: flex; flex-direction: column; gap: 2px; }

.mobile-nav a,
.mobile-nav a:link,
.mobile-nav a:visited,
.mobile-nav a.menu_trail,
.mobile-nav a.menu_trail:link,
.mobile-nav a.menu_trail:visited {
  display:         block         !important;
  padding:         10px 14px     !important;
  border-radius:   var(--radius) !important;
  font-family:     var(--font)   !important;
  font-size:       0.9rem        !important;
  font-weight:     600           !important;
  color:           #8899aa       !important;
  text-decoration: none          !important;
  background:      transparent   !important;
  border:          1px solid transparent;
  letter-spacing:  0.02em;
  transition:      all var(--trans);
}

.mobile-nav a:hover,
.mobile-nav a.menu_trail:hover {
  background:   var(--electric-subtle) !important;
  color:        var(--electric)        !important;
  border-color: var(--border)          !important;
}

.mobile-login { width: 260px; flex-shrink: 0; }
.mobile-drawer.open { display: block; }


/* ============================================================
   6. SITE BODY
   ============================================================ */
.site-body {
  flex:        1;
  display:     flex;
  align-items: flex-start;
  max-width:   var(--max-w);
  width:       100%;
  margin:      0 auto;
  padding:     1.5rem 1.5rem 2rem;
  gap:         1.5rem;
}


/* ============================================================
   7. SIDEBAR
   ============================================================ */
.site-sidebar {
  flex-shrink:    0;
  width:          var(--sidebar-w);
  display:        flex;
  flex-direction: column;
  gap:            0.75rem;
  position:       sticky;
  top:            calc(var(--header-h) + 1rem);
  max-height:     calc(100vh - var(--header-h) - 2rem);
  overflow-y:     auto;
}

/* Admin links */
#putadminlinks {
  background:    var(--sky-mid)  !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius-lg)!important;
  padding:       0.5rem 0.75rem  !important;
}

#putadminlinks a,
#putadminlinks a:link,
#putadminlinks a:visited {
  display:        block          !important;
  padding:        6px 10px       !important;
  font-family:    var(--font)    !important;
  font-size:      0.78rem        !important;
  font-weight:    600            !important;
  color:          var(--amber)   !important;
  border-radius:  var(--radius)  !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition:     all var(--trans);
}

#putadminlinks a:hover { background: var(--amber-glow) !important; }

/* Login box outer */
#putloginbox, #putloginbox.layouts {
  padding:    0 !important;
  background: transparent !important;
  border:     none !important;
}

.login-box {
  background:    var(--sky-mid)  !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius-lg)!important;
  overflow:      hidden !important;
  box-shadow:    var(--shadow-md)!important;
}

.login-box-header {
  background:     linear-gradient(135deg, var(--sky-light), var(--sky-lighter)) !important;
  color:          var(--electric)  !important;
  font-family:    var(--font-mono) !important;
  font-size:      0.68rem          !important;
  font-weight:    600              !important;
  padding:        10px 14px        !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom:  1px solid var(--border);
  display:        flex;
  align-items:    center;
  gap:            8px;
}

.login-box-header::before { content: '?'; color: var(--green-ok); font-size: 0.6rem; }

.login-box-body { padding: 14px !important; }

.login-box-body form { display: flex !important; flex-direction: column !important; gap: 0 !important; }

/* ?? Login labels — electric blue, clearly readable on dark panel ?? */
.login-label {
  font-family:    var(--font-mono) !important;
  font-size:      0.65rem          !important;
  font-weight:    700              !important;
  color:          #00d4ff          !important;
  display:        block            !important;
  margin-bottom:  4px              !important;
  margin-top:     10px             !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity:        1               !important;
}

.login-label:first-of-type { margin-top: 0 !important; }

.login-input {
  width:         100%            !important;
  display:       block           !important;
  box-sizing:    border-box      !important;
  padding:       9px 12px        !important;
  margin-bottom: 0               !important;
  background:    var(--sky-deep) !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius)   !important;
  font-family:   var(--font-mono)!important;
  font-size:     0.85rem         !important;
  color:         var(--text-primary) !important;
  outline:       none            !important;
  transition:    border-color var(--trans), box-shadow var(--trans) !important;
}

.login-input:focus {
  border-color: var(--electric) !important;
  box-shadow:   0 0 0 3px var(--electric-glow) !important;
}

.login-input::placeholder { color: var(--text-muted) !important; }

.login-btn-primary {
  width:         100%            !important;
  display:       block           !important;
  box-sizing:    border-box      !important;
  margin-top:    12px            !important;
  padding:       10px 12px       !important;
  background:    linear-gradient(135deg, var(--electric), var(--electric-dark)) !important;
  color:         var(--sky-deep) !important;
  border:        none            !important;
  border-radius: var(--radius)   !important;
  font-family:   var(--font)     !important;
  font-size:     0.875rem        !important;
  font-weight:   700             !important;
  cursor:        pointer         !important;
  letter-spacing:0.03em;
  text-transform:uppercase;
  transition:    all var(--trans)!important;
  box-shadow:    0 2px 12px rgba(0,212,255,0.3) !important;
}

.login-btn-primary:hover { box-shadow: var(--glow-electric), 0 4px 16px rgba(0,212,255,0.4) !important; transform: translateY(-1px); }

.login-btn-secondary {
  width:         100%            !important;
  display:       block           !important;
  box-sizing:    border-box      !important;
  margin-top:    6px             !important;
  padding:       9px 12px        !important;
  background:    transparent     !important;
  color:         var(--text-secondary) !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius)   !important;
  font-family:   var(--font)     !important;
  font-size:     0.82rem         !important;
  font-weight:   600             !important;
  cursor:        pointer         !important;
  text-transform:uppercase;
  letter-spacing:0.03em;
  transition:    all var(--trans)!important;
}

.login-btn-secondary:hover { border-color: var(--electric) !important; color: var(--electric) !important; background: var(--electric-subtle) !important; }

.login-forgot {
  display:          block              !important;
  width:            100%               !important;
  box-sizing:       border-box         !important;
  margin-top:       8px                !important;
  padding:          7px 12px           !important;
  text-align:       center             !important;
  font-family:      var(--font-mono)   !important;
  font-size:        0.72rem            !important;
  font-weight:      500                !important;
  color:            var(--text-muted)  !important;
  background:       transparent        !important;
  border:           1px solid var(--border-subtle) !important;
  border-radius:    var(--radius)      !important;
  text-decoration:  none               !important;
  letter-spacing:   0.04em;
  transition:       all var(--trans)   !important;
}

.login-forgot:hover { color: var(--amber) !important; border-color: var(--border-amber) !important; background: var(--amber-glow) !important; text-decoration: none !important; }


/* ============================================================
   8. MAIN CONTENT
   ============================================================ */
.site-content {
  flex:          1;
  min-width:     0;
  background:    var(--sky-mid);
  border:        1px solid var(--border);
  border-radius: var(--radius-lg);
  padding:       2rem 2.25rem;
  box-shadow:    var(--shadow-md);
  position:      relative;
  overflow:      hidden;
}

.site-content::before {
  content:     '';
  position:    absolute;
  top: 0; right: 0;
  width:       200px;
  height:      200px;
  background:  radial-gradient(circle at top right, rgba(0,212,255,0.04), transparent 70%);
  pointer-events: none;
}

.mainpage, #dsppage, #catcorehome, #dspresults {
  font-family: var(--font) !important;
  font-size:   0.975rem   !important;
  color:       var(--text-primary) !important;
}

.cat_text_large { font-family: var(--font) !important; font-size: 0.975rem !important; color: var(--text-primary) !important; margin-bottom: 1rem !important; }

/* Data tables */
.site-content table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 1.25rem !important; font-family: var(--font) !important; font-size: 0.9rem !important; }
.site-content table th { background: var(--sky-light) !important; color: var(--electric) !important; padding: 10px 14px !important; text-align: left !important; font-weight: 700 !important; font-family: var(--font-mono) !important; font-size: 0.78rem !important; letter-spacing: 0.06em; text-transform: uppercase; border: none !important; border-bottom: 1px solid var(--border) !important; }
.site-content table td { padding: 9px 14px !important; border-bottom: 1px solid var(--border-subtle) !important; color: var(--text-primary) !important; vertical-align: top !important; }
.site-content table tr:nth-child(even) td { background: var(--sky-light) !important; }
.site-content table tr:hover td { background: var(--electric-subtle) !important; }

/* Product blocks */
.product { background: var(--sky-light) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; padding: 1.25rem !important; margin-bottom: 1rem !important; transition: all var(--trans) !important; }
.product:hover { border-color: var(--electric) !important; box-shadow: var(--glow-electric) !important; transform: translateY(-2px); }


/* ============================================================
   9. WYSIWYG CONTENT
   ============================================================ */
.wysiwyg-content h1, .cat_text_large h1,
.wysiwyg-content h1[style], .cat_text_large h1[style],
#dsppage h1.page, #dsppage h1 {
  color:       var(--electric) !important;
  font-weight: 800             !important;
  text-shadow: 0 0 30px rgba(0,212,255,0.3) !important;
}

.wysiwyg-content h2, .cat_text_large h2, .wysiwyg-content h2[style], .cat_text_large h2[style] { color: var(--text-primary) !important; }
.wysiwyg-content h3, .cat_text_large h3, .wysiwyg-content h3[style], .cat_text_large h3[style] { color: var(--electric) !important; }
.wysiwyg-content p, .cat_text_large p { color: var(--text-primary) !important; line-height: 1.7 !important; }
.wysiwyg-content a, .cat_text_large a { color: var(--electric) !important; }
.wysiwyg-content li, .cat_text_large li { color: var(--text-primary) !important; }
.wysiwyg-content hr, .cat_text_large hr { border: none !important; border-top: 1px solid var(--border) !important; margin: 1.5rem 0 !important; }
.wysiwyg-content img, .cat_text_large img { max-width: 100% !important; height: auto !important; border-radius: var(--radius) !important; border: 1px solid var(--border) !important; }

/* Link pills */
.link-pill {
  display:         inline-block    !important;
  background:      var(--sky-light)!important;
  color:           var(--electric) !important;
  border:          1px solid var(--border) !important;
  border-radius:   var(--radius-xl)!important;
  padding:         5px 14px        !important;
  font-family:     var(--font)     !important;
  font-size:       0.82rem         !important;
  font-weight:     600             !important;
  margin:          3px             !important;
  text-decoration: none            !important;
  letter-spacing:  0.02em;
  transition:      all var(--trans)!important;
}

.link-pill:hover,
.link-pill a:hover { background: var(--electric-glow) !important; border-color: var(--electric) !important; box-shadow: var(--glow-electric) !important; color: var(--electric) !important; text-decoration: none !important; }
.link-pill a { color: inherit !important; text-decoration: none !important; }


/* ============================================================
   10. FORMS & BUTTONS (global)
   ============================================================ */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], input[type="number"],
textarea, select, .formfield {
  font-family:   var(--font)         !important;
  font-size:     0.9rem              !important;
  padding:       9px 12px            !important;
  background:    var(--sky-deep)     !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius)       !important;
  color:         var(--text-primary) !important;
  outline:       none                !important;
  transition:    border-color var(--trans), box-shadow var(--trans) !important;
  width:         100%;
  box-sizing:    border-box          !important;
}

input:focus, textarea:focus, select:focus { border-color: var(--electric) !important; box-shadow: 0 0 0 3px var(--electric-glow) !important; }
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; }

label { font-family: var(--font-mono) !important; font-size: 0.72rem !important; font-weight: 600 !important; color: var(--text-muted) !important; display: block; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.06em; }
textarea { min-height: 110px; resize: vertical; }

button:not(.mobile-menu-btn), input[type="submit"], input[type="button"], .formbutton {
  font-family:    var(--font)    !important;
  font-size:      0.875rem       !important;
  font-weight:    700            !important;
  padding:        10px 22px      !important;
  border-radius:  var(--radius)  !important;
  border:         none           !important;
  cursor:         pointer        !important;
  background:     linear-gradient(135deg, var(--electric), var(--electric-dark)) !important;
  color:          var(--sky-deep)!important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition:     all var(--trans)!important;
  box-shadow:     0 2px 12px rgba(0,212,255,0.25) !important;
  display:        inline-block;
}

button:not(.mobile-menu-btn):hover, input[type="submit"]:hover, input[type="button"]:hover, .formbutton:hover {
  box-shadow: var(--glow-electric), 0 4px 20px rgba(0,212,255,0.35) !important;
  transform:  translateY(-1px);
}


/* ============================================================
   11. FOOTER
   ============================================================ */
.site-footer { background: var(--sky-mid); border-top: 1px solid var(--border); margin-top: auto; }
.footer-inner { max-width: var(--max-w); margin: 0 auto; padding: 0 1.5rem; }

#putbottommenus { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 2px !important; padding: 0.9rem 0 !important; border-bottom: 1px solid var(--border) !important; }

#putbottommenus a,
#putbottommenus a:link,
#putbottommenus a:visited {
  padding:        5px 11px       !important;
  border-radius:  var(--radius)  !important;
  font-family:    var(--font)    !important;
  font-size:      0.78rem        !important;
  font-weight:    600            !important;
  color:          var(--text-muted) !important;
  text-decoration:none           !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition:     all var(--trans)!important;
}

#putbottommenus a:hover { color: var(--electric) !important; background: var(--electric-subtle) !important; }
.menu_footer a { font-size: 0.78rem !important; color: var(--text-muted) !important; text-transform: uppercase; letter-spacing: 0.04em; }

#copyright { text-align: center !important; padding: 0.9rem 0 !important; font-family: var(--font-mono) !important; font-size: 0.72rem !important; color: var(--text-muted) !important; letter-spacing: 0.04em; }
#copyright a, #copyright a:link, #copyright a:visited { color: var(--text-muted) !important; }
#copyright a:hover { color: var(--electric) !important; }


/* ============================================================
   12. CONTACT FORM
   ============================================================ */
.site-content table[style*="color:#000000"],
.site-content table[style*="color: #000000"] { color: var(--text-primary) !important; }
.site-content tr[style*="color:#ffffff"],
.site-content tr[style*="color: #ffffff"] { color: var(--text-primary) !important; background: var(--sky-light) !important; }
.site-content td[style*="background-color: #ff3300"],
.site-content td[style*="background-color:#ff3300"] { background-color: var(--electric) !important; width: 6px !important; }
.site-content span[style*="display:none"],
.site-content span[style*="display: none"] { display: none !important; }


/* ============================================================
   13. CALENDAR WIDGET
   ============================================================ */
.CFWcpYearNavigation, .CFWcpMonthNavigation, .cpYearNavigation, .cpMonthNavigation { background: var(--sky-light) !important; color: var(--electric) !important; border-radius: var(--radius) !important; font-family: var(--font-mono) !important; }
.CFWcpCurrentDate, .cpCurrentDate { background: var(--electric) !important; color: var(--sky-deep) !important; border-radius: var(--radius) !important; }
.CFWcpDayColumnHeader, .cpDayColumnHeader { color: var(--text-muted) !important; font-family: var(--font-mono) !important; font-size: 0.72rem !important; }
.CFWcpCurrentMonthDate, .cpCurrentMonthDate { color: var(--text-primary) !important; }
.CFWcpOtherMonthDate, .cpOtherMonthDate { color: var(--text-muted) !important; }


/* ============================================================
   14. UTILITY CLASSES
   ============================================================ */
.text-electric { color: var(--electric)   !important; }
.text-amber    { color: var(--amber)      !important; }
.text-muted    { color: var(--text-muted) !important; }
.text-center   { text-align: center       !important; }
.text-sm       { font-size: 0.85rem       !important; }
.text-mono     { font-family: var(--font-mono) !important; }
.text-bold     { font-weight: 700         !important; }
.bg-dark       { background: var(--sky-mid) !important; }
.rounded       { border-radius: var(--radius) !important; }
.border        { border: 1px solid var(--border) !important; }
.glow          { box-shadow: var(--glow-electric) !important; }
.w-full        { width: 100% !important; }
.mt-1 { margin-top: 0.5rem !important; }   .mb-1 { margin-bottom: 0.5rem !important; }
.mt-2 { margin-top: 1rem   !important; }   .mb-2 { margin-bottom: 1rem   !important; }
.mt-3 { margin-top: 1.5rem !important; }   .mb-3 { margin-bottom: 1.5rem !important; }

.alert-info    { background: var(--electric-subtle); border-left: 3px solid var(--electric); padding: 12px 16px; border-radius: 0 var(--radius) var(--radius) 0; margin-bottom: 1rem; color: var(--text-primary); }
.alert-success { background: rgba(16,185,129,0.1);  border-left: 3px solid var(--green-ok); padding: 12px 16px; border-radius: 0 var(--radius) var(--radius) 0; margin-bottom: 1rem; color: var(--text-primary); }
.alert-warning { background: var(--amber-glow);     border-left: 3px solid var(--amber);    padding: 12px 16px; border-radius: 0 var(--radius) var(--radius) 0; margin-bottom: 1rem; color: var(--text-primary); }
.alert-error   { background: rgba(239,68,68,0.1);   border-left: 3px solid var(--red-alert); padding: 12px 16px; border-radius: 0 var(--radius) var(--radius) 0; margin-bottom: 1rem; color: var(--text-primary); }

.card       { background: var(--sky-light); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.5rem; margin-bottom: 1rem; transition: all var(--trans); }
.card:hover { border-color: var(--electric); box-shadow: var(--glow-electric); }
.card-grid  { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 1.25rem; }


/* ============================================================
   15. RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .site-body { flex-direction: column; padding: 1rem; gap: 0; }

  .site-sidebar {
    display:        none                                   !important;
    width:          100%                                   !important;
    position:       static                                 !important;
    top:            auto                                   !important;
    max-height:     none                                   !important;
    overflow-y:     visible                                !important;
    flex-direction: row                                    !important;
    flex-wrap:      wrap                                   !important;
    align-items:    flex-start                             !important;
    gap:            1rem                                   !important;
    padding:        1rem                                   !important;
    border-radius:  0 0 var(--radius-lg) var(--radius-lg) !important;
    margin-bottom:  1rem                                   !important;
    background:     var(--glass-bg)                        !important;
    border:         1px solid var(--border)                !important;
    border-top:     none                                   !important;
    backdrop-filter:blur(20px)                             !important;
  }

  .site-sidebar.open  { display: flex !important; }
  .site-sidebar.open > * { flex: 1 1 180px; min-width: 160px; max-width: 300px; }

  .header-weather     { display: none !important; }
  .mobile-menu-btn    { display: flex !important; align-items: center; justify-content: center; }
  .header-nav a, .header-nav a.menu_trail { padding: 5px 8px !important; font-size: 0.7rem !important; }
}

@media (max-width: 640px) {
  :root { --header-h: 58px; }

  h1 { font-size: 1.5rem !important; }
  h2 { font-size: 1.2rem !important; }

  .header-inner  { padding: 0 0.75rem; gap: 0.5rem; }
  .header-nav    { display: none !important; }

  .mobile-drawer-inner { flex-direction: column; padding: 0.75rem 1rem; gap: 1rem; }
  .mobile-login  { width: 100%; }

  .site-sidebar.open { flex-direction: column !important; }
  .site-sidebar.open > * { flex: none !important; width: 100% !important; max-width: 100% !important; }

  .site-body     { padding: 0.75rem; }
  .site-content  { padding: 1.25rem !important; border-radius: var(--radius) !important; }

  #putbottommenus { flex-direction: column !important; align-items: center !important; }
  button, input[type="submit"], .formbutton { width: 100% !important; padding: 12px !important; }
  input, select, textarea { font-size: 16px !important; }
}

@media print {
  .site-header, .site-sidebar, .site-footer, .mobile-menu-btn, .mobile-drawer { display: none !important; }
  .site-body    { display: block !important; padding: 0 !important; }
  .site-content { border: none !important; box-shadow: none !important; padding: 0 !important; background: white !important; }
  body          { background: white !important; color: black !important; font-size: 12pt !important; }
  a             { color: black !important; text-decoration: underline !important; }
  h1, h2, h3   { color: black !important; text-shadow: none !important; }
}

/* -- Mobile weather in drawer -- */
.mobile-weather {
  flex-shrink:   0;
  min-width:     180px;
}

.mobile-weather .weather-widget {
  background:    var(--electric-subtle) !important;
  border:        1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding:       12px 16px !important;
  white-space:   nowrap;
}

.mobile-weather .weather-row {
  font-size: 0.88rem !important;
  gap:       8px !important;
}

.mobile-weather .weather-time {
  font-size: 0.72rem !important;
  margin-top: 4px !important;
}

/* ============================================================
   END — sracinc.org Midnight Aerospace v2.0 | March 2026
   ============================================================ */
