/*
Theme Name: Maxim Liberty
Theme URI: https://bookkeeping-services.com/
Description: Custom standalone theme for Maxim Liberty Bookkeeping Services
Author: Maxim Liberty
Author URI: https://bookkeeping-services.com/
Version: 1.0
License: Proprietary
Text Domain: maxim-liberty
*/

/* --- 1. GLOBAL TYPOGRAPHY & SPACING --- */
.common-content ul, .entry-content ul {
  padding-left: 40px;
}
.common-content h4, .common-content h3, .common-content h2, 
.entry-content h3, .entry-content h2, .entry-content h4 {
  margin-top: 30px;
  margin-bottom: 10px;
}
.common-content ol li, .common-content ul li, 
.entry-content ol li, .entry-content ul li {
  font-size: 18px;
}
.page-id-28515 .ekit-wid-con p {
  margin-top: 20px;
}

/* --- 2. RESPONSIVE FIXES --- */
@media (min-width: 1023.99px) {
  #wpcf7-f28054-p23457-o2 select, 
  .ekit-form form .wpcf7-select {
    margin-bottom: var(--column-spacing);
  }
}
@media (max-width: 768px) { 
  .price-tab-page {
    overflow-x: scroll;
  }
}
@media (max-width: 1023.98px) {
  .ekit-wid-con .ekit-form form input:not([type=submit]):not([type=checkbox]):not([type=radio]), 
  .ekit-wid-con .ekit-form form textarea, 
  .ekit-form form .wpcf7-select {
    margin-bottom: 10px;
  }
}

/* Fix Mobile Table Width */
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  display: block;
}
table {
  width: 100%;
  min-width: 600px;
}

