:root{
  --v8-line:#e7e9f2;
  --v8-text:#111827;
  --v8-muted:#6b7280;
  --v8-accent:#f97316;
  --v8-accent-2:#ff9a57;
  --v8-soft:#fff4ea;
  --v8-shadow-soft:0 10px 22px rgba(15,23,42,.05);
  --v8-shadow:0 18px 40px rgba(15,23,42,.08);
  --v8-btn-shadow:0 12px 24px rgba(15,23,42,.08);
}
body.viwi-index-v8{
  color:var(--v8-text);
}

/* mata loaders viejos pesados */
#viwiBLoader,
#viwiFancyLoaderV4,
#viwiLoaderV6{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

#viwiFastLoaderV8{
  position:fixed;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:10001;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--v8-line);
  box-shadow:var(--v8-shadow);
  backdrop-filter:blur(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
#viwiFastLoaderV8.is-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%) translateY(-6px);
}
.v8-loader-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--v8-accent) 0%,var(--v8-accent-2) 100%);
  box-shadow:0 0 0 6px rgba(249,115,22,.10);
  animation:v8pulse .9s ease-in-out infinite alternate;
}
@keyframes v8pulse{
  from{transform:scale(.92)}
  to{transform:scale(1.08)}
}
.v8-loader-text{
  font-size:13px;
  font-weight:800;
  color:#111827;
  letter-spacing:.01em;
}
.v8-loader-sub{
  font-size:12px;
  color:#6b7280;
  font-weight:700;
}

body.viwi-index-v8 > :not(script):not(style):not(link):not(meta):not(#viwiFastLoaderV8):not(#viwiLoaderV6):not(#viwiHeroFinalV6):not(#viwiHeroRefineV4):not(#viwiV6MoreWrap):not(#viwiCategoryRailV7):not(#viwiInstallModal):not(footer){
  margin-bottom:28px!important;
}
#viwiHeroFinalV6,
#viwiCategoryRailV7,
#viwiV6MoreWrap{
  scroll-margin-top:94px;
}

/* botones más cool */
body.viwi-index-v8 a,
body.viwi-index-v8 button{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    opacity .18s ease !important;
  will-change:transform;
}
body.viwi-index-v8 a:hover,
body.viwi-index-v8 button:hover{
  transform:translateY(-2px)!important;
}
body.viwi-index-v8 a:active,
body.viwi-index-v8 button:active{
  transform:translateY(0) scale(.985)!important;
}
body.viwi-index-v8 .v6-btn,
body.viwi-index-v8 .viwi-bp-btn,
body.viwi-index-v8 .viwi-fr-btn,
body.viwi-index-v8 .viwi-isp-btn,
body.viwi-index-v8 .viwi-isl-btn,
body.viwi-index-v8 .v7-cat-cta{
  position:relative;
  overflow:hidden;
  min-height:46px!important;
  border-radius:999px!important;
  box-shadow:var(--v8-btn-shadow)!important;
}
body.viwi-index-v8 .v6-btn::after,
body.viwi-index-v8 .viwi-bp-btn::after,
body.viwi-index-v8 .viwi-fr-btn::after,
body.viwi-index-v8 .viwi-isp-btn::after,
body.viwi-index-v8 .viwi-isl-btn::after,
body.viwi-index-v8 .v7-cat-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.24) 38%, transparent 58%);
  transform:translateX(-140%);
  transition:transform .6s ease;
}
body.viwi-index-v8 .v6-btn:hover::after,
body.viwi-index-v8 .viwi-bp-btn:hover::after,
body.viwi-index-v8 .viwi-fr-btn:hover::after,
body.viwi-index-v8 .viwi-isp-btn:hover::after,
body.viwi-index-v8 .viwi-isl-btn:hover::after,
body.viwi-index-v8 .v7-cat-cta:hover::after{
  transform:translateX(140%);
}

/* spacing/text polish */
body.viwi-index-v8 h1{font-size:clamp(28px,4vw,42px)!important}
body.viwi-index-v8 h2{font-size:clamp(20px,2.25vw,27px)!important}
body.viwi-index-v8 h3{font-size:clamp(17px,1.9vw,21px)!important}
body.viwi-index-v8 p{
  line-height:1.8!important;
  color:#6b7280!important;
  max-width:860px;
}
body.viwi-index-v8 .v6-sub,
body.viwi-index-v8 .v6-support{
  max-width:760px!important;
}

/* tratamiento de imágenes */
body.viwi-index-v8 img{
  border-radius:20px!important;
  box-shadow:var(--v8-shadow-soft);
}
#viwiHeroFinalV6 .v6-media,
#viwiHeroRefineV4 .viwi-v4-media{
  box-shadow:var(--v8-shadow)!important;
  overflow:hidden!important;
}
#viwiHeroFinalV6 .v6-media img,
#viwiHeroRefineV4 .viwi-v4-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* categorías más finas */
#viwiCategoryRailV7 .v7-cat-wrap{
  padding:24px!important;
  border-radius:30px!important;
}
#viwiCategoryRailV7 .v7-cat-grid{
  gap:16px!important;
}
#viwiCategoryRailV7 .v7-cat-card{
  min-height:220px!important;
  padding:18px!important;
  border-radius:24px!important;
}
#viwiCategoryRailV7 .v7-cat-icon{
  width:78px!important;
  height:78px!important;
  border-radius:22px!important;
  box-shadow:var(--v8-shadow-soft)!important;
}
#viwiCategoryRailV7 .v7-cat-name{
  font-size:18px!important;
  font-weight:900!important;
}
#viwiCategoryRailV7 .v7-cat-desc{
  line-height:1.7!important;
  font-size:13px!important;
}

/* bloque extra más amable */
#viwiV6MoreWrap .v6-more-card{
  border-radius:24px!important;
  box-shadow:var(--v8-shadow-soft)!important;
}
#viwiV6MoreWrap .v6-more-toggle{
  box-shadow:var(--v8-btn-shadow)!important;
}

@media (max-width:980px){
  body.viwi-index-v8 > :not(script):not(style):not(link):not(meta):not(#viwiFastLoaderV8):not(#viwiLoaderV6):not(#viwiHeroFinalV6):not(#viwiHeroRefineV4):not(#viwiV6MoreWrap):not(#viwiCategoryRailV7):not(#viwiInstallModal):not(footer){
    margin-bottom:18px!important;
  }
}
