/* Catalog and plan-library route styles */

.catalog-page .container > .row:first-child { /* compact catalog header row */
    margin-bottom: 0.75rem; /* reduce top spacing for above-the-fold tiles */
} /* end compact catalog header */

.catalog-group > .card-header { /* catalog group header only (not nested course cards) */
    background-color: var(--surface-bg); /* themed header background */
    border-bottom: 1px solid rgba(128, 128, 128, 0.2); /* subtle separator */
    cursor: pointer; /* indicate collapsible group header */
} /* end catalog group header */

.catalog-group > .card-body { /* catalog group body only (not course tile .card-body) */
    padding-top: 0.75rem; /* tighter top spacing */
    padding-bottom: 0.75rem; /* tighter bottom spacing */
} /* end catalog group body */

.catalog-group .course-grid { /* group grid spacing */
    row-gap: 1.25rem; /* tighter tile rows to keep first row above fold */
} /* end group grid spacing */

/* Catalog groups: three-way cycle uses subscription plans comparison column header colors */
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-header {
    background-color: var(--catalog-group-tier1-header-bg);
    color: var(--catalog-group-tier1-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-header .catalog-category-title,
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier1-header-fg) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-header .catalog-category-description,
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-header .catalog-category-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 1) > .card-body {
    background-color: var(--catalog-group-tier1-body-bg);
}

.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-header {
    background-color: var(--catalog-group-tier2-header-bg);
    color: var(--catalog-group-tier2-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-header .catalog-category-title,
.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier2-header-fg) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-header .catalog-category-description,
.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-header .catalog-category-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 2) > .card-body {
    background-color: var(--catalog-group-tier2-body-bg);
}

.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-header {
    background-color: var(--catalog-group-tier3-header-bg);
    color: var(--catalog-group-tier3-header-fg);
    border-bottom: 1px solid rgba(47, 47, 47, 0.12);
}
.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-header .catalog-category-title,
.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier3-header-fg) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-header .catalog-category-description,
.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-header .catalog-category-description * {
    color: rgba(47, 47, 47, 0.72) !important;
}
.catalog-groups > .catalog-group:nth-child(3n + 3) > .card-body {
    background-color: var(--catalog-group-tier3-body-bg);
}

/* Course tiles only (not the group section card): white in light mode; default themed card in dark */
.catalog-groups .catalog-group .course-grid .card {
    background-color: #ffffff;
    color: var(--body-text);
}

[data-theme="dark"] .catalog-groups .catalog-group .course-grid .card {
    background-color: var(--surface-bg);
    color: var(--surface-text);
}

/* All subscription plans (/subscriptions/all-plans): same tier cycle as course catalog */
.all-plans-group > .card-header { /* group header only (not nested plan cards) */
    border-bottom: 1px solid rgba(128, 128, 128, 0.2); /* subtle separator when untinted */
} /* end all-plans group header base */

