/*
Theme Name: COETI Đào Tạo
Theme URI: https://coeti.edu.vn
Author: COETI
Author URI: https://coeti.edu.vn
Description: Theme WordPress giới thiệu các khóa đào tạo cấp chứng chỉ của Trường Cao đẳng Kinh tế Kỹ thuật Công nghiệp (COETI). Bố cục tối ưu để tìm khóa học nhanh theo nhóm ngành, có ô tìm kiếm và bộ lọc.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: coeti-daotao
*/

:root{
  --coeti-blue-dark:#0a1f44;
  --coeti-blue:#123a75;
  --coeti-blue-mid:#1c56a8;
  --coeti-blue-light:#eef3fb;
  --coeti-amber:#e8960c;
  --coeti-amber-dark:#c67a00;
  --coeti-teal:#0f9b8e;
  --coeti-gray-bg:#f6f8fb;
  --coeti-border:#e6ebf2;
  --coeti-text:#20293a;
  --coeti-text-light:#6b7787;
  --coeti-white:#ffffff;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --coeti-shadow:0 4px 22px rgba(10,31,68,.07);
  --coeti-shadow-lg:0 18px 44px rgba(10,31,68,.14);
  --font-head:"Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
  --font-body:"Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--coeti-text);
  position:relative;
  background:
    radial-gradient(820px 520px at 96% 4%, rgba(37,99,235,.13), transparent 62%),
    radial-gradient(760px 460px at 0% 30%, rgba(13,148,136,.12), transparent 60%),
    radial-gradient(700px 460px at 85% 62%, rgba(219,39,119,.09), transparent 60%),
    radial-gradient(680px 420px at 8% 85%, rgba(217,119,6,.10), transparent 60%),
    var(--coeti-white);
  line-height:1.68;
  font-size:15.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Dải sọc màu thương hiệu — điểm nhấn ngay dưới header */
.coeti-stripe{
  height:6px;width:100%;
  background:linear-gradient(90deg,#2563eb,#0d9488,#db2777,#16a34a,#d97706,#7c3aed);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{
  margin:0 0 14px;line-height:1.25;color:var(--coeti-blue-dark);
  font-family:var(--font-head);font-weight:700;letter-spacing:-.01em;
}
p{margin:0 0 14px;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 30px;
  border-radius:999px;
  font-weight:600;
  font-size:14.5px;
  font-family:var(--font-body);
  border:2px solid transparent;
  cursor:pointer;
  transition:.2s ease;
  letter-spacing:.1px;
}
.btn-primary{background:var(--coeti-amber);color:#1a1200;box-shadow:0 10px 24px rgba(232,150,12,.32);}
.btn-primary:hover{background:var(--coeti-amber-dark);transform:translateY(-1px);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;}

/* ===== Top bar ===== */
.coeti-topbar{
  background:var(--coeti-blue-dark);
  color:#a9bcdc;
  font-size:12.5px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.coeti-topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.coeti-topbar .org-line{text-transform:uppercase;letter-spacing:.6px;font-weight:500;}
.coeti-topbar .org-line strong{color:#fff;font-weight:600;}
.coeti-topbar .hotline{color:#fff;font-weight:600;display:flex;align-items:center;gap:7px;}
.coeti-topbar .hotline a{color:var(--coeti-amber);font-weight:700;}
.coeti-topbar .hotline span.tag{color:var(--coeti-amber);}

/* ===== Header ===== */
.coeti-header{
  background:var(--coeti-white);
  border-bottom:1px solid var(--coeti-border);
  position:sticky;top:0;z-index:100;
}
.coeti-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;gap:24px;flex-wrap:wrap;
}
.coeti-brand{display:flex;align-items:center;gap:12px;}
.coeti-brand img.custom-logo{width:52px;height:52px;object-fit:contain;}
.coeti-brand .brand-text .school-name{
  font-family:var(--font-head);font-weight:700;color:var(--coeti-blue-dark);font-size:15.5px;line-height:1.25;
}
.coeti-brand .brand-text .ministry-name{
  font-size:11px;color:var(--coeti-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:600;
}
.coeti-brand .brand-text .tagline{
  font-size:11.5px;color:var(--coeti-amber-dark);font-weight:600;margin-top:3px;
}

.coeti-nav{display:flex;align-items:center;gap:28px;}
.coeti-nav ul{display:flex;gap:8px;}
.coeti-nav ul li a{
  font-weight:600;font-size:14.5px;color:var(--coeti-text);padding:9px 14px;border-radius:999px;display:inline-block;transition:.15s;
}
.coeti-nav ul li a:hover,
.coeti-nav ul li.current-menu-item a{background:var(--coeti-blue-light);color:var(--coeti-blue-mid);}

.coeti-header-cta{display:flex;align-items:center;gap:10px;}
.coeti-header-cta .btn{padding:11px 22px;font-size:13.5px;}
.coeti-menu-toggle{display:none;background:none;border:none;font-size:24px;color:var(--coeti-blue);cursor:pointer;}

@media (max-width:900px){
  .coeti-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;padding:16px 20px;box-shadow:var(--coeti-shadow-lg);
  }
  .coeti-nav.open{display:flex;}
  .coeti-nav ul{flex-direction:column;gap:4px;}
  .coeti-menu-toggle{display:block;}
}

/* ===== Hero ===== */
.coeti-hero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(1100px 520px at 82% -10%, rgba(15,155,142,.35), transparent 60%),
             linear-gradient(135deg,var(--coeti-blue-dark) 0%, var(--coeti-blue) 55%, var(--coeti-blue-mid) 100%);
  color:#fff;padding:74px 0 84px;
}
.coeti-hero::after{
  content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(232,150,12,.22), transparent 70%);
}
.coeti-hero .container{display:flex;align-items:center;gap:48px;flex-wrap:wrap;position:relative;z-index:1;}
.coeti-hero-text{flex:1 1 440px;}
.coeti-hero-text .eyebrow{
  display:inline-block;background:rgba(255,255,255,.12);color:#dce9fb;
  padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;margin-bottom:16px;
}
.coeti-hero-text h1{color:#fff;font-size:38px;margin-bottom:16px;letter-spacing:-.02em;}
.coeti-hero-text p{color:#cfdcf0;font-size:16px;max-width:520px;}
.coeti-hero-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
.coeti-hero-search{flex:1 1 380px;background:#fff;border-radius:var(--radius-lg);padding:26px;box-shadow:var(--coeti-shadow-lg);}
.coeti-hero-search h3{font-size:16px;color:var(--coeti-blue-dark);font-family:var(--font-head);}
.coeti-hero-search form{display:flex;gap:8px;margin-top:12px;}
.coeti-hero-search input[type=search]{
  flex:1;padding:13px 16px;border:1.5px solid var(--coeti-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);
}
.coeti-hero-search input[type=search]:focus{outline:none;border-color:var(--coeti-blue-mid);}
.coeti-hero-search button{
  background:var(--coeti-blue-dark);border:none;color:#fff;padding:0 20px;border-radius:var(--radius-sm);font-weight:700;cursor:pointer;
}
.coeti-hero-search .quick-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.coeti-hero-search .quick-tags a{
  font-size:12.5px;font-weight:600;background:var(--coeti-blue-light);color:var(--coeti-blue-mid);padding:6px 13px;border-radius:20px;
}
.coeti-hero-search .quick-tags a:hover{background:var(--coeti-blue-mid);color:#fff;}

/* ===== Section titles ===== */
.section{padding:64px 0;position:relative;overflow:hidden;}
.section-alt{position:relative;overflow:hidden;}
.section .container,.section-alt .container{position:relative;z-index:1;}
.section-title{text-align:center;max-width:640px;margin:0 auto 40px;}
.section-title .eyebrow{color:var(--coeti-amber-dark);text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:1.2px;}
.section-title h2{font-size:28px;margin-top:8px;}
.section-title p{color:var(--coeti-text-light);}
.section-alt{background:linear-gradient(180deg, var(--coeti-blue-light) 0%, #fdfaf3 100%);}
.decor-dots{background:linear-gradient(180deg, #fff 0%, var(--coeti-blue-light) 100%);}
.decor-shape{background:linear-gradient(160deg, #fdf0dc 0%, #fff 45%, #efe6fc 100%);}

/* Sóng chuyển tiếp giữa hero và nội dung */
.wave-divider{display:block;width:100%;height:64px;margin-top:-2px;position:relative;z-index:1;}
.wave-divider path{fill:#fff;}

/* ===== Khối màu / họa tiết trang trí nền section ===== */
.decor-dots::before{
  content:"";position:absolute;left:-30px;bottom:-30px;width:230px;height:230px;z-index:0;
  background-image:radial-gradient(#c67a00 2.5px, transparent 2.5px);background-size:20px 20px;opacity:.35;
}
.decor-dots::after{
  content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;z-index:0;
  background:radial-gradient(circle, rgba(37,99,235,.16), transparent 70%);
}
.decor-blob::before{
  content:"";position:absolute;right:-150px;top:-110px;width:420px;height:420px;border-radius:50%;z-index:0;
  background:radial-gradient(circle, rgba(13,148,136,.20), transparent 70%);
}
.decor-blob::after{
  content:"";position:absolute;left:-150px;bottom:-150px;width:380px;height:380px;border-radius:50%;z-index:0;
  background:radial-gradient(circle, rgba(219,39,119,.14), transparent 70%);
}
.decor-shape::before{
  content:"";position:absolute;right:-70px;top:15%;width:300px;height:300px;z-index:0;
  background:linear-gradient(135deg, rgba(217,119,6,.18), rgba(124,58,237,.14));
  border-radius:42% 58% 55% 45%/50% 40% 60% 50%;
}
.decor-shape::after{
  content:"";position:absolute;left:-90px;bottom:-60px;width:220px;height:220px;z-index:0;
  background:radial-gradient(circle, rgba(37,99,235,.14), transparent 70%);border-radius:50%;
}

/* ===== Bộ màu nhận diện theo nhóm ngành ===== */
.clr-blue   { --clr:#2563eb; --clr-soft:#e6edfd; }
.clr-teal   { --clr:#0d9488; --clr-soft:#dff4f1; }
.clr-pink   { --clr:#db2777; --clr-soft:#fbe3ef; }
.clr-green  { --clr:#16a34a; --clr-soft:#e2f6e8; }
.clr-amber  { --clr:#d97706; --clr-soft:#fdf0dc; }
.clr-purple { --clr:#7c3aed; --clr-soft:#efe6fc; }

/* ===== Category grid (home) ===== */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;position:relative;z-index:1;}
.cat-card{
  position:relative;overflow:hidden;
  background:#fff;border-radius:var(--radius-lg);padding:28px 26px;box-shadow:var(--coeti-shadow);
  border:1px solid var(--coeti-border);transition:.22s;
}
.cat-card::before{
  content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
  background:var(--clr-soft,var(--coeti-blue-light));opacity:.7;z-index:0;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--coeti-shadow-lg);}
.cat-card .icon{
  position:relative;z-index:1;
  width:72px;height:72px;border-radius:50%;background:var(--clr,var(--coeti-blue-mid));
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  box-shadow:0 12px 24px -8px var(--clr,var(--coeti-blue-mid));
}
.cat-card .icon svg{width:32px;height:32px;color:#fff;}
.cat-card h3{position:relative;z-index:1;font-size:17px;color:var(--coeti-blue-dark);}
.cat-card .count{position:relative;z-index:1;color:var(--coeti-text-light);font-size:13px;margin-bottom:12px;}
.cat-card a.more{position:relative;z-index:1;color:var(--clr,var(--coeti-blue-mid));font-weight:700;font-size:13.5px;}
.cat-card a.more:hover{color:var(--coeti-amber-dark);}

.course-group-title .grp-icon{
  width:42px;height:42px;border-radius:50%;background:var(--clr,var(--coeti-blue-mid));
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  box-shadow:0 8px 16px -6px var(--clr,var(--coeti-blue-mid));
}
.course-group-title .grp-icon svg{width:20px;height:20px;color:#fff;}

/* ===== Course search / filter toolbar ===== */
.course-toolbar{
  background:linear-gradient(135deg,#fff, var(--coeti-blue-light));
  border-radius:var(--radius-md);box-shadow:var(--coeti-shadow);border:1px solid var(--coeti-border);border-top:4px solid var(--coeti-amber);
  padding:22px;margin-bottom:32px;
}
.course-toolbar input[type=search]{
  width:100%;padding:14px 18px;border:1.5px solid var(--coeti-border);border-radius:var(--radius-sm);font-size:15px;margin-bottom:16px;font-family:var(--font-body);
}
.course-toolbar input[type=search]:focus{outline:none;border-color:var(--coeti-blue-mid);}
.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;}
.filter-tabs button{
  border:1.5px solid var(--coeti-border);background:#fff;color:var(--coeti-text);
  padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s;font-family:var(--font-body);
}
.filter-tabs button.active,.filter-tabs button:hover{background:var(--coeti-blue-dark);border-color:var(--coeti-blue-dark);color:#fff;}
.result-count{font-size:13px;color:var(--coeti-text-light);margin-bottom:18px;}

/* ===== Course grid ===== */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:20px;}
.course-card{
  background:#fff;border:1px solid var(--coeti-border);border-left:4px solid var(--clr,var(--coeti-amber));border-radius:var(--radius-md);padding:22px;
  box-shadow:var(--coeti-shadow);display:flex;flex-direction:column;gap:8px;transition:.2s;
}
.course-card:hover{border-color:var(--coeti-border);border-left-color:var(--clr,var(--coeti-amber));transform:translateY(-3px);box-shadow:var(--coeti-shadow-lg);}
.course-card .tax-label{font-size:11px;color:var(--clr,var(--coeti-amber-dark));font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.course-card h4{font-size:15.5px;color:var(--coeti-blue-dark);margin:0;font-family:var(--font-head);}
.course-card p{font-size:13.5px;color:var(--coeti-text-light);flex:1;margin:0;}
.course-card a.detail{font-size:13px;font-weight:700;color:var(--coeti-blue-mid);margin-top:6px;}
.course-group-title{
  display:flex;align-items:center;gap:12px;
  margin:40px 0 18px;font-size:19px;color:var(--coeti-blue-dark);
  padding-bottom:12px;border-bottom:2px solid var(--clr-soft,var(--coeti-border));
}

/* ===== Process steps ===== */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;}
.step-card{background:#fff;border:1px solid var(--coeti-border);border-radius:var(--radius-md);box-shadow:var(--coeti-shadow);padding:28px 24px;position:relative;}
.step-card .num{
  width:40px;height:40px;border-radius:50%;background:var(--coeti-blue-dark);color:#fff;font-family:var(--font-head);
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:16px;font-size:15px;
}
.step-card:nth-child(1) .num{background:#2563eb;}
.step-card:nth-child(2) .num{background:#0d9488;}
.step-card:nth-child(3) .num{background:#d97706;}
.step-card:nth-child(4) .num{background:#7c3aed;}
.step-card h3{font-size:16px;}
.step-card p{font-size:13.5px;color:var(--coeti-text-light);margin:0;}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;}
.contact-info-card{background:#fff;border:1px solid var(--coeti-border);border-radius:var(--radius-md);box-shadow:var(--coeti-shadow);padding:28px;}
.contact-info-card ul{display:flex;flex-direction:column;gap:14px;margin-top:16px;}
.contact-info-card li{display:flex;gap:10px;font-size:14.5px;}
.contact-info-card li strong{color:var(--coeti-blue-dark);}
.contact-form{background:#fff;border:1px solid var(--coeti-border);border-radius:var(--radius-md);box-shadow:var(--coeti-shadow);padding:28px;}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;padding:13px 15px;border:1.5px solid var(--coeti-border);border-radius:var(--radius-sm);margin-bottom:14px;font-family:var(--font-body);font-size:14px;color:var(--coeti-text);background:#fff;
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--coeti-blue-mid);}
.contact-form textarea{min-height:110px;resize:vertical;}
.contact-form select{appearance:auto;cursor:pointer;}
.map-embed{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--coeti-shadow);margin-top:22px;border:1px solid var(--coeti-border);}
.map-embed iframe{width:100%;height:280px;border:0;display:block;}

/* ===== CTA band ===== */
.cta-band{
  background:linear-gradient(120deg,var(--coeti-blue-dark),var(--coeti-blue-mid));
  color:#fff;padding:48px 0;text-align:center;
}
.cta-band h2{color:#fff;font-size:23px;}
.cta-band p{color:#cfdcf0;}
.cta-band .btn-outline{border-color:#fff;color:#fff;}

/* ===== Footer ===== */
.coeti-footer{background:var(--coeti-blue-dark);color:#a9bcdc;padding:56px 0 22px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:34px;}
.footer-grid h4{color:#fff;font-size:14.5px;margin-bottom:16px;font-family:var(--font-head);}
.footer-grid ul li{margin-bottom:9px;font-size:13.5px;}
.footer-grid ul li a:hover{color:var(--coeti-amber);}
.footer-brand{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.footer-brand img{width:42px;height:42px;object-fit:contain;}
.footer-brand strong{color:#fff;font-size:14.5px;font-family:var(--font-head);font-weight:600;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:12.5px;text-align:center;color:#7f93b3;}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .coeti-hero-text h1{font-size:28px;}
  .section{padding:44px 0;}
}

/* ===== Nút nổi: Zalo chat + Gọi nhanh ===== */
.coeti-float-actions{
  position:fixed;right:20px;bottom:22px;z-index:999;
  display:flex;flex-direction:column;gap:14px;align-items:center;
}
.coeti-float-btn{
  position:relative;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.28);transition:.2s;
}
.coeti-float-btn:hover{transform:scale(1.08);}
.coeti-float-btn svg{width:26px;height:26px;}
.coeti-float-btn.zalo{background:#0068ff;}
.coeti-float-btn.zalo .ico-text{font-size:13px;font-weight:800;letter-spacing:-.3px;font-family:var(--font-head);}
.coeti-float-btn.call{background:#16a34a;}
.coeti-float-btn::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(255,255,255,.55);
  animation:coeti-pulse 2.2s infinite;
}
.coeti-float-btn.call::before{animation-delay:1.1s;}
@keyframes coeti-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.45);}
  70%{box-shadow:0 0 0 14px rgba(255,255,255,0);}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}
}
@media (max-width:600px){
  .coeti-float-actions{right:14px;bottom:14px;}
  .coeti-float-btn{width:50px;height:50px;}
}

/* Single course page */
.single-course-wrap{max-width:820px;margin:0 auto;}
.single-course-wrap .tax-label{font-size:12px;color:var(--coeti-amber-dark);font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.single-course-wrap .back-link{display:inline-block;margin-bottom:22px;font-size:13.5px;color:var(--coeti-blue-mid);font-weight:600;}
.single-course-wrap .course-cta{
  margin-top:28px;background:var(--coeti-blue-light);border-radius:var(--radius-md);padding:24px;text-align:center;
}
