/*
Theme Name: LankaPulse
Theme URI: https://example.com/
Author: Your Name
Author URI: https://example.com/
Description: A fast, editorial WordPress news theme with 5 categories (News, Features, Technology, Business, Sports), a tech-green palette, and smooth Apple-style scroll animations.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lankapulse
*/

/* ============================================================
   QUICK CUSTOMIZE GUIDE
   1. COLORS   — edit the :root block below. Every color on the
                 site is a variable here (--paper, --forest,
                 --signal, etc.) — change once, updates everywhere.
   2. FONTS    — change the two family names in header.php's
                 Google Fonts link and in the font-family rules
                 below for 'Space Grotesk' (headlines) and
                 'Inter' (body).
   3. LOGO/NAME — set in Appearance → Customize → Site Identity.
   4. CATEGORIES — the top nav, pill rail and footer sections
                 pull your 5 top WordPress categories
                 automatically (by post count). Just create/rename
                 categories in Posts → Categories.
   ============================================================ */

:root{
  --paper:#F6F8F6;
  --surface:#FFFFFF;
  --ink:#0E1712;
  --ink-soft:#4A564E;
  --hairline:#DCE3DE;
  --forest:#0F3D28;
  --forest-deep:#0A2E1D;
  --signal:#1FAE5C;
  --signal-bright:#22C55E;
  --signal-tint:#E7F6ED;
  --max:1280px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  margin:0;
  letter-spacing:-0.02em;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:var(--signal-bright);
  z-index:100;
  transition:width .1s linear;
}

/* ---------- Top utility bar ---------- */
.utility-bar{background:var(--forest-deep);color:#CFE6D9;font-size:12.5px;}
.utility-bar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;}
.utility-bar .date{opacity:.75;}
.utility-bar .links{display:flex;gap:18px;}
.utility-bar .links a{opacity:.85;transition:opacity .2s var(--ease);}
.utility-bar .links a:hover{opacity:1;color:var(--signal-bright);}

/* ---------- Masthead ---------- */
.masthead{background:var(--surface);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:50;}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;letter-spacing:-0.03em;display:flex;align-items:center;gap:10px;}
.logo img{max-height:44px;width:auto;}
.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--signal-bright);box-shadow:0 0 0 4px var(--signal-tint);}
.logo span.accent{color:var(--signal);}

nav.primary-nav{display:flex;align-items:center;gap:2px;}
nav.primary-nav a{position:relative;font-size:15px;font-weight:600;padding:10px 16px;color:var(--ink);}
nav.primary-nav a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--signal-bright);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease);}
nav.primary-nav a:hover::after,
nav.primary-nav .current-menu-item a::after{transform:scaleX(1);}
nav.primary-nav .current-menu-item a{color:var(--forest);}
nav.primary-nav .cat-pill.is-active::after{transform:scaleX(1);}

.masthead-actions{display:flex;align-items:center;gap:14px;}
.search-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;transition:border-color .25s var(--ease), background .25s var(--ease);cursor:pointer;background:none;}
.search-btn:hover{border-color:var(--signal);background:var(--signal-tint);}

.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}

