/* ========================================================================== 
   Nashixwa Vivid & Lively — v1.6.0
   Clean commercial structure with richer brand colour, full-colour imagery,
   soft ambient gradients and restrained motion.
   ========================================================================== */

body.nash-vivid{
  --signal:var(--vivid-primary,#27df86);
  --signal-dim:#168a55;
  --signal-bright:#72f5b3;
  --vivid-gold:var(--vivid-secondary,#f2b84b);
  --vivid-cyan:var(--vivid-tertiary,#49c9ff);
  --vivid-violet:#8b7cf6;
  --vivid-wash:color-mix(in srgb,var(--signal) 13%,transparent);
  --vivid-wash-2:color-mix(in srgb,var(--vivid-cyan) 10%,transparent);
  --vivid-intensity:var(--nash-vivid-intensity,.72);
  isolation:isolate;
}

/* Restore photography and make the site feel alive without losing legibility. */
body.nash-vivid .contours{opacity:.105;filter:none;}
body.nash-vivid .grain{opacity:.18;filter:none;}
body.nash-vivid #orbit-canvas{opacity:.72;filter:none;}
body.nash-vivid .division-card-media img,
body.nash-vivid .division-gallery-item img,
body.nash-vivid .home-product-card__visual img,
body.nash-vivid .woocommerce ul.products li.product img,
body.nash-vivid .item-card .thumb img{filter:none!important;}
body.nash-vivid .division-card:hover img,
body.nash-vivid .division-gallery-item:hover img,
body.nash-vivid .home-product-card:hover .home-product-card__visual img,
body.nash-vivid .woocommerce ul.products li.product:hover img{filter:saturate(1.12) contrast(1.03)!important;}

/* Ambient page colour. */
body.nash-vivid::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 520px at 7% 12%,color-mix(in srgb,var(--signal) 16%,transparent),transparent 65%),
    radial-gradient(760px 460px at 92% 34%,color-mix(in srgb,var(--vivid-cyan) 11%,transparent),transparent 68%),
    radial-gradient(700px 420px at 56% 92%,color-mix(in srgb,var(--vivid-gold) 8%,transparent),transparent 70%);
  opacity:var(--vivid-intensity,.72);
}

/* Header: still premium, now visibly branded. */
body.nash-vivid header.site-header{
  background:color-mix(in srgb,var(--void) 82%,transparent);
  border-bottom-color:color-mix(in srgb,var(--signal) 20%,var(--line));
  box-shadow:0 12px 36px rgba(0,0,0,.12);
}
body.nash-vivid header.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent 5%,var(--signal),var(--vivid-cyan),var(--vivid-gold),transparent 95%);
  opacity:.48;
}
body.nash-vivid .brand .dot{background:var(--signal);box-shadow:0 0 0 5px color-mix(in srgb,var(--signal) 14%,transparent),0 0 24px color-mix(in srgb,var(--signal) 50%,transparent);}
body.nash-vivid .nav-links a:hover,
body.nash-vivid .nav-links .current-menu-item a,
body.nash-vivid .mega-nav-link:hover{color:var(--signal-bright);}
body.nash-vivid .nav-cta{border-color:color-mix(in srgb,var(--signal) 48%,var(--line));}
body.nash-vivid .nav-cta:hover{background:var(--signal);color:#04150b;box-shadow:0 8px 28px color-mix(in srgb,var(--signal) 28%,transparent);}
body.nash-vivid .nash-theme-toggle:hover{border-color:var(--vivid-cyan);color:var(--vivid-cyan);}

/* Hero + page headers. */
body.nash-vivid .hero::before,
body.nash-vivid .page-header::before,
body.nash-vivid .shop-page-header::before,
body.nash-vivid .division-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(620px 420px at 14% 34%,color-mix(in srgb,var(--signal) 19%,transparent),transparent 70%),
    radial-gradient(560px 400px at 84% 18%,color-mix(in srgb,var(--vivid-cyan) 12%,transparent),transparent 72%);
}
body.nash-vivid .hero::after{background:linear-gradient(180deg,transparent 22%,color-mix(in srgb,var(--void) 92%,transparent) 98%);}
body.nash-vivid .hero h1{
  text-shadow:0 18px 60px rgba(0,0,0,.18);
}
body.nash-vivid .hero-sub{font-size:19px;}
body.nash-vivid .reg-badge{
  color:var(--paper);border-color:color-mix(in srgb,var(--signal) 42%,var(--line));
  background:color-mix(in srgb,var(--panel) 74%,transparent);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
body.nash-vivid .reg-badge b{color:var(--signal-bright);}
body.nash-vivid .hero-stats{background:linear-gradient(90deg,color-mix(in srgb,var(--signal) 4%,transparent),transparent,color-mix(in srgb,var(--vivid-cyan) 4%,transparent));}
body.nash-vivid .hero-stats .num{
  color:var(--signal-bright);
  text-shadow:0 0 28px color-mix(in srgb,var(--signal) 28%,transparent);
}
body.nash-vivid .page-header h1,
body.nash-vivid .shop-page-header h1,
body.nash-vivid .division-hero h1{position:relative;z-index:2;}

/* Backgrounds remain readable but are more present than v1.5.0. */
body.nash-vivid .has-bg-image{background-blend-mode:normal;}
body.nash-vivid .has-bg-image > .bg-overlay,
body.nash-vivid .shop-page-header > .bg-overlay,
body.nash-vivid .division-hero > .bg-overlay{
  background:linear-gradient(112deg,var(--void) 0%,color-mix(in srgb,var(--void) 90%,var(--signal)) 56%,color-mix(in srgb,var(--void) 82%,var(--signal)) 100%);
  opacity:var(--nash-bg-cover,.80);
}
html[data-theme="light"] body.nash-vivid .has-bg-image > .bg-overlay,
html[data-theme="light"] body.nash-vivid .shop-page-header > .bg-overlay,
html[data-theme="light"] body.nash-vivid .division-hero > .bg-overlay{
  background:linear-gradient(112deg,#fff 0%,color-mix(in srgb,#fff 94%,var(--signal)) 58%,color-mix(in srgb,#fff 86%,var(--signal)) 100%);
  opacity:var(--nash-bg-cover,.80);
}

/* Typography markers. */
body.nash-vivid .eyebrow{color:var(--signal-bright);}
html[data-theme="light"] body.nash-vivid .eyebrow{color:#087648;}
body.nash-vivid .eyebrow::before{width:28px;background:linear-gradient(90deg,var(--signal),var(--vivid-cyan));}
body.nash-vivid .section-head h2{position:relative;}
body.nash-vivid .section-head h2::after{
  content:"";display:block;width:78px;height:4px;margin-top:20px;border-radius:999px;
  background:linear-gradient(90deg,var(--signal),var(--vivid-cyan),var(--vivid-gold));
}

/* Buttons: rounded just enough, brighter and more tactile. */
body.nash-vivid .btn,
body.nash-vivid .home-product-card__button,
body.nash-vivid .woocommerce a.button,
body.nash-vivid .woocommerce button.button,
body.nash-vivid .woocommerce input.button,
body.nash-vivid .woocommerce #respond input#submit{border-radius:9px;}
body.nash-vivid .btn-solid,
body.nash-vivid .home-product-card__button,
body.nash-vivid .woocommerce a.button.alt,
body.nash-vivid .woocommerce button.button.alt,
body.nash-vivid .woocommerce #respond input#submit.alt{
  background:linear-gradient(135deg,var(--signal),color-mix(in srgb,var(--signal) 72%,var(--vivid-cyan)));
  color:#03150b;border-color:transparent;
  box-shadow:0 12px 30px color-mix(in srgb,var(--signal) 20%,transparent);
}
body.nash-vivid .btn-solid:hover,
body.nash-vivid .home-product-card__button:hover,
body.nash-vivid .woocommerce a.button.alt:hover,
body.nash-vivid .woocommerce button.button.alt:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px color-mix(in srgb,var(--signal) 30%,transparent);
}
body.nash-vivid .btn-ghost:hover{border-color:var(--vivid-cyan);color:var(--vivid-cyan);background:color-mix(in srgb,var(--vivid-cyan) 6%,transparent);}

/* Section rhythm: gentle colour washes keep long pages from feeling flat. */
body.nash-vivid .band-dark{
  background:
    radial-gradient(760px 340px at 5% 10%,color-mix(in srgb,var(--signal) 7%,transparent),transparent 68%),
    radial-gradient(640px 360px at 96% 85%,color-mix(in srgb,var(--vivid-cyan) 5%,transparent),transparent 68%),
    var(--ink);
}
body.nash-vivid .section-pad:not(.band-dark):nth-of-type(even){
  background:linear-gradient(180deg,color-mix(in srgb,var(--signal) 2.5%,var(--void)),var(--void));
}

/* Cards: clean surfaces with colourful edge detail rather than heavy decoration. */
body.nash-vivid .quick-grid,
body.nash-vivid .card-grid{gap:16px;background:transparent;border:0;overflow:visible;}
body.nash-vivid .quick-card,
body.nash-vivid .item-card,
body.nash-vivid .cert-card,
body.nash-vivid .home-product-card,
body.nash-vivid .woocommerce ul.products li.product,
body.nash-vivid .commercial-category-card,
body.nash-vivid .division-card{
  border:1px solid color-mix(in srgb,var(--line) 82%,var(--signal));
  border-radius:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,var(--signal) 4%),var(--panel));
  box-shadow:0 18px 48px rgba(0,0,0,.08);
  overflow:hidden;
}
html[data-theme="light"] body.nash-vivid .quick-card,
html[data-theme="light"] body.nash-vivid .item-card,
html[data-theme="light"] body.nash-vivid .cert-card,
html[data-theme="light"] body.nash-vivid .home-product-card,
html[data-theme="light"] body.nash-vivid .woocommerce ul.products li.product,
html[data-theme="light"] body.nash-vivid .commercial-category-card,
html[data-theme="light"] body.nash-vivid .division-card{
  box-shadow:0 18px 52px rgba(26,55,40,.08);
}
body.nash-vivid .quick-card,
body.nash-vivid .item-card,
body.nash-vivid .home-product-card,
body.nash-vivid .commercial-category-card,
body.nash-vivid .division-card{position:relative;transition:transform .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease),background .32s var(--ease);}
body.nash-vivid .quick-card::before,
body.nash-vivid .item-card::before,
body.nash-vivid .home-product-card::before,
body.nash-vivid .commercial-category-card::before,
body.nash-vivid .division-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:3px;z-index:4;
  background:linear-gradient(90deg,var(--signal),var(--vivid-cyan),var(--vivid-gold));opacity:.7;
}
body.nash-vivid .quick-card:hover,
body.nash-vivid .item-card:hover,
body.nash-vivid .home-product-card:hover,
body.nash-vivid .commercial-category-card:hover,
body.nash-vivid .division-card:hover{
  transform:translateY(-7px);
  border-color:color-mix(in srgb,var(--signal) 48%,var(--line));
  box-shadow:0 24px 62px color-mix(in srgb,var(--signal) 10%,rgba(0,0,0,.16));
}
body.nash-vivid .quick-card:nth-child(3n+2)::before,
body.nash-vivid .home-product-card:nth-child(3n+2)::before,
body.nash-vivid .commercial-category-card:nth-child(3n+2)::before{background:linear-gradient(90deg,var(--vivid-cyan),var(--signal));}
body.nash-vivid .quick-card:nth-child(3n)::before,
body.nash-vivid .home-product-card:nth-child(3n)::before,
body.nash-vivid .commercial-category-card:nth-child(3n)::before{background:linear-gradient(90deg,var(--vivid-gold),var(--signal));}
body.nash-vivid .quick-card .qn,
body.nash-vivid .item-body .cat,
body.nash-vivid .home-product-card__category{color:var(--signal-bright);}
html[data-theme="light"] body.nash-vivid .quick-card .qn,
html[data-theme="light"] body.nash-vivid .item-body .cat,
html[data-theme="light"] body.nash-vivid .home-product-card__category{color:#087648;}

/* Images receive depth and colour instead of monochrome treatment. */
body.nash-vivid .division-card-media,
body.nash-vivid .home-product-card__visual,
body.nash-vivid .item-card .thumb{position:relative;overflow:hidden;}
body.nash-vivid .division-card-media::after,
body.nash-vivid .home-product-card__visual::after,
body.nash-vivid .item-card .thumb::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 48%,rgba(3,15,9,.30) 100%);
}
body.nash-vivid .division-card-media img,
body.nash-vivid .home-product-card__visual img,
body.nash-vivid .item-card .thumb img{transition:transform .55s var(--ease),filter .35s var(--ease);}
body.nash-vivid .division-card:hover .division-card-media img,
body.nash-vivid .home-product-card:hover .home-product-card__visual img,
body.nash-vivid .item-card:hover .thumb img{transform:scale(1.045);}

