.frcl-shell{position:relative;width:min(1180px,calc(100% - 28px));margin:28px auto;padding:0;font-family:inherit;color:#1f2937}.frcl-shell *{box-sizing:border-box}.frcl-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px;border:1px solid rgba(239,68,68,.16);border-radius:30px;background:radial-gradient(circle at 12% 12%,rgba(255,210,122,.45),transparent 28%),radial-gradient(circle at 88% 18%,rgba(255,109,69,.18),transparent 25%),linear-gradient(135deg,#fff7ed 0%,#fff 48%,#fef2f2 100%);box-shadow:0 24px 70px rgba(127,29,29,.10)}.frcl-hero:before{content:"";position:absolute;inset:-60px;background:radial-gradient(circle at 8% 70%,rgba(255,255,255,.9) 0 12px,transparent 13px),radial-gradient(circle at 20% 82%,rgba(248,113,113,.16) 0 10px,transparent 11px),radial-gradient(circle at 86% 74%,rgba(251,146,60,.18) 0 15px,transparent 16px);opacity:.75;pointer-events:none}.frcl-hero>*{position:relative;z-index:1}.frcl-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(239,68,68,.16);color:#b91c1c;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.frcl-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 0 0 5px rgba(239,68,68,.10)}.frcl-hero h2{margin:12px 0 8px;font-size:clamp(30px,5vw,56px);line-height:.96;letter-spacing:-.055em;color:#111827}.frcl-hero p{max-width:760px;margin:0;color:#4b5563;font-size:clamp(16px,2vw,20px);line-height:1.55}.frcl-account-link,.frcl-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-weight:850;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.frcl-account-link{flex:0 0 auto;padding:13px 18px;background:#111827;color:#fff;box-shadow:0 16px 34px rgba(17,24,39,.18)}.frcl-account-link:hover,.frcl-btn:hover{transform:translateY(-2px)}.frcl-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.frcl-count-card{padding:18px 16px;border-radius:22px;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 14px 38px rgba(17,24,39,.06)}.frcl-count-card strong{display:block;font-size:30px;line-height:1;color:#dc2626;letter-spacing:-.04em}.frcl-count-card span{display:block;margin-top:6px;color:#6b7280;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.frcl-toolbar{position:relative;z-index:1;margin:18px 0 20px;padding:14px;border:1px solid rgba(17,24,39,.08);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 14px 42px rgba(17,24,39,.06);backdrop-filter:blur(8px)}.frcl-search-label{display:block;margin:0 0 8px;color:#374151;font-weight:850;font-size:13px}.frcl-search{width:100%;min-height:52px;padding:0 18px;border:1px solid rgba(17,24,39,.12);border-radius:18px;background:#fff;font-size:16px;outline:none}.frcl-search:focus{border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.13)}.frcl-filter-select-wrap{display:grid;gap:8px;margin-top:12px;max-width:420px}.frcl-filter-label{display:block;color:#374151;font-weight:850;font-size:13px}.frcl-category-select{width:100%;min-height:52px;padding:0 46px 0 16px;border:1px solid rgba(239,68,68,.22);border-radius:18px;background:#fff;color:#991b1b;font-size:15px;font-weight:850;outline:none;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#ef4444 50%),linear-gradient(135deg,#ef4444 50%,transparent 50%),linear-gradient(135deg,#fff7ed,#fff);background-position:calc(100% - 24px) 22px,calc(100% - 17px) 22px,0 0;background-size:7px 7px,7px 7px,100% 100%;background-repeat:no-repeat;box-shadow:0 10px 26px rgba(239,68,68,.08)}.frcl-category-select:focus{border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.13)}.frcl-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.frcl-filter{border:1px solid rgba(239,68,68,.18);background:#fff;color:#991b1b;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:850;cursor:pointer}.frcl-filter:hover,.frcl-filter.is-active{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(239,68,68,.20)}.frcl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.frcl-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 55px rgba(17,24,39,.08);transition:transform .2s ease,box-shadow .2s ease}.frcl-card:hover{transform:translateY(-4px);box-shadow:0 24px 75px rgba(127,29,29,.13)}.frcl-card-image{position:relative;min-height:190px;background:linear-gradient(135deg,#fee2e2,#ffedd5);overflow:hidden}.frcl-card-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.70) 0 18px,transparent 19px),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.10) 100%);pointer-events:none}.frcl-card-image img{display:block;width:100%;height:210px;object-fit:cover}.frcl-card-placeholder{display:flex;align-items:center;justify-content:center;height:210px;font-size:56px;font-weight:950;letter-spacing:-.08em;color:#fff;background:radial-gradient(circle at top left,#fbbf24,transparent 38%),linear-gradient(135deg,#dc2626,#fb923c)}.frcl-card-body{padding:20px}.frcl-card-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.frcl-card-topline span{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.frcl-card-topline span:first-child{background:#fff7ed;color:#9a3412}.frcl-card-topline span:last-child{background:#fef2f2;color:#b91c1c}.frcl-card h3{margin:0 0 8px;font-size:22px;line-height:1.12;color:#111827;letter-spacing:-.03em}.frcl-subtitle{margin:0 0 8px;color:#dc2626;font-weight:850}.frcl-summary{margin:0;color:#4b5563;line-height:1.55}.frcl-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.frcl-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border-radius:999px;background:#f9fafb;border:1px solid rgba(17,24,39,.08);color:#111827;text-decoration:none;font-size:13px;font-weight:900}.frcl-mini-btn:hover{background:#111827;color:#fff}.frcl-mini-btn.frcl-view{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border-color:transparent}.frcl-empty-state,.frcl-empty-filter,.frcl-access-card{padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 55px rgba(17,24,39,.08)}.frcl-access-panel{max-width:900px}.frcl-access-card h2{margin:12px 0 10px;font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.04em}.frcl-access-card p{color:#4b5563;font-size:17px;line-height:1.55}.frcl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.frcl-btn{padding:12px 17px}.frcl-btn-primary{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;box-shadow:0 14px 30px rgba(239,68,68,.22)}.frcl-btn-soft{background:#fff;color:#991b1b;border:1px solid rgba(239,68,68,.20)}.frcl-small-note{margin:18px 0 0;color:#6b7280;font-size:13px;font-weight:700}.frcl-card[hidden]{display:none!important}@media (max-width:980px){.frcl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frcl-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.frcl-hero{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.frcl-shell{width:min(100% - 18px,1180px);margin:18px auto}.frcl-hero{padding:22px;border-radius:24px}.frcl-grid,.frcl-counts{grid-template-columns:1fr}.frcl-card-image,.frcl-card-image img,.frcl-card-placeholder{height:180px;min-height:180px}.frcl-card-body{padding:18px}.frcl-account-link,.frcl-btn,.frcl-mini-btn{width:100%}.frcl-filter{flex:1 1 auto}.frcl-card-topline{align-items:flex-start;flex-direction:column}}
/* V1.0.6 — force Course Library card featured images to true 1:1 square ratio. */
.frcl-shell .frcl-card-image{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;overflow:hidden!important;background:linear-gradient(135deg,#fee2e2,#ffedd5)!important;}
.frcl-shell .frcl-card-image img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;}
.frcl-shell .frcl-card-placeholder{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;}
@supports not (aspect-ratio:1/1){.frcl-shell .frcl-card-image{height:0!important;padding-top:100%!important;}.frcl-shell .frcl-card-image img,.frcl-shell .frcl-card-placeholder{position:absolute!important;inset:0!important;}}
@media (max-width:640px){.frcl-shell .frcl-card-image{height:auto!important;min-height:0!important;aspect-ratio:1/1!important;}.frcl-shell .frcl-card-image img,.frcl-shell .frcl-card-placeholder{height:100%!important;min-height:0!important;}}

/* V1.0.5 — category filter changed to a parent-category dropdown. */
.frcl-shell .frcl-filter-select-wrap{display:grid!important;}
.frcl-shell .frcl-category-select option{font-weight:700;color:#111827;}

/* V1.0.7 — front-page category library grid. */
.frcl-category-front .frcl-category-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;}
.frcl-category-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 55px rgba(17,24,39,.08);transition:transform .2s ease,box-shadow .2s ease;height:100%;}
.frcl-category-card:hover{transform:translateY(-4px);box-shadow:0 24px 75px rgba(127,29,29,.13);}
.frcl-category-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;}
.frcl-category-image{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,#fee2e2,#ffedd5);}
.frcl-category-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.70) 0 18px,transparent 19px),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.10) 100%);pointer-events:none;}
.frcl-category-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
.frcl-category-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:950;letter-spacing:-.08em;color:#fff;background:radial-gradient(circle at top left,#fbbf24,transparent 38%),linear-gradient(135deg,#dc2626,#fb923c);}
.frcl-category-body{display:flex;flex:1;flex-direction:column;padding:18px;}
.frcl-category-count{display:inline-flex;align-self:flex-start;border-radius:999px;padding:6px 9px;margin-bottom:10px;background:#fef2f2;color:#b91c1c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.frcl-category-body h3{margin:0 0 8px;font-size:20px;line-height:1.13;color:#111827;letter-spacing:-.03em;}
.frcl-category-body p{margin:0;color:#4b5563;line-height:1.5;font-size:15px;}
.frcl-category-open{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:auto;padding:10px 13px;border-radius:999px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:13px;font-weight:900;box-shadow:0 12px 26px rgba(239,68,68,.20);}
.frcl-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;}
.frcl-back-link{background:#fff!important;color:#991b1b!important;border:1px solid rgba(239,68,68,.22)!important;box-shadow:0 12px 24px rgba(239,68,68,.10)!important;}
.frcl-category-card[hidden]{display:none!important;}
@media (max-width:1100px){.frcl-category-front .frcl-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (max-width:860px){.frcl-category-front .frcl-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.frcl-hero-actions{justify-content:flex-start;}}
@media (max-width:640px){.frcl-category-front .frcl-category-grid{grid-template-columns:1fr!important;}.frcl-hero-actions,.frcl-hero-actions .frcl-account-link{width:100%;}.frcl-category-body{padding:18px;}.frcl-category-body h3{font-size:22px;}}
