/* ─────────────────────────────────────────────────────────
   Global font family - Montserrat throughout
   ───────────────────────────────────────────────────────── */
* {
  font-family: 'Montserrat', sans-serif !important;
}

/* ─────────────────────────────────────────────────────────
   (Global) Gravity Forms image choice – keep as-is
   ───────────────────────────────────────────────────────── */
.gform-theme--framework .gfield--type-image_choice .gfield-choice-image { 
  background: #101f3f !important; 
}
.gfield_imagechoice_item img { 
  width: 50px !important; 
  height: auto !important; 
}

/* ─────────────────────────────────────────────────────────
   Screen-reader utility (kept global if theme lacks one)
   ───────────────────────────────────────────────────────── */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.sr-only.focusable:active,
.sr-only.focusable:focus {
  position: static !important;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* ─────────────────────────────────────────────────────────
   Desktop styles (min-width: 769px)
   ───────────────────────────────────────────────────────── */
@media (min-width: 769px) {
  .vg-mobile-filters { 
    display: none !important; 
  }
}

/* ─────────────────────────────────────────────────────────
   Introduction text styling
   ───────────────────────────────────────────────────────── */
.vg-intro-text {
  padding: 20px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 0;
}

.vg-intro-text h1 {
  margin: 0 0 12px 0;
  font-size: 24px;
  font-weight: 700;
  color: #0B2A55;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.2;
}

.vg-intro-text p {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.5;
  color: #374151;
  font-family: 'Montserrat', sans-serif;
}

.vg-intro-text p:last-child {
  margin-bottom: 0;
}

.vg-intro-text strong {
  font-weight: 600;
  color: #0B2A55;
}

/* ─────────────────────────────────────────────────────────
   Filter toggle button styling
   ───────────────────────────────────────────────────────── */
.vg-filter-toggle {
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
}

.vgf-toggle-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  transition: all 0.2s ease;
}

.vgf-toggle-wrap:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.vgf-toggle-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.vgf-toggle-text {
  font-size: 14px;
  font-weight: 600;
  color: #0B2A55;
  cursor: pointer;
}

