﻿/* =====================================================================
   ts-showroom-embed.css â€” SHOWROOM 3D nhÃºng sau hero (trang chá»§)
   Class tiá»n tá»‘ sr- Ä‘á»ƒ khÃ´ng Ä‘á»¥ng .hero / .hotspot / .stage cÅ©.
   Quy táº¯c quan trá»ng: KHÃ”NG Ä‘áº·t overflow:hidden lÃªn .sr-sec (giáº¿t sticky);
   viá»‡c cáº¯t trÃ n giao cho .sr-pin.
   ===================================================================== */

.sr-sec {
  position: relative;
  height: 420vh;
  background: #02050a;
  color: var(--fg, #f0f3f6);
  /* KhÃ´ng overflow:hidden â€” xem ghi chÃº trÃªn. */
}

.sr-pin {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  background: #02050a;
  isolation: isolate;
  /* Parallax + láº¯c lÆ°: JS ghi cÃ¡c biáº¿n nÃ y má»—i frame (0 khi táº¯t). */
  --sr-px: 0px;
  --sr-py: 0px;
  --sr-pr: 0deg;
  --sr-ps: 1;
  --sr-ox: 0px;
  --sr-oy: 0px;
  --sr-os: 1;
}

.sr-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #02050a;
  /* MÃ u (sÃ¡ng/tÆ°Æ¡ng pháº£n/bÃ£o hoÃ ) Ä‘Ã£ nÆ°á»›ng vÃ o video lÃºc encode â€”
     xem GRADE trong showroom/encode_final.py. KhÃ´ng phá»§ filter á»Ÿ Ä‘Ã¢y ná»¯a
     Ä‘á»ƒ trÃ¬nh duyá»‡t khá»i lá»c láº¡i 1080p má»—i frame khi cuá»™n. */
  /* Parallax 2.5D: biáº¿n Ä‘á»•i do JS Ä‘áº·t qua CSS var. Video vÃ  lá»›p hotspot
     dÃ¹ng CHUNG má»™t transform nÃªn cháº¥m luÃ´n náº±m trÃªn sáº£n pháº©m. */
  transform: translate3d(var(--sr-px, 0px), var(--sr-py, 0px), 0)
             scale(var(--sr-ps, 1))
             rotate(var(--sr-pr, 0deg));
  transform-origin: 50% 50%;
  will-change: transform;
}

/* v6.15 - canvas vẽ chuỗi khung WebP 1080p (tua ngược mượt như tua xuôi).
   Dung CHUNG transform parallax voi .sr-video de hai lop khong lech nhau.
   An cho toi khi khung dau tien ve xong (.is-ready). */
.sr-frames {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #02050a;
  transform: translate3d(var(--sr-px, 0px), var(--sr-py, 0px), 0)
             scale(var(--sr-ps, 1))
             rotate(var(--sr-pr, 0deg));
  transform-origin: 50% 50%;
  opacity: 0;
  transition: opacity .2s linear;
  pointer-events: none;
}

.sr-frames.is-ready { opacity: 1; }

/* Canvas da ve duoc khung: an video va ngung seek de khong ton cong vo ich. */
.sr-sec.uses-frames .sr-video {
  opacity: 0;
  transition: opacity .2s linear;
}

.sr-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  /* v7.1: giáº£m máº£ng tá»‘i Ä‘á»ƒ tháº¥y rÃµ showroom; chá»‰ giá»¯ Ä‘á»§ tÆ°Æ¡ng pháº£n cho chá»¯. */
  background:
    linear-gradient(90deg, rgba(2, 5, 10, .52) 0%, rgba(2, 5, 10, .08) 34%, rgba(2, 5, 10, 0) 58%, rgba(2, 5, 10, .16) 100%),
    radial-gradient(ellipse at 50% 44%, rgba(0, 0, 0, 0) 45%, rgba(2, 5, 10, .24) 100%),
    linear-gradient(to bottom, rgba(2, 5, 10, .36), rgba(2, 5, 10, 0) 22%, rgba(2, 5, 10, 0) 66%, rgba(2, 5, 10, .46));
  /* Lá»›p má» trÃ´i cháº­m hÆ¡n ná»n ~38% â†’ táº¡o chiá»u sÃ¢u; scale bÃ¹ Ä‘á»ƒ khÃ´ng há»Ÿ mÃ©p. */
  transform: translate3d(var(--sr-ox, 0px), var(--sr-oy, 0px), 0)
             scale(var(--sr-os, 1));
  transform-origin: 50% 50%;
  will-change: transform;
}

