
/* ================================================================
   FEATURED PRODUCTS
   ================================================================ */
.tvs-products-section {
  padding: 100px 0 80px;
  background: #130320;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-products-section *, .tvs-products-section *::before, .tvs-products-section *::after {
  box-sizing: border-box;
}

/* Header */
.tvs-prod-header {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; margin-bottom: 52px;
}
.tvs-prod-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase; color: #C9A84C;
  margin-bottom: 14px;
}
.tvs-prod-eyebrow::before { content: ''; width: 32px; height: 1.5px; background: #C9A84C; }
.tvs-prod-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 4.5vw, 4.2rem); font-weight: 900;
  color: #F5EDD8; line-height: 1.1; margin: 0 0 10px;
}
.tvs-prod-title em { font-style: italic; color: #E8C96A; }
.tvs-prod-sub {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px; color: #BCA878; max-width: 380px; margin: 0;
}

/* View all button */
.tvs-btn-outline {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 32px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  letter-spacing: 0.18em; text-transform: uppercase;
  border: 1.5px solid rgba(201,168,76,0.55); color: #F5EDD8;
  background: transparent; text-decoration: none !important;
  position: relative; overflow: hidden;
  transition: color .35s, border-color .35s;
  white-space: nowrap;
}
.tvs-btn-outline::after {
  content: ''; position: absolute; inset: 0;
  background: rgba(201,168,76,0.1); transform: translateX(-102%);
  transition: transform .38s;
}
.tvs-btn-outline:hover::after { transform: translateX(0); }
.tvs-btn-outline:hover { color: #E8C96A !important; border-color: #C9A84C; }
.tvs-btn-outline span { position: relative; z-index: 1; }

/* Scroll wrap */
.tvs-scroll-wrap {
  padding: 0 clamp(20px,5vw,72px);
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #C9A84C #200438;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.tvs-scroll-wrap:active { cursor: grabbing; }
.tvs-scroll-wrap::-webkit-scrollbar { height: 3px; }
.tvs-scroll-wrap::-webkit-scrollbar-track { background: #200438; }
.tvs-scroll-wrap::-webkit-scrollbar-thumb { background: #C9A84C; border-radius: 2px; }

.tvs-scroll-track {
  display: flex; gap: 18px;
  width: max-content; padding-bottom: 12px;
}

/* Product card */
.tvs-pcard {
  position: relative;
  width: 300px; height: 420px;
  flex-shrink: 0; overflow: hidden;
  background: #2D0845;
  border: 1px solid rgba(201,168,76,0.08);
  text-decoration: none;
  display: flex; flex-direction: column;
  transition: border-color .38s, transform .38s;
}
.tvs-pcard:hover { border-color: rgba(201,168,76,0.35); transform: translateY(-6px); }
.tvs-pcard-lg { width: 400px; height: 520px; }

/* Corner accents on hover */
.tvs-pcard::before {
  content: ''; position: absolute; top: 11px; left: 11px;
  width: 24px; height: 24px;
  border-top: 1.5px solid rgba(201,168,76,0.55);
  border-left: 1.5px solid rgba(201,168,76,0.55);
  z-index: 4; opacity: 0; transition: opacity .35s;
}
.tvs-pcard::after {
  content: ''; position: absolute; bottom: 11px; right: 11px;
  width: 24px; height: 24px;
  border-bottom: 1.5px solid rgba(201,168,76,0.55);
  border-right: 1.5px solid rgba(201,168,76,0.55);
  z-index: 4; opacity: 0; transition: opacity .35s;
}
.tvs-pcard:hover::before, .tvs-pcard:hover::after { opacity: 1; }

.tvs-pcard img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  transition: transform .85s cubic-bezier(0.25,0.46,0.45,0.94);
  filter: saturate(0.92) contrast(1.04);
}
.tvs-pcard:hover img { transform: scale(1.06); }

.tvs-pcard-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,0,16,0.97) 0%, rgba(8,0,16,0.5) 48%, rgba(8,0,16,0) 100%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 22px 20px;
  transition: background .38s;
}
.tvs-pcard:hover .tvs-pcard-overlay {
  background: linear-gradient(to top, rgba(8,0,16,0.99) 0%, rgba(8,0,16,0.72) 55%, rgba(8,0,16,0.06) 100%);
}

.tvs-pcard-badge {
  position: absolute; top: 14px; left: 14px; z-index: 3;
  background: #C9A84C; color: #130320;
  font-family: 'Open Sans', sans-serif;
  font-size: 9px; font-weight: 800;
  letter-spacing: 0.22em; text-transform: uppercase;
  padding: 5px 11px;
}
.tvs-pcard-cat {
  font-family: 'Open Sans', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: #C9A84C; margin-bottom: 5px;
}
.tvs-pcard-name {
  font-family: 'Open Sans', sans-serif;
  font-size: 17px; font-weight: 800;
  line-height: 1.2; color: #F5EDD8; margin-bottom: 3px;
}
.tvs-pcard-sub {
  font-family: 'Playfair Display', serif;
  font-style: italic; font-weight: 700;
  font-size: 14px; color: #E8C96A; margin-bottom: 8px;
}
.tvs-pcard-desc {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px; color: #E0D0A8; line-height: 1.5;
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .42s, opacity .4s;
}
.tvs-pcard:hover .tvs-pcard-desc { max-height: 64px; opacity: 1; }
.tvs-pcard-bottom {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid rgba(201,168,76,0.13);
}
.tvs-pcard-price {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.1rem; font-weight: 800; color: #E8C96A;
}
.tvs-pcard-btn {
  font-family: 'Open Sans', sans-serif;
  font-size: 10px; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: #C9A84C; border: 1px solid rgba(201,168,76,0.4);
  padding: 7px 14px; background: transparent;
  opacity: 0; transform: translateY(5px);
  transition: opacity .22s, transform .22s, background .22s, color .22s;
}
.tvs-pcard:hover .tvs-pcard-btn { opacity: 1; transform: translateY(0); }
.tvs-pcard-btn:hover { background: #C9A84C; color: #130320; }

/* Nav arrows */
.tvs-prod-nav {
  max-width: 1440px; margin: 28px auto 0;
  padding: 0 clamp(20px,5vw,72px);
  display: flex; align-items: center; justify-content: space-between;
}
.tvs-prod-nav p {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px; color: #BCA878; opacity: 0.55; margin: 0;
}
.tvs-nav-arrows { display: flex; gap: 10px; }
.tvs-nav-btn {
  width: 50px; height: 50px;
  border: 1.5px solid rgba(201,168,76,0.32); color: #C9A84C;
  font-size: 15px; background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .22s, border-color .22s, color .22s;
}
.tvs-nav-btn:hover { background: #C9A84C; border-color: #C9A84C; color: #130320; }

@media (max-width: 860px) {
  .tvs-products-section { padding: 72px 0 60px; }
  .tvs-prod-header { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 36px; }
  .tvs-prod-nav { margin-top: 20px; }
}
@media (max-width: 640px) {
  .tvs-pcard { width: 240px; height: 340px; }
  .tvs-pcard-lg { width: 290px; height: 420px; }
  .tvs-prod-eyebrow { font-size: 10px; }
  .tvs-scroll-wrap { padding: 0 16px 12px; }
  .tvs-prod-nav { padding: 0 16px; }
}
@media (max-width: 400px) {
  .tvs-pcard { width: 210px; height: 310px; }
  .tvs-pcard-lg { width: 260px; height: 380px; }
  .tvs-pcard-name { font-size: 15px; }
}

/* ================================================================
   SHOP BY CATEGORY
   ================================================================ */
.tvs-category-section {
  padding: 100px 0;
  background: #0D0118;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-category-section *, .tvs-category-section *::before, .tvs-category-section *::after { box-sizing: border-box; }

/* Header */
.tvs-cat-header {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; margin-bottom: 52px;
}
.tvs-cat-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase; color: #C9A84C;
  margin-bottom: 14px;
}
.tvs-cat-eyebrow::before { content:''; width:32px; height:1.5px; background:#C9A84C; }
.tvs-cat-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 900;
  color: #F5EDD8; margin: 0 0 10px;
}
.tvs-cat-title em { font-style:italic; color:#E8C96A; }
.tvs-cat-sub { font-family:'Open Sans',sans-serif; font-size:15px; color:#BCA878; max-width:400px; margin:0; }

/* View all btn */
.tvs-btn-outline2 {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 32px;
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 800;
  letter-spacing: 0.18em; text-transform: uppercase;
  border: 1.5px solid rgba(201,168,76,0.55); color: #F5EDD8;
  background: transparent; text-decoration: none !important;
  position: relative; overflow: hidden; white-space: nowrap;
  transition: color .35s, border-color .35s;
}
.tvs-btn-outline2::after { content:''; position:absolute; inset:0; background:rgba(201,168,76,0.1); transform:translateX(-102%); transition:transform .38s; }
.tvs-btn-outline2:hover::after { transform:translateX(0); }
.tvs-btn-outline2:hover { color:#E8C96A !important; border-color:#C9A84C; }
.tvs-btn-outline2 span { position:relative; z-index:1; }

/* Grid */
.tvs-cat-grid {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: 380px 280px;
  gap: 14px;
}

/* Tile span rules */
.tvs-tile-hero { grid-column:1; grid-row:1/3; }
.tvs-tile-a    { grid-column:2; grid-row:1; }
.tvs-tile-b    { grid-column:3; grid-row:1; }
.tvs-tile-c    { grid-column:2; grid-row:2; }
.tvs-tile-d    { grid-column:3; grid-row:2; }

/* Tile base */
.tvs-cat-tile {
  position: relative; overflow: hidden; cursor: pointer;
  display: block; text-decoration: none; color: inherit;
}

/* Product photo fills tile */
.tvs-tile-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center center;
  transition: transform .9s cubic-bezier(0.25,0.46,0.45,0.94);
  filter: saturate(0.9) contrast(1.05);
}
.tvs-cat-tile:hover .tvs-tile-img { transform: scale(1.07); }

/* Gradient overlay */
.tvs-tile-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,0,16,0.94) 0%, rgba(8,0,16,0.18) 100%);
  transition: background .38s;
}
.tvs-cat-tile:hover .tvs-tile-overlay {
  background: linear-gradient(to top, rgba(8,0,16,0.98) 0%, rgba(8,0,16,0.35) 100%);
}

/* Category pill */
.tvs-tile-pill {
  position: absolute; top:18px; left:18px; z-index:3;
  background: rgba(8,0,16,0.7); border: 1px solid rgba(201,168,76,0.32);
  font-family: 'Open Sans', sans-serif; font-size: 9px; font-weight: 800;
  letter-spacing: 0.26em; text-transform: uppercase; color: #C9A84C;
  padding: 5px 12px; backdrop-filter: blur(4px);
}

/* Text content */
.tvs-tile-body {
  position: absolute; inset: 0; z-index: 2;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 26px 24px;
}
.tvs-tile-count {
  font-family: 'Open Sans', sans-serif; font-size: 12px;
  color: #BCA878; margin-bottom: 5px;
}
.tvs-tile-name {
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(15px, 2vw, 22px); font-weight: 800;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: #F5EDD8; margin-bottom: 12px;
  transition: color .22s;
}
.tvs-cat-tile:hover .tvs-tile-name { color: #E8C96A; }
.tvs-tile-cta {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Open Sans', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: #130320; background: #C9A84C; padding: 10px 22px;
  width: fit-content;
  opacity: 0; transform: translateY(8px);
  transition: opacity .35s, transform .35s, background .22s;
}
.tvs-cat-tile:hover .tvs-tile-cta { opacity:1; transform:translateY(0); }
.tvs-tile-cta:hover { background: #E8C96A; }

/* Gold border on hover */
.tvs-cat-tile::after {
  content:''; position:absolute; inset:0; z-index:4;
  border: 2px solid transparent; pointer-events:none;
  transition: border-color .38s;
}
.tvs-cat-tile:hover::after { border-color: rgba(201,168,76,0.5); }

/* Responsive */
@media (max-width:900px){
  .tvs-category-section { padding: 72px 0; }
  .tvs-cat-header { flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:36px; }
  .tvs-cat-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 300px 240px 260px;
  }
  .tvs-tile-hero { grid-column:1/3; grid-row:1; }
  .tvs-tile-a    { grid-column:1; grid-row:2; }
  .tvs-tile-b    { grid-column:2; grid-row:2; }
  .tvs-tile-c    { grid-column:1; grid-row:3; }
  .tvs-tile-d    { grid-column:2; grid-row:3; }
}
@media (max-width:640px){
  .tvs-cat-grid { gap: 10px; }
  .tvs-tile-cta { display: none; }
  .tvs-tile-name { font-size: 14px; margin-bottom: 4px; }
}
@media (max-width:480px){
  .tvs-cat-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, 220px);
    gap: 8px;
  }
  .tvs-tile-hero,.tvs-tile-a,.tvs-tile-b,.tvs-tile-c,.tvs-tile-d { grid-column:1; }
  .tvs-tile-hero { grid-row:1; } .tvs-tile-a { grid-row:2; }
  .tvs-tile-b { grid-row:3; } .tvs-tile-c { grid-row:4; } .tvs-tile-d { grid-row:5; }
  .tvs-cat-header { padding: 0 16px; }
  .tvs-cat-grid { padding: 0 16px; }
}

/* ================================================================
   WHY CHOOSE US
   ================================================================ */
.tvs-why {
  padding: 100px 0;
  background: #130320;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  position: relative; overflow: hidden;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-why *, .tvs-why *::before, .tvs-why *::after { box-sizing: border-box; }

/* Radial glow */
.tvs-why::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(45,8,69,0.45) 0%, transparent 65%);
  pointer-events: none;
}

/* Head */
.tvs-why-head {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  text-align: center; margin-bottom: 64px;
  position: relative; z-index:1;
}
.tvs-why-eyebrow {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  font-family: 'Open Sans', sans-serif; font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase; color: #C9A84C;
  margin-bottom: 16px;
}
.tvs-why-eyebrow::before,
.tvs-why-eyebrow::after { content:''; width:32px; height:1.5px; background:#C9A84C; }
.tvs-why-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 900;
  color: #F5EDD8; margin: 0 0 12px;
}
.tvs-why-title em { font-style:italic; color:#E8C96A; }
.tvs-why-sub {
  font-family: 'Open Sans', sans-serif; font-size: 16px;
  color: #BCA878; max-width: 500px; margin: 0 auto;
}

/* Trust grid */
.tvs-trust-grid {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; position: relative; z-index:1;
}

/* Trust card */
.tvs-trust-card {
  background: rgba(45,8,69,0.22);
  border: 1px solid rgba(201,168,76,0.1);
  padding: 48px 30px 40px;
  text-align: center;
  position: relative; overflow: hidden;
  transition: background .38s, border-color .38s, transform .38s;
}
.tvs-trust-card:hover {
  background: rgba(45,8,69,0.5);
  border-color: rgba(201,168,76,0.3);
  transform: translateY(-4px);
}
/* Gold line drops from top */
.tvs-trust-card::before {
  content: '';
  position: absolute; top:0; left:50%; transform:translateX(-50%);
  width: 1px; height: 0;
  background: linear-gradient(to bottom, #C9A84C, transparent);
  transition: height .65s;
}
.tvs-trust-card:hover::before { height: 60px; }
/* Radial glow */
.tvs-trust-card::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,0.1) 0%, transparent 70%);
  opacity: 0; transition: opacity .38s;
}
.tvs-trust-card:hover::after { opacity: 1; }

