/*
Theme Name: Kadence Child - Day Counter
Theme URI: https://daycounter.local/
Description: Custom Kadence child theme for Day Counter USA utility platform.
Author: Day Counter Team
Template: kadence
Version: 1.0.0
*/

/* --- Design Tokens & Color Palette --- */
:root {
  --dc-primary: #2563EB;
  --dc-primary-hover: #1D4ED8;
  --dc-primary-light: #EFF6FF;
  --dc-primary-border: #BFDBFE;
  --dc-dark-navy: #0F172A;
  --dc-body: #475569;
  --dc-body-dark: #1E293B;
  --dc-bg-light: #F8FAFC;
  --dc-page-bg: #FFFFFF;
  --dc-card-bg: #FFFFFF;
  --dc-border: #E2E8F0;
  --dc-border-hover: #CBD5E1;
  --dc-success: #16A34A;
  --dc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --dc-max-width: 1220px;
}

/* Global Reset & Box Sizing */
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  font-size: 16px;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: var(--dc-font-sans);
  color: var(--dc-body);
  background-color: #FFFFFF !important;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Enforce Solid White Outer Page Background Site-Wide Across All Templates */
body,
#wrapper,
#inner-wrap,
.site,
.site-main,
#primary,
#main,
.content-container,
.content-area,
.content-wrap,
.entry-content-wrap,
.entry-content,
.site-container,
.entry-hero,
article.entry,
.entry,
.content-bg,
.entry.content-bg,
.site-content {
  background-color: #FFFFFF !important;
  box-shadow: none !important;
}

/* --- Kadence Header Overrides --- */
.site-header {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  background-color: #FFFFFF !important;
}

/* Shared Header Container Alignment - Reuses Main Layout 1220px Boundary */
.site-header .site-container,
#main-header .site-container,
#mobile-header .site-container {
  max-width: var(--dc-max-width, 1220px) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

