/* Devazita single post layout */
:root {
  --dvz-bg: #f4f6fb;
  --dvz-white: #ffffff;
  --dvz-ink: #1a2035;
  --dvz-muted: #5c6478;
  --dvz-brand: #2f5be7;
  --dvz-brand-dark: #1e45cc;
  --dvz-accent: #e8eeff;
  --dvz-radius: 18px;
  --dvz-shadow: 0 4px 28px rgba(0,0,0,.07);
  --dvz-shadow-hover: 0 16px 48px rgba(0,0,0,.14);
}

/* Body */
body.single-post {
  background: var(--dvz-bg) !important;
  color: var(--dvz-ink) !important;
}

/* Remove old dark backgrounds */
body.single-post .ast-single-post-featured-section,
body.single-post #content,
body.single-post .site-content,
body.single-post .site-main {
  background: transparent !important;
}

/* ---- HERO CARD (title + image) ---- */
body.single-post .entry-header {
  background: var(--dvz-white) !important;
  border-radius: var(--dvz-radius) !important;
  box-shadow: var(--dvz-shadow) !important;
  padding: 52px 56px !important;
  margin: 36px auto 0 !important;
  max-width: 980px !important;
  display: flex !important;
  align-items: center !important;
  gap: 48px !important;
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .7s ease, transform .7s ease;
}

body.single-post .entry-header.dvz-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* text side of hero */
body.single-post .entry-header .dvz-hero-text {
  flex: 1;
  min-width: 0;
}

body.single-post .entry-header .entry-title {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--dvz-ink) !important;
  line-height: 1.28 !important;
  margin: 0 0 18px !important;
  letter-spacing: -.025em !important;
}

body.single-post .entry-header .entry-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
}

body.single-post .entry-header .entry-meta a,
body.single-post .entry-header .entry-meta .posted-on {
  background: var(--dvz-accent) !important;
  color: var(--dvz-brand) !important;
  padding: 4px 14px !important;
  border-radius: 40px !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .2s, color .2s !important;
}

body.single-post .entry-header .entry-meta a:hover {
  background: var(--dvz-brand) !important;
  color: #fff !important;
}

/* CTA button inside hero */
body.single-post .entry-header .dvz-scroll-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--dvz-brand) !important;
  color: #fff !important;
  padding: 12px 26px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;
  transition: background .2s, transform .2s !important;
}

body.single-post .entry-header .dvz-scroll-btn:hover {
  background: var(--dvz-brand-dark) !important;
  transform: translateX(4px) !important;
}

/* featured image side of hero */
body.single-post .entry-header .post-thumbnail {
  flex: 0 0 42% !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: var(--dvz-shadow) !important;
  transition: transform .4s ease, box-shadow .4s ease !important;
}

body.single-post .entry-header .post-thumbnail:hover {
  transform: scale(1.025) !important;
  box-shadow: var(--dvz-shadow-hover) !important;
}

body.single-post .entry-header .post-thumbnail img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
}

/* No thumbnail: center layout */
body.single-post .entry-header.ast-no-thumbnail {
  display: block !important;
  text-align: left !important;
}

/* ---- CONTENT CARD ---- */
body.single-post .entry-content {
  background: var(--dvz-white) !important;
  border-radius: var(--dvz-radius) !important;
  box-shadow: var(--dvz-shadow) !important;
  padding: 52px 56px !important;
  margin: 28px auto 40px !important;
  max-width: 980px !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
  color: var(--dvz-ink) !important;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3 {
  color: var(--dvz-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  margin-top: 2.2em !important;
}

body.single-post .entry-content p {
  color: var(--dvz-muted) !important;
  margin-bottom: 1.5em !important;
}

body.single-post .entry-content blockquote {
  border-left: 4px solid var(--dvz-brand) !important;
  background: var(--dvz-accent) !important;
  padding: 18px 26px !important;
  border-radius: 0 12px 12px 0 !important;
  margin: 28px 0 !important;
  color: var(--dvz-ink) !important;
  font-style: normal !important;
}

body.single-post .entry-content a {
  color: var(--dvz-brand) !important;
  text-underline-offset: 3px !important;
}

body.single-post .entry-content img {
  border-radius: 12px !important;
  box-shadow: var(--dvz-shadow) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}

body.single-post .entry-content img:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--dvz-shadow-hover) !important;
}

/* Content children: scroll animation targets */
body.single-post .entry-content > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .5s ease, transform .5s ease;
}

