/*
Theme Name:   Kadence Child (Digitalonian)
Theme URI:    https://digitalonian.com
Description:  Digitalonian's Kadence child theme. Holds byline, author fields, migrated Customizer CSS, and navigation hook overrides. Update-proof wrapper around Kadence parent.
Author:       Digitalonian
Author URI:   https://digitalonian.com
Template:     kadence
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  kadence-child
*/

/* =============================================================
   Digitalonian Child Theme - Migrated CSS
   Originally lived in Customizer > Additional CSS.
   Markers are preserved. Edit here, not in Customizer.
   ============================================================= */

body {
    background-color: #FFFFFF !important;
}

/* Footer text colors for black background */
footer.site-footer,
footer.site-footer .widget-area,
footer.site-footer .site-footer-wrap {
    color: #FFFFFF !important;
}
footer.site-footer h2,
footer.site-footer h3,
footer.site-footer h4,
footer.site-footer .widget-title {
    color: #FFFFFF !important;
}
footer.site-footer p,
footer.site-footer li,
footer.site-footer span {
    color: rgba(255,255,255,0.85) !important;
}
footer.site-footer a {
    color: #38b6ff !important;
}
footer.site-footer a:hover {
    color: #FFFFFF !important;
}

/* Header nav link colors on black bg */
.site-header .primary-menu-container a,
.site-header .site-header-item a {
    color: #FFFFFF !important;
}
.site-header .primary-menu-container a:hover {
    color: #38b6ff !important;
}

/* Counter section title colors - white on black bg */
.elementor-element-5bce4cc .elementor-counter-title {
    color: #FFFFFF !important;
}
.elementor-element-5bce4cc .elementor-counter-number-prefix,
.elementor-element-5bce4cc .elementor-counter-number-suffix {
    color: #38b6ff !important;
}

/* Counter section responsive */
@media (max-width: 767px) {
    .elementor-element-5bce4cc {
        flex-direction: column !important;
    }
    .elementor-element-5bce4cc .elementor-widget-counter {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px;
    }
    /* Hero responsive text */
    .elementor-element-3ecd55be .elementor-heading-title {
        font-size: 36px !important;
    }
    .elementor-element-32b3f1bc .elementor-heading-title {
        font-size: 16px !important;
    }
    .elementor-element-d5cfde3 {
        min-height: 60vh !important;
        padding: 20px !important;
    }
}

/* Tablet breakpoint */
@media (max-width: 1024px) and (min-width: 768px) {
    .elementor-element-3ecd55be .elementor-heading-title {
        font-size: 48px !important;
    }
    .elementor-element-d5cfde3 {
        min-height: 70vh !important;
    }
}
/* Case Studies button in counter section */
.elementor-element-ec7c528 .elementor-button {
  background-color: #38b6ff !important;
  color: #FFFFFF !important;
  border-radius: 100px !important;
  padding: 16px 55px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  text-align: center !important;
}
.elementor-element-ec7c528 {
  text-align: center !important;
  margin-top: 30px !important;
}
/* Blog section styling */
#blog-section {
  text-align: center !important;
}
#blog-section .elementor-element-b41d357 .elementor-heading-title {
  color: #FFFFFF !important;
  font-size: 48px !important;
  font-weight: 700 !important;
}
#blog-section .elementor-element-bf3b2f3 .elementor-heading-title {
  color: rgba(255,255,255,0.75) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
}
#blog-section .elementor-element-46eae28 .elementor-heading-title {
  color: #38b6ff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  display: inline-block !important;
  border: 2px solid #38b6ff !important;
  padding: 14px 40px !important;
  border-radius: 100px !important;
  margin-top: 10px !important;
  transition: all 0.3s ease !important;
}
#blog-section .elementor-element-46eae28 .elementor-heading-title:hover {
  background-color: #38b6ff !important;
  color: #FFFFFF !important;
}
#blog-section .elementor-element-46eae28 a {
  color: #38b6ff !important;
  text-decoration: none !important;
}
#blog-section .elementor-element-46eae28 a:hover {
  color: #FFFFFF !important;
}

/* ===== PHASE 1 FIX: Dropdown menu visibility ===== */
.sub-menu,
.primary-menu-container .sub-menu,
.site-header .sub-menu {
    background-color: #1a1f2e !important;
}
.sub-menu li a,
.primary-menu-container .sub-menu li a,
.site-header .sub-menu li a {
    color: #FFFFFF !important;
}
.sub-menu li a:hover,
.primary-menu-container .sub-menu li a:hover,
.site-header .sub-menu li a:hover {
    color: #38b6ff !important;
    background-color: #252c39 !important;
}

/* ===== PHASE 1 FIX: Eliminate massive white spaces on Elementor pages ===== */
.entry-content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.entry-content .elementor {
    margin-top: 0 !important;
}
.content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ============================================
   BLOG TEMPLATE REDESIGN - Task 1: Hero / Archive Header
   ============================================ */

/* 1a. Blog archive page hero - modern dark gradient */
.post-archive-hero-section {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 50%, #0d1b2a 100%) !important;
    padding: 64px 0 56px !important;
    min-height: auto !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Blue accent top border line */
.post-archive-hero-section::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #38b6ff, #1463b5, #38b6ff) !important;
}

/* Subtle grid background texture */
.post-archive-hero-section::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle at 20% 80%, rgba(56,182,255,0.08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(20,99,181,0.08) 0%, transparent 50%) !important;
    pointer-events: none !important;
}

