/* หน้ารวมวิชา /course/ — แบบ A ในแคนวาส (เลือกช่วงชั้นก่อน แล้วเห็นวิชา ราคา และเป้าหมายสอบ) */
.ca-in{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:150px 24px 168px;text-align:center}
.ca-in .crumb{justify-content:center}
.ca-in .sj-sub{margin-left:auto;margin-right:auto;max-width:600px}
.ca-in .tx-facts{justify-content:center}
.ca-sheet{padding-top:0}
.ca-stages{position:relative;z-index:4;max-width:1100px;margin:-112px auto 0;background:#FFFFFF;border-radius:32px;box-shadow:0 24px 60px rgba(31,30,29,.12);border:1px solid #F0EFEF;padding:14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ca-st{font-family:inherit;border:0;background:transparent;border-radius:18px;padding:18px 8px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:#1F1E1D;min-height:128px;justify-content:center}
.ca-st .ic{width:48px;height:48px;border-radius:16px;background:#F6F5F5;color:#524E4C;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.ca-st b{font-size:17px;font-weight:600;line-height:1.3}
.ca-st small{font-size:14px;color:#716C69}
.ca-st:hover{background:#F6F5F5}
.ca-st.on{background:#1F1E1D;color:#FFFFFF}
.ca-st.on .ic{background:#FC4013;color:#FFFFFF}
.ca-st.on small{color:rgba(255,255,255,.75)}
.ca-st:focus-visible,.ca-card a:focus-visible,.ca-goal:focus-visible{outline:2px solid #FC4013;outline-offset:3px}
.ca-res{max-width:1100px;margin:72px auto 0}
.ca-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:32px;border-bottom:1px solid #E7E6E6}
.ca-head .k{font-size:15px;font-weight:600;color:#C4180A}
.ca-h{margin:6px 0 0;font-size:44px;font-weight:500;line-height:1.2;letter-spacing:-0.01em}
.ca-head p{margin:12px 0 0;font-size:17px;color:#524E4C;max-width:600px;line-height:1.6}
.ca-buy{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.ca-price{font-size:15px;color:#524E4C;white-space:nowrap}
.ca-price b{font-size:40px;font-weight:600;color:#1F1E1D;margin:0 6px;letter-spacing:-0.01em}
.ca-grid{margin-top:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ca-card{border:1px solid #E7E6E6;border-radius:28px;padding:24px;display:flex;flex-direction:column;background:#FFFFFF;transition:border-color .2s,box-shadow .2s}
.ca-card:hover{border-color:#1F1E1D;box-shadow:0 16px 36px rgba(31,30,29,.08)}
.ca-ct{display:flex;gap:14px;align-items:center}
.cx-ic{flex:none;width:52px;height:52px;border-radius:16px;background:#FFF3ED;color:#C4180A;display:inline-flex;align-items:center;justify-content:center}
.ca-ct h3{margin:0;font-size:21px;font-weight:600;line-height:1.3}
.ca-ct .lv{display:block;font-size:14px;color:#716C69}
.ca-tp{margin:18px 0 0;font-size:16px;color:#3B3836;line-height:1.6;flex:1}
.ca-tp .k{display:block;font-size:13px;color:#716C69;margin-bottom:2px}
.ca-cf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px dashed #E7E6E6}
.ca-cf .pr{font-size:14px;color:#524E4C}
.ca-cf .pr b{font-size:18px;color:#1F1E1D;font-weight:600}
.ca-cf a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;color:#C4180A;text-decoration:none;min-height:44px}
.ca-cf a:hover{color:#9C1510}
.ca-gh{margin:56px 0 0;font-size:24px;font-weight:600}
.ca-goals{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ca-goal{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:24px;background:#FFF6F1;color:#1F1E1D;text-decoration:none;transition:background .2s}
.ca-goal:hover{background:#FFEDE3;color:#1F1E1D}
.ca-goal .gi{flex:none;width:44px;height:44px;border-radius:50%;background:#FFFFFF;color:#FC4013;display:inline-flex;align-items:center;justify-content:center}
.ca-goal .t{flex:1;min-width:0}
.ca-goal b{display:block;font-size:17px;font-weight:600;line-height:1.35}
.ca-goal small{display:block;font-size:14px;color:#524E4C;line-height:1.45}
.ca-goal .pr{flex:none;text-align:right;font-size:13px;color:#716C69;line-height:1.3}
.ca-goal .pr b{font-size:18px;color:#1F1E1D}
.ca-note{margin-top:56px;display:flex;gap:14px;align-items:center;padding:20px 24px;border-radius:24px;background:#F6F5F5;font-size:16px;color:#3B3836}
.ca-note .gi{flex:none;width:44px;height:44px;border-radius:50%;background:#FFFFFF;color:#FC4013;display:inline-flex;align-items:center;justify-content:center}
.ca-help{max-width:1100px;margin:104px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ca-hc{position:relative;border-radius:36px;padding:40px;background:#FFF6F1;overflow:hidden;min-height:280px;display:flex;flex-direction:column;align-items:flex-start}
.ca-hc.dk{background:#1F1E1D;color:#FFFFFF}
.ca-hc h3{margin:0;font-size:28px;font-weight:600;line-height:1.3;max-width:330px}
.ca-hc p{margin:12px 0 0;font-size:16px;color:#524E4C;max-width:330px;line-height:1.6;flex:1}
.ca-hc.dk p{color:rgba(255,255,255,.8)}
.ca-hc .btn{margin-top:24px}
.ca-hc img{position:absolute;right:12px;bottom:-6px;width:180px}
.ca-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;max-width:420px}
.ca-tags span{font-size:14px;padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.9)}
.ca-hc .nw{white-space:nowrap}
.ca-new{position:absolute;top:28px;right:28px;border-radius:999px;padding:3px 10px;background:#FFE055;color:#1F1E1D;font-size:12px;font-weight:700}
.ca-hc.dk img{width:150px;right:20px;bottom:0}
.ca-wide{grid-column:1/-1;min-height:0;background:#F6F5F5;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h b" "p b" "t b";column-gap:32px;align-items:center;padding:32px 40px}
.ca-wide h3{grid-area:h;max-width:none;font-size:24px}
.ca-wide p{grid-area:p;max-width:none;margin-top:6px}
.ca-wide .ca-tags{grid-area:t;max-width:none}
.ca-wide .btn{grid-area:b;margin-top:0}
.ca-wide .ca-tags span{border-color:#D2D0CF;color:#3B3836;background:#FFFFFF}
@media (max-width:1100px){
  .ca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ca-goals{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .ca-in{padding:104px 16px 136px}
  .ca-stages{grid-template-columns:repeat(3,minmax(0,1fr));margin:-100px 0 0;border-radius:26px;padding:10px;gap:6px}
  .ca-st{min-height:92px;padding:10px 4px;border-radius:16px}
  .ca-st .ic{width:36px;height:36px;border-radius:12px;margin-bottom:2px}
  .ca-st .ic svg{width:18px;height:18px}
  .ca-st b{font-size:15px}
  .ca-st small{font-size:13px}
  .ca-res{margin-top:40px}
  .ca-head{flex-direction:column;align-items:stretch;gap:20px;padding-bottom:24px}
  .ca-h{font-size:31px}
  .ca-head p{font-size:16px}
  .ca-buy{align-items:stretch;gap:12px}
  .ca-buy .btn{width:100%}
  .ca-price b{font-size:30px}
  .ca-grid{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:24px}
  .ca-card{padding:18px;border-radius:22px}
  .cx-ic{width:44px;height:44px;border-radius:14px}
  .cx-ic svg{width:22px;height:22px}
  .ca-ct h3{font-size:18px}
  .ca-tp{margin-top:12px;font-size:15px}
  .ca-gh{margin-top:40px;font-size:21px}
  .ca-goal{padding:14px 16px;gap:12px;border-radius:20px}
  .ca-goal .gi{width:40px;height:40px}
  .ca-goal b{font-size:16px}
  .ca-note{margin-top:40px;padding:16px;font-size:15px}
  .ca-help{grid-template-columns:minmax(0,1fr);margin-top:72px;gap:12px}
  .ca-hc{padding:28px 22px;border-radius:28px;min-height:0}
  .ca-hc h3{font-size:22px;max-width:220px}
  .ca-hc p{font-size:15px;max-width:none}
  .ca-hc img{width:118px;right:4px;bottom:auto;top:12px}
  .ca-hc .btn{width:100%}
  .ca-new{top:20px;right:20px}
  .ca-hc.dk h3{max-width:none;padding-right:56px}
  .ca-hc.dk img{display:none}
  .ca-wide{display:flex;align-items:flex-start;padding:24px 22px;text-align:left}
  .ca-hc:has(img) p{max-width:calc(100% - 100px)}
  .ca-hc.dk p{max-width:none}
  .ca-wide .btn{margin-top:20px}
}
