/* ============================================
   SHAWN SELANDERS — OPTION 3 DESIGN SYSTEM v4.2
   Works WITH theme-injection.js
   
   ONE UNIFIED LIGHT THEME — ALL PAGES
   
   body.ss-themed = injection has run, safe to style
   ============================================ */

/* ================================================
   GOOGLE FONT IMPORT
   ================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ================================================
   ROOT VARIABLES
   ================================================ */
:root {
  --ss-navy: #0f2240;
  --ss-blue: #2E75B6;
  --ss-blue-light: #3d8fd4;
  --ss-blue-dark: #1a5a94;
  --ss-gold: #c4a030;
  --ss-gold-light: #d4b840;
  --ss-red: #c0392b;
  --ss-text: #2d3748;
  --ss-text-light: #4a5568;
  --ss-text-muted: #64748b;
  --ss-bg: #f8f9fb;
  --ss-bg-alt: #f0f4f8;
  --ss-bg-card: #ffffff;
  --ss-border: #e2e8f0;
  --ss-shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
  --ss-shadow-md: 0 4px 16px rgba(0,0,0,0.07);
  --ss-shadow-lg: 0 8px 30px rgba(46,117,182,0.12);
  --ss-radius: 10px;
  --ss-transition: all 0.25s ease;
}

/* ================================================
   GLOBAL — TYPOGRAPHY & BASE
   ================================================ */
body.ss-themed {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--ss-text) !important;
  -webkit-font-smoothing: antialiased !important;
}

body.ss-themed .et_pb_code_inner {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--ss-text) !important;
  line-height: 1.7 !important;
}

/* Headings */
body.ss-themed .et_pb_code_inner h1 {
  font-size: 2.2em !important;
  font-weight: 800 !important;
  color: var(--ss-navy) !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

body.ss-themed .et_pb_code_inner h2 {
  font-size: 1.75em !important;
  font-weight: 700 !important;
  color: var(--ss-navy) !important;
  line-height: 1.25 !important;
  margin-bottom: 16px !important;
  margin-top: 1.5em !important;
}

body.ss-themed .et_pb_code_inner h3 {
  font-size: 1.35em !important;
  font-weight: 700 !important;
  color: var(--ss-navy) !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
}

body.ss-themed .et_pb_code_inner h4 {
  font-size: 1.15em !important;
  font-weight: 700 !important;
  color: var(--ss-blue) !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
}

/* Paragraphs */
body.ss-themed .et_pb_code_inner p {
  font-size: 1.05em !important;
  color: var(--ss-text) !important;
  line-height: 1.75 !important;
  margin-bottom: 16px !important;
}

/* Strong text */
body.ss-themed .et_pb_code_inner strong {
  color: var(--ss-navy) !important;
  font-weight: 700 !important;
}

/* Emphasis */
body.ss-themed .et_pb_code_inner em {
  color: var(--ss-text-light) !important;
  font-style: italic !important;
}

/* ================================================
   BUTTONS (inline-block <a> tags with padding)
   ================================================ */
body.ss-themed .et_pb_code_inner a[style*="inline-block"][style*="padding"] {
  background: var(--ss-blue) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 1em !important;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(46,117,182,0.25) !important;
  transition: var(--ss-transition) !important;
  border: 2px solid var(--ss-blue) !important;
}

body.ss-themed .et_pb_code_inner a[style*="inline-block"][style*="padding"]:hover {
  background: var(--ss-blue-dark) !important;
  border-color: var(--ss-blue-dark) !important;
  box-shadow: 0 5px 18px rgba(46,117,182,0.35) !important;
  transform: translateY(-2px) !important;
}

/* Red/CTA buttons */
body.ss-themed .et_pb_code_inner a[style*="inline-block"][style*="c8102e"],
body.ss-themed .et_pb_code_inner a[href*="tel:"][style*="inline-block"] {
  background: var(--ss-red) !important;
  border-color: var(--ss-red) !important;
}

body.ss-themed .et_pb_code_inner a[href*="tel:"][style*="inline-block"]:hover {
  background: #a5311f !important;
  border-color: #a5311f !important;
}

/* ================================================
   LINKS (regular inline links)
   ================================================ */
body.ss-themed .et_pb_code_inner a:not([style*="inline-block"]) {
  color: var(--ss-blue) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

body.ss-themed .et_pb_code_inner a:not([style*="inline-block"]):hover {
  color: var(--ss-blue-dark) !important;
  text-decoration: underline !important;
}

/* ================================================
   LISTS
   ================================================ */
body.ss-themed .et_pb_code_inner ul {
  padding-left: 1.5em !important;
  margin-bottom: 16px !important;
}

body.ss-themed .et_pb_code_inner li {
  font-size: 1.02em !important;
  color: var(--ss-text) !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
  padding-left: 4px !important;
}

body.ss-themed .et_pb_code_inner li::marker {
  color: var(--ss-blue) !important;
}

/* ================================================
   HORIZONTAL RULES (section dividers)
   ================================================ */
body.ss-themed .et_pb_code_inner hr {
  border: none !important;
  height: 2px !important;
  background: linear-gradient(to right, var(--ss-blue), var(--ss-gold), var(--ss-blue)) !important;
  margin: 2.5em auto !important;
  max-width: 200px !important;
  opacity: 0.6 !important;
}

/* ================================================
   IMAGES
   ================================================ */
body.ss-themed .et_pb_code_inner img {
  border-radius: 10px !important;
  box-shadow: var(--ss-shadow-md) !important;
}

/* ================================================
   BLOCKQUOTES / TESTIMONIALS
   ================================================ */
body.ss-themed .et_pb_code_inner blockquote {
  border-left: 4px solid var(--ss-gold) !important;
  padding: 16px 20px !important;
  margin: 20px auto !important;
  background: var(--ss-bg-alt) !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: var(--ss-text-light) !important;
}

/* ================================================
   SECTION CONTAINERS (max-width divs)
   ================================================ */
body.ss-themed .et_pb_code_inner > div {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* ================================================
   PAGE BACKGROUND
   ================================================ */
body.ss-themed #page-container {
  background: var(--ss-bg) !important;
}

body.ss-themed .et_pb_section {
  background-color: transparent !important;
}

/* ================================================
   HEADER & NAVIGATION
   ================================================ */
body.ss-themed #top-menu-nav,
body.ss-themed .et-menu-nav,
body.ss-themed #et-secondary-menu,
body.ss-themed .et_pb_menu .et_pb_row {
  font-family: 'Inter', -apple-system, sans-serif !important;
}

body.ss-themed #main-header {
  background: var(--ss-navy) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15) !important;
}

