
/* v4.5 Theme typography inheritance
   Font family and heading typography are intentionally inherited from the active Temforce theme/plugin.
   This plugin only controls catalog layout, spacing, color accents, cards, and slide-out behavior. */

.tf-academy-catalog{--tf-blue:#2A41F1;--tf-dark:#060b2d;--tf-muted:#696B7D;--tf-card:#eef6fa;max-width:1340px;margin:0 auto;padding:44px 20px 84px;color:var(--tf-dark)}
.tf-academy-catalog,.tf-academy-catalog button,.tf-academy-catalog input,.tf-academy-catalog select,.tf-academy-catalog textarea{font-family:inherit}
.tf-catalog-section{padding:42px 0 62px;border-bottom:1px solid rgba(6,11,45,.12)}.tf-catalog-heading{text-align:center;margin:0 0 44px}.tf-catalog-heading em{color:var(--tf-blue);font-style:italic}.tf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tf-card-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tf-course-card{appearance:none;border:1px solid rgba(6,11,45,.06);background:var(--tf-card);border-radius:22px;min-height:330px;padding:24px 22px;text-align:center;cursor:pointer;box-shadow:0 10px 28px rgba(6,11,45,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;color:var(--tf-dark);width:100%;display:flex;flex-direction:column;align-items:center}.tf-course-card:hover,.tf-course-card:focus{transform:translateY(-7px);box-shadow:0 26px 58px rgba(42,65,241,.16);border-color:rgba(42,65,241,.34);outline:none}.tf-course-badge{display:inline-flex;background:rgba(42,65,241,.08);color:var(--tf-blue);padding:7px 13px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.02em}.tf-card-image{height:128px;width:180px;margin:16px auto 14px;display:grid;place-items:center}.tf-card-image img{max-height:128px;max-width:180px;width:auto;object-fit:contain;transition:transform .25s ease}.tf-course-card:hover .tf-card-image img{transform:scale(1.06) rotate(-1deg)}.tf-course-card h2{margin:5px 0 8px}.tf-course-card p{margin:0 auto 18px;font-size:15px;line-height:1.45;color:var(--tf-muted);max-width:310px}.tf-card-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.tf-card-price{color:var(--tf-dark);font-weight:900;background:#fff;border-radius:999px;padding:8px 12px;box-shadow:0 6px 16px rgba(6,11,45,.06)}.tf-card-link{color:var(--tf-blue);font-weight:900;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.tf-slideout-overlay{position:fixed;inset:0;background:rgba(6,11,45,.48);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:999998}.tf-slideout{position:fixed;top:0;right:0;width:min(590px,94vw);height:100vh;background:#fff;box-shadow:-30px 0 70px rgba(6,11,45,.24);transform:translateX(104%);transition:transform .28s ease;z-index:999999;overflow-y:auto}body.tf-slideout-open{overflow:hidden}body.tf-slideout-open .tf-slideout-overlay{opacity:1;pointer-events:auto}body.tf-slideout-open .tf-slideout{transform:translateX(0)}.tf-slideout-close{position:absolute;top:20px;right:20px;border:0;background:#f2f5fb;color:var(--tf-dark);width:42px;height:42px;border-radius:50%;font-size:28px;cursor:pointer;line-height:1;z-index:2}.tf-slideout-inner{padding:34px 42px 42px}.tf-slideout-hero{background:linear-gradient(135deg,#eef6fa,#f5f8ff);border-radius:24px;min-height:190px;display:grid;place-items:center;margin:30px 0 28px;overflow:hidden}.tf-slideout-hero img{max-height:190px;max-width:84%;object-fit:contain}.tf-slideout-kicker{color:var(--tf-blue);font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.09em;margin-bottom:12px}.tf-slideout h2{margin:0 0 14px}.tf-panel-subtitle{color:var(--tf-muted);font-size:18px;line-height:1.55;margin:0 0 16px}.tf-price-pill{display:inline-flex;background:var(--tf-blue);color:#fff;padding:11px 16px;border-radius:999px;font-weight:900;margin:0 0 14px}.tf-panel-block{border-top:1px solid rgba(6,11,45,.12);padding:22px 0}.tf-panel-block h4,.tf-panel-outcome h4{margin:0 0 12px;color:var(--tf-muted)}.tf-chip-list,.tf-include-list{display:flex;flex-wrap:wrap;gap:10px}.tf-chip,.tf-include{border-radius:999px;background:#f1f5ff;color:#1d2a5c;padding:9px 12px;font-weight:800;font-size:13px}.tf-panel-block ul{margin:0;padding-left:20px}.tf-panel-block li{margin:8px 0;color:#344054}.tf-panel-outcome{background:linear-gradient(135deg,#f3f7ff,#eef6fa);border-radius:18px;padding:20px;margin:10px 0 24px}.tf-panel-outcome p{margin:0;line-height:1.55;color:#344054}.tf-panel-actions{display:flex;gap:12px;flex-wrap:wrap}.tf-primary-btn,.tf-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border-radius:15px;font-weight:900;text-decoration:none!important}.tf-primary-btn{background:var(--tf-blue);color:#fff!important}.tf-secondary-btn{background:#eaf0ff;color:var(--tf-blue)!important}@media(max-width:1100px){.tf-card-grid,.tf-card-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tf-card-grid,.tf-card-grid-four{grid-template-columns:1fr}.tf-slideout-inner{padding:34px 24px 30px}}

.tf-featured-pathway{width:100%;margin:34px 0 0;border:1px solid rgba(255,255,255,.28);border-radius:28px;background:linear-gradient(110deg,#2038bf 0%,#2a41f1 45%,#5aa8ff 100%);color:#fff;display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center;padding:34px 42px;text-align:left;cursor:pointer;box-shadow:0 22px 52px rgba(42,65,241,.24);transition:transform .22s ease,box-shadow .22s ease;}
.tf-featured-pathway:hover,.tf-featured-pathway:focus{transform:translateY(-4px);box-shadow:0 30px 70px rgba(42,65,241,.30);outline:none;}
.tf-featured-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.13);border-radius:999px;min-height:58px;padding:0 34px;font-weight:900;letter-spacing:.06em;font-size:17px;}
.tf-featured-copy h2{margin:0 0 8px;color:#fff;}
.tf-featured-copy p{margin:0;font-size:20px;line-height:1.45;color:rgba(255,255,255,.90);}
.tf-featured-price{font-weight:900;font-size:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:13px 18px;white-space:nowrap;}
@media (max-width:900px){.tf-featured-pathway{grid-template-columns:1fr;text-align:center;padding:30px 24px}.tf-featured-badge{justify-self:center}.tf-featured-price{justify-self:center}}


/* v4.2 CTA clickability hardening */
.tf-academy-catalog .tf-slideout {
    pointer-events: auto !important;
    z-index: 2147483646 !important;
}

.tf-academy-catalog .tf-slideout-overlay {
    z-index: 2147483645 !important;
}

.tf-academy-catalog .tf-panel-actions {
    position: relative !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}

.tf-academy-catalog .tf-panel-actions a,
.tf-academy-catalog a.tf-primary-btn,
.tf-academy-catalog a.tf-secondary-btn {
    position: relative !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}


/* v4.3 CTA hardening */
.tf-academy-catalog .tf-panel-actions,
.tf-academy-catalog .tf-panel-actions *,
.tf-academy-catalog .tf-primary-btn,
.tf-academy-catalog .tf-secondary-btn {
    pointer-events: auto !important;
    user-select: none;
    touch-action: manipulation;
}

.tf-academy-catalog .tf-primary-btn,
.tf-academy-catalog .tf-secondary-btn {
    display: inline-flex !important;
    position: relative !important;
    isolation: isolate;
}
