/* ============================================================
   BLOG SINGLE — Astra Child
   ============================================================ */
:root{
  --dp-bg:#eef3f8;
  --dp-surface:#ffffff;
  --dp-surface-soft:#f7f9fc;
  --dp-text:#122033;
  --dp-muted:#66758a;
  --dp-line:#d9e3ef;
  --dp-primary:#2f6fed;
  --dp-primary-dark:#1a4ab8;
  --dp-shadow:0 4px 0 rgba(18,48,79,.14), 0 16px 32px rgba(18,48,79,.08);
  --dp-shadow-soft:0 3px 0 rgba(18,48,79,.12), 0 10px 22px rgba(18,48,79,.06);
  --dp-shadow-hover:0 6px 0 rgba(18,48,79,.16), 0 20px 40px rgba(18,48,79,.12);
  --dp-radius:22px;
  --dp-content:1100px;
  --dp-toc:270px;
}

body.single-post{
  background:var(--dp-bg);
  color:var(--dp-text);
}

.single-post .site-content,
.single-post #primary,
.single-post #content,
.single-post .ast-container{
  max-width:100% !important;
  width:100% !important;
}

.dp-blog-single{
  min-height:100vh;
  padding-bottom:28px;
}

.dp-blog-single__hero{
  padding:40px 20px 20px;
}

.dp-blog-single__hero-inner{
  max-width:1100px;
  margin:0 auto;
  padding:28px 30px 30px;
  background:var(--dp-surface);
  border:1px solid var(--dp-line);
  border-radius:16px;
  box-shadow:var(--dp-shadow);
}

.dp-blog-single__breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  color:var(--dp-muted);
  margin-bottom:18px;
}

.dp-blog-single__breadcrumb a{
  color:var(--dp-primary-dark);
  text-decoration:none;
  font-weight:700;
}

.dp-blog-single__cats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.dp-blog-single__cat,
.dp-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#eef2f8;
  border:1px solid #d8e2ef;
  color:var(--dp-primary-dark);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 2px 0 rgba(18,48,79,.08);
}

.dp-blog-single__title{
  font-size:clamp(34px,5vw,60px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 18px;
  color:var(--dp-text);
}

.dp-blog-single__meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:var(--dp-muted);
  font-size:13px;
}

.dp-blog-single__meta > span,
.dp-blog-single__author{
  min-height:40px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid var(--dp-line);
  background:var(--dp-surface-soft);
  display:inline-flex;
  align-items:center;
}

.dp-blog-single__author{
  gap:10px;
  color:var(--dp-text);
  text-decoration:none;
  font-weight:700;
  box-shadow:0 2px 0 rgba(18,48,79,.08);
}

.dp-blog-single__avatar{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#2f6fed;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:800;
  box-shadow:0 2px 0 rgba(26,79,196,.22), 0 8px 16px rgba(47,111,237,.16);
}

