/**
 * Class parent pages ([wpb_childpages]) — location-style horizontal rows.
 * Loaded separately from the main bundle so LiteSpeed/CSS combine cannot drop grid rules.
 */
.elementor-shortcode .course-type-buttons.cpr-class-childpages.show_class_box_wrap.cpc-rc-table {
    display: flex;
    flex-direction: column;
    gap: 25px !important;
    border: none;
    width: calc(100% + 24px);
    margin-left: -12px;
    margin-right: -12px;
    max-width: none;
}

/* Per-card shadow (beats city mobile mockup reset) */
.elementor-shortcode .course-type-buttons.cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row,
.elementor-shortcode .course-type-buttons.cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row {
    box-shadow: 0 3px 12px rgba(16, 24, 40, 0.08) !important;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
    display: grid !important;
    grid-template-columns: 180px 1fr 110px 160px 200px !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    box-shadow: 0 3px 12px rgba(16, 24, 40, 0.08) !important;
    background: #fff !important;
    min-height: 80px;
    overflow: hidden;
    margin: 0 !important;
    flex: none !important;
    flex-direction: unset !important;
    align-items: stretch !important;
    text-align: inherit !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell {
    display: block !important;
    text-align: center;
    align-content: center;
    border-right: 1px solid #eee;
    padding: 14px 10px;
    min-height: 80px;
    box-sizing: border-box;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell:last-child {
    border-right: none;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
    padding: 0;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image {
    max-width: 100%;
    /* max-height: 80px; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right 0 bottom 50%;
    display: block;
    margin: 0 auto;
}

@media (min-width: 993px) {
    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table:not(.cpr-location-childpages--venue):not(.cpr-location-childpages--city) > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        display: contents !important;
    }
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    padding: 14px 16px;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
    grid-column: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    width: 100%;
    border-right: 1px solid #eee;
    box-sizing: border-box;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    color: #222;
    white-space: nowrap;
    margin-top: 0;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .course-type-btn__toggle-desc {
    grid-column: 4;
    position: static !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    border-right: 1px solid #eee;
    border-left: none;
    border-top: none;
    border-bottom: none;
    background: #fff !important;
    color: #c00;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.25px;
    padding: 14px 12px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
    display: flex !important;
    align-items: stretch;
    justify-content: center;
    padding: 0;
    align-self: stretch;
}

.elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 80px;
    margin: 0 !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
    background: #b1181e !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none;
    box-sizing: border-box;
}

@media (max-width: 992px) {
    /* Drop desktop negative-margin overflow so rows stay inside the viewport.
       Match WITHOUT requiring .elementor-shortcode ancestor (location pages may not have it). */
    .cpr-class-childpages.show_class_box_wrap.cpc-rc-table,
    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table,
    .cpr-location-childpages.show_class_box_wrap.cpc-rc-table,
    .elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        gap: 25px !important;
        box-sizing: border-box !important;
        overflow: hidden;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        grid-template-columns: 84px minmax(0, 1fr) 100px !important;
        min-height: 0;
        max-width: 100%;
        width: 100% !important;
        overflow: hidden;
        box-sizing: border-box;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
        grid-column: 1;
        grid-row: 1;
        min-height: 96px;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        grid-column: 2;
        grid-row: 1;
        display: flex !important;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 6px;
        text-align: left;
        min-height: 96px;
        padding: 10px 10px 8px !important;
        border-right: none;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
        display: block;
        min-height: 0;
        width: 100%;
        border-right: none;
        text-align: left;
        padding: 0;
        grid-column: unset;
        grid-row: unset;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        font-size: 13.5px;
        font-weight: 700;
        line-height: 1.3;
        color: #101828;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
        font-size: 14.5px;
        font-weight: 800;
        color: #101828;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .course-type-btn__toggle-desc {
        justify-content: flex-start;
        border-right: none;
        padding: 4px 0 0 !important;
        font-size: 11px;
        letter-spacing: 0.04em;
        grid-column: unset;
        grid-row: unset;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn {
        min-height: 100%;
        font-size: 11px;
        padding: 8px 4px !important;
        line-height: 1.2;
        gap: 4px;
        white-space: normal;
        text-align: center;
        letter-spacing: 0.3px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-btn-arrow {
        width: 16px;
        height: 16px;
        font-size: 10px;
        flex-shrink: 0;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-book-text {
        white-space: nowrap;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        grid-column: 3;
        grid-row: 1;
        border-left: 1px solid #eee;
    }

    /* State list (e.g. /locations/alabama/) — title only; vertically centered */
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        align-items: flex-start;
        justify-content: center;
        text-align: left;
        gap: 0;
        padding: 10px 10px !important;
        min-width: 0;
        overflow: hidden;
    }

    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
        color: #101828;
        text-align: left;
        width: 100%;
        max-width: 100%;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    /* City + venue list — title + inline address */
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 4px;
        padding: 10px 10px 8px !important;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 13.5px;
        font-weight: 700;
        line-height: 1.3;
        color: #101828;
        text-align: center;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        font-size: 11.5px;
        line-height: 1.4;
        color: #475467;
        text-align: center;
        font-weight: 400;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
        font-size: 13.5px;
        font-weight: 800;
        text-align: center;
        color: #101828;
    }
}

@media (max-width: 576px) {
    .elementor-shortcode .course-type-buttons.cpr-class-childpages.show_class_box_wrap.cpc-rc-table {
        gap: 25px !important;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        grid-template-columns: 70px minmax(0, 1fr) 88px !important;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
        min-height: 90px;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        min-height: 90px;
        padding: 8px 8px 6px !important;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        font-size: 13px;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
        font-size: 14px;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .course-type-btn__toggle-desc {
        font-size: 10.5px;
        padding: 3px 0 0 !important;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        min-height: 90px;
    }

    .elementor-shortcode .cpr-class-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn {
        font-size: 10.5px;
        padding: 6px 4px !important;
    }

    /* State list ≤576px */
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        padding: 10px 10px !important;
    }

    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        font-size: 13.5px;
    }

    /* City + venue list ≤576px */
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        padding: 8px 8px !important;
        gap: 3px;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 13px;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        font-size: 11px;
        line-height: 1.35;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
        font-size: 13px;
    }
}

/* Location hierarchy ([wpb_childpages] under /locations/) — desktop only */
@media (min-width: 993px) {
    .elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        grid-template-columns: 180px 1fr 200px !important;
    }

    /* City + venue lists — row height matches location course step (ala-moana): 80px */
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        /* Match location course step rows: min-height 80px + 1px border ≈ 82px outer box */
        min-height: 80px !important;
        height: auto;
        max-height: none;
    }

    /* Full-height thumb within fixed row (reference: .show_class_box_wrap .cpc-rc-course-image max-height 80px) */
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
        grid-column: 1;
        grid-row: 1 / -1;
        align-self: stretch;
        padding: 0 !important;
        min-height: 0;
        max-height: 80px;
        overflow: hidden;
        display: block !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image {
        width: 100%;
        height: 100%;
        min-height: 100%;
        max-height: 80px !important;
        object-fit: cover;
        object-position: center;
        display: block;
        margin: 0;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        align-self: stretch;
        min-height: 0;
        max-height: 80px;
        overflow: hidden;
        padding: 8px 10px !important;
        gap: 1px;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 15px;
        line-height: 1.2;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        font-size: 12px;
        line-height: 1.25;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        grid-column: 3;
        align-self: stretch;
    }

    /* Venue list desktop (e.g. honolulu-main-city) — Book Now label offset */
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop {
        display: inline-block !important;
        margin-top: 4px !important;
        margin-bottom: 0 !important;
    }
}

.elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
    grid-column: 3;
}

.elementor-shortcode .cpr-location-childpages .course-type-btn__toggle-desc,
.elementor-shortcode .cpr-location-childpages .course-type-btn__details-panel {
    display: none !important;
}

.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    padding: 10px 12px !important;
    border-right: 1px solid #eee;
    min-height: 80px;
    box-sizing: border-box;
    grid-column: 2;
}

.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    margin: 0;
    border-right: none;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    color: #222;
}

.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.35;
    color: #444;
    font-weight: 400;
    text-align: center;
}

/* Desktop city + venue — override global padding/line-height so row stays 80px (wins cascade after rules above) */
@media (min-width: 993px) {
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        min-height: 80px !important;
        height: auto;
        max-height: none;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        min-height: 0 !important;
        max-height: 80px;
        overflow: hidden;
        padding: 8px 10px !important;
        gap: 1px;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        line-height: 1.2;
        margin-top: 0;
    }

    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-class-childpages.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        line-height: 1.2;
        margin-top: -18px;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        font-size: 12px;
        line-height: 1.25;
    }

    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        max-height: 80px;
    }
}

.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
    display: block;
    min-height: 0;
    width: 100%;
    border-right: none;
    text-align: left;
    padding: 0;
    font-size: 16px;
    font-weight: 800;
    margin-top: 0;
}

.elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
    grid-column: 2;
}

.elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-price {
    grid-column: 2;
}

/* State location child list (e.g. /locations/hawaii/) — city row titles */
.cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title {
    color: #B1181E;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 600;
    font-style: normal;
}

/* City location child list (e.g. /locations/hawaii/honolulu/) — card title typography */
.cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
.cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
.cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title {
    color: #B1181E;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 600;
    font-style: normal;
    margin-top: 0;
}

@media (min-width: 993px) {
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-title.cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title {
        font-size: 25px;
        margin-top: 0;
    }

    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
    .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc.cpr-card-address,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc.cpr-card-address,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-address,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-inline-desc.cpr-card-address,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc.cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc.cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-inline-desc.cpr-card-address {
        font-size: 15px;
    }
}

.cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
.cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
.elementor-shortcode .cpr-class-childpages.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpc-rc-cell-inline-desc,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn .cpr-card-address,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

@media (min-width: 993px) {
    .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title {
        font-size: 25px;
    }
}

/* State city list (e.g. /locations/hawaii/) — mobile row titles; desktop stays 25px above */
@media (max-width: 767px) {
    .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-family: "Josefin Sans", sans-serif !important;
        font-size: 22px !important;
        font-weight: 600 !important;
        font-style: normal;
        color: #B1181E !important;
    }
}

/* =========================================================
   Location pages — mobile clean layout (state + venue)
   Small image | wide title | Book Now (wide enough for full label)
   No .elementor-shortcode prefix — location pages may not wrap
   the shortcode in an Elementor Shortcode widget.
   ========================================================= */
@media (max-width: 992px) {
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) 120px !important;
        min-height: 84px !important;
        max-width: 100%;
        width: 100% !important;
        overflow: hidden;
        box-sizing: border-box;
        margin: 0 !important;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
        min-height: 84px;
        grid-column: 1;
        grid-row: 1;
        padding: 0;
        border-right: 1px solid #eee;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: cover;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        grid-column: 2;
        grid-row: 1;
        min-height: 84px;
        min-width: 0;
        padding: 10px 12px !important;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
        gap: 2px;
        border-right: none;
        overflow: hidden;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        display: block;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 0;
        margin: 0;
        border: none;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
        color: #101828;
        text-align: left;
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: none;
        grid-column: unset;
        grid-row: unset;
    }

    /* State city titles — theme Josefin (beats button inherit + venue mobile weight) */
    .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-class-childpages.cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--state.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row .cpc-rc-cell-title {
        font-family: "Josefin Sans", sans-serif;
        font-weight: 600;
        font-style: normal;
        color: #B1181E;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        grid-column: 3;
        grid-row: 1;
        min-height: 84px;
        border-left: 1px solid #eee;
        padding: 0;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn {
        width: 100%;
        max-width: 100%;
        min-height: 100%;
        padding: 8px 6px !important;
        font-size: 11.5px;
        letter-spacing: 0.3px;
        gap: 6px;
        line-height: 1.2;
        white-space: nowrap;
        text-align: center;
        box-sizing: border-box;
        overflow: hidden;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-book-text__desktop {
        white-space: nowrap;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-btn-arrow,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn .cpc-btn-arrow {
        width: 16px;
        height: 16px;
        font-size: 10px;
        flex-shrink: 0;
    }

    /* City + venue mode — keep title + inline address stacked & centered (tablet; city stacks at ≤767px) */
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        align-items: center;
        text-align: center;
        gap: 4px;
        padding: 10px 10px !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 14px;
        text-align: center;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        display: block;
        width: 100%;
        font-size: 11.5px;
        line-height: 1.4;
        color: #475467;
        text-align: center;
        font-weight: 400;
        margin: 0;
        padding: 0;
    }

    /* Venue list tablet (768–992; __desktop visible) — Book Now label offset */
    @media (min-width: 768px) {
        .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
        .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
        .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
        .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop {
            display: inline-block !important;
            margin-top: 4px !important;
            margin-bottom: 0 !important;
        }
    }
}

@media (max-width: 576px) {
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        grid-template-columns: 64px minmax(0, 1fr) 108px !important;
        min-height: 76px !important;
    }

    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        min-height: 76px;
    }

    .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        padding: 8px 10px !important;
    }

    .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 14px;
    }

    .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn,
    .elementor-shortcode .cpr-location-childpages.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn {
        font-size: 11px;
        padding: 6px 4px !important;
        gap: 5px;
    }

    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-title {
        font-size: 13px;
    }

    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-inline-desc {
        font-size: 11px;
    }
}

