/* Sườn A dùng chung 50 công cụ. Đúc từ phác đóng băng nen/suon-chung/nguon bằng tool/1-la-so-tu-vi/nhap-sua/suon-a/lam_css.py. Chỉ biến thang, lớp .v3-san*, không có chữ, màu riêng của tool. */
.v3-san-bt { position: relative; aspect-ratio: 1; min-inline-size: 0; margin-inline: auto; container-type: inline-size; }
.v3-san-bt--vuong .v3-san-bt-hinh { filter: drop-shadow(0 12px 32px rgba(0, 0, 0, .5)); }
.v3-san-bt--tron .v3-san-bt-hinh { filter: drop-shadow(0 12px 32px rgba(0, 0, 0, .5)); }
.v3-san-bt-hinh { display: block; inline-size: 100%; block-size: 100%; overflow: visible; }
.v3-san-s-sang { stop-color: var(--v3-n-3); }
.v3-san-s-giua { stop-color: var(--v3-n-2); }
.v3-san-s-toi { stop-color: var(--v3-n-1); }
.v3-san-s-tool { stop-color: var(--v3-tool-sau); stop-opacity: .28; }
.v3-san-s-tool0 { stop-color: var(--v3-tool-sau); stop-opacity: 0; }
.v3-san-k-sang { stop-color: var(--v3-c-vang); stop-opacity: .72; }
.v3-san-k-toi { stop-color: var(--v3-c-vang); stop-opacity: .28; }
.v3-san-n-vien { fill: none; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.v3-san-n-vien2 { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .28; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-n-luoi { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .28; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-n-khac { stroke-opacity: .5; }
.v3-san-o__chi { fill: var(--v3-c-nga-phu); opacity: .5; }
.v3-san-o__sang { fill: var(--v3-tool-sau); opacity: 0; }
.v3-san-dinh { fill: var(--v3-c-vang); opacity: .5; }
.v3-san-dau-net { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .14; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-dau-sao { fill: var(--v3-c-vang); opacity: .28; }
.v3-san-tam-han { fill: var(--v3-c-vang); opacity: .72; }
.v3-san-tp { fill: none; stroke: var(--v3-c-vang); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.v3-san-menh-vien { opacity: 0; fill: none; stroke: var(--v3-c-vang); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; }
.v3-san-quy { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .5; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-s__vanh { fill: var(--v3-n-0); stroke: var(--v3-c-vang); stroke-opacity: .72; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-s__tam { fill: var(--v3-c-vang); opacity: .72; }
.v3-san-s__han { fill: var(--v3-c-nga); opacity: .72; }
.v3-san-s__quang { fill: var(--v3-c-vang); opacity: 0; }
.v3-san-dau-quay { transform-origin: 240px 240px; opacity: 0; }
.v3-san-dau-chay { fill: var(--v3-c-vang); }
.v3-san-an { display: block; inline-size: var(--v3-k-32); block-size: var(--v3-k-32); overflow: visible; filter: url(#v3-san-mx); }
.v3-san-an__nen { fill: var(--v3-tool); }
.v3-san-an__vien { fill: none; stroke: var(--v3-c-nga); stroke-opacity: .5; stroke-width: 1; }
.v3-san-an__chu { fill: var(--v3-c-nga); }
.v3-san-tam { position: absolute; display: grid; place-items: center; text-align: center; }
.v3-san-bt--vuong .v3-san-tam { inset: 28.33%; }
.v3-san-bt--tron .v3-san-tam { inset: 25%; }
.v3-san-tam > * { grid-area: 1 / 1; min-inline-size: 0; }
.v3-san-tam__cho { margin: 0; font-family: var(--v3-f-ui); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga); text-wrap: balance; opacity: 0; transition: opacity var(--v3-t-200) var(--v3-e-deu); }
.v3-san-tam__kq { display: grid; justify-items: center; gap: var(--v3-k-8); opacity: 0; }
.v3-san-tam__kq p { margin: 0; font-size: min(var(--v3-cs-16), 4.47cqi); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang); }
.v3-san .v3-san-an--kq { inline-size: min(var(--v3-k-64), 17.9cqi); block-size: min(var(--v3-k-64), 17.9cqi); }
.v3-san-h1 { margin: 0; font-family: var(--v3-f-serif); font-size: min(var(--v3-san-h1), 12.5cqi); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); letter-spacing: var(--v3-gc-1); color: var(--v3-c-vang-nga); text-wrap: balance; }
.v3-san-mat { margin: 0; font-family: var(--v3-f-ui); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-2); text-transform: uppercase; color: var(--v3-tool-chu); }
.v3-san-mat { text-wrap: balance; }
.v3-san-mat .v3-han { letter-spacing: var(--v3-gc-1); white-space: nowrap; }
.v3-san-nhan-o { display: block; inline-size: 100%; margin: 0; padding: 0; font-family: var(--v3-f-ui); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); color: var(--v3-c-nga-phu); }
.v3-san-trang legend.v3-san-nhan-o { margin-block-end: var(--v3-k-4); }
.v3-san-trang .v3-form { gap: var(--v3-nhip-nhom); align-content: start; }
.v3-san-trang .v3-truong { gap: var(--v3-k-4); }
.v3-san-trang fieldset.v3-truong { min-inline-size: 0; }
.v3-san-trang .v3-o { min-block-size: var(--v3-k-48); padding-block: 0; padding-inline: var(--v3-k-12); background: var(--v3-n-0); border-color: var(--v3-c-nhan); transition: border-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-trang textarea.v3-o { padding-block: var(--v3-k-12); line-height: var(--v3-cd-doc); }
.v3-san-trang .v3-o::placeholder { color: var(--v3-c-nhan); opacity: 1; }
.v3-san-trang .v3-chon__nut { gap: 0; padding-inline: var(--v3-k-12) var(--v3-k-8); }
.v3-san-trang .v3-chon__mui { flex: none; color: var(--v3-c-nhan); }
.v3-san-hang-ngay { display: grid; grid-template-columns: 5fr 7fr 6fr; gap: var(--v3-k-8); }
.v3-san-hang-ngay > * { min-inline-size: 0; }
.v3-san-trang .v3-chon__ds { z-index: var(--v3-z-menu); }
.v3-san-trang .v3-chon__muc { min-block-size: var(--v3-cao-cham); padding: 0 var(--v3-k-8); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); }
.v3-san-trang .v3-goi-y { letter-spacing: var(--v3-gc-1); }
.v3-san-trang .v3-goi-y-gap { min-inline-size: 0; margin: 0; }
.v3-san-trang .v3-goi-y-gap__nut { display: inline-flex; align-items: center; gap: var(--v3-k-4); min-block-size: var(--v3-k-32); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-1); color: var(--v3-c-nhan); list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-trang .v3-goi-y-gap__nut::-webkit-details-marker { display: none; }
.v3-san-trang .v3-goi-y-gap__chu { text-decoration: underline dotted var(--v3-vien-1); text-underline-offset: .25em; }
.v3-san-trang .v3-goi-y-gap__mui { transition: transform var(--v3-t-200) var(--v3-e-deu); }
.v3-san-trang .v3-goi-y-gap[open] .v3-goi-y-gap__mui { transform: rotate(180deg); }
.v3-san-trang .v3-goi-y-gap__nut:focus-visible { outline: var(--v3-vien-2) solid var(--v3-c-vang); outline-offset: var(--v3-vien-2); }
@media (hover: hover) {
.v3-san-trang .v3-goi-y-gap__nut:hover { color: var(--v3-c-nga-phu); }
}
.v3-san-trang .v3-goi-y-gap__than { margin: var(--v3-k-4) 0 0; padding-inline-start: var(--v3-k-12); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-1); color: var(--v3-c-nga-phu); border-inline-start: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-trang .v3-goi-y-gap[open] .v3-goi-y-gap__than { animation: v3-san-goi-y-vao var(--v3-t-200) var(--v3-e-ra) both; }
@keyframes v3-san-goi-y-vao { from { opacity: 0; } }
.v3-san-buoc { display: grid; grid-template-columns: minmax(0, 1fr) var(--v3-k-48) var(--v3-k-48); }
.v3-san-buoc__o { inline-size: calc(100% - var(--v3-k-8)); font-variant-numeric: lining-nums tabular-nums; }
.v3-san-nut-buoc { display: grid; place-items: center; padding: 0; color: var(--v3-c-nga-phu); cursor: pointer; }
.v3-san-nut-buoc:first-of-type { border-start-end-radius: 0; border-end-end-radius: 0; }
.v3-san-nut-buoc:last-of-type { margin-inline-start: calc(-1 * var(--v3-vien-1)); inline-size: calc(100% + var(--v3-vien-1)); border-start-start-radius: 0; border-end-start-radius: 0; }
.v3-san-trang .v3-doan { background: var(--v3-n-0); }
.v3-san-trang .v3-doan__chu { flex-direction: column; gap: 0; padding: 0 var(--v3-k-12); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); letter-spacing: var(--v3-gc-0); transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-trang .v3-doan { min-block-size: var(--v3-k-48); }
.v3-san-trang .v3-doan:has(.v3-san-doan-phu) { min-block-size: var(--v3-k-64); }
.v3-san-doan-ct { line-height: var(--v3-cd-giao-dien); }
.v3-san-doan-phu { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); color: var(--v3-c-nhan); }
.v3-san-chan { display: grid; gap: var(--v3-k-12); margin-block-start: calc(var(--v3-nhip-giua) - var(--v3-nhip-nhom)); }
.v3-san-tin { margin: 0; text-align: center; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-1); color: var(--v3-c-nhan); }
.v3-san-dem { font-variant-numeric: lining-nums tabular-nums; }
.v3-san-trang .v3-nut--chinh { min-block-size: var(--v3-k-48); padding-block: 0; font-weight: var(--v3-dam-6); }
.v3-san-trang .v3-nut--phu { min-block-size: var(--v3-cao-cham); padding: 0 var(--v3-k-16); font-weight: var(--v3-dam-5); }
.v3-san-trang .v3-nut--lien-ket { min-block-size: var(--v3-k-32); padding: 0 var(--v3-k-4); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); letter-spacing: var(--v3-gc-0); }
.v3-san-trang .v3-loi { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); }
.v3-san-trang .v3-loi::before { margin-block-start: calc((var(--v3-cs-13) * var(--v3-cd-giao-dien) - var(--v3-bt-16)) / 2); }
.v3-san-trang .v3-thong-bao { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); }
.v3-san-trang .v3-thong-bao::before { margin-block-start: calc((var(--v3-cs-13) * var(--v3-cd-giao-dien) - var(--v3-bt-20)) / 2); }
.v3-san-trang .v3-thong-bao__tieu { font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); }
.v3-san-trang .v3-rong__tieu { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga); }
.v3-san-trang .v3-rong__chu { margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-trang .v3-nut { font-size: var(--v3-cs-16); letter-spacing: var(--v3-gc-1); }
.v3-san-trang .v3-nut::before, .v3-san-trang .v3-nut::after { transition-duration: var(--v3-t-phan-hoi); }
.v3-san-ten-kq { margin: 0; font-family: var(--v3-f-serif); font-size: var(--v3-san-h1); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang); text-wrap: balance; }
.v3-san-ten-kq > span:not(.v3-san-cham):not(.v3-han) { white-space: nowrap; }
.v3-chu-to .v3-san-ten-kq > span:not(.v3-san-cham):not(.v3-han) { white-space: normal; }
.v3-san-ten-kq .v3-san-cham { color: var(--v3-c-nhan); }
.v3-san-ten-kq .v3-han { font-weight: var(--v3-dam-5); color: var(--v3-c-nga-phu); }
@media (max-width: 479px) {
.v3-san-ten-kq .v3-san-cham { display: none; }
}
.v3-san-kq-phu { margin: 0; font-size: var(--v3-cs-16); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-so-ba { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-block: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-so-ba > div { padding: var(--v3-k-12) var(--v3-k-8); text-align: center; }
.v3-san-so-ba > div + div { border-inline-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-so-ba dt { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-so-ba dd { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); font-variant-numeric: lining-nums; color: var(--v3-c-nga); }
.v3-san-so-ba small { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); color: var(--v3-c-nhan); }
.v3-san-so-ba .v3-san-xep { margin-inline-start: var(--v3-k-4); font-weight: var(--v3-dam-5); color: var(--v3-c-dat); white-space: nowrap; }
.v3-san-trang .v3-doan--tu-co { grid-auto-columns: minmax(0, 1fr); max-inline-size: none; }
.v3-san-doan-kq { min-block-size: var(--v3-cao-cham); }
.v3-san-doan-kq .v3-doan__chu { min-block-size: 0; padding-inline: var(--v3-k-4); }
.v3-san-luoi-kq { position: absolute; inset: 3.33%; display: grid; grid-template: repeat(4, minmax(0, 1fr)) / repeat(4, minmax(0, 1fr)); opacity: 0; pointer-events: none; }
.v3-san-ky { --v3-san-ky-co: max(12px, min(var(--v3-cs-13), calc(3.915cqi - 1px))); display: grid; align-content: center; justify-items: center; min-inline-size: 0; text-align: center; white-space: nowrap; }
.v3-san-ky__cung { font-size: var(--v3-san-ky-co); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-ky b { font-size: var(--v3-san-ky-co); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-nga); }
.v3-san-ky b.v3-san-rong { color: var(--v3-c-nhan); }
.v3-san-ky--menh .v3-san-ky__cung { color: var(--v3-c-vang); }
.v3-san-ray__o { display: none; position: absolute; inset: 0; grid-template: repeat(4, minmax(0, 1fr)) / repeat(4, minmax(0, 1fr)); padding: 3.33%; box-sizing: border-box; }
.v3-san[data-man="kq"] .v3-san-ray__o { display: grid; }
.v3-san-ray__o a { -webkit-tap-highlight-color: transparent; transition: background-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-ray__o a:focus-visible { outline: var(--v3-vien-2) solid var(--v3-c-vang); outline-offset: calc(-1 * var(--v3-vien-2)); }
.v3-san-ray__o a.v3-san-dang { background: var(--v3-ph-vang-3); }
@media (hover: hover) {
.v3-san-ray__o a:hover { background: var(--v3-ph-vang-2); }
}
.v3-san-o { --v3-san-d: 0; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-o__sang { animation: v3-san-o-sang 1200ms var(--v3-e-deu) infinite alternate; animation-delay: calc(var(--v3-san-d, 0) * 100ms); }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-o__chi { opacity: .5; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-dinh { animation: v3-san-dinh 1200ms var(--v3-e-deu) infinite alternate; animation-delay: calc(var(--v3-san-i) * 80ms); }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-dau-quay { opacity: 1; animation: v3-san-quay 3600ms linear infinite; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-s { animation: v3-san-s-sang 3600ms linear infinite; animation-delay: calc(var(--v3-san-i) * 400ms); }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-s__han { opacity: .28; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-tam__cho { opacity: 1; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-tam__nhap { opacity: 0; }
@keyframes v3-san-o-sang { from { opacity: 0; } to { opacity: .28; } }
@keyframes v3-san-dinh { from { opacity: .14; } to { opacity: 1; } }
@keyframes v3-san-quay { to { transform: rotate(360deg); } }
@keyframes v3-san-s-sang { 0%, 12% { filter: brightness(2); } 24%, 100% { filter: none; } }
.v3-san[data-man="kq"] .v3-san-tam__nhap, .v3-san[data-man="kq"] .v3-san-tam__cho { opacity: 0; }
.v3-san[data-man="kq"] .v3-san-tam__kq { opacity: 1; animation: v3-san-an-dong 360ms var(--v3-e-ra) 720ms both; }
.v3-san[data-man="kq"] .v3-san-o__chi { opacity: 0; transition: opacity var(--v3-t-200); }
.v3-san[data-man="kq"] .v3-san-dinh, .v3-san[data-man="kq"] .v3-san-dau-net, .v3-san[data-man="kq"] .v3-san-dau-sao { opacity: 0; }
.v3-san[data-man="kq"] .v3-san-luoi-kq { opacity: 1; transition: opacity var(--v3-t-360) var(--v3-e-ra); }
.v3-san[data-man="kq"] .v3-san-menh-vien { opacity: 1; animation: v3-san-ve 360ms var(--v3-e-ra) 240ms forwards; }
.v3-san[data-man="kq"] .v3-san-tp { opacity: 1; animation: v3-san-ve 360ms var(--v3-e-ra) 600ms forwards, v3-san-lang 240ms var(--v3-e-deu) 840ms forwards; }
.v3-san[data-man="kq"] .v3-san-s:not([data-sao="0"]) { opacity: .5; animation: v3-san-s-toi 360ms var(--v3-e-deu) both; }
.v3-san[data-man="kq"] .v3-san-s[data-sao="0"] .v3-san-s__quang { opacity: .14; }
.v3-san[data-man="kq"] .v3-san-s[data-sao="0"] .v3-san-s__han { fill: var(--v3-c-vang); opacity: 1; }
.v3-san[data-man="kq"] .v3-san-s[data-sao="0"] .v3-san-s__vanh { stroke: var(--v3-c-vang); stroke-opacity: 1; stroke-width: 2; }
.v3-san[data-man="kq"] .v3-san-s[data-sao="0"] .v3-san-s__tam { opacity: 1; }
.v3-san[data-man="kq"] .v3-san-quy { stroke-dasharray: 1; animation: v3-san-ve-quy 720ms var(--v3-e-ra) both; }
@keyframes v3-san-ve { to { stroke-dashoffset: 0; } }
@keyframes v3-san-ve-quy { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes v3-san-lang { to { opacity: .5; } }
@keyframes v3-san-s-toi { from { opacity: 1; } to { opacity: .5; } }
@keyframes v3-san-an-dong { from { opacity: 0; transform: scale(1.4); } 70% { opacity: 1; transform: scale(.97); } to { opacity: 1; transform: scale(1); } }
.v3-san-ghi { margin: 0; }
.v3-san-trang .tc-lead-inject { margin: 0; }
.v3-san-trich { margin: 0; }
.v3-san-trich p { margin: 0; font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-nga); text-wrap: balance; }
.v3-san-chip { display: flex; flex-wrap: wrap; gap: var(--v3-k-12) var(--v3-k-16); margin: 0; padding: 0; list-style: none; }
.v3-san-chip li { display: grid; justify-items: center; gap: var(--v3-k-4); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-chip__han { display: grid; place-items: center; inline-size: var(--v3-k-48); block-size: var(--v3-k-48); font-family: var(--v3-f-han); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-5); line-height: 1; color: var(--v3-c-nga); background: var(--v3-tool); border-radius: var(--v3-vien-2); box-shadow: inset 0 0 0 3px var(--v3-tool), inset 0 0 0 4px color-mix(in srgb, var(--v3-c-nga) 50%, transparent); filter: url(#v3-san-mx); }
.v3-san-y { display: grid; gap: var(--v3-k-8); margin: 0; padding: 0; list-style: none; font-size: var(--v3-cs-16); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-y li { display: grid; grid-template-columns: var(--v3-k-16) minmax(0, 1fr); align-items: baseline; }
.v3-san-y li::before { content: ''; inline-size: var(--v3-k-4); block-size: var(--v3-k-4); background: var(--v3-c-vang); transform: translateY(-.15em) rotate(45deg); }
.v3-san-trang .tc-accordion, .v3-san-trang .tc-accordion[open] { background: none; border: 0; border-block-end: var(--v3-vien-1) solid var(--v3-v-1); border-radius: 0; }
.v3-san-trang .tc-accordion-toggle { display: flex; min-block-size: 3.5rem; padding: var(--v3-k-8) 0; list-style: none; cursor: pointer; }
.v3-san-trang .tc-accordion-label { font-family: var(--v3-f-ui); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); }
.v3-san-trang .tc-accordion-toggle::-webkit-details-marker { display: none; }
.v3-san-trang .tc-accordion-toggle { gap: var(--v3-k-12); }
.v3-san-trang .tc-accordion[open] > .tc-accordion-toggle .v3-san-hang__ky { color: var(--v3-c-nga); background: var(--v3-tool); border-color: transparent; }
@media (min-width: 768px) {
.v3-san-trang .tc-accordion-body { padding-inline-start: calc(var(--v3-k-32) + var(--v3-k-12)); }
}
.v3-san-gap__mui { color: var(--v3-c-vang); transition: transform var(--v3-t-200) var(--v3-e-deu); }
.v3-san-trang .tc-accordion[open] .v3-san-gap__mui { transform: rotate(180deg); }
.v3-san-trang .tc-accordion-body { padding: 0 0 var(--v3-k-16); gap: var(--v3-nhip-nhom); }
.v3-san-trang .v3-gia-tri-lon { margin: 0; font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang); }
.v3-san-trang .v3-chu-phu { margin: 0; font-size: var(--v3-cs-13); }
.v3-san-trang .smh-card__name { font-family: var(--v3-f-ui); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); color: var(--v3-c-nga); }
.v3-san-trang .smh-card__desc, .v3-san-trang .smh-head__sub { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); }
.v3-san-trang .smh-grid--3 { --v3-cot: 1; }
.v3-san-trang .smh-card { min-block-size: 8.5rem; }
@media (min-width: 768px) {
.v3-san-trang .smh-grid--3 { --v3-cot: 3; }
}
@media (prefers-reduced-motion: reduce) {
.v3-san *, .v3-san *::before { animation: none !important; transition: none !important; }
}
@media (hover: hover) {
.v3-san-trang .v3-doan__muc:hover .v3-doan__chu { background: var(--v3-ph-vang-1); }
.v3-san-nut-buoc:hover { border-color: var(--v3-c-vang); }
}
.v3-san-trang .v3-doan__vao:focus-visible + .v3-doan__chu { outline-offset: calc(-1 * var(--v3-vien-2)); }
.v3-san-trang .smh-section, .v3-san-trang .smh-inner { padding-inline: 0; max-inline-size: none; }
.v3-san-mini { display: block; inline-size: 100%; block-size: 100%; overflow: visible; }
.v3-san-m-nen { fill: var(--v3-n-2); stroke: var(--v3-c-vang); stroke-opacity: .72; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-m-net { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .72; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-m-nhe { fill: none; stroke: var(--v3-c-vang); stroke-opacity: .28; stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-m-nhan { fill: var(--v3-tool); stroke: var(--v3-c-vang); stroke-width: 1; vector-effect: non-scaling-stroke; }
.v3-san-m-sao { fill: var(--v3-c-vang); opacity: .72; }
.v3-san-m-sao--dau { fill: var(--v3-tool-chu); opacity: 1; }
.v3-san-trang .smh-section .smh-inner { gap: var(--v3-k-16); }
.v3-san-trang .smh-head { display: grid; justify-items: start; gap: var(--v3-k-4); text-align: start; }
.v3-san-trang .smh-head__title { justify-content: flex-start; color: var(--v3-c-vang-nga); }
.v3-san-trang .smh-head__sub { display: flex; flex-wrap: wrap; gap: 0 var(--v3-k-12); margin: 0; padding: 0; list-style: none; color: var(--v3-c-nhan); }
.v3-san-trang .smh-head__sub li::before { content: ''; display: inline-block; inline-size: var(--v3-k-4); block-size: var(--v3-k-4); margin-inline-end: var(--v3-k-4); background: var(--v3-c-vang); transform: translateY(-.15em) rotate(45deg); }
.v3-san-hanh-lang .smh-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--v3-k-24); border-block-start: var(--v3-vien-2) solid var(--v3-v-2); }
@media (min-width: 1024px) {
.v3-san-hanh-lang .smh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v3-san-sau-ket .v3-san-hanh-lang .smh-grid { grid-template-columns: minmax(0, 1fr); }
}
.v3-san-phong { --v3-san-vat: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px); display: block; min-block-size: 0; padding: var(--v3-k-16) 0 0; overflow: visible; text-align: start; background: none; border: 0; border-radius: 0; transition: transform var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-phong::after { display: none; }
.v3-san-phong__day { position: absolute; inset-block-start: 0; inset-inline: var(--v3-k-32); block-size: calc(var(--v3-k-16) + var(--v3-k-4)); border-inline: var(--v3-vien-1) solid var(--v3-c-vang); opacity: .5; }
.v3-san-phong__vien { display: block; block-size: 100%; padding: var(--v3-vien-1); background: linear-gradient(135deg, color-mix(in srgb, var(--v3-c-vang) 72%, transparent), color-mix(in srgb, var(--v3-c-vang) 28%, transparent) 42%, color-mix(in srgb, var(--v3-c-vang) 28%, transparent) 58%, color-mix(in srgb, var(--v3-c-vang) 72%, transparent)); clip-path: var(--v3-san-vat); }
.v3-san-trang .smh-card--current .v3-san-phong__vien { background: var(--v3-c-vang); }
.v3-san-phong__son { position: relative; display: grid; grid-template-columns: var(--v3-k-64) minmax(0, 1fr) auto; gap: var(--v3-k-4) var(--v3-k-12); align-items: start; block-size: 100%; box-sizing: border-box; padding: var(--v3-k-16); background-color: var(--v3-n-1); background-image: var(--v3-anh-son); clip-path: var(--v3-san-vat); }
.v3-san-phong__son::before { content: ''; position: absolute; inset: var(--v3-k-4); padding: var(--v3-vien-1); background: var(--v3-v-2); clip-path: var(--v3-san-vat); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.v3-san-phong__hinh { grid-row: 1 / 3; inline-size: var(--v3-k-64); block-size: var(--v3-k-64); }
.v3-san-phong__chu { display: grid; min-inline-size: 0; }
.v3-san-phong .smh-card__name { font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang-nga); text-wrap: balance; }
.v3-san-phong .smh-card__desc { color: var(--v3-tool-chu); }
.v3-san-phong__an { inline-size: var(--v3-k-32); block-size: var(--v3-k-32); }
.v3-san-phong__khac { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 0 var(--v3-k-12); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-phong__khac span { display: inline-flex; align-items: baseline; gap: var(--v3-k-4); }
.v3-san-phong__khac span::before { content: ''; flex: none; inline-size: var(--v3-k-4); block-size: var(--v3-k-4); background: var(--v3-c-vang); transform: translateY(-.15em) rotate(45deg); }
@media (hover: hover) {
.v3-san-phong:hover { transform: translateY(2px); }
.v3-san-phong:hover .v3-san-phong__vien { background: var(--v3-c-vang); }
}
.v3-san-phong:focus-visible { outline: var(--v3-vien-2) solid var(--v3-c-vang); outline-offset: var(--v3-vien-2); }
.v3-san-sau-ket .smh-grid--3 { --v3-cot: 1; }
.v3-san-sau-ket .smh-section { padding-block: 0; border: 0; }
.v3-san-ten-gian { display: grid; grid-template-columns: var(--v3-k-64) minmax(0, 1fr); gap: var(--v3-k-12); align-items: center; }
.v3-san-ten-gian > div { display: grid; gap: var(--v3-k-4); }
.v3-san-ten-gian .v3-san-mini { inline-size: var(--v3-k-64); block-size: var(--v3-k-64); }
.v3-san .v3-san-bt--tron .v3-san-an--kq { inline-size: min(6rem, 20.3cqi); block-size: min(6rem, 20.3cqi); order: 0; }
.v3-san { display: grid; gap: var(--v3-nhip-giua); }
.v3-san-bt { inline-size: min(100%, 20.75rem); }
.v3-san-to { display: grid; min-inline-size: 0; }
.v3-san-to > * { grid-area: 1 / 1; min-inline-size: 0; }
.v3-san-to__nhap { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: var(--v3-nhip-nhom); transition: opacity var(--v3-t-200) var(--v3-e-deu); }
.v3-san-to__kq { display: grid; align-content: center; gap: var(--v3-k-12); opacity: 0; visibility: hidden; }
.v3-san-tam__nhap { display: grid; justify-items: center; gap: min(var(--v3-k-12), 3.3cqi); transition: opacity var(--v3-t-200) var(--v3-e-deu); }
.v3-san-h1-phu { display: block; font-size: min(var(--v3-cs-16), 4.47cqi); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); letter-spacing: var(--v3-gc-0); color: var(--v3-c-nga-phu); white-space: nowrap; }
.v3-san-bt--vuong .v3-san-tam__nhap .v3-san-an { inline-size: 24px; block-size: 24px; }
.v3-san-bt--tron .v3-san-tam__nhap { grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--v3-k-8); block-size: 100%; }
.v3-san-bt--tron .v3-san-tam__nhap .v3-san-an { grid-row: 1; align-self: end; inline-size: min(2.5rem, 11.2cqi); block-size: min(2.5rem, 11.2cqi); }
.v3-san-bt--tron .v3-san-h1 { position: relative; grid-row: 2; font-size: min(var(--v3-san-h1), 10.24cqi); white-space: nowrap; }
.v3-san-bt--tron .v3-san-h1-phu { position: absolute; inset-block-start: 100%; inset-inline: 50% auto; transform: translateX(-50%); margin-block-start: var(--v3-k-4); font-family: var(--v3-f-ui); }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-to__nhap { opacity: var(--v3-mo-3); pointer-events: none; }
.v3-san[data-man="kq"] .v3-san-to__nhap { opacity: 0; visibility: hidden; }
.v3-san[data-man="kq"] .v3-san-to__kq { opacity: 1; visibility: visible; transition: opacity var(--v3-t-360) var(--v3-e-ra) 600ms; }
.v3-san-duoi { display: grid; gap: var(--v3-nhip-giua); margin-block-start: var(--v3-nhip-phan); padding-block-start: var(--v3-nhip-giua); border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-ray-dinh { display: grid; gap: var(--v3-k-16); }
.v3-san-duoi__doc { display: grid; gap: var(--v3-k-16); min-inline-size: 0; align-content: start; }
.v3-san-ml ol { margin: 0; padding: 0; list-style: none; border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-ml { display: none; }
.v3-san-ml__an { display: grid; place-items: center; flex: none; inline-size: var(--v3-k-24); block-size: var(--v3-k-24); margin-inline-end: var(--v3-k-12); font-size: var(--v3-cs-13); line-height: 1; color: var(--v3-c-nga); background: var(--v3-tool); border-radius: var(--v3-vien-2); filter: url(#v3-san-mx); }
.v3-san-ml a { display: flex; align-items: center; min-block-size: var(--v3-cao-cham); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); text-decoration: none; border-block-end: var(--v3-vien-1) solid var(--v3-v-1); transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-ml a:hover { color: var(--v3-c-vang); }
@media (min-width: 768px) {
.v3-san-bt { inline-size: 26.25rem; }
.v3-san-to { inline-size: 100%; max-inline-size: var(--v3-r-form); margin-inline: auto; }
.v3-san-duoi { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--v3-k-32); }
.v3-san-ray-dinh { position: sticky; inset-block-start: var(--v3-k-16); }
.v3-san-ml { display: block; }
}
@media (min-width: 1024px) {
.v3-san { grid-template-columns: var(--v3-san-o) minmax(0, 1fr); column-gap: var(--v3-k-48); align-items: start; }
.v3-san-bt { inline-size: 100%; }
.v3-san-to { block-size: 100%; min-block-size: var(--v3-san-o); }
.v3-san-to { max-inline-size: none; padding: var(--v3-k-24); background-color: var(--v3-n-1); background-image: var(--v3-anh-son); border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); box-shadow: inset 0 0 0 var(--v3-k-4) var(--v3-n-1), inset 0 0 0 calc(var(--v3-k-4) + var(--v3-vien-1)) var(--v3-v-1); }
.v3-san-duoi { grid-template-columns: var(--v3-san-o) minmax(0, 1fr); column-gap: var(--v3-k-48); }
}
@media (max-width: 767px) {
.v3-san { gap: var(--v3-k-16); }
.v3-san[data-man="kq"] .v3-san-bt { inline-size: 100%; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-to__nhap { display: none; }
}
@media (min-width: 768px) {
.v3-san-bt--vuong .v3-san-tam__nhap .v3-san-an { inline-size: min(2.5rem, 9.5cqi); block-size: min(2.5rem, 9.5cqi); }
}
@media (min-width: 1024px) {
.v3-chu-to { --v3-san-o: min(calc(var(--v3-r-tool) - var(--v3-r-form) - var(--v3-k-48)), 40vw); }
}
@media (max-width: 639px) {
.v3-chu-to .v3-san-hang-ngay { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359px) {
.v3-san-hang-ngay { grid-template-columns: 5.25rem minmax(0, 7fr) minmax(0, 6fr); }
.v3-san-trang .v3-chon__nut { padding-inline-end: var(--v3-k-4); }
.v3-san-bt--vuong .v3-san-tam__nhap { gap: var(--v3-k-4); }
.v3-san[data-man="kq"] .v3-san-bt { inline-size: calc(100% + 2 * (var(--v3-le) - 6px)); margin-inline: calc(6px - var(--v3-le)); }
}
.v3-san:not(.v3-san--kq) :is(.v3-san-ray, .v3-san-ray__dinh, .v3-san-ray__bt, .v3-san-doc) { display: contents; }
.v3-san:not(.v3-san--kq) :is(.v3-san-ray__khoang, .v3-san-ml-kq, .v3-san-chang, .v3-san-ket, .v3-san-to__kq) { display: none; }
.v3-san:not(.v3-san--kq) ~ .v3-san-sau-ket, .v3-san.v3-san--kq ~ .v3-san-duoi, .v3-san.v3-san--kq ~ .smh-section { display: none; }
.v3-san--kq .v3-san-to__nhap { display: none; }
.v3-san--kq { font-variant-numeric: lining-nums; row-gap: var(--v3-nhip-giua); align-items: stretch; --v3-san-t: 0; }
.v3-san--kq .v3-san-bt { margin-inline: auto; }
.v3-san-doc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-nhip-phan); min-inline-size: 0; }
.v3-san--kq .v3-san-to { display: block; block-size: auto; min-block-size: 0; }
.v3-san--kq .v3-san-to__kq { opacity: 1; visibility: visible; animation: v3-san-hien 360ms var(--v3-e-ra) 600ms both; }
@keyframes v3-san-hien { from { opacity: 0; } }
.v3-san-chang { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-nhip-giua); min-inline-size: 0; }
.v3-san-chang__moc { display: flex; align-items: center; gap: var(--v3-k-12); margin: 0; }
.v3-san-chang__moc::after { content: ''; flex: 1; block-size: var(--v3-vien-1); background: var(--v3-v-2); }
.v3-san-chang__so { display: grid; place-items: center; inline-size: var(--v3-k-24); block-size: var(--v3-k-24); font-size: var(--v3-cs-13); color: var(--v3-c-nga); background: var(--v3-tool); border-radius: var(--v3-vien-2); filter: url(#v3-san-mx); }
.v3-san-muc + .v3-san-muc { margin-block-start: var(--v3-k-32); }
.v3-san-muc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-nhip-giua); min-inline-size: 0; scroll-margin-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); }
.v3-san-muc__dau { display: grid; gap: var(--v3-k-4); }
.v3-san-muc__dong { display: flex; align-items: baseline; justify-content: space-between; gap: var(--v3-k-12); }
.v3-san-muc h2, .v3-san-ket h2 { margin: 0; font-variant-numeric: lining-nums; font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); letter-spacing: var(--v3-gc-1); color: var(--v3-c-vang-nga); text-wrap: balance; }
.v3-san-muc h2 .v3-han { font-size: var(--v3-cs-16); color: var(--v3-c-nhan); }
.v3-san-muc__phu { margin: 0; font-size: var(--v3-cs-14); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-gap-ca { flex: none; min-block-size: var(--v3-k-32); padding: 0; font: inherit; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); color: var(--v3-c-vang); background: none; border: 0; cursor: pointer; text-decoration: underline; text-decoration-thickness: var(--v3-vien-1); text-underline-offset: .25em; transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-gap-ca:hover { color: var(--v3-c-nga); }
.v3-san-tieu-nho { margin: 0; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-muc > .v3-san-tieu-nho + *, .v3-san-muc > .v3-san-canh-bao + * { margin-block-start: calc(var(--v3-k-12) - var(--v3-nhip-giua)); }
.v3-san-thuoc-so > .v3-san-hang__nhan { margin-inline-start: var(--v3-san-v); }
.v3-san-doc-p { margin: 0; font-size: var(--v3-cs-16); line-height: var(--v3-cd-doc); color: var(--v3-c-nga-phu); text-wrap: pretty; overflow-wrap: anywhere; }
.v3-san-doc-p .v3-han, .v3-san-kq-cau .v3-han { color: var(--v3-c-nhan); white-space: nowrap; }
.v3-san-doc-p--phu { color: var(--v3-c-nhan); }
.v3-san-kq-cau { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-doc); color: var(--v3-c-nga); text-wrap: pretty; }
.v3-san-kq-cau a { display: block; margin-block-start: var(--v3-k-8); font-family: var(--v3-f-ui); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang); text-underline-offset: .25em; text-decoration-thickness: var(--v3-vien-1); }
.v3-san-tam-son { display: grid; gap: var(--v3-k-12); padding: var(--v3-k-24) var(--v3-k-16); background-color: var(--v3-n-1); background-image: var(--v3-anh-son); border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); box-shadow: inset 0 0 0 var(--v3-k-4) var(--v3-n-1), inset 0 0 0 calc(var(--v3-k-4) + var(--v3-vien-1)) var(--v3-v-1); }
.v3-san-tieu-tam { margin: 0; font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang-nga); }
.v3-san-tieu-tam .v3-han { font-size: var(--v3-cs-16); color: var(--v3-c-nhan); }
.v3-san-hoa-ds { display: grid; margin: 0; padding: 0; list-style: none; border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-hoa-ds li { display: grid; grid-template-columns: var(--v3-san-ky) minmax(0, 1fr) auto; column-gap: var(--v3-k-12); align-items: baseline; padding-block: var(--v3-k-8); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-hoa { grid-row: span 2; align-self: center; font-size: var(--v3-cs-16); color: var(--v3-tool-chu); text-align: center; }
.v3-san-hoa__ten { font-size: var(--v3-cs-13); color: var(--v3-c-nhan); }
.v3-san-hoa__sao { grid-column: 3; text-align: end; white-space: nowrap; }
.v3-san-hoa__sao b { font-weight: var(--v3-dam-5); color: var(--v3-c-nga); }
.v3-san-hoa__y { grid-column: 2 / -1; font-size: var(--v3-cs-13); color: var(--v3-c-nhan); }
.v3-san-ds { display: grid; grid-template-columns: minmax(0, 1fr); min-inline-size: 0; border-block-start: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-hang { min-inline-size: 0; border-block-end: var(--v3-vien-1) solid var(--v3-v-1); scroll-margin-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); }
.v3-san-hang__dau { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto var(--v3-k-20, 1.25rem); column-gap: var(--v3-k-12); align-items: center; min-block-size: 3.5rem; padding-block: var(--v3-k-8); padding-inline-end: var(--v3-k-4); list-style: none; cursor: pointer; background-color: var(--v3-n-0); -webkit-tap-highlight-color: transparent; transition: background-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-hang__dau.v3-san-co-ky { grid-template-columns: var(--v3-san-ky) minmax(0, 1fr) auto var(--v3-k-20, 1.25rem); }
.v3-san-hang__dau::-webkit-details-marker { display: none; }
.v3-san-hang__dau:focus-visible { outline: var(--v3-vien-2) solid var(--v3-c-vang); outline-offset: calc(-1 * var(--v3-vien-2)); }
.v3-san-hang__dau[style]::after { content: ''; position: absolute; inset-block-end: calc(-1 * var(--v3-vien-1)); inset-inline-start: 0; inline-size: var(--v3-san-d, 0); block-size: var(--v3-vien-1); background: var(--v3-c-vang); opacity: var(--v3-mo-4); }
@media (hover: hover) {
.v3-san-hang__dau:hover { background-color: var(--v3-ph-vang-1); }
}
.v3-san-hang__ky { display: grid; place-items: center; inline-size: var(--v3-san-ky); block-size: var(--v3-san-ky); font-size: var(--v3-cs-16); line-height: 1; color: var(--v3-tool-chu); border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); }
.v3-san-hang__chu { display: grid; min-inline-size: 0; }
.v3-san-hang__ten { text-wrap: balance; font-variant-numeric: lining-nums; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-nga); }
.v3-san-hang__ten .v3-han { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); color: var(--v3-c-nhan); }
.v3-san-hang__phu { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-hang__phai { display: flex; align-items: baseline; gap: var(--v3-k-8); font-size: var(--v3-cs-13); color: var(--v3-c-nga-phu); white-space: nowrap; }
.v3-san-hang__nhan { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-hang__nhan.v3-san-nhan-lech { color: var(--v3-c-dat); }
.v3-san-hang__nhan.v3-san-nhan-ht { color: var(--v3-c-vang); }
.v3-san-so-g { font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: 1; font-variant-numeric: lining-nums tabular-nums; color: var(--v3-c-nga); }
.v3-san-hang__mui { color: var(--v3-c-vang); transition: transform var(--v3-t-200) var(--v3-e-deu); }
.v3-san-hang[open] > .v3-san-hang__dau > .v3-san-hang__mui { transform: rotate(180deg); }
.v3-san-hang[open] > .v3-san-hang__dau { position: sticky; inset-block-start: var(--v3-san-dinh); z-index: var(--v3-z-noi); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-hang[open] > .v3-san-hang__dau.v3-san-co-ky .v3-san-hang__ky { color: var(--v3-c-nga); background: var(--v3-tool); border-color: transparent; }
.v3-san-hang__than { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-k-12); min-inline-size: 0; padding-block: var(--v3-k-16) var(--v3-k-24); }
.v3-san-hang__than > * { min-inline-size: 0; }
.v3-san-dn { display: grid; gap: var(--v3-k-4); }
.v3-san-dn p { margin: 0; }
.v3-san-dn__nhan { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang); }
.v3-san-dn--khuyen { padding-inline-start: var(--v3-k-12); border-inline-start: var(--v3-vien-1) solid var(--v3-c-vang); }
.v3-san-chip-dong { margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-ds--con { border-block-start-color: var(--v3-v-1); }
.v3-san-hang--con > .v3-san-hang__dau { min-block-size: var(--v3-cao-cham); padding-block: var(--v3-k-4); }
.v3-san-hang--con > .v3-san-hang__dau .v3-san-hang__ten { font-family: var(--v3-f-ui); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-hang--con[open] > .v3-san-hang__dau { position: relative; inset-block-start: auto; z-index: auto; }
.v3-san-lk { display: grid; grid-template-columns: var(--v3-san-ky) minmax(0, 1fr) var(--v3-k-20, 1.25rem); column-gap: var(--v3-k-12); align-items: center; min-block-size: 3.5rem; font-size: var(--v3-cs-16); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); text-decoration: none; border-block-end: var(--v3-vien-1) solid var(--v3-v-1); transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-lk .v3-bt { color: var(--v3-c-vang); }
.v3-san-lk .v3-san-mini { inline-size: var(--v3-san-ky); block-size: var(--v3-san-ky); }
@media (hover: hover) {
.v3-san-lk:hover { color: var(--v3-c-vang); }
}
.v3-san-luoi-o { --v3-san-c: 2; display: grid; grid-template-columns: repeat(var(--v3-san-c), minmax(0, 1fr)); gap: var(--v3-vien-1); margin: 0; background: var(--v3-v-1); border: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-luoi-o > div { display: grid; align-content: start; gap: var(--v3-k-4); padding: var(--v3-k-12); background: var(--v3-n-0); }
.v3-san-luoi-o--3 { --v3-san-c: 1; }
.v3-san-luoi-o--4 { --v3-san-c: 2; }
.v3-san-luoi-o dt { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-luoi-o dd { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-nga); }
.v3-san-luoi-o small { display: block; font-family: var(--v3-f-ui); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-luoi-o--nguoc > div { grid-template-rows: 1fr auto; }
.v3-san-luoi-o--nguoc dt { order: 2; }
.v3-san-dong { display: grid; margin: 0; border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-dong > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); column-gap: var(--v3-k-12); align-items: baseline; padding-block: var(--v3-k-8); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-dong dt { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-dong dd { margin: 0; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga); }
.v3-san-dong small { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); color: var(--v3-c-dat-ok); }
.v3-san-dong small.v3-san-sau { color: var(--v3-c-dat); }
.v3-san-dong .v3-san-ghi-nho { display: block; color: var(--v3-c-nhan); }
.v3-san-bang { inline-size: 100%; border-collapse: collapse; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); font-variant-numeric: lining-nums tabular-nums; }
.v3-san-bang th { padding: var(--v3-k-8); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); text-align: start; color: var(--v3-c-nhan); border-block-end: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-bang td, .v3-san-bang tbody th { padding: var(--v3-k-8); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); vertical-align: top; }
.v3-san-bang tbody th { font-size: var(--v3-cs-13); color: var(--v3-c-nga); }
.v3-san-bang small { display: block; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); color: var(--v3-c-nhan); }
.v3-san-bang tr.v3-san-dang > * { color: var(--v3-c-vang); background: var(--v3-ph-vang-1); }
.v3-san-bang tr.v3-san-dang small { color: inherit; }
.v3-san-bang--phi td .v3-han { color: var(--v3-tool-chu); }
.v3-san-bang--phi .v3-san-mui { display: block; font-size: var(--v3-cs-13); color: var(--v3-c-nhan); }
@media (max-width: 767px) {
.v3-san-bang--phi thead { position: absolute; clip-path: inset(50%); }
.v3-san-bang--phi, .v3-san-bang--phi tbody { display: block; }
.v3-san-bang--phi tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--v3-k-12); padding-block: var(--v3-k-8); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-bang--phi tbody th { grid-column: 1 / -1; padding: 0 0 var(--v3-k-4); border: 0; }
.v3-san-bang--phi tbody th small { display: inline; margin-inline-start: var(--v3-k-8); }
.v3-san-bang--phi td { padding: var(--v3-k-4) 0; border: 0; }
}
.v3-san-thuoc { display: grid; gap: var(--v3-k-8); }
.v3-san-thuoc__ray { position: relative; block-size: var(--v3-k-12); background-image: repeating-linear-gradient(90deg, var(--v3-v-2) 0 var(--v3-vien-1), transparent var(--v3-vien-1) 5%); border-block-end: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-thuoc__mui { position: absolute; inset-block-end: 0; inset-inline-start: var(--v3-san-v); inline-size: var(--v3-vien-2); block-size: var(--v3-k-16); background: var(--v3-c-vang); }
.v3-san-thuoc__mui::after { content: ''; position: absolute; inset-block-start: calc(-1 * var(--v3-k-4)); inset-inline-start: 50%; inline-size: var(--v3-k-8); block-size: var(--v3-k-8); background: var(--v3-c-vang); transform: translateX(-50%) rotate(45deg); }
.v3-san-thuoc__nhan { display: flex; justify-content: space-between; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-thuoc-so { display: grid; gap: var(--v3-k-8); }
.v3-san-canh-bao { margin: 0; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-dat); }
.v3-san-truc { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border-block-end: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-truc__nac { position: relative; display: grid; align-items: end; justify-items: start; min-block-size: var(--v3-cao-cham); padding-block-end: var(--v3-k-4); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); font-variant-numeric: lining-nums tabular-nums; color: var(--v3-c-nhan); text-decoration: none; border-inline-start: var(--v3-vien-1) solid var(--v3-v-2); transition: color var(--v3-t-phan-hoi) var(--v3-e-deu), background-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-truc__nac span { padding-inline-start: var(--v3-k-4); }
.v3-san-truc__nac.v3-san-dang { color: var(--v3-c-vang); background: var(--v3-ph-vang-2); border-inline-start-color: var(--v3-c-vang); box-shadow: inset 0 calc(-1 * var(--v3-vien-2)) 0 var(--v3-c-vang); }
@media (hover: hover) {
.v3-san-truc__nac:hover { color: var(--v3-c-nga); background: var(--v3-ph-vang-1); }
}
.v3-san-bd { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: var(--v3-vien-1); background: var(--v3-v-1); border: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-bd__o { display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--v3-k-4); min-inline-size: 0; padding: var(--v3-k-4); background: var(--v3-n-1); }
.v3-san-bd__o p { margin: 0; }
.v3-san-bd__o ul { margin: 0; padding: 0; list-style: none; }
.v3-san-bd__dau { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga); }
.v3-san-bd__dau b { font-weight: var(--v3-dam-5); }
.v3-san-bd__dau .v3-han { margin-inline-start: var(--v3-k-4); color: var(--v3-tool-chu); }
.v3-san-bd__nho { white-space: nowrap; }
.v3-san-doc .v3-san-hang--ban > .v3-san-hang__than { padding-inline-start: 0; }
.v3-san-bd__nho, .v3-san-bd__chan { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-bd__o li { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); overflow-wrap: anywhere; }
.v3-san-bd__o .v3-san-bd__chinh { font-weight: var(--v3-dam-5); color: var(--v3-c-nga); }
.v3-san-bd__chinh .v3-han { margin-inline-start: var(--v3-k-4); color: var(--v3-tool-chu); }
.v3-san-bd__chan { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--v3-k-4); padding-block-start: var(--v3-k-4); white-space: nowrap; border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-bd__o--menh { box-shadow: inset 0 0 0 var(--v3-vien-2) var(--v3-c-vang); }
.v3-san-bd__o--menh .v3-san-bd__dau b { color: var(--v3-c-vang); }
.v3-san-bd__tam { grid-area: 2 / 2 / 4 / 4; display: grid; align-content: center; justify-items: center; gap: var(--v3-k-4); padding: var(--v3-k-8); text-align: center; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); background: var(--v3-n-1); }
.v3-san-bd__tam p { margin: 0; }
.v3-san-bd__tam p:first-child { font-size: var(--v3-cs-16); color: var(--v3-c-vang); }
.v3-san-ke { display: grid; gap: var(--v3-k-4); margin: 0; padding: 0; list-style: none; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-ke li { display: grid; grid-template-columns: var(--v3-k-16) minmax(0, 1fr); align-items: baseline; }
.v3-san-ke li::before { content: ''; inline-size: var(--v3-k-4); block-size: var(--v3-k-4); background: var(--v3-c-vang); transform: translateY(-.15em) rotate(45deg); }
.v3-san-ke--doi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v3-k-4) var(--v3-k-16); }
.v3-san-buoc-ds { display: grid; margin: 0; padding: 0; list-style: none; counter-reset: b; font-size: var(--v3-cs-16); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-buoc-ds li { counter-increment: b; display: grid; grid-template-columns: var(--v3-san-ky) minmax(0, 1fr); column-gap: var(--v3-k-12); align-items: start; padding-block: var(--v3-k-12); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-buoc-ds li::before { content: counter(b); display: grid; place-items: center; inline-size: var(--v3-san-ky); block-size: var(--v3-san-ky); box-sizing: border-box; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: 1; font-variant-numeric: lining-nums; color: var(--v3-c-vang); border: var(--v3-vien-1) solid var(--v3-c-vang); border-radius: var(--v3-bo-4); }
.v3-san-van-khan { margin: 0; padding: var(--v3-k-16); font-size: var(--v3-cs-16); line-height: var(--v3-cd-doc); color: var(--v3-c-nga); background: var(--v3-n-1); white-space: pre-line; }
.v3-san-kh { display: grid; margin: 0; padding: 0; list-style: none; }
.v3-san-kh li { display: grid; grid-template-columns: var(--v3-san-ky) minmax(0, 1fr); column-gap: var(--v3-k-12); padding-block: var(--v3-k-8); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-kh__ky { grid-row: span 2; align-self: center; font-size: var(--v3-cs-13); text-align: center; color: var(--v3-tool-chu); }
.v3-san-kh b { font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); color: var(--v3-c-nga); }
.v3-san-gio-luoi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--v3-k-12); margin: 0; padding: 0; list-style: none; }
.v3-san-gio-luoi li { display: grid; justify-items: start; padding: var(--v3-k-8) 0; border-block-end: var(--v3-vien-1) solid var(--v3-v-1); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-gio-luoi .v3-han { font-size: var(--v3-cs-16); color: var(--v3-tool-chu); }
.v3-san-gio-luoi b { font-weight: var(--v3-dam-5); color: var(--v3-c-nga); }
.v3-san-gio-luoi small { font-size: var(--v3-cs-13); font-variant-numeric: lining-nums; }
.v3-san-gio-luoi .v3-san-dang { color: var(--v3-c-vang); box-shadow: inset 0 calc(-1 * var(--v3-vien-2)) 0 var(--v3-c-vang); }
.v3-san-ghi-o { inline-size: 100%; resize: vertical; }
.v3-san-hanh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; text-align: center; }
.v3-san-hanh__ben, .v3-san-hanh__giua { display: grid; justify-items: center; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-hanh__ben .v3-han { font-size: var(--v3-cs-24); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang); }
.v3-san-hanh b { font-weight: var(--v3-dam-5); color: var(--v3-c-nga); }
.v3-san-hanh__giua .v3-han { color: var(--v3-tool-chu); }
.v3-san-hanh__mui { position: relative; inline-size: 100%; block-size: var(--v3-vien-1); margin-block: var(--v3-k-8); background: var(--v3-c-vang); }
.v3-san-hanh__mui::after { content: ''; position: absolute; inset-inline-end: 0; inset-block-start: calc(-1 * var(--v3-k-4) + var(--v3-vien-1) / 2); inline-size: var(--v3-k-8); block-size: var(--v3-k-8); border-block-start: var(--v3-vien-1) solid var(--v3-c-vang); border-inline-end: var(--v3-vien-1) solid var(--v3-c-vang); transform: rotate(45deg); }
.v3-san-hanh-5, .v3-san-nam-5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--v3-vien-1); margin: 0; padding: 0; list-style: none; background: var(--v3-v-1); border: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-hanh-5 li { display: grid; justify-items: center; padding: var(--v3-k-8) var(--v3-k-4); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); background: var(--v3-n-0); }
.v3-san-hanh-5 .v3-han { font-size: var(--v3-cs-16); }
.v3-san-hanh-5 b { font-weight: var(--v3-dam-4); }
.v3-san-hanh-5 .v3-san-dang { color: var(--v3-c-vang); box-shadow: inset 0 0 0 var(--v3-vien-1) var(--v3-v-2); }
.v3-san-nam-5 li { display: grid; background: var(--v3-n-0); }
.v3-san-nam-5 button { display: grid; justify-items: center; align-content: center; gap: 0; min-block-size: var(--v3-k-64); padding: var(--v3-k-8) var(--v3-k-4); font: inherit; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); background: none; border: 0; cursor: pointer; transition: background-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-nam-5 b { font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); font-variant-numeric: lining-nums; color: var(--v3-c-nga); }
.v3-san-nam-5 small { font-size: var(--v3-cs-13); color: var(--v3-c-nhan); }
.v3-san-nam-5 .v3-san-dang button { box-shadow: inset 0 0 0 var(--v3-vien-1) var(--v3-c-vang); }
.v3-san-nam-5 .v3-san-dang b { color: var(--v3-c-vang); }
@media (hover: hover) {
.v3-san-nam-5 button:hover { background: var(--v3-ph-vang-1); }
}
.v3-san-thang { display: grid; gap: var(--v3-k-4); }
.v3-san-thang__mua { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-thang__mua li { padding-inline-start: var(--v3-k-4); border-inline-start: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-thang__ds { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--v3-vien-1); margin: 0; padding: 0; list-style: none; background: var(--v3-v-1); border: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-thang__ds li { display: grid; place-items: center; min-block-size: var(--v3-cao-cham); font-size: var(--v3-cs-13); font-variant-numeric: lining-nums; color: var(--v3-c-nhan); background: var(--v3-n-0); }
.v3-san-thang__ds .v3-san-can { font-weight: var(--v3-dam-5); color: var(--v3-c-nga); background: var(--v3-tool-sau); }
.v3-san-an-chu { position: absolute; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; }
.v3-san-chu-giai { display: flex; align-items: baseline; gap: var(--v3-k-8); margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-chu-giai i { flex: none; inline-size: var(--v3-k-8); block-size: var(--v3-k-8); background: var(--v3-tool-sau); outline: var(--v3-vien-1) solid var(--v3-tool); }
.v3-san-mau { display: inline-flex; align-items: center; gap: var(--v3-k-4); margin-inline-end: var(--v3-k-12); font-family: var(--v3-f-ui); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); }
.v3-san-mau i { inline-size: var(--v3-k-12); block-size: var(--v3-k-12); border-radius: 50%; border: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-luoi-o--may dd { font-size: var(--v3-cs-16); }
.v3-san-ket { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-nhip-giua); min-inline-size: 0; margin-block-start: var(--v3-nhip-phan); padding: var(--v3-k-24) var(--v3-k-16); background-color: var(--v3-n-1); background-image: var(--v3-anh-son); border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); box-shadow: inset 0 0 0 var(--v3-k-4) var(--v3-n-1), inset 0 0 0 calc(var(--v3-k-4) + var(--v3-vien-1)) var(--v3-v-1); scroll-margin-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); }
.v3-san-ket__trai { display: grid; justify-items: start; align-content: start; gap: var(--v3-k-4); }
.v3-san-ket__trai .v3-san-mat { margin-block-start: var(--v3-k-12); }
.v3-san-ket .v3-san-an--ket { inline-size: var(--v3-k-64); block-size: var(--v3-k-64); }
.v3-san-ket.v3-san-dong-an .v3-san-an--ket { animation: v3-san-an-dong 360ms var(--v3-e-ra) both; }
.v3-san-ket__trai p { margin: 0; }
.v3-san-ket__phai { display: grid; gap: var(--v3-k-12); min-inline-size: 0; }
.v3-san-nut-bon { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v3-k-8); }
.v3-san-nut-bon .v3-nut { min-block-size: var(--v3-k-48); padding-inline: var(--v3-k-8); }
.v3-san-ket__ghi { display: flex; gap: var(--v3-k-8); margin: 0; padding-block-start: var(--v3-nhip-nhom); border-block-start: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-ket__ghi .v3-bt { flex: none; color: var(--v3-c-dat); margin-block-start: .1em; }
.v3-san-sau-ket { margin-block-start: var(--v3-nhip-phan); }
.v3-san-thanh { position: fixed; z-index: var(--vo-z-header, 900); inset-block-start: 0; inset-inline: 0; display: grid; grid-template-columns: var(--v3-k-48) minmax(0, 1fr) auto; column-gap: var(--v3-k-12); align-items: center; block-size: var(--v3-dinh-tren, 5rem); padding-inline: var(--v3-le); background: var(--v3-n-1); border-block-end: var(--v3-vien-1) solid var(--v3-v-2); transform: translateY(-100%); transition: transform var(--v3-t-200) var(--v3-e-ra); }
.v3-san-thanh[hidden] { display: none; }
.v3-san-thanh.v3-san-hien { transform: none; }
.v3-san-thanh__bt svg { display: block; inline-size: var(--v3-k-48); block-size: var(--v3-k-48); }
.v3-san-thanh__chu { display: grid; min-inline-size: 0; }
.v3-san-thanh__chu b { font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang-nga); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v3-san-thanh__chu small { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-thanh__nut { min-block-size: var(--v3-cao-cham); padding-inline: var(--v3-k-12); font: inherit; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); color: var(--v3-c-vang); background: none; border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); cursor: pointer; }
.v3-san-so-muc { inline-size: 100%; max-inline-size: 100%; max-block-size: 86svh; margin: auto 0 0; padding: var(--v3-k-16); color: var(--v3-c-nga); background: var(--v3-n-1); border: 0; border-block-start: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-so-muc::backdrop { background: color-mix(in srgb, #000 72%, transparent); }
.v3-san-so-muc__dau { display: flex; align-items: center; justify-content: space-between; gap: var(--v3-k-12); margin-block-end: var(--v3-k-12); }
.v3-san-so-muc__ten { margin: 0; font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang-nga); }
.v3-san-so-muc__ruot { display: grid; gap: var(--v3-k-12); }
.v3-san-so-muc__ban { position: relative; inline-size: min(13rem, 56vw); margin-inline: auto; aspect-ratio: 1; }
.v3-san-so-muc__ban svg { display: block; inline-size: 100%; block-size: 100%; }
.v3-san-so-muc__ban .v3-san-o__chi { opacity: .72; }
.v3-san-so-muc__ban .v3-san-menh-vien, .v3-san-thanh__bt .v3-san-menh-vien { opacity: 1; stroke-dashoffset: 0; }
.v3-san-so-muc__ban .v3-san-ray__o { display: grid; }
.v3-san-so-muc__ban .v3-san-dau-net, .v3-san-so-muc__ban .v3-san-dau-sao, .v3-san-so-muc__ban .v3-san-dinh { opacity: 0; }
.v3-san-so-muc__khoang { position: absolute; inset: 28.33%; display: grid; place-content: center; justify-items: center; text-align: center; pointer-events: none; }
.v3-san-so-muc__khoang[data-sh] { inset: 25%; }
.v3-san-so-muc__khoang b { font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang-nga); text-wrap: balance; }
.v3-san-so-muc__khoang small { font-size: var(--v3-cs-13); color: var(--v3-c-nhan); }
.v3-san-ml-kq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--v3-k-24); }
.v3-san-ml__nhom + .v3-san-ml__nhom { margin-block-start: var(--v3-k-8); }
.v3-san-ml__nhom p .v3-han { display: inline-grid; place-items: center; inline-size: 1.25rem; block-size: 1.25rem; margin-inline-end: var(--v3-k-4); color: var(--v3-c-nga); background: var(--v3-tool); border-radius: var(--v3-vien-2); filter: url(#v3-san-mx); }
.v3-san-ml__nhom p { margin: 0; padding-block: var(--v3-k-4); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-ml__nhom ol { margin: 0; padding: 0; list-style: none; }
.v3-san-ml__nhom a { position: relative; display: flex; align-items: center; min-block-size: var(--v3-k-32); padding-inline-start: var(--v3-k-12); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); text-decoration: none; transition: color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-ml__nhom a::before { content: ''; position: absolute; inset-block: var(--v3-k-4); inset-inline-start: 0; inline-size: var(--v3-vien-1); background: var(--v3-v-2); }
.v3-san-ml__nhom a:hover { color: var(--v3-c-vang); }
.v3-san-ml__nhom a[aria-current] { color: var(--v3-c-vang); }
.v3-san-ml__nhom a[aria-current]::before { inline-size: var(--v3-vien-2); background: var(--v3-c-vang); }
.v3-san-so-muc .v3-san-ml__nhom a { min-block-size: var(--v3-cao-cham); }
.v3-san-ray__khoang { display: none; }
.v3-san-ml-kq { display: none; }
.v3-san-so-muc .v3-san-ml-kq { display: grid; }
.v3-san-so-muc .v3-san-ml-kq a { min-block-size: var(--v3-cao-cham); }
@media (min-width: 768px) {
.v3-san-doc, .v3-san-ket, .v3-san-sau-ket { inline-size: 100%; max-inline-size: var(--v3-r-form); margin-inline: auto; }
.v3-san-hang__than { padding-inline-start: calc(var(--v3-san-ky) + var(--v3-k-12)); }
.v3-san-hang--con .v3-san-hang__than, .v3-san-ds--con .v3-san-hang__than { padding-inline-start: 0; }
.v3-san-tam-son, .v3-san-ket { padding: var(--v3-k-32) var(--v3-k-24); }
.v3-san-luoi-o--4 { --v3-san-c: 4; }
.v3-san-luoi-o--3 { --v3-san-c: 3; }
.v3-san-dong--doi { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--v3-k-24); }
.v3-san-ke--doi { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v3-san-so-muc { inline-size: var(--v3-r-form); max-inline-size: var(--v3-r-form); margin: auto; border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); }
.v3-san-bd__o { padding: var(--v3-k-8); }
.v3-san-bd__o--menh { grid-area: inherit; }
}
@media (min-width: 1024px) {
.v3-san-thanh { display: none; }
.v3-san--kq { grid-template-columns: var(--v3-san-o) minmax(0, 1fr); column-gap: var(--v3-k-48); }
.v3-san--kq .v3-san-to { display: grid; min-block-size: var(--v3-san-o); }
.v3-san--kq .v3-san-to__kq { align-content: center; }
.v3-san-ray { grid-column: 1; grid-row: 1; min-inline-size: 0; }
.v3-san-ray__dinh { position: sticky; inset-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); min-block-size: calc(var(--v3-san-mini) + 24rem); transition: opacity var(--v3-t-200) var(--v3-e-deu), visibility var(--v3-t-200); }
.v3-san--kq.v3-san--phong .v3-san-ray__dinh { opacity: 0; visibility: hidden; }
.v3-san-ray__bt { position: relative; }
.v3-san-doc { grid-column: 2; grid-row: 1; max-inline-size: none; margin-inline: 0; }
.v3-san--kq .v3-san-bt { transform-origin: 0 0; transform: scale(calc(1 - var(--v3-san-t) * var(--v3-san-giam, .37))); }
.v3-san--kq .v3-san-bt .v3-san-luoi-kq { opacity: calc(1 - var(--v3-san-t) * 2.5); transition: none; }
.v3-san--kq .v3-san-bt .v3-san-tam { opacity: calc(1 - var(--v3-san-t) * 2.5); }
.v3-san--kq .v3-san-bt .v3-san-o__chi { opacity: calc(var(--v3-san-t) * .72); transition: none; }
.v3-san--kq.v3-san--thu .v3-san-tp { opacity: 0; animation: none; transition: opacity var(--v3-t-200) var(--v3-e-deu); }
.v3-san--kq.v3-san--thu[data-doc="cm"] .v3-san-tp { opacity: .5; stroke-dashoffset: 0; }
.v3-san-ray__khoang { position: absolute; inset-block-start: 0; inset-inline-start: 0; display: grid; align-content: center; justify-items: center; gap: var(--v3-k-4); inline-size: var(--v3-san-mini); block-size: var(--v3-san-mini); padding: calc(var(--v3-san-mini) * .2833); box-sizing: border-box; text-align: center; opacity: calc((var(--v3-san-t) - .6) * 2.5); pointer-events: none; }
.v3-san-ray__khoang b { font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-vang-nga); text-wrap: balance; }
.v3-san-ray__khoang small { font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); font-variant-numeric: lining-nums; }
.v3-san-ml-kq { position: absolute; inset-block-start: calc(var(--v3-san-mini) + var(--v3-k-16)); inset-inline: 0; display: grid; opacity: calc((var(--v3-san-t) - .6) * 2.5); visibility: hidden; }
.v3-san--kq.v3-san--thu .v3-san-ml-kq { visibility: visible; }
.v3-san-ket { grid-column: 1 / -1; grid-template-columns: var(--v3-san-o) minmax(0, 1fr); column-gap: var(--v3-k-48); max-inline-size: none; padding: var(--v3-k-48); }
.v3-san-ket__ghi { grid-column: 1 / -1; }
.v3-san-sau-ket { max-inline-size: none; }
}
@media (prefers-reduced-motion: reduce) {
.v3-san-thanh { transition: none; }
.v3-san-hang__mui { transition: none; }
}
@media (max-width: 767px) {
.v3-san-bd { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v3-san-trang .v3-san-bd .v3-san-bd__o { grid-area: auto; padding: var(--v3-k-8); }
.v3-san-bd__o--menh { order: -1; }
.v3-san-bd__tam { grid-area: auto; grid-column: 1 / -1; order: -2; }
}
@media (min-width: 768px) and (max-width: 1023px) {
.v3-san-hang--ban > .v3-san-hang__than { margin-inline: calc((100% - min(100vw - 2 * var(--v3-le), var(--v3-r-tool))) / 2); }
}
@media (min-width: 1024px) {
.v3-san-hang--ban > .v3-san-hang__than { position: relative; z-index: var(--v3-z-noi); margin-inline-start: calc(-1 * (var(--v3-san-o) + var(--v3-k-48))); }
.v3-san-bd__o { padding: var(--v3-k-12); }
}
@media (min-width: 1024px) and (max-height: 859px) {
.v3-san-ml-kq { inset-block-start: 0; inset-inline: calc(var(--v3-san-mini) + var(--v3-k-16)) 0; grid-template-columns: minmax(0, 1fr); block-size: calc(100svh - var(--v3-san-dinh) - var(--v3-k-32)); align-content: start; overflow-y: auto; scrollbar-width: thin; }
.v3-san-ml-kq > div { display: contents; }
.v3-san-ml__nhom + .v3-san-ml__nhom { margin-block-start: 0; }
.v3-san-ray__dinh { min-block-size: 0; }
.v3-san-ray__khoang b { font-family: var(--v3-f-ui); font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); }
}
@media (max-width: 1023px) {
.v3-san-muc, .v3-san-hang, .v3-san-ket { scroll-margin-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); }
}
@media (max-width: 479px) {
.v3-san-nut-bon { grid-template-columns: minmax(0, 1fr); }
.v3-san-nam-5 { grid-template-columns: minmax(0, 1fr); }
.v3-san-nam-5 button { inline-size: 100%; grid-template-columns: 4rem minmax(0, 1fr) auto; column-gap: var(--v3-k-8); justify-items: start; align-items: baseline; min-block-size: var(--v3-cao-cham); padding-inline: var(--v3-k-12); }
.v3-san-hang__phai .v3-san-hang__nhan { display: none; }
.v3-san-hang__phai .v3-san-hang__nhan:only-child { display: inline; }
}
.v3-san-cau-dau { color: var(--v3-c-nga); }
@media print {
.v3-san-ray__dinh, .v3-san-thanh, .v3-san-dock, .v3-san-nut-bon, .v3-san-gap-ca, .v3-san-hang__mui, .sm-footer { display: none !important; }
.v3-san--kq { display: block; }
.v3-san-hang[open] > .v3-san-hang__dau { position: static; }
.v3-san-hang > .v3-san-hang__than { margin: 0; padding-inline-start: 0; }
.v3-san-to, .v3-san-tam-son, .v3-san-ket, .v3-san-hang__dau, .v3-san-bd__o, .v3-san-luoi-o > div { background: none !important; box-shadow: none; }
}