/* Divisions + gallery. */
body.nash-vivid .division-card-badge{background:color-mix(in srgb,var(--signal) 88%,#04150b);color:#fff;border-color:transparent;}
body.nash-vivid .division-gallery-grid{gap:12px;}
body.nash-vivid .division-gallery-item{border-radius:14px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.12);}
body.nash-vivid .division-gallery-item:hover{box-shadow:0 20px 48px color-mix(in srgb,var(--vivid-cyan) 12%,rgba(0,0,0,.16));}
body.nash-vivid .division-detail-layout{position:relative;}

/* Shop. */
body.nash-vivid .home-product-card__price,
body.nash-vivid .woocommerce ul.products li.product .price,
body.nash-vivid .woocommerce div.product p.price,
body.nash-vivid .woocommerce div.product span.price{color:var(--signal-bright);font-weight:700;}
html[data-theme="light"] body.nash-vivid .home-product-card__price,
html[data-theme="light"] body.nash-vivid .woocommerce ul.products li.product .price,
html[data-theme="light"] body.nash-vivid .woocommerce div.product p.price,
html[data-theme="light"] body.nash-vivid .woocommerce div.product span.price{color:#087648;}
body.nash-vivid .woocommerce span.onsale{
  background:linear-gradient(135deg,var(--vivid-gold),#ffd883);color:#241700;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.12);
}

/* Forms. */
body.nash-vivid input,
body.nash-vivid select,
body.nash-vivid textarea,
body.nash-vivid .woocommerce form .form-row input.input-text,
body.nash-vivid .woocommerce form .form-row textarea,
body.nash-vivid .woocommerce form .form-row select{border-radius:10px!important;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);}
body.nash-vivid input:focus,
body.nash-vivid select:focus,
body.nash-vivid textarea:focus{border-color:var(--signal)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 12%,transparent);}

/* Footer gets a subtle branded finish. */
body.nash-vivid .site-footer{position:relative;background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 88%,#020704));}
body.nash-vivid .site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--signal),var(--vivid-cyan),var(--vivid-gold),transparent);opacity:.5;}