/* Hero title styling */
.post-archive-hero-section .entry-title,
.post-archive-hero-section h1.entry-title,
.post-archive-hero-section .page-title {
    color: #FFFFFF !important;
    font-size: clamp(32px, 5vw, 52px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: -0.5px !important;
}

/* 1b. Archive hero inner - ensure text is above overlay */
.post-archive-hero-section .hero-container,
.post-archive-hero-section .entry-hero-container-inner {
    position: relative !important;
    z-index: 2 !important;
}

/* 1c. Hero breadcrumb / subtitle */
.post-archive-hero-section .archive-description p {
    color: rgba(255,255,255,0.65) !important;
    font-size: 16px !important;
    margin-top: 8px !important;
}

/* 1d. Category archive pages hero */
.tax-category .post-archive-hero-section,
.category .post-archive-hero-section {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 50%, #0d1b2a 100%) !important;
}

/* Fix inner container and overlay colors */
.post-archive-hero-section .entry-hero-container-inner {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 50%, #0d1b2a 100%) !important;
}
.post-archive-hero-section .hero-section-overlay {
    background: transparent !important;
    opacity: 0 !important;
}
.post-archive-hero-section .hero-container {
    background: transparent !important;
}

/* ============================================
   TASK 2: Blog Post Card Redesign
   Modern white cards with shadow and hover
   ============================================ */

/* 2a. Blog archive wrapper - light gray background for contrast */
.content-wrap.post-archive,
body.blog .site-content,
body.archive .site-content {
    background: #f0f4f8 !important;
    padding-top: 48px !important;
    padding-bottom: 64px !important;
}

/* 2b. Blog post card - clean white with subtle shadow */
.loop-entry.content-bg {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.07) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    overflow: hidden !important;
    border: 1px solid rgba(203,210,217,0.5) !important;
}

/* 2c. Card hover effect */
.loop-entry.content-bg:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
    border-color: rgba(56,182,255,0.3) !important;
}

/* 2d. Card content wrapper padding */
.loop-entry .entry-content-wrap {
    padding: 28px 28px 24px !important;
    background: #FFFFFF !important;
}

/* 2e. Category tag - pill badge style */
.loop-entry .category-links a,
.loop-entry .entry-taxonomies .term-links a {
    display: inline-block !important;
    background: rgba(56,182,255,0.1) !important;
    color: #1463b5 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 100px !important;
    text-decoration: none !important;
    border: 1px solid rgba(56,182,255,0.2) !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    margin-bottom: 10px !important;
}
.loop-entry .category-links a:hover,
.loop-entry .entry-taxonomies .term-links a:hover {
    background: #1463b5 !important;
    color: #FFFFFF !important;
}

/* 2f. Entry taxonomies spacing */
.loop-entry .entry-taxonomies {
    margin-bottom: 10px !important;
}

/* 2g. Post title - dark, strong typography */
.loop-entry .entry-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 10px 0 !important;
    color: #1a202c !important;
}
.loop-entry .entry-title a {
    color: #1a202c !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}
.loop-entry .entry-title a:hover {
    color: #1463b5 !important;
}

/* 2h. Meta info - author + date */
.loop-entry .entry-meta {
    font-size: 13px !important;
    color: #718096 !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
}
.loop-entry .entry-meta a {
    color: #4a5568 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.loop-entry .entry-meta a:hover {
    color: #1463b5 !important;
}
.loop-entry .entry-meta .posted-on,
.loop-entry .entry-meta .posted-by {
    color: #718096 !important;
}

/* 2i. Excerpt text */
.loop-entry .entry-summary,
.loop-entry .entry-summary p {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #4a5568 !important;
    margin-bottom: 20px !important;
}

/* 2j. Read More link - modern button style */
.loop-entry .entry-footer .more-link,
.loop-entry .entry-footer a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1463b5 !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    background: transparent !important;
    transition: gap 0.15s ease, color 0.15s ease !important;
}
.loop-entry .entry-footer .more-link:hover,
.loop-entry .entry-footer a:hover {
    color: #003174 !important;
    gap: 10px !important;
}

/* 2k. Entry footer */
.loop-entry .entry-footer {
    padding-top: 16px !important;
    border-top: 1px solid #edf2f7 !important;
    margin-top: auto !important;
}

/* 2l. Cards with featured image */
.loop-entry .post-thumbnail {
    display: block !important;
    overflow: hidden !important;
    border-radius: 12px 12px 0 0 !important;
    max-height: 220px !important;
}
.loop-entry .post-thumbnail img,
.loop-entry .wp-post-image {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}
.loop-entry:hover .post-thumbnail img,
.loop-entry:hover .wp-post-image {
    transform: scale(1.04) !important;
}

/* ============================================
   TASK 3: Typography, Spacing & Visual Hierarchy
   ============================================ */

/* 3a. Blog archive main container max-width & center */
body.blog .site-main,
body.archive .site-main {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* 3b. Blog grid gap/spacing between cards */
.content-wrap.post-archive.grid-cols {
    gap: 28px !important;
    padding: 0 24px !important;
}

/* 3c. Hero heading typography - upgrade */
.post-archive-hero-section .entry-title,
.post-archive-hero-section h1 {
    font-family: 'Roboto', sans-serif !important;
    font-size: clamp(36px, 4vw, 52px) !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    letter-spacing: -1px !important;
    line-height: 1.1 !important;
    margin-bottom: 0 !important;
}

/* 3d. Hero sub-label - "INSIGHTS & RESOURCES" above h1 */
.post-archive-hero-section .entry-header {
    position: relative !important;
    padding: 48px 0 40px !important;
}

/* Decorative tag above blog title */
.post-archive-hero-section .entry-header::before {
    content: 'INSIGHTS & RESOURCES' !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    color: #38b6ff !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

/* 3e. Archive title layout align */
.post-archive-hero-section .entry-header {
    text-align: center !important;
}
.post-archive-hero-section .hero-container {
    text-align: center !important;
}

/* 3f. Blog section label - below title */
.post-archive-hero-section .entry-header::after {
    content: 'Digital marketing, SEO & tech resources to grow your online presence.' !important;
    display: block !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.6) !important;
    margin-top: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* 3g. Blog archive section heading (if any "Latest Posts" h2) */
body.blog .content-wrap > h2,
body.archive .content-wrap > h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    margin-bottom: 24px !important;
}

/* 3h. Post meta separator dot - style */
.loop-entry .entry-meta-divider-dot .posted-on::before,
.loop-entry .entry-meta .sep {
    color: #cbd2d9 !important;
}

/* 3i. Make entry footer flex for proper alignment */
.loop-entry .entry-content-wrap {
    display: flex !important;
    flex-direction: column !important;
}
.loop-entry .entry-footer {
    margin-top: auto !important;
}

/* 3j. Override Kadence's left-align class in blog hero */
.post-archive-hero-section .entry-header.title-align-left {
    text-align: center !important;
}
.post-archive-hero-section .entry-header.title-align-left .entry-title {
    text-align: center !important;
}
.post-archive-hero-section .entry-header.title-align-left::before,
.post-archive-hero-section .entry-header.title-align-left::after {
    text-align: center !important;
    display: block !important;
}

/* 3k. Add a centered max-width to hero content */
.post-archive-hero-section .site-container {
    max-width: 800px !important;
    padding: 0 24px !important;
}

/* ============================================
   TASK 4: Layout & Section Improvements
   ============================================ */

/* 4a. Fix hero container - let it use its natural max-width with margin auto */
.post-archive-hero-section .hero-container.site-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 40px !important;
    text-align: left !important;
}
.post-archive-hero-section .entry-header.title-align-left {
    text-align: left !important;
    max-width: 700px !important;
}
.post-archive-hero-section .entry-header.title-align-left::before,
.post-archive-hero-section .entry-header.title-align-left::after {
    text-align: left !important;
}

