/* Progressive presentation only. No content depends on an animation finishing. */
.rt3-page [data-cart-drawer][hidden],.rt3-page [data-shi-room][hidden],.rt3-page [data-shi-step][hidden],.rt3-page [data-shi-room-fallback][hidden],.rt3-page [data-shi-step-fallback][hidden],.rt3-page .shi-step-preview[hidden],.rt3-page .shi-room-caption[hidden] { display:none; }
.rt3-page .shi-photo { position:relative; }
.rt3-page .shi-photo .shi-photo-open { position:absolute; right:12px; bottom:12px; z-index:3; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:0; border-radius:4px; background:transparent; color:#fff; font:28px/1 system-ui,sans-serif; display:grid; place-items:center; cursor:zoom-in; box-shadow:none; text-shadow:0 1px 2px #000,0 0 4px #000b; }
.rt3-page .shi-photo-open:hover { background:transparent; color:#fff; }
.rt3-page .shi-photo-open:focus-visible,.rt3-page [data-shi-room]:focus-visible,.rt3-page [data-shi-step]:focus-visible,.shi-viewer :focus-visible { outline:3px solid #bd8c3e; outline-offset:3px; }
.shi-viewer { box-sizing:border-box; width:calc(100% - 48px); max-width:1400px; height:calc(100dvh - 48px); max-height:none; margin:auto; padding:0; border:1px solid #56615a; border-radius:6px; background:#141b17; color:#fff; box-shadow:0 18px 70px #0006; font:15px/1.5 Inter,system-ui,sans-serif; }
.shi-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.shi-viewer::backdrop { background:rgba(10,15,12,.87); }
.shi-viewer * { box-sizing:border-box; }
.shi-viewer-bar { display:flex; align-items:center; gap:16px; padding:12px 18px; border-bottom:1px solid #ffffff26; }
.shi-viewer-bar p { flex:1; min-width:0; margin:0; color:#fff; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.shi-viewer-tools { display:flex; gap:8px; flex:none; }
.shi-viewer button,.shi-viewer-tools a { display:grid; place-items:center; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #8f9b91; border-radius:3px; background:transparent; color:#fff; font:25px/1 system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.shi-viewer button:hover,.shi-viewer-tools a:hover { background:#35483b; color:white; }
.shi-viewer button:disabled { opacity:.3; cursor:default; }
.shi-viewer-stage { position:relative; min-height:0; overflow:hidden; }
.shi-viewer-pan { width:100%; height:100%; overflow:auto; overscroll-behavior:contain; padding:12px; }
.shi-viewer-pan img { display:block; margin:auto; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; }
.shi-viewer-pan.is-zoomed img { width:max(160%,1100px); height:auto; object-fit:initial; cursor:grab; }
.shi-viewer-status { position:absolute; inset:0; margin:0; display:grid; place-items:center; padding:30px; color:#fff; text-align:center; pointer-events:none; }
.shi-viewer-status:empty { display:none; }
.shi-viewer-foot { display:flex; align-items:center; justify-content:center; gap:22px; min-height:68px; padding:10px; border-top:1px solid #ffffff26; }
.shi-viewer-foot span { min-width:64px; text-align:center; font-variant-numeric:tabular-nums; }
.shi-viewer-foot button span,.shi-viewer-tools span { min-width:0; }
.rt3-page .btm-chugiai li:has([data-shi-room][aria-pressed=true]) { background:#eee2d5; border-radius:3px; }
.rt3-page .btm-chugiai [data-shi-room] { display:block; flex:1; min-width:0; min-height:44px; padding:8px; margin:0; border:0; background:transparent; color:#4d3529; font:500 15px/1.5 Inter,sans-serif; text-align:left; text-transform:none; letter-spacing:0; cursor:pointer; }
.rt3-page .btm-chugiai [aria-pressed=true] { color:#7d2027; }
.rt3-page .btm-sodo-anh { display:flex; flex-direction:column; justify-content:center; }
.rt3-page .btm-sodo-anh > img { width:100%; height:auto; aspect-ratio:1200/820; object-fit:contain; }
.rt3-page .shi-room-caption { padding:20px 0 0; }
.rt3-page .shi-room-caption h3 { font-size:25px; line-height:1.35; margin:0 0 10px; letter-spacing:0; }
.rt3-page .shi-room-caption p { font-size:16px; line-height:1.7; color:#654f41; margin:0 0 12px; }
.shi-room-caption > div { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.shi-room-caption a,.shi-room-caption button { display:inline-flex; align-items:center; min-height:44px; font:500 14px/1.5 Inter,sans-serif; color:#7d2027; letter-spacing:0; }
.shi-room-caption button { padding:8px 14px; background:transparent; border:1px solid #bcaa94; border-radius:3px; cursor:pointer; margin:0; }
.rt3-page .rt3-wsb-steps [data-shi-step] { flex:1; margin:0; padding:10px 6px; border:0; border-bottom:2px solid transparent; background:transparent; color:#493326; text-align:left; cursor:pointer; font:500 13px/1.5 Inter,sans-serif; letter-spacing:0; min-height:58px; text-transform:none; }
.rt3-page .rt3-wsb-steps [data-shi-step][aria-pressed=true] { border-bottom-color:#7d2027; background:#ede1d2; }
.rt3-page .rt3-wsb-steps [data-shi-step] small { display:block; color:#715c4a; font-size:12px; margin-top:5px; }
.shi-step-preview { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:30px; border-top:1px solid #d9cbb9; margin-top:24px; padding-top:24px; }
.rt3-page .shi-step-preview img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.rt3-page .shi-step-preview h3 { font-size:28px; line-height:1.4; margin:0 0 12px; letter-spacing:0; }
.rt3-page .shi-step-preview p { font:400 16px/1.8 Inter,sans-serif; color:#655041; margin:0; max-width:550px; }
@keyframes shi-step-reveal { from { opacity:.18; } to { opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
 .rt3-page .shi-step-preview.is-changing { animation:shi-step-reveal 850ms cubic-bezier(.22,.61,.36,1) both; }
}
.rt3-page .rt3-workshop-video { box-sizing:border-box; width:min(94vw,1500px); height:min(90dvh,940px); max-width:none; max-height:none; margin:auto; padding:0; border:1px solid #826c59; border-radius:5px; background:#17130f; color:#fff; box-shadow:0 24px 90px #0009; }
.rt3-page .rt3-workshop-video[open] { display:block; }
.rt3-page .rt3-workshop-video::backdrop { background:rgba(16,12,9,.88); backdrop-filter:blur(3px); }
.rt3-workshop-video-inner { display:grid; grid-template-rows:auto minmax(0,1fr); width:100%; height:100%; }
.rt3-workshop-video header { display:flex; align-items:center; gap:20px; min-height:64px; padding:9px 12px 9px 22px; border-bottom:1px solid #ffffff24; }
.rt3-page .rt3-workshop-video h2 { flex:1; min-width:0; margin:0; color:#fff; font:400 clamp(18px,2vw,25px)/1.35 Georgia,serif; letter-spacing:.01em; }
.rt3-page .rt3-workshop-video button { display:grid; place-items:center; flex:none; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #a99380; border-radius:50%; background:transparent; color:#fff; font:30px/1 system-ui,sans-serif; cursor:pointer; }
.rt3-page .rt3-workshop-video button:hover { background:#ffffff18; color:#fff; }
.rt3-page .rt3-workshop-video button:focus-visible { outline:3px solid #d4aa67; outline-offset:2px; }
.rt3-workshop-video-stage { position:relative; min-height:0; display:grid; place-items:center; background:#0d0b09; overflow:hidden; }
.rt3-workshop-video video { display:block; width:100%; height:100%; max-height:none; object-fit:contain; background:#0d0b09; }
.rt3-workshop-video-stage > p { position:absolute; inset:0; display:grid; place-items:center; margin:0; color:#eadfce; font:500 15px/1.5 Inter,sans-serif; background:#0d0b09; pointer-events:none; }
.rt3-workshop-video-stage > p[hidden] { display:none; }
.shi-read-progress { position:fixed; inset:0 0 auto; z-index:110; height:3px; background:#9c3c50; transform-origin:left; pointer-events:none; }
.rt3-page .shi-preview-status { margin:16px 0 0; color:#7d2027; font:500 14px/1.6 Inter,sans-serif; }
.rt3-page .shi-preview-status:empty { display:none; }
.rt3-page .a2-timeline p { font-size:14px; line-height:1.65; min-height:112px; }
.rt3-page .a2-timeline li > img { height:90px; }
.rt3-page .a2-time-title .a2-eyebrow { font-size:12px; }
.rt3-page .a2-time-title { min-height:235px; }
.rt3-page .shc-desc { min-height:3.6em; }
.rt3-page :is(.shc-image img,.shj-card img,.btm-khu-anh img,.btm-hv-anh img,.shr-room-photo img) { transition:transform .28s ease,opacity .22s ease; }
.rt3-page :is(.shb-choice-dot,.rt3-pick,.shc-card-actions button,.rt3-detail-buy button,.rt3-ic,.shf-btn) { transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease; }
.rt3-page :is(input,select,textarea):focus-visible { outline:2px solid #8d3445; outline-offset:2px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .rt3-page :is(.shc-image,.shj-card,.btm-khu-anh,.btm-hv-anh,.shr-room-photo):hover img { transform:scale(1.025); }
 .rt3-page .a2-timeline li { transition:background-color .2s ease; }
 .rt3-page .a2-timeline li:hover { background:#f0e6d8; }
}
@media(max-width:820px) {
 .rt3-page .a2-timeline li { grid-template-columns:60px minmax(0,1fr) 90px; }
 .rt3-page .a2-timeline li p { min-height:0; font-size:15px; }
 .rt3-page .a2-timeline li > img { width:90px; height:76px; }
 .rt3-page [data-shi-steps] > .rt3-shell { display:flex; flex-direction:column; }
 .rt3-page [data-shi-steps] > .rt3-shell > h2 { order:0; }
 .rt3-page .shi-step-preview { order:1; grid-template-columns:1fr; gap:20px; margin:0 0 24px; padding:0 0 24px; border-top:0; border-bottom:1px solid #d9cbb9; }
 .rt3-page .rt3-wsb-steps { order:2; }
 .rt3-page [data-shi-steps] > .rt3-shell > .shi-preview-status { order:3; }
 .rt3-page .rt3-wsb-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .rt3-page .rt3-wsb-steps li { min-width:0; }
}
@media(max-width:600px) {
 .shi-viewer { width:100%; height:100dvh; max-width:none; border:0; border-radius:0; }
 .rt3-page .rt3-workshop-video { width:100%; height:100dvh; border:0; border-radius:0; }
 .rt3-workshop-video header { min-height:58px; padding:7px max(10px,env(safe-area-inset-right)) 7px max(14px,env(safe-area-inset-left)); }
 .rt3-page .rt3-workshop-video h2 { font-size:18px; }
 .shi-viewer-bar { padding:10px 12px; gap:8px; }
 .shi-viewer-tools { gap:6px; }
 .shi-viewer-bar p { font-size:13px; }
 .shi-viewer-pan { padding:8px; }
 .rt3-page .a2-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rt3-page .a2-timeline li { grid-template-columns:52px minmax(0,1fr); }
 .rt3-page .a2-timeline li > img { grid-column:2; width:140px; height:84px; }
 .rt3-page .rt3-wsb-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
 .rt3-page :is(.shc-image img,.shj-card img,.btm-khu-anh img,.btm-hv-anh img,.shr-room-photo img,.a2-timeline li) { transition:none; transform:none; }
 .shi-read-progress { display:none; }
}