.dp-blog-single__wrap{
  max-width:1320px;
  margin:0 auto;
  padding:0 20px 64px;
  display:grid;
  grid-template-columns:var(--dp-toc) minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.dp-blog-single__toc{
  position:sticky;
  top:92px;
}

.dp-blog-single__toc-inner{
  background:var(--dp-surface);
  border:1px solid var(--dp-line);
  border-radius:var(--dp-radius);
  box-shadow:var(--dp-shadow-soft);
  overflow:hidden;
}

.dp-blog-single__toc-toggle{
  display:none;
  width:100%;
  min-height:48px;
  padding:0 18px;
  border:none;
  background:#fff;
  color:var(--dp-text);
  font-size:14px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}

.dp-blog-single__toc-panel{
  padding:18px;
}

.dp-blog-single__toc-title,
.dp-section-title{
  margin:0 0 14px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8090a8;
}

.dp-blog-single__toc-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.dp-blog-single__toc-nav a{
  color:var(--dp-text);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
  padding:9px 12px;
  border-radius:12px;
  background:transparent;
}

.dp-blog-single__toc-nav a.is-h3{
  margin-left:14px;
  font-size:13px;
  font-weight:600;
}

.dp-blog-single__toc-nav a.is-active,
.dp-blog-single__toc-nav a:hover{
  color:var(--dp-primary-dark);
  background:#eef2f8;
}

.dp-blog-single__article{
  min-width:0;
}

.dp-blog-single__cover{
  margin:0 0 22px;
  border-radius:16px;
  overflow:hidden;
  background:#e2eaf3;
  box-shadow:var(--dp-shadow);
  border:1px solid #d7e2ee;
}

.dp-blog-single__cover-img{
  width:100%;
  height:auto;
  display:block;
}

.dp-blog-single__share,
.dp-post-nav,
.dp-newsletter,
.dp-related-posts,
.dp-comments,
.dp-blog-single__tags,
.dp-blog-single__content,
.dp-inline-cta,
.dp-faq{
  background:var(--dp-surface);
  border:1px solid var(--dp-line);
  border-radius:var(--dp-radius);
  box-shadow:var(--dp-shadow);
}

.dp-blog-single__share{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:16px 18px;
  margin-bottom:18px;
}

.dp-blog-single__share a,
.dp-copy-link{
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--dp-line);
  background:#fff;
  color:var(--dp-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 2px 0 rgba(18,48,79,.08);
}

.dp-blog-single__content{
  padding:38px clamp(22px,4vw,52px);
  max-width:var(--dp-content);
  width:100%;
}

.dp-blog-single__content h2,
.dp-blog-single__content h3{
  scroll-margin-top:110px;
}

.dp-blog-single__content h2{
  font-size:clamp(24px,3vw,34px);
  line-height:1.2;
  margin:40px 0 14px;
}

.dp-blog-single__content h3{
  font-size:clamp(20px,2.2vw,26px);
  line-height:1.3;
  margin:28px 0 12px;
}

.dp-blog-single__content p,
.dp-blog-single__content li,
.dp-blog-single__content blockquote{
  font-size:18px;
  line-height:1.95;
  color:#233248;
}

.dp-blog-single__content p{
  margin:0 0 18px;
}

.dp-blog-single__content img{
  max-width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:var(--dp-shadow-soft);
}

.dp-blog-single__content a,
.dp-faq__answer a{
  color:var(--dp-primary-dark);
}

.dp-blog-single__content ul,
.dp-blog-single__content ol{
  padding-left:22px;
  margin:0 0 20px;
}

.dp-blog-single__content blockquote{
  margin:24px 0;
  padding:20px 22px;
  border-left:4px solid var(--dp-primary);
  background:#f3f7fc;
  border-radius:0 16px 16px 0;
}

.dp-blog-single__content pre{
  margin:24px 0;
  padding:18px;
  overflow:auto;
  border-radius:16px;
  background:#122033;
  color:#e5eefc;
}

.dp-blog-single__content code{
  font-family:Consolas, Monaco, monospace;
  font-size:15px;
}

.dp-blog-single__content .wp-block-code:has(.dsf-form-wrap),
.dp-blog-single__content pre:has(.dsf-form-wrap),
.dp-blog-single__content code:has(.dsf-form-wrap),
.dp-blog-single__content .wp-block-preformatted:has(.dsf-form-wrap){
  display:none !important;
}

.dp-blog-single__tags,
.dp-newsletter,
.dp-related-posts,
.dp-comments,
.dp-post-nav,
.dp-inline-cta,
.dp-faq{
  margin-top:24px;
}

.dp-blog-single__tags,
.dp-related-posts,
.dp-comments,
.dp-faq{
  padding:22px;
}

.dp-tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dp-newsletter__inner{
  padding:28px;
}

.dp-inline-cta{
  overflow:hidden;
  background:linear-gradient(135deg,#2f6fed 0%,#1a4fc4 100%);
  color:#fff;
}

.dp-inline-cta__inner{
  padding:30px;
}

.dp-inline-cta__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  margin:0 0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dp-inline-cta h2{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.2;
  color:#fff;
}

.dp-inline-cta p{
  margin:0;
  font-size:16px;
  line-height:1.85;
  color:rgba(255,255,255,.9);
}

.dp-inline-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.dp-inline-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 18px;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 3px 0 rgba(18,48,79,.18);
}

.dp-inline-cta__btn--primary{
  background:#fff;
  color:#1a4fc4;
  border:1px solid #d9e3ef;
}

.dp-inline-cta__btn--ghost{
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.dp-faq__item{
  border-top:1px solid var(--dp-line);
}

.dp-faq__item:first-of-type{
  border-top:none;
}

.dp-faq__item summary{
  list-style:none;
  cursor:pointer;
  font-size:18px;
  font-weight:800;
  color:var(--dp-text);
  line-height:1.55;
  padding:18px 0;
  position:relative;
  padding-right:36px;
}

.dp-faq__item summary::-webkit-details-marker{
  display:none;
}

.dp-faq__item summary::after{
  content:'+';
  position:absolute;
  right:0;
  top:18px;
  font-size:24px;
  line-height:1;
  color:var(--dp-primary-dark);
  font-weight:400;
}

.dp-faq__item[open] summary::after{
  content:'−';
}

.dp-faq__answer{
  padding:0 0 18px;
}

.dp-faq__answer p{
  margin:0;
  font-size:16px;
  line-height:1.9;
  color:#334155;
}

.dp-newsletter__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  margin:0 0 10px;
  border-radius:999px;
  background:#eef2f8;
  color:var(--dp-primary-dark);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dp-newsletter h2{
  margin:0 0 10px;
  font-size:28px;
}

.dp-newsletter p{
  margin:0 0 16px;
  color:var(--dp-muted);
  line-height:1.8;
}

.dp-newsletter__form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dp-newsletter__form input{
  flex:1 1 260px;
  min-height:48px;
  border:1.5px solid var(--dp-line);
  border-radius:14px;
  padding:0 14px;
  font-size:15px;
  background:#fff;
}

.dp-newsletter__form button{
  min-height:50px;
  padding:0 18px;
  border:1px solid #204ea7;
  border-radius:14px;
  background:#2f6fed;
  box-shadow:0 3px 0 rgba(26,74,184,.24);
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.dp-post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:16px;
}

.dp-post-nav__card{
  min-width:0;
  border:1px solid var(--dp-line);
  border-radius:16px;
  padding:18px;
  text-decoration:none;
  color:var(--dp-text);
  display:flex;
  flex-direction:column;
  gap:8px;
  background:var(--dp-surface-soft);
  box-shadow:var(--dp-shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dp-post-nav__card:hover{
  transform:translateY(-4px);
  box-shadow:var(--dp-shadow-hover);
  border-color:#bfd0e4;
}

.dp-post-nav__label{
  font-size:12px;
  font-weight:800;
  color:var(--dp-primary-dark);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dp-post-nav__card strong{
  font-size:18px;
  line-height:1.45;
}

.dp-post-nav__card small{
  color:var(--dp-muted);
  line-height:1.6;
}

.dp-related-posts__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.dp-related-post{
  background:#fff;
  border:1px solid var(--dp-line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--dp-shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dp-related-post:hover{
  transform:translateY(-4px);
  box-shadow:var(--dp-shadow-hover);
  border-color:#bfd0e4;
}

.dp-related-post__thumb{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
}

.dp-related-post__thumb--placeholder{
  width:100%;
  aspect-ratio:16/10;
  background:#dfe7f2;
}

.dp-related-post__body{
  padding:16px;
}

.dp-related-post__cat{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef2f8;
  border:1px solid #d8e2ef;
  font-size:11px;
  font-weight:800;
  color:var(--dp-primary-dark);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dp-related-post h3{
  margin:12px 0 10px;
  font-size:18px;
  line-height:1.45;
}

.dp-related-post h3 a{
  color:var(--dp-text);
  text-decoration:none;
}

.dp-related-post__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--dp-muted);
  font-size:12px;
}

.dp-back-to-top{
  position:fixed;
  right:20px;
  bottom:20px;
  width:46px;
  height:46px;
  border:1px solid #122033;
  border-radius:14px;
  background:#122033;
  color:#fff;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 4px 0 rgba(18,32,51,.2), 0 12px 24px rgba(18,32,51,.12);
  opacity:0;
  visibility:hidden;
  transition:all .2s ease;
  z-index:999;
}

.dp-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

@media (max-width: 1180px){
  .dp-blog-single__wrap{
    grid-template-columns:1fr;
  }
  .dp-blog-single__toc{
    position:static;
    order:-1;
  }
  .dp-blog-single__toc-toggle{
    display:block;
  }
  .dp-blog-single__toc-panel{
    display:none;
  }
  .dp-blog-single__toc-panel.is-open{
    display:block;
  }
}

@media (max-width: 900px){
  .dp-related-posts__grid{
    grid-template-columns:1fr;
  }
  .dp-post-nav{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .dp-blog-single__hero{
    padding:30px 16px 16px;
  }
  .dp-blog-single__hero-inner,
  .dp-blog-single__content,
  .dp-blog-single__tags,
  .dp-related-posts,
  .dp-comments,
  .dp-faq,
  .dp-newsletter__inner,
  .dp-inline-cta__inner{
    padding:20px;
  }
  .dp-blog-single__wrap{
    padding:0 16px 44px;
  }
  .dp-blog-single__title{
    font-size:clamp(30px,9vw,42px);
  }
  .dp-blog-single__meta{
    flex-direction:column;
    align-items:flex-start;
  }
  .dp-blog-single__meta > span,
  .dp-blog-single__author{
    width:100%;
  }
  .dp-blog-single__content p,
  .dp-blog-single__content li,
  .dp-blog-single__content blockquote{
    font-size:16px;
  }
  .dp-blog-single__share{
    padding:14px;
  }
  .dp-blog-single__share a,
  .dp-copy-link,
  .dp-inline-cta__btn,
  .dp-newsletter__form button,
  .dp-newsletter__form input{
    width:100%;
  }
}