/* Icon box */
.tvs-trust-icon {
  width: 80px; height: 80px; margin: 0 auto 24px;
  background: linear-gradient(135deg, rgba(201,168,76,0.12) 0%, rgba(201,168,76,0.04) 100%);
  border: 1.5px solid rgba(201,168,76,0.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 34px;
  position: relative; z-index: 1;
  transition: border-color .38s, background .38s, transform .38s;
}
.tvs-trust-card:hover .tvs-trust-icon {
  border-color: rgba(201,168,76,0.6);
  background: rgba(201,168,76,0.15);
  transform: scale(1.08);
}
.tvs-trust-card-title {
  font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: #F5EDD8; margin-bottom: 12px;
  position: relative; z-index: 1;
}
.tvs-trust-card-text {
  font-family: 'Open Sans', sans-serif; font-size: 14px;
  color: #BCA878; line-height: 1.7;
  position: relative; z-index: 1;
}

@media (max-width:900px){
  .tvs-why { padding: 72px 0; }
  .tvs-trust-grid { grid-template-columns: repeat(2,1fr); }
  .tvs-trust-card { padding: 36px 22px 30px; }
  .tvs-trust-icon { width: 68px; height: 68px; font-size: 28px; margin-bottom: 18px; }
}
@media (max-width:540px){
  .tvs-trust-grid { grid-template-columns: 1fr 1fr; gap: 2px; }
  .tvs-trust-card { padding: 28px 16px 24px; }
  .tvs-trust-icon { width: 58px; height: 58px; font-size: 24px; margin-bottom: 14px; }
  .tvs-trust-card-title { font-size: 12px; }
  .tvs-trust-card-text { font-size: 13px; }
  .tvs-why-head { margin-bottom: 40px; }
}
@media (max-width:380px){
  .tvs-trust-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   STATS SECTION
   ================================================================ */
.tvs-stats {
  background: #0D0118;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  position: relative;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-stats *, .tvs-stats *::before, .tvs-stats *::after { box-sizing: border-box; }

/* Gold shimmer top border */
.tvs-stats::before {
  content: '';
  position: absolute; top:0; left:0; right:0;
  height: 3px;
  background: linear-gradient(to right, transparent, #C9A84C, #E8C96A, #C9A84C, transparent);
  z-index: 2;
}
/* Subtle bottom border */
.tvs-stats::after {
  content: '';
  position: absolute; bottom:0; left:0; right:0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(201,168,76,0.3), transparent);
}

/* 4-column grid */
.tvs-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* Stat card */
.tvs-stat-card {
  position: relative;
  padding: 56px 40px 52px;
  display: flex; flex-direction: column; align-items: flex-start;
  overflow: hidden;
  border-right: 1px solid rgba(201,168,76,0.1);
  transition: background .38s;
  cursor: default;
}
.tvs-stat-card:last-child { border-right: none; }
.tvs-stat-card:hover { background: rgba(45,8,69,0.42); }

/* Ghost watermark number */
.tvs-stat-bg-num {
  position: absolute; right: -8px; top: 50%;
  transform: translateY(-50%);
  font-family: 'Playfair Display', serif;
  font-size: clamp(72px, 9vw, 130px); font-weight: 900;
  color: rgba(201,168,76,0.04); line-height: 1;
  pointer-events: none; user-select: none; white-space: nowrap;
}

/* Gold left bar on hover */
.tvs-stat-card::before {
  content: '';
  position: absolute; left:0; top:20%; bottom:20%;
  width: 3px;
  background: linear-gradient(to bottom, transparent, #C9A84C, transparent);
  opacity: 0; transition: opacity .38s;
}
.tvs-stat-card:hover::before { opacity: 1; }

.tvs-stat-icon {
  font-size: 36px; margin-bottom: 20px;
  display: block;
  filter: drop-shadow(0 2px 10px rgba(201,168,76,0.4));
  transition: transform .38s; position: relative; z-index:1;
}
.tvs-stat-card:hover .tvs-stat-icon { transform: scale(1.12); }

/* Number with gold gradient text */
.tvs-stat-num {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 4.5vw, 4.8rem); font-weight: 900;
  line-height: 1; margin-bottom: 10px;
  background: linear-gradient(135deg, #F5E8A8 0%, #E8C96A 40%, #C9A84C 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; color: transparent;
  position: relative; z-index:1;
}

.tvs-stat-label {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px; font-weight: 600; letter-spacing: 0.02em;
  color: #E0D0A8; line-height: 1.4;
  position: relative; z-index:1;
}
.tvs-stat-sublabel {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 400;
  color: #BCA878; margin-top: 6px; opacity: 0.75;
  position: relative; z-index:1;
}

@media (max-width:860px){
  .tvs-stats-grid { grid-template-columns: 1fr 1fr; }
  .tvs-stat-card {
    padding: 40px 24px;
    border-right: none;
    border-bottom: 1px solid rgba(201,168,76,0.1);
  }
  .tvs-stat-card:nth-child(odd)  { border-right: 1px solid rgba(201,168,76,0.1); }
  .tvs-stat-card:last-child { border-bottom: none; }
  .tvs-stat-icon { font-size: 28px; margin-bottom: 14px; }
}
@media (max-width:540px){
  .tvs-stat-num { font-size: clamp(2.4rem, 10vw, 3.2rem); }
  .tvs-stat-card { padding: 30px 18px; }
  .tvs-stat-bg-num { display: none; }
  .tvs-stat-label { font-size: 13px; }
  .tvs-stat-sublabel { font-size: 11px; }
}
@media (max-width:380px){
  .tvs-stats-grid { grid-template-columns: 1fr; }
  .tvs-stat-card { border-right: none !important; border-bottom: 1px solid rgba(201,168,76,0.1); }
  .tvs-stat-card:last-child { border-bottom: none; }
}

/* ================================================================
   BESTSELLER SPOTLIGHT
   ================================================================ */
.tvs-spotlight {
  padding: 110px 0;
  background: #200438;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  position: relative; overflow: hidden;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-spotlight *, .tvs-spotlight *::before, .tvs-spotlight *::after { box-sizing: border-box; }
.tvs-spotlight::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at 20% 50%, rgba(66,13,98,0.35) 0%, transparent 60%);
  pointer-events:none;
}

.tvs-spotlight-inner {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  position: relative; z-index:1;
}

/* Eyebrow row */
.tvs-spotlight-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 52px; flex-wrap: wrap; gap:16px;
}
.tvs-spotlight-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'Open Sans', sans-serif; font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase; color: #C9A84C;
}
.tvs-spotlight-eyebrow::before { content:''; width:32px; height:1.5px; background:#C9A84C; }

/* Split layout */
.tvs-spotlight-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 72px; align-items: center;
}

/* Image */
.tvs-spotlight-img {
  position: relative; aspect-ratio: 4/5; overflow: hidden;
}
.tvs-spotlight-img img {
  width:100%; height:100%;
  object-fit: cover; object-position: center top;
  transition: transform .9s; filter: saturate(0.92) contrast(1.04);
}
.tvs-spotlight-img:hover img { transform: scale(1.04); }
.tvs-spotlight-img-badge {
  position: absolute; top:20px; right:20px;
  background: #C9A84C; color: #130320;
  font-family: 'Open Sans', sans-serif; font-size: 9px; font-weight: 800;
  letter-spacing: 0.24em; text-transform: uppercase; padding: 6px 14px;
}
/* Gold corner accents */
.tvs-spotlight-img::before {
  content:''; position:absolute; top:14px; left:14px;
  width:40px; height:40px;
  border-top:2px solid #C9A84C; border-left:2px solid #C9A84C; z-index:2;
}
.tvs-spotlight-img::after {
  content:''; position:absolute; bottom:14px; right:14px;
  width:40px; height:40px;
  border-bottom:2px solid #C9A84C; border-right:2px solid #C9A84C; z-index:2;
}

/* Text */
.tvs-spotlight-cat {
  font-family: 'Open Sans', sans-serif; font-size: 11px; font-weight: 800;
  letter-spacing: 0.38em; text-transform: uppercase; color: #C9A84C;
  margin-bottom: 14px;
  display: flex; align-items: center; gap: 12px;
}
.tvs-spotlight-cat::before { content:''; width:32px; height:2px; background:#C9A84C; }
.tvs-spotlight-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 900;
  color: #F5EDD8; line-height: 1.1; margin: 0 0 6px;
}
.tvs-spotlight-subtitle {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 700;
  font-size: clamp(1.2rem, 2vw, 1.9rem); color: #E8C96A; margin-bottom: 22px;
}
.tvs-spotlight-desc {
  font-family: 'Open Sans', sans-serif; font-size: 15px; color: #E0D0A8;
  line-height: 1.85; margin-bottom: 26px;
}
.tvs-spotlight-features {
  display: flex; flex-direction: column; gap: 11px; margin-bottom: 32px;
}
.tvs-spotlight-feature {
  display: flex; align-items: center; gap: 11px;
  font-family: 'Open Sans', sans-serif; font-size: 14px; color: #E0D0A8;
}
.tvs-feat-dot { width:6px; height:6px; background:#C9A84C; border-radius:50%; flex-shrink:0; }

/* Stars */
.tvs-spotlight-rating {
  display: flex; align-items: center; gap: 10px; margin-bottom: 26px;
}
.tvs-stars { display:flex; gap:3px; }
.tvs-stars i { color:#C9A84C; font-size:14px; }
.tvs-rating-text { font-family:'Open Sans',sans-serif; font-size:13px; color:#BCA878; }

/* Pricing */
.tvs-spotlight-pricing {
  display: flex; align-items: baseline; gap: 14px; margin-bottom: 30px;
}
.tvs-spotlight-price {
  font-family: 'Open Sans', sans-serif; font-size: 2.2rem; font-weight: 900; color: #E8C96A;
}
.tvs-spotlight-orig {
  font-family: 'Open Sans', sans-serif; font-size: 1.1rem;
  color: #BCA878; text-decoration: line-through; opacity: 0.55;
}

/* CTA buttons */
.tvs-ctas { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tvs-btn-gold {
  display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px;
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 800;
  letter-spacing: 0.2em; text-transform: uppercase;
  background: #C9A84C; color: #130320 !important; text-decoration: none !important;
  position: relative; overflow: hidden; transition: color .35s;
}
.tvs-btn-gold::after { content:''; position:absolute; inset:0; background:#E8C96A; transform:translateX(-102%); transition:transform .38s; }
.tvs-btn-gold:hover::after { transform:translateX(0); }
.tvs-btn-gold span { position:relative; z-index:1; }
.tvs-btn-outline3 {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 34px;
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 800;
  letter-spacing: 0.2em; text-transform: uppercase;
  border: 1.5px solid rgba(201,168,76,0.55); color: #F5EDD8 !important;
  background: transparent; text-decoration: none !important;
  position: relative; overflow: hidden; transition: color .35s, border-color .35s;
}
.tvs-btn-outline3::after { content:''; position:absolute; inset:0; background:rgba(201,168,76,0.1); transform:translateX(-102%); transition:transform .38s; }
.tvs-btn-outline3:hover::after { transform:translateX(0); }
.tvs-btn-outline3:hover { color:#E8C96A !important; border-color:#C9A84C; }
.tvs-btn-outline3 span { position:relative; z-index:1; }

@media (max-width:1024px){
  .tvs-spotlight-layout { gap: 52px; }
}
@media (max-width:900px){
  .tvs-spotlight { padding: 72px 0; }
  .tvs-spotlight-layout { grid-template-columns:1fr; gap:36px; }
  .tvs-spotlight-img { aspect-ratio: 3/2; max-width: 560px; margin: 0 auto; width: 100%; }
  .tvs-spotlight-img::before { top: 10px; left: 10px; width: 28px; height: 28px; }
  .tvs-spotlight-img::after  { bottom: 10px; right: 10px; width: 28px; height: 28px; }
}
@media (max-width:640px){
  .tvs-spotlight { padding: 56px 0; }
  .tvs-spotlight-img { aspect-ratio: 4/3; }
  .tvs-spotlight-features { grid-template-columns: 1fr; gap: 8px; }
  .tvs-ctas { flex-direction: column; gap: 12px; }
  .tvs-btn-gold, .tvs-btn-outline3 { width: 100%; justify-content: center; padding: 15px 20px; }
  .tvs-spotlight-pricing { flex-wrap: wrap; gap: 10px; }
}
@media (max-width:480px){
  .tvs-spotlight-img { aspect-ratio: 1/1; }
  .tvs-spotlight-rating { flex-wrap: wrap; gap: 8px; }
}

/* ================================================================
   DEAL OF THE DAY
   ================================================================ */
.tvs-deal {
  background: #0D0118;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-deal *, .tvs-deal *::before, .tvs-deal *::after { box-sizing: border-box; }

.tvs-deal-inner {
  max-width: 1440px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 560px;
}

/* Image side */
.tvs-deal-img {
  position: relative; overflow: hidden;
}
.tvs-deal-img img {
  width:100%; height:100%;
  object-fit: cover; object-position: center top;
  transition: transform .9s; filter: saturate(0.88) contrast(1.06);
}
.tvs-deal-img:hover img { transform: scale(1.04); }
.tvs-deal-img::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(to right, transparent 60%, #0D0118 100%);
  z-index:1;
}

/* Content side */
.tvs-deal-content {
  padding: 72px clamp(24px,5vw,72px);
  display: flex; flex-direction: column; justify-content: center;
  background: #0D0118;
  position: relative;
}
/* Left gold bar */
.tvs-deal-content::before {
  content:''; position:absolute; top:0; left:0;
  width:3px; height:100%;
  background: linear-gradient(to bottom, transparent, #C9A84C, transparent);
}

/* Deal badge */
.tvs-deal-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: #C9A84C; color: #130320;
  font-family: 'Open Sans', sans-serif; font-size: 10px; font-weight: 900;
  letter-spacing: 0.28em; text-transform: uppercase;
  padding: 6px 16px; margin-bottom: 24px; width: fit-content;
}

.tvs-deal-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 900;
  color: #F5EDD8; line-height: 1.1; margin: 0 0 6px;
}
.tvs-deal-title em { font-style:italic; color:#E8C96A; }
.tvs-deal-sub {
  font-family: 'Playfair Display', serif; font-size: 1.2rem;
  font-style:italic; font-weight:700; color:#E8C96A; margin-bottom:18px;
}
.tvs-deal-desc {
  font-family: 'Open Sans', sans-serif; font-size: 15px; color: #BCA878;
  line-height: 1.8; max-width: 420px; margin-bottom: 28px;
}

/* Pricing */
.tvs-deal-pricing {
  display: flex; align-items: center; gap: 16px; margin-bottom: 26px; flex-wrap: wrap;
}
.tvs-deal-price-now { font-family:'Open Sans',sans-serif; font-size:2.2rem; font-weight:900; color:#E8C96A; }
.tvs-deal-price-was { font-family:'Open Sans',sans-serif; font-size:1.1rem; color:#BCA878; text-decoration:line-through; opacity:.55; }
.tvs-deal-discount {
  background: rgba(201,168,76,0.15); border: 1px solid rgba(201,168,76,0.35);
  color: #C9A84C; font-family:'Open Sans',sans-serif; font-size:12px; font-weight:800;
  letter-spacing:.1em; padding:4px 12px;
}

/* Countdown */
.tvs-countdown { display:flex; align-items:center; gap:8px; margin-bottom:32px; flex-wrap:wrap; }
.tvs-timer-label {
  font-family:'Open Sans',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:#BCA878; margin-right:6px;
}
.tvs-timer-block { text-align:center; }
.tvs-timer-num {
  font-family:'Open Sans',sans-serif; font-size:1.7rem; font-weight:900;
  color:#F5EDD8; background:rgba(201,168,76,0.1);
  border:1px solid rgba(201,168,76,0.22);
  width:56px; height:56px;
  display:flex; align-items:center; justify-content:center; line-height:1;
}
.tvs-timer-sep { font-family:'Open Sans',sans-serif; font-size:1.4rem; font-weight:900; color:#C9A84C; padding:0 2px; align-self:flex-start; margin-top:6px; }
.tvs-timer-lbl { font-family:'Open Sans',sans-serif; font-size:9px; color:#BCA878; text-align:center; letter-spacing:.1em; margin-top:4px; display:block; }

/* CTA */
.tvs-deal-ctas { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.tvs-btn-gold2 {
  display:inline-flex; align-items:center; gap:10px; padding:16px 36px;
  font-family:'Open Sans',sans-serif; font-size:12px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  background:#C9A84C; color:#130320 !important; text-decoration:none !important;
  position:relative; overflow:hidden; transition:color .35s;
}
.tvs-btn-gold2::after { content:''; position:absolute; inset:0; background:#E8C96A; transform:translateX(-102%); transition:transform .38s; }
.tvs-btn-gold2:hover::after { transform:translateX(0); }
.tvs-btn-gold2 span { position:relative; z-index:1; }
.tvs-btn-outline4 {
  display:inline-flex; align-items:center; gap:10px; padding:15px 32px;
  font-family:'Open Sans',sans-serif; font-size:12px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  border:1.5px solid rgba(201,168,76,0.55); color:#F5EDD8 !important;
  background:transparent; text-decoration:none !important;
  position:relative; overflow:hidden; transition:color .35s,border-color .35s;
}
.tvs-btn-outline4::after { content:''; position:absolute; inset:0; background:rgba(201,168,76,0.1); transform:translateX(-102%); transition:transform .38s; }
.tvs-btn-outline4:hover::after { transform:translateX(0); }
.tvs-btn-outline4:hover { color:#E8C96A !important; border-color:#C9A84C; }
.tvs-btn-outline4 span { position:relative; z-index:1; }

@media (max-width:1024px){
  .tvs-deal-content { padding: 56px 40px; }
}
@media (max-width:860px){
  .tvs-deal-inner { grid-template-columns:1fr; }
  .tvs-deal-img { height: 360px; order: -1; }
  .tvs-deal-img::after { background:linear-gradient(to top, #0D0118 0%, transparent 60%); }
  .tvs-deal-content { padding: 44px clamp(20px,5vw,56px); }
}
@media (max-width:640px){
  .tvs-deal-img { height: 280px; }
  .tvs-deal-content { padding: 36px 20px 44px; }
  .tvs-deal-pricing { flex-wrap: wrap; gap: 10px; }
  .tvs-countdown { flex-wrap: wrap; gap: 8px; }
  .tvs-timer-num { width: 48px; height: 48px; font-size: 1.4rem; }
  .tvs-deal-ctas { flex-direction: column; gap: 12px; }
  .tvs-btn-gold2, .tvs-btn-outline4 { width: 100%; justify-content: center; }
}
@media (max-width:400px){
  .tvs-deal-img { height: 220px; }
  .tvs-timer-num { width: 42px; height: 42px; font-size: 1.2rem; }
  .tvs-timer-sep { font-size: 1.1rem; }
}

/* ================================================================
   TESTIMONIALS
   ================================================================ */
/* ── Wrapper ── */
.tvs-tq {
  position: relative;
  padding: 0;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  min-height: 680px;
  display: flex; align-items: stretch;
}
.tvs-tq *, .tvs-tq *::before, .tvs-tq *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Full-bleed background image (changes per slide) ── */
.tvs-tq-bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center 20%;
  transition: opacity 1.2s ease;
  z-index: 0;
}
/* Dark overlay so text is always readable */
.tvs-tq-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    135deg,
    rgba(8, 0, 20, 0.88) 0%,
    rgba(19, 3, 32, 0.82) 40%,
    rgba(8, 0, 20, 0.75) 100%
  );
}

/* ── Decorative huge quote mark ── */
.tvs-tq-deco {
  position: absolute;
  top: -40px; left: 50%;
  transform: translateX(-50%);
  font-family: 'Playfair Display', serif;
  font-size: clamp(200px, 40vw, 520px);
  font-weight: 900; line-height: 1;
  color: rgba(201, 168, 76, 0.045);
  pointer-events: none; user-select: none;
  z-index: 1;
  white-space: nowrap;
}

/* ── Gold horizontal line top & bottom ── */
.tvs-tq-line-top,
.tvs-tq-line-bottom {
  position: absolute; left: 0; right: 0; height: 2px; z-index: 3;
  background: linear-gradient(to right, transparent, rgba(201,168,76,0.5), rgba(232,201,106,0.8), rgba(201,168,76,0.5), transparent);
}
.tvs-tq-line-top    { top: 0; }
.tvs-tq-line-bottom { bottom: 0; }

/* ── Main content area ── */
.tvs-tq-inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1000px;
  margin: 0 auto;
  padding: 90px clamp(24px, 6vw, 80px) 80px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  min-height: 680px;
}

/* ── Slides container ── */
.tvs-tq-slides { position: relative; width: 100%; }

.tvs-tq-slide {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.9s ease, transform 0.9s ease;
  transform: translateY(12px);
}
.tvs-tq-slide.tvs-tq-active {
  opacity: 1; pointer-events: all;
  position: relative; transform: translateY(0);
}

/* Stars */
.tvs-tq-stars {
  display: flex; gap: 8px; justify-content: center;
  margin-bottom: 32px;
}
.tvs-tq-stars i { color: #C9A84C; font-size: 18px; }

/* The big quote */
.tvs-tq-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3.5vw, 3rem);
  font-style: italic; font-weight: 800;
  color: #FFFFFF;
  line-height: 1.5;
  margin-bottom: 40px;
  letter-spacing: -0.01em;
}
.tvs-tq-quote em {
  font-style: normal;
  color: #E8C96A;
}

/* ── Glass panel for author info ── */
.tvs-tq-glass {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 18px 32px;
  /* Glass effect */
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(201, 168, 76, 0.25);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Author avatar circle */
.tvs-tq-avatar {
  width: 54px; height: 54px; border-radius: 50%;
  background: linear-gradient(135deg, #2D0845, #420D62);
  border: 2px solid rgba(201, 168, 76, 0.6);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 22px; font-weight: 900; color: #C9A84C;
  flex-shrink: 0;
}

/* Glass divider */
.tvs-tq-glass-sep {
  width: 1px; height: 38px;
  background: rgba(201, 168, 76, 0.25);
  flex-shrink: 0;
}

/* Author text */
.tvs-tq-author-name {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px; font-weight: 800;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #C9A84C; display: block; margin-bottom: 4px;
}
.tvs-tq-author-loc {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 400;
  color: rgba(245, 237, 216, 0.65);
  display: flex; align-items: center; gap: 5px;
}
.tvs-tq-author-loc i { font-size: 10px; color: #C9A84C; }

/* Product bought */
.tvs-tq-product {
  font-family: 'Open Sans', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(201, 168, 76, 0.7);
  border: 1px solid rgba(201, 168, 76, 0.22);
  padding: 4px 12px;
  white-space: nowrap;
  align-self: center;
}

/* ── Navigation ── */
.tvs-tq-nav {
  display: flex; align-items: center; gap: 24px;
  margin-top: 52px;
}
.tvs-tq-nav-btn {
  width: 52px; height: 52px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(201,168,76,0.3);
  color: #C9A84C; font-size: 15px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.22s, border-color 0.22s, color 0.22s;
  flex-shrink: 0;
}
.tvs-tq-nav-btn:hover {
  background: rgba(201,168,76,0.15);
  border-color: rgba(201,168,76,0.7);
  color: #E8C96A;
}

/* Dots */
.tvs-tq-dots { display: flex; gap: 10px; align-items: center; }
.tvs-tq-dot {
  height: 3px; width: 20px;
  background: rgba(201,168,76,0.25);
  border: none; cursor: pointer;
  transition: width 0.38s, background 0.22s;
  position: relative; overflow: hidden;
}
.tvs-tq-dot::after {
  content: ''; position: absolute; inset: 0;
  background: #C9A84C; transform: scaleX(0); transform-origin: left;
}
.tvs-tq-dot.tvs-tq-on { width: 48px; }
.tvs-tq-dot.tvs-tq-on::after {
  transform: scaleX(1);
  transition: transform 5.5s linear;
}

/* Slide counter */
.tvs-tq-counter {
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 600;
  color: rgba(201,168,76,0.55); letter-spacing: 0.14em;
  white-space: nowrap;
}

/* ── Bottom summary strip ── */
.tvs-tq-strip {
  position: relative; z-index: 3;
  background: rgba(8, 0, 16, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(201,168,76,0.15);
  padding: 28px clamp(24px, 5vw, 72px);
  display: flex; align-items: center; justify-content: center;
  gap: 48px; flex-wrap: wrap;
}
.tvs-tq-strip-item {
  display: flex; align-items: center; gap: 14px;
}
.tvs-tq-strip-num {
  font-family: 'Playfair Display', serif;
  font-size: 2rem; font-weight: 900;
  background: linear-gradient(135deg, #F5E8A8, #E8C96A, #C9A84C);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.tvs-tq-strip-label {
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 600;
  color: rgba(212,196,154,0.65); letter-spacing: 0.06em;
}
.tvs-tq-strip-sep {
  width: 1px; height: 36px; background: rgba(201,168,76,0.18);
}

/* Wrapper flex column so strip stays at very bottom */
.tvs-tq-outer {
  display: flex; flex-direction: column;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  overflow: hidden;
}
.tvs-tq-outer *, .tvs-tq-outer *::before, .tvs-tq-outer *::after { box-sizing: border-box; }

/* ── Responsive ── */
@media (max-width: 860px) {
  .tvs-tq { min-height: 580px; }
  .tvs-tq-inner { padding: 70px 28px 68px; min-height: 580px; }
  .tvs-tq-quote { font-size: clamp(1.4rem, 3.8vw, 2.2rem); }
  .tvs-tq-strip { gap: 28px; padding: 24px 28px; }
  .tvs-tq-nav { margin-top: 40px; }
}

@media (max-width: 680px) {
  .tvs-tq { min-height: 520px; }
  .tvs-tq-inner { padding: 52px 20px 68px; min-height: 520px; }
  .tvs-tq-glass {
    flex-direction: column; align-items: center;
    gap: 10px; padding: 14px 18px; text-align: center;
  }
  .tvs-tq-glass-sep { display: none; }
  .tvs-tq-product { display: none; }
  .tvs-tq-quote { font-size: clamp(1.2rem, 5vw, 1.7rem); margin-bottom: 26px; }
  .tvs-tq-stars i { font-size: 15px; }
  .tvs-tq-nav { gap: 14px; margin-top: 32px; }
  .tvs-tq-nav-btn { width: 44px; height: 44px; }
  .tvs-tq-strip { gap: 16px; padding: 18px 20px; flex-wrap: wrap; justify-content: center; }
  .tvs-tq-strip-sep { display: none; }
  .tvs-tq-strip-num { font-size: 1.5rem; }
  .tvs-tq-strip-label { font-size: 11px; }
}

@media (max-width: 480px) {
  .tvs-tq { min-height: 480px; }
  .tvs-tq-inner { padding: 44px 16px 60px; min-height: 480px; }
  .tvs-tq-deco { font-size: clamp(140px, 35vw, 280px); top: -20px; }
  .tvs-tq-quote { font-size: clamp(1.1rem, 5.5vw, 1.45rem); line-height: 1.65; }
  .tvs-tq-avatar { width: 44px; height: 44px; font-size: 18px; }
  .tvs-tq-author-name { font-size: 12px; letter-spacing: 0.15em; }
  .tvs-tq-author-loc { font-size: 11px; }
  .tvs-tq-dot { width: 16px; }
  .tvs-tq-dot.tvs-tq-on { width: 36px; }
  .tvs-tq-counter { display: none; }
  .tvs-tq-strip-item { flex-direction: column; align-items: center; gap: 4px; }
}

@media (max-width: 360px) {
  .tvs-tq-nav-btn { width: 38px; height: 38px; font-size: 13px; }
  .tvs-tq-glass { padding: 12px 14px; }
}

/* ================================================================
   CTA SECTION
   ================================================================ */
.tvs-cta {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  background: #0D0118;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}
.tvs-cta *, .tvs-cta *::before, .tvs-cta *::after { box-sizing: border-box; }

/* Diagonal tile pattern */
.tvs-cta::before {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(135deg,rgba(201,168,76,0.055) 25%,transparent 25%),
    linear-gradient(225deg,rgba(201,168,76,0.055) 25%,transparent 25%),
    linear-gradient(45deg, rgba(201,168,76,0.055) 25%,transparent 25%),
    linear-gradient(315deg,rgba(201,168,76,0.055) 25%,#0D0118 25%);
  background-size:60px 60px;
  background-position:0 0,30px 0,30px -30px,0 30px;
}
/* Radial glow centre */
.tvs-cta::after {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at center, rgba(66,13,98,0.55) 0%, transparent 70%);
}

.tvs-cta-inner {
  position: relative; z-index:1;
  max-width: 800px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,72px);
  text-align: center;
}

.tvs-cta-eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  font-family: 'Open Sans', sans-serif; font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase; color: #C9A84C;
  margin-bottom: 24px;
}
.tvs-cta-eyebrow::before,
.tvs-cta-eyebrow::after { content:''; width:36px; height:1.5px; background:#C9A84C; }

.tvs-cta-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: 900;
  line-height: 1.1; color: #F5EDD8; margin: 0 0 10px;
}
.tvs-cta-title em { font-style:italic; color:#E8C96A; }

.tvs-cta-subtitle {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.2rem, 2.2vw, 1.8rem); font-style:italic; font-weight:700;
  color: #E8C96A; margin-bottom: 20px;
}
.tvs-cta-desc {
  font-family: 'Open Sans', sans-serif; font-size: 16px;
  color: #E0D0A8; line-height: 1.8;
  max-width: 540px; margin: 0 auto 44px;
}

/* Buttons */
.tvs-cta-btns {
  display: flex; align-items: center; justify-content: center;
  gap: 20px; flex-wrap: wrap; margin-bottom: 40px;
}
.tvs-ctab-gold {
  display:inline-flex; align-items:center; gap:10px; padding:16px 38px;
  font-family:'Open Sans',sans-serif; font-size:12px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  background:#C9A84C; color:#130320 !important; text-decoration:none !important;
  position:relative; overflow:hidden; transition:color .35s;
}
.tvs-ctab-gold::after { content:''; position:absolute; inset:0; background:#E8C96A; transform:translateX(-102%); transition:transform .38s; }
.tvs-ctab-gold:hover::after { transform:translateX(0); }
.tvs-ctab-gold span { position:relative; z-index:1; }

.tvs-ctab-outline {
  display:inline-flex; align-items:center; gap:10px; padding:15px 36px;
  font-family:'Open Sans',sans-serif; font-size:12px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  border:1.5px solid rgba(201,168,76,0.55); color:#F5EDD8 !important;
  background:transparent; text-decoration:none !important;
  position:relative; overflow:hidden; transition:color .35s,border-color .35s;
}
.tvs-ctab-outline::after { content:''; position:absolute; inset:0; background:rgba(201,168,76,0.1); transform:translateX(-102%); transition:transform .38s; }
.tvs-ctab-outline:hover::after { transform:translateX(0); }
.tvs-ctab-outline:hover { color:#E8C96A !important; border-color:#C9A84C; }
.tvs-ctab-outline span { position:relative; z-index:1; }

/* Trust row */
.tvs-cta-trust {
  display: flex; align-items: center; justify-content: center;
  gap: 28px; flex-wrap: wrap;
}
.tvs-cta-trust-item {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Open Sans', sans-serif; font-size: 13px; color: #BCA878;
}
.tvs-cta-trust-item i { color: #C9A84C; font-size: 14px; }

@media (max-width:860px){
  .tvs-cta { padding: 88px 0; }
  .tvs-cta-inner { padding: 0 28px; }
}
@media (max-width:640px){
  .tvs-cta { padding: 72px 0; }
  .tvs-cta-inner { padding: 0 20px; }
  .tvs-cta-desc { font-size: 15px; margin-bottom: 36px; }
  .tvs-cta-trust { gap: 18px; }
  .tvs-cta-trust-item { font-size: 12px; }
}
@media (max-width:540px){
  .tvs-cta-btns { flex-direction: column; align-items: center; gap: 12px; }
  .tvs-ctab-gold, .tvs-ctab-outline { width: 100%; max-width: 320px; justify-content: center; }
  .tvs-cta-trust { flex-direction: column; gap: 12px; align-items: flex-start; padding: 0 10px; }
  .tvs-cta-eyebrow { font-size: 10px; gap: 10px; }
  .tvs-cta-eyebrow::before, .tvs-cta-eyebrow::after { width: 24px; }
}
@media (max-width:380px){
  .tvs-cta { padding: 56px 0; }
  .tvs-cta-desc { display: none; }
}

/* ================================================================
   TRUST BAR
   ================================================================ */
.tvs-tb {
  --gold:   #C9A84C;
  --gold-b: #E8C96A;
  --plum:   #130320;
  --cream:  #F5EDD8;
  --cream-3:#BCA878;

  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--plum);
  border-top: 1px solid rgba(201,168,76,.18);
  border-bottom: 1px solid rgba(201,168,76,.18);
  height: 56px;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 10;
  font-family: 'Open Sans', sans-serif;
}
.tvs-tb *, .tvs-tb *::before, .tvs-tb *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Fade edges */
.tvs-tb::before,
.tvs-tb::after {
  content: '';
  position: absolute; top: 0; bottom: 0; z-index: 2;
  width: 80px; pointer-events: none;
}
.tvs-tb::before { left: 0;  background: linear-gradient(to right, var(--plum), transparent); }
.tvs-tb::after  { right: 0; background: linear-gradient(to left,  var(--plum), transparent); }

/* Scrolling track */
.tvs-tb-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: tvs-tb-scroll 38s linear infinite;
  will-change: transform;
}
.tvs-tb:hover .tvs-tb-track { animation-play-state: paused; }
@keyframes tvs-tb-scroll { to { transform: translateX(-50%); } }

/* Each badge item */
.tvs-tb-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 36px;
  border-right: 1px solid rgba(201,168,76,.15);
  flex-shrink: 0;
}
.tvs-tb-item:last-child { border-right: 1px solid rgba(201,168,76,.15); }

.tvs-tb-icon {
  font-size: 16px;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(201,168,76,.4));
}

.tvs-tb-text {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--cream-3);
  white-space: nowrap;
}
.tvs-tb-text strong {
  color: var(--gold-b);
  font-weight: 800;
}

/* Star rating display */
.tvs-tb-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--gold);
  font-size: 12px;
}

/* ================================================================
   BRAND PROMISE
   ================================================================ */
.tvs-promise {
  --plum-mid:    #200438;
  --gold:        #C9A84C;
  --gold-bright: #E8C96A;
  --cream:       #F5EDD8;
  --cream-3:     #BCA878;
  padding: 100px 24px;
  background: #200438;
  position: relative;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
}

/* Full-width override for WP themes with content width limits */
.tvs-promise {
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}

/* Radial glow background */
.tvs-promise::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(66,13,98,0.45) 0%, transparent 68%);
  pointer-events: none;
}

/* Rotating ring decoration */
.tvs-promise-ring {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(640px, 88vw);
  height: min(640px, 88vw);
  border: 1px solid rgba(201,168,76,0.06);
  border-radius: 50%;
  animation: tvs-ring-spin 55s linear infinite;
  pointer-events: none;
}
.tvs-promise-ring::before {
  content: '';
  position: absolute; inset: 28px;
  border: 1px solid rgba(201,168,76,0.04);
  border-radius: 50%;
}
@keyframes tvs-ring-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* Content */
.tvs-promise-inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  position: relative; z-index: 1;
}

.tvs-promise-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; font-weight: 800;
  letter-spacing: 0.4em; text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 20px;
}
.tvs-promise-eyebrow::before,
.tvs-promise-eyebrow::after {
  content: ''; width: 36px; height: 1.5px; background: #C9A84C;
}

.tvs-promise-divider {
  display: flex; align-items: center; gap: 16px;
  margin: 18px auto;
}
.tvs-promise-divider::before,
.tvs-promise-divider::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(to right, transparent, rgba(201,168,76,0.45), transparent);
}
.tvs-promise-icon { font-size: 10px; color: #C9A84C; }

.tvs-promise-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-style: italic; font-weight: 700;
  color: #F5EDD8; line-height: 1.65;
  margin: 20px 0; border: none;
  padding: 0;
}
.tvs-promise-quote em {
  font-style: normal;
  color: #E8C96A;
}

.tvs-promise-sub {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #BCA878; opacity: 0.7;
  margin-top: 20px;
}

/* ── RESPONSIVE ── */
@media (max-width: 860px) {
  .tvs-promise { padding: 72px 20px; }
  .tvs-promise-ring { width: min(400px, 80vw); height: min(400px, 80vw); }
}
@media (max-width: 540px) {
  .tvs-promise { padding: 56px 16px; }
  .tvs-promise-eyebrow { font-size: 10px; letter-spacing: 0.28em; gap: 10px; }
  .tvs-promise-eyebrow::before,
  .tvs-promise-eyebrow::after { width: 22px; }
  .tvs-promise-sub { letter-spacing: 0.14em; font-size: 11px; }
  .tvs-promise-ring { display: none; }
}

/* ================================================================
   FAQ ACCORDION
   ================================================================ */
.tvs-faq {
  --gold:      #C9A84C;
  --gold-b:    #E8C96A;
  --plum:      #130320;
  --plum-dark: #0D0118;
  --plum-mid:  #200438;
  --cream:     #F5EDD8;
  --cream-2:   #E0D0A8;
  --cream-3:   #BCA878;
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);

  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--plum-dark);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
}
.tvs-faq *, .tvs-faq *::before, .tvs-faq *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Background radial glow */
.tvs-faq::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(45,8,69,.5) 0%, transparent 65%);
  pointer-events: none;
}

/* Large decorative Q watermark */
.tvs-faq::after {
  content: '?';
  position: absolute; right: -20px; top: -30px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(200px, 30vw, 380px);
  font-weight: 900; line-height: 1;
  color: rgba(201,168,76,.03);
  pointer-events: none; user-select: none;
}

.tvs-faq-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px);
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
  position: relative; z-index: 1;
}

/* ── Left: heading ── */
.tvs-faq-head {}

.tvs-faq-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.tvs-faq-eyebrow::before { content: ''; width: 30px; height: 1.5px; background: var(--gold); }

.tvs-faq-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  font-weight: 900; line-height: 1.12;
  color: var(--cream); margin-bottom: 20px;
}
.tvs-faq-title em { font-style: italic; color: var(--gold-b); }

