/* RecycleVAR Marketplace Styles */
:root {
  --rv-primary: #0d6efd;
  --rv-secondary: #198754;
  --rv-dark: #212529;
  --rv-light: #f8f9fa;
}

/* Hero Section */
.rv-hero {
  background: linear-gradient(135deg, var(--rv-dark) 0%, #1a3a5c 100%);
  color: #fff;
  padding: 5rem 0;
  min-height: 60vh;
  display: flex;
  align-items: center;
}
.rv-hero h1 { font-size: 3rem; font-weight: 700; }
.rv-hero .lead { font-size: 1.25rem; opacity: 0.85; }
.rv-hero .search-bar { max-width: 600px; margin: 2rem auto 0; }
.rv-hero .search-bar .form-control { height: 54px; font-size: 1.1rem; border-radius: 0.5rem 0 0 0.5rem; border: none; }
.rv-hero .search-bar .btn { height: 54px; border-radius: 0 0.5rem 0.5rem 0; padding: 0 2rem; }

/* Cards */
.rv-card { transition: transform 0.2s, box-shadow 0.2s; border: 1px solid #e9ecef; }
.rv-card:hover { transform: translateY(-4px); box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.1); }

/* Search bar (standalone pages) */
.rv-search-prominent .form-control {
  height: 50px; font-size: 1.05rem;
  border: 2px solid var(--rv-primary); border-radius: 0.5rem;
}

/* Dashboard Layout */
.rv-dash-wrapper { display: flex; min-height: calc(100vh - 106px); }
.rv-dash-sidebar { width: 260px; flex-shrink: 0; }
.rv-dash-content { flex: 1; padding: 1.5rem; background: var(--rv-light); min-width: 0; }
@media (max-width: 991.98px) {
  .rv-dash-sidebar { width: 100%; }
}

/* Pricing */
.rv-pricing-card { border-radius: 0.75rem; transition: transform 0.2s; position: relative; overflow: hidden; }
.rv-pricing-card:hover { transform: translateY(-4px); }
.rv-pricing-card.popular { border: 2px solid var(--rv-primary); }
.rv-pricing-card .popular-badge {
  position: absolute; top: 12px; right: -30px;
  background: var(--rv-primary); color: #fff;
  padding: 4px 40px; font-size: 0.75rem; font-weight: 600;
  transform: rotate(45deg);
}
.pricing-toggle .btn-check:checked + .btn { background: var(--rv-primary); color: #fff; }

/* Condition Badges */
.badge-new { background-color: var(--rv-secondary); }
.badge-refurbished { background-color: var(--rv-primary); }
.badge-used { background-color: #fd7e14; }
.badge-parts { background-color: #dc3545; }

/* Stats Section */
.rv-stats { background: var(--rv-light); padding: 3rem 0; }
.rv-stats h2 { font-size: 2.5rem; font-weight: 700; color: var(--rv-primary); }

/* How It Works */
.rv-step-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--rv-primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; font-weight: 700; margin: 0 auto 1rem;
}

/* Feature comparison table */
.rv-feature-table th { background: var(--rv-light); }
.rv-feature-table .bi-check-lg { color: var(--rv-secondary); font-size: 1.25rem; }
.rv-feature-table .bi-x-lg { color: #adb5bd; }

/* Utility */
.rv-section { padding: 4rem 0; }
.rv-section-alt { background: var(--rv-light); }

/* Contact form */
.rv-contact-form { max-width: 640px; margin: 0 auto; }

/* Legal pages */
.rv-legal { max-width: 800px; margin: 0 auto; }
.rv-legal h2 { font-size: 1.35rem; margin-top: 2rem; }

/* Footer */
footer a:hover { color: #fff !important; }

/* Responsive */
@media (max-width: 767.98px) {
  .rv-hero h1 { font-size: 2rem; }
  .rv-hero { padding: 3rem 0; min-height: auto; }
  .rv-pricing-card { margin-bottom: 1rem; }
}
