/* ========================================
   REW TECHNOLOGY PARTNER PORTAL THEME
   ======================================== */

/* ========================================
   1. BRAND COLORS
   ======================================== */
:root {
  --rew-primary: #0066CC;
  --rew-secondary: #004499;
  --rew-accent: #FF6600;
  --rew-light: #F8F9FA;
  --rew-dark: #343A40;
  --rew-text: #212529;
  --rew-text-muted: #6C757D;
}

/* ========================================
   2. GLOBAL RESET & BASE STYLES
   ======================================== */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: var(--rew-text);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* ========================================
   3. NAVBAR / HEADER STYLES
   ======================================== */
/* Force consistent navbar styling on ALL pages */
.navbar-inverse {
  background-color: #232222 !important;
  border-color: transparent !important;
  min-height: 67px !important;
  height: 67px !important;
}

/* Navbar brand/logo positioning */
.navbar-brand {
  font-size: 20px !important;
  font-family: "Segoe UI Light", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: #fff !important;
  padding: 20px 0 !important;
  line-height: 1.5 !important;
  height: 67px !important;
  display: flex !important;
  align-items: center !important;
}

/* Navigation links alignment */
.navbar-nav {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.navbar-nav > li > a {
  color: #fff !important;
  padding: 20px 15px !important;
  font-family: "Segoe UI Semibold", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  height: 67px !important;
  display: flex !important;
  align-items: center !important;
}

/* Navigation link hover */
.navbar-nav > li > a:hover {
  color: #fff !important;
  background-color: #666666 !important;
  border-bottom: 4px solid #2F5FEF !important;
  padding-bottom: 10px !important;
}

/* Divider styling */
.navbar-nav > .divider-vertical {
  border-right: 1px solid #fff !important;
  border-left: 1px solid #666 !important;
  height: 21px !important;
  margin: 0 4px !important;
  margin-top: 14.5px !important;
}

/* Navbar container */
.navbar > .container {
  position: relative !important;
}

/* Ensure navbar is at top */
.navbar-static-top {
  position: relative !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Override any auth page specific styles */
body.signin-page .navbar,
body.register-page .navbar,
body.forgot-password-page .navbar,
body.auth-page .navbar {
  background-color: #232222 !important;
  min-height: 67px !important;
}

body.signin-page .navbar-brand,
body.register-page .navbar-brand,
body.forgot-password-page .navbar-brand,
body.auth-page .navbar-brand {
  font-size: 20px !important;
  color: #fff !important;
  padding: 20px 0 !important;
  height: 67px !important;
}

body.signin-page .navbar-nav > li > a,
body.register-page .navbar-nav > li > a,
body.forgot-password-page .navbar-nav > li > a,
body.auth-page .navbar-nav > li > a {
  color: #fff !important;
  font-weight: 600 !important;
  padding: 20px 15px !important;
  height: 67px !important;
}

/* ========================================
   4. MAIN CONTENT STYLES
   ======================================== */
.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}

/* ========================================
   5. CONTAINER & ROW STYLES
   ======================================== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.col-md-3 { flex: 0 0 25%; padding: 0 15px; }
.col-md-4 { flex: 0 0 33.333%; padding: 0 15px; }
.col-md-6 { flex: 0 0 50%; padding: 0 15px; }
.col-md-8 { flex: 0 0 66.666%; padding: 0 15px; }
.col-md-12 { flex: 0 0 100%; padding: 0 15px; }

.text-center { text-align: center; }

/* ========================================
   6. BUTTON STYLES
   ======================================== */
.btn {
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.btn-primary {
  background: var(--rew-accent);
  color: white;
  border: 2px solid var(--rew-accent);
}

.btn-primary:hover {
  background: #e55a00;
}

.btn-secondary {
  background: white;
  color: var(--rew-primary);
  border: 2px solid var(--rew-primary);
}

.btn-secondary:hover {
  background: var(--rew-light);
}

/* ========================================
   7. SECTION STYLES
   ======================================== */
.section {
  padding: 40px 0;
}

.section-title {
  font-size: 36px;
  font-weight: 700;
  color: var(--rew-primary);
  margin-bottom: 10px;
  text-align: center;
}

.section-subtitle {
  font-size: 16px;
  color: var(--rew-text-muted);
  margin-bottom: 30px;
  text-align: center;
}

/* ========================================
   8. CARD STYLES (EQUAL HEIGHT)
   ======================================== */
.card {
  background: white;
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card:hover {
  transform: translateY(-5px);
}

.card-icon {
  font-size: 48px;
  color: var(--rew-primary);
  margin-bottom: 20px;
}

.card h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  flex-shrink: 0;
}

.card p {
  color: var(--rew-text-muted);
  margin-bottom: 0;
  flex-grow: 1;
}

/* ========================================
   9. FOOTER STYLES
   ======================================== */
.footer {
  background: #343A40;
  color: white;
  padding: 20px 0;
  text-align: center;
  width: 100%;
  flex-shrink: 0;
  margin-top: auto;
}

.footer p {
  margin: 0;
  color: #999;
  font-size: 14px;
}

/* ========================================
   10. RESPONSIVE STYLES
   ======================================== */
@media (max-width: 768px) {
  .section-title {
    font-size: 28px;
  }
  
  .section-subtitle {
    font-size: 16px;
  }
  
  .col-md-3, .col-md-4 {
    flex: 0 0 50%;
  }
  
  .main-content {
    justify-content: flex-start;
  }
  
  .navbar-brand {
    font-size: 18px !important;
  }
  
  .navbar-nav > li > a {
    padding: 15px 10px !important;
    font-size: 13px !important;
  }
}

/* ========================================
   11. AUTH PAGE SPECIFIC OVERRIDES
   ======================================== */
/* Make auth page headers consistent */
body.signin-page .navbar,
body.register-page .navbar,
body.forgot-password-page .navbar,
body.auth-page .navbar {
  background-color: #232222 !important;
  min-height: 67px !important;
}

body.signin-page .navbar-brand,
body.register-page .navbar-brand,
body.forgot-password-page .navbar-brand,
body.auth-page .navbar-brand {
  font-size: 20px !important;
  color: #fff !important;
  padding: 20px 0 !important;
  height: 67px !important;
}

body.signin-page .navbar-nav > li > a,
body.register-page .navbar-nav > li > a,
body.forgot-password-page .navbar-nav > li > a,
body.auth-page .navbar-nav > li > a {
  color: #fff !important;
  font-weight: 600 !important;
  padding: 20px 15px !important;
  height: 67px !important;
}

/* ========================================
   12. BREADCRUMB STYLES
   ======================================== */
.breadcrumb {
  margin-bottom: 0 !important;
  padding: 0 !important;
  list-style: none;
}

/* ========================================
   13. PAGE HEADING STYLES
   ======================================== */
.page-heading {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

/* ========================================
   14. STICKY FOOTER FIX
   ======================================== */
/* Force full viewport height */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  overflow-x: hidden;
}

/* Wrapper for sticky footer */
.page-wrapper {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  width: 100% !important;
  flex: 1 0 auto !important;
}

/* Main Content - Grows to fill available space */
.main-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#mainContent {
  flex: 1 1 auto !important;
}

/* Footer - Stays at bottom */
.footer {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  width: 100% !important;
  margin-top: auto !important;
  z-index: 100 !important;
  clear: both;
}

/* For authentication pages (Sign In, Register, etc.) */
body.auth-page,
body.signin-page,
body.register-page,
body.forgot-password-page {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}

body.auth-page .main-content,
body.signin-page .main-content,
body.register-page .main-content,
body.forgot-password-page .main-content {
  flex: 1 1 auto !important;
}

body.auth-page .footer,
body.signin-page .footer,
body.register-page .footer,
body.forgot-password-page .footer {
  flex-shrink: 0 !important;
}

/* Container and row */
.container {
  width: 100%;
  box-sizing: border-box;
}

.row {
  width: 100%;
  box-sizing: border-box;
}

.col-md-12 {
  width: 100%;
  box-sizing: border-box;
}

/* Ensure footer is always at bottom */
footer.footer {
  position: relative;
  width: 100%;
}

/* Override existing footer styles if needed */
footer {
  position: relative;
  color: #AAAAAA;
  flex-shrink: 0 !important;
  width: 100% !important;
}

footer .footer-bottom {
  background-color: #343A40;
  padding: 20px 0;
  text-align: center;
}

footer .footer-bottom p {
  margin: 0;
  color: #999;
  font-size: 14px;
}