.tvs-faq-sub {
  font-size: 15px; color: var(--cream-3);
  line-height: 1.85; margin-bottom: 36px;
}

/* Contact prompt */
.tvs-faq-contact {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px;
  border: 1px solid rgba(201,168,76,.18);
  background: rgba(32,4,56,.3);
}
.tvs-faq-contact-icon {
  width: 44px; height: 44px; flex-shrink: 0;
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 18px;
}
.tvs-faq-contact-text p {
  font-size: 13px; color: var(--cream-3); margin-bottom: 4px;
}
.tvs-faq-contact-text a {
  font-size: 13px; font-weight: 700; color: var(--gold);
  text-decoration: none; transition: opacity .2s;
}
.tvs-faq-contact-text a:hover { opacity: .75; }


/* ── Right: accordion ── */
.tvs-faq-list {
  display: flex; flex-direction: column; gap: 0;
}

.tvs-faq-item {
  border-bottom: 1px solid rgba(201,168,76,.12);
  position: relative;
}
.tvs-faq-item:first-child { border-top: 1px solid rgba(201,168,76,.12); }

/* Question button */
.tvs-faq-q {
  width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 20px;
  padding: 24px 0;
  background: none; border: none; cursor: pointer;
  text-align: left;
  transition: padding-left .38s var(--ease);
}
.tvs-faq-item.tvs-open .tvs-faq-q { padding-left: 12px; }

