/* ============================================================
   Pace App — responsive.css
   Breakpoints: 1200, 992, 768, 560
   ============================================================ */

@media (max-width: 1200px) {
    :root { --space-section: 72px; }

    .pace-hero__container { gap: 40px; }
    .pace-hero__title { font-size: clamp(34px, 5vw, 54px); }

    .single-post__layout { grid-template-columns: 240px minmax(0, 1fr); gap: 44px; }
}

@media (max-width: 992px) {
    :root { --space-section: 84px; }

    .pace-header__menu { display: none; }
    .pace-nav-toggle { display: flex; }
    .pace-header__cta { padding: 10px 16px; font-size: 13px; }

    .pace-hero { padding: 40px 0 80px; }
    .pace-hero__container {
        grid-template-columns: 1fr;
        gap: 56px;
        text-align: left;
    }
    .pace-hero__content { max-width: 100%; }
    .pace-hero__title { font-size: clamp(32px, 6vw, 48px); }

    .pace-split__grid {
        grid-template-columns: 1fr;
    }
    .pace-split__divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--line-soft) 50%, transparent);
    }

    .pace-receipt__grid { grid-template-columns: 1fr; }
    .pace-features__grid { grid-template-columns: repeat(2, 1fr); }
    .pace-journal__grid,
    .blog-grid { grid-template-columns: repeat(2, 1fr); }

    .pace-final__container {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .pace-footer__top { grid-template-columns: 1fr; gap: 32px; }
    .pace-footer__cols { grid-template-columns: 1fr; }

    .single-post__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .single-post__sidebar {
        position: static;
        top: auto;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 24px;
    }
    .single-post__toc,
    .single-post__share { flex: 1 1 280px; }
    .single-post__share { padding-top: 0; border-top: 0; }
}

@media (max-width: 768px) {
    :root { --space-section: 64px; --container: 720px; }
    .container { padding: 0 20px; }

    .pace-hero__title { font-size: clamp(30px, 7vw, 42px); }
    .pace-hero__subtitle { font-size: 16px; }

    .pace-section-title { font-size: clamp(26px, 6vw, 36px); }
    .pace-section-subtitle { font-size: 16px; }

    .pace-summary { padding: 22px 20px 18px; }
    .pace-summary__years { font-size: clamp(48px, 12vw, 72px); }
    .pace-summary__row { padding: 8px 0; }

    .pace-decision { min-width: 120px; padding: 10px 12px; }
    .pace-decision__value { font-size: 13px; }
    .pace-decision__label { font-size: 10px; }
    .pace-decision--p1 { top: 6%;  left: 4%; }
    .pace-decision--p2 { top: 28%; right: 4%; }
    .pace-decision--p3 { bottom: 6%; left: 4%; }
    .pace-decision--p4 { top: 50%; right: 4%; }

    .pace-features__grid { grid-template-columns: 1fr; }
    .pace-journal__grid,
    .blog-grid { grid-template-columns: 1fr; }

    .pace-final__title { font-size: clamp(28px, 7vw, 40px); }
    .pace-final__text { font-size: 16px; }

    .pace-weekly__chart { height: 110px; }
    .pace-receipt__card { padding: 22px 20px 18px; }
    .pace-receipt__card-title { font-size: 18px; }
    .pace-receipt__net strong { font-size: 18px; }

    .pace-split__panel { padding: 24px 20px 22px; min-height: 320px; }
    .pace-split__panel h3 { font-size: 18px; }

    .single-post-page { padding: 40px 0 64px; }
    .single-post__hero { gap: 14px; margin-bottom: 28px; }
    .single-post__back { font-size: 11px; padding: 7px 12px 7px 10px; }
    .single-post__eyebrow { font-size: 10px; letter-spacing: 0.14em; padding: 6px 12px 6px 10px; }
    .single-post__title { font-size: clamp(28px, 6.5vw, 38px); }
    .single-post__meta-row { font-size: 11px; gap: 10px; }
    .single-post__featured { margin-bottom: 32px; }
    .single-post__featured-chip { left: 12px; bottom: 12px; padding: 5px 12px 5px 8px; font-size: 10px; }
    .single-post__content { font-size: 16px; line-height: 1.7; }
    .single-post__content h2 { font-size: 24px; margin-top: 36px; }
    .single-post__content h3 { font-size: 19px; }
    .single-post__more { padding: 56px 0 64px; }
    .single-post__more-head { margin-bottom: 32px; }
    .single-post__more-link { font-size: 11px; padding: 9px 14px; }

    .pace .wpcf7-form { flex-direction: column; border-radius: var(--radius-md); padding: 10px; }
    .pace .wpcf7-form input[type="submit"],
    .pace .wpcf7-form button[type="submit"] { width: 100%; padding: 14px; }
    .pace .wpcf7-form p { flex-direction: column; }

    .pace-trust { gap: 12px; }
}