/* Optional lively motion. The body class is supplied by the Customizer toggle. */
body.nash-vivid.nash-vivid-motion .brand .dot{animation:nashPulse 2.8s ease-in-out infinite;}
body.nash-vivid.nash-vivid-motion .section-head h2::after{background-size:200% 100%;animation:nashGradientShift 7s ease-in-out infinite;}
body.nash-vivid.nash-vivid-motion .hero .reg-badge{animation:nashFloat 6.5s ease-in-out infinite;}
@keyframes nashPulse{0%,100%{box-shadow:0 0 0 5px color-mix(in srgb,var(--signal) 12%,transparent),0 0 20px color-mix(in srgb,var(--signal) 36%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--signal) 5%,transparent),0 0 34px color-mix(in srgb,var(--signal) 58%,transparent)}}
@keyframes nashGradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes nashFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media (prefers-reduced-motion:reduce){
  body.nash-vivid.nash-vivid-motion .brand .dot,
  body.nash-vivid.nash-vivid-motion .section-head h2::after,
  body.nash-vivid.nash-vivid-motion .hero .reg-badge{animation:none!important;}
  body.nash-vivid .quick-card:hover,
  body.nash-vivid .item-card:hover,
  body.nash-vivid .home-product-card:hover,
  body.nash-vivid .commercial-category-card:hover,
  body.nash-vivid .division-card:hover,
  body.nash-vivid .btn-solid:hover{transform:none;}
}

@media(max-width:720px){
  body.nash-vivid .quick-grid,
  body.nash-vivid .card-grid{gap:12px;}
  body.nash-vivid .hero-sub{font-size:17px;}
  body.nash-vivid .section-head h2::after{width:58px;height:3px;}
}