.tvs-faq-q-left {
  display: flex; align-items: center; gap: 18px; flex: 1;
}

/* Numbered badge */
.tvs-faq-num {
  width: 34px; height: 34px; flex-shrink: 0;
  background: rgba(201,168,76,.08);
  border: 1px solid rgba(201,168,76,.22);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 14px; font-weight: 900; color: var(--gold);
  transition: background .38s, border-color .38s, transform .38s var(--ease);
}
.tvs-faq-item.tvs-open .tvs-faq-num {
  background: var(--gold); color: var(--plum);
  border-color: var(--gold); transform: scale(1.08);
}

.tvs-faq-q-text {
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(14.5px, 1.5vw, 16.5px); font-weight: 700;
  color: var(--cream); line-height: 1.45;
  transition: color .25s;
}
.tvs-faq-item.tvs-open .tvs-faq-q-text { color: var(--gold-b); }

/* Plus / minus icon */
.tvs-faq-icon {
  width: 34px; height: 34px; flex-shrink: 0;
  border: 1px solid rgba(201,168,76,.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 13px;
  transition: background .25s, border-color .25s, transform .42s var(--ease);
}
.tvs-faq-item.tvs-open .tvs-faq-icon {
  background: rgba(201,168,76,.12);
  border-color: var(--gold);
  transform: rotate(45deg);
}

/* Answer panel */
.tvs-faq-a {
  overflow: hidden;
  max-height: 0;
  transition: max-height .52s var(--ease), padding .38s ease;
  padding: 0 0 0 52px; /* align with text */
}
.tvs-faq-item.tvs-open .tvs-faq-a { padding-bottom: 24px; }

.tvs-faq-a-inner {
  font-size: 15px; color: var(--cream-3); line-height: 1.9;
}
.tvs-faq-a-inner strong { color: var(--gold-b); font-weight: 700; }
.tvs-faq-a-inner a {
  color: var(--gold); font-weight: 600;
  text-decoration: underline; text-decoration-color: rgba(201,168,76,.35);
  transition: opacity .2s;
}
.tvs-faq-a-inner a:hover { opacity: .75; }

/* Gold left highlight bar when open */
.tvs-faq-item::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  transform: scaleY(0);
  transition: transform .42s var(--ease);
}
.tvs-faq-item.tvs-open::before { transform: scaleY(1); }


/* ── Responsive ── */
@media (max-width: 860px) {
  .tvs-faq-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
@media (max-width: 540px) {
  .tvs-faq { padding: 72px 0; }
  .tvs-faq-q { padding: 18px 0; }
  .tvs-faq-q-text { font-size: 14px; }
  .tvs-faq-a { padding-left: 16px; }
  .tvs-faq-a-inner { font-size: 14px; }
}

/* Reveal animation */
.tvs-faq-reveal {
  opacity: 0; transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
}
.tvs-faq-reveal.tvs-faq-in { opacity: 1; transform: none; }
.tvs-faq-d1 { transition-delay: .1s; }
.tvs-faq-d2 { transition-delay: .15s; }
.tvs-faq-d3 { transition-delay: .2s; }
.tvs-faq-d4 { transition-delay: .25s; }
.tvs-faq-d5 { transition-delay: .3s; }

/* ================================================================
   INSTAGRAM FEED
   ================================================================ */
.tvs-ig {
  --gold:      #C9A84C;
  --gold-b:    #E8C96A;
  --plum:      #130320;
  --plum-dark: #0D0118;
  --plum-mid:  #200438;
  --cream:     #F5EDD8;
  --cream-2:   #E0D0A8;
  --cream-3:   #BCA878;
  --ig-grad:   linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);

  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--plum-dark);
  padding: 100px 0;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  position: relative;
}
.tvs-ig *, .tvs-ig *::before, .tvs-ig *::after { box-sizing: border-box; margin: 0; padding: 0; }
.tvs-ig a { text-decoration: none; color: inherit; }

/* Subtle radial bg */
.tvs-ig::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(32,4,56,.5) 0%, transparent 62%);
  pointer-events: none;
}