/* ---------- Ä‘Ã¨n chá»›p ---------- */

/* ÄÃ¨n phÃ²ng chá»›p ráº¥t nháº¹, Ä‘Ãºng má»™t nhá»‹p má»—i 5 giÃ¢y. */
.sr-flicker,
.stage-flicker {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: #02050a;
  opacity: 0;
  animation: sr-flicker 5s steps(1, end) infinite;
  will-change: opacity;
}

@keyframes sr-flicker {
  0%, 38%, 52%, 100% { opacity: 0; }
  40% { opacity: .035; }
  41% { opacity: .008; }
  42% { opacity: .05; }
  42.8% { opacity: .012; }
  43.8% { opacity: .03; }
  44.6% { opacity: 0; }
}

/* ---------- neon cháº¡y trÃªn biá»ƒn "CLASSIC TECH" ---------- */

/* Vá»‹ trÃ­ + phÃ©p phá»‘i cáº£nh do sr-neon.js Ä‘áº·t má»—i frame; á»Ÿ Ä‘Ã¢y chá»‰ lo
   lá»›p phá»§ vÃ  dáº£i sÃ¡ng cháº¡y bÃªn trong máº·t náº¡ chá»¯. */
.sr-neon,
.stage-neon {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(var(--sr-px, 0px), var(--sr-py, 0px), 0)
             scale(var(--sr-ps, 1))
             rotate(var(--sr-pr, 0deg));
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}

.sr-neon i,
.stage-neon i {
  position: absolute;
  left: 0;
  top: 0;
  width: 1000px;
  height: 88px;
  display: block;
  transform-origin: 0 0;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mix-blend-mode: screen;
}
@supports (mix-blend-mode: plus-lighter) {
  .sr-neon i,
  .stage-neon i { mix-blend-mode: plus-lighter; }
}

/* Quáº§ng sÃ¡ng: cÃ¹ng máº·t náº¡ nhÆ°ng blur â†’ Ã¡nh neon bung ra ngoÃ i nÃ©t chá»¯.
   Khai bÃ¡o sau @supports Ä‘á»ƒ tháº¯ng mix-blend-mode cá»§a lá»›p nÃ©t. */
.sr-neon i.sr-neon-halo,
.stage-neon i.sr-neon-halo {
  mix-blend-mode: screen;
  filter: blur(12px);
  opacity: 1;
}

/* Vet hong dam chay sau dai trang: doi mau ro khi den quet qua. */
.sr-neon i.sr-neon-tint,
.stage-neon i.sr-neon-tint {
  mix-blend-mode: screen;
  opacity: .6;
}
.sr-neon i.sr-neon-tint b,
.stage-neon i.sr-neon-tint b {
  width: 30%;
  animation-delay: .5s;
  background: linear-gradient(90deg,
    rgba(255, 40, 150, 0) 0%,
    rgba(255, 60, 165, .12) 26%,
    rgba(255, 50, 155, .55) 50%,
    rgba(255, 80, 175, .12) 74%,
    rgba(255, 40, 150, 0) 100%);
}

.sr-neon i.sr-neon-dim,
.stage-neon i.sr-neon-dim {
  background: #000;
  opacity: .12;
  mix-blend-mode: multiply;
}

.sr-neon b,
.stage-neon b {
  position: absolute;
  top: -10%;
  bottom: -10%;
  left: 0;
  width: 26%;
  display: block;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 206, 228, .08) 28%,
    rgba(255, 245, 251, .42) 43%,
    rgba(255, 255, 255, 1) 50%,
    rgba(255, 240, 249, .42) 57%,
    rgba(255, 255, 255, 0) 72%);
  animation: sr-neon-run 2.4s cubic-bezier(.42, .02, .58, .98) infinite;
}

/* Quáº§ng cháº¡y cháº­m hÆ¡n má»™t nhá»‹p nhá» â†’ Ã¡nh sÃ¡ng "trÆ°á»£t" khá»i nÃ©t, dÃ y hÆ¡n. */
.sr-neon i.sr-neon-halo b,
.stage-neon i.sr-neon-halo b {
  width: 30%;
  animation-delay: -.1s;
}

@keyframes sr-neon-run {
  0%        { transform: translate3d(-130%, 0, 0); opacity: 0; }
  8%        { opacity: 1; }
  78%       { opacity: 1; }
  90%, 100% { transform: translate3d(250%, 0, 0); opacity: 0; }
}

