/* Base */
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;background:#0b0c0f;color:#e8ecf3}
a{color:#b7ff8a;text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.card{background:#0f1115;border:1px solid #1a1f2b;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.25);margin:22px 0}
.center{text-align:center}.muted{color:#9aa3b2}.lead{max-width:800px;margin:8px auto 0;color:#cfd6e6}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:#0d100f;border-bottom:1px solid #1a1f2b}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.logo{display:flex;align-items:center;font-weight:800;letter-spacing:.2px;color:#e8ecf3}
.logo .logo-mark{font-size:24px;margin-right:8px}
.logo .logo-text span{color:#7de36a}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav-link{padding:8px 10px;border-radius:10px}
.nav-link.active,.nav-link:hover{background:#162016}

/* Breadcrumbs */
.breadcrumbs{border-bottom:1px solid #1a1f2b;background:#0e1014}
.breadcrumbs .wrap{padding:10px 16px;color:#9aa3b2}
.breadcrumbs a{color:#cfe9bf}.breadcrumbs .sep{margin:0 8px;color:#57606a}

/* Hero */
.hero{text-align:center}.hero-badges{font-size:28px;margin-bottom:8px}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.btn{display:inline-block;padding:12px 16px;border-radius:999px;border:1px solid #3a4f3a;font-weight:600}
.btn.primary{background:#1c5f1e;border-color:#1c5f1e;color:#fff}.btn.ghost{color:#c8f3b4;border-color:#365136}

/* Utilities */
.flat-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.grid-3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.book-card{display:flex;gap:10px;align-items:center;background:#0f1412;border:1px solid #1c2a1c;border-radius:12px;padding:12px}
.book-title{font-weight:600}.book-sub{color:#9aa3b2;font-size:14px}

/* Footer */
.site-footer{background:#0d100f;border-top:1px solid #1a1f2b;margin-top:24px}
.site-footer .footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.site-footer h4{margin:8px 0}.link-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.legal{margin-top:16px;color:#9aa3b2;text-align:center}

/* Courses grid (2 columns) */
.section-head{text-align:center;margin-bottom:14px}
.section-head .eyebrow{text-transform:uppercase;font-weight:600;letter-spacing:.08em;opacity:.85;margin-bottom:4px}
.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px}
.course-card{background:#0f1115;border:1px dashed #2a3430;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.25);margin:0}
.course-card .thumb{display:block;position:relative;border-bottom:1px solid #1a1f2b;border-top-left-radius:16px;border-top-right-radius:16px;overflow:hidden}
.course-card .thumb img{width:100%;height:auto;display:block}
.price-pill{position:absolute;bottom:12px;right:12px;background:#1e3a8a;color:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.course-body{padding:12px 14px}
.course-title{margin:2px 0 8px;font-size:18px}
.course-title a{color:#e8ecf3;text-decoration:none}.course-title a:hover{text-decoration:underline}
.course-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px;padding:0;list-style:none;color:#9aa3b2;font-size:14px}
.course-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #1a1f2b}
.teacher{display:flex;align-items:center;gap:8px}.avatar{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#12161c;border:1px solid #1e2930}
.stars{font-size:12px;letter-spacing:2px;color:#ffd166}

/* Responsive */
@media(max-width:1000px){.grid-3{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}}

/* ===== Course Detail Layout (structure only) ===== */
.course-detail{display:grid;grid-template-columns:280px 1fr;gap:20px}
.cd-sidebar{background:#0f1115;border:1px solid #1a1f2b;border-radius:16px;padding:14px;align-self:start;position:sticky;top:80px}
.cd-side-title{margin:6px 0 10px}
.cd-side-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cd-side-links a{display:block;padding:10px 12px;border:1px solid #1a1f2b;border-radius:12px;text-decoration:none}
.cd-side-links a:hover{background:#10151a}
.cd-main{min-width:0}
.cd-hero img{width:100%;height:auto;border-radius:16px;border:1px solid #1a1f2b;display:block}
.cd-badge{display:inline-block;border:1px solid #1a1f2b;border-radius:999px;padding:6px 10px;font-size:12px;margin-top:10px}
.cd-title{margin:8px 0 4px}
.cd-rating{color:#ffd166;margin-bottom:8px}

.cd-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;margin:6px 0 10px;padding:0}
.cd-meta li{background:#0f1412;border:1px solid #1a1f2b;border-radius:12px;padding:10px}
.cd-meta .k{font-size:12px;color:#9aa3b2}
.cd-meta .v{font-weight:600}

.cd-enroll{display:flex;align-items:center;justify-content:space-between;background:#0f1412;border:1px solid #1a1f2b;border-radius:12px;padding:12px;margin:8px 0 16px}
.cd-enroll .price{font-size:26px;font-weight:800}
.cd-enroll .sign{opacity:.9}.cd-enroll .per{font-size:14px;opacity:.8}

.cd-h2{margin-top:12px;margin-bottom:6px}
.cd-h3{margin-top:8px;margin-bottom:4px}

.cd-tick{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.cd-tick li::before{content:"✔";margin-right:8px;color:#7de36a}

.cd-media img{width:100%;height:auto;border-radius:16px;border:1px solid #1a1f2b;display:block;margin-top:6px}
.cd-media figcaption{margin-top:4px}

.cd-accordion{display:grid;gap:10px;margin-top:6px}
.cd-acc{border:1px solid #1a1f2b;border-radius:12px;background:#0f1115;padding:0}
.cd-acc summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px}
.cd-acc summary .wk{font-size:12px;border:1px solid #1a1f2b;border-radius:999px;padding:4px 8px}
.cd-acc .cd-acc-body{padding:8px 14px 12px;border-top:1px solid #1a1f2b}
.cd-lesson{display:flex;gap:10px;align-items:flex-start;margin:8px 0}
.cd-lesson .thumb{width:80px;height:60px;border-radius:8px;border:1px solid #1a1f2b;object-fit:cover}
.cd-lesson .lt{font-weight:600}

.cd-instructors{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.cd-instructor{background:#0f1115;border:1px solid #1a1f2b;border-radius:16px;padding:12px}
.cd-instructor img{width:100%;height:auto;border-radius:12px;border:1px solid #1a1f2b}
.cd-instructor .nm{font-weight:700;margin-top:6px}
.cd-instructor .role{font-size:12px;margin-bottom:4px}

@media (max-width: 1000px){
  .course-detail{grid-template-columns:1fr}
  .cd-sidebar{position:static;order:2}
  .cd-main{order:1}
  .cd-meta{grid-template-columns:repeat(2,1fr)}
  .cd-instructors{grid-template-columns:1fr}
}

/* ===== Contact Page (model layout) ===== */
.contact-section{padding:18px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.contact-left h1{margin:0 0 6px}
.contact-sub{margin:10px 0 8px}
.contact-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}
.contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-list .ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #1a1f2b;background:#0f1412;font-size:16px}
.contact-map{margin-top:12px}
.contact-map iframe{width:100%;height:300px;border:1px solid #1a1f2b;border-radius:14px}
.contact-right{display:flex}
.card-lite{background:#0f1115;border:1px dashed #2a3430;border-radius:16px;padding:16px;width:100%}
.card-lite h2{margin:0 0 6px}
.field{margin-top:10px}
.field input,.field select,.field textarea{width:100%;padding:12px 12px;border-radius:12px;border:1px solid #1a1f2b;background:#0f1412;color:#e8ecf3}
.field select{appearance:none}
.actions{margin-top:12px;display:flex;justify-content:flex-start}
@media (max-width: 1000px){
  .contact-grid{grid-template-columns:1fr}
  .contact-map iframe{height:220px}
}

/* === CONTACT PAGE: enforce 2-col grid & generous padding === */
.contact-section{padding:22px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.contact-left{min-width:0}
.contact-right{min-width:0;display:flex}
.card-lite{width:100%;border:1px solid #1a1f2b;border-radius:16px;padding:24px}
.card-lite .field{margin-top:12px}
.card-lite input,.card-lite select,.card-lite textarea{
  width:100%;
  padding:14px 14px;
  border-radius:12px;
  border:1px solid #1a1f2b;
  background:#0f1412;
  color:#e8ecf3;
}
.card-lite textarea{min-height:140px;resize:vertical}
.card-lite .actions{margin-top:16px}
.card-lite .btn{padding:12px 18px;border-radius:999px}

.contact-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:12px}
.contact-list .ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #1a1f2b;background:#0f1412}
.contact-map{margin-top:14px}
.contact-map iframe{width:100%;height:320px;border:1px solid #1a1f2b;border-radius:14px}

@media (max-width: 1000px){
  .contact-grid{grid-template-columns:1fr}
  .contact-map iframe{height:240px}
}

/* ===== Class page model ===== */
.class-overview{padding-top:18px}
.compare-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.plan{background:#0f1115;border:1px solid #1a1f2b;border-radius:16px;padding:14px;position:relative}
.plan-premium{box-shadow:0 0 0 2px #1e3a1e inset;border-color:#1e3a1e}
.most-popular{position:absolute;top:-10px;right:12px;border:1px solid #1a1f2b;border-radius:999px;padding:4px 8px;font-size:12px}
.plan h3{margin:0 0 6px}
.plan h3 small{display:block;color:#9aa3b2;font-size:12px}
.tick,.cross{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:460px;overflow:auto}
.tick li::before{content:"✔";margin-right:8px;color:#7de36a}
.cross li::before{content:"✖";margin-right:8px;color:#ff6b6b}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.stat{background:#0f1412;border:1px solid #1a1f2b;border-radius:12px;padding:12px;text-align:center}
.stat .num{font-weight:800;font-size:20px}
.columns-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cta-banner{text-align:center}
@media (max-width: 1000px){
  .compare-3{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .columns-2{grid-template-columns:1fr}
}

/* ===== Reviews page ===== */
.reviews{padding-top:12px}
.t-card{position:relative;background:#0f1115;border:1px solid #1a1f2b;border-radius:14px;padding:14px 16px;margin:14px auto;max-width:860px}
.t-card .quote{position:absolute;left:12px;top:6px;font-size:32px;opacity:.9}
.t-title{margin:0 0 6px 28px;font-style:italic}
.t-body{margin:6px 0 8px 28px;color:#cfd6e6}
.t-rating{margin-left:28px;color:#ffd166;font-size:14px}
.t-by{margin-left:28px;font-size:13px}