/* --- 3. REVIEW & BLOG STYLES --- */
.brand-caution-box {
  background-color: #fff9c4 !important;
  border-left: 5px solid #fbc02d !important;
  padding: 15px !important;
  margin: 25px 0 !important;
  font-size: 0.9em !important;
  line-height: 1.4 !important;
  border-radius: 4px !important;
  color: #333 !important;
}
.brand-caution-box a {
  color: #c62828 !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}
h2.review-title {
  text-align: center !important;
  color: #002b49 !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

/* Awards Banner */
.awards-banner {
  background-color: #f1f8ff !important;
  padding: 20px !important;
  border-radius: 10px !important;
  text-align: center !important;
  margin-bottom: 35px !important;
  border: 1px solid #d1e9ff !important;
  box-shadow: 0 2px 10px rgba(0, 43, 73, 0.05) !important;
}
.awards-banner .awards-label {
  margin-bottom: 20px !important;
  font-weight: 700 !important;
  color: #0d47a1 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 1.15em !important;
  display: block !important;
}
.awards-flex-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px 30px !important;
  align-items: center !important;
  max-width: 900px;
  margin: 0 auto !important;
}

/* Color Classes */
.award-item-green { font-weight: bold !important; color: #2e7d32 !important; font-size: 15px !important; }
.award-item-blue { font-weight: bold !important; color: #0d47a1 !important; font-size: 15px !important; }
.award-item-alt-green { font-weight: bold !important; color: #28a745 !important; font-size: 15px !important; }
.award-item-gray { font-weight: bold !important; color: #555555 !important; font-size: 15px !important; }

/* Risk Alert */
.risk-alert {
  background-color: #fff4f4 !important;
  border-left: 6px solid #d9534f !important;
  padding: 20px !important;
  margin: 25px 0 !important;
  border-radius: 8px !important;
  line-height: 1.6 !important;
}
.risk-alert h3 {
  color: #d9534f !important;
  margin-top: 0 !important;
  font-size: 1.4em !important;
  font-weight: 800 !important;
}
.yellow-alert {
  background-color: #fff9c4 !important;
  border: 1px solid #fbc02d !important;
}
.risk-alert-header {
  display: flex;
  align-items: center;
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 12px;
  color: #856404;
}
.risk-alert-header img {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.risk-alert-list {
  margin: 0 !important;
  padding: 0 0 0 5px !important;
  list-style: none !important;
}
.risk-alert-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 0.95em;
  color: #333;
}
.risk-alert-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #fbc02d;
  font-weight: bold;
}

/* Headings */
h2.section-heading {
  font-size: 2em;
  color: #002b49 !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}
h3.section-subheading {
  color: green !important;
  font-size: 1.5em !important;
  font-weight: 700 !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  line-height: 1.3 !important;
}

/* Comparison Tables */
.comparison-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 30px !important;
}
.comparison-table thead tr {
  background-color: #002b49 !important;
  color: white !important;
}
.comparison-table th {
  padding: 15px !important;
  text-align: left !important;
}
.comparison-table tbody tr {
  border-bottom: 1px solid #ddd !important;
}
.comparison-table td {
  padding: 12px !important;
}
.cell-negative {
  background-color: #ffe6e6 !important;
  color: #c62828 !important;
}
.cell-positive {
  background-color: #e8f5e9 !important;
  color: #2e7d32 !important;
}
.cell-negative a {
  color: #c62828 !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}
.cell-positive a {
  color: #2e7d32 !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}
.cell-negative a:hover { color: #8a1c1c !important; }
.cell-positive a:hover { color: #1b5e20 !important; }
.cell-text-red { color: #c62828 !important; font-weight: bold !important; }
.cell-text-green { color: #2e7d32 !important; font-weight: bold !important; }

/* Advantage Pill */
.advantage-pill {
  background-color: #e8f5e9 !important;
  color: #2e7d32 !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  font-size: 0.85em !important;
  font-weight: bold !important;
  display: inline-block !important;
}

/* Footnotes */
.review-footnote {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.review-footnote li {
  font-size: 0.7em !important;
  color: #666666 !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}

/* Images */
.review-image-container {
  text-align: center !important;
  border: 1px solid #dddddd !important;
  padding: 20px !important;
  margin: 30px 0 !important;
  background-color: #fdfdfd !important;
  border-radius: 8px !important;
}
.review-image-container img, .review-img-standard {
  max-width: 100% !important;
  height: auto !important;
  border: 1px solid #eeeeee !important;
}
.text-highlight-red {
  text-align: center !important;
  font-size: 1em !important;
  font-weight: bold !important;
  color: #c62828 !important;
  margin-top: 15px !important;
}

/* Status Badges */
.status-pill {
  color: white !important;
  font-size: 10px !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
  display: inline-block !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}
.status-pill a {
  color: inherit !important;
  text-decoration: underline !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 999 !important;
  cursor: pointer !important;
}
.status-pill a:hover { opacity: 0.8; }
.pill-red { background-color: #d32f2f !important; }
.pill-green { background-color: #2e7d32 !important; }

/* Table Alerts */
.cell-alert {
  padding: 12px !important;
  vertical-align: middle !important;
  border-radius: 6px !important;
  position: relative;
}
.cell-alert-red {
  background-color: #fff5f5 !important;
  border: 2px solid #ef5350 !important;
  color: #b71c1c !important;
}
.cell-alert-green {
  background-color: #f1f8e9 !important;
  border: 2px solid #66bb6a !important;
  color: #1b5e20 !important;
}
.cell-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 10px;
}
.cell-text {
  text-align: left;
  line-height: 1.3;
}
.cell-alert-red strong, .cell-alert-red b { color: #b71c1c !important; display: block; font-size: 14px; }
.cell-alert-green strong, .cell-alert-green b { color: #1b5e20 !important; display: block; font-size: 14px; }

/* CTAs */
.cta-blue-box {
  background-color: #e3f2fd !important;
  border: 2px solid #2196f3 !important;
  border-radius: 8px !important;
  padding: 30px !important;
  margin: 40px 0 !important;
  text-align: center !important;
}
.cta-blue-box h3 { margin-top: 0 !important; color: #0d47a1 !important; }
.cta-blue-box p { font-size: 1.1em !important; color: #333333 !important; }
.btn-dark-blue {
  background-color: #0d47a1 !important;
  color: white !important;
  padding: 15px 30px !important;
  text-decoration: none !important;
  font-weight: bold !important;
  border-radius: 5px !important;
  display: inline-block !important;
  margin-top: 10px !important;
}
.cta-button-container { text-align: center !important; margin: 50px 0 !important; }
.btn-large-green {
  background-color: #28a745 !important;
  color: white !important;
  padding: 20px 20px !important;
  text-decoration: none !important;
  font-weight: bold !important;
  border-radius: 5px !important;
  font-size: 1.2rem !important;
  display: inline-block !important;
  transition: background-color 0.3s ease;
}
.btn-large-green:hover { background-color: #218838 !important; }

/* Review Grid */
.review-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 10px 0 !important;
}
.card-review {
  padding: 25px !important;
  border-radius: 12px !important;
  margin-bottom: 20px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 180px !important;
}
.card-red { border-top: 6px solid #d9534f !important; background: #fffafa !important; }
.card-green { border-top: 6px solid #28a745 !important; background: #f7fff7 !important; }
.review-stars { color: #ffcc00 !important; margin-bottom: 8px !important; font-size: 16px !important; }
.review-author { font-weight: bold !important; color: #333 !important; display: block !important; margin-top: 10px !important; border-top: 1px solid rgba(0,0,0,0.05) !important; padding-top: 10px !important; }
@media (max-width: 768px) {
  .review-grid { grid-template-columns: 1fr !important; }
}

/* --- 4. LAYOUT FIXES --- */

/* Reset the container margins so they don't pull up too high */
body.single-post #primary,
body.single-post main#main,
body.single-post .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Ensure the blue content box touches the top but doesn't overlap */
body.single-post .site-content,
body.single-post #content {
    padding-top: 0 !important;
}

/* THE CRITICAL FIX: Push the H1 Title down so it clears the Menu */
h1.single-post-title {
    margin-top: 140px !important; /* Clears the sticky header */
    margin-bottom: 20px !important;
    padding-top: 20px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #002b49 !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

/* Mobile Adjustment: Less space needed on small screens */
@media (max-width: 768px) {
    h1.single-post-title {
        margin-top: 100px !important;
        font-size: 28px !important;
    }
}

/* Fix spacing for the Author/Date meta below the title */
.entry-meta {
    text-align: center !important;
    margin-bottom: 40px !important;
    color: #666 !important;
    font-size: 14px !important;
    display: block !important;
}

/* Ensure the article container is visible */
.article-content.article-single {
    overflow: visible !important;
}

/* --- 5. HEADER & FOOTER STYLES --- */
.mx-clean-header {
  background: #ffffff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  box-shadow: 0 2px 15px rgba(0,0,0,0.05) !important;
  padding: 10px 0 !important;
  width: 100% !important;
  display: block !important;
}
.mx-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 20px !important;
}
.mx-logo img {
  display: block !important;
  height: auto !important;
  max-width: 240px !important;
}
.mx-nav-wrap { display: flex !important; align-items: center !important; gap: 20px !important; }
.mx-menu {
  display: flex !important;
  gap: 25px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: row !important;
}
.mx-menu > li { position: relative !important; padding: 15px 0 !important; list-style: none !important; }
.mx-menu a {
  color: #002b49 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
}
.mx-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #ffffff !important;
  min-width: 260px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
  border-top: 4px solid #28a745 !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.2s ease;
  border-radius: 0 0 8px 8px !important;
  padding: 10px 0 !important;
  z-index: 10000 !important;
  list-style: none !important;
}
.mx-menu li:hover .mx-dropdown { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }
.mx-dropdown li a { display: block !important; padding: 10px 20px !important; font-size: 14px !important; font-weight: 500 !important; }
.mx-header-cta {
  background: #28a745 !important;
  color: #ffffff !important;
  padding: 12px 25px !important;
  border-radius: 5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.mx-hamburger { display: none !important; cursor: pointer !important; font-size: 28px !important; color: #002b49 !important; }
@media (max-width: 1024px) {
  .mx-hamburger { display: block !important; }
  .mx-nav-wrap {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    flex-direction: column !important;
    padding: 20px !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
  }
  #mx-mobile-check:checked ~ .mx-nav-wrap { display: flex !important; }
  .mx-menu { flex-direction: column !important; width: 100% !important; gap: 0 !important; }
  .mx-dropdown { position: static !important; opacity: 1 !important; visibility: visible !important; display: none !important; transform: none !important; box-shadow: none !important; border: none !important; padding-left: 20px !important; }
  .mx-menu li:hover .mx-dropdown { display: block !important; }
}

/* Footer Styles */
.mx-footer-wrap {
  background-color: #002b49 !important;
  color: #ffffff !important;
  padding: 60px 20px 30px 20px !important;
  font-family: 'DM Sans', sans-serif !important;
  border-top: 5px solid #28a745 !important;
}
.mx-footer-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.2fr 0.8fr 1fr 1fr !important;
  gap: 40px !important;
}
.mx-f-col h5 { color: #28a745 !important; font-size: 17px !important; margin-bottom: 25px !important; text-transform: uppercase !important; font-weight: 800 !important; letter-spacing: 1px !important; }
.mx-f-about { color: #cbd5e0 !important; line-height: 1.6 !important; font-size: 14px !important; margin: 20px 0 !important; }
.mx-f-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.mx-f-links li { margin-bottom: 12px !important; list-style: none !important; }
.mx-f-links a { color: #cbd5e0 !important; font-size: 14px !important; text-decoration: none !important; transition: 0.3s !important; }
.mx-f-links a:hover { color: #ffffff !important; padding-left: 5px !important; }
.mx-f-social { display: flex !important; gap: 15px !important; margin-top: 20px !important; }
.mx-f-social a { color: #ffffff !important; font-size: 20px !important; transition: 0.3s !important; }
.mx-f-social a:hover { color: #28a745 !important; }
.mx-f-bottom {
  max-width: 1200px !important;
  margin: 40px auto 0 auto !important;
  padding-top: 25px !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}
.mx-copyright { color: #718096 !important; font-size: 13px !important; }
.mx-f-legal { display: flex !important; gap: 20px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.mx-f-legal a { color: #718096 !important; font-size: 13px !important; text-decoration: none !important; }
@media (max-width: 900px) { .mx-footer-container { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) {
  .mx-footer-container { grid-template-columns: 1fr !important; text-align: center !important; }
  .mx-f-social { justify-content: center !important; }
  .mx-f-bottom { justify-content: center !important; flex-direction: column !important; }
}

/* --- 6. CRITICAL FIX: HUGE ICONS (Social, Awards, Emojis) --- */
/* Restore WordPress Emoji behavior globally */
img.emoji {
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  vertical-align: -0.1em !important;
  display: inline !important;
  margin: 0 .05em 0 .1em !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
}

/* Force Social Icons to be small */
.social-sharing-list svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  fill: currentColor;
  display: inline-block !important;
}

/* Force Award/Trust Icons to be small */
.awards-banner img, 
.awards-flex-container img {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  display: inline-block !important;
  margin: 0 5px 0 0 !important;
}

/* Force Comparison Table Icons to be small */
.cell-wrapper img, .cell-wrapper svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
}

/* --- FIX: BLOG POST TITLE (H1) VISIBILITY --- */
h1.single-post-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #002b49 !important; /* Maxim Blue */
    font-size: 42px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
    padding: 0 20px !important;
}

/* Fix spacing for the Author/Date meta below the title */
.entry-meta {
    text-align: center !important;
    margin-bottom: 40px !important;
    color: #666 !important;
    font-size: 14px !important;
    display: block !important;
}

/* Ensure the main container doesn't hide it */
.article-content.article-single {
    overflow: visible !important;
}

/* Mobile Adjustment for Title */
@media (max-width: 768px) {
    h1.single-post-title {
        font-size: 28px !important;
        margin-top: 30px !important;
    }
}

/* ==========================================================================
   MAXIM LIBERTY — GLOBAL BLOG & PAGE CONTAINER STYLES
   Controls all posts/pages using .mx-blog-container wrapper
   ========================================================================== */

.mx-blog-container {
  max-width: 1100px !important;
  margin: 40px auto !important;
  font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
  color: #334155 !important;
  line-height: 1.8 !important;
  font-size: 17px !important;
}

.mx-blog-container h2,
.mx-blog-container h3 {
  color: #002b49 !important;
  font-weight: 800 !important;
  margin-top: 40px !important;
  margin-bottom: 15px !important;
}

.mx-blog-container h2 {
  font-size: 2rem !important;
  border-bottom: 2px solid #eef1f4 !important;
  padding-bottom: 10px !important;
}

.mx-blog-container h3 {
  font-size: 1.4rem !important;
}

.mx-blog-container p {
  margin-bottom: 20px !important;
  color: #334155 !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
}

.mx-blog-container a {
  color: #28a745 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.mx-blog-container a:hover {
  text-decoration: underline !important;
}

.mx-blog-container table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 30px 0 !important;
  font-size: 16px !important;
}

.mx-blog-container table th {
  background-color: #002b49 !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  text-align: left !important;
  font-weight: 700 !important;
}

.mx-blog-container table td {
  padding: 12px 18px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  color: #334155 !important;
}

.mx-blog-container table tr:nth-child(even) {
  background-color: #f8fafc !important;
}

.mx-blog-container table tr:hover {
  background-color: #eef6ee !important;
}

.mx-blog-container ul,
.mx-blog-container ol {
  margin: 15px 0 25px 25px !important;
  line-height: 1.9 !important;
}

.mx-blog-container li {
  margin-bottom: 8px !important;
  color: #334155 !important;
  font-size: 17px !important;
}

.mx-blog-container blockquote {
  border-left: 4px solid #28a745 !important;
  padding: 15px 20px !important;
  margin: 25px 0 !important;
  background: #f0faf0 !important;
  font-style: italic !important;
  color: #475569 !important;
}

.mx-blog-container img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  margin: 20px 0 !important;
}

.mx-blog-container .mx-cta-btn {
  display: inline-block !important;
  background: #28a745 !important;
  color: #fff !important;
  padding: 14px 32px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin: 20px 0 !important;
}

.mx-blog-container .mx-cta-btn:hover {
  background: #218838 !important;
}

.mx-blog-container strong {
  color: #1e293b !important;
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  .mx-blog-container {
    margin: 20px 15px !important;
    font-size: 16px !important;
  }
  .mx-blog-container h2 { font-size: 1.6rem !important; }
  .mx-blog-container h3 { font-size: 1.2rem !important; }
  .mx-blog-container p,
  .mx-blog-container li { font-size: 16px !important; }
  .mx-blog-container table { font-size: 14px !important; }
  .mx-blog-container table th,
  .mx-blog-container table td { padding: 8px 10px !important; }
}

/* --- FIX: WordPress emoji SVGs sizing (post-Elementor removal) --- */
img.wp-smiley,
img.emoji,
img[src*="s.w.org/images/core/emoji"] {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}


/* ==========================================================================
   MAXIM LIBERTY — GLOBAL BLOG & POST STYLES
   Consolidated from inline styles across pages and posts.
   ========================================================================== */

/* --- HEADING VARIABLES (Page vs Post) --- */
:root {
  --mx-page-h1-size: 42px;
  --mx-page-h2-size: 36px;
  --mx-page-h3-size: 32px;
  --mx-page-h4-size: 24px;
  --mx-post-h1-size: 39px;
  --mx-post-h2-size: 29px;
  --mx-post-h3-size: 23px;
  --mx-post-h4-size: 19px;
  --mx-heading-weight: 800;
  --mx-subheading-weight: 700;
  --mx-dark-blue: #002b49;
  --mx-navy: #0f346c;
  --mx-green: #28a745;
  --mx-deep-green: #2e7d32;
  --mx-royal-blue: #0d47a1;
  --mx-red: #c62828;
  --mx-light-bg: #f1f8ff;
  --mx-border-light: #eef1f4;
  --mx-text-body: #334155;
}

/* --- POST HEADING OVERRIDES --- */
.single-post .entry-title,
.single-post h1.entry-title {
  font-size: var(--mx-post-h1-size) !important;
  font-weight: var(--mx-heading-weight) !important;
  line-height: 1.2 !important;
}

/* --- BLOG WRAPPER --- */
.mx-blog-container, .mx-blog-wrapper {
  max-width: 1100px; margin: 0 auto;
  font-family: 'DM Sans', 'Segoe UI', sans-serif;
  color: var(--mx-text-body); line-height: 1.8;
  font-size: 17px; padding: 0 20px;
}
.mx-blog-container h2, .mx-blog-wrapper h2 {
  color: var(--mx-dark-blue); font-size: var(--mx-post-h2-size);
  font-weight: var(--mx-heading-weight);
  margin-top: 50px; margin-bottom: 20px;
  border-bottom: 2px solid var(--mx-border-light); padding-bottom: 10px;
}
.mx-blog-container h3, .mx-blog-wrapper h3 {
  color: var(--mx-navy); font-size: var(--mx-post-h3-size);
  font-weight: var(--mx-subheading-weight);
  margin-top: 35px; margin-bottom: 15px;
}
.mx-blog-container h4, .mx-blog-wrapper h4 {
  color: var(--mx-navy); font-size: var(--mx-post-h4-size);
  font-weight: var(--mx-subheading-weight);
  margin-top: 25px; margin-bottom: 12px;
}
.mx-blog-container p, .mx-blog-wrapper p { margin-bottom: 20px; }
.mx-blog-container ul, .mx-blog-wrapper ul { margin-bottom: 20px; padding-left: 20px; }
.mx-blog-container li, .mx-blog-wrapper li { margin-bottom: 10px; }
.mx-blog-container a, .mx-blog-wrapper a { color: var(--mx-green); font-weight: 600; text-decoration: none; }
.mx-blog-container a:hover, .mx-blog-wrapper a:hover { text-decoration: underline; }


/* ── Transparency Note ── */
.mx-transparency-note {
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
  font-style: italic;
  margin-top: 1rem;
  margin-bottom: 2rem;
}

/* ── Alert / Warning Box ── */
.mx-alert-box {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  border-left: 4px solid #f59e0b;
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin: 1.5rem 0;
  font-size: 15px;
  line-height: 1.7;
  color: #92400e;
}
.mx-alert-box strong {
  color: #78350f;
}

/* ── Footnote (below tables, pricing notes) ── */
.mx-footnote {
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
  margin-top: 0.5rem;
}
.mx-footnote ul {
  list-style: none;
  padding-left: 0;
  margin: 0.5rem 0;
}
.mx-footnote li {
  margin-bottom: 0.5rem;
  padding-left: 1rem;
  text-indent: -0.5rem;
}

/* ── Inline style replacements ── */
.mx-flex-full { flex-basis: 100%; }
.mx-table-cell { padding: 12px; border-color: #dddddd; }
.mx-table-header { padding: 12px; border: 1px solid #ddd; }
.mx-table-styled { width: 100%; border-collapse: collapse; text-align: left; }
.mx-table-header-purple { background-color: #413463; color: #ffffff; }
.mx-table-cell-purple { background-color: #f2ebff; }
.mx-table-cell-white { background-color: #ffffff; }
.mx-list-spaced li { margin-bottom: var(--listItemSpacing, 0.5rem); line-height: var(--line-height-default, 1.7); }

/* ── Site-wide link styles ── */
.entry-content a {
  color: var(--mx-green);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.entry-content a:hover {
  text-decoration: underline;
  color: var(--mx-deep-green);
}
.entry-content a:visited {
  color: var(--mx-green);
}

/* --- AWARDS / TRUST BANNER --- */
.mx-awards-banner {
  background-color: var(--mx-light-bg); padding: 25px;
  border-radius: 10px; text-align: center;
  margin-bottom: 35px; border: 1px solid #d1e9ff;
  box-shadow: 0 2px 10px rgba(0, 43, 73, 0.05);
}
.mx-awards-label {
  display: block; font-size: 1.2em; font-weight: 700;
  color: var(--mx-royal-blue); text-transform: uppercase;
  letter-spacing: 1px; margin-bottom: 15px;
}
.mx-awards-flex {
  display: flex; flex-wrap: wrap;
  justify-content: center; gap: 20px 30px;
}
.mx-awards-flex span { font-size: 15px; font-weight: 700; }
.mx-text-green { color: var(--mx-deep-green) !important; }
.mx-text-blue { color: var(--mx-royal-blue) !important; }
.mx-text-red, .mx-negative { color: var(--mx-red) !important; font-weight: 700; }

/* --- COMPARISON TABLES --- */
.mx-blog-container table, .mx-blog-wrapper table, .mx-comparison-table {
  width: 100%; border-collapse: collapse; margin: 30px 0;
  font-size: 15px; line-height: 1.6;
  border: 1px solid #dde3ea; border-radius: 8px; overflow: hidden;
}
.mx-blog-container table th, .mx-blog-wrapper table th, .mx-comparison-table th {
  background-color: var(--mx-dark-blue); color: #ffffff;
  font-weight: 700; padding: 14px 16px; text-align: left;
  font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px;
}
.mx-blog-container table td, .mx-blog-wrapper table td, .mx-comparison-table td {
  padding: 12px 16px; border-bottom: 1px solid var(--mx-border-light); vertical-align: top;
}
.mx-blog-container table tr:nth-child(even), .mx-blog-wrapper table tr:nth-child(even) { background-color: #f8fafc; }
.mx-blog-container table tr:hover, .mx-blog-wrapper table tr:hover { background-color: #f1f5f9; }
.mx-advantage-cell { color: var(--mx-deep-green); font-weight: 700; }

/* --- FOOTNOTES --- */
.mx-footnote { font-size: 0.8em !important; color: #64748b; line-height: 1.5; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--mx-border-light); }

/* --- PILL BADGES --- */
.mx-pill { padding: 3px 10px; border-radius: 4px; font-size: 0.85em; font-weight: 600; text-transform: uppercase; display: inline-block; }
.mx-pill-green { background: #e8f5e9; color: var(--mx-deep-green); }
.mx-pill-yellow { background: #fff9c4; color: #856404; border: 1px solid #fbc02d; }
.mx-pill-red { background: #ffebee; color: var(--mx-red); }

/* --- REVIEW CARDS (2-column comparison) --- */
.mx-reviews-comparison {
  display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 30px 0;
}
@media (max-width: 768px) { .mx-reviews-comparison { grid-template-columns: 1fr; } }
.mx-review-card {
  background: #fff; border: 1px solid var(--mx-border-light);
  border-radius: 8px; padding: 30px;
  box-shadow: 0 4px 15px rgba(0,43,73,0.03);
  display: flex; flex-direction: column;
}
.mx-review-card-winner { border: 2px solid var(--mx-royal-blue); background-color: #f8fbff; }
.mx-review-card-warning { border: 2px solid #d32f2f; background-color: #fffafa; }
.mx-review-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--mx-border-light); padding-bottom: 15px; margin-bottom: 20px; }
.mx-review-stars { color: #fbc02d; font-size: 1.2em; }
.mx-review-source { font-size: 0.85em; color: #94a3b8; }
.mx-review-text { font-style: italic; color: #475569; line-height: 1.7; flex-grow: 1; }
.mx-review-author { margin-top: 15px; font-weight: 600; color: var(--mx-dark-blue); }

/* --- FAQ ACCORDION --- */
.mx-faq-wrap { margin: 40px 0; }
.mx-faq-wrap h2 { border-bottom: none; margin-bottom: 25px; }
.mx-faq-item { border: 1px solid var(--mx-border-light); border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.mx-faq-question {
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 20px; background: #f8fafc; cursor: pointer;
  font-weight: 600; color: var(--mx-dark-blue); font-size: 16px;
  transition: background-color 0.2s; border: none; width: 100%; text-align: left;
}
.mx-faq-question:hover { background-color: var(--mx-light-bg); }
.mx-faq-question::after { content: '+'; font-size: 1.5em; font-weight: 300; color: #94a3b8; flex-shrink: 0; margin-left: 15px; }
.mx-faq-item.active .mx-faq-question::after { content: '\2212'; }
.mx-faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 20px; color: #475569; line-height: 1.7; }
.mx-faq-item.active .mx-faq-answer { max-height: 500px; padding: 0 20px 20px; }

/* --- CTA BOXES --- */
.mx-cta-box { background: linear-gradient(135deg, var(--mx-dark-blue), var(--mx-navy)); color: #ffffff; padding: 35px 30px; border-radius: 10px; text-align: center; margin: 40px 0; }
.mx-cta-box h3 { color: #ffffff !important; border-bottom: none !important; margin-top: 0 !important; }
.mx-cta-box p { color: #cbd5e1; }
.mx-cta-button { display: inline-block; padding: 14px 35px; background: var(--mx-green); color: #ffffff !important; font-weight: 700; border-radius: 6px; text-decoration: none !important; margin-top: 15px; transition: background 0.3s; }
.mx-cta-button:hover { background: #218838; text-decoration: none !important; }

/* --- RISK ALERTS --- */
.mx-risk-alert { background: #fff5f5; border-left: 4px solid var(--mx-red); padding: 20px 25px; border-radius: 0 8px 8px 0; margin: 25px 0; }
.mx-risk-alert h3 { color: var(--mx-red) !important; margin-top: 0 !important; }

/* --- RESPONSIVE --- */
@media (max-width: 600px) {
  .mx-blog-container table, .mx-blog-wrapper table { font-size: 13px; }
  .mx-blog-container table th, .mx-blog-container table td { padding: 8px 10px; }
  .mx-awards-flex { flex-direction: column; gap: 10px; }
}