.site-main-header-inner-wrap.site-header-row {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.site-header-row-container-inner {
  background-color: #FFFFFF !important;
  border-bottom: 1px solid var(--dc-border) !important;
  padding: 0 !important;
}

/* Enforce compact 64-68px header on desktop */
@media (min-width: 1024px) {
  .site-header,
  .site-main-header-wrap,
  .site-main-header-inner-wrap,
  .site-header-row,
  .site-header-row-container-inner {
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  .site-header-main-section-left,
  .site-header-main-section-right {
    height: 68px !important;
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* Enforce compact 60px header on mobile/tablet */
@media (max-width: 1023px) {
  .site-header,
  .site-main-header-wrap,
  .site-main-header-inner-wrap,
  .site-header-row,
  .site-header-row-container-inner {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }

  .site-header-main-section-left,
  .site-header-main-section-right {
    height: 60px !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }
}

.site-header-item {
  display: flex !important;
  align-items: center !important;
}

.site-branding {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.site-branding a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--dc-dark-navy) !important;
  text-decoration: none;
  letter-spacing: -0.02em;
}

/* Brand Icon - Retired legacy pseudo-element icon; vector logo is loaded via WordPress custom-logo */
.site-branding a:before,
.site-branding a::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.site-branding a:hover {
  color: var(--dc-primary) !important;
}

.site-title {
  margin: 0;
}

/* Primary Navigation Styling */
.main-navigation .primary-menu-container > ul {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.main-navigation .primary-menu-container > ul > li > a {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dc-body-dark) !important;
  padding: 0.4rem 0.85rem !important;
  transition: color 0.15s ease;
  display: flex !important;
  align-items: center !important;
}

.main-navigation .primary-menu-container > ul > li:hover > a,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a {
  color: var(--dc-primary) !important;
}

/* Dropdown Sub-menus */
.main-navigation ul.sub-menu {
  background-color: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04) !important;
  padding: 0.35rem 0 !important;
  min-width: 210px !important;
  max-width: 250px !important;
  width: 220px !important;
  top: 100% !important;
  z-index: 1000 !important;
}

.main-navigation ul.sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.main-navigation ul.sub-menu li a {
  display: block !important;
  width: 100% !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #1E293B !important;
  padding: 0.55rem 1rem !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.main-navigation ul.sub-menu li:hover > a,
.main-navigation ul.sub-menu li a:hover {
  background-color: #EFF6FF !important;
  color: #2563EB !important;
}

.main-navigation ul.sub-menu li a:focus,
.main-navigation ul.sub-menu li a:focus-visible {
  background-color: #EFF6FF !important;
  color: #2563EB !important;
  outline: 2px solid #2563EB !important;
  outline-offset: -2px !important;
}

.main-navigation ul.sub-menu li.current-menu-item > a {
  background-color: #EFF6FF !important;
  color: #2563EB !important;
  font-weight: 600 !important;
}

/* --- Expand Content Width & Reduce Side Margins on Homepage --- */
.content-container.site-container,
.home .content-container.site-container {
  max-width: 1220px !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.content-wrap,
article.entry,
.entry-content-wrap,
.home .content-wrap,
.home article.entry,
.home .entry-content-wrap {
  max-width: 1220px !important;
}

.entry-content-wrap,
.home .entry-content-wrap {
  padding-top: 0 !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  padding-bottom: 0 !important;
}

.entry-content,
.home .entry-content {
  margin-top: 0 !important;
  max-width: 100% !important;
}

/* --- Hero Section: Row 1 H1 (Centered), Row 2 Calc (Left) + Image (Right), Row 3 Intro Content --- */
.dc-hero-section,
.home .dc-hero-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "header header"
    "calc   image"
    "intro  intro";
  column-gap: 36px;
  row-gap: 20px;
  text-align: left;
  background-color: #FFFFFF !important;
  border-bottom: none !important;
  padding: 16px 0 20px !important;
  max-width: 1220px !important;
  width: 100% !important;
  margin: 0 auto 0 !important;
}

/* Row 1: Full-width Centered H1 & Subtitle */
.dc-hero-header {
  grid-area: header;
  width: 100%;
  margin-bottom: 8px !important;
  text-align: center;
}

h1.dc-hero-title,
.entry-content h1.dc-hero-title {
  font-size: clamp(1.45rem, 2.05vw, 2.05rem) !important;
  font-weight: 800 !important;
  color: var(--dc-dark-navy) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  max-width: 1140px !important;
  width: 100%;
  border-bottom: none !important;
}

.dc-hero-header .dc-hero-subtitle {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  max-width: 1140px !important;
  width: 100% !important;
  margin: 10px auto 0 !important;
  text-align: center !important;
}

/* Row 2: Left Calculator Column - Centered within its column */
.dc-hero-calc-col {
  grid-area: calc;
  min-width: 0;
  width: 100%;
  margin-top: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  align-self: start !important;
}

/* Calculator Compactness & Centering */
.dc-hero-calc-col .dc-home-calculator,
.dc-hero-calc-col .dc-calc-container {
  max-width: 550px !important;
  width: 100% !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.03) !important;
}

.dc-home-calculator .dc-tabs-nav {
  min-height: 44px;
  padding: 0.25rem 0.25rem 0;
  gap: 0.25rem;
  background-color: #F8FAFC;
}

.dc-home-calculator .dc-tab-btn {
  height: 42px;
  min-height: 42px;
  padding: 0 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  gap: 0.4rem;
}

.dc-home-calculator .dc-tab-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.dc-home-calculator .dc-calc-body {
  padding: 18px 20px !important;
}

.dc-home-calculator .dc-form-grid {
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.dc-home-calculator .dc-field-group {
  gap: 0.25rem;
}

.dc-home-calculator .dc-field-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--dc-dark-navy);
}

.dc-home-calculator .dc-field-hint {
  font-size: 0.75rem;
  color: #64748B;
  font-weight: 400;
}

.dc-home-calculator .dc-input {
  height: 44px !important;
  padding: 0 0.75rem !important;
  font-size: 0.925rem !important;
}

.dc-home-calculator .dc-checkbox-label {
  font-size: 0.85rem;
  margin-top: 0.2rem;
  gap: 0.5rem;
}

.dc-home-calculator .dc-actions-bar {
  margin-top: 0.75rem;
  gap: 0.5rem;
}

.dc-home-calculator .dc-btn {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 1.25rem !important;
  font-size: 0.925rem !important;
  font-weight: 600 !important;
  border-radius: 6px;
}

/* Compact Result Summary Panel */
.dc-home-calculator .dc-result-panel {
  padding: 0.65rem 0.95rem !important;
  margin-top: 0.75rem !important;
  border-radius: 8px;
}

.dc-home-calculator .dc-result-header {
  margin-bottom: 0.25rem;
  padding-bottom: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dc-home-calculator .dc-result-title {
  font-size: 0.8rem;
  font-weight: 700;
}

.dc-home-calculator .dc-copy-btn,
.dc-home-calculator .dc-share-btn {
  min-height: 28px;
  height: 28px;
  padding: 0 0.55rem;
  font-size: 0.75rem;
}

.dc-home-calculator .dc-main-stat {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0.15rem 0 0.1rem !important;
  color: var(--dc-dark-navy);
}

.dc-home-calculator .dc-stat-sub {
  font-size: 0.825rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  margin-bottom: 0.35rem !important;
}

.dc-home-calculator .dc-breakdown-grid {
  gap: 0.4rem !important;
  margin-top: 0.35rem !important;
}

.dc-home-calculator .dc-breakdown-card {
  padding: 0.35rem 0.45rem !important;
  border-radius: 6px;
}

.dc-home-calculator .dc-breakdown-value {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 700;
}

.dc-home-calculator .dc-breakdown-label {
  font-size: 0.65rem !important;
  margin-top: 0.1rem !important;
  color: #64748B;
  text-transform: uppercase;
}

.dc-home-calculator .dc-dash-link {
  color: var(--dc-primary) !important;
  font-weight: 600;
  font-size: 0.8125rem;
  text-decoration: none !important;
}

.dc-home-calculator .dc-dash-link:hover {
  text-decoration: underline !important;
}

/* Row 2: Right Illustration Column */
.dc-hero-image-col {
  grid-area: image;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start !important;
  align-self: start !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.dc-hero-image-col .dc-hero-illustration-img {
  width: 100%;
  max-width: 450px; /* Scaled up ~18.4% from 380px for balanced visual weight against calculator */
  height: auto;
  aspect-ratio: 520 / 378;
  display: block;
  filter: drop-shadow(0 10px 22px rgba(15, 23, 42, 0.07));
  margin-top: 0 !important;
  transition: transform 0.25s ease;
}

.dc-hero-image-col .dc-hero-illustration-img:hover {
  transform: translateY(-2px);
}

/* Row 3: Introductory supporting explanation content - Aligned to Primary Container */
.dc-hero-intro {
  grid-area: intro;
  width: 100%;
  padding-top: 1.25rem;
  border-top: 1px solid #E2E8F0;
  display: block;
  text-align: left;
}

.dc-hero-intro .dc-hero-subtitle,
.dc-hero-intro .dc-hero-subtitle-second {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: #475569 !important;
  line-height: 1.6 !important;
}

.dc-hero-intro .dc-hero-subtitle {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

.dc-hero-intro .dc-hero-subtitle-second {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.home .dc-calc-summary-text {
  max-width: 960px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--dc-body);
  margin-top: 1.25rem !important;
  margin-bottom: 1.75rem !important;
}

.dc-container,
.home .dc-container,
.entry-content .dc-container {
  max-width: 1220px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Universal phantom/empty paragraph cleanup to prevent CSS Grid row expansion */
.dc-hero-section > p,
.dc-popular-events-grid > p,
.dc-tools-grid > p,
.dc-steps-grid > p,
.dc-use-cases-grid > p,
.dc-benefits-grid > p,
.dc-guides-grid > p,
.dc-container > p:empty,
.entry-content p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: none !important;
}

.dc-container > h2,
.entry-content .dc-container > h2,
.home .dc-container > h2,
.entry-content .home .dc-container > h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin-top: 44px !important;
  margin-bottom: 12px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  text-align: left !important;
}

.dc-container > p,
.entry-content .dc-container > p,
.home .dc-container > p,
.entry-content .home .dc-container > p {
  font-size: 0.95rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

.dc-container > ul,
.dc-container > ol,
.entry-content .dc-container > ul,
.entry-content .dc-container > ol {
  font-size: 0.95rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 20px !important;
  padding-left: 1.5rem !important;
  text-align: left !important;
}

.dc-container li {
  margin-bottom: 0.5rem !important;
}

.dc-table-wrap,
.home .dc-table-wrap,
.entry-content .dc-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: 8px !important;
  overflow-x: auto !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.home .dc-notice {
  margin: 18px 0 !important;
}

.home .dc-container .dc-popular-grid,
.home .dc-container .dc-popular-events-grid,
.home .dc-container .dc-tools-grid,
.home .dc-container .dc-steps-grid,
.home .dc-container .dc-use-cases-grid,
.home .dc-container .dc-benefits-grid,
.home .dc-container .dc-guides-grid {
  margin-bottom: 0 !important;
}

.home .dc-container .dc-faq-wrap,
.home .dc-container .dc-faq-section,
.dc-faq-wrap {
  margin-top: 48px !important;
  margin-bottom: 0 !important;
}

.home .dc-faq-wrap h2,
.entry-content .home .dc-faq-wrap h2,
.dc-faq-wrap h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.home .dc-final-cta {
  margin-top: 48px !important;
  margin-bottom: 0 !important;
  padding: 2.25rem 2rem !important;
}

/* Tablet adjustments (768px - 1023px) */
@media (max-width: 1023px) and (min-width: 768px) {
  .dc-hero-section,
  .home .dc-hero-section {
    grid-template-columns: 55% 45%;
    column-gap: 24px;
    row-gap: 18px;
    padding: 14px 16px 20px !important;
    margin-bottom: 0 !important;
  }
  .dc-hero-calc-col,
  .dc-hero-calc-col .dc-home-calculator,
  .dc-hero-calc-col .dc-calc-container {
    max-width: 100% !important;
  }
  .dc-hero-image-col .dc-hero-illustration-img {
    max-width: 360px;
    margin-top: 0 !important;
  }
  .dc-hero-intro .dc-hero-subtitle,
  .dc-hero-intro .dc-hero-subtitle-second {
    max-width: 100% !important;
  }
  .home .dc-container > h2,
  .entry-content .home .dc-container > h2 {
    font-size: 1.4rem !important;
    margin-top: 36px !important;
    margin-bottom: 6px !important;
  }
  .home .dc-container > p,
  .entry-content .home .dc-container > p {
    font-size: 0.925rem !important;
    margin-bottom: 16px !important;
  }
  .home .dc-table-wrap {
    margin: 16px 0 !important;
  }
  .home .dc-notice {
    margin: 16px 0 !important;
  }
  .home .dc-final-cta {
    margin-top: 36px !important;
    margin-bottom: 0 !important;
    padding: 2rem 1.5rem !important;
  }
  .dc-footer {
    margin-top: 36px !important;
    padding: 2.5rem 1.25rem 1.75rem !important;
  }
}

/* Mobile adjustments (below 768px) */
@media (max-width: 767px) {
  .dc-hero-section,
  .home .dc-hero-section {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 14px 16px 18px !important;
    text-align: left;
    margin-bottom: 0 !important;
  }
  /* Mobile stack strictly: 1. H1, 2. Calculator, 3. Intro content, 4. Illustration */
  .dc-hero-header {
    order: 1;
    margin-bottom: 0.25rem;
    text-align: center;
  }
  h1.dc-hero-title,
  .entry-content h1.dc-hero-title {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }
  .dc-hero-calc-col {
    order: 2;
    width: 100%;
    max-width: 100% !important;
  }
  .dc-hero-calc-col .dc-home-calculator,
  .dc-hero-calc-col .dc-calc-container {
    max-width: 100% !important;
  }
  .dc-hero-intro {
    order: 3;
    width: 100%;
    padding-top: 0.75rem;
  }
  .dc-hero-intro .dc-hero-subtitle,
  .dc-hero-intro .dc-hero-subtitle-second {
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
    text-align: left !important;
  }
  .dc-hero-image-col {
    order: 4;
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 0;
    align-items: center !important;
  }
  .dc-hero-image-col .dc-hero-illustration-img {
    max-width: 300px;
    margin-top: 0 !important;
  }
  .home .dc-container > h2,
  .entry-content .home .dc-container > h2 {
    font-size: 1.3rem !important;
    margin-top: 28px !important;
    margin-bottom: 6px !important;
  }
  .home .dc-container > p,
  .entry-content .home .dc-container > p {
    font-size: 0.9rem !important;
    margin-bottom: 14px !important;
  }
  .home .dc-table-wrap {
    margin: 14px 0 !important;
  }
  .home .dc-notice {
    margin: 14px 0 !important;
  }
  .home .dc-final-cta {
    margin-top: 28px !important;
    margin-bottom: 0 !important;
    padding: 1.75rem 1.25rem !important;
  }
  .dc-footer {
    margin-top: 28px !important;
    padding: 2rem 1rem 1.5rem !important;
  }
}

/* Extra small mobile adjustments (below 480px) */
@media (max-width: 480px) {
  .dc-home-calculator .dc-form-grid {
    grid-template-columns: 1fr !important;
  }
  .dc-home-calculator .dc-tabs-nav {
    gap: 2px;
  }
  .dc-home-calculator .dc-tab-btn {
    font-size: 0.8rem;
    padding: 0 0.4rem;
    gap: 0.25rem;
  }
  .dc-home-calculator .dc-tab-btn svg {
    width: 14px;
    height: 14px;
  }
}

/* Page Header for Inner Pages */
.entry-hero {
  background-color: #FFFFFF !important;
  border-bottom: none !important;
  padding: 2rem 1rem 1.5rem !important;
  margin-bottom: 0 !important;
}

/* Eliminate theme entry-hero on dedicated calculator pages */
.page-id-9 .entry-hero,
.page-id-10 .entry-hero,
.page-id-11 .entry-hero,
.page-id-12 .entry-hero,
.page-id-13 .entry-hero,
.page-id-14 .entry-hero {
  display: none !important;
}

.page-id-9 .content-area,
.page-id-10 .content-area,
.page-id-11 .content-area,
.page-id-12 .content-area,
.page-id-13 .content-area,
.page-id-14 .content-area {
  margin-top: 1rem !important;
}

/* Reduced space above H1 on dedicated calculator pages */
.page-id-9 .dc-calc-hero,
.page-id-9 .dc-hero-section,
.page-id-10 .dc-calc-hero,
.page-id-11 .dc-calc-hero,
.page-id-12 .dc-calc-hero,
.page-id-13 .dc-calc-hero,
.page-id-14 .dc-calc-hero {
  padding-top: 8px !important;
}

/* Lower calculator on dedicated calculator pages to visually align with illustration */
@media (min-width: 1024px) {
  .page-id-9 .dc-hero-calc-col,
  .page-id-10 .dc-hero-calc-col,
  .page-id-12 .dc-hero-calc-col,
  .page-id-13 .dc-hero-calc-col,
  .page-id-14 .dc-hero-calc-col {
    margin-top: 28px !important;
  }
}
@media (max-width: 767px) {
  .page-id-9 .dc-hero-calc-col,
  .page-id-10 .dc-hero-calc-col,
  .page-id-11 .dc-hero-calc-col,
  .page-id-12 .dc-hero-calc-col,
  .page-id-13 .dc-hero-calc-col,
  .page-id-14 .dc-hero-calc-col {
    margin-top: 0 !important;
  }
}

.entry-hero.page-hero-section .entry-header,
.entry-hero-container-inner .entry-header,
.entry-hero .entry-header {
  min-height: auto !important;
  height: auto !important;
  max-width: var(--dc-max-width) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.entry-title {
  font-size: clamp(1.85rem, 3.5vw, 2.35rem) !important;
  font-weight: 800 !important;
  color: var(--dc-dark-navy) !important;
  letter-spacing: -0.02em;
  line-height: 1.25 !important;
  margin: 0 !important;
}

/* Site-wide Content Area Spacing */
body:not(.home) .content-area {
  margin-top: 2.75rem !important; /* 44px: calibrated within 40-56px main section gap */
  margin-bottom: 0 !important; /* .dc-footer already enforces exact 48px top spacing */
}

/* Dedicated Calculator Pages Top Spacing: Tight calibrated gap between header and H1 */
body.page-id-9 .content-area,
body.page-id-10 .content-area,
body.page-id-11 .content-area,
body.page-id-12 .content-area,
body.page-id-13 .content-area,
body.page-id-14 .content-area,
body.page-id-9 #primary.content-area,
body.page-id-10 #primary.content-area,
body.page-id-11 #primary.content-area,
body.page-id-12 #primary.content-area,
body.page-id-13 #primary.content-area,
body.page-id-14 #primary.content-area {
  margin-top: 1rem !important;
}

/* Content Container */
.content-container {
  max-width: var(--dc-max-width) !important;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
}

.entry-content-wrap {
  padding-bottom: 0 !important;
}

.entry-content > :last-child,
.dc-container > :last-child {
  margin-bottom: 0 !important;
}

.entry-content {
  color: var(--dc-body);
  font-size: 1.025rem;
  line-height: 1.7;
}

.entry-content h2,
.dc-container h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin-top: 44px !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.015em;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  text-align: left !important;
}

.entry-content h2:first-child,
.dc-container > h2:first-child {
  margin-top: 0 !important;
}

.entry-content h3,
.dc-container h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--dc-dark-navy);
  margin-top: 2rem !important; /* 32px */
  margin-bottom: 0.875rem !important; /* 14px */
}

.entry-content p,
.dc-container p {
  margin-bottom: 1rem !important; /* 16px: calibrated within 12-16px paragraph gap */
}

.entry-content ul,
.entry-content ol,
.dc-container ul,
.dc-container ol {
  margin-bottom: 1rem !important; /* 16px: calibrated within 12-16px */
  padding-left: 1.5rem;
}

.entry-content li,
.dc-container li {
  margin-bottom: 0.4rem !important;
}

.dc-hero-subtitle {
  font-size: 1.05rem;
  color: var(--dc-body);
  max-width: 1140px !important;
  width: 100% !important;
  margin: 0 auto 1.5rem auto !important; /* 24px: calibrated heading/subtitle to content */
  text-align: center;
  line-height: 1.55;
}

.dc-callout,
.dc-table-wrap {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

@media (max-width: 768px) {
  .entry-hero {
    padding: 1.5rem 1rem 1.125rem !important;
  }
  body:not(.home) .content-area {
    margin-top: 1.75rem !important; /* 28px: calibrated within 24-36px mobile section gap */
    margin-bottom: 2rem !important; /* 32px */
  }
  .entry-content h2,
  .dc-container h2 {
    margin-top: 1.75rem !important; /* 28px: calibrated within 24-36px mobile section gap */
    margin-bottom: 0.875rem !important; /* 14px */
  }
  .entry-content h3,
  .dc-container h3 {
    margin-top: 1.5rem !important;
    margin-bottom: 0.75rem !important;
  }
  .entry-content p,
  .dc-container p {
    margin-bottom: 0.875rem !important; /* 14px: within 12-16px */
  }
}

/* Accessible Links for Regular Prose & Article Content */
.entry-content p:not([class*="dc-"]):not(.site-branding) a:not([class]),
.entry-content ul:not([class*="dc-"]) a:not([class]),
.entry-content ol:not([class*="dc-"]) a:not([class]),
.entry-content table a:not([class]),
.entry-content blockquote a:not([class]),
.entry-content .dc-notice a:not([class]),
.entry-content .dc-callout a:not([class]) {
  color: var(--dc-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: color 0.15s ease;
}

.entry-content p:not([class*="dc-"]):not(.site-branding) a:not([class]):hover,
.entry-content ul:not([class*="dc-"]) a:not([class]):hover,
.entry-content ol:not([class*="dc-"]) a:not([class]):hover,
.entry-content table a:not([class]):hover,
.entry-content blockquote a:not([class]):hover,
.entry-content .dc-notice a:not([class]):hover,
.entry-content .dc-callout a:not([class]):hover {
  color: var(--dc-primary-hover);
  text-decoration: underline;
}

/* Global Component & Card Anchor Reset (Explicitly Prevent Decorative Underlines on Cards/Buttons) */
.entry-content a:is(
  .dc-event-card,
  .dc-tool-card,
  .dc-guide-card,
  .dc-step-card,
  .dc-use-case-card,
  .dc-final-cta-btn,
  .dc-btn,
  .dc-copy-btn,
  .dc-share-btn,
  .dc-tab-btn,
  .dc-faq-trigger,
  .dc-use-case-link,
  .button
),
.entry-content a:is(
  .dc-event-card,
  .dc-tool-card,
  .dc-guide-card,
  .dc-step-card,
  .dc-use-case-card,
  .dc-final-cta-btn,
  .dc-btn,
  .dc-copy-btn,
  .dc-share-btn,
  .dc-tab-btn,
  .dc-faq-trigger,
  .dc-use-case-link,
  .button
):hover,
.entry-content a:is(
  .dc-event-card,
  .dc-tool-card,
  .dc-guide-card,
  .dc-step-card,
  .dc-use-case-card,
  .dc-final-cta-btn,
  .dc-btn,
  .dc-copy-btn,
  .dc-share-btn,
  .dc-tab-btn,
  .dc-faq-trigger,
  .dc-use-case-link,
  .button
):focus,
.dc-event-card,
.dc-tool-card,
.dc-guide-card,
.dc-use-case-card,
.dc-step-card,
.dc-final-cta-btn,
.dc-use-case-link,
.dc-dash-btn,
.dc-scenario-btn,
.dc-faq-trigger {
  text-decoration: none !important;
}

/* Ensure no text-decoration cascades to children of cards */
.dc-event-card *,
.dc-tool-card *,
.dc-guide-card *,
.dc-use-case-card *,
.dc-step-card *,
.dc-final-cta-btn *,
.dc-advanced-dashboard *,
.dc-faq-trigger * {
  text-decoration: none !important;
}

/* ==========================================================================
   FAQ ACCORDION COMPONENT — ACCESSIBLE COLOR, CONTRAST & STATE SYSTEM
   Overrides Kadence global button:focus/active white-text overrides.
   Complies with WCAG AAA contrast across collapsed, hover, focus, & expanded states.
   ========================================================================== */

/* 1. Item Container */
.dc-faq-item {
  border: 1px solid var(--dc-border, #E2E8F0) !important;
  border-radius: var(--dc-radius-md, 10px) !important;
  margin-bottom: 0.75rem !important;
  background-color: #FFFFFF !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.dc-faq-item:hover {
  border-color: #CBD5E1 !important;
}

.dc-faq-item.active {
  border-color: #BFDBFE !important;
  background-color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.06) !important;
}

/* 2. Trigger Button (Default Collapsed State) */
.dc-faq-trigger,
button.dc-faq-trigger,
.entry-content button.dc-faq-trigger,
.entry-content .dc-faq-trigger {
  width: 100% !important;
  padding: 1.125rem 1.25rem !important;
  text-align: left !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #0F172A !important; /* Dark Navy: 15.9:1 contrast */
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Child span inside button inherits dark navy text */
.dc-faq-trigger span,
button.dc-faq-trigger span,
.dc-faq-trigger * {
  color: #0F172A !important;
  text-decoration: none !important;
}

/* 3. Hover State */
.dc-faq-trigger:hover,
button.dc-faq-trigger:hover,
.entry-content button.dc-faq-trigger:hover {
  background-color: #F8FAFC !important;
  color: #0F172A !important;
  text-decoration: none !important;
}

.dc-faq-trigger:hover span,
button.dc-faq-trigger:hover span {
  color: #0F172A !important;
}

/* 4. Active / Expanded State */
.dc-faq-item.active .dc-faq-trigger,
.dc-faq-item.active button.dc-faq-trigger,
.dc-faq-trigger[aria-expanded="true"],
button.dc-faq-trigger[aria-expanded="true"],
.entry-content .dc-faq-item.active button.dc-faq-trigger,
.entry-content button.dc-faq-trigger[aria-expanded="true"] {
  background-color: #EFF6FF !important; /* Soft Light Blue */
  color: #0F172A !important; /* High contrast Dark Navy */
  border-bottom: 1px solid #DBEAFE !important;
}

.dc-faq-item.active .dc-faq-trigger span,
.dc-faq-trigger[aria-expanded="true"] span,
.entry-content .dc-faq-item.active button.dc-faq-trigger span,
.entry-content button.dc-faq-trigger[aria-expanded="true"] span {
  color: #0F172A !important;
}

.dc-faq-item.active .dc-faq-trigger:hover,
button.dc-faq-trigger[aria-expanded="true"]:hover {
  background-color: #E0E7FF !important;
  color: #0F172A !important;
}

/* 5. Focus & Active Click States (Defeating Kadence button:focus & button:active overrides) */
.dc-faq-trigger:focus,
.dc-faq-trigger:active,
button.dc-faq-trigger:focus,
button.dc-faq-trigger:active,
.entry-content button.dc-faq-trigger:focus,
.entry-content button.dc-faq-trigger:active,
.dc-faq-item.active .dc-faq-trigger:focus,
.dc-faq-item.active button.dc-faq-trigger:focus {
  color: #0F172A !important;
  background-image: none !important;
  box-shadow: none !important;
}

.dc-faq-trigger:focus span,
.dc-faq-trigger:active span,
button.dc-faq-trigger:focus span,
button.dc-faq-trigger:active span,
.dc-faq-item.active .dc-faq-trigger:focus span,
.dc-faq-item.active button.dc-faq-trigger:focus span {
  color: #0F172A !important;
}

/* Visible focus outline for accessibility (WCAG 2.4.7 Focus Visible) */
.dc-faq-trigger:focus-visible,
button.dc-faq-trigger:focus-visible,
.entry-content button.dc-faq-trigger:focus-visible {
  outline: 2px solid var(--dc-primary, #2563EB) !important;
  outline-offset: -2px !important;
  color: #0F172A !important;
}

/* 6. Icon / Chevron */
.dc-faq-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  color: #334155 !important; /* Slate Gray */
  stroke: #334155 !important;
  stroke-width: 2.2 !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease, stroke 0.15s ease, color 0.15s ease !important;
}

.dc-faq-trigger:hover .dc-faq-icon,
button.dc-faq-trigger:hover .dc-faq-icon {
  color: #1E293B !important;
  stroke: #1E293B !important;
}

.dc-faq-item.active .dc-faq-icon,
.dc-faq-trigger[aria-expanded="true"] .dc-faq-icon,
button.dc-faq-trigger[aria-expanded="true"] .dc-faq-icon {
  transform: rotate(180deg) !important;
  color: var(--dc-primary, #2563EB) !important;
  stroke: var(--dc-primary, #2563EB) !important;
}

/* 7. Answer Content Panel */
.dc-faq-content {
  display: none;
  padding: 1.125rem 1.25rem 1.25rem !important;
  font-size: 0.95rem !important;
  color: #334155 !important;
  line-height: 1.65 !important;
  background-color: #FFFFFF !important;
}

.dc-faq-content p {
  color: #334155 !important;
  margin: 0 0 0.75rem !important;
  line-height: 1.65 !important;
}

.dc-faq-content p:last-child {
  margin-bottom: 0 !important;
}

.dc-faq-item.active .dc-faq-content {
  display: block !important;
}

/* Callout & Guide Cards */
.dc-callout {
  background-color: var(--dc-card-bg);
  border-left: 4px solid var(--dc-primary);
  border-radius: 0 8px 8px 0;
  padding: 1.25rem 1.5rem;
  margin: 1.75rem 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.dc-callout p:last-child {
  margin-bottom: 0;
}

/* Clean Tables */
.dc-table-wrap {
  overflow-x: auto;
  margin: 1.75rem 0;
  border: 1px solid var(--dc-border);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  background: #FFFFFF;
}

.dc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  text-align: left;
}

.dc-table th {
  background-color: var(--dc-bg-light);
  color: var(--dc-dark-navy);
  font-weight: 700;
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid var(--dc-border);
}

.dc-table td {
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid var(--dc-border);
  color: var(--dc-body);
}

.dc-table tr:last-child td {
  border-bottom: none;
}

.dc-table tr:hover td {
  background-color: #FAFAFA;
}

/* --- Use Cases Grid & Cards --- */
.dc-use-cases-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.dc-use-case-card {
  background: #FFFFFF;
  border: 1px solid var(--dc-border);
  border-radius: 12px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dc-use-case-card:hover {
  transform: translateY(-2px);
  border-color: var(--dc-primary-border);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.dc-use-case-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background-color: var(--dc-primary-light);
  border: 1px solid #DBEAFE;
  margin-bottom: 0.875rem;
  color: var(--dc-primary);
  flex-shrink: 0;
}

.dc-use-case-icon svg {
  width: 22px;
  height: 22px;
  display: block;
}

.dc-use-case-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dc-dark-navy);
  margin: 0 0 0.5rem;
}

.dc-use-case-card p {
  font-size: 0.875rem;
  color: var(--dc-body);
  line-height: 1.55;
  margin: 0 0 1rem;
  flex-grow: 1;
}

.dc-use-case-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dc-primary);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: auto;
}

.dc-use-case-link:hover {
  color: var(--dc-primary-hover);
  text-decoration: underline !important;
}

/* --- Benefits Grid & Cards --- */
.dc-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.dc-benefit-card {
  background: #FFFFFF;
  border: 1px solid var(--dc-border);
  border-radius: 12px;
  padding: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dc-benefit-card:hover {
  transform: translateY(-2px);
  border-color: var(--dc-primary-border);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.dc-benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-color: var(--dc-primary-light);
  border: 1px solid #DBEAFE;
  color: var(--dc-primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.dc-benefit-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.dc-benefit-content {
  flex: 1;
}

.dc-benefit-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dc-dark-navy);
  margin: 0 0 0.35rem;
}

.dc-benefit-card p {
  font-size: 0.875rem;
  color: var(--dc-body);
  line-height: 1.55;
  margin: 0;
}

/* --- Related Educational Guides Grid & Cards --- */
.dc-guides-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.dc-guide-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem;
  border: 1px solid var(--dc-border);
  border-radius: 12px;
  background: #FFFFFF;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dc-guide-card:hover {
  transform: translateY(-2px);
  border-color: var(--dc-primary-border);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.dc-guide-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--dc-dark-navy);
}

.dc-guide-title a {
  color: var(--dc-dark-navy) !important;
  text-decoration: none !important;
}

.dc-guide-title a:hover {
  color: var(--dc-primary) !important;
}

.dc-guide-desc {
  font-size: 0.925rem;
  color: var(--dc-body);
  line-height: 1.6;
  margin: 0 0 1.25rem;
  flex-grow: 1;
}

.dc-guide-action {
  font-weight: 600;
  color: var(--dc-primary) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.95rem;
  margin-top: auto;
}

.dc-guide-action:hover {
  color: var(--dc-primary-hover) !important;
  text-decoration: underline !important;
}

/* --- Bottom Final Call to Action --- */
.dc-final-cta {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  border-radius: 16px;
  padding: 3.5rem 1.75rem;
  text-align: center;
  margin: 3.5rem 0 2rem;
  color: #FFFFFF;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.dc-final-cta h2,
.entry-content .dc-final-cta h2,
.home .entry-content .dc-final-cta h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  color: #FFFFFF !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
  letter-spacing: -0.02em;
}

.dc-final-cta p,
.entry-content .dc-final-cta p,
.home .entry-content .dc-final-cta p {
  color: #94A3B8 !important;
  font-size: 1.05rem !important;
  max-width: 600px;
  margin: 0 auto 1.75rem !important;
  line-height: 1.6;
}

.dc-final-cta-btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.dc-final-cta-btn,
.entry-content a.dc-final-cta-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--dc-primary, #2563EB) !important;
  color: #FFFFFF !important;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.75rem 1.75rem;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
  min-height: 46px;
}

.dc-final-cta-btn:hover,
.entry-content a.dc-final-cta-btn:hover {
  background-color: var(--dc-primary-hover, #1D4ED8) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.45);
  text-decoration: none !important;
  color: #FFFFFF !important;
}

.dc-final-cta-btn svg {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 900px) {
  .dc-use-cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .dc-benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .dc-use-cases-grid,
  .dc-benefits-grid,
  .dc-guides-grid {
    grid-template-columns: 1fr;
  }
  .dc-final-cta {
    padding: 2.5rem 1.25rem;
    margin: 2.5rem 0 1.5rem;
  }
  .dc-final-cta h2,
  .entry-content .dc-final-cta h2,
  .home .entry-content .dc-final-cta h2 {
    font-size: 1.4rem !important;
  }
  .dc-final-cta-btn,
  .entry-content a.dc-final-cta-btn {
    width: 100%;
  }
}

/* --- Professional Footer --- */
.dc-footer {
  background-color: var(--dc-dark-navy);
  color: #94A3B8;
  margin-top: 48px !important;
  padding: 3rem 1.25rem 2rem !important;
  border-top: 1px solid #1E293B;
}

.dc-footer-inner {
  max-width: var(--dc-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 2.5rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #334155;
}

@media (max-width: 900px) {
  .dc-footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .dc-footer-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.dc-footer-brand h4 {
  color: #FFFFFF;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
}

.dc-footer-brand p {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #94A3B8;
  margin: 0;
}

.dc-footer-col h5 {
  color: #FFFFFF;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 1rem;
}

.dc-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.dc-footer-col a {
  color: #CBD5E1;
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.15s ease;
}

.dc-footer-col a:hover {
  color: #60A5FA;
}

.dc-footer-bottom {
  max-width: var(--dc-max-width);
  margin: 2rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: #64748B;
}

.dc-footer-bottom a {
  color: #94A3B8;
  text-decoration: none;
}

.dc-footer-bottom a:hover {
  color: #FFFFFF;
}

/* Hide default Kadence footer in favor of our comprehensive custom footer */
#colophon.site-footer {
  display: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .entry-hero {
    padding: 1.75rem 0.75rem 1.25rem;
  }
}

/* ==========================================================================
   UNIFIED CARD DESIGN SYSTEM (Header / Body / Footer)
   Equal-height cards, grouped icon/badge & title, consistent padding & spacing
   ========================================================================== */

/* Universal Card Resets to defeat Kadence global typography overrides */
.entry-content .dc-event-card h3,
.entry-content .dc-tool-card h3,
.entry-content .dc-step-card h3,
.entry-content .dc-use-case-card h3,
.entry-content .dc-benefit-card h3,
.entry-content .dc-guide-card h3,
.dc-event-card h3,
.dc-tool-card h3,
.dc-step-card h3,
.dc-use-case-card h3,
.dc-benefit-card h3,
.dc-guide-card h3 {
  margin: 0 !important;
}

.dc-event-card p,
.dc-tool-card p,
.dc-step-card p,
.dc-use-case-card p,
.dc-benefit-card p,
.dc-guide-card p {
  margin: 0 !important;
}

.dc-event-card p:empty,
.dc-tool-card p:empty,
.dc-step-card p:empty,
.dc-use-case-card p:empty,
.dc-benefit-card p:empty,
.dc-guide-card p:empty {
  display: none !important;
}

/* Grid Row Balancing for Uniform Equal Height */
.dc-popular-events-grid,
.dc-tools-grid,
.dc-steps-grid,
.dc-use-cases-grid,
.dc-benefits-grid,
.dc-guides-grid {
  grid-auto-rows: 1fr !important;
}

/* 1. Popular Date Counters (.dc-event-card) */
.dc-event-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 22px !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.dc-event-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.dc-event-icon-wrap {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 8px !important;
  background-color: var(--dc-primary-light) !important;
  color: var(--dc-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.dc-event-icon-wrap svg {
  width: 20px !important;
  height: 20px !important;
}
.dc-event-badge {
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #64748B !important;
  background: #F1F5F9 !important;
  padding: 0.2rem 0.5rem !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}
.dc-event-card-body {
  flex: 1 1 auto !important;
  margin-bottom: 12px !important;
  display: flex !important;
  flex-direction: column !important;
}
.entry-content .dc-event-card h3.dc-event-title,
.dc-event-card h3.dc-event-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.35 !important;
}
.dc-event-card .dc-event-date {
  font-size: 0.8125rem !important;
  color: #64748B !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.dc-event-card .dc-event-footer {
  border-top: 1px solid #F1F5F9 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* 2. Explore All Date Calculators & Related Calculators (.dc-tools-grid & .dc-tool-card) - Balanced 3x2 Grid */
.dc-tools-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 18px !important;
  margin-bottom: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1023px) and (min-width: 600px) {
  .dc-tools-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 599px) {
  .dc-tools-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

.dc-tools-grid > p,
.dc-tools-grid > br {
  display: none !important;
}

.dc-tool-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 18px 16px !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.dc-tool-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.dc-tool-icon-wrap {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 8px !important;
  background-color: var(--dc-primary-light) !important;
  color: var(--dc-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}
.dc-tool-icon-wrap svg {
  width: 22px !important;
  height: 22px !important;
}
.entry-content .dc-tool-card h3.dc-tool-title,
.dc-tool-card h3.dc-tool-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.dc-tool-card-body {
  flex: 1 1 auto !important;
  margin-bottom: 14px !important;
}
.dc-tool-card .dc-tool-desc {
  font-size: 0.875rem !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.dc-tool-card-footer {
  border-top: 1px solid #F1F5F9 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
}
.dc-tool-card .dc-tool-cta {
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: var(--dc-primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  transition: transform 0.15s ease, color 0.15s ease !important;
}

/* 3. How to Use the Day Counter (.dc-step-card) */
.dc-step-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 22px !important;
  height: 100% !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.dc-step-card-content {
  flex: 0 0 auto !important;
}
.dc-step-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.dc-step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--dc-primary) !important;
  background: #EFF6FF !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: 999px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.entry-content .dc-step-card h3.dc-step-title,
.dc-step-card h3.dc-step-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.dc-step-card-body {
  flex: 1 1 auto !important;
}
.dc-step-card .dc-step-desc {
  font-size: 0.9rem !important;
  color: #64748B !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Three Mobile UI Mockups inside Step Cards */
.dc-step-mockup-wrap {
  margin-top: 18px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding-top: 6px !important;
  width: 100% !important;
}
.dc-step-mockup-img {
  width: 100% !important;
  max-width: 290px !important;
  height: auto !important;
  aspect-ratio: 340 / 500 !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.08)) !important;
  transition: transform 0.25s ease, filter 0.25s ease !important;
}
.dc-step-card:hover .dc-step-mockup-img {
  transform: translateY(-4px) !important;
  filter: drop-shadow(0 16px 28px rgba(15, 23, 42, 0.12)) !important;
}

/* 4. Practical Use Cases (.dc-use-case-card) */
.dc-use-case-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 22px !important;
  height: 100% !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.dc-use-case-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.dc-use-case-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 8px !important;
  background: #EFF6FF !important;
  color: var(--dc-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.dc-use-case-icon svg {
  width: 22px !important;
  height: 22px !important;
}
.entry-content .dc-use-case-card h3.dc-use-case-title,
.dc-use-case-card h3.dc-use-case-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.dc-use-case-card-body {
  flex: 1 1 auto !important;
  margin-bottom: 14px !important;
}
.dc-use-case-card .dc-use-case-desc {
  font-size: 0.9rem !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.dc-use-case-card-footer {
  border-top: 1px solid #F1F5F9 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
}
.dc-use-case-link {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--dc-primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, color 0.15s ease !important;
}

/* 5. Verifiable Benefits (.dc-benefit-card) */
.dc-benefit-card {
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 20px !important;
  height: 100% !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.03) !important;
}
.dc-benefit-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}
.dc-benefit-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 8px !important;
  background: #EFF6FF !important;
  color: var(--dc-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.dc-benefit-icon svg {
  width: 20px !important;
  height: 20px !important;
}
.entry-content .dc-benefit-card h3.dc-benefit-title,
.dc-benefit-card h3.dc-benefit-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
.dc-benefit-card-body {
  flex: 1 1 auto !important;
}
.dc-benefit-card .dc-benefit-desc {
  font-size: 0.85rem !important;
  color: #64748B !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* 6. Related Guides (.dc-guide-card) */
.dc-guide-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  border: 1px solid var(--dc-border) !important;
  border-radius: var(--dc-radius-md) !important;
  padding: 22px !important;
  height: 100% !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
}
.dc-guide-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.dc-guide-icon-wrap {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 8px !important;
  background: #EFF6FF !important;
  color: var(--dc-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.dc-guide-icon-wrap svg {
  width: 22px !important;
  height: 22px !important;
}
.entry-content .dc-guide-card h3.dc-guide-title,
.dc-guide-card h3.dc-guide-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
.dc-guide-card-body {
  flex: 1 1 auto !important;
  margin-bottom: 14px !important;
}
.dc-guide-card .dc-guide-desc {
  font-size: 0.9rem !important;
  color: #64748B !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  text-decoration: none !important;
}
.dc-guide-card-footer {
  border-top: 1px solid #F1F5F9 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
}
.dc-guide-action {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--dc-primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, color 0.15s ease !important;
}

/* Mobile card padding adjustments */
@media (max-width: 767px) {
  .dc-event-card,
  .dc-tool-card,
  .dc-step-card,
  .dc-use-case-card,
  .dc-benefit-card,
  .dc-guide-card {
    padding: 18px !important;
  }
}

/* ==========================================================================
   RESPONSIVE SECTION SPACING OVERRIDES
   Ensures consistent vertical rhythm across Tablet (36px) and Mobile (28px)
   ========================================================================== */
@media (max-width: 1023px) and (min-width: 768px) {
  .home .dc-container > h2,
  .entry-content .home .dc-container > h2 {
    font-size: 1.4rem !important;
    margin-top: 36px !important;
    margin-bottom: 6px !important;
  }
  .home .dc-container .dc-faq-wrap,
  .home .dc-container .dc-faq-section,
  .dc-faq-wrap {
    margin-top: 36px !important;
  }
  .home .dc-faq-wrap h2,
  .entry-content .home .dc-faq-wrap h2,
  .dc-faq-wrap h2 {
    font-size: 1.4rem !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  .home .dc-container > p,
  .entry-content .home .dc-container > p {
    margin-bottom: 16px !important;
  }
  .home .dc-final-cta {
    margin-top: 36px !important;
    margin-bottom: 0 !important;
    padding: 2rem 1.5rem !important;
  }
  .dc-footer {
    margin-top: 36px !important;
    padding: 2.5rem 1.25rem 1.75rem !important;
  }
}

@media (max-width: 767px) {
  .home .dc-container > h2,
  .entry-content .home .dc-container > h2 {
    font-size: 1.3rem !important;
    margin-top: 28px !important;
    margin-bottom: 6px !important;
  }
  .home .dc-container .dc-faq-wrap,
  .home .dc-container .dc-faq-section,
  .dc-faq-wrap {
    margin-top: 32px !important;
  }
  .home .dc-faq-wrap h2,
  .entry-content .home .dc-faq-wrap h2,
  .dc-faq-wrap h2 {
    font-size: 1.3rem !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  .home .dc-container > p,
  .entry-content .home .dc-container > p {
    margin-bottom: 14px !important;
  }
  .home .dc-final-cta {
    margin-top: 28px !important;
    margin-bottom: 0 !important;
    padding: 1.75rem 1.25rem !important;
  }
  .dc-footer {
    margin-top: 28px !important;
    padding: 2rem 1rem 1.5rem !important;
  }
}

/* ==========================================================================
   HERO DESCRIPTION & CALCULATOR RESULT ACTION BUTTONS FIX (SITE-WIDE)
   ========================================================================== */

/* 1. Hero Description below H1 - Single line on wide desktop (1366px, 1440px), centered, natural wrap on mobile */
.dc-hero-subtitle,
.dc-hero-header .dc-hero-subtitle,
.page-id-9 .dc-hero-header .dc-hero-subtitle {
  max-width: 1140px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* 2. Calculator Result Header, Title & Action Buttons */
.entry-content .dc-result-panel .dc-result-header,
.dc-result-panel .dc-result-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 0.75rem !important;
  margin-bottom: 0.65rem !important;
  border-bottom: 1px solid var(--dc-primary-border, #bfdbfe) !important;
  padding-bottom: 0.5rem !important;
}

.entry-content h3.dc-result-title,
.dc-result-panel h3.dc-result-title,
.dc-result-panel .dc-result-title {
  font-size: 0.875rem !important; /* 14px */
  font-weight: 700 !important;
  text-transform: none !important; /* Title Case for clean readability */
  letter-spacing: 0.01em !important;
  color: var(--dc-dark-navy, #1e293b) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  flex: 0 1 auto !important;
}

.entry-content .dc-result-actions,
.dc-result-panel .dc-result-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}

.entry-content .dc-copy-btn,
.dc-result-panel .dc-copy-btn,
.entry-content .dc-share-btn,
.dc-result-panel .dc-share-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.375rem !important;
  font-size: 0.8125rem !important; /* 13px */
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 0.4rem 0.75rem !important;
  border-radius: var(--dc-radius-sm, 6px) !important;
  cursor: pointer !important;
  min-height: 32px !important;
  height: auto !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.dc-btn-label {
  white-space: nowrap !important;
  display: inline-block !important;
}

.dc-copy-btn svg,
.dc-share-btn svg {
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Narrow container / mobile responsive stacking */
@media (max-width: 540px) {
  .entry-content .dc-result-panel .dc-result-header,
  .dc-result-panel .dc-result-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }

  .entry-content h3.dc-result-title,
  .dc-result-panel .dc-result-title {
    width: 100% !important;
  }

  .entry-content .dc-result-actions,
  .dc-result-panel .dc-result-actions {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
  }
}

/* ==========================================================================
   DEDICATED FULL-WIDTH RESULT DASHBOARD (DAYS SINCE & DAYS UNTIL)
   ========================================================================== */
.dc-dashboard-fullwidth-wrap {
  width: 100% !important;
  max-width: var(--dc-max-width, 1172px) !important;
  margin: 1.5rem auto 2.5rem !important;
  padding: 0 1.25rem !important;
  box-sizing: border-box !important;
  clear: both !important;
}

.dc-dashboard-fullwidth-wrap .dc-result-panel {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Ensure dedicated calculator forms remain compact */
.dc-dedicated-since,
.dc-dedicated-until {
  max-width: 550px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Days Until Dedicated Hero Spacing & Alignment Fixes */
.page-id-11 .dc-calc-hero {
  padding-bottom: 24px !important;
}

@media (min-width: 1024px) {
  .page-id-11 .dc-hero-section.dc-calc-hero {
    align-items: center !important;
    gap: 16px 36px !important;
  }
  .page-id-11 .dc-hero-calc-col {
    margin-top: 0 !important;
    align-self: center !important;
  }
  .page-id-11 .dc-hero-image-col {
    margin-top: 0 !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .page-id-11 .dc-hero-image-col .dc-hero-illustration-img {
    max-width: 340px !important;
    height: auto !important;
  }
}

@media (max-width: 767px) {
  .page-id-11 .dc-calc-hero {
    padding-bottom: 16px !important;
  }
  .page-id-11 .dc-hero-image-col .dc-hero-illustration-img {
    max-width: 280px !important;
  }
}

/* ==========================================================================
   BRANDING, ICONS, GUIDES DROPDOWN & GUIDE PAGES DESIGN FIXES
   ========================================================================== */

/* 1. Header & Mobile Branding Logo */
.site-branding .custom-logo {
  height: 42px !important;
  max-height: 44px !important;
  width: auto !important;
  display: block !important;
  transition: opacity 0.2s ease !important;
}

.site-branding .custom-logo:hover {
  opacity: 0.92 !important;
}

.site-branding .site-title-wrap {
  display: none !important;
}

@media (max-width: 767px) {
  .site-branding .custom-logo {
    height: 34px !important;
    max-height: 36px !important;
    max-width: 185px !important;
  }
}

/* 2. Footer Brand Logo & Social Media Icons */
.dc-footer-brand .dc-footer-logo-link {
  display: inline-block !important;
  margin-bottom: 0.875rem !important;
  text-decoration: none !important;
}

.dc-footer-brand .dc-footer-logo {
  max-height: 40px !important;
  width: auto !important;
  display: block !important;
}

.dc-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 18px !important;
  flex-wrap: wrap !important;
}

.dc-footer-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  background: #1E293B !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dc-footer-social-link svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: currentColor !important;
  transition: transform 0.2s ease !important;
}

.dc-footer-social-link:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

.dc-footer-social-link:focus-visible {
  outline: 2px solid #2563EB !important;
  outline-offset: 2px !important;
}

/* 3. Guides Dropdown Navigation Standardization */
.main-navigation ul.sub-menu {
  min-width: 220px !important;
  max-width: 260px !important;
  width: max-content !important;
}

.main-navigation ul.sub-menu li a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 4. Guide Pages Hero Clean White Background (Eliminate #EDF2F7 Side Strips) */
.entry-hero-container-inner,
.entry-hero.page-hero-section .entry-hero-container-inner,
.single-post .entry-hero-container-inner,
.page .entry-hero-container-inner,
.page-id-15 .entry-hero-container-inner,
.page-id-16 .entry-hero-container-inner,
.hero-container.site-container {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
}

/* 5. Guide Page H1 Typography & Hierarchy */
.page-id-15 h1.entry-title,
.page-id-16 h1.entry-title,
.page-template-default .entry-hero h1.entry-title,
.single-post .entry-hero h1.entry-title {
  font-size: clamp(1.75rem, 3.2vw, 2.25rem) !important;
  line-height: 1.25 !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-weight: 800 !important;
  color: var(--dc-dark-navy, #0F172A) !important;
  letter-spacing: -0.025em !important;
}

/* 6. Guide Pages Content Layout, Tables & Readability */
.page-id-15 .entry-content,
.page-id-16 .entry-content {
  color: #334155 !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

.page-id-15 .entry-content p,
.page-id-16 .entry-content p {
  margin-bottom: 1.25rem !important;
}

.page-id-15 .entry-content h2,
.page-id-16 .entry-content h2 {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: var(--dc-dark-navy, #0F172A) !important;
  margin-top: 2.25rem !important;
  margin-bottom: 0.85rem !important;
  letter-spacing: -0.015em !important;
}

.page-id-15 .entry-content h3,
.page-id-16 .entry-content h3 {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--dc-dark-navy, #0F172A) !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.65rem !important;
}

/* Enhanced Table Styling on Guide Pages */
.entry-content .dc-table,
.page-id-15 .entry-content table,
.page-id-16 .entry-content table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 1.75rem 0 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.entry-content .dc-table th,
.page-id-15 .entry-content table th,
.page-id-16 .entry-content table th {
  background-color: #F8FAFC !important;
  color: var(--dc-dark-navy, #0F172A) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-align: left !important;
  padding: 0.85rem 1.15rem !important;
  border-bottom: 1px solid #E2E8F0 !important;
  letter-spacing: 0.02em !important;
}

.entry-content .dc-table td,
.page-id-15 .entry-content table td,
.page-id-16 .entry-content table td {
  padding: 0.85rem 1.15rem !important;
  font-size: 0.95rem !important;
  color: #334155 !important;
  border-bottom: 1px solid #F1F5F9 !important;
  vertical-align: middle !important;
}

.entry-content .dc-table tr:last-child td,
.page-id-15 .entry-content table tr:last-child td,
.page-id-16 .entry-content table tr:last-child td {
  border-bottom: none !important;
}

.entry-content .dc-table tr:hover td,
.page-id-15 .entry-content table tr:hover td,
.page-id-16 .entry-content table tr:hover td {
  background-color: #F8FAFC !important;
}

.entry-content .dc-table code,
.page-id-15 .entry-content table code,
.page-id-16 .entry-content table code {
  background-color: #EFF6FF !important;
  color: #1D4ED8 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-size: 0.875rem !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
}

/* 7. Card Icons Consistency Across All Pages */
.dc-use-case-icon,
.dc-benefit-icon,
.dc-guide-icon-wrap,
.dc-tool-icon-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #EFF6FF !important;
  color: #2563EB !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
}

.dc-use-case-icon svg,
.dc-guide-icon-wrap svg,
.dc-tool-icon-wrap svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #2563EB !important;
  display: block !important;
}

.dc-benefit-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #2563EB !important;
  display: block !important;
}


