
:root{
  --dt-blue:#1769ff;--dt-blue-dark:#0d3f9b;--dt-blue-soft:#eef5ff;--dt-text:#15233b;--dt-muted:#67758d;
  --dt-line:#e7edf6;--dt-bg:#f6f9fd;--dt-white:#fff;--dt-shadow:0 12px 34px rgba(26,61,112,.08);--dt-container:1200px;
}
.dt-site,.dt-site *{box-sizing:border-box}.dt-site{color:var(--dt-text);background:var(--dt-bg);line-height:1.6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.dt-site a{text-decoration:none;color:inherit}.dt-site img{display:block;max-width:100%}.dt-site button,.dt-site input{font:inherit}.dt-container{width:min(var(--dt-container),calc(100% - 32px));margin-inline:auto}
.dt-site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,230,241,.8)}
.dt-header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.dt-brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--dt-blue-dark);letter-spacing:-.4px;flex:none}.dt-brand-logo img{max-height:54px;width:auto}.dt-brand-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#0c64ff,#4ea0ff);color:#fff;font-size:22px;font-weight:900;box-shadow:0 8px 20px rgba(23,105,255,.24)}
.dt-brand-text{font-size:21px;line-height:1}.dt-brand-text small{display:block;font-size:10px;letter-spacing:.8px;margin-top:5px;color:#7390b8}
.dt-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:10px}.dt-nav-list>li{position:relative}.dt-nav-list>li>a{min-height:46px;padding:0 14px;display:flex;align-items:center;border-radius:12px;font-weight:600;font-size:15px;white-space:nowrap;transition:.2s}
.dt-nav-list>li>a:hover,.dt-nav-list>.current-menu-item>a{color:var(--dt-blue);background:var(--dt-blue-soft)}
.dt-nav-list .menu-item-has-children>a:after{content:"";width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:9px}
.dt-nav-list .sub-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:270px;padding:12px;margin:0;list-style:none;border:1px solid var(--dt-line);border-radius:16px;background:#fff;box-shadow:var(--dt-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.dt-nav-list li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.dt-nav-list .sub-menu a{display:block;padding:10px 12px;border-radius:10px;font-size:14px;color:#334560}.dt-nav-list .sub-menu a:hover{background:var(--dt-blue-soft);color:var(--dt-blue)}
.dt-nav-list .sub-menu.dt-two-col{min-width:370px;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.dt-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--dt-line);background:#fff;border-radius:12px;align-items:center;justify-content:center;cursor:pointer}
.dt-menu-toggle span,.dt-menu-toggle span:before,.dt-menu-toggle span:after{content:"";display:block;width:20px;height:2px;background:#243857;border-radius:2px;position:relative}.dt-menu-toggle span:before{position:absolute;top:-6px}.dt-menu-toggle span:after{position:absolute;top:6px}
.dt-page-intro{padding:32px 0 22px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}.dt-page-intro h1{margin:0;text-align:center;font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-.8px;color:#102f63}.dt-page-intro p{margin:10px auto 0;max-width:760px;text-align:center;color:var(--dt-muted);font-size:16px}
.dt-hero-wrap{padding:6px 0 0}.dt-hero-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:10px;min-height:430px}.dt-hero-main,.dt-hero-small{position:relative;overflow:hidden;border-radius:18px;background-size:cover;background-position:center;isolation:isolate}.dt-hero-main{background-color:#1769ff;padding:44px;display:flex;align-items:flex-end}.dt-hero-main:not(.has-image){background:linear-gradient(135deg,#0f7cf6,#1556d7 54%,#0a2f83)}
.dt-hero-small{min-height:210px;padding:24px;display:flex;align-items:flex-end;color:#fff;font-weight:800;font-size:20px;line-height:1.2;background-color:#356fce}.dt-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,50,.05) 5%,rgba(5,19,49,.68));z-index:-1}
.dt-hero-copy{max-width:520px;color:#fff}.dt-hero-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:700;margin-bottom:14px}.dt-hero-title{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-1.3px}.dt-hero-desc{margin:14px 0 0;max-width:470px;color:rgba(255,255,255,.9)}.dt-hero-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dt-search-wrap{position:relative;margin-top:-34px;z-index:20}.dt-search-box{background:#fff;border:1px solid #edf1f6;border-radius:24px;box-shadow:0 18px 45px rgba(29,56,101,.13);padding:24px 26px;display:grid;grid-template-columns:240px 1fr 64px;align-items:center;gap:18px}.dt-search-label{font-size:16px;font-weight:800;color:#1b2b45}.dt-search-label span{display:block;font-size:13px;font-weight:500;color:#8b98ab;margin-top:3px}
.dt-search-input{height:54px;width:100%;border:0!important;outline:0;background:#f7f9fc!important;border-radius:14px!important;padding:0 18px!important;color:var(--dt-text)!important;box-shadow:none!important}.dt-search-btn{width:58px;height:58px;border:0;border-radius:50%;background:var(--dt-blue);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 20px rgba(23,105,255,.28)}.dt-search-btn svg{width:24px;height:24px}.dt-quick-links{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}.dt-quick-links a{padding:6px 10px;border-radius:999px;background:#f2f6fc;color:#5a6b84;font-size:12px}
.dt-home-section{padding:64px 0 0}.dt-section-shell{background:#fff;border:1px solid #edf1f6;border-radius:24px;padding:26px;box-shadow:0 8px 24px rgba(30,53,90,.04)}.dt-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.dt-section-head h2{margin:0;font-size:29px;line-height:1.25;color:#112d5b;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.dt-section-head h2:before{content:"";width:4px;height:28px;border-radius:10px;background:var(--dt-blue)}.dt-section-tools{display:flex;align-items:center;gap:12px}.dt-view-all{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px;border:1px solid #b9c8dc;border-radius:999px;color:#315176;font-size:14px;font-weight:700}
.dt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.dt-tab{border:1px solid #dde5f0;background:#fff;color:#65748b;border-radius:999px;padding:9px 15px;cursor:pointer;font-size:13px;font-weight:700}.dt-tab.active,.dt-tab:hover{background:#172238;color:#fff;border-color:#172238}
.dt-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-height:100px}.dt-card-grid.is-loading{opacity:.45;pointer-events:none}.dt-study-card{position:relative;overflow:hidden;border:1px solid var(--dt-line);border-radius:18px;background:#fff;transition:.22s}.dt-study-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(37,66,110,.1)}.dt-card-media{aspect-ratio:4/3;padding:18px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#eaf3ff,#cfe1ff);background-size:cover;background-position:center}.dt-card-media.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,28,62,.42))}.dt-card-fallback{position:relative;z-index:1;font-size:25px;font-weight:900;color:#154fbd;line-height:1.05}.dt-badge{position:absolute;top:12px;left:12px;z-index:2;padding:6px 9px;border-radius:999px;background:#fff;color:#2763c7;box-shadow:0 4px 12px rgba(0,0,0,.06);font-size:11px;font-weight:800}.dt-card-body{padding:16px}.dt-card-body h3{margin:0;font-size:17px;line-height:1.45;color:#17253e}.dt-card-desc{margin:9px 0 0;color:#687890;font-size:13px;line-height:1.65}.dt-card-meta{margin-top:9px;color:#7a889c;font-size:12px}.dt-card-actions{margin-top:15px;display:flex;justify-content:flex-end}.dt-card-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:11px;background:var(--dt-blue);color:#fff!important;font-size:12px;font-weight:800}.dt-empty{grid-column:1/-1;padding:24px;border:1px dashed #ccd8e8;border-radius:14px;color:#748299;text-align:center}
.dt-experience-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:4px}.dt-experience-track::-webkit-scrollbar{display:none}.dt-experience-card{scroll-snap-align:start;border:1px solid var(--dt-line);border-radius:18px;overflow:hidden;background:#fff}.dt-experience-image{aspect-ratio:16/10;background:linear-gradient(135deg,#ddecff,#afd0ff);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#356ab3;font-weight:900}.dt-experience-body{padding:16px}.dt-experience-body h3{margin:0;font-size:17px;line-height:1.45}.dt-experience-body p{margin:9px 0 0;color:#6f7d91;font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dt-experience-controls{display:flex;gap:8px}.dt-round-btn{width:40px;height:40px;border-radius:50%;border:1px solid #d8e1ed;background:#fff;cursor:pointer;font-size:20px;color:#395779}.dt-follow-box{max-width:780px;margin:34px auto 0;border:1px solid #bcd3ff;background:#f7faff;border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.dt-follow-copy{display:flex;align-items:center;gap:12px}.dt-google-icon{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #e4e8ef;display:grid;place-items:center;font-weight:900;color:#4285f4}.dt-follow-title{font-weight:800;color:#154d9d}.dt-follow-sub{font-size:12px;color:#728198}.dt-follow-btn{flex:none;min-height:42px;padding:9px 16px;border-radius:999px;border:1px solid #c9d4e3;background:#fff;color:#344d6b!important;font-weight:700}
.dt-site-footer{margin-top:70px;background:#fff;border-top:1px solid var(--dt-line)}.dt-footer-main{padding:50px 0 42px;display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:50px}.dt-footer-brand{max-width:420px}.dt-footer-brand p{color:#6d7a90;font-size:14px;margin:16px 0 0}.dt-footer-title{font-size:14px;font-weight:900;letter-spacing:.3px;margin-bottom:14px;color:#1b2c46}.dt-footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}.dt-footer-links a{color:#65738a;font-size:14px}.dt-social-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.dt-social-row a{padding:7px 10px;border:1px solid var(--dt-line);border-radius:9px;font-size:12px;color:#536a88}.dt-footer-bottom{border-top:1px solid var(--dt-line);padding:18px 0;color:#8793a6;font-size:12px}.dt-footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:1024px){.dt-main-nav{display:none}.dt-main-nav.mobile-open{display:block;position:absolute;left:16px;right:16px;top:74px;padding:14px;background:#fff;border:1px solid var(--dt-line);border-radius:18px;box-shadow:var(--dt-shadow)}.dt-main-nav.mobile-open .dt-nav-list{display:block}.dt-main-nav.mobile-open .dt-nav-list>li>a{justify-content:space-between}.dt-main-nav.mobile-open .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;min-width:0;box-shadow:none;border:0;padding:4px 0 6px 14px}.dt-main-nav.mobile-open .menu-item-has-children.open>.sub-menu{display:grid}.dt-menu-toggle{display:flex}.dt-hero-grid{grid-template-columns:1fr;min-height:0}.dt-hero-main{min-height:390px}.dt-hero-small{min-height:180px}.dt-search-box{grid-template-columns:1fr 64px}.dt-search-label{grid-column:1/3}.dt-quick-links{grid-column:1/3}.dt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-experience-track{grid-auto-columns:calc((100% - 18px)/2)}.dt-footer-main{grid-template-columns:1fr 1fr}.dt-footer-brand{grid-column:1/3}}
@media(max-width:640px){.dt-container{width:min(100% - 24px,var(--dt-container))}.dt-header-inner{min-height:70px}.dt-brand-mark{width:46px;height:46px;border-radius:13px;font-size:18px}.dt-brand-text{font-size:18px}.dt-page-intro{padding:24px 0 18px}.dt-page-intro p{font-size:14px}.dt-hero-main{min-height:320px;padding:28px}.dt-hero-side{grid-template-columns:1fr 1fr}.dt-hero-small{min-height:145px;padding:16px;font-size:16px}.dt-search-wrap{margin-top:-22px}.dt-search-box{padding:18px;grid-template-columns:1fr 54px;gap:12px;border-radius:20px}.dt-search-btn{width:52px;height:52px}.dt-quick-links{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.dt-quick-links a{white-space:nowrap}.dt-home-section{padding-top:42px}.dt-section-shell{padding:18px;border-radius:20px}.dt-section-head{align-items:flex-start}.dt-section-head h2{font-size:24px}.dt-view-all{min-height:38px;padding:0 12px;font-size:12px}.dt-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.dt-tab{white-space:nowrap}.dt-card-grid{grid-template-columns:1fr}.dt-experience-track{grid-auto-columns:82%;gap:14px}.dt-follow-box{align-items:flex-start;flex-direction:column}.dt-footer-main{grid-template-columns:1fr;gap:30px}.dt-footer-brand{grid-column:auto}}

/* ===== V2.1 MOBILE OPTIMIZED ===== */
@media (max-width:1024px){
  .dt-container{width:min(100% - 28px,var(--dt-container))}
  .dt-header-inner{min-height:72px}
  .dt-brand-logo img{max-height:48px}
  .dt-brand-mark{width:48px;height:48px;border-radius:14px}
  .dt-brand-text{font-size:19px}

  .dt-menu-toggle{display:flex;position:relative;z-index:1102}
  .dt-main-nav{
    display:block;position:fixed;top:0;right:0;width:min(390px,88vw);height:100dvh;
    padding:86px 18px 24px;background:#fff;border-left:1px solid var(--dt-line);
    box-shadow:-18px 0 40px rgba(20,43,79,.13);transform:translateX(105%);
    opacity:0;visibility:hidden;transition:.25s ease;overflow-y:auto;z-index:1100
  }
  .dt-main-nav.mobile-open{transform:translateX(0);opacity:1;visibility:visible}
  body.dt-menu-open{overflow:hidden}
  .dt-main-nav .dt-nav-list{display:block}
  .dt-main-nav .dt-nav-list>li{border-bottom:1px solid #edf1f6}
  .dt-main-nav .dt-nav-list>li>a{min-height:52px;padding:0 8px;justify-content:space-between;border-radius:0;font-size:15px}
  .dt-main-nav .dt-nav-list>li>a:hover{background:transparent}
  .dt-main-nav .sub-menu,.dt-main-nav .sub-menu.dt-two-col{
    position:static;display:none;opacity:1;visibility:visible;transform:none;min-width:0;
    grid-template-columns:1fr;box-shadow:none;border:0;border-radius:0;padding:0 0 10px 12px;margin:0
  }
  .dt-main-nav .menu-item-has-children.open>.sub-menu{display:grid}
  .dt-main-nav .sub-menu a{padding:9px 8px;font-size:14px}

  .dt-page-intro{padding:26px 0 20px}
  .dt-page-intro h1{font-size:clamp(25px,4vw,34px)}

  .dt-hero-grid{grid-template-columns:1fr;min-height:0}
  .dt-hero-main{min-height:390px}
  .dt-hero-side{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:3px}
  .dt-hero-side::-webkit-scrollbar{display:none}
  .dt-hero-small{flex:0 0:calc(50% - 5px);min-height:190px;scroll-snap-align:start}

  .dt-search-box{grid-template-columns:1fr 60px}
  .dt-search-label{grid-column:1/3}
  .dt-quick-links{grid-column:1/3}

  .dt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dt-experience-track{grid-auto-columns:calc((100% - 18px)/2)}

  .dt-footer-main{grid-template-columns:1fr 1fr}
  .dt-footer-brand{grid-column:1/3}
}

@media (max-width:640px){
  .dt-container{width:min(100% - 24px,var(--dt-container))}
  .dt-header-inner{min-height:66px;gap:12px}
  .dt-brand{gap:8px}
  .dt-brand-logo img{max-height:42px}
  .dt-brand-mark{width:42px;height:42px;border-radius:12px;font-size:17px}
  .dt-brand-text{font-size:17px}
  .dt-brand-text small{font-size:8px;margin-top:4px}
  .dt-menu-toggle{width:42px;height:42px;border-radius:11px}
  .dt-main-nav{width:min(360px,90vw);padding:76px 16px 22px}

  .dt-page-intro{padding:20px 0 16px}
  .dt-page-intro h1{font-size:24px;line-height:1.25;letter-spacing:-.45px}
  .dt-page-intro p{margin-top:8px;font-size:14px;line-height:1.55}

  .dt-hero-wrap{padding-top:2px}
  .dt-hero-grid{gap:10px}
  .dt-hero-main{min-height:300px;padding:24px;border-radius:16px}
  .dt-hero-kicker{padding:6px 10px;font-size:11px;margin-bottom:10px}
  .dt-hero-title{font-size:30px;line-height:1.08;letter-spacing:-.7px}
  .dt-hero-desc{
    margin-top:10px;font-size:13px;line-height:1.55;display:-webkit-box;
    -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
  }
  .dt-hero-side{margin-right:-12px;padding-right:12px;gap:10px}
  .dt-hero-small{flex:0 0 82%;min-height:165px;padding:18px;border-radius:15px;font-size:17px;line-height:1.3}

  .dt-search-wrap{margin-top:18px;position:relative}
  .dt-search-box{
    padding:18px;grid-template-columns:1fr 52px;gap:10px;border-radius:18px;
    box-shadow:0 10px 28px rgba(29,56,101,.10)
  }
  .dt-search-label{grid-column:1/3;font-size:16px}
  .dt-search-label span{margin-top:2px;font-size:12px;line-height:1.45}
  .dt-search-input{height:50px!important;padding:0 14px!important;font-size:14px!important;border-radius:12px!important}
  .dt-search-btn{width:50px;height:50px;box-shadow:none}
  .dt-search-btn svg{width:21px;height:21px}
  .dt-quick-links{
    grid-column:1/3;overflow-x:auto;flex-wrap:nowrap;padding:2px 0 4px;margin-top:0;scrollbar-width:none
  }
  .dt-quick-links::-webkit-scrollbar{display:none}
  .dt-quick-links a{flex:none;white-space:nowrap;padding:6px 10px}

  .dt-home-section{padding-top:34px}
  .dt-section-shell{padding:16px;border-radius:18px}
  .dt-section-head{align-items:center;gap:10px;margin-bottom:14px}
  .dt-section-head h2{font-size:22px;line-height:1.25;gap:8px}
  .dt-section-head h2:before{width:3px;height:24px}
  .dt-section-tools{gap:6px}
  .dt-view-all{min-height:36px;padding:0 11px;gap:6px;font-size:11px}
  .dt-experience-controls{display:none}

  .dt-tabs{
    flex-wrap:nowrap;overflow-x:auto;gap:7px;padding-bottom:5px;margin:0 -2px 18px;scrollbar-width:none
  }
  .dt-tabs::-webkit-scrollbar{display:none}
  .dt-tab{flex:none;padding:8px 13px;font-size:12px;white-space:nowrap}

  .dt-card-grid{grid-template-columns:1fr;gap:14px}
  .dt-study-card{border-radius:15px}
  .dt-card-media{aspect-ratio:16/9}
  .dt-card-body{padding:14px}
  .dt-card-body h3{font-size:16px;line-height:1.45}
  .dt-card-desc{
    font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden
  }
  .dt-card-actions{margin-top:12px}
  .dt-card-link{min-height:36px;padding:0 13px}

  .dt-experience-track{grid-auto-columns:84%;gap:12px;margin-right:-16px;padding-right:16px}
  .dt-experience-card{border-radius:15px}
  .dt-experience-body{padding:14px}
  .dt-experience-body h3{font-size:16px}
  .dt-experience-body p{font-size:13px;line-height:1.55;-webkit-line-clamp:2}

  .dt-follow-box{
    margin-top:24px;padding:15px;border-radius:14px;flex-direction:column;align-items:stretch;gap:14px
  }
  .dt-follow-copy{align-items:flex-start}
  .dt-follow-title{font-size:14px}
  .dt-follow-sub{font-size:12px;line-height:1.45;margin-top:2px}
  .dt-follow-btn{width:100%;text-align:center;min-height:42px}

  .dt-site-footer{margin-top:42px}
  .dt-footer-main{grid-template-columns:1fr;gap:26px;padding:34px 0 28px}
  .dt-footer-brand{grid-column:auto}
  .dt-footer-title{margin-bottom:10px}
  .dt-footer-links{gap:8px}
  .dt-footer-bottom{padding:15px 0}
  .dt-footer-bottom-inner{flex-direction:column;gap:5px}
}

@media (max-width:380px){
  .dt-brand-text{font-size:15px}
  .dt-brand-text small{display:none}
  .dt-hero-main{min-height:275px;padding:20px}
  .dt-hero-title{font-size:27px}
  .dt-hero-small{flex-basis:88%;min-height:155px}
  .dt-section-head h2{font-size:20px}
  .dt-view-all{padding:0 9px}
}

/* ===== V2.2 MOBILE CATEGORY CAROUSEL ===== */
/* Trên mobile: Đề thi thử + Tài liệu ôn thi nằm trên 1 hàng vuốt ngang,
   tránh kéo dài Homepage khi số bài tăng. */
@media (max-width:640px){
  .dt-card-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:0 16px 6px 0;
    margin-right:-16px;
  }

  .dt-card-grid::-webkit-scrollbar{
    display:none;
  }

  .dt-card-grid .dt-study-card{
    flex:0 0:84%;
    min-width:84%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    display:flex;
    flex-direction:column;
  }

  .dt-card-grid .dt-card-body{
    display:flex;
    flex:1;
    flex-direction:column;
  }

  .dt-card-grid .dt-card-actions{
    margin-top:auto;
    padding-top:12px;
  }

  .dt-card-grid .dt-card-media{
    aspect-ratio:16/9;
  }

  /* Hé một phần card tiếp theo để người dùng nhận biết có thể vuốt */
  .dt-card-grid:after{
    content:"";
    flex:0 0:1px;
  }
}

@media (max-width:380px){
  .dt-card-grid .dt-study-card{
    flex-basis:88%;
    min-width:88%;
  }
}

/* ===== V2.3 MOBILE POLISH: HEADER + BANNER + SEARCH ===== */
@media (max-width:640px){

  /* HEADER: chỉ giữ logo + hamburger, bỏ text brand để gọn */
  .dt-header-inner{
    min-height:64px;
    padding-top:4px;
    padding-bottom:4px;
  }

  .dt-brand-text{
    display:none !important;
  }

  .dt-brand-logo img{
    max-height:46px;
    width:auto;
  }

  .dt-brand-mark{
    width:44px;
    height:44px;
  }

  .dt-menu-toggle{
    margin-left:auto;
    width:44px;
    height:44px;
    border-radius:12px;
  }

  /* BANNER LỚN: ít chữ hơn, ảnh sạch hơn */
  .dt-hero-main{
    min-height:285px;
    padding:20px;
  }

  .dt-hero-title{
    font-size:25px;
    line-height:1.12;
    letter-spacing:-.4px;
    max-width:94%;
  }

  .dt-hero-kicker{
    font-size:10px;
    padding:5px 9px;
    margin-bottom:8px;
  }

  .dt-hero-desc{
    display:none !important;
  }

  /* BANNER NHỎ: chữ trắng, tối đa 2 dòng, nền tối rõ hơn */
  .dt-hero-small{
    min-height:155px;
    padding:16px;
    font-size:15px;
    line-height:1.3;
    color:#fff !important;
    align-items:flex-end;
  }

  .dt-hero-small .dt-hero-overlay{
    background:linear-gradient(
      180deg,
      rgba(4,17,42,0) 35%,
      rgba(4,17,42,.18) 58%,
      rgba(4,17,42,.82) 100%
    );
  }

  .dt-hero-small>span{
    position:relative;
    z-index:2;
    color:#fff !important;
    font-weight:800;
    text-shadow:0 1px 2px rgba(0,0,0,.22);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  /* SEARCH: rút gọn chiều cao */
  .dt-search-wrap{
    margin-top:14px;
  }

  .dt-search-box{
    padding:15px;
    gap:9px;
    border-radius:16px;
  }

  .dt-search-label{
    font-size:15px;
    line-height:1.25;
  }

  .dt-search-label span{
    display:none !important;
  }

  .dt-search-input{
    height:46px !important;
    font-size:13px !important;
    padding:0 13px !important;
  }

  .dt-search-btn{
    width:46px;
    height:46px;
  }

  .dt-search-btn svg{
    width:20px;
    height:20px;
  }

  .dt-quick-links{
    margin-top:1px;
    gap:7px;
  }

  .dt-quick-links a{
    padding:5px 9px;
    font-size:11px;
  }
}

/* Rất nhỏ: tránh logo/header chật */
@media (max-width:380px){
  .dt-brand-logo img{
    max-height:40px;
  }

  .dt-hero-main{
    min-height:265px;
  }

  .dt-hero-title{
    font-size:23px;
  }

  .dt-hero-small{
    min-height:145px;
    font-size:14px;
  }
}

/* ===== V2.5 SEARCH RESULTS PAGE ===== */
.dt-search-page-main{padding-bottom:32px}
.dt-search-hero{padding:34px 0 12px;background:linear-gradient(180deg,#fff 0%,#f6f9fe 100%)}
.dt-search-hero-box{background:#fff;border:1px solid #edf1f6;border-radius:24px;padding:28px;box-shadow:0 10px 26px rgba(30,53,90,.05)}
.dt-search-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:#74829a;margin-bottom:12px;flex-wrap:wrap}
.dt-search-breadcrumbs a{color:#3a5d98}
.dt-search-hero h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.15;letter-spacing:-.7px;color:#102f63}
.dt-search-hero p{margin:10px 0 0;color:#66758c;font-size:15px;line-height:1.65}
.dt-search-hero-form{margin-top:18px;display:grid;grid-template-columns:1fr 150px;gap:12px}
.dt-search-hero-form input{height:54px;border:1px solid #dfe7f2;border-radius:14px;background:#f8fbff;padding:0 18px;color:#15233b;outline:0}
.dt-search-hero-form button{height:54px;border:0;border-radius:14px;background:var(--dt-blue);color:#fff;font-weight:800;cursor:pointer}
.dt-search-results-section{padding:22px 0 0}
.dt-search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dt-search-card{border:1px solid var(--dt-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(30,53,90,.04);display:flex;flex-direction:column;min-width:0}
.dt-search-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(37,66,110,.10)}
.dt-search-card-media{aspect-ratio:16/10;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(135deg,#ddecff,#bed8ff);background-size:cover;background-position:center;position:relative}
.dt-search-card-body{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1}
.dt-search-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dt-search-date{font-size:13px;color:#7a879b}
.dt-search-card-title{margin:0;font-size:23px;line-height:1.38;letter-spacing:-.25px}
.dt-search-card-title a{color:#132c56}
.dt-search-card-desc{margin:0;color:#627188;font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dt-search-card-actions{margin-top:auto;padding-top:6px}
.dt-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:26px}
.dt-page-num{display:inline-flex}.dt-page-num a,.dt-page-num .current,.dt-page-num .dots{min-width:42px;height:42px;padding:0 12px;border-radius:12px;display:grid;place-items:center;border:1px solid #d9e4f2;background:#fff;color:#334560;font-weight:700}
.dt-page-num.current .current,.dt-page-num.current a,.dt-page-num .current{background:var(--dt-blue);color:#fff;border-color:var(--dt-blue)}
.dt-search-empty{background:#fff;border:1px solid #edf1f6;border-radius:24px;padding:36px 24px;text-align:center;box-shadow:0 10px 26px rgba(30,53,90,.05)}
.dt-search-empty h2{margin:0;font-size:30px;color:#102f63}.dt-search-empty p{margin:12px auto 0;max-width:700px;color:#66758c;line-height:1.7}
.dt-empty-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.dt-empty-links a{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid #d9e4f2;background:#fff;color:#244067;display:inline-flex;align-items:center;font-weight:700}
@media (max-width:1024px){
  .dt-search-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .dt-search-hero{padding:18px 0 8px}
  .dt-search-hero-box{padding:18px;border-radius:18px}
  .dt-search-hero h1{font-size:26px}
  .dt-search-hero p{font-size:14px;line-height:1.6}
  .dt-search-hero-form{grid-template-columns:1fr;gap:10px}
  .dt-search-hero-form input,.dt-search-hero-form button{height:48px}
  .dt-search-results-grid{grid-template-columns:1fr;gap:14px}
  .dt-search-card{border-radius:16px}
  .dt-search-card-body{padding:14px}
  .dt-search-card-title{font-size:19px;line-height:1.42}
  .dt-search-card-desc{font-size:13px;line-height:1.6;-webkit-line-clamp:2}
  .dt-pagination{margin-top:20px}
  .dt-page-num a,.dt-page-num .current,.dt-page-num .dots{min-width:38px;height:38px;border-radius:10px}
  .dt-search-empty{padding:24px 16px;border-radius:18px}
  .dt-search-empty h2{font-size:24px}
}

/* ===== V2.6 PERFORMANCE: RESPONSIVE IMAGES ===== */
.dt-hero-main,.dt-hero-small,.dt-card-media,.dt-experience-image,.dt-search-card-media{position:relative;isolation:isolate}
.dt-media-img{display:block;width:100%;height:100%;object-fit:cover}
.dt-hero-main>.dt-media-img,.dt-hero-small>.dt-media-img,.dt-card-media>.dt-media-img,.dt-experience-image>.dt-media-img,.dt-search-card-media>.dt-media-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2
}
.dt-card-media.has-image:after{z-index:-1}
.dt-hero-overlay{z-index:-1}
.dt-card-media.has-image .dt-badge,.dt-search-card-media.has-image .dt-badge{z-index:2}
.dt-experience-image.has-image{overflow:hidden}
.dt-search-card-media{overflow:hidden}
.dt-logo-img{display:block;width:auto;height:auto;max-height:54px}
@media(max-width:640px){.dt-logo-img{max-height:46px}}

/* ===== V2.7 ABOUT PAGE ===== */
.dt-about-page{background:#fff;color:#18304f}
.dt-about-hero{padding:28px 0 58px;background:linear-gradient(180deg,#f6f9ff 0%,#fff 100%);overflow:hidden}
.dt-about-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#7b8798;margin-bottom:36px}
.dt-about-breadcrumb a{color:#315b96}
.dt-about-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:58px;align-items:center}
.dt-about-eyebrow,.dt-about-label{display:inline-block;font-size:12px;letter-spacing:.12em;font-weight:800;color:#2d67b1;margin-bottom:10px}
.dt-about-hero h1{margin:0;color:#102f63;font-size:clamp(38px,5.2vw,66px);line-height:1.05;letter-spacing:-1.5px}
.dt-about-lead{margin:20px 0 0;max-width:760px;color:#5f6f84;font-size:18px;line-height:1.75}
.dt-about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.dt-about-btn{min-height:48px;padding:0 18px;border:1px solid #cfdbec;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#24466f;font-weight:800;background:#fff}
.dt-about-btn.primary{background:var(--dt-blue);border-color:var(--dt-blue);color:#fff}
.dt-about-highlight{background:#123b71;border-radius:24px;padding:12px 28px;color:#fff;box-shadow:0 20px 44px rgba(27,62,106,.15)}
.dt-about-stat{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.dt-about-stat:last-child{border-bottom:0}.dt-about-stat strong{font-size:25px;color:#8ec5ff}.dt-about-stat span{font-size:16px;line-height:1.5;font-weight:700}
.dt-about-section{padding:72px 0}.dt-about-soft{background:#f7f9fc}
.dt-about-two-col{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
.dt-about-copy h2,.dt-about-heading h2,.dt-about-cta h2{margin:0;color:#14345e;font-size:clamp(28px,3.6vw,42px);line-height:1.18;letter-spacing:-.6px}
.dt-about-text{font-size:16px;line-height:1.85;color:#5e6f86}.dt-about-text p{margin:0 0 14px}.dt-about-text p:last-child{margin-bottom:0}
.dt-about-heading{max-width:720px;margin-bottom:30px}
.dt-about-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dt-about-card{padding:26px;border:1px solid #e4eaf2;border-radius:20px;background:#fff;min-height:250px;color:#18304f;box-shadow:0 6px 18px rgba(25,56,93,.035)}
.dt-about-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(25,56,93,.08)}
.dt-about-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf5ff;color:#2260ab;font-weight:900;margin-bottom:34px}
.dt-about-card h3{margin:0 0 10px;font-size:23px;color:#15365f}.dt-about-card p{margin:0;color:#66758a;line-height:1.7;font-size:14px}
.dt-about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dt-about-principles>div{padding:24px;border-left:3px solid #2d74c8;background:#fff;border-radius:0 16px 16px 0}.dt-about-principles strong{font-size:20px;color:#15365f}.dt-about-principles p{margin:8px 0 0;color:#66758a;line-height:1.7;font-size:14px}
.dt-about-cta{padding:42px 0 72px}.dt-about-cta-box{background:linear-gradient(135deg,#103564,#1e62a9);border-radius:24px;padding:34px 38px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.dt-about-cta .dt-about-label{color:#a8d3ff}.dt-about-cta h2{color:#fff;font-size:34px}.dt-about-cta p{margin:10px 0 0;color:#d8e8f8;line-height:1.65}.dt-about-cta-box>a{min-height:48px;padding:0 20px;border-radius:12px;background:#fff;color:#164b83;display:inline-flex;align-items:center;font-weight:900}
@media(max-width:900px){.dt-about-hero-grid,.dt-about-two-col{grid-template-columns:1fr;gap:28px}.dt-about-cards,.dt-about-principles{grid-template-columns:1fr}.dt-about-highlight{max-width:620px}.dt-about-section{padding:54px 0}.dt-about-cta-box{grid-template-columns:1fr}}
@media(max-width:640px){.dt-about-hero{padding:18px 0 40px}.dt-about-breadcrumb{margin-bottom:22px}.dt-about-hero h1{font-size:36px}.dt-about-lead{font-size:16px;line-height:1.65}.dt-about-highlight{padding:8px 18px;border-radius:18px}.dt-about-stat{grid-template-columns:48px 1fr;padding:18px 0}.dt-about-stat strong{font-size:21px}.dt-about-stat span{font-size:14px}.dt-about-section{padding:42px 0}.dt-about-copy h2,.dt-about-heading h2{font-size:29px}.dt-about-card{min-height:0;padding:22px}.dt-about-card>span{margin-bottom:22px}.dt-about-cta{padding:28px 0 48px}.dt-about-cta-box{padding:24px 20px;border-radius:18px}.dt-about-cta h2{font-size:28px}}


/* ===== V2.9 HOMEPAGE VISUAL POLISH ===== */
/* Làm các section chính nổi bật hơn và tránh khoảng trắng lớn khi hiện chỉ có 2-3 bài. */
.dt-home-section .dt-section-shell{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #dfe9f7;
  box-shadow:0 14px 38px rgba(31,67,116,.08);
}
.dt-home-section .dt-section-shell:before{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#1677ff 0%,#67a8ff 55%,rgba(103,168,255,0) 100%);
}
.dt-section-head{margin-bottom:20px}
.dt-section-head h2{font-size:30px;font-weight:850;color:#0d2f61}
.dt-section-head h2:before{background:#1677ff;box-shadow:0 0 0 4px rgba(22,119,255,.08)}
.dt-view-all{
  border-color:#b9d1f4;
  background:#f8fbff;
  color:#123d76;
  box-shadow:0 4px 12px rgba(31,67,116,.04);
  transition:.2s ease;
}
.dt-view-all:hover{background:#1677ff;border-color:#1677ff;color:#fff;transform:translateY(-1px)}
.dt-tabs{gap:10px;margin-bottom:24px}
.dt-tab{
  border-color:#d8e5f5;
  background:#f9fbfe;
  color:#58708e;
  padding:10px 16px;
  transition:.18s ease;
}
.dt-tab:hover{background:#eaf3ff;color:#155fc7;border-color:#b8d4f8}
.dt-tab.active{background:#123362;color:#fff;border-color:#123362;box-shadow:0 7px 18px rgba(18,51,98,.16)}

/* auto-fit giúp 3 bài tự giãn đầy hàng thay vì chừa một cột trống */
.dt-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
  align-items:stretch;
}
.dt-study-card{
  border-color:#d8e4f3;
  border-radius:20px;
  box-shadow:0 8px 22px rgba(28,63,111,.07);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.dt-study-card:hover{transform:translateY(-5px);border-color:#bdd5f5;box-shadow:0 18px 34px rgba(28,63,111,.14)}
.dt-card-media{aspect-ratio:16/9;padding:16px;background:#eaf3ff}
.dt-badge{
  top:14px;left:14px;
  padding:7px 10px;
  border:1px solid rgba(58,112,194,.10);
  color:#155fc7;
  box-shadow:0 7px 18px rgba(15,52,101,.10);
}
.dt-card-body{display:flex;flex:1;flex-direction:column;padding:18px}
.dt-card-body h3{font-size:18px;line-height:1.42;color:#102b52}
.dt-card-meta{margin-top:10px;color:#8090a7}
.dt-card-actions{margin-top:auto;padding-top:16px}
.dt-card-link{
  min-height:40px;
  padding:0 16px;
  border-radius:12px;
  background:linear-gradient(135deg,#1677ff,#0d66e8);
  box-shadow:0 7px 15px rgba(22,119,255,.20);
  transition:.18s ease;
}
.dt-card-link:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(22,119,255,.27)}

/* Google Follow theo mẫu tham chiếu: nền hồng rất nhạt, viền hồng, tiêu đề nổi bật. */
.dt-follow-box{
  max-width:760px;
  margin:34px auto 2px;
  border:1.5px solid #f4a8cb;
  background:linear-gradient(180deg,#fff9fc 0%,#fff3f8 100%);
  border-radius:15px;
  padding:18px 20px;
  gap:24px;
  box-shadow:0 8px 22px rgba(222,54,137,.07);
}
.dt-follow-copy{gap:13px;min-width:0}
.dt-google-icon{
  width:36px;height:36px;flex:0 0 36px;
  background:#fff;border:1px solid #eadde5;
  box-shadow:0 3px 10px rgba(93,55,76,.07);
}
.dt-google-icon svg{width:20px;height:20px;display:block}
.dt-follow-text{min-width:0}
.dt-follow-title{font-size:16px;line-height:1.3;font-weight:850;color:#eb1686}
.dt-follow-sub{margin-top:4px;font-size:13px;line-height:1.45;color:#6c6470}
.dt-follow-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:9px 17px;
  border:1px solid #cfd7e2;
  background:#fff;
  color:#27384f!important;
  box-shadow:0 3px 10px rgba(38,55,79,.04);
  transition:.18s ease;
  white-space:nowrap;
}
.dt-follow-btn:hover{border-color:#aebdce;box-shadow:0 7px 16px rgba(38,55,79,.09);transform:translateY(-1px)}
.dt-google-btn-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.dt-google-btn-icon svg{width:20px;height:20px;display:block}

@media (max-width:1024px){
  .dt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
  .dt-home-section .dt-section-shell{box-shadow:0 10px 28px rgba(31,67,116,.07)}
  .dt-home-section .dt-section-shell:before{left:16px;right:16px;height:2px}
  .dt-section-head h2{font-size:22px}
  .dt-tabs{gap:7px}

  /* Giữ carousel mobile đã có từ V2.2 */
  .dt-card-grid{
    display:flex!important;
    grid-template-columns:none!important;
  }
  .dt-study-card{border-radius:17px}
  .dt-card-body{padding:15px}
  .dt-card-body h3{font-size:16px}

  .dt-follow-box{
    margin-top:26px;
    padding:16px;
    gap:14px;
    border-radius:14px;
  }
  .dt-follow-copy{align-items:center}
  .dt-follow-title{font-size:15px}
  .dt-follow-sub{font-size:12px}
  .dt-follow-btn{width:100%;min-height:44px}
}


/* ===== V3.0 EXAM CATEGORY TEMPLATE ===== */
.dt-category-main{background:#fff;color:#173252}
.dt-category-hero{padding:28px 0 34px;background:linear-gradient(180deg,#f4f8ff 0%,#fff 100%);border-bottom:1px solid #edf2f8}
.dt-category-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#7a8799;margin-bottom:24px}
.dt-category-breadcrumb a{color:#315f9b}
.dt-category-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.dt-category-eyebrow,.dt-category-small-label{display:inline-block;color:#2469bd;font-size:12px;font-weight:850;letter-spacing:.1em;margin-bottom:8px}
.dt-category-hero h1{margin:0;color:#0e3261;font-size:clamp(36px,5vw,56px);line-height:1.08;letter-spacing:-1px}
.dt-category-hero p{max-width:820px;margin:14px 0 0;color:#60718a;font-size:16px;line-height:1.75}
.dt-category-hero-meta{min-width:150px;padding:18px 20px;border:1px solid #dce8f7;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,66,113,.06);text-align:center}
.dt-category-hero-meta strong{display:block;color:#1267d8;font-size:30px;line-height:1;font-weight:900}
.dt-category-hero-meta span{display:block;margin-top:7px;color:#728198;font-size:12px}

.dt-cat-nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.dt-cat-chip{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #d5e2f2;border-radius:999px;background:#fff;color:#536b88;font-size:14px;font-weight:700;transition:.18s ease}
.dt-cat-chip:hover{border-color:#9fc3f2;background:#edf5ff;color:#145fbe}
.dt-cat-chip.active{background:#123566;border-color:#123566;color:#fff;box-shadow:0 7px 16px rgba(18,53,102,.15)}

.dt-category-search{margin-top:22px;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.4fr) 120px;gap:12px;align-items:center;padding:14px;border:1px solid #dce7f5;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(31,66,113,.06)}
.dt-category-search-copy{padding:0 8px}
.dt-category-search-copy strong{display:block;color:#153b6a;font-size:15px}
.dt-category-search-copy span{display:block;margin-top:3px;color:#8591a3;font-size:12px}
.dt-category-search input{height:50px;border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff;padding:0 15px;color:#173252;outline:0}
.dt-category-search input:focus{border-color:#8fbbf3;box-shadow:0 0 0 3px rgba(22,119,255,.08)}
.dt-category-search button{height:50px;border:0;border-radius:12px;background:linear-gradient(135deg,#1677ff,#0d66e8);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 7px 16px rgba(22,119,255,.18)}

.dt-category-content{padding:46px 0 64px}
.dt-category-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.dt-category-section-head h2{margin:0;color:#11355f;font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.4px}
.dt-category-count{flex:none;color:#718096;font-size:13px;font-weight:700}
.dt-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dt-category-card .dt-card-media{aspect-ratio:16/9}
.dt-category-card .dt-card-body{padding:18px}
.dt-category-card .dt-card-body h3{font-size:19px;line-height:1.42}
.dt-category-card-excerpt{margin:10px 0 0;color:#67768a;font-size:14px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dt-category-card .dt-card-meta{margin-top:12px}
.dt-category-card .dt-card-actions{padding-top:15px}
.dt-category-card .dt-card-link{width:100%;justify-content:center}

.dt-category-empty{text-align:center;padding:44px 22px;border:1px solid #e2eaf4;border-radius:22px;background:#f9fbfe}
.dt-category-empty h2{margin:0;color:#12365f;font-size:28px}
.dt-category-empty p{max-width:650px;margin:10px auto 0;color:#6c7a8d;line-height:1.7}
.dt-category-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;padding:0 16px;border-radius:12px;background:#1677ff;color:#fff;font-weight:800}

.dt-category-bottom{padding:0 0 64px}
.dt-category-bottom-box{padding:28px;border:1px solid #dfe9f5;border-radius:22px;background:linear-gradient(135deg,#f7fbff,#eef5ff)}
.dt-category-bottom-box h2{margin:0;color:#12365f;font-size:30px;line-height:1.25}
.dt-category-bottom-box p{margin:9px 0 0;color:#66768a;line-height:1.65}
.dt-category-bottom-box .dt-cat-nav{margin-top:20px}

.dt-category-main .dt-pagination{margin-top:30px}

@media(max-width:1024px){
  .dt-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dt-category-search{grid-template-columns:1fr 1fr 110px}
}

@media(max-width:720px){
  .dt-category-hero{padding:18px 0 24px}
  .dt-category-breadcrumb{margin-bottom:18px}
  .dt-category-hero-grid{grid-template-columns:1fr;gap:18px;align-items:start}
  .dt-category-hero h1{font-size:34px}
  .dt-category-hero p{font-size:14px;line-height:1.65}
  .dt-category-hero-meta{display:inline-flex;align-items:center;gap:8px;min-width:0;width:max-content;padding:10px 14px;border-radius:13px;text-align:left}
  .dt-category-hero-meta strong{font-size:20px}
  .dt-category-hero-meta span{margin:0;font-size:12px}
  .dt-cat-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-12px;padding-right:12px;padding-bottom:4px}
  .dt-cat-nav::-webkit-scrollbar{display:none}
  .dt-cat-chip{flex:none;min-height:38px;padding:0 13px;font-size:12px}
  .dt-category-search{grid-template-columns:1fr 94px;gap:9px;padding:12px;border-radius:15px}
  .dt-category-search-copy{grid-column:1/3;padding:0 2px}
  .dt-category-search input,.dt-category-search button{height:46px}
  .dt-category-content{padding:32px 0 46px}
  .dt-category-section-head{align-items:start;margin-bottom:16px}
  .dt-category-section-head h2{font-size:25px}
  .dt-category-count{padding-top:5px}
  .dt-category-grid{grid-template-columns:1fr;gap:15px}
  .dt-category-card{border-radius:17px}
  .dt-category-card .dt-card-body{padding:15px}
  .dt-category-card .dt-card-body h3{font-size:17px}
  .dt-category-card-excerpt{font-size:13px}
  .dt-category-bottom{padding:0 0 46px}
  .dt-category-bottom-box{padding:20px;border-radius:18px}
  .dt-category-bottom-box h2{font-size:25px}
}


/* ========================================================================
   V3.1 DESIGN REFRESH
   Mục tiêu: sáng, sạch, hiện đại, giáo dục; giảm xanh đậm, thêm accent cam,
   typography Be Vietnam Pro và phân cấp thị giác rõ hơn.
   ======================================================================== */

:root{
  --dt-navy:#163A63;
  --dt-navy-2:#214E7A;
  --dt-blue:#2F80ED;
  --dt-blue-dark:#163A63;
  --dt-blue-soft:#EEF5FD;
  --dt-orange:#F59E0B;
  --dt-orange-soft:#FFF6E8;
  --dt-text:#1F2D3D;
  --dt-muted:#68778C;
  --dt-line:#E2EAF3;
  --dt-bg:#F7F9FC;
  --dt-white:#FFFFFF;
  --dt-shadow:0 14px 36px rgba(34,63,96,.075);
  --dt-shadow-hover:0 18px 42px rgba(34,63,96,.12);
}

.dt-site{
  background:
    radial-gradient(circle at 10% 5%,rgba(47,128,237,.055),transparent 25%),
    linear-gradient(180deg,#FBFCFE 0%,#F7F9FC 100%);
  color:var(--dt-text);
  font-family:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;
  letter-spacing:-.01em;
}
.dt-site button,.dt-site input,.dt-site textarea,.dt-site select{font-family:inherit}
.dt-site h1,.dt-site h2,.dt-site h3,.dt-site h4{font-family:inherit;letter-spacing:-.035em}
.dt-site p{letter-spacing:-.012em}

/* HEADER */
.dt-site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(226,234,243,.92);
  box-shadow:0 4px 20px rgba(28,53,82,.035);
}
.dt-header-inner{min-height:78px}
.dt-brand{color:var(--dt-navy);font-weight:800}
.dt-brand-text{font-size:20px;letter-spacing:-.045em}
.dt-brand-text small{color:#7186A1;letter-spacing:.12em;font-weight:700}
.dt-nav-list{gap:5px}
.dt-nav-list>li>a{
  min-height:44px;
  padding:0 13px;
  color:#263B53;
  font-size:14px;
  font-weight:600;
  border-radius:11px;
}
.dt-nav-list>li>a:hover,
.dt-nav-list>.current-menu-item>a,
.dt-nav-list>.current-menu-parent>a{
  color:var(--dt-navy);
  background:#F0F5FB;
}
.dt-nav-list .sub-menu{
  border-color:#E2EAF3;
  box-shadow:0 18px 48px rgba(33,65,101,.13);
}
.dt-nav-list .sub-menu a{color:#44576D}

/* INTRO */
.dt-page-intro{
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FAFD 100%);
}
.dt-page-intro h1{color:var(--dt-navy);font-weight:800}
.dt-page-intro p{color:var(--dt-muted)}

/* HOMEPAGE HERO */
.dt-hero-grid{gap:12px}
.dt-hero-main,.dt-hero-small{
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 12px 30px rgba(30,65,105,.075);
}
.dt-hero-main:not(.has-image){
  background:
    radial-gradient(circle at 82% 22%,rgba(245,158,11,.18),transparent 27%),
    radial-gradient(circle at 15% 20%,rgba(47,128,237,.14),transparent 30%),
    linear-gradient(135deg,#F1F7FF,#E7F0FB 58%,#FFF5E6);
}
.dt-hero-main:not(.has-image) .dt-hero-overlay{display:none}
.dt-hero-main:not(.has-image) .dt-hero-copy{color:var(--dt-navy)}
.dt-hero-main:not(.has-image) .dt-hero-desc{color:#596D84}
.dt-hero-main:not(.has-image) .dt-hero-kicker{
  color:#A85D00;
  background:var(--dt-orange-soft);
  border-color:#F7D9A5;
}
.dt-hero-small:not(.has-image){
  color:var(--dt-navy);
  background:
    radial-gradient(circle at 80% 18%,rgba(245,158,11,.13),transparent 28%),
    linear-gradient(145deg,#F4F8FD,#EAF2FB);
}
.dt-hero-small:not(.has-image) .dt-hero-overlay{display:none}
.dt-hero-kicker{
  font-weight:700;
  backdrop-filter:blur(5px);
}
.dt-hero-title{font-weight:800}

/* SEARCH */
.dt-search-box{
  border:1px solid #E0E9F3;
  border-radius:22px;
  box-shadow:0 18px 44px rgba(35,67,104,.11);
  background:rgba(255,255,255,.98);
}
.dt-search-label{color:var(--dt-navy);font-weight:750}
.dt-search-label span{color:#7A899D}
.dt-search-input{
  background:#F6F8FB!important;
  border:1px solid transparent!important;
}
.dt-search-input:focus{
  background:#fff!important;
  border-color:#A9C9EF!important;
  box-shadow:0 0 0 4px rgba(47,128,237,.08)!important;
}
.dt-search-btn{
  background:var(--dt-navy);
  box-shadow:0 10px 22px rgba(22,58,99,.20);
  transition:.18s ease;
}
.dt-search-btn:hover{background:var(--dt-blue);transform:translateY(-1px)}
.dt-quick-links a{
  color:#52677F;
  background:#F2F5F9;
  border:1px solid #E7EDF4;
  font-weight:550;
}
.dt-quick-links a:hover{
  background:var(--dt-orange-soft);
  border-color:#F5D59D;
  color:#9A5C06;
}

/* HOME SECTIONS */
.dt-home-section{padding-top:54px}
.dt-home-section .dt-section-shell{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.98);
  border:1px solid #E3EAF2;
  box-shadow:0 12px 34px rgba(35,66,101,.055);
}
.dt-home-section .dt-section-shell:before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  width:72px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--dt-blue),var(--dt-orange));
}
.dt-section-head h2{
  color:var(--dt-navy);
  font-weight:800;
}
.dt-section-head h2:before{display:none}
.dt-view-all{
  border-color:#CBD9E8;
  color:#2C4967;
  background:#fff;
  font-weight:650;
}
.dt-view-all:hover{
  color:#fff;
  background:var(--dt-navy);
  border-color:var(--dt-navy);
}
.dt-tab{
  border-color:#DCE6F0;
  color:#68798E;
  background:#fff;
  font-weight:600;
}
.dt-tab:hover{
  background:#F0F5FB;
  color:var(--dt-navy);
  border-color:#BFD3E8;
}
.dt-tab.active{
  color:#fff;
  background:var(--dt-navy);
  border-color:var(--dt-navy);
  box-shadow:0 7px 16px rgba(22,58,99,.13);
}

/* CARDS */
.dt-study-card,.dt-experience-card,.dt-search-card{
  border-color:#E1E9F2;
  box-shadow:0 6px 20px rgba(36,65,99,.045);
}
.dt-study-card:hover,.dt-experience-card:hover,.dt-search-card:hover{
  transform:translateY(-4px);
  border-color:#C9D9EA;
  box-shadow:var(--dt-shadow-hover);
}
.dt-card-media{
  background:linear-gradient(145deg,#EEF5FC,#DDEAF7);
}
.dt-card-media.has-image:after{
  background:linear-gradient(180deg,transparent 50%,rgba(13,38,68,.30));
}
.dt-badge{
  color:#315E8D;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(202,217,233,.85);
  box-shadow:0 4px 12px rgba(25,58,95,.07);
  font-weight:700;
}
.dt-card-body h3,.dt-experience-body h3{color:#1E354E;font-weight:700}
.dt-card-desc,.dt-experience-body p{color:#6D7C90}
.dt-card-meta{color:#8795A7}
.dt-card-link{
  background:var(--dt-navy);
  border-radius:10px;
  box-shadow:none;
  font-weight:700;
  transition:.18s ease;
}
.dt-card-link:hover{background:var(--dt-blue);box-shadow:none}

/* EXPERIENCE */
.dt-round-btn{
  border-color:#D8E3EE;
  color:#46617D;
}
.dt-round-btn:hover{background:#F0F5FB;color:var(--dt-navy)}

/* FOOTER */
.dt-site-footer{
  background:#FCFDFE;
  border-color:#E2EAF3;
}
.dt-footer-title{color:var(--dt-navy)}
.dt-footer-links a{color:#65758A}
.dt-footer-links a:hover{color:var(--dt-blue)}
.dt-social-row a{background:#fff;border-color:#DDE6EF}

/* ABOUT PAGE */
.dt-about-template-page .dt-site,
.dt-about-page .dt-site{
  background:linear-gradient(180deg,#FBFCFE,#F7F9FC);
}

/* SEARCH RESULTS PAGE */
.dt-search-hero{
  background:linear-gradient(180deg,#F5F8FC 0%,#FFFFFF 100%);
}
.dt-search-hero-box{
  border-color:#E1E9F2;
  box-shadow:0 12px 34px rgba(35,66,101,.06);
}
.dt-search-hero h1{color:var(--dt-navy);font-weight:800}
.dt-search-hero-form button{background:var(--dt-navy)}
.dt-search-hero-form button:hover{background:var(--dt-blue)}

/* CATEGORY / ĐỀ THI THỬ */
.dt-category-main{
  background:
    radial-gradient(circle at 90% 4%,rgba(245,158,11,.05),transparent 24%),
    linear-gradient(180deg,#FBFCFE 0%,#F7F9FC 100%);
  color:var(--dt-text);
}
.dt-category-hero{
  position:relative;
  overflow:hidden;
  padding:34px 0 36px;
  background:
    radial-gradient(circle at 90% 12%,rgba(245,158,11,.10),transparent 25%),
    radial-gradient(circle at 8% 6%,rgba(47,128,237,.08),transparent 27%),
    linear-gradient(180deg,#F8FBFE 0%,#FFFFFF 100%);
  border-bottom:1px solid #E5ECF3;
}
.dt-category-hero:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:260px;
  height:260px;
  border:1px solid rgba(47,128,237,.07);
  border-radius:50%;
  pointer-events:none;
}
.dt-category-breadcrumb{color:#8491A2}
.dt-category-breadcrumb a{color:#56708E}
.dt-category-eyebrow,.dt-category-small-label{
  color:#9B620E;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
}
.dt-category-hero h1{
  color:var(--dt-navy);
  font-weight:800;
  letter-spacing:-.045em;
}
.dt-category-hero p{color:#66778B}
.dt-category-hero-meta{
  border-color:#E0E8F1;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(33,64,100,.065);
}
.dt-category-hero-meta strong{color:var(--dt-blue)}
.dt-cat-chip{
  min-height:40px;
  border-color:#DCE6F0;
  color:#5F7186;
  background:rgba(255,255,255,.92);
  font-weight:600;
}
.dt-cat-chip:hover{
  border-color:#BDD1E5;
  color:var(--dt-navy);
  background:#F1F6FB;
}
.dt-cat-chip.active{
  background:var(--dt-navy);
  border-color:var(--dt-navy);
  color:#fff;
  box-shadow:0 7px 16px rgba(22,58,99,.13);
}
.dt-category-search{
  border-color:#E0E8F1;
  border-radius:17px;
  box-shadow:0 10px 28px rgba(34,65,101,.06);
}
.dt-category-search-copy strong{color:var(--dt-navy)}
.dt-category-search input{background:#F7F9FC;border-color:#E2E9F1}
.dt-category-search input:focus{
  border-color:#A8C6E7;
  box-shadow:0 0 0 4px rgba(47,128,237,.075);
}
.dt-category-search button{
  background:var(--dt-navy);
  box-shadow:none;
}
.dt-category-search button:hover{background:var(--dt-blue)}
.dt-category-content{padding-top:42px}
.dt-category-section-head h2{
  color:var(--dt-navy);
  font-weight:800;
}
.dt-category-card .dt-card-link{
  background:#F0F5FB;
  color:var(--dt-navy)!important;
  border:1px solid #D7E3EF;
}
.dt-category-card .dt-card-link:hover{
  color:#fff!important;
  background:var(--dt-navy);
  border-color:var(--dt-navy);
}
.dt-category-bottom-box{
  border-color:#E0E8F1;
  background:
    radial-gradient(circle at 92% 20%,rgba(245,158,11,.09),transparent 26%),
    linear-gradient(135deg,#F8FBFE,#F0F5FA);
}
.dt-category-bottom-box h2{color:var(--dt-navy)}

/* GOOGLE FOLLOW: giữ phong cách mẫu, nhưng tinh gọn typography để đồng bộ hệ mới */
.dt-follow-box{
  box-shadow:0 10px 28px rgba(223,66,142,.065);
}
.dt-follow-title{
  font-family:"Be Vietnam Pro",system-ui,sans-serif;
  font-weight:750;
}
.dt-follow-btn{font-family:"Be Vietnam Pro",system-ui,sans-serif;font-weight:600}

/* MOBILE */
@media(max-width:640px){
  .dt-site{font-size:14px}
  .dt-header-inner{min-height:64px}
  .dt-home-section{padding-top:32px}
  .dt-home-section .dt-section-shell{border-radius:17px}
  .dt-home-section .dt-section-shell:before{left:16px;width:54px}
  .dt-section-head h2{font-size:21px}
  .dt-hero-main:not(.has-image){min-height:250px}
  .dt-category-hero{padding:20px 0 25px}
  .dt-category-hero h1{font-size:32px}
  .dt-category-content{padding-top:30px}
}


/* V3.1.1 WHITE BACKGROUND FIX */
.dt-site,
.dt-page-intro,
.dt-hero-wrap,
.dt-home-section,
.dt-home-main,
.dt-home-content{background:#fff !important;}

.dt-home-section .dt-section-shell{background:#fff !important;}

@media(min-width: 641px){
  .dt-page-intro{padding-bottom:18px;}
}


/* ========================================================================
   V3.2 EXAM CATEGORY POLISH
   Trang Đề thi thử: nền trắng, hero gọn, điều hướng rõ, card nhẹ và dễ đọc.
   ======================================================================== */

.dt-exam-category-page .dt-site{
  background:#fff !important;
}

.dt-exam-category-page .dt-category-main{
  background:#fff !important;
}

/* Hero */
.dt-exam-category-page .dt-category-hero{
  background:#fff !important;
  padding:26px 0 28px;
  border-bottom:1px solid #E8EEF5;
}
.dt-exam-category-page .dt-category-hero:after{display:none}
.dt-exam-category-page .dt-category-breadcrumb{
  margin-bottom:18px;
  color:#8A97A8;
  font-size:12.5px;
}
.dt-exam-category-page .dt-category-breadcrumb a{
  color:#60758D;
}
.dt-exam-category-page .dt-category-hero-grid{
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.dt-exam-category-page .dt-category-eyebrow{
  margin-bottom:7px;
  color:#B16B09;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.dt-exam-category-page .dt-category-hero h1{
  margin:0;
  color:#183B63;
  font-size:clamp(34px,4vw,48px);
  line-height:1.1;
  font-weight:800;
}
.dt-exam-category-page .dt-category-hero p{
  max-width:780px;
  margin:12px 0 0;
  color:#65758A;
  font-size:15px;
  line-height:1.72;
}
.dt-exam-category-page .dt-category-hero-meta{
  min-width:138px;
  padding:14px 18px;
  border:1px solid #E1E8F0;
  border-radius:14px;
  background:#FAFCFE;
  box-shadow:none;
}
.dt-exam-category-page .dt-category-hero-meta strong{
  color:#2F80ED;
  font-size:26px;
}
.dt-exam-category-page .dt-category-hero-meta span{
  margin-top:5px;
  color:#7C8A9C;
}

/* Category chips */
.dt-exam-category-page .dt-cat-nav{
  margin-top:22px;
  gap:8px;
}
.dt-exam-category-page .dt-cat-chip{
  min-height:39px;
  padding:0 14px;
  border:1px solid #DDE6EF;
  border-radius:999px;
  background:#fff;
  color:#5D6F84;
  font-size:13px;
  font-weight:600;
  box-shadow:none;
}
.dt-exam-category-page .dt-cat-chip:hover{
  background:#F5F8FC;
  border-color:#C9D7E6;
  color:#183B63;
}
.dt-exam-category-page .dt-cat-chip.active{
  background:#183B63;
  border-color:#183B63;
  color:#fff;
  box-shadow:none;
}

/* Search box */
.dt-exam-category-page .dt-category-search{
  margin-top:20px;
  padding:12px;
  grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr) 108px;
  gap:10px;
  border:1px solid #E1E8F0;
  border-radius:16px;
  background:#FAFCFE;
  box-shadow:none;
}
.dt-exam-category-page .dt-category-search-copy{
  padding:0 6px;
}
.dt-exam-category-page .dt-category-search-copy strong{
  color:#183B63;
  font-size:14px;
}
.dt-exam-category-page .dt-category-search-copy span{
  color:#8A97A8;
  font-size:11.5px;
}
.dt-exam-category-page .dt-category-search input{
  height:46px;
  border:1px solid #E2E9F1;
  border-radius:11px;
  background:#fff;
  color:#25384E;
  font-size:13.5px;
}
.dt-exam-category-page .dt-category-search button{
  height:46px;
  border-radius:11px;
  background:#183B63;
  box-shadow:none;
  font-size:13.5px;
  font-weight:700;
}
.dt-exam-category-page .dt-category-search button:hover{
  background:#2F80ED;
}

/* Content */
.dt-exam-category-page .dt-category-content{
  padding:38px 0 56px;
  background:#fff;
}
.dt-exam-category-page .dt-category-section-head{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #EDF1F5;
}
.dt-exam-category-page .dt-category-small-label{
  margin-bottom:5px;
  color:#B16B09;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.11em;
}
.dt-exam-category-page .dt-category-section-head h2{
  color:#183B63;
  font-size:clamp(25px,2.7vw,31px);
  font-weight:800;
}
.dt-exam-category-page .dt-category-count{
  color:#8794A4;
  font-size:12.5px;
}

/* Cards */
.dt-exam-category-page .dt-category-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.dt-exam-category-page .dt-category-card{
  border:1px solid #E2E9F1;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 16px rgba(36,65,99,.04);
  overflow:hidden;
  transition:.18s ease;
}
.dt-exam-category-page .dt-category-card:hover{
  transform:translateY(-3px);
  border-color:#CDD9E6;
  box-shadow:0 12px 26px rgba(36,65,99,.08);
}
.dt-exam-category-page .dt-category-card .dt-card-media{
  aspect-ratio:16/9;
  border-radius:0;
}
.dt-exam-category-page .dt-category-card .dt-badge{
  top:12px;
  left:12px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#315E8D;
  font-size:11px;
  font-weight:700;
}
.dt-exam-category-page .dt-category-card .dt-card-body{
  padding:15px 16px 16px;
}
.dt-exam-category-page .dt-category-card .dt-card-body h3{
  min-height:52px;
  margin:0;
  color:#203A56;
  font-size:17px;
  line-height:1.5;
  font-weight:700;
}
.dt-exam-category-page .dt-category-card-excerpt{
  margin-top:8px;
  color:#6F7E90;
  font-size:13px;
  line-height:1.6;
  -webkit-line-clamp:2;
}
.dt-exam-category-page .dt-category-card .dt-card-meta{
  margin-top:10px;
  color:#929EAC;
  font-size:11.5px;
}
.dt-exam-category-page .dt-category-card .dt-card-actions{
  padding-top:13px;
}
.dt-exam-category-page .dt-category-card .dt-card-link{
  width:auto;
  min-height:38px;
  padding:0 13px;
  border:1px solid #D9E3ED;
  border-radius:9px;
  background:#fff;
  color:#315271 !important;
  font-size:12.5px;
  font-weight:700;
}
.dt-exam-category-page .dt-category-card .dt-card-link:hover{
  border-color:#183B63;
  background:#183B63;
  color:#fff !important;
}

/* Bottom navigation box */
.dt-exam-category-page .dt-category-bottom{
  padding:0 0 56px;
  background:#fff;
}
.dt-exam-category-page .dt-category-bottom-box{
  padding:24px;
  border:1px solid #E3EAF2;
  border-radius:18px;
  background:#FAFCFE;
}
.dt-exam-category-page .dt-category-bottom-box h2{
  color:#183B63;
  font-size:27px;
}
.dt-exam-category-page .dt-category-bottom-box p{
  color:#708094;
  font-size:14px;
}

/* Pagination */
.dt-exam-category-page .dt-pagination{
  margin-top:26px;
}

/* Mobile */
@media(max-width:1024px){
  .dt-exam-category-page .dt-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .dt-exam-category-page .dt-category-hero{
    padding:18px 0 22px;
  }
  .dt-exam-category-page .dt-category-hero-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-exam-category-page .dt-category-hero h1{
    font-size:31px;
  }
  .dt-exam-category-page .dt-category-hero p{
    font-size:13.5px;
    line-height:1.65;
  }
  .dt-exam-category-page .dt-category-hero-meta{
    width:max-content;
    min-width:0;
    padding:9px 12px;
    display:flex;
    align-items:center;
    gap:7px;
    border-radius:11px;
  }
  .dt-exam-category-page .dt-category-hero-meta strong{
    font-size:19px;
  }
  .dt-exam-category-page .dt-category-hero-meta span{
    margin:0;
  }
  .dt-exam-category-page .dt-cat-nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-right:-16px;
    padding-right:16px;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .dt-exam-category-page .dt-cat-nav::-webkit-scrollbar{display:none}
  .dt-exam-category-page .dt-cat-chip{
    flex:none;
    min-height:37px;
    padding:0 12px;
    font-size:12px;
  }
  .dt-exam-category-page .dt-category-search{
    grid-template-columns:1fr 86px;
    padding:10px;
  }
  .dt-exam-category-page .dt-category-search-copy{
    grid-column:1/3;
    padding:0 2px;
  }
  .dt-exam-category-page .dt-category-search input,
  .dt-exam-category-page .dt-category-search button{
    height:44px;
  }
  .dt-exam-category-page .dt-category-content{
    padding:30px 0 44px;
  }
  .dt-exam-category-page .dt-category-section-head{
    align-items:flex-start;
  }
  .dt-exam-category-page .dt-category-section-head h2{
    font-size:24px;
  }
  .dt-exam-category-page .dt-category-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-exam-category-page .dt-category-card .dt-card-body h3{
    min-height:0;
    font-size:16px;
  }
  .dt-exam-category-page .dt-category-bottom{
    padding-bottom:44px;
  }
  .dt-exam-category-page .dt-category-bottom-box{
    padding:18px;
  }
  .dt-exam-category-page .dt-category-bottom-box h2{
    font-size:23px;
  }
}


/* ========================================================================
   V3.3 TÀI LIỆU ÔN THI CATEGORY
   Nền trắng, điều hướng lớp rõ, dùng xanh navy + cam nhẹ.
   ======================================================================== */

.dt-docs-category-page .dt-site,
.dt-docs-category-page .dt-category-main{
  background:#fff !important;
}

/* Hero */
.dt-docs-hero{
  padding:26px 0 30px;
  background:#fff;
  border-bottom:1px solid #E8EEF5;
}
.dt-docs-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.dt-docs-hero-copy h1{
  margin:0;
  color:#183B63;
  font-size:clamp(34px,4vw,48px);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.045em;
}
.dt-docs-hero-copy p{
  max-width:800px;
  margin:12px 0 0;
  color:#65758A;
  font-size:15px;
  line-height:1.72;
}
.dt-docs-stat{
  min-width:145px;
  padding:14px 18px;
  border:1px solid #E1E8F0;
  border-radius:14px;
  background:#FAFCFE;
  text-align:center;
}
.dt-docs-stat strong{
  display:block;
  color:#2F80ED;
  font-size:26px;
  line-height:1;
  font-weight:800;
}
.dt-docs-stat span{
  display:block;
  margin-top:5px;
  color:#7C8A9C;
  font-size:12px;
}

/* Class selector */
.dt-docs-class-panel{
  margin-top:22px;
  padding:16px;
  border:1px solid #E2E9F1;
  border-radius:16px;
  background:#FAFCFE;
}
.dt-docs-class-heading{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:12px;
}
.dt-docs-class-heading strong{
  color:#183B63;
  font-size:14px;
}
.dt-docs-class-heading span{
  color:#8A97A8;
  font-size:12px;
}
.dt-docs-nav{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.dt-docs-chip{
  min-width:58px;
  min-height:38px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #DDE6EF;
  border-radius:10px;
  background:#fff;
  color:#5D6F84;
  font-size:12.5px;
  font-weight:600;
  transition:.18s ease;
}
.dt-docs-chip:hover{
  border-color:#C8D7E6;
  background:#F4F8FC;
  color:#183B63;
}
.dt-docs-chip.active{
  border-color:#183B63;
  background:#183B63;
  color:#fff;
}

/* Search */
.dt-docs-search{
  margin-top:14px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:minmax(175px,.55fr) minmax(0,1.5fr) 106px;
  align-items:center;
  gap:10px;
  border:1px solid #E2E9F1;
  border-radius:16px;
  background:#fff;
}
.dt-docs-search-copy{
  padding:0 6px;
}
.dt-docs-search-copy strong{
  display:block;
  color:#183B63;
  font-size:14px;
}
.dt-docs-search-copy span{
  display:block;
  margin-top:2px;
  color:#8A97A8;
  font-size:11.5px;
}
.dt-docs-search input{
  width:100%;
  height:46px;
  padding:0 14px;
  border:1px solid #E2E9F1;
  border-radius:11px;
  outline:0;
  background:#F8FAFC;
  color:#25384E;
  font-size:13.5px;
}
.dt-docs-search input:focus{
  border-color:#A8C6E7;
  background:#fff;
  box-shadow:0 0 0 4px rgba(47,128,237,.07);
}
.dt-docs-search button{
  height:46px;
  border:0;
  border-radius:11px;
  background:#183B63;
  color:#fff;
  font-size:13.5px;
  font-weight:700;
  cursor:pointer;
}
.dt-docs-search button:hover{
  background:#2F80ED;
}

/* Content and cards */
.dt-docs-content{
  padding:38px 0 56px;
  background:#fff;
}
.dt-docs-category-page .dt-category-section-head{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #EDF1F5;
}
.dt-docs-category-page .dt-category-section-head h2{
  color:#183B63;
  font-size:clamp(25px,2.7vw,31px);
  font-weight:800;
}
.dt-docs-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.dt-docs-card{
  border:1px solid #E2E9F1;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 16px rgba(36,65,99,.04);
  overflow:hidden;
  transition:.18s ease;
}
.dt-docs-card:hover{
  transform:translateY(-3px);
  border-color:#CDD9E6;
  box-shadow:0 12px 26px rgba(36,65,99,.08);
}
.dt-docs-card .dt-card-media{
  aspect-ratio:16/9;
  border-radius:0;
}
.dt-docs-card .dt-badge{
  top:12px;
  left:12px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#9B620E;
  border-color:#F2D7AC;
  font-size:11px;
  font-weight:700;
}
.dt-docs-card .dt-card-body{
  padding:15px 16px 16px;
}
.dt-docs-card .dt-card-body h3{
  min-height:52px;
  margin:0;
  color:#203A56;
  font-size:17px;
  line-height:1.5;
  font-weight:700;
}
.dt-docs-card .dt-category-card-excerpt{
  margin-top:8px;
  color:#6F7E90;
  font-size:13px;
  line-height:1.6;
}
.dt-docs-card .dt-card-meta{
  margin-top:10px;
  color:#929EAC;
  font-size:11.5px;
}
.dt-docs-card .dt-card-actions{
  padding-top:13px;
}
.dt-docs-card .dt-card-link{
  width:auto;
  min-height:38px;
  padding:0 13px;
  border:1px solid #D9E3ED;
  border-radius:9px;
  background:#fff;
  color:#315271 !important;
  font-size:12.5px;
  font-weight:700;
}
.dt-docs-card .dt-card-link:hover{
  border-color:#183B63;
  background:#183B63;
  color:#fff !important;
}

/* Bottom chooser */
.dt-docs-bottom{
  padding:0 0 56px;
  background:#fff;
}
.dt-docs-bottom-box{
  padding:24px;
  border:1px solid #E3EAF2;
  border-radius:18px;
  background:#FAFCFE;
}
.dt-docs-bottom-box h2{
  margin:0;
  color:#183B63;
  font-size:27px;
  line-height:1.25;
}
.dt-docs-bottom-box p{
  margin:8px 0 0;
  color:#708094;
  font-size:14px;
  line-height:1.65;
}
.dt-docs-bottom-box .dt-docs-nav{
  margin-top:18px;
}

/* Mobile */
@media(max-width:1024px){
  .dt-docs-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dt-docs-search{
    grid-template-columns:minmax(155px,.6fr) 1fr 100px;
  }
}

@media(max-width:720px){
  .dt-docs-hero{
    padding:18px 0 22px;
  }
  .dt-docs-hero-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-docs-hero-copy h1{
    font-size:31px;
  }
  .dt-docs-hero-copy p{
    font-size:13.5px;
    line-height:1.65;
  }
  .dt-docs-stat{
    width:max-content;
    min-width:0;
    padding:9px 12px;
    display:flex;
    align-items:center;
    gap:7px;
    border-radius:11px;
    text-align:left;
  }
  .dt-docs-stat strong{
    font-size:19px;
  }
  .dt-docs-stat span{
    margin:0;
  }
  .dt-docs-class-panel{
    padding:12px;
    border-radius:14px;
  }
  .dt-docs-class-heading{
    margin-bottom:9px;
  }
  .dt-docs-nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-right:-12px;
    padding-right:12px;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .dt-docs-nav::-webkit-scrollbar{display:none}
  .dt-docs-chip{
    flex:none;
    min-width:54px;
    min-height:36px;
    padding:0 11px;
    font-size:12px;
  }
  .dt-docs-search{
    grid-template-columns:1fr 86px;
    padding:10px;
  }
  .dt-docs-search-copy{
    grid-column:1/3;
    padding:0 2px;
  }
  .dt-docs-search input,
  .dt-docs-search button{
    height:44px;
  }
  .dt-docs-content{
    padding:30px 0 44px;
  }
  .dt-docs-category-page .dt-category-section-head{
    align-items:flex-start;
  }
  .dt-docs-category-page .dt-category-section-head h2{
    font-size:24px;
  }
  .dt-docs-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-docs-card .dt-card-body h3{
    min-height:0;
    font-size:16px;
  }
  .dt-docs-bottom{
    padding-bottom:44px;
  }
  .dt-docs-bottom-box{
    padding:18px;
  }
  .dt-docs-bottom-box h2{
    font-size:23px;
  }
}


/* ========================================================================
   V3.4 MOBILE HORIZONTAL CATEGORY CARDS
   Mobile Đề thi thử + Tài liệu ôn thi: ảnh trái, nội dung phải.
   ======================================================================== */

@media(max-width:720px){

  /* Hai trang category vẫn xếp danh sách từng bài theo chiều dọc,
     nhưng BÊN TRONG mỗi card chuyển sang bố cục ngang. */
  .dt-exam-category-page .dt-category-grid,
  .dt-docs-category-page .dt-docs-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }

  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    display:grid;
    grid-template-columns:42% minmax(0,58%);
    min-height:148px;
    border-radius:15px;
    overflow:hidden;
    align-items:stretch;
  }

  .dt-exam-category-page .dt-category-card .dt-card-media,
  .dt-docs-category-page .dt-docs-card .dt-card-media{
    width:100%;
    height:100%;
    min-height:148px;
    aspect-ratio:auto;
    border-radius:0;
    align-self:stretch;
  }

  .dt-exam-category-page .dt-category-card .dt-media-img,
  .dt-docs-category-page .dt-docs-card .dt-media-img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .dt-exam-category-page .dt-category-card .dt-badge,
  .dt-docs-category-page .dt-docs-card .dt-badge{
    top:8px;
    left:8px;
    max-width:calc(100% - 16px);
    padding:4px 7px;
    font-size:9.5px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body,
  .dt-docs-category-page .dt-docs-card .dt-card-body{
    min-width:0;
    padding:12px 12px 11px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body h3,
  .dt-docs-category-page .dt-docs-card .dt-card-body h3{
    min-height:0;
    margin:0;
    font-size:14px;
    line-height:1.42;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .dt-exam-category-page .dt-category-card-excerpt,
  .dt-docs-category-page .dt-category-card-excerpt{
    margin-top:6px;
    font-size:11.5px;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .dt-exam-category-page .dt-category-card .dt-card-meta,
  .dt-docs-category-page .dt-docs-card .dt-card-meta{
    margin-top:7px;
    font-size:10.5px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-actions,
  .dt-docs-category-page .dt-docs-card .dt-card-actions{
    margin-top:auto;
    padding-top:8px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-link,
  .dt-docs-category-page .dt-docs-card .dt-card-link{
    min-height:33px;
    width:max-content;
    max-width:100%;
    padding:0 10px;
    border-radius:8px;
    font-size:11.5px;
    white-space:nowrap;
  }
}

/* Điện thoại rất hẹp: giảm tỷ lệ ảnh một chút để title có thêm chỗ. */
@media(max-width:380px){
  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    grid-template-columns:39% minmax(0,61%);
    min-height:138px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-media,
  .dt-docs-category-page .dt-docs-card .dt-card-media{
    min-height:138px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body,
  .dt-docs-category-page .dt-docs-card .dt-card-body{
    padding:10px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body h3,
  .dt-docs-category-page .dt-docs-card .dt-card-body h3{
    font-size:13px;
  }
}


/* ========================================================================
   V3.5 MOBILE CATEGORY CAROUSEL
   Trên mobile: danh sách bài Đề thi thử + Tài liệu ôn thi cuộn ngang.
   Giữ card nội bộ dạng ảnh trái / nội dung phải từ V3.4.
   ======================================================================== */

@media(max-width:720px){

  .dt-exam-category-page .dt-category-grid,
  .dt-docs-category-page .dt-docs-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-right:-16px;
    padding-right:16px;
    padding-bottom:4px;
  }

  .dt-exam-category-page .dt-category-grid::-webkit-scrollbar,
  .dt-docs-category-page .dt-docs-grid::-webkit-scrollbar{
    display:none;
  }

  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    flex:0 0 min(88vw, 520px);
    width:min(88vw, 520px);
    max-width:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  /* Tạo cảm giác còn nội dung phía sau để người dùng biết có thể vuốt */
  .dt-exam-category-page .dt-category-grid:after,
  .dt-docs-category-page .dt-docs-grid:after{
    content:"";
    flex:0 0 4px;
  }
}

@media(max-width:380px){
  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    flex-basis:91vw;
    width:91vw;
  }
}


/* ========================================================================
   V3.6 MOBILE TWO-ROW HORIZONTAL CAROUSEL
   Mobile Đề thi thử + Tài liệu ôn thi:
   2 hàng card, cuộn ngang theo cột.
   ======================================================================== */

@media(max-width:720px){

  .dt-exam-category-page .dt-category-grid,
  .dt-docs-category-page .dt-docs-grid{
    display:grid !important;
    grid-template-rows:repeat(2, auto);
    grid-auto-flow:column;
    grid-auto-columns:min(88vw, 520px);
    grid-template-columns:none !important;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-right:-16px;
    padding-right:16px;
    padding-bottom:5px;
  }

  .dt-exam-category-page .dt-category-grid::-webkit-scrollbar,
  .dt-docs-category-page .dt-docs-grid::-webkit-scrollbar{
    display:none;
  }

  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    width:100% !important;
    max-width:none;
    min-height:132px;
    grid-template-columns:40% minmax(0,60%);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .dt-exam-category-page .dt-category-card .dt-card-media,
  .dt-docs-category-page .dt-docs-card .dt-card-media{
    min-height:132px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body,
  .dt-docs-category-page .dt-docs-card .dt-card-body{
    padding:10px 11px 10px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-body h3,
  .dt-docs-category-page .dt-docs-card .dt-card-body h3{
    font-size:13.5px;
    line-height:1.4;
  }

  .dt-exam-category-page .dt-category-card-excerpt,
  .dt-docs-category-page .dt-category-card-excerpt{
    margin-top:5px;
    font-size:11px;
    line-height:1.4;
    -webkit-line-clamp:1;
  }

  .dt-exam-category-page .dt-category-card .dt-card-meta,
  .dt-docs-category-page .dt-docs-card .dt-card-meta{
    margin-top:5px;
    font-size:10px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-actions,
  .dt-docs-category-page .dt-docs-card .dt-card-actions{
    padding-top:6px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-link,
  .dt-docs-category-page .dt-docs-card .dt-card-link{
    min-height:31px;
    padding:0 9px;
    font-size:11px;
  }
}

@media(max-width:380px){
  .dt-exam-category-page .dt-category-grid,
  .dt-docs-category-page .dt-docs-grid{
    grid-auto-columns:91vw;
  }

  .dt-exam-category-page .dt-category-card,
  .dt-docs-category-page .dt-docs-card{
    grid-template-columns:38% minmax(0,62%);
    min-height:126px;
  }

  .dt-exam-category-page .dt-category-card .dt-card-media,
  .dt-docs-category-page .dt-docs-card .dt-card-media{
    min-height:126px;
  }
}


/* ========================================================================
   V3.7 KINH NGHIỆM HỌC - NEWS CATEGORY
   Thiết kế thuần tin tức: lead story + tin nổi bật + danh sách tin mới.
   ======================================================================== */

.dt-news-category-page .dt-site,
.dt-news-main{
  background:#fff !important;
}

.dt-news-hero{
  padding:26px 0 30px;
  background:#fff;
  border-bottom:1px solid #E8EEF5;
}
.dt-news-hero-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
}
.dt-news-hero h1{
  margin:0;
  color:#183B63;
  font-size:clamp(34px,4vw,48px);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.045em;
}
.dt-news-hero p{
  max-width:800px;
  margin:12px 0 0;
  color:#65758A;
  font-size:15px;
  line-height:1.72;
}
.dt-news-stat{
  min-width:126px;
  padding:14px 18px;
  border:1px solid #E1E8F0;
  border-radius:14px;
  background:#FAFCFE;
  text-align:center;
}
.dt-news-stat strong{
  display:block;
  color:#2F80ED;
  font-size:26px;
  line-height:1;
  font-weight:800;
}
.dt-news-stat span{
  display:block;
  margin-top:5px;
  color:#7C8A9C;
  font-size:12px;
}
.dt-news-search{
  max-width:760px;
  margin-top:20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 108px;
  gap:9px;
}
.dt-news-search input{
  height:46px;
  padding:0 14px;
  border:1px solid #E1E8F0;
  border-radius:11px;
  outline:0;
  background:#F8FAFC;
  color:#25384E;
  font-size:13.5px;
}
.dt-news-search input:focus{
  border-color:#A8C6E7;
  background:#fff;
  box-shadow:0 0 0 4px rgba(47,128,237,.07);
}
.dt-news-search button{
  height:46px;
  border:0;
  border-radius:11px;
  background:#183B63;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.dt-news-search button:hover{background:#2F80ED}

/* Common news */
.dt-news-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding-bottom:13px;
  border-bottom:1px solid #EDF1F5;
}
.dt-news-section-head h2{
  margin:0;
  color:#183B63;
  font-size:clamp(25px,2.7vw,31px);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.035em;
}
.dt-news-meta{
  display:flex;
  align-items:center;
  gap:7px;
  color:#8794A4;
  font-size:11.5px;
}
.dt-news-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dt-news-featured-section{
  padding:38px 0 8px;
  background:#fff;
}

/* Featured */
.dt-news-featured-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);
  gap:20px;
  align-items:stretch;
}
.dt-news-lead{
  border:1px solid #E2E9F1;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.dt-news-lead-media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#EEF3F8;
}
.dt-news-lead-body{
  padding:20px 22px 22px;
}
.dt-news-lead-body h2{
  margin:8px 0 0;
  color:#183B63;
  font-size:27px;
  line-height:1.32;
  font-weight:800;
  letter-spacing:-.035em;
}
.dt-news-lead-body p{
  margin:10px 0 0;
  color:#68778A;
  font-size:14px;
  line-height:1.7;
}
.dt-news-readmore{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  color:#245786;
  font-size:13px;
  font-weight:700;
}
.dt-news-readmore:hover{color:#2F80ED}

.dt-news-side-list{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:12px;
}
.dt-news-side-card{
  display:grid;
  grid-template-columns:42% minmax(0,58%);
  min-height:0;
  border:1px solid #E2E9F1;
  border-radius:15px;
  background:#fff;
  overflow:hidden;
}
.dt-news-side-media{
  display:block;
  min-height:120px;
  overflow:hidden;
  background:#EEF3F8;
}
.dt-news-side-body{
  padding:13px 13px 12px;
}
.dt-news-side-body h3{
  margin:7px 0 0;
  color:#203A56;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Latest news list */
.dt-news-latest-section{
  padding:36px 0 60px;
  background:#fff;
}
.dt-news-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 20px;
}
.dt-news-list-card{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  min-height:150px;
  border-bottom:1px solid #E9EEF4;
  padding-bottom:16px;
}
.dt-news-list-media{
  display:block;
  height:132px;
  border-radius:13px;
  overflow:hidden;
  background:#EEF3F8;
}
.dt-news-list-body{
  min-width:0;
  padding-left:15px;
}
.dt-news-list-body h3{
  margin:6px 0 0;
  color:#203A56;
  font-size:17px;
  line-height:1.45;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dt-news-list-body p{
  margin:7px 0 0;
  color:#6F7E90;
  font-size:12.5px;
  line-height:1.58;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dt-news-text-link{
  display:inline-block;
  margin-top:9px;
  color:#315E8D;
  font-size:12px;
  font-weight:700;
}
.dt-news-text-link:hover{color:#2F80ED}
.dt-news-short-note{
  padding:24px;
  border:1px solid #E5EBF2;
  border-radius:14px;
  background:#FAFCFE;
  color:#728195;
  font-size:14px;
}

/* Tablet */
@media(max-width:1024px){
  .dt-news-featured-grid{
    grid-template-columns:1.3fr .9fr;
  }
  .dt-news-list{
    grid-template-columns:1fr;
  }
}

/* Mobile */
@media(max-width:720px){
  .dt-news-hero{
    padding:18px 0 22px;
  }
  .dt-news-hero-row{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-news-hero h1{
    font-size:31px;
  }
  .dt-news-hero p{
    font-size:13.5px;
    line-height:1.65;
  }
  .dt-news-stat{
    width:max-content;
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:11px;
    text-align:left;
  }
  .dt-news-stat strong{
    font-size:19px;
  }
  .dt-news-stat span{
    margin:0;
  }
  .dt-news-search{
    grid-template-columns:1fr 86px;
    margin-top:15px;
  }
  .dt-news-search input,
  .dt-news-search button{
    height:44px;
  }

  .dt-news-featured-section{
    padding:28px 0 2px;
  }
  .dt-news-section-head{
    margin-bottom:14px;
  }
  .dt-news-section-head h2{
    font-size:24px;
  }
  .dt-news-featured-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .dt-news-lead{
    border-radius:15px;
  }
  .dt-news-lead-body{
    padding:15px;
  }
  .dt-news-lead-body h2{
    font-size:21px;
    line-height:1.38;
  }
  .dt-news-lead-body p{
    font-size:12.5px;
  }

  /* 3 bài phụ vuốt ngang trên mobile */
  .dt-news-side-list{
    display:flex;
    grid-template-rows:none;
    gap:10px;
    overflow-x:auto;
    scrollbar-width:none;
    margin-right:-16px;
    padding-right:16px;
    padding-bottom:3px;
  }
  .dt-news-side-list::-webkit-scrollbar{display:none}
  .dt-news-side-card{
    flex:0 0 82vw;
    grid-template-columns:39% minmax(0,61%);
    min-height:118px;
  }
  .dt-news-side-media{
    min-height:118px;
  }
  .dt-news-side-body h3{
    font-size:14px;
    -webkit-line-clamp:3;
  }

  .dt-news-latest-section{
    padding:28px 0 44px;
  }
  .dt-news-list{
    grid-template-columns:1fr;
    gap:12px;
  }
  .dt-news-list-card{
    grid-template-columns:38% minmax(0,62%);
    min-height:126px;
    padding-bottom:12px;
  }
  .dt-news-list-media{
    height:116px;
    border-radius:11px;
  }
  .dt-news-list-body{
    padding-left:11px;
  }
  .dt-news-list-body h3{
    font-size:14px;
    line-height:1.42;
  }
  .dt-news-list-body p{
    margin-top:5px;
    font-size:11px;
    -webkit-line-clamp:1;
  }
  .dt-news-text-link{
    margin-top:6px;
    font-size:11px;
  }
}


/* ========================================================================
   V3.8 SINGLE POST TEMPLATE
   Download CTA + H1 + TOC + nội dung + related sidebar.
   ======================================================================== */

.dt-single-post-page .dt-site,
.dt-article-page{
  background:#fff !important;
}

.dt-article-page{
  padding:24px 0 64px;
}

.dt-article-breadcrumb{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:20px;
  color:#8B98A8;
  font-size:12px;
  line-height:1.5;
}
.dt-article-breadcrumb a{
  color:#60758D;
}
.dt-article-breadcrumb span:last-child{
  max-width:520px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Download CTA */
.dt-download-cta{
  width:min(760px,100%);
  margin:0 auto 30px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid #DCE6F1;
  border-radius:18px;
  background:#FAFCFE;
  box-shadow:0 10px 28px rgba(30,61,97,.055);
}
.dt-download-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#FFF6E8;
  color:#B66C05;
  font-size:28px;
  font-weight:800;
}
.dt-download-copy{
  min-width:0;
}
.dt-download-eyebrow{
  display:block;
  color:#A9680A;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
}
.dt-download-title{
  margin-top:4px;
  color:#183B63;
  font-size:18px;
  line-height:1.35;
  font-weight:800;
}
.dt-download-note{
  margin-top:3px;
  color:#78879A;
  font-size:12px;
}
.dt-download-button{
  min-height:46px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:11px;
  background:#183B63;
  color:#fff !important;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.dt-download-button:hover{
  background:#2F80ED;
}
.dt-download-button-icon{
  font-size:18px;
  line-height:1;
}

/* Article header */
.dt-article-header{
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.dt-article-header h1{
  margin:0;
  color:#173A61;
  font-size:clamp(32px,4.5vw,48px);
  line-height:1.22;
  font-weight:800;
  letter-spacing:-.045em;
}
.dt-article-meta{
  margin-top:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  color:#8390A0;
  font-size:12.5px;
}
.dt-article-meta a{
  color:#58718D;
}
.dt-article-meta-dot{
  color:#BAC3CD;
}

/* Featured image */
.dt-article-featured{
  max-width:980px;
  margin:28px auto 0;
  overflow:hidden;
  border-radius:18px;
  background:#F0F4F8;
}
.dt-article-featured-img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}

/* Main layout */
.dt-article-layout{
  max-width:1120px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:34px;
  align-items:start;
}
.dt-article-main{
  min-width:0;
}

/* TOC */
.dt-article-toc{
  margin-bottom:26px;
  border:1px solid #E0E8F0;
  border-radius:16px;
  background:#FAFCFE;
  overflow:hidden;
}
.dt-toc-toggle{
  width:100%;
  min-height:50px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  background:transparent;
  color:#183B63;
  cursor:pointer;
}
.dt-toc-label{
  font-size:14px;
  font-weight:800;
}
.dt-toc-icon{
  color:#7B8A9C;
  font-size:19px;
  transition:transform .18s ease;
}
.dt-toc-list{
  margin:0;
  padding:0 18px 16px 40px;
}
.dt-toc-list li{
  margin:7px 0;
  color:#516A84;
  font-size:13px;
  line-height:1.55;
}
.dt-toc-list li::marker{
  color:#9BABC0;
}
.dt-toc-list .dt-toc-level-3{
  margin-left:16px;
  color:#6E7E91;
}
.dt-toc-list a:hover{
  color:#2F80ED;
}
.dt-article-toc.is-collapsed .dt-toc-list{
  display:none;
}
.dt-article-toc.is-collapsed .dt-toc-icon{
  transform:rotate(-90deg);
}

/* Article typography */
.dt-article-content{
  color:#2F3F50;
  font-size:17px;
  line-height:1.82;
  overflow-wrap:anywhere;
}
.dt-article-content > *:first-child{
  margin-top:0;
}
.dt-article-content p{
  margin:0 0 1.15em;
}
.dt-article-content h2{
  scroll-margin-top:96px;
  margin:2.05em 0 .7em;
  color:#183B63;
  font-size:29px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.035em;
}
.dt-article-content h3{
  scroll-margin-top:96px;
  margin:1.7em 0 .65em;
  color:#254B70;
  font-size:22px;
  line-height:1.4;
  font-weight:750;
  letter-spacing:-.025em;
}
.dt-article-content h4{
  margin:1.5em 0 .55em;
  color:#315675;
  font-size:18px;
  line-height:1.45;
  font-weight:700;
}
.dt-article-content ul,
.dt-article-content ol{
  margin:0 0 1.25em;
  padding-left:1.4em;
}
.dt-article-content li{
  margin:.35em 0;
}
.dt-article-content a{
  color:#2369A7;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.dt-article-content img{
  height:auto;
  margin:22px auto;
  border-radius:14px;
}
.dt-article-content figure{
  margin:24px 0;
}
.dt-article-content figcaption{
  margin-top:8px;
  color:#8290A0;
  font-size:12px;
  text-align:center;
}
.dt-article-content blockquote{
  margin:24px 0;
  padding:16px 18px;
  border-left:4px solid #E6A33B;
  border-radius:0 12px 12px 0;
  background:#FFF9F0;
  color:#58697C;
}
.dt-article-content table{
  width:100%;
  margin:22px 0;
  border-collapse:collapse;
  font-size:14px;
}
.dt-article-content th,
.dt-article-content td{
  padding:10px 12px;
  border:1px solid #DEE6EE;
  text-align:left;
  vertical-align:top;
}
.dt-article-content th{
  background:#F6F9FC;
  color:#274866;
  font-weight:700;
}

/* Related sidebar */
.dt-article-sidebar{
  position:relative;
}
.dt-related-box{
  position:sticky;
  top:92px;
  padding:18px;
  border:1px solid #E0E8F0;
  border-radius:16px;
  background:#FAFCFE;
}
.dt-related-label{
  padding-bottom:12px;
  border-bottom:1px solid #E7EDF3;
  color:#183B63;
  font-size:15px;
  font-weight:800;
}
.dt-related-list{
  margin-top:2px;
}
.dt-related-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid #E9EEF3;
}
.dt-related-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.dt-related-media{
  display:block;
  width:88px;
  height:66px;
  overflow:hidden;
  border-radius:10px;
  background:#EEF3F7;
}
.dt-related-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dt-related-body{
  min-width:0;
}
.dt-related-title{
  color:#29455F;
  font-size:12.5px;
  line-height:1.45;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dt-related-title:hover{
  color:#2F80ED;
}
.dt-related-date{
  display:block;
  margin-top:5px;
  color:#929EAC;
  font-size:10.5px;
}
.dt-related-empty{
  margin:12px 0 0;
  color:#7E8B9B;
  font-size:12px;
}

/* Tablet */
@media(max-width:960px){
  .dt-article-layout{
    grid-template-columns:minmax(0,1fr) 260px;
    gap:24px;
  }
}

/* Mobile */
@media(max-width:760px){
  .dt-article-page{
    padding:16px 0 44px;
  }

  .dt-article-breadcrumb{
    margin-bottom:14px;
    font-size:11px;
  }
  .dt-article-breadcrumb span:last-child{
    max-width:220px;
  }

  .dt-download-cta{
    margin-bottom:22px;
    padding:14px;
    grid-template-columns:46px minmax(0,1fr);
    gap:11px;
    border-radius:15px;
  }
  .dt-download-icon{
    width:46px;
    height:46px;
    border-radius:12px;
    font-size:23px;
  }
  .dt-download-title{
    font-size:15px;
  }
  .dt-download-note{
    font-size:11px;
  }
  .dt-download-button{
    grid-column:1/3;
    width:100%;
    min-height:44px;
  }

  .dt-article-header{
    text-align:left;
  }
  .dt-article-header h1{
    font-size:29px;
    line-height:1.3;
  }
  .dt-article-meta{
    justify-content:flex-start;
    margin-top:10px;
    font-size:11.5px;
  }

  .dt-article-featured{
    margin-top:20px;
    border-radius:14px;
  }

  .dt-article-layout{
    margin-top:24px;
    grid-template-columns:1fr;
    gap:30px;
  }

  .dt-article-toc{
    margin-bottom:22px;
    border-radius:14px;
  }
  .dt-toc-toggle{
    min-height:48px;
  }

  /* Mobile mặc định đóng TOC để bài gọn hơn */
  .dt-article-toc .dt-toc-list{
    display:none;
  }
  .dt-article-toc:not(.is-collapsed) .dt-toc-list{
    display:block;
  }

  .dt-article-content{
    font-size:16px;
    line-height:1.78;
  }
  .dt-article-content h2{
    margin-top:1.8em;
    font-size:24px;
  }
  .dt-article-content h3{
    margin-top:1.55em;
    font-size:20px;
  }
  .dt-article-content table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }

  .dt-related-box{
    position:static;
    padding:15px;
    border-radius:14px;
  }
  .dt-related-item{
    grid-template-columns:96px minmax(0,1fr);
  }
  .dt-related-media{
    width:96px;
    height:70px;
  }
  .dt-related-title{
    font-size:13px;
  }
}


/* ========================================================================
   V3.9 SINGLE POST PREMIUM REFRESH
   Mạnh hơn về thị giác: hero rộng, CTA nổi bật, featured image có chiều sâu,
   content card và sidebar rõ ràng hơn.
   ======================================================================== */

.dt-single-post-premium .dt-article-page{
  padding:0 !important;
  background:#F5F8FC !important;
}

/* Premium hero */
.dt-single-post-premium .dt-article-hero{
  position:relative;
  overflow:hidden;
  padding:24px 0 82px;
  background:
    radial-gradient(circle at 12% 10%,rgba(47,128,237,.13),transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(245,158,11,.12),transparent 26%),
    linear-gradient(180deg,#F8FBFF 0%,#EEF5FC 100%);
  border-bottom:1px solid #DDE7F1;
}
.dt-single-post-premium .dt-article-hero-orb{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(.2px);
}
.dt-single-post-premium .dt-orb-one{
  width:260px;
  height:260px;
  right:-100px;
  top:90px;
  border:1px solid rgba(47,128,237,.12);
}
.dt-single-post-premium .dt-orb-two{
  width:150px;
  height:150px;
  left:-70px;
  bottom:20px;
  background:rgba(255,255,255,.36);
  border:1px solid rgba(255,255,255,.75);
}

.dt-single-post-premium .dt-article-breadcrumb{
  margin-bottom:22px;
  color:#71849A;
}
.dt-single-post-premium .dt-article-breadcrumb a{
  color:#4E6985;
  font-weight:550;
}

/* Strong download CTA */
.dt-single-post-premium .dt-download-cta{
  position:relative;
  overflow:hidden;
  width:min(820px,100%);
  margin:0 auto 30px;
  padding:18px 20px;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:16px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 0%,rgba(47,128,237,.34),transparent 34%),
    linear-gradient(135deg,#14375E 0%,#1E4D7A 58%,#235E93 100%);
  box-shadow:0 18px 46px rgba(20,55,94,.22);
}
.dt-single-post-premium .dt-download-glow{
  position:absolute;
  width:170px;
  height:170px;
  right:-60px;
  bottom:-110px;
  border-radius:50%;
  background:rgba(245,158,11,.16);
  pointer-events:none;
}
.dt-single-post-premium .dt-download-icon{
  position:relative;
  z-index:1;
  width:58px;
  height:58px;
  border-radius:16px;
  background:#FFF3D8;
  color:#B76700;
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.22);
}
.dt-single-post-premium .dt-download-icon svg{
  width:27px;
  height:27px;
}
.dt-single-post-premium .dt-download-copy{
  position:relative;
  z-index:1;
}
.dt-single-post-premium .dt-download-eyebrow{
  color:#F9C76B;
  font-size:10px;
  letter-spacing:.13em;
}
.dt-single-post-premium .dt-download-title{
  color:#fff;
  font-size:20px;
}
.dt-single-post-premium .dt-download-note{
  color:#C7D5E4;
  font-size:12px;
}
.dt-single-post-premium .dt-download-button{
  position:relative;
  z-index:1;
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.78);
  background:#fff;
  color:#173A61 !important;
  box-shadow:0 8px 20px rgba(7,30,58,.16);
}
.dt-single-post-premium .dt-download-button:hover{
  background:#FFF3D8;
  color:#9D5F06 !important;
  border-color:#F5D08B;
  transform:translateY(-1px);
}

/* Header */
.dt-single-post-premium .dt-article-header{
  max-width:980px;
}
.dt-single-post-premium .dt-article-category-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  margin-bottom:14px;
  border:1px solid #D7E4F0;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#37658F;
  font-size:11px;
  font-weight:750;
  box-shadow:0 4px 12px rgba(34,71,110,.04);
}
.dt-single-post-premium .dt-article-header h1{
  color:#12385F;
  font-size:clamp(40px,5.3vw,62px);
  line-height:1.13;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.dt-single-post-premium .dt-article-meta{
  margin-top:16px;
  gap:9px;
  color:#718399;
  font-size:12.5px;
}
.dt-single-post-premium .dt-meta-item{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(210,223,236,.92);
  border-radius:999px;
  background:rgba(255,255,255,.68);
}
.dt-single-post-premium .dt-article-meta-dot{
  display:none;
}

/* Featured image "hero visual" */
.dt-single-post-premium .dt-article-featured{
  max-width:1080px;
  margin:36px auto -126px;
  position:relative;
  z-index:5;
  overflow:visible;
  border-radius:24px;
  background:transparent;
}
.dt-single-post-premium .dt-article-featured-frame{
  padding:8px;
  border:1px solid rgba(211,224,237,.98);
  border-radius:24px;
  background:#fff;
  box-shadow:0 26px 64px rgba(30,58,91,.20);
}
.dt-single-post-premium .dt-article-featured-img{
  border-radius:17px;
  aspect-ratio:16/8.8;
}

/* Body section */
.dt-single-post-premium .dt-article-body-section{
  padding:162px 0 76px;
  background:
    linear-gradient(180deg,#F5F8FC 0%,#FFFFFF 42%,#FFFFFF 100%);
}
.dt-single-post-premium .dt-article-layout{
  max-width:1180px;
  margin:0 auto;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:32px;
}
.dt-single-post-premium .dt-article-main{
  padding:30px 34px 42px;
  border:1px solid #E1E9F2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(34,65,99,.055);
}

/* TOC more premium */
.dt-single-post-premium .dt-article-toc{
  margin-bottom:30px;
  border:1px solid #DCE6F0;
  border-radius:16px;
  background:
    linear-gradient(180deg,#F8FBFE,#F4F8FC);
  box-shadow:inset 4px 0 0 #2F80ED;
}
.dt-single-post-premium .dt-toc-toggle{
  min-height:54px;
  padding:0 18px 0 20px;
}
.dt-single-post-premium .dt-toc-label{
  color:#173A61;
  font-size:15px;
}
.dt-single-post-premium .dt-toc-list{
  padding:0 22px 18px 44px;
}
.dt-single-post-premium .dt-toc-list li{
  margin:8px 0;
}

/* Article typography */
.dt-single-post-premium .dt-article-content{
  color:#33475B;
  font-size:17.2px;
  line-height:1.86;
}
.dt-single-post-premium .dt-article-content h2{
  position:relative;
  padding-left:17px;
  color:#173A61;
  font-size:30px;
}
.dt-single-post-premium .dt-article-content h2:before{
  content:"";
  position:absolute;
  left:0;
  top:.19em;
  width:5px;
  height:1.08em;
  border-radius:999px;
  background:linear-gradient(180deg,#2F80ED,#F59E0B);
}
.dt-single-post-premium .dt-article-content h3{
  color:#27547B;
  font-size:22px;
}
.dt-single-post-premium .dt-article-content strong{
  color:#1D3955;
}
.dt-single-post-premium .dt-article-content blockquote{
  border-left-color:#F59E0B;
  background:linear-gradient(90deg,#FFF8EC,#FFFCF6);
}
.dt-single-post-premium .dt-article-content table{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(35,65,98,.045);
}
.dt-single-post-premium .dt-article-content th{
  background:#EEF5FC;
  color:#173A61;
}

/* Related sidebar */
.dt-single-post-premium .dt-related-box{
  top:94px;
  padding:0;
  overflow:hidden;
  border:1px solid #DDE7F0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(34,65,99,.06);
}
.dt-single-post-premium .dt-related-label{
  position:relative;
  padding:17px 18px 15px 22px;
  border-bottom:1px solid #E8EEF4;
  background:linear-gradient(180deg,#F8FBFE,#F3F8FC);
  color:#173A61;
  font-size:15px;
}
.dt-single-post-premium .dt-related-label:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#2F80ED,#F59E0B);
}
.dt-single-post-premium .dt-related-list{
  padding:4px 16px 12px;
}
.dt-single-post-premium .dt-related-item{
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  padding:14px 0;
}
.dt-single-post-premium .dt-related-media{
  width:92px;
  height:70px;
  border-radius:11px;
}
.dt-single-post-premium .dt-related-title{
  color:#29445E;
  font-size:12.8px;
  line-height:1.47;
}
.dt-single-post-premium .dt-related-title:hover{
  color:#2F80ED;
}

/* No featured image: reduce hero overlap space */
.dt-single-post-premium .dt-article-hero:not(:has(.dt-article-featured)){
  padding-bottom:52px;
}
.dt-single-post-premium .dt-article-hero:not(:has(.dt-article-featured)) + .dt-article-body-section{
  padding-top:54px;
}

/* Tablet */
@media(max-width:1024px){
  .dt-single-post-premium .dt-article-header h1{
    font-size:clamp(36px,5vw,52px);
  }
  .dt-single-post-premium .dt-article-layout{
    grid-template-columns:minmax(0,1fr) 280px;
    gap:24px;
  }
  .dt-single-post-premium .dt-article-main{
    padding:26px 28px 36px;
  }
}

/* Mobile */
@media(max-width:760px){
  .dt-single-post-premium .dt-article-hero{
    padding:16px 0 48px;
  }
  .dt-single-post-premium .dt-article-breadcrumb{
    margin-bottom:14px;
  }

  .dt-single-post-premium .dt-download-cta{
    margin-bottom:22px;
    padding:14px;
    grid-template-columns:48px minmax(0,1fr);
    border-radius:16px;
  }
  .dt-single-post-premium .dt-download-icon{
    width:48px;
    height:48px;
    border-radius:13px;
  }
  .dt-single-post-premium .dt-download-title{
    font-size:16px;
  }
  .dt-single-post-premium .dt-download-button{
    grid-column:1/3;
    width:100%;
    min-height:45px;
  }

  .dt-single-post-premium .dt-article-header{
    text-align:left;
  }
  .dt-single-post-premium .dt-article-category-pill{
    margin-bottom:10px;
  }
  .dt-single-post-premium .dt-article-header h1{
    font-size:31px;
    line-height:1.26;
  }
  .dt-single-post-premium .dt-article-meta{
    justify-content:flex-start;
    margin-top:12px;
  }
  .dt-single-post-premium .dt-meta-item{
    min-height:28px;
    padding:0 9px;
    font-size:11px;
  }

  .dt-single-post-premium .dt-article-featured{
    margin:24px auto -82px;
  }
  .dt-single-post-premium .dt-article-featured-frame{
    padding:5px;
    border-radius:17px;
    box-shadow:0 18px 40px rgba(30,58,91,.17);
  }
  .dt-single-post-premium .dt-article-featured-img{
    border-radius:12px;
    aspect-ratio:16/9;
  }

  .dt-single-post-premium .dt-article-body-section{
    padding:108px 0 46px;
  }
  .dt-single-post-premium .dt-article-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .dt-single-post-premium .dt-article-main{
    padding:18px 16px 28px;
    border-radius:16px;
  }
  .dt-single-post-premium .dt-article-toc{
    margin-bottom:22px;
    border-radius:13px;
  }
  .dt-single-post-premium .dt-article-content{
    font-size:16px;
    line-height:1.8;
  }
  .dt-single-post-premium .dt-article-content h2{
    padding-left:13px;
    font-size:24px;
  }
  .dt-single-post-premium .dt-article-content h2:before{
    width:4px;
  }
  .dt-single-post-premium .dt-article-content h3{
    font-size:20px;
  }
  .dt-single-post-premium .dt-related-box{
    position:static;
    border-radius:15px;
  }
  .dt-single-post-premium .dt-related-list{
    padding-inline:14px;
  }
}


/* ========================================================================
   V4.0 SINGLE POST EDITORIAL
   Tham khảo hướng trình bày editorial: bỏ banner/featured hero khỏi bài,
   tập trung H1, meta, lead, TOC, nội dung và sidebar.
   ======================================================================== */

.dt-single-post-editorial .dt-article-page{
  padding:0 !important;
  background:#fff !important;
}

.dt-single-post-editorial .dt-editorial-head{
  padding:22px 0 34px;
  background:#fff;
  border-bottom:1px solid #E6EDF4;
}

.dt-single-post-editorial .dt-article-breadcrumb{
  margin-bottom:20px;
  color:#8290A1;
  font-size:12px;
}
.dt-single-post-editorial .dt-article-breadcrumb a{
  color:#58708A;
}

/* Download CTA compact nhưng nổi bật */
.dt-single-post-editorial .dt-download-cta{
  width:min(760px,100%);
  margin:0 auto 28px;
  padding:16px 18px;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:14px;
  border:1px solid #D8E4F0;
  border-radius:16px;
  background:linear-gradient(135deg,#F7FAFE,#EEF5FC);
  box-shadow:0 8px 24px rgba(32,64,101,.06);
}
.dt-single-post-editorial .dt-download-glow{display:none}
.dt-single-post-editorial .dt-download-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:#FFF3DD;
  color:#AA6400;
}
.dt-single-post-editorial .dt-download-icon svg{
  width:24px;
  height:24px;
}
.dt-single-post-editorial .dt-download-eyebrow{
  color:#A9680A;
}
.dt-single-post-editorial .dt-download-title{
  color:#173A61;
  font-size:18px;
}
.dt-single-post-editorial .dt-download-note{
  color:#748397;
}
.dt-single-post-editorial .dt-download-button{
  min-height:44px;
  padding:0 16px;
  border:0;
  background:#183B63;
  color:#fff !important;
  box-shadow:none;
}
.dt-single-post-editorial .dt-download-button:hover{
  background:#2F80ED;
  color:#fff !important;
  transform:none;
}

/* Title area */
.dt-single-post-editorial .dt-article-header{
  max-width:980px;
  margin:0 auto;
  text-align:left;
}
.dt-single-post-editorial .dt-article-category-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  margin-bottom:12px;
  border:1px solid #DCE6F0;
  border-radius:999px;
  background:#F8FAFC;
  color:#456783;
  font-size:11px;
  font-weight:700;
}
.dt-single-post-editorial .dt-article-header h1{
  margin:0;
  color:#173A61;
  font-size:clamp(36px,4.7vw,54px);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.dt-single-post-editorial .dt-article-meta{
  margin-top:14px;
  justify-content:flex-start;
  color:#8290A1;
  font-size:12.5px;
}
.dt-single-post-editorial .dt-article-meta-dot{
  color:#B7C1CC;
}
.dt-single-post-editorial .dt-article-lead{
  max-width:900px;
  margin:18px 0 0;
  color:#4E6074;
  font-size:17px;
  line-height:1.75;
  font-weight:500;
}

/* Main body */
.dt-single-post-editorial .dt-article-body-section{
  padding:34px 0 72px;
  background:#fff;
}
.dt-single-post-editorial .dt-article-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:40px;
  align-items:start;
}
.dt-single-post-editorial .dt-article-main{
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

/* TOC giống khối biên tập, không quá nặng */
.dt-single-post-editorial .dt-article-toc{
  margin-bottom:28px;
  border:1px solid #DEE7F0;
  border-radius:14px;
  background:#F8FAFC;
  box-shadow:none;
}
.dt-single-post-editorial .dt-toc-toggle{
  min-height:50px;
}
.dt-single-post-editorial .dt-toc-label{
  color:#173A61;
  font-size:14px;
}
.dt-single-post-editorial .dt-toc-list{
  padding-bottom:17px;
}

/* Body typography editorial */
.dt-single-post-editorial .dt-article-content{
  max-width:800px;
  color:#2F4052;
  font-size:17px;
  line-height:1.84;
}
.dt-single-post-editorial .dt-article-content h2{
  margin-top:1.9em;
  padding-left:0;
  color:#173A61;
  font-size:29px;
  line-height:1.35;
}
.dt-single-post-editorial .dt-article-content h2:before{
  display:none;
}
.dt-single-post-editorial .dt-article-content h3{
  color:#244D72;
  font-size:22px;
}
.dt-single-post-editorial .dt-article-content p{
  margin-bottom:1.15em;
}
.dt-single-post-editorial .dt-article-content img{
  margin:24px auto;
  border-radius:12px;
}
.dt-single-post-editorial .dt-article-content figure{
  margin:26px 0;
}
.dt-single-post-editorial .dt-article-content blockquote{
  background:#FFF9EF;
  border-left-color:#E9A23B;
}
.dt-single-post-editorial .dt-article-content table{
  box-shadow:none;
}
.dt-single-post-editorial .dt-article-content th{
  background:#F4F7FA;
}

/* Related sidebar giống sidebar tin/bài liên quan */
.dt-single-post-editorial .dt-related-box{
  top:92px;
  padding:0;
  overflow:hidden;
  border:1px solid #DDE6EF;
  border-radius:15px;
  background:#fff;
  box-shadow:none;
}
.dt-single-post-editorial .dt-related-label{
  padding:16px 17px;
  background:#F7F9FC;
  color:#173A61;
  font-size:14px;
}
.dt-single-post-editorial .dt-related-label:before{
  width:3px;
  background:#2F80ED;
}
.dt-single-post-editorial .dt-related-list{
  padding:4px 14px 10px;
}
.dt-single-post-editorial .dt-related-item{
  grid-template-columns:86px minmax(0,1fr);
  gap:11px;
  padding:13px 0;
}
.dt-single-post-editorial .dt-related-media{
  width:86px;
  height:64px;
  border-radius:9px;
}
.dt-single-post-editorial .dt-related-title{
  font-size:12.5px;
}

/* Dứt khoát không hiển thị hero featured image ở single post */
.dt-single-post-editorial .dt-article-featured{
  display:none !important;
}

/* Mobile */
@media(max-width:760px){
  .dt-single-post-editorial .dt-editorial-head{
    padding:15px 0 24px;
  }
  .dt-single-post-editorial .dt-article-breadcrumb{
    margin-bottom:14px;
  }
  .dt-single-post-editorial .dt-download-cta{
    margin-bottom:20px;
    padding:13px;
    grid-template-columns:45px minmax(0,1fr);
    gap:10px;
    border-radius:14px;
  }
  .dt-single-post-editorial .dt-download-icon{
    width:45px;
    height:45px;
    border-radius:12px;
  }
  .dt-single-post-editorial .dt-download-title{
    font-size:15px;
  }
  .dt-single-post-editorial .dt-download-button{
    grid-column:1/3;
    width:100%;
    min-height:43px;
  }

  .dt-single-post-editorial .dt-article-category-pill{
    margin-bottom:9px;
  }
  .dt-single-post-editorial .dt-article-header h1{
    font-size:29px;
    line-height:1.28;
  }
  .dt-single-post-editorial .dt-article-meta{
    margin-top:10px;
    font-size:11.5px;
  }
  .dt-single-post-editorial .dt-article-lead{
    margin-top:14px;
    font-size:15px;
    line-height:1.7;
  }

  .dt-single-post-editorial .dt-article-body-section{
    padding:24px 0 46px;
  }
  .dt-single-post-editorial .dt-article-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .dt-single-post-editorial .dt-article-content{
    max-width:none;
    font-size:16px;
    line-height:1.8;
  }
  .dt-single-post-editorial .dt-article-content h2{
    font-size:24px;
  }
  .dt-single-post-editorial .dt-article-content h3{
    font-size:20px;
  }
  .dt-single-post-editorial .dt-related-box{
    position:static;
  }
}


/* ========================================================================
   V4.1 SINGLE POST MEDICAL-STYLE
   Layout tham chiếu: editorial y khoa, nhưng đổi palette theo deonthi.com
   ======================================================================== */
.dt-single-post-medical .dt-article-page{
  background:#fff !important;
  padding:0 !important;
}
.dt-single-post-medical .dt-medical-head{
  padding:22px 0 14px;
  background:#fff;
}
.dt-single-post-medical .dt-article-breadcrumb{
  margin-bottom:18px;
  color:#8A98A8;
  font-size:12px;
}
.dt-single-post-medical .dt-article-breadcrumb a{ color:#59718A; }
.dt-single-post-medical .dt-article-breadcrumb span{ color:#9AA7B5; }

/* Download CTA: nổi bật hơn các khối khác */
.dt-single-post-medical .dt-download-cta{
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  width:min(860px,100%);
  margin:0 auto 26px;
  padding:18px 20px;
  border:1px solid #D7E4F0;
  border-radius:20px;
  background:linear-gradient(135deg,#F8FCFF 0%,#F0F7FF 56%,#FFF7EC 100%);
  box-shadow:0 14px 36px rgba(26,58,95,.08);
  overflow:hidden;
}
.dt-single-post-medical .dt-download-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 18%, rgba(47,128,237,.08), transparent 30%),
    radial-gradient(circle at 92% 78%, rgba(233,162,59,.12), transparent 28%);
  pointer-events:none;
}
.dt-single-post-medical .dt-download-glow{ display:none; }
.dt-single-post-medical .dt-download-icon{
  position:relative;
  z-index:1;
  width:62px;
  height:62px;
  border-radius:18px;
  background:linear-gradient(135deg,#FFD898,#FFB545);
  color:#8F5600;
  box-shadow:0 12px 22px rgba(233,162,59,.26);
}
.dt-single-post-medical .dt-download-copy{ position:relative; z-index:1; }
.dt-single-post-medical .dt-download-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#B16B02;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.dt-single-post-medical .dt-download-title{
  color:#173A61;
  font-size:26px;
  line-height:1.2;
  font-weight:800;
}
.dt-single-post-medical .dt-download-note{
  margin-top:3px;
  color:#66788E;
  font-size:14px;
}
.dt-single-post-medical .dt-download-button{
  position:relative;
  z-index:1;
  min-height:50px;
  padding:0 20px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#173A61,#2F80ED);
  color:#fff !important;
  box-shadow:0 14px 28px rgba(47,128,237,.18);
}
.dt-single-post-medical .dt-download-button:hover{
  transform:translateY(-1px);
  color:#fff !important;
}

/* Title area similar to reference */
.dt-single-post-medical .dt-article-header{
  max-width:860px;
  margin:0 auto;
  padding:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:left;
}
.dt-single-post-medical .dt-article-category-pill{ display:none !important; }
.dt-single-post-medical .dt-article-header h1{
  margin:0;
  color:#173A61;
  font-size:clamp(42px,4.8vw,58px);
  line-height:1.14;
  font-weight:800;
  letter-spacing:-.04em;
}
.dt-single-post-medical .dt-article-meta{
  margin-top:14px;
  justify-content:flex-start;
  color:#8795A6;
  font-size:13px;
}
.dt-single-post-medical .dt-article-lead{
  max-width:860px;
  margin-top:18px;
  color:#42566D;
  font-size:17px;
  line-height:1.85;
}

/* Body layout */
.dt-single-post-medical .dt-article-body-section{
  padding:16px 0 72px;
  background:#fff;
}
.dt-single-post-medical .dt-article-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 302px;
  gap:36px;
  align-items:start;
}
.dt-single-post-medical .dt-article-main{
  min-width:0;
  padding:0;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* TOC compact like reference */
.dt-single-post-medical .dt-article-toc{
  width:100%;
  min-height:0 !important;
  margin:0 0 28px;
  border:1px solid #DDE7F0;
  border-radius:16px;
  background:#FBFDFF;
  box-shadow:none;
  overflow:hidden;
}
.dt-single-post-medical .dt-toc-toggle{
  min-height:54px;
  padding:0 18px;
  border-bottom:1px solid #EEF3F7;
}
.dt-single-post-medical .dt-toc-label{
  color:#173A61;
  font-size:18px;
  font-weight:800;
}
.dt-single-post-medical .dt-toc-icon{
  color:#6F8093;
  font-size:18px;
}
.dt-single-post-medical .dt-toc-list{
  padding:14px 18px 18px 36px;
}
.dt-single-post-medical .dt-toc-list li{
  margin:9px 0;
  color:#475B71;
  font-size:15px;
  line-height:1.6;
}
.dt-single-post-medical .dt-toc-list .dt-toc-level-3{
  margin-left:16px;
}

/* Article content */
.dt-single-post-medical .dt-article-content{
  max-width:800px;
  color:#2F4255;
  font-size:18px;
  line-height:1.92;
}
.dt-single-post-medical .dt-article-content h2{
  margin-top:1.9em;
  margin-bottom:.7em;
  color:#173A61;
  font-size:31px;
  line-height:1.35;
  font-weight:800;
}
.dt-single-post-medical .dt-article-content h2:before{ display:none !important; }
.dt-single-post-medical .dt-article-content h3{
  margin-top:1.5em;
  color:#234C72;
  font-size:23px;
  line-height:1.45;
  font-weight:700;
}
.dt-single-post-medical .dt-article-content p{ margin-bottom:1.1em; }
.dt-single-post-medical .dt-article-content blockquote{
  background:#FFF8EE;
  border-left:4px solid #E9A23B;
}

/* Related sidebar */
.dt-single-post-medical .dt-related-box{
  position:sticky;
  top:92px;
  border:1px solid #DDE7F0;
  border-radius:16px;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}
.dt-single-post-medical .dt-related-label{
  padding:16px 18px;
  background:#F6FAFE;
  color:#173A61;
  font-size:18px;
  font-weight:800;
}
.dt-single-post-medical .dt-related-label:before{
  width:4px;
  background:#2F80ED;
}
.dt-single-post-medical .dt-related-list{
  padding:2px 16px 10px;
}
.dt-single-post-medical .dt-related-item{
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  padding:16px 0;
  border-bottom:1px solid #EEF3F7;
}
.dt-single-post-medical .dt-related-item:last-child{ border-bottom:0; }
.dt-single-post-medical .dt-related-media{
  width:92px;
  height:68px;
  border-radius:10px;
}
.dt-single-post-medical .dt-related-title{
  color:#1E3650;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}
.dt-single-post-medical .dt-related-date{
  margin-top:6px;
  color:#8595A8;
  font-size:12px;
}

/* Topics footer */
.dt-single-post-medical .dt-article-topics{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:flex-start;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid #E5ECF3;
}
.dt-single-post-medical .dt-article-topics-label{
  color:#6A788A;
  font-size:16px;
  font-weight:700;
  line-height:38px;
}
.dt-single-post-medical .dt-article-topics-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.dt-single-post-medical .dt-topic-chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid #D8E4F0;
  border-radius:999px;
  background:#F8FBFF;
  color:#355C83;
  font-size:14px;
  font-weight:600;
}
.dt-single-post-medical .dt-topic-chip:hover{
  border-color:#BDD2E9;
  background:#F0F6FD;
  color:#173A61;
}

@media(max-width:980px){
  .dt-single-post-medical .dt-article-layout{
    grid-template-columns:1fr;
  }
  .dt-single-post-medical .dt-related-box{
    position:static;
  }
}

@media(max-width:760px){
  .dt-single-post-medical .dt-medical-head{
    padding:14px 0 10px;
  }
  .dt-single-post-medical .dt-article-breadcrumb{
    margin-bottom:12px;
  }
  .dt-single-post-medical .dt-download-cta{
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    padding:15px;
    border-radius:16px;
    margin-bottom:20px;
  }
  .dt-single-post-medical .dt-download-icon{
    width:54px;
    height:54px;
    border-radius:15px;
  }
  .dt-single-post-medical .dt-download-title{
    font-size:21px;
  }
  .dt-single-post-medical .dt-download-note{
    font-size:13px;
  }
  .dt-single-post-medical .dt-download-button{
    grid-column:1/3;
    width:100%;
    min-height:46px;
    justify-content:center;
  }
  .dt-single-post-medical .dt-article-header h1{
    font-size:34px;
    line-height:1.22;
  }
  .dt-single-post-medical .dt-article-meta{
    margin-top:10px;
    font-size:12px;
  }
  .dt-single-post-medical .dt-article-lead{
    margin-top:14px;
    font-size:16px;
    line-height:1.75;
  }
  .dt-single-post-medical .dt-article-body-section{
    padding:10px 0 46px;
  }
  .dt-single-post-medical .dt-toc-toggle{
    min-height:50px;
    padding:0 14px;
  }
  .dt-single-post-medical .dt-toc-label{
    font-size:16px;
  }
  .dt-single-post-medical .dt-toc-list{
    padding:12px 14px 16px 28px;
  }
  .dt-single-post-medical .dt-toc-list li{
    font-size:14px;
  }
  .dt-single-post-medical .dt-article-content{
    font-size:16px;
    line-height:1.82;
  }
  .dt-single-post-medical .dt-article-content h2{
    font-size:25px;
  }
  .dt-single-post-medical .dt-article-content h3{
    font-size:20px;
  }
  .dt-single-post-medical .dt-related-label{
    font-size:17px;
  }
  .dt-single-post-medical .dt-related-item{
    grid-template-columns:84px minmax(0,1fr);
  }
  .dt-single-post-medical .dt-related-media{
    width:84px;
    height:62px;
  }
  .dt-single-post-medical .dt-article-topics{
    margin-top:22px;
    padding-top:16px;
  }
  .dt-single-post-medical .dt-article-topics-label{
    width:100%;
    line-height:1.4;
  }
}


/* ========================================================================
   V4.2 SINGLE POST - TÂM ANH-LIKE EDITORIAL LAYOUT
   Bám sát bố cục tham chiếu, nhưng dùng màu deonthi.com.
   ======================================================================== */

.dt-single-post-ta .dt-site,
.dt-single-post-ta .dt-ta-article-page{
  background:#fff !important;
}

.dt-single-post-ta .dt-ta-article-page{
  padding:22px 0 68px !important;
}

.dt-single-post-ta .dt-ta-breadcrumb{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 22px;
  color:#8794A4;
  font-size:12px;
  line-height:1.5;
}
.dt-single-post-ta .dt-ta-breadcrumb a{
  color:#5C7188;
}
.dt-single-post-ta .dt-ta-breadcrumb span:last-child{
  max-width:520px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Main widths mirror reference proportions */
.dt-single-post-ta .dt-ta-top-grid,
.dt-single-post-ta .dt-ta-content-grid{
  max-width:1160px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,820px) 300px;
  gap:40px;
  align-items:start;
}
.dt-single-post-ta .dt-ta-main-column,
.dt-single-post-ta .dt-ta-content-column{
  min-width:0;
}
.dt-single-post-ta .dt-ta-sidebar-spacer{
  min-height:1px;
}

/* Download is custom extra block, stronger than reference */
.dt-single-post-ta .dt-download-cta{
  position:relative !important;
  width:100% !important;
  margin:0 0 28px !important;
  padding:17px 18px !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) auto !important;
  gap:15px !important;
  align-items:center !important;
  border:1px solid #D8E5F0 !important;
  border-radius:14px !important;
  background:
    linear-gradient(120deg,#F2F8FF 0%,#FFFFFF 52%,#FFF5E6 100%) !important;
  box-shadow:0 8px 24px rgba(31,65,100,.07) !important;
  overflow:hidden !important;
}
.dt-single-post-ta .dt-download-cta:after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#2F80ED 0%,#F59E0B 100%);
}
.dt-single-post-ta .dt-download-glow{ display:none !important; }
.dt-single-post-ta .dt-download-icon{
  width:58px !important;
  height:58px !important;
  border-radius:12px !important;
  background:linear-gradient(145deg,#FFD374,#FFAA2B) !important;
  color:#8A5200 !important;
  box-shadow:0 8px 18px rgba(245,158,11,.22) !important;
}
.dt-single-post-ta .dt-download-icon svg{
  width:26px !important;
  height:26px !important;
}
.dt-single-post-ta .dt-download-copy{
  position:relative;
  z-index:1;
}
.dt-single-post-ta .dt-download-eyebrow{
  color:#A86400 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
}
.dt-single-post-ta .dt-download-title{
  margin-top:3px !important;
  color:#173A61 !important;
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.dt-single-post-ta .dt-download-note{
  margin-top:3px !important;
  color:#6B7B8F !important;
  font-size:12.5px !important;
}
.dt-single-post-ta .dt-download-button{
  min-height:46px !important;
  padding:0 17px !important;
  border:0 !important;
  border-radius:9px !important;
  background:linear-gradient(135deg,#173A61,#2F80ED) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(47,128,237,.16) !important;
  font-size:13px !important;
}
.dt-single-post-ta .dt-download-button:hover{
  background:linear-gradient(135deg,#214B74,#3C8CF1) !important;
  transform:none !important;
}

/* H1 area: plain editorial, no card, no pill */
.dt-single-post-ta .dt-ta-header{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.dt-single-post-ta .dt-ta-header h1{
  margin:0 !important;
  color:#173A61 !important;
  font-size:42px !important;
  line-height:1.24 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}
.dt-single-post-ta .dt-ta-post-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
  color:#7E8B9B;
  font-size:13px;
}
.dt-single-post-ta .dt-ta-dot{
  color:#B6C0CB;
}
.dt-single-post-ta .dt-ta-lead{
  margin:18px 0 0 !important;
  color:#334A60 !important;
  font-size:17px !important;
  line-height:1.82 !important;
  font-weight:500 !important;
}

/* TOC: compact, directly under lead, no giant empty panel */
.dt-single-post-ta .dt-article-toc{
  width:100% !important;
  margin:24px 0 0 !important;
  border:1px solid #DDE5ED !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.dt-single-post-ta .dt-toc-toggle{
  width:100% !important;
  min-height:48px !important;
  padding:0 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:0 !important;
  border-bottom:1px solid #E8EDF2 !important;
  background:#F6F8FA !important;
}
.dt-single-post-ta .dt-toc-label{
  color:#173A61 !important;
  font-size:16px !important;
  font-weight:800 !important;
}
.dt-single-post-ta .dt-toc-icon{
  color:#718093 !important;
  font-size:16px !important;
}
.dt-single-post-ta .dt-toc-list{
  margin:0 !important;
  padding:12px 18px 14px 34px !important;
  background:#fff !important;
}
.dt-single-post-ta .dt-toc-list li{
  margin:6px 0 !important;
  color:#40566C !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.dt-single-post-ta .dt-toc-list .dt-toc-level-3{
  margin-left:14px !important;
}

/* Article content starts right below TOC */
.dt-single-post-ta .dt-ta-content-grid{
  margin-top:28px !important;
}
.dt-single-post-ta .dt-article-content{
  max-width:none !important;
  color:#2F4153 !important;
  font-size:17px !important;
  line-height:1.82 !important;
}
.dt-single-post-ta .dt-article-content > *:first-child{
  margin-top:0 !important;
}
.dt-single-post-ta .dt-article-content p{
  margin:0 0 1.08em !important;
}
.dt-single-post-ta .dt-article-content h2{
  margin:1.75em 0 .65em !important;
  padding:0 !important;
  color:#173A61 !important;
  font-size:28px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
.dt-single-post-ta .dt-article-content h2:before{
  display:none !important;
}
.dt-single-post-ta .dt-article-content h3{
  margin:1.45em 0 .55em !important;
  color:#234D72 !important;
  font-size:21px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}
.dt-single-post-ta .dt-article-content img{
  margin:22px auto !important;
  border-radius:4px !important;
}
.dt-single-post-ta .dt-article-content figure{
  margin:24px 0 !important;
}
.dt-single-post-ta .dt-article-content blockquote{
  border-left:4px solid #E5A13A !important;
  border-radius:0 !important;
  background:#FFF9F0 !important;
}

/* Sidebar */
.dt-single-post-ta .dt-article-sidebar{
  position:relative !important;
}
.dt-single-post-ta .dt-related-box{
  position:sticky !important;
  top:92px !important;
  padding:0 !important;
  border:1px solid #DDE5ED !important;
  border-radius:4px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.dt-single-post-ta .dt-related-label{
  position:static !important;
  padding:14px 15px !important;
  border-bottom:1px solid #E5EBF1 !important;
  background:#F5F7F9 !important;
  color:#173A61 !important;
  font-size:16px !important;
  font-weight:800 !important;
}
.dt-single-post-ta .dt-related-label:before{
  display:none !important;
}
.dt-single-post-ta .dt-related-list{
  margin:0 !important;
  padding:4px 14px 8px !important;
}
.dt-single-post-ta .dt-related-item{
  display:grid !important;
  grid-template-columns:90px minmax(0,1fr) !important;
  gap:11px !important;
  padding:13px 0 !important;
  border-bottom:1px solid #EDF1F4 !important;
}
.dt-single-post-ta .dt-related-item:last-child{
  border-bottom:0 !important;
}
.dt-single-post-ta .dt-related-media{
  width:90px !important;
  height:66px !important;
  border-radius:3px !important;
}
.dt-single-post-ta .dt-related-title{
  color:#173A61 !important;
  font-size:13px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}
.dt-single-post-ta .dt-related-date{
  margin-top:5px !important;
  color:#8896A6 !important;
  font-size:11px !important;
}

/* Topics footer - rectangular tags like reference */
.dt-single-post-ta .dt-article-topics{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:30px !important;
  padding-top:18px !important;
  border-top:1px solid #E4E9EE !important;
}
.dt-single-post-ta .dt-article-topics-label{
  margin-right:2px !important;
  color:#4D5E70 !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:32px !important;
}
.dt-single-post-ta .dt-article-topics-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
}
.dt-single-post-ta .dt-topic-chip{
  min-height:30px !important;
  padding:0 9px !important;
  border:1px solid #CDD4DB !important;
  border-radius:3px !important;
  background:#F7F7F7 !important;
  color:#4D5E70 !important;
  font-size:12px !important;
  font-weight:500 !important;
}
.dt-single-post-ta .dt-topic-chip:hover{
  background:#EEF4FA !important;
  border-color:#B8C9DA !important;
  color:#173A61 !important;
}

@media(max-width:980px){
  .dt-single-post-ta .dt-ta-top-grid,
  .dt-single-post-ta .dt-ta-content-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .dt-single-post-ta .dt-ta-sidebar-spacer{
    display:none !important;
  }
  .dt-single-post-ta .dt-related-box{
    position:static !important;
    margin-top:28px !important;
  }
}

@media(max-width:760px){
  .dt-single-post-ta .dt-ta-article-page{
    padding:14px 0 44px !important;
  }
  .dt-single-post-ta .dt-ta-breadcrumb{
    margin-bottom:14px !important;
    font-size:11px !important;
  }
  .dt-single-post-ta .dt-ta-breadcrumb span:last-child{
    max-width:210px;
  }
  .dt-single-post-ta .dt-download-cta{
    grid-template-columns:52px minmax(0,1fr) !important;
    padding:13px !important;
    gap:10px !important;
    border-radius:10px !important;
    margin-bottom:20px !important;
  }
  .dt-single-post-ta .dt-download-icon{
    width:52px !important;
    height:52px !important;
    border-radius:10px !important;
  }
  .dt-single-post-ta .dt-download-title{
    font-size:18px !important;
  }
  .dt-single-post-ta .dt-download-button{
    grid-column:1/3 !important;
    width:100% !important;
    min-height:44px !important;
    border-radius:8px !important;
  }
  .dt-single-post-ta .dt-ta-header h1{
    font-size:30px !important;
    line-height:1.28 !important;
  }
  .dt-single-post-ta .dt-ta-post-meta{
    margin-top:9px !important;
    font-size:11.5px !important;
  }
  .dt-single-post-ta .dt-ta-lead{
    margin-top:13px !important;
    font-size:15.5px !important;
    line-height:1.75 !important;
  }
  .dt-single-post-ta .dt-article-toc{
    margin-top:18px !important;
  }
  .dt-single-post-ta .dt-toc-toggle{
    min-height:46px !important;
    padding:0 13px !important;
  }
  .dt-single-post-ta .dt-toc-label{
    font-size:15px !important;
  }
  .dt-single-post-ta .dt-toc-list{
    padding:10px 12px 12px 27px !important;
  }
  .dt-single-post-ta .dt-toc-list li{
    font-size:13px !important;
  }
  .dt-single-post-ta .dt-ta-content-grid{
    margin-top:20px !important;
  }
  .dt-single-post-ta .dt-article-content{
    font-size:16px !important;
    line-height:1.78 !important;
  }
  .dt-single-post-ta .dt-article-content h2{
    font-size:24px !important;
  }
  .dt-single-post-ta .dt-article-content h3{
    font-size:20px !important;
  }
  .dt-single-post-ta .dt-related-item{
    grid-template-columns:84px minmax(0,1fr) !important;
  }
  .dt-single-post-ta .dt-related-media{
    width:84px !important;
    height:62px !important;
  }
  .dt-single-post-ta .dt-article-topics{
    align-items:flex-start !important;
  }
  .dt-single-post-ta .dt-article-topics-label{
    width:100% !important;
    line-height:1.4 !important;
  }
}


/* ========================================================================
   V4.3 SINGLE POST STRUCTURE FIX
   Thứ tự cố định: H1 -> Mô tả thủ công -> Mục lục -> H2 đầu tiên -> ...
   ======================================================================== */

.dt-single-post-v43 .dt-ta-header{
  margin:0 !important;
  padding:0 !important;
}

/* H1 */
.dt-single-post-v43 .dt-ta-header h1{
  margin:0 !important;
}

/* Manual intro: no auto excerpt, no meta between H1 and intro */
.dt-single-post-v43 .dt-ta-lead{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#30475D !important;
  font-size:17px !important;
  line-height:1.82 !important;
  font-weight:500 !important;
}
.dt-single-post-v43 .dt-ta-lead p{
  margin:0 0 .75em !important;
}
.dt-single-post-v43 .dt-ta-lead p:last-child{
  margin-bottom:0 !important;
}

/* TOC exactly below manual description */
.dt-single-post-v43 .dt-article-toc{
  margin-top:24px !important;
}
.dt-single-post-v43 .dt-toc-toggle{
  min-height:54px !important;
  padding:0 14px 0 16px !important;
  background:#F4F4F4 !important;
  border-bottom:0 !important;
}
.dt-single-post-v43 .dt-toc-label{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#202020 !important;
  font-size:22px !important;
  font-weight:800 !important;
}
.dt-single-post-v43 .dt-toc-list-icon{
  color:#17202A !important;
  font-size:24px !important;
  line-height:1 !important;
}
.dt-single-post-v43 .dt-toc-icon{
  color:#7F858B !important;
  font-size:20px !important;
}

/* No ordered numbering on H2 */
.dt-single-post-v43 .dt-toc-groups{
  padding:6px 10px 12px !important;
  background:#F7F7F7 !important;
}
.dt-single-post-v43 .dt-toc-group{
  padding:6px 0 !important;
}
.dt-single-post-v43 .dt-toc-h2-row{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  padding:3px 0 !important;
}
.dt-single-post-v43 .dt-toc-h2-chevron{
  flex:0 0 14px !important;
  margin-top:1px !important;
  color:#878D93 !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.dt-single-post-v43 .dt-toc-h2-link{
  color:#262626 !important;
  font-size:16px !important;
  line-height:1.5 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.dt-single-post-v43 .dt-toc-h2-link:hover{
  color:#173A61 !important;
}

/* H3 children as bullets, no numbering generated by plugin */
.dt-single-post-v43 .dt-toc-h3-list{
  margin:5px 0 2px 33px !important;
  padding-left:20px !important;
  list-style:disc !important;
}
.dt-single-post-v43 .dt-toc-h3-list li{
  margin:7px 0 !important;
  padding:0 !important;
  color:#252525 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.dt-single-post-v43 .dt-toc-h3-list a{
  color:#252525 !important;
  text-decoration:none !important;
  font-weight:400 !important;
}
.dt-single-post-v43 .dt-toc-h3-list a:hover{
  color:#173A61 !important;
}

/* Overall TOC frame closer to sample */
.dt-single-post-v43 .dt-article-toc{
  border:1px solid #173A61 !important;
  border-radius:0 !important;
  background:#F7F7F7 !important;
}
.dt-single-post-v43 .dt-article-toc.is-collapsed .dt-toc-groups{
  display:none !important;
}

/* Article starts immediately after TOC */
.dt-single-post-v43 .dt-ta-content-grid{
  margin-top:26px !important;
}
.dt-single-post-v43 .dt-article-content > h2:first-child{
  margin-top:0 !important;
}

/* Topics: show only real WP tags. No category fallback. */
.dt-single-post-v43 .dt-article-topics{
  margin-top:34px !important;
  padding-top:18px !important;
  border-top:1px solid #DADFE5 !important;
}
.dt-single-post-v43 .dt-article-topics-label{
  color:#4A5560 !important;
  font-size:15px !important;
}
.dt-single-post-v43 .dt-topic-chip{
  border:1px solid #C9CED4 !important;
  border-radius:2px !important;
  background:#F7F7F7 !important;
  color:#4B5560 !important;
  font-size:12px !important;
}

/* Hide legacy meta in case old CSS/markup is injected elsewhere */
.dt-single-post-v43 .dt-ta-post-meta,
.dt-single-post-v43 .dt-article-meta{
  display:none !important;
}

@media(max-width:760px){
  .dt-single-post-v43 .dt-ta-lead{
    margin-top:14px !important;
    font-size:15.5px !important;
    line-height:1.75 !important;
  }
  .dt-single-post-v43 .dt-toc-label{
    font-size:19px !important;
  }
  .dt-single-post-v43 .dt-toc-list-icon{
    font-size:21px !important;
  }
  .dt-single-post-v43 .dt-toc-groups{
    padding:5px 9px 10px !important;
  }
  .dt-single-post-v43 .dt-toc-h2-link{
    font-size:14.5px !important;
  }
  .dt-single-post-v43 .dt-toc-h3-list{
    margin-left:25px !important;
    padding-left:17px !important;
  }
  .dt-single-post-v43 .dt-toc-h3-list li{
    font-size:13.5px !important;
  }
}


/* ========================================================================
   V4.5 TOPICS POLISH
   Làm lại khối Chủ đề theo style deonthi.com: sạch, nổi bật, không giống tag mặc định.
   ======================================================================== */

.dt-single-post-v43 .dt-article-topics,
.dt-single-post-ta .dt-article-topics{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px 12px !important;
  margin-top:36px !important;
  padding:16px 18px !important;
  border:1px solid #E1E8F0 !important;
  border-top:1px solid #E1E8F0 !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#FAFCFE 0%,#F5F9FD 100%) !important;
  box-shadow:0 6px 18px rgba(34,65,99,.04) !important;
}

.dt-single-post-v43 .dt-article-topics-label,
.dt-single-post-ta .dt-article-topics-label{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:0 2px 0 0 !important;
  color:#173A61 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.dt-single-post-v43 .dt-topic-label-icon,
.dt-single-post-ta .dt-topic-label-icon{
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#FFF3DD !important;
  color:#B86C03 !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.dt-single-post-v43 .dt-article-topics-list,
.dt-single-post-ta .dt-article-topics-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.dt-single-post-v43 .dt-topic-chip,
.dt-single-post-ta .dt-topic-chip{
  min-height:36px !important;
  padding:0 13px !important;
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid #D5E2EF !important;
  border-radius:999px !important;
  background:#FFFFFF !important;
  color:#365A7C !important;
  font-size:12.5px !important;
  font-weight:650 !important;
  line-height:1 !important;
  box-shadow:0 2px 7px rgba(34,65,99,.025) !important;
  transition:.16s ease !important;
}

.dt-single-post-v43 .dt-topic-chip:hover,
.dt-single-post-ta .dt-topic-chip:hover{
  transform:translateY(-1px) !important;
  border-color:#B8CFE5 !important;
  background:#EEF6FF !important;
  color:#173A61 !important;
  box-shadow:0 5px 12px rgba(47,128,237,.08) !important;
}

@media(max-width:760px){
  .dt-single-post-v43 .dt-article-topics,
  .dt-single-post-ta .dt-article-topics{
    align-items:flex-start !important;
    padding:14px !important;
    border-radius:12px !important;
  }

  .dt-single-post-v43 .dt-article-topics-label,
  .dt-single-post-ta .dt-article-topics-label{
    width:100% !important;
    min-height:30px !important;
  }

  .dt-single-post-v43 .dt-topic-chip,
  .dt-single-post-ta .dt-topic-chip{
    min-height:34px !important;
    padding:0 11px !important;
    font-size:12px !important;
  }
}


/* ========================================================================
   V4.6 TAG ARCHIVE
   News/topic archive inspired by the supplied reference, recolored for DeOnThi.
   ======================================================================== */

.dt-tag-archive-page .dt-site,
.dt-tag-main{
  background:#fff !important;
}

.dt-tag-breadcrumb-bar{
  border-top:1px solid #EDF1F5;
  border-bottom:1px solid #E8EDF2;
  background:#F4F6F8;
}
.dt-tag-breadcrumb{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#7890A7;
  font-size:12px;
  text-transform:uppercase;
}
.dt-tag-breadcrumb a{
  color:#647C94;
}
.dt-tag-breadcrumb span:last-child{
  color:#2F80ED;
}

.dt-tag-content{
  padding:22px 0 64px;
}
.dt-tag-content > .dt-container{
  max-width:1080px;
}

.dt-tag-topic-bar{
  min-height:48px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid #DDE5ED;
  border-radius:9px;
  background:#fff;
  box-shadow:0 3px 10px rgba(31,62,96,.06);
}
.dt-tag-topic-bar h1{
  margin:0;
  color:#173A61;
  font-size:15px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:0;
}
.dt-tag-topic-bar h1 span{
  color:#596A7D;
  font-weight:500;
}
.dt-tag-count{
  display:flex;
  align-items:center;
  gap:5px;
  flex:none;
  color:#647487;
  font-size:13px;
}
.dt-tag-count-icon{
  color:#758699;
  font-size:16px;
}

/* Featured */
.dt-tag-featured-card{
  margin-top:22px;
  display:grid;
  grid-template-columns:51% 49%;
  min-height:278px;
  border:1px solid #CCD5DE;
  background:#fff;
  overflow:hidden;
}
.dt-tag-featured-media{
  display:block;
  min-height:278px;
  overflow:hidden;
  background:#EFF3F7;
}
.dt-tag-featured-img{
  display:block;
  width:100%;
  height:100%;
  min-height:278px;
  object-fit:cover;
}
.dt-tag-image-fallback{
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#EEF5FC,#E3EDF8);
  color:#31587C;
  text-align:center;
  font-weight:800;
}
.dt-tag-featured-body{
  min-width:0;
  padding:30px 26px 22px;
}
.dt-tag-featured-body h2{
  margin:0;
  color:#202C39;
  font-size:21px;
  line-height:1.45;
  font-weight:800;
  letter-spacing:-.025em;
}
.dt-tag-featured-body h2 a:hover{
  color:#2F80ED;
}
.dt-tag-card-date{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#708094;
  font-size:12px;
}
.dt-tag-date-icon{
  color:#718295;
  font-size:12px;
}
.dt-tag-card-chips{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.dt-tag-card-chips a{
  min-height:26px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  border:1px solid #D4DAE1;
  border-radius:3px;
  background:#FAFAFA;
  color:#566678;
  font-size:10.5px;
  font-weight:500;
}
.dt-tag-card-chips a:hover{
  border-color:#B8CADC;
  color:#173A61;
  background:#F3F8FD;
}
.dt-tag-featured-excerpt{
  margin:14px 0 0;
  color:#596A7D;
  font-size:14px;
  line-height:1.65;
}
.dt-tag-author{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#6C8095;
  font-size:10.5px;
  text-transform:uppercase;
}
.dt-tag-author-avatar{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
}

/* Grid */
.dt-tag-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 18px;
}
.dt-tag-grid-card{
  min-width:0;
  background:#fff;
}
.dt-tag-grid-media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#EEF3F7;
}
.dt-tag-grid-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease;
}
.dt-tag-grid-card:hover .dt-tag-grid-img{
  transform:scale(1.018);
}
.dt-tag-grid-body{
  padding-top:12px;
}
.dt-tag-grid-body h3{
  margin:0;
  color:#1F2E3D;
  font-size:16px;
  line-height:1.45;
  font-weight:750;
  letter-spacing:-.02em;
}
.dt-tag-grid-body h3 a:hover{
  color:#2F80ED;
}
.dt-tag-grid-body .dt-tag-card-date{
  margin-top:10px;
}
.dt-tag-grid-body .dt-tag-card-chips{
  margin-top:9px;
}
.dt-tag-grid-author{
  margin-top:10px;
  color:#8090A2;
  font-size:10px;
  text-transform:uppercase;
}

.dt-tag-empty{
  margin-top:22px;
  padding:32px;
  border:1px solid #E1E7ED;
  background:#F8FAFC;
  color:#657487;
  text-align:center;
}

.dt-tag-archive-page .dt-pagination{
  margin-top:32px;
}

/* Tablet */
@media(max-width:980px){
  .dt-tag-featured-card{
    grid-template-columns:48% 52%;
  }
  .dt-tag-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile */
@media(max-width:720px){
  .dt-tag-breadcrumb{
    min-height:38px;
    font-size:10.5px;
  }
  .dt-tag-content{
    padding:16px 0 44px;
  }
  .dt-tag-topic-bar{
    min-height:44px;
    padding:8px 10px;
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    border-radius:7px;
  }
  .dt-tag-topic-bar h1{
    font-size:14px;
  }
  .dt-tag-count{
    font-size:11.5px;
  }

  .dt-tag-featured-card{
    margin-top:16px;
    grid-template-columns:1fr;
    min-height:0;
  }
  .dt-tag-featured-media,
  .dt-tag-featured-img{
    min-height:0;
    aspect-ratio:16/9;
  }
  .dt-tag-featured-body{
    padding:16px 15px 17px;
  }
  .dt-tag-featured-body h2{
    font-size:19px;
  }
  .dt-tag-featured-excerpt{
    font-size:13px;
  }
  .dt-tag-author{
    margin-top:14px;
  }

  .dt-tag-grid{
    margin-top:22px;
    grid-template-columns:1fr;
    gap:22px;
  }
  .dt-tag-grid-card{
    display:grid;
    grid-template-columns:40% minmax(0,60%);
    gap:12px;
    padding-bottom:16px;
    border-bottom:1px solid #E8EDF2;
  }
  .dt-tag-grid-media{
    aspect-ratio:4/3;
  }
  .dt-tag-grid-body{
    padding-top:0;
  }
  .dt-tag-grid-body h3{
    font-size:14px;
  }
  .dt-tag-grid-body .dt-tag-card-date{
    margin-top:7px;
    font-size:10.5px;
  }
  .dt-tag-grid-body .dt-tag-card-chips{
    margin-top:7px;
    gap:4px;
  }
  .dt-tag-grid-body .dt-tag-card-chips a{
    min-height:23px;
    padding:0 6px;
    font-size:9.5px;
  }
  .dt-tag-grid-author{
    display:none;
  }
}


/* ========================================================================
   V4.7 GLOBAL FALLBACK TEMPLATES
   Generic Page + 404 + archive chưa có template riêng
   ======================================================================== */

/* Shared breadcrumb */
.dt-generic-breadcrumb{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:#8593A3;
  font-size:12px;
}
.dt-generic-breadcrumb a{
  color:#5F748B;
}
.dt-generic-breadcrumb span:last-child{
  color:#8391A1;
}

/* Generic Page */
.dt-generic-page-template .dt-site,
.dt-generic-page{
  background:#fff !important;
}
.dt-generic-page{
  padding:24px 0 64px;
}
.dt-generic-page-header{
  max-width:900px;
  margin:24px auto 0;
}
.dt-generic-page-header h1{
  margin:0;
  color:#173A61;
  font-size:clamp(34px,4vw,48px);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.04em;
}
.dt-generic-page-content{
  max-width:900px;
  margin:28px auto 0;
  color:#314355;
  font-size:17px;
  line-height:1.82;
}
.dt-generic-page-content h2{
  margin:1.8em 0 .65em;
  color:#173A61;
  font-size:28px;
  line-height:1.35;
}
.dt-generic-page-content h3{
  margin:1.5em 0 .55em;
  color:#265074;
  font-size:21px;
}
.dt-generic-page-content p{
  margin:0 0 1.1em;
}
.dt-generic-page-content img{
  height:auto;
  margin:22px auto;
  border-radius:10px;
}
.dt-generic-page-content ul,
.dt-generic-page-content ol{
  padding-left:1.4em;
}

/* 404 */
.dt-custom-404-page .dt-site,
.dt-404-main{
  background:#fff !important;
}
.dt-404-main{
  padding:44px 0 72px;
}
.dt-404-shell{
  max-width:900px;
  margin:0 auto;
  padding:52px 44px;
  text-align:center;
  border:1px solid #DDE7F0;
  border-radius:24px;
  background:
    radial-gradient(circle at 15% 12%,rgba(47,128,237,.10),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(245,158,11,.12),transparent 28%),
    linear-gradient(135deg,#F9FCFF,#FFFFFF);
  box-shadow:0 18px 48px rgba(31,62,96,.075);
}
.dt-404-code{
  color:#DCE9F6;
  font-size:118px;
  line-height:.85;
  font-weight:900;
  letter-spacing:-.075em;
}
.dt-404-kicker{
  display:inline-block;
  margin-top:22px;
  color:#B16B08;
  font-size:11px;
  font-weight:850;
  letter-spacing:.13em;
}
.dt-404-shell h1{
  max-width:700px;
  margin:10px auto 0;
  color:#173A61;
  font-size:clamp(30px,4vw,44px);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.04em;
}
.dt-404-shell > p{
  max-width:680px;
  margin:14px auto 0;
  color:#64768A;
  font-size:15px;
  line-height:1.7;
}
.dt-404-search{
  max-width:650px;
  margin:26px auto 0;
  padding:7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:7px;
  border:1px solid #DCE6F0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,64,99,.06);
}
.dt-404-search input{
  height:46px;
  padding:0 13px;
  border:0;
  outline:0;
  background:transparent;
  color:#283D52;
}
.dt-404-search button{
  border:0;
  border-radius:10px;
  background:#173A61;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.dt-404-search button:hover{
  background:#2F80ED;
}
.dt-404-actions{
  margin-top:22px;
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.dt-404-actions a{
  min-height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  border:1px solid #D9E3ED;
  border-radius:9px;
  background:#fff;
  color:#46617D;
  font-size:12.5px;
  font-weight:650;
}
.dt-404-actions .dt-404-primary{
  border-color:#173A61;
  background:#173A61;
  color:#fff;
}
.dt-404-tip{
  max-width:650px;
  margin:25px auto 0;
  padding-top:18px;
  border-top:1px solid #E8EEF4;
  color:#8290A0;
  font-size:12px;
}

/* Generic archive */
.dt-generic-archive-page .dt-site,
.dt-generic-archive{
  background:#fff !important;
}
.dt-generic-archive-top{
  padding:22px 0 28px;
  border-bottom:1px solid #E7EDF3;
  background:#FAFCFE;
}
.dt-generic-archive-heading{
  margin-top:20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
}
.dt-generic-eyebrow{
  display:inline-block;
  margin-bottom:6px;
  color:#A96809;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
}
.dt-generic-archive-heading h1{
  margin:0;
  color:#173A61;
  font-size:clamp(32px,4vw,46px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.04em;
}
.dt-generic-archive-heading p{
  max-width:760px;
  margin:11px 0 0;
  color:#68798D;
  font-size:14px;
  line-height:1.7;
}
.dt-generic-archive-count{
  min-width:120px;
  padding:13px 16px;
  border:1px solid #DCE5EE;
  border-radius:13px;
  background:#fff;
  text-align:center;
}
.dt-generic-archive-count strong{
  display:block;
  color:#2F80ED;
  font-size:24px;
}
.dt-generic-archive-count span{
  display:block;
  margin-top:2px;
  color:#8190A1;
  font-size:11px;
}

.dt-generic-archive-list{
  padding:34px 0 56px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;
}
.dt-generic-archive-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  min-height:145px;
  padding-bottom:18px;
  border-bottom:1px solid #E8EDF3;
}
.dt-generic-archive-media{
  display:block;
  width:180px;
  height:128px;
  border-radius:12px;
  overflow:hidden;
  background:#EEF3F7;
}
.dt-generic-archive-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dt-generic-archive-body{
  min-width:0;
  padding-left:14px;
}
.dt-generic-archive-body h2{
  margin:0;
  color:#203A55;
  font-size:17px;
  line-height:1.45;
  font-weight:750;
}
.dt-generic-archive-date{
  margin-top:7px;
  color:#8D9AAA;
  font-size:11px;
}
.dt-generic-archive-body p{
  margin:7px 0 0;
  color:#6D7D8F;
  font-size:12.5px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dt-generic-archive-link{
  display:inline-block;
  margin-top:8px;
  color:#315F8A;
  font-size:11.5px;
  font-weight:700;
}
.dt-generic-empty{
  margin:34px 0 56px;
  padding:34px;
  border:1px solid #E0E7EF;
  border-radius:15px;
  background:#FAFCFE;
  text-align:center;
}
.dt-generic-empty h2{
  margin:0;
  color:#173A61;
}
.dt-generic-empty p{
  color:#728194;
}

/* Mobile */
@media(max-width:720px){
  .dt-generic-page{
    padding:16px 0 44px;
  }
  .dt-generic-page-header{
    margin-top:18px;
  }
  .dt-generic-page-header h1{
    font-size:30px;
  }
  .dt-generic-page-content{
    margin-top:22px;
    font-size:16px;
    line-height:1.78;
  }

  .dt-404-main{
    padding:24px 0 46px;
  }
  .dt-404-shell{
    padding:34px 18px;
    border-radius:18px;
  }
  .dt-404-code{
    font-size:82px;
  }
  .dt-404-shell h1{
    font-size:29px;
  }
  .dt-404-search{
    grid-template-columns:1fr 86px;
  }
  .dt-404-actions{
    gap:7px;
  }

  .dt-generic-archive-top{
    padding:16px 0 22px;
  }
  .dt-generic-archive-heading{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dt-generic-archive-heading h1{
    font-size:30px;
  }
  .dt-generic-archive-count{
    width:max-content;
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
  }
  .dt-generic-archive-count strong{
    font-size:18px;
  }
  .dt-generic-archive-count span{
    margin:0;
  }

  .dt-generic-archive-list{
    padding:26px 0 44px;
    grid-template-columns:1fr;
    gap:13px;
  }
  .dt-generic-archive-card{
    grid-template-columns:38% minmax(0,62%);
    min-height:120px;
    padding-bottom:13px;
  }
  .dt-generic-archive-media{
    width:100%;
    height:110px;
    border-radius:10px;
  }
  .dt-generic-archive-body{
    padding-left:11px;
  }
  .dt-generic-archive-body h2{
    font-size:14px;
    line-height:1.42;
  }
  .dt-generic-archive-body p{
    font-size:11px;
    -webkit-line-clamp:1;
  }
}
