/* NS Design shell: header, drawer, footer, global polish. Light only. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/pjs-600.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pjs-700.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/pjs-800.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/figtree-400.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/figtree-500.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/figtree-600.woff2') format('woff2');}

:root{
  --nss-accent:#0F766E;
  --nss-bright:#14b8a6;
  --nss-ink:#0b3b36;
  --nss-deep:#072a26;
  --nss-tint:#EAF7F3;
  --nss-line:#e3eeeb;
  --nss-muted:#4b5a57;
  --nss-display:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
  --nss-body:'Figtree',ui-sans-serif,system-ui,sans-serif;
  --nss-h:72px;
}

/* hide the old Flatsome chrome */
body.ns-shell #header,
body.ns-shell .header-wrapper,
body.ns-shell #footer,
body.ns-shell .footer-wrapper,
body.ns-shell .absolute-footer,
body.ns-shell .back-to-top{display:none !important;}

/* announcement strip */
.nss-ann{background:var(--nss-deep);color:#d6efe9;font:500 12.5px/1 var(--nss-body);letter-spacing:.02em;height:34px;overflow:hidden;position:relative;z-index:61;}
.nss-ann-in{position:relative;height:34px;max-width:1240px;margin:0 auto;padding:0 20px;}
.nss-ann-in span{position:absolute;left:0;right:0;top:0;height:34px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);animation:nss-rot 12s infinite;}
.nss-ann-in span:nth-child(2){animation-delay:4s;}
.nss-ann-in span:nth-child(3){animation-delay:8s;}
@keyframes nss-rot{0%{opacity:0;transform:translateY(8px)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-8px)}}