/* ── Section header ── */
.tvs-ig-head {
  max-width: 1320px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px);
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; margin-bottom: 52px;
  position: relative; z-index: 1;
}
.tvs-ig-head-left {}
.tvs-ig-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.tvs-ig-eyebrow::before { content: ''; width: 30px; height: 1.5px; background: var(--gold); }
.tvs-ig-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  font-weight: 900; color: var(--cream);
}
.tvs-ig-title em { font-style: italic; color: var(--gold-b); }

/* Instagram handle badge */
.tvs-ig-handle {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 22px;
  border: 1.5px solid rgba(201,168,76,.28);
  background: rgba(32,4,56,.3);
  color: var(--cream-2); font-size: 14px; font-weight: 700;
  transition: border-color .25s, background .25s, transform .25s;
  flex-shrink: 0;
}
.tvs-ig-handle:hover {
  border-color: rgba(201,168,76,.6);
  background: rgba(201,168,76,.08);
  transform: translateY(-2px);
}
.tvs-ig-handle-icon {
  width: 34px; height: 34px; border-radius: 8px;
  background: var(--ig-grad);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px; flex-shrink: 0;
}
.tvs-ig-handle-text {}
.tvs-ig-handle-name { display: block; color: var(--cream); font-size: 14px; font-weight: 800; }
.tvs-ig-handle-sub  { display: block; color: var(--cream-3); font-size: 11px; margin-top: 1px; }


/* ── Photo grid — 6 cols desktop, masonry-style stagger ── */
.tvs-ig-grid {
  max-width: 1320px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto;
  gap: 8px;
  position: relative; z-index: 1;
}

/* First photo — large 2×2 */
.tvs-ig-cell-large {
  grid-column: span 2;
  grid-row: span 2;
}
/* Second row tall */
.tvs-ig-cell-tall {
  grid-column: span 1;
  grid-row: span 2;
}

/* Photo card */
.tvs-ig-card {
  position: relative;
  overflow: hidden;
  background: var(--plum-mid);
  aspect-ratio: 1 / 1;
  display: block;
  cursor: pointer;
}
.tvs-ig-cell-large .tvs-ig-card { aspect-ratio: 1 / 1; height: 100%; }
.tvs-ig-cell-tall  .tvs-ig-card { aspect-ratio: auto; height: 100%; }

.tvs-ig-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transition: transform .7s var(--ease);
  filter: saturate(.9) brightness(.95);
}
.tvs-ig-card:hover .tvs-ig-img { transform: scale(1.08); }

/* Overlay on hover */
.tvs-ig-overlay {
  position: absolute; inset: 0;
  background: rgba(8,0,20,.72);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 10px;
  opacity: 0;
  transition: opacity .35s ease;
}
.tvs-ig-card:hover .tvs-ig-overlay { opacity: 1; }

.tvs-ig-overlay-icon {
  font-size: 28px; color: #fff;
  animation: tvs-ig-pop .3s var(--ease) both;
}
@keyframes tvs-ig-pop {
  from { transform: scale(.5); opacity: 0; }
  to   { transform: scale(1);  opacity: 1; }
}
.tvs-ig-overlay-likes {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700; color: #fff;
}
.tvs-ig-overlay-likes i { color: #ff6b8a; }

/* Gold corner accent on large card */
.tvs-ig-cell-large .tvs-ig-card::before {
  content: '';
  position: absolute; top: 12px; left: 12px;
  width: 30px; height: 30px;
  border-top: 2px solid var(--gold); border-left: 2px solid var(--gold);
  z-index: 2; pointer-events: none;
  opacity: 0; transition: opacity .35s;
}
.tvs-ig-cell-large .tvs-ig-card:hover::before { opacity: 1; }

/* ── CTA row below grid ── */
.tvs-ig-cta {
  max-width: 1320px; margin: 40px auto 0;
  padding: 0 clamp(20px,5vw,64px);
  display: flex; align-items: center; justify-content: center; gap: 16px;
  position: relative; z-index: 1;
  flex-wrap: wrap;
}
.tvs-ig-cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 32px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase;
  border: 1.5px solid rgba(201,168,76,.35); color: var(--cream);
  position: relative; overflow: hidden;
  transition: border-color .3s, color .3s;
}
.tvs-ig-cta-btn::after {
  content: ''; position: absolute; inset: 0;
  background: rgba(201,168,76,.08); transform: translateX(-102%);
  transition: transform .38s var(--ease);
}
.tvs-ig-cta-btn:hover::after { transform: translateX(0); }
.tvs-ig-cta-btn:hover { border-color: var(--gold); color: var(--gold-b); }
.tvs-ig-cta-btn > * { position: relative; z-index: 1; }

/* Instagram gradient button */
.tvs-ig-cta-ig {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase;
  color: #fff !important; background: var(--ig-grad);
  position: relative; overflow: hidden;
  transition: opacity .25s, transform .25s;
}
.tvs-ig-cta-ig:hover { opacity: .9; transform: translateY(-2px); }


/* ── Responsive ── */
@media (max-width: 1024px) {
  .tvs-ig-grid { grid-template-columns: repeat(4, 1fr); }
  .tvs-ig-cell-large { grid-column: span 2; grid-row: span 2; }
  .tvs-ig-cell-tall  { grid-column: span 1; grid-row: span 1; }
}
@media (max-width: 640px) {
  .tvs-ig { padding: 72px 0; }
  .tvs-ig-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
  }
  .tvs-ig-cell-large { grid-column: span 2; grid-row: span 1; }
  .tvs-ig-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .tvs-ig-cta { flex-direction: column; }
  .tvs-ig-cta-btn, .tvs-ig-cta-ig { width: 100%; max-width: 300px; justify-content: center; }
}

/* Reveal */
.tvs-ig-reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity .8s ease, transform .8s ease;
}
.tvs-ig-reveal.tvs-ig-in { opacity: 1; transform: none; }
.tvs-ig-card-reveal {
  opacity: 0; transform: scale(.95);
  transition: opacity .6s ease, transform .6s ease;
}
.tvs-ig-card-reveal.tvs-ig-in { opacity: 1; transform: none; }

/* ================================================================
   LIFESTYLE SECTION
   ================================================================ */
.tvs-ls {
  --gold:      #C9A84C;
  --gold-b:    #E8C96A;
  --plum:      #130320;
  --plum-dark: #0D0118;
  --plum-mid:  #200438;
  --cream:     #F5EDD8;
  --cream-2:   #E0D0A8;
  --cream-3:   #BCA878;
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);

  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--plum-dark);
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
}
.tvs-ls *, .tvs-ls *::before, .tvs-ls *::after { box-sizing: border-box; margin: 0; padding: 0; }
.tvs-ls a { text-decoration: none; color: inherit; }
.tvs-ls img { display: block; max-width: 100%; }


/* ════════════════════════════════════════
   PART A — SECTION HEADER (centred)
   ════════════════════════════════════════ */
.tvs-ls-head {
  padding: 100px clamp(20px,5vw,64px) 64px;
  text-align: center;
  position: relative;
  background: var(--plum-dark);
}
.tvs-ls-head::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(45,8,69,.45) 0%, transparent 65%);
  pointer-events: none;
}
.tvs-ls-eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: .44em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px; position: relative; z-index: 1;
}
.tvs-ls-eyebrow::before,
.tvs-ls-eyebrow::after { content: ''; width: 32px; height: 1.5px; background: var(--gold); }
.tvs-ls-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  font-weight: 900; line-height: 1.08; color: var(--cream);
  margin-bottom: 12px; position: relative; z-index: 1;
}
.tvs-ls-title em { font-style: italic; color: var(--gold-b); }
.tvs-ls-sub {
  font-size: clamp(14px, 1.5vw, 17px); color: var(--cream-3);
  line-height: 1.85; max-width: 580px; margin: 0 auto;
  position: relative; z-index: 1;
}


/* ════════════════════════════════════════
   PART B — CINEMATIC SPLIT PANELS
   Alternating: image left | text right, then text left | image right
   ════════════════════════════════════════ */
.tvs-ls-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  position: relative;
}

/* Image side */
.tvs-ls-img {
  position: relative;
  overflow: hidden;
  background: var(--plum-mid);
}
.tvs-ls-img img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: saturate(.88) brightness(.85) contrast(1.06);
  transition: transform 1.2s var(--ease), filter 1.2s ease;
}
.tvs-ls-panel:hover .tvs-ls-img img {
  transform: scale(1.04);
  filter: saturate(.95) brightness(.9) contrast(1.04);
}

/* Gold shimmer overlay on image */
.tvs-ls-img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(201,168,76,.06) 0%, transparent 50%);
  pointer-events: none;
}

/* Diagonal separator line between panels */
.tvs-ls-img-sep {
  position: absolute; top: 0; bottom: 0; right: -2px;
  width: 4px; z-index: 2;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  opacity: .25;
}
.tvs-ls-panel.tvs-ls-reverse .tvs-ls-img-sep { right: auto; left: -2px; }

/* Text side */
.tvs-ls-text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 64px clamp(32px,5vw,72px);
  background: var(--plum-dark);
  position: relative; overflow: hidden;
}

/* Faint number watermark */
.tvs-ls-text::before {
  content: attr(data-num);
  position: absolute; right: -10px; bottom: -20px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(100px, 16vw, 180px);
  font-weight: 900; line-height: 1;
  color: rgba(201,168,76,.04);
  pointer-events: none; user-select: none;
}

.tvs-ls-text-tag {
  font-size: 10px; font-weight: 800;
  letter-spacing: .36em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
}
.tvs-ls-text-tag::before { content: ''; width: 28px; height: 1.5px; background: var(--gold); flex-shrink: 0; }

.tvs-ls-text-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 900; line-height: 1.12;
  color: var(--cream); margin-bottom: 20px;
}
.tvs-ls-text-title em { font-style: italic; color: var(--gold-b); }

.tvs-ls-text-body {
  font-size: 15px; color: var(--cream-2);
  line-height: 1.9; margin-bottom: 28px;
}

/* Feature chips */
.tvs-ls-chips {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px;
}
.tvs-ls-chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 14px;
  background: rgba(201,168,76,.08);
  border: 1px solid rgba(201,168,76,.2);
  font-size: 11.5px; font-weight: 700;
  color: var(--cream-3);
  transition: background .25s, border-color .25s;
}
.tvs-ls-chip i { color: var(--gold); font-size: 11px; }
.tvs-ls-chip:hover { background: rgba(201,168,76,.15); border-color: rgba(201,168,76,.45); }

/* Shop link */
.tvs-ls-link {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold); padding-bottom: 4px;
  border-bottom: 1px solid rgba(201,168,76,.35);
  width: fit-content;
  transition: color .22s, border-color .22s, gap .22s;
}
.tvs-ls-link:hover { color: var(--gold-b); border-color: var(--gold); gap: 16px; }

/* Reversed panel — image on right */
.tvs-ls-reverse .tvs-ls-img { order: 2; }
.tvs-ls-reverse .tvs-ls-text { order: 1; }


/* ════════════════════════════════════════
   PART C — FULL-WIDTH MOOD BANNER
   ════════════════════════════════════════ */
.tvs-ls-banner {
  position: relative; min-height: 500px;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  overflow: hidden;
}
.tvs-ls-banner-bg {
  position: absolute; inset: 0;
  background-image: url('https://thevelvetsecrets.com/wp-content/uploads/2026/03/product-candles-set.jpg');
  background-size: cover; background-position: center 30%;
}
.tvs-ls-banner-bg::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom,
    rgba(4,0,12,.75) 0%, rgba(8,0,20,.58) 45%, rgba(4,0,12,.8) 100%
  ),
  radial-gradient(ellipse at center, rgba(45,8,69,.5) 0%, transparent 68%);
}
.tvs-ls-banner-inner {
  position: relative; z-index: 1;
  padding: 80px clamp(20px,5vw,64px);
  max-width: 780px;
}
.tvs-ls-banner-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  font-style: italic; font-weight: 800;
  color: var(--cream); line-height: 1.45;
  margin-bottom: 20px;
}
.tvs-ls-banner-quote::before,
.tvs-ls-banner-quote::after {
  content: '"'; color: var(--gold); font-size: 1.2em; line-height: 0;
  vertical-align: -.15em;
}
.tvs-ls-banner-attr {
  font-size: 12px; font-weight: 700; letter-spacing: .24em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 36px;
}
.tvs-ls-banner-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 38px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 800;
  letter-spacing: .22em; text-transform: uppercase;
  background: var(--gold); color: var(--plum) !important;
  position: relative; overflow: hidden; transition: color .35s;
}
.tvs-ls-banner-btn::after {
  content: ''; position: absolute; inset: 0;
  background: var(--gold-b); transform: translateX(-102%);
  transition: transform .42s var(--ease);
}
.tvs-ls-banner-btn:hover::after { transform: translateX(0); }
.tvs-ls-banner-btn > * { position: relative; z-index: 1; }


/* ── Responsive ── */
@media (max-width: 860px) {
  .tvs-ls-panel { grid-template-columns: 1fr; min-height: auto; }
  .tvs-ls-img   { min-height: 320px; order: -1 !important; }
  .tvs-ls-text  { order: 1 !important; padding: 48px 28px; }
  .tvs-ls-img-sep { display: none; }
  .tvs-ls-text::before { display: none; }
}
@media (max-width: 540px) {
  .tvs-ls-head { padding: 72px 20px 48px; }
  .tvs-ls-img  { min-height: 260px; }
  .tvs-ls-text { padding: 36px 20px; }
  .tvs-ls-text-title { font-size: clamp(1.8rem, 7vw, 2.4rem); }
  .tvs-ls-banner { min-height: 380px; }
  .tvs-ls-banner-quote { font-size: clamp(1.4rem, 6vw, 2rem); }
}

/* Reveal */
.tvs-ls-rv {
  opacity: 0; transform: translateY(28px);
  transition: opacity .85s ease, transform .85s ease;
}
.tvs-ls-rv-l {
  opacity: 0; transform: translateX(-32px);
  transition: opacity .85s ease, transform .85s ease;
}
.tvs-ls-rv-r {
  opacity: 0; transform: translateX(32px);
  transition: opacity .85s ease, transform .85s ease;
}
.tvs-ls-in { opacity: 1 !important; transform: none !important; }
.tvs-ls-d1 { transition-delay: .1s; }
.tvs-ls-d2 { transition-delay: .2s; }
.tvs-ls-d3 { transition-delay: .3s; }

/* ================================================================
   VIDEO SECTION
   ================================================================ */
.tvs-vp {
  --gold:      #C9A84C;
  --gold-b:    #E8C96A;
  --plum:      #130320;
  --plum-dark: #0D0118;
  --plum-mid:  #200438;
  --cream:     #F5EDD8;
  --cream-2:   #E0D0A8;
  --cream-3:   #BCA878;
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);

  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--plum-mid);
  padding: 100px 0;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  position: relative;
}
.tvs-vp *, .tvs-vp *::before, .tvs-vp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.tvs-vp a { text-decoration: none; color: inherit; }

