/*
Theme Name: MAKESUM Clean
Theme URI: https://makesum.my/
Author: MAKESUM
Author URI: https://makesum.my/
Description: Clean, modern WordPress theme for the MAKESUM blog. Matches the main site’s header styling, uses Poppins, blue–cyan palette, crisp custom logo, responsive grid, and tighter mobile typography.
Version: 1.0.3
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: makesum-clean
*/
:root{
  --bg:#ffffff; --fg:#0f172a; --muted:#64748b;
  --brand:#0ea5e9; --brand-dark:#0284c7; --brand-soft:#e0f2fe;
  --border:#e2e8f0; --alt:#f8fafc;
  --radius:14px; --shadow:0 12px 30px rgba(2,8,23,.07);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--fg);background:var(--bg);line-height:1.7;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

/* Layout */
.container{width:min(1200px,92%);margin-inline:auto}
.section{padding:72px 0}
.muted{color:var(--muted)}

/* Header */
.header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);z-index:50}
.header .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px}
.logo img{height:40px;display:block}
nav.nav ul{display:flex;gap:20px;align-items:center;list-style:none;margin:0;padding:0}
nav.nav a{color:#0f172a;opacity:.9;font-weight:500}
nav.nav a:hover{opacity:1}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--shadow);font-weight:600}
.cta:hover{background:var(--brand-dark)}
.menu-toggle{display:none;background:none;border:0;font-size:24px}
@media (max-width:900px){
  nav.nav{display:none}
  nav.nav.open{display:flex;position:absolute;top:72px;right:4%;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow)}
  nav.nav.open ul{flex-direction:column;align-items:flex-start}
  .menu-toggle{display:block}
}

/* Blog hero */
.hero-blog{background:linear-gradient(180deg,#f8fafc,transparent);padding:48px 0 12px}
.hero-blog h1{font-size:36px;line-height:1.2;margin:0 0 6px;font-weight:700;}
.hero-blog p{margin:0;color:var(--muted)}

/* Posts grid */
.posts{padding:36px 0 72px}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1100px){.posts-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.posts-grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.thumb{aspect-ratio:16/9;background:var(--alt);display:block;width:100%;object-fit:cover}
.card .pad{padding:16px;display:flex;flex-direction:column;gap:8px}
.badge{display:inline-flex;align-items:center;gap:8px;color:#0369a1;background:var(--brand-soft);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;width:max-content}
.title{font-weight:700;font-size:18px;line-height:1.4}
.meta{font-size:12px;color:var(--muted)}
.more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:600}

/* Single post */
.single-hero{padding:28px 0;border-bottom:1px solid var(--border);background:#fff}
.single-hero h1{font-size:34px;margin:0 0 8px}
.single-meta{color:var(--muted);font-size:14px}
.single-wrap{padding:20px 0 72px}
.content{font-size:18px}
.content p{margin:0 0 1em}
.content img{border-radius:12px;box-shadow:var(--shadow)}
.post-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:16px;margin-top:24px}
.post-nav a{color:var(--brand);font-weight:600}

/* Footer */
.site-footer{padding:48px 0;border-top:1px solid var(--border);background:#fff}
.site-footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.small{color:var(--muted);font-size:14px}

/* Anchor offset shim (if you use #hubungi within the blog) */
:target::before{content:"";display:block;height:76px;margin-top:-76px}

/* === Mobile Typography Tightening === */
@media (max-width: 600px){
  body{ font-size:16px; line-height:1.7 }
  .hero-blog h1{ font-size:26px }
  .posts{ padding:24px 0 56px }
  .card .pad{ gap:6px }
  .title{ font-size:17px }
  .meta{ font-size:12px }
  nav.nav a{ font-size:15px }
  .cta{ padding:9px 12px; font-size:14px; border-radius:10px }
  .single-hero h1{ font-size:26px }
  .content{ font-size:17px; line-height:1.7 }
}
@media (max-width:400px){
  .hero-blog h1{ font-size:24px }
  .content{ font-size:16px }
}
