.ct-wrap,.ct-modal{--y:#FFC300;--ink:#111827;--mute:#6b7280;font-family:"Hind Siliguri","Inter",system-ui,sans-serif;color:var(--ink)}
.ct-wrap{width:100%;box-sizing:border-box}
.ct-wrap *,.ct-modal *{box-sizing:border-box}
.ct-wrap a,.ct-wrap a:hover,.ct-wrap a:focus,.ct-wrap a:active,.ct-modal a,.ct-modal a:hover,.ct-modal a:focus{text-decoration:none !important;border-bottom:0 !important}
.ct-wrap button,.ct-modal button{text-transform:none;letter-spacing:normal;font-family:inherit}
.ct-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.ct-pill{display:inline-block;background:var(--y);color:#111;font-weight:600;font-size:13px;padding:5px 16px;border-radius:999px;margin-bottom:10px;box-shadow:0 4px 12px rgba(255,195,0,.35)}
.ct-h2{margin:0;font-size:34px;line-height:1.2;font-weight:700;color:var(--ink)}
.ct-filters{display:flex;flex-wrap:nowrap;gap:12px;align-items:center}
.ct-search{position:relative;display:block;margin:0;width:230px;flex:none}
.ct-search input{width:100%;height:44px;padding:0 44px 0 18px;border:1.5px solid #e5e7eb;border-radius:999px;background:#fff;font:500 15px "Hind Siliguri",sans-serif;color:var(--ink);outline:0;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:.2s;-webkit-appearance:none;appearance:none;margin:0}
.ct-search input::-webkit-search-cancel-button{display:none}
.ct-search svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}
.ct-sel{flex:none;width:170px;height:44px;margin:0;padding:0 38px 0 18px;border:1.5px solid #e5e7eb;border-radius:999px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center;font:500 15px "Hind Siliguri",sans-serif;color:var(--ink);outline:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:.2s;-webkit-appearance:none;appearance:none}
.ct-search input:focus,.ct-sel:focus{border-color:var(--y);box-shadow:0 0 0 4px rgba(255,195,0,.25)}
.ct-grid{display:grid;grid-template-columns:repeat(var(--ct-cols,4),minmax(0,1fr));gap:26px}
.ct-card{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #f0f0f0;box-shadow:0 4px 18px rgba(17,24,39,.06);transition:transform .3s ease,box-shadow .3s ease}
.ct-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(17,24,39,.14)}
.ct-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0f172a}
.ct-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;margin:0;max-width:none}
.ct-card:hover .ct-thumb img{transform:scale(1.06)}
.ct-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,#1f2937,#0f172a)}
.ct-badge{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:8px;font:700 12px "Inter",sans-serif;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.ct-body{display:flex;flex-direction:column;flex:1;padding:16px 16px 18px}
.ct-ctitle{margin:0 0 8px;font:700 16.5px/1.4 "Inter","Hind Siliguri",sans-serif;min-height:46px}
.ct-ctitle a{color:var(--ink);transition:color .2s}
.ct-ctitle a:hover{color:#b88a00}
.ct-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:13px}
.ct-wrap .ct-cat{color:var(--mute);background:none;border:0;padding:0;font:inherit;cursor:pointer;box-shadow:none}
.ct-wrap .ct-cat:hover{color:#b88a00;background:none}
.ct-rate{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.ct-rate i{font-style:normal;color:var(--mute)}
.ct-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;font-size:13px;color:#4b5563}
.ct-meta span{display:inline-flex;align-items:center;gap:6px}
.ct-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;margin-bottom:14px}
.ct-now{font:700 21px "Inter","Hind Siliguri",sans-serif}
.ct-price del{color:#9ca3af;font-size:14px}
.ct-price em{font:700 11px "Inter",sans-serif;font-style:normal;background:#dcfce7;color:#15803d;padding:3px 8px;border-radius:999px}
.ct-wrap .ct-btn,.ct-modal .ct-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;padding:0 16px;border-radius:12px;background:var(--y);color:#111;font:700 14px "Inter","Hind Siliguri",sans-serif;transition:.25s;box-shadow:0 6px 14px rgba(255,195,0,.35);border:0;cursor:pointer}
.ct-wrap .ct-btn:hover,.ct-wrap .ct-btn:focus,.ct-modal .ct-btn:hover{background:var(--y);filter:brightness(1.06);box-shadow:0 10px 22px rgba(255,195,0,.5);color:#111}
.ct-btn svg{transition:transform .25s}
.ct-btn:hover svg{transform:translateX(4px)}
.ct-empty{text-align:center;color:var(--mute);padding:40px 0;font-size:16px}
.ct-wrap .ct-back{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;margin-bottom:22px;border:1.5px solid #e5e7eb;border-radius:999px;background:#fff;font:600 14px "Hind Siliguri",sans-serif;color:var(--ink);cursor:pointer;transition:.2s;box-shadow:none}
.ct-wrap .ct-back:hover{border-color:var(--y);background:#fffbe6;color:var(--ink)}
.ct-dwrap{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;background:#fff;border:1px solid #f0f0f0;border-radius:22px;padding:24px;box-shadow:0 10px 34px rgba(17,24,39,.08)}
.ct-dimg{border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#0f172a}
.ct-dimg img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.ct-dh{margin:6px 0 10px;font:700 28px/1.3 "Inter","Hind Siliguri",sans-serif}
.ct-dp{color:#4b5563;line-height:1.8;margin:0 0 18px}
.ct-soon{margin-top:22px;padding:14px 16px;border-radius:12px;background:#fffbe6;border:1px dashed var(--y);font-size:14px;color:#6b5400}
/* ---------- পপআপ ---------- */
.ct-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ct-modal.ct-open{display:flex;animation:ctFade .25s ease}
@keyframes ctFade{from{opacity:0}to{opacity:1}}
@keyframes ctPop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.ct-mbox{position:relative;width:100%;max-width:480px;max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:24px 24px 22px;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:ctPop .3s ease}
.ct-modal .ct-mx{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f3f4f6;color:#111;font-size:20px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:.2s}
.ct-modal .ct-mx:hover{background:#e5e7eb;color:#111}
.ct-mcourse{display:flex;gap:12px;align-items:center;padding:10px;margin:4px 30px 16px 0;border-radius:14px;background:#fffbe6;border:1px solid #fde68a}
.ct-mcourse .ct-mimg{width:76px;height:46px;border-radius:8px;overflow:hidden;background:#0f172a;flex:none}
.ct-mcourse img{width:100%;height:100%;object-fit:cover;display:block}
.ct-mcourse b{display:block;font:700 14px/1.35 "Inter","Hind Siliguri",sans-serif}
.ct-mcourse span{font-size:13px;color:#6b5400}
.ct-steps{display:flex;gap:8px;margin-bottom:16px}
.ct-steps span{flex:1;text-align:center;font-size:12.5px;font-weight:600;padding:7px 4px;border-radius:999px;background:#f3f4f6;color:#6b7280}
.ct-steps span.on{background:var(--y);color:#111}
.ct-f{margin-bottom:12px}
.ct-f label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.ct-f input{width:100%;height:44px;margin:0;padding:0 14px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;font:500 15px "Hind Siliguri",sans-serif;color:#111827;outline:0;transition:.2s}
.ct-f input:focus{border-color:var(--y);box-shadow:0 0 0 4px rgba(255,195,0,.25)}
.ct-f small{display:block;color:#6b7280;font-size:12px;margin-top:4px}
.ct-amt{text-align:center;padding:12px;border-radius:14px;background:#111827;color:#fff;margin-bottom:14px}
.ct-amt small{display:block;color:#cbd5e1;font-size:12px}
.ct-amt b{font:700 26px "Inter",sans-serif;color:var(--y)}
.ct-methods{display:flex;gap:8px;margin-bottom:12px}
.ct-modal .ct-m{flex:1;height:42px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;font:700 14px "Inter",sans-serif;cursor:pointer;color:#111;transition:.2s;padding:0}
.ct-modal .ct-m.on{color:#fff}
.ct-modal .ct-m[data-m="bKash"].on{background:#e2136e;border-color:#e2136e}
.ct-modal .ct-m[data-m="Nagad"].on{background:#f6921e;border-color:#f6921e}
.ct-numbox{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1.5px dashed #d1d5db;border-radius:12px;margin-bottom:8px;background:#fafafa}
.ct-numbox small{display:block;color:#6b7280;font-size:12px}
.ct-numbox b{font:700 19px "Inter",sans-serif;letter-spacing:.5px}
.ct-modal .ct-copy{border:0;border-radius:10px;background:#111827;color:#fff;font:600 13px "Hind Siliguri",sans-serif;padding:8px 14px;cursor:pointer;transition:.2s}
.ct-modal .ct-copy:hover{background:#000;color:#fff}
.ct-how{font-size:13px;color:#4b5563;margin:0 0 14px;line-height:1.7}
.ct-err{color:#dc2626;font-size:13px;font-weight:600;margin:0 0 10px;min-height:0}
.ct-actions{display:flex;gap:10px}
.ct-modal .ct-ghost{flex:none;width:auto;height:42px;padding:0 18px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;color:#111;font:600 14px "Hind Siliguri",sans-serif;cursor:pointer}
.ct-modal .ct-ghost:hover{background:#f9fafb;color:#111}
.ct-success{text-align:center;padding:10px 4px 4px}
.ct-success .ct-ok{width:64px;height:64px;margin:6px auto 14px;border-radius:50%;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center}
.ct-success h4{margin:0 0 8px;font:700 21px "Hind Siliguri",sans-serif}
.ct-success p{margin:0 0 16px;color:#4b5563;line-height:1.7;font-size:14.5px}
.ct-success .ct-btn{margin-bottom:10px}
@media(max-width:1180px){.ct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.ct-head{flex-direction:column;align-items:flex-start}.ct-filters{flex-wrap:wrap;width:100%}.ct-dwrap{grid-template-columns:1fr}}
@media(max-width:860px){.ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-h2{font-size:28px}}
@media(max-width:560px){.ct-grid{grid-template-columns:1fr}.ct-search{width:100%;flex:1 1 100%}.ct-sel{flex:1 1 calc(50% - 6px);width:auto}.ct-h2{font-size:24px}.ct-mbox{padding:20px 16px}}
