:root{
  --green-900:#0b5a2b;
  --green-700:#1b8a42;
  --green-500:#22c55e;
  --light:#f5fdf6;
  --muted:#6c757d;
  --card:#ffffff;
  --shadow: 0 6px 18px rgba(7, 42, 22, 0.08);
  --max-width:1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color:#1f2937;
  background: linear-gradient(#f6fff6, #f0f9f1 60%);
  -webkit-font-smoothing:antialiased;
}

.container{
  width:90%;
  max-width:var(--max-width);
  margin:0 auto;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  background: linear-gradient(90deg, var(--green-900), var(--green-700));
  color:white;
  position:sticky;
  top:0;
  z-index:30;
  box-shadow: var(--shadow);
}

.nav-left{display:flex;align-items:center;gap:10px}

.logo{width:40px;height:40px;border-radius:8px;background:var(--green-500);display:grid;place-items:center;font-weight:700}

.site-title{font-weight:700;font-size:1.05rem}

.nav-center{display:none;gap:18px}

.nav-center a{color:white;text-decoration:none;font-weight:600}

.nav-right .primary-btn{padding:8px 12px}

.banner{
  height:300px;
  background-image:url('B12A06-Green-Earth/assets/hero-leaf1.png');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  text-align:center;
  padding:20px;
}

.banner-content{
  background: rgba(0,0,0,0.25);
  padding:18px 26px;
  border-radius:8px;
}

.banner h1{font-size:1.8rem;margin-bottom:6px}

.banner p{opacity:0.95;margin-bottom:12px}

.primary-btn{
  background:var(--green-700);
  color:white;
  border:0;
  padding:8px 14px;
  border-radius:6px;
  cursor:pointer;
  font-weight:700;
}

.ghost-btn{
  background:transparent;
  border:1px solid rgba(0,0,0,0.06);
  padding:6px 10px;
  border-radius:6px;
  cursor:pointer;
}

.primary-btn:disabled{opacity:0.5;cursor:not-allowed}

.card{
    display: flex;
}

.main-grid{
  display:grid;
  grid-template-columns: 220px 1fr 300px;
  gap:20px;
  margin-top:26px;
  margin-bottom:26px;
  align-items:start;
}

.panel{
  background:var(--card);
  padding:16px;
  border-radius:10px;
  box-shadow:var(--shadow);
}

.categories h3{margin:0 0 8px 0}

.chips{display:flex;flex-direction:column;gap:8px}

.chip{
  padding:8px 10px;border-radius:8px;border:1px solid #e6f4ea;background:#f7fff8;cursor:pointer;text-align:left;
}

.chip.active{background:var(--green-500);color:white;border-color:transparent;font-weight:700}

.cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}

.spinner{width:48px;height:48px;border-radius:50%;border:6px solid #e6f4ea;border-top-color:var(--green-700);margin:24px auto;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.hidden{display:none}

.cards-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:14px;
}

.card{
  border-radius:8px;
  overflow:hidden;
  background:#ffffff;
  display:flex;
  flex-direction:column;
  box-shadow: 0 6px 18px rgba(7,42,22,0.04);
}

.card img{width:100%;height:160px;object-fit:cover}

.card-body{padding:12px;flex:1;display:flex;flex-direction:column;gap:8px}

.card-title{font-weight:700;cursor:pointer;color:var(--green-700)}

.card-desc{font-size:0.95rem;color:var(--muted);flex:1}

.card-row{display:flex;justify-content:space-between;align-items:center;font-weight:700}

.card .add-btn{margin-top:8px;padding:8px;border-radius:6px;border:0;background:var(--green-700);color:white;cursor:pointer}

.empty{padding:24px;color:var(--muted);text-align:center}

.cart-list{min-height:120px;max-height:320px;overflow:auto;padding-right:6px}

.cart-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:8px;background:#f6fff7;margin-bottom:8px}

.cart-item .meta{max-width:70%}

.remove-btn{background:transparent;border:0;color:crimson;cursor:pointer;font-weight:700}

.cart-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}

.cart-total{font-weight:800;font-size:1.05rem}

.section{margin-top:30px;margin-bottom:30px;padding:28px 0}

.about-grid{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}

.about-grid img{width:220px;height:220px;object-fit:cover;border-radius:8px}

.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}

.impact-card{background:#eaf7ee;padding:18px;border-radius:8px;text-align:center}

.impact-value{font-weight:800;font-size:1.2rem;color:var(--green-700)}

.impact-label{font-size:0.9rem;color:var(--muted)}

.donate-form{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:12px auto}

.donate-form input{padding:10px;border-radius:6px;border:1px solid #e8f1ea}

.donate-form button{align-self:flex-start}

.footer{background:linear-gradient(90deg,var(--green-900),var(--green-700));color:white;padding:18px 0;margin-top:20px}

.footer-inner{display:flex;justify-content:space-between;align-items:center}

@media (max-width:1000px){
  .main-grid{grid-template-columns: 1fr; gap:16px}
  .nav-center{display:none}
  .cards-grid{grid-template-columns: repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .impact-grid{grid-template-columns: repeat(2,1fr)}
}

@media (min-width:1001px){
  .nav-center{display:flex}
}

@media (max-width:640px){
  .cards-grid{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:1fr}
  .banner{height:220px}
  .banner h1{font-size:1.2rem}
}