.cp-hero{text-align:center;background:var(--bg-2);padding:140px 32px 80px;position:relative;overflow:hidden}.cp-hero__orb{filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.cp-hero__orb--1{background:radial-gradient(circle,#00dca014 0%,#0000 65%);width:500px;height:500px;top:-150px;left:-100px}.cp-hero__orb--2{background:radial-gradient(circle,#38b6ff12 0%,#0000 65%);width:400px;height:400px;bottom:-100px;right:-80px}.cp-filters{background:var(--bg-2);padding:24px 32px 0}.cp-filters__inner{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cp-search{background:var(--bg-card);border:1px solid var(--border);min-width:200px;max-width:280px;color:var(--text);border-radius:10px;outline:none;flex:1;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.9rem;transition:border-color .2s}.cp-search::placeholder{color:var(--text-3)}.cp-search:focus{border-color:var(--border-hi)}.cp-cats{flex-wrap:wrap;gap:8px;display:flex}.cp-cat{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:.83rem;font-weight:500;transition:all .2s}.cp-cat:hover{border-color:var(--border-hi);color:var(--teal)}.cp-cat--on{background:var(--grad);color:#fff;border-color:#0000}.cp-sort{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:8px;outline:none;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:.83rem;transition:border-color .2s}.cp-sort:focus{border-color:var(--border-hi)}.cp-grid-sec{padding:40px 32px 80px}.cp-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;display:grid}.cp-empty{text-align:center;padding:80px 0}.cp-empty__num{color:var(--border-hi);opacity:.5;font-family:Sora,sans-serif;font-size:5rem;font-weight:800}.cp-empty p{color:var(--text-2);margin-top:8px;font-size:1rem}.cc{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex;overflow:hidden}.cc:hover{border-color:var(--border-hi);box-shadow:var(--glow),var(--shadow);transform:translateY(-5px)}.cc__top{background:linear-gradient(135deg,#1a3a2a 0%,#0d2035 100%);padding:32px 28px 28px;position:relative}.bg-1{background:linear-gradient(135deg,#0d2a1f 0%,#0a1a2e 100%)}.bg-2{background:linear-gradient(135deg,#0a1a2e 0%,#1a1040 100%)}.cc__badge-off{background:var(--grad);color:#fff;border-radius:6px;padding:4px 10px;font-family:Sora,sans-serif;font-size:.72rem;font-weight:700;position:absolute;top:16px;right:16px;box-shadow:0 4px 12px #00c8964d}.cc__type-badge{color:#ffffffbf;background:#ffffff1a;border:1px solid #ffffff26;border-radius:100px;margin-bottom:12px;padding:4px 12px;font-size:.72rem;font-weight:600;display:inline-block}.cc__title{color:#fff;margin-bottom:8px;font-family:Sora,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.2}.cc__meta{color:#ffffff8c;align-items:center;gap:8px;font-size:.8rem;display:flex}.cc__dot-sep{background:#ffffff59;border-radius:50%;width:3px;height:3px}.cc__body{flex-direction:column;flex:1;padding:24px 28px;display:flex}.cc__desc{color:var(--text-2);margin-bottom:18px;font-size:.88rem;line-height:1.7}.cc__feats{flex-direction:column;flex:1;gap:8px;margin-bottom:24px;list-style:none;display:flex}.cc__feat{color:var(--text-2);align-items:center;gap:10px;font-size:.85rem;display:flex}.cc__bullet{background:var(--teal);border-radius:50%;flex-shrink:0;width:5px;height:5px}.cc__price{align-items:center;gap:10px;margin-bottom:20px;display:flex}.cc__price-now{color:var(--text);font-family:Sora,sans-serif;font-size:1.6rem;font-weight:800}.cc__price-was{color:var(--text-3);font-size:.88rem;text-decoration:line-through}.cc__save{color:var(--teal);background:#00dca01a;border:1px solid #00dca033;border-radius:6px;padding:3px 9px;font-size:.76rem;font-weight:700}.cc__actions{gap:10px;display:flex}.cc__enroll{flex:1;justify-content:center;padding:12px 20px;font-size:.88rem}.cc__detail{padding:12px 16px;font-size:.88rem}@media (width<=560px){.cp-hero{padding:120px 20px 60px}.cp-filters{padding:20px 20px 0}.cp-grid-sec{padding:32px 20px 60px}.cp-grid{grid-template-columns:1fr}}
