/* Học viện · trang con nhóm "Tiếng Trung" — 24/10/2026. CSS tự viết (băng tiêu đề hồng/đỏ, thanh bên dạng viên thuốc kiểu trang chính sách,
   thẻ khóa học, chi tiết khóa học có thẻ mua nổi, Góc học tập, giáo viên, sự kiện, 404). Biến --tt-* ở f-tiengtrung.css. */

/* con dấu đỏ dùng chung (cũng có ở v-zh1.css cho trang chủ) */
.tt-seal{display:inline-grid;place-items:center;width:64px;height:64px;font-size:40px;color:#fff;background:#c41e26;border:3px solid #fff;border-radius:12px;box-shadow:0 10px 22px rgba(0,0,0,.18);rotate:-8deg;position:relative;font-family:var(--tt-cjk);line-height:1}
.tt-seal::before{content:"";position:absolute;inset:5px;border:1.5px solid rgba(255,255,255,.6);border-radius:7px}
.tt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tt-c1{background:var(--tt-teal)!important}
.tt-c2{background:#d9822b!important}
.tt-c3{background:#b83a5e!important}

/* ---------- băng tiêu đề ---------- */
.tt-band{position:relative;overflow:hidden;background:linear-gradient(180deg,#fdf0ee 0%,#fff6f4 100%);border-bottom:1px solid #f6e5e1;padding:38px 0 42px}
.tt-band__in{position:relative;z-index:2}
.tt-band h1{font-size:40px;line-height:1.2;font-weight:800;margin:10px 0 0;max-width:900px;letter-spacing:-.01em}
.tt-band__intro{margin:12px 0 0;max-width:760px;font-size:17px;color:var(--tt-text)}
.tt-band__hz{position:absolute;right:4%;top:50%;translate:0 -50%;font-size:210px;color:var(--tt-red);opacity:.07;pointer-events:none;z-index:1}
.tt-band__tag{display:inline-block;margin-top:12px;padding:5px 14px;border-radius:30px;background:#fff;color:var(--tt-red);font-size:14px;font-weight:700}
.tt-band__meta{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;color:var(--tt-text)}
.tt-band__meta li{display:inline-flex;align-items:center;gap:7px}
.tt-band__meta svg{color:var(--tt-red)}
.tt-crumb{display:flex;flex-wrap:wrap;gap:4px;font-size:14.5px;color:var(--tt-muted)}
.tt-crumb a{color:var(--tt-red)}
.tt-crumb a:hover{text-decoration:underline}
.tt-crumb a::after{content:"/";margin-left:6px;color:var(--tt-muted)}
.tt-band--center{text-align:center;padding:44px 0 46px}
.tt-band--center h1{margin:14px auto 0;font-size:46px}
.tt-band--center .tt-band__intro{margin-left:auto;margin-right:auto;font-size:18px}
.tt-band__seal.tt-seal{width:62px;height:62px;font-size:38px}
.tt-band--red{color:#fff;border:0;background-color:var(--tt-red);
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:34px 34px;padding:46px 0 54px}
.tt-band--red h1{color:#fff;font-size:44px}
.tt-band--red .tt-band__intro,.tt-band--red .tt-band__meta{color:rgba(255,255,255,.92)}
.tt-band--red .tt-band__meta svg{color:var(--tt-gold)}
.tt-band--red .tt-crumb,.tt-band--red .tt-crumb a::after{color:rgba(255,255,255,.75)}
.tt-band--red .tt-crumb a{color:#fff}
.tt-band--red .tt-band__hz{color:#000;opacity:.1}
.tt-band--red .tt-band__tag{color:var(--tt-red)}
.tt-band__lantern{position:absolute;top:-6px;right:14%;width:48px;z-index:2;filter:drop-shadow(0 8px 12px rgba(0,0,0,.2))}
.tt-band__photo{position:absolute;inset:0 0 0 auto;width:46%;background-size:cover;background-position:center;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%);opacity:.55}
.tt-band--photo .tt-band__in{max-width:1440px}
.tt-band--photo h1,.tt-band--photo .tt-band__intro{max-width:720px}

/* ---------- khung trang ---------- */
.tt-page{padding:44px 0 72px}
.tt-two{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.tt-two--doc .tt-main{max-width:920px}
.tt-main{min-width:0}
.tt-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.tt-side--sticky{position:sticky;top:104px}
.tt-sidemenu{display:flex;flex-direction:column;gap:4px}
.tt-sidemenu h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tt-muted);margin:0 0 6px 12px}
.tt-sidemenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;font-size:15px;font-weight:500;color:var(--tt-ink);transition:background .2s,color .2s}
.tt-sidemenu a small{font-size:12.5px;color:var(--tt-muted);font-weight:500}
.tt-sidemenu a:hover{background:#fbf1ef;color:var(--tt-red)}
.tt-sidemenu a.is-on{background:var(--tt-cream2);color:var(--tt-red);font-weight:700}
.tt-sidemenu a.is-on small{color:var(--tt-red)}
.tt-sidecard{position:relative;overflow:hidden;padding:20px;border-radius:var(--tt-r);background:var(--tt-cream);border:1px solid #f4e2dd}
.tt-sidecard h3{position:relative;font-size:17px;margin:0 0 12px}
.tt-sidecard>.tt-cjk{position:absolute;right:-6px;bottom:-14px;font-size:96px;color:var(--tt-red);opacity:.1}
.tt-sidelist{display:flex;flex-direction:column;gap:2px}
.tt-sidelist h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tt-muted);margin:0 0 6px 12px}
.tt-sidelist a{display:block;padding:9px 12px;border-radius:10px}
.tt-sidelist a:hover{background:#fbf1ef}
.tt-sidelist b{display:block;font-size:14.5px;font-weight:600;color:var(--tt-ink);line-height:1.4}
.tt-sidelist small{font-size:12.5px;color:var(--tt-muted)}
.tt-search{display:flex;align-items:center;border:1px solid #e9dcd8;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.tt-search:focus-within{border-color:var(--tt-red);box-shadow:0 0 0 3px var(--tt-red-s)}
.tt-search input{flex:1;min-width:0;border:0;background:transparent;padding:11px 14px;font:400 15px var(--tt-font);color:var(--tt-ink);outline:0}
.tt-search button{flex:none;width:44px;height:44px;border:0;background:transparent;color:var(--tt-red);cursor:pointer;display:grid;place-items:center}
.tt-select{position:relative;display:inline-flex}
.tt-select select{appearance:none;-webkit-appearance:none;min-height:42px;padding:8px 36px 8px 14px;border:1px solid #e9dcd8;border-radius:10px;background:#fff;font:500 14.5px var(--tt-font);color:var(--tt-ink);cursor:pointer}
.tt-select::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:2px solid var(--tt-muted);border-bottom:2px solid var(--tt-muted);translate:0 -70%;rotate:45deg;pointer-events:none}
.tt-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin:0 0 22px}
.ac .tt-bar__t{font-size:26px;font-weight:800;margin:0;text-transform:none}
.ac .tt-bar__t::after{content:"";display:block;width:40px;height:3px;border-radius:2px;background:var(--tt-red);margin-top:10px}
.tt-bar__r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tt-found{font-size:14.5px;color:var(--tt-muted)}
.tt-found a{color:var(--tt-red);font-weight:600}
.tt-found--top{margin:0 0 18px}
.tt-views{display:inline-flex;gap:4px;padding:3px;border-radius:10px;background:#f7efed}
.tt-views a{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:var(--tt-muted)}
.tt-views a.is-on{background:#fff;color:var(--tt-red);box-shadow:0 2px 6px rgba(0,0,0,.06)}
.tt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.tt-chips a,.tt-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:30px;background:#fff;border:1px solid #eedfdb;font-size:14.5px;font-weight:600;color:var(--tt-ink);transition:background .2s,color .2s,border-color .2s}
.tt-chips a small{color:var(--tt-muted);font-weight:500}
.tt-chips a:hover{border-color:var(--tt-red);color:var(--tt-red)}
.tt-chips a.is-on{background:var(--tt-red);border-color:var(--tt-red);color:#fff}
.tt-chips a.is-on small{color:rgba(255,255,255,.8)}
.tt-chips--soft span{background:var(--tt-cream2);border-color:transparent;color:#a3262c;font-size:14px}
.tt-filter{margin:0 0 24px;padding:18px;border-radius:var(--tt-r);background:var(--tt-cream);border:1px solid #f4e2dd}
.tt-filter .tt-chips{margin-bottom:14px}
.tt-filter__row{display:flex;flex-wrap:wrap;gap:10px}
.tt-filter__q{flex:1;min-width:220px}
.tt-emptybox{position:relative;overflow:hidden;text-align:center;padding:52px 24px;border-radius:var(--tt-r);background:#fff;border:1px dashed #e8d3ce}
.tt-emptybox>.tt-cjk{display:block;font-size:72px;color:var(--tt-red);opacity:.18;margin-bottom:6px}
.tt-emptybox h2{font-size:24px;margin:0 0 8px}
.tt-emptybox p{margin:0 0 18px;color:var(--tt-muted)}
.tt-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:36px}
.tt-pager a,.tt-pager span{min-width:42px;height:42px;padding:0 8px;border-radius:10px;display:grid;place-items:center;font-weight:600;border:1px solid #eee0dc;background:#fff;color:var(--tt-ink)}
.tt-pager a:hover{border-color:var(--tt-red);color:var(--tt-red)}
.tt-pager .is-on{background:var(--tt-red);border-color:var(--tt-red);color:#fff}
.tt-pager__gap{border:0!important;background:transparent!important}

/* ---------- thẻ khóa học ---------- */
.tt-cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tt-cgrid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tt-cgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tt-cgrid--list{grid-template-columns:1fr}
.tt-ccard{display:flex;flex-direction:column;border-radius:var(--tt-r);overflow:hidden;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow)}
.tt-ccard__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--tt-pink)}
.tt-ccard__img img{width:100%;height:100%;object-fit:cover}
.tt-ccard__img span{position:absolute;left:12px;top:12px;padding:4px 12px;border-radius:30px;background:#fff;color:var(--tt-red);font-size:12.5px;font-weight:700}
.tt-ccard__body{flex:1;display:flex;flex-direction:column;padding:18px 18px 20px}
.tt-ccard__cat{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--tt-teal);text-transform:uppercase;letter-spacing:.03em}
.tt-ccard h3{font-size:18px;line-height:1.38;font-weight:700;margin:0 0 10px}
.tt-ccard h3 a:hover{color:var(--tt-red)}
.tt-ccard__meta{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--tt-muted)}
.tt-ccard__meta li{display:inline-flex;align-items:center;gap:6px;min-width:0}
.tt-ccard__meta li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-ccard__meta svg{color:var(--tt-teal);flex:none}
.tt-ccard__desc{margin:0 0 16px;font-size:15px;color:var(--tt-text)}
.tt-ccard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px dashed #f0e1dd}
.tt-ccard__foot .tt-btn{border-radius:6px;min-height:38px;padding:7px 16px;font-size:14.5px}
.tt-price{display:flex;flex-direction:column;align-items:flex-end;color:var(--tt-red);font-size:17px;font-weight:800;line-height:1.2}
.tt-price del{font-size:12.5px;font-weight:500;color:var(--tt-muted)}
.tt-ccard--list{flex-direction:row}
.tt-ccard--list .tt-ccard__img{flex:none;width:34%;aspect-ratio:auto;min-height:210px}

/* ---------- chi tiết khóa học ---------- */
.tt-detail{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:40px;align-items:start}
.tt-page--detail{padding-top:36px}
.tt-side--buy{position:sticky;top:104px}
.tt-page--detail .tt-side--buy{margin-top:-150px;z-index:5}
.tt-buy{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow2)}
.tt-buy__img{position:relative;aspect-ratio:16/10;background:var(--tt-pink)}
.tt-buy__img img{width:100%;height:100%;object-fit:cover}
.tt-buy__img span{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:30px;background:rgba(255,255,255,.95);color:var(--tt-red);font-size:13px;font-weight:700}
.tt-buy__date{padding:22px;text-align:center;background:var(--tt-red);color:#fff;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:26px 26px}
.tt-buy__date b{display:block;font-size:56px;line-height:1;font-weight:800}
.tt-buy__date b.is-text{font-size:22px}
.tt-buy__date span{font-size:15px;opacity:.92}
.tt-buy__in{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px}
.tt-buy__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-bottom:4px}
.tt-buy__price b{font-size:30px;font-weight:800;color:var(--tt-red);line-height:1.15}
.tt-buy__price del{color:var(--tt-muted);font-size:16px}
.tt-buy__price span{padding:3px 10px;border-radius:30px;background:var(--tt-gold);color:#7a3d00;font-size:13px;font-weight:800}
.tt-buy__btn{width:100%}
.tt-buy__call{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;color:var(--tt-ink);padding:6px}
.tt-buy__call:hover{color:var(--tt-red)}
.tt-facts{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid #f3e8e5}
.tt-facts li{display:grid;grid-template-columns:20px auto 1fr;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f3e8e5;font-size:14.5px}
.tt-facts svg{color:var(--tt-teal)}
.tt-facts span{color:var(--tt-muted)}
.tt-facts b{text-align:right;color:var(--tt-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-share{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14.5px;color:var(--tt-muted)}
.tt-share button{width:40px;height:40px;border-radius:50%;border:1px solid #eadcd8;background:#fff;color:var(--tt-red);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.tt-share button:hover,.tt-share button.is-done{background:var(--tt-red);color:#fff;border-color:var(--tt-red)}
.tt-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;margin:0 0 28px;border-radius:14px;background:#f8efed;width:max-content;max-width:100%}
.tt-tabs button{border:0;background:transparent;padding:10px 20px;border-radius:10px;font:600 15.5px var(--tt-font);color:var(--tt-text);cursor:pointer;transition:background .2s,color .2s}
.tt-tabs button.is-on{background:#fff;color:var(--tt-red);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ac .tt-h{font-size:28px;font-weight:800;line-height:1.25;margin:0 0 16px}
.tt-h small{font-size:16px;color:var(--tt-muted);font-weight:500}
.ac .tt-h3{font-size:20px;font-weight:700;margin:26px 0 12px}
.tt-sub{margin:-6px 0 18px;color:var(--tt-muted)}
.tt-sub b{color:var(--tt-red)}
.tt-lead{font-size:17px;line-height:1.7;color:var(--tt-text);margin:0 0 18px}
.tt-teal-sub{margin:-4px 0 14px;color:var(--tt-teal);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.ac .tt-related-h{margin-top:46px}
.tt-video{display:block;width:100%;border-radius:var(--tt-r);background:#000;margin:22px 0}
.tt-goals{margin:26px 0;padding:22px 24px;border-radius:var(--tt-r);background:var(--tt-cream);border:1px solid #f4e2dd}
.tt-goals h3{font-size:20px;margin:0 0 14px}
.tt-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tt-ticks--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.tt-ticks li{position:relative;padding-left:28px;line-height:1.55}
.tt-ticks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--tt-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.tt-outline{display:flex;flex-direction:column;gap:12px}
.tt-part{border-radius:14px;border:1px solid #efe2de;background:#fff;overflow:hidden}
.tt-part summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:700;color:var(--tt-ink)}
.tt-part summary::-webkit-details-marker{display:none}
.tt-part summary>svg{flex:none;color:var(--tt-muted);transition:rotate .25s}
.tt-part[open] summary{background:var(--tt-cream);border-bottom:1px solid #f4e2dd}
.tt-part[open] summary>svg{rotate:180deg;color:var(--tt-red)}
.tt-part__n{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--tt-cream2);color:var(--tt-red);font-size:14px}
.tt-part[open] .tt-part__n{background:var(--tt-red);color:#fff}
.tt-part__t{flex:1;min-width:0}
.tt-part summary small{flex:none;font-weight:500;color:var(--tt-muted);font-size:13.5px}
.tt-part__body{padding:6px 18px 12px}
.tt-child{margin-top:8px}
.tt-child h4{font-size:14.5px;margin:10px 0 2px;color:var(--tt-teal)}
.tt-unit{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed #f0e2de;font-size:15px}
.tt-unit:last-child{border-bottom:0}
.tt-unit__ic{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#f7f2f0;color:var(--tt-teal)}
.tt-unit__ic svg{width:16px;height:16px}
.tt-unit__name{flex:1;min-width:0;color:var(--tt-ink)}
.tt-unit__try{flex:none;display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:30px;background:var(--tt-red);color:#fff!important;font-size:13px;font-weight:700}
.tt-unit__try:hover{background:var(--tt-red-d)}
.tt-unit__lock{flex:none;color:#c0b3af}
.tt-teacherbox{display:flex;align-items:center;gap:16px;padding:20px;border-radius:var(--tt-r);background:var(--tt-cream)}
.tt-teacherbox p{margin:0;font-weight:600;color:var(--tt-ink)}
.tt-ava{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--tt-red);color:#fff;font-weight:800;font-size:22px;border:4px solid #fff;box-shadow:0 8px 18px rgba(0,0,0,.1)}

/* ---------- nội dung chữ ---------- */
.tt-prose{font-size:16.5px;line-height:1.75;color:var(--tt-text);overflow-wrap:break-word}
.tt-prose>:first-child{margin-top:0}
.tt-prose h2{font-size:24px;margin:30px 0 12px}
.tt-prose h3{font-size:20px;margin:24px 0 10px}
.tt-prose p{margin:0 0 14px}
.tt-prose a{color:var(--tt-red);text-decoration:underline}
.tt-prose ul,.tt-prose ol{padding-left:22px;margin:0 0 14px}
.tt-prose li{margin-bottom:6px}
.tt-prose img{border-radius:12px;height:auto}
.tt-prose blockquote{margin:20px 0;padding:16px 20px;border-left:4px solid var(--tt-red);border-radius:0 12px 12px 0;background:var(--tt-cream);color:var(--tt-ink);font-weight:500}
.tt-prose blockquote p:last-child{margin:0}
.tt-prose table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:15px;display:block;overflow-x:auto}
.tt-prose th,.tt-prose td{border:1px solid #eee0dc;padding:8px 10px}
.tt-article__cover{margin:0 0 24px;border-radius:var(--tt-r);overflow:hidden}
.tt-article__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;padding-top:18px;border-top:1px solid #f1e5e1}
.tt-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px}
.tt-tags b{color:var(--tt-ink)}
.tt-tags a{padding:4px 12px;border-radius:30px;background:#f7f0ee;color:var(--tt-text)}
.tt-tags a:hover{background:var(--tt-red);color:#fff}
.tt-postnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.tt-postnav a{display:flex;align-items:center;gap:12px;padding:16px;border-radius:14px;border:1px solid #efe2de;background:#fff;font-weight:600;color:var(--tt-ink);transition:border-color .2s}
.tt-postnav a:hover{border-color:var(--tt-red)}
.tt-postnav a>svg{flex:none;color:var(--tt-red)}
.tt-postnav small{display:block;font-size:12.5px;color:var(--tt-muted);font-weight:500}
.tt-postnav__n{justify-content:flex-end;text-align:right}
.tt-rposts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tt-rpost{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #f0e4e0}
.tt-rpost__img{display:block;aspect-ratio:16/10;overflow:hidden}
.tt-rpost__img img{width:100%;height:100%;object-fit:cover}
.tt-rpost>span:last-child{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}
.tt-rpost em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--tt-teal);text-transform:uppercase}
.tt-rpost b{font-size:15.5px;color:var(--tt-ink);line-height:1.4}
.tt-rpost small{font-size:12.5px;color:var(--tt-muted)}

/* ---------- Góc học tập (blog) ---------- */
.tt-doors{padding:36px 0 6px}
.tt-doors__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1100px;margin:0 auto}
.tt-door{display:flex;flex-direction:column;align-items:flex-start;padding:24px 24px 22px;border-radius:var(--tt-r);background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow);transition:border-color .2s}
.tt-door.is-first{border-color:var(--tt-red);box-shadow:0 10px 26px var(--tt-red-s)}
.tt-door:hover{border-color:var(--tt-red)}
.tt-door>i{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--tt-cream2);color:var(--tt-red);margin-bottom:14px}
.tt-door:nth-child(2)>i{background:var(--tt-mint);color:var(--tt-teal)}
.tt-door:nth-child(3)>i{background:var(--tt-sand);color:#c46a12}
.tt-door h2{font-size:22px;margin:0 0 8px}
.tt-door p{margin:0 0 20px;font-size:15px;color:var(--tt-text);flex:1}
.tt-door .tt-btn{border-radius:6px}
.tt-page--posts{padding-top:44px}
.tt-bar--posts .tt-search--inline{width:min(340px,100%)}
.tt-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tt-pcard{display:flex;flex-direction:column;border-radius:var(--tt-r);overflow:hidden;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow)}
.tt-pcard__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--tt-pink)}
.tt-pcard__img img{width:100%;height:100%;object-fit:cover}
.tt-pcard__img span{position:absolute;left:12px;top:12px;padding:4px 12px;border-radius:30px;background:var(--tt-red);color:#fff;font-size:12.5px;font-weight:700}
.tt-pcard__body{flex:1;display:flex;flex-direction:column;padding:18px 18px 20px}
.tt-pcard__meta{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--tt-muted)}
.tt-pcard__meta li{display:inline-flex;align-items:center;gap:5px}
.tt-pcard h3{font-size:19px;line-height:1.38;margin:0 0 8px}
.tt-pcard h3 a:hover{color:var(--tt-red)}
.tt-pcard p{margin:0 0 16px;font-size:15px;color:var(--tt-text);flex:1}

/* ---------- giới thiệu / liên hệ ---------- */
.tt-welcome{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:center;margin-bottom:26px}
.tt-welcome__img{position:relative;margin:0;aspect-ratio:1;border-radius:46% 54% 42% 58%/52% 44% 56% 48%;overflow:visible}
.tt-welcome__img img{width:100%;height:100%;object-fit:cover;border-radius:inherit;border:6px solid #fff;box-shadow:0 18px 40px rgba(150,60,50,.16)}
.tt-welcome__img .tt-seal{position:absolute;right:0;bottom:6%}
.tt-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.tt-feats>div{padding:16px;border-radius:12px;background:#fff;border:1px solid #f0e2de}
.tt-feats b{display:block;color:var(--tt-red);font-size:19px;margin-bottom:2px}
.tt-feats span{font-size:14px;color:var(--tt-muted)}
.tt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:30px 0}
.tt-stats__i{padding:20px 16px;border-radius:14px;background:var(--tt-red);color:#fff;text-align:center;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px}
.tt-stats__i b{display:block;font-size:34px;font-weight:800;line-height:1.1}
.tt-stats__i small{font-size:14px;opacity:.92}
.tt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.tt-cinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:34px}
.tt-cinfo__i{display:flex;gap:12px;padding:18px;border-radius:14px;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow);min-width:0}
.tt-cinfo__i>i{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--tt-cream2);color:var(--tt-red)}
.tt-cinfo__i>span{min-width:0;font-weight:600;color:var(--tt-ink);overflow-wrap:anywhere;font-size:15px}
.tt-cinfo__i small{display:block;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tt-muted);margin-bottom:2px}
.tt-cinfo__i a:hover{color:var(--tt-red)}
.tt-cform{padding:28px;border-radius:20px;background:var(--tt-cream);border:1px solid #f4e2dd;margin-bottom:30px}
.tt-cform .tt-prose{margin-top:22px}
.tt-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.tt-form label{display:flex;flex-direction:column;gap:6px;font-size:14.5px;font-weight:600;color:var(--tt-ink)}
.tt-form .is-full{grid-column:1/-1}
.tt-form input,.tt-form textarea{width:100%;min-height:46px;padding:10px 14px;border:1px solid #e3dbd8;border-radius:8px;background:#fff;font:400 15px/1.5 var(--tt-font);color:var(--tt-ink)}
.tt-form textarea{resize:vertical}
.tt-form input:focus,.tt-form textarea:focus{outline:0;border-color:var(--tt-red);box-shadow:0 0 0 3px var(--tt-red-s)}
.tt-map{display:block;width:100%;height:380px;border:0;border-radius:var(--tt-r)}

/* ---------- giáo viên ---------- */
.tt-tgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tt-tgrid--sm{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tt-teacher{display:flex;flex-direction:column;border-radius:var(--tt-r);overflow:hidden;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow)}
.tt-teacher__pic{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:linear-gradient(160deg,#fff 0%,var(--tt-cream) 100%)}
.tt-teacher__pic::before{content:"";position:absolute;right:-18%;top:-10%;width:52%;height:62%;background:var(--tt-red);opacity:.85;rotate:38deg;border-radius:14px}
.tt-teacher__pic i{position:absolute;left:10%;top:6%;font-style:normal;font-size:96px;color:var(--tt-red);opacity:.12}
.tt-teacher__pic b{position:relative;width:46%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:800;color:#fff;background:var(--tt-red);border:6px solid #fff;box-shadow:0 14px 28px rgba(0,0,0,.14)}
.tt-teacher__bio{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(transparent 20%,rgba(150,20,26,.92));color:#fff;font-size:14.5px;line-height:1.5;opacity:0;transition:opacity .3s}
.tt-teacher:hover .tt-teacher__bio,.tt-teacher:focus-visible .tt-teacher__bio{opacity:1}
.tt-teacher__txt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 12px 18px}
.tt-teacher__txt b{font-size:18px;font-weight:700;color:var(--tt-ink)}
.tt-teacher__txt small{font-size:14.5px;color:var(--tt-teal);font-weight:500}
.tt-teacher:hover .tt-teacher__txt b{color:var(--tt-red)}
.tt-profile{display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;align-items:start}
.tt-profile__card{position:sticky;top:104px;border-radius:20px;overflow:hidden;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow2)}
.tt-teacher__pic--lg{aspect-ratio:1}
.tt-profile__name{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 18px 4px}
.tt-profile__name b{font-size:21px;color:var(--tt-ink)}
.tt-profile__name small{color:var(--tt-teal);font-size:15px}
.tt-profile__btn{margin:14px 18px 20px;width:calc(100% - 36px)}
.tt-dl{list-style:none;margin:0 0 28px;padding:0;border-radius:var(--tt-r);overflow:hidden;border:1px solid #f0e4e0;background:#fff}
.tt-dl li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:13px 18px;border-bottom:1px solid #f4ebe8;font-size:15px}
.tt-dl li:last-child{border-bottom:0}
.tt-dl b{color:var(--tt-ink)}
.tt-dl span{color:var(--tt-text);overflow-wrap:anywhere}
.tt-dl a{color:var(--tt-red)}

/* ---------- sự kiện ---------- */
.tt-evlist{display:flex;flex-direction:column;gap:14px}
.tt-ev{display:flex;align-items:center;gap:18px;padding:16px 20px 16px 16px;border-radius:var(--tt-r);background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow);color:inherit}
.tt-ev.is-past{opacity:.62}
.tt-ev__date{flex:none;width:88px;min-height:88px;border-radius:14px;background:var(--tt-red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px}
.tt-ev.is-past .tt-ev__date{background:#9c8f8c}
.tt-ev__date b{font-size:34px;line-height:1;font-weight:800}
.tt-ev__date b.is-text{font-size:15px;line-height:1.3}
.tt-ev__date small{font-size:12px;margin-top:4px;opacity:.92}
.tt-ev__body{flex:1;min-width:0}
.tt-ev h3{font-size:19px;margin:0 0 6px;line-height:1.35}
.tt-ev h3 a:hover{color:var(--tt-red)}
.tt-ev ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14.5px;color:var(--tt-muted)}
.tt-ev li{display:inline-flex;align-items:center;gap:6px}
.tt-ev li svg{color:var(--tt-teal)}
.tt-ev>svg{flex:none;color:var(--tt-red)}
.tt-evlist--sm .tt-ev{padding:12px 16px 12px 12px}
.tt-evlist--sm .tt-ev__date{width:68px;min-height:68px}
.tt-evlist--sm .tt-ev__date b{font-size:26px}
.tt-count{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:var(--tt-r);background:var(--tt-cream);border:1px solid #f4e2dd;margin:0 0 24px}
.tt-count b{flex:none;font-size:48px;font-weight:800;color:var(--tt-red);line-height:1}
.tt-count p{margin:0;color:var(--tt-ink)}
.tt-count.is-past b{color:var(--tt-teal)}

/* ---------- dải kêu gọi ---------- */
.tt-ctawrap{padding:0 0 72px}
.tt-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:40px 48px;border-radius:24px;color:#fff;background-color:var(--tt-red);
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:30px 30px}
.tt-cta>div{position:relative;max-width:720px}
.tt-cta h2{color:#fff;font-size:32px;line-height:1.25;margin:0 0 8px}
.tt-cta h2 em{color:var(--tt-gold)}
.tt-cta p{margin:0;color:rgba(255,255,255,.9);font-size:16.5px}
.tt-cta__hz{position:absolute;right:26%;bottom:-40px;font-size:170px;color:#000;opacity:.1;pointer-events:none}
.tt-cta .tt-btn{position:relative}
.tt-cta--soft{background:var(--tt-cream);background-image:none;color:var(--tt-ink);border:1px solid #f4e2dd}
.tt-cta--soft h2{color:var(--tt-ink)}
.tt-cta--soft p{color:var(--tt-text)}
.tt-cta--soft .tt-cta__hz{color:var(--tt-red);opacity:.08}

/* ---------- 404 ---------- */
.tt-404{padding:70px 0 90px;background:linear-gradient(180deg,#fdf0ee,var(--tt-bg) 60%)}
.tt-404__box{position:relative;max-width:680px;margin:0 auto;text-align:center;padding:44px 28px;border-radius:24px;background:#fff;border:1px solid #f0e4e0;box-shadow:var(--tt-shadow2);overflow:hidden}
.tt-404__hz{position:absolute;left:50%;top:-10px;translate:-50% 0;font-size:200px;color:var(--tt-red);opacity:.05;white-space:nowrap;pointer-events:none}
.tt-404__code{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;font-size:120px;line-height:1;font-weight:800;color:var(--tt-red);margin-bottom:12px}
.tt-404__code .tt-seal{width:92px;height:92px;font-size:58px}
.tt-404__box h1{position:relative;font-size:30px;margin:0 0 6px}
.tt-404__box p{position:relative;margin:0 0 22px;color:var(--tt-muted)}
.tt-404__search{max-width:440px;margin:0 auto 20px}
.tt-404__links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}

/* ---------- màn hình nhỏ ---------- */
@media (max-width:1240px){
  .tt-cgrid--4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tt-detail{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
}
@media (max-width:1100px){
  .tt-two{grid-template-columns:220px minmax(0,1fr);gap:28px}
  .tt-cgrid,.tt-cgrid--4,.tt-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tt-tgrid,.tt-tgrid--sm{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tt-band h1{font-size:34px}
  .tt-band--red h1{font-size:38px}
}
@media (max-width:900px){
  .tt-two,.tt-detail,.tt-profile{grid-template-columns:1fr}
  .tt-side--sticky,.tt-side--buy,.tt-profile__card{position:static}
  .tt-page--detail .tt-side--buy{margin-top:0;order:-1}
  .tt-detail--event .tt-side--buy{order:0}
  .tt-sidemenu{flex-direction:row;flex-wrap:wrap;gap:6px}
  .tt-sidemenu h3{width:100%;margin-left:2px}
  .tt-sidemenu a{border:1px solid #f0e2de;background:#fff;padding:8px 14px;border-radius:30px}
  .tt-sidemenu a small{display:none}
  .tt-sidelist{display:none}
  .tt-buy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .tt-buy__img{aspect-ratio:auto;min-height:100%}
  .tt-detail--event .tt-buy{grid-template-columns:200px minmax(0,1fr)}
  .tt-buy__date{display:flex;flex-direction:column;justify-content:center}
  .tt-welcome{grid-template-columns:200px minmax(0,1fr)}
  .tt-profile__card{max-width:420px}
  .tt-doors__grid{grid-template-columns:1fr;max-width:560px}
  .tt-rposts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tt-band__photo{width:60%;opacity:.35}
}
@media (max-width:640px){
  .tt-band{padding:28px 0 32px}
  .tt-band h1,.tt-band--red h1{font-size:27px}
  .tt-band--center h1{font-size:31px}
  .tt-band__intro{font-size:15.5px}
  .tt-band__hz{font-size:130px;right:-10px}
  .tt-band__lantern{right:6%;width:36px}
  .tt-page{padding:30px 0 52px}
  .tt-cgrid,.tt-cgrid--2,.tt-cgrid--4,.tt-pgrid,.tt-rposts{grid-template-columns:1fr}
  .tt-tgrid,.tt-tgrid--sm{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tt-teacher__pic b{font-size:26px;border-width:4px}
  .tt-teacher__pic i{font-size:60px}
  .tt-teacher__txt b{font-size:15.5px}
  .tt-teacher__txt small{font-size:13px}
  .tt-teacher__bio{display:none}
  .tt-ccard--list{flex-direction:column}
  .tt-ccard--list .tt-ccard__img{width:100%;min-height:0;aspect-ratio:16/10}
  .ac .tt-bar__t{font-size:22px}
  .tt-bar--posts .tt-search--inline{width:100%}
  .tt-buy,.tt-detail--event .tt-buy{display:block}
  .tt-buy__img{aspect-ratio:16/10}
  .tt-buy__price b{font-size:26px}
  .tt-tabs{width:100%}
  .tt-tabs button{flex:1;padding:9px 10px;font-size:14px}
  .ac .tt-h{font-size:23px}
  .tt-ticks--2{grid-template-columns:1fr}
  .tt-part summary{padding:14px;gap:10px}
  .tt-part summary small{display:none}
  .tt-part__body{padding:4px 14px 10px}
  .tt-unit{gap:10px;font-size:14.5px}
  .tt-welcome{grid-template-columns:1fr}
  .tt-welcome__img{width:220px;margin:0 auto}
  .tt-feats{grid-template-columns:1fr}
  .tt-form{grid-template-columns:1fr}
  .tt-form .tt-btn{width:100%}
  .tt-cform{padding:20px 16px}
  .tt-dl li{grid-template-columns:1fr;gap:2px}
  .tt-postnav{grid-template-columns:1fr}
  .tt-ev{flex-wrap:wrap;padding:14px}
  .tt-ev__date{width:70px;min-height:70px}
  .tt-ev__date b{font-size:28px}
  .tt-ev>.tt-btn{width:100%}
  .tt-cta{padding:28px 22px;border-radius:18px}
  .tt-cta h2{font-size:24px}
  .tt-cta .tt-btn{width:100%}
  .tt-ctawrap{padding-bottom:52px}
  .tt-404{padding:40px 0 60px}
  .tt-404__code{font-size:84px}
  .tt-404__code .tt-seal{width:68px;height:68px;font-size:42px}
  .tt-404__box h1{font-size:24px}
  .tt-map{height:280px}
}

/* ==========================================================================
   Khớp mẫu 26/10/2026 — số đo từ trang chính sách, Góc học tập (cổng vào học) và trang khóa học của mẫu ở 1440/390, viết lại bằng CSS riêng.
   Băng hồng #fff6f3 (42/30px), đường dẫn 14px, tiêu đề 36/800; thanh bên 240px, bài 860px chữ 16.5/1.7; thẻ bo 18–20px viền #eee4e2.
   Trang khóa học + chi tiết khóa học: theo trang khóa học của mẫu (chữ Montserrat, khung 1140/1184px, xanh đậm #061253, thẻ xanh tím #4559c0, vàng #bb8705).
   ========================================================================== */
.ac-fam-tiengtrung{--tt-navy:#061253;--tt-indigo:#4559c0;--tt-gold:#ffd45c;--tt-gold2:#bb8705;--tt-wine:#801313;--tt-mont:"Montserrat",var(--tt-font)}
/* băng tiêu đề mặc định = băng trang chính sách */
.tt-band{background:#fff6f3;border-bottom:0;padding:42px 0 30px}
.tt-band__hz{display:none}
.tt-crumb{gap:0 6px;margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--tt-text)}
.tt-crumb a::after{margin-left:6px}
.tt-band h1{margin:0;font-size:36px;line-height:1.5;font-weight:800;letter-spacing:0}
.tt-band__intro{margin:6px 0 0;font-size:17px;line-height:1.5}
.tt-band__tag{margin:0 0 8px;padding:5px 14px;background:var(--tt-cream2);color:var(--tt-red);font-size:13.5px}
.tt-band__meta{margin-top:12px;font-size:15px}
/* băng căn giữa = đầu cổng "Góc học tập" (nền chuyển kem → trắng, logo/con dấu, tiêu đề 40/800, dòng hỏi 18px) */
.tt-band--center{padding:46px 0 0;background:linear-gradient(#fff6f3 0%,#fff9f7 100%)}
.tt-band--center h1{margin:8px auto 0;font-size:40px;line-height:1.5}
.tt-band--center .tt-band__intro{margin-top:4px;font-size:18px;color:var(--tt-text)}
.tt-band__seal.tt-seal{width:84px;height:84px;font-size:52px;rotate:-6deg}
/* băng đỏ cũ (không còn dùng ở khóa học) giữ nguyên cho trang khác */
/* băng xanh đậm (chi tiết khóa học) */
.tt-band--navy{background:var(--tt-navy);color:#fff;padding:32px 0;font-family:var(--tt-mont)}
.tt-band--navy .tt-crumb{display:flex;align-items:center;padding:16px 0;margin:0;font-size:16px;color:var(--tt-gold2)}
.tt-band--navy .tt-crumb a{color:var(--tt-gold2)}
.tt-band--navy .tt-crumb a::after{content:"›";margin:0 4px 0 10px;color:var(--tt-gold2);font-size:20px;line-height:1}
.tt-band--navy .tt-crumb span{color:var(--tt-gold2)}
.tt-band--navy h1{color:#fff;font:600 32px/1.2 var(--tt-mont);margin:0 0 8px}
.tt-band--navy .tt-band__intro{margin:0 0 8px;color:#fff;font-size:16px;line-height:1.5}
.tt-band--navy .tt-band__meta{margin:8px 0 0;color:#fff;font-size:16px}
.tt-band--navy .tt-band__meta svg{color:var(--tt-gold2)}
.tt-band--navy .tt-band__tag{order:9;display:inline-block;margin:12px 0 0;padding:4px 10px;border:1px solid var(--tt-gold2);border-radius:4px;background:transparent;color:var(--tt-gold2);font:400 14px/1.5 var(--tt-mont)}
.tt-band--navy .tt-band__in{display:flex;flex-direction:column;align-items:flex-start}
/* băng ảnh phủ kín (trang khóa học) */
.tt-band--cover{background-color:#f3f1ef;background-size:cover;background-position:50% 50%;padding:0;min-height:205px;display:flex;align-items:flex-start}
.tt-band--cover::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.35) 60%,rgba(255,255,255,0));z-index:1}
.tt-band--cover .tt-band__in{width:100%;max-width:1140px;padding:24px 39px}
.tt-band--cover h1{margin:32px 0 10px;font:400 48px/46px var(--tt-mont);color:#2c3577}
.tt-band--cover .tt-band__intro{margin:0 0 32px;font:400 14px/23px var(--tt-mont);color:#414141}
/* khung trang chính sách: thanh bên 240 + bài 860 */
.tt-page{padding:40px 0 20px}
.tt-two--doc{grid-template-columns:240px minmax(0,1fr);gap:44px}
.tt-two--doc .tt-main{max-width:860px}
.tt-side--sticky{top:110px}
.tt-sidemenu{gap:4px}
.tt-sidemenu a{padding:10px 14px;border-radius:10px;font-size:15px;line-height:1.5;font-weight:400;color:#3d404a}
.tt-sidemenu a:hover{background:#fff6f3;color:#3d404a}
.tt-sidemenu a.is-on{background:#fde8e7;color:var(--tt-red);font-weight:600}
.tt-prose{font-size:16.5px;line-height:1.7;color:#30333b}
.tt-prose h2{font-size:21px;line-height:1.7;margin:30px 0 10px;color:var(--tt-ink)}
.tt-prose h3{font-size:17.5px;line-height:1.7;margin:20px 0 6px;color:#30333b}
.tt-prose p{margin:0 0 10px}
.tt-prose ul,.tt-prose ol{margin:0 0 12px 22px;padding-left:0}
.tt-prose li{margin-bottom:5px}
.tt-prose blockquote{border-radius:14px;border:1px solid var(--tt-line);border-left:4px solid var(--tt-red);background:#fff;padding:16px 20px;margin:12px 0}
.ac .tt-h{font-size:21px;line-height:1.7;font-weight:700;margin:0 0 10px}
.ac .tt-h3{font-size:17.5px;line-height:1.7;margin:20px 0 6px}
.tt-lead{font-size:16.5px;line-height:1.7;color:#30333b;margin:0 0 10px}
.tt-teal-sub{margin:0 0 10px;font-size:16px}
.tt-welcome{grid-template-columns:240px minmax(0,1fr);gap:28px;margin-bottom:22px}
.tt-welcome__img img{border:0;box-shadow:0 14px 30px rgba(150,60,50,.12)}
.tt-feats>div,.tt-cinfo__i{border-radius:14px;border-color:var(--tt-line);box-shadow:none}
.tt-feats b{font-size:20px;line-height:1.5}
.tt-feats span{color:var(--tt-text)}
.tt-stats__i{border-radius:14px}
.tt-cform{border-radius:20px;background:#fff;border-color:var(--tt-line)}
.tt-form label{gap:5px;font-size:14px;color:#3d404a}
.tt-form input,.tt-form textarea{border-color:#e6dcd9;border-radius:10px;padding:11px 13px;font-size:15.5px}
.tt-form input:focus,.tt-form textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--ac) 12%,transparent)}
.tt-map{border-radius:14px}
/* dải kêu gọi: thẻ trắng viền mảnh như khối đăng ký của mẫu */
.tt-ctawrap{padding:30px 0 26px}
.tt-cta{border-radius:24px}
/* Góc học tập: 3 thẻ cổng vào học */
.tt-doors{padding:30px 0 30px;background:linear-gradient(#fff9f7,#fff 70%)}
.tt-doors__grid{gap:22px;max-width:1100px}
.tt-door{padding:26px 24px;border-radius:20px;border-color:var(--tt-line);box-shadow:none;transition:border-color .2s,box-shadow .2s,translate .2s}
.tt-door.is-first{border-color:var(--tt-red);box-shadow:0 8px 22px color-mix(in srgb,var(--ac) 12%,transparent)}
.tt-door:hover{border-color:var(--tt-red);box-shadow:var(--tt-shadow-h);translate:0 -3px}
.tt-door>i,.tt-door:nth-child(2)>i,.tt-door:nth-child(3)>i{width:38px;height:38px;border-radius:0;background:none;margin:0 0 10px;color:var(--tt-red)}
.tt-door>i svg{width:34px;height:34px}
.tt-door h2{margin:0 0 10px;font-size:22px;line-height:1.5}
.tt-door p{margin:0 0 10px;font-size:15.5px;line-height:1.55;color:var(--tt-text)}
.ac-fam-tiengtrung .tt-door .tt-btn{min-height:44px;margin-top:auto;padding:10px 20px;border-radius:8px;font-size:16px;box-shadow:none}
.tt-page--posts{padding-top:40px;padding-bottom:30px}
/* thẻ bài viết, giáo viên, sự kiện: viền mảnh như thẻ của mẫu */
.tt-pcard,.tt-teacher,.tt-ev,.tt-rpost,.tt-postnav a,.tt-part{border-color:var(--tt-line);box-shadow:none}
.tt-pcard,.tt-teacher{border-radius:18px;transition:translate .2s,box-shadow .2s}
.tt-pcard:hover,.tt-teacher:hover,.tt-ev:hover{translate:0 -3px;box-shadow:var(--tt-shadow-h)}
.tt-pcard__body{padding:18px 20px 22px}
.tt-pcard h3{font-size:19px;line-height:1.5;margin:0 0 4px}
.tt-pcard p{font-size:15px;line-height:1.5;color:var(--tt-text)}
.tt-pcard__meta{font-size:14px}
.tt-teacher__pic{aspect-ratio:1414/2000}
.tt-teacher__pic b{width:52%}
.tt-teacher__txt{padding:12px 16px}
.tt-teacher__txt b{font-size:18px;line-height:1.5}
.tt-teacher__txt small{font-size:14px;line-height:1.5}
.tt-profile__card{border-radius:18px;border-color:var(--tt-line);box-shadow:none}
.tt-dl{border-radius:14px;border-color:var(--tt-line)}
.tt-ev{border-radius:16px}
.tt-count{border-radius:14px}
.tt-chips a{border-color:var(--tt-line)}
.tt-emptybox{border-radius:18px}
.tt-404{padding:56px 0 46px;background:linear-gradient(#fff6f3 0%,#fff 70%)}
.tt-404__box{border-radius:20px;border-color:var(--tt-line);box-shadow:none}
.tt-404__box h1{font-size:30px;line-height:1.5}

/* ---------- trang khóa học (theo trang danh sách khóa học của mẫu) ---------- */
.tt-page--cat{padding:0 0 48px;font-family:var(--tt-mont);color:#343a40}
.tt-page--cat .tt-wrap{max-width:1140px;padding:0 15px}
.tt-page--cat .tt-two{grid-template-columns:255px minmax(0,1fr);gap:30px}
.tt-crumb--cat{display:flex;align-items:center;margin:36px 0;font-size:16px;line-height:23px;color:#343a40}
.tt-crumb--cat a{color:#343a40}
.tt-crumb--cat a::after{content:"›";margin:0 4px 0 10px;color:#343a40;font-size:20px;line-height:1}
.tt-page--cat .tt-side{padding-top:95px;gap:24px}
.tt-page--cat .tt-sidemenu{gap:24px}
.tt-page--cat .tt-sidemenu h3{display:none}
.tt-page--cat .tt-sidemenu a{display:flex;padding:0;border-radius:0;background:none;font:400 16px/20px var(--tt-mont);color:var(--tt-wine)}
.tt-page--cat .tt-sidemenu a:hover{background:none;color:var(--tt-wine);text-decoration:underline}
.tt-page--cat .tt-sidemenu a.is-on{background:none;color:var(--tt-wine);font-weight:600}
.tt-page--cat .tt-sidemenu a small{font-size:13px;color:#8c8f94}
.tt-page--cat .tt-sidemenu+.tt-sidemenu{padding-top:22px;border-top:1px solid #ececec}
.tt-page--cat .tt-search{border-radius:4px;border-color:#ced4da}
.tt-page--cat .tt-search input{font-family:var(--tt-mont);font-size:14px;padding:8px 12px}
.tt-page--cat .tt-search button{height:36px;color:var(--tt-wine)}
.tt-page--cat .tt-sidecard{border-radius:4px;background:#fff;border:1px solid #ececec;padding:16px}
.tt-page--cat .tt-sidecard>.tt-cjk{display:none}
.tt-page--cat .tt-sidecard h3{font:600 15px/1.4 var(--tt-mont);color:#343a40}
.ac-fam-tiengtrung .tt-page--cat .tt-sidecard .tt-btn{min-height:36px;padding:6px 14px;border-radius:5px;background:var(--tt-gold2);font:600 14px/1.5 var(--tt-mont);box-shadow:none}
.tt-page--cat .tt-bar{margin:0;align-items:flex-end;border-bottom:1px solid #caccd6;padding-bottom:0}
.ac .tt-page--cat .tt-bar__t{font:400 30px/45px var(--tt-mont);text-transform:uppercase;color:var(--tt-navy);padding-right:8px}
.ac .tt-page--cat .tt-bar__t::after{display:none}
.tt-page--cat .tt-found{font-size:14px;color:#6c757d}
.tt-page--cat .tt-found a{color:var(--tt-wine)}
.tt-page--cat .tt-views{border-radius:4px;background:#f1f1f1}
.tt-page--cat .tt-views a{border-radius:4px}
.tt-page--cat .tt-views a.is-on{color:var(--tt-wine)}
.tt-page--cat .tt-select select{border-radius:4px;border-color:#ced4da;font-family:var(--tt-mont);font-size:14px}
.tt-page--cat .tt-filter{border-radius:4px;background:#fff;border-color:#ececec}
.tt-page--cat .tt-chips a{border-radius:4px;font-family:var(--tt-mont);font-weight:500}
.tt-page--cat .tt-chips a.is-on{background:var(--tt-wine);border-color:var(--tt-wine)}
.tt-page--cat .tt-emptybox{border-radius:4px;border-style:solid;border-color:#ececec}
/* thẻ khóa học kiểu mẫu: 254px, bóng đậm, phần chữ nền xanh tím */
.tt-cgrid{grid-template-columns:repeat(auto-fill,254px);gap:16px}
.tt-page--cat .tt-cgrid{margin-top:16px}
.tt-cgrid--list{grid-template-columns:1fr}
.tt-ccard{position:relative;border:0;border-radius:0;background:var(--tt-indigo);box-shadow:0 4px 10px #343a40;font-family:var(--tt-mont);transition:translate .2s,box-shadow .2s}
.tt-ccard:hover{translate:0 -3px;box-shadow:0 8px 18px rgba(52,58,64,.9)}
.tt-ccard__img{aspect-ratio:auto;height:178px;background:#e9ecef}
.tt-ccard__img span{left:10px;top:10px;padding:2px 10px;border-radius:4px;background:var(--tt-gold2);color:#fff;font:600 12px/18px var(--tt-mont)}
.tt-ccard__body{padding:12.8px;color:#fff;background:var(--tt-indigo)}
.tt-ccard__cat{margin:0 0 2px;font:600 11px/16px var(--tt-mont);color:rgba(255,255,255,.75);letter-spacing:.04em}
.tt-ccard h3{margin:0;font:600 16px/24px var(--tt-mont);color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-ccard h3 a{color:#fff}
.tt-ccard h3 a:hover{color:#fff;text-decoration:underline}
.tt-ccard__meta{margin:0;gap:2px 12px;font:400 12px/18px var(--tt-mont);color:#fff}
.tt-ccard__meta svg{color:#fff;opacity:.85}
.tt-ccard__desc{margin:10px 0 0;font:400 12px/16px var(--tt-mont);color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-ccard__foot{margin-top:auto;padding:10px 0 0;border-top:0;gap:10px}
.tt-price{flex-direction:row;align-items:baseline;gap:6px;color:var(--tt-gold2);font:400 16px/16px var(--tt-mont)}
.tt-ccard .tt-price{color:#f3c34a}
.tt-price del{font-size:11px;color:rgba(255,255,255,.7)}
.tt-ccard__btn{flex:none;display:inline-flex;align-items:center;padding:3px 10px;border-radius:5px;background:var(--tt-gold2);color:#fff!important;font:400 12px/16px var(--tt-mont);transition:background .2s}
.tt-ccard__btn:hover{background:#a37504}
.tt-ccard--list{background:var(--tt-indigo)}
.tt-ccard--list .tt-ccard__img{height:auto;min-height:200px;width:254px}
.tt-ccard--list .tt-ccard__body{padding:18px 20px}
.tt-ccard--list .tt-ccard__desc{-webkit-line-clamp:3}
.tt-pager{margin-top:24px}
.tt-page--cat .tt-pager a,.tt-page--cat .tt-pager span{min-width:auto;height:auto;padding:0 8px;border:0;background:none;font:400 18px/27px var(--tt-mont);color:var(--tt-wine)}
.tt-page--cat .tt-pager .is-on{background:none;color:var(--tt-navy);font-weight:700;text-decoration:underline}

/* ---------- chi tiết khóa học (theo trang chi tiết khóa học của mẫu) ---------- */
.tt-dwrap{position:relative}
.tt-page--detail{padding:32px 0 48px;font-family:var(--tt-mont);color:#343a40}
.tt-page--detail .tt-side--buy{margin-top:0}
.tt-dblock{margin:0 0 32px}
.ac .tt-dh{margin:0 0 16px;font:600 20px/24px var(--tt-mont);color:#343a40}
.tt-page--detail .tt-sub{margin:0 0 8px;font-size:14px;line-height:1.4;color:#343a40}
.tt-page--detail .tt-sub b{color:var(--tt-wine)}
.tt-page--detail .tt-outline{gap:0}
.tt-page--detail .tt-part{border:1px solid #dcdacb;border-radius:0;margin-top:-1px;background:#fff}
.tt-page--detail .tt-part:first-child{margin-top:0;border-radius:4px 4px 0 0}
.tt-page--detail .tt-part:last-child{border-radius:0 0 4px 4px}
.tt-page--detail .tt-part summary{gap:0;padding:16px 24px;background:#fbfbf8;font:600 16px/19.2px var(--tt-mont);color:#3c3b37}
.tt-page--detail .tt-part summary>svg{order:-1;margin-right:19px;color:#3c3b37}
.tt-page--detail .tt-part[open] summary{background:#fbfbf8;border-bottom:1px solid #dcdacb}
.tt-page--detail .tt-part[open] summary>svg{color:#3c3b37}
.tt-page--detail .tt-part__n{display:none}
.tt-page--detail .tt-part summary small{margin-left:24px;font:400 14px/19.6px var(--tt-mont);color:#3c3b37}
.tt-page--detail .tt-part__body{padding:4px 24px 10px}
.tt-page--detail .tt-unit{font-size:14px}
.tt-page--detail .tt-unit__try{border-radius:4px;background:var(--tt-gold2)}
.tt-page--detail .tt-prose{font-size:14px;line-height:1.4;color:#343a40}
.tt-page--detail .tt-goals{border-radius:4px;background:#fbfbf8;border-color:#dcdacb}
.tt-page--detail .tt-goals h3,.ac .tt-page--detail .tt-h3{font:600 16px/1.4 var(--tt-mont);color:#343a40}
.tt-page--detail .tt-ticks li{font-size:14px;line-height:1.4}
.tt-page--detail .tt-teacherbox{flex-direction:column;align-items:flex-start;gap:8px;padding:0;background:none}
.tt-teacherbox__n{font:600 20px/24px var(--tt-mont)!important;color:var(--tt-wine)!important}
.tt-page--detail .tt-ava{width:112px;height:112px;font-size:36px;border:0;box-shadow:none}
.tt-cgrid--rel{grid-template-columns:repeat(auto-fill,254px);gap:16px 50px}
.tt-buy{border-radius:20px;border-color:var(--tt-line);box-shadow:var(--tt-shadow)}
.tt-dwrap .tt-buy{border-radius:4px;border:0;box-shadow:0 2px 4px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.08);font-family:var(--tt-mont)}
.tt-dwrap .tt-buy__img{aspect-ratio:340/191}
.tt-dwrap .tt-buy__img span{border-radius:4px}
.tt-dwrap .tt-buy__in{padding:24px;gap:0}
.tt-dwrap .tt-buy__price{margin:10px 0}
.tt-dwrap .tt-buy__price b{font:400 28px/22px var(--tt-mont);color:var(--tt-gold2)}
.tt-dwrap .tt-buy__price del{font-size:14px}
.tt-dwrap .tt-buy__price span{border-radius:4px}
.ac-fam-tiengtrung .tt-dwrap .tt-buy__btn{min-height:40px;margin:0 0 10px;padding:1px 6px;border-radius:5px;background:var(--tt-gold2);font:600 16px/24px var(--tt-mont);box-shadow:none}
.ac-fam-tiengtrung .tt-dwrap .tt-buy__btn:hover{background:#a37504}
.ac-fam-tiengtrung .tt-dwrap .tt-buy__btn.tt-btn--line{background:#fff;color:var(--tt-gold2)!important;border:1px solid var(--tt-gold2)}
.ac-fam-tiengtrung .tt-dwrap .tt-buy__btn.tt-btn--line:hover{background:#fdf6e6}
.tt-dwrap .tt-buy__h{margin:6px 0 8px;padding-top:16px;font:600 16px/24px var(--tt-mont);color:#343a40}
.tt-dwrap .tt-facts{margin:0;border-top:0}
.tt-dwrap .tt-facts li{grid-template-columns:20px auto 1fr;gap:3px;padding:0;margin:0 0 16px;border-bottom:0;font:400 14px/19.6px var(--tt-mont)}
.tt-dwrap .tt-facts svg{color:#343a40;width:14px;height:14px}
.tt-dwrap .tt-facts span{color:#343a40}
.tt-dwrap .tt-facts span::after{content:":"}
.tt-dwrap .tt-facts b{text-align:left;padding-left:4px;font-weight:400;color:#343a40}
.tt-dwrap .tt-share{padding-top:4px;font-size:14px}
.tt-dwrap .tt-share button{border-radius:4px;color:var(--tt-gold2)}
.tt-dwrap .tt-share button:hover,.tt-dwrap .tt-share button.is-done{background:var(--tt-gold2);border-color:var(--tt-gold2)}
.tt-dwrap .tt-side--buy .tt-sidemenu{margin-top:22px}
.tt-dwrap .tt-side--buy .tt-sidemenu a{font-family:var(--tt-mont);font-size:14px}

@media (min-width:1101px){
  .tt-band--navy .tt-band__in{max-width:none;padding:0;margin-left:calc((100% - min(1184px,100% - 32px)) / 2 + 48px);width:min(700px,100% - 32px - 96px - 388px)}
  .tt-page--detail .tt-wrap{max-width:none;padding:0}
  .tt-page--detail .tt-detail{display:block}
  .tt-page--detail .tt-main{margin-left:calc((100% - min(1184px,100% - 32px)) / 2 + 48px);width:min(700px,100% - 32px - 96px - 388px)}
  .tt-dwrap>.tt-side--buy{position:absolute;top:32px;bottom:0;right:calc((100% - min(1184px,100% - 32px)) / 2 + 48px);width:340px;z-index:5;margin:0}
  .tt-dwrap>.tt-side--buy .tt-buy{position:sticky;top:104px}
}
@media (max-width:1100px){
  .tt-dwrap{display:flex;flex-direction:column}
  .tt-dwrap>.tt-band{order:0}
  .tt-dwrap>.tt-side--buy{order:1;position:static;width:auto;max-width:720px;margin:24px 16px 0}
  .tt-dwrap>.tt-page--detail{order:2}
  .tt-page--detail .tt-detail{display:block}
  .tt-page--cat .tt-two{grid-template-columns:220px minmax(0,1fr)}
  .tt-two--doc{grid-template-columns:220px minmax(0,1fr);gap:28px}
  .tt-band h1{font-size:30px}
  .tt-band--cover h1{font-size:36px;line-height:1.2}
}
@media (max-width:980px){
  .tt-two--doc{grid-template-columns:1fr;gap:20px}
  .tt-two--doc .tt-side--sticky{position:static}
  .tt-two--doc .tt-sidemenu{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px}
  .tt-two--doc .tt-sidemenu a{white-space:nowrap;border:1px solid var(--tt-line);background:#fff;border-radius:10px;padding:10px 14px}
  .tt-two--doc .tt-sidemenu a.is-on{background:#fde8e7}
  .tt-band h1{font-size:28px}
  .tt-page--cat .tt-two{grid-template-columns:1fr;gap:0}
  .tt-page--cat .tt-side{padding-top:24px;order:2}
  .tt-page--cat .tt-sidemenu{flex-direction:row;flex-wrap:wrap;gap:10px 18px}
  .tt-page--cat .tt-sidemenu+.tt-sidemenu{padding-top:12px}
}
@media (max-width:900px){
  .tt-welcome{grid-template-columns:200px minmax(0,1fr)}
  .tt-dwrap .tt-buy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .tt-dwrap .tt-buy__img{aspect-ratio:auto;min-height:100%}
}
@media (max-width:860px){
  .tt-doors{padding:20px 0}
  .tt-band--center h1{font-size:30px}
  .tt-doors__grid{grid-template-columns:1fr;gap:14px}
  .tt-door{padding:20px 18px}
}
@media (max-width:640px){
  .tt-band{padding:28px 0 24px}
  .tt-band--center{padding:28px 0 0}
  .tt-band--navy{padding:20px 0 24px}
  .tt-band--navy .tt-crumb{font-size:14px;padding:0 0 10px}
  .tt-band--navy h1{font-size:24px}
  .tt-band--cover{min-height:150px}
  .tt-band--cover .tt-band__in{padding:16px}
  .tt-band--cover h1{margin:16px 0 8px;font-size:28px;line-height:1.2}
  .tt-band--cover .tt-band__intro{margin-bottom:16px}
  .tt-crumb--cat{margin:20px 0}
  .ac .tt-page--cat .tt-bar__t{font-size:22px;line-height:1.4}
  .tt-cgrid,.tt-cgrid--rel{grid-template-columns:1fr}
  .tt-ccard--list .tt-ccard__img{width:100%;height:178px;min-height:0}
  .tt-ccard__img{height:auto;aspect-ratio:254/178}
  .tt-tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tt-welcome{grid-template-columns:1fr}
  .tt-dwrap .tt-buy{display:block}
  .tt-dwrap .tt-buy__img{aspect-ratio:340/191;min-height:0}
  .tt-404__hz{max-width:100%;overflow:hidden}
}
