/* ==========================================================================
   The7 Digital 2026 — bộ giao diện. Ưu tiên điện thoại (mobile-first), một file, không framework.
   Màu: navy (chữ/khối tối), vàng thương hiệu (nút), xám xanh nhạt (nền phụ).
   ========================================================================== */

:root{
  --ink:#0b1f3a; --ink-2:#13284a; --text:#2b3a4a; --mute:#5b6b80; --line:#e3e8ef; --soft:#f4f6fa; --white:#fff;
  --cta:#ffc000; --cta-h:#ffcd33; --cta-ink:#0b1f3a; --link:#0b5cad; --ok:#0d7f56; --ok-s:#e6f5ee; --warn:#b45309;
  --r:14px; --r-sm:10px; --r-lg:20px;
  --sh:0 1px 2px rgba(11,31,58,.05),0 10px 30px rgba(11,31,58,.07);
  --sh-lg:0 20px 50px rgba(11,31,58,.14);
  --hh:72px; --hbar:72px; --wrap:1180px; --gut:20px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}
@media(min-width:1024px){:root{--hh:84px;--hbar:84px;--gut:32px}}

/* ---------- nền tảng ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.65;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open,body.popup-open{overflow:hidden}
img,svg,video,iframe{max-width:100%;height:auto;vertical-align:middle}
img{border:0}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink);font-weight:800;line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere}
p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:3px solid #7fb3ff;outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 14px;background:var(--ink);color:#fff;border-radius:8px}
.skip:focus{top:12px}
.ic{display:inline-block;flex:none;vertical-align:middle}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.wrap--narrow{max-width:740px;margin-left:auto;margin-right:auto}
.wrap--read{max-width:860px}
.site{display:flex;flex-direction:column;min-height:100vh}
.site-content{flex:1 0 auto}

/* ---------- chữ ---------- */
.eyebrow{display:inline-block;margin:0 0 12px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--link)}
.sec--dark .eyebrow,.hero--dark .eyebrow,.cta--dark .eyebrow{color:var(--cta)}
.sec__head{max-width:760px;margin:0 auto 36px;text-align:center}
.sec__head--left{margin-left:0;text-align:left}
.sec__title{font-size:26px;font-size:clamp(26px,3.4vw,38px);line-height:1.18}
.sec__lead{margin-top:14px;color:var(--mute);font-size:17px}
.sec__head:not(.sec__head--left) .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.sec__lead p{margin:0 0 .6em}.sec__lead p:last-child{margin-bottom:0}
.sec__cta{margin-top:34px;text-align:center}
.sec__cta--left{text-align:left}
.sec__note{max-width:760px;margin:16px auto 0;font-size:13.5px;color:var(--mute);text-align:center}
@media(min-width:1024px){.sec__head{margin-bottom:52px}}

