:root{
  --gl-green:#2c7a3d;
  --gl-green-dark:#1e5a2b;
  --gl-green-light:#e8f4ea;
  --gl-earth:#8b6f47;
  --gl-cream:#faf7f2;
}
body{ font-family:'Segoe UI',Roboto,-apple-system,sans-serif; color:#2b2b2b; background:#fff; }
.text-success,.bg-success{ /* keep bootstrap defaults */ }
.btn-success{ background:var(--gl-green)!important; border-color:var(--gl-green)!important; }
.btn-success:hover{ background:var(--gl-green-dark)!important; border-color:var(--gl-green-dark)!important; }
.text-green{ color:var(--gl-green); }
.bg-green-light{ background:var(--gl-green-light); }
a{ color:var(--gl-green); }
a:hover{ color:var(--gl-green-dark); }

.hero{
  background:linear-gradient(135deg, rgba(30,90,43,.85), rgba(44,122,61,.7)),
             url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=1600&auto=format&fit=crop') center/cover no-repeat;
  color:#fff;
  padding:6rem 0 5rem;
}
.hero h1{ font-weight:700; letter-spacing:-.5px; }
.hero .lead{ opacity:.95; }

.section{ padding:4rem 0; }
.section-title{ font-weight:700; letter-spacing:-.3px; margin-bottom:1rem; }
.section-sub{ color:#5a6b60; margin-bottom:2.5rem; }

.stat-card{ border:0; box-shadow:0 4px 12px rgba(30,60,40,.08); border-radius:.75rem; padding:1.75rem 1rem; text-align:center; background:#fff; }
.stat-card .num{ font-size:2.25rem; font-weight:700; color:var(--gl-green); }
.stat-card .lbl{ color:#607769; text-transform:uppercase; font-size:.75rem; letter-spacing:.5px; }

.plant-card{ border:0; box-shadow:0 2px 10px rgba(0,0,0,.06); border-radius:.75rem; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease; height:100%; }
.plant-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(30,60,40,.12); }
.plant-card .card-img-top{ height:200px; object-fit:cover; background:#e8f4ea; }
.plant-card .card-title{ font-size:1rem; font-weight:600; }
.plant-card .meta{ font-size:.8rem; color:#6b7c72; }

.memorial-hero{
  background:linear-gradient(135deg, rgba(30,60,40,.85), rgba(60,100,70,.55)),
             url('https://images.unsplash.com/photo-1502082553048-f009c37129b9?w=1600&auto=format&fit=crop') center/cover no-repeat;
  color:#fff; padding:4rem 0;
}

.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  background:var(--gl-green); color:#fff; font-size:1.5rem; font-weight:700; margin-bottom:1rem;
}

.timeline-item{ border-left:2px solid #b7d1bc; padding:0 0 1.5rem 1.25rem; margin-left:.5rem; position:relative; }
.timeline-item::before{ content:""; position:absolute; left:-7px; top:.35rem; width:12px; height:12px; border-radius:50%; background:var(--gl-green); }
.timeline-date{ font-size:.85rem; color:var(--gl-green); font-weight:600; }

.hero-search{ background:#fff; padding:1.25rem; border-radius:.75rem; box-shadow:0 4px 20px rgba(0,0,0,.15); margin-top:1.5rem; }

.plant-map{ height:70vh; min-height:400px; border-radius:.5rem; overflow:hidden; }

.qr-box{ padding:1.5rem; background:#f8f9fa; border:1px dashed #dee2e6; border-radius:.5rem; text-align:center; }
.qr-box img{ max-width:220px; width:100%; margin:0 auto; }

.cert-preview{ background:linear-gradient(135deg,#faf7f2,#fff); border:6px double var(--gl-green); padding:2rem; border-radius:.5rem; }
