/* custom.css — Kerala Seva overrides on top of the Zaira theme.
   Loaded AFTER the theme CSS so these rules win. */

:root{
  --ks-seal:#0a5c46;
  --ks-seal-soft:#e6f0eb;
  --ks-amber:#b45309;
  --ks-amber-soft:#fbf1e4;
  --ks-line:#e6e6e6;
}

/* ---- Malayalam font everywhere text appears (leave icon fonts alone) ---- */
body,
h1,h2,h3,h4,h5,h6,
p, a, span, li, td, th, label, input, textarea, button, select,
.title,.post-title,.fw-title,.navigation a,.btn,.section-title,.post-tag,
.blog-post-meta,.breadcrumb,.trending-box,.copyright-text{
  font-family:'Noto Sans Malayalam','Hind',system-ui,-apple-system,Segoe UI,sans-serif;
}
/* keep icon fonts intact */
i.fas,i.far,i.fab,i[class^="flaticon-"],i[class*=" flaticon-"]{font-family:inherit;}
i.fas,i.far{font-family:"Font Awesome 5 Free"!important;}
i.fab{font-family:"Font Awesome 5 Brands"!important;}

body{line-height:1.8;}

/* ---- text wordmark logo (replaces theme image logo) ---- */
.site-wordmark{
  font-weight:700;font-size:26px;line-height:1.2;color:var(--ks-seal);
  text-decoration:none;white-space:nowrap;
}
.site-wordmark-sm{font-weight:700;font-size:20px;color:var(--ks-seal);text-decoration:none;}
.site-domain{display:block;font-size:12px;letter-spacing:2.5px;color:#8a9490;text-transform:uppercase;
  font-family:system-ui,sans-serif;margin-top:2px;}
.header-logo-area-four .logo{padding:6px 0;}

