/* KINFRAIII - Core Styles */
:root{
  --k-primary: #195837; /* deep */
  --k-secondary: #43AF65; /* mid */
  --k-accent: #5AFF8C; /* accent */
  --k-bg-light: #f7fbf7;
  --k-text: #07261a;
  --k-radius: 10px;
  --container-max: 1200px;
  --gap: 1.25rem;
  --fluid-padding: 1rem;
  --shadow-soft: 0 6px 18px rgba(25,88,55,0.08);
}

/* Basic reset for widget area (feel free to remove if theme has resets) */
.k-container{max-width:var(--container-max);margin:0 auto;padding:1.25rem;box-sizing:border-box}
.k-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.95);backdrop-filter:saturate(120%) blur(4px);border-bottom:1px solid rgba(0,0,0,0.04)}
.k-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 1rem}
.k-logo{font-weight:700;color:var(--k-primary);text-decoration:none;font-size:1.15rem}
.k-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0;align-items:center}
.k-nav a{color:var(--k-text);text-decoration:none;padding:0.35rem 0.5rem;border-radius:8px}
.k-nav a:hover{background:rgba(67,175,101,0.08)}
.k-cta{background:var(--k-secondary);color:#fff;padding:0.45rem 0.85rem;border-radius:8px}
.k-hamburger{display:none;background:none;border:0;font-size:1.15rem}

/* HERO */
.k-hero{padding:3rem 0;background:linear-gradient(135deg,var(--k-primary),var(--k-secondary));color:#fff}
.k-hero-inner{display:grid;grid-template-columns:1fr 420px;align-items:center;gap:2rem;align-items:center}
.k-hero h1{font-size:2.1rem;margin:0 0 0.6rem}
.k-hero .lead{opacity:0.95;margin-bottom:1rem}
.k-hero img{width:100%;max-width:420px;border-radius:12px;box-shadow:var(--shadow-soft);background:#fff}

/* Buttons */
.btn{display:inline-block;padding:0.6rem 1rem;border-radius:10px;text-decoration:none;font-weight:600}
.btn-primary{background:var(--k-accent);color:var(--k-text)}
.btn-outline{border:1px solid rgba(255,255,255,0.25);color:#fff;background:transparent}

/* Sections */
.k-section{padding:2.25rem 0}
.k-bg-light{background:var(--k-bg-light)}
.k-two-col{display:grid;grid-template-columns:1fr 360px;gap:1.5rem;align-items:start}
.k-card{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:var(--shadow-soft)}
.section-title{margin-bottom:1rem}

/* Grids and cards */
.k-grid{display:grid;gap:1rem}
.k-grid-3{grid-template-columns:repeat(3,1fr)}
.k-grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;padding:1rem;border-radius:12px;box-shadow:var(--shadow-soft)}
.card h4{margin:0 0 0.5rem}
.card-link{display:inline-block;margin-top:0.6rem;color:var(--k-secondary);text-decoration:none;font-weight:600}

/* Gallery */
.k-gallery{display:flex;gap:1rem;flex-wrap:wrap}
.k-gallery figure{flex:1 1 30%;margin:0}
.k-gallery img{width:100%;border-radius:10px}

/* Resources small cards */
.small-cards .resource-card{background:#fff;padding:0.9rem;border-radius:10px;box-shadow:var(--shadow-soft);text-align:left}

/* News list */
.k-news-list{display:grid;gap:1rem}
.news-item{background:#fff;padding:0.9rem;border-radius:8px;box-shadow:var(--shadow-soft)}
.news-item time{display:block;font-size:0.85rem;color:#666;margin-bottom:0.35rem}

/* Contact / CTA */
.k-cta-section{background:linear-gradient(180deg,#fff,var(--k-bg-light));padding:2rem;border-radius:12px}
.k-contact-info{background:#fff;padding:1rem;border-radius:10px;box-shadow:var(--shadow-soft)}

/* Footer */
.k-footer{background:var(--k-primary);color:#fff;padding:1.5rem 0;margin-top:2rem}
.k-footer-grid{display:grid;grid-template-columns:1fr 160px 160px;gap:1rem}
.k-footer a{color:inherit;text-decoration:none}
.kopyright{margin-top:1rem;font-size:0.9rem;opacity:0.9}

/* Responsive */
@media (max-width:1024px){
  .k-hero-inner{grid-template-columns:1fr 320px}
  .k-grid-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .k-container{padding:1rem}
  .k-hero{padding:2rem 0}
  .k-hero h1{font-size:1.6rem}
  .k-hero-inner{grid-template-columns:1fr; text-align:center}
  .k-hero-media{order: -1}
  .k-two-col{grid-template-columns:1fr}
  .k-grid-3{grid-template-columns:1fr}
  .k-grid-4{grid-template-columns:1fr 1fr}
  .k-footer-grid{grid-template-columns:1fr 1fr}
  .k-hamburger{display:block}
  .k-nav{display:none}
  .k-nav.open{display:block;position:absolute;left:0;right:0;top:64px;background:#fff;padding:1rem;border-bottom:1px solid rgba(0,0,0,0.06)}
  .k-nav ul{flex-direction:column}
}

/* Accessibility */
a:focus, button:focus{outline:3px solid var(--k-accent);outline-offset:2px}