body.ss-themed #top-menu li a {
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s ease !important;
}

body.ss-themed #top-menu li a:hover {
  color: var(--ss-gold) !important;
}

body.ss-themed .et_pb_fullwidth_menu .sub-menu,
body.ss-themed #top-menu .sub-menu,
body.ss-themed .nav li ul {
  background: var(--ss-navy) !important;
  border-top: 2px solid var(--ss-gold) !important;
}

body.ss-themed #top-menu .sub-menu li a {
  color: #e2e8f0 !important;
}

body.ss-themed #top-menu .sub-menu li a:hover {
  color: var(--ss-gold) !important;
  background: rgba(255,255,255,0.05) !important;
}

body.ss-themed .et_pb_menu,
body.ss-themed .et_pb_menu_0 {
  background-color: var(--ss-navy) !important;
}

body.ss-themed .et_pb_menu .et_pb_menu__wrap {
  background-color: transparent !important;
}

body.ss-themed .et_pb_menu_1,
body.ss-themed .et_pb_menu--style-left_aligned {
  background-color: var(--ss-blue) !important;
}

body.ss-themed .et_pb_menu .et_pb_row,
body.ss-themed .et_pb_menu__logo-wrap {
  background: transparent !important;
}

/* ================================================
   FOOTER
   ================================================ */
body.ss-themed #main-footer {
  background: var(--ss-navy) !important;
  border-top: 3px solid var(--ss-gold) !important;
  color: #cbd5e1 !important;
}

body.ss-themed #main-footer .footer-widget,
body.ss-themed #main-footer .et_pb_widget {
  color: #cbd5e1 !important;
}

body.ss-themed #main-footer a {
  color: var(--ss-gold-light) !important;
}

body.ss-themed #main-footer a:hover {
  color: #ffffff !important;
}

body.ss-themed #footer-bottom {
  background: #0a1830 !important;
  border-top: 1px solid rgba(196,160,48,0.2) !important;
}