/* ---------- khối ---------- */
.sec{padding:56px 0}
.sec--alt{background:var(--soft)}
.sec--dark{background:var(--ink);color:#c9d6e6}
.sec--dark .sec__title,.sec--dark h2,.sec--dark h3{color:#fff}
.sec--dark .sec__lead{color:#b4c3d6}
.sec+.sec--alt,.sec--alt+.sec{border-top:0}
@media(min-width:1024px){.sec{padding:92px 0}}
html.js .rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
html.js .rv.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- nút ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;border:1.5px solid transparent;border-radius:var(--r-sm);font-size:15.5px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none!important;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn__arrow{transition:transform .15s}
.btn:hover .btn__arrow{transform:translateX(3px)}
.btn--primary{background:var(--cta);color:var(--cta-ink)!important;box-shadow:0 6px 18px rgba(255,192,0,.28)}
.btn--primary:hover{background:var(--cta-h)}
.btn--dark{background:var(--ink);color:#fff!important}
.btn--dark:hover{background:var(--ink-2)}
.btn--ghost{background:transparent;color:var(--ink)!important;border-color:#c5d0dd}
.btn--ghost:hover{border-color:var(--ink);background:#fff}
.hero--dark .btn--ghost,.sec--dark .btn--ghost,.cta--dark .btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.45)}
.hero--dark .btn--ghost:hover,.cta--dark .btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn--light{background:#fff;color:var(--ink)!important}
.btn--sm{min-height:42px;padding:9px 18px;font-size:14px;border-radius:9px}
.btn--lg{min-height:56px;padding:14px 30px;font-size:16.5px}
.btn--block{width:100%}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:var(--ink);background:transparent}
.icon-btn:hover{background:var(--soft)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
.site-header.is-scrolled{border-color:var(--line);box-shadow:0 4px 20px rgba(11,31,58,.06)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--hbar)}
.brand{display:inline-flex;align-items:center;flex:none;color:var(--ink)!important;text-decoration:none!important}
.brand__img{height:40px;width:auto}
.brand--text{font-size:22px;font-weight:900;letter-spacing:-.02em}
@media(min-width:1024px){.brand__img{height:46px}}
.header__actions{display:flex;align-items:center;gap:4px}
.header__cta{display:none}
.nav-toggle{color:var(--ink)}
@media(min-width:640px){.header__cta{display:inline-flex}}
@media(min-width:1200px){.header__tel,.nav-toggle{display:none}}

/* menu — điện thoại: ngăn kéo bên phải */
.nav{position:fixed;top:0;right:0;bottom:0;z-index:1000;width:min(360px,88vw);padding:0 0 24px;background:#fff;box-shadow:var(--sh-lg);transform:translateX(102%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav.is-open{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
.nav-backdrop{position:fixed;inset:0;z-index:950;background:rgba(11,31,58,.5)}
.nav__top{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 14px 20px;border-bottom:1px solid var(--line)}
.nav__title{font-weight:800;color:var(--ink)}
.nav__close{color:var(--ink)}
.menu{padding:8px 12px}
.menu li{position:relative}
.menu__link,.menu__parent{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 10px;border-radius:10px;color:var(--ink)!important;font-size:16px;font-weight:600;text-decoration:none!important;text-align:left}
.menu__link:hover,.menu__parent:hover{background:var(--soft)}
.menu li.menu-item-has-children > .menu__link{width:calc(100% - 48px);display:inline-flex}
@media(max-width:1199px){.menu li.menu-item-has-children > .menu__parent{width:100%;padding-right:14px}}
.menu__toggle{position:absolute;right:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:48px;border-radius:10px;color:var(--mute)}
.menu__chev{transition:transform .2s}
.menu li.is-open > .menu__toggle .menu__chev,.menu li.is-open > .menu__parent .menu__chev{transform:rotate(180deg)}
.menu .sub-menu{display:none;margin:2px 0 6px 10px;padding-left:10px;border-left:2px solid var(--line)}
.menu li.is-open > .sub-menu{display:block}
.menu .sub-menu .menu__link{font-size:15px;font-weight:500;padding:10px}
.menu .sub-menu .sub-menu{margin-left:6px}
.menu li[class*="current-menu"] > .menu__link{color:var(--link)!important}
.nav__cta{padding:12px 20px 0;border-top:1px solid var(--line);margin-top:8px}
.nav__tel{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--ink)!important;font-weight:700}
/* nút chuyển ngôn ngữ (mu-plugin) nằm trong menu */
.menu > li.the7-langswitch{margin:10px 10px 4px}

/* menu — máy tính: ngang (từ 1200px; nhỏ hơn dùng ngăn kéo) */
@media(min-width:1200px){
  .nav{position:static;width:auto;padding:0;background:none;box-shadow:none;transform:none;visibility:visible;overflow:visible;transition:none;display:flex;align-items:center;flex:1 1 auto;justify-content:flex-end;margin-right:8px}
  .nav__top,.nav__cta{display:none}
  .menu{display:flex;align-items:center;gap:2px;padding:0}
  .menu > li > .menu__link,.menu > li > .menu__parent{padding:10px 12px;font-size:14.5px;font-weight:600;border-radius:9px;white-space:nowrap}
  .menu > li{flex:none}
  .menu li.menu-item-has-children > .menu__link{width:auto;padding-right:28px}
  .menu > li > .menu__toggle{width:24px;height:40px;right:2px;top:1px;pointer-events:none;color:var(--mute)}
  .site-header .the7-lsdd-name{display:none}
  .site-header .the7-lsdd-btn{padding:6px 10px 6px 7px}
  .menu .sub-menu{display:block;position:absolute;left:0;top:calc(100% + 4px);z-index:50;min-width:260px;margin:0;padding:8px;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility 0s .15s}
  .menu > li:hover > .sub-menu,.menu > li:focus-within > .sub-menu,.menu > li.is-open > .sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s,visibility 0s}
  .menu .sub-menu .menu__link{padding:9px 12px;font-size:14.5px;white-space:nowrap}
  .menu .sub-menu li.menu-item-has-children > .menu__link{width:100%;padding-right:12px}
  .menu .sub-menu .menu__toggle{display:none}
  .menu .sub-menu .sub-menu{position:static;min-width:0;margin:0 0 4px 10px;padding:0 0 0 10px;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .menu .sub-menu .sub-menu .menu__link{font-size:13.5px;font-weight:500;color:var(--text)!important}
  .menu > li.the7-langswitch{margin:0 0 0 6px}
}

/* ---------- landing của plugin: header cố định, nội dung tràn ---------- */
body.the7c-landing .site-header{position:fixed;left:0;right:0}
body.the7c-landing .landing-content{padding:0;margin:0}

/* ---------- hero trang dịch vụ ---------- */
.hero{position:relative;padding:28px 0 48px;background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%)}
.hero--dark{background:var(--ink);color:#c9d6e6}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.hero__title{font-size:30px;font-size:clamp(30px,5vw,50px);line-height:1.12;letter-spacing:-.02em}
.hero--dark .hero__title{color:#fff}
.hero__title .t7-hl,.hero__title span{color:var(--link)}
.hero--dark .hero__title span{color:var(--cta)}
.hero__sub{margin-top:14px;font-size:18px;font-size:clamp(18px,2vw,22px);font-weight:600;color:var(--ink)}
.hero--dark .hero__sub{color:#e6edf6}
.hero__sub::first-letter{text-transform:uppercase}
.hero__text{margin-top:14px;font-size:17px;color:var(--mute)}
.hero--dark .hero__text{color:#b4c3d6}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__trust{display:grid;gap:8px;margin-top:24px}
.hero__trust li{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--text)}
.hero__trust .ic{color:var(--ok)}
.hero__media{position:relative}
.hero__img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh-lg);object-fit:cover;aspect-ratio:4/3}
/* ảnh mockup PNG nền trong: hiện trọn ảnh, không cắt 4:3, không bóng */
.hero--contain .hero__img{aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none}
@media(min-width:1024px){
  .hero{padding:36px 0 72px}
  .hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}
}

/* ---------- breadcrumb (Rank Math) ---------- */
.crumbs{margin:0 0 18px;font-size:13px;color:var(--mute)}
.crumbs a{color:var(--mute)}
.crumbs .separator{margin:0 6px;opacity:.6}
.crumbs .last{color:var(--ink);font-weight:600}
.hero--dark .crumbs,.hero--dark .crumbs a,.hero--dark .crumbs .last{color:#b4c3d6}
.crumbs nav{display:block;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.crumbs nav::-webkit-scrollbar{display:none}
@media(max-width:639px){.crumbs nav{white-space:normal;overflow-x:visible}}
@media(max-width:639px){.crumbs a{display:inline-block;padding:12px 0;margin:-12px 0}}

/* ---------- chữ + ảnh ---------- */
.media{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.media__img img,.media__img .video{width:100%;border-radius:var(--r-lg)}
.media__img img{box-shadow:var(--sh);height:auto}
.media--flat .media__img img{box-shadow:none;border-radius:0}
.media__title{font-size:24px;font-size:clamp(24px,3vw,34px);line-height:1.2}
.media__sub{margin-top:8px;font-size:17px;font-weight:600;color:var(--link)}
.media__body .prose{margin-top:16px}
.media__cta{margin-top:24px}
.media.media--single{grid-template-columns:minmax(0,1fr)}
@media(min-width:640px) and (max-width:899px){.media:not(.media--single) .media__img{max-width:560px;margin-left:auto;margin-right:auto}}
@media(min-width:900px){
  .media{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
  .sec--media-rev .media .media__img,.media--rev .media__img{order:2}
}

/* ---------- lưới tính năng ---------- */
.features{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.feature{position:relative;padding:22px 20px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s,border-color .2s}
.feature:hover{box-shadow:var(--sh);border-color:#cfd9e6}
.feature__ic{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:14px;border-radius:14px;background:var(--soft)}
.feature__ic img{width:34px;height:34px;object-fit:contain}
.feature__ic--svg{color:var(--link)}
.feature__title{font-size:17.5px;line-height:1.3}
.feature__text{margin-top:8px;font-size:15px;color:var(--mute)}
.feature__text p{margin:0 0 .5em}.feature__text p:last-child{margin:0}
.feature__link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-weight:700;font-size:14px}
.features--list .feature{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 16px;align-items:start;padding:18px}
.features--list .feature__ic{grid-row:1/span 3;margin:0}
.features--list .feature__title,.features--list .feature__text,.features--list .feature__link{grid-column:2}
.features--plain .feature{border:0;padding:8px 0;background:transparent}
.features--plain .feature:hover{box-shadow:none}
@media(min-width:600px){.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(min-width:1024px){
  .features.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .features.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .feature{padding:26px 24px}
}

/* ---------- lưới dịch vụ ---------- */
.services{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.svc{display:flex;flex-direction:column;padding:22px 20px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--text)!important;text-decoration:none!important;transition:box-shadow .2s,transform .2s,border-color .2s}
a.svc:hover{box-shadow:var(--sh);border-color:var(--ink);transform:translateY(-2px)}
.svc__ic{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:14px;border-radius:16px;background:var(--soft)}
.svc__ic img{width:40px;height:40px;object-fit:contain}
.svc__title{font-size:18px}
.svc__text{margin-top:8px;font-size:15px;color:var(--mute);flex:1}
.svc__more{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-weight:700;font-size:14px;color:var(--link)}
@media(min-width:600px){.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(min-width:1024px){.services.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.services.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- quy trình ---------- */
.steps{display:grid;gap:0;max-width:760px;margin:0 auto;counter-reset:s}
.step{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 16px;padding:0 0 26px}
.step::before{content:"";position:absolute;left:23px;top:50px;bottom:0;width:2px;background:var(--line)}
.step:last-child::before{display:none}
.step:last-child{padding-bottom:0}
.step__num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;font-size:16px}
.step__title{padding-top:10px;font-size:18px}
.step__text{margin-top:6px;color:var(--mute);font-size:15.5px}
.step__text p{margin:0 0 .5em}.step__text p:last-child{margin:0}
.step__img{margin-top:12px}
.step__img img{border-radius:var(--r-sm)}
@media(min-width:1024px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:none}
  .steps.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .step{display:block;padding:0}
  .step::before{left:calc(50% + 32px);right:calc(-50% + 32px);top:23px;bottom:auto;width:auto;height:2px}
  .step__num{margin:0 auto 16px}
  .step__title,.step__text{text-align:center}
}
/* nhiều hơn 4 bước: xếp dọc kể cả máy tính */
@media(min-width:1024px){.steps.steps--long{grid-template-columns:minmax(0,1fr);max-width:760px}.steps--long .step{display:grid;padding-bottom:26px}.steps--long .step::before{left:23px;right:auto;top:50px;bottom:0;width:2px;height:auto}.steps--long .step__num{margin:0}.steps--long .step__title,.steps--long .step__text{text-align:left}}

/* ---------- bảng giá / bảng ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px}
.pricing table,.prose table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;font-size:15px}
.pricing th,.pricing td,.prose th,.prose td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.pricing thead th,.prose thead th{background:var(--ink);color:#fff;font-weight:700;border-bottom:0}
.pricing thead th:first-child,.prose thead th:first-child{border-top-left-radius:12px}
.pricing thead th:last-child,.prose thead th:last-child{border-top-right-radius:12px}
.pricing tbody th{font-weight:700;color:var(--ink);background:var(--soft)}
.pricing tbody tr:nth-child(even) td{background:#fbfcfe}
.pricing table{border:1px solid var(--line);border-radius:12px;overflow:hidden}

/* ---------- gói giá ---------- */
.plans{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.plan{display:flex;flex-direction:column;padding:26px 22px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:#fff}
.plan--hi{border-color:var(--ink);box-shadow:var(--sh-lg)}
.plan__title{font-size:19px}
.plan__price{margin-top:8px;font-size:28px;font-weight:800;color:var(--ink)}
.plan__list{display:grid;gap:10px;margin:18px 0 22px;flex:1}
.plan__list li{display:flex;gap:9px;font-size:15px}
.plan__list .ic{color:var(--ok);margin-top:3px}
@media(min-width:720px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.plans.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.plans.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- logo ---------- */
.logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.logos__it{display:flex;align-items:center;justify-content:center;height:84px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.logos__it img{max-height:48px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logos__it:hover img{filter:none;opacity:1}
@media(min-width:600px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.logos{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ---------- FAQ ---------- */
.faq{border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.faq__it{border-top:1px solid var(--line)}
.faq__it:first-child{border-top:0}
.faq__it summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;font-size:16px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none}
.faq__it summary::-webkit-details-marker{display:none}
.faq__it summary::marker{content:""}
.faq__it summary:hover{color:var(--link)}
.faq__chev{color:var(--mute);transition:transform .2s}
.faq__it[open] > summary .faq__chev{transform:rotate(180deg);color:var(--link)}
.faq__a{padding:0 18px 18px;color:var(--text)}

/* ---------- dải kêu gọi ---------- */
.cta{padding:48px 0}
.cta--dark{background:var(--ink);color:#c9d6e6}
.cta--soft{background:var(--soft)}
.cta--yellow{background:var(--cta);color:var(--ink)}
.cta__in{display:grid;gap:22px;align-items:center}
.cta__title{font-size:24px;font-size:clamp(24px,3vw,34px);line-height:1.2;font-weight:800;letter-spacing:-.015em}
.cta--dark .cta__title{color:#fff}
.cta__text{margin-top:10px;font-size:16.5px}
.cta--dark .cta__text{color:#b4c3d6}
@media(min-width:900px){.cta{padding:64px 0}.cta__in{grid-template-columns:minmax(0,1fr) auto;gap:40px}}

/* ---------- tab ---------- */
.tabs__list{display:flex;gap:8px;margin-bottom:22px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.tabs__list::-webkit-scrollbar{display:none}
.tabs__btn{flex:none;padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:14.5px;color:var(--text)}
.tabs__btn.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
@media(min-width:1024px){.tabs__list{justify-content:center}}

/* ---------- số liệu ---------- */
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px;border-radius:var(--r);background:var(--soft);text-align:center}
.sec--dark .stat{background:rgba(255,255,255,.06)}
.stat__ic img{width:40px;height:40px;object-fit:contain;margin-bottom:6px}
.stat__n{font-size:34px;font-size:clamp(34px,4vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
.sec--dark .stat__n{color:var(--cta)}
.stat__l{font-size:14.5px;color:var(--mute)}
.sec--dark .stat__l{color:#b4c3d6}
@media(min-width:900px){.stats.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- nhận xét ---------- */
.quotes{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.quote{position:relative;display:flex;flex-direction:column;padding:26px 22px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff}
.quote__ic{color:var(--cta);margin-bottom:10px}
.quote__text{flex:1;font-size:16px;line-height:1.6;color:var(--text)}
.quote__by{display:flex;align-items:center;gap:12px;margin-top:18px}
.quote__av{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover}
.quote__by b{display:block;color:var(--ink)}
.quote__by small{color:var(--mute);font-size:13px}
@media(min-width:900px){.quotes.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.quotes.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- kết quả ---------- */
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.results li{display:flex;flex-direction:column;padding:14px 12px;border-radius:var(--r-sm);background:var(--soft);text-align:center}
.results__n{font-size:26px;font-weight:800;color:var(--ink)}
.results__l{font-size:13px;color:var(--mute)}

/* ---------- bộ sưu tập ---------- */
.gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.gallery__it img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--sh)}
@media(min-width:600px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gallery.cols-1{grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.gallery.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery.cols-1{grid-template-columns:minmax(0,1fr)}}

/* ---------- đội ngũ ---------- */
.team__h{margin:0 0 16px;font-size:18px;text-align:center}
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}
.member{text-align:center}
.member__img img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
.member__name{margin-top:10px;font-weight:700;color:var(--ink)}
.member__role{font-size:13.5px;color:var(--mute)}
@media(min-width:900px){.team{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- video ---------- */
.video{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-lg);background:#000;cursor:pointer}
.video__poster{width:100%;height:100%;object-fit:cover;opacity:.85}
.video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--cta);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.video.is-playing .video__poster,.video.is-playing .video__play{display:none}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video--embed{cursor:auto;background-color:#000;background-size:cover;background-position:center}

/* ---------- khối liên hệ ---------- */
.contact{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
/* ảnh khối liên hệ: lưới 6 phần; ảnh ngang (ảnh ghép) chiếm cả hàng, giữ tỉ lệ; ảnh còn lại chia đều */
.contact__imgs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense;gap:10px;margin:8px 0 20px}
.contact__img{grid-column:span 2}
.contact__img.span-3{grid-column:span 3}
.contact__img.span-6{grid-column:span 6}
.contact__img img{display:block;width:100%;height:auto;border-radius:var(--r-sm)}
/* ảnh vuông / 4:3 cắt giữa; ảnh ngang không đặt aspect-ratio để trình duyệt dùng tỉ lệ width/height của thẻ img
   (aspect-ratio:auto sẽ lấy chiều cao giữ chỗ 1500px mà WordPress gắn cho ảnh lazy sizes=auto) */
.contact__img:not(.is-wide) img{aspect-ratio:1;object-fit:cover}
.contact__img.span-3:not(.is-wide) img{aspect-ratio:4/3}
.contact__lines{display:grid;gap:2px}
.contact__lines a{display:inline-flex;align-items:center;min-height:44px}
.contact__lines li{display:flex;align-items:center;gap:10px;font-weight:600}
.contact__lines .ic{color:var(--link)}
.contact__form{padding:24px 20px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh)}
@media(min-width:768px){.contact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start}}
@media(min-width:900px){.contact{gap:56px}.contact__form{padding:32px}}

/* form Contact Form 7 */
.wpcf7 form{display:grid;gap:12px}
.wpcf7 p{margin:0}
.wpcf7 label{display:block;font-size:13.5px;font-weight:700;color:var(--ink)}
.wpcf7-form-control-wrap{display:block;margin-top:5px}
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7 textarea,.wpcf7 select{width:100%;min-height:48px;padding:11px 14px;border:1.5px solid #cbd5e1;border-radius:var(--r-sm);background:#fff;transition:border-color .15s,box-shadow .15s}
.wpcf7 textarea{min-height:120px}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:0;border-color:var(--link);box-shadow:0 0 0 3px rgba(11,92,173,.15)}
.wpcf7 input[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 24px;border:0;border-radius:var(--r-sm);background:var(--cta);color:var(--ink);font-weight:700;font-size:15.5px;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--cta-h)}
.wpcf7-spinner{margin:0 8px}
.wpcf7 .form-container .wpcf7-form-control-wrap{margin-top:0}
.wpcf7 .form-container .wpcf7-form-control-wrap ~ .wpcf7-form-control-wrap{margin-top:10px}
.wpcf7 .form-container > * + *{margin-top:10px}
.wpcf7 .form-container > :has(.wpcf7-submit){margin-top:14px}
.wpcf7 p:has(> .wpcf7-submit){position:relative}
.wpcf7 .wpcf7-submit ~ .wpcf7-spinner{position:absolute;right:14px;top:50%;margin:-12px 0 0}
.wpcf7 select{-webkit-appearance:none;appearance:none;min-height:50px;padding-left:14px;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;color:var(--text)}
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]){min-height:50px}
.wpcf7 form .wpcf7-response-output{margin:0;padding:10px 14px;border-radius:var(--r-sm);border:1.5px solid var(--line)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--ok);background:var(--ok-s);color:var(--ok)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#f0b4ae;background:#fdf0ee;color:#b42318}
.wpcf7-not-valid-tip{font-size:13px;color:#b42318}
.wpcf7 br{display:none}

/* ---------- bài viết: thẻ ---------- */
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.card{display:flex;flex-direction:column;border-radius:var(--r);background:#fff;overflow:hidden;border:1.5px solid var(--line);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.card__media{display:block;aspect-ratio:1200/628;overflow:hidden;background:var(--soft)}
/* bài không có ảnh bìa: khối nền navy cùng tỉ lệ để hàng thẻ đều nhau */
.card__media--ph{position:relative;background:linear-gradient(135deg,var(--ink) 0%,#1d3b66 100%)}
.card__media--ph::after{content:"the7";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;letter-spacing:-.02em;color:rgba(255,255,255,.22)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card__cat{display:inline-block;padding:10px 0;margin:-10px 0}
/* ảnh bìa dọc / vuông (ảnh chụp màn hình): hiện trọn ảnh trong khung 1,91:1 thay vì cắt và phóng to */
.card__media--fit img{object-fit:contain;background:#fff}
.card:hover .card__media img{transform:scale(1.03)}
.card__body{display:flex;flex-direction:column;flex:1;padding:18px 18px 20px}
.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;font-size:13px;color:var(--mute)}
.card__cat{font-weight:700;color:var(--link);text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.card__title{font-size:18px;line-height:1.3}
.card__title a{color:var(--ink)}
.card__title a:hover{color:var(--link);text-decoration:none}
.card__excerpt{margin-top:10px;font-size:15px;color:var(--mute);flex:1}
.card__more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;color:var(--link)}
.card--wide{border:0;background:transparent}
.card--wide:hover{box-shadow:none;transform:none}
.card--wide .card__media{border-radius:var(--r-lg);aspect-ratio:1200/628}
.card--wide .card__body{padding:20px 0 0}
.card--wide .card__title{font-size:24px;font-size:clamp(24px,3vw,34px)}
.card--wide .card__excerpt{font-size:16.5px}
.card--row{flex-direction:row;align-items:center;gap:14px;border:0;padding:0}
.card--row:hover{box-shadow:none;transform:none}
.card--row .card__media{width:110px;flex:none;aspect-ratio:1;border-radius:var(--r-sm)}
.card--row .card__body{padding:0}
.card--row .card__title{font-size:15.5px}
.card--mini{border:0;padding:0}
.card--mini .card__body{padding:0}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}
@media(min-width:1024px){
  .cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .card--wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
  .card--wide .card__body{padding:0}
}
.featured{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}

/* ---------- danh sách bài ---------- */
.list-hero{padding:24px 0 20px;background:linear-gradient(180deg,#f7f9fc,#fff)}
.list-title{font-size:30px;font-size:clamp(30px,4.5vw,46px);line-height:1.12}
.list-q{color:var(--link)}
.list-desc{max-width:720px;margin-top:12px;color:var(--mute);font-size:16.5px}
.list-search{display:flex;max-width:520px;margin-top:22px;border:1.5px solid #cbd5e1;border-radius:999px;background:#fff;overflow:hidden}
.list-search input{flex:1;min-width:0;padding:12px 18px;border:0;outline:0;background:transparent;font-size:15.5px}
.list-search button{display:flex;align-items:center;justify-content:center;width:52px;color:var(--ink)}
.list-search--center{margin:22px auto 0}
.cat-nav{position:sticky;top:var(--hh);z-index:20;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cat-nav__list{display:flex;gap:8px;padding:10px 0;overflow-x:auto;scrollbar-width:none}
.cat-nav__list::-webkit-scrollbar{display:none}
.cat-nav__list--sub{padding-top:0}
.chip{display:inline-flex;align-items:center;flex:none;min-height:40px;padding:7px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-size:13.5px;font-weight:700;color:var(--ink)!important;text-decoration:none!important;white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff!important}
.chip--sub{font-weight:600;background:var(--soft)}
.chip--sub.is-active{background:var(--link);border-color:var(--link)}
.sec--list{padding-top:36px}
.empty{display:flex;align-items:center;gap:8px;padding:18px;border-radius:var(--r);background:var(--soft)}

/* phân trang */
.pager{margin-top:40px}
.pager .page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.pager .page-numbers li{display:inline-flex}
.pager a.page-numbers,.pager span.page-numbers{display:inline-flex;align-items:center;gap:4px;min-width:42px;height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;justify-content:center;font-weight:700;color:var(--ink);text-decoration:none!important}
.pager a.page-numbers:hover{border-color:var(--ink)}
.pager span.page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.pager .page-numbers.dots{border:0}
.pager .prev,.pager .next{padding:0 14px}

/* ---------- bài viết đơn ---------- */
.post-hero{padding:24px 0 8px}
.post-cat{display:inline-block;margin-bottom:12px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.post-title{font-size:28px;font-size:clamp(28px,4.4vw,44px);line-height:1.15}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:16px;font-size:14px;color:var(--mute)}
.post-meta__it,.post-meta__author{display:inline-flex;align-items:center;gap:6px}
.post-meta__author{color:var(--ink);font-weight:700}
.post-thumb{margin:20px 0 8px}
.post-thumb img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border-radius:var(--r-lg)}
.post-body{padding-top:16px}
.post-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.post-tags{display:flex;flex-wrap:wrap;gap:8px}
.share{display:flex;align-items:center;gap:8px}
.share__lb{font-size:13.5px;font-weight:700;color:var(--mute);margin-right:4px}
.share__a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--line);border-radius:50%;color:var(--ink)!important}
.share__a:hover{border-color:var(--ink)}
.share__copy.is-done{background:var(--ok-s);border-color:var(--ok);color:var(--ok)!important}
.author{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:36px;padding:24px;border-radius:var(--r-lg);background:var(--soft)}
.author__img img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:top}
.author__name{font-size:19px}
.author__name small{display:block;margin-top:2px;font-size:13.5px;font-weight:600;color:var(--mute)}
.author__bio{margin-top:10px;font-size:15px;color:var(--text)}
.author__social{display:flex;gap:8px;margin-top:14px}
.author__social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--ink)!important}
@media(min-width:640px){.author{grid-template-columns:112px minmax(0,1fr);gap:22px;padding:28px}.author__img img{width:112px;height:112px}}
.sec--related{margin-top:48px}

/* ---------- trang nội dung thường ---------- */
.page-hero{padding:24px 0 8px;background:linear-gradient(180deg,#f7f9fc,#fff)}
.page-title{font-size:30px;font-size:clamp(30px,4.6vw,46px);line-height:1.12}
.page-sub{margin-top:12px;font-size:17px;color:var(--mute)}
.page-body{padding-top:20px;padding-bottom:56px}
.page-thumb{margin:0 0 24px}
.page-thumb img{border-radius:var(--r-lg)}
.twocol{display:grid;gap:24px}
@media(min-width:900px){.twocol{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}}

/* ---------- nội dung soạn thảo ---------- */
.prose{font-size:17px;line-height:1.75;color:var(--text);overflow-wrap:anywhere}
.prose > *:first-child{margin-top:0}
.prose p{margin:0 0 1.1em}
.prose h2,.prose h3,.prose h4,.prose h5{margin:1.7em 0 .6em;line-height:1.25;scroll-margin-top:calc(var(--hh) + 16px)}
.prose h2{font-size:24px;font-size:clamp(24px,2.8vw,30px)}
.prose h3{font-size:20px;font-size:clamp(20px,2.2vw,24px)}
.prose h4{font-size:18px}
.prose h5,.prose h6{font-size:16px}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:.35em 0}
.prose li > ul,.prose li > ol{margin:.3em 0 .3em}
.prose a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{color:var(--ink)}
.prose strong,.prose b{color:var(--ink)}
.prose img{height:auto;border-radius:var(--r);margin:.4em 0}
.prose figure{margin:1.4em 0}
.prose figure img{display:block;margin:0 auto}
.prose figcaption,.prose .wp-caption-text{margin-top:8px;font-size:13.5px;color:var(--mute);text-align:center}
.prose .wp-caption{max-width:100%}
.prose .aligncenter{display:block;margin-left:auto;margin-right:auto}
.prose .alignleft{float:left;margin:.3em 1.2em .8em 0;max-width:48%}
.prose .alignright{float:right;margin:.3em 0 .8em 1.2em;max-width:48%}
.prose blockquote{margin:1.4em 0;padding:16px 20px;border-left:4px solid var(--cta);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--soft);font-style:italic}
.prose blockquote p:last-child{margin:0}
.prose hr{margin:2em 0;border:0;border-top:1px solid var(--line)}
.prose table{min-width:0;margin:0;font-size:15px}
/* bảng dán từ trình soạn thảo cũ: bỏ width/height cố định (vd. cột 105%) và viền xám mặc định của table[border] */
.prose table{width:100%!important;height:auto!important;border-collapse:collapse;border:1px solid var(--line)}
.prose tr,.prose td,.prose th{width:auto!important;height:auto!important}
.prose td,.prose th{border:1px solid var(--line)}
.prose thead th:first-child,.prose thead th:last-child{border-radius:0}
.prose .table-scroll{margin:1.2em 0}
.prose pre{padding:14px;border-radius:var(--r-sm);background:#0f172a;color:#e2e8f0;overflow:auto;font-size:14px}
.prose code{font-size:.92em;padding:2px 5px;border-radius:4px;background:var(--soft)}
.prose pre code{padding:0;background:none}
.prose iframe{display:block;width:100%;max-width:100%;border-radius:var(--r);margin:1.2em 0}
.prose iframe[src*="youtube"],.prose iframe[src*="youtu.be"],.prose iframe[src*="vimeo"]{aspect-ratio:16/9;height:auto}
.prose .responsive-youtube{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--r);margin:1.2em 0}
.prose .responsive-youtube iframe{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;border-radius:0}
.prose .wp-block-embed__wrapper{position:relative}
.prose .wp-block-buttons .wp-block-button__link{display:inline-flex;align-items:center;min-height:46px;padding:10px 22px;border-radius:var(--r-sm);background:var(--cta);color:var(--ink);font-weight:700;text-decoration:none}
.prose .bang-gia td{border:1px solid var(--line);text-align:center}
@media(max-width:600px){.prose .alignleft,.prose .alignright{float:none;margin:.4em auto;max-width:100%;display:block}}

/* Easy Table of Contents */
.prose #ez-toc-container,.prose .ez-toc-v2_0_85,.prose div[class^="ez-toc-v"]{width:100%!important;max-width:100%!important;margin:1.4em 0!important;padding:16px 18px!important;border:1.5px solid var(--line)!important;border-radius:var(--r)!important;background:var(--soft)!important;box-shadow:none!important;font-size:15px}
.prose #ez-toc-container p.ez-toc-title,.prose .ez-toc-title-container{font-weight:800!important;color:var(--ink)!important;font-size:15px!important}
.prose #ez-toc-container nav ul,.prose #ez-toc-container ul{list-style:none!important;padding-left:0!important;margin:.4em 0 0!important}
.prose #ez-toc-container nav ul li{margin:.3em 0}
.prose #ez-toc-container nav ul ul{padding-left:1.1em!important}
.prose #ez-toc-container a{text-decoration:none!important;color:var(--ink)!important}
.prose #ez-toc-container a:hover{color:var(--link)!important}
.prose #ez-toc-container .ez-toc-title-toggle{top:0}
.prose #ez-toc-container .ez-toc-title-container{display:flex;align-items:center;justify-content:space-between;gap:12px}
.prose #ez-toc-container .ez-toc-title{margin:0}
.prose #ez-toc-container .ez-toc-title-toggle .ez-toc-btn,.prose #ez-toc-container .ez-toc-title-toggle a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}

/* FAQ của mu-plugin [the7_faq] */
.prose .the7-faq details,.prose details.the7-faq__item{margin:.6em 0;padding:4px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff}
.prose details summary{cursor:pointer;font-weight:700;color:var(--ink);padding:8px 0}

/* ---------- footer ---------- */
.site-footer{margin-top:auto;padding:48px 0 24px;background:var(--ink);color:#b4c3d6;font-size:14.5px;border-top:1px solid rgba(255,255,255,.08)}
.footer__txt li{color:#dbe5f1}
@media(max-width:719px){.site-footer .footer__col--2 .footer__txt a,.site-footer .footer__col--3 .footer__txt a{padding:8px 0}}
.site-footer a{color:#dbe5f1}
.site-footer a:hover{color:#fff}
.footer__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.footer__h{margin:0 0 14px;font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.footer__row{margin-bottom:10px;line-height:1.55}
.footer__row--icon{display:flex;gap:10px;align-items:flex-start}
.footer__ic{flex:none;width:20px;height:20px;margin-top:3px;color:var(--cta)}
.footer__ic svg{width:20px;height:20px;fill:currentColor}
.footer__txt p{margin:0 0 .4em}.footer__txt p:last-child{margin:0}
.footer__txt img{max-height:44px;width:auto;display:inline-block;margin:6px 8px 0 0;vertical-align:middle}
.footer__txt .flex{display:flex;flex-wrap:wrap;gap:10px}
.footer__txt .flex img{width:32px!important;height:32px!important;margin:0;border-radius:8px;background:#fff;padding:5px}
.footer__txt iframe{width:100%;max-width:100%;height:220px;border:0;border-radius:var(--r-sm)}
.footer__col--2 .footer__txt p,.footer__col--3 .footer__txt p{margin:0 0 6px}
/* danh sách link ở chân trang: đều khoảng cách, vùng chạm cao hơn trên điện thoại */
.footer__txt ul{margin:0;padding:0;list-style:none}
.footer__txt li{margin:0 0 6px}
.footer__col--2 .footer__row,.footer__col--3 .footer__row{margin-bottom:6px}
.footer__col--2 .footer__txt a,.footer__col--3 .footer__txt a{display:inline-block;padding:3px 0}
/* tiêu đề phụ nhập trong nội dung cột (vd. "GIỚI THIỆU", lớp Tailwind cũ "uppercase font-bold"): cùng kiểu tiêu đề cột */
.footer__txt p.uppercase,.footer__txt .font-bold.uppercase{margin:22px 0 12px;padding:0;font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.footer__txt p:empty,.footer__txt p.uppercase + p:empty{display:none}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;color:#8fa3bb}
.footer__top{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff!important}
@media(min-width:720px){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.site-footer{padding:72px 0 28px}.footer__grid{grid-template-columns:1.3fr .9fr .9fr 1fr;gap:40px}}

/* ---------- popup liên hệ ---------- */
.popup{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center}
.popup[hidden]{display:none}
.popup__overlay{position:absolute;inset:0;background:rgba(11,31,58,.6)}
.popup__box{position:relative;width:100%;max-height:92vh;overflow-y:auto;padding:28px 20px 24px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:#fff;box-shadow:var(--sh-lg)}
.popup__close{position:absolute;right:10px;top:10px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--ink)}
.popup__close:hover{background:var(--soft)}
.popup__title{font-size:22px;padding-right:40px;font-weight:800;letter-spacing:-.015em;line-height:1.25;color:var(--ink)}
.popup__sub{margin-top:6px;color:var(--mute);font-size:15px}
.popup__form{margin-top:18px}
@media(min-width:640px){.popup{align-items:center;padding:20px}.popup__box{max-width:620px;border-radius:var(--r-lg);padding:32px 32px 28px}}

/* ---------- trang chủ ---------- */
.hero-home{position:relative;overflow:hidden;background:var(--ink);color:#c9d6e6}
.hero-home__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;padding:36px 0 0}
.hero-home__title{font-size:32px;font-size:clamp(32px,5.6vw,56px);line-height:1.08;letter-spacing:-.025em;color:#fff}
.hero-home__title span{color:var(--cta)}
.hero-home__sub{margin-top:16px;font-size:17px;font-size:clamp(17px,1.9vw,20px);color:#c9d6e6;max-width:560px}
.hero-home__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-home__media{position:relative;margin:0 calc(var(--gut) * -1);}
.hero-home__media img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;object-position:center top}
.hero-home__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px 0 32px;border-top:1px solid rgba(255,255,255,.12)}
.hero-home__stats li{display:flex;flex-direction:column}
.hero-home__stats b{font-size:28px;font-weight:800;color:#fff;line-height:1.1}
.hero-home__stats span{font-size:13.5px;color:#b4c3d6}
@media(min-width:1024px){
  .hero-home__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;padding:48px 0 0;min-height:520px}
  .hero-home__media{margin:0;align-self:end}
  .hero-home__media img{max-height:560px;border-radius:var(--r-lg) var(--r-lg) 0 0}
  .hero-home__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:28px 0 40px}
}

/* ---------- tiện ích ---------- */
.cols-2,.cols-3,.cols-4{}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:700;color:var(--ink)}
.sr-only{position:absolute!important}
@media print{.site-header,.site-footer,.popup,.cat-nav,.share,.cta{display:none!important}}

/* ---------- logo khách hàng chạy ngang (dùng chung) ---------- */
.sec--logos{overflow:hidden}
.marquee-wrap{display:grid;gap:14px}
.marquee{overflow-x:auto;scrollbar-width:none;padding:0 var(--gut)}
.marquee::-webkit-scrollbar{display:none}
.marquee__track{display:flex;gap:14px;width:max-content}
.marquee .logos__it{width:150px;height:76px;flex:none}
.marquee.is-anim{overflow:hidden;padding:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee.is-anim .marquee__track{padding-right:14px;animation:the7c-marquee 52s linear infinite}
.marquee.is-anim.marquee--rev .marquee__track{animation-direction:reverse}
.marquee.is-anim:hover .marquee__track{animation-play-state:paused}
@keyframes the7c-marquee{to{transform:translateX(-50%)}}
.sec--logos .sec__head{margin-bottom:28px}

/* ---------- trang chủ: quy trình có ảnh ---------- */
.wf{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;counter-reset:wf}
.wf__it{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.wf__img{aspect-ratio:16/10;aspect-ratio:var(--wf-ratio,16/10);overflow:hidden;background:var(--soft)}
.wf__img img{width:100%;height:100%;object-fit:cover}
.wf__body{padding:18px 18px 22px}
.wf__step{display:inline-block;margin-bottom:8px;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--link)}
.wf__title{font-size:18px}
.wf__text{margin-top:8px;font-size:15px;color:var(--mute)}
.wf__text p{margin:0 0 .5em}.wf__text p:last-child{margin:0}
@media(min-width:640px){.wf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.wf{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}

/* ---------- trang chủ: ngành hàng ---------- */
.niches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.niche{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:128px;padding:18px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;text-align:center;transition:box-shadow .2s,border-color .2s,transform .2s}
.niche:hover{border-color:var(--ink);box-shadow:var(--sh);transform:translateY(-2px)}
.niche__ic{display:flex;align-items:center;justify-content:center;height:48px}
.niche__ic img{max-height:44px;width:auto;object-fit:contain}
.niche__name{font-weight:700;color:var(--ink);font-size:15.5px;line-height:1.3}
.niche__hint{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--link)}
@media(min-width:640px){.niches{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:1024px){.niches{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ---------- sửa nhỏ sau khi xem trên điện thoại ---------- */
.hero-home .btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.45)}
.hero-home .btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.hero-home__stats b{font-size:26px;letter-spacing:-.02em;white-space:nowrap}
.hero-home .eyebrow{color:var(--cta)}
.footer__h{display:block}
/* logo gốc màu trắng (dùng trên nền tối của theme cũ) → đổi sang tối trên header trắng, giống cách theme cũ làm khi cuộn */
.site-header .brand__img{filter:grayscale(.95) invert(.95)}

/* ---------- bổ sung: bước theo cột, ảnh dọc, câu hỏi FAQ là H3 ---------- */
.faq__q{margin:0;font-size:16px;font-weight:700;color:inherit;line-height:1.35}
@media(min-width:1024px){
  .steps.cols-3 .step:nth-child(3n)::before,.steps.cols-4 .step:nth-child(4n)::before{display:none}
  .steps.cols-3 .step:nth-child(n+4),.steps.cols-4 .step:nth-child(n+5){margin-top:12px}
}
.media--portrait .media__img img{max-height:520px;width:auto;max-width:100%;margin:0 auto;display:block;object-fit:contain;box-shadow:none}
/* khối chữ không ảnh: một cột hẹp, chữ căn trái cho dễ đọc */
.media--single{max-width:740px;margin:0 auto}
.wf.cols-4{}
@media(min-width:1024px){.wf.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.wf.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cta--yellow .cta__title{color:var(--ink)}
.cta--yellow .btn--dark{background:var(--ink);color:#fff!important}

/* icon dịch vụ/lợi ích là PNG trắng hoặc vàng (vẽ cho nền vàng cũ) → đặt trên nền navy cho rõ */
.svc__ic,.feature__ic{background:var(--ink)}
.feature__ic--svg{color:var(--cta)}
.svc__ic img,.feature__ic img{filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}


/* ==========================================================================
   Điện thoại: thẻ vuốt ngang (rail), thẻ dịch vụ/lợi ích gọn dạng danh sách
   ========================================================================== */
@media(max-width:639px){
  .rail-m{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:4px var(--gut) 16px;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rail-m::-webkit-scrollbar{display:none}
  .rail-m > *{flex:0 0 84%;max-width:84%;scroll-snap-align:start}
  .rail-m > .card:hover,.rail-m > .wf__it:hover{transform:none}
  .svc{display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 14px;align-items:start;padding:16px}
  .svc__ic{grid-row:1/span 3;width:52px;height:52px;margin:0;border-radius:13px}
  .svc__ic img{width:32px;height:32px}
  .svc__title,.svc__text,.svc__more{grid-column:2}
  .svc__title{font-size:16.5px}
  .svc__text{margin-top:4px;font-size:14.5px}
  .svc__more{margin-top:8px}
  .features:not(.features--plain) .feature{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 14px;align-items:start;padding:16px}
  .features:not(.features--plain) .feature__ic{grid-row:1/span 3;width:48px;height:48px;margin:0;border-radius:12px}
  .features:not(.features--plain) .feature__ic img{width:30px;height:30px}
  .features:not(.features--plain) .feature__title,.features:not(.features--plain) .feature__text,.features:not(.features--plain) .feature__link{grid-column:2}
  .feature__title{font-size:16.5px}
  .feature__text{margin-top:4px;font-size:14.5px}
  .sec__title{font-size:24px}
  .sec__lead{font-size:16px}
}

/* ---------- hero dịch vụ có ảnh nền banner ---------- */
.hero--bg{position:relative;overflow:hidden;background:var(--ink);padding:24px 0 56px}
.hero__bgwrap{position:absolute;inset:0;z-index:0}
.hero__bgwrap img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero--bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,31,58,.82) 0%,rgba(11,31,58,.92) 100%)}
.hero--bg > .wrap{position:relative;z-index:2}
.hero--bg .hero__grid{grid-template-columns:minmax(0,1fr)}
.hero--bg .hero__copy{max-width:760px}
.hero--bg .hero__title{color:#fff}
.hero--bg .hero__sub{color:#e6edf6}
.hero--bg .crumbs,.hero--bg .crumbs a,.hero--bg .crumbs .last{color:#c9d6e6}
@media(min-width:1024px){
  .hero--bg{padding:36px 0 96px;min-height:440px}
  .hero--bg::after{background:linear-gradient(90deg,rgba(11,31,58,.95) 0%,rgba(11,31,58,.86) 45%,rgba(11,31,58,.45) 100%)}
}

/* ---------- header máy tính: thu gọn ở màn 1200–1365 ---------- */
@media(min-width:1200px) and (max-width:1365px){
  .menu > li > .menu__link,.menu > li > .menu__parent{padding:10px 9px;font-size:14px}
  .menu li.menu-item-has-children > .menu__link{padding-right:24px}
  .menu > li > .menu__toggle{width:22px}
  .header__cta{padding:9px 14px;font-size:13.5px}
}
@media(min-width:1200px){.menu > li.menu-item-has-children > .menu__parent{padding-right:12px;gap:4px}.menu > li > .menu__toggle{color:var(--ink)}}
@media(min-width:1200px) and (max-width:1365px){.menu > li.menu-item-has-children > .menu__parent{padding-right:9px}}
.header__bar,.nav{min-width:0}


/* ---------- danh sách hạng mục có dấu tích ---------- */
.checks{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:980px;margin:0 auto}
.checks li{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:15.5px;line-height:1.5}
.checks__ic{flex:none;width:24px;height:24px;padding:3px;margin-top:-1px;border-radius:50%;background:var(--ok-s);color:var(--ok)}
.sec--alt .checks li{background:#fff}
@media(min-width:720px){.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* ---------- khối chữ dài thu gọn ---------- */
.expand__body{position:relative}
html.js .expand:not(.is-open) .expand__body{max-height:420px;overflow:hidden}
html.js .expand:not(.is-open) .expand__body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
html.js .sec--alt .expand:not(.is-open) .expand__body::after{background:linear-gradient(180deg,rgba(244,246,250,0),var(--soft))}
.expand__btn{display:none;margin-top:14px}
html.js .expand__btn{display:inline-flex}
.expand__chev{transition:transform .2s}
.expand.is-open .expand__chev{transform:rotate(180deg)}
.tabs__btn{cursor:pointer}

@media(max-width:639px){.pager{overflow-x:auto;scrollbar-width:none;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:0 var(--gut)}.pager::-webkit-scrollbar{display:none}.pager .page-numbers{flex-wrap:nowrap;justify-content:flex-start;width:max-content;margin:0 auto}}

/* nút CTA header một dòng; ẩn nút liên hệ nổi (plugin) khi mở menu/popup để không che nội dung */
.header__cta{white-space:nowrap}
body.nav-open #button-contact-vr,body.popup-open #button-contact-vr{display:none!important}

/* mu-plugin the7-geo-i18n (8c) đặt filter lên #header ở trang thường cho theme cũ: filter làm ngăn kéo menu (position:fixed) bị kẹp trong header. Tắt đi. */
body.the7-plain-page #header.site-header{filter:none!important;background-color:#fff}

/* Chuyển từ "CSS bổ sung" của theme cũ (CSS bổ sung lưu riêng theo từng theme, không tự sang theme mới): ẩn nút liên hệ nổi trên 2 trang landing YouTube (29072) và LinkedIn (29101) */
.page-id-29072 #button-contact-vr,.page-id-29101 #button-contact-vr{display:none!important}

/* ---------- tinh chỉnh sau rà giao diện (07/11/2026) ---------- */
.prose.feature__text{font-size:15px;line-height:1.65;color:var(--mute)}
.prose.step__text{font-size:15.5px;line-height:1.65;color:var(--mute)}
@media(max-width:639px){.prose.feature__text{font-size:14.5px}}
[id]{scroll-margin-top:calc(var(--hh) + 12px)}
.hero__title,.sec__title,.media__title,.cta__title,.faq__q{text-wrap:pretty}
.prose li > p{margin:0}
.prose li > p + p{margin-top:.5em}
/* bảng trong bài: giữ nguyên từ, cuộn ngang trong khung (overflow-wrap:anywhere của .prose làm chữ vỡ từng ký tự trên điện thoại) */
.prose :is(td,th){overflow-wrap:break-word;word-break:normal}
.prose .table-scroll{background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left center/28px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right center/28px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(11,31,58,.18),rgba(11,31,58,0)) left center/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(11,31,58,.18),rgba(11,31,58,0)) right center/12px 100% no-repeat scroll}
/* nút liên hệ nổi (plugin) gọn hơn trên điện thoại để ít che chữ; nút lên đầu trang không nằm dưới cột nút nổi */
@media(max-width:639px){#button-contact-vr{transform:scale(.8);transform-origin:right bottom}}
.footer__bottom{padding-right:64px}
@media(min-width:640px){.footer__bottom{padding-right:104px}}
/* cờ ngôn ngữ: ảnh PNG 16x11 của Polylang bị phóng to vào vòng tròn nên mờ → vẽ cờ bằng SVG (giữ ảnh gốc trong HTML, chỉ ẩn đi) */
.the7-ls-flag:has(img[src$="/vn.png"]){background:#da251d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Crect width='26' height='26' fill='%23da251d'/%3E%3Cpolygon fill='%23ff0' points='13,6 14.76,11.42 20.47,11.42 15.85,14.77 17.61,20.19 13,16.84 8.39,20.19 10.15,14.77 5.53,11.42 11.24,11.42'/%3E%3C/svg%3E") center/cover no-repeat}
.the7-ls-flag:has(img[src$="/us.png"]){background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Crect width='26' height='26' fill='%23fff'/%3E%3Cg fill='%23b22234'%3E%3Crect y='0' width='26' height='2'/%3E%3Crect y='4' width='26' height='2'/%3E%3Crect y='8' width='26' height='2'/%3E%3Crect y='12' width='26' height='2'/%3E%3Crect y='16' width='26' height='2'/%3E%3Crect y='20' width='26' height='2'/%3E%3Crect y='24' width='26' height='2'/%3E%3C/g%3E%3Crect width='13' height='14' fill='%233c3b6e'/%3E%3Cg fill='%23fff'%3E%3Ccircle cx='3' cy='3' r='.9'/%3E%3Ccircle cx='7' cy='3' r='.9'/%3E%3Ccircle cx='11' cy='3' r='.9'/%3E%3Ccircle cx='5' cy='7' r='.9'/%3E%3Ccircle cx='9' cy='7' r='.9'/%3E%3Ccircle cx='3' cy='11' r='.9'/%3E%3Ccircle cx='7' cy='11' r='.9'/%3E%3Ccircle cx='11' cy='11' r='.9'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat}
.the7-ls-flag:has(img[src$="/vn.png"]) img,.the7-ls-flag:has(img[src$="/us.png"]) img{opacity:0}

/* ===== blog-misc.css ===== */
/* ==========================================================================
   Nhóm "blog-misc": danh sách bài (Blog / chuyên mục / tìm kiếm), bài viết, trang thường (page.php, Simple), 404.
   Mọi bộ chọn nằm trong .t-blog-misc-*. Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* ---------- Thanh chuyên mục (2 hàng chip) ----------
   Điện thoại: không dính dưới header (2 hàng chip dính sẽ che ~1/4 màn hình); máy tính: dính như thiết kế chung. */
.t-blog-misc-catnav{position:static}
/* Vùng bấm tối thiểu 40px trên điện thoại (chip chung cao 36px) */
.t-blog-misc-catnav .chip{min-height:40px}
.t-blog-misc-catnav .t-blog-misc-chip--deep{font-weight:500;font-size:13px}
.t-blog-misc-catnav .t-blog-misc-chip--deep::before{content:"\00B7";margin-right:6px;color:var(--mute)}
.t-blog-misc-catnav .t-blog-misc-chip--deep.is-active::before{color:#fff}
@media(min-width:1024px){.t-blog-misc-catnav{position:sticky}}

/* ---------- Thẻ bài: danh sách + "Bài viết liên quan" ----------
   Ảnh đại diện bài viết phần lớn là 1.91:1 (800×418, 773×404, 2416×1263…: ~3/4 số bài) và có chữ in trên ảnh — khung chung
   16:10 / 16:9 cắt mất chữ ở hai mép → khung 1.91:1 cho thẻ thường, thẻ nổi bật và thẻ bài liên quan. */
.t-blog-misc-list .card__media,.t-blog-misc-list .card--wide .card__media,.t-blog-misc-related .card__media{aspect-ratio:191/100}

/* Thẻ nổi bật: "Đọc bài" là link thật (theme cũ: nút "Xem thêm") — vùng bấm 40px */
.t-blog-misc-more{min-height:40px;margin-top:8px!important;text-decoration:none!important}
.t-blog-misc-more:hover{color:var(--ink)}
/* Link chuyên mục chữ nhỏ (12px) trên thẻ và đầu bài: nới vùng bấm lên ~40px mà không đổi bố cục */
:is(.t-blog-misc-list,.t-blog-misc-related) .card__cat,.t-blog-misc-post .post-cat,.t-blog-misc-post .post-meta__author{padding-top:12px;padding-bottom:12px;margin-top:-12px;margin-bottom:-12px}
.t-blog-misc-post .post-cat{margin-bottom:0}

/* Thẻ lẻ một mình ở hàng cuối (vd. 10 kết quả tìm kiếm trong lưới 3 cột, 9 thẻ trong lưới 2 cột): đặt giữa hàng */
@media(min-width:640px) and (max-width:1023px){
  .t-blog-misc-list .cards > .card:nth-child(2n+1):last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 11px)}
}
@media(min-width:1024px){
  .t-blog-misc-list .cards.cols-3 > .card:nth-child(3n+1):last-child{grid-column:2}
}

/* Phân trang: theme.css cho hàng cuộn ngang trên điện thoại → số trang cuối và nút "Sau" bị cắt ngoài mép. Cho xuống dòng, canh giữa. */
.t-blog-misc-list .pager{overflow:visible;margin-left:0;margin-right:0;padding:0}
.t-blog-misc-list .pager ul.page-numbers{flex-wrap:wrap;justify-content:center;width:auto;margin:0}

/* ---------- Cột đọc: bài viết + trang nội dung thường ----------
   Máy tính: cột chữ 796px, chữ 17px ≈ 100 ký tự/dòng → cột 680px, chữ 18px (≈ 75–80 ký tự/dòng). Tiêu đề, ảnh đại diện, nội dung,
   chia sẻ, hộp tác giả cùng một cột. Điện thoại giữ 17px. */
.t-blog-misc-post .wrap--read,.t-blog-misc-article .wrap--narrow{max-width:calc(680px + 2 * var(--gut))}
@media(min-width:768px){
  .t-blog-misc-post .prose,.t-blog-misc-article .prose{font-size:18px}
}
.t-blog-misc-post .post-title,:is(.t-blog-misc-post,.t-blog-misc-article) .prose :is(h2,h3,h4){text-wrap:pretty}
/* Breadcrumb một dòng cuộn ngang (theme.css): trong cột 680px tiêu đề bài dài bị cắt ngang trên máy tính → cho xuống dòng từ 768px */
@media(min-width:768px){
  :is(.t-blog-misc-post,.t-blog-misc-article) .crumbs nav{white-space:normal}
}

/* theme.css ".page-body{padding:20px 0 56px}" xoá luôn lề trái / phải của .wrap → chữ sát mép màn hình điện thoại và lệch với tiêu đề
   trên máy tính. Trả lại lề. */
.t-blog-misc-article .page-body{padding-left:var(--gut);padding-right:var(--gut)}

/* Nội dung cũ "canh đều" (style="text-align: justify"): trên cột hẹp của điện thoại tạo khoảng trắng lớn giữa các chữ → canh trái;
   đề mục không canh đều ở mọi màn hình. */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose [style*="justify"]{text-align:left!important}
@media(min-width:768px){
  :is(.t-blog-misc-post,.t-blog-misc-article) .prose :not(h1,h2,h3,h4,h5,h6)[style*="justify"]{text-align:justify!important}
}

/* Màu chữ gõ thẳng trong bài cũ (108 bài): vàng #ffcc00 (vàng thương hiệu cũ, tương phản ~1.5:1 trên nền trắng) và xám #c0c0c0
   (~1.8:1) gần như không đọc được → link về màu link, chữ vàng → hổ phách đậm (--warn), chữ xám nhạt → xám của theme. */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose [style*="#ffcc00" i]{color:var(--warn)!important}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose :is(a[style*="#ffcc00" i],a [style*="#ffcc00" i]){color:var(--link)!important}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose [style*="#c0c0c0" i]{color:var(--mute)!important}

/* Đề mục dán từ Google Docs có <span style="font-weight: 400"> → đề mục mảnh như chữ thường. Giữ độ đậm của đề mục. */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose :is(h1,h2,h3,h4,h5,h6) [style*="font-weight"]{font-weight:inherit!important}

/* ---------- Bảng trong nội dung ----------
   .prose có overflow-wrap:anywhere → ô của bảng nhiều cột bị bẻ từng chữ cái trên điện thoại (bảng 6–11 cột cao tới ~2.900px).
   Trong ô chỉ xuống dòng giữa các từ: bảng rộng hơn khung thì cuộn ngang trong .table-scroll (theme.js bọc sẵn), bóng mờ ở mép báo
   còn nội dung để cuộn. */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose :is(td,th){overflow-wrap:break-word;word-break:normal}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose :is(td,th) > :last-child{margin-bottom:0}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose .table-scroll{
  background:
    linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left center/28px 100% no-repeat local,
    linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right center/28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(11,31,58,.18),rgba(11,31,58,0)) left center/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(11,31,58,.18),rgba(11,31,58,0)) right center/12px 100% no-repeat scroll;
}

/* ---------- Mục lục Easy TOC (bài viết + trang) ----------
   theme.css ".prose div[class^=ez-toc]" khớp cả khung tiêu đề bên trong #ez-toc-container → khung lồng khung (2 viền, 2 nền, 2 lớp
   đệm). Trả khung tiêu đề về một hàng phẳng; nút thu / mở mục lục đủ 40px. */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container .ez-toc-title-container{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container .ez-toc-title{margin:0!important}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container .ez-toc-title-toggle{display:flex;flex:none}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container a.ez-toc-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;margin:0!important;padding:0!important;float:none!important;border:1.5px solid var(--line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;text-shadow:none!important}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container a.ez-toc-toggle:hover{border-color:var(--ink)!important}
/* khung viền xám thứ hai của plugin quanh biểu tượng (lệch phải 10px) */
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container .ez-toc-js-icon-con{display:flex;float:none;left:0;width:auto;border:0;border-radius:0}
:is(.t-blog-misc-post,.t-blog-misc-article) .prose #ez-toc-container .ez-toc-icon-toggle-span{width:auto;height:auto;gap:2px}

/* ---------- Trang nội dung thường ---------- */
.t-blog-misc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:12px;font-size:14px;color:var(--mute)}
.t-blog-misc-meta > span{display:inline-flex;align-items:center;gap:6px}
/* Trang có sẵn H1 trong nội dung (trang Elementor cũ): tên trang là H2 nhỏ hơn, H1 của nội dung là tiêu đề lớn */
.t-blog-misc-page-name{font-size:22px;font-size:clamp(22px,2.6vw,28px);line-height:1.2}
.t-blog-misc-article .prose h1{margin:0 0 .5em;font-size:28px;font-size:clamp(28px,4.4vw,42px);line-height:1.15}
.t-blog-misc-article .prose h1 + br{display:none}

/* Shortcode Flatsome cũ còn trong nội dung (ux_banner, row, col, button, ux_image_box...) → khối đơn giản */
.t-blog-misc-fs{margin:0 0 1.2em}
.t-blog-misc-fs > *:last-child{margin-bottom:0}
.t-blog-misc-fs--banner{padding:22px 20px;border-radius:var(--r-lg);background:var(--soft);text-align:center}
.t-blog-misc-fs--row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.t-blog-misc-fs__col > *:last-child{margin-bottom:0}
.t-blog-misc-fs__box{height:100%;padding:16px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;text-align:center}
.t-blog-misc-fs__box img{display:block;max-height:110px;width:auto;margin:0 auto 10px;border-radius:0}
.t-blog-misc-fs__box h3,.t-blog-misc-fs__box h4{margin:.4em 0 .3em;font-size:16px}
.t-blog-misc-fs__img{margin:0 0 1em}
.t-blog-misc-fs__img img{display:block;margin:0 auto}
.t-blog-misc-fs__btn{margin:1em 0}
.t-blog-misc-fs__title{margin-top:.4em}
@media(min-width:720px){.t-blog-misc-fs--row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}}

/* ---------- Trang Elementor cũ đã làm phẳng (Dịch vụ SEO 16181 / 29225 — lớp --flat do page-article.php thêm) ---------- */
/* Nút Elementor nay là link trơn (dính liền câu trước, kẹp <br>) → nút vàng riêng một dòng */
.t-blog-misc-article--flat .prose a:is([role="button"],[href^="#form-signup"]){display:flex;align-items:center;justify-content:center;width:fit-content;min-height:46px;margin:14px 0 0;padding:10px 22px;border-radius:var(--r-sm);background:var(--cta);color:var(--ink)!important;font-weight:700;line-height:1.3;text-decoration:none!important}
.t-blog-misc-article--flat .prose a:is([role="button"],[href^="#form-signup"]):hover{background:var(--cta-h)}
.t-blog-misc-article--flat .prose a:is([role="button"],[href^="#form-signup"]) br{display:none}
/* Hộp biểu tượng (ảnh nhỏ + H3 + đoạn): biểu tượng bên trái, chữ bên phải — như danh sách dịch vụ của theme trên điện thoại */
.t-blog-misc-article--flat .prose figure:has(+ h3){float:left;clear:both;width:60px;margin:2px 0 0}
.t-blog-misc-article--flat .prose figure:has(+ h3) img{display:block;width:60px;height:auto;margin:0;border-radius:0}
.t-blog-misc-article--flat .prose figure + h3,.t-blog-misc-article--flat .prose figure + h3 + p{margin-left:76px}
.t-blog-misc-article--flat .prose figure + h3{margin-top:0;padding-top:2px;font-size:18px}
.t-blog-misc-article--flat .prose figure + h3 + p{margin-bottom:26px}
.t-blog-misc-article--flat .prose h2{clear:both}
/* Ảnh minh hoạ lớn nằm trong đoạn (tên lửa 279×400) chiếm gần hết màn hình điện thoại → thu nhỏ */
.t-blog-misc-article--flat .prose p > img{max-width:180px}
@media(min-width:768px){.t-blog-misc-article--flat .prose p > img{max-width:100%}}
/* Câu hỏi thường gặp: câu hỏi là link rỗng (href="") của accordion Elementor cũ → in như câu hỏi đậm (bấm vào chỉ tải lại trang) */
.t-blog-misc-article--flat .prose p > a[href=""]:only-child{display:block;padding-top:16px;border-top:1px solid var(--line);color:var(--ink)!important;font-weight:700;text-decoration:none!important;pointer-events:none}
/* Ngôi sao đánh giá: ký tự của font biểu tượng Elementor không còn nạp (hiện ô vuông) → vẽ lại bằng ★ */
.t-blog-misc-glyph{display:inline-block;font-style:normal;font-size:0;line-height:1;vertical-align:-1px}
.t-blog-misc-glyph::before{content:"\2605";font-size:18px;color:#f5a623}

/* ---------- Bài viết ---------- */
/* Nút chia sẻ (38px) và mạng xã hội tác giả (36px) → vùng bấm 40px */
.t-blog-misc-post .share__a{width:40px;height:40px}
.t-blog-misc-author .author__social a{width:40px;height:40px}
.t-blog-misc-author .author__name{font-weight:800;color:var(--ink);line-height:1.3}
.t-blog-misc-author .author__name a{color:var(--ink)}
.t-blog-misc-author .author__social{flex-wrap:wrap}
.t-blog-misc-pages{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;font-weight:700;color:var(--ink)}
.t-blog-misc-pages a,.t-blog-misc-pages > span:not(:first-child){display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1.5px solid var(--line);border-radius:10px;text-decoration:none!important}

/* ---------- Dải kêu gọi cuối trang (tiêu đề in bằng <p>): đậm như trang chủ, không để một chữ rơi xuống dòng cuối ---------- */
.t-blog-misc-cta .cta__title{font-weight:800;letter-spacing:-.015em;text-wrap:balance}

/* ---------- 404 ---------- */
.t-blog-misc-404{text-align:center}
.t-blog-misc-404 .sec__title,.t-blog-misc-404 .sec__lead{text-wrap:balance}
.t-blog-misc-404 .sec__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ===== company.css ===== */
/* ==========================================================================
   Trang công ty: Giới thiệu (about.php), Hồ sơ CEO (author.php), Liên hệ (contact.php), Tuyển dụng (recruitment.php).
   Mọi bộ chọn bắt đầu bằng lớp .t-company… (lớp bọc / lớp khối riêng của các mẫu này). Ưu tiên điện thoại.
   ========================================================================== */

/* ---------- Chung: tiêu đề / câu ngắn không để một chữ rơi xuống dòng cuối ("…miễn / phí", "Service / Quote", "…Cùng / The7").
   balance chỉ cho tiếng Anh: tiếng Việt cách nhau từng tiếng nên balance hay tách đôi từ ghép ("chuyên / gia").
   Trình duyệt chưa hỗ trợ text-wrap thì ngắt dòng như thường. ---------- */
.t-company :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.cta__title,.cta__text,.feature__title,.svc__title){text-wrap:pretty}
html:lang(en) .t-company :is(.hero:not(.hero--plain) .hero__title,.cta__title),html:lang(en) .t-company .sec__head:not(.sec__head--left) .sec__title{text-wrap:balance}

/* ---------- Giới thiệu: hero căn giữa + mạng xã hội ---------- */
.t-company--about .hero__grid{grid-template-columns:minmax(0,1fr)}
.t-company--about .hero__copy{max-width:880px;margin:0 auto;text-align:center}
.t-company--about .hero .crumbs{text-align:center}
.t-company .t-company-social{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none}
.t-company--about .t-company-social{justify-content:center}
.t-company .t-company-social li{margin:0}
.t-company .t-company-social__a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;color:#fff!important;text-decoration:none!important;transition:background-color .15s,transform .15s}
.t-company .t-company-social__a:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.t-company .t-company-social__a svg{width:30px;height:30px}

/* ảnh đội ngũ (banner cũ) ngay dưới hero: nửa trên nền navy nối với hero, nửa dưới nền trắng */
.t-company-banner{background:linear-gradient(180deg,var(--ink) 0,var(--ink) 50%,#fff 50%,#fff 100%)}
.t-company-banner__fig{margin:0;overflow:hidden;border-radius:var(--r);background:var(--ink-2);box-shadow:var(--sh-lg)}
.t-company-banner__img{display:block;width:100%;height:auto}
@media(min-width:1024px){.t-company-banner__fig{border-radius:var(--r-lg)}}

/* Về The7: chữ + thẻ vàng nổi bật */
.t-company-intro__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.t-company-intro__main .sec__head{margin-bottom:18px}
.t-company-intro__card{padding:26px 22px;border-radius:var(--r-lg);background:var(--cta);box-shadow:0 14px 36px rgba(255,192,0,.25)}
.t-company .t-company-intro__quote{font-size:18px;font-size:clamp(18px,2vw,22px);line-height:1.55;font-weight:600;color:var(--ink)}
.t-company .t-company-intro__quote p{margin:0 0 .6em}
.t-company .t-company-intro__quote p:last-child{margin:0}
.t-company .t-company-intro__quote a,.t-company .t-company-intro__quote strong,.t-company .t-company-intro__quote b{color:var(--ink)}
.t-company .t-company-intro__quote a{text-decoration-color:rgba(11,31,58,.45)}
.t-company .t-company-intro__quote a:hover{text-decoration-color:var(--ink)}
@media(min-width:900px){
  .t-company-intro__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}
  .t-company-intro__card{padding:44px 40px}
}

/* Năng lực: câu dẫn lớn trước đoạn văn */
.t-company .t-company-lead{margin:0 0 .7em;font-size:18px;font-size:clamp(18px,2vw,21px);line-height:1.5;font-weight:700;color:var(--ink)}
/* đoạn văn dài (11 dòng trên điện thoại, ~90 ký tự/dòng trên máy tính) căn giữa rất khó đọc → căn trái, khổ ~75 ký tự;
   nhãn, tiêu đề và câu dẫn đậm vẫn căn giữa */
.t-company .t-company-values .sec__lead p:not(.t-company-lead){max-width:680px;margin-left:auto;margin-right:auto;text-align:left}
/* icon giá trị cũ = nét đen trên đĩa vàng trong suốt (vẽ cho nền trắng): trên ô navy dùng chung thành màu bùn, nét đen chìm mất
   → bỏ ô navy, cho icon lấp đầy ô (48px điện thoại / 56px máy tính) */
.t-company .t-company-values .feature .feature__ic{background:none;border-radius:0}
.t-company .t-company-values .feature .feature__ic img{width:100%;height:100%;filter:none}

/* Thành viên (khi bật): ít người thì canh giữa như mẫu cũ (justify-evenly) thay vì dồn sang trái lưới 4 cột */
.t-company--about .team{display:flex;flex-wrap:wrap;justify-content:center}
.t-company--about .member{flex:0 1 calc(50% - 8px);min-width:0}
@media(min-width:900px){.t-company--about .member{flex-basis:calc(25% - 12px)}}

/* Dịch vụ: ảnh tròn cũ (213px) giữ dạng tròn, không đặt trên ô navy. Điện thoại: thẻ dạng hàng, ảnh 56px bên trái
   (cột lưới chỉ có tác dụng dưới 640px — từ 640px thẻ .svc là flex dọc), từ 640px ảnh 72px phía trên */
.t-company-svc .svc__ic{width:56px;height:56px;border-radius:50%;background:none;overflow:hidden}
.t-company-svc .svc__ic img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:none}
.t-company-svc .svc{grid-template-columns:56px minmax(0,1fr)}
@media(min-width:640px){.t-company-svc .svc__ic{width:72px;height:72px}}

/* ---------- Hồ sơ CEO: nội dung soạn thảo ngay dưới hero ---------- */
.t-company-profile{padding-top:8px}
.t-company-profile .prose img{width:auto;max-height:760px}
@media(min-width:1024px){.t-company-profile{padding-top:16px}}
/* đầu trang thẳng hàng với cột đọc 860px như bài viết (trước: tiêu đề sát lề trái khung 1180px, bị ép vào nửa trái lưới 2 cột,
   còn nội dung căn giữa) + bớt khoảng trắng giữa tiêu đề và mục lục */
.t-company--profile .hero > .wrap{max-width:860px}
.t-company--profile .hero__grid{grid-template-columns:minmax(0,1fr)}
/* cỡ tiêu đề như tiêu đề bài viết (.post-title): cột 796px với cỡ 50px tách đôi từ "Chuyên / gia" */
.t-company--profile .hero__title{font-size:28px;font-size:clamp(28px,4.4vw,44px);line-height:1.15}
.t-company--profile .hero{padding-bottom:28px}
@media(min-width:1024px){.t-company--profile .hero{padding-bottom:40px}}
/* nội dung dán từ ChatGPT: <li><p>…</p></li> → mỗi mục cách nhau cả một đoạn; gọn lại như danh sách "Thông tin cá nhân"
   (chỉ danh sách của bài, không đụng mục lục) */
.t-company-profile .prose > :is(ul,ol) > li > p{margin:0}
.t-company-profile .prose > :is(ul,ol) > li > p + p{margin-top:.5em}
/* danh sách link dịch vụ cuối bài: link chữ chỉ cao ~20px → vùng chạm ~40px trên điện thoại / máy tính bảng */
.t-company-profile .prose > :is(ul,ol) > li > a,.t-company-profile .prose > :is(ul,ol) > li > :is(strong,b) > a{display:inline-block;padding:6px 0}
@media(min-width:1024px){.t-company-profile .prose > :is(ul,ol) > li > a,.t-company-profile .prose > :is(ul,ol) > li > :is(strong,b) > a{padding:0}}

/* ---------- Liên hệ: logo trắng (vẽ cho vòng tròn vàng cũ) đặt trên nền navy của hero ---------- */
.t-company--contact .hero__media{display:flex;align-items:center;justify-content:center}
.t-company--contact .hero__img{width:auto;max-width:180px;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none}
@media(min-width:1024px){.t-company--contact .hero__img{max-width:300px}}
/* hotline / email trong khối form: vùng chạm tối thiểu 44px trên điện thoại (link chữ chỉ cao ~26px) */
.t-company--contact .contact__lines{gap:2px}
.t-company--contact .contact__lines a{display:inline-flex;align-items:center;min-height:44px}
/* hotline / email thuộc về tiêu đề "Liên hệ" phía trên: bớt khoảng hở 36–52px (dòng 44px đã có sẵn khoảng đệm) */
.t-company--contact .contact__side .sec__head{margin-bottom:14px}

/* ---------- Tuyển dụng: mô tả công việc dài, ảnh dính theo khi đọc (máy tính) ---------- */
.t-company-job .media--single{text-align:left}
.t-company-job .prose > div:first-child > :first-child{margin-top:0}
/* mô tả dán từ Facebook: nhãn đậm ("Media Planning:") rồi các dòng <div>• …</div>. Nhãn sát nhóm của nó; mỗi dòng "• …"
   thụt treo (.7em = bề rộng "• ") để dòng xuống thẳng chữ, các mục cách nhau một chút → dễ tách mục trên điện thoại */
.t-company-job .prose p:has(+ div){margin-bottom:.4em}
.t-company-job .prose p ~ div{margin:0 0 .3em;padding-left:.7em;text-indent:-.7em}
@media(min-width:900px){
  .t-company-job .media{align-items:start}
  .t-company-job .media__img{position:sticky;top:calc(var(--hh) + 24px)}
}

/* ===== content.css ===== */
/* ==========================================================================
   Mẫu "Content Marketing" + "Copywriting" (templates/content-marketing.php, templates/copywriting.php).
   Mọi bộ chọn nằm trong lớp bọc .t-content / .t-content-*. Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* Ảnh minh hoạ PNG nền trong suốt (img_content.png, Bao-7.png — ảnh đã tự bo góc): bỏ bóng đổ / bo góc của khung ảnh,
   nếu không sẽ thành một khung chữ nhật mờ quanh hình vẽ. Ảnh JPG (đã có góc bo trắng sẵn) giữ khung bo + bóng của theme. */
.t-content .t-content-flat .media__img img{box-shadow:none;border-radius:0}

/* Khối chữ không có ảnh (khối "Đội ngũ" trang Copywriting, có danh sách link dịch vụ): một cột, căn trái như khối chữ thường.
   (theme.css khai báo .media--single một cột TRƯỚC media query 900px của .media nên trên máy tính bị chia 2 cột → ghi đè ở đây)
   Khung 820px của theme cho dòng ~100 ký tự trên máy tính → 640px (~80 ký tự), dễ đọc như cột chữ của các khối chữ + ảnh. */
.t-content .media--single{grid-template-columns:minmax(0,1fr);text-align:left;max-width:640px}

/* Danh sách link dịch vụ trong khối chữ (khối "Đội ngũ": mỗi <li> chỉ là một link dịch vụ): nới vùng chạm lên ~44px trên điện thoại
   (dòng 17px × 1.75 ≈ 30px + 2 × 7px). Chỉ link là con trực tiếp của <li>; link nằm giữa câu trong đoạn văn giữ nguyên. */
.t-content .prose li > a{display:inline-block;padding:7px 0}

/* Khối lợi ích không còn thẻ nào (chỉ in H2 + đoạn dẫn, xem the7c_content_features): bỏ khoảng trống dưới đầu khối */
.t-content .sec__head:last-child{margin-bottom:0}

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…Việt / Nam", "…Doanh / Nghiệp?", "…Chất / Lượng?", "…Hấp / Dẫn",
   "…advise / you", "…Build / Trust"). "pretty" (chỉ sửa dòng cuối) như trang chủ, không "balance" (tách từ ghép tiếng Việt).
   Trang EN: H1 và tiêu đề khối căn giữa chia đều dòng ("Vietnam Content Marketing / Services" — "pretty" của Chrome bỏ qua khi dòng trên
   phải ngắn đi nhiều; "…Important For / Businesses?"), như trang Facebook / TikTok. */
.t-content :is(.hero__title,.sec__title,.sec__lead,.media__title,.cta__title,.feature__title){text-wrap:pretty}
html:lang(en) .t-content :is(.hero__title,.sec__head:not(.sec__head--left) .sec__title){text-wrap:balance}

/* Dải kêu gọi (giữa trang + cuối trang): câu kêu gọi in bằng thẻ <p> như trang cũ nên mất độ đậm → đậm như tiêu đề khối, giống trang chủ */
.t-content .cta__title{font-weight:800;letter-spacing:-.015em}

/* Đoạn dẫn dưới tiêu đề khối lợi ích (căn giữa): khung 760px cho dòng ~95 ký tự trên máy tính → tối đa ~80 ký tự, như trang chủ */
.t-content .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}

/* Điện thoại: 6 thẻ lợi ích có đoạn chữ dài (8–11 dòng ~33 ký tự trong cột chữ ~240px cạnh icon) → icon + tiêu đề cùng một hàng,
   đoạn chữ rộng hết thẻ (~43 ký tự/dòng, dễ đọc hơn), cả khối ngắn hơn ~70–120px, không ẩn chữ nào.
   Từ 640px thẻ là khối thường trong lưới 2–3 cột (theme chỉ dựng lưới icon/chữ dưới 640px) nên 3 thuộc tính lưới dưới đây không còn tác dụng. */
.t-content .features:not(.features--plain) .feature{align-items:center}
.t-content .features:not(.features--plain) .feature__ic{grid-row:auto}
.t-content .features:not(.features--plain) .feature__text{grid-column:1/-1;margin-top:12px}
@media(min-width:640px){.t-content .features:not(.features--plain) .feature__text{margin-top:8px}}

/* ===== digital-marketing.css ===== */
/* ==========================================================================
   Mẫu "Digital Marketing" (templates/digital-marketing.php) — 8 trang: dịch vụ tổng thể, LinkedIn, 2 khoá học (VI + EN).
   Mọi bộ chọn nằm trong khung .t-digital-marketing. Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…Gấp / 10x", "…là / gì?", "…cho khách / hàng").
   Dùng "pretty" (chỉ sửa dòng cuối) thay vì "balance" (chia đều mọi dòng) để không tách từ ghép tiếng Việt ("Bây / Giờ").
   Trình duyệt chưa hỗ trợ text-wrap thì giữ cách ngắt dòng thường. */
.t-digital-marketing :is(.hero__title,.hero__sub,.sec__title,.media__title,.cta__title,.sec__lead,.cta__text){text-wrap:pretty}

/* Thẻ lợi ích / module khoá học không có icon (4 trang khoá học): trên điện thoại bỏ cột icon 48px để trống, chữ chiếm cả thẻ */
.t-digital-marketing .feature > .feature__title:first-child,
.t-digital-marketing .feature > .feature__title:first-child ~ *,
.t-digital-marketing .feature > .feature__text:first-child,
.t-digital-marketing .feature > .feature__text:first-child ~ *{grid-column:1/-1}

/* Ảnh dọc khối "Dành cho ai" (mockup điện thoại, ảnh chân dung): điện thoại cao tối đa 380px — thu nhỏ đúng tỉ lệ, không cắt —
   thay vì ~520px chiếm gần hết màn hình */
.t-digital-marketing .media--portrait .media__img img{max-height:380px}
/* Ảnh JPG nền trắng (mockup điện thoại) trên nền xám nhạt của khối: hoà nền trắng vào nền khối, hết khung trắng bo góc quanh máy */
.t-digital-marketing .sec--alt.media--portrait .media__img img{mix-blend-mode:multiply}

/* Khối liên hệ chỉ có 1 ảnh ngang (trang khoá học): khung 3:2 thay vì vuông — thấp hơn trên điện thoại, không cắt mặt */
.t-digital-marketing .contact__img.span-6:not(.is-wide) img{aspect-ratio:3/2}

@media(min-width:640px){
  .t-digital-marketing .media--portrait .media__img img{max-height:520px}
  /* Từ máy tính bảng: thẻ lẻ ở hàng cuối nằm giữa (blog 5 bài → 3+2; thẻ ảnh 3 thẻ → 2+1 ở máy tính bảng) */
  .t-digital-marketing .sec--posts .cards,
  .t-digital-marketing .sec--imgcards .wf{display:flex;flex-wrap:wrap;justify-content:center}
  .t-digital-marketing .sec--posts .card{flex:0 0 calc((100% - 22px) / 2);max-width:calc((100% - 22px) / 2)}
  .t-digital-marketing .sec--imgcards .wf__it{flex:0 0 calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}
}
@media(min-width:1024px){
  /* Máy tính: tiêu đề lớn (hero, tiêu đề khối căn giữa, dải kêu gọi) chia đều dòng — hết "…Marketing / Apart?", "…For / Businesses" */
  html:lang(en) .t-digital-marketing :is(.hero__title,.sec__title,.cta__title){text-wrap:balance}
  .t-digital-marketing .sec--posts .cards.cols-3 .card{flex-basis:calc((100% - 56px) / 3);max-width:calc((100% - 56px) / 3)}
  .t-digital-marketing .sec--imgcards .wf.cols-2 .wf__it{flex-basis:calc((100% - 24px) / 2);max-width:calc((100% - 24px) / 2)}
  .t-digital-marketing .sec--imgcards .wf.cols-3 .wf__it{flex-basis:calc((100% - 48px) / 3);max-width:calc((100% - 48px) / 3)}
  .t-digital-marketing .sec--imgcards .wf.cols-4 .wf__it{flex-basis:calc((100% - 72px) / 4);max-width:calc((100% - 72px) / 4)}
}
/* 4 bài chọn tay: 4 cột từ 1200px (theo thư viện), không 2+2 */
@media(min-width:1200px){.t-digital-marketing .sec--posts .cards.cols-4 .card{flex-basis:calc((100% - 72px) / 4);max-width:calc((100% - 72px) / 4)}}

/* ===== facebook.css ===== */
/* ==========================================================================
   Mẫu "Facebook Ads" (templates/facebook.php). Mọi bộ chọn nằm trong khung .t-facebook / .t-facebook-*.
   Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* Hero: dòng phụ lưu chữ thường ("tăng lượt truy cập & doanh thu") → viết hoa chữ cái đầu khi hiển thị */
.t-facebook .hero__sub::first-letter{text-transform:uppercase}

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…Facebook của / The7", "…8+ / năm", "…Facebook / Ads",
   "…advise / you", "…Advertising / Service"). "pretty" (chỉ sửa dòng cuối) như trang chủ, không "balance" (tách từ ghép tiếng Việt). */
.t-facebook :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.cta__title,.cta__text,.feature__title,.feature__text,.wf__title,.wf__text,.faq__q){text-wrap:pretty}
/* "pretty" bỏ qua chữ cuối dài ("…Facebook / Retargeting", "…Advertising / Service", "…8+ / Years") → chia đều dòng ("balance"):
   trang EN: mọi tiêu đề khối căn giữa; trang VI: chỉ tiêu đề phễu trên máy tính (balance tách từ ghép ở tiêu đề VI khác: "mang / lại", "Dịch / vụ") */
html:lang(en) .t-facebook .sec__head:not(.sec__head--left) .sec__title{text-wrap:balance}
@media(min-width:1024px){.t-facebook .t-facebook-funnel .sec__title{text-wrap:balance}}
/* Dải kêu gọi: tiêu đề in bằng thẻ <p> (giữ cấu trúc tiêu đề cũ) nên mất độ đậm → đậm như tiêu đề khối, giống trang chủ */
.t-facebook .cta__title{font-weight:800;letter-spacing:-.015em}
/* Đoạn dẫn dưới tiêu đề khối (căn giữa): khung 760px cho dòng ~95 ký tự trên máy tính → tối đa ~80 ký tự, như trang chủ */
.t-facebook .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}

/* Thẻ lợi ích / ưu điểm: chữ cũ có căn giữa nội tuyến và khung Flatsome cũ (thẻ 2–4 căn trái) → căn theo thẻ cho đều */
.t-facebook .feature__text [style*="text-align"]{text-align:inherit!important}

/* Tab hình thức quảng cáo: ảnh mẫu quảng cáo tỉ lệ ~2:1 → khung 2:1 để không cắt hai bên bài đăng */
.t-facebook .sec--tabs .wf__img{aspect-ratio:2/1}
/* Từ máy tính bảng: thẻ lẻ cuối hàng nằm giữa (tab Brand 4 thẻ, Conversion 9 thẻ) */
@media(min-width:640px){
  .t-facebook .sec--tabs .wf{display:flex;flex-wrap:wrap;justify-content:center}
  .t-facebook .sec--tabs .wf__it{flex:0 0 calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}
}
@media(min-width:1024px){
  .t-facebook .sec--tabs .wf__it{flex-basis:calc((100% - 48px) / 3);max-width:calc((100% - 48px) / 3)}
  /* Tab đúng 4 thẻ (Brand): giữ 2 cột (2 + 2) thay vì 3 + 1 thẻ lẻ một mình ở hàng dưới; tab 9 thẻ vẫn 3 cột (3 × 3) */
  .t-facebook .sec--tabs .wf__it:first-child:nth-last-child(4),
  .t-facebook .sec--tabs .wf__it:first-child:nth-last-child(4) ~ .wf__it{flex-basis:calc((100% - 24px) / 2);max-width:calc((100% - 24px) / 2)}
}

/* Bảng giá trên điện thoại: 12 hạng mục là 12 hộp rời xếp chồng → một khung danh sách có vạch chia (như FAQ), ngắn hơn ~150px.
   Từ 720px trở lại lưới 2 cột hộp rời của theme. */
.t-facebook .sec--checks .checks{gap:0;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.t-facebook .sec--checks .checks li{padding:12px 16px;border:0;border-top:1px solid var(--line);border-radius:0}
.t-facebook .sec--checks .checks li:first-child{border-top:0}
@media(min-width:720px){
  .t-facebook .sec--checks .checks{gap:12px;border:0;border-radius:0;background:none;overflow:visible}
  .t-facebook .sec--checks .checks li,.t-facebook .sec--checks .checks li:first-child{padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm)}
}

/* Retargeting: ảnh báo cáo + 4 giai đoạn phễu (H3 + đoạn văn trong trường soạn thảo) đánh số 1–4 */
.t-facebook-funnel .media{align-items:start}
.t-facebook-funnel .media--single{text-align:left}
.t-facebook-funnel__steps.prose{counter-reset:t-facebook-step}
.t-facebook-funnel__steps.prose h3{position:relative;margin:26px 0 6px;padding-left:46px;font-size:18px;line-height:1.35}
.t-facebook-funnel__steps.prose h3:first-child{margin-top:0}
.t-facebook-funnel__steps.prose h3::before{counter-increment:t-facebook-step;content:counter(t-facebook-step);position:absolute;left:0;top:-4px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--cta);font-size:15px;font-weight:800;letter-spacing:0}
.t-facebook-funnel__steps.prose p{margin:0;padding-left:46px;font-size:16px;line-height:1.65}
/* Ảnh báo cáo (ảnh chụp bảng Ads Manager) có sẵn dải trắng trống ~21% phía trên và ~21% phía dưới trong file → khung 19:10 cắt bỏ
   đúng hai dải trống, giữ trọn bảng (hết khối trắng lớn quanh bảng nhỏ trên điện thoại). Máy tính: ảnh nằm giữa theo chiều dọc cạnh 4 giai đoạn. */
.t-facebook .t-facebook-funnel .media__img img{aspect-ratio:19/10;object-fit:cover;object-position:50% 50%}
@media(min-width:900px){
  .t-facebook-funnel .media{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}
  .t-facebook .t-facebook-funnel .media__img{align-self:center}
}

/* Kết quả: ảnh báo cáo luôn 1 cột, rộng hết khung (theme chia 2 cột từ 600px) */
.t-facebook-report .t-facebook-report__list{grid-template-columns:minmax(0,1fr);gap:20px}
.t-facebook-report .gallery__it img{border:1px solid var(--line)}

/* Bảng trong chữ soạn thảo (quy trình, FAQ): bỏ width/height nội tuyến cũ (có cột 105%), kẻ ô đều, hàng đầu là tiêu đề */
.t-facebook .prose table{width:100%!important;height:auto!important;border-collapse:collapse;border:1px solid var(--line)}
.t-facebook .prose tr,.t-facebook .prose td,.t-facebook .prose th{width:auto!important;height:auto!important}
/* overflow-wrap:normal: .prose cho phép ngắt giữa từ (anywhere) nên ô hẹp bị cắt "PERFORMA / NCE", "3,900,00 / 0 VND", "minigam / e" */
.t-facebook .prose td,.t-facebook .prose th{padding:10px 12px;border:1px solid var(--line);font-size:14.5px;line-height:1.5;vertical-align:middle;overflow-wrap:normal}
.t-facebook .prose tbody > tr:first-child > td{background:var(--soft);color:var(--ink);font-weight:700}
.t-facebook .prose td p{margin:0 0 .3em}
.t-facebook .prose td p:last-child{margin:0}
/* Bảng số liệu 6 cột của quy trình: cuộn ngang trên điện thoại thay vì bóp chữ. Chỉ khi bảng nằm trong khung cuộn .table-scroll
   (mẫu bọc sẵn từ máy chủ), để không bao giờ bị cắt mất cột khi thiếu khung cuộn (body có overflow-x:hidden). */
.t-facebook .sec--long .table-scroll > table{min-width:640px}
/* Bảng 3 cột trong câu trả lời FAQ (giá viết bài quảng cáo): trên điện thoại cột "Mô tả gói" chỉ ~70px, mỗi dòng một chữ →
   rộng tối thiểu 520px, cuộn ngang trong khung (theme.js bọc .table-scroll; không có JS thì bảng vẫn vừa khung như cũ). Bảng 2 cột giữ nguyên. */
.t-facebook .faq__a .table-scroll > table:has(td:nth-child(3)){min-width:520px}
/* tiêu đề cột 1 dài ("Gói dịch vụ viết bài quảng cáo Facebook") làm cột 1 chiếm gần nửa bảng → giới hạn 32%, phần còn lại cho giá + mô tả gói */
.t-facebook .faq__a .table-scroll > table:has(td:nth-child(3)) td:first-child{width:32%!important}

/* ===== google-family.css ===== */
/* Nhóm trang Google Display / Google Shopping / YouTube (templates/google-display.php, google-shopping.php, youtube.php)
   — mọi quy tắc chỉ áp dụng trong lớp bọc .t-google-family (modifier: --display / --shopping / --youtube). Ưu tiên điện thoại (min-width). */

/* Không để một chữ rơi xuống dòng cuối: "… Giá / Rẻ", "… của chúng / tôi", "… advise / you", "… và hình / ảnh".
   Dùng "pretty" như trang chủ (balance cắt đôi từ ghép tiếng Việt). */
.t-google-family :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.cta__title,.feature__title,.feature__text){text-wrap:pretty}
/* H1 từ 640px chỉ còn 2 dòng: "pretty" của Chrome vẫn để "… Google Shopping / Ads" (768px) và cắt "Người / Thật" (1280px)
   → chia đôi cân bằng ("Tăng Doanh Thu Với / Google Shopping Ads", "Tăng Subscriber YouTube / Người Thật Giá Rẻ"). Điện thoại (3 dòng) giữ "pretty". */
@media(min-width:640px){.t-google-family .hero__title{text-wrap:balance}}

/* Ảnh minh hoạ của các khối chữ + ảnh phần lớn là PNG nền trong suốt: bỏ bóng đổ (thành khung chữ nhật mờ quanh hình vẽ) */
.t-google-family .media__img img{box-shadow:none}

/* Máy tính bảng (768–899px): khối chữ + ảnh xếp một cột → ảnh 543–570px bị phóng to 728px (mờ) và chiếm cả màn hình
   → chia 2 cột từ 768px như trang chủ (theme.css chỉ chia từ 900px); khối "ảnh phải" giữ ảnh bên phải. */
@media(min-width:768px){
  .t-google-family .media:not(.media--single){grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
  .t-google-family .sec--media-rev .media__img{order:2}
}
@media(min-width:900px){.t-google-family .media:not(.media--single){gap:56px}}

/* Khối chữ không có ảnh (khối "Đội ngũ" có danh sách link dịch vụ): một cột, căn trái như khối chữ thường thay vì căn giữa.
   (grid-template-columns ở đây trùng với .media.media--single của theme.css — thừa nhưng vô hại)
   Khung 820px của theme cho dòng chữ ~100 ký tự trên máy tính → đoạn chữ tối đa 640px (~80 ký tự/dòng); tiêu đề giữ khung 820px
   (thu cả khối về 640px thì tiêu đề 3 dòng, dòng cuối còn một chữ "campaigns"). */
.t-google-family .media--single{grid-template-columns:minmax(0,1fr);text-align:left}
.t-google-family .media--single .prose{max-width:640px}

/* Đoạn dẫn dưới tiêu đề khối (lưới lý do / ưu điểm): khung 760px cho dòng ~95–100 ký tự → tối đa ~80 ký tự như trang chủ */
.t-google-family .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}

/* Danh sách link dịch vụ ("Xem thêm dịch vụ của The7:" + 3 dòng, mỗi dòng chỉ là một link, thường bọc <strong>):
   link chữ thường chỉ cao ~20px, các dòng cách nhau ~36px → vùng chạm trên điện thoại quá nhỏ → đệm 8px trên/dưới (link cao ~46px).
   inline-flex (không phải inline-block): đường cơ sở của hộp là dòng ĐẦU → dấu chấm đầu dòng đứng cạnh dòng đầu khi link xuống 2 dòng
   (inline-block lấy dòng cuối: chấm đứng cạnh chữ "Ads"). Chỉ nhắm link là phần tử con duy nhất của <li>. */
.t-google-family .prose li > a:only-child,
.t-google-family .prose li > strong:only-child > a:only-child{display:inline-flex;padding:8px 0}

/* Thẻ lý do / ưu điểm: chữ thẻ là .prose (17px, dòng 1.75, màu chữ chính) đè cỡ 15px / màu nhạt của .feature__text → cùng cỡ với thẻ trang chủ */
.t-google-family .feature__text{font-size:14.5px;line-height:1.65;color:var(--mute)}
@media(min-width:640px){.t-google-family .feature__text{font-size:15px}}

/* Shopping — 6 thẻ "Vì sao để The7 quản lý" chữ dài: xếp dọc trên điện thoại cao ~1.600px → thẻ vuốt ngang như .rail-m của theme
   (thẻ rộng 84%, thấy mép thẻ kế bên; icon đặt trên tiêu đề để chữ dùng hết bề rộng thẻ). Từ 640px trở lại lưới của theme. */
.t-google-family--shopping #vi-sao-the7 .features{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:4px var(--gut) 16px;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.t-google-family--shopping #vi-sao-the7 .features::-webkit-scrollbar{display:none}
.t-google-family--shopping #vi-sao-the7 .feature{display:block;flex:0 0 84%;max-width:84%;scroll-snap-align:start}
.t-google-family--shopping #vi-sao-the7 .feature__ic{margin:0 0 12px}
.t-google-family--shopping #vi-sao-the7 .feature__text{margin-top:6px}
@media(min-width:640px){
  .t-google-family--shopping #vi-sao-the7 .features{display:grid;overflow:visible;scroll-snap-type:none;margin-left:0;margin-right:0;padding:0}
  .t-google-family--shopping #vi-sao-the7 .feature{max-width:none}
  .t-google-family--shopping #vi-sao-the7 .feature__ic{margin:0 0 14px}
  .t-google-family--shopping #vi-sao-the7 .feature__text{margin-top:8px}
}

/* Dải kêu gọi cuối trang: trang YouTube in tiêu đề bằng thẻ <p> (như bản cũ, không thêm H2) nên mất độ đậm của tiêu đề → đậm như trang chủ */
.t-google-family .cta__title{font-weight:800;letter-spacing:-.015em}
/* Ảnh nền Google Display có dải trắng ở 10% dưới cùng: kéo ảnh cao hơn khung và neo mép trên để dải trắng nằm ngoài khung (hero có overflow:hidden) */
.t-google-family--display .hero__bgwrap img{height:115%;object-position:50% 0}

/* ===== google-search.css ===== */
/* Trang Quảng cáo Google Ads (templates/google-search.php) — mọi quy tắc chỉ áp dụng trong .t-google-search */

/* Câu phụ dưới H1 được lưu chữ thường ("tăng lượt truy cập & doanh thu"): viết hoa chữ cái đầu khi hiển thị */
.t-google-search .hero__sub::first-letter{text-transform:uppercase}

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…Hôm / Nay", "…miễn / phí", "…Hiệu / Quả", "…cụ / thể.", "…doanh nghiệp / nào?",
   "…advise / you", "…updated / continuously"). "pretty" (chỉ sửa dòng cuối) như trang chủ, không "balance" (tách từ ghép tiếng Việt).
   Trang EN: H1 và tiêu đề khối căn giữa chia đều dòng ("…Adwords / Advertising", "…Advertising / Pricing"), như trang Facebook / TikTok. */
.t-google-search :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.sec__note,.cta__title,.cta__text,.feature__title,.wf__title,.faq__q){text-wrap:pretty}
html:lang(en) .t-google-search :is(.hero__title,.sec__head:not(.sec__head--left) .sec__title){text-wrap:balance}

/* Dải kêu gọi (dải vàng giữa trang + dải cuối trang): câu kêu gọi in bằng thẻ <p> nên mất độ đậm → đậm như tiêu đề khối, giống trang chủ */
.t-google-search .cta__title{font-weight:800;letter-spacing:-.015em}

/* Đoạn dẫn dưới tiêu đề khối (căn giữa): khung 760px cho dòng ~95–105 ký tự trên máy tính → tối đa ~80 ký tự, như trang chủ */
.t-google-search .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.t-google-search .sec__head--left .sec__lead{margin-left:0}

/* Thẻ ảnh "Vì sao chọn The7" và "Hình thức quảng cáo": ảnh gốc ~2:1, có chữ sát mép trái → giữ nguyên tỉ lệ, không cắt 16:10 */
.t-google-search .sec--imgcards .wf__img{aspect-ratio:auto;background:var(--soft)}
.t-google-search .sec--imgcards .wf__img img{display:block;height:auto;object-fit:contain}

/* Máy tính bảng (640–1023px, lưới 2 cột): 3 thẻ "Vì sao chọn The7" và 3 bài blog để lại một thẻ lẻ dính trái ở hàng dưới → thẻ lẻ nằm giữa
   (như trang chủ / Digital Marketing). Điện thoại vẫn là hàng vuốt ngang (.rail-m); máy tính đủ 3–4 cột như cũ. */
@media(min-width:640px){
  .t-google-search .sec--imgcards .wf,.t-google-search .sec--posts .cards{display:flex;flex-wrap:wrap;justify-content:center}
  .t-google-search .sec--imgcards .wf__it{flex:0 0 calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}
  .t-google-search .sec--posts .card{flex:0 0 calc((100% - 22px) / 2);max-width:calc((100% - 22px) / 2)}
}
@media(min-width:1024px){
  .t-google-search .sec--imgcards .wf.cols-3 .wf__it{flex-basis:calc((100% - 48px) / 3);max-width:calc((100% - 48px) / 3)}
  .t-google-search .sec--imgcards .wf.cols-4 .wf__it{flex-basis:calc((100% - 72px) / 4);max-width:calc((100% - 72px) / 4)}
  .t-google-search .sec--posts .cards.cols-3 .card{flex-basis:calc((100% - 56px) / 3);max-width:calc((100% - 56px) / 3)}
}
@media(min-width:1200px){.t-google-search .sec--posts .cards.cols-4 .card{flex-basis:calc((100% - 72px) / 4);max-width:calc((100% - 72px) / 4)}}

/* Khối "Vì sao chọn The7" không có H2, chỉ có đoạn giới thiệu dài (~600 ký tự): điện thoại căn trái (10–12 dòng căn giữa khó đọc);
   từ 640px căn giữa như các đầu khối khác, dòng tối đa ~80 ký tự (khung đoạn dẫn 640px ở trên) */
.t-google-search #vi-sao-the7 .sec__head{text-align:left}
@media(min-width:640px){.t-google-search #vi-sao-the7 .sec__head{text-align:center}}

/* Tiêu đề 3 thẻ "Vì sao chọn The7" là <p> như mẫu cũ (khối không có H2): giữ đúng kiểu chữ tiêu đề như các thẻ H3 khác */
.t-google-search p.wf__title{color:var(--ink);font-weight:800;line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere}

/* Bảng giá trên điện thoại: 9 hạng mục là 9 hộp rời xếp chồng → một khung danh sách có vạch chia (như trang Facebook), ngắn hơn ~110px.
   Từ 720px trở lại lưới 2 cột hộp rời của theme. */
.t-google-search .sec--checks .checks{gap:0;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.t-google-search .sec--checks .checks li{padding:12px 16px;border:0;border-top:1px solid var(--line);border-radius:0}
.t-google-search .sec--checks .checks li:first-child{border-top:0}
@media(min-width:720px){
  .t-google-search .sec--checks .checks{gap:12px;border:0;border-radius:0;background:none;overflow:visible}
  .t-google-search .sec--checks .checks li,.t-google-search .sec--checks .checks li:first-child{padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm)}
}

/* Quy trình (khối chữ dài, thu gọn "Xem thêm"): khung 820px cho dòng ~105 ký tự trên máy tính → 640px (~80 ký tự);
   tiêu đề cách đoạn đầu 36–52px (khoảng cách dành cho lưới thẻ) làm tiêu đề tách khỏi chữ → gần chữ như các khối chữ + ảnh */
.t-google-search .sec--long .wrap--narrow{max-width:640px}
.t-google-search .sec--long .sec__head{margin-bottom:18px}
@media(min-width:1024px){.t-google-search .sec--long .sec__head{margin-bottom:22px}}

/* Khối liên hệ: ảnh ngang 768×404 + ảnh nhỏ 252×220 + ảnh ngang 503×220 (hai ảnh dưới cùng cao 220px: bộ ảnh dựng để nằm cạnh nhau).
   Theme cho ảnh không-ngang duy nhất chiếm cả hàng, cắt vuông → ảnh 252px bị phóng lên 335px (điện thoại) / 477px (máy tính), mờ,
   và 3 ảnh chồng cao ~700–1000px trước form. → ảnh nhỏ 1/3 hàng + ảnh ngang ngay sau nó 2/3 hàng, cùng chiều cao (cắt nhẹ cho khít):
   khối liên hệ trên điện thoại ngắn hơn ~400px, trên máy tính cột ảnh cao ngang form.
   Chỉ khi đúng cặp "ảnh không-ngang + ảnh ngang liền sau" (:has); trình duyệt không hỗ trợ :has giữ bố cục của theme. */
.t-google-search #dang-ky .contact__imgs:has(> .span-6:not(.is-wide) + .is-wide) > .span-6:not(.is-wide){grid-column:span 2}
.t-google-search #dang-ky .contact__imgs:has(> .span-6:not(.is-wide) + .is-wide) > .span-6:not(.is-wide) + .is-wide{grid-column:span 4}
.t-google-search #dang-ky .contact__imgs:has(> .span-6:not(.is-wide) + .is-wide) > .span-6:not(.is-wide) img{aspect-ratio:8/7;height:100%;object-fit:cover}
.t-google-search #dang-ky .contact__imgs:has(> .span-6:not(.is-wide) + .is-wide) > .span-6:not(.is-wide) + .is-wide img{height:100%;object-fit:cover}

/* ===== home.css ===== */
/* ==========================================================================
   Trang chủ (templates/home.php). Mọi bộ chọn nằm trong khung .t-home.
   Ưu tiên điện thoại (min-width); dùng biến màu của theme.css.
   ========================================================================== */

/* Không để một chữ rơi xuống dòng cuối ("Trọn / Gói?", "Hôm / Nay!", "cùng / The7?", "kết / quả").
   Dùng "pretty" (chỉ sửa cuối đoạn) thay vì "balance": balance cắt đôi từ ghép tiếng Việt ("Dịch / Vụ", "Quảng / Cáo").
   Không áp cho tên dịch vụ: tên riêng cuối dòng ("… Quảng Cáo / LinkedIn") đọc tự nhiên hơn "Quảng / Cáo LinkedIn". */
.t-home .hero-home__title,.t-home .sec__title,.t-home .media__title,.t-home .cta__title,.t-home .wf__title,
.t-home .card__title,.t-home .faq__q,.t-home .niche__hint,
.t-home .hero-home__sub,.t-home .sec__lead,.t-home .cta__text,.t-home .svc__text,.t-home .feature__text,
.t-home .wf__text,.t-home .quote__text,.t-home .card__excerpt{text-wrap:pretty}

/* Đoạn dẫn dưới tiêu đề khối: khung 760px cho dòng ~95–100 ký tự trên máy tính (khó đọc khi căn giữa) → tối đa ~80 ký tự */
.t-home .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.t-home .sec__head--left .sec__lead{margin-left:0}

/* Nút "Xem các dịch vụ" (#services) và các neo khác: khối dừng ngay dưới header dính (72/84px), nhãn khối không bị che */
.t-home section[id]{scroll-margin-top:var(--hh)}

/* ---------- Hero ---------- */
/* Điện thoại: hai nút cùng bề rộng, xếp dọc (trước: nút vàng tràn hàng, nút viền co theo chữ) */
.t-home .hero-home__cta .btn{width:100%;padding-left:20px;padding-right:20px}
@media(min-width:640px){.t-home .hero-home__cta .btn{width:auto;padding-left:30px;padding-right:30px}}
/* Máy tính: ảnh nằm giữa theo chiều dọc, khung 4:3 bo đủ 4 góc (trước: ảnh 2:1 thấp, dính đáy, khoảng trống lớn phía trên) */
@media(min-width:1024px){
  .t-home .hero-home__grid{padding:56px 0 72px;min-height:0}
  .t-home .hero-home__media{align-self:center}
  .t-home .hero-home__media img{aspect-ratio:4/3;max-height:none;object-fit:cover;object-position:60% 30%;border-radius:var(--r-lg);box-shadow:0 24px 60px rgba(0,0,0,.35)}
}

/* ---------- Năng lực (số liệu) ---------- */
/* Điện thoại: "100.000+" chạm hai mép thẻ ở 375px → cỡ số theo bề rộng màn hình */
.t-home .stat{padding:20px 10px}
.t-home .stat__n{font-size:clamp(22px,7vw,34px)}
@media(min-width:900px){.t-home .stat{padding:22px 12px}.t-home .stat__n{font-size:clamp(34px,4vw,48px)}}

/* ---------- Giới thiệu (chữ + ảnh) ---------- */
/* Máy tính bảng: ảnh minh hoạ rộng 728px chiếm cả màn hình → chia 2 cột từ 768px */
@media(min-width:768px){.t-home #gioi-thieu .media{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}}
@media(min-width:900px){.t-home #gioi-thieu .media{gap:56px}}

/* ---------- Dịch vụ ---------- */
/* máy tính 4 cột: tên 1 dòng và 2 dòng xen kẽ làm phần mô tả lệch hàng → tên luôn chiếm 2 dòng */
@media(min-width:1024px){.t-home .svc__title{min-height:2.4em}}

/* ---------- Lợi ích ---------- */
/* chữ thẻ là .prose (17px, màu chữ chính) đè cỡ 15px/màu nhạt của .feature__text → cùng cỡ với thẻ dịch vụ */
.t-home .feature__text{font-size:14.5px;line-height:1.65;color:var(--mute)}
@media(min-width:640px){.t-home .feature__text{font-size:15px}}

/* ---------- Ngành hàng ---------- */
.t-home .niche{min-height:0;padding:16px 10px;gap:6px}
/* dòng "Nhận báo giá về lĩnh vực →": mũi tên đi liền chữ cuối, không đứng riêng cạnh khối 2 dòng */
.t-home .niche__hint{display:block;line-height:1.45}
.t-home .niche__end{white-space:nowrap}
.t-home .niche__hint .ic{margin-left:4px;vertical-align:-2px}
/* 10 ngành: 640–767px giữ 2 cột (3 cột để lại 1 thẻ lẻ ở hàng cuối), từ 768px 5 cột = 2 hàng đủ */
@media(min-width:640px){.t-home .niches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.t-home .niches{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1024px){.t-home .niche{min-height:128px;padding:18px 12px;gap:8px}}

/* ---------- Nhận xét ---------- */
/* biểu tượng "quote" vẽ nét viền trông như cặp kính → dấu ngoặc kép chữ (trang trí, trình đọc màn hình bỏ qua) */
.t-home .quote__ic{display:none}
.t-home .quote::before{content:"\201C";content:"\201C" / "";display:block;height:34px;margin:-4px 0 8px;font:700 64px/1 Georgia,"Times New Roman",serif;color:var(--cta)}
/* ảnh đại diện bị co thành hình bầu dục khi chức danh dài */
.t-home .quote__av{flex:none}
.t-home .quote__by small{display:block;margin-top:2px;line-height:1.45}

/* ---------- Blog ---------- */
/* 5 bài chọn tay: hàng cuối lệch (3+2 trên máy tính, 2+2+1 trên máy tính bảng) → thẻ hàng cuối nằm giữa */
@media(min-width:640px){
  .t-home #blog .cards{display:flex;flex-wrap:wrap;justify-content:center}
  .t-home #blog .card{flex:0 0 calc((100% - 22px) / 2);max-width:calc((100% - 22px) / 2)}
}
@media(min-width:1024px){
  .t-home #blog .cards{gap:28px}
  .t-home #blog .card{flex-basis:calc((100% - 56px) / 3);max-width:calc((100% - 56px) / 3)}
}

/* ---------- Kêu gọi cuối trang ---------- */
/* tiêu đề in bằng thẻ <p> (không thêm H2) nên mất độ đậm của tiêu đề */
.t-home .cta__title{font-weight:800;letter-spacing:-.015em}

/* ===== landing.css ===== */
/* ==========================================================================
   Landing do plugin dựng (templates/landing.php): LinkedIn, ChatGPT, YouTube. Mọi bộ chọn nằm trong khung .landing-content.
   Chỉ xử lý chỗ ghép theme ↔ plugin (header cố định, menu ngăn kéo); giao diện bên trong do CSS của từng plugin lo.
   ========================================================================== */

/* Landing YouTube (plugin the7-youtube-landing) không tự chừa chỗ cho header cố định của theme — LinkedIn / ChatGPT thì tự đo
   #header bằng JS (--li-hh / --cg-hh). Đẩy nội dung xuống đúng chiều cao header (72px, từ 1024px là 84px) để nút VI/EN,
   nhãn đầu hero và mép trên form không bị header che. */
body.the7c-landing .landing-content.landing-content--youtube{padding-top:var(--hh)}
/* Link neo trong trang ("Xem cách chúng tôi triển khai" → #t7-process, "Nhận tư vấn" → #t7-form): dừng ngay dưới header */
.landing-content--youtube [id]{scroll-margin-top:calc(var(--hh) + 16px)}

/* Menu ngăn kéo đang mở (dưới 1200px): thanh hành động / nút nổi của plugin có z-index cao hơn lớp header (900) nên đè lên
   menu và lớp phủ. Ẩn tạm khi menu mở — giống cách theme.css ẩn #button-contact-vr. */
body.nav-open .landing-content .li-bar,body.nav-open .landing-content .li-float,
body.nav-open .landing-content .cg-bar,body.nav-open .landing-content .cg-float,
body.nav-open .landing-content .t7-float{display:none!important}

@media print{body.the7c-landing .landing-content.landing-content--youtube{padding-top:0}}

/* CTA cuối của landing ChatGPT / LinkedIn: vầng sáng mạnh nhất ở mép dưới gặp chân trang navy thành một đường cắt cứng → chuyển dần về màu chân trang */
.landing-content #the7cg .cg-final{background-image:linear-gradient(180deg,rgba(11,31,58,0) 58%,#0b1f3a 100%),radial-gradient(900px 420px at 50% 125%,rgba(16,163,127,.42),rgba(16,163,127,0) 66%)}
.landing-content #the7li .li-final{background-image:linear-gradient(180deg,rgba(11,31,58,0) 58%,#0b1f3a 100%),radial-gradient(900px 420px at 50% 125%,rgba(10,102,194,.6),rgba(10,102,194,0) 66%)}
/* Landing YouTube: dòng chú thích dưới nút "Nhận báo giá cho ngân sách này" chưa có kiểu trong plugin */
.landing-content--youtube .t7-price-note{max-width:680px;margin:16px auto 0;text-align:center;font-size:13px;line-height:1.6;color:var(--ink-soft,#5b6b80)}

/* ===== marketing-consultant.css ===== */
/* ==========================================================================
   Mẫu "Marketing Consultant" (templates/marketing-consultant.php). Mọi bộ chọn nằm trong khung .t-marketing-consultant / .t-marketing-consultant-*.
   Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…là / gì?", "…cho doanh / nghiệp", "…Mục / Tiêu", "…cho / bạn!",
   "…hôm / nay", "…TCL 8- / Series", "…Target / Market", "…Strategy / Goals"). "pretty" (chỉ sửa cuối đoạn) như trang chủ;
   không đặt "balance" cho mọi tiêu đề trang VI (balance tách đôi từ ghép tiếng Việt: "chiến / lược", "tư / vấn"). */
.t-marketing-consultant :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.feature__title,.feature__text,.cta__title,.cta__text,.faq__q,.card__title,.t-marketing-consultant-case__title),
.t-marketing-consultant #quy-trinh .prose h3{text-wrap:pretty}
/* "pretty" của Chrome bỏ qua chữ cuối dài ("…Chiến Lược / Marketing", "…Consulting / Services") → chia đều dòng ("balance"):
   trang EN: mọi tiêu đề khối căn giữa; trang VI: chỉ tiêu đề Blog ("Blog Kiến Thức Về / Chiến Lược Marketing" trên điện thoại).
   Nhãn nút xuống 2 dòng trên điện thoại ("…chuyên gia / ngay") cũng chia đều. */
html:lang(en) .t-marketing-consultant .sec__head:not(.sec__head--left) .sec__title,.t-marketing-consultant #blog .sec__title,.t-marketing-consultant .btn{text-wrap:balance}
/* H1 trang VI trên máy tính (chữ 50px, khung 760px): "…trọn gói cho doanh / nghiệp" → khung 12em để xuống dòng thành
   "Dịch vụ tư vấn chiến lược / Marketing trọn gói cho / doanh nghiệp". H1 tiếng Anh vẫn 2 dòng trong khung cũ. */
@media(min-width:1024px){html:lang(vi) .t-marketing-consultant .hero__title{max-width:12em}}
/* Dải kêu gọi: tiêu đề in bằng thẻ <p> (giữ cấu trúc tiêu đề cũ) nên mất độ đậm → đậm như tiêu đề khối, giống trang chủ */
.t-marketing-consultant .cta__title{font-weight:800;letter-spacing:-.015em}
/* Đoạn dẫn dưới tiêu đề khối căn giữa: khung 760px cho dòng ~95–100 ký tự trên máy tính → tối đa ~80 ký tự, như trang chủ */
.t-marketing-consultant .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.t-marketing-consultant .sec__head--left .sec__lead{margin-left:0}
/* Chữ đậm nằm trong link theo màu link: link "Dịch vụ Marketing trọn gói" / "Full-Service Marketing" lưu dạng <a><strong>…</strong></a>
   nên bị tô navy như chữ thường, trong khi hai link bên dưới (<strong><a>…</a></strong>) màu link */
.t-marketing-consultant .prose a :is(strong,b){color:inherit}

/* Tổng quan: ảnh minh hoạ vuông nền trong (mẫu cũ in rộng 220px) → thu nhỏ để cân với một đoạn chữ */
.t-marketing-consultant-intro .media__img img{max-width:240px}
@media(min-width:900px){.t-marketing-consultant-intro .media__img img{max-width:360px}}

/* Khi nào cần tư vấn: 8 ý đánh số sẵn, mỗi ý một đoạn → khoảng cách gọn hơn đoạn văn thường; ảnh bóng đèn nhỏ lại */
.t-marketing-consultant-when .media__body .prose p{margin:0 0 .8em}
.t-marketing-consultant-when .media__body .prose p:last-child{margin-bottom:0}
.t-marketing-consultant-when .media__img img{max-width:260px}
@media(min-width:900px){.t-marketing-consultant-when .media__img img{max-width:400px}}

/* Quy trình 6 bước: chữ dài in đầy đủ như mẫu cũ (không thu gọn) → vạch mảnh ngăn giữa các bước (H3 "Bước N") cho dễ dò */
.t-marketing-consultant #quy-trinh .prose h3{margin-top:1.5em;padding-top:1.1em;border-top:1.5px solid var(--line)}
.t-marketing-consultant #quy-trinh .prose h3:first-child{margin-top:0;padding-top:0;border-top:0}
/* Khung 820px cho dòng ~105 ký tự trên máy tính (khó đọc với ~1.500 chữ) → 640px, ~80–85 ký tự mỗi dòng */
.t-marketing-consultant #quy-trinh .wrap--narrow{max-width:640px}

/* Dự án tiêu biểu: mỗi case study một hàng ảnh + chữ (điện thoại: ảnh trên, chữ dưới; từ 900px: so le phải/trái qua .media--rev) */
.t-marketing-consultant-cases__list{display:grid;gap:48px}
.t-marketing-consultant-case{gap:20px}
.t-marketing-consultant-case .media__img img{display:block}
.t-marketing-consultant-case__title{font-size:21px;font-size:clamp(21px,2.3vw,26px);line-height:1.3}
.t-marketing-consultant-case__title a{color:inherit;text-decoration:underline;text-decoration-color:var(--cta);text-decoration-thickness:3px;text-underline-offset:5px}
.t-marketing-consultant-case__title a:hover{color:var(--link)}
.t-marketing-consultant-case .media__body .prose{margin-top:12px;font-size:16px;line-height:1.7}
.t-marketing-consultant-case .media__body .prose p{margin:0 0 .8em}
.t-marketing-consultant-case .media__body .prose p:last-child{margin-bottom:0}
@media(min-width:900px){.t-marketing-consultant-cases__list{gap:72px}.t-marketing-consultant-case{gap:56px}}

/* 3 con số kết quả: số + mũi tên tăng/giảm (như mẫu cũ) + nhãn; gọn trên điện thoại để 3 ô vẫn nằm một hàng.
   Nhãn chữ nhỏ trên nền --soft: dùng --text, đậm 600 như mẫu cũ (--mute trên --soft chỉ 4.40:1, dưới mức AA 4.5:1) */
.t-marketing-consultant-results{gap:10px;margin-top:18px}
.t-marketing-consultant-results li{justify-content:flex-start;padding:14px 8px}
.t-marketing-consultant-results .results__n{display:flex;align-items:center;justify-content:center;gap:.22em;font-size:20px;font-size:clamp(18px,5.6vw,22px);line-height:1.2;white-space:nowrap}
.t-marketing-consultant-results .results__l{margin-top:4px;font-size:12.5px;line-height:1.35;font-weight:600;color:var(--text)}
.t-marketing-consultant-trend{flex:none;width:.5em;height:.43em;color:var(--ok)}
.t-marketing-consultant-trend--down{transform:rotate(180deg)}
@media(min-width:600px){
  .t-marketing-consultant-results{gap:12px}
  .t-marketing-consultant-results .results__n{font-size:26px}
  .t-marketing-consultant-results .results__l{font-size:13.5px}
}
@media(min-width:1024px){.t-marketing-consultant-results .results__n{font-size:30px}}

/* FAQ: chữ cũ tô cứng màu đỏ (#ff0000) cho link Liên hệ / số hotline → đổi về màu của theme, vẫn giữ chữ đậm */
.t-marketing-consultant .faq__a span[style*="color"]{color:var(--ink)!important}
.t-marketing-consultant .faq__a a[style*="color"]{color:var(--link)!important}

/* Blog (9 bài chọn tay): 7 bài chưa có ảnh đại diện → thẻ không ảnh lệch hẳn thẻ có ảnh (máy tính: thẻ thứ 3 hàng đầu trống nửa dưới;
   điện thoại: thẻ vuốt kéo cao bằng thẻ có ảnh, trống phần dưới). Thẻ không ảnh có ô bìa navy + logo trắng mờ, cùng khung 16:10 với
   ảnh thật (chỉ trang trí bằng CSS, không phải <img>); bài nào được gắn ảnh đại diện thì ảnh thật tự thay ô bìa. */
.t-marketing-consultant #blog .card:not(:has(> .card__media))::before{content:"";display:block;flex:none;aspect-ratio:16/10;background:linear-gradient(rgba(11,31,58,.5),rgba(11,31,58,.5)),url("/wp-content/uploads/2019/09/the7-logo-white-280x130.png") center/104px auto no-repeat,linear-gradient(135deg,#1d3b66 0%,var(--ink) 75%)}
/* Từ máy tính bảng: lưới 2 cột với 9 thẻ để một thẻ lẻ nằm lệch trái ở hàng cuối → thẻ lẻ nằm giữa (như trang chủ) */
@media(min-width:640px){
  .t-marketing-consultant #blog .cards{display:flex;flex-wrap:wrap;justify-content:center}
  .t-marketing-consultant #blog .card{flex:0 0 calc((100% - 22px) / 2);max-width:calc((100% - 22px) / 2)}
}
@media(min-width:1024px){
  .t-marketing-consultant #blog .cards.cols-3{gap:28px}
  .t-marketing-consultant #blog .cards.cols-3 .card{flex-basis:calc((100% - 56px) / 3);max-width:calc((100% - 56px) / 3)}
}
@media(min-width:1200px){
  .t-marketing-consultant #blog .cards.cols-4{gap:24px}
  .t-marketing-consultant #blog .cards.cols-4 .card{flex-basis:calc((100% - 72px) / 4);max-width:calc((100% - 72px) / 4)}
}

/* ===== online-advertising.css ===== */
/* ==========================================================================
   Mẫu "Online Advertising" (templates/online-advertising.php). Mọi bộ chọn nằm trong khung .t-online-advertising / .t-online-advertising-*.
   Ưu tiên điện thoại (min-width); dùng biến màu của theme.css. Chỉ đổi cách trình bày: chữ, tiêu đề, link, ảnh giữ nguyên.
   ========================================================================== */

/* Không để một chữ rơi xuống dòng cuối ("… trực / tuyến", "… cùng / The7", "… hôm / nay!", "… khách / hàng"). Dùng "pretty" như trang chủ
   (balance cắt đôi từ ghép tiếng Việt); không áp cho tên dịch vụ (tên riêng cuối dòng đọc tự nhiên hơn). Trình duyệt cũ giữ cách ngắt thường. */
.t-online-advertising :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.cta__title,.cta__text,.feature__title,.feature__text,.wf__title,.wf__text,.step__title,.faq__q,.card__title,.card__excerpt){text-wrap:pretty}
/* Trang EN: "pretty" không kéo được chữ mồ côi ở vài tiêu đề ("… Advertising / Services", "… Services / Today!", H1 điện thoại "… / Services",
   bước "… client's / requirements") → tiêu đề dùng "balance" (tiếng Anh không có từ ghép bị cắt đôi như tiếng Việt) */
html:lang(en) .t-online-advertising :is(.hero__title,.sec__title,.step__title){text-wrap:balance}

/* Đoạn dẫn dưới tiêu đề khối: khung 760px cho dòng ~100 ký tự trên máy tính → tối đa ~80 ký tự (như trang chủ) */
.t-online-advertising .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.t-online-advertising .sec__head--left .sec__lead{margin-left:0}

/* Dải kêu gọi (vàng giữa trang, navy cuối trang): tiêu đề in bằng thẻ <p> (không thêm H2) nên mất độ đậm của tiêu đề → đậm như trang chủ */
.t-online-advertising .cta__title{font-weight:800;letter-spacing:-.015em}

/* ---------- Tổng quan ---------- */
/* Ảnh minh hoạ PNG nền trong suốt (500×300): bóng + bo góc của .media__img tạo khung trắng quanh ảnh, máy tính bảng/máy tính phóng ảnh quá cỡ gốc (mờ)
   → đặt trên nền xám nhạt bo góc, không bóng, ảnh tối đa cỡ gốc 500px (không dùng width:auto: ảnh lazy "sizes=auto" của WordPress
   có contain-intrinsic-size 3000px nên width:auto vẫn phóng to). Chân màn hình trong ảnh gốc bị cắt sát mép dưới → ảnh nằm sát đáy khung. */
.t-online-advertising #gioi-thieu .media__img{display:flex;justify-content:center;align-items:flex-end;padding:20px 20px 0;border-radius:var(--r-lg);background:var(--soft)}
.t-online-advertising #gioi-thieu .media__img img{width:100%;max-width:500px;border-radius:0;box-shadow:none}
@media(min-width:900px){.t-online-advertising #gioi-thieu .media__img{padding:32px 32px 0}}

/* ---------- Các nền tảng triển khai ---------- */
/* Điện thoại (< 640px): 7 hàng ảnh + chữ xếp dọc cao ~4.400px → thẻ vuốt ngang như .rail-m của theme (thẻ rộng 84%, thấy mép thẻ kế bên).
   Mọi thẻ: ảnh khung 3:2 (ảnh gốc 1,33–2,04:1, chỉ cắt nhẹ hai bên / trên dưới), nút nằm ở đáy thẻ, các thẻ cao bằng nhau;
   khung 3:2 đặt trên .media__img, không đặt aspect-ratio cho <img>: trả về "auto" ở màn lớn sẽ bỏ tỉ lệ width/height của thẻ img
   và ảnh lazy "sizes=auto" của WordPress cao 1500px;
   nút rộng hết thẻ, chữ căn trái (tên dài như "Dịch Vụ Digital Display Advertising" xuống dòng gọn, mũi tên ở mép phải).
   Từ 640px: hàng ảnh + chữ so le trái/phải (.media--rev) — trước đây ảnh rộng cả màn hình máy tính bảng. */
.t-online-advertising-platforms__list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:4px var(--gut) 16px;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.t-online-advertising-platforms__list::-webkit-scrollbar{display:none}
.t-online-advertising-platform{display:flex;flex-direction:column;flex:0 0 84%;max-width:84%;min-width:0;gap:0;scroll-snap-align:start;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.t-online-advertising-platform .media__img{aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.t-online-advertising-platform .media__img img{display:block;height:100%;object-fit:cover;border-radius:0;box-shadow:none}
.t-online-advertising-platform .media__body{display:flex;flex-direction:column;flex:1 1 auto;padding:16px 18px 18px}
.t-online-advertising-platform__title{font-size:19px;line-height:1.3}
/* Link trong tên dịch vụ: inline-block + đệm 8px → vùng bấm cao ≥ 40px trên điện thoại (dòng chữ 19px chỉ ~25px); lề âm bù lại phần đệm nên bố cục không đổi */
.t-online-advertising-platform__title a{display:inline-block;padding:8px 0;margin:-8px 0;color:inherit;text-decoration:underline;text-decoration-color:var(--cta);text-decoration-thickness:3px;text-underline-offset:5px}
.t-online-advertising-platform__title a:hover{color:var(--link)}
.t-online-advertising-platform .media__body .prose{margin-top:8px;font-size:15px;line-height:1.65}
.t-online-advertising-platform .media__body .prose p:last-child{margin-bottom:0}
.t-online-advertising-platform .media__cta{margin-top:auto;padding-top:16px}
.t-online-advertising-platform .media__cta .btn{display:flex;width:100%;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px 10px 16px;font-size:14px;line-height:1.3;text-align:left}
@media(min-width:640px){
  .t-online-advertising-platforms__list{display:grid;gap:48px;margin-left:0;margin-right:0;padding:0;overflow:visible;scroll-snap-type:none}
  .t-online-advertising-platform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:none;border:0;border-radius:0;background:none;overflow:visible}
  .t-online-advertising-platform.media--rev .media__img{order:2}
  .t-online-advertising-platform .media__img{aspect-ratio:auto;overflow:visible;background:none}
  .t-online-advertising-platform .media__img img{height:auto;border-radius:var(--r-lg);box-shadow:var(--sh)}
  .t-online-advertising-platform .media__body{display:block;padding:0}
  .t-online-advertising-platform__title{font-size:22px;font-size:clamp(22px,2.4vw,28px);line-height:1.25}
  .t-online-advertising-platform .media__body .prose{margin-top:12px;font-size:16px;line-height:1.75}
  .t-online-advertising-platform .media__cta{margin-top:20px;padding-top:0}
  /* cột chữ chỉ ~286px ở 640–700px: nút gọn hơn để tên dịch vụ nằm một dòng */
  .t-online-advertising-platform .media__cta .btn{display:inline-flex;width:auto;justify-content:center;gap:8px;min-height:50px;padding:12px 20px;font-size:14.5px;line-height:1.25;text-align:center}
}
@media(min-width:900px){
  .t-online-advertising-platforms__list{gap:72px}
  .t-online-advertising-platform{gap:56px}
  .t-online-advertising-platform .media__cta .btn{padding:12px 24px;font-size:15.5px}
}

/* ---------- Ưu điểm ---------- */
/* chữ thẻ là .prose (17px, màu chữ chính) đè cỡ 15px / màu nhạt của .feature__text trên máy tính → cùng cỡ với thẻ trang chủ */
.t-online-advertising .feature__text{font-size:14.5px;line-height:1.65;color:var(--mute)}
@media(min-width:640px){.t-online-advertising .feature__text{font-size:15px}}

/* ---------- Đội ngũ (khối chữ một cột) ---------- */
/* Máy tính: dòng chữ ~100–110 ký tự trong khung 820px → tối đa ~80 ký tự; tiêu đề căn trái gần đoạn chữ hơn (52px → 28px) */
.t-online-advertising #doi-ngu .sec__head{margin-bottom:24px}
.t-online-advertising #doi-ngu .prose{max-width:640px}
@media(min-width:1024px){.t-online-advertising #doi-ngu .sec__head{margin-bottom:28px}}

/* ---------- Vì sao chọn The7 ---------- */
/* ảnh minh hoạ gốc ~2:1 → khung 2:1 để không cắt hai bên */
.t-online-advertising #vi-sao-the7 .wf__img{aspect-ratio:2/1}
/* Máy tính bảng (640–1023px, lưới 2 cột): 3 thẻ → thẻ thứ 3 đứng lẻ bên trái → thẻ hàng cuối nằm giữa. Từ 1024px trở lại lưới 3 cột của theme */
@media(min-width:640px){
  .t-online-advertising #vi-sao-the7 .wf{display:flex;flex-wrap:wrap;justify-content:center}
  .t-online-advertising #vi-sao-the7 .wf__it{flex:0 0 calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}
}
@media(min-width:1024px){
  .t-online-advertising #vi-sao-the7 .wf{display:grid}
  .t-online-advertising #vi-sao-the7 .wf__it{max-width:none}
}

/* ---------- Blog ---------- */
/* đúng 4 bài chọn tay → không để thẻ thứ 4 đứng lẻ một hàng (thư viện in cols-3, 3 cột từ 1024px):
   1024–1199px lưới 2×2 như máy tính bảng (thẻ ~465px; 4 cột thì chỉ ~223px), từ 1200px 4 cột. Trình duyệt chưa hỗ trợ :has() giữ bố cục của thư viện */
@media(min-width:1024px){.t-online-advertising #blog .cards:has(> .card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.t-online-advertising #blog .cards:has(> .card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}
/* Thẻ hẹp (thẻ vuốt trên điện thoại, 4 cột trên máy tính): chuyên mục dài ("DIGITAL MARKETING") đẩy ngày xuống dòng ở thẻ này mà không ở thẻ kia
   → tiêu đề các thẻ lệch hàng. Luôn xếp chuyên mục trên, ngày dưới. Máy tính bảng từ 768px (thẻ ~350px) giữ một dòng. */
.t-online-advertising #blog .card__meta{flex-direction:column;align-items:flex-start;gap:2px}
@media(min-width:768px){.t-online-advertising #blog .card__meta{flex-direction:row;align-items:center;gap:8px 12px}}
@media(min-width:1200px){.t-online-advertising #blog .cards.cols-4 .card__meta{flex-direction:column;align-items:flex-start;gap:2px}}

/* ---------- FAQ ---------- */
/* mỗi dòng danh sách cũ đã bắt đầu bằng dấu gạch "– " → bỏ chấm tròn để không bị hai dấu đầu dòng; thụt treo .8em (bề rộng "– ")
   để dòng thứ hai thẳng hàng với chữ sau dấu gạch thay vì nằm dưới dấu gạch */
.t-online-advertising .faq__a ul{list-style:none;padding-left:0}
.t-online-advertising .faq__a li{margin:.45em 0;padding-left:.8em;text-indent:-.8em}
/* câu trả lời mở ra rộng ~785px trên máy tính (~105 ký tự/dòng) → tối đa ~80 ký tự/dòng; bỏ lề dưới của khối cuối (đáy câu trả lời
   cách đường kẻ 18px như phía trên, trước đây ~38px) */
.t-online-advertising .faq__a :is(p,ul,ol){max-width:640px}
.t-online-advertising .faq__a > :last-child{margin-bottom:0}

/* ===== tiktok.css ===== */
/* ==========================================================================
   Mẫu "TikTok Ads" (templates/tiktok.php). Mọi bộ chọn nằm trong khung .t-tiktok / .t-tiktok-*.
   Ưu tiên điện thoại; dùng biến màu của theme.css.
   ========================================================================== */

/* Hero: dòng phụ lưu chữ thường ("tăng lượt truy cập & doanh thu") → viết hoa chữ cái đầu khi hiển thị */
.t-tiktok .hero__sub::first-letter{text-transform:uppercase}

/* Tiêu đề / đoạn dẫn không để một chữ rơi xuống dòng cuối ("…Quảng cáo / Tiktok", "…TikTok / The7", "…TikTok / Retargeting",
   "…advise / you"). "pretty" (chỉ sửa dòng cuối) như trang chủ, không "balance" (tách từ ghép tiếng Việt). */
.t-tiktok :is(.hero__title,.hero__sub,.sec__title,.sec__lead,.media__title,.cta__title,.feature__title,.feature__text,.wf__title,.wf__text,.faq__q,.t-tiktok-pricing__intro){text-wrap:pretty}
/* "pretty" bỏ qua chữ cuối dài ("…TikTok / Retargeting", "…Advertising / Services", "…for / Businesses") → chia đều dòng ("balance"):
   trang EN: mọi tiêu đề khối căn giữa; trang VI: chỉ tiêu đề phễu trên máy tính (balance tách từ ghép ở tiêu đề VI khác: "dịch / vụ", "Quảng / cáo") */
html:lang(en) .t-tiktok .sec__head:not(.sec__head--left) .sec__title{text-wrap:balance}
@media(min-width:1024px){.t-tiktok .t-tiktok-funnel .sec__title{text-wrap:balance}}
/* Dải kêu gọi: tiêu đề in bằng thẻ <p> (giữ cấu trúc tiêu đề cũ) nên mất độ đậm → đậm như tiêu đề khối, giống trang chủ */
.t-tiktok .cta__title{font-weight:800;letter-spacing:-.015em}
/* Đoạn dẫn dưới tiêu đề khối (căn giữa): khung 760px cho dòng ~95 ký tự trên máy tính → tối đa ~80 ký tự, như trang chủ */
.t-tiktok .sec__lead{max-width:640px;margin-left:auto;margin-right:auto}
.t-tiktok .sec__head--left .sec__lead{margin-left:0}

/* Thẻ lợi ích: chữ cũ căn giữa nội tuyến và link Statista bị tô cứng màu #333 → căn và tô màu theo thẻ */
.t-tiktok .feature__text [style*="text-align"]{text-align:inherit!important}
.t-tiktok .feature__text a[style*="color"]{color:var(--link)!important}

/* Tab hình thức quảng cáo: ảnh mẫu tỉ lệ 3:2 có chữ sát mép → khung 3:2 để không cắt (theme mặc định 16:10) */
.t-tiktok .sec--tabs .wf__img{aspect-ratio:3/2}
/* Nút tab trên điện thoại: 3 nút (Nhận diện / Tương tác / Chuyển đổi; EN Awareness / Engagement / Conversion) rộng hơn khung →
   nút thứ 3 bị cắt ở mép phải, không có dấu hiệu cuộn. Nút gọn hơn (vẫn cao 44px), xuống hàng và căn giữa nếu vẫn không vừa. */
.t-tiktok .tabs__list{flex-wrap:wrap;justify-content:center;overflow:visible}
.t-tiktok .tabs__btn{padding:9px 12px;font-size:14px}
/* Từ máy tính bảng: thẻ lẻ cuối hàng nằm giữa (tab Tương tác 3 thẻ → 2 + 1) */
@media(min-width:640px){
  .t-tiktok .tabs__btn{padding:10px 18px;font-size:14.5px}
  .t-tiktok .sec--tabs .wf{display:flex;flex-wrap:wrap;justify-content:center}
  .t-tiktok .sec--tabs .wf__it{flex:0 0 calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}
}
@media(min-width:1024px){
  .t-tiktok .sec--tabs .wf__it{flex-basis:calc((100% - 48px) / 3);max-width:calc((100% - 48px) / 3)}
  /* Tab đúng 4 thẻ (Nhận diện / Chuyển đổi): giữ 2 cột (2 + 2) thay vì 3 + 1 thẻ lẻ một mình ở hàng dưới;
     thẻ có chữ dài + danh sách nên 2 cột còn dễ đọc hơn 4 cột hẹp. Tab 3 thẻ vẫn 3 cột. */
  .t-tiktok .sec--tabs .wf__it:first-child:nth-last-child(4),
  .t-tiktok .sec--tabs .wf__it:first-child:nth-last-child(4) ~ .wf__it{flex-basis:calc((100% - 24px) / 2);max-width:calc((100% - 24px) / 2)}
}

/* Báo giá: câu giới thiệu dịch vụ TikTok Shop nằm giữa hai danh sách hạng mục (hoặc hai bảng 4 cột, khi bảng cũ có ô không phải dấu tích) */
.t-tiktok-pricing .t-tiktok-pricing__intro{max-width:760px;margin:30px auto 16px;text-align:center;font-size:16.5px;line-height:1.55;color:var(--ink)}
@media(min-width:1024px){.t-tiktok-pricing .t-tiktok-pricing__intro{margin-top:40px;font-size:18px}}
/* Bảng 4 cột giữ nguyên (khi có ô "Thực hiện" không phải dấu tích): cùng bề rộng với danh sách, nền trắng trên dải nền phụ */
.t-tiktok-pricing .pricing{max-width:980px;margin-left:auto;margin-right:auto}
.t-tiktok-pricing .pricing table{background:#fff}
/* Danh sách hạng mục trên điện thoại: 20 hộp rời xếp chồng (~1.300px) → mỗi danh sách là một khung có vạch chia (như FAQ), ngắn hơn ~250px.
   Từ 720px trở lại lưới 2 cột hộp rời của theme. */
.t-tiktok .t-tiktok-pricing .checks{gap:0;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.t-tiktok .t-tiktok-pricing .checks li{padding:12px 16px;border:0;border-top:1px solid var(--line);border-radius:0}
.t-tiktok .t-tiktok-pricing .checks li:first-child{border-top:0}
@media(min-width:720px){
  .t-tiktok .t-tiktok-pricing .checks{gap:12px;border:0;border-radius:0;background:none;overflow:visible}
  .t-tiktok .t-tiktok-pricing .checks li,.t-tiktok .t-tiktok-pricing .checks li:first-child{padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm)}
}

/* Retargeting: ảnh báo cáo + 4 giai đoạn phễu (đoạn <strong>tên giai đoạn</strong> + đoạn mô tả) đánh số 1–4 */
.t-tiktok-funnel .media{align-items:start}
.t-tiktok-funnel .media--single{text-align:left}
.t-tiktok-funnel__steps--num.prose{counter-reset:t-tiktok-stage}
.t-tiktok-funnel__steps--num.prose p{margin:0 0 20px;padding-left:46px;font-size:16px;line-height:1.65}
.t-tiktok-funnel__steps--num.prose p:last-child{margin-bottom:0}
.t-tiktok-funnel__steps--num.prose p.t-tiktok-stage{position:relative;margin:0 0 6px;font-size:18px;line-height:1.35;color:var(--ink)}
.t-tiktok-funnel__steps--num.prose p.t-tiktok-stage::before{counter-increment:t-tiktok-stage;content:counter(t-tiktok-stage);position:absolute;left:0;top:-4px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--cta);font-size:15px;font-weight:800;letter-spacing:0}
/* Ảnh báo cáo (ảnh chụp bảng TikTok Ads Manager) có sẵn nền xám trống ~25% phía trên và ~28% phía dưới trong file → khung 19:10 cắt bỏ
   phần trống, giữ trọn bảng (bảng nằm hơi cao hơn giữa ảnh: canh 45%). Máy tính: ảnh nằm giữa theo chiều dọc cạnh 4 giai đoạn. */
.t-tiktok .t-tiktok-funnel .media__img img{aspect-ratio:19/10;object-fit:cover;object-position:50% 45%}
@media(min-width:900px){
  .t-tiktok-funnel .media:not(.media--single){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}
  .t-tiktok .t-tiktok-funnel .media__img{align-self:center}
  /* Chỉ còn ảnh hoặc chỉ còn chữ (phễu thiếu ảnh / thiếu 4 giai đoạn, khối giới thiệu thiếu video) → 1 cột.
     theme.css đặt .media--single 1 cột TRƯỚC quy tắc 2 cột của .media từ 900px (cùng độ ưu tiên) nên bị đè: đặt lại ở đây. */
  .t-tiktok .media--single{grid-template-columns:minmax(0,1fr)}
}

/* Tiêu đề form có sẵn link tới bài hướng dẫn: giữ màu tiêu đề, gạch chân vàng thương hiệu */
.t-tiktok .sec--contact .sec__title a{color:inherit;text-decoration:underline;text-decoration-color:var(--cta);text-decoration-thickness:3px;text-underline-offset:5px}
.t-tiktok .sec--contact .sec__title a:hover{color:var(--link)}

/* Bảng so sánh Facebook Ads / TikTok Ads trong câu trả lời FAQ: kẻ ô đều, hàng đầu là tiêu đề; ô gọn trên điện thoại (3 cột vẫn vừa khung) */
.t-tiktok .faq__a table{width:100%;border-collapse:collapse;border:1px solid var(--line)}
.t-tiktok .faq__a td,.t-tiktok .faq__a th{padding:8px 9px;border:1px solid var(--line);font-size:13.5px;line-height:1.45;vertical-align:middle;overflow-wrap:normal}
.t-tiktok .faq__a tbody > tr:first-child > td{background:var(--soft);color:var(--ink);font-weight:700}
.t-tiktok .faq__a td p{margin:0}
@media(min-width:640px){.t-tiktok .faq__a td,.t-tiktok .faq__a th{padding:10px 12px;font-size:14.5px;line-height:1.5}}

/* ===== website-design.css ===== */
/* ==========================================================================
   Thiết kế website — templates/web-design.php (trang dịch vụ, 2 trang) + templates/website-design.php (20 trang theo ngành).
   Mọi bộ chọn nằm trong lớp bọc .t-website-design… của 2 mẫu. Ưu tiên điện thoại; màu/bo góc lấy từ biến của theme.css.
   ========================================================================== */

/* Ảnh minh hoạ là PNG nền trong suốt (mockup máy tính / điện thoại): giữ nguyên tỉ lệ, không cắt, không khung bóng */
.t-website-design .hero__img{aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none}
.t-website-design .media__img img{border-radius:0;box-shadow:none}
/* Khối chỉ còn ảnh (dự phòng khi khối chưa có tiêu đề lẫn nội dung): một ảnh ở giữa, vừa phải */
.t-website-design .gallery.cols-1{grid-template-columns:minmax(0,1fr);max-width:640px;margin-left:auto;margin-right:auto}
.t-website-design .gallery__it img{border-radius:0;box-shadow:none}

/* Ô H1 cũ chứa cả một câu dài (trang trang sức VI/EN) → cỡ chữ vừa phải; link "The7" trong H1 giữ màu link, gạch chân khi rê chuột */
.t-website-design--long-h1 .hero__title{font-size:26px;font-size:clamp(26px,3.4vw,38px);line-height:1.22}
.t-website-design .hero__title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* Danh sách ul.infoList trong nội dung cũ: mỗi ý = dấu tích + tiêu đề H3 + mô tả (thay cho chấm tròn) */
.t-website-design .infoList{display:grid;gap:16px;margin:0 0 1.2em;padding:0;list-style:none}
.t-website-design .infoList li{position:relative;margin:0;padding-left:36px}
.t-website-design .infoList li::before{content:"";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--ok-s) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d7f56' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center/15px no-repeat}
.t-website-design .infoList h3{margin:0 0 4px;font-size:17.5px;line-height:1.35}
.t-website-design .infoList p{margin:0 0 .4em;font-size:16px;line-height:1.65}
.t-website-design .infoList p:last-child{margin-bottom:0}

/* Trang dịch vụ — ảnh chụp website mẫu: khung trình duyệt, xếp dọc. Điện thoại: chữ trước; máy tính: ảnh bên trái */
.t-website-design-shots .media__img{display:grid;gap:16px}
.t-website-design-shots .t-website-design-shot{margin:0;overflow:hidden;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh)}
.t-website-design-shots .t-website-design-shot::before{content:"";display:block;height:24px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 14px 50%,#ff5f57 0 4px,transparent 4.5px),radial-gradient(circle at 28px 50%,#febc2e 0 4px,transparent 4.5px),radial-gradient(circle at 42px 50%,#28c840 0 4px,transparent 4.5px),var(--soft)}
.t-website-design-shots .t-website-design-shot img{display:block;width:100%;height:auto;border-radius:0;box-shadow:none}
@media(min-width:900px){.t-website-design-shots .media__img{order:-1}}

/* Trang dịch vụ — thẻ ngành hàng (dùng lại .niches/.niche của trang chủ): ảnh lớn hơn, cả thẻ là link */
.t-website-design-niches .niche{height:100%;justify-content:flex-start;padding:16px 10px 14px}
.t-website-design-niches a.niche,.t-website-design-niches a.niche:hover{text-decoration:none}
.t-website-design-niches .niche__ic{height:auto}
.t-website-design-niches .niche__ic img{width:auto;height:76px;max-height:none;object-fit:contain}
.t-website-design-niches .niche__name{margin:0;font-size:16px}
@media(min-width:1024px){.t-website-design-niches .niche__ic img{height:96px}}

/* Trang dịch vụ — dịch vụ khác (khối .sec--services duy nhất của trang): ảnh tròn gốc thay cho ô icon navy.
   Điện thoại: thẻ dạng hàng, ảnh 56px bên trái (lưới của theme.css; trên máy tính .svc là flex nên cột lưới không có tác dụng).
   Từ 640px: thẻ dọc, ảnh 72px */
.t-website-design .sec--services .svc{grid-template-columns:56px minmax(0,1fr)}
.t-website-design .sec--services .svc__ic{width:56px;height:56px;border-radius:50%;background:none;overflow:hidden}
.t-website-design .sec--services .svc__ic img{width:56px;height:56px;object-fit:cover;filter:none}
@media(min-width:640px){
  .t-website-design .sec--services .svc__ic,.t-website-design .sec--services .svc__ic img{width:72px;height:72px}
}

/* Trang theo ngành — bảng giá (khối .sec--plans duy nhất của trang): mỗi dòng gồm 2 dòng chữ (nhãn / giá trị) → giãn dòng gọn hơn */
.t-website-design .sec--plans .plan__list li{line-height:1.45}

/* ---------- Sửa sau khi xem 375 / 1280 px ---------- */

/* Tiêu đề, dòng phụ ngắn: không để một chữ rơi xuống dòng cuối ("…Tạo Doanh / Thu", "…Đa / Kênh", "…đầu / tiên") */
.t-website-design :is(.hero__title,.sec__title,.media__title,.media__sub,.cta__title,.step__title,.feature__title,.svc__title,.plan__title,.infoList h3){text-wrap:balance}
/* Đoạn văn (kể cả dòng đậm làm tiêu đề phụ "Làm cho website thân thiện với thiết bị di / động:"): tránh một chữ lẻ ở dòng cuối */
.t-website-design .prose p{text-wrap:pretty}

/* Dải kêu gọi cuối trang: tiêu đề in bằng <p> (không thêm H2) nhưng đậm như mọi tiêu đề khác, không mảnh chữ thường */
.t-website-design .cta__title{font-weight:800;letter-spacing:-.015em}

/* Chữ thẻ tính năng / bước quy trình là .prose (17px, dòng 1.75, màu chữ chính) đè cỡ nhỏ + màu nhạt của .feature__text / .step__text
   → về đúng cỡ thiết kế (như trang chủ): tiêu đề thẻ nổi hơn chữ mô tả, khối ngắn lại trên điện thoại */
.t-website-design .feature__text{font-size:14.5px;line-height:1.65;color:var(--mute)}
.t-website-design .step__text{font-size:15.5px;line-height:1.65;color:var(--mute)}
@media(min-width:640px){.t-website-design .feature__text{font-size:15px}}

/* Ảnh minh hoạ khi bố cục một cột (máy tính bảng 600–899px): không kéo giãn tràn ~730px (ảnh gốc chỉ rộng 540–785px → mờ, chiếm cả màn hình);
   tối đa 560px, nằm giữa. Điện thoại và máy tính 2 cột không đổi (cột hẹp hơn 560px). Ảnh chụp website mẫu (trong figure) không thuộc quy tắc này */
.t-website-design .hero__img,.t-website-design .media__img > img{display:block;max-width:min(100%,560px);margin-left:auto;margin-right:auto}
.t-website-design-shots .media__img{width:100%;max-width:560px;margin-left:auto;margin-right:auto}

/* Trang dịch vụ — 10 thẻ ngành hàng, máy tính bảng 640–1023px: thay 3 + 3 + 3 + 1 (thẻ "Sách" lẻ một mình) bằng 4 thẻ/hàng, hàng cuối nằm giữa.
   Điện thoại (2 cột) và máy tính (5 cột) vẫn đủ hàng như cũ */
@media(min-width:640px){
  .niches.t-website-design-niches{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
  .niches.t-website-design-niches > li{flex:0 0 calc((100% - 42px) / 4);min-width:0}
}
@media(min-width:1024px){
  .niches.t-website-design-niches > li{flex-basis:calc((100% - 56px) / 5)}
}

/* Quy trình 5 bước, máy tính 3 cột: hàng cuối (2 bước) nằm giữa thay vì lệch trái chừa trống cột phải */
@media(min-width:1024px){
  .t-website-design .steps.cols-3{display:flex;flex-wrap:wrap;justify-content:center}
  .t-website-design .steps.cols-3 > .step{flex:0 0 calc((100% - 48px) / 3);min-width:0}
}

/* Bảng giá — điện thoại: 4 gói xếp dọc (~1.800px) → thẻ vuốt ngang như .rail-m của theme (thấy mép gói kế bên), các thẻ cao bằng nhau.
   Từ 720px: lưới 2 × 2; 4 cột chỉ từ 1200px (1024–1199px thẻ quá hẹp, giá "17,000,000 VND" xuống dòng).
   Giá 26px để "17,000,000 VND" nằm một dòng ở thẻ 4 cột; các dòng hạng mục không giãn cách theo chiều cao thẻ; dấu tích ngang dòng đầu */
.t-website-design .plans{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:4px var(--gut) 16px;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.t-website-design .plans::-webkit-scrollbar{display:none}
.t-website-design .plans > .plan{flex:0 0 84%;max-width:340px;min-width:0;scroll-snap-align:start}
.t-website-design .plan__price{font-size:26px;letter-spacing:-.01em}
.t-website-design .plan__list{align-content:start}
.t-website-design .plan__list .ic{align-self:flex-start}
@media(min-width:720px){
  .t-website-design .plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-left:0;margin-right:0;padding:0;overflow:visible;scroll-snap-type:none}
  .t-website-design .plans > .plan{max-width:none}
}
@media(min-width:1200px){
  .t-website-design .plans.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .t-website-design .plans.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