@keyframes sr-neon-glow {
  0%, 100% { opacity: .88; }
  50%      { opacity: 1; }
}

/* QA chá»¥p áº£nh: Ä‘á»©ng yÃªn á»Ÿ má»™t pha cá»‘ Ä‘á»‹nh Ä‘á»ƒ áº£nh táº¥t Ä‘á»‹nh. */
.sr-neon.is-frozen b,
.stage-neon.is-frozen b {
  animation: none;
  opacity: 1;
  transform: translate3d(18%, 0, 0);
}
.sr-neon.is-frozen i,
.stage-neon.is-frozen i { animation: none; }

/* ---------- nhá»‹p ná»‘i GÃ³c 01 â†’ GÃ³c 02 ---------- */

/* Láº¥p khoáº£ng 0,55â€“0,62 khi camera Ä‘á»•i bÃªn: hai chÆ°Æ¡ng khÃ´ng cÃ²n rá»i nhau. */
.sr-bridge {
  position: absolute;
  left: 50%;
  top: clamp(5.2rem, 11vh, 7.5rem);
  width: min(600px, 78vw);
  text-align: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -10px);
  transition: opacity .4s ease, transform .5s cubic-bezier(.22, .61, .36, 1),
              visibility 0s linear .4s;
}

.sr-bridge.is-on {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity .45s ease, transform .6s cubic-bezier(.22, .61, .36, 1);
}

/* MÃ n tá»‘i má»m phÃ­a sau Ä‘á»ƒ chá»¯ Ä‘á»c Ä‘Æ°á»£c cáº£ khi ná»n cÃ³ Ä‘Ã¨n/thÃ¹ng mÃ¡y. */
.sr-bridge::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 118%;
  height: 260%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center,
    rgba(2, 5, 10, .78) 0%,
    rgba(2, 5, 10, .45) 46%,
    rgba(2, 5, 10, 0) 72%);
  z-index: -1;
  pointer-events: none;
}

.sr-bridge-line {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  margin: 0 0 1rem;
  background: linear-gradient(90deg,
    rgba(88, 182, 234, 0) 0%,
    rgba(88, 182, 234, .5) 22%,
    rgba(255, 255, 255, .85) 50%,
    rgba(88, 182, 234, .5) 78%,
    rgba(88, 182, 234, 0) 100%);
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform .7s cubic-bezier(.22, .61, .36, 1);
}

.sr-bridge.is-on .sr-bridge-line { transform: scaleX(1); }

.sr-bridge-line i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  border-radius: 50%;
  background: #e8f8ff;
  box-shadow: 0 0 10px 2px rgba(143, 227, 255, .8);
}

.sr-bridge-eyebrow {
  margin: 0 0 .45rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--sky, #58b6ea);
}

.sr-bridge-eyebrow b {
  padding: 0 .45em;
  font-weight: 400;
  opacity: .55;
}

.sr-bridge-title {
  margin: 0;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #e7eef5;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .6);
}

.sr-ui {
  position: absolute;
  inset: 0;
  z-index: 3;
  padding: clamp(5rem, 12vh, 8rem) clamp(1.2rem, 5vw, 3.5rem) clamp(3.5rem, 8vh, 5.5rem);
  pointer-events: none;
}

/* ---------- cáº£nh chá»¯ ---------- */

.sr-scene {
  position: absolute;
  max-width: min(640px, 82vw);
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  transition: opacity .5s ease, transform .5s ease, visibility 0s linear .5s;
  pointer-events: none;
  isolation: isolate;
}

/* Ná»n tá»‘i cá»¥c bá»™ Ä‘á»ƒ chá»¯ khÃ´ng chá»“ng lÃªn táº¥m biá»ƒn CLASSIC TECH phÃ­a sau. */
.sr-intro::before,
.sr-end::before {
  content: "";
  position: absolute;
  inset: -4.5rem -7rem;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
    ellipse at 34% 50%,
    rgba(2, 5, 10, .86) 0%,
    rgba(2, 5, 10, .48) 46%,
    rgba(2, 5, 10, 0) 74%
  );
}

.sr-intro::before {
  inset: -3.5rem -9rem -3.5rem -7rem;
  background: linear-gradient(
    90deg,
    rgba(2, 5, 10, .96) 0%,
    rgba(2, 5, 10, .87) 52%,
    rgba(2, 5, 10, 0) 100%
  );
}

