/* =========================================
   GreenGear — unified brand stylesheet
   (clean, lint-safe, mobile-first)
   ========================================= */

/* 1) Brand tokens */
:root{
  --gg-lime:#a3d900;
  --gg-lime-600:#8cc700;
  --gg-text:#0b2230;
  --gg-muted:#6c757d;
  --bs-primary:var(--gg-lime);
}

/* 2) Base */
html{scroll-behavior:smooth}
body{color:var(--gg-text)}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gg-lime)}
.text-primary{color:var(--gg-lime)!important}
.bg-primary{background-color:var(--gg-lime)!important}

/* 3) Buttons */
.btn-primary{
  --bs-btn-bg:var(--gg-lime);
  --bs-btn-border-color:var(--gg-lime);
  --bs-btn-hover-bg:var(--gg-lime-600);
  --bs-btn-hover-border-color:var(--gg-lime-600);
  --bs-btn-color:#111;
  --bs-btn-hover-color:#fff;
}
.btn-outline-primary{
  --bs-btn-color:var(--gg-lime);
  --bs-btn-border-color:var(--gg-lime);
  --bs-btn-hover-bg:var(--gg-lime);
  --bs-btn-hover-border-color:var(--gg-lime);
  --bs-btn-active-bg:var(--gg-lime);
  --bs-btn-active-border-color:var(--gg-lime);
}

/* 4) Navbar */
.navbar{min-height:68px; z-index:1041; position:relative}

/* Brand / Logo sizing (works for inline SVG or <img>) */
/* Navbar brand logo sizing */
.navbar-brand img.gg-logo,
.navbar-brand img.gg-fallback {
  display:block;
  width:96px;   /* adjust size as needed */
  height:auto;  /* maintain aspect ratio */
  flex:0 0 auto;
}


.navbar-brand:hover span{color:var(--gg-lime)}
.navbar-nav .nav-link{
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.02em;
  padding:.75rem 1rem .35rem;
  color:var(--gg-text);
  position:relative;
}
/* Active state — NO underline */
.navbar .nav-link.active{color:var(--gg-lime)!important;font-weight:700;border-bottom:0!important}
.navbar .nav-link::after,
.navbar .nav-link.active::after{content:none!important}

