/* How To Qualify block (blocks/how-to-qualify) */
.how-to-qualify {
    padding: 3rem 1rem;
}
.how-to-qualify-card {
    max-width: 1160px;
    margin: 0 auto;
    background: #0B0B0C;
    border: 1px solid #E2C562;
    border-radius: 24px;
    padding: 20px 2rem 30px;
    display:flex;
    flex-direction: column;
    gap:30px;
}
.how-to-qualify-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}
/* Decorative gradient lines flanking the title - fixed width (rather than
   flex-growing to fill the remaining space) so they read as short accents
   instead of stretching the full width of the card. Drawn with a plain CSS
   gradient (previously left-gradient.svg / right-gradient.svg) - the left
   line fades in from transparent, the right line (:last-child) is the same
   gradient mirrored so it fades out away from the title on both sides. */
.how-to-qualify-heading-line {
    display: block;
    flex: 0 0 auto;
    inline-size: 100px;
    block-size: 1.1px;
    background: linear-gradient(to right, rgba(124, 108, 54, 0) 0%, rgba(215, 188, 93, .894224) 90.865%, #F5DF94 100%);
}
.how-to-qualify-heading-line:last-child {
    background: linear-gradient(to left, rgba(124, 108, 54, 0) 0%, rgba(215, 188, 93, .894224) 90.865%, #F5DF94 100%);
}
/* Scoped as ".how-to-qualify .how-to-qualify-title" (not just
   ".how-to-qualify-title") so this reliably beats the theme's
   ".post-content h2, .post-content h3" rule in style.css / responsive.css,
   which targets this same h2 tag with higher specificity - without editing
   those shared stylesheets. */
.how-to-qualify .how-to-qualify-title {
    flex: 0 0 auto;
    margin: 0;
    color: #EDEDED;
    font-weight: 800;
    font-size: 30px;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.how-to-qualify-items {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
/* min-width:0 overrides the flex default of min-width:auto, which would
   otherwise let an item's own content (e.g. a longer label) refuse to
   shrink below its min-content size and grow wider than the others -
   without it, "flex: 1 1 0" alone only guarantees equal width as long as
   no item's content needs more than its equal share. */
.how-to-qualify-item {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: flex-start;
    padding: 0 .5rem;
}
.how-to-qualify-item-icon {
    display: block;
    inline-size: 48px;
    block-size: 48px;
    object-fit: contain;
}
/* Scoped as ".how-to-qualify .how-to-qualify-item-label" so this reliably
   beats the theme's ".post-content P" rule in style.css, which targets
   this same <p> tag with higher specificity - without editing style.css. */
.how-to-qualify .how-to-qualify-item-label {
    margin: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -.72px;
}
/* Vertical divider between items (not shown before the first one) -
   stretched to the full height of the row via flex's own stretch algorithm.
   Drawn with a plain CSS gradient (previously vertical-line-gradient.svg).
   2px rather than a literal 1px: tested across the card's fluid width
   range (768px-1496px, before/after the 1160px max-width cap) and a true
   1px item consistently rendered at a rounded 0.99px or less, faint to the
   point of disappearing at several widths - 2px reliably renders solid at
   every width tested. */
.how-to-qualify-divider {
    display: block;
    flex: 0 0 auto;
    inline-size: 1.5px;
    align-self: stretch;
    margin-inline: 1rem;
    background: linear-gradient(to bottom, rgba(245, 223, 148, 0) 0%, #E2C562 40.386%, #F5DF94 50.4824%, #E2C562 60%, rgba(245, 223, 148, 0) 100%);
}

/* Tablet/mobile: wrap the items into a 2-column grid. The original
   between-items divider images are built for a single row, so they're
   hidden here and replaced with CSS gradient-line pseudo-elements instead:
   a vertical line down the middle of the grid (right edge of the left
   column) and a horizontal line under every row except the last. */
@media (max-width: 768px) {
    .how-to-qualify-items {
        flex-wrap: wrap;
        row-gap: 20px;
    }
    .how-to-qualify-item {
        position: relative;
        flex: 0 0 calc(50% - .5rem);
        min-width: 0;
    }
    .how-to-qualify-item:nth-of-type(odd)::after {
        content: '';
        position: absolute;
        inset-block: 0;
        inset-inline-end: -.5rem;
        inline-size: 1px;
        background: linear-gradient(to bottom, transparent, #E2C562 50%, #F5DF94 10%, #E2C562 50%, transparent);
    }

    .how-to-qualify-divider {
        display: none;
    }
}

/* Mobile (matches the theme's established ≤576px breakpoint) */
@media (max-width: 576px) {
    .how-to-qualify-card {
        padding: 1.75rem 1.25rem;
        gap:20px;
    }
    .how-to-qualify-heading {
        gap: .75rem;
    }
    .how-to-qualify-heading-line {
        inline-size: 50px;
    }
    .how-to-qualify .how-to-qualify-title {
        font-size: 20px;
    }
    .how-to-qualify-item-icon {
        inline-size: 40px;
        block-size: 40px;
    }
    .how-to-qualify .how-to-qualify-item-label {
        font-size: 16px;
        letter-spacing: -.64px;
    }
}