body.single-post .entry-content > *.dvz-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Mobile */
@media (max-width: 768px) {
  body.single-post .entry-header {
    flex-direction: column !important;
    padding: 28px 24px !important;
    margin: 16px !important;
    gap: 24px !important;
  }
  body.single-post .entry-header .post-thumbnail {
    flex: 1 !important;
    width: 100% !important;
  }
  body.single-post .entry-content {
    padding: 28px 20px !important;
    margin: 12px 16px 24px !important;
  }
}
/* Moved from old wp_head inline fix */
body.single-post .entry-content,
body.single-post .entry-content p { color: #334155 !important; }

/* Devazita single posts unified soft article design */
html body.single-post,
html body.single-post #page,
html body.single-post #content,
html body.single-post .site-content,
html body.single-post .site-main {
  background: #f4f6ff !important;
}

html body.single-post.ast-separate-container .ast-article-single,
html body.single-post .ast-article-single,
html body.single-post .entry-header,
html body.single-post .entry-content,
html body.single-post .comments-area,
html body.single-post .ast-single-related-posts-container,
html body.single-post .post-navigation {
  background-color: #f4f6ff !important;
  background-image: none !important;
}

html body.single-post .entry-header,
html body.single-post .entry-content {
  border: 1px solid rgba(130, 123, 255, .16) !important;
  box-shadow: 0 18px 54px rgba(18, 25, 54, .1) !important;
}

html body.single-post .entry-header .entry-title,
html body.single-post .entry-content h2,
html body.single-post .entry-content h3,
html body.single-post .entry-content h4 {
  display: table !important;
  width: fit-content !important;
  max-width: 100% !important;
  color: #18213a !important;
  background: rgba(231, 235, 255, .74) !important;
  border: 1px solid rgba(79, 70, 229, .52) !important;
  border-radius: 10px !important;
  padding: .22em .52em !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
  letter-spacing: 0 !important;
}

html body.single-post .entry-header .entry-title {
  margin-bottom: 22px !important;
}

html body.single-post .entry-header::after,
html body.single-post .entry-content h2::after,
html body.single-post .entry-content h3::after,
html body.single-post .entry-content h4::after {
  content: "" !important;
  display: block !important;
  width: min(160px, 42vw) !important;
  height: 2px !important;
  margin: 18px auto 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent 0%, #827bff 28%, #827bff 72%, transparent 100%) !important;
  box-shadow: none !important;
}

html body.single-post .entry-header .entry-title::after,
html body.single-post .entry-content h2::before,
html body.single-post .entry-content h3::before,
html body.single-post .entry-content h4::before {
  content: "" !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  margin: calc(100% + 15px) auto -23px !important;
  border-radius: 999px !important;
  background: #827bff !important;
  box-shadow: 0 0 0 5px rgba(130, 123, 255, .14) !important;
}

html body.single-post .entry-content > p:first-of-type,
html body.single-post .entry-content blockquote,
html body.single-post .entry-content table,
html body.single-post .secondary .widget,
html body.single-post .entry-content .dvz-blog-cta {
  background-color: #f4f6ff !important;
}

html body.single-post .entry-content p,
html body.single-post .entry-content li,
html body.single-post .entry-content td {
  color: #334155 !important;
}

html body.single-post .entry-content > * {
  opacity: .82 !important;
  transform: translateY(6px) !important;
  transition: opacity .24s ease, transform .24s ease !important;
}

html body.single-post .entry-content > *.dvz-in,
html body.single-post .entry-header.dvz-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

html body.single-post .entry-header {
  opacity: .9 !important;
  transform: translateY(8px) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

@media (max-width: 544px) {
  html body.single-post .entry-header .entry-title,
  html body.single-post .entry-content h2,
  html body.single-post .entry-content h3,
  html body.single-post .entry-content h4 {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: .18em .42em !important;
  }
}

/* Devazita single heading separators correction */
html body.single-post .entry-header .entry-title::after,
html body.single-post .entry-content h2::before,
html body.single-post .entry-content h3::before,
html body.single-post .entry-content h4::before {
  content: none !important;
  display: none !important;
}

html body.single-post .entry-header::after,
html body.single-post .entry-content h2::after,
html body.single-post .entry-content h3::after,
html body.single-post .entry-content h4::after {
  content: "" !important;
  display: block !important;
  width: min(168px, 48vw) !important;
  height: 12px !important;
  margin: 17px auto 0 !important;
  background:
    radial-gradient(circle at 50% 50%, #827bff 0 4px, rgba(130, 123, 255, .18) 4px 8px, transparent 8px),
    linear-gradient(90deg, transparent 0%, #827bff 30%, #827bff 70%, transparent 100%) center / 100% 2px no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Devazita single posts navy page background correction */
html body.single-post,
html body.single-post #page,
html body.single-post #content,
html body.single-post .site-content,
html body.single-post .site-main,
html body.single-post .ast-container {
  background-color: #07091a !important;
  background-image:
    radial-gradient(circle at 14% 16%, rgba(128, 123, 255, .16) 0, rgba(128, 123, 255, 0) 34%),
    radial-gradient(circle at 86% 24%, rgba(77, 198, 211, .1) 0, rgba(77, 198, 211, 0) 28%),
    linear-gradient(rgba(126, 119, 255, .1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 119, 255, .1) 1px, transparent 1px),
    linear-gradient(135deg, #07091a 0%, #0a0e2a 54%, #080a1d 100%) !important;
  background-size: auto, auto, 96px 96px, 96px 96px, auto !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed !important;
}

html body.single-post.ast-separate-container .ast-article-single,
html body.single-post .ast-article-single {
  background: transparent !important;
  box-shadow: none !important;
}

html body.single-post .entry-header,
html body.single-post .entry-content,
html body.single-post .comments-area,
html body.single-post .ast-single-related-posts-container,
html body.single-post .post-navigation {
  background-color: #f4f6ff !important;
  background-image: none !important;
}

/* Devazita single post text clarity: remove white glow/fade effect */
html body.single-post .entry-content,
html body.single-post .entry-content *,
html body.single-post .entry-header,
html body.single-post .entry-header * {
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow: none !important;
}

html body.single-post .entry-content > *,
html body.single-post .entry-content > *.dvz-in,
html body.single-post .entry-content .dvz-reveal,
html body.single-post .entry-content .dvz-reveal.dvz-in,
html body.single-post .entry-header,
html body.single-post .entry-header.dvz-in {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html body.single-post .entry-content > p:first-of-type,
html body.single-post .entry-content p,
html body.single-post .entry-content li,
html body.single-post .entry-content blockquote {
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Devazita single post reveal hard reset */
html body.single-post .entry-content,
html body.single-post .entry-content p,
html body.single-post .entry-content li,
html body.single-post .entry-content h1,
html body.single-post .entry-content h2,
html body.single-post .entry-content h3,
html body.single-post .entry-content h4,
html body.single-post .entry-content blockquote,
html body.single-post .entry-content figure,
html body.single-post .entry-content table,
html body.single-post .entry-content > *,
html body.single-post .entry-content [class*="dvz"],
html body.single-post .entry-content .dvz-reveal,
html body.single-post .entry-content .dvz-in,
html body.single-post .entry-content .dvz-reveal.dvz-in,
html body.single-post .entry-content *[style] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  text-shadow: none !important;
  transition: none !important;
  animation: none !important;
}

/* Devazita global blog title frame system */
html body.single-post .entry-header::after,
html body.single-post .entry-content h1::after,
html body.single-post .entry-content h2::after,
html body.single-post .entry-content h3::after,
html body.single-post .entry-content h4::after {
  display: none !important;
}

html body.single-post .dvz-title-frame {
  position: relative !important;
  display: table !important;
  width: fit-content !important;
  max-width: 100% !important;
  color: #18213a !important;
  background: rgba(231, 235, 255, .74) !important;
  border: 1px solid rgba(79, 70, 229, .52) !important;
  border-radius: 10px !important;
  padding: .22em .52em !important;
  margin-bottom: 34px !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
  letter-spacing: 0 !important;
  overflow: visible !important;
}

html body.single-post .dvz-title-frame::before {
  content: "" !important;
  position: absolute !important;
  inset: -5px !important;
  border: 1px solid rgba(130, 123, 255, .2) !important;
  border-radius: 13px !important;
  clip-path: polygon(0 0, 34% 0, 34% 1px, 1px 1px, 1px 34%, 0 34%, 0 0, 100% 66%, 100% 100%, 66% 100%, 66% calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) 66%, 100% 66%) !important;
  pointer-events: none !important;
}

html body.single-post .dvz-title-frame::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 13px) !important;
  width: min(172px, 48vw) !important;
  height: 14px !important;
  transform: translateX(-50%) !important;
  background:
    linear-gradient(45deg, transparent 36%, #827bff 36% 64%, transparent 64%) center / 14px 14px no-repeat,
    linear-gradient(90deg, transparent 0%, #827bff 30%, #827bff 70%, transparent 100%) center / 100% 2px no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html body.single-post .entry-header .entry-title.dvz-title-frame {
  margin-bottom: 38px !important;
}

@media (max-width: 544px) {
  html body.single-post .dvz-title-frame {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: .18em .42em !important;
  }
}

/* Devazita global blog title frame final pseudo-element override */
html body.single-post .entry-header .entry-title.dvz-title-frame::before,
html body.single-post .entry-content h1.dvz-title-frame::before,
html body.single-post .entry-content h2.dvz-title-frame::before,
html body.single-post .entry-content h3.dvz-title-frame::before,
html body.single-post .entry-content h4.dvz-title-frame::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: -5px !important;
  border: 1px solid rgba(130, 123, 255, .2) !important;
  border-radius: 13px !important;
  clip-path: polygon(0 0, 34% 0, 34% 1px, 1px 1px, 1px 34%, 0 34%, 0 0, 100% 66%, 100% 100%, 66% 100%, 66% calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) 66%, 100% 66%) !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html body.single-post .entry-header .entry-title.dvz-title-frame::after,
html body.single-post .entry-content h1.dvz-title-frame::after,
html body.single-post .entry-content h2.dvz-title-frame::after,
html body.single-post .entry-content h3.dvz-title-frame::after,
html body.single-post .entry-content h4.dvz-title-frame::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 13px) !important;
  width: min(172px, 48vw) !important;
  height: 14px !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  background:
    linear-gradient(45deg, transparent 36%, #827bff 36% 64%, transparent 64%) center / 14px 14px no-repeat,
    linear-gradient(90deg, transparent 0%, #827bff 30%, #827bff 70%, transparent 100%) center / 100% 2px no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