/* ---------- Search panel ---------- */
.search-panel{max-height:0;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--hairline);transition:max-height .35s var(--ease);}
.search-panel.is-open{max-height:90px;}
.search-panel .wrap{padding:16px 32px;}
.search-form{display:flex;gap:10px;}
.search-form input{flex:1;padding:12px 16px;border-radius:100px;border:1px solid var(--hairline);font-family:inherit;font-size:14px;}
.search-form button{padding:12px 20px;border-radius:100px;border:0;background:var(--forest);color:#fff;font-weight:600;cursor:pointer;}

/* ---------- Hero ---------- */
.hero-section{padding:40px 0 56px;}
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;}
.lead-card{position:relative;border-radius:20px;overflow:hidden;background:var(--ink);min-height:480px;display:flex;align-items:flex-end;isolation:isolate;will-change:transform;transition:transform .5s var(--ease);}
.lead-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;will-change:transform;}
.lead-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(10,15,12,.92) 0%, rgba(10,15,12,.35) 55%, rgba(10,15,12,.05) 100%);}
.lead-content{position:relative;padding:36px;color:#fff;}
.kicker{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--signal-bright);margin-bottom:14px;}
.kicker .live-dot{width:6px;height:6px;border-radius:50%;background:var(--signal-bright);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6);}50%{box-shadow:0 0 0 6px rgba(34,197,94,0);}}
.lead-content h1{font-size:34px;line-height:1.15;font-weight:600;max-width:26ch;}
.lead-content h1 a{color:inherit;}
.lead-content p{font-size:15px;color:#D8E2DC;margin-top:12px;max-width:48ch;line-height:1.55;}
.lead-meta{margin-top:18px;font-size:13px;color:#AAB8B0;}

.side-stack{display:flex;flex-direction:column;gap:20px;}
.side-card{display:flex;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;transition:border-color .3s var(--ease), transform .3s var(--ease);}
.side-card:hover{border-color:var(--signal);transform:translateX(3px);}
.side-card .thumb{width:88px;height:88px;border-radius:10px;overflow:hidden;flex:none;background:var(--hairline);}
.side-card .thumb img{width:100%;height:100%;object-fit:cover;}
.side-card .tag{font-size:11.5px;font-weight:700;color:var(--signal);text-transform:uppercase;letter-spacing:.04em;}
.side-card h3{font-size:15.5px;font-weight:600;line-height:1.3;margin-top:5px;}
.side-card .meta{font-size:12px;color:var(--ink-soft);margin-top:8px;}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ---------- Category rail ---------- */
.category-rail{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--surface);}
.category-rail .wrap{display:flex;gap:8px;padding:14px 32px;overflow-x:auto;scrollbar-width:none;}
.category-rail .wrap::-webkit-scrollbar{display:none;}
.cat-pill{flex:none;font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:100px;border:1px solid var(--hairline);color:var(--ink-soft);transition:all .25s var(--ease);white-space:nowrap;}
.cat-pill:hover{color:var(--forest);border-color:var(--signal);}
.cat-pill.is-active{background:var(--forest);border-color:var(--forest);color:#fff;}

/* ---------- Section blocks ---------- */
.section{padding:56px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px;}
.section-head h2 .swatch{width:9px;height:22px;border-radius:3px;background:var(--signal-bright);}
.section-head a{font-size:13.5px;font-weight:600;color:var(--forest);}
.section-head a:hover{color:var(--signal);}

.content-layout{display:grid;grid-template-columns:2fr 1fr;gap:44px;}

.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.article-card{display:flex;flex-direction:column;}
.article-card .thumb{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--hairline);margin-bottom:14px;}
.article-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.article-card:hover .thumb img{transform:scale(1.06);}
.article-card .tag{font-size:11.5px;font-weight:700;color:var(--signal);text-transform:uppercase;letter-spacing:.04em;}
.article-card h3{font-size:17px;font-weight:600;line-height:1.35;margin-top:7px;}
.article-card h3 a{color:inherit;}
.article-card p{font-size:13.5px;color:var(--ink-soft);margin-top:8px;line-height:1.55;}
.article-card .meta{font-size:12px;color:var(--ink-soft);margin-top:12px;opacity:.8;}

.sidebar-card{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;padding:24px;}
.trending-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--hairline);}
.trending-item:last-child{border-bottom:none;padding-bottom:0;}
.trending-item:first-child{padding-top:0;}
.trending-item .rank{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;-webkit-text-stroke:1px var(--forest);color:transparent;flex:none;width:26px;}
.trending-item h4{font-size:14.5px;font-weight:600;line-height:1.4;}
.trending-item .meta{font-size:11.5px;color:var(--ink-soft);margin-top:6px;}

.widget{margin-top:24px;padding-top:20px;border-top:1px solid var(--hairline);}
.widget h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:12px;}

/* ---------- Newsletter band ---------- */
.newsletter-band{background:var(--forest);background-image:radial-gradient(circle at 85% 20%, rgba(34,197,94,.25), transparent 55%);color:#fff;border-radius:24px;margin:8px 32px 0;padding:52px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;}
.newsletter-band h2{font-size:26px;font-weight:600;max-width:16ch;}
.newsletter-band p{color:#BFE0CC;font-size:14.5px;margin-top:10px;max-width:42ch;line-height:1.6;}
.newsletter-form{display:flex;gap:10px;flex:none;}
.newsletter-form input{width:240px;padding:13px 16px;border-radius:100px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:14px;font-family:inherit;}
.newsletter-form input::placeholder{color:#A9C4B4;}
.newsletter-form button{background:var(--signal-bright);color:var(--forest-deep);font-weight:700;font-size:14px;padding:13px 22px;border-radius:100px;border:0;cursor:pointer;transition:transform .25s var(--ease), background .25s var(--ease);}
.newsletter-form button:hover{background:#fff;transform:translateY(-1px);}
.newsletter-form button:disabled{opacity:.7;cursor:default;}

/* ---------- Footer ---------- */
footer{background:var(--forest-deep);color:#B8CBBF;margin-top:64px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:56px 0 36px;}
.footer-grid .logo{color:#fff;margin-bottom:14px;}
.footer-grid p{font-size:13.5px;line-height:1.6;max-width:32ch;color:#9BB3A5;}
.footer-col h5{font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;}
.footer-col a{display:block;font-size:13.5px;color:#AEC5B7;padding:6px 0;transition:color .2s var(--ease);}
.footer-col a:hover{color:var(--signal-bright);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;font-size:12.5px;color:#7C9585;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* ---------- Single post ---------- */
.entry-content p{margin:0 0 20px;}
.entry-content img{border-radius:14px;margin:24px 0;}
.entry-content h2,.entry-content h3{margin-top:36px;margin-bottom:14px;}
.entry-content a{color:var(--forest);text-decoration:underline;}
.entry-content a:hover{color:var(--signal);}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .content-layout{grid-template-columns:1fr;}
  .article-grid{grid-template-columns:repeat(2,1fr);}
  nav.primary-nav{display:none;}
  .menu-toggle{display:block;}
  .newsletter-band{flex-direction:column;align-items:flex-start;margin:8px 20px 0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .wrap{padding:0 20px;}
}
@media (max-width:560px){
  .article-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .newsletter-form{flex-direction:column;width:100%;}
  .newsletter-form input{width:100%;}
  .lead-content h1{font-size:26px;}
}
