/* Functional components only. Intentionally no article prose/image selectors. */
.cgtha-article { --cgtha-ink:#34313a; --cgtha-muted:#86808c; --cgtha-accent:#706278; --cgtha-line:#e9e5ed; --cgtha-soft:#f7f5f9; }
.cgtha-article #posts-pay { border:1px solid var(--cgtha-line); border-radius:10px; box-shadow:none; }
.cgtha-article #posts-pay.cgtha-purchase { padding:24px; margin:0 0 26px; background:#fff; color:var(--cgtha-ink); }
.cgtha-article .cgtha-purchase .pay-flexbox { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; align-items:center; }
.cgtha-article .cgtha-purchase .pay-thumb { display:block!important; margin:0; width:100%; min-width:0; }
.cgtha-article .cgtha-purchase .pay-thumb .graphic { width:100%; height:auto; padding:0; aspect-ratio:16/9; border-radius:7px; overflow:hidden; background:var(--cgtha-soft); }
.cgtha-article .cgtha-purchase .pay-thumb img { width:100%; height:100%; object-fit:contain; position:absolute; inset:0; }
.cgtha-article .cgtha-purchase .pay-flexbox > :last-child { display:flex; flex-direction:column; gap:12px; min-width:0; }
.cgtha-article .cgtha-purchase .pay-title { font-size:16px; line-height:1.65; font-weight:600; white-space:normal; color:var(--cgtha-ink); }
.cgtha-article .cgtha-purchase .pay-title::before { content:'课程购买'; display:block; font-size:12px; font-weight:400; color:var(--cgtha-muted); margin-bottom:5px; }
.cgtha-article .cgtha-purchase .pay-flexbox > :last-child > .mt6 { margin:0; font-size:12px; line-height:1.7; color:var(--cgtha-muted); }
.cgtha-article .cgtha-purchase .price-box .c-red { color:var(--cgtha-ink); }
.cgtha-article .cgtha-purchase .price-box b { font-size:32px; line-height:1.3; font-weight:650; }
.cgtha-article .cgtha-purchase .price-box .pay-mark { font-size:12px; font-weight:400; color:var(--cgtha-muted); margin-right:4px; }
.cgtha-article .cgtha-purchase .vip-price-buts { display:flex; width:100%; border:1px solid var(--cgtha-line); background:var(--cgtha-soft); border-radius:7px; overflow:hidden; }
.cgtha-article .cgtha-purchase .vip-price { flex:1; min-width:0; margin:0; padding:10px 7px; border:0; border-radius:0; background:transparent; color:var(--cgtha-accent); font-size:12px; white-space:normal; }
.cgtha-article .cgtha-purchase .vip-price + .vip-price { border-left:1px solid var(--cgtha-line); }
.cgtha-article .cgtha-purchase .vip-price-text { display:block; margin:5px 0 0; font-size:18px; }
.cgtha-article .cgtha-purchase .vip-price-text .px12 { font-size:11px; }
.cgtha-article .cgtha-purchase .cgtha-purchase-actions { display:grid; gap:9px; margin:0; text-align:center; }
.cgtha-article .cgtha-purchase-actions > a.but { display:block; width:100%; padding:11px 16px; min-height:42px; border-radius:6px; background:var(--cgtha-accent); color:#fff; box-shadow:none; font-size:13px; }
.cgtha-article .cgtha-purchase-actions > a.but:hover { background:#615469; }
.cgtha-article .cgtha-purchase-actions > div > a.but { display:block; padding:11px 16px; min-height:42px; border-radius:6px; background:var(--cgtha-accent); color:#fff; font-size:13px; }
.cgtha-article .cgtha-preview { display:flex; justify-content:center; align-items:center; min-height:40px; padding:9px 14px; border:1px solid #d8d0df; border-radius:6px; background:#fff; color:var(--cgtha-accent); font-size:13px; text-decoration:none; }
.cgtha-article .cgtha-preview:hover { background:var(--cgtha-soft); }
.cgtha-article .cgtha-purchase > .pay-tag { display:none; }
.cgtha-article .cgtha-purchase .pay-details { margin-top:18px; }
.cgtha-article .cgtha-duplicate-purchase { display:none; }
/* Avoid a flash of the redundant widget before the enhancement runs. */
.cgtha-article:has(#posts-pay.cgtha-purchase) .sidebar .zib-widget-wrap:has(.pay-widget) { display:none; }
/* A free-course status belongs beside its actual resource/download controls. */
.cgtha-article:has(#posts-pay.cgtha-free-course) .sidebar :is(.zib-widget-wrap:has(.pay-widget),.pay-widget) { display:none; }
.cgtha-article .cgtha-free-course.cgtha-purchase .pay-title::before { content:'免费课程'; color:#4e7770; font-weight:600; }
.cgtha-article .cgtha-free-course.cgtha-unlocked > .box-body > div > .badg.c-red.hollow { display:inline-flex; align-items:center; padding:5px 10px; margin-right:10px; border:1px solid #d6e6e1; border-radius:5px; background:#eff6f3; color:#456d64; font-size:12px; line-height:1.5; }
.cgtha-article .cgtha-free-course.cgtha-unlocked .hidden-box > .hidden-text { color:var(--cgtha-accent); }

/* Member-only is an entitlement, not a large gold price graphic. */
.cgtha-article .cgtha-member-only.cgtha-purchase .pay-flexbox { align-items:start; }
.cgtha-article .cgtha-member-only.cgtha-purchase .pay-title::before { content:'会员课程'; }
.cgtha-article .cgtha-member-only .price-box .padding-h10 { padding:0; }
.cgtha-article .cgtha-member-only .price-box b.badg { display:inline-flex; align-items:center; gap:7px; padding:7px 12px!important; border:1px solid #ddd4e5; border-radius:6px; background:#f3eef7; color:#79628c; font-size:14px; line-height:1.5; font-weight:600; box-shadow:none; }
.cgtha-article .cgtha-member-only .price-box b.badg > svg { width:19px; height:19px; font-size:19px; margin:0; color:inherit; }
.cgtha-article .cgtha-member-only .vip-price-buts { background:#faf8fc; }
.cgtha-article .cgtha-member-only .vip-price-text { font-size:17px; font-weight:600; }
.cgtha-article .cgtha-member-only .cgtha-purchase-actions > .badg { margin:0; padding:8px 12px; background:var(--cgtha-soft); color:var(--cgtha-accent); border-radius:5px; line-height:1.7; }
.cgtha-article .cgtha-member-only .cgtha-purchase-actions .icon { color:inherit; }
.cgtha-article .cgtha-member-only .cgtha-member-notice { margin:20px 0 0; }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice { margin:0; padding:14px 16px; background:#faf9fb; border:1px solid var(--cgtha-line); border-radius:7px; color:var(--cgtha-muted); }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice .notice-header { margin-bottom:7px; }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice .notice-tag { color:var(--cgtha-accent); font-size:11px; letter-spacing:1px; }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice .notice-line { background:var(--cgtha-line); }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice .notice-content { font-size:12px; line-height:1.8; color:var(--cgtha-muted); }
.cgtha-article .cgtha-member-only .cgtuto-tech-notice :is(.highlight-text,.warning-text) { color:var(--cgtha-accent); }

.cgtha-article .sidebar .zib-widget:has(.course-card-static),
.cgtha-article .cgtha-info-widget { padding:22px 20px; border:1px solid var(--cgtha-line); border-radius:10px; background:#fff; box-shadow:none; }
.cgtha-article .sidebar .zib-widget:has(.course-card-static) > h3 { margin:0 0 12px; padding:0; font-size:16px; line-height:1.5; color:var(--cgtha-ink); font-weight:600; }
.cgtha-article .sidebar .zib-widget:has(.course-card-static) > h3::before { display:none; }
.cgtha-article .course-card-static { padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.cgtha-article .course-card-static .course-item { display:flex; flex-direction:row; justify-content:space-between; padding:12px 0; gap:12px; align-items:flex-start; border-bottom:1px solid #f0edf3; font-size:12px; line-height:1.8; }
.cgtha-article .course-card-static .course-label { flex-shrink:0; color:var(--cgtha-muted); font-size:12px; }
.cgtha-article .course-card-static .course-value { max-width:61%; text-align:right; color:var(--cgtha-ink); font-weight:500; overflow-wrap:anywhere; }
.cgtha-article .course-card-static .course-btn { display:flex; align-items:center; justify-content:center; padding:9px 8px; min-height:38px; border:1px solid #dfd8e5; background:var(--cgtha-soft); color:var(--cgtha-accent)!important; border-radius:6px; }
.cgtha-article .course-card-static .course-btn.green { background:#fff; }
.cgtha-article .course-card-static .course-item.no-border { border:0; padding-bottom:0; }
.cgtha-article .course-official-links-menu { background:var(--cgtha-soft); border-color:var(--cgtha-line); }
.cgtha-article .course-official-links-menu a { color:var(--cgtha-accent); }
.cgtha-article .cgtuto-course-info-mobile { padding:20px; border:1px solid var(--cgtha-line); border-radius:9px; background:#fff; }
.cgtha-article .cgtuto-course-info-mobile::before { content:'课程信息'; display:block; font-size:16px; font-weight:600; margin-bottom:8px; color:var(--cgtha-ink); }
.cgtha-article .sidebar-faq-box { border:1px solid var(--cgtha-line); box-shadow:none; background:#fff; }
.cgtha-article .sidebar-faq-box .faq-btn { background:var(--cgtha-accent); }
.cgtha-article .sidebar-faq-box .faq-btn:hover { background:#615469; box-shadow:none; }

/* These two existing wrappers are the ONLY styled elements within post content. */
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) { border:1px solid var(--cgtha-line)!important; border-radius:9px!important; padding:24px!important; margin:28px 0!important; background:#fff!important; box-shadow:none!important; color:var(--cgtha-ink); }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child { gap:16px!important; margin-bottom:16px!important; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > span { width:46px!important; height:46px!important; border-radius:9px!important; background:var(--cgtha-soft)!important; color:var(--cgtha-accent)!important; font-size:20px!important; }
.cgtha-article .cgtha-resource-icon svg { width:28px; height:28px; fill:none!important; stroke:currentColor; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > div { min-width:0; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > div > div:first-child { font-size:16px!important; line-height:1.65; color:var(--cgtha-ink)!important; margin-bottom:4px!important; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > div > div + div { font-size:12px!important; line-height:1.8!important; color:var(--cgtha-muted)!important; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > .hidden-box { margin:0; padding:14px 16px; background:var(--cgtha-soft); border:0; border-radius:6px; box-shadow:none; overflow-wrap:anywhere; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) .hidden-box .hidden-text { color:var(--cgtha-accent); font-size:13px; line-height:1.7; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) :is(.cgtuto-supporting-resource,.cgtuto-learning-notes) { padding:12px 0!important; background:transparent!important; }
.cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) .hidden-box a:not(.signin-loader) { color:var(--cgtha-accent); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.cgtha-article #posts-pay.cgtha-unlocked { padding:0; background:#fff; color:var(--cgtha-ink); }
.cgtha-article .cgtha-unlocked .box-body { padding:22px; }
.cgtha-article .cgtha-unlocked .hidden-box { border-color:var(--cgtha-line); background:var(--cgtha-soft); }
.cgtha-article .cgtha-unlocked .but { background:var(--cgtha-accent); color:#fff; border-radius:6px; }
.cgtha-article .cgtha-unlocked .c-red { color:var(--cgtha-accent); }
.cgtha-article .cgtha-resource-locked { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; }
.cgtha-article .cgtha-resource-locked > div:first-child { margin:0!important; }
.cgtha-article .cgtha-resource-locked > .hidden-box { background:transparent; padding:0; }
.cgtha-article .cgtha-resource-locked .hidden-text.signin-loader { display:flex; align-items:center; justify-content:center; padding:11px 18px; min-height:42px; border-radius:6px; background:var(--cgtha-accent); color:#fff; white-space:nowrap; text-decoration:none; }
.cgtha-article .cgtha-resource-locked .hidden-text.signin-loader::before { content:'\f023'; font-family:FontAwesome; margin-right:7px; }
.cgtha-article :is(.cgtha-purchase,.cgtuto-resource-card,.cgtuto-notes-card,.course-card-static) :is(a,button):focus-visible { outline:2px solid var(--cgtha-accent); outline-offset:3px; }
@media(max-width:1200px) { .cgtha-article .cgtha-purchase .pay-flexbox { gap:20px; } .cgtha-article #posts-pay.cgtha-purchase { padding:20px; } }
@media(max-width:767px) {
  .cgtha-article .cgtha-purchase .pay-flexbox { grid-template-columns:1fr; gap:18px; }
  .cgtha-article #posts-pay.cgtha-purchase { padding:16px; margin-bottom:20px; }
  .cgtha-article .cgtha-purchase .pay-title { font-size:15px; }
  .cgtha-article .cgtha-purchase-actions > a.but,.cgtha-article .cgtha-preview { min-height:44px; }
  .cgtha-article .cgtuto-course-info-mobile { padding:16px; margin:0 0 24px; }
  .cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) { padding:18px!important; margin:24px 0!important; }
  .cgtha-article .cgtha-resource-locked { grid-template-columns:1fr; gap:16px; }
  .cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child { align-items:flex-start!important; gap:12px!important; }
  .cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > span { width:38px!important; height:38px!important; }
  .cgtha-article :is(.cgtuto-resource-card,.cgtuto-notes-card) > div:first-child > div > div:first-child { font-size:15px!important; }
}
@media(prefers-reduced-motion:reduce) { .cgtha-article .course-btn { transition:none; } }