.sr-end::before {
  background: radial-gradient(
    ellipse at 50% 50%,
    rgba(2, 5, 10, .92) 0%,
    rgba(2, 5, 10, .6) 48%,
    rgba(2, 5, 10, 0) 76%
  );
}

.sr-scene.is-on {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .5s ease, transform .5s ease;
  pointer-events: auto;
}

.sr-intro {
  left: clamp(1.2rem, 5vw, 3.5rem);
  top: 17vh;
}

.sr-left {
  left: clamp(1.2rem, 5vw, 3.5rem);
  top: 17vh;
  bottom: auto;
  max-width: min(520px, 82vw);
}

/* 2 cá»¥m cÅ©ng neo dáº£i TRÃŠN, Ä‘á»ƒ dáº£i sáº£n pháº©m (y ~53â€“85%) trá»‘ng cho hotspot. */
.sr-left::before,
.sr-right::before {
  content: "";
  position: absolute;
  inset: -3rem -5rem;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
    ellipse at 30% 50%,
    rgba(2, 5, 10, .9) 0%,
    rgba(2, 5, 10, .55) 50%,
    rgba(2, 5, 10, 0) 78%
  );
}

.sr-right {
  /* chá»«a thÃªm bÃªn pháº£i Ä‘á»ƒ khÃ´ng cháº¡m chá»‰ bÃ¡o chÆ°Æ¡ng "02 / 12" + thanh tiáº¿n Ä‘á»™ */
  right: clamp(1.2rem, 7vw, 6.5rem);
  top: 17vh;
  bottom: auto;
  max-width: min(520px, 82vw);
  text-align: right;
}

.sr-right::before {
  background: radial-gradient(
    ellipse at 70% 50%,
    rgba(2, 5, 10, .9) 0%,
    rgba(2, 5, 10, .55) 50%,
    rgba(2, 5, 10, 0) 78%
  );
}

/* TiÃªu Ä‘á» cá»¥m nhá» hÆ¡n intro Ä‘á»ƒ khÃ´ng trÃ n xuá»‘ng dáº£i hotspot. */
.sr-left h2,
.sr-right h2 {
  font-size: clamp(1.9rem, min(4vw, 6.4vh), 3.6rem);
}

.sr-end {
  left: 50%;
  bottom: 15vh;
  transform: translate(-50%, 18px);
  text-align: center;
  max-width: min(720px, 88vw);
}

.sr-end.is-on { transform: translate(-50%, 0); }

.sr-eyebrow {
  margin: 0 0 .9rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sky, #58b6ea);
}

.sr-scene h2 {
  margin: 0 0 1rem;
  font-family: inherit;
  /* vá»«a theo bá» ngang vá»«a theo chiá»u cao: 1280Ã—720 khÃ´ng trÃ n xuá»‘ng dáº£i hotspot */
  font-size: clamp(2.2rem, min(5.4vw, 8.2vh), 5.4rem);
  line-height: .96;
  letter-spacing: -.05em;
  font-weight: 800;
  color: #f5f9fc;
  text-shadow: 0 6px 40px rgba(0, 0, 0, .55);
  text-wrap: balance;
}

.sr-scene h2 span { color: #8fa1b2; }

.sr-lede {
  margin: 0;
  max-width: 42ch;
  color: #b3c0cc;
  font-size: clamp(.95rem, 1.3vw, 1.08rem);
  line-height: 1.65;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .6);
  text-wrap: pretty;
}

.sr-right .sr-lede { margin-left: auto; }
.sr-end .sr-lede { margin: 0 auto; }

.sr-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
  justify-content: center;
}

.sr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .75rem 1.15rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--sky, #58b6ea);
  color: #04121a;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .01em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.sr-btn:hover { transform: translateY(-2px); }

.sr-btn-ghost {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .26);
  color: #f0f3f6;
}

.sr-btn-ghost:hover { border-color: var(--sky, #58b6ea); }

/* ---------- hotspot ---------- */

.sr-hotspots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* CÃ¹ng transform vá»›i .sr-video â€” xem ghi chÃº á»Ÿ trÃªn. */
  transform: translate3d(var(--sr-px, 0px), var(--sr-py, 0px), 0)
             scale(var(--sr-ps, 1))
             rotate(var(--sr-pr, 0deg));
  transform-origin: 50% 50%;
  will-change: transform;
}

.sr-hotspot {
  position: absolute;
  left: var(--sr-x, 50%);
  top: var(--sr-y, 50%);
  width: 46px;
  height: 46px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s ease, visibility 0s linear .35s;
}

.sr-hotspot.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .35s ease;
}