/* City card extras — desktop + tablet keep 3-column row layout */
@media (min-width: 768px) {
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-red-line,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-red-line {
        display: none !important;
    }
}

/* City pages (e.g. /locations/hawaii/honolulu/) — mobile detail card (mockup) */
@media (max-width: 767px) {
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table {
        --cpr-red: #B1181E;
        --cpr-red-dark: #8E1218;
        gap: 25px !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row.course-type-btn--class-child {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto auto;
        min-height: 0 !important;
        max-width: 100%;
        width: 100% !important;
        overflow: hidden;
        box-sizing: border-box;
        margin: 0 !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        border-radius: 0 !important;
        box-shadow: 0 3px 12px rgba(16, 24, 40, 0.08) !important;
        background: #fff !important;
        transition: box-shadow 0.2s ease;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row:hover,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row:hover {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell {
        min-height: 0;
        border-right: none;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-image-wrap,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-image-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
        position: relative;
        width: 100%;
        height: 160px;
        min-height: 160px;
        max-height: 160px;
        padding: 0;
        border-right: none;
        border-bottom: none;
        aspect-ratio: unset;
        overflow: hidden;
        display: block !important;
        background: #1a1a1a;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-image-wrap .cpc-rc-course-image,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-image-wrap .cpc-rc-course-image {
        display: block;
        width: 100%;
        height: 160px;
        min-height: 160px;
        max-height: 160px;
        object-fit: cover;
        object-position: center;
        margin: 0;
        border-radius: 0;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-red-line,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-red-line {
        grid-column: 1 / -1;
        grid-row: 2;
        display: block;
        width: 100%;
        height: 3px;
        min-height: 3px;
        margin: 0;
        padding: 0;
        background: var(--cpr-red);
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-body,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-main.cpr-card-body,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-body,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-main.cpr-card-body {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        min-height: 0;
        max-height: none;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 4px;
        padding: 14px 16px !important;
        border-right: none;
        overflow: visible;
        background: #fff;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-title,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-title.cpr-card-title {
        font-family: "Josefin Sans", sans-serif;
        font-size: 22px !important;
        font-weight: 600;
        line-height: 1.3;
        color: #B1181E;
        text-align: center;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-address,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-inline-desc.cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-address,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-inline-desc.cpr-card-address {
        font-family: "Josefin Sans", sans-serif;
        display: block;
        width: 100%;
        font-size: 14px !important;
        line-height: 1.4;
        color: #6b6b6b;
        text-align: center;
        font-weight: 400;
        margin: 0;
        padding: 0;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-body .cpc-rc-cell-price,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpr-card-body .cpc-rc-cell-price {
        display: none;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action {
        grid-column: 1 / -1;
        grid-row: 4;
        width: 100%;
        min-height: 0;
        max-height: none;
        border: none;
        padding: 0;
        margin: 0;
        background: transparent;
        display: block !important;
    }

    /* Solid red Book Now — single-line desktop label + arrow (not BOOK/NOW stack) */
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn {
        width: 100%;
        max-width: 100%;
        height: 46px;
        min-height: 46px;
        margin: 0 !important;
        padding: 0 16px !important;
        border: none !important;
        border-radius: 0 !important;
        background: var(--cpr-red) !important;
        color: #fff !important;
        display: inline-flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.6px;
        line-height: 1;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        box-sizing: border-box;
        transition: background-color 0.2s ease;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn:hover,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn:focus,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn:hover,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn:focus {
        background: var(--cpr-red-dark) !important;
        color: #fff !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text__desktop,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text__desktop,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text__desktop {
        display: inline-block !important;
        color: #fff;
        font-weight: inherit;
        margin: 0;
        margin-top: 4px !important;
        margin-bottom: 0 !important;
        white-space: nowrap;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text__mobile,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text__mobile,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text__mobile {
        display: none !important;
    }

    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-btn-arrow,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-btn-arrow,
    .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-btn-arrow,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-btn-arrow,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-btn-arrow,
    .elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-btn-arrow {
        width: 16px;
        height: 16px;
        min-width: 16px;
        border: 2px solid #fff;
        border-radius: 50%;
        font-size: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: #fff;
        background: transparent;
    }
}

/* Venue course rows — brand red Book Now (desktop + tablet; no Elementor ancestor required) */
.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn,
.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now {
    background: #B1181E !important;
    color: #fff !important;
}

.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn:hover,
.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn:focus,
.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now:hover,
.cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now:focus,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn:hover,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn:focus,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now:hover,
.elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now:focus {
    background: #8E1218 !important;
    color: #fff !important;
}

/* Location venue rows (e.g. /locations/hawaii/honolulu-main-city/) — center title on mobile */
@media (max-width: 767px) {
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        align-items: center;
        text-align: center;
    }

    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main .cpc-rc-cell-title {
        display: block;
        width: 100%;
        text-align: center;
    }

    /* Venue list phone (≤767; stacked BOOK/NOW via __mobile) — label offset */
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile {
        margin-top: 4px !important;
        margin-bottom: 0 !important;
    }
}

/* Venue Book Now label — wins over cpc-mobile-book-now.css margin:0 / margin-top:7px (__desktop ≥768 only) */
@media (min-width: 768px) {
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__desktop {
        display: inline-block !important;
        margin-top: 4px !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile,
    .elementor-shortcode .cpr-location-childpages--venue.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now .cpc-book-text.cpc-book-text__mobile {
        margin-top: 4px !important;
        margin-bottom: 0 !important;
    }
}

/* City venue list (e.g. /locations/hawaii/honolulu-main-city/) — city-card Book Now label; __desktop at all breakpoints */
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text.cpc-book-text__desktop,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text.cpc-book-text__desktop,
.cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text.cpc-book-text__desktop,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpr-book-btn .cpc-book-text.cpc-book-text__desktop,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now--city-card .cpc-book-text.cpc-book-text__desktop,
.elementor-shortcode .cpr-location-childpages--city.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpr-location-card.cpc-rc-row .cpc-rc-cell-action .cu_supppot_btn.cpr-book-btn .cpc-book-text.cpc-book-text__desktop {
    display: inline-block !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

/* Class hub offerings (/classes/acls/, etc.) — mobile row layout (book label: .cpc-mobile-book-now) */
@media (max-width: 767px) {
    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table {
        gap: 12px !important;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) 120px !important;
        min-height: 84px !important;
        max-width: 100%;
        width: 100% !important;
        overflow: hidden;
        box-sizing: border-box;
        margin: 0 !important;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format {
        min-height: 84px;
        grid-column: 1;
        grid-row: 1;
        padding: 0;
        border-right: 1px solid #eee;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format .cpc-rc-course-image {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: cover;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main {
        grid-column: 2;
        grid-row: 1;
        min-height: 84px;
        min-width: 0;
        padding: 10px 12px !important;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
        gap: 2px;
        border-right: none;
        overflow: hidden;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        grid-column: 3;
        grid-row: 1;
        min-height: 84px;
        border-left: 1px solid #eee;
        padding: 0;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now,
    .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now,
    .elementor-shortcode .cpr-location-childpages:not(.cpr-location-childpages--city).show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action .cpc-mobile-book-now {
        width: 100%;
        max-width: 100%;
        min-height: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 576px) {
    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.course-type-btn--location-card.cpc-rc-row.course-type-btn--class-child {
        grid-template-columns: 64px minmax(0, 1fr) 108px !important;
        min-height: 76px !important;
    }

    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-format,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-main,
    .elementor-shortcode .cpr-class-childpages--offerings.show_class_box_wrap.cpc-rc-table > .course-type-btn.cpc-rc-row .cpc-rc-cell-action {
        min-height: 76px;
    }

}