/* 4b. Blog section wrapping container */
.site-content .content-area,
body.blog #content .wrap,
body.archive #content .wrap {
    padding: 0 !important;
}

/* 4c. Section label above blog grid */
.content-wrap.post-archive::before {
    content: 'Latest Articles' !important;
    display: block !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    margin-bottom: 24px !important;
    padding: 0 0 16px 0 !important;
    border-bottom: 2px solid #edf2f7 !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
}

/* 4d. Blog content area with sidebar layout */
body.blog .site-main,
body.archive .site-main {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
}

/* 4e. The left empty sidebar - add a visual placeholder style */
.primary-sidebar.sidebar-slug-sidebar-primary {
    background: transparent !important;
    padding: 0 !important;
}

/* 4f. Cards in grid - ensure equal heights */
.content-wrap.post-archive.grid-cols {
    align-items: start !important;
}

/* 4g. Category filters bar - add pill category buttons above posts */
/* (Visual indicator for the category-links in the existing hero area) */
.post-archive-hero-section .hero-container {
    position: relative !important;
}

/* 4h. When a post has NO thumbnail, add visual variety with a colored top border */
.loop-entry.content-bg:not(:has(.post-thumbnail)) {
    border-top: 3px solid #38b6ff !important;
}

/* 4i. First card slight accent (featured style) */
.loop-entry.content-bg:first-child {
    border-left: 3px solid #1463b5 !important;
}

/* 4j. Pagination styling */
.pagination.loop-pagination {
    margin-top: 48px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}
.pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #4a5568 !important;
    background: #FFFFFF !important;
    border: 1px solid #e2e8f0 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
    background: #1463b5 !important;
    color: #FFFFFF !important;
    border-color: #1463b5 !important;
}

/* ============================================
   TASK 5: Footer Fix & Final Finishing Touches
   ============================================ */

/* 5a. Footer row container background */
.site-footer-row-container-inner {
    background-color: #0d1117 !important;
}
.site-footer {
    background-color: #0d1117 !important;
}
.site-footer .site-footer-row-container {
    background-color: #0d1117 !important;
}

/* 5b. Bottom footer bar */
.site-footer .site-footer-bottom {
    background-color: #070a0f !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}

/* 5c. Footer headings - improve */
footer.site-footer .widget-title,
footer.site-footer h2,
footer.site-footer h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid rgba(56,182,255,0.3) !important;
    margin-bottom: 16px !important;
}

/* 5d. Footer copyright */
.site-footer .site-footer-bottom-inner,
.site-footer .site-info {
    color: rgba(255,255,255,0.5) !important;
    font-size: 13px !important;
}

/* ============================================
   TASK 5: Blog Post Single Page Improvements
   ============================================ */

/* 5e. Single post hero - dark gradient like archive */
body.single-post .entry-hero {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 50%, #0d1b2a 100%) !important;
}
body.single-post .entry-hero .entry-hero-container-inner {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 50%, #0d1b2a 100%) !important;
}
body.single-post .entry-hero .hero-section-overlay {
    background: transparent !important;
    opacity: 0 !important;
}

/* 5f. Single post title */
body.single-post .entry-hero .entry-title {
    color: #FFFFFF !important;
    font-size: clamp(28px, 3.5vw, 44px) !important;
    font-weight: 800 !important;
}

/* 5g. Single post meta */
body.single-post .entry-hero .entry-meta,
body.single-post .entry-hero .entry-meta a {
    color: rgba(255,255,255,0.7) !important;
}
body.single-post .entry-hero .entry-meta a:hover {
    color: #38b6ff !important;
}

/* 5h. Single post category tag in hero */
body.single-post .entry-hero .category-links a {
    background: rgba(56,182,255,0.15) !important;
    color: #38b6ff !important;
    border-color: rgba(56,182,255,0.3) !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* ============================================
   TASK 5: Responsive Improvements
   ============================================ */

/* 5i. Mobile cards - single column */
@media (max-width: 767px) {
    .content-wrap.post-archive.grid-cols {
        grid-template-columns: 1fr !important;
        padding: 0 16px !important;
        gap: 20px !important;
    }
    .post-archive-hero-section .hero-container.site-container {
        padding: 0 20px !important;
    }
    .post-archive-hero-section .entry-header {
        padding: 32px 0 28px !important;
    }
    body.blog .site-main,
    body.archive .site-main {
        padding-top: 32px !important;
        padding-bottom: 40px !important;
    }
}

/* 5j. Tablet - two column */
@media (min-width: 768px) and (max-width: 1024px) {
    .content-wrap.post-archive.grid-cols {
        padding: 0 20px !important;
        gap: 20px !important;
    }
}

/* ============================================
   TASK 5: Category Archive Pages
   ============================================ */

/* 5k. Category archive hero */
body.category .post-archive-hero-section .entry-title,
body.tag .post-archive-hero-section .entry-title {
    color: #FFFFFF !important;
}

/* 5l. Empty sidebar area - hide it or make invisible */
.primary-sidebar.sidebar-slug-sidebar-primary:empty,
.primary-sidebar.sidebar-slug-sidebar-primary .sidebar-inner-wrap:empty {
    display: none !important;
}

/* 5m. When sidebar is empty, make main content full width */
body.has-sidebar:is(.blog, .archive) #inner-wrap {
    grid-template-columns: 1fr !important;
}