/* User area */
.text-lime{color:var(--gg-lime)!important}
.username-text{color:#2d5700;font-weight:600}
.user-menu .dropdown-item:hover,
.user-menu .dropdown-item:focus{background:var(--gg-lime);color:#fff!important}
.user-menu .dropdown-divider{border-color:var(--gg-lime)}
.user-menu .dropdown-toggle::after{
  content:"";display:inline-block;margin-left:.45rem;vertical-align:.15em;
  border-top:.35em solid currentColor;border-right:.35em solid transparent;border-left:.35em solid transparent
}

/* Post Ad — compact lime pill */
.navbar .btn-postad{
  display:inline-flex;align-items:center;justify-content:center;
  height:36px!important;padding:0 14px!important;width:auto!important;
  background:var(--gg-lime)!important;color:#111!important;
  border:0!important;border-radius:50rem!important;font-weight:600;
  font-size:.95rem;line-height:1.2;box-shadow:none!important
}
.navbar .btn-postad:hover{background:var(--gg-lime-600)!important;color:#fff!important}

/* Collapsed menu: stack links with ≥44px tap targets */
@media (max-width:991.98px){
  .navbar .navbar-nav{flex-direction:column!important}
  .navbar .navbar-nav .nav-link{width:100%;min-height:44px;padding:.9rem 1rem}
  .navbar .btn,.navbar .dropdown-toggle{min-height:44px}
}
/* Desktop back to row */
@media (min-width:992px){
  .navbar .navbar-nav{flex-direction:row!important}
  .navbar .navbar-nav .nav-link{width:auto}
}

/* 5) Hero */
.hero-section{
  position:relative;min-height:56vh;padding:72px 0;
  background:url('/solartec/img/hero.png') center/cover no-repeat!important;overflow:hidden
}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.25)!important;z-index:0}
.hero-section>.container{position:relative;z-index:1}
.hero-section,
.hero-section *:not(.form-control):not(.form-select):not(option){color:#fff!important}
.hero-copy{max-width:820px}
.hero-copy h1{font-size:clamp(34px,5vw,64px);font-weight:800;line-height:1.1;margin-bottom:1rem}
.hero-copy h1 .lime{color:#a3d900}
.hero-copy h1 .white{color:#fff}
.hero-copy .lead{font-size:clamp(16px,2vw,20px);color:rgba(255,255,255,.92);line-height:1.5;max-width:700px}
.hero-form .form-control,
.hero-form .form-select{
  height:48px;border-radius:9999px;border:0;background:rgba(255,255,255,.95)!important;color:#111;padding:0 16px
}
.hero-form .form-control::placeholder{color:#555}
.hero-form .btn-primary{height:48px;border-radius:9999px;font-weight:700;box-shadow:0 6px 16px rgba(163,217,0,.35)}

/* 6) Sections / helpers */
.section-stats .display-6{color:var(--gg-text)!important}
.section-stats small{color:var(--gg-muted)}
.search-filters{background:#fff;box-shadow:inset 0 -1px 0 #e5e5e5}
.postad-cta{background:#f9f9f9;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}
.postad-cta h5{color:var(--gg-text)} .postad-cta p{max-width:500px}
.divider-bar{border-top:1px solid #e5e5e5}

/* 7) Cards & images */
.featured .card .card-img-top,
.latest-listings .card .card-img-top,
.card .card-img-top{
  display:block;width:100%;height:260px!important;object-fit:cover!important;object-position:center!important
}
.featured .card,.latest-listings .card,.card{overflow:hidden;border-radius:.5rem}
.carousel-control-prev-icon,.carousel-control-next-icon{filter:invert(1) grayscale(100%)}

/* 8) Category pills */
.cat-pill{
  background:rgba(0,0,0,.5)!important;color:#fff!important;border:1px solid var(--gg-lime);
  border-radius:50rem;padding:.35rem .9rem;display:inline-block;transition:all .25s ease;text-decoration:none
}
.cat-pill:hover{background:var(--gg-lime)!important;color:#111!important;box-shadow:0 3px 10px rgba(163,217,0,.4)}

/* 9) Featured block */
.featured-block{background:#f3fff0;border-top:3px solid var(--gg-lime);border-bottom:3px solid var(--gg-lime)}
.featured-block .card{border:2px solid var(--gg-lime)!important;border-radius:.75rem}
.featured-block .badge.bg-success{background:var(--gg-lime)!important;color:#111!important;font-weight:600}
.featured-block .btn-success{background:var(--gg-lime)!important;border-color:var(--gg-lime)!important;color:#111!important}
.featured-block .btn-success:hover{background:var(--gg-lime-600)!important;border-color:var(--gg-lime-600)!important;color:#fff!important}

/* 10) Footer */
footer.bg-dark{background:#111!important}
footer .text-light{color:#e9ecef!important}
footer .text-muted{color:#9aa3ab!important}
.footer-logo{height:50px;width:auto}
.footer-icon{color:var(--gg-lime)!important;vertical-align:middle}

/* 11) Modals */
.modal .nav-tabs .nav-link{font-weight:600}
.modal .nav-tabs .nav-link.active{color:var(--gg-lime)}
.modal .btn-primary{box-shadow:0 6px 16px rgba(163,217,0,.25)}
.modal{z-index:1060!important}
.modal-backdrop{z-index:1055!important}

/* 12) Forms/utilities */
.form-floating>.form-control:focus,
.form-control:focus{box-shadow:0 0 0 .2rem rgba(163,217,0,.25);border-color:var(--gg-lime)}
.badge.bg-light{border:1px solid #e5e5e5}

/* 13) Upgrade cards */
.plans-row{display:flex;flex-wrap:wrap;gap:1.5rem}
.plan-col{flex:1 1 0;min-width:300px;display:flex}
.plan-card{flex:1;display:flex;flex-direction:column;border-width:2px;border-radius:1rem}
.plan-header{background:#f7ffe9;border-bottom:1px solid #e6f6c7;border-top-left-radius:1rem;border-top-right-radius:1rem;min-height:90px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.plan-card .card-body{flex:1;display:flex;flex-direction:column}
.plan-price{flex:0 0 auto;min-height:80px;text-align:center}
.plan-features{flex:1 1 auto;min-height:100px}
.plan-cta{flex:0 0 auto;margin-top:auto}
.badge-top{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:2}
.plan-popular{border-color:#a3d900!important;box-shadow:0 10px 30px rgba(163,217,0,.15)}
.plan-card .display-6{line-height:1}

/* 14) Responsive tweaks */
@media (max-width:767.98px){
  .hero-section{min-height:38vh;padding:56px 0}
  .card .card-img-top{height:220px!important}
  .plans-row{justify-content:center}
}

/* 15) Accessibility */
:focus-visible{outline:2px solid --gg-lime;outline-offset:2px}
.visually-hidden-focusable:active,
.visually-hidden-focusable:focus{clip:auto;clip-path:none;height:auto;margin:0;overflow:visible;position:static;width:auto}

.special-offer {
  border: 2px solid #a3d900;
  background: #f8fff0;
  color: #2d5700;
}

.special-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #a3d900;
  color: #111;
  font-weight: bold;
  font-size: 1rem;
}
/* Lime hover for dropdown items under GUIDES */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background-color: #a3d900 !important;
  color: #111 !important;
}

.card-body .form-label{ font-weight:600 }
.input-group-text{ min-width:2.5rem; justify-content:center }

/* keep labels tight and helper text close under inputs */
.form-label{margin-bottom:.35rem}
.form-text{margin-top:.3rem}

/* make sure sticky wins over earlier rules */
.navbar.sticky-top {
  position: sticky !important;
  top: 0 !important;
  z-index: 1105; /* above hero overlays */
}

/* if you previously forced fixed or relative, neutralize it */
.navbar { position: static !important; }