/* ================================================
   DIVI MODULE OVERRIDES
   ================================================ */
body.ss-themed .et_pb_blurb {
  background: var(--ss-bg-card) !important;
  border-radius: var(--ss-radius) !important;
  padding: 28px 24px !important;
  box-shadow: var(--ss-shadow-sm) !important;
  border: 1px solid var(--ss-border) !important;
  transition: var(--ss-transition) !important;
}

body.ss-themed .et_pb_blurb:hover {
  box-shadow: var(--ss-shadow-lg) !important;
  border-color: var(--ss-blue) !important;
  transform: translateY(-4px) !important;
}

body.ss-themed .et_pb_blurb_description {
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: var(--ss-text-light) !important;
}

body.ss-themed .et_pb_button {
  background: var(--ss-blue) !important;
  color: #ffffff !important;
  border: 2px solid var(--ss-blue) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  padding: 12px 28px !important;
  transition: var(--ss-transition) !important;
}

body.ss-themed .et_pb_button:hover {
  background: var(--ss-blue-dark) !important;
  border-color: var(--ss-blue-dark) !important;
  transform: translateY(-2px) !important;
}

body.ss-themed .et_pb_accordion .et_pb_toggle {
  border: 1px solid var(--ss-border) !important;
  border-radius: var(--ss-radius) !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
}

body.ss-themed .et_pb_accordion .et_pb_toggle_title {
  color: var(--ss-navy) !important;
  font-weight: 700 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

body.ss-themed .et_pb_accordion .et_pb_toggle_open {
  border-color: var(--ss-blue) !important;
  background: var(--ss-bg-alt) !important;
}

body.ss-themed .et_pb_tabs .et_pb_tab_active a {
  color: var(--ss-blue) !important;
  border-bottom: 3px solid var(--ss-blue) !important;
}

body.ss-themed .et_pb_text {
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: var(--ss-text) !important;
}

/* ================================================
   FORMS (contact, apply, subscribe)
   ================================================ */
body.ss-themed input[type="text"],
body.ss-themed input[type="email"],
body.ss-themed input[type="tel"],
body.ss-themed input[type="url"],
body.ss-themed textarea,
body.ss-themed select {
  border: 2px solid var(--ss-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 1em !important;
  color: var(--ss-text) !important;
  transition: border-color 0.2s ease !important;
  background: #ffffff !important;
}

body.ss-themed input:focus,
body.ss-themed textarea:focus,
body.ss-themed select:focus {
  border-color: var(--ss-blue) !important;
  box-shadow: 0 0 0 3px rgba(46,117,182,0.1) !important;
  outline: none !important;
}

body.ss-themed input[type="submit"],
body.ss-themed button[type="submit"] {
  background: var(--ss-blue) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  cursor: pointer !important;
  transition: var(--ss-transition) !important;
}

body.ss-themed input[type="submit"]:hover,
body.ss-themed button[type="submit"]:hover {
  background: var(--ss-blue-dark) !important;
  transform: translateY(-2px) !important;
}

/* ================================================
   TABLES
   ================================================ */
body.ss-themed table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-radius: var(--ss-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--ss-shadow-sm) !important;
}

body.ss-themed th {
  background: var(--ss-navy) !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

body.ss-themed td {
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--ss-border) !important;
}

body.ss-themed tr:nth-child(even) {
  background: var(--ss-bg-alt) !important;
}

body.ss-themed tr:hover {
  background: rgba(46,117,182,0.04) !important;
}

/* ================================================
   MOBILE RESPONSIVE
   ================================================ */
@media (max-width: 980px) {
  body.ss-themed .et_pb_code_inner h1 {
    font-size: 1.7em !important;
  }
  body.ss-themed .et_pb_code_inner h2 {
    font-size: 1.45em !important;
  }
  body.ss-themed .et_pb_code_inner h3 {
    font-size: 1.2em !important;
  }
}

@media (max-width: 768px) {
  body.ss-themed .et_pb_code_inner p {
    font-size: 1em !important;
  }
  body.ss-themed .et_pb_code_inner a[style*="inline-block"][style*="padding"] {
    display: block !important;
    text-align: center !important;
    margin-bottom: 10px !important;
  }
}

/* ============================================
   END OPTION 3 DESIGN SYSTEM v4.2
   ============================================ */