/* nav green accent */
.menu-style-six .navigation > li.active > a,
.menu-style-six .navigation > li:hover > a{color:var(--ks-seal);}
/* top bar sits on a dark background — keep its text light */
.header-top-wrap-four .trending-box span{font-weight:600;color:#d9ece4;}
.header-top-wrap-four .header-top-social .title,
.header-top-wrap-four .header-top-social a{color:#d9ece4;}
.header-top-wrap-four .header-top-social a:hover{color:#fff;}

/* ---- generic content typography inside post body ---- */
.ks-content h2{font-size:24px;margin:34px 0 12px;font-weight:700;}
.ks-content h3{font-size:19px;margin:24px 0 8px;font-weight:600;}
.ks-content p{margin:0 0 16px;font-size:17px;}
.ks-content a{color:var(--ks-seal);}

/* ---- quick answer card ---- */
.quick{background:var(--ks-seal-soft);border:1px solid #cfe3da;border-radius:10px;
  padding:18px 20px;margin:0 0 28px;}
.quick .lbl{font-size:12.5px;font-weight:700;letter-spacing:.5px;color:var(--ks-seal);
  text-transform:uppercase;margin-bottom:6px;}
.quick p{margin:0;font-size:17px;}

/* ---- meta row ---- */
.ks-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;color:#555;
  border-top:1px solid var(--ks-line);border-bottom:1px solid var(--ks-line);
  padding:12px 0;margin:0 0 24px;}
.ks-meta b{color:#1c2321;}
.ks-meta .dot{width:4px;height:4px;border-radius:50%;background:#ccc;display:inline-block;}

/* ---- cases ---- */
.cases{list-style:none;padding:0;margin:0 0 20px;}
.cases li{position:relative;padding:12px 14px 12px 44px;margin-bottom:10px;background:#fff;
  border:1px solid var(--ks-line);border-radius:8px;}
.cases li::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;border-radius:50%;background:var(--ks-seal-soft);border:2px solid var(--ks-seal);}

/* ---- steps timeline ---- */
.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 10px;}
.steps>li{position:relative;padding:2px 0 22px 50px;border-left:2px solid #eee;margin-left:16px;}
.steps>li:last-child{border-left-color:transparent;padding-bottom:0;}
.steps>li::before{counter-increment:s;content:counter(s);position:absolute;left:-16px;top:-2px;
  width:32px;height:32px;border-radius:50%;background:var(--ks-seal);color:#fff;font-size:15px;
  font-weight:700;display:flex;align-items:center;justify-content:center;}
.steps>li b{display:block;font-size:18px;margin-bottom:2px;}

/* ---- tables ---- */
.ks-content table{width:100%;border-collapse:collapse;margin:10px 0 24px;font-size:16px;}
.ks-content th,.ks-content td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--ks-line);}
.ks-content thead th{background:var(--ks-seal-soft);color:var(--ks-seal);font-weight:700;}
.ks-content tbody th{background:#fafafa;width:44%;font-weight:600;}

/* ---- warnings ---- */
.warn{background:var(--ks-amber-soft);border:1px solid #eccfa6;border-radius:10px;padding:16px 20px;margin:0 0 24px;}
.warn .lbl{font-weight:700;color:var(--ks-amber);margin-bottom:6px;font-size:15px;}
.warn ul{margin:0;padding-left:20px;}
.warn li{margin-bottom:6px;}

/* ---- FAQ accordion ---- */
.ks-faq details{border:1px solid var(--ks-line);border-radius:8px;margin-bottom:10px;background:#fff;overflow:hidden;}
.ks-faq summary{padding:14px 18px;font-weight:600;cursor:pointer;list-style:none;font-size:17px;position:relative;}
.ks-faq summary::-webkit-details-marker{display:none;}
.ks-faq summary::after{content:"+";position:absolute;right:18px;color:var(--ks-seal);font-size:22px;line-height:1;}
.ks-faq details[open] summary::after{content:"–";}
.ks-faq .ans{padding:0 18px 16px;color:#555;}

/* ---- disclaimer + ad ---- */
.disclaimer{background:#f5f5f2;border-radius:10px;padding:16px 20px;margin:30px 0 0;font-size:14.5px;color:#555;line-height:1.7;}
.disclaimer b{color:#1c2321;}
.ad{margin:26px 0;padding:12px;border:1px dashed var(--ks-line);border-radius:8px;text-align:center;
  color:#bbb;font-size:12px;letter-spacing:1px;}

/* ---- listing cards (home + category) ---- */
.zcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;margin:10px 0 30px;}
.zcard{background:#fff;border:1px solid var(--ks-line);border-radius:12px;overflow:hidden;
  transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;}
.zcard:hover{box-shadow:0 10px 30px rgba(0,0,0,.08);transform:translateY(-3px);}
.zcard-thumb{display:block;aspect-ratio:16/10;overflow:hidden;}
.zcard-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.zcard:hover .zcard-thumb img{transform:scale(1.05);}
/* gradient + icon thumbnail (used instead of stock photos) */
.zthumb-grad{display:flex;align-items:center;justify-content:center;position:relative;}
.zthumb-grad::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.18),transparent 60%);}
.zthumb-grad i{color:rgba(255,255,255,.95);font-size:54px;position:relative;z-index:1;transition:transform .3s;}
.zcard:hover .zthumb-grad i{transform:scale(1.12);}
.zcard-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;}
.zcard .post-tag{align-self:flex-start;background:var(--ks-seal);color:#fff;font-size:11px;font-weight:600;
  padding:4px 12px;border-radius:20px;text-decoration:none;letter-spacing:.3px;}
.zcard-title{font-size:19px;font-weight:700;line-height:1.45;margin:2px 0 0;}
.zcard-title a{color:#1c2321;text-decoration:none;}
.zcard-title a:hover{color:var(--ks-seal);}
.zcard-sub{color:#666;font-size:14.5px;margin:0;}
.zcard-meta{color:#888;font-size:13px;margin-top:4px;display:flex;gap:12px;flex-wrap:wrap;}

/* ---- hero (home) ---- */
.ks-hero{background:linear-gradient(180deg,var(--ks-seal-soft),#fff);border-radius:14px;
  padding:44px 34px;margin:30px 0;text-align:center;}
.ks-hero h1{font-size:34px;font-weight:700;margin:0 0 12px;color:#12352a;}
.ks-hero p{font-size:18px;color:#3f5a51;max-width:720px;margin:0 auto;}

/* section heading */
.ks-sec-title{font-size:24px;font-weight:700;margin:28px 0 16px;padding-bottom:10px;
  border-bottom:2px solid var(--ks-seal-soft);}

/* category page header (big, clean, left-aligned) */
.cat-head{margin:6px 0 20px;}
.cat-head h1{font-size:40px;font-weight:700;color:#12161a;line-height:1.3;margin:0 0 8px;letter-spacing:-0.3px;}
.cat-head .cat-en{color:#8a8a8a;font-size:14.5px;letter-spacing:.3px;margin:0 0 12px;}
/* visible English keyword line under article H1 (SEO + wayfinding for English searchers) */
.en-tagline{color:#8a9490;font-size:14px;letter-spacing:.4px;font-family:system-ui,sans-serif;
  margin:-4px 0 10px;text-transform:capitalize;}
.cat-head .cat-intro{color:#39414a;max-width:820px;font-size:18px;line-height:1.85;margin:0;}
@media(max-width:575px){
  .cat-head h1{font-size:30px;}
  .cat-head .cat-intro{font-size:16.5px;}
}

/* sidebar categories (procedure page) */
.ks-side-cats{list-style:none;padding:0;margin:0;}
.ks-side-cats li{margin-bottom:8px;}
.ks-side-cats a{display:flex;justify-content:space-between;align-items:center;background:#fff;
  border:1px solid var(--ks-line);border-radius:8px;padding:11px 14px;text-decoration:none;color:#1c2321;font-weight:600;}
.ks-side-cats a:hover{border-color:var(--ks-seal);color:var(--ks-seal);}

@media(max-width:575px){
  .site-wordmark{font-size:21px;white-space:normal;}
  .ks-hero{padding:30px 20px;}
  .ks-hero h1{font-size:26px;}
}

/* ---- search page ---- */
.ks-search-form{display:flex;gap:10px;margin:10px 0 22px;}
.ks-search-form input{flex:1;padding:13px 16px;border:2px solid var(--ks-line);border-radius:10px;
  font:inherit;font-size:17px;background:#fff;}
.ks-search-form input:focus{outline:none;border-color:var(--ks-seal);}
.ks-search-form button{background:var(--ks-seal);color:#fff;border:0;border-radius:10px;
  padding:0 22px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;white-space:nowrap;}
.ks-search-form button:hover{background:#08503d;}
.muted-note{color:#666;font-size:15px;margin:0 0 16px;}

/* ---- related articles ---- */
.related-wrap{margin-top:34px;}
.related-wrap h2{font-size:22px;}
.zcards.related{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.zcards.related .zcard-thumb{aspect-ratio:16/7;}
.zcards.related .zthumb-grad i{font-size:34px;}
.zcards.related .zcard-body{padding:12px 14px 14px;gap:5px;}

/* =====================================================================
   READABILITY / ACCESSIBILITY — larger, higher-contrast text so older
   readers can comfortably read the content. Overrides the theme greys.
   ===================================================================== */
.ks-content,
.ks-content p,
.ks-content li,
.ks-content td,
.ks-content th{
  color:#1b1f24;                 /* near-black — strong contrast on white */
  font-size:18.5px;
  line-height:1.95;
}
.ks-content h2{font-size:26px;color:#12161a;line-height:1.45;margin:36px 0 14px;}
.ks-content h3{font-size:21px;color:#12161a;}
.ks-content a{color:#08503d;text-decoration:underline;}
.ks-content a:hover{color:#063528;}

/* quick-answer card */
.quick{background:#e9f3ee;border-color:#bcdccd;padding:20px 22px;}
.quick .lbl{font-size:13.5px;color:#08503d;}
.quick p{font-size:18.5px;color:#17202b;line-height:1.9;}

/* meta row (updated / read-time / dept) */
.ks-meta{font-size:15.5px;color:#333;}
.ks-meta b{color:#111;}

/* subtitle under the H1 */
.blog-details-content-top .zcard-sub{font-size:18.5px;color:#39414a;line-height:1.85;}

/* cases / steps */
.cases li{font-size:18px;color:#1b1f24;padding-top:14px;padding-bottom:14px;}
.steps>li{font-size:18px;color:#1b1f24;}
.steps>li b{font-size:19.5px;color:#12161a;}

/* tables */
.ks-content table{font-size:17.5px;}
.ks-content th,.ks-content td{color:#1b1f24;padding:13px 15px;}
.ks-content thead th{color:#08503d;}

/* warnings — darker amber text on a warm background */
.warn{background:#fbeedd;border-color:#e6be86;}
.warn .lbl{font-size:16.5px;}
.warn li{font-size:18px;color:#6a3d12;}

/* FAQ */
.ks-faq summary{font-size:18.5px;color:#12161a;}
.ks-faq .ans{font-size:18px;color:#2a2f36;line-height:1.9;}

/* disclaimer */
.disclaimer{font-size:16px;color:#3a3f45;}

/* listing cards a touch larger for scanning */
.zcard-title{font-size:20px;}
.zcard-sub{font-size:15.5px;color:#4a4f55;}

@media(max-width:575px){
  .ks-content,.ks-content p,.ks-content li,.ks-content td,.ks-content th{font-size:17.5px;line-height:1.9;}
  .ks-content h2{font-size:22px;}
  .quick p{font-size:17.5px;}
}