/* ============================================================
   SINGLE POST REDESIGN — Task 1: Post Header / Hero Area
   ============================================================ */

/* 1a. Single post entry-header — dark gradient hero */
body.single-post .entry-header.post-title {
    background: linear-gradient(135deg, #0d1117 0%, #1a2332 60%, #0d1b2a 100%) !important;
    padding: 52px 0 44px !important;
    margin: 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Ambient radial glow */
body.single-post .entry-header.post-title::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(ellipse at 15% 80%, rgba(56,182,255,0.08) 0%, transparent 55%),
                radial-gradient(ellipse at 85% 20%, rgba(20,99,181,0.07) 0%, transparent 55%) !important;
    pointer-events: none !important;
}

/* Blue accent top border */
body.single-post .entry-header.post-title::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #38b6ff, #1463b5, #38b6ff) !important;
}

/* 1b. Inner container — max-width for readability */
body.single-post .entry-header.post-title .entry-content-wrap,
body.single-post .entry-header.post-title {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

/* 1c. Post title — large, white, strong */
body.single-post .entry-header .entry-title {
    color: #FFFFFF !important;
    font-size: clamp(26px, 3.5vw, 44px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
    margin: 0 0 20px 0 !important;
    text-align: left !important;
}

/* 1d. Category tag badge above title */
body.single-post .entry-header .entry-taxonomies {
    margin-bottom: 16px !important;
    order: -1 !important;
}
body.single-post .entry-header .entry-taxonomies .category-links a {
    display: inline-block !important;
    background: rgba(56,182,255,0.15) !important;
    color: #38b6ff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 5px 12px !important;
    border-radius: 100px !important;
    text-decoration: none !important;
    border: 1px solid rgba(56,182,255,0.25) !important;
    transition: all 0.15s ease !important;
}
body.single-post .entry-header .entry-taxonomies .category-links a:hover {
    background: #38b6ff !important;
    color: #0d1117 !important;
}

/* 1e. Entry-header flex layout — category above title above meta */
body.single-post .entry-header.post-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* 1f. Post meta in hero — author + date */
body.single-post .entry-header .entry-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 16px !important;
    font-size: 14px !important;
    color: rgba(255,255,255,0.65) !important;
}
body.single-post .entry-header .entry-meta a {
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.15s ease !important;
}
body.single-post .entry-header .entry-meta a:hover {
    color: #38b6ff !important;
}
body.single-post .entry-header .entry-meta .posted-on time,
body.single-post .entry-header .entry-meta .posted-on {
    color: rgba(255,255,255,0.55) !important;
}

/* 1g. Meta dot separator */
body.single-post .entry-header .entry-meta-divider-dot > span + span::before {
    content: '·' !important;
    margin: 0 6px !important;
    color: rgba(255,255,255,0.3) !important;
}

/* 1h. Make post hero truly full-width (breakout from container) */
body.single-post .entry-header.post-title {
    max-width: none !important;
    margin-left: calc(-1 * ((100vw - 1226px) / 2)) !important;
    margin-right: calc(-1 * ((100vw - 1226px) / 2)) !important;
    padding-left: calc(((100vw - 860px) / 2)) !important;
    padding-right: calc(((100vw - 860px) / 2)) !important;
    width: 100vw !important;
    box-sizing: border-box !important;
}

/* Ensure text content inside header respects readable width */
body.single-post .entry-header .entry-title,
body.single-post .entry-header .entry-taxonomies,
body.single-post .entry-header .entry-meta {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ============================================================
   SINGLE POST REDESIGN — Task 2: Content Layout & Typography
   ============================================================ */

/* 2a. Single post main content area — light gray bg */
body.single-post .site-main {
    background: #f8fafc !important;
    padding-bottom: 0 !important;
}

/* 2b. The article itself — white card with max-width */
body.single-post article.single-entry {
    background: #FFFFFF !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    box-shadow: 0 2px 24px rgba(0,0,0,0.07) !important;
}

/* 2c. Entry content area — comfortable reading width & padding */
body.single-post .entry-content.single-content {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 48px 40px 56px !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: #2d3748 !important;
}

/* 2d. Fix the yellow preformatted excerpt block */
body.single-post .entry-content .wp-block-preformatted {
    background: linear-gradient(135deg, #f0f7ff, #e8f4fd) !important;
    color: #1a3a5c !important;
    border-left: 4px solid #38b6ff !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 20px 24px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 32px !important;
    font-weight: 400 !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}

/* 2e. H2 headings — clean, modern, dark */
body.single-post .entry-content h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #1a202c !important;
    line-height: 1.25 !important;
    margin: 48px 0 16px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #edf2f7 !important;
    letter-spacing: -0.3px !important;
}

/* 2f. H3 headings — medium, brand color accent */
body.single-post .entry-content h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    line-height: 1.35 !important;
    margin: 36px 0 12px 0 !important;
    padding-left: 14px !important;
    border-left: 3px solid #1463b5 !important;
}

/* 2g. H4 headings */
body.single-post .entry-content h4 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    margin: 28px 0 8px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 14px !important;
}