/* Radial bg glow */
.tvs-vp::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(45,8,69,.6) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 50%, rgba(13,1,24,.5) 0%, transparent 55%);
  pointer-events: none;
}

/* ── Section header ── */
.tvs-vp-head {
  max-width: 1200px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px);
  text-align: center; margin-bottom: 56px;
  position: relative; z-index: 1;
}
.tvs-vp-eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: .44em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.tvs-vp-eyebrow::before,
.tvs-vp-eyebrow::after { content: ''; width: 32px; height: 1.5px; background: var(--gold); }
.tvs-vp-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  font-weight: 900; line-height: 1.08; color: var(--cream);
  margin-bottom: 14px;
}
.tvs-vp-title em { font-style: italic; color: var(--gold-b); }
.tvs-vp-sub {
  font-size: 16px; color: var(--cream-3);
  line-height: 1.8; max-width: 560px; margin: 0 auto;
}


/* ── Video thumbnail card ── */
.tvs-vp-card-wrap {
  max-width: 960px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px);
  position: relative; z-index: 1;
}

.tvs-vp-card {
  position: relative;
  border: 1px solid rgba(201,168,76,.2);
  overflow: hidden;
  cursor: pointer;
  display: block;
  /* 16:9 aspect ratio */
  aspect-ratio: 16 / 9;
  background: var(--plum-dark);
  box-shadow:
    0 24px 80px rgba(0,0,0,.6),
    0 0 0 1px rgba(201,168,76,.12);
  transition: box-shadow .4s ease, transform .4s var(--ease);
}
.tvs-vp-card:hover {
  box-shadow:
    0 32px 100px rgba(0,0,0,.7),
    0 0 0 1px rgba(201,168,76,.35);
  transform: translateY(-4px);
}

/* Gold corner accents */
.tvs-vp-card::before {
  content: '';
  position: absolute; top: 16px; left: 16px;
  width: 40px; height: 40px;
  border-top: 2px solid var(--gold); border-left: 2px solid var(--gold);
  z-index: 3; pointer-events: none; transition: opacity .4s;
}
.tvs-vp-card::after {
  content: '';
  position: absolute; bottom: 16px; right: 16px;
  width: 40px; height: 40px;
  border-bottom: 2px solid var(--gold); border-right: 2px solid var(--gold);
  z-index: 3; pointer-events: none; transition: opacity .4s;
}

/* Thumbnail image */
.tvs-vp-thumb {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(.75) saturate(.85) contrast(1.05);
  transition: transform .9s var(--ease), filter .9s ease;
}
.tvs-vp-card:hover .tvs-vp-thumb {
  transform: scale(1.04);
  filter: brightness(.65) saturate(.9) contrast(1.05);
}

/* Dark overlay */
.tvs-vp-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse at center, rgba(8,0,20,.45) 0%, rgba(4,0,12,.72) 100%);
  transition: background .4s;
}
.tvs-vp-card:hover .tvs-vp-overlay {
  background: radial-gradient(ellipse at center, rgba(8,0,20,.55) 0%, rgba(4,0,12,.82) 100%);
}

/* Gold shimmer sweep on hover */
.tvs-vp-shimmer {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(105deg,
    transparent 40%,
    rgba(201,168,76,.06) 50%,
    transparent 60%
  );
  transform: translateX(-100%);
  transition: transform .7s var(--ease);
}
.tvs-vp-card:hover .tvs-vp-shimmer { transform: translateX(100%); }

/* ── Play button ── */
.tvs-vp-play {
  position: absolute; inset: 0; z-index: 4;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 18px;
}

.tvs-vp-play-btn {
  width: 88px; height: 88px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 2px solid rgba(201,168,76,.6);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 30px;
  position: relative;
  transition: background .35s, border-color .35s, transform .35s var(--ease);
}
/* Play icon offset for visual centre */
.tvs-vp-play-btn i { margin-left: 5px; }

.tvs-vp-card:hover .tvs-vp-play-btn {
  background: rgba(201,168,76,.25);
  border-color: var(--gold-b);
  transform: scale(1.1);
}

/* Pulse rings */
.tvs-vp-play-btn::before,
.tvs-vp-play-btn::after {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(201,168,76,.4);
  animation: tvs-vp-ring 2.8s ease-out infinite;
}
.tvs-vp-play-btn::after { animation-delay: 1.4s; }
@keyframes tvs-vp-ring {
  0%   { transform: scale(1);   opacity: .7; }
  100% { transform: scale(2.2); opacity: 0;  }
}

.tvs-vp-play-label {
  font-size: 11px; font-weight: 800;
  letter-spacing: .3em; text-transform: uppercase;
  color: rgba(245,237,216,.75);
  background: rgba(8,0,20,.55);
  backdrop-filter: blur(6px);
  padding: 7px 18px;
  border: 1px solid rgba(201,168,76,.2);
  transition: color .3s, border-color .3s;
}
.tvs-vp-card:hover .tvs-vp-play-label {
  color: var(--gold-b); border-color: rgba(201,168,76,.45);
}

/* Duration badge — bottom left */
.tvs-vp-duration {
  position: absolute; bottom: 20px; left: 20px; z-index: 5;
  background: rgba(8,0,20,.8);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201,168,76,.2);
  padding: 5px 12px;
  font-size: 12px; font-weight: 700; color: var(--cream-2);
  display: flex; align-items: center; gap: 6px;
}
.tvs-vp-duration i { color: var(--gold); font-size: 11px; }

/* Quality badge — bottom right */
.tvs-vp-quality {
  position: absolute; bottom: 20px; right: 20px; z-index: 5;
  background: rgba(201,168,76,.15);
  border: 1px solid rgba(201,168,76,.3);
  padding: 5px 12px;
  font-size: 11px; font-weight: 800;
  letter-spacing: .1em; color: var(--gold);
}


/* ── Below card — feature strip ── */
.tvs-vp-strip {
  max-width: 960px; margin: 32px auto 0;
  padding: 0 clamp(20px,5vw,64px);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; position: relative; z-index: 1;
}
.tvs-vp-strip-item {
  display: flex; align-items: center; gap: 12px;
  padding: 18px 24px;
  background: rgba(13,1,24,.5);
  border: 1px solid rgba(201,168,76,.1);
  transition: background .3s, border-color .3s;
}
.tvs-vp-strip-item:hover { background: rgba(45,8,69,.4); border-color: rgba(201,168,76,.28); }
.tvs-vp-strip-icon {
  width: 42px; height: 42px; flex-shrink: 0;
  background: rgba(201,168,76,.1); border: 1px solid rgba(201,168,76,.22);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; color: var(--gold);
  transition: transform .3s var(--ease);
}
.tvs-vp-strip-item:hover .tvs-vp-strip-icon { transform: scale(1.1) rotate(5deg); }
.tvs-vp-strip-label { font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: 3px; }
.tvs-vp-strip-val   { font-size: 13.5px; font-weight: 600; color: var(--cream-2); }


/* ════════════════════════════════════════
   LIGHTBOX
   ════════════════════════════════════════ */
#tvs-vp-lightbox {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(2,0,8,.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex; align-items: center; justify-content: center;
  padding: clamp(16px,4vw,48px);
  opacity: 0; pointer-events: none;
  transition: opacity .4s ease;
}
#tvs-vp-lightbox.tvs-vp-lb-open {
  opacity: 1; pointer-events: all;
}

.tvs-vp-lb-inner {
  width: 100%; max-width: 1100px;
  position: relative;
  transform: scale(.92) translateY(20px);
  transition: transform .45s var(--ease);
}
#tvs-vp-lightbox.tvs-vp-lb-open .tvs-vp-lb-inner {
  transform: scale(1) translateY(0);
}

/* Gold top line */
.tvs-vp-lb-line {
  height: 2px;
  background: linear-gradient(to right, transparent, var(--gold), var(--gold-b), var(--gold), transparent);
  margin-bottom: 0;
}

/* Video wrapper — maintains 16:9 */
.tvs-vp-lb-video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
}
.tvs-vp-lb-video-wrap iframe,
.tvs-vp-lb-video-wrap video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none;
}

/* Close button */
.tvs-vp-lb-close {
  position: absolute;
  top: -52px; right: 0;
  width: 44px; height: 44px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(201,168,76,.35);
  color: var(--cream); font-size: 18px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background .22s, border-color .22s;
}
.tvs-vp-lb-close:hover { background: rgba(201,168,76,.2); border-color: var(--gold); }

/* Lightbox caption */
.tvs-vp-lb-caption {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0 0;
}
.tvs-vp-lb-caption-left {
  font-size: 13px; color: var(--cream-3);
}
.tvs-vp-lb-caption-left strong { color: var(--gold-b); font-weight: 700; }
.tvs-vp-lb-shop {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11.5px; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold);
  border-bottom: 1px solid rgba(201,168,76,.35);
  padding-bottom: 2px; transition: color .22s, border-color .22s;
}
.tvs-vp-lb-shop:hover { color: var(--gold-b); border-color: var(--gold); }


/* ── Responsive ── */
@media (max-width: 768px) {
  .tvs-vp { padding: 72px 0; }
  .tvs-vp-play-btn { width: 70px; height: 70px; font-size: 24px; }
  .tvs-vp-strip { grid-template-columns: 1fr; }
  .tvs-vp-strip-item { padding: 14px 18px; }
  .tvs-vp-lb-close { top: -48px; }
}
@media (max-width: 480px) {
  .tvs-vp-play-btn { width: 58px; height: 58px; font-size: 20px; }
  .tvs-vp-play-label { font-size: 9.5px; letter-spacing: .22em; }
  .tvs-vp-lb-caption { flex-direction: column; gap: 10px; align-items: flex-start; }
}

/* Reveal */
.tvs-vp-rv {
  opacity: 0; transform: translateY(28px);
  transition: opacity .85s ease, transform .85s ease;
}
.tvs-vp-rv.tvs-vp-in { opacity: 1; transform: none; }
.tvs-vp-rv-d1 { transition-delay: .1s; }
.tvs-vp-rv-d2 { transition-delay: .22s; }
.tvs-vp-rv-d3 { transition-delay: .34s; }

/* ================================================================
   WHATSAPP WIDGET
   ================================================================ */
/* ── WhatsApp floating widget ── */
#tva-wa-wrap {
  position: fixed;
  bottom: 32px;
  left: 28px;
  z-index: 99990;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-family: 'Open Sans', sans-serif;
}

/* ── Main WhatsApp button ── */
#tva-wa-btn {
  width: 60px;
  height: 60px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  box-shadow:
    0 4px 20px rgba(37,211,102,.45),
    0 2px 8px rgba(0,0,0,.25);
  transition: transform .3s cubic-bezier(0.34,1.56,0.64,1),
              box-shadow .3s ease;
  position: relative;
  text-decoration: none;
}
#tva-wa-btn:hover {
  transform: scale(1.12);
  box-shadow:
    0 6px 28px rgba(37,211,102,.6),
    0 4px 14px rgba(0,0,0,.3);
}
#tva-wa-btn svg {
  width: 32px;
  height: 32px;
  fill: #fff;
  transition: transform .3s ease;
}
#tva-wa-btn:hover svg { transform: rotate(-8deg) scale(1.08); }

/* Pulse ring animation */
#tva-wa-btn::before,
#tva-wa-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(37,211,102,.35);
  animation: tva-wa-pulse 2.4s ease-out infinite;
}
#tva-wa-btn::after { animation-delay: 1.2s; }
@keyframes tva-wa-pulse {
  0%   { transform: scale(1);   opacity: .7; }
  100% { transform: scale(2.2); opacity: 0;  }
}

/* Notification dot */
.tva-wa-dot {
  position: absolute;
  top: 2px; right: 2px;
  width: 14px; height: 14px;
  background: #ff3b3b;
  border-radius: 50%;
  border: 2px solid #fff;
  animation: tva-dot-bounce 1.8s ease infinite;
}
@keyframes tva-dot-bounce {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.25); }
}

/* Tooltip label beside button */
.tva-wa-label {
  position: absolute;
  left: 72px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  color: #111;
  font-size: 12.5px;
  font-weight: 700;
  padding: 7px 14px;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 4px 18px rgba(0,0,0,.18);
  pointer-events: none;
  opacity: 0;
  transform: translateY(-50%) translateX(-8px);
  transition: opacity .28s ease, transform .28s ease;
}
.tva-wa-label::before {
  content: '';
  position: absolute;
  left: -7px; top: 50%;
  transform: translateY(-50%);
  border: 7px solid transparent;
  border-right-color: #fff;
  border-left: none;
}
#tva-wa-btn:hover + .tva-wa-label,
#tva-wa-btn:focus + .tva-wa-label {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}


/* ── Popup chat card ── */
#tva-wa-popup {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 48px rgba(0,0,0,.22), 0 2px 12px rgba(0,0,0,.12);
  width: 300px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(16px) scale(.95);
  pointer-events: none;
  transition: opacity .38s cubic-bezier(0.34,1.56,0.64,1),
              transform .38s cubic-bezier(0.34,1.56,0.64,1);
  position: relative;
}
#tva-wa-popup.tva-wa-show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}

/* Header strip */
.tva-wa-popup-head {
  background: #075E54;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.tva-wa-popup-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #25D366;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  border: 2px solid rgba(255,255,255,.2);
  overflow: hidden;
}
.tva-wa-popup-avatar img {
  width: 100%; height: 100%;
  object-fit: cover; border-radius: 50%;
}
.tva-wa-popup-info {}
.tva-wa-popup-name {
  font-size: 14px; font-weight: 700; color: #fff;
  margin-bottom: 2px;
}
.tva-wa-popup-status {
  font-size: 11.5px; color: rgba(255,255,255,.65);
  display: flex; align-items: center; gap: 5px;
}
.tva-wa-online-dot {
  width: 7px; height: 7px;
  background: #25D366; border-radius: 50%;
  animation: tva-dot-bounce 1.8s ease infinite;
}
.tva-wa-popup-close {
  margin-left: auto; cursor: pointer;
  background: rgba(255,255,255,.15);
  border: none; border-radius: 50%;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 14px;
  transition: background .2s;
  flex-shrink: 0;
}
.tva-wa-popup-close:hover { background: rgba(255,255,255,.28); }

/* Chat body */
.tva-wa-popup-body {
  padding: 16px 16px 6px;
  background: #ECE5DD;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M0 0h80v80H0z' fill='none'/%3E%3Ccircle cx='40' cy='40' r='1' fill='%23ccc' opacity='.4'/%3E%3C/svg%3E");
}

/* Chat bubble */
.tva-wa-bubble {
  background: #fff;
  border-radius: 0 10px 10px 10px;
  padding: 10px 14px;
  font-size: 13.5px;
  color: #333;
  line-height: 1.55;
  max-width: 90%;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
  position: relative;
  display: inline-block;
  animation: tva-bubble-in .45s ease;
}
@keyframes tva-bubble-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
/* Tail */
.tva-wa-bubble::before {
  content: '';
  position: absolute;
  top: 0; left: -8px;
  border: 8px solid transparent;
  border-right-color: #fff;
  border-top-color: #fff;
  border-radius: 2px 0 0 0;
}
.tva-wa-bubble-time {
  font-size: 10px; color: #999;
  text-align: right; margin-top: 4px;
}

