@media (max-width: 1024px) {
    .woocommerce-account .jsm-account-shell,
    .woocommerce-account .judo-membership,
    .woocommerce-account .judo-membership *,
    .woocommerce-account .jsm-account-shell * {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .woocommerce-account .jsm-account-shell {
        grid-template-columns: 1fr;
        gap: 20px;
        width: 100%;
        padding: 20px 16px;
        overflow: visible;
    }

    .woocommerce-account .jsm-account-main,
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-account .woocommerce,
    .woocommerce-account .judo-membership,
    .woocommerce-account .jsm-account-dashboard,
    .woocommerce-account .jsm-membership-page,
    .woocommerce-account .jsm-points-page,
    .woocommerce-account .jsm-coupons-page {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-right: 0;
        margin-left: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        max-width: 100%;
        flex: 0 1 auto;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        width: 100%;
        max-width: 100%;
    }

    .jsm-premium-card,
    .jsm-member-card,
    .jsm-membership-pass,
    .jsm-panel,
    .jsm-mini-card,
    .jsm-metric-card,
    .jsm-coupon-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .jsm-premium-card {
        max-width: none;
        height: auto;
        min-height: 0;
    }

    .jsm-pass-bg,
    .jsm-pass-orbit {
        max-width: 42vw;
        max-height: 42vw;
        transform: none;
    }

    .jsm-pass-brand,
    .jsm-pass-main,
    .jsm-pass-grid,
    .jsm-dashboard-hero,
    .jsm-dashboard-metrics,
    .jsm-summary-grid,
    .jsm-content-grid,
    .jsm-coupon-grid,
    .jsm-quick-links,
    .jsm-level-journey {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .jsm-dashboard-hero,
    .jsm-pass-grid,
    .jsm-content-grid,
    .jsm-level-journey {
        grid-template-columns: 1fr;
    }

    .jsm-dashboard-metrics,
    .jsm-summary-grid,
    .jsm-coupon-grid,
    .jsm-quick-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jsm-dashboard-metrics > :last-child {
        grid-column: auto;
    }

    .jsm-journey-step {
        width: 100%;
        height: auto;
        min-height: 112px;
    }

    .jsm-journey-line {
        width: 2px;
        height: 34px;
        margin: 0 auto;
    }

    .jsm-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
        overflow-x: visible;
    }

    .jsm-stat-grid > div {
        width: 100%;
    }

    .jsm-pass-main strong,
    .jsm-pass-grid strong,
    .jsm-pass-value,
    .jsm-metric-card strong,
    .jsm-metric-card__value,
    .jsm-stat-grid dd,
    .jsm-coupon-card dd,
    .jsm-sidebar-profile strong,
    .jsm-sidebar-profile code {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }

    .jsm-money,
    .jsm-metric-card__value .jsm-money {
        max-width: 100%;
        justify-content: flex-start;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .jsm-table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .woocommerce-account .judo-membership .jsm-account-table {
        min-width: 620px;
    }

    .jsm-copy-button,
    .jsm-text-link,
    .jsm-quick-links a {
        min-height: 44px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .judo-membership img,
    .jsm-account-shell img {
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 991px) {
    .jsm-account-shell {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 16px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex-basis: auto;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
    }

    .jsm-premium-card {
        aspect-ratio: auto;
        max-width: none;
        min-height: auto;
    }

    .jsm-level-journey {
        grid-template-columns: 1fr;
    }

    .jsm-journey-line {
        width: 2px;
        height: 34px;
        margin: 0 auto;
    }

    .jsm-copy-button,
    .jsm-text-link {
        min-height: 44px;
    }
}

@media (max-width: 767px) {
    .woocommerce-account .jsm-account-shell {
        gap: 16px;
        padding: 16px 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding-right: 0;
        padding-left: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .judo-membership {
        gap: 16px;
    }

    .jsm-account-header h1 {
        font-size: clamp(24px, 8vw, 32px);
        line-height: 1.12;
    }

    .jsm-account-header p,
    .jsm-panel p,
    .jsm-empty,
    .jsm-mini-card small,
    .jsm-metric-card small {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .jsm-membership-pass,
    .jsm-panel,
    .jsm-mini-card,
    .jsm-coupon-card,
    .jsm-metric-card,
    .jsm-quick-links a {
        border-radius: 16px;
        padding: 16px;
    }

    .jsm-membership-pass {
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .jsm-pass-brand {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .jsm-pass-logo,
    .jsm-pass-badge {
        max-width: 100%;
        white-space: normal;
    }

    .jsm-pass-main {
        gap: 14px;
    }

    .jsm-pass-main strong {
        font-size: clamp(24px, 7vw, 32px);
        line-height: 1.12;
    }

    .jsm-pass-grid,
    .jsm-dashboard-metrics,
    .jsm-summary-grid,
    .jsm-content-grid,
    .jsm-coupon-grid,
    .jsm-quick-links,
    .jsm-stat-grid {
        grid-template-columns: 1fr;
    }

    .jsm-dashboard-hero {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .jsm-dashboard-hero-stats {
        grid-template-columns: 1fr;
    }

    .jsm-panel-heading {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .jsm-panel-heading strong {
        font-size: clamp(24px, 7vw, 32px);
        overflow-wrap: anywhere;
    }

    .jsm-timeline li {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .woocommerce-account .judo-membership .jsm-account-table {
        min-width: 560px;
    }

    .jsm-account-table th,
    .jsm-account-table td {
        padding: 12px 10px;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 480px) {
    .jsm-account-shell {
        gap: 16px;
        padding: 14px 10px;
    }

    .jsm-premium-card {
        min-height: auto;
    }

    .jsm-journey-step,
    .jsm-metric-card {
        padding: 16px;
    }

    .jsm-journey-step strong {
        font-size: 22px;
    }

    .jsm-coupon-card code {
        white-space: normal;
        word-break: break-word;
    }

    .jsm-pass-bg,
    .jsm-pass-orbit {
        display: none;
    }

    .woocommerce-account .judo-membership .jsm-account-table {
        min-width: 520px;
    }
}
