/* Cache-busting: v1.5 - Modern Navigation & Mobile-First Design */
:root {
  --australian-green: #006A4E;
  --australian-gold: #FFD700;
  --australian-dark-green: #005a42;
  --australian-light-green: #e8f5e8;
  --australian-light: #e8f5e8;
  --australian-warm-gold: #FFC107;
  --australian-cream: #FFF8DC;
  --australian-dark: #2C3E50;
}

/* Sticky Navigation and Footer Layout */
html, body {
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
}

/* Modern Navigation Styles */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  backdrop-filter: blur(10px);
  background-color: rgba(33, 37, 41, 0.95) !important;
}

/* Primary Action Button */
.navbar .btn-primary {
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Mobile Navigation Improvements */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background-color: rgba(33, 37, 41, 0.98);
    border-radius: 8px;
    margin-top: 0.5rem;
    padding: 1rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  }
  
  .navbar-nav .nav-link {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin: 0.25rem 0;
    transition: all 0.2s ease;
  }
  
  .navbar-nav .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    transform: translateX(4px);
  }
  
  /* Mobile User Menu */
  .dropdown-menu {
    border: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    border-radius: 12px;
    padding: 0.5rem;
    margin-top: 0.5rem;
  }
  
  .dropdown-item {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0.125rem 0;
    transition: all 0.2s ease;
  }
  
  .dropdown-item:hover {
    background-color: rgba(0,106,78,0.1);
    transform: translateX(4px);
  }
  
  .dropdown-header {
    font-weight: 600;
    color: var(--australian-green);
    padding: 0.5rem 1rem;
    margin-bottom: 0.25rem;
  }
  
  .dropdown-divider {
    margin: 0.5rem 0;
    border-color: rgba(255,255,255,0.1);
  }
}

/* Desktop Navigation Improvements */
@media (min-width: 992px) {
  .navbar-nav .nav-link {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin: 0 0.25rem;
    transition: all 0.2s ease;
  }
  
  /* Prevent navigation wrapping on desktop */
  .navbar-nav.me-auto {
    flex-wrap: nowrap !important;
  }
  
  .navbar-nav.me-auto .nav-item {
    white-space: nowrap !important;
  }
  
  /* Ensure mobile navigation is completely hidden on desktop */
  #mobileNavbar {
    display: none !important;
  }
  
  .d-lg-none {
    display: none !important;
  }
  
  .navbar-nav .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    transform: translateY(-1px);
  }
  
  /* Desktop User Menu */
  .dropdown-menu {
    border: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    border-radius: 12px;
    padding: 0.5rem;
    min-width: 280px;
  }
  
  .dropdown-item {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0.125rem 0;
    transition: all 0.2s ease;
  }
  
  .dropdown-item:hover {
    background-color: rgba(0,106,78,0.1);
    transform: translateX(4px);
  }
  
  .dropdown-header {
    font-weight: 600;
    color: var(--australian-green);
    padding: 0.5rem 1rem;
    margin-bottom: 0.25rem;
  }
  
  .dropdown-divider {
    margin: 0.5rem 0;
    border-color: rgba(0,0,0,0.1);
  }
}

/* Brand Logo Improvements */
.navbar-brand {
  font-weight: 700;
  font-size: 1.25rem;
  transition: all 0.2s ease;
}

.navbar-brand:hover {
  transform: scale(1.05);
}

/* User Menu Badge Improvements */
.navbar .badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
}

/* Responsive Text Hiding */
@media (max-width: 575.98px) {
  .navbar-brand span {
    display: none !important;
  }
  
  .navbar .btn-primary {
    padding: 0.5rem;
  }
  
  .navbar .btn-primary span {
    display: none;
  }
}

main {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
  margin-top: auto;
}