/* 2h. Paragraphs */
body.single-post .entry-content p {
    margin: 0 0 20px 0 !important;
    color: #374151 !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

/* 2i. Lists — improved */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
    margin: 0 0 24px 24px !important;
    padding: 0 !important;
}
body.single-post .entry-content li {
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
    font-size: 17px !important;
}
body.single-post .entry-content ul li::marker {
    color: #1463b5 !important;
}

/* 2j. Blockquote — modern callout style */
body.single-post .entry-content blockquote {
    background: #f0f7ff !important;
    border-left: 4px solid #1463b5 !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 20px 24px !important;
    margin: 32px 0 !important;
    font-style: italic !important;
    color: #2d3748 !important;
    font-size: 17px !important;
}
body.single-post .entry-content blockquote p {
    margin: 0 !important;
    color: #2d3748 !important;
}

/* 2k. Inline code */
body.single-post .entry-content code {
    background: #f1f5f9 !important;
    color: #1463b5 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-family: 'Courier New', Courier, monospace !important;
}

/* 2l. Code blocks */
body.single-post .entry-content pre {
    background: #1e2a3a !important;
    color: #e2e8f0 !important;
    padding: 24px !important;
    border-radius: 8px !important;
    overflow-x: auto !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 24px 0 32px 0 !important;
    border-left: none !important;
}
body.single-post .entry-content pre code {
    background: transparent !important;
    color: #e2e8f0 !important;
    padding: 0 !important;
    font-size: 14px !important;
}

/* 2m. Horizontal rule */
body.single-post .entry-content hr {
    border: none !important;
    border-top: 2px solid #edf2f7 !important;
    margin: 40px 0 !important;
}

/* 2n. Tables */
body.single-post .entry-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 24px 0 32px 0 !important;
    font-size: 15px !important;
}
body.single-post .entry-content th {
    background: #1a2332 !important;
    color: #FFFFFF !important;
    padding: 12px 16px !important;
    text-align: left !important;
    font-weight: 600 !important;
}
body.single-post .entry-content td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #edf2f7 !important;
    color: #374151 !important;
}
body.single-post .entry-content tr:nth-child(even) td {
    background: #f8fafc !important;
}

/* 2o. Images in content */
body.single-post .entry-content img {
    border-radius: 8px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 8px 0 !important;
}

/* 2p. Links in content */
body.single-post .entry-content a {
    color: #1463b5 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.15s ease !important;
}
body.single-post .entry-content a:hover {
    color: #003174 !important;
}

/* 2q. Strong / bold */
body.single-post .entry-content strong, 
body.single-post .entry-content b {
    color: #1a202c !important;
    font-weight: 700 !important;
}

/* ============================================================
   SINGLE POST REDESIGN — Task 3: Author Bio & Post Meta
   ============================================================ */

/* 3a. Author box — clean card design */
body.single-post .entry-author {
    max-width: 860px !important;
    margin: 0 auto 40px auto !important;
    background: #FFFFFF !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 32px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    flex-direction: row !important;
}

/* 3b. Author avatar */
body.single-post .entry-author .author-avatar img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 3px solid #e2e8f0 !important;
    flex-shrink: 0 !important;
}

/* 3c. Author info area */
body.single-post .entry-author .author-info {
    flex: 1 !important;
}

/* 3d. Author name */
body.single-post .entry-author .author-name,
body.single-post .entry-author h3,
body.single-post .entry-author h4 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    margin: 0 0 6px 0 !important;
    border: none !important;
    padding: 0 !important;
}
body.single-post .entry-author .author-name a,
body.single-post .entry-author h3 a,
body.single-post .entry-author h4 a {
    color: #1a202c !important;
    text-decoration: none !important;
}
body.single-post .entry-author .author-name a:hover {
    color: #1463b5 !important;
}

/* 3e. Author label */
body.single-post .entry-author .author-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #1463b5 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* 3f. Author description */
body.single-post .entry-author .author-description,
body.single-post .entry-author p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin: 0 !important;
}

/* 3g. Override Kadence center style for author box */
body.single-post .entry-author.entry-author-style-center {
    text-align: left !important;
    align-items: flex-start !important;
    flex-direction: row !important;
}
body.single-post .entry-author.entry-author-style-center .author-avatar {
    margin: 0 !important;
}

/* ============================================================
   SINGLE POST REDESIGN — Task 4: Layout, Sidebar & Page Structure
   ============================================================ */

/* 4a. The overall content-wrap for single posts - light bg */
body.single-post .content-wrap {
    background: #f8fafc !important;
    padding: 40px 24px 80px !important;
    max-width: 100% !important;
}

/* 4b. Article itself centered with proper max-width */
body.single-post article.single-entry {
    border-radius: 0 !important;
    overflow: visible !important;
}

/* 4c. Hero extends to full width of the article */
body.single-post .entry-content-wrap {
    background: #FFFFFF !important;
}

/* 4d. Post navigation — styled prev/next links */
body.single-post .post-navigation {
    max-width: 860px !important;
    margin: 0 auto 40px auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    background: transparent !important;
}
body.single-post .post-navigation .nav-previous,
body.single-post .post-navigation .nav-next {
    background: #FFFFFF !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 20px 24px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    transition: all 0.15s ease !important;
}
body.single-post .post-navigation .nav-previous:hover,
body.single-post .post-navigation .nav-next:hover {
    border-color: #1463b5 !important;
    box-shadow: 0 4px 16px rgba(20,99,181,0.12) !important;
}
body.single-post .post-navigation a {
    text-decoration: none !important;
    color: #1a202c !important;
}
body.single-post .post-navigation .nav-subtitle {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #1463b5 !important;
    display: block !important;
    margin-bottom: 6px !important;
}
body.single-post .post-navigation .nav-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2d3748 !important;
    line-height: 1.4 !important;
    display: block !important;
}

/* 4e. Related posts section */
body.single-post .entry-related {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 48px 24px !important;
    background: transparent !important;
}
body.single-post .entry-related .entry-related-title,
body.single-post .entry-related h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #edf2f7 !important;
    border-left: none !important;
    padding-left: 0 !important;
}

