:root { --accent: #27ae60; }
.card-grid, .team-grid, .blog-grid { display:flex; flex-wrap:wrap; }
.card-grid > *, .team-grid > *, .blog-grid > * { display:flex; flex-direction:column; }
.container-narrow { max-width: 720px; margin: 0 auto; }
/* All sizes in px, NO rem */

/* ---- Pricing cards: 4-column layout fixes ---- */

/* Tighten horizontal padding so content fits in col-md-3 */
#pricing .pricing-thumb {
    padding: 20px 18px;
}

/* Price + button: stack vertically so neither truncates */
.pricing-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    position: static !important;
}

/* Price number: always fully visible, no overflow clip */
.pricing-bottom .pricing-dollar {
    font-size: 28px;
    font-weight: 700;
    color: #27ae60;
    white-space: nowrap;
    overflow: visible;
    display: block;
    line-height: 1.2;
}
.pricing-bottom .pricing-dollar small {
    font-size: 14px;
    font-weight: 400;
    color: #666;
}

/* CTA button: never clip text */
.pricing-btn {
    position: static !important;
    display: inline-block !important;
    white-space: nowrap;
    overflow: visible;
    padding: 8px 16px !important;
    font-size: 13px;
    text-align: center;
}

/* Fix: nested .features-grid row margin */
.features-grid .row {
    margin-left: 0;
    margin-right: 0;
}

/* Fix: blog card bottom alignment — inline style cards */
.col-md-4 > div[style*="box-shadow"] {
    display: flex;
    flex-direction: column;
}
.col-md-4 > div[style*="box-shadow"] > div[style*="padding"] {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.col-md-4 > div[style*="box-shadow"] > div[style*="padding"] > div[style*="border-top"] {
    margin-top: auto;
}