.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header {
    background-color: var(--catalog-group-tier1-header-bg);
    color: var(--catalog-group-tier1-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .catalog-category-title,
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier1-header-fg) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .catalog-category-description,
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .catalog-category-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-body {
    background-color: var(--catalog-group-tier1-body-bg);
}

.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header {
    background-color: var(--catalog-group-tier2-header-bg);
    color: var(--catalog-group-tier2-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .catalog-category-title,
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier2-header-fg) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .catalog-category-description,
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .catalog-category-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-body {
    background-color: var(--catalog-group-tier2-body-bg);
}

.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header {
    background-color: var(--catalog-group-tier3-header-bg);
    color: var(--catalog-group-tier3-header-fg);
    border-bottom: 1px solid rgba(47, 47, 47, 0.12);
}
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .catalog-category-title,
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .catalog-category-title * {
    color: var(--catalog-group-tier3-header-fg) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .catalog-category-description,
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .catalog-category-description * {
    color: rgba(47, 47, 47, 0.72) !important;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-body {
    background-color: var(--catalog-group-tier3-body-bg);
}

/* All-plans group header: Collapse/Expand legible on tier header colors (outline-secondary is low-contrast here) */
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .all-plans-group-toggle-btn,
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .all-plans-group-toggle-btn {
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: rgba(255, 255, 255, 0.92);
    --bs-btn-hover-color: #0c1268;
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-active-color: #0c1268;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #ffffff;
    --bs-btn-focus-shadow-rgb: 255, 255, 255;
    background-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.92);
}
.all-plans-groups > .all-plans-group:nth-child(3n + 1) > .card-header .all-plans-group-toggle-btn:hover,
.all-plans-groups > .all-plans-group:nth-child(3n + 2) > .card-header .all-plans-group-toggle-btn:hover {
    background-color: #ffffff;
    color: #0c1268;
    border-color: #ffffff;
}
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .all-plans-group-toggle-btn {
    --bs-btn-color: #2f2f2f;
    --bs-btn-border-color: rgba(47, 47, 47, 0.55);
    --bs-btn-hover-color: #111827;
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #2f2f2f;
    --bs-btn-active-color: #111827;
    --bs-btn-active-bg: #f3f4f6;
    --bs-btn-active-border-color: #2f2f2f;
    --bs-btn-focus-shadow-rgb: 47, 47, 47;
    background-color: rgba(255, 255, 255, 0.55);
    color: #2f2f2f;
    border-color: rgba(47, 47, 47, 0.5);
}
.all-plans-groups > .all-plans-group:nth-child(3n + 3) > .card-header .all-plans-group-toggle-btn:hover {
    background-color: #ffffff;
    color: #111827;
    border-color: #2f2f2f;
}

/* Subscription plan detail (/subscriptions/plan/<id>): course library groups match courses catalog tier colors */
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header {
    background-color: var(--catalog-group-tier1-header-bg);
    color: var(--catalog-group-tier1-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .library-group-title,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .library-group-title * {
    color: var(--catalog-group-tier1-header-fg) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .library-group-description,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .library-group-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-body {
    background-color: var(--catalog-group-tier1-body-bg);
}

.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header {
    background-color: var(--catalog-group-tier2-header-bg);
    color: var(--catalog-group-tier2-header-fg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .library-group-title,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .library-group-title * {
    color: var(--catalog-group-tier2-header-fg) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .library-group-description,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .library-group-description * {
    color: rgba(255, 255, 255, 0.88) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-body {
    background-color: var(--catalog-group-tier2-body-bg);
}

.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header {
    background-color: var(--catalog-group-tier3-header-bg);
    color: var(--catalog-group-tier3-header-fg);
    border-bottom: 1px solid rgba(47, 47, 47, 0.12);
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .library-group-title,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .library-group-title * {
    color: var(--catalog-group-tier3-header-fg) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .library-group-description,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .library-group-description * {
    color: rgba(47, 47, 47, 0.72) !important;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-body {
    background-color: var(--catalog-group-tier3-body-bg);
}

.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .plan-detail-library-group-toggle-btn,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .plan-detail-library-group-toggle-btn {
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: rgba(255, 255, 255, 0.92);
    --bs-btn-hover-color: #0c1268;
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-active-color: #0c1268;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #ffffff;
    --bs-btn-focus-shadow-rgb: 255, 255, 255;
    background-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.92);
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 1) > .card-header .plan-detail-library-group-toggle-btn:hover,
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 2) > .card-header .plan-detail-library-group-toggle-btn:hover {
    background-color: #ffffff;
    color: #0c1268;
    border-color: #ffffff;
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .plan-detail-library-group-toggle-btn {
    --bs-btn-color: #2f2f2f;
    --bs-btn-border-color: rgba(47, 47, 47, 0.55);
    --bs-btn-hover-color: #111827;
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #2f2f2f;
    --bs-btn-active-color: #111827;
    --bs-btn-active-bg: #f3f4f6;
    --bs-btn-active-border-color: #2f2f2f;
    --bs-btn-focus-shadow-rgb: 47, 47, 47;
    background-color: rgba(255, 255, 255, 0.55);
    color: #2f2f2f;
    border-color: rgba(47, 47, 47, 0.5);
}
.plan-detail-library-groups > .plan-detail-library-group:nth-child(3n + 3) > .card-header .plan-detail-library-group-toggle-btn:hover {
    background-color: #ffffff;
    color: #111827;
    border-color: #2f2f2f;
}

.plan-detail-library-groups .plan-detail-library-course-list .list-group-item {
    background-color: #ffffff;
    color: var(--body-text);
}

[data-theme="dark"] .plan-detail-library-groups .plan-detail-library-course-list .list-group-item {
    background-color: var(--surface-bg);
    color: var(--surface-text);
}

/* Plan tiles only: white in light mode; themed surface in dark */
.all-plans-groups .all-plans-group .all-plans-group-body .card {
    background-color: #ffffff;
    color: var(--body-text);
}

[data-theme="dark"] .all-plans-groups .all-plans-group .all-plans-group-body .card {
    background-color: var(--surface-bg);
    color: var(--surface-text);
}

/* /subscriptions/plans-comparison: tier-brand column colors (admin: Tier brand colors) */
.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-th-tier1 {
    background-color: var(--catalog-group-tier1-header-bg);
    color: var(--catalog-group-tier1-header-fg);
    vertical-align: middle;
}

.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-th-tier2 {
    background-color: var(--catalog-group-tier2-header-bg);
    color: var(--catalog-group-tier2-header-fg);
    vertical-align: middle;
}

.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-th-tier3 {
    background-color: var(--catalog-group-tier3-header-bg);
    color: var(--catalog-group-tier3-header-fg);
    vertical-align: middle;
}

.plans-comparison-page .plans-comparison-corner {
    vertical-align: middle;
    min-width: 8rem;
}

.plans-comparison-page .plans-comparison-label {
    font-weight: 600;
    max-width: 12rem;
}

.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-cell-tier1 {
    background-color: var(--catalog-group-tier1-body-bg);
}

.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-cell-tier2 {
    background-color: var(--catalog-group-tier2-body-bg);
}

.plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-cell-tier3 {
    background-color: var(--catalog-group-tier3-body-bg);
}

/* Stitch comparison: title bar contrast, typography ladder (Bootstrap table uses inset box-shadow for fill) */
.plans-comparison-page.plans-comparison--style-stitch.plans-comparison-page--modern .plans-comparison-table-shell-header {
    background-color: #e8eef3;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch.plans-comparison-page--modern .plans-comparison-table-shell-header {
    background-color: rgba(30, 41, 59, 0.85);
    border-bottom-color: rgba(148, 163, 184, 0.2);
}

.plans-comparison-page.plans-comparison--style-stitch.plans-comparison-page--modern .plans-comparison-table-shell-title {
    font-family: Newsreader, Georgia, serif;
    font-weight: 600;
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #0f172a;
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch.plans-comparison-page--modern .plans-comparison-table-shell-title {
    color: #f1f5f9;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-color: var(--body-text);
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > :not(caption) > * > * {
    box-shadow: none;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead th {
    border-bottom: 1px solid rgba(15, 23, 42, 0.12);
    vertical-align: middle;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-corner,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier1,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier2,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier3 {
    background-color: #f1f5f9;
    color: #475569;
    font-family: Manrope, system-ui, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-corner span,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier1 span,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier2 span,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier3 span {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    line-height: inherit;
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-corner,
[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier1,
[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier2,
[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier3 {
    background-color: #1e293b;
    color: #cbd5e1;
    border-bottom-color: rgba(148, 163, 184, 0.22);
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-popular {
    background-color: #dbeafe;
    color: #0f172a;
    box-shadow: inset 0 -3px 0 0 #1c5d99;
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-popular {
    background-color: rgba(28, 93, 153, 0.35);
    color: #f8fafc;
    box-shadow: inset 0 -3px 0 0 #7cb3eb;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label,
.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
    background-color: #ffffff;
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label,
[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
    background-color: rgba(15, 23, 42, 0.55);
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label {
    font-family: Manrope, system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.45;
    color: #334155;
    max-width: 14rem;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label span {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label {
    color: #e2e8f0;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
    font-family: Manrope, system-ui, sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.55;
    color: var(--body-text);
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell span {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell-popular {
    background-color: rgba(28, 93, 153, 0.08);
    box-shadow: inset 0 0 0 1px rgba(28, 93, 153, 0.22);
}

[data-theme="dark"] .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell-popular {
    background-color: rgba(28, 93, 153, 0.22);
    box-shadow: inset 0 0 0 1px rgba(124, 179, 235, 0.32);
}

/* Stitch-inspired comparison layout (Modern Course Plans) */
.plans-comparison-page--modern .plans-comparison-hero-title {
    font-family: Newsreader, Georgia, serif;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--body-text);
}

.plans-comparison-page--modern .plans-comparison-table-shell {
    border-radius: 0.65rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: var(--surface-bg);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

[data-theme="dark"] .plans-comparison-page--modern .plans-comparison-table-shell {
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.plans-comparison-page--modern .plans-comparison-table-shell-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: var(--body-bg);
}

[data-theme="dark"] .plans-comparison-page--modern .plans-comparison-table-shell-header {
    border-bottom-color: rgba(148, 163, 184, 0.15);
    background: rgba(15, 23, 42, 0.45);
}

.plans-comparison-page--modern .plans-comparison-table-shell-title {
    font-family: Newsreader, Georgia, serif;
    font-weight: 600;
    font-size: 1.35rem;
    color: var(--body-text);
}

.plans-comparison-page--modern.plans-comparison--style-tier_brand .plans-comparison-th-popular {
    box-shadow: inset 0 -3px 0 0 #1c5d99;
}

.plans-comparison-page--modern.plans-comparison--style-tier_brand .plans-comparison-cell-popular {
    box-shadow: inset 0 0 0 1px rgba(28, 93, 153, 0.28);
    background-image: linear-gradient(
        180deg,
        rgba(28, 93, 153, 0.1) 0%,
        rgba(28, 93, 153, 0.04) 100%
    );
}

[data-theme="dark"] .plans-comparison-page--modern.plans-comparison--style-tier_brand .plans-comparison-cell-popular {
    background-image: linear-gradient(
        180deg,
        rgba(28, 93, 153, 0.24) 0%,
        rgba(28, 93, 153, 0.12) 100%
    );
    box-shadow: inset 0 0 0 1px rgba(124, 179, 235, 0.35);
}

/* /subscriptions/plans-comparison: phones - shrink table type and padding to avoid horizontal scroll */
@media (max-width: 575.98px) {
    .plans-comparison-page .plans-comparison-corner {
        min-width: 0;
    }

    .plans-comparison-page .plans-comparison-label {
        max-width: none;
    }

    .plans-comparison-page .plans-comparison-table {
        table-layout: fixed;
        width: 100%;
    }

    /* Let fixed columns respect width % instead of content min-intrinsic width */
    .plans-comparison-page .plans-comparison-table th,
    .plans-comparison-page .plans-comparison-table td {
        min-width: 0;
    }

    .plans-comparison-page .plans-comparison-table > :not(caption) > * > * {
        padding: 0.3rem 0.18rem;
    }

    .plans-comparison-page .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .plans-comparison-page .plans-comparison-table thead .plans-comparison-corner,
    .plans-comparison-page .plans-comparison-table > tbody > tr > th.plans-comparison-label {
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    /* Must match or beat .plans-comparison--style-stitch base rules (3 class selectors) */
    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-corner {
        font-size: 0.4375rem;
        letter-spacing: 0.03em;
        line-height: 1.15;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label {
        max-width: none;
        font-size: 0.5rem;
        line-height: 1.25;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label span,
    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label p,
    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label strong {
        font-size: inherit;
        line-height: inherit;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > th.plans-comparison-label p {
        margin-bottom: 0;
    }

    .plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-table thead .plans-comparison-corner {
        font-size: 0.4375rem;
        letter-spacing: 0.03em;
        line-height: 1.15;
    }

    .plans-comparison-page.plans-comparison--style-tier_brand .plans-comparison-table > tbody > tr > th.plans-comparison-label {
        font-size: 0.5rem;
        line-height: 1.25;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead th {
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier1,
    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier2,
    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table thead .plans-comparison-th-tier3 {
        font-size: 0.5rem;
        letter-spacing: 0.04em;
        line-height: 1.15;
    }

    .plans-comparison-page.plans-comparison--style-stitch .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
        font-size: 0.625rem;
        line-height: 1.3;
    }

    .plans-comparison-page .plans-comparison-table thead th.plans-comparison-th-tier1,
    .plans-comparison-page .plans-comparison-table thead th.plans-comparison-th-tier2,
    .plans-comparison-page .plans-comparison-table thead th.plans-comparison-th-tier3 {
        font-size: 0.5rem;
        line-height: 1.15;
    }

    .plans-comparison-page:not(.plans-comparison--style-stitch) .plans-comparison-table > tbody > tr > td.plans-comparison-cell {
        font-size: 0.625rem;
        line-height: 1.3;
    }

    .plans-comparison-page--modern .plans-comparison-table-shell-header {
        padding: 0.65rem 0.55rem;
    }

    .plans-comparison-page--modern .plans-comparison-table-shell-title,
    .plans-comparison-page.plans-comparison--style-stitch.plans-comparison-page--modern .plans-comparison-table-shell-title {
        font-size: 1.05rem;
    }

    .plans-comparison-page .plans-comparison-table .subscriptions-browse-bullet-icon {
        font-size: 0.65rem;
    }

    .plans-comparison-page .plans-comparison-table .subscriptions-browse-bullet-text,
    .plans-comparison-page .plans-comparison-table .subscriptions-browse-bullet-text p {
        font-size: inherit;
    }
}

.plans-comparison-page--modern .plans-comparison-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    color: #004579;
    background-color: #ffffff;
    border: 1px solid rgba(0, 69, 121, 0.38);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    text-decoration: none;
    cursor: pointer;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
}

.plans-comparison-page--modern .plans-comparison-back-btn:hover,
.plans-comparison-page--modern .plans-comparison-back-btn:focus {
    color: #002a4a;
    background-color: #d2e4ff;
    border-color: #1c5d99;
    box-shadow: 0 4px 12px rgba(28, 93, 153, 0.15);
    text-decoration: none;
}

.plans-comparison-page--modern .plans-comparison-back-btn:focus-visible {
    outline: 2px solid #1c5d99;
    outline-offset: 2px;
}

[data-theme="dark"] .plans-comparison-page--modern .plans-comparison-back-btn {
    color: #d2e4ff;
    background-color: rgba(30, 41, 59, 0.65);
    border-color: rgba(124, 179, 235, 0.42);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .plans-comparison-page--modern .plans-comparison-back-btn:hover,
[data-theme="dark"] .plans-comparison-page--modern .plans-comparison-back-btn:focus {
    color: #ffffff;
    background-color: rgba(28, 93, 153, 0.4);
    border-color: rgba(124, 179, 235, 0.58);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

/* Neighboring CTAs: Stitch Work Mega Menu - Light (Dual CTAs) tokens from project 18089483811850928215 */
.plans-comparison-cta-area {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.plans-comparison-cta-promo {
    box-sizing: border-box;
}

.plans-comparison-cta-promo--card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 1.5rem 1.25rem 1.35rem;
    min-height: 0;
    border-radius: 0.75rem;
    overflow: hidden;
}

.plans-comparison-cta-card-icon {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    font-size: 1.875rem;
    line-height: 1;
    opacity: 0.1;
    pointer-events: none;
}

.plans-comparison-cta-card-text {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    min-width: 0;
    padding-right: 2rem;
    margin-bottom: 1rem;
    text-align: left;
}

.plans-comparison-cta-card-heading {
    margin: 0 0 0.35rem;
    font-family: Newsreader, Georgia, serif;
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.25;
    font-style: normal;
}

.plans-comparison-cta-card-sub {
    margin: 0;
    font-family: Manrope, system-ui, sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
}

.plans-comparison-cta-promo--executive {
    background: #f6f3f2;
    border: 1px solid rgba(193, 199, 209, 0.3);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.plans-comparison-cta-promo--executive .plans-comparison-cta-card-icon {
    color: #1c5d99;
    opacity: 0.12;
}

.plans-comparison-cta-promo--executive .plans-comparison-cta-card-heading {
    color: #1b1c1c;
}

.plans-comparison-cta-promo--executive .plans-comparison-cta-card-sub {
    color: #424750;
}

.plans-comparison-cta-promo--conversation {
    background: #1c5d99;
    border: 1px solid #004579;
    box-shadow: 0 4px 14px rgba(0, 69, 121, 0.18);
}

.plans-comparison-cta-promo--conversation .plans-comparison-cta-card-icon {
    color: #ffffff;
    opacity: 0.14;
}

.plans-comparison-cta-promo--conversation .plans-comparison-cta-card-heading {
    color: #ffffff;
    margin-bottom: 0;
}

.plans-comparison-cta-promo--card .plans-comparison-cta-promo-btn {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
}

.plans-comparison-cta-promo-btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: 0 0 auto;
    padding: 0.58rem 1.15rem;
    border-radius: 0.5rem;
    font-family: Manrope, system-ui, sans-serif;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        filter 0.15s ease,
        transform 0.15s ease,
        background-color 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.plans-comparison-cta-promo--executive .plans-comparison-cta-promo-btn {
    color: #ffffff;
    background: #ee6023;
    border: 1px solid rgba(217, 84, 24, 0.95);
    box-shadow: 0 3px 12px rgba(238, 96, 35, 0.32);
}

.plans-comparison-cta-promo--executive .plans-comparison-cta-promo-btn:hover,
.plans-comparison-cta-promo--executive .plans-comparison-cta-promo-btn:focus {
    color: #ffffff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn {
    color: #1c5d99;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn:hover,
.plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn:focus {
    color: #1c5d99;
    background: #fbf9f8;
    transform: translateY(-1px);
}

[data-theme="dark"] .plans-comparison-cta-promo--executive {
    background: #1a1f2e;
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .plans-comparison-cta-promo--executive .plans-comparison-cta-card-icon {
    color: #f8fafc;
    opacity: 0.08;
}

[data-theme="dark"] .plans-comparison-cta-promo--executive .plans-comparison-cta-card-heading {
    color: #f8fafc;
}

[data-theme="dark"] .plans-comparison-cta-promo--executive .plans-comparison-cta-card-sub {
    color: #94a3b8;
}

[data-theme="dark"] .plans-comparison-cta-promo--conversation {
    background: #1c5d99;
    border: 1px solid #004579;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .plans-comparison-cta-promo--conversation .plans-comparison-cta-card-heading {
    color: #ffffff;
}

[data-theme="dark"] .plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn {
    color: rgba(241, 245, 249, 0.92);
    background: transparent;
    border: 1px solid rgba(148, 163, 184, 0.45);
    box-shadow: none;
}

[data-theme="dark"] .plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn:hover,
[data-theme="dark"] .plans-comparison-cta-promo--conversation .plans-comparison-cta-promo-btn:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(186, 210, 245, 0.5);
}

@media (max-width: 575.98px) {
    .plans-comparison-cta-promo--card {
        padding: 1.25rem 1rem 1.2rem;
    }

    .plans-comparison-cta-promo--card .plans-comparison-cta-card-icon {
        font-size: 1.625rem;
        opacity: 0.09;
    }

    .plans-comparison-cta-promo--card .plans-comparison-cta-card-text {
        padding-right: 1.75rem;
    }
}

.plans-comparison-bottom-title {
    font-family: Newsreader, Georgia, serif;
    font-weight: 600;
    color: var(--body-text);
}

.plans-comparison-cta-primary {
    background: #ee6023;
    border: 1px solid #d95418;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.72rem;
    padding: 0.65rem 1.1rem;
    border-radius: 0.5rem;
}

.plans-comparison-cta-primary:hover,
.plans-comparison-cta-primary:focus {
    color: #ffffff;
    filter: brightness(1.06);
}

.plans-comparison-cta-secondary {
    border-radius: 0.5rem;
    font-weight: 600;
    border: 1px solid rgba(0, 69, 121, 0.42);
    color: #004579;
    background: transparent;
    padding: 0.65rem 1.1rem;
}

.plans-comparison-cta-secondary:hover,
.plans-comparison-cta-secondary:focus {
    background: #d2e4ff;
    border-color: #1c5d99;
    color: #002a4a;
}

[data-theme="dark"] .plans-comparison-cta-secondary {
    border-color: rgba(124, 179, 235, 0.45);
    color: #d2e4ff;
}

[data-theme="dark"] .plans-comparison-cta-secondary:hover,
[data-theme="dark"] .plans-comparison-cta-secondary:focus {
    background: rgba(28, 93, 153, 0.35);
    color: #ffffff;
}

