/* Trinity Tech Solutions — V354 Premium Storefront Layer
   Visual-only storefront upgrade. Intentionally does not touch checkout/payment logic. */
:root{
  --v354-bg:#030b16;
  --v354-panel:#071522;
  --v354-panel-2:#0a1d30;
  --v354-line:rgba(110,216,255,.14);
  --v354-line-strong:rgba(110,216,255,.28);
  --v354-cyan:#63ddff;
  --v354-blue:#2d82ff;
  --v354-gold:#f7c95b;
  --v354-gold-2:#ffe7a2;
  --v354-text:#f4f8ff;
  --v354-muted:#91a8be;
}

/* ---------- shared shell ---------- */
.tx-header{
  background:rgba(3,12,23,.86)!important;
  border-bottom:1px solid rgba(100,213,255,.12)!important;
  box-shadow:0 10px 38px rgba(0,0,0,.18);
}
.tx-mainnav a{color:#b7c9db!important}
.tx-mainnav a:hover,.tx-mainnav a.active{color:var(--v354-cyan)!important}
.tx-search{background:rgba(255,255,255,.055)!important;border-color:rgba(120,210,255,.14)!important}
.tx-search input{color:#eef8ff!important}
.tx-search input::placeholder{color:#7890a7!important}
.tx-search svg{color:#79a2bd!important}
.tx-cartbtn,.tx-iconbtn,.tx-menu{background:rgba(255,255,255,.055)!important;border-color:rgba(120,210,255,.16)!important;color:#eef8ff!important}
.tx-cartcount{background:linear-gradient(135deg,#1977ff,#57dcff)!important;box-shadow:0 0 18px rgba(83,215,255,.25)}
.tx-mobile{background:#061321!important;border-color:rgba(100,213,255,.12)!important}
.tx-mobile a{color:#d8e8f5!important}

/* subtle premium background for commerce surfaces */
body.tx-home-page,
body.tr-product-body,
body.tx-storefront-page{
  background:
    radial-gradient(circle at 8% 2%,rgba(45,130,255,.11),transparent 24%),
    radial-gradient(circle at 92% 12%,rgba(99,221,255,.07),transparent 22%),
    linear-gradient(180deg,#030b16 0%,#061321 48%,#030a13 100%)!important;
  color:var(--v354-text);
}
body.tx-home-page:before,
body.tr-product-body:before,
body.tx-storefront-page:before{display:none!important}

/* ---------- homepage ---------- */
.tx-home-page .tx-section:not(.tx-section-dark){
  background:transparent!important;
  color:var(--v354-text)!important;
}
.tx-home-page .tx-section-head p{color:var(--v354-muted)!important}
.tx-home-page .tx-section h2{color:#f6fbff!important}
.tx-home-page .tx-kicker{color:var(--v354-cyan)!important}
.tx-home-page .tx-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tx-home-page .tx-cat{
  background:linear-gradient(145deg,rgba(12,34,54,.94),rgba(5,20,34,.96))!important;
  border-color:var(--v354-line)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.18)!important;
}
.tx-home-page .tx-cat:hover{border-color:rgba(99,221,255,.34)!important;box-shadow:0 25px 65px rgba(0,0,0,.30)!important}
.tx-home-page .tx-cat h3{color:#f4f8ff!important}
.tx-home-page .tx-cat p{color:#91a8be!important}
.tx-home-page .tx-cat-icon{background:linear-gradient(145deg,rgba(45,130,255,.18),rgba(99,221,255,.08))!important;color:var(--v354-cyan)!important;border:1px solid rgba(99,221,255,.12)}
.tx-home-page .tx-product-grid{gap:18px}

/* homepage featured cards */
.tx-home-page .tx-product,
.tx-storefront-page .tx-product{
  background:linear-gradient(180deg,#0a1b2d 0%,#061321 100%)!important;
  border:1px solid rgba(112,211,255,.14)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}
.tx-home-page .tx-product:hover,
.tx-storefront-page .tx-product:hover{
  border-color:rgba(247,201,91,.42)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.34),0 0 0 1px rgba(247,201,91,.07)!important;
}
.tx-home-page .tx-media,
.tx-storefront-page .tx-media{
  height:252px!important;
  background:linear-gradient(145deg,#f9fcff 0%,#edf4fa 100%)!important;
  border-bottom:1px solid rgba(140,210,240,.12);
  padding:18px!important;
}
.tx-home-page .tx-media img,
.tx-storefront-page .tx-media img{
  mix-blend-mode:normal!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}
.tx-home-page .tx-product-body,
.tx-storefront-page .tx-product-body{background:transparent!important;padding:18px 18px 17px!important}
.tx-home-page .tx-product-cat,
.tx-storefront-page .tx-product-cat{color:#65dfff!important}
.tx-home-page .tx-product h3,
.tx-storefront-page .tx-product h3{color:#f4f8ff!important}
.tx-home-page .tx-spec,
.tx-storefront-page .tx-spec{background:rgba(255,255,255,.045)!important;border-color:rgba(130,200,230,.12)!important;color:#a8bdd0!important}
.tx-home-page .tx-price strong,
.tx-storefront-page .tx-price strong{color:var(--v354-gold)!important;text-shadow:0 0 18px rgba(247,201,91,.16)}
.tx-home-page .tx-old,
.tx-storefront-page .tx-old{color:#a0adbc!important;font-size:12px!important}
.tx-home-page .tx-save,
.tx-storefront-page .tx-save{background:linear-gradient(135deg,#f7c95b,#e4ad36)!important;color:#271b04!important}
.tx-home-page .tx-view,
.tx-storefront-page .tx-view{background:rgba(255,255,255,.045)!important;border-color:rgba(130,200,230,.15)!important;color:#eef8ff!important}
.tx-home-page .tx-view:hover,
.tx-storefront-page .tx-view:hover{border-color:rgba(247,201,91,.48)!important;color:#ffe8a5!important}
.tx-home-page .tx-badge.sale,
.tx-storefront-page .tx-badge.sale{background:linear-gradient(135deg,#ffe59b,#eab64c)!important;color:#2a1d05!important}
.tx-home-page .tx-badge,
.tx-storefront-page .tx-badge{box-shadow:0 7px 18px rgba(0,0,0,.22)}

/* ---------- shop ---------- */
.tx-storefront-page .tx-shop-head{padding:48px 0 24px!important}
.tx-storefront-page .tx-breadcrumb{color:#718aa2!important}
.tx-storefront-page .tx-breadcrumb a{color:#8fdfff!important}
.tx-storefront-page .tx-shop-head h1{color:#f7fbff!important;letter-spacing:-.045em!important}
.tx-storefront-page .tx-shop-head p{color:#91a8be!important}
.tx-storefront-page .tx-toolbar{
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:13px!important;margin:10px 0 26px!important;
  border:1px solid rgba(110,216,255,.13)!important;border-radius:18px!important;
  background:linear-gradient(145deg,rgba(11,30,48,.92),rgba(5,17,29,.94))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.18)!important;
}
.tx-storefront-page .tx-filter{
  background:rgba(255,255,255,.045)!important;color:#edf7ff!important;
  border:1px solid rgba(120,205,235,.13)!important;border-radius:12px!important;
  min-height:43px!important;outline:none!important;
}
.tx-storefront-page .tx-filter::placeholder{color:#738ca4!important}
.tx-storefront-page .tx-filter:focus{border-color:rgba(99,221,255,.5)!important;box-shadow:0 0 0 3px rgba(99,221,255,.08)!important}
.tx-storefront-page .tx-toolbar .tx-btn{background:linear-gradient(135deg,#176cff,#23b7ff)!important;color:#fff!important;box-shadow:0 10px 26px rgba(26,112,255,.2)}
.tx-storefront-page .tx-results{color:#8da5ba!important;font-size:11px!important;font-weight:800!important;white-space:nowrap}
.tx-storefront-page .tx-empty{background:linear-gradient(145deg,#0a1b2d,#061321)!important;border-color:var(--v354-line)!important;color:#fff!important}

/* ---------- premium product detail ---------- */
.tr-product-body .tr-product-page{background:transparent!important}
.tr-product-body .tr-breadcrumb{color:#6f879d!important}
.tr-product-body .tr-breadcrumb a{color:#80ddff!important}
.tr-product-body .tr-product-hero{background:transparent!important}
.tr-product-body .tr-product-gallery,
.tr-product-body .tr-product-info{
  background:linear-gradient(145deg,rgba(9,29,47,.96),rgba(4,17,29,.97))!important;
  border:1px solid rgba(104,216,255,.14)!important;
  box-shadow:0 25px 70px rgba(0,0,0,.25)!important;
}
.tr-product-body .tr-product-gallery{border-radius:26px!important}
.tr-product-body .tr-product-info{border-radius:26px!important}
.tr-product-body .tr-gallery-main{background:linear-gradient(145deg,#fbfdff,#eaf2f8)!important;border-color:rgba(130,210,240,.16)!important}
.tr-product-body #trMainImage{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.tr-product-body .tr-product-info h1{color:#f7fbff!important}
.tr-product-body .tr-product-lead{color:#91a8be!important}
.tr-product-body .tr-product-kicker{color:#66ddff!important}
.tr-product-body .tr-spec-box{background:rgba(255,255,255,.045)!important;border-color:rgba(110,216,255,.12)!important;color:#dcecf8!important}
.tr-product-body .tr-spec-box strong{color:#eaf6ff!important}
.tr-product-body .tr-availability{background:rgba(24,166,107,.09)!important;border-color:rgba(66,215,157,.2)!important;color:#68e6b0!important}
.tr-product-body .tr-buy.primary{background:linear-gradient(135deg,#1974ff,#21b8ff)!important;box-shadow:0 14px 32px rgba(28,118,255,.22)!important}
.tr-product-body .tr-buy.secondary{background:linear-gradient(135deg,#f8ce65,#dca936)!important;color:#211705!important}
.tr-product-body .tr-buy.dark{background:rgba(255,255,255,.055)!important;border-color:rgba(110,216,255,.16)!important;color:#eff9ff!important}
.tr-product-body .tr-payment-strip span{background:rgba(255,255,255,.045)!important;border-color:rgba(110,216,255,.11)!important;color:#a7bfd1!important}
.tr-product-body .tr-buy-confidence{background:rgba(255,255,255,.035)!important;border-color:rgba(110,216,255,.10)!important}
.tr-product-body .tr-buy-confidence b{color:#f5fbff!important}
.tr-product-body .tr-buy-confidence span{color:#8fa8bd!important}
.tr-product-body .tr-related-wrap{background:linear-gradient(180deg,#061523,#03101b)!important;border-top:1px solid rgba(104,216,255,.11)!important}
.tr-product-body .tr-related-wrap h2{color:#f5fbff!important}

/* ---------- mobile ---------- */
@media(max-width:1050px){
  .tx-mainnav{gap:15px}.tx-mainnav a{font-size:12px}.tx-search{width:185px}
}
@media(max-width:860px){
  .tx-mainnav,.tx-search{display:none!important}.tx-menu{display:inline-flex!important}
  .tx-cats{grid-template-columns:repeat(2,1fr)!important}
  .tx-product-grid{grid-template-columns:repeat(2,1fr)!important}
  .tx-storefront-page .tx-toolbar{flex-wrap:wrap}
  .tx-storefront-page .tx-filter{flex:1 1 180px!important}
  .tx-storefront-page .tx-results{margin-left:auto}
}
@media(max-width:560px){
  .tx-nav{height:72px}.tx-logo img{height:46px}
  .tx-cats{grid-template-columns:1fr!important}
  .tx-product-grid{grid-template-columns:1fr!important}
  .tx-home-page .tx-media,.tx-storefront-page .tx-media{height:265px!important}
  .tx-storefront-page .tx-shop-head{padding-top:32px!important}
  .tx-storefront-page .tx-toolbar{padding:10px!important}
  .tx-storefront-page .tx-results{width:100%;margin-left:0}
  .tr-product-body .tr-product-gallery,.tr-product-body .tr-product-info{border-radius:20px!important}
}

/* V356 — Sparkling-gold frame around the product photo */
.tr-product-body .tr-gallery-main{
  border:3px solid transparent!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16),
    0 0 18px rgba(255,201,67,.28),
    0 18px 55px rgba(0,0,0,.20)!important;
  isolation:isolate!important;
}
.tr-product-body .tr-gallery-main:after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:23px;
  padding:3px;
  background:conic-gradient(from var(--tr-photo-gold-angle,0deg),
    #a86f12 0deg,
    #e8ae2d 45deg,
    #fff0a6 95deg,
    #f7c53e 145deg,
    #b87812 205deg,
    #ffe89a 270deg,
    #d79520 320deg,
    #a86f12 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:4;
  filter:drop-shadow(0 0 5px rgba(255,220,100,.95)) drop-shadow(0 0 15px rgba(255,185,40,.48));
  animation:trPhotoGoldOrbit 3s linear infinite;
}
@keyframes trPhotoGoldOrbit{
  to{--tr-photo-gold-angle:360deg;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main:after{animation:none!important;}
}

/* V356 sparkle sweep: moving highlight stays on the gold frame */
@property --tr-photo-gold-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.tr-product-body .tr-gallery-main:after{
  animation:trPhotoGoldOrbit 2.8s linear infinite!important;
}


/* V358 — FULL GOLD PHOTO SURROUND / NO PHOTO-CROSSING SWEEP
   The complete former white/silver gallery surface is now metallic gold.
   No pseudo-element is allowed to draw a line across the actual photograph. */
.tr-product-body .tr-gallery-main{
  background:
    radial-gradient(circle at 14% 12%,rgba(255,248,196,.95) 0 2%,transparent 8%),
    radial-gradient(circle at 82% 18%,rgba(255,239,150,.72) 0 1.5%,transparent 7%),
    radial-gradient(circle at 25% 86%,rgba(255,226,93,.55) 0 1.2%,transparent 6%),
    radial-gradient(circle at 88% 82%,rgba(255,245,177,.72) 0 1.4%,transparent 7%),
    linear-gradient(135deg,#6e4707 0%,#a86f10 14%,#f2c94c 31%,#ffe58a 43%,#b77b13 58%,#f7cf58 74%,#8a5909 88%,#dca62a 100%) !important;
  background-size:100% 100%,100% 100%,100% 100%,100% 100%,220% 220% !important;
  background-position:center,center,center,center,0% 0% !important;
  border:2px solid rgba(255,224,112,.98) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,246,188,.34),
    inset 0 0 42px rgba(255,226,101,.28),
    0 0 22px rgba(255,198,55,.28),
    0 18px 55px rgba(0,0,0,.22) !important;
  animation:trFullGoldSurface 5.5s ease-in-out infinite alternate !important;
}
.tr-product-body .tr-gallery-main:after{
  content:none !important;
  display:none !important;
}
.tr-product-body .tr-gallery-main:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:inherit !important;
  filter:none !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    radial-gradient(circle at 10% 20%,rgba(255,255,220,.78) 0 1px,transparent 2px),
    radial-gradient(circle at 30% 78%,rgba(255,247,190,.7) 0 1px,transparent 2px),
    radial-gradient(circle at 74% 24%,rgba(255,255,225,.8) 0 1.2px,transparent 2.5px),
    radial-gradient(circle at 92% 72%,rgba(255,239,151,.72) 0 1px,transparent 2px),
    radial-gradient(circle at 52% 8%,rgba(255,255,235,.7) 0 1px,transparent 2px) !important;
  opacity:.7 !important;
}
.tr-product-body .tr-gallery-main img{
  z-index:3 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}
@keyframes trFullGoldSurface{
  0%{background-position:center,center,center,center,0% 0%;}
  50%{background-position:center,center,center,center,55% 45%;}
  100%{background-position:center,center,center,center,100% 100%;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main{animation:none !important;}
}

/* V359 — EVEN SPARKLING GOLD PHOTO SURROUND
   Replace the previous hotspot/beam treatment with a uniform luxury-gold surface.
   Sparkles are small, distributed highlights only; nothing sweeps across the photo. */
.tr-product-body .tr-gallery-main{
  background:
    linear-gradient(180deg,#9b6a12 0%,#b9821c 22%,#d7a52f 50%,#bd861c 76%,#9a650e 100%) !important;
  border:2px solid #f3cd62 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,242,174,.55),
    inset 0 0 28px rgba(255,218,94,.22),
    0 0 18px rgba(255,194,48,.24),
    0 18px 55px rgba(0,0,0,.22) !important;
  animation:none !important;
}
.tr-product-body .tr-gallery-main:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    radial-gradient(circle at 7% 13%,rgba(255,249,195,.95) 0 1.4px,transparent 2.6px),
    radial-gradient(circle at 18% 30%,rgba(255,239,151,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 29% 10%,rgba(255,250,204,.92) 0 1.2px,transparent 2.4px),
    radial-gradient(circle at 41% 25%,rgba(255,235,133,.82) 0 1px,transparent 2px),
    radial-gradient(circle at 54% 9%,rgba(255,249,190,.95) 0 1.3px,transparent 2.5px),
    radial-gradient(circle at 67% 29%,rgba(255,236,139,.88) 0 1px,transparent 2px),
    radial-gradient(circle at 80% 12%,rgba(255,249,196,.95) 0 1.4px,transparent 2.6px),
    radial-gradient(circle at 92% 27%,rgba(255,235,138,.86) 0 1px,transparent 2px),
    radial-gradient(circle at 12% 73%,rgba(255,246,181,.9) 0 1.2px,transparent 2.4px),
    radial-gradient(circle at 25% 91%,rgba(255,233,139,.86) 0 1px,transparent 2px),
    radial-gradient(circle at 39% 68%,rgba(255,250,202,.95) 0 1.3px,transparent 2.5px),
    radial-gradient(circle at 53% 88%,rgba(255,235,142,.88) 0 1px,transparent 2px),
    radial-gradient(circle at 66% 73%,rgba(255,248,188,.94) 0 1.2px,transparent 2.4px),
    radial-gradient(circle at 79% 92%,rgba(255,235,142,.86) 0 1px,transparent 2px),
    radial-gradient(circle at 91% 76%,rgba(255,249,194,.95) 0 1.3px,transparent 2.5px) !important;
  opacity:.95 !important;
  animation:trGoldSparklePulse 2.8s ease-in-out infinite alternate !important;
}
.tr-product-body .tr-gallery-main:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    radial-gradient(circle at 15% 54%,rgba(255,255,220,.8) 0 1px,transparent 2px),
    radial-gradient(circle at 34% 84%,rgba(255,248,190,.78) 0 1px,transparent 2px),
    radial-gradient(circle at 61% 48%,rgba(255,255,218,.82) 0 1px,transparent 2px),
    radial-gradient(circle at 86% 55%,rgba(255,247,180,.78) 0 1px,transparent 2px) !important;
  opacity:.7 !important;
  animation:trGoldSparklePulse 3.6s ease-in-out infinite alternate-reverse !important;
}
.tr-product-body .tr-gallery-main img{position:relative !important;z-index:3 !important;}
@keyframes trGoldSparklePulse{
  0%{opacity:.58;}
  50%{opacity:1;}
  100%{opacity:.68;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main:before,
  .tr-product-body .tr-gallery-main:after{animation:none !important;}
}

/* V361 — CLEAN METALLIC GLASS GOLD PHOTO SURROUND
   Remove all sparkle-dot pseudo layers. Keep the entire surround glossy gold.
   No beams, sweeps, dots, or overlays may appear over the product photo. */
.tr-product-body .tr-gallery-main{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,245,190,.34) 0%, rgba(255,245,190,0) 34%),
    radial-gradient(ellipse at 50% 100%, rgba(72,39,0,.28) 0%, rgba(72,39,0,0) 42%),
    linear-gradient(180deg,#a96f10 0%,#d7a62f 20%,#f0c95b 43%,#c99122 62%,#e0b13b 82%,#9b640c 100%) !important;
  border:2px solid rgba(255,224,122,.95) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,250,215,.72),
    inset 0 0 0 1px rgba(255,219,91,.38),
    inset 0 0 34px rgba(255,222,108,.22),
    0 0 24px rgba(255,191,42,.22),
    0 18px 55px rgba(0,0,0,.22) !important;
  animation:none !important;
}
.tr-product-body .tr-gallery-main:before,
.tr-product-body .tr-gallery-main:after{
  content:none !important;
  display:none !important;
  background:none !important;
  animation:none !important;
}
.tr-product-body .tr-gallery-main img{
  position:relative !important;
  z-index:3 !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

/* V362 — TRAVELING GLASS-GOLD HIGHLIGHTS
   Glossy light travels through the gold surface only. The actual product image
   remains above this background, so the highlight can never cross the photo. */
.tr-product-body .tr-gallery-main{
  background:
    linear-gradient(112deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 38%,
      rgba(255,244,181,.18) 45%,
      rgba(255,255,255,.52) 49%,
      rgba(255,244,181,.16) 53%,
      rgba(255,255,255,0) 61%,
      rgba(255,255,255,0) 100%),
    radial-gradient(ellipse at 50% 0%, rgba(255,245,190,.30) 0%, rgba(255,245,190,0) 34%),
    radial-gradient(ellipse at 50% 100%, rgba(72,39,0,.26) 0%, rgba(72,39,0,0) 42%),
    linear-gradient(180deg,#a96f10 0%,#d7a62f 20%,#f0c95b 43%,#c99122 62%,#e0b13b 82%,#9b640c 100%) !important;
  background-size:260% 100%,100% 100%,100% 100%,100% 100% !important;
  background-position:-130% 0,50% 0,50% 100%,50% 50% !important;
  animation:trGlassGoldTravel 4.8s ease-in-out infinite !important;
}
@keyframes trGlassGoldTravel{
  0%{background-position:-130% 0,50% 0,50% 100%,50% 50%;}
  48%{background-position:40% 0,50% 0,50% 100%,50% 50%;}
  100%{background-position:270% 0,50% 0,50% 100%,50% 50%;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main{animation:none !important;}
}

/* V363 — TRUE GLASS-GOLD TRAVELING LIGHT
   Keep the full metallic-gold surround and animate a broad glass reflection
   through the gold surface only. The product image remains above the effect. */
.tr-product-body .tr-gallery-main{
  overflow:hidden!important;
  background:linear-gradient(180deg,#9f670b 0%,#c58b1c 18%,#e1b33f 42%,#bd8215 63%,#d7a52f 82%,#956008 100%)!important;
  position:relative!important;
  isolation:isolate!important;
  animation:none!important;
}
.tr-product-body .tr-gallery-main:before{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  inset:-45% -65%;
  width:48%;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,239,170,.04) 18%,
    rgba(255,248,205,.20) 38%,
    rgba(255,255,255,.62) 50%,
    rgba(255,236,155,.18) 62%,
    rgba(255,255,255,0) 82%);
  filter:blur(8px);
  transform:rotate(13deg) translateX(-180%);
  animation:trGlassReflectionTravel 5.2s cubic-bezier(.45,0,.55,1) infinite;
  mix-blend-mode:screen;
}
.tr-product-body .tr-gallery-main:after{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  inset:0;
  border-radius:inherit;
  box-shadow:
    inset 0 1px 0 rgba(255,240,170,.42),
    inset 0 -1px 0 rgba(67,35,0,.34),
    inset 0 0 35px rgba(255,213,82,.12);
}
.tr-product-body .tr-gallery-main img{
  position:relative!important;
  z-index:3!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.tr-product-body .tr-gallery-main .tr-gallery-nav,
.tr-product-body .tr-gallery-main .tr-gallery-count{
  z-index:5!important;
}
@keyframes trGlassReflectionTravel{
  0%{transform:rotate(13deg) translateX(-180%);opacity:0;}
  12%{opacity:.9;}
  50%{opacity:.72;}
  88%{opacity:.9;}
  100%{transform:rotate(13deg) translateX(430%);opacity:0;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main:before{animation:none!important;opacity:.22!important;transform:rotate(13deg) translateX(0)!important;}
}

/* V364 — SPARKLING GOLD MATCH
   Match the rich sparkling-gold treatment used by Trinity's signature price:
   metallic gold stays continuous while warm golden highlights travel through it.
   No white dots, no fixed hotspot, no photo overlay. */
.tr-product-body .tr-gallery-main{
  background:
    radial-gradient(circle at 18% 24%,rgba(255,220,92,.34),transparent 19%),
    radial-gradient(circle at 78% 72%,rgba(255,205,54,.26),transparent 22%),
    linear-gradient(105deg,#8e5a09 0%,#c88b18 18%,#f0c34e 34%,#b8790d 49%,#e7b93a 64%,#a96908 80%,#d8a52d 100%)!important;
  background-size:100% 100%,100% 100%,260% 100%!important;
  background-position:0 0,0 0,0% 50%!important;
  animation:trGallerySparklingGold 4.6s linear infinite!important;
}
.tr-product-body .tr-gallery-main:before{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  inset:-20% -45%;
  width:42%;
  background:linear-gradient(90deg,
    rgba(255,214,67,0) 0%,
    rgba(255,214,67,.08) 25%,
    rgba(255,224,111,.42) 45%,
    rgba(255,244,167,.70) 50%,
    rgba(255,214,67,.20) 58%,
    rgba(255,214,67,0) 82%);
  filter:blur(7px);
  transform:rotate(10deg) translateX(-180%);
  animation:trGalleryGoldShimmer 4.2s ease-in-out infinite;
  mix-blend-mode:screen;
}
.tr-product-body .tr-gallery-main:after{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  inset:0;
  border-radius:inherit;
  box-shadow:
    inset 0 1px 0 rgba(255,226,111,.55),
    inset 0 -1px 0 rgba(77,42,0,.42),
    inset 0 0 28px rgba(255,214,74,.20),
    inset 0 0 70px rgba(255,189,33,.08);
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,229,128,.08) 45%,rgba(255,248,190,.16) 50%,rgba(255,255,255,0) 56%);
  background-size:220% 100%;
  animation:trGalleryGlassSweep 3.8s linear infinite;
}
@keyframes trGallerySparklingGold{
  0%{background-position:0 0,0 0,0% 50%;}
  50%{background-position:0 0,0 0,100% 50%;}
  100%{background-position:0 0,0 0,200% 50%;}
}
@keyframes trGalleryGoldShimmer{
  0%,18%{transform:rotate(10deg) translateX(-190%);opacity:0;}
  30%{opacity:.45;}
  55%{opacity:.9;}
  72%,100%{transform:rotate(10deg) translateX(430%);opacity:0;}
}
@keyframes trGalleryGlassSweep{
  0%{background-position:-120% 0;opacity:.25;}
  48%{opacity:.72;}
  100%{background-position:220% 0;opacity:.25;}
}
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main{animation:none!important;background-position:0 0,0 0,50% 50%!important;}
  .tr-product-body .tr-gallery-main:before,.tr-product-body .tr-gallery-main:after{animation:none!important;opacity:.35!important;}
}



/* V368 — EXACT GOLD TRAVELLING LIGHT ON PRODUCT PHOTOS + SPEC BOXES
   The reflection is intentionally visible ON the card surfaces, moving horizontally
   from left to right. It does not replace or tint the underlying product image. */
.tr-product-body .tr-thumb,
.tr-product-body .tr-spec-box,
.tr-product-body .tr-gallery-main {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

/* Thumbnail/product-photo cards: a clearly visible gold glass sweep. */
.tr-product-body .tr-thumb::after {
  content:""!important;
  position:absolute!important;
  z-index:20!important;
  top:-45%!important;
  bottom:-45%!important;
  left:-42%!important;
  width:30%!important;
  height:190%!important;
  border:0!important;
  padding:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateX(0) skewX(-15deg)!important;
  background:linear-gradient(90deg,
    rgba(255,196,45,0) 0%,
    rgba(255,210,72,.08) 20%,
    rgba(255,224,112,.48) 42%,
    rgba(255,249,205,.98) 50%,
    rgba(255,213,66,.72) 58%,
    rgba(255,180,20,.08) 82%,
    rgba(255,180,20,0) 100%)!important;
  box-shadow:0 0 16px rgba(255,198,52,.62)!important;
  filter:blur(.35px)!important;
  mix-blend-mode:screen!important;
  animation:trV368PhotoSweep 3.6s cubic-bezier(.28,.02,.25,1) infinite!important;
}

/* Main product photo: the gold reflection crosses the photo surface itself. */
.tr-product-body .tr-gallery-main::before {
  content:""!important;
  position:absolute!important;
  z-index:4!important;
  top:-45%!important;
  bottom:-45%!important;
  left:-38%!important;
  width:22%!important;
  height:190%!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateX(0) skewX(-15deg)!important;
  background:linear-gradient(90deg,
    rgba(255,190,25,0) 0%,
    rgba(255,214,78,.10) 20%,
    rgba(255,229,130,.45) 42%,
    rgba(255,249,211,.88) 50%,
    rgba(255,211,65,.58) 58%,
    rgba(255,180,20,.06) 82%,
    rgba(255,180,20,0) 100%)!important;
  filter:blur(2px) drop-shadow(0 0 9px rgba(255,193,40,.65))!important;
  mix-blend-mode:screen!important;
  animation:trV368MainPhotoSweep 4.2s cubic-bezier(.28,.02,.25,1) infinite!important;
}

/* Specification cards: same travelling gold-glass reflection. */
.tr-product-body .tr-spec-box::after {
  content:""!important;
  position:absolute!important;
  z-index:10!important;
  top:-55%!important;
  bottom:-55%!important;
  left:-48%!important;
  width:28%!important;
  height:210%!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateX(0) skewX(-15deg)!important;
  border:0!important;
  border-radius:inherit!important;
  padding:0!important;
  background:linear-gradient(90deg,
    rgba(255,190,25,0) 0%,
    rgba(255,210,65,.10) 22%,
    rgba(255,225,119,.50) 42%,
    rgba(255,248,202,1) 50%,
    rgba(255,211,65,.68) 58%,
    rgba(255,180,20,.08) 82%,
    rgba(255,180,20,0) 100%)!important;
  filter:blur(.4px) drop-shadow(0 0 8px rgba(255,193,40,.55))!important;
  mix-blend-mode:screen!important;
  animation:trV368SpecSweep 3.9s cubic-bezier(.28,.02,.25,1) infinite!important;
}

@keyframes trV368PhotoSweep {
  0%,12% { transform:translateX(0) skewX(-15deg); opacity:0; }
  22% { opacity:.08; }
  38% { opacity:1; }
  53% { opacity:.72; }
  68%,100% { transform:translateX(520%) skewX(-15deg); opacity:0; }
}
@keyframes trV368MainPhotoSweep {
  0%,14% { transform:translateX(0) skewX(-15deg); opacity:0; }
  25% { opacity:.05; }
  40% { opacity:.82; }
  54% { opacity:.55; }
  70%,100% { transform:translateX(650%) skewX(-15deg); opacity:0; }
}
@keyframes trV368SpecSweep {
  0%,12% { transform:translateX(0) skewX(-15deg); opacity:0; }
  23% { opacity:.08; }
  39% { opacity:.95; }
  54% { opacity:.68; }
  70%,100% { transform:translateX(560%) skewX(-15deg); opacity:0; }
}

/* Keep controls/text above the reflection where applicable. */
.tr-product-body .tr-gallery-main .tr-gallery-nav,
.tr-product-body .tr-gallery-main .tr-gallery-count,
.tr-product-body .tr-spec-box > * {
  position:relative!important;
  z-index:30!important;
}

@media (prefers-reduced-motion:reduce) {
  .tr-product-body .tr-thumb::after,
  .tr-product-body .tr-gallery-main::before,
  .tr-product-body .tr-spec-box::after { animation:none!important; opacity:0!important; }
}


/* V369 — CORRECTED PHOTO ALIGNMENT + ALWAYS-VISIBLE GOLD GLASS TRAVEL
   Final override: equal photo breathing room and a clearly visible, frequent
   left-to-right metallic-gold glass reflection on the photo and spec cards. */
.tr-product-body .tr-gallery-main{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:24px!important;
  box-sizing:border-box!important;
  isolation:isolate!important;
}

/* Explicit equal outer spacing prevents the product photo from sitting against
   one edge of the gold surround. */
.tr-product-body .tr-gallery-main > img#trMainImage{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}

/* Make the travelling reflection unmistakable: broad warm-gold core with
   a bright glass-white/gold center, but no photo tint. */
.tr-product-body .tr-gallery-main::before{
  content:""!important;
  position:absolute!important;
  z-index:4!important;
  top:-65%!important;
  bottom:-65%!important;
  left:-58%!important;
  width:30%!important;
  height:230%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  pointer-events:none!important;
  transform:translateX(0) skewX(-17deg)!important;
  opacity:0!important;
  background:linear-gradient(90deg,
    rgba(255,178,18,0) 0%,
    rgba(255,193,34,.10) 20%,
    rgba(255,214,79,.45) 39%,
    rgba(255,238,145,.92) 47%,
    rgba(255,253,220,1) 50%,
    rgba(255,226,107,.92) 54%,
    rgba(255,190,28,.35) 66%,
    rgba(255,170,10,0) 100%)!important;
  filter:blur(.8px) drop-shadow(0 0 11px rgba(255,197,47,.78))!important;
  mix-blend-mode:screen!important;
  animation:trV369MainGoldTravel 2.8s cubic-bezier(.32,.02,.24,1) infinite!important;
}

@keyframes trV369MainGoldTravel{
  0%,8%{transform:translateX(0) skewX(-17deg);opacity:0}
  18%{opacity:.55}
  32%{opacity:1}
  44%{opacity:.9}
  55%{opacity:.28}
  68%,100%{transform:translateX(620%) skewX(-17deg);opacity:0}
}

/* Thumbnails: visible gold sweep every cycle. */
.tr-product-body .tr-thumb{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.tr-product-body .tr-thumb::after{
  content:""!important;
  position:absolute!important;
  z-index:20!important;
  top:-60%!important;
  bottom:-60%!important;
  left:-55%!important;
  width:36%!important;
  height:220%!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateX(0) skewX(-17deg)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,197,45,.20) 28%,
    rgba(255,231,125,.72) 45%,
    rgba(255,253,220,1) 50%,
    rgba(255,216,80,.78) 57%,
    rgba(255,175,10,0) 100%)!important;
  filter:blur(.35px) drop-shadow(0 0 8px rgba(255,196,42,.75))!important;
  mix-blend-mode:screen!important;
  animation:trV369ThumbGoldTravel 2.5s cubic-bezier(.32,.02,.24,1) infinite!important;
}
@keyframes trV369ThumbGoldTravel{
  0%,8%{transform:translateX(0) skewX(-17deg);opacity:0}
  18%{opacity:.55}
  34%{opacity:1}
  50%{opacity:.35}
  64%,100%{transform:translateX(520%) skewX(-17deg);opacity:0}
}

/* Specs: identical gold glass reflection, staggered very slightly by card. */
.tr-product-body .tr-spec-box{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.tr-product-body .tr-spec-box::after{
  content:""!important;
  position:absolute!important;
  z-index:20!important;
  top:-85%!important;
  bottom:-85%!important;
  left:-60%!important;
  width:34%!important;
  height:270%!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateX(0) skewX(-17deg)!important;
  border:0!important;
  padding:0!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,193,32,.18) 26%,
    rgba(255,222,94,.68) 43%,
    rgba(255,252,216,1) 50%,
    rgba(255,216,75,.78) 57%,
    rgba(255,171,8,0) 100%)!important;
  filter:blur(.35px) drop-shadow(0 0 8px rgba(255,194,42,.70))!important;
  mix-blend-mode:screen!important;
  animation:trV369SpecGoldTravel 2.7s cubic-bezier(.32,.02,.24,1) infinite!important;
}
@keyframes trV369SpecGoldTravel{
  0%,8%{transform:translateX(0) skewX(-17deg);opacity:0}
  18%{opacity:.5}
  34%{opacity:.95}
  49%{opacity:.32}
  63%,100%{transform:translateX(560%) skewX(-17deg);opacity:0}
}

/* Keep the gold light above photos but below navigation/count controls and text. */
.tr-product-body .tr-gallery-main .tr-gallery-nav,
.tr-product-body .tr-gallery-main .tr-gallery-count{
  position:absolute!important;
  z-index:30!important;
}
.tr-product-body .tr-spec-box > *{
  position:relative!important;
  z-index:30!important;
}

/* Accessibility: honor reduced-motion without leaving a stale beam. */
@media(prefers-reduced-motion:reduce){
  .tr-product-body .tr-gallery-main::before,
  .tr-product-body .tr-thumb::after,
  .tr-product-body .tr-spec-box::after{
    animation:none!important;
    opacity:0!important;
  }
}



/* V375 — CONSISTENT GOLD ACTIVE NAV + TRAVELLING NAV GLASS LIGHT */
.tx-mainnav{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.tx-mainnav::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  top:-80%!important;
  bottom:-80%!important;
  left:-32%!important;
  width:11%!important;
  pointer-events:none!important;
  transform:skewX(-17deg)!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(224,167,42,.18) 28%,
    rgba(255,228,125,.82) 50%,
    rgba(224,167,42,.22) 72%,
    transparent 100%)!important;
  box-shadow:0 0 18px rgba(239,191,64,.48)!important;
  filter:blur(1.5px)!important;
  mix-blend-mode:screen!important;
  opacity:0!important;
  animation:trinityNavGoldTravelV375 5.8s ease-in-out infinite!important;
}
.tx-mainnav a{
  position:relative!important;
  z-index:2!important;
}
.tx-mainnav a,
.tx-mainnav a:hover,
.tx-mainnav a.active{
  color:#d7e3ee!important;
  text-shadow:none!important;
}
.tx-mainnav a.active{
  color:#ffe08a!important;
  text-shadow:
    0 0 8px rgba(243,198,77,.55),
    0 0 20px rgba(243,198,77,.25)!important;
  font-weight:900!important;
}
.tx-mainnav a.active::after{
  display:none!important;
  content:none!important;
}
.tx-mainnav a:hover{
  color:#ffe7a6!important;
  text-shadow:0 0 12px rgba(243,198,77,.24)!important;
}
.tx-mobile a.active{
  color:#ffe08a!important;
  background:rgba(243,198,77,.08)!important;
  box-shadow:inset 2px 0 0 #f3c64d,0 0 18px rgba(243,198,77,.08)!important;
}
@keyframes trinityNavGoldTravelV375{
  0%,18%{left:-32%;opacity:0}
  28%{opacity:.30}
  36%{opacity:.85}
  45%{left:120%;opacity:.18}
  52%,100%{left:145%;opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .tx-mainnav::after{animation:none!important;opacity:0!important}
}