/* 4f. Related post cards (carousel) */
body.single-post .entry-related .loop-entry {
    background: #FFFFFF !important;
}

/* ============================================================
   SINGLE POST REDESIGN — Task 5: Final Finishing Touches
   ============================================================ */

/* 5a. Post header — add a meta strip (date + category info) 
   via article bg strip below the hero */
body.single-post .entry-content-wrap {
    position: relative !important;
}

/* 5b. Reading width indicator — light gray band on both sides 
   to emphasize the reading column */
body.single-post .entry-content.single-content {
    background: #FFFFFF !important;
    box-shadow: none !important;
}

/* 5c. WP block groups / call to action boxes */
body.single-post .entry-content .wp-block-group {
    border-radius: 10px !important;
    padding: 24px !important;
    margin: 24px 0 !important;
}

/* 5d. Highlighted text / mark */
body.single-post .entry-content mark {
    background: rgba(56,182,255,0.15) !important;
    color: inherit !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
}

/* 5e. Table of contents if using Rank Math block */
body.single-post .wp-block-rank-math-toc-block,
body.single-post .rank-math-toc {
    background: #f0f7ff !important;
    border: 1px solid rgba(56,182,255,0.2) !important;
    border-radius: 10px !important;
    padding: 20px 24px !important;
    margin: 32px 0 !important;
}
body.single-post .wp-block-rank-math-toc-block h2,
body.single-post .rank-math-toc h2 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    border: none !important;
    padding: 0 0 12px 0 !important;
    margin: 0 0 8px 0 !important;
}
body.single-post .wp-block-rank-math-toc-block a {
    color: #1463b5 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}
body.single-post .wp-block-rank-math-toc-block a:hover {
    color: #003174 !important;
    text-decoration: underline !important;
}

/* 5f. Post hero — add bottom wave or gradient fade into white content */
body.single-post .entry-header.post-title {
    margin-bottom: 0 !important;
}

/* 5g. Transition area between hero and content */
body.single-post .entry-content.single-content:first-child {
    padding-top: 40px !important;
}

/* 5h. The category label in the entry header (above hero title) */
body.single-post .entry-header.post-title .entry-taxonomies {
    order: -1 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

/* 5i. WP blocks — columns */
body.single-post .entry-content .wp-block-columns {
    gap: 24px !important;
    margin: 24px 0 !important;
}

/* 5j. WP image captions */
body.single-post .entry-content figcaption {
    font-size: 13px !important;
    color: #718096 !important;
    text-align: center !important;
    font-style: italic !important;
    margin-top: 8px !important;
}

/* 5k. Notices / info boxes (common in SEO blogs) */
body.single-post .entry-content .wp-block-notice,
body.single-post .entry-content [class*="notice"],
body.single-post .entry-content [class*="alert"] {
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin: 24px 0 !important;
}

/* 5l. Post content area - add a subtle border top separator after hero */
body.single-post .entry-content.single-content {
    border-top: 3px solid #edf2f7 !important;
}

/* 5m. Responsive adjustments for single post */
@media (max-width: 768px) {
    body.single-post .entry-header.post-title {
        padding: 36px 20px 28px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    body.single-post .entry-content.single-content {
        padding: 28px 20px 40px !important;
        font-size: 16px !important;
    }
    body.single-post .entry-header .entry-title {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }
    body.single-post .post-navigation {
        grid-template-columns: 1fr !important;
        padding: 0 20px !important;
    }
    body.single-post .entry-author {
        flex-direction: column !important;
        margin: 20px !important;
        padding: 20px !important;
    }
    body.single-post .content-wrap {
        padding: 20px 0 60px !important;
    }
}

@media (min-width: 769px) and (max-width: 1100px) {
    body.single-post .entry-content.single-content {
        padding: 40px 32px 48px !important;
    }
    body.single-post .entry-header.post-title {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

/* 5n. Fix the hero's max-width on the title elements when they have auto margins */
body.single-post .entry-header .entry-title {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.single-post .entry-header .entry-taxonomies {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 5o. Post featured image handling (below hero for posts that have one) */
body.single-post .entry-content .post-thumbnail,
body.single-post .single-thumbnail {
    border-radius: 12px !important;
    overflow: hidden !important;
    margin: 0 0 32px 0 !important;
}
body.single-post .entry-content .post-thumbnail img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
}

/* 5p. Smooth scrolling */
body.single-post {
    scroll-behavior: smooth !important;
}

/* ============================================================
   LAYOUT FIX: Center post properly, remove side white space
   ============================================================ */

/* Fix 1: content-wrap on single posts — remove horizontal padding
   so it spans full width, letting article control its own layout */
body.single-post .content-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    max-width: 100% !important;
    background: #f0f4f8 !important;
}

/* Fix 2: article — full width, no margin constraint
   We remove the 860px max-width from the article itself.
   Reading width is controlled by .entry-content instead. */
body.single-post article.single-entry {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* Fix 3: entry-content-wrap — full width, no padding on sides
   so the hero fills edge-to-edge naturally */
body.single-post .entry-content-wrap {
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Fix 4: Hero — naturally full width now, proper internal padding
   for readable text alignment. No breakout calc needed. */
body.single-post .entry-header.post-title {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 56px 40px 48px !important;
    box-sizing: border-box !important;
}

/* Fix 5: Hero text centered in a readable column */
body.single-post .entry-header .entry-title,
body.single-post .entry-header .entry-taxonomies,
body.single-post .entry-header .entry-meta {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* Fix 6: Entry content — centered reading column with white background card */
body.single-post .entry-content.single-content {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 48px 40px 64px !important;
    background: #FFFFFF !important;
    box-shadow: 0 1px 0 rgba(0,0,0,0.06) !important;
}

/* Fix 7: The light background wrapper to show behind the white content card */
body.single-post .site-main {
    background: #f0f4f8 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

/* Fix 8: Author box — full width with centered inner content */
body.single-post .entry-author {
    max-width: 820px !important;
    margin: 40px auto !important;
    padding: 32px !important;
}

/* Fix 9: Post navigation — full-width with inner centering */
body.single-post .post-navigation {
    max-width: 820px !important;
    margin: 0 auto 48px auto !important;
    padding: 0 !important;
}

/* Fix 10: Related posts section */
body.single-post .entry-related {
    max-width: 100% !important;
    padding: 48px 24px !important;
    background: #f0f4f8 !important;
}

/* Fix 11: Mobile responsive */
@media (max-width: 768px) {
    body.single-post .entry-header.post-title {
        padding: 36px 20px 28px !important;
    }
    body.single-post .entry-content.single-content {
        padding: 28px 20px 40px !important;
        max-width: 100% !important;
    }
    body.single-post .entry-author {
        margin: 20px auto !important;
        padding: 20px !important;
    }
    body.single-post .post-navigation {
        max-width: 100% !important;
        margin: 0 20px 40px !important;
    }
}

/* ============================================================
   READING TIME BADGE — Styling
   ============================================================ */

/* Badge container — appears below category tag in post hero */
.dg-reading-time {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.75) !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    letter-spacing: 0.2px !important;
    width: 100% !important;
    text-align: center !important;
}

.dg-reading-time svg {
    opacity: 0.65 !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

/* Keep sidebar hidden since we added script there */
body.single-post .primary-sidebar {
    display: none !important;
}

/* ===== Blog Post Featured Image - SEO Optimized ===== */
/* Override Kadence padding-ratio technique for single posts */
body.single-post .wp-site-blocks .post-thumbnail[class*="kadence-thumbnail-ratio"] {
    padding-bottom: 0 !important;
    max-height: 400px !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}
body.single-post .wp-site-blocks .post-thumbnail[class*="kadence-thumbnail-ratio"] img {
    position: relative !important;
    max-height: 400px !important;
    height: auto !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}
/* Inner container fix */
body.single-post .post-thumbnail .post-thumbnail-inner {
    position: relative !important;
}
/* Reduce spacing above image */
body.single-post .content-wrap {
    padding-top: 16px !important;
}
/* Reduce gap between image and title */
body.single-post .entry-header {
    padding-top: 24px !important;
}
/* Mobile: even smaller image */
@media (max-width: 767px) {
    body.single-post .wp-site-blocks .post-thumbnail[class*="kadence-thumbnail-ratio"],
    body.single-post .wp-site-blocks .post-thumbnail[class*="kadence-thumbnail-ratio"] img {
        max-height: 250px !important;
    }
}


/* DGN-WIDEN-BLOG-START */
/* Widen single post content area so the gray side margins are minimized */
body.single-post .content-container.site-container,
body.single-post .entry-content-wrap,
body.single-post .entry-hero-container-inner,
body.single-post .hero-section-overlay,
body.single .content-container.site-container {
    max-width: 1400px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}
body.single-post .entry-header.post-title .entry-content-wrap,
body.single-post .entry-header.post-title {
    max-width: 1320px !important;
}
/* Override Kadence's 760px content width for single posts */
body.single-post .entry-content.single-content,
body.single-post .entry-content,
body.single-post .single-content {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.single-post .entry-content.single-content > *:not(.alignfull):not(.alignwide),
body.single-post .entry-content.single-content .wp-block-group,
body.single-post .entry-content.single-content .wp-block-columns {
    max-width: 100% !important;
}
@media (max-width: 1023px) {
    body.single-post .content-container.site-container,
    body.single-post .entry-content.single-content {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}
/* DGN-WIDEN-BLOG-END */

/* DGN-HIDE-NAVIGATION-START */
/* Hide Previous/Next post navigation and Similar Posts block on single posts */
body.single-post .post-navigation,
body.single-post nav.post-navigation,
body.single-post .nav-links,
body.single-post .post-nav-links,
body.single-post .entry-post-navigation,
body.single-post .navigation.post-navigation,
body.single-post #nav-below,
body.single-post .similar-posts,
body.single-post .related-posts-wrap,
body.single-post .entry-related,
body.single-post .related-posts,
body.single-post .dgn-similar-posts,
body.single-post .dgn-related-posts {
    display: none !important;
}
/* DGN-HIDE-NAVIGATION-END */

/* DGN-FOOTER-FIX-START */
/* Footer tightening */
footer.site-footer {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}
footer.site-footer .site-footer-wrap {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
footer.site-footer .site-footer-row-container-inner {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
/* Tighten column widget titles so multi-word labels don't wrap awkwardly */
footer.site-footer h2,
footer.site-footer h3,
footer.site-footer h4,
footer.site-footer .widget-title {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
}
footer.site-footer p,
footer.site-footer li {
    line-height: 1.6 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
footer.site-footer .site-bottom-footer-wrap,
footer.site-footer .site-below-footer-wrap {
    border-top: 1px solid rgba(255,255,255,0.1) !important;
}
/* DGN-FOOTER-FIX-END */

/* DGN-AUTHOR-BIO-START */
/* Styling for the author-bio-box group on single posts */
body.single-post .author-bio-box {
    background-color: #f7f9fc !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}
body.single-post .author-bio-box .wp-block-image img {
    border-radius: 50% !important;
    object-fit: cover !important;
    width: 90px !important;
    height: 90px !important;
}
body.single-post .author-bio-box p {
    margin: 0 0 8px 0 !important;
}
body.single-post .author-bio-box p:last-child {
    margin-bottom: 0 !important;
}
/* DGN-AUTHOR-BIO-END */


/* DGN-SEJ-BYLINE-START */
/* Compact SEJ-style byline - auto-injected by WPCode PHP snippet 'Digitalonian SEJ-Style Byline' */
.dgn-byline { position: relative; display: inline-flex; align-items: flex-start; gap: 12px; margin: 0 0 28px 0; padding: 4px 0; font-family: inherit; }
.dgn-byline__avatar { position: relative; width: 48px; height: 48px; flex-shrink: 0; display: block; text-decoration: none; }
.dgn-byline__avatar img { width: 48px !important; height: 48px !important; border-radius: 50% !important; object-fit: cover; display: block; }
.dgn-byline__avatar::after { content: ""; position: absolute; bottom: -2px; left: -2px; width: 18px; height: 18px; background: #15b54c; border: 2px solid #fff; border-radius: 50%; }
.dgn-byline__meta { display: flex; flex-direction: column; gap: 2px; line-height: 1.25; position: relative; }
.dgn-byline__label { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: #15b54c; text-transform: uppercase; }
.dgn-byline__name { font-size: 17px; font-weight: 700; color: #111 !important; margin: 0; text-decoration: none !important; cursor: pointer; }
.dgn-byline__name:hover { color: #15b54c !important; }
.dgn-byline__date { font-size: 13px; color: #7a7a7a; }
.dgn-byline__card { position: absolute; top: calc(100% + 14px); left: -56px; width: 300px; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.12); padding: 20px; z-index: 100; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease; text-align: center; pointer-events: none; }
.dgn-byline__card::before { content: ""; position: absolute; top: -8px; left: 70px; width: 16px; height: 16px; background: #fff; border-left: 1px solid #e5e7eb; border-top: 1px solid #e5e7eb; transform: rotate(45deg); }
.dgn-byline:hover .dgn-byline__card, .dgn-byline:focus-within .dgn-byline__card { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.dgn-byline__card-avatar { width: 72px !important; height: 72px !important; border-radius: 50% !important; border: 3px solid #15b54c; padding: 3px; background: #fff; margin: 0 auto 12px auto; display: block; object-fit: cover; }
.dgn-byline__card-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: #15b54c; text-transform: uppercase; margin-bottom: 2px; }
.dgn-byline__card-name { display: block; font-size: 18px; font-weight: 700; color: #111 !important; margin: 0 0 4px 0; text-decoration: none !important; }
.dgn-byline__card-name:hover { color: #15b54c !important; }
.dgn-byline__card-title { display: block; font-size: 13px; color: #15b54c; margin: 0 0 4px 0; font-weight: 500; }
.dgn-byline__card-follow { display: flex; align-items: center; gap: 12px; justify-content: flex-start; border-top: 1px solid #e5e7eb; padding-top: 12px; margin-top: 14px; flex-wrap: wrap; }
.dgn-byline__card-follow-label { font-size: 12px; font-weight: 700; color: #111; margin-right: 2px; }
.dgn-byline__card-follow a.dgn-byline__social { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 4px; color: #15b54c !important; text-decoration: none !important; transition: color 0.15s ease; }
.dgn-byline__card-follow a.dgn-byline__social:hover { color: #0d8a3a !important; }
.dgn-byline__card-follow a.dgn-byline__social svg { width: 16px; height: 16px; }
/* Hide any legacy author-bio-box or existing Kadence author box on single posts to avoid duplicates */
body.single-post .entry-author,
body.single-post .author-box,
body.single-post .author-bio-box.dgn-replaced { display: none !important; }
@media (max-width: 600px) {
  .dgn-byline__card { left: 0; width: 260px; }
  .dgn-byline__card::before { left: 20px; }
}
/* DGN-SEJ-BYLINE-END */



/* DGN-SUGGESTED-FIX-START */
/* Make Suggested Articles section span the same width as the post content */
body.single-post .dgn-suggested,
body.single-post .entry-content.single-content .dgn-suggested,
body.single-post .similar-posts,
body.single-post .related-posts,
body.single-post .kadence-related-posts {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single-post .dgn-suggested-heading,
body.single-post .dgn-suggested > * {
  max-width: 100% !important;
}
/* DGN-SUGGESTED-FIX-END */


/* DGN-BYLINE-SPECIFICITY-FIX-START */
/* Override Kadence's body.single-post .entry-content img rule for byline images */
body.single-post .entry-content .dgn-byline .dgn-byline__avatar img,
body.single-post .entry-content img.dgn-byline__card-avatar,
html body.single-post .entry-content .dgn-byline img {
  border-radius: 50% !important;
  box-shadow: none !important;
}
body.single-post .entry-content img.dgn-byline__card-avatar {
  padding: 3px !important;
  border: 3px solid #15b54c !important;
}
/* Strip link styling from byline name/author links so they don't look like regular blog links */
body.single-post .entry-content .dgn-byline a.dgn-byline__name,
body.single-post .entry-content .dgn-byline a.dgn-byline__card-name,
body.single-post .entry-content .dgn-byline a.dgn-byline__avatar {
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
body.single-post .entry-content .dgn-byline a.dgn-byline__name { color: #111 !important; }
body.single-post .entry-content .dgn-byline a.dgn-byline__name:hover { color: #15b54c !important; }
body.single-post .entry-content .dgn-byline a.dgn-byline__card-name { color: #111 !important; }
body.single-post .entry-content .dgn-byline a.dgn-byline__card-name:hover { color: #15b54c !important; }
/* DGN-BYLINE-SPECIFICITY-FIX-END */


/* DGN-AUTHOR-ARCHIVE-FIX-START */
/* Fix author archive hero: description was dark navy text on dark navy background (unreadable) */
body.author .archive-description,
body.author .archive-description p,
body.author .archive-description a,
body.author .entry-hero .archive-description,
body.author .entry-hero-container-inner .archive-description {
  color: rgba(255,255,255,0.88) !important;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  max-width: 780px !important;
  margin-top: 12px !important;
}
body.author .archive-description a {
  color: #38b6ff !important;
  text-decoration: underline !important;
}
body.author .archive-description a:hover { color: #6cc8ff !important; }
/* Ensure the author name title also uses Roboto and renders cleanly */
body.author .entry-hero h1,
body.author .entry-hero .entry-title {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
/* Widen the author archive grid like we did for single posts */
body.author .content-container.site-container,
body.author .entry-content-wrap {
  max-width: 1400px !important;
}
/* DGN-AUTHOR-ARCHIVE-FIX-END */