/* header */
.nss-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s;font-family:var(--nss-body);}
body.admin-bar .nss-head{top:32px;}
.nss-head.is-scrolled{border-bottom-color:var(--nss-line);box-shadow:0 10px 30px -18px rgba(11,59,54,.35);}
.nss-bar{display:flex;align-items:center;gap:28px;max-width:1240px;margin:0 auto;padding:0 20px;height:var(--nss-h);transition:height .25s;}
.nss-head.is-scrolled .nss-bar{height:62px;}
.nss-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--nss-ink);flex:none;}
.nss-logo img{width:46px;height:46px;border-radius:12px;object-fit:cover;transition:transform .4s cubic-bezier(.2,.8,.2,1);}
.nss-logo:hover img{transform:rotate(-6deg) scale(1.05);}
.nss-word{display:flex;flex-direction:column;font:800 19px/1 var(--nss-display);letter-spacing:-.02em;color:var(--nss-ink);}
.nss-word small{font:600 10.5px/1 var(--nss-body);letter-spacing:.16em;text-transform:uppercase;color:var(--nss-accent);margin-top:5px;}
.nss-word-light{color:#fff;}
.nss-word-light small{color:var(--nss-bright);}
.nss-nav{display:flex;gap:4px;margin-left:auto;}
.nss-nav a{position:relative;padding:10px 14px;font:600 15px/1 var(--nss-body);color:var(--nss-ink);text-decoration:none;border-radius:10px;transition:background .2s,color .2s;}
.nss-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--nss-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.nss-nav a:hover,.nss-nav a:focus-visible{background:var(--nss-tint);}
.nss-nav a:hover::after,.nss-nav a[aria-current]::after{transform:scaleX(1);}
.nss-tools{display:flex;align-items:center;gap:6px;}
.nss-ico{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:var(--nss-ink);cursor:pointer;text-decoration:none;transition:background .2s,transform .2s;}
.nss-ico:hover{background:var(--nss-tint);}
.nss-ico:active{transform:scale(.94);}
.nss-cart-count{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d1d9d6;color:#fff;font:700 11px/18px var(--nss-body);text-align:center;}
.nss-cart-count.has{background:var(--nss-accent);animation:nss-pop .5s cubic-bezier(.2,1.4,.4,1);}
@keyframes nss-pop{0%{transform:scale(.4)}100%{transform:scale(1)}}
.nss-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:0;border-radius:999px;background:var(--nss-accent);color:#fff !important;font:700 15px/1 var(--nss-body);text-decoration:none;cursor:pointer;margin-left:8px;box-shadow:0 10px 24px -12px rgba(15,118,110,.7);transition:transform .2s,box-shadow .2s,background .2s;}
.nss-cta:hover{background:#0c645d;transform:translateY(-1px);box-shadow:0 16px 30px -14px rgba(15,118,110,.8);}
.nss-cta::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);}
.nss-cta:hover::before{animation:nss-shine .8s;}
@keyframes nss-shine{to{left:130%}}
.nss-cta svg{transition:transform .25s;}
.nss-cta:hover svg{transform:translateX(3px);}
body.ns-shell .nss-foot .nss-cta-light{background:#fff;color:var(--nss-ink) !important;margin-left:0;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);}
.nss-cta-light:hover{background:#f1fbf8;}
.nss-burger{display:none;}

/* search panel */
.nss-search{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;gap:10px;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s,opacity .25s,padding .3s;}
.nss-head.search-open .nss-search{max-height:90px;opacity:1;padding:4px 20px 16px;}
.nss-search input[type=search]{flex:1;height:48px;padding:0 18px;border:1px solid var(--nss-line);border-radius:14px;background:#fff;font:500 16px var(--nss-body);color:var(--nss-ink);box-shadow:none;margin:0;}
.nss-search input[type=search]:focus{outline:2px solid var(--nss-bright);outline-offset:1px;}
.nss-search .nss-cta{margin:0;height:48px;}

/* drawer */
.nss-scrim{position:fixed;inset:0;background:rgba(7,42,38,.45);z-index:80;opacity:0;transition:opacity .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.nss-scrim[hidden]{display:none;}
body.nss-open .nss-scrim{opacity:1;}
.nss-drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,380px);z-index:90;background:#fff;padding:18px 20px 24px;display:flex;flex-direction:column;gap:18px;transform:translateX(104%);transition:transform .4s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 60px -30px rgba(11,59,54,.5);font-family:var(--nss-body);overflow-y:auto;}
body.nss-open .nss-drawer{transform:none;}
body.nss-open{overflow:hidden;}
.nss-drawer-top{display:flex;align-items:center;justify-content:space-between;}
.nss-drawer-nav{display:flex;flex-direction:column;}
.nss-drawer-nav a{padding:16px 4px;border-bottom:1px solid var(--nss-line);font:700 22px/1.1 var(--nss-display);letter-spacing:-.01em;color:var(--nss-ink);text-decoration:none;opacity:0;transform:translateX(16px);}
body.nss-open .nss-drawer-nav a{opacity:1;transform:none;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);}
body.nss-open .nss-drawer-nav a:nth-child(1){transition-delay:.08s}
body.nss-open .nss-drawer-nav a:nth-child(2){transition-delay:.12s}
body.nss-open .nss-drawer-nav a:nth-child(3){transition-delay:.16s}
body.nss-open .nss-drawer-nav a:nth-child(4){transition-delay:.20s}
body.nss-open .nss-drawer-nav a:nth-child(5){transition-delay:.24s}
body.nss-open .nss-drawer-nav a:nth-child(6){transition-delay:.28s}
body.nss-open .nss-drawer-nav a:nth-child(7){transition-delay:.32s}
.nss-cta-block{margin:auto 0 0;justify-content:center;padding:16px 20px;}

/* footer */
.nss-foot{position:relative;overflow:hidden;background:var(--nss-deep);color:#b7d3cd;font-family:var(--nss-body);margin-top:0;}
.nss-foot-glow{position:absolute;inset:-20% -10% auto auto;width:70%;height:90%;background:radial-gradient(closest-side,rgba(20,184,166,.28),transparent);filter:blur(10px);pointer-events:none;animation:nss-drift 14s ease-in-out infinite alternate;}
@keyframes nss-drift{to{transform:translate(-8%,6%) scale(1.1)}}
.nss-foot-in{position:relative;max-width:1240px;margin:0 auto;padding:0 20px 28px;}
.nss-band{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:64px 0 52px;border-bottom:1px solid rgba(255,255,255,.1);}
.nss-band-copy{max-width:540px;}
.nss-eyebrow{margin:0 0 12px;font:700 12px/1 var(--nss-body);letter-spacing:.16em;text-transform:uppercase;color:var(--nss-bright);}
body.ns-shell .nss-foot .nss-band h2{margin:0 0 12px;font:800 clamp(30px,4.4vw,46px)/1.05 var(--nss-display);letter-spacing:-.03em;color:#fff;}
body.ns-shell .nss-foot .nss-band p{margin:0 0 24px;font-size:17px;line-height:1.55;color:#b7d3cd;}
.nss-fan{position:relative;width:320px;height:250px;flex:none;}
.nss-fan i{position:absolute;left:50%;top:50%;width:132px;height:224px;margin:-112px 0 0 -66px;border-radius:12px;background:#fff center/cover no-repeat;box-shadow:0 30px 56px -18px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08);animation:nss-fan 7s ease-in-out infinite alternate;}
.nss-fan i:nth-child(1){--r:-12deg;--x:-84px;background-image:url('hero-card-1.jpg');}
.nss-fan i:nth-child(2){--r:0deg;--x:0px;z-index:2;background-image:url('hero-card-2.jpg');animation-delay:-2s;}
.nss-fan i:nth-child(3){--r:12deg;--x:84px;background-image:url('hero-card-3.jpg');animation-delay:-4s;}
@keyframes nss-fan{0%{transform:translateX(var(--x)) rotate(var(--r)) translateY(0)}100%{transform:translateX(calc(var(--x) * 1.15)) rotate(calc(var(--r) * 1.25)) translateY(-8px)}}
.nss-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding:48px 0 40px;}
.nss-col{display:flex;flex-direction:column;gap:11px;font-size:15px;line-height:1.5;}
body.ns-shell .nss-foot .nss-col h3{margin:0 0 6px;font:700 12px/1 var(--nss-body);letter-spacing:.16em;text-transform:uppercase;color:#fff;}
body.ns-shell .nss-foot .nss-col a{color:#b7d3cd;text-decoration:none;width:fit-content;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:color .2s,background-size .3s;}
body.ns-shell .nss-foot .nss-col a:hover{color:#fff;background-size:100% 1px;}
body.ns-shell .nss-foot .nss-brand p{margin:14px 0 6px;max-width:340px;}
.nss-addr{margin:0 0 4px;}
.nss-social{display:flex;gap:10px;margin-top:10px;}
body.ns-shell .nss-foot .nss-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;transition:background .2s,transform .2s;}
body.ns-shell .nss-foot .nss-social a:hover{background:var(--nss-accent);transform:translateY(-3px);}
.nss-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:#8fb3ab;}
.nss-legal nav{display:flex;flex-wrap:wrap;gap:6px 22px;}
body.ns-shell .nss-foot .nss-legal a{color:#8fb3ab;text-decoration:none;}
body.ns-shell .nss-foot .nss-legal a:hover{color:#fff;}

/* global polish */
body.ns-shell{font-family:var(--nss-body);color:var(--nss-ink);-webkit-font-smoothing:antialiased;}
body.ns-shell h1,body.ns-shell h2,body.ns-shell h3,body.ns-shell h4,body.ns-shell .product-title,body.ns-shell .woocommerce-loop-product__title{font-family:var(--nss-display);letter-spacing:-.015em;color:var(--nss-ink);}
body.ns-shell .breadcrumbs,body.ns-shell .woocommerce-breadcrumb{font-size:13.5px;color:#6a7c78;text-transform:none;letter-spacing:0;}
body.ns-shell .button.primary,body.ns-shell .single_add_to_cart_button,body.ns-shell .checkout-button,body.ns-shell #place_order,body.ns-shell button.button.alt,body.ns-shell .woocommerce a.button.alt{background:var(--nss-accent) !important;color:#fff !important;border:0;border-radius:999px;font:700 15px/1 var(--nss-body);text-transform:none;letter-spacing:0;padding:0 26px;min-height:46px;box-shadow:0 10px 24px -12px rgba(15,118,110,.7);transition:transform .2s,box-shadow .2s,background .2s;}
body.ns-shell .button.primary:hover,body.ns-shell .single_add_to_cart_button:hover,body.ns-shell .checkout-button:hover,body.ns-shell #place_order:hover{background:#0c645d !important;transform:translateY(-1px);}
body.ns-shell .button.secondary,body.ns-shell .button:not(.primary):not(.alt){border-radius:999px;text-transform:none;letter-spacing:0;font-weight:700;}
body.ns-shell .price,body.ns-shell .amount{color:var(--nss-ink);font-weight:700;}
body.ns-shell .product-small .box{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--nss-line),0 18px 36px -26px rgba(11,59,54,.45);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;}
body.ns-shell .product-small .box:hover{transform:translateY(-5px);box-shadow:0 1px 0 var(--nss-line),0 30px 44px -26px rgba(11,59,54,.55);}
body.ns-shell .product-small .box-image{border-radius:18px 18px 0 0;}
body.ns-shell .product-small .box-text{padding:14px 16px 18px;}
body.ns-shell .onsale,body.ns-shell .badge-inner{background:var(--nss-accent);border-radius:999px;}
body.ns-shell input[type=text],body.ns-shell input[type=email],body.ns-shell input[type=tel],body.ns-shell input[type=password],body.ns-shell input[type=number],body.ns-shell select,body.ns-shell textarea{border-radius:12px;border-color:#d3e3df;box-shadow:none;}
body.ns-shell input:focus,body.ns-shell select:focus,body.ns-shell textarea:focus{border-color:var(--nss-bright);box-shadow:0 0 0 3px rgba(20,184,166,.18);}
body.ns-shell .page-title,body.ns-shell .shop-page-title{background:var(--nss-tint);}
body.ns-shell .page-title-inner{padding:28px 0;}

/* scroll reveal (only when JS has added .nss-js) */
.nss-js .nss-rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
.nss-js .nss-rv.nss-in{opacity:1;transform:none;}

/* responsive */
@media (max-width:1040px){
  .nss-nav{display:none;}
  .nss-tools{margin-left:auto;}
  .nss-burger{display:inline-grid;}
  .nss-cols{grid-template-columns:1fr 1fr;}
  .nss-brand{grid-column:1/-1;}
}
@media (max-width:640px){
  :root{--nss-h:62px;}
  .nss-bar{gap:10px;padding:0 14px;}
  .nss-head.is-scrolled .nss-bar{height:58px;}
  .nss-word{font-size:17px;}
  .nss-logo img{width:40px;height:40px;}
  .nss-tools .nss-cta,.nss-acct{display:none;}
  .nss-band{flex-direction:column;align-items:flex-start;padding:48px 0 40px;}
  .nss-fan{align-self:center;transform:scale(.8);margin:-20px 0;}
  .nss-cols{grid-template-columns:1fr 1fr;gap:28px 20px;padding:36px 0 30px;}
  .nss-col:last-child{grid-column:1/-1;}
  .nss-legal{flex-direction:column;align-items:flex-start;}
  .nss-search{padding-left:14px;padding-right:14px;}
  .nss-ann{font-size:12px;}
}
@media (max-width:782px){body.admin-bar .nss-head{top:46px;}}
@media (prefers-reduced-motion:reduce){
  .nss-ann-in span{animation:none;opacity:0;transform:none;}
  .nss-ann-in span:first-child{opacity:1;}
  .nss-foot-glow,.nss-fan i,.nss-cart-count.has,.nss-cta:hover::before{animation:none;}
  .nss-js .nss-rv{opacity:1;transform:none;transition:none;}
  .nss-drawer,.nss-drawer-nav a{transition:none;}
}