/* ─────────────────────────────────────────────────────────
   Mobile styles (max-width: 768px)
   ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
   
     /* ========== Mobile filter bar ========== */
  .vg-mobile-filters {
    position: sticky;
    top: 0;
    z-index: 1002;
    background: #fff;
    padding: 8px 12px;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    display: block; /* ensure it's visible on mobile */
  }
  
  .vg-mobile-filters[hidden] {
    display: none !important;
  }
  
  body.admin-bar .vg-mobile-filters { 
    top: 46px; 
  }
  
     /* Kill stray builder spacing */
  .vg-mobile-filters br { 
    display: none !important; 
  }
  .vg-mobile-filters > p { 
    margin: 0 !important; 
    display: contents !important; 
  }
  .vg-mobile-filters p { 
    margin: 0 !important; 
  }
   
     /* Row 1 (Children? | Household | A/A | Reset) */
  .vg-mobile-filters .vgf-row {
    display: grid;
    grid-template-columns: 1fr !important; /* one column stack */
    gap: 10px;
    align-items: stretch;
  }
  
     /* Row 2 (conditional add-ons) */
  .vg-mobile-filters .vgf-row-conditional {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
  }
  .vg-mobile-filters .vgf-row-conditional:has(.vgf-add-wrap[hidden]) { 
    grid-template-columns: 1fr; 
  }
  .vg-mobile-filters .vgf-row-conditional label {
    display: flex;
    gap: 8px;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px;
    font-size: 14px;
  }
  .vg-mobile-filters .vgf-row-conditional input[type="checkbox"] { 
    width: 18px; 
    height: 18px; 
  }
   
     /* Inline labels (no extra HTML needed) */
  .vg-mobile-filters label { 
    display: grid; 
    gap: 4px; 
    margin: 0 !important; 
    width: 100%; /* make controls fill the width nicely */
  }
  .vg-mobile-filters .vgf-children-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    height: auto;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
  }
  
  .vg-mobile-filters .vgf-children-wrap input[type="checkbox"] { 
    width: 18px; 
    height: 18px; 
  }
  
  .vg-mobile-filters .vgf-children-wrap span {
    font-size: 14px;
    font-weight: 600;
    color: #0B2A55;
    font-family: 'Montserrat', sans-serif;
  }
  .vg-mobile-filters label:has(.vgf-household)::before { 
    content: "Your Household"; 
    font-size: 12px; 
    font-weight: 600; 
    letter-spacing: .02em; 
    color: #0B2A55; 
    font-family: 'Montserrat', sans-serif;
  }
  .vg-mobile-filters label:has(.vgf-rating)::before { 
    content: "Rating"; 
    font-size: 12px; 
    font-weight: 600; 
    letter-spacing: .02em; 
    color: #0B2A55; 
    font-family: 'Montserrat', sans-serif;
  }
   
     /* Controls */
     .vg-mobile-filters select,
  .vg-mobile-filters .vgf-reset {
    height: 44px;
    line-height: 44px;
    font-size: 16px;
    border-radius: 12px;
    margin: 0 !important;
  }
  .vg-mobile-filters select {
    width: 100%;
    padding: 0 40px 0 12px;
    border: 1px solid #cbd5e1;
    background: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23576b95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 18px 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04) inset;
    font-family: 'Montserrat', sans-serif;
  }
  .vg-mobile-filters select:focus { 
    outline: 0; 
    border-color: #2563eb; 
    box-shadow: 0 0 0 3px rgba(37,99,235,.15); 
  }
  
  .vg-mobile-filters .vgf-children {
    font-weight: 600;
    border-color: #0B2A55;
  }
  
  .vg-mobile-filters .vgf-household:disabled {
    background-color: #f9fafb;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #d1d5db;
  }
  .vg-mobile-filters .vgf-reset {
    padding: 0 14px;
    border: 0;
    background: #0B2A55;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(11,42,85,.18);
    width: 100%; /* Reset button: full width, last item */
    justify-self: stretch;
    height: 46px;
    line-height: 46px;
    margin-top: 2px; /* tiny separation from A/A */
    font-family: 'Montserrat', sans-serif;
  }
  .vg-mobile-filters .vgf-reset:focus { 
    outline: 0; 
    box-shadow: 0 0 0 3px rgba(37,99,235,.15); 
  }
  .vg-mobile-filters .vgf-reset { 
    box-shadow: 0 -1px 0 #eef2f7 inset; 
  }
  .vg-mobile-filters .vgf-count { 
    margin-top: 8px; /* tighten the count line under the stack */
    font-size: 12.5px; 
    color: #475569; 
    font-family: 'Montserrat', sans-serif;
    display: none; /* Hide since we show this info in the selection display */
  }
  
  .vg-mobile-filters .vgf-selection-display {
    margin-top: 12px;
    padding: 10px 12px;
    background: #f0f4f8;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
  }
  
  .vg-mobile-filters .vgf-selection-text {
    font-size: 13px;
    font-weight: 600;
    color: #0B2A55;
    line-height: 1.4;
  }

  /* A/A checkbox block */
  .vg-mobile-filters .vgf-aa-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    height: auto; /* let it grow with text */
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
  }
  
  .vg-mobile-filters .vgf-aa-wrap[hidden] {
    display: none !important;
  }
  .vg-mobile-filters .vgf-aa-wrap input { 
    width: 18px; 
    height: 18px; 
     }
   
     /* ========== Tables (both: data-id^="c791a02") ========== */
  .ea-advanced-data-table-wrap-inner {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(11,42,85,.08);
    overflow: hidden;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
  }

  .ea-advanced-data-table[data-id^="c791a02"] {
    --vg-rating-col-w: 68px; /* left % column width */
    table-layout: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
     }
   
     /* Hide decorative icon header row on mobile */
  .ea-advanced-data-table[data-id^="c791a02"] thead .icon-row { 
    display: none !important; 
  }
   
     /* First header cell becomes the only "RATING" header */
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th:first-child {
    visibility: visible !important;
    pointer-events: auto !important;
    width: var(--vg-rating-col-w) !important;
    min-width: var(--vg-rating-col-w) !important;
    max-width: var(--vg-rating-col-w) !important;
    padding: 10px 6px !important;
    background: #0B2A55 !important;
    color: #fff !important;
    text-align: center !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    border: 0 !important;
    clip-path: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
     }
     .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th:first-child::before,
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th:first-child::after { 
    content: none !important; 
  }
   
     /* Other header cells (navy bar + icon above text) */
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th[data-col] {
    position: relative;
    background: #0B2A55 !important;
    color: #fff !important;
    padding: 36px 8px 8px !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: .01em;
    border: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
  }
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th[data-col]::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 35px;
    height: 35px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 1;
  }
  
     /* Highlight active household column */
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th.vg-col-highlight {
    background: #133463 !important;
  }
  .vg-col-highlight { 
    outline: none !important; 
  }
   
     /* Icon map — no-children table */
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="single"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-01.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="spouse"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-02.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="spouse_parent1"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-03.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="spouse_parent2"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-04.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="parent1"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-05.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="parent2"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-06.png"); 
  }
     /* Optional icon for add_spouse_aa (use spouse icon for familiarity) */
  .ea-advanced-data-table[data-id="c791a02"] thead .label-row th[data-col="add_spouse_aa"]::before { 
    background-image: url("https://vetsguardian.com/wp-content/uploads/2023/08/paychart-icons-02.png"); 
  }
   
     /* Icon map — with-children table */
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="child1"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-07.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="spouse_child1"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-08.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="spouse_child1_parent1"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-09.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="spouse_child1_parent2"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-10.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="child1_parent1"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-11.png"); 
  }
  .ea-advanced-data-table[data-id="c791a02-kids"] thead .label-row th[data-col="child1_parent2"]::before { 
    background-image: url("https://calctestdev.wpenginepowered.com/wp-content/uploads/2023/08/paychart-icons-12.png"); 
  }
     /* add_child_u18 / add_child_school18 have no icons by design */
   
     /* Left % column (body): solid navy, no notch */
  .ea-advanced-data-table[data-id^="c791a02"] tbody tr > th[scope="row"] {
    width: var(--vg-rating-col-w) !important;
    min-width: var(--vg-rating-col-w) !important;
    max-width: var(--vg-rating-col-w) !important;
    text-align: center !important;
    background: #0B2A55 !important;
    color: #fff !important;
    font-weight: 500 !important;
    border: 0 !important;
    padding: 12px 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    clip-path: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
     }
     .ea-advanced-data-table[data-id^="c791a02"] tbody tr > th[scope="row"]::before,
  .ea-advanced-data-table[data-id^="c791a02"] tbody tr > th[scope="row"]::after { 
    content: none !important; 
  }
   
     /* Body cells: comfy but tight, soft gray, zebra + separators */
  .ea-advanced-data-table[data-id^="c791a02"] tbody td {
    background: #f5f7fb !important;
    padding: 12px 10px !important;
    border: 0 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
  }
  .ea-advanced-data-table[data-id^="c791a02"] tbody tr:nth-child(even) td { 
    background: #edf2f8 !important; 
  }
     .ea-advanced-data-table[data-id^="c791a02"] tbody tr + tr td,
  .ea-advanced-data-table[data-id^="c791a02"] tbody tr + tr th[scope="row"] {
    border-top: 1px solid #dfe5ee !important;
     }
   
     /* Collapse hidden cells/columns from JS filters */
     .ea-advanced-data-table[data-id^="c791a02"] th[hidden],
  .ea-advanced-data-table[data-id^="c791a02"] td[hidden] { 
    display: none !important; 
  }
  .ea-advanced-data-table[data-id^="c791a02"] col[hidden] { 
    width: 0 !important; 
    visibility: collapse !important; 
  }

  /* Hide inactive table cleanly when JS sets [hidden] */
  .ea-advanced-data-table[hidden] { 
       display: none !important;
     }
  
  /* Additional children table mobile styling */
  .ea-advanced-data-table[data-id="additional-children"] {
    --vg-rating-col-w: 68px; /* left % column width */
    table-layout: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-top: 20px;
  }
  
  /* Add spacing between tables on mobile */
  .ea-advanced-data-table[data-id="c791a02-kids"] {
    margin-top: 20px;
  }
  
  /* Hide decorative icon header row on mobile for additional children table */
  .ea-advanced-data-table[data-id="additional-children"] thead .icon-row { 
    display: none !important; 
  }
  
  /* First header cell becomes the only "RATING" header for additional children table */
  .ea-advanced-data-table[data-id="additional-children"] thead .label-row th:first-child {
    visibility: visible !important;
    pointer-events: auto !important;
    width: var(--vg-rating-col-w) !important;
    min-width: var(--vg-rating-col-w) !important;
    max-width: var(--vg-rating-col-w) !important;
    padding: 10px 6px !important;
    background: #0B2A55 !important;
    color: #fff !important;
    text-align: center !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    border: 0 !important;
    clip-path: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  
  /* Other header cells for additional children table */
  .ea-advanced-data-table[data-id="additional-children"] thead .label-row th[data-col] {
    position: relative;
    background: #0B2A55 !important;
    color: #fff !important;
    padding: 36px 8px 8px !important;
    text-align: center !important;
    white-space: normal !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    letter-spacing: .01em;
    border: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
  }
  
  /* Left % column (body) for additional children table */
  .ea-advanced-data-table[data-id="additional-children"] tbody tr > th[scope="row"] {
    width: var(--vg-rating-col-w) !important;
    min-width: var(--vg-rating-col-w) !important;
    max-width: var(--vg-rating-col-w) !important;
    text-align: center !important;
    background: #0B2A55 !important;
    color: #fff !important;
    font-weight: 500 !important;
    border: 0 !important;
    padding: 12px 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    clip-path: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  
  /* Body cells for additional children table */
  .ea-advanced-data-table[data-id="additional-children"] tbody td {
    background: #f5f7fb !important;
    padding: 12px 10px !important;
    border: 0 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
  }
  .ea-advanced-data-table[data-id="additional-children"] tbody tr:nth-child(even) td { 
    background: #edf2f8 !important; 
  }
  .ea-advanced-data-table[data-id="additional-children"] tbody tr + tr td,
  .ea-advanced-data-table[data-id="additional-children"] tbody tr + tr th[scope="row"] {
    border-top: 1px solid #dfe5ee !important;
  }
   
  /* Show & style the first header ("RATING") even though it's .sr-only */
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th.sr-only {
       position: relative !important;
       visibility: visible !important;
       pointer-events: auto !important;
       width: var(--vg-rating-col-w,68px) !important;
       min-width: var(--vg-rating-col-w,68px) !important;
       max-width: var(--vg-rating-col-w,68px) !important;
       background: #0B2A55 !important;
       color: #fff !important;
       text-align: center !important;
       text-transform: uppercase;
       font-weight: 500 !important;
       letter-spacing: .02em;
       padding: 10px 6px !important;
       border: 0 !important;
    left: auto !important;
    top: auto !important;
       height: auto !important;
       margin: 0 !important;
       overflow: visible !important;
       clip: auto !important;
       white-space: normal !important;
       border-radius: 0 !important;
       box-shadow: none !important;
       clip-path: none !important;
       -webkit-mask: none !important;
               mask: none !important;
      font-family: 'Montserrat', sans-serif !important;
     }
   
     /* Diagonal notch on the left edge of the RATING tab */
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th.sr-only::before {
       content: "";
       position: absolute;
    top: 0;
    bottom: 0;
    left: -12px;
       width: 12px;
       background: #0B2A55;
       clip-path: polygon(100% 0, 0 50%, 100% 100%);
     }

  /* ========== A/A Panel styles ========== */
  .vg-aa-panel { 
    margin-top: 12px; 
  }
  .vg-aa-card {
    --vg-rating-col-w: 76px; /* left % column width (kept same) */
    --vg-navy: #0B2A55;
    --vg-row: #F2F6FC; /* light zebra fill like the main table */
    --vg-line: #E6ECF3; /* subtle row divider */
    border-radius: 0px;
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 20px rgba(11,42,85,.08);
    overflow: hidden; /* rounds table corners too */
  }
  
  /* Mobile grid styles (what JavaScript actually generates) */
  .vg-aa-grid {
    display: block;
  }
  
  .vg-aa-row {
       display: grid;
    grid-template-columns: var(--vg-rating-col-w, 76px) 1fr;
       align-items: stretch;
     }
   
  .vg-aa-rate {
    background: var(--vg-navy);
    color: #fff;
    text-align: center;
    font-weight: 500;
    letter-spacing: .02em;
    padding: 12px 8px;
    font-family: 'Montserrat', sans-serif;
  }
  
  .vg-aa-amt {
    background: #fff;
    color: var(--vg-navy);
    text-align: center;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4;
    padding: 12px 14px;
    font-family: 'Montserrat', sans-serif;
  }
  
  /* separators + zebra to match main table */
  .vg-aa-row + .vg-aa-row .vg-aa-rate,
  .vg-aa-row + .vg-aa-row .vg-aa-amt {
    border-top: 1px solid var(--vg-line);
  }
  
  .vg-aa-row:nth-child(even) .vg-aa-amt {
    background: var(--vg-row);
  }
  
  .vg-aa-note {
    margin: 0;
    padding: 12px 14px 14px;
    font-size: 12.5px;
    color: #475569;
    background: #F8FAFC;
    border-top: 1px solid var(--vg-line);
    font-family: 'Montserrat', sans-serif;
  }
  
  .vg-aa-note em { 
    font-style: italic; 
  }

  /* Card header bar */
  .vg-aa-card__head {
    background: var(--vg-navy);
    color: #fff;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: .02em;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.2;
    position: relative;
  }
  .vg-aa-card__head::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3px;
    height: 3px;
    background: var(--vg-accent);
  }

  /* The table */
  .vg-aa-table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: auto !important;
    background: #fff;
  }

  /* Row dividers */
  .vg-aa-table tr + tr th,
  .vg-aa-table tr + tr td {
    border-top: 1px solid var(--vg-line);
  }

  /* Left rating column (solid navy blocks, like the % column) */
  .vg-aa-table th[scope="row"] {
    width: var(--vg-rating-col-w);
    min-width: var(--vg-rating-col-w);
    max-width: var(--vg-rating-col-w);
    background: var(--vg-navy) !important;
    color: #fff !important;
    text-align: center !important;
    font-weight: 500 !important;
    padding: 14px 8px !important;
    border: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
       clip-path: none !important;
       -webkit-mask: none !important;
               mask: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative;
  }
  .vg-aa-table th[scope="row"]::before,
  .vg-aa-table th[scope="row"]::after { 
       content: none !important;
     }
   
  /* Amount cells */
  .vg-aa-table td {
    padding: 14px 16px;
    text-align: right;
    font-weight: 600;
    color: #0B2A55;
    background: #fff;
       display: table-cell !important;
       visibility: visible !important;
       opacity: 1 !important;
       text-indent: 0 !important;
       overflow: visible !important;
       white-space: nowrap !important;
       position: relative !important;
       z-index: 1 !important;
       border: 0 !important;
    font-size: 1rem !important;
       line-height: 1.4 !important;
    font-family: 'Montserrat', sans-serif !important;
       clip-path: none !important;
       -webkit-mask: none !important;
               mask: none !important;
       transform: none !important;
       filter: none !important;
       mix-blend-mode: normal !important;
       pointer-events: auto !important;
     }

  /* Zebra fill to match household table */
  .vg-aa-table tr:nth-child(even) td {
    background: var(--vg-row) !important;
     }
   
     /* Kill any overlay labels/graphics added by themes/plugins */
  .vg-aa-table tbody td::before,
  .vg-aa-table tbody td::after,
  .vg-aa-table tbody tr::before,
  .vg-aa-table tbody tr::after {
       content: none !important;
       display: none !important;
     }
   
     /* Our inner span for extra specificity */
  .vg-aa-table tbody td .vg-aa-amt {
       display: block !important;
       color: #0B2A55 !important;
       -webkit-text-fill-color: #0B2A55 !important;
       text-indent: 0 !important;
       opacity: 1 !important;
       visibility: visible !important;
    font-family: 'Montserrat', sans-serif !important;
  }

  /* Small note at the bottom */
  .vg-aa-note {
       margin: 0;
       padding: 12px 14px 14px;
       font-size: 12.5px;
       color: #475569;
       background: #F8FAFC;
       border-top: 1px solid var(--vg-line);
       font-family: 'Montserrat', sans-serif;
     }
  .vg-aa-note em { 
    font-style: italic; 
  }

  /* Collapse when JS toggles [hidden] */
  .vg-aa-panel[hidden] { 
    display: none !important; 
  }

  /* Ensure hidden elements collapse when JS sets [hidden] */
  .ea-advanced-data-table th[hidden],
  .ea-advanced-data-table td[hidden],
  .ea-advanced-data-table col[hidden] { 
    display: none !important; 
  }

  /* Core section library wrapper fix */
  .core-section-library-wrapper .core-section-post-content .layout--text-columns table tr:not(:last-child)::after {
    height: 0px !important;
  }
}