@media (max-width: 560px) {
    .pace-header__inner { gap: 14px; }
    .pace-header__cta {
        padding: 9px 14px;
        font-size: 12px;
    }
    .pace-header__cta svg { display: none; }

    .pace-hero { padding: 30px 0 60px; }

    .pace-summary__bar-labels { font-size: 10px; }

    .pace-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Blog redesign — responsive tweaks.
   ============================================================ */
@media (max-width: 992px) {
    .hero--blog { padding: 72px 0 48px; }
    .hero__blog-toolbar-eyebrow::before,
    .hero__blog-toolbar-eyebrow::after { width: 24px; }
    .blog-grid { gap: 22px; }
}

@media (max-width: 768px) {
    .hero--blog { padding: 56px 0 40px; }
    .hero--blog .hero__inner--blog { gap: 14px; }
    .hero--blog .hero__title,
    .hero--blog .hero__title--blog { font-size: clamp(30px, 7vw, 42px); }
    .hero--blog .hero__subtitle,
    .hero--blog .hero__subtitle--blog { font-size: 15px; }

    .hero__blog-label { font-size: 10px; padding: 6px 12px 6px 10px; gap: 8px; }
    .hero__blog-label-divider { height: 8px; }

    /* Allow filter pills to scroll horizontally on narrow screens
       so they never wrap into multiple rows that break the bar. */
    .hero__blog-toolbar { gap: 10px; }
    .hero__blog-toolbar-eyebrow::before,
    .hero__blog-toolbar-eyebrow::after { width: 20px; }
    .hero__blog-filters {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
        max-width: 100%;
        padding-bottom: 1px;
    }
    .hero__blog-filters::-webkit-scrollbar { display: none; }
    .hero__blog-filter { padding: 10px 14px 12px; gap: 8px; }
    .hero__blog-filter-text { font-size: 13px; }
    .hero__blog-filter-count { font-size: 10px; padding: 2px 5px; }

    .blog-list { padding: 56px 0 72px; }
    .blog-card__content { padding: 18px 18px 18px; gap: 12px; }
    .blog-card__title { font-size: 18px; }
    .blog-card__excerpt { font-size: 14px; }
    .blog-card__cta { font-size: 12px; padding-top: 12px; }
    .blog-card__category-chip { bottom: 10px; left: 10px; font-size: 10px; padding: 4px 10px 4px 8px; }
}

@media (max-width: 560px) {
    .hero--blog { padding: 44px 0 32px; }
    .hero--blog .hero__title,
    .hero--blog .hero__title--blog { font-size: clamp(26px, 8vw, 34px); }
    .hero__blog-label { letter-spacing: 0.14em; }
    .hero__blog-label-count { display: none; }
    .hero__blog-label-divider { display: none; }

    .blog-pagination { margin-top: 48px; gap: 8px; }
    .blog-pagination .page-numbers { min-width: 34px; height: 34px; font-size: 12px; }
    .blog-pagination .page-numbers.prev,
    .blog-pagination .page-numbers.next { width: 34px; min-width: 34px; }
}