/* Typing indicator bubble */
.tva-wa-typing {
  background: #fff;
  border-radius: 0 10px 10px 10px;
  padding: 10px 16px;
  display: inline-flex; align-items: center; gap: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
  margin-bottom: 8px;
  animation: tva-bubble-in .3s ease;
}
.tva-wa-typing span {
  width: 7px; height: 7px;
  background: #999; border-radius: 50%;
  animation: tva-typing-dot 1.2s ease infinite;
}
.tva-wa-typing span:nth-child(2) { animation-delay: .2s; }
.tva-wa-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes tva-typing-dot {
  0%,80%,100% { transform: scale(.6); opacity: .4; }
  40%         { transform: scale(1);  opacity: 1;   }
}

/* CTA button */
.tva-wa-popup-foot {
  padding: 12px 16px 16px;
  background: #ECE5DD;
}
.tva-wa-chat-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 13px;
  background: #25D366;
  color: #fff !important; text-decoration: none !important;
  border-radius: 8px;
  font-size: 13.5px; font-weight: 700;
  letter-spacing: .04em;
  box-shadow: 0 2px 10px rgba(37,211,102,.35);
  transition: background .22s, transform .22s;
}
.tva-wa-chat-btn:hover {
  background: #1ebe5d;
  transform: translateY(-1px);
}
.tva-wa-chat-btn svg {
  width: 18px; height: 18px; fill: #fff; flex-shrink: 0;
}

/* Privacy note */
.tva-wa-privacy {
  text-align: center;
  font-size: 10.5px; color: #999; margin-top: 8px;
}
.tva-wa-privacy i { font-size: 10px; }

/* ── Responsive ── */
@media (max-width: 480px) {
  #tva-wa-wrap { bottom: 20px; left: 16px; }
  #tva-wa-btn  { width: 54px; height: 54px; }
  #tva-wa-btn svg { width: 28px; height: 28px; }
  #tva-wa-popup { width: calc(100vw - 32px); max-width: 300px; }
}
/* ================================================================
   HERO SLIDER (tvh classes)
   ================================================================ */
.tvh *,.tvh *::before,.tvh *::after{box-sizing:border-box;margin:0;padding:0;}
.tvh a{text-decoration:none;color:inherit;}
.tvh button{cursor:pointer;border:none;background:none;font-family:inherit;}
.tvh{--bg:#120008;--bg-2:#1E000E;--gold:#C9A84C;--gold-bright:#E8C96A;--cream:#F5EDD8;--cream-dim:#D4B896;--ease:cubic-bezier(.25,.46,.45,.94);position:relative;width:100vw;height:78vh;min-height:520px;max-height:820px;overflow:hidden;font-family:'Open Sans',sans-serif;margin-left:calc(-50vw + 50%);background:var(--bg);background-image:radial-gradient(ellipse at 25% 50%,rgba(90,0,30,.55) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(60,0,20,.4) 0%,transparent 55%),radial-gradient(ellipse at 60% 90%,rgba(40,0,15,.5) 0%,transparent 50%);}
.tvh-slides{position:absolute;inset:0;z-index:2;}
.tvh-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;opacity:0;pointer-events:none;transition:opacity 1s ease;}
.tvh-slide.tvh-on{opacity:1;pointer-events:all;z-index:3;}
.tvh-left{padding:60px 6vw 60px 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;}
.tvh-num{position:absolute;bottom:-20px;left:7vw;font-family:'Playfair Display',serif;font-size:clamp(120px,20vw,280px);font-weight:900;line-height:1;color:rgba(201,168,76,.045);pointer-events:none;user-select:none;z-index:0;}
.tvh-tag{display:inline-flex;align-items:center;gap:12px;font-size:10.5px;font-weight:800;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;position:relative;z-index:1;opacity:0;transform:translateX(-18px);transition:opacity .65s .15s ease,transform .65s .15s ease;}
.tvh-tag::before{content:'';width:36px;height:2px;background:var(--gold);flex-shrink:0;}
.tvh-slide.tvh-on .tvh-tag{opacity:1;transform:translateX(0);}
.tvh-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.5vw,5.8rem);font-weight:900;line-height:1.02;color:#fff;margin-bottom:4px;position:relative;z-index:1;opacity:0;transform:translateX(-24px);transition:opacity .7s .28s ease,transform .7s .28s ease;}
.tvh-slide.tvh-on .tvh-title{opacity:1;transform:translateX(0);}
.tvh-sub{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,3rem);font-style:italic;font-weight:700;color:var(--gold-bright);margin-bottom:26px;position:relative;z-index:1;opacity:0;transform:translateX(-20px);transition:opacity .7s .4s ease,transform .7s .4s ease;}
.tvh-slide.tvh-on .tvh-sub{opacity:1;transform:translateX(0);}
.tvh-desc{font-size:clamp(13px,1.3vw,15px);color:var(--cream-dim);line-height:1.9;max-width:400px;margin-bottom:18px;position:relative;z-index:1;opacity:0;transform:translateX(-16px);transition:opacity .7s .5s ease,transform .7s .5s ease;}
.tvh-slide.tvh-on .tvh-desc{opacity:1;transform:translateX(0);}
.tvh-price-row{display:flex;align-items:center;gap:16px;margin-bottom:32px;position:relative;z-index:1;opacity:0;transform:translateX(-14px);transition:opacity .7s .58s ease,transform .7s .58s ease;}
.tvh-slide.tvh-on .tvh-price-row{opacity:1;transform:translateX(0);}
.tvh-price{font-size:2rem;font-weight:900;color:var(--gold-bright);}
.tvh-price-orig{font-size:1rem;color:var(--cream-dim);text-decoration:line-through;opacity:.5;}
.tvh-price-badge{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);color:var(--gold);padding:4px 10px;}
.tvh-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:1;opacity:0;transform:translateX(-12px);transition:opacity .7s .68s ease,transform .7s .68s ease;}
.tvh-slide.tvh-on .tvh-ctas{opacity:1;transform:translateX(0);}
.tvh-btn-gold{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:#120008!important;text-decoration:none!important;position:relative;overflow:hidden;transition:color .32s;}
.tvh-btn-gold::after{content:'';position:absolute;inset:0;background:var(--gold-bright);transform:translateX(-102%);transition:transform .38s var(--ease);}
.tvh-btn-gold:hover::after{transform:translateX(0);}
.tvh-btn-gold span{position:relative;z-index:1;}
.tvh-btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;border:1.5px solid rgba(201,168,76,.4);color:var(--cream)!important;text-decoration:none!important;position:relative;overflow:hidden;transition:border-color .32s,color .32s;}
.tvh-btn-ghost::after{content:'';position:absolute;inset:0;background:rgba(201,168,76,.1);transform:translateX(-102%);transition:transform .38s var(--ease);}
.tvh-btn-ghost:hover::after{transform:translateX(0);}
.tvh-btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)!important;}
.tvh-btn-ghost span{position:relative;z-index:1;}
.tvh-divider{width:1px;height:70%;align-self:center;background:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,.6) 20%,rgba(232,201,106,.9) 50%,rgba(201,168,76,.6) 80%,transparent 100%);position:relative;}
.tvh-divider::before{content:'\25C6';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--gold);background:var(--bg-2);padding:6px 2px;line-height:1;}
.tvh-right{display:flex;align-items:center;justify-content:center;padding:40px 6vw 40px 5vw;position:relative;}
.tvh-card{position:relative;width:100%;max-width:380px;opacity:0;transform:translateY(20px) scale(.97);transition:opacity .85s .2s ease,transform .85s .2s var(--ease);}
.tvh-slide.tvh-on .tvh-card{opacity:1;transform:translateY(0) scale(1);}
.tvh-card::before{content:'';position:absolute;inset:-30px;background:radial-gradient(ellipse at center,rgba(201,168,76,.12) 0%,transparent 70%);pointer-events:none;z-index:0;}
.tvh-img-box{position:relative;width:100%;aspect-ratio:3/4;background:linear-gradient(145deg,rgba(42,0,18,.8) 0%,rgba(18,0,8,.95) 100%);border:1px solid rgba(201,168,76,.18);overflow:hidden;z-index:1;}
.tvh-img-box img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:20px;transition:transform .9s var(--ease);filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));}
.tvh-slide.tvh-on .tvh-img-box img{transform:scale(1.02);}
.tvh-img-box::before{content:'';position:absolute;top:10px;left:10px;width:36px;height:36px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);z-index:2;pointer-events:none;}
.tvh-img-box::after{content:'';position:absolute;bottom:10px;right:10px;width:36px;height:36px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);z-index:2;pointer-events:none;}
.tvh-card-price{position:absolute;bottom:-16px;left:-16px;z-index:3;background:var(--gold);color:#120008;font-size:13px;font-weight:900;padding:10px 20px;box-shadow:0 8px 24px rgba(0,0,0,.5);}
.tvh-dots-bar{position:absolute;bottom:0;left:0;right:0;height:3px;z-index:10;background:rgba(201,168,76,.12);display:flex;}
.tvh-dot-seg{flex:1;height:100%;cursor:pointer;position:relative;overflow:hidden;}
.tvh-dot-seg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--gold),var(--gold-bright));transform:scaleX(0);transform-origin:left;}
.tvh-dot-seg.tvh-dot-on::after{transform:scaleX(1);transition:transform 5s linear;}
.tvh-counter{position:absolute;top:32px;left:8vw;z-index:10;display:flex;align-items:baseline;gap:8px;}
.tvh-count-now{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;color:var(--gold);}
.tvh-count-sep{width:28px;height:1px;background:rgba(201,168,76,.4);align-self:center;}
.tvh-count-total{font-size:12px;color:var(--cream-dim);opacity:.55;}
.tvh-arrows{position:absolute;right:4vw;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:8px;}
.tvh-arrow{width:46px;height:46px;border:1.5px solid rgba(201,168,76,.32);color:var(--gold);font-size:14px;display:flex;align-items:center;justify-content:center;background:rgba(18,0,8,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .22s,border-color .22s,color .22s;}
.tvh-arrow:hover{background:var(--gold);border-color:var(--gold);color:#120008;}
.tvh-scroll{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;animation:tvh-pulse 2.4s ease infinite;}
.tvh-mouse{width:24px;height:38px;border:1.5px solid rgba(201,168,76,.6);border-radius:12px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;}
.tvh-wheel{width:3px;height:7px;background:var(--gold);border-radius:2px;animation:tvh-wheel 2.4s ease infinite;}
.tvh-scroll-lbl{font-size:8px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);opacity:.65;}
@keyframes tvh-pulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes tvh-wheel{0%{transform:translateY(0);opacity:1}60%{transform:translateY(9px);opacity:0}61%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:1}}
@media(max-width:860px){.tvh{height:auto;min-height:100vh;max-height:none;}.tvh-slide{grid-template-columns:1fr;grid-template-rows:1fr auto;position:relative;inset:auto;}.tvh-slides{position:relative;}.tvh-slide:not(.tvh-on){display:none;}.tvh-divider{display:none;}.tvh-right{order:-1;padding:40px 20px 20px;}.tvh-card{max-width:260px;}.tvh-left{padding:24px 24px 60px;}.tvh-num,.tvh-arrows{display:none;}.tvh-counter{top:16px;left:20px;}}
@media(max-width:480px){.tvh-title{font-size:clamp(2.2rem,9vw,3.2rem);}.tvh-sub{font-size:clamp(1.2rem,5.5vw,1.8rem);}.tvh-desc{display:none;}.tvh-card{max-width:220px;}}

/* ================================================================
   PRODUCT CARDS — clean image + info panel below
   ================================================================ */