/* ─────────────────────────────────────────────────────────
   Small mobile devices (max-width: 420px)
   ───────────────────────────────────────────────────────── */
@media (max-width: 420px) {
  .vg-mobile-filters .vgf-row { 
    grid-template-columns: 1fr; 
  }
  .vg-mobile-filters .vgf-reset { 
    width: 100%; 
  }
}

/* ─────────────────────────────────────────────────────────
   Ultra-narrow phones (max-width: 390px)
   ───────────────────────────────────────────────────────── */
@media (max-width: 390px) {
  .ea-advanced-data-table[data-id^="c791a02"] { 
    --vg-rating-col-w: 62px; 
  }
  .ea-advanced-data-table[data-id^="c791a02"] thead .label-row th[data-col] { 
    font-size: 15px !important; 
  }
  .ea-advanced-data-table[data-id^="c791a02"] tbody td { 
    font-size: 1rem; 
  }
  
  /* Ensure children table has identical styling */
  .ea-advanced-data-table[data-id="c791a02-kids"] th,
  .ea-advanced-data-table[data-id="c791a02-kids"] td {
    border: 1px solid #e5e7eb;
    padding: 12px;
    text-align: center;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
  }
  
  .ea-advanced-data-table[data-id="c791a02-kids"] thead th {
    background-color: #0B2A55;
    color: white;
    font-weight: bold;
    text-align: center;
    border: none;
  }
  
  .ea-advanced-data-table[data-id="c791a02-kids"] tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  
  .ea-advanced-data-table[data-id="c791a02-kids"] tbody tr:hover {
    background-color: #f5f5f5;
  }
  
  .ea-advanced-data-table[data-id="c791a02-kids"] tbody th[scope="row"] {
    background-color: #0B2A55;
    color: white;
    font-weight: bold;
    text-align: center;
    border: none;
  }
  
  /* Additional children table styling for ultra-narrow phones */
  .ea-advanced-data-table[data-id="additional-children"] { 
    --vg-rating-col-w: 62px; 
  }
  .ea-advanced-data-table[data-id="additional-children"] thead .label-row th[data-col] { 
    font-size: 15px !important; 
  }
  .ea-advanced-data-table[data-id="additional-children"] tbody td { 
    font-size: 1rem; 
  }
  
  .ea-advanced-data-table[data-id="additional-children"] th,
  .ea-advanced-data-table[data-id="additional-children"] td {
    border: 1px solid #e5e7eb;
    padding: 12px;
    text-align: center;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
  }
  
  .ea-advanced-data-table[data-id="additional-children"] thead th {
    background-color: #0B2A55;
    color: white;
    font-weight: bold;
    text-align: center;
    border: none;
  }
  
  .ea-advanced-data-table[data-id="additional-children"] tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  
  .ea-advanced-data-table[data-id="additional-children"] tbody tr:hover {
    background-color: #f5f5f5;
  }
  
  .ea-advanced-data-table[data-id="additional-children"] tbody th[scope="row"] {
    background-color: #0B2A55;
    color: white;
    font-weight: bold;
    text-align: center;
    border: none;
  }
}