*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:3px solid var(--vie-red);outline-offset:4px}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;padding:12px 18px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header__inner{display:flex;align-items:center;gap:32px;min-height:78px}
.site-brand{flex:none;min-width:150px}
.site-brand .custom-logo{width:auto;max-width:170px;max-height:50px;object-fit:contain}
.site-brand__text{font-size:24px;font-weight:900;letter-spacing:-.055em;line-height:1;color:var(--vie-blue)}
.site-brand__text span{display:block;font-size:10px;letter-spacing:.23em;text-transform:uppercase;margin-top:5px}
.primary-nav{margin-inline:auto}
.primary-nav__list{display:flex;align-items:center;gap:clamp(10px,1.5vw,24px);list-style:none;padding:0;margin:0}
.primary-nav a{font-size:16px;font-weight:750;text-transform:uppercase;white-space:nowrap}
.primary-nav a:hover,.text-link:hover{color:var(--vie-blue)}
.header-actions,.hero__actions{display:flex;align-items:center;gap:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 19px;border:1px solid var(--vie-blue);border-radius:7px;font-size:14px;font-weight:750;line-height:1.3;text-align:center;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button--primary{background:var(--vie-blue);color:#fff}
.button--primary:hover{background:var(--vie-blue-deep)}
.button--outline{background:#fff;color:var(--vie-blue)}
.button--outline:hover{background:#eef3fd}
.menu-toggle{display:none}
.hero{padding:clamp(48px,6vw,94px) 0 clamp(76px,8vw,116px);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(34px,5vw,82px);align-items:center}
.eyebrow{color:var(--vie-blue);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.16em;margin:0 0 22px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.04em}
.hero h1{max-width:760px;font-size:clamp(42px,5vw,70px);margin:0 0 26px}
.hero__lead{font-size:18px;line-height:1.72;color:var(--muted);max-width:610px;margin-bottom:30px}
.hero__actions{flex-wrap:wrap;margin-bottom:30px}
.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--vie-blue);font-size:15px;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.hero__visual{min-height:540px;position:relative;display:flex;align-items:stretch;background:linear-gradient(145deg,#e7edf7,#f5f7fa 58%,#e7ebf2);border-radius:var(--radius);overflow:hidden}
.hero__visual::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:34%;background:linear-gradient(transparent,rgba(5,24,58,.48));pointer-events:none}
.hero__image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.hero__image-empty{display:grid;place-content:center;text-align:center;width:100%;padding:30px;color:var(--vie-blue)}
.hero__image-empty span{font-size:clamp(30px,4vw,58px);font-weight:850;letter-spacing:-.06em}
.hero__image-empty p{font-size:14px;color:var(--muted)}
.hero__visual-label{position:absolute;z-index:1;left:28px;bottom:25px;color:#fff;font-size:13px;font-weight:700}
.section{padding-block:var(--section-space)}
.section--muted{background:var(--surface)}
.section-heading{max-width:750px;margin-bottom:38px}
.section-heading h2{font-size:clamp(34px,3.8vw,52px);margin-bottom:20px}
.section-heading>p:not(.eyebrow){color:var(--muted);max-width:620px}
.needs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.need-card{position:relative;display:flex;flex-direction:column;min-height:270px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .2s,transform .2s}
.need-card:hover{border-color:var(--vie-blue);transform:translateY(-4px)}
.need-card__number{color:var(--vie-blue);font-size:13px;font-weight:800}
.need-card h3{font-size:clamp(23px,2.2vw,31px);margin:auto 0 25px}
.need-card__arrow{align-self:flex-end;color:var(--vie-blue);font-size:25px}
.need-card--accent{background:var(--vie-blue);color:#fff;border-color:var(--vie-blue)}
.need-card--accent .need-card__number,.need-card--accent .need-card__arrow{color:#fff}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.details-grid .section-heading{margin:0}
.detail-list{border-top:1px solid var(--line)}
.detail-list>div{display:flex;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.detail-list span{color:var(--vie-blue);font-size:13px;font-weight:800}
.detail-list strong{font-size:20px;line-height:1.3}
.page-content{padding-block:80px;min-height:55vh}.page-content h1{font-size:clamp(36px,4vw,58px)}.entry-content{max-width:800px}
.site-footer{background:#102449;color:#fff;padding:64px 0}
.site-footer__inner{display:flex;justify-content:space-between;gap:40px}
.site-footer strong{font-size:21px}.site-footer p{color:#c6d1e2;font-size:14px;margin:7px 0}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px}.site-footer a:hover{text-decoration:underline}
@media(max-width:1120px){.site-header__inner{gap:16px}.primary-nav__list{gap:10px}.primary-nav a{font-size:14px}.header-actions .button{padding-inline:12px}}
@media(max-width:850px){.container{width:min(var(--container),calc(100% - 36px))}.site-header__inner{min-height:68px;flex-wrap:wrap}.menu-toggle{display:grid;gap:5px;place-content:center;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;background:var(--vie-blue)}.header-actions{order:2}.header-actions .button--outline{display:none}.primary-nav{display:none;order:3;flex-basis:100%;margin:0;padding:0 0 18px}.primary-nav.is-open{display:block}.primary-nav__list{display:grid;gap:0}.primary-nav li{border-top:1px solid var(--line)}.primary-nav a{display:block;padding:12px 0;font-size:15px}.hero__grid{grid-template-columns:1fr}.hero__visual{min-height:430px}.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid{grid-template-columns:1fr}}
@media(max-width:520px){body{font-size:16px}.hero{padding-block:50px 70px}.hero h1{font-size:clamp(38px,10vw,46px)}.hero__lead{font-size:17px}.hero__actions{align-items:stretch}.hero__actions .button{flex:1 1 100%}.hero__visual{min-height:350px}.section{padding-block:64px}.section-heading h2{font-size:36px}.needs-grid{gap:9px}.need-card{min-height:190px;padding:17px}.need-card h3{font-size:23px}.detail-list strong{font-size:18px}.site-footer__inner{display:block}.site-footer nav{margin-top:30px;display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Điểm nhấn đỏ VIE: dùng ít, giữ xanh là màu hành động chính. */
.eyebrow::before{content:"";display:inline-block;width:18px;height:3px;margin-right:11px;vertical-align:middle;background:var(--vie-red);border-radius:2px}
.primary-nav a{position:relative}
.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--vie-red);transition:right .2s}
.primary-nav a:hover::after,.primary-nav a:focus-visible::after{right:0}
.hero__visual-label{border-left:3px solid var(--vie-red);padding-left:12px}
.need-card:not(.need-card--accent) .need-card__number{color:var(--vie-red)}
.detail-list>div:first-child{border-top:3px solid var(--vie-red)}
.text-link{text-decoration-color:var(--vie-red)}
@media(max-width:850px){.primary-nav a::after{bottom:7px;right:100%}.primary-nav a:hover::after,.primary-nav a:focus-visible::after{right:0}}

/* Trang chủ hoàn chỉnh và trang lõi. */
.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px);align-items:center}
.split-panel .section-heading{margin:0}.feature-list{border-top:1px solid var(--line)}
.feature-list>div{padding:21px 0;border-bottom:1px solid var(--line)}.feature-list span,.steps-grid span,.path-card__index{color:var(--vie-red);font-size:13px;font-weight:800;letter-spacing:.08em}
.feature-list h3{font-size:23px;margin:8px 0}.feature-list p,.path-card p,.steps-grid p{color:var(--muted);margin:0}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.path-card{display:flex;flex-direction:column;align-items:flex-start;min-height:330px;padding:clamp(25px,3vw,42px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;scroll-margin-top:110px}.path-card h3{font-size:clamp(28px,3vw,40px);margin:24px 0 16px}.path-card .button{margin-top:auto}.path-card p{margin-bottom:30px}.path-card--blue{background:var(--vie-blue);color:#fff;border-color:var(--vie-blue)}.path-card--blue p{color:#dce7fa}.path-card--blue .path-card__index{color:#ffb7bf}
.button--light{background:#fff;color:var(--vie-blue);border-color:#fff}.button--light:hover{background:#e8effb}.button--light-outline{color:#fff;border-color:rgba(255,255,255,.7);background:transparent}.button--light-outline:hover{background:rgba(255,255,255,.12)}
.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:360px;padding:32px;text-align:center;border:1px solid #dbe3f1;border-radius:var(--radius);background:linear-gradient(145deg,#eaf0fa,#f8fafc);color:var(--vie-blue)}.media-placeholder strong{font-size:clamp(23px,3vw,35px);letter-spacing:-.04em}.media-placeholder span{margin-top:8px;color:var(--muted);font-size:14px}.media-placeholder--portrait{min-height:440px}.media-placeholder--short{min-height:290px}
.steps-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:0;margin:0}.steps-grid li{border-top:2px solid var(--vie-red);padding-top:21px}.steps-grid h3{font-size:24px;margin:25px 0 12px}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.topic-grid a{display:flex;justify-content:space-between;gap:12px;min-height:110px;align-items:flex-end;padding:22px;border:1px solid var(--line);border-radius:var(--radius);font-weight:750;background:#fff}.topic-grid a:hover{border-color:var(--vie-blue);color:var(--vie-blue)}.topic-grid span{color:var(--vie-red)}
.final-cta{background:var(--vie-blue);color:#fff}.final-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.final-cta__inner>div:first-child{max-width:700px}.final-cta h2{font-size:clamp(36px,4vw,54px);margin:0 0 16px}.final-cta p:not(.eyebrow){color:#dce7fa;margin:0}.final-cta .eyebrow{color:#ffb7bf;margin-bottom:18px}.final-cta .hero__actions{margin:0;flex:none}
.breadcrumbs{display:flex;gap:11px;align-items:center;padding-top:30px;font-size:13px;color:var(--muted)}.breadcrumbs a:hover{color:var(--vie-blue);text-decoration:underline}.page-hero{padding:56px 0 78px}.page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,75px);align-items:center}.page-hero h1{font-size:clamp(43px,5vw,70px);margin-bottom:26px}
.section-nav{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:14px;padding-bottom:14px}.section-nav a{padding:7px 12px;border-radius:5px;font-size:13px;font-weight:700;color:var(--vie-blue)}.section-nav a:hover{background:#edf2fc}
.inline-note{padding:30px;border-left:3px solid var(--vie-red);background:#fff;border-radius:0 12px 12px 0}.inline-note h3{font-size:23px}.inline-note p{margin:6px 0 0;color:var(--muted)}.path-grid+.inline-note,.steps-grid+.inline-note{margin-top:24px}
.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-weight:750;font-size:19px;color:var(--ink)}.faq details p{color:var(--muted);margin:15px 0 4px}
section[id],article[id],div[id]{scroll-margin-top:100px}
@media(max-width:850px){.split-panel,.page-hero__grid{grid-template-columns:1fr}.final-cta__inner{display:block}.final-cta .hero__actions{margin-top:28px}.page-hero{padding:42px 0 60px}.steps-grid{gap:16px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.path-grid,.steps-grid,.topic-grid{grid-template-columns:1fr}.path-card{min-height:280px}.steps-grid{gap:34px}.media-placeholder{min-height:250px}.media-placeholder--portrait{min-height:320px}.section-nav{flex-wrap:nowrap;overflow-x:auto}.section-nav a{white-space:nowrap}.page-hero h1{font-size:clamp(38px,10vw,46px)}.final-cta .hero__actions{align-items:stretch}.final-cta .button{flex:1 1 100%}}

/* Hướng dẫn và biểu mẫu yêu cầu. */
.guide-hero{max-width:var(--container);padding-top:55px;padding-bottom:55px}.guide-hero h1{max-width:850px;font-size:clamp(42px,5vw,68px);margin:0 0 25px}.guide-hero>p:not(.eyebrow){max-width:780px;font-size:19px;color:var(--muted)}
.guide-layout{display:grid;grid-template-columns:230px minmax(0,820px);gap:clamp(35px,6vw,95px);padding-bottom:100px}.guide-toc{display:flex;flex-direction:column;align-self:start;position:sticky;top:110px;gap:13px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);font-size:14px}.guide-toc strong{color:var(--vie-blue);margin-bottom:7px}.guide-toc a:hover{color:var(--vie-blue);text-decoration:underline}.guide-content>section{padding:10px 0 34px;border-bottom:1px solid var(--line);margin-bottom:32px}.guide-content h2{font-size:clamp(29px,3vw,40px);margin-bottom:16px}.guide-content p{color:var(--muted)}.guide-content .inline-note h2{font-size:24px;margin:0}.guide-next{display:flex;flex-wrap:wrap;gap:14px 25px;margin-top:34px;color:var(--vie-blue);font-weight:750;text-decoration:underline;text-decoration-color:var(--vie-red);text-underline-offset:5px}
.request-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:clamp(35px,5vw,80px);align-items:start;padding-bottom:100px}.request-form{min-width:0}.request-progress{display:flex;gap:8px;margin-bottom:25px}.request-progress span{flex:1;padding:10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;font-weight:750}.request-progress .is-active{border-color:var(--vie-red);color:var(--vie-blue)}.request-step{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,38px);margin:0 0 16px}.request-step legend{float:left;width:100%;font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1.2;margin-bottom:27px}.request-step label{display:block;font-size:14px;font-weight:750;margin:19px 0 7px}.request-step label span{color:var(--muted);font-weight:400}.request-step textarea,.request-step input:not([type=checkbox]){width:100%;min-height:48px;padding:12px 14px;border:1px solid #cdd6e3;border-radius:7px;color:var(--ink);background:#fff;font:inherit}.request-step textarea{resize:vertical}.request-step .consent{display:flex;align-items:flex-start;gap:11px;line-height:1.5}.consent input{margin-top:5px;flex:none}.request-disclaimer{font-size:13px;color:var(--muted)}.request-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.request-controls button{cursor:pointer}.request-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-message{padding:16px 20px;margin-bottom:20px;border-left:3px solid var(--vie-blue);background:#edf3fc}.request-message--error{border-color:var(--vie-red);background:#fff3f3}
.request-aside{position:sticky;top:110px}.request-preview{padding:clamp(25px,3vw,36px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.request-preview h2{font-size:clamp(27px,3vw,37px);margin-bottom:26px}.request-preview dl{margin:0}.request-preview dl>div{padding:12px 0;border-top:1px solid var(--line)}.request-preview dt{color:var(--muted);font-size:13px}.request-preview dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.request-preview__note{font-size:13px;color:var(--muted);margin:22px 0 0}.request-aside>.text-link{margin-top:20px}
@media(max-width:850px){.guide-layout,.request-grid{grid-template-columns:1fr}.guide-toc,.request-aside{position:static}.guide-toc{display:block}.guide-toc a{display:inline-block;margin:9px 13px 0 0}.request-aside{order:-1}.request-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}}
@media(max-width:520px){.guide-hero{padding-top:44px;padding-bottom:30px}.guide-hero>p:not(.eyebrow){font-size:17px}.guide-layout{padding-bottom:64px}.request-progress span{font-size:10px;padding:7px 3px}.request-preview dl{display:block}.request-aside{order:0}.request-grid{padding-bottom:65px}}

/* Mẫu sơ mi 2D: phác thảo cấu hình, không thay thế mẫu sản xuất. */
.concept-controls{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.concept-controls p{font-weight:800;margin:0}.concept-controls p span{display:block;font-weight:400;font-size:13px;color:var(--muted)}.request-step .concept-controls label{margin-top:15px}.request-step .concept-controls input[type=color]{display:block;width:72px;height:46px;padding:3px;border:1px solid #cdd6e3;border-radius:6px;cursor:pointer}.concept-controls select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cdd6e3;border-radius:7px;background:#fff;color:var(--ink);font:inherit}
.shirt-preview{margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.shirt-preview__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 20px;border-bottom:1px solid var(--line);font-size:14px}.shirt-preview__views{display:flex;gap:4px;padding:3px;background:var(--surface);border-radius:7px}.shirt-preview__views button{border:0;border-radius:5px;background:transparent;color:var(--vie-blue);padding:7px 10px;font-size:12px;font-weight:750;cursor:pointer}.shirt-preview__views button.is-active{background:#fff;box-shadow:0 1px 4px #10244920}.shirt-preview__stage{display:grid;place-items:center;min-height:330px;background:radial-gradient(circle at 50% 37%,#fff 5%,#edf3fb 100%)}.shirt-preview__art{width:min(100%,310px);max-height:340px}.shirt-preview__art[hidden]{display:none}.shirt-preview__body,.shirt-preview__sleeve path:not(.shirt-preview__seam),.shirt-preview__collar{fill:var(--shirt-color);stroke:#657b97;stroke-width:1.8;stroke-linejoin:round}.shirt-preview__seam{fill:none;stroke:#7186a1;stroke-width:1.4;stroke-linecap:round}.shirt-preview__collar{stroke-width:1.7}.shirt-preview[data-sleeve=long] .shirt-preview__sleeve--short,.shirt-preview[data-sleeve=short] .shirt-preview__sleeve--long{display:none}.shirt-preview__mark rect{fill:#fff;stroke:#003399;stroke-width:1}.shirt-preview__mark text{font:700 5px system-ui,sans-serif;fill:#003399;text-anchor:middle}.shirt-preview[data-logo=left] .shirt-preview__mark--right,.shirt-preview[data-logo=right] .shirt-preview__mark--left,.shirt-preview[data-logo=none] .shirt-preview__mark{display:none}.shirt-preview__caption{padding:0 20px 20px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:520px){.shirt-preview__header{display:block}.shirt-preview__views{margin-top:12px;width:max-content}.shirt-preview__stage{min-height:260px}.shirt-preview__art{max-height:280px}}

.site-footer__contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.site-footer__contact span{flex-basis:100%;color:#c6d1e2;font-size:13px}.site-footer__contact a{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:1px solid #8297bc;border-radius:7px;color:#fff;font-size:14px;font-weight:700}.site-footer__contact a:last-child{background:#fff;color:var(--vie-blue);border-color:#fff}.site-footer__contact a:hover{background:#253f6b;text-decoration:none}.site-footer__contact a:last-child:hover{background:#e8effb}

/* Liên hệ nổi theo hai ảnh tham chiếu: PC Zalo, mobile thanh 5 nút. */
.desktop-zalo{position:fixed;right:24px;top:48%;z-index:80;display:grid;place-items:center;width:66px;height:66px;border:5px solid #fff;border-radius:50%;background:#0878ed;color:#fff;font-size:17px;font-weight:800;box-shadow:0 6px 20px #082a5a30;transition:transform .2s}.desktop-zalo:hover{transform:translateY(-3px)}.mobile-contact-dock{display:none}
@media(max-width:760px){body{padding-bottom:calc(79px + env(safe-area-inset-bottom,0px))}.desktop-zalo{display:none}.mobile-contact-dock{position:fixed;z-index:90;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;width:min(100%,520px);min-height:73px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border:1px solid #e3e8f0;border-bottom:0;border-radius:15px 15px 0 0;background:#fff;box-shadow:0 -6px 24px #10244914}.mobile-contact-dock a{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:3px;min-width:0;min-height:56px;color:#64707b;font-size:12px;line-height:1.15;text-align:center}.mobile-contact-dock a:hover,.mobile-contact-dock a:focus-visible{color:var(--vie-blue)}.mobile-contact-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-contact-dock a:nth-child(2) svg{fill:currentColor;stroke:none}.mobile-contact-dock__main{color:var(--vie-blue)!important;font-weight:800}.mobile-contact-dock__circle{display:grid;place-items:center;width:52px;height:52px;margin-top:-33px;border:4px solid #fff;border-radius:50%;background:#fff;color:var(--vie-blue);box-shadow:0 2px 12px #10244928}.mobile-contact-dock__circle svg{width:27px;height:27px}.mobile-contact-dock__main>span:last-child{margin-top:0}}

/* Danh mục bài viết Tin tức. */
.news-page__header{max-width:760px;margin-bottom:38px}.news-page__header h1{font-size:clamp(38px,5vw,62px);margin-bottom:14px}.news-page__description{color:var(--muted)}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.news-card__media{display:grid;place-items:center;aspect-ratio:3/2;background:var(--surface);color:var(--vie-blue);font-size:22px;font-weight:800}.news-card__media img{width:100%;height:100%;object-fit:cover}.news-card__body{padding:22px}.news-card time{color:var(--muted);font-size:13px}.news-card h2{font-size:24px;margin:12px 0}.news-card h2 a:hover{color:var(--vie-blue)}.news-card p{color:var(--muted);font-size:15px}.news-card .text-link{font-size:14px}.news-page__empty{padding:28px;border-left:3px solid var(--vie-red);background:var(--surface)}.news-page .navigation.pagination{margin-top:36px}
@media(max-width:850px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.news-grid{grid-template-columns:1fr}}

/* Các lựa chọn phác thảo trên trang thiết kế. */
.concept-color-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.concept-swatches{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.concept-swatches button{width:32px;height:32px;padding:0;border:2px solid #bdc8d8;border-radius:50%;background:var(--swatch);cursor:pointer}.concept-swatches button.is-active{outline:2px solid var(--vie-blue);outline-offset:2px}.concept-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.shirt-preview__pocket{fill:var(--shirt-color);stroke:#657b97;stroke-width:1.5}.shirt-preview[data-pocket=none] .shirt-preview__pocket,.shirt-preview[data-collar=stand] .shirt-preview__collar--classic,.shirt-preview:not([data-collar=stand]) .shirt-preview__collar--stand{display:none}
@media(max-width:520px){.concept-control-grid{grid-template-columns:1fr}}

/* Designer: four shirt variants share the same tailored outline. */
.shirt-preview__header>div:first-child{display:grid;gap:2px}.shirt-preview__header [data-shirt-variant-label]{font-size:12px;color:#547093;font-weight:600}.shirt-preview__stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 33%,#fff 0%,#f2f6fc 57%,#e9f0f9 100%)}
.shirt-preview__art{filter:drop-shadow(0 13px 9px #1c345a1c);transition:filter .25s}.shirt-preview__placket{fill:var(--placket-color);stroke:#7186a1;stroke-width:1.1;stroke-linejoin:round}.shirt-preview__fold{fill:none;stroke:#627894;stroke-opacity:.24;stroke-width:2;stroke-linecap:round}.shirt-preview__buttons circle{stroke:#6f829b;stroke-width:.65}.shirt-preview__collar--classic .shirt-preview__collar,.shirt-preview__collar--stand .shirt-preview__collar{fill:var(--shirt-color)}
.shirt-preview__return{border:1px solid #b9cce6;border-radius:8px;background:#fff;color:var(--vie-blue);font-weight:750;font-size:12px;padding:8px 11px;cursor:pointer}.shirt-preview[data-ai-mode=image] .shirt-preview__views{display:none}.shirt-preview[data-ai-mode=image] .shirt-preview__art,.shirt-preview[data-ai-mode=loading] .shirt-preview__art{visibility:hidden}.shirt-preview__ai-image{width:min(100%,460px);height:auto;max-height:440px;object-fit:contain;display:block;padding:12px}.shirt-preview__ai-image[hidden],.shirt-preview__return[hidden],.shirt-preview__loading[hidden]{display:none!important}
.shirt-preview__loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--vie-blue);font-size:13px;font-weight:750}.shirt-preview__loading svg{width:min(100%,310px);max-height:275px;fill:none;stroke:var(--vie-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:860;stroke-dashoffset:860;animation:aosomi-sketch 4s ease-in-out infinite}.shirt-preview__loading span{background:#fffdf2;padding:6px 12px;border-radius:20px}@keyframes aosomi-sketch{0%{stroke-dashoffset:860;opacity:.5}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-860;opacity:.5}}
.ai-panel{border:1px solid #c9dcf5;border-radius:14px;background:#fff;margin:0 0 16px;overflow:hidden;box-shadow:0 5px 18px #1839680c}.ai-panel h3{margin:0;background:#e6f0ff;color:var(--vie-blue);font-size:17px;letter-spacing:.02em;padding:12px 17px}.ai-panel__body{padding:15px}.ai-panel label{font-size:15px;font-weight:800;color:var(--vie-blue)}.ai-panel__body>p{margin:5px 0 8px;font-size:12px;color:#5e7290}.ai-panel__input-row{display:flex;align-items:center;gap:6px;border:1px solid #bbd2f2;border-radius:28px;padding:4px 5px 4px 12px;box-shadow:0 2px 9px #1b579013}.ai-panel__input-row input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:13px;color:#263c5c}.ai-panel__input-row button{border:0;border-radius:25px;background:var(--vie-blue);color:#fff;font-size:12px;font-weight:850;padding:10px 15px;cursor:pointer;box-shadow:0 2px 8px #00339926}.ai-panel__input-row button:disabled{opacity:.65;cursor:wait}.ai-panel small{display:block;margin-top:8px;color:#5e7290;font-size:11px}.ai-panel__status{min-height:0;font-weight:700;color:var(--vie-blue)!important}.ai-panel__status:empty{display:none}.ai-panel__trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
@media(prefers-reduced-motion:reduce){.shirt-preview__loading svg{animation:none;stroke-dashoffset:0}}

/* Mockup ảnh thật: thân áo và nẹp phối là hai lớp độc lập. */
.shirt-preview__stage{min-height:390px}
.shirt-preview__mockup{position:relative;width:min(100%,430px);margin:auto;isolation:isolate}
.shirt-preview__mockup[hidden]{display:none}
.shirt-preview__mockup img{position:relative;z-index:2;display:block;width:100%;height:auto;mix-blend-mode:multiply}
.shirt-preview__fabric,.shirt-preview__placket-layer{position:absolute;inset:0;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.shirt-preview__fabric{z-index:1;background:var(--shirt-color);-webkit-mask-image:var(--mockup-mask);mask-image:var(--mockup-mask)}
.shirt-preview__placket-layer{z-index:3;background:var(--placket-color);-webkit-mask-image:var(--placket-mask);mask-image:var(--placket-mask)}
.shirt-preview[data-placket=same] .shirt-preview__placket-layer{display:none}
.shirt-preview__pocket-layer{position:absolute;z-index:4;left:56.9%;top:22.9%;width:10.8%;aspect-ratio:320/327;pointer-events:none;filter:drop-shadow(1px 2px 1px #21304b38)}
.shirt-preview__pocket-layer>img{position:relative;z-index:2;display:block;width:100%;height:100%;mix-blend-mode:multiply}
.shirt-preview__pocket-color{position:absolute;inset:0;z-index:1;background:var(--shirt-color);-webkit-mask:var(--pocket-mask) center/100% 100% no-repeat;mask:var(--pocket-mask) center/100% 100% no-repeat}
.shirt-preview[data-pocket=none] .shirt-preview__pocket-layer{display:none}
.shirt-preview[data-ai-mode=image] .shirt-preview__mockup,.shirt-preview[data-ai-mode=loading] .shirt-preview__mockup{visibility:hidden}
@media(max-width:520px){.shirt-preview__stage{min-height:320px}.shirt-preview__mockup{width:min(100%,340px)}}

/* Mobile: header cuộn theo trang, nhường chỗ cho thanh liên hệ cố định phía dưới. */
@media(max-width:760px){.site-header{position:relative;top:auto}.site-header__inner{min-height:58px}.site-brand .custom-logo{max-height:42px}.header-actions{display:none}.breadcrumbs{padding-top:18px}.guide-hero{padding-top:32px}}

/* Báo giá tự động chỉ hiển thị khi admin đã nhập giá cho cấu hình. */
.shirt-quote-page{padding-bottom:90px}.shirt-quote-page .guide-hero{padding-inline:0}.shirt-quote-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.8fr);align-items:start;gap:30px}.shirt-quote-form{display:grid;gap:20px}.shirt-quote-card,.shirt-quote-summary{padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--radius);background:#fff}.shirt-quote-card h2,.shirt-quote-summary h2{font-size:clamp(24px,3vw,34px);margin-bottom:25px}.shirt-quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shirt-quote-fields label{display:grid;gap:7px;font-size:14px;font-weight:750}.shirt-quote-fields input,.shirt-quote-fields select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cdd6e3;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.shirt-quote-card .consent{display:flex;gap:9px;align-items:flex-start;margin:22px 0;line-height:1.45}.shirt-quote-card .consent input{margin-top:5px}.shirt-quote-summary{position:sticky;top:110px;background:var(--surface)}.shirt-quote-summary h2{color:var(--vie-blue)}.shirt-quote-summary dl{margin:0 0 18px}.shirt-quote-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.shirt-quote-summary dt{color:var(--muted)}.shirt-quote-summary dd{margin:0;font-weight:750;text-align:right}.shirt-quote-summary>p:not(.eyebrow){font-size:14px;color:var(--muted)}.shirt-quote-summary .text-link{margin-top:15px}
@media(max-width:850px){.shirt-quote-layout{grid-template-columns:1fr}.shirt-quote-summary{position:static;order:-1}}
@media(max-width:520px){.shirt-quote-fields{grid-template-columns:1fr}.shirt-quote-page{padding-bottom:70px}.shirt-quote-summary dl>div{display:block}.shirt-quote-summary dd{text-align:left}}

/* Bảng giá khảo sát công khai, tách khỏi công thức báo giá VIE Uniform. */
.shirt-market-reference{margin-top:64px;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.shirt-market-reference h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 14px}.shirt-market-reference p{max-width:850px;color:var(--muted)}.shirt-market-reference__scroll{overflow-x:auto;margin:28px 0}.shirt-market-reference table{width:100%;min-width:450px;border-collapse:collapse;background:#fff}.shirt-market-reference th,.shirt-market-reference td{padding:17px 20px;border-bottom:1px solid var(--line);text-align:left}.shirt-market-reference thead{color:var(--vie-blue);background:#eaf1fc}.shirt-market-reference td{font-weight:750}.shirt-market-reference details{margin-top:23px;font-size:14px;color:var(--muted)}.shirt-market-reference summary{cursor:pointer;color:var(--vie-blue);font-weight:750}.shirt-market-reference details a,.shirt-market-reference .request-disclaimer a{text-decoration:underline;text-underline-offset:3px}.shirt-market-reference details li{margin:7px 0}

/* Pricing tables also appear inside article content through shortcodes. */
.entry-content .shirt-market-reference{margin:28px 0;padding:clamp(18px,3vw,30px)}
.entry-content .shirt-market-reference h2{font-size:clamp(23px,3vw,32px)}
.shirt-price-table h3{font-size:clamp(19px,2vw,24px);margin:24px 0 8px}
.shirt-price-table .shirt-market-reference__scroll{margin:16px 0 24px}
.shirt-price-table table{min-width:880px}
.shirt-price-table td{white-space:nowrap}
.shirt-market-reference__variant{margin-top:30px}.shirt-market-reference__variant h3{font-size:clamp(19px,2.2vw,25px);color:var(--vie-blue);margin:0 0 6px}.shirt-market-reference__variant>p{font-size:14px;margin-bottom:8px}.shirt-market-reference__variant .shirt-market-reference__scroll{margin:12px 0 0}.shirt-market-reference__variant table{min-width:0}.shirt-market-reference__variant th:last-child,.shirt-market-reference__variant td:last-child{white-space:nowrap}
.market-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.market-controls label{display:grid;gap:6px;font-weight:700;font-size:14px}.market-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:8px 10px;font:inherit}.market-price-note:empty{display:none}
@media(max-width:600px){.shirt-market-reference__variant .market-desktop-only{display:none}.shirt-market-reference__variant table{width:100%;min-width:0}.shirt-market-reference__variant th,.shirt-market-reference__variant td{padding:12px 10px;font-size:14px}.shirt-market-reference__variant h3{line-height:1.3}}
@media(max-width:600px){.market-controls{grid-template-columns:1fr}.shirt-market-reference__variant th,.shirt-market-reference__variant td{padding:11px 6px;font-size:13px}.shirt-market-reference__variant th:last-child,.shirt-market-reference__variant td:last-child{white-space:normal}}
.site-footer{padding-bottom:24px}
.site-footer__inner{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(160px,.7fr) minmax(240px,1fr);gap:clamp(24px,3vw,50px)}
.site-footer__brand{min-width:0}
.site-footer__address{margin:22px 0 0;font-style:normal;font-size:14px;line-height:1.8;color:#e2e8f2}
.site-footer__address span{display:block;color:#aebfd8;font-size:13px}
.site-footer__address span:not(:first-child){margin-top:12px}
.site-footer__address a{overflow-wrap:anywhere}
.site-footer__links{display:grid!important;align-content:start;gap:14px!important}
.site-footer__map{min-width:0}
.site-footer__map strong{display:block;margin-bottom:14px}
.site-footer__map iframe{display:block;width:100%;height:230px;border:0;border-radius:10px;background:#dce4f2}
.site-footer__map iframe+strong{margin-top:20px}
.site-footer__bottom{border-top:1px solid #ffffff28;margin-top:35px;padding-top:20px;color:#adbed5;font-size:13px}
@media(max-width:900px){.site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__map{grid-column:1/-1}}
@media(max-width:520px){.site-footer__inner{grid-template-columns:1fr}.site-footer__links{margin-top:0!important;grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__map{grid-column:auto}.site-footer__map iframe{height:210px}}

/* Bài viết: nội dung dễ đọc, mục lục chỉ xuất hiện khi có H2. */
.article-hero{max-width:940px;padding-top:56px;padding-bottom:44px}
.article-hero h1{font-size:clamp(38px,5vw,64px);max-width:900px;margin-bottom:22px}
.article-hero time{font-size:14px;color:var(--muted)}
.article-hero__lead{max-width:760px;margin:20px 0 0;color:var(--muted);font-size:19px}
.article-hero__image{margin:34px 0 0;border-radius:var(--radius);overflow:hidden}
.article-hero__image img{width:100%;height:auto}
.article-layout{display:grid;grid-template-columns:230px minmax(0,800px);gap:clamp(32px,6vw,90px);align-items:start;padding-bottom:100px}
.article-layout:not(:has(.article-toc)){grid-template-columns:minmax(0,800px);justify-content:center}
.article-toc{display:grid;gap:12px;position:sticky;top:110px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);font-size:14px}
.article-toc strong{color:var(--vie-blue);margin-bottom:5px}
.article-toc a:hover{color:var(--vie-blue);text-decoration:underline}
.article-body{min-width:0}
.article-body .entry-content{max-width:800px}
.article-body .entry-content h2{font-size:clamp(28px,3vw,38px);margin-top:48px;scroll-margin-top:110px}
.article-body .entry-content h3{font-size:clamp(22px,2.4vw,28px);margin-top:32px}
.article-body .entry-content p,.article-body .entry-content li{line-height:1.8}
.article-body .entry-content a{color:var(--vie-blue);text-decoration:underline;text-decoration-color:var(--vie-red);text-underline-offset:4px}
.article-body .entry-content figure{margin:32px 0}
.article-body .entry-content figcaption{margin-top:9px;color:var(--muted);font-size:14px;text-align:center}
.article-body .entry-content img{border-radius:10px}
.article-body .entry-content table{display:block;overflow-x:auto;max-width:100%}
.article-next{margin-top:60px;padding:clamp(24px,4vw,38px);background:var(--surface);border-radius:var(--radius);border-left:3px solid var(--vie-red)}
.article-next h2{font-size:clamp(25px,3vw,34px);margin-bottom:12px}
.article-next p{color:var(--muted)}
.article-next__links{display:flex;gap:12px 24px;flex-wrap:wrap}
.article-next__links a,.article-related a{color:var(--vie-blue);font-weight:750;text-decoration:underline;text-underline-offset:4px}
.article-related{margin-top:52px;border-top:1px solid var(--line);padding-top:30px}
.article-related h2{font-size:28px}
.article-related ul{padding-left:22px}
.article-related li{margin:10px 0}
@media(max-width:850px){.article-layout{grid-template-columns:1fr}.article-toc{position:static}.article-hero{padding-top:38px}}
@media(max-width:520px){.article-layout{padding-bottom:70px}.article-hero__lead{font-size:17px}}

/* Mẫu tham khảo có bố cục dễ xem như catalog, không có chức năng bán sẵn. */
.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sample-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.sample-card__image{position:relative;display:grid;place-items:center;aspect-ratio:3/4;background:var(--surface);color:var(--muted);font-size:14px;text-align:center}
.sample-card__image img{width:100%;height:100%;object-fit:cover}
.sample-card__badge{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:5px;background:var(--vie-blue);color:#fff;font-size:12px;font-weight:750}
.sample-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px;padding:19px}
.sample-card__body h3{font-size:21px;line-height:1.28;margin:0}
.sample-card__body>p,.sample-card__details{color:var(--muted);font-size:14px;line-height:1.6;margin:0}
.sample-card__body details{width:100%;font-size:14px}
.sample-card__body summary{color:var(--vie-blue);font-weight:750;cursor:pointer}
.sample-card__details{padding-top:12px}
.sample-card__details p:last-child{margin-bottom:0}
.sample-card__body .button{width:100%;margin-top:auto}
.sample-disclaimer{margin:18px 0 0;color:var(--muted);font-size:13px}
@media(max-width:1050px){.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sample-grid{grid-template-columns:1fr;gap:16px}.sample-card__body{padding:13px}.sample-card__body h3{font-size:17px}.sample-card__body .button{font-size:12px;padding-inline:8px}.sample-card__badge{font-size:10px}}

/* Các trang trụ cột dùng nội dung quản trị được, giữ nhịp đọc và khoảng trắng nhất quán. */
.editable-section{scroll-margin-top:92px}
.editable-section__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(34px,6vw,90px);align-items:center}
.editable-section__inner:not(:has(img)){grid-template-columns:minmax(0,800px)}
.editable-section__inner h2{font-size:clamp(31px,3.8vw,48px);max-width:800px}
.editable-section__inner p{max-width:760px;color:var(--muted);line-height:1.8}
.editable-section__inner img{width:100%;height:auto;border-radius:var(--radius)}
.editable-section__inner .text-link{margin-top:10px}
.guide-content>section img{max-width:100%;height:auto;border-radius:var(--radius);margin:22px 0}
.guide-content>section{scroll-margin-top:105px}
.sample-page-hero{max-width:900px}
.sample-page-hero .hero__actions{margin-top:24px}
@media(max-width:850px){.editable-section__inner{grid-template-columns:1fr}.editable-section{scroll-margin-top:22px}.guide-content>section{scroll-margin-top:22px}}

/* Kho mẫu: tìm kiếm và tải tiếp theo từng nhóm. */
.sample-search{max-width:680px;margin:0 0 28px}.sample-search label{display:block;margin-bottom:10px;font-weight:750}.sample-search__controls{display:flex;gap:10px}.sample-search input{flex:1;min-width:0;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit}.sample-more{margin:28px 0 0;text-align:center}.header-actions .button{text-transform:uppercase;font-size:15px}@media(max-width:700px){.sample-search__controls{flex-direction:column}.sample-search__controls .button{width:100%}}

/* Xem nhanh mẫu áo theo bố cục ảnh và thông tin sản phẩm tham khảo. */
.sample-card__quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:1;width:calc(100% - 24px);padding:12px 16px;border:1px solid rgba(255,255,255,.7);border-radius:7px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);color:var(--vie-blue);font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:background .2s,transform .2s}.sample-card__quick:hover,.sample-card__quick:focus-visible{background:rgba(255,255,255,.96);transform:translateY(-2px)}
.sample-preview{width:min(1200px,calc(100% - 36px));max-height:min(86vh,820px);padding:0;border:0;border-radius:16px;box-shadow:0 20px 70px rgba(13,32,62,.28);overflow:visible}
.sample-preview::backdrop{background:rgba(10,24,46,.72)}
.sample-preview__content{max-height:min(86vh,820px);overflow:auto;border-radius:16px}
.sample-preview__close{position:absolute;top:-32px;right:14px;z-index:3;display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid var(--vie-red);border-radius:50%;background:#fff;color:var(--vie-blue);font-size:0;cursor:pointer;box-shadow:0 3px 12px #0d203e25}
.sample-preview__close::before,.sample-preview__close::after{content:'';position:absolute;top:50%;left:50%;width:2px;height:25px;border-radius:2px;background:currentColor}
.sample-preview__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.sample-preview__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.sample-preview__grid{display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);min-height:680px}
.sample-preview__image{position:relative;display:grid;place-items:center;min-width:0;min-height:680px;padding:0;background:var(--surface);color:var(--muted)}
.sample-preview__image>img{display:block;width:100%;height:100%;max-height:680px;object-fit:contain}
.sample-preview__thumb{position:absolute;left:20px;top:50%;transform:translateY(-50%);z-index:1;display:block;width:62px;height:82px;padding:3px;border:2px solid #fff;border-radius:9px;background:#fff;box-shadow:0 2px 12px #0d203e35;cursor:pointer}
.sample-preview__thumb:hover,.sample-preview__thumb:focus-visible{border-color:var(--vie-blue)}
.sample-preview__thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
.sample-preview__info{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,64px);min-width:0}
.sample-preview__info h2{font-size:clamp(30px,3vw,42px);line-height:1.16;margin:10px 0 20px}
.sample-preview__lead{font-size:18px;line-height:1.6}
.sample-preview__details{margin:20px 0;line-height:1.65}
.sample-preview__details p:last-child{margin-bottom:0}
.sample-preview__note{margin:22px 0;color:var(--muted);font-size:14px;line-height:1.55}
.sample-preview__info .button{align-self:flex-start}
@media(max-width:700px){
  .sample-preview{width:calc(100% - 16px);max-width:480px;max-height:calc(100dvh - 24px);border-radius:12px;overflow:hidden}
  .sample-preview__content{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;border-radius:12px}
  .sample-preview__grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .sample-preview__image{display:block;min-height:0;height:min(52dvh,420px);padding:0;overflow:hidden}
  .sample-preview__image>img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 26%}
  .sample-preview__thumb{left:12px;top:auto;bottom:12px;transform:none;width:52px;height:68px}
  .sample-preview__info{justify-content:flex-start;padding:20px}
  .sample-preview__info h2{font-size:clamp(23px,6vw,28px);margin:8px 0 12px}
  .sample-preview__lead{font-size:15px;line-height:1.5}
  .sample-preview__details{margin:14px 0;font-size:14px}
  .sample-preview__close{top:10px;right:10px;width:40px;height:40px}
}

/* Bảng size VIE Uniform; cuộn ngang ở màn hình nhỏ, giữ tên cột rõ ràng. */
.size-chart-intro{margin:0 0 30px;padding:18px 20px;border-left:4px solid var(--vie-blue);background:var(--surface);line-height:1.65}
.size-chart-section{margin:0 0 50px;scroll-margin-top:100px}
.size-chart-section h2{margin:0 0 12px}
.size-chart-section p{line-height:1.65}
.size-table-scroll{max-width:100%;overflow-x:auto;margin:22px 0 28px;border:1px solid var(--line);border-radius:10px}
.size-chart{width:100%;min-width:500px;border-collapse:collapse;background:#fff;text-align:left}
.size-chart caption{padding:14px 16px;background:var(--surface);color:var(--vie-blue);font-size:17px;font-weight:800;text-align:left}
.size-chart th,.size-chart td{padding:12px 15px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.size-chart thead th{background:#eaf1fb;color:var(--vie-blue);font-weight:800}
.size-chart tbody tr:nth-child(even){background:#f7f9fc}
.size-chart tbody th{font-weight:750}
.size-chart-note{padding:14px 18px;border-radius:8px;background:#fff5e8;color:#493b2a;font-size:14px}

/* Ảnh nội dung ở trang hướng dẫn: không cắt sơ đồ và giữ đúng tỷ lệ 3:2. */
.guide-content>section .guide-content__image{display:block;width:100%;max-width:800px;height:auto;aspect-ratio:3/2;object-fit:contain;margin:24px 0;border-radius:var(--radius)}

/* Nhận diện vải: hai thẻ mỗi hàng ở màn hình rộng, một thẻ trên điện thoại. */
.fabric-reference{margin:0 0 52px;scroll-margin-top:105px}
.fabric-reference>p{line-height:1.75;color:var(--muted)}
.fabric-reference>h3{font-size:clamp(21px,2.5vw,27px);margin:32px 0 18px;color:var(--vie-blue)}
.fabric-reference__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fabric-reference__card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.fabric-reference__image{aspect-ratio:4/3;background:var(--surface)}
.fabric-reference__image img{display:block;width:100%;height:100%;object-fit:cover}
.fabric-reference__copy{padding:18px}
.fabric-reference__copy h4{font-size:19px;line-height:1.3;margin:0 0 12px}
.fabric-reference__copy p{font-size:14px;line-height:1.65;margin:0 0 12px}
.fabric-reference__copy .text-link{font-size:14px}
@media(max-width:700px){.fabric-reference__grid{grid-template-columns:1fr}.fabric-reference{scroll-margin-top:24px}}

.pillar-articles{margin:42px 0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.pillar-articles h2{font-size:clamp(24px,2.8vw,32px);margin:0 0 18px}
.pillar-articles ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;list-style:none;padding:0;margin:0}
.pillar-articles li a{display:block;color:var(--vie-blue);font-weight:700;line-height:1.5;text-decoration:underline;text-decoration-color:var(--vie-red);text-underline-offset:4px}
@media(max-width:700px){.pillar-articles ul{grid-template-columns:1fr}}

.home-workshop{padding-top:0}
.home-workshop figure{margin:0;max-width:1000px}
.home-workshop img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:var(--radius)}

/* Ảnh nội dung bài viết hiển thị vừa cột 800 px và co theo màn hình nhỏ. */
.article-body .entry-content img,.guide-content .entry-content img{max-width:min(100%,800px);height:auto}

.shirt-page-hero__media{margin:0;aspect-ratio:6/5;overflow:hidden;border-radius:var(--radius);background:#eef4fa}
.shirt-page-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Photo cards in the three shirt choices; the design card keeps its plain blue treatment. */
.need-card--photo{min-height:320px;padding:0;overflow:hidden}
.need-card__visual{display:block;height:170px;overflow:hidden;background:#edf3f9}
.need-card__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.need-card--photo .need-card__number{position:absolute;top:12px;left:12px;z-index:1;padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.94)}
.need-card--photo h3{margin:auto 22px 12px}
.need-card--photo .need-card__arrow{margin:0 22px 15px}
@media(max-width:520px){.need-card--photo{min-height:282px}.need-card__visual{height:126px}.need-card--photo h3{margin:auto 14px 8px;font-size:21px}.need-card--photo .need-card__arrow{margin:0 14px 12px}}

.shirt-page-hero__media picture{display:block;width:100%;height:100%}
@media(max-width:600px){.shirt-page-hero__media{aspect-ratio:9/11}.shirt-page-hero__media img{object-position:center top}}

.back-to-top{position:fixed;right:26px;bottom:26px;z-index:85;display:grid;place-items:center;width:46px;height:46px;border:1px solid #d6e1ef;border-radius:50%;background:#fff;color:var(--vie-blue);font:700 27px/1 system-ui,sans-serif;box-shadow:0 5px 18px #10244926;cursor:pointer;transition:transform .2s,background .2s}
.back-to-top:hover{transform:translateY(-3px);background:#f1f6ff}
.back-to-top:focus-visible{outline:3px solid var(--vie-red);outline-offset:3px}
.back-to-top[hidden]{display:none}
@media(max-width:760px){.back-to-top{right:16px;bottom:calc(94px + env(safe-area-inset-bottom,0px));width:44px;height:44px;z-index:95}}