/* ═══ PHẦN THÊM CHO TRANG THẬT: biến sườn, vỏ thật, tấm trạng thái, 9 CHẶN ═══ */
:root {
  --v3-san-h1: min(var(--v3-cs-tieu-de), 3rem);
  --v3-t-phan-hoi: 90ms; --v3-t-120: 90ms; /* mọi phản hồi rê, bấm, focus đều 90 ms */
  --v3-san-o: calc(var(--v3-r-tool) - var(--v3-r-form) - var(--v3-k-48));
  --v3-san-mini: 23rem; --v3-san-ky: var(--v3-k-32);
  --v3-san-dinh: var(--header-bar); /* dưới 1024 thanh dính cao đúng thanh đầu trang */
  --v3-san-khoang: 28.33%;
}
@media (min-width: 1024px) { :root { --v3-san-dinh: var(--v3-dinh-tren, 6rem); } }
@media (min-width: 1024px) and (max-height: 859px) { :root { --v3-san-mini: 14rem; } }
@media (min-width: 1920px) { :root { --v3-san-o: var(--v3-r-form); } .v3-san-trang .v3-san, .v3-san-trang .v3-san-duoi { max-inline-size: calc(2 * var(--v3-r-form) + var(--v3-k-48)); } }
.v3-san-trang { padding-block-end: 0; overflow-anchor: none; font-variant-numeric: lining-nums; }
.v3-san-trang .v3-han { line-height: inherit; }
.v3-san, .v3-san-duoi { inline-size: 100%; margin-inline: auto; }
.v3-san-bt--vuong .v3-san-tam, .v3-san-bt--tron .v3-san-tam { inset: var(--v3-san-khoang); }
.v3-san-bt--tron { --v3-san-khoang: 25%; }
.v3-san-bt-hinh { filter: drop-shadow(0 12px 32px rgba(0, 0, 0, .5)); }
.v3-san-bt--vuong .v3-san-tam__nhap .v3-san-an { inline-size: 24px; block-size: 24px; }
@media (min-width: 768px) { .v3-san-bt--vuong .v3-san-tam__nhap .v3-san-an { inline-size: min(2.5rem, 9.5cqi); block-size: min(2.5rem, 9.5cqi); } }
.v3-san-an-chu { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.v3-san-trang .tc-lead-inject { display: none; }

/* Màn nhập, chờ nằm trong tấm phải: khung 3 màn của nền nhường cho sân khấu */
.v3-san-trang .v3-san-to__nhap { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: var(--v3-nhip-nhom); align-items: stretch; }
.v3-san-trang .v3-san-to__nhap[hidden], .v3-san-trang .v3-san-to__cho[hidden] { display: none; }
.v3-san-trang .v3-san-to__cho { display: grid; grid-template-columns: minmax(0, 1fr); min-block-size: 0; padding-block: 0; place-items: stretch; align-content: center; text-align: start; pointer-events: none; }
.v3-san-trang .v3-san-to__cho .v3-cho { display: grid; gap: var(--v3-nhip-nhom); min-block-size: 0; padding: 0; inline-size: 100%; }
.v3-san-trang .v3-cho__nhac { max-inline-size: none; margin: 0; }
.v3-san-trang .v3-cho__loi { gap: var(--v3-k-12); justify-items: stretch; inline-size: 100%; max-inline-size: none; }
.v3-san-trang .v3-cho__loi .v3-thong-bao, .v3-san-trang .v3-cho__nhac { box-sizing: border-box; inline-size: 100%; max-inline-size: none; margin: 0; text-align: start; }
.v3-san-trang .v3-cho__loi { justify-items: center; }
.v3-san-trang .v3-cho__loi [data-v3-thu-lai] { inline-size: 100%; }
.v3-san[data-cho="cham"] .v3-san-to__nhap, .v3-san[data-cho="loi"] .v3-san-to__nhap { opacity: 0; visibility: hidden; }
.v3-san[data-cho="cham"] .v3-san-to__cho, .v3-san[data-cho="loi"] .v3-san-to__cho { pointer-events: auto; }
.v3-san[data-cho="loi"] .v3-san-bt { opacity: var(--v3-mo-3); }
.v3-san[data-cho="loi"] .v3-san-tam__nhap { opacity: 1; }
.v3-san[data-man="cho"]:not([data-cho="loi"]) .v3-san-tam__nhap .v3-san-h1 { opacity: 0; }
@media (max-width: 767px) { .v3-san[data-cho="cham"] .v3-san-to__nhap, .v3-san[data-cho="loi"] .v3-san-to__nhap { display: none; } }
.v3-san-trang .v3-man-kq { gap: var(--v3-nhip-phan); }
.v3-san-trang .v3-man-kq[hidden], .v3-san-ket[hidden] { display: none; }
.v3-san-ho-so { margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-to__kq > header { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v3-k-12); min-inline-size: 0; }
.v3-san-ten-kq:focus { outline: 0; }
.v3-chu-to .v3-san-hoa__sao { grid-column: 2 / -1; text-align: start; white-space: normal; }
.v3-san-to__kq .v3-thong-bao { margin: 0; }
.v3-san-to__kq .v3-thong-bao__tieu { display: block; }

/* Khối dưới công cụ trên vỏ thật: đầu trái dính dưới thanh đầu trang */
@media (min-width: 768px) { .v3-san-ray-dinh { inset-block-start: calc(var(--v3-san-dinh) + var(--v3-k-16)); } }
.v3-san-duoi__doc .tc-section { margin: 0; padding: 0; inline-size: 100%; max-inline-size: none; }
.v3-san-duoi__doc .tc-accordion + .tc-accordion { margin-block-start: 0; }
.v3-san-trang .tc-accordion-arrow { display: none; }
.v3-san-trang .tc-accordion-toggle { align-items: center; }
.v3-san-trang .tc-accordion-label { flex: 1; color: var(--v3-c-nga); }
.v3-san-trang .smh-meander, .v3-san-trang .smh-head__title svg { display: none; }
.v3-san-trang .smh-head__sub { display: block; }
.v3-san-trang .smh-head__title { font-family: var(--v3-f-serif); font-size: var(--v3-cs-24); font-weight: var(--v3-dam-6); line-height: var(--v3-cd-tieu-de); }

/* C6: thẻ bảng hiệu, mô tả trải dưới biểu tượng, tối đa 2 dòng; biểu tượng và ấn lấy màu từ tool đích */
.v3-san-phong { --v3-tool: var(--smh-accent, var(--v3-c-vang)); }
.v3-san-phong__son { grid-template-columns: var(--v3-k-48) minmax(0, 1fr) auto; align-items: center; }
.v3-san-phong__hinh { grid-row: auto; inline-size: var(--v3-k-48); block-size: var(--v3-k-48); }
.v3-san-phong .smh-card__desc { grid-column: 1 / -1; display: block; margin: 0; }
.v3-san-phong__khac { grid-column: 1 / -1; }
.v3-san-phong.v3-san-phong, .v3-san-trang .v3-san-phong { text-decoration: none; }
.v3-san-phong__day svg, .v3-san-phong__an { display: block; }

/* C8, P127: trạng thái rỗng là ngăn tủ sơn mài trống: viền kép như tấm, ấn mờ của tool, chữ căn trái */
.v3-san-rong { display: grid; grid-template-columns: var(--v3-k-48) minmax(0, 1fr); gap: var(--v3-k-4) var(--v3-k-12); align-items: center; padding: var(--v3-k-16); background-color: var(--v3-n-1); background-image: var(--v3-anh-son); border: var(--v3-vien-1) solid var(--v3-v-2); border-radius: var(--v3-bo-4); box-shadow: inset 0 0 0 var(--v3-k-4) var(--v3-n-1), inset 0 0 0 calc(var(--v3-k-4) + var(--v3-vien-1)) var(--v3-v-1); }
.v3-san-rong__an { grid-row: span 2; inline-size: var(--v3-k-48); block-size: var(--v3-k-48); opacity: var(--v3-mo-3); }
.v3-san-rong__an .v3-san-an { inline-size: 100%; block-size: 100%; }
.v3-san-rong__tieu { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga); }
.v3-san-rong__chu { margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }

