/* Home page for signed-out visitors: three doors in, free vs Premium pricing, a few free courses. */
.guest-landing { color: #08235d; }
.gl-section { max-width: 1280px; margin: 0 auto; padding: 56px 4.3% 0; }
.gl-heading { margin-bottom: 24px; }
.gl-heading h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; letter-spacing: -1px; margin: 0 0 8px; }
.gl-heading p { margin: 0; font-size: 17px; line-height: 1.5; color: #3d5280; max-width: 720px; }
.gl-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.gl-start-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gl-start-card { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 16px; border: 1px solid #dbe1eb; border-top: 6px solid var(--tone); background: #fff; color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.gl-start-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px #08235d1c; }
.gl-start-card.is-free { --tone: #12a05c; --tone-bg: #e3f6ec; }
.gl-start-card.is-path { --tone: #0874ed; --tone-bg: #e1efff; }
.gl-start-card.is-video { --tone: #f65c1d; --tone-bg: #ffe6d8; }
.gl-start-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--tone-bg); color: var(--tone); }
.gl-start-card strong { font-size: 22px; letter-spacing: -.4px; }
.gl-start-card p { margin: 0; font-size: 15.5px; line-height: 1.5; color: #3d5280; flex: 1; }
.gl-start-cta { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--tone); }
.gl-finder { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 16px 20px; border-radius: 14px; background: #eaf7fc; color: inherit; text-decoration: none; }
.gl-finder > span { flex: 1; line-height: 1.4; }
.gl-finder strong { display: block; font-size: 16px; }
.gl-finder:hover { background: #d9f0fa; }
.gl-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.gl-plan { display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: 18px; border: 2px solid #dbe1eb; background: #fff; }
.gl-plan.is-free { border-color: #9ee0b8; background: #f4fcf7; }
.gl-plan.is-premium { border-color: #f2c26b; background: #fffaf0; }
.gl-plan-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 800; }
.is-free .gl-plan-badge { background: #d3f3e1; color: #13603a; }
.is-premium .gl-plan-badge { background: #ffeac2; color: #8a4b00; }
.gl-price { display: flex; align-items: baseline; gap: 8px; }
.gl-price strong { font-size: 52px; line-height: 1; letter-spacing: -2px; }
.gl-price span { font-size: 17px; color: #3d5280; }
.gl-price-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gl-price-option { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 14px 6px; border-radius: 12px; border: 1.5px solid #ecd49c; background: #fff; color: inherit; text-decoration: none; }
.gl-price-option:hover { border-color: #d98f00; }
.gl-price-option strong { font-size: 26px; letter-spacing: -.8px; }
.gl-price-option span { font-size: 13px; color: #3d5280; }
.gl-price-option.is-best { border-color: #d98f00; box-shadow: 0 0 0 2px #f2c26b66; }
.gl-price-option em { position: absolute; top: -10px; padding: 1px 9px; border-radius: 999px; background: #d98f00; color: #fff; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.gl-plan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; flex: 1; }
.gl-plan li { display: flex; gap: 10px; align-items: flex-start; font-size: 15.5px; line-height: 1.4; }
.gl-plan li svg { flex: none; margin-top: 2px; color: #12a05c; }
.is-premium li svg { color: #b86e00; }
.gl-plan-cta.button { background: #f65c1d; border-color: #f65c1d; border-radius: 11px; min-height: 50px; font-size: 16px; }
.gl-plan-cta.button:hover { background: #dd4810; border-color: #dd4810; }
.gl-plan small { color: #3d5280; font-size: 13px; text-align: center; }
.gl-pricing-notes { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; font-size: 14.5px; }
.gl-pricing-notes span, .gl-pricing-notes a { display: inline-flex; align-items: center; gap: 8px; color: inherit; }
.gl-pricing-notes a { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.gl-all-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: #0b5fcc; text-decoration: none; }
.gl-all-link:hover { text-decoration: underline; }
.gl-featured-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gl-featured-grid a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid #dbe1eb; border-radius: 14px; background: #fff; color: inherit; text-decoration: none; min-height: 76px; }
.gl-featured-grid a:hover { border-color: #0874ed; box-shadow: 0 8px 20px #08235d14; }
.gl-featured-grid img, .gl-course-fallback { flex: none; width: 44px; height: 44px; border-radius: 10px; object-fit: contain; }
.gl-course-fallback { display: grid; place-items: center; background: #e1efff; color: #0874ed; font-weight: 800; }
.gl-course-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gl-course-text strong { font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.gl-course-text small { color: #52678e; font-size: 13px; }
.guest-landing + .practice-band, .catalog-main .guest-landing ~ .practice-band { margin-top: 56px; }
html:root[data-theme="dark"] .guest-landing { color: #e3eaf2; }
html:root[data-theme="dark"] .gl-heading p, html:root[data-theme="dark"] .gl-start-card p, html:root[data-theme="dark"] .gl-price span, html:root[data-theme="dark"] .gl-price-option span, html:root[data-theme="dark"] .gl-plan small, html:root[data-theme="dark"] .gl-course-text small { color: #b0bfd0; }
html:root[data-theme="dark"] .gl-start-card, html:root[data-theme="dark"] .gl-featured-grid a, html:root[data-theme="dark"] .gl-price-option { background: #18222d; border-color: #45566a; }
html:root[data-theme="dark"] .gl-start-card { border-top-color: var(--tone); }
html:root[data-theme="dark"] .gl-finder { background: #203446; }
html:root[data-theme="dark"] .gl-plan.is-free { background: #12281d; border-color: #2c7a4f; }
html:root[data-theme="dark"] .gl-plan.is-premium { background: #2b2210; border-color: #8a6a1f; }
html:root[data-theme="dark"] .is-free .gl-plan-badge { background: #173d2b; color: #9ee6be; }
html:root[data-theme="dark"] .is-premium .gl-plan-badge { background: #45320f; color: #ffd27a; }
html:root[data-theme="dark"] .gl-all-link { color: #9bcaff; }
@media (max-width: 900px) {
  .gl-start-grid, .gl-featured-grid { grid-template-columns: 1fr; }
  .gl-plans { grid-template-columns: 1fr; }
  .gl-section { padding-top: 40px; }
}
@media (max-width: 420px) {
  .gl-price-option strong { font-size: 22px; }
  .gl-plan { padding: 20px; }
}
/* Signed-out header: short menu and a clear call to action. */
.guest-site-header .guest-join.button { min-height: 40px; padding: 8px 18px; border-radius: 10px; background: #f65c1d; border-color: #f65c1d; color: #fff; font-size: 14px; font-weight: 800; white-space: nowrap; }
.guest-site-header .guest-join.button:hover { background: #dd4810; border-color: #dd4810; }
.guest-site-header .header-guest-actions { gap: 12px; }
@media (max-width: 520px) { .guest-site-header .guest-join.button { padding: 6px 12px; font-size: 13px; } }
@media (max-width: 767px) {
  .guest-site-header .account-nav .guest-join.button { display: inline-flex; }
  .guest-site-header .account-nav { flex-wrap: wrap; row-gap: 6px; }
  .guest-site-header .header-guest-actions { flex-wrap: wrap; justify-content: space-between; row-gap: 6px; }
}
/* Signed-out header: the English / ខ្មែរ switch is the one language control, so the quick-settings menu only does light and dark. */
.guest-site-header .quick-settings-lang { display: none; }
.guest-site-header .quick-settings-panel > :nth-child(3), .guest-site-header .quick-settings-panel > :nth-child(4) { display: none; }
