/* ===================================================
   BOOTSTRAP OVERRIDE - Load this AFTER Bootstrap
   =================================================== */

/* Force our styles to override Bootstrap's aggressive resets */

/* Container styles */
.container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Hero banner styles */
.hero-banner, .hero {
    position: relative !important;
    height: 400px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--rural-green, #2e6e32) 0%, var(--rural-green-dark, #1c4b1f) 100%) !important;
    color: white !important;
    padding: 3rem 0 !important;
}

.hero-banner.small-hero, .hero.small {
    height: 300px !important;
}

.hero-inner {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
}

.hero h2, .hero-inner h2 {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    color: white !important;
}

.hero p, .hero-inner p {
  font-size: 1.25rem !important;
    color: rgba(255,255,255,0.95) !important;
    margin-bottom: 0 !important;
}

.hero-gradient {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(46, 110, 50, 0.85) 0%, rgba(28, 75, 31, 0.9) 100%) !important;
    z-index: 1 !important;
}

.hero-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  bottom: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: 0 !important;
}

.register-hero-image {
    background-image: url('/images/farm-hero.jpg') !important;
    background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
            url('https://images.unsplash.com/photo-1500076656116-558758c991c1?w=1200') !important;
}

.hero-content {
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    color: white !important;
    max-width: 800px !important;
    padding: 0 20px !important;
}

.hero-title {
    font-size: 3rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    color: white !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
}

.hero-subtitle {
    font-size: 1.25rem !important;
  color: rgba(255,255,255,0.95) !important;
    margin-bottom: 0 !important;
}

/* Header styles */
.main-header {
    background: var(--rural-green-dark, #1c4b1f) !important;
    padding: 1rem 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* Form styles */
.form-input {
    width: 100% !important;
 padding: 0.75rem 1rem !important;
 border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
  transition: border-color 0.3s ease !important;
}

.form-input:focus {
    outline: none !important;
    border-color: var(--rural-green, #2e6e32) !important;
    box-shadow: 0 0 0 3px rgba(46, 110, 50, 0.1) !important;
}

/* Button styles */
.primary {
    background: var(--rural-green, #2e6e32) !important;
    color: white !important;
    padding: 0.875rem 2rem !important;
    border: none !important;
    border-radius: 8px !important;
font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.primary:hover {
    background: var(--rural-green-dark, #1c4b1f) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(46, 110, 50, 0.3) !important;
}

.submit-btn {
    width: 100% !important;
}

/* Section styles */
.register-section {
    padding: 3rem 0 !important;
    background: #fcfaf7 !important;
}

.register-container {
  max-width: 900px !important;
 margin: 0 auto !important;
}

.register-form-container {
    background: white !important;
    padding: 2.5rem !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}

.register-form-header {
text-align: center !important;
    margin-bottom: 2rem !important;
}

.register-form-header h2 {
    color: var(--rural-green-dark, #1c4b1f) !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
}

.register-form-header i {
    font-size: 3rem !important;
    color: var(--rural-green, #2e6e32) !important;
}

.form-section {
    margin-bottom: 2rem !important;
}

.form-section-title {
    font-size: 1.25rem !important;
 font-weight: 600 !important;
    color: var(--rural-green-dark, #1c4b1f) !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 2px solid var(--rural-green-light, #4a8a4e) !important;
}

.form-row {
    margin-bottom: 1.25rem !important;
}

.form-row label {
    display: block !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
  color: #2d3436 !important;
}

.form-hint {
    font-size: 0.875rem !important;
  color: #636e72 !important;
    margin-top: 0.5rem !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
}

.form-hint i {
    margin-top: 0.25rem !important;
    flex-shrink: 0 !important;
}

.error-msg {
    color: #e74c3c !important;
    font-size: 0.875rem !important;
    margin-top: 0.25rem !important;
    display: block !important;
}

.error-summary {
    background: #fee !important;
    border: 1px solid #e74c3c !important;
    border-radius: 6px !important;
    padding: 1rem !important;
    margin-bottom: 1.5rem !important;
    color: #c0392b !important;
}