/* C5, P039: cột theo chữ, cả hàng một dòng; A+ không vừa thì một cột */
.v3-san-trang .v3-san-doan-kq { grid-auto-columns: auto; grid-auto-flow: column; }
.v3-san-trang .v3-san-doan-kq .v3-doan__chu { white-space: nowrap; }
.v3-chu-to .v3-san-trang .v3-san-doan-kq { grid-auto-flow: row; }
@media (max-width: 359px) { .v3-san-trang .v3-san-doan-kq .v3-doan__chu { padding-inline: 0; } }

/* Các A+ dưới 640: C1, C2, C3 */
@media (max-width: 639px) {
  .v3-chu-to .v3-san-hang__dau .v3-san-hang__phai { grid-column: 1 / -2; grid-row: 2; white-space: normal; flex-wrap: wrap; }
  .v3-chu-to .v3-san-hang__dau.v3-san-co-ky .v3-san-hang__phai { grid-column: 2 / -2; }
  .v3-chu-to .v3-san-hang__mui { grid-column: -2 / -1; grid-row: 1; }
  .v3-chu-to .v3-san-hang__phai .v3-san-hang__nhan { display: inline; }
  .v3-chu-to .v3-san-hang__dau { row-gap: var(--v3-k-4); }
  .v3-chu-to .v3-san-chon { grid-template-columns: minmax(0, 1fr); }
  .v3-chu-to .v3-san-doc-p .v3-han { white-space: normal; }
  .v3-san-hoa__sao { grid-column: 2 / -1; text-align: start; white-space: normal; }
  .v3-chu-to .v3-san-truc, .v3-chu-to .v3-san-thang__ds { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .v3-chu-to .v3-san-thang__mua { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* C4 */
.v3-san-hanh small { font-size: var(--v3-cs-13); }

/* 768 đến 1023 một cột 560 giữa, như sườn kết quả */
@media (min-width: 768px) and (max-width: 1023px) { .v3-san-duoi { grid-template-columns: minmax(0, 1fr); max-inline-size: var(--v3-r-form); } .v3-san-ray-dinh { position: static; } }
/* Lá số đủ: 12 ô cao bằng nhau */
.v3-san-bd { grid-auto-rows: 1fr; }
@media (max-width: 359px) { .v3-san-phong__son { column-gap: var(--v3-k-8); } .v3-san-phong__an { inline-size: var(--v3-k-24); block-size: var(--v3-k-24); } .v3-san-phong__son { grid-template-columns: var(--v3-k-32) minmax(0, 1fr) auto; } .v3-san-phong__hinh { inline-size: var(--v3-k-32); block-size: var(--v3-k-32); } }
/* C7: không scrollbar-color trên trang, chỉ dành cho trình duyệt không có ::-webkit-scrollbar */
@supports not selector(::-webkit-scrollbar) { .v3-san-so-muc, .v3-san-ml-kq { scrollbar-width: thin; scrollbar-color: var(--v3-c-nhan) transparent; } }

/* Thanh dính đè đúng lên thanh đầu trang; cao không theo --v3-dinh-tren vì biến đó về 0 khi đầu trang trượt đi */
.v3-san-thanh { block-size: var(--header-bar); }
.v3-san-ky__luu { max-inline-size: 100%; overflow: hidden; font-size: var(--v3-san-ky-co); line-height: var(--v3-cd-tieu-de); color: var(--v3-tool-chu); text-overflow: ellipsis; }
.v3-san-ray__o a.v3-san-chon-o { background: var(--v3-ph-vang-3); }
.v3-san-ky b.v3-san-rong-sao { color: var(--v3-c-nhan); }
.v3-man-kq > .v3-san-doc { margin: 0; max-inline-size: none; }
.v3-san-bd__o[data-chon] { background: var(--v3-n-2); }
.v3-san-bd__o { cursor: pointer; transition: background-color var(--v3-t-phan-hoi) var(--v3-e-deu); }
.v3-san-bd__o:focus-visible { outline: var(--v3-vien-2) solid var(--v3-c-vang); outline-offset: calc(-1 * var(--v3-vien-2)); }
@media (hover: hover) { .v3-san-bd__o:hover { background: var(--v3-n-2); } }
.v3-san-bd__tp { margin-inline-start: var(--v3-k-4); color: var(--v3-c-vang); font-family: var(--v3-f-han); }
.v3-san-bd__th, .v3-san-bd__luu { display: none; margin: 0; padding: 0; list-style: none; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-tool-chu); }
.v3-san-bd--th .v3-san-bd__th, .v3-san-bd__luu:not(:empty) { display: block; }
.v3-san-chon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--v3-k-4) var(--v3-k-12); align-items: center; padding-block: var(--v3-k-8); border-block-end: var(--v3-vien-1) solid var(--v3-v-1); }
.v3-san-chon__ten { margin: 0; font-size: var(--v3-cs-16); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-tieu-de); color: var(--v3-c-nga); }
.v3-san-chon__ten .v3-han { margin-inline-start: var(--v3-k-4); color: var(--v3-tool-chu); }
.v3-san-chon__nhan { display: block; font-size: var(--v3-cs-13); font-weight: var(--v3-dam-4); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nhan); }
.v3-san-chon__lk { display: inline-flex; align-items: center; gap: var(--v3-k-4); min-block-size: var(--v3-cao-cham); font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang); text-underline-offset: .25em; text-decoration-thickness: var(--v3-vien-1); }
.v3-san-sao-ds { display: flex; flex-wrap: wrap; gap: var(--v3-k-4) var(--v3-k-12); margin: 0; font-size: var(--v3-cs-13); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-nga-phu); }
.v3-san-sao-ds .v3-han { color: var(--v3-tool-chu); margin-inline-start: var(--v3-k-4); }
.v3-san-so-muc .v3-san-ml-kq { position: static; opacity: 1; visibility: visible; block-size: auto; overflow: visible; }
.v3-san-so-muc[open] { display: block; }
.v3-san-so-muc:not([open]) { display: none; }
.v3-san-gio-luoi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v3-san-gio-luoi li { grid-template-columns: minmax(0, 1fr); }
.v3-san-gio-luoi em { font-style: normal; color: var(--v3-c-vang); }
@media (min-width: 768px) { .v3-san-gio-luoi { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v3-san-tam-son .v3-thong-bao { margin: 0; }
.v3-san-doc-p--ghi { padding-inline-start: var(--v3-k-12); border-inline-start: var(--v3-vien-1) solid var(--v3-v-2); }
.v3-san-ds .v3-truong { display: grid; gap: var(--v3-k-4); }
.v3-san-hang--phang > .v3-san-hang__dau { grid-template-columns: minmax(0, 1fr) auto; cursor: default; }
.v3-san-sau-ket[hidden], .v3-san-kh li[hidden] { display: none; }

/* Bản in: một khối luật, hết dải tối, đủ bàn và ấn đầu trang */
@media print {
  .v3-san-trang { max-inline-size: none; padding: 0; color: #111; }
  .v3-san, .v3-san.v3-san--kq { display: block; }
  .v3-san-ray, .v3-san-ray__bt { display: block; }
  .v3-san-ray__dinh { position: static; display: block !important; min-block-size: 0; }
  .v3-san-ml-kq, .v3-san-ray__khoang, .v3-san-thanh, .v3-san-so-muc { display: none !important; }
  .v3-san .v3-san-bt { inline-size: 60%; margin: 0 auto; transform: none; }
  .v3-san-bt-hinh { filter: none; }
  .v3-san-to, .v3-san-tam-son, .v3-san-ket, .v3-san-rong { padding: 0; border: 0; background: none; box-shadow: none; }
  .sm-main::before, .sm-main::after { display: none; }
  .sm-v3 a { color: #000 !important; }
  .sm-skip-to-content, .sm-v3 .sm-main button { display: none !important; }
  .v3-san-doc-p, .v3-san-hang__ten, .v3-san-kq-cau, .v3-san-dong dd, .v3-san-dong dt, .v3-san-ten-kq, .v3-san-kq-phu, .v3-san-muc h2, .v3-san-muc__phu, .v3-san-tieu-nho, .v3-san-luoi-o dd, .v3-san-luoi-o dt, .v3-san-bang, .v3-san-bang th { color: #111; }
  .v3-san-hang__than { display: grid; }
}
.v3-san-trang .v3-cho[data-v3-cho="cham"] .v3-cho__nhac { display: flex; }
@media (max-width: 767px) { .v3-san-muc__phu { font-size: var(--v3-cs-16); } }

/* Sửa 12 CHẶN QA cuối */
.v3-san-phong__son { grid-template-rows: minmax(3rem, auto); align-content: start; }
.v3-san-phong__khac { display: block; min-block-size: 2lh; }
.v3-san-phong__khac span { display: inline; }
.v3-san-phong__khac span::before { display: inline-block; margin-inline: var(--v3-k-4); vertical-align: middle; transform: rotate(45deg); }
.v3-san-phong__khac span:first-child::before { margin-inline-start: 0; }
.v3-san-phong__dang { grid-column: 1 / -1; justify-self: start; box-sizing: border-box; min-block-size: var(--v3-k-28, 1.75rem); padding: var(--v3-k-4) var(--v3-k-8); border: var(--v3-vien-1) solid color-mix(in srgb, var(--v3-c-vang) 28%, transparent); border-radius: var(--v3-bo-4); font-size: var(--v3-cs-13); font-weight: var(--v3-dam-5); line-height: var(--v3-cd-giao-dien); color: var(--v3-c-vang); }
@media (min-width: 640px) {
  .v3-san-hoa-ds li { grid-template-columns: var(--v3-san-ky) 5rem minmax(0, 1fr); }
  .v3-san-hoa__sao { grid-column: 3; text-align: start; white-space: normal; }
}
.v3-san-trang strong { font-weight: var(--v3-dam-6); }
.v3-san-kq-cau strong { font-weight: inherit; }
@media (max-width: 479px) { .v3-san-so-ba { grid-template-columns: repeat(3, auto); } .v3-san-so-ba > div { padding-inline: var(--v3-k-4); } }
.v3-san-ten-kq { display: flex; flex-wrap: wrap; column-gap: .8em; overflow-x: clip; }
.v3-san-ten-kq > span { position: relative; }
.v3-san-ten-kq .v3-san-cham { display: inline; position: absolute; inset-inline-end: 100%; inline-size: .8em; text-align: center; white-space: pre; }
@media (hover: hover) { .v3-san-hang[open] > .v3-san-hang__dau:hover { background-color: var(--v3-n-0); background-image: linear-gradient(var(--v3-ph-vang-1), var(--v3-ph-vang-1)); } }
.v3-san-so-muc { padding: 0; }
.v3-san-so-muc__dau { margin-block-end: 0; padding: var(--v3-k-16) var(--v3-k-16) var(--v3-k-12); }
.v3-san-so-muc__ruot { padding: 0 var(--v3-k-16) var(--v3-k-16); }
@media (max-width: 359px) { .v3-san-chon { grid-template-columns: minmax(0, 1fr); } }

/* 1024 đến 1199: cột đọc đủ 45 ký tự, tên thẻ một dòng */
@media (min-width: 1024px) and (max-width: 1199px) {
  .v3-san--kq { grid-template-columns: calc(var(--v3-san-o) - var(--v3-k-48)) minmax(0, 1fr); column-gap: var(--v3-k-32); }
  .v3-san-phong .smh-card__name { font-size: var(--v3-cs-20); }
}

/* Màn thấp, điện thoại ngang: biểu tượng nằm trọn trong màn */
@media (max-height: 480px) { .v3-san-bt { inline-size: min(100%, calc(100svh - 7rem)); } }