.tvs-pcard{position:relative;width:280px;height:auto;flex-shrink:0;overflow:hidden;background:#1a0230;border:1px solid rgba(201,168,76,.1);text-decoration:none!important;color:#F5EDD8!important;display:flex;flex-direction:column;transition:border-color .35s,transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s;}
.tvs-pcard:hover{border-color:rgba(201,168,76,.45);transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.45);}
.tvs-pcard-lg{width:340px!important;}
.tvs-pcard::before{content:'';position:absolute;top:10px;left:10px;width:22px;height:22px;border-top:1.5px solid #C9A84C;border-left:1.5px solid #C9A84C;background:none;z-index:5;opacity:0;transition:opacity .3s;}
.tvs-pcard::after{content:'';position:absolute;bottom:10px;right:10px;width:22px;height:22px;border-bottom:1.5px solid #C9A84C;border-right:1.5px solid #C9A84C;background:none;z-index:5;opacity:0;transition:opacity .3s;}
.tvs-pcard:hover::before,.tvs-pcard:hover::after{opacity:1;}
.tvs-pcard-img-box{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-pcard-img-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .85s cubic-bezier(.25,.46,.45,.94);filter:saturate(.92) brightness(.95);}
.tvs-pcard:hover .tvs-pcard-img-box img{transform:scale(1.07);}
.tvs-pcard-badge{position:absolute;top:12px;left:12px;z-index:3;background:#e74c3c;color:#fff;font-family:'Open Sans',sans-serif;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;}
.tvs-badge-best{left:auto!important;right:12px;background:#C9A84C!important;color:#130320!important;}
.tvs-pcard-overlay{position:relative;display:flex;flex-direction:column;padding:14px 16px 16px;flex:1;background:#1a0230;border-top:1px solid rgba(201,168,76,.12);}
.tvs-pcard:hover .tvs-pcard-overlay{background:#1e0135;}
.tvs-pcard-cat{font-family:'Open Sans',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-pcard-name{font-family:'Open Sans',sans-serif;font-size:13.5px;font-weight:700;line-height:1.35;color:#F5EDD8;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(13.5px * 1.35 * 2);}
.tvs-pcard-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(201,168,76,.12);}
.tvs-pcard-price-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;}
.tvs-pcard-price{font-family:'Open Sans',sans-serif;font-size:.98rem;font-weight:900;color:#E8C96A;white-space:nowrap;}
.tvs-price-original{font-family:'Open Sans',sans-serif;font-size:.78rem;font-weight:500;color:rgba(188,168,120,.5);text-decoration:line-through;white-space:nowrap;}
.tvs-price-save{font-family:'Open Sans',sans-serif;font-size:8.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#e74c3c;padding:2px 6px;white-space:nowrap;}
.tvs-pcard-btn{font-family:'Open Sans',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#130320;background:#C9A84C;border:none;padding:9px 14px;white-space:nowrap;flex-shrink:0;opacity:1;cursor:pointer;transition:background .22s;}
.tvs-pcard-btn:hover,.tvs-pcard:hover .tvs-pcard-btn{background:#E8C96A;}
@media(max-width:1199px){.tvs-pcard{width:256px;}.tvs-pcard-lg{width:310px!important;}}
@media(max-width:860px){.tvs-pcard{width:230px;}.tvs-pcard-lg{width:270px!important;}}
@media(max-width:640px){.tvs-pcard{width:195px;}.tvs-pcard-lg{width:235px!important;}}
@media(max-width:400px){.tvs-pcard{width:175px;}.tvs-pcard-lg{width:210px!important;}}

/* ================================================================
   GRID CARDS — product grid, new arrivals, sale, gifting, related
   ================================================================ */
.tvs-pg-section{width:100vw;margin-left:calc(-50vw + 50%);background:#0D0118;padding:80px clamp(20px,5vw,64px);}
.tvs-pg-head{text-align:center;margin-bottom:48px;}
.tvs-pg-grid{max-width:1320px;margin:0 auto;display:grid;gap:16px;align-items:stretch;}
.tvs-pg-cols-4{grid-template-columns:repeat(4,1fr);}
.tvs-pg-cols-3{grid-template-columns:repeat(3,1fr);}
.tvs-pg-cols-2{grid-template-columns:repeat(2,1fr);}
.tvs-pg-card{display:flex;flex-direction:column;background:#1a0230;border:1px solid rgba(201,168,76,.1);overflow:hidden;text-decoration:none!important;color:#F5EDD8!important;transition:border-color .35s,transform .35s;}
.tvs-pg-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-5px);}
.tvs-pg-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-pg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.92) brightness(.92);transition:transform .75s;}
.tvs-pg-card:hover .tvs-pg-img{transform:scale(1.07);}
.tvs-pg-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px;background:#1a0230;}
.tvs-pg-cta-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;padding:10px;background:#C9A84C;color:#130320;font-family:'Open Sans',sans-serif;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .22s;}
.tvs-pg-card:hover .tvs-pg-cta-btn{background:#E8C96A;}
.tvs-pg-cta{text-align:center;margin-top:40px;}

/* New Arrivals */
.tvs-na-section{width:100vw;margin-left:calc(-50vw + 50%);background:#0D0118;padding:80px clamp(20px,5vw,64px);}
.tvs-na-head{max-width:1320px;margin:0 auto 48px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.tvs-na-head-right{display:flex;align-items:center;gap:16px;}
.tvs-na-live-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);padding:7px 14px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#C9A84C;}
.tvs-na-live-badge i{font-size:8px;color:#5cb85c;animation:tvs-live-pulse 1.8s ease infinite;}
@keyframes tvs-live-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.tvs-na-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch;}
.tvs-na-card{display:flex;flex-direction:column;background:#1a0230;border:1px solid rgba(201,168,76,.1);overflow:hidden;text-decoration:none!important;color:#F5EDD8!important;transition:border-color .35s,transform .35s;}
.tvs-na-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-5px);}
.tvs-na-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-na-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.92) brightness(.92);transition:transform .75s;}
.tvs-na-card:hover .tvs-na-img{transform:scale(1.07);}
.tvs-na-badge{position:absolute;top:12px;left:12px;z-index:3;background:#C9A84C;color:#130320;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;display:inline-flex;align-items:center;gap:4px;}
.tvs-na-badge-sale{background:#e74c3c!important;color:#fff!important;}
.tvs-na-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px;}
.tvs-na-name{font-family:'Open Sans',sans-serif;font-size:13.5px;font-weight:700;color:#F5EDD8;line-height:1.4;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(13.5px * 1.4 * 2);}
.tvs-na-price-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid rgba(201,168,76,.12);margin-bottom:10px;}
.tvs-na-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;background:#C9A84C;color:#130320;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .22s;}
.tvs-na-card:hover .tvs-na-cta{background:#E8C96A;}

/* Sale Products */
.tvs-sale-section{width:100vw;margin-left:calc(-50vw + 50%);background:#0D0118;padding:80px clamp(20px,5vw,64px);}
.tvs-sale-head{max-width:1320px;margin:0 auto 48px;}
.tvs-sale-head-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.tvs-sale-flash{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.tvs-sale-flash-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#C9A84C,#E8C96A);color:#130320;padding:10px 20px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.tvs-sale-grid{max-width:1320px;margin:0 auto;display:grid;gap:16px;align-items:stretch;}
.tvs-sale-card{display:flex;flex-direction:column;background:#1a0230;border:1px solid rgba(201,168,76,.1);overflow:hidden;text-decoration:none!important;color:#F5EDD8!important;transition:border-color .35s,transform .35s;}
.tvs-sale-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-5px);}
.tvs-sale-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-sale-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) brightness(.88);transition:transform .75s;}
.tvs-sale-card:hover .tvs-sale-img{transform:scale(1.07);}
.tvs-sale-pct-badge{position:absolute;top:12px;left:12px;z-index:2;background:#e74c3c;color:#fff;font-size:11px;font-weight:900;letter-spacing:.1em;padding:5px 12px;}
.tvs-sale-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px;}
.tvs-sale-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:#F5EDD8;margin:6px 0 10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tvs-sale-pricing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid rgba(201,168,76,.1);margin-bottom:6px;}
.tvs-sale-saving{font-size:12px;color:#5cb85c;margin-bottom:10px;}
.tvs-sale-saving strong{font-weight:800;}
.tvs-sale-atc{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#C9A84C;color:#130320;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .22s;}
.tvs-sale-card:hover .tvs-sale-atc{background:#E8C96A;}

/* Gifting Section */
.tvs-gift-section{width:100vw;margin-left:calc(-50vw + 50%);background:#0D0118;padding:80px clamp(20px,5vw,64px);}
.tvs-gift-head{text-align:center;max-width:720px;margin:0 auto 48px;}
.tvs-gift-sub{font-size:15px;color:#BCA878;line-height:1.8;margin:14px 0 24px;}
.tvs-gift-occasions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.tvs-gift-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.22);padding:8px 16px;font-family:'Open Sans',sans-serif;font-size:12.5px;font-weight:600;color:#E0D0A8;transition:background .25s,border-color .25s;}
.tvs-gift-pill:hover{background:rgba(201,168,76,.18);border-color:rgba(201,168,76,.5);}
.tvs-gift-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.tvs-gift-card{display:flex;flex-direction:column;background:#1a0230;border:1px solid rgba(201,168,76,.1);overflow:hidden;text-decoration:none!important;color:#F5EDD8!important;transition:border-color .35s,transform .35s,box-shadow .35s;}
.tvs-gift-card:hover{border-color:rgba(201,168,76,.5);transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.45);}
.tvs-gift-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-gift-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.92) brightness(.92);transition:transform .75s;}
.tvs-gift-card:hover .tvs-gift-img{transform:scale(1.07);}
.tvs-gift-badge{position:absolute;top:12px;left:12px;z-index:3;background:rgba(201,168,76,.92);color:#130320;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;display:inline-flex;align-items:center;gap:4px;}
.tvs-gift-sale-badge{position:absolute;top:12px;right:12px;z-index:3;background:#e74c3c;color:#fff;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;}
.tvs-gift-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px;}
.tvs-gift-cat{font-family:'Open Sans',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#C9A84C;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvs-gift-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:800;color:#F5EDD8;line-height:1.35;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.05rem * 1.35 * 2);}
.tvs-gift-price-row{margin-top:auto;padding-top:10px;border-top:1px solid rgba(201,168,76,.12);margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.tvs-gift-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;background:#C9A84C;color:#130320;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .22s;}
.tvs-gift-card:hover .tvs-gift-cta-btn{background:#E8C96A;}
.tvs-gift-bottom{max-width:1320px;margin:36px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(201,168,76,.15);}
.tvs-gift-promise{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.tvs-gift-promise-item{display:flex;align-items:center;gap:8px;font-family:'Open Sans',sans-serif;font-size:13px;font-weight:600;color:#BCA878;}
.tvs-gift-promise-item i{color:#C9A84C;font-size:15px;}

/* Related Row */
.tvs-related-row-section{width:100vw;margin-left:calc(-50vw + 50%);background:#0D0118;padding:80px clamp(20px,5vw,64px);border-top:1px solid rgba(201,168,76,.1);}
.tvs-rr-head{max-width:1320px;margin:0 auto 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.tvs-rr-grid{max-width:1320px;margin:0 auto;display:grid;gap:16px;align-items:stretch;}
.tvs-rr-card{display:flex;flex-direction:column;background:#1a0230;border:1px solid rgba(201,168,76,.1);overflow:hidden;text-decoration:none!important;color:#F5EDD8!important;transition:border-color .35s,transform .35s;}
.tvs-rr-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-5px);}
.tvs-rr-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#200438;flex-shrink:0;}
.tvs-rr-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) brightness(.88);transition:transform .75s;}
.tvs-rr-card:hover .tvs-rr-img{transform:scale(1.07);}
.tvs-rr-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px;}
.tvs-rr-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:#F5EDD8;margin:6px 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tvs-rr-rating{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:#BCA878;}
.tvs-rr-price-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid rgba(201,168,76,.1);margin-bottom:10px;}
.tvs-rr-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#C9A84C;color:#130320;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:background .22s;}
.tvs-rr-card:hover .tvs-rr-btn{background:#E8C96A;}

/* Shared price classes */
.tvs-deal-price-now{font-family:'Open Sans',sans-serif;font-size:.95rem;font-weight:900;color:#E8C96A;display:inline;}
.tvs-deal-price-was{font-family:'Open Sans',sans-serif;font-size:.8rem;font-weight:500;color:rgba(188,168,120,.5);text-decoration:line-through;display:inline;}
.tvs-deal-discount{display:inline-flex;background:#e74c3c;color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em;padding:2px 8px;vertical-align:middle;margin-left:6px;}

/* Video lightbox */
.tvs-vp-lb{position:fixed;inset:0;z-index:999999;background:rgba(2,0,8,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);opacity:0;pointer-events:none;transition:opacity .4s ease;}
.tvs-vp-lb.tvs-vp-lb-open{opacity:1;pointer-events:all;}
.tvs-vp-lb-inner{width:100%;max-width:1100px;position:relative;transform:scale(.92) translateY(20px);transition:transform .45s cubic-bezier(.25,.46,.45,.94);}
.tvs-vp-lb.tvs-vp-lb-open .tvs-vp-lb-inner{transform:scale(1) translateY(0);}
.tvs-vp-lb-line{height:2px;background:linear-gradient(to right,transparent,#C9A84C,#E8C96A,#C9A84C,transparent);}
.tvs-vp-lb-video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;}
.tvs-vp-lb-video-wrap iframe,.tvs-vp-lb-video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:none;}
.tvs-vp-lb-close{position:absolute;top:-52px;right:0;width:44px;height:44px;background:rgba(255,255,255,.1);border:1px solid rgba(201,168,76,.35);color:#F5EDD8;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .22s;}
.tvs-vp-lb-close:hover{background:rgba(201,168,76,.2);}
.tvs-vp-lb-caption{display:flex;align-items:center;justify-content:space-between;padding:14px 0 0;flex-wrap:wrap;gap:12px;}
.tvs-vp-lb-caption p{font-size:13px;color:#BCA878;}
.tvs-vp-lb-caption strong{color:#E8C96A;}
.tvs-vp-lb-shop{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#C9A84C;text-decoration:none;border-bottom:1px solid rgba(201,168,76,.35);padding-bottom:2px;}
.tvs-vp-lb-shop:hover{color:#E8C96A;}

/* Shared buttons */
.tvs-btn-outline{display:inline-flex;align-items:center;gap:10px;padding:13px 30px;font-family:'Open Sans',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;border:1.5px solid rgba(201,168,76,.4);color:#F5EDD8!important;text-decoration:none!important;position:relative;overflow:hidden;transition:border-color .3s,color .3s;}
.tvs-btn-outline::after{content:'';position:absolute;inset:0;background:rgba(201,168,76,.1);transform:translateX(-102%);transition:transform .38s;}
.tvs-btn-outline:hover::after{transform:translateX(0);}
.tvs-btn-outline:hover{border-color:#C9A84C;color:#E8C96A!important;}
.tvs-btn-outline span{position:relative;z-index:1;}
.tvs-btn-gold3{display:inline-flex;align-items:center;gap:10px;padding:15px 40px;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;background:#C9A84C;color:#130320!important;text-decoration:none!important;position:relative;overflow:hidden;transition:color .35s;}
.tvs-btn-gold3::after{content:'';position:absolute;inset:0;background:#E8C96A;transform:translateX(-102%);transition:transform .42s;}
.tvs-btn-gold3:hover::after{transform:translateX(0);}
.tvs-btn-gold3>*{position:relative;z-index:1;}

/* Shared section heading styles */
.tvs-prod-eyebrow{font-family:'Open Sans',sans-serif;font-size:11px;font-weight:800;letter-spacing:.36em;text-transform:uppercase;color:#C9A84C;margin-bottom:12px;}
.tvs-prod-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:#F5EDD8;line-height:1.1;margin-bottom:14px;}
.tvs-prod-title em{color:#E8C96A;font-style:italic;}
.tvs-prod-sub{font-family:'Open Sans',sans-serif;font-size:15px;color:#BCA878;line-height:1.75;}

/* Responsive grids */
@media(max-width:1199px){.tvs-pg-cols-4{grid-template-columns:repeat(3,1fr);}.tvs-na-grid{grid-template-columns:repeat(3,1fr);}.tvs-gift-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:1023px){.tvs-pg-cols-4,.tvs-pg-cols-3{grid-template-columns:repeat(2,1fr);}.tvs-na-grid,.tvs-sale-grid,.tvs-rr-grid{grid-template-columns:repeat(2,1fr);}.tvs-gift-grid{grid-template-columns:repeat(2,1fr);}.tvs-na-section,.tvs-sale-section,.tvs-gift-section,.tvs-related-row-section,.tvs-pg-section{padding:64px clamp(16px,4vw,48px);}}
@media(max-width:767px){.tvs-pg-cols-4,.tvs-pg-cols-3,.tvs-pg-cols-2,.tvs-na-grid,.tvs-sale-grid,.tvs-rr-grid,.tvs-gift-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.tvs-na-section,.tvs-sale-section,.tvs-gift-section,.tvs-related-row-section,.tvs-pg-section{padding:52px 16px;}.tvs-gift-bottom{flex-direction:column;align-items:flex-start;}.tvs-gift-promise{flex-direction:column;gap:12px;}.tvs-sale-head-inner{flex-direction:column;align-items:flex-start;}.tvs-rr-head{flex-direction:column;align-items:flex-start;}}
@media(max-width:479px){.tvs-pg-cols-4,.tvs-na-grid,.tvs-sale-grid,.tvs-rr-grid,.tvs-gift-grid{gap:8px;}.tvs-na-section,.tvs-sale-section,.tvs-gift-section,.tvs-related-row-section,.tvs-pg-section{padding:44px 12px;}.tvs-gift-body,.tvs-na-body,.tvs-sale-body,.tvs-rr-body,.tvs-pg-body{padding:10px 12px 12px;}}
