@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@500;600;700&family=Sarabun:wght@400;500;600;700&family=Montserrat:wght@500;600;700&display=swap');

:root{
  --navy:#102A43;
  --navy-deep:#0A1C2E;
  --blue:#2563EB;
  --gold:#D0A72C;
  --gold-deep:#B48F22;
  --white:#F8FAFC;
  --slate:#64748B;
  --ink:#1B2430;
}
*{box-sizing:border-box;}
html{max-width:100vw;}
body{margin:0;font-family:'Sarabun',sans-serif;background:var(--white);color:var(--ink);line-height:1.6;max-width:100vw;}
h1,h2,h3{font-family:'Prompt',sans-serif;}
.wrap{max-width:1080px;margin:0 auto;padding:24px 16px 64px;}

header.site{
  background:var(--navy);color:#fff;padding:10px 24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(10,28,46,.25);
}
header.site a.brand{
  color:#fff;text-decoration:none;font-family:'Prompt',sans-serif;font-weight:700;font-size:18px;
  display:flex;flex-direction:column;line-height:1.2;
}
header.site a.brand img{height:48px;max-width:55vw;width:auto;object-fit:contain;display:block;}
@media(max-width:480px){ header.site a.brand img{height:30px;} }
header.site .nav{display:flex;align-items:center;gap:18px;}
header.site .nav a{color:#fff;text-decoration:none;font-weight:500;font-size:14px;opacity:.9;}
header.site .nav a.cta{
  background:var(--gold);color:var(--navy-deep);padding:9px 20px;border-radius:24px;font-weight:700;opacity:1;
}
header.site .nav a.cta:hover{background:var(--gold-deep);}

/* Hero */
.hero{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 60%,var(--blue) 140%);
  color:#fff;padding:56px 24px;
}
.hero-inner{max-width:1080px;margin:0 auto;}
.hero h1{font-size:34px;font-weight:700;line-height:1.3;margin:0 0 10px;}
.gold-underline{width:110px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:2px;margin:0 0 18px;}
.hero p.sub{font-size:15px;color:#C9D6E3;max-width:520px;margin:0 0 22px;}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;}

.btn{
  font-family:'Sarabun',sans-serif;font-weight:700;font-size:15px;
  padding:12px 26px;border-radius:24px;border:none;cursor:pointer;text-decoration:none;
  display:inline-block;text-align:center;
}
.btn-primary{background:var(--gold);color:var(--navy-deep);}
.btn-primary:hover{background:var(--gold-deep);}
.btn-secondary{background:transparent;color:#fff;border:1.5px solid #fff;}
.btn-secondary:hover{background:rgba(255,255,255,.12);}

/* Section headings */
.section{padding:44px 0;}
.section h2{font-size:22px;color:var(--navy);margin:0 0 20px;font-weight:700;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;}
.section-head a{color:var(--blue);font-size:13.5px;text-decoration:none;font-weight:600;}

.zone-popular{
  background:linear-gradient(135deg,#FFFDF6 0%,#FBF3DA 100%);
  padding:44px 0;border-top:1px solid #F0E0B0;border-bottom:1px solid #F0E0B0;
}
.zone-popular .section-head h2{position:relative;display:inline-block;color:var(--navy);padding-bottom:10px;margin:0;}
.zone-popular .section-head h2::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;
  background:linear-gradient(90deg,var(--gold),transparent);border-radius:2px;
}

.zone-mini{
  background:linear-gradient(135deg,#F5FAFF 0%,#E8F1FC 100%);
  padding:44px 0;border-bottom:1px solid #D6E4F5;
}
.zone-mini .section-head h2{position:relative;display:inline-block;color:var(--navy);padding-bottom:10px;margin:0;}
.zone-mini .section-head h2::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;
  background:linear-gradient(90deg,var(--blue),transparent);border-radius:2px;
}

/* Cards */
.card{background:#fff;border:1px solid #E4E9F0;border-radius:10px;padding:18px 20px;margin-bottom:16px;}
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.course-card{background:#fff;border:1px solid #E4E9F0;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:block;transition:box-shadow .15s;}
.cat-filter-btn{
  background:#fff;border:1.5px solid #E4E9F0;color:var(--navy);font-family:'Sarabun',sans-serif;
  font-size:13.5px;font-weight:600;padding:7px 16px;border-radius:20px;cursor:pointer;transition:.15s;
}
.cat-filter-btn:hover{border-color:var(--blue);}
.cat-filter-btn.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.course-card:hover{box-shadow:0 6px 18px rgba(16,42,67,.12);}
.course-card img{width:100%;height:130px;object-fit:cover;background:#EEF1F5;}
.course-card .body{padding:14px;}
.course-card h3{font-size:14.5px;margin:0 0 8px;color:var(--ink);font-weight:600;font-family:'Sarabun',sans-serif;}
.course-card .price{font-size:13px;color:var(--slate);}
.course-card .price b{color:var(--navy);font-size:16px;font-family:'Montserrat',sans-serif;}

/* Stats bar */
.stats-bar{background:var(--navy-deep);color:#fff;padding:32px 24px;}
.stats-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;text-align:center;}
.stats-grid .num{font-family:'Montserrat',sans-serif;font-size:26px;font-weight:700;color:var(--gold);}
.stats-grid .label{font-size:13px;color:#C9D6E3;margin-top:4px;}

/* Feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.feature-item{padding:16px;}
.feature-item .icon{
  width:42px;height:42px;border-radius:10px;background:#EAF0FE;color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:10px;
}
.feature-item h4{margin:0 0 4px;font-size:15px;color:var(--navy);font-family:'Sarabun',sans-serif;font-weight:700;}
.feature-item p{margin:0;font-size:13px;color:var(--slate);}

/* Forms */
label{display:block;font-size:13px;margin-bottom:4px;color:var(--slate);}
input[type=email],input[type=password],input[type=text],input[type=file],
input[type=date],input[type=time],input[type=number],textarea{
  width:100%;padding:10px 12px;border:1px solid #D9DFE7;border-radius:6px;font-family:inherit;font-size:15px;margin-bottom:14px;
  background:#fff;color:var(--ink);
}
select{
  width:100%;padding:10px 38px 10px 12px;border:1px solid #D9DFE7;border-radius:6px;
  font-family:inherit;font-size:15px;margin-bottom:14px;background:#fff;color:var(--ink);
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1L7 7L13 1' stroke='%2364748B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:13px 8px;
}
select:focus,
input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,input[type=file]:focus,
input[type=date]:focus,input[type=time]:focus,input[type=number]:focus,textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
button{
  font-family:inherit;font-size:15px;font-weight:700;padding:11px 22px;border-radius:24px;
  border:none;background:var(--blue);color:#fff;cursor:pointer;
}
button:hover{background:#1D4FC4;}
button.secondary{background:#fff;color:var(--navy);border:1.5px solid var(--navy);}

.badge{display:inline-block;font-size:12px;padding:3px 10px;border-radius:20px;font-weight:600;}
.badge.pending{background:#FCEFD3;color:#8A5A00;}
.badge.approved{background:#DCF3E4;color:#0F7A3D;}
.badge.rejected{background:#FBE0E0;color:#B3261E;}
.notice{padding:12px 14px;border-radius:6px;font-size:14px;margin-bottom:16px;}
.notice.info{background:#E8F0FE;color:#1D4FC4;}
.notice.error{background:#FBE0E0;color:#B3261E;}
#qrBox{text-align:center;padding:16px;background:#fff;border:1px dashed #D9DFE7;border-radius:10px;}
.empty{color:var(--slate);}

footer.site{background:var(--navy-deep);color:#C9D6E3;padding:36px 24px 20px;font-size:13.5px;border-top:3px solid var(--gold);}
footer.site .foot-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;}
footer.site h5{color:#fff;font-size:14px;margin:0 0 10px;font-family:'Prompt',sans-serif;}
footer.site a{color:#C9D6E3;text-decoration:none;display:block;margin-bottom:6px;transition:color .15s;}
footer.site a:hover{color:var(--gold);}