/* Australian-themed button overrides */
.btn-primary {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-primary:hover {
  background-color: var(--australian-dark-green) !important;
  border-color: var(--australian-dark-green) !important;
}

.btn-success {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-success:hover {
  background-color: var(--australian-dark-green) !important;
  border-color: var(--australian-dark-green) !important;
}

.btn-outline-primary {
  color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-outline-primary:hover {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-warning {
  background-color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

.btn-warning:hover {
  background-color: var(--australian-warm-gold) !important;
  border-color: var(--australian-warm-gold) !important;
  color: var(--australian-dark) !important;
}

/* Australian green button */
.btn-australian-green {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-australian-green:hover {
  background-color: var(--australian-dark-green) !important;
  border-color: var(--australian-dark-green) !important;
  color: white !important;
}

/* Australian gold button */
.btn-australian-gold {
  background-color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
}

.btn-australian-gold:hover {
  background-color: var(--australian-warm-gold) !important;
  border-color: var(--australian-warm-gold) !important;
  color: var(--australian-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(255, 215, 0, 0.3) !important;
}

/* Fix yellow button visibility */
.btn-warning {
  background-color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Text color overrides */
.text-primary {
  color: var(--australian-green) !important;
}

.text-success {
  color: var(--australian-green) !important;
}

.text-warning {
  color: var(--australian-gold) !important;
}

/* Background color overrides */
.bg-primary {
  background-color: var(--australian-green) !important;
}

.bg-success {
  background-color: var(--australian-green) !important;
}

.bg-warning {
  background-color: var(--australian-gold) !important;
}

.bg-australian-green {
  background-color: var(--australian-green) !important;
}

.bg-gradient-australian {
  background: linear-gradient(135deg, var(--australian-green) 0%, var(--australian-gold) 100%) !important;
}

.bg-light {
  background-color: var(--australian-light-green) !important;
}

/* Border color overrides */
.border-primary {
  border-color: var(--australian-green) !important;
}

.border-success {
  border-color: var(--australian-green) !important;
}

.border-warning {
  border-color: var(--australian-gold) !important;
}

/* Badge overrides */
.badge.bg-primary {
  background-color: var(--australian-green) !important;
}

.badge.bg-success {
  background-color: var(--australian-green) !important;
}

.badge.bg-warning {
  background-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Alert overrides */
.alert-success {
  background-color: var(--australian-light-green) !important;
  border-color: var(--australian-green) !important;
  color: var(--australian-dark-green) !important;
}

.alert-warning {
  background-color: var(--australian-cream) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Card header overrides */
.card-header.bg-primary {
  background-color: var(--australian-green) !important;
}

/* Form control focus */
.form-control:focus {
  border-color: var(--australian-green) !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 106, 78, 0.25) !important;
}

/* Link colors */
a {
  color: var(--australian-green);
}

a:hover {
  color: var(--australian-dark-green);
}

/* Navbar brand */
.navbar-brand {
  color: var(--australian-light) !important;
}

/* Footer brand */
footer .navbar-brand {
  color: white !important;
}

/* Premium badge styling */
.badge.bg-warning.text-dark {
  background-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Button group styling */
.btn-group .btn {
  border-color: var(--australian-green) !important;
}

.btn-group .btn-outline-primary {
  color: var(--australian-green) !important;
}

.btn-group .btn-outline-primary:hover {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-group .btn-outline-success {
  color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-group .btn-outline-success:hover {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-group .btn-outline-info {
  color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
}

.btn-group .btn-outline-info:hover {
  background-color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Australian outline buttons */
.btn-outline-australian-green {
  color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
}

.btn-outline-australian-green:hover {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-outline-australian-gold {
  color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
}

.btn-outline-australian-gold:hover {
  background-color: var(--australian-gold) !important;
  border-color: var(--australian-gold) !important;
  color: var(--australian-dark) !important;
}

/* Enhanced outline button visibility */
.btn-outline-australian-gold {
  border-width: 2px !important;
  font-weight: 600 !important;
}

.btn-outline-australian-green {
  border-width: 2px !important;
  font-weight: 600 !important;
}

/* Australian green outline button hover effect */
.btn-outline-australian-green:hover {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-outline-australian-green:focus {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 106, 78, 0.25) !important;
}

/* Bootstrap button group radio button styling */
.btn-check:checked + .btn-outline-australian-green {
  background-color: var(--australian-green) !important;
  border-color: var(--australian-green) !important;
  color: white !important;
}

.btn-check:checked + .btn-outline-australian-green:hover {
  background-color: var(--australian-dark-green) !important;
  border-color: var(--australian-dark-green) !important;
  color: white !important;
}

/* Premium dashboard action buttons - REMOVED to fix button grouping */
/* These styles were causing inconsistent button sizing and grouping */
/* Now handled by inline styles in premium_dashboard.html */

/* Ensure forms don't break button grouping - REMOVED to fix button grouping */
/* These styles were causing inconsistent button sizing and grouping */
/* Now handled by inline styles in premium_dashboard.html */

/* Fix outline primary button hover effect */
.btn-outline-primary:hover {
  background-color: var(--australian-light) !important;
  border-color: var(--australian-green) !important;
  color: var(--australian-green) !important;
}

.btn-outline-primary:focus {
  background-color: var(--australian-light) !important;
  border-color: var(--australian-green) !important;
  color: var(--australian-green) !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 106, 78, 0.25) !important;
}

/* Australian border classes */
.border-australian-green {
  border-color: var(--australian-green) !important;
}

/* Pricing card specific styling */
.pricing-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pricing-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 106, 78, 0.15) !important;
}

.pricing-card.featured {
  border-color: var(--australian-green) !important;
  box-shadow: 0 5px 15px rgba(0, 106, 78, 0.1) !important;
}

/* Ensure text colors are visible */
.text-australian-green {
  color: var(--australian-green) !important;
}

.text-australian-gold {
  color: var(--australian-gold) !important;
}

/* Enhanced badge styling */
.badge.bg-australian-green {
  border: 2px solid white !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
  font-weight: 600 !important;
}

/* Debug: Force visibility of pricing elements */
.pricing-card .card-header h4,
.pricing-card .card-header .display-6 {
  color: var(--australian-green) !important;
  font-weight: bold !important;
}

.pricing-card .btn {
  font-weight: bold !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
