/* =========================================================
   FARM FOR FOOD — LESSON HUB
   Uses the shared Agriculture Skills Hub styles.
   Only hub-specific styling is included here.
========================================================= */

body.theme-project{
  --project-colour:#E18827;
  --project-dark:#E37609;
  --project-light:#fff4eb;
  --project-accent:#F76A53;
}

.project-hero{
  background-position:center;
}

.hub-intro{
  max-width:1200px;
  margin:26px auto 0;
  padding:0 20px;
}

.hub-intro-card{
  background:#fff;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  padding:26px 30px;
  border-left:8px solid var(--project-colour);
}

.hub-intro-card h2{
  margin:0 0 8px;
  color:var(--project-dark);
}

.hub-intro-card p{
  margin:8px 0;
}

.objective-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.objective-item{
  border:1px solid #e0e7e1;
  border-radius:14px;
  padding:15px;
  background:#fafdfb;
}

.objective-item strong{
  display:block;
  margin-bottom:5px;
  color:var(--project-dark);
}

.objective-item small{
  color:var(--muted);
}

.lesson-progress{
  max-width:1200px;
  margin:14px auto 0;
  padding:0 20px;
}

.progress-panel{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #dfe5eb;
  border-radius:16px;
  padding:12px 16px;
}

.progress-track{
  flex:1;
  height:10px;
  background:#edf1f5;
  border-radius:999px;
  overflow:hidden;
}

.progress-fill{
  height:100%;
  width:0;
  background:var(--project-colour);
  transition:width .3s ease;
}

.progress-count{
  font-weight:800;
  white-space:nowrap;
  color:var(--project-dark);
}

.lesson-grid{
  max-width:1200px;
  margin:22px auto 0;
  padding:0 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.lesson-card{
  position:relative;
  background:#fff;
  border:1px solid #dbe3ea;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 9px 22px rgba(0,0,0,.07);
  display:flex;
  flex-direction:column;
  transition:.22s ease;
}

.lesson-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.11);
}

.lesson-card-top{
  min-height:130px;
  padding:22px;
  color:#fff;
  display:flex;
  align-items:flex-start;
  gap:15px;
}

.lesson-card.green .lesson-card-top{
  background:linear-gradient(135deg,#E18827,#E37609);
}

.lesson-card.blue .lesson-card-top{
  background:linear-gradient(135deg,#F8A552,#E18827);
}

.lesson-card.purple .lesson-card-top{
  background:linear-gradient(135deg,#F76A53,#E37609);
}

.lesson-number{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  font-weight:900;
}

.lesson-card-top h2{
  margin:0 0 4px;
  font-size:1.25rem;
}

.lesson-card-top p{
  margin:0;
  font-size:.93rem;
  opacity:.94;
}

.lesson-card-body{
  padding:20px 22px;
  flex:1;
  display:flex;
  flex-direction:column;
}

.lesson-card-body ul{
  margin:0;
  padding-left:20px;
}

.lesson-card-body li{
  margin:7px 0;
}

.lesson-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}

.lesson-tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#f1f5f3;
  color:#35503b;
  font-size:.8rem;
  font-weight:800;
}

.lesson-action{
  margin-top:auto;
  padding-top:18px;
}

.lesson-action a{
  width:100%;
  justify-content:center;
}

.status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  font-size:.86rem;
  font-weight:800;
  color:#5b6472;
}

.status.complete{
  color:#2e7d32;
}

.sequence{
  max-width:1200px;
  margin:22px auto 0;
  padding:0 20px;
}

.sequence-card{
  background:linear-gradient(135deg,#f6fbf6,#fff);
  border:1px solid #d5e4d6;
  border-radius:20px;
  padding:22px 26px;
}

.sequence-card h2{
  margin:0 0 8px;
  color:var(--project-dark);
}

.sequence-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:10px;
  margin-top:16px;
}

.sequence-step{
  text-align:center;
  padding:15px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce6dd;
}

.sequence-step strong{
  display:block;
  color:var(--project-dark);
  margin-bottom:4px;
}

.sequence-arrow{
  color:var(--project-colour);
  font-size:1.3rem;
}

.final-panel{
  max-width:1200px;
  margin:22px auto 0;
  padding:0 20px;
}

.final-panel-inner{
  background:#fff;
  border-radius:20px;
  border:1px solid #dbe3ea;
  padding:22px 26px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.final-panel-inner h2{
  margin:0 0 8px;
  color:var(--project-dark);
}

.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.hub-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(0,0,0,.08);
}

.hub-btn.primary{
  background:var(--project-colour);
  color:#fff;
}

.hub-btn.secondary{
  background:#fff;
  color:var(--project-dark);
}

@media(max-width:900px){
  .objective-grid,
  .lesson-grid{
    grid-template-columns:1fr;
  }

  .sequence-flow{
    grid-template-columns:1fr;
  }

  .sequence-arrow{
    transform:rotate(90deg);
    justify-self:center;
  }
}

@media(max-width:620px){
  .hub-intro,
  .lesson-progress,
  .lesson-grid,
  .sequence,
  .final-panel{
    padding-left:10px;
    padding-right:10px;
  }

  .hub-intro-card{
    padding:20px;
  }

  .progress-panel{
    flex-wrap:wrap;
  }

  .progress-track{
    flex-basis:100%;
    order:3;
  }
}