.sr-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--sky, #58b6ea);
  box-shadow:
    0 0 0 6px rgba(88, 182, 234, .16),
    0 0 24px rgba(88, 182, 234, .8);
}

.sr-hotspot::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 1px solid rgba(88, 182, 234, .75);
  animation: sr-pulse 2.4s ease-out infinite;
}

@keyframes sr-pulse {
  0% { transform: scale(1); opacity: .9; }
  70% { transform: scale(2.6); opacity: 0; }
  100% { transform: scale(2.6); opacity: 0; }
}

.sr-label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + .6rem);
  transform: translateX(-50%) translateY(5px);
  min-width: 185px;
  padding: .7rem .85rem;
  border: 1px solid rgba(88, 182, 234, .3);
  border-radius: 12px;
  background: rgba(6, 12, 19, .92);
  backdrop-filter: blur(12px);
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  box-shadow: 0 14px 44px rgba(0, 0, 0, .5);
}

.sr-label b {
  display: block;
  color: #f2f7fa;
  font-size: .8rem;
  line-height: 1.35;
}

.sr-label span {
  display: block;
  margin-top: .18rem;
  color: var(--sky, #58b6ea);
  font-size: .76rem;
  font-weight: 600;
}

.sr-hotspot:hover .sr-label,
.sr-hotspot:focus-visible .sr-label {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.sr-hotspot:focus-visible {
  outline: 2px solid var(--sky, #58b6ea);
  outline-offset: 5px;
  border-radius: 50%;
}

/* ---------- chá»‰ bÃ¡o 4 cháº·ng ---------- */

.sr-chapters {
  position: absolute;
  left: clamp(1.2rem, 5vw, 3.5rem);
  bottom: clamp(1rem, 2.2vh, 1.6rem);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: .5rem;
  pointer-events: auto;
}

.sr-chapter {
  position: relative;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.sr-chapter i {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(240, 243, 246, .38);
  transition: width .25s ease, background .25s ease, box-shadow .25s ease;
}

.sr-chapter.is-on i {
  width: 22px;
  background: var(--sky, #58b6ea);
  box-shadow: 0 0 14px rgba(88, 182, 234, .75);
}

.sr-chapter span {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%) translateY(4px);
  padding: .28rem .5rem;
  border-radius: 6px;
  background: rgba(4, 9, 15, .9);
  color: #dbe6ef;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.sr-chapter:hover span,
.sr-chapter:focus-visible span {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.sr-chapter:focus-visible {
  outline: 2px solid var(--sky, #58b6ea);
  outline-offset: 2px;
  border-radius: 999px;
}

/* ---------- thanh tiáº¿n Ä‘á»™ ---------- */

.sr-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  height: 2px;
  background: rgba(255, 255, 255, .08);
}

.sr-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--sky, #58b6ea);
  box-shadow: 0 0 14px rgba(88, 182, 234, .8);
  transition: width .15s linear;
}

/* ---------- mobile: poster + link ---------- */

.sr-mobile { display: none; }

.sr-mobile img {
  width: 100%;
  height: 74svh;
  object-fit: cover;
}

.sr-mobile {
  position: relative;
  background: #02050a;
}

.sr-mobile::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(2, 5, 10, .25), rgba(2, 5, 10, .16) 34%, rgba(2, 5, 10, .9) 82%);
}

.sr-mobile-box {
  position: absolute;
  left: clamp(1.2rem, 6vw, 2rem);
  right: clamp(1.2rem, 6vw, 2rem);
  bottom: clamp(1.8rem, 5vh, 3rem);
  z-index: 2;
}

.sr-mobile-box h2 {
  margin: 0 0 .7rem;
  font-size: clamp(2rem, 9vw, 2.8rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 800;
  color: #f5f9fc;
}

.sr-mobile-box .sr-lede { margin-bottom: 1.1rem; }

/* ============================================================================
   v6.12 â€” Ná»I SHOWROOM â†’ HERO
   ----------------------------------------------------------------------------
   Váº¥n Ä‘á» Ä‘o Ä‘Æ°á»£c á»Ÿ má»‘i ná»‘i (1440Ã—900): Ä‘Ã¡y video showroom lÃ  sÃ n sÃ¡ng mÃ u cam,
   cáº¯t tháº³ng sang ná»n navy #0f1721 cá»§a .hero.hero-v5 â†’ tháº¥y "láº¡c quáº»". Äá»“ng thá»i
   cáº£nh chá»¯ cuá»‘i cá»§a showroom + cháº¥m chÆ°Æ¡ng 01/12 váº«n hiá»‡n khi headline hero Ä‘Ã£
   vÃ o, thÃ nh hai tiÃªu Ä‘á» chá»“ng nhau.

   VÃ¡:
   1) .sr-footfade â€” 160px cuá»‘i khung ghim, gradient tá»« trong suá»‘t (0%) tá»›i Ä‘Ãºng
      #0f1721 (92%). Chá»‰ báº­t khi section cÃ³ class .is-outro (JS báº­t á»Ÿ 15% cuá»‘i).
   2) .is-outro táº¯t dáº§n cáº£nh chá»¯, cháº¥m chÆ°Æ¡ng, thanh tiáº¿n Ä‘á»™, hotspot.
   DÃ¹ng Ä‘Ãºng specificity: `.sr-sec.is-outro .sr-ui .sr-scene` (0,3,0) má»›i tháº¯ng
   Ä‘Æ°á»£c `.sr-scene.is-on` (0,2,0) cá»§a rule gá»‘c.
   ========================================================================== */
.sr-footfade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  /* ÄÆ°á»ng cong máº¡nh dáº§n: 160px mÃ  tuyáº¿n tÃ­nh thÃ¬ ná»­a dÆ°á»›i váº«n cÃ²n ~50% trong
     suá»‘t nÃªn mÃ©p cáº¯t váº«n lá»™. Äáº©y lÃªn .45 á»Ÿ 40% vÃ  .88 á»Ÿ 75% Ä‘á»ƒ Ä‘Ã¡y video chÃ¬m
     háº³n vÃ o navy trÆ°á»›c khi háº¿t section. */
  background: linear-gradient(180deg,
    rgba(15, 23, 33, 0) 0%,
    rgba(15, 23, 33, .45) 40%,
    rgba(15, 23, 33, .90) 72%,
    #0f1721 88%,
    #0f1721 100%);
  transition: opacity .35s linear;
}

.sr-sec.is-outro .sr-footfade { opacity: 1; }

.sr-sec.is-outro .sr-ui .sr-scene,
.sr-sec.is-outro .sr-chapters,
.sr-sec.is-outro .sr-progress,
.sr-sec.is-outro .sr-hotspots {
  opacity: 0;
  pointer-events: none;
}

.sr-ui .sr-scene,
.sr-chapters,
.sr-progress,
.sr-hotspots { transition: opacity .4s ease; }

/* v6.11 â€” Ä‘iá»‡n thoáº¡i CHáº Y NHÆ¯ DESKTOP (yÃªu cáº§u 2026-10-29): bá» nhÃ¡nh
   `max-width: 768px` Ä‘á»ƒ video váº«n ghim + tua theo cuá»™n á»Ÿ má»i bá» rá»™ng.
   CHá»ˆ giá»¯ nhÃ¡nh `prefers-reduced-motion` (a11y: ngÆ°á»i báº­t giáº£m chuyá»ƒn Ä‘á»™ng
   váº«n tháº¥y poster + link thay vÃ¬ video tua). */
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .sr-sec {
    height: auto;
  }

  .sr-pin {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
  }

  .sr-video,
  .sr-neon,
  .sr-flicker,
  .sr-veil,
  .sr-ui,
  .sr-chapters,
  .sr-progress {
    display: none;
  }

  .sr-mobile { display: block; }
}

/* Táº¯t hiá»‡u á»©ng khi ngÆ°á»i dÃ¹ng báº­t "giáº£m chuyá»ƒn Ä‘á»™ng" báº±ng class cá»§a site. */
.reduce-fx .sr-flicker,
.reduce-fx .sr-neon,
.reduce-fx .stage-flicker,
.reduce-fx .stage-neon { display: none; }

/* v6.10 â€” sÃ n cá»¡ chá»¯ 12px á»Ÿ â‰¤900px cho nhÃ£n showroom nhÃºng.
   Äo thá»±c táº¿: `.sr-eyebrow` 11,52px (Ä‘áº·t trong file nÃ y), `.sr-chapter span`
   10,56px. File nÃ y náº¡p SAU ts-shop.css nÃªn pháº£i khai bÃ¡o á»Ÿ Ä‘Ã¢y má»›i tháº¯ng. */
@media (max-width: 900px) {
  .sr-eyebrow { font-size: .75rem; }
  .sr-chapters .sr-chapter span { font-size: .75rem; }
}
