:root{
  --primary:#27ae60;
  --secondary:#2980b9;
  --text:#2c3e50;
  --muted:#6b7b8c;
  --bg:#ffffff;
  --card:#f7f9fb;
}
*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.6;
  font-size:16px;
}
a{color:var(--secondary);text-decoration:none}
a:hover{text-decoration:underline}

/* Layout Containers */
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* Header + Nav */
.header{
  position:sticky;
  top:0;
  z-index:100;
  background:#fff;
  border-bottom:1px solid #e5edf5;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  flex-wrap:wrap;
}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:36px}
.menu{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.menu a{
  padding:8px 12px;
  border-radius:10px;
  font-weight:500;
}
.menu a:hover{background:#eef5ff}

/* Hero Banner */
.hero{position:relative}
.hero img{
  width:100%;
  height:300px;
  /* object-fit:cover; */
  border-bottom:1px solid #e5edf5;
}
.hero .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.85) 70%,#fff 100%);
}
.hero .title{
  position:absolute;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(255,255,255,0.9);
  padding:14px 18px;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,0.06);
  font-weight:700;
  color:var(--text);
  font-size:1.1rem;
  text-align:center;
}

/* Cards Grid */
.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:24px 0;
}
.card{
  background:var(--card);
  border:1px solid #e5edf5;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform 0.2s ease;
}
.card:hover{transform:translateY(-3px)}
.card img{
  width:100%;
  height:170px;
  object-fit:cover;
}
.card .p{padding:14px}
.badge{
  display:inline-block;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  margin-bottom:6px;
}
.meta{font-size:12px;color:var(--muted);margin-bottom:8px}
.card h3{margin:6px 0 8px 0;font-size:1.1rem}

/* Footer */
.footer{
  background:#0f172a;
  color:#cbd5e1;
  margin-top:32px;
}
.footer a{color:#cbd5e1}
.footer .wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding:24px 16px;
}
.copy{
  border-top:1px solid #293548;
  padding:12px 0;
  text-align:center;
  font-size:0.9rem;
}

/* Responsive Breakpoints */
@media(max-width:900px){
  .grid{grid-template-columns:1fr 1fr}
  .hero img{height:220px}
}
@media(max-width:600px){
  html,body{font-size:15px}
  .grid{grid-template-columns:1fr}
  .menu{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    width:100%;
    margin-top:10px;
  }
  .nav{flex-direction:column;align-items:flex-start}
  .hero img{height:180px}
  .hero .title{font-size:1rem;padding:10px 14px}
  .footer .wrap{grid-template-columns:1fr}
}

/* Post Page */
.post-hero {
  width: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  .post-hero {
    height: 220px;       /* mobile */
  }
}


.post{
  max-width:820px;
  margin:0 auto;
  padding:16px;
}
.post h1{font-size:2rem;margin:12px 0}
.post p{line-height:1.7;margin:14px 0}
.post h2{margin-top:24px}
.post ul,.post ol{margin-left:20px}

/* Utility */
.alert{
  background:#eefaf3;
  border:1px solid #d7f0e2;
  padding:12px;
  border-radius:12px;
}
.table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0;
}
.table th,.table td{
  border:1px solid #e5edf5;
  padding:10px;
  text-align:left;
}
.searchbar{margin:14px 0}
input[type="search"]{
  width:100%;
  padding:10px;
  border:1px solid #dbe6f3;
  border-radius:12px;
  font-size:1rem;
}
/* Extra mobile-friendly adjustments */
@media (max-width: 768px) {
  /* Header/Nav improvements */
  .nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .menu {
    flex-direction: column;
    width: 100%;
  }

  .menu a {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: 0;
    border-bottom: 1px solid #eef2f7;
  }

  /* Footer improvements */
  .footer .wrap {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer h4 {
    margin-top: 12px;
  }
}

/* ===================================== */
/* Extra Mobile-Friendly Adjustments     */
/* ===================================== */
@media (max-width: 768px) {
  /* HEADER / NAV FIX */
  .nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .logo {
    margin-bottom: 10px;
  }

  .menu {
    flex-direction: column;
    width: 100%;
    gap: 0;
  }

  .menu a {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: 0;
    border-bottom: 1px solid #eef2f7;
  }

  /* FOOTER FIX */
  .footer .wrap {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center; /* center content inside grid */
  }

  .footer .wrap > div {
    max-width: 90%; /* stop text from stretching too wide */
  }

  .footer h4 {
    margin-top: 12px;
    margin-bottom: 6px;
  }

  .copy {
    font-size: 0.85rem;
    text-align: center;
  }
}

/* Base menu styles */
.menu {
  display: flex;
  gap: 15px;
}

.hamburger {
  display: none;
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
}

/* Mobile view */
@media (max-width: 768px) {
  .menu {
    display: none;
    flex-direction: column;
    background: #fff;
    position: absolute;
    top: 60px;
    right: 10px;
    padding: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }

  .menu.active {
    display: flex;
  }

  .hamburger {
    display: block;
  }
}
.post-header {
	   width:100%;
	   height:320px;
	   overflow: hidden;
}

