/*
Theme Name: ItsKapil Article
Theme URI: https://itskapil.com/
Description: Astra child theme for ItsKapil. Preserves Astra/Elementor pages while giving WordPress posts a clean editorial presentation.
Author: ItsKapil
Template: astra
Version: 4.6.0
Text Domain: itskapil-article
*/

:root{
  --ik-ink:#101828;
  --ik-slate:#596579;
  --ik-midnight:#0B1628;
  --ik-paper:#F6F8FB;
  --ik-blue:#2563EB;
  --ik-line:#E6EAF0;
}

/* Single-post editorial styling only. Elementor Canvas pages remain unaffected. */
.single-post { color:var(--ik-slate); background:#fff; }
.single-post .site-content { background:#fff; }
.single-post .ast-container { max-width:1200px; }
.single-post .content-area { margin:0; }
.single-post .site-main { margin:0; }
.single-post article.ast-article-single { padding:0; box-shadow:none; }

.single-post .entry-header {
  background:var(--ik-paper);
  margin:0 calc(50% - 50vw) 56px;
  padding:76px max(24px,calc((100vw - 1000px)/2)) 64px;
}
.single-post .entry-title {
  color:var(--ik-ink);
  font-size:clamp(42px,5vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:940px;
  margin:0 0 24px;
  font-weight:750;
}
.single-post .entry-meta,
.single-post .entry-meta * {
  color:var(--ik-slate);
  font-size:14px;
  line-height:1.6;
}
.single-post .entry-meta a { color:var(--ik-blue); text-decoration:none; }

.single-post .entry-content {
  max-width:760px;
  margin:0 auto;
  font-size:18px;
  line-height:1.78;
  color:var(--ik-slate);
}
.single-post .entry-content > p:first-child {
  font-size:22px;
  line-height:1.6;
  color:#344054;
}
.single-post .entry-content h2 {
  color:var(--ik-ink);
  font-size:32px;
  line-height:1.18;
  letter-spacing:-.025em;
  margin:56px 0 18px;
}
.single-post .entry-content h3 {
  color:var(--ik-ink);
  font-size:24px;
  line-height:1.25;
  margin:40px 0 14px;
}
.single-post .entry-content p,
.single-post .entry-content ul,
.single-post .entry-content ol { margin-bottom:1.35em; }
.single-post .entry-content a { color:var(--ik-blue); text-decoration:underline; text-underline-offset:3px; }
.single-post .entry-content blockquote {
  border-left:4px solid var(--ik-blue);
  background:var(--ik-paper);
  color:var(--ik-ink);
  margin:36px 0;
  padding:24px 28px;
  font-size:20px;
  line-height:1.55;
}
.single-post .entry-content table { width:100%; border-collapse:collapse; margin:32px 0; font-size:16px; }
.single-post .entry-content th { background:var(--ik-paper); color:var(--ik-ink); text-align:left; }
.single-post .entry-content th,
.single-post .entry-content td { padding:14px 16px; border:1px solid var(--ik-line); vertical-align:top; }
.single-post .post-navigation { max-width:760px; margin:56px auto 72px; border-top:1px solid var(--ik-line); padding-top:28px; }

/* New Astra header appearance for posts. Elementor Canvas pages use their own header. */
.single-post .site-header { background:#fff; border-bottom:1px solid var(--ik-line); }
.single-post .main-header-bar { background:#fff; min-height:72px; }
.single-post .site-title a,
.single-post .ast-site-title-wrap .site-title a { color:var(--ik-blue) !important; font-size:21px; font-weight:750; text-decoration:none; }
.single-post .main-header-menu > .menu-item > .menu-link { color:var(--ik-ink); font-size:14px; font-weight:650; }
.single-post .main-header-menu > .menu-item:hover > .menu-link,
.single-post .main-header-menu > .current-menu-item > .menu-link { color:var(--ik-blue); }

.single-post .site-footer { border-top:1px solid var(--ik-line); background:#fff; }
.single-post .site-footer * { color:var(--ik-slate); }

@media (max-width:767px){
  .single-post .entry-header { padding-top:52px; padding-bottom:44px; margin-bottom:38px; }
  .single-post .entry-title { font-size:40px; }
  .single-post .entry-content { font-size:17px; padding:0 22px; }
  .single-post .entry-content > p:first-child { font-size:20px; }
  .single-post .entry-content h2 { font-size:28px; }
  .single-post .post-navigation { margin-left:22px; margin-right:22px; }
}


/* v2: articles use their own deterministic header, independent of legacy Astra header settings. */
.single-post #masthead.site-header,
.single-post .site-header#masthead { display:none !important; }

.ik-article-header{
  background:#fff;
  border-bottom:1px solid var(--ik-line);
  width:100%;
}
.ik-article-header-inner{
  max-width:1160px;
  min-height:74px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
}
.ik-wordmark{
  color:var(--ik-blue) !important;
  font-size:21px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.035em;
  text-decoration:none !important;
}
.ik-article-nav{
  display:flex;
  align-items:center;
  gap:34px;
}
.ik-article-nav a{
  color:var(--ik-ink) !important;
  font-size:14px;
  line-height:1;
  font-weight:700;
  text-decoration:none !important;
}
.ik-article-nav a:hover,
.ik-article-nav a:focus{ color:var(--ik-blue) !important; }

@media (max-width:767px){
  .ik-article-header-inner{ min-height:66px; padding:0 20px; }
  .ik-article-nav{ gap:18px; overflow-x:auto; white-space:nowrap; }
  .ik-article-nav a{ font-size:12px; }
}
@media (max-width:560px){
  .ik-article-header-inner{ align-items:flex-start; flex-direction:column; gap:14px; padding-top:18px; padding-bottom:16px; }
  .ik-article-nav{ width:100%; padding-bottom:2px; }
}

/* v3: deterministic article footer; suppress legacy Astra footer and post navigation. */
.single-post #colophon.site-footer,
.single-post .site-footer#colophon { display:none !important; }
.single-post .post-navigation,
.single-post nav.navigation.post-navigation { display:none !important; }

.ik-article-footer{
  margin-top:88px;
  background:var(--ik-midnight);
  color:#fff;
  width:100%;
}
.ik-article-footer-inner{
  max-width:1160px;
  margin:0 auto;
  padding:48px 24px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:28px 48px;
  align-items:start;
}
.ik-footer-wordmark{
  color:#fff !important;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.035em;
  text-decoration:none !important;
}
.ik-footer-brand p{
  margin:10px 0 0;
  color:#A9B4C7;
  font-size:14px;
  line-height:1.6;
}
.ik-footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px 26px;
}
.ik-footer-nav a{
  color:#D8E0EC !important;
  font-size:13px;
  font-weight:650;
  text-decoration:none !important;
}
.ik-footer-nav a:hover,
.ik-footer-nav a:focus{ color:#fff !important; }
.ik-footer-copy{
  grid-column:1 / -1;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:20px;
  color:#8F9BB0;
  font-size:12px;
}
@media(max-width:767px){
  .ik-article-footer{ margin-top:64px; }
  .ik-article-footer-inner{ grid-template-columns:1fr; padding:38px 22px; }
  .ik-footer-nav{ justify-content:flex-start; }
}


/* v4: cleaner article metadata, editorial deck, and next-in-series treatment. */
.single-post .entry-header .entry-meta { display:none !important; }
.ik-post-meta{
  color:var(--ik-slate);
  font-size:14px;
  line-height:1.6;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
}
.ik-post-meta a{
  color:var(--ik-slate) !important;
  text-decoration:none !important;
}
.ik-post-meta a:hover,
.ik-post-meta a:focus{ color:var(--ik-blue) !important; }
.ik-post-meta .ik-sep{ padding:0 8px; color:#98A2B3; }

/* The opening paragraph acts as the article deck. */
.single-post .entry-content > p:first-child{
  max-width:720px;
  margin:0 0 34px;
  font-size:22px;
  line-height:1.55;
  font-weight:600;
  color:#344054;
  letter-spacing:-.01em;
}

/* Only an explicitly identified “Next in this series” H3 + paragraph receive teaser styling. */
.single-post .entry-content h3.ik-next-series{
  margin:58px 0 0;
  padding:28px 30px 8px;
  background:var(--ik-midnight);
  color:#fff;
  border-radius:10px 10px 0 0;
  font-size:22px;
}
.single-post .entry-content h3.ik-next-series + p{
  margin:0;
  padding:8px 30px 28px;
  background:var(--ik-midnight);
  color:#C9D3E3;
  border-radius:0 0 10px 10px;
}
.single-post .entry-content h3.ik-next-series + p strong{ color:#fff; }

@media(max-width:767px){
  .single-post .entry-content > p:first-child{ font-size:20px; }
  .single-post .entry-content h3.ik-next-series{ padding:24px 22px 7px; }
  .single-post .entry-content h3.ik-next-series + p{ padding:7px 22px 24px; }
}

/* v4.6 cache-safe reset: older cached releases styled the final H3 by position. */
.single-post .entry-content h3:last-of-type:not(.ik-next-series){
  margin:40px 0 14px;
  padding:0;
  background:transparent;
  color:var(--ik-ink);
  border-radius:0;
  font-size:24px;
}
.single-post .entry-content h3:last-of-type:not(.ik-next-series) + p{
  margin-bottom:1.35em;
  padding:0;
  background:transparent;
  color:var(--ik-slate);
  border-radius:0;
}
