:root{
  --green:#F2C500;
  --green-dark:#B97800;
  --green-soft:#FFF6D6;
  --lime:#F7E6A4;
  --ink:#1A120C;
  --muted:#74695F;
  --line:#E9DFD2;
  --cream:#FFF9EE;
  --gold:#F2C500;
  --nv-espresso:#1A0D05;
  --nv-chocolate:#2B1609;
  --nv-brown:#4A260D;
  --nv-amber:#B97800;
  --nv-yellow:#F2C500;
  --nv-yellow-soft:#FFF1A8;
  --nv-cream:#FFF9EE;
  --nv-blue:#1296C8;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{font-family:Inter,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,h5,h6,.brand{font-family:Manrope,Inter,sans-serif}.container{max-width:1240px}
a{text-decoration:none}.topbar{background:linear-gradient(90deg,#FFF7E0,#FFF0BD,#FFF9EE);font-size:.76rem;padding:.55rem 0;color:#384333}.topbar i{color:var(--green);margin-right:.3rem}
.navbar{--bs-navbar-padding-y:0}.brand{display:flex;align-items:center;gap:.55rem;color:#111}.brand-mark{font-size:2rem;color:var(--green);line-height:1;transform:rotate(-15deg)}.brand strong{display:block;letter-spacing:.12em;font-size:1.25rem}.brand small{display:block;font-size:.52rem;letter-spacing:.38em;margin-left:.08rem}.nav-link{font-weight:600;font-size:.9rem;color:#242724!important;padding:.8rem .75rem!important}.nav-link:hover{color:var(--green)!important}
.icon-btn{width:40px;height:40px;border:0;background:transparent;display:grid;place-items:center;border-radius:50%;font-size:1.1rem;position:relative}.icon-btn:hover{background:var(--green-soft)}.cart-btn span{position:absolute;right:1px;top:1px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.62rem}
.hero{background:radial-gradient(circle at 68% 35%,#F8E8B4 0,transparent 29%),linear-gradient(105deg,#fbfcf5 0%,#FFF7E0 62%,#FFF0BD 100%);overflow:hidden}.min-vh-hero{min-height:510px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-block;background:#fff;border:1px solid #e4eadb;border-radius:99px;padding:.45rem .8rem;font-size:.72rem;font-weight:700;color:var(--green);margin-bottom:1rem}.hero h1{font-weight:800;font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.04;max-width:660px;letter-spacing:-.04em}.hero h1 span{color:var(--green)}.hero p{font-size:1.05rem;color:#41473e;margin:1.2rem 0 1.5rem}.btn-neivon{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.btn-neivon:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.hero-points{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:2.3rem;font-size:.78rem;font-weight:600}.hero-points i{color:var(--green);font-size:1rem;margin-right:.25rem}
.product-stage{height:460px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:18px;padding-bottom:45px}.blob{position:absolute;width:410px;height:340px;border-radius:48% 52% 50% 45%;background:#F7E4A4;top:45px;left:50%;transform:translateX(-50%)}.leaf{position:absolute;color:#D6A600;font-size:8rem;opacity:.55;z-index:1}.leaf-a{left:8%;bottom:55px;transform:rotate(-25deg)}.leaf-b{right:7%;top:45px;transform:rotate(130deg)}.pack{position:relative;z-index:2;background:#f8f7ef;border:1px solid #d9d8cb;border-radius:15px 15px 20px 20px;box-shadow:0 22px 40px rgba(54,75,38,.18);display:flex;align-items:center;justify-content:center;text-align:left}.pack .cap{position:absolute;top:-24px;left:-3px;right:-3px;height:30px;background:repeating-linear-gradient(90deg,#e9e8e0 0 4px,#d7d6cf 4px 6px);border-radius:9px 9px 3px 3px;border:1px solid #d3d2cb}.pack .label{width:100%;padding:22px 12px;background:linear-gradient(#fff,#f5f5ed);border-top:34px solid #C88B00;border-bottom:18px solid #C88B00}.pack .label small,.pack .label em{display:block;font-size:.55rem}.pack .label strong{display:block;font-size:1.25rem;line-height:1.05;margin:.55rem 0}.pack-xl{width:190px;height:285px}.pack-md{width:135px;height:205px}.pack-sm{width:105px;height:165px}.pack-md .label strong,.pack-sm .label strong{font-size:.8rem}.pack.dark{background:#1A0D05;border-color:#211108;color:#fff}.pack.dark .cap{background:repeating-linear-gradient(90deg,#151715 0 4px,#2c302b 4px 6px);border-color:#111}.pack.dark .label{background:#342012;border-color:#18391e}.round-control{width:42px;height:42px;border-radius:50%;background:#fff;color:#2c332a;display:grid;place-items:center;box-shadow:0 5px 18px rgba(0,0,0,.08)}.carousel-control-prev,.carousel-control-next{width:6%}.carousel-indicators [data-bs-target]{background-color:var(--green);width:28px;height:5px;border:0;border-radius:5px}
.hero-orbit{margin:auto;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.6);border:1px solid #dfe9cf;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);box-shadow:0 25px 70px rgba(60,91,37,.12)}.hero-orbit i{font-size:5rem}.hero-orbit span{font-size:1.4rem;text-align:center;color:#2d3929;margin-top:1rem}
.service-strip{background:#fff;box-shadow:0 10px 30px rgba(37,60,28,.08);position:relative;z-index:3}.service-item{padding:1.4rem;display:flex;align-items:center;justify-content:center;gap:.75rem;border-right:1px solid var(--line)}.service-item:last-child{border-right:0}.service-item>i{width:42px;height:42px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.2rem}.service-item strong,.service-item small{display:block}.service-item strong{font-size:.82rem}.service-item small{font-size:.68rem;color:var(--muted)}
.section-space{padding:4rem 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-head h2{font-weight:800;font-size:1.55rem;margin:0}.section-head a{color:var(--green);font-size:.78rem;font-weight:700}
.category-scroller{display:grid;grid-template-columns:repeat(8,1fr);gap:1rem}.category-item{text-align:center;color:var(--ink);font-size:.72rem}.category-item span{width:92px;height:92px;margin:0 auto .65rem;border-radius:50%;background:linear-gradient(145deg,#f6f8ef,#eaf2df);display:grid;place-items:center;border:1px solid #edf0e8;transition:.25s}.category-item i{font-size:2rem;color:var(--green)}.category-item:hover span{transform:translateY(-4px);box-shadow:0 12px 24px rgba(46,82,31,.1)}.category-item strong{display:block}
.product-card{height:100%;border:1px solid #edf0e9;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 6px 22px rgba(35,48,30,.05);transition:.25s;position:relative}.product-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(35,48,30,.1)}.product-badge{position:absolute;top:10px;left:10px;z-index:2;background:#f6d865;border-radius:5px;padding:.25rem .45rem;font-size:.62rem;font-weight:800}.product-badge.new{background:#cce9bc;color:#2c6b22}.product-art{height:220px;background:linear-gradient(#FBF5EC,#fff);display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px}.bottle{width:105px;height:150px;border-radius:9px 9px 14px 14px;background:#f7f6ed;border:1px solid #deddd4;position:relative;box-shadow:0 12px 18px rgba(32,45,27,.1)}.bottle:before{content:"";position:absolute;width:96px;height:24px;left:4px;top:-20px;border-radius:7px 7px 3px 3px;background:repeating-linear-gradient(90deg,#eee 0 4px,#d9d9d4 4px 6px)}.bottle-label{position:absolute;left:0;right:0;top:30px;bottom:20px;padding:10px 8px;border-top:26px solid #C88B00;border-bottom:12px solid #C88B00;background:#fff;font-size:.48rem}.bottle-label strong{display:block;font-family:Manrope;font-size:.8rem;line-height:1;margin:.35rem 0}.bottle.dark{background:#211108;border-color:#211108}.bottle.dark:before{background:repeating-linear-gradient(90deg,#111 0 4px,#2a2a2a 4px 6px)}.bottle.dark .bottle-label{background:#342012;color:#fff;border-color:#130A04}.bottle.blue .bottle-label{border-color:#4f9fa8}.bottle.amber .bottle-label{border-color:#c58c32}.product-body{padding:1rem}.rating{font-size:.65rem;color:var(--muted)}.rating i{color:var(--gold)}.product-title{font-size:.8rem;line-height:1.4;min-height:44px;margin:.45rem 0;font-weight:600}.price{font-size:1rem;font-weight:800}.mrp{font-size:.68rem;text-decoration:line-through;color:#92978f;margin-left:.3rem}.off{font-size:.65rem;color:var(--green);font-weight:700;margin-left:.25rem}.add-btn{width:100%;border:1px solid #8dbb79;color:var(--green);background:#fff;border-radius:6px;padding:.55rem;margin-top:.8rem;font-size:.72rem;font-weight:700}.add-btn:hover{background:var(--green);color:#fff}
.wellness-panel{background:linear-gradient(105deg,#FFF9E8,#FFF5D6);border-radius:15px;padding:2.2rem 2rem;position:relative;overflow:hidden}.wellness-panel:after{content:"❧";position:absolute;right:-20px;bottom:-45px;font-size:10rem;color:#F0D77D;opacity:.45;transform:rotate(-30deg)}.wellness-panel h3{color:var(--green);font-weight:800}.wellness-panel p{font-size:.75rem;line-height:1.6;color:#51584e}.wellness-point{position:relative;z-index:2}.wellness-point i{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-size:1.3rem;margin-bottom:.65rem}.wellness-point strong,.wellness-point small{display:block}.wellness-point strong{font-size:.72rem;margin-bottom:.35rem}.wellness-point small{font-size:.62rem;color:#646b61;line-height:1.45}
.quality-panel{background:#fafbf7;border:1px solid #f0f1eb;border-radius:15px;padding:1.7rem}.quality-panel h3{text-align:center;font-size:1rem;font-weight:800;margin-bottom:1.5rem}.quality-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;text-align:center}.quality-grid i{display:block;font-size:1.6rem;color:#626a5e;margin-bottom:.35rem}.quality-grid strong,.quality-grid small{display:block}.quality-grid strong{font-size:.68rem}.quality-grid small{font-size:.6rem;color:var(--muted)}
.subscribe-banner{min-height:220px;background:linear-gradient(100deg,#2B1609 0%,#9B5C0B 53%,#F2C500 100%);border-radius:15px;padding:2.5rem;color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.subscribe-banner:after{content:"❧";position:absolute;right:-25px;top:-65px;font-size:11rem;color:#fff;opacity:.22}.mini-title{font-size:.62rem;font-weight:800;letter-spacing:.18em}.subscribe-banner h2{font-weight:800;font-size:2rem;margin:.25rem 0}.subscribe-banner h5{font-size:.9rem}.subscribe-banner p{font-size:.72rem;opacity:.9}.subscribe-banner .btn{font-size:.72rem;font-weight:700;color:var(--green);margin-top:.5rem}.subscribe-visual{width:44%;height:170px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:8px}.mini-pack{background:#f5f3e7;color:#284522;border:1px solid rgba(0,0,0,.12);border-radius:8px 8px 12px 12px;display:grid;place-items:center;font-weight:800;box-shadow:0 15px 30px rgba(0,0,0,.13)}.p1{width:62px;height:90px;background:#25140A;color:#fff}.p2{width:88px;height:135px}.p3{width:58px;height:82px}.discount-bubble{width:100px;height:100px;border-radius:50%;background:#347823;display:grid;place-items:center;text-align:center;line-height:1.1;font-size:.6rem;margin-left:18px}.discount-bubble strong{font-size:1.5rem}
.footer{background:#182217;color:#e7eee4}.footer p{color:#aebaa9;font-size:.78rem}.footer .brand{color:#fff;margin-bottom:1rem}.footer h6{font-weight:800}.footer a{display:block;color:#aebaa9;font-size:.76rem;margin:.55rem 0}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.2rem;font-size:.68rem;color:#8d9a88}
@media(max-width:991.98px){.navbar-collapse{padding:1rem 0}.min-vh-hero{min-height:auto}.product-stage{height:390px}.category-scroller{display:flex;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.category-item{min-width:105px}.service-item{justify-content:flex-start;border-bottom:1px solid var(--line)}.quality-grid{grid-template-columns:repeat(3,1fr)}.subscribe-visual{width:48%}.hero-copy{text-align:center}.hero-points{justify-content:center}}
@media(max-width:767.98px){.topbar{font-size:.57rem}.topbar .col-4{padding:0 .15rem}.hero h1{font-size:2.45rem}.hero p{font-size:.9rem}.product-stage{height:315px;transform:scale(.84);margin:-20px -45px 0}.hero-points{gap:.75rem;font-size:.68rem}.service-item{padding:1rem .6rem}.service-item>i{width:34px;height:34px}.service-item strong{font-size:.7rem}.service-item small{font-size:.58rem}.section-space{padding:2.8rem 0}.section-head h2{font-size:1.25rem}.product-art{height:185px}.bottle{transform:scale(.86)}.wellness-panel{padding:1.5rem}.quality-grid{grid-template-columns:repeat(3,1fr);row-gap:1.5rem}.subscribe-banner{padding:1.6rem;display:block}.subscribe-visual{width:100%;height:145px;margin-top:1rem}.subscribe-banner h2{font-size:1.6rem}.carousel-control-prev,.carousel-control-next{display:none}}
@media(max-width:575.98px){.brand strong{font-size:1rem}.brand small{font-size:.43rem}.brand-mark{font-size:1.6rem}.icon-btn{width:34px;height:34px}.hero h1{font-size:2.05rem}.product-stage{transform:scale(.72);margin:-40px -80px -30px}.hero-points span{width:45%}.service-item{min-height:75px}.product-title{font-size:.74rem}.product-body{padding:.75rem}.quality-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== Editorial D2C refinement ===== */
:root{
  --page-gutter: clamp(20px, 4vw, 72px);
}
body{
  font-size: 16px;
  background:#fff;
}
.container{
  max-width: 1480px;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}
.navbar .container,
.topbar .container{
  max-width: 1600px;
}
.navbar{
  min-height: 88px;
}
.brand strong{
  font-size:1.45rem;
}
.nav-link{
  font-size:.98rem;
  padding:.95rem 1rem!important;
}
.hero{
  min-height: 760px;
  border-bottom:1px solid #eef1e8;
}
.min-vh-hero{
  min-height: 760px;
}
.hero .container{
  max-width:1600px;
}
.hero-copy{
  padding-left: clamp(0px, 2vw, 30px);
}
.hero h1{
  font-size: clamp(3.8rem, 6.4vw, 7.6rem);
  line-height:.94;
  letter-spacing:-.065em;
  max-width:920px;
  margin-bottom:1.8rem;
}
.hero h1 span{
  color:var(--green);
}
.hero p{
  font-size: clamp(1.15rem, 1.5vw, 1.5rem);
  line-height:1.5;
  max-width:690px;
  color:#3b4138;
}
.eyebrow{
  border:0;
  background:transparent;
  padding:0;
  border-radius:0;
  letter-spacing:.16em;
  font-size:.76rem;
  margin-bottom:1.35rem;
}
.btn-neivon.btn-lg{
  padding:1rem 1.65rem;
  border-radius:4px;
  font-size:.95rem;
}
.hero-points{
  margin-top:3rem;
  font-size:.86rem;
  gap:1.8rem;
}
.product-stage{
  height:650px;
  gap:24px;
  padding-bottom:65px;
}
.blob{
  width:600px;
  height:520px;
  top:52px;
}
.pack-xl{
  width:250px;
  height:390px;
}
.pack-md{
  width:175px;
  height:270px;
}
.pack-sm{
  width:135px;
  height:215px;
}
.pack .label strong{
  font-size:1.65rem;
}
.pack-md .label strong,
.pack-sm .label strong{
  font-size:1.05rem;
}
.service-strip{
  box-shadow:none;
  border-bottom:1px solid #edf0ea;
}
.service-item{
  padding:1.8rem 1rem;
}
.service-item strong{
  font-size:.9rem;
}
.service-item small{
  font-size:.75rem;
}
.section-space{
  padding:6.5rem 0;
}
.section-head{
  margin-bottom:2.4rem;
}
.editorial-head{
  align-items:flex-end;
}
.section-kicker{
  display:block;
  color:var(--green);
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.16em;
  margin-bottom:.45rem;
}
.section-head h2{
  font-size:clamp(2.4rem, 4.5vw, 4.8rem);
  letter-spacing:-.05em;
  line-height:.98;
}
.section-head a{
  font-size:.9rem;
}
.category-scroller{
  gap:1.5rem;
}
.category-item{
  font-size:.86rem;
}
.category-item span{
  width:138px;
  height:138px;
  margin-bottom:.9rem;
  border:none;
}
.category-item i{
  font-size:3rem;
}
#best,
#new{
  padding-bottom:7rem 0 7rem !important;
}
.product-card{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.product-card:hover{
  transform:none;
  box-shadow:none;
}
.product-art{
  height:390px;
  border-radius:14px;
  background:linear-gradient(180deg,#FBF4E8 0%,#FFFCF7 100%);
  padding-bottom:35px;
}
.bottle{
  width:160px;
  height:240px;
  box-shadow:0 22px 40px rgba(32,45,27,.10);
}
.bottle:before{
  width:148px;
  left:5px;
}
.bottle-label{
  top:48px;
  bottom:28px;
  padding:14px 12px;
}
.bottle-label strong{
  font-size:1.02rem;
}
.product-body{
  padding:1.15rem .15rem 0;
}
.rating{
  font-size:.76rem;
}
.product-title{
  font-size:1rem;
  min-height:50px;
  max-width:95%;
}
.price{
  font-size:1.2rem;
}
.mrp,.off{
  font-size:.76rem;
}
.add-btn{
  border-radius:3px;
  padding:.78rem;
  font-size:.82rem;
  margin-top:1rem;
}
.wellness-panel{
  border-radius:0;
  padding:4rem;
}
.wellness-panel h3{
  font-size:clamp(2.3rem,3.3vw,4rem);
  letter-spacing:-.045em;
  line-height:1;
}
.wellness-panel p{
  font-size:.95rem;
  max-width:330px;
}
.wellness-point i{
  width:58px;
  height:58px;
  font-size:1.55rem;
}
.wellness-point strong{
  font-size:.92rem;
}
.wellness-point small{
  font-size:.75rem;
}
.quality-panel{
  border-radius:0;
  border:0;
  border-top:1px solid #ecefe9;
  border-bottom:1px solid #ecefe9;
  background:#fff;
  padding:3rem 0;
}
.quality-panel h3{
  font-size:1.2rem;
}
.quality-grid i{
  font-size:2rem;
}
.quality-grid strong{
  font-size:.8rem;
}
.quality-grid small{
  font-size:.7rem;
}
.subscribe-banner{
  min-height:360px;
  border-radius:0;
  padding:4.5rem 5rem;
}
.subscribe-banner h2{
  font-size:clamp(3rem,5vw,5.6rem);
  letter-spacing:-.05em;
  line-height:.95;
}
.subscribe-banner h5{
  font-size:1.25rem;
}
.subscribe-banner p{
  font-size:.95rem;
}
.subscribe-banner .btn{
  padding:1rem 1.4rem;
  font-size:.85rem;
}
.subscribe-visual{
  height:260px;
}
.p1{width:90px;height:140px}
.p2{width:128px;height:210px}
.p3{width:82px;height:130px}
.discount-bubble{
  width:140px;
  height:140px;
}
.discount-bubble strong{
  font-size:2.1rem;
}
.footer{
  padding-top:2rem;
}
.footer h6{
  font-size:1rem;
}
.footer p,
.footer a{
  font-size:.86rem;
}

@media (max-width:1199.98px){
  .hero,.min-vh-hero{min-height:680px}
  .hero h1{font-size:clamp(3.5rem,6.5vw,6rem)}
  .product-stage{height:560px}
  .blob{width:500px;height:430px}
  .product-art{height:320px}
  .category-item span{width:115px;height:115px}
}
@media (max-width:991.98px){
  .navbar{min-height:auto}
  .hero,.min-vh-hero{min-height:auto}
  .hero-copy{padding-top:5rem!important}
  .hero h1{font-size:clamp(3.2rem,9vw,5.6rem)}
  .hero p{margin-left:auto;margin-right:auto}
  .product-stage{height:500px}
  .section-space{padding:5rem 0}
  .product-art{height:300px}
  .wellness-panel{padding:3rem}
  .subscribe-banner{padding:3rem}
}
@media (max-width:767.98px){
  .hero-copy{padding-top:4rem!important}
  .hero h1{font-size:clamp(2.8rem,12vw,4.8rem); line-height:.95}
  .hero p{font-size:1.05rem}
  .product-stage{height:390px;transform:none;margin:0}
  .blob{width:360px;height:300px}
  .pack-xl{width:170px;height:260px}
  .pack-md{width:118px;height:185px}
  .pack-sm{width:90px;height:145px}
  .section-space{padding:4rem 0}
  .section-head{align-items:flex-end}
  .section-head h2{font-size:2.5rem}
  .product-art{height:250px}
  .bottle{width:120px;height:185px}
  .wellness-panel{padding:2rem}
  .subscribe-banner{padding:2.2rem}
}
@media (max-width:575.98px){
  .hero h1{font-size:2.9rem}
  .hero-points span{width:auto}
  .product-stage{height:330px;transform:scale(.92);margin:0 -35px}
  .category-item{min-width:128px}
  .category-item span{width:108px;height:108px}
  .product-art{height:215px}
  .bottle{transform:scale(.88)}
  .product-title{font-size:.9rem;min-height:54px}
  .subscribe-banner h2{font-size:2.7rem}
}


/* ===== About page ===== */
.about-page .about-hero{
  background:
    radial-gradient(circle at 82% 32%, rgba(217,236,190,.9) 0, rgba(217,236,190,0) 29%),
    linear-gradient(112deg,#fbfcf6 0%,#FFF4D1 64%,#F8E4A0 100%);
  overflow:hidden;
  border-bottom:1px solid #edf0e9;
}
.about-page .about-hero-inner{
  min-height:720px;
  display:flex;
  align-items:flex-end;
  padding-top:7rem;
  padding-bottom:6rem;
}
.about-page .about-kicker{
  display:block;
  color:var(--green);
  font-weight:800;
  font-size:.74rem;
  letter-spacing:.17em;
  margin-bottom:1rem;
}
.about-page .about-hero h1{
  font-size:clamp(4rem,7vw,8.2rem);
  line-height:.91;
  letter-spacing:-.07em;
  font-weight:800;
  max-width:1100px;
  margin:0;
}
.about-page .about-hero h1 span{color:var(--green)}
.about-page .about-hero-intro{
  max-width:470px;
  font-size:clamp(1.08rem,1.5vw,1.45rem);
  line-height:1.65;
  color:#3e463b;
  margin:0 0 .7rem;
}
.about-page .about-art{
  position:relative;
  min-height:520px;
  background:linear-gradient(120deg,#F8E8B4,#f5f8ee);
  overflow:hidden;
}
.about-page .about-art:before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  background:#F2D979;
  right:12%;
  top:34px;
}
.about-page .about-art:after{
  content:"❧";
  position:absolute;
  right:6%;
  bottom:-70px;
  font-size:18rem;
  color:#D6A600;
  opacity:.22;
  transform:rotate(-25deg);
}
.about-page .about-floating-card{
  position:absolute;
  z-index:2;
  padding:2rem;
  box-shadow:0 20px 45px rgba(48,75,35,.12);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.about-page .about-floating-card small{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--green);
  margin-bottom:.6rem;
}
.about-page .about-floating-card strong{
  font-family:Manrope,Inter,sans-serif;
  font-size:2rem;
  line-height:1.05;
  max-width:290px;
}
.about-page .about-card-one{
  width:380px;
  height:290px;
  left:8%;
  bottom:55px;
  background:#fff;
}
.about-page .about-card-two{
  width:320px;
  height:225px;
  right:8%;
  top:68px;
  background:#25140A;
  color:#fff;
}
.about-page .about-card-two small{color:#bde1a4}
.about-page .about-orbit{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:210px;
  height:210px;
  border:1px solid rgba(54,123,36,.24);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--green);
  z-index:1;
}
.about-page .about-orbit i{font-size:5rem}
.about-page .about-section{padding:7rem 0}
.about-page .about-section.soft{background:#FFFCF7}
.about-page .about-heading{
  font-size:clamp(3rem,5vw,6rem);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:800;
}
.about-page .about-copy{
  max-width:830px;
  font-size:1.17rem;
  line-height:1.78;
  color:#4b5249;
}
.about-page .about-copy p{margin-bottom:1.45rem}
.about-page .principle{
  height:100%;
  min-height:355px;
  padding:1.7rem .15rem 1rem;
  border-top:1px solid #dfe4dc;
}
.about-page .principle .no{
  display:block;
  color:#93998f;
  font-size:.68rem;
  font-weight:700;
}
.about-page .principle i{
  display:block;
  margin:3.3rem 0 1.8rem;
  font-size:2.4rem;
  color:var(--green);
}
.about-page .principle h3{
  font-size:1.55rem;
  font-weight:800;
  letter-spacing:-.03em;
}
.about-page .principle p{
  color:var(--muted);
  line-height:1.65;
  max-width:300px;
}
.about-page .science-band{
  background:#1A0D05;
  color:#fff;
}
.about-page .science-copy{
  padding:6rem;
}
.about-page .science-copy .about-kicker{color:#add491}
.about-page .science-copy .about-heading{max-width:800px}
.about-page .science-copy p{
  max-width:700px;
  margin:1.8rem 0;
  font-size:1.06rem;
  line-height:1.75;
  color:#d4dfd1;
}
.about-page .science-visual{
  min-height:610px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at center,#F6DE8C 0,#D7B34B 47%,#9B5C0B 100%);
}
.about-page .science-visual:before,
.about-page .science-visual:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.56);
  border-radius:50%;
}
.about-page .science-visual:before{width:430px;height:430px}
.about-page .science-visual:after{width:300px;height:300px}
.about-page .science-core{
  position:relative;
  z-index:2;
  width:270px;
  height:270px;
  border-radius:50%;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:2rem;
  box-shadow:0 24px 60px rgba(30,70,35,.16);
}
.about-page .science-core i{
  font-size:3rem;
  color:var(--green);
  margin-bottom:1rem;
}
.about-page .science-core strong{font-size:1.15rem}
.about-page .science-core small{
  margin-top:.55rem;
  color:#697168;
  line-height:1.5;
}
.about-page .trust-row{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-page .trust-row>div{
  padding:2.6rem 1rem;
  text-align:center;
  border-right:1px solid var(--line);
}
.about-page .trust-row>div:last-child{border-right:0}
.about-page .trust-row i{
  display:block;
  color:var(--green);
  font-size:2rem;
  margin-bottom:.65rem;
}
.about-page .trust-row strong,
.about-page .trust-row small{display:block}
.about-page .trust-row strong{font-size:.85rem}
.about-page .trust-row small{
  font-size:.7rem;
  color:var(--muted);
  margin-top:.2rem;
}
.about-page .mission-panel{
  min-height:500px;
  padding:6rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:linear-gradient(105deg,#2B1609 0%,#9B5C0B 66%,#F2C500 100%);
  position:relative;
  overflow:hidden;
}
.about-page .mission-panel:after{
  content:"❧";
  position:absolute;
  right:-35px;
  top:-95px;
  font-size:18rem;
  color:#fff;
  opacity:.17;
}
.about-page .mission-panel .about-kicker{color:#dbedce}
.about-page .mission-panel .about-heading{
  max-width:1050px;
  position:relative;
  z-index:1;
}
.about-page .mission-panel p{
  max-width:760px;
  font-size:1.07rem;
  line-height:1.75;
  color:#f1f7ee;
  position:relative;
  z-index:1;
}
.about-page .about-cta{
  padding:6rem 0;
  border-top:1px solid var(--line);
}

@media(max-width:991.98px){
  .about-page .about-hero-inner{
    min-height:auto;
    padding-top:6rem;
    padding-bottom:4rem;
  }
  .about-page .about-hero-intro{margin-top:2rem}
  .about-page .about-art{min-height:610px}
  .about-page .about-card-one{left:5%}
  .about-page .about-card-two{right:5%}
  .about-page .about-section{padding:5.5rem 0}
  .about-page .science-copy{padding:4rem}
  .about-page .science-visual{min-height:500px}
  .about-page .trust-row{grid-template-columns:repeat(3,1fr)}
  .about-page .trust-row>div:nth-child(3){border-right:0}
  .about-page .trust-row>div:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .about-page .mission-panel{padding:4rem}
}
@media(max-width:767.98px){
  .about-page .about-hero h1{font-size:3.5rem}
  .about-page .about-art{min-height:620px}
  .about-page .about-floating-card{width:82%}
  .about-page .about-card-one{height:235px}
  .about-page .about-card-two{height:190px;top:42px}
  .about-page .about-orbit{width:145px;height:145px}
  .about-page .about-orbit i{font-size:3.4rem}
  .about-page .about-heading{font-size:2.8rem}
  .about-page .about-copy{font-size:1.03rem}
  .about-page .science-copy{padding:3rem 2rem}
  .about-page .science-visual{min-height:430px}
  .about-page .science-core{width:225px;height:225px}
  .about-page .trust-row{grid-template-columns:repeat(2,1fr)}
  .about-page .trust-row>div:nth-child(odd){border-right:1px solid var(--line)}
  .about-page .trust-row>div:nth-child(even){border-right:0}
  .about-page .trust-row>div{border-bottom:1px solid var(--line)}
  .about-page .mission-panel{padding:3rem 2rem;min-height:440px}
}
@media(max-width:575.98px){
  .about-page .about-hero h1{font-size:2.95rem}
  .about-page .about-art{min-height:565px}
  .about-page .about-floating-card{width:88%;left:6%;right:auto}
  .about-page .about-card-one{bottom:28px}
  .about-page .about-card-two{top:28px}
  .about-page .about-heading{font-size:2.6rem}
  .about-page .principle{min-height:300px}
  .about-page .principle i{margin:2.2rem 0 1.3rem}
  .about-page .mission-panel .about-heading{font-size:2.9rem}
}

.about-page .mt-n-about{margin-top:-55px;position:relative;z-index:3}
@media(max-width:767.98px){.about-page .mt-n-about{margin-top:-25px}}


/* ===== Blog page ===== */
.blog-page .blog-hero{background:radial-gradient(circle at 80% 22%,rgba(214,233,186,.95) 0,rgba(214,233,186,0) 30%),linear-gradient(112deg,#fbfcf6 0%,#FFF4D1 65%,#F8E4A0 100%);border-bottom:1px solid #edf0e9;overflow:hidden}
.blog-page .blog-hero-inner{min-height:610px;display:flex;align-items:flex-end;padding-top:7rem;padding-bottom:5rem}
.blog-page .blog-kicker{display:block;color:var(--green);font-weight:800;font-size:.72rem;letter-spacing:.17em;margin-bottom:1rem}
.blog-page .blog-hero h1{font-size:clamp(4rem,7vw,8rem);line-height:.92;letter-spacing:-.07em;font-weight:800;max-width:1000px;margin:0}
.blog-page .blog-hero h1 span{color:var(--green)}
.blog-page .blog-hero p{max-width:470px;font-size:clamp(1.08rem,1.45vw,1.4rem);line-height:1.65;color:#41483e;margin:0 0 .5rem}
.blog-page .blog-toolbar{padding:2.2rem 0;border-bottom:1px solid var(--line);background:#fff}
.blog-page .blog-filter-row{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}
.blog-page .blog-filters{display:flex;gap:.6rem;flex-wrap:wrap}
.blog-page .blog-filter{border:1px solid #dfe5da;background:#fff;color:#3f473d;border-radius:99px;padding:.65rem 1rem;font-size:.8rem;font-weight:700;transition:.2s}
.blog-page .blog-filter:hover,.blog-page .blog-filter.active{background:var(--green);border-color:var(--green);color:#fff}
.blog-page .blog-search{min-width:300px;max-width:360px;position:relative}
.blog-page .blog-search i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#7c8479}
.blog-page .blog-search input{width:100%;border:1px solid #dfe5da;border-radius:99px;padding:.75rem 1rem .75rem 2.7rem;outline:0;font-size:.86rem}
.blog-page .blog-search input:focus{border-color:#a8c99b;box-shadow:0 0 0 3px rgba(54,123,36,.08)}
.blog-page .blog-section{padding:6rem 0}
.blog-page .featured-story{min-height:600px;display:grid;grid-template-columns:1.08fr .92fr;background:#f4f7ef;overflow:hidden}
.blog-page .featured-visual{min-height:600px;background:radial-gradient(circle at 48% 46%,#FFF1BE 0,#F3D87A 45%,#E6B928 100%);display:grid;place-items:center;position:relative;overflow:hidden}
.blog-page .featured-visual:before,.blog-page .featured-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.65);border-radius:50%}
.blog-page .featured-visual:before{width:430px;height:430px}.blog-page .featured-visual:after{width:280px;height:280px}
.blog-page .featured-pack{width:210px;height:310px;border-radius:14px 14px 22px 22px;background:#faf8ed;border:1px solid #d7d5ca;box-shadow:0 28px 60px rgba(44,68,34,.16);position:relative;z-index:2}
.blog-page .featured-pack:before{content:"";position:absolute;width:196px;height:34px;left:6px;top:-28px;border-radius:8px 8px 3px 3px;background:repeating-linear-gradient(90deg,#efeee6 0 5px,#d5d4cc 5px 7px)}
.blog-page .featured-pack-label{position:absolute;inset:62px 0 28px;padding:1.2rem 1rem;background:#fff;border-top:44px solid #C88B00;border-bottom:18px solid #C88B00;display:flex;flex-direction:column;justify-content:center}
.blog-page .featured-pack-label small{font-size:.58rem;letter-spacing:.12em}.blog-page .featured-pack-label strong{font-family:Manrope,Inter,sans-serif;font-size:1.6rem;line-height:1;margin:.55rem 0}
.blog-page .featured-copy{padding:5rem;display:flex;flex-direction:column;justify-content:center}
.blog-page .blog-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-size:.72rem;color:#747b71;margin-bottom:1rem}
.blog-page .blog-meta .tag{color:var(--green);font-weight:800;letter-spacing:.08em}
.blog-page .featured-copy h2{font-size:clamp(2.7rem,4vw,5rem);line-height:.98;letter-spacing:-.055em;font-weight:800;margin-bottom:1.2rem}
.blog-page .featured-copy p{color:#565e53;font-size:1rem;line-height:1.7;max-width:600px}
.blog-page .blog-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--green);font-weight:800;font-size:.85rem;margin-top:1rem}
.blog-page .blog-link i{transition:.2s}.blog-page .blog-link:hover i{transform:translateX(4px)}
.blog-page .blog-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.7rem}
.blog-page .blog-heading-row h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:.98;letter-spacing:-.055em;font-weight:800;margin:0}
.blog-page .blog-card{height:100%;background:#fff;border-top:1px solid #dfe4dc;padding-top:1rem}
.blog-page .blog-thumb{aspect-ratio:1.28/1;background:linear-gradient(145deg,#FFF3CA,#F1D36B);overflow:hidden;position:relative;margin-bottom:1.25rem}
.blog-page .blog-thumb.dark{background:linear-gradient(145deg,#244c29,#1A0D05)}.blog-page .blog-thumb.amber{background:linear-gradient(145deg,#f7ecd4,#e8cc91)}.blog-page .blog-thumb.blue{background:linear-gradient(145deg,#e6f2f1,#b8d8d5)}.blog-page .blog-thumb.pink{background:linear-gradient(145deg,#f6e9ec,#e8c9d0)}
.blog-page .blog-thumb .thumb-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.72);display:grid;place-items:center;font-size:3rem;color:var(--green)}
.blog-page .blog-thumb.dark .thumb-icon{background:rgba(255,255,255,.1);color:#d9edcb}
.blog-page .blog-card h3{font-size:1.35rem;line-height:1.28;letter-spacing:-.025em;font-weight:800;margin:.6rem 0 .8rem}
.blog-page .blog-card p{color:#666e63;line-height:1.65;font-size:.9rem;margin-bottom:0}
.blog-page .newsletter-panel{padding:4.5rem;background:linear-gradient(105deg,#2B1609 0%,#9B5C0B 65%,#F2C500 100%);color:#fff;position:relative;overflow:hidden}
.blog-page .newsletter-panel:after{content:"❧";position:absolute;right:-30px;top:-80px;font-size:17rem;color:#fff;opacity:.18}
.blog-page .newsletter-panel h2{font-size:clamp(2.8rem,5vw,5.3rem);line-height:.95;letter-spacing:-.055em;font-weight:800;max-width:800px;position:relative;z-index:1}
.blog-page .newsletter-panel p{font-size:1rem;max-width:620px;color:#eef6e9;position:relative;z-index:1}
.blog-page .newsletter-form{display:flex;gap:.7rem;max-width:650px;margin-top:1.5rem;position:relative;z-index:1}
.blog-page .newsletter-form input{flex:1;border:0;padding:1rem 1.1rem;outline:0}.blog-page .newsletter-form button{border:0;background:#fff;color:var(--green);padding:1rem 1.4rem;font-weight:800}
.blog-page .blog-empty{display:none;padding:4rem 0;text-align:center;color:#6f766c}.blog-page .blog-card-item.is-hidden{display:none!important}
@media(max-width:991.98px){.blog-page .blog-hero-inner{min-height:auto;padding-top:6rem;padding-bottom:4rem}.blog-page .blog-hero p{margin-top:2rem}.blog-page .blog-filter-row{flex-direction:column;align-items:stretch}.blog-page .blog-search{max-width:none;min-width:0}.blog-page .featured-story{grid-template-columns:1fr}.blog-page .featured-visual{min-height:480px}.blog-page .featured-copy{padding:4rem}.blog-page .blog-section{padding:5rem 0}.blog-page .newsletter-panel{padding:3.5rem}}
@media(max-width:767.98px){.blog-page .blog-hero h1{font-size:3.5rem}.blog-page .blog-toolbar{padding:1.5rem 0}.blog-page .blog-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}.blog-page .blog-filter{white-space:nowrap}.blog-page .featured-visual{min-height:390px}.blog-page .featured-pack{transform:scale(.82)}.blog-page .featured-copy{padding:2.5rem 2rem}.blog-page .blog-heading-row{display:block}.blog-page .blog-heading-row h2{font-size:2.8rem}.blog-page .newsletter-panel{padding:2.5rem 2rem}.blog-page .newsletter-form{display:block}.blog-page .newsletter-form input,.blog-page .newsletter-form button{width:100%}.blog-page .newsletter-form button{margin-top:.65rem}}
@media(max-width:575.98px){.blog-page .blog-hero h1{font-size:2.95rem}.blog-page .blog-hero p{font-size:1rem}.blog-page .featured-visual{min-height:330px}.blog-page .featured-copy h2{font-size:2.7rem}.blog-page .blog-card h3{font-size:1.2rem}.blog-page .newsletter-panel h2{font-size:2.8rem}}
/* ===== Contact page ===== */
.contact-page .contact-hero{background:radial-gradient(circle at 84% 24%,rgba(215,234,187,.95) 0,rgba(215,234,187,0) 30%),linear-gradient(112deg,#fbfcf6 0%,#FFF4D1 65%,#F8E4A0 100%);border-bottom:1px solid #edf0e9;overflow:hidden}.contact-page .contact-hero-inner{min-height:590px;display:flex;align-items:flex-end;padding:7rem 0 5rem}.contact-page .contact-kicker{display:block;color:var(--green);font-weight:800;font-size:.72rem;letter-spacing:.17em;margin-bottom:1rem}.contact-page .contact-hero h1{font-size:clamp(4rem,7vw,8rem);line-height:.92;letter-spacing:-.07em;font-weight:800;max-width:1050px;margin:0}.contact-page .contact-hero h1 span{color:var(--green)}.contact-page .contact-hero p{max-width:480px;font-size:clamp(1.08rem,1.45vw,1.4rem);line-height:1.65;color:#41483e;margin:0 0 .5rem}.contact-page .contact-section{padding:6.5rem 0}.contact-page .contact-panel{display:grid;grid-template-columns:.86fr 1.14fr;background:#f8faf4}.contact-page .contact-info{padding:5rem;background:#1A0D05;color:#fff;position:relative;overflow:hidden}.contact-page .contact-info:after{content:"❧";position:absolute;right:-30px;bottom:-90px;font-size:17rem;color:#fff;opacity:.08}.contact-page .contact-info .contact-kicker{color:#afd693}.contact-page .contact-info h2{font-size:clamp(2.8rem,4vw,4.8rem);line-height:.97;letter-spacing:-.055em;font-weight:800;max-width:600px;position:relative;z-index:1}.contact-page .contact-info>p{max-width:560px;color:#d5dfd2;line-height:1.75;font-size:1rem;margin:1.4rem 0 2.5rem;position:relative;z-index:1}.contact-page .contact-list{display:grid;gap:1.2rem;position:relative;z-index:1}.contact-page .contact-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-top:1px solid rgba(255,255,255,.13)}.contact-page .contact-item i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#d8efc9;font-size:1.2rem;flex:0 0 auto}.contact-page .contact-item strong,.contact-page .contact-item span{display:block}.contact-page .contact-item strong{font-size:.9rem;margin-bottom:.3rem}.contact-page .contact-item span{font-size:.82rem;color:#bdc9b9;line-height:1.55}.contact-page .contact-form-wrap{padding:5rem;background:#fff}.contact-page .contact-form-wrap h3{font-size:clamp(2.2rem,3vw,3.6rem);line-height:1;letter-spacing:-.045em;font-weight:800;margin-bottom:.8rem}.contact-page .contact-form-wrap>p{color:#687066;line-height:1.7;margin-bottom:2rem}.contact-page .contact-form .form-label{font-size:.76rem;font-weight:800;color:#394036;margin-bottom:.45rem}.contact-page .contact-form .form-control,.contact-page .contact-form .form-select{border:1px solid #dfe5da;border-radius:3px;min-height:54px;padding:.85rem 1rem;box-shadow:none;font-size:.9rem}.contact-page .contact-form textarea.form-control{min-height:170px;resize:vertical}.contact-page .contact-form .form-control:focus,.contact-page .contact-form .form-select:focus{border-color:#9fc48f;box-shadow:0 0 0 3px rgba(54,123,36,.08)}.contact-page .contact-status{display:none;margin-top:1rem;padding:.9rem 1rem;border-radius:3px;background:#edf7e7;color:#2c6820;font-size:.82rem;font-weight:700}.contact-page .support-section{padding:0 0 6.5rem}.contact-page .support-heading,.contact-page .faq-strip h2{font-size:clamp(2.8rem,4.5vw,5.2rem);line-height:.98;letter-spacing:-.055em;font-weight:800}.contact-page .support-card{height:100%;padding:2rem 0 1.3rem;border-top:1px solid #dfe4dc}.contact-page .support-card i{width:58px;height:58px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.45rem;margin-bottom:2rem}.contact-page .support-card h3{font-size:1.35rem;font-weight:800}.contact-page .support-card p{color:#667064;font-size:.9rem;line-height:1.65;max-width:320px}.contact-page .support-card a{color:var(--green);font-size:.82rem;font-weight:800}.contact-page .hours-panel{margin-top:1.3rem;padding:3rem;background:linear-gradient(105deg,#FFF4D1,#F6DF91)}.contact-page .hours-panel h3{font-size:2rem;font-weight:800}.contact-page .hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.contact-page .hours-grid div{padding:1.25rem 0;border-top:1px solid #cfdac6}.contact-page .hours-grid strong,.contact-page .hours-grid span{display:block}.contact-page .hours-grid span{font-size:.78rem;color:#657062;margin-top:.35rem}.contact-page .faq-strip{padding:5rem 0;background:#FFFCF7}.contact-page .faq-strip p{color:#687066;font-size:1rem;line-height:1.7;max-width:550px}.contact-page .btn-outline-neivon{border:1px solid var(--green);color:var(--green);border-radius:3px;font-weight:800;padding:.9rem 1.3rem}.contact-page .btn-outline-neivon:hover{background:var(--green);color:#fff}@media(max-width:991.98px){.contact-page .contact-hero-inner{min-height:auto;padding:6rem 0 4rem}.contact-page .contact-hero p{margin-top:2rem}.contact-page .contact-panel{grid-template-columns:1fr}.contact-page .contact-info,.contact-page .contact-form-wrap{padding:4rem}.contact-page .hours-grid{grid-template-columns:1fr}}@media(max-width:767.98px){.contact-page .contact-hero h1{font-size:3.5rem}.contact-page .contact-section{padding:5rem 0}.contact-page .contact-info,.contact-page .contact-form-wrap{padding:3rem 2rem}.contact-page .support-heading{font-size:2.8rem}.contact-page .hours-panel{padding:2rem}}@media(max-width:575.98px){.contact-page .contact-hero h1{font-size:2.95rem}.contact-page .contact-info h2{font-size:2.7rem}.contact-page .contact-form-wrap h3{font-size:2.4rem}}



/* ===== Shop page ===== */
.shop-page .shop-hero{
  background:
    radial-gradient(circle at 84% 28%, rgba(215,234,187,.95) 0, rgba(215,234,187,0) 30%),
    linear-gradient(112deg,#fbfcf6 0%,#FFF4D1 64%,#F8E4A0 100%);
  border-bottom:1px solid #edf0e9;
}
.shop-page .shop-hero-inner{
  min-height:520px;
  display:flex;
  align-items:flex-end;
  padding-top:7rem;
  padding-bottom:4.5rem;
}
.shop-page .shop-kicker{
  display:block;
  color:var(--green);
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.17em;
  margin-bottom:1rem;
}
.shop-page .shop-hero h1{
  font-size:clamp(4rem,7vw,7.5rem);
  line-height:.92;
  letter-spacing:-.07em;
  font-weight:800;
  max-width:1050px;
  margin:0;
}
.shop-page .shop-hero h1 span{color:var(--green)}
.shop-page .shop-hero p{
  max-width:480px;
  font-size:clamp(1.06rem,1.4vw,1.35rem);
  line-height:1.65;
  color:#41483e;
  margin:0 0 .5rem;
}
.shop-page .shop-category-nav{
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:88px;
  z-index:20;
}
.shop-page .shop-category-scroller{
  display:flex;
  gap:.4rem;
  overflow-x:auto;
  padding:1rem 0;
  scrollbar-width:none;
}
.shop-page .shop-category-scroller::-webkit-scrollbar{display:none}
.shop-page .shop-category-pill{
  flex:0 0 auto;
  border:1px solid #dfe5da;
  background:#fff;
  color:#3e473b;
  border-radius:99px;
  padding:.7rem 1rem;
  font-size:.8rem;
  font-weight:800;
}
.shop-page .shop-category-pill:hover,
.shop-page .shop-category-pill.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.shop-page .shop-main{padding:4rem 0 6rem}
.shop-page .shop-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:3rem;
}
.shop-page .shop-sidebar{
  position:sticky;
  top:165px;
  align-self:start;
}
.shop-page .filter-block{
  padding:1.4rem 0;
  border-top:1px solid var(--line);
}
.shop-page .filter-block:first-child{border-top:0;padding-top:0}
.shop-page .filter-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  font-weight:800;
  font-size:.85rem;
  margin-bottom:1rem;
}
.shop-page .filter-options{
  display:grid;
  gap:.65rem;
}
.shop-page .filter-check{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:.82rem;
  color:#566053;
  cursor:pointer;
}
.shop-page .filter-check input{accent-color:var(--green)}
.shop-page .filter-count{
  margin-left:auto;
  font-size:.68rem;
  color:#92998f;
}
.shop-page .shop-results-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1.5rem;
  margin-bottom:2rem;
}
.shop-page .shop-results-head h2{
  font-size:clamp(2.5rem,4vw,4.6rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:800;
  margin:0;
}
.shop-page .shop-results-meta{
  color:#747b71;
  font-size:.82rem;
  margin-top:.5rem;
}
.shop-page .shop-tools{
  display:flex;
  gap:.7rem;
  align-items:center;
}
.shop-page .shop-search{
  position:relative;
  min-width:250px;
}
.shop-page .shop-search i{
  position:absolute;
  left:.9rem;
  top:50%;
  transform:translateY(-50%);
  color:#7c8479;
}
.shop-page .shop-search input,
.shop-page .shop-sort{
  border:1px solid #dfe5da;
  background:#fff;
  min-height:46px;
  font-size:.8rem;
  outline:0;
}
.shop-page .shop-search input{
  width:100%;
  padding:.7rem .9rem .7rem 2.4rem;
}
.shop-page .shop-sort{padding:.7rem 2.3rem .7rem .9rem}
.shop-page .shop-search input:focus,
.shop-page .shop-sort:focus{
  border-color:#a8c99b;
  box-shadow:0 0 0 3px rgba(54,123,36,.07);
}
.shop-page .mobile-filter-btn{
  display:none;
  border:1px solid #dfe5da;
  background:#fff;
  min-height:46px;
  padding:.7rem 1rem;
  font-size:.8rem;
  font-weight:800;
}
.shop-page .catalog-section{
  scroll-margin-top:180px;
  padding:1rem 0 4.5rem;
}
.shop-page .catalog-section+.catalog-section{
  border-top:1px solid var(--line);
  padding-top:4.5rem;
}
.shop-page .catalog-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1.5rem;
  margin-bottom:1.8rem;
}
.shop-page .catalog-section-head h3{
  font-size:clamp(2rem,3vw,3.3rem);
  letter-spacing:-.045em;
  line-height:1;
  font-weight:800;
  margin:0;
}
.shop-page .catalog-section-head p{
  margin:.55rem 0 0;
  color:#71786e;
  font-size:.84rem;
}
.shop-page .category-count{
  color:var(--green);
  font-weight:800;
  font-size:.78rem;
}
.shop-page .shop-product-card{
  height:100%;
  position:relative;
}
.shop-page .shop-product-art{
  min-height:330px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:2rem 1rem 1.5rem;
  background:linear-gradient(180deg,#f3f6ee,#FFFCF7);
  position:relative;
  overflow:hidden;
}
.shop-page .shop-product-art:after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;
  background:#F8E8B4;
  right:-55px;
  top:-50px;
  opacity:.65;
}
.shop-page .shop-badge{
  position:absolute;
  left:12px;
  top:12px;
  z-index:3;
  background:#fff;
  padding:.35rem .55rem;
  border-radius:2px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.05em;
}
.shop-page .shop-badge.green{background:#dff0d3;color:#2c6b22}
.shop-page .shop-badge.gold{background:#f5df8c;color:#5b4a12}
.shop-page .wishlist-btn{
  position:absolute;
  right:12px;
  top:12px;
  z-index:3;
  width:36px;
  height:36px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.9);
  display:grid;
  place-items:center;
  color:#384036;
}
.shop-page .wishlist-btn.active{color:#a32626}
.shop-page .catalog-bottle{
  position:relative;
  z-index:2;
  width:145px;
  height:220px;
  border-radius:11px 11px 18px 18px;
  background:#f6f5ec;
  border:1px solid #dddcd3;
  box-shadow:0 20px 34px rgba(37,51,32,.11);
}
.shop-page .catalog-bottle:before{
  content:"";
  position:absolute;
  width:136px;
  height:29px;
  left:4px;
  top:-24px;
  border-radius:8px 8px 3px 3px;
  background:repeating-linear-gradient(90deg,#eee 0 4px,#d8d7d0 4px 6px);
}
.shop-page .catalog-label{
  position:absolute;
  inset:44px 0 25px;
  padding:1rem .75rem;
  background:#fff;
  border-top:34px solid #C88B00;
  border-bottom:14px solid #C88B00;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.shop-page .catalog-label small{font-size:.48rem;letter-spacing:.08em}
.shop-page .catalog-label strong{
  display:block;
  font-family:Manrope,Inter,sans-serif;
  font-size:1rem;
  line-height:1;
  margin:.45rem 0;
}
.shop-page .catalog-bottle.dark{background:#17371d;border-color:#17371d}
.shop-page .catalog-bottle.dark:before{background:repeating-linear-gradient(90deg,#131513 0 4px,#2b302a 4px 6px)}
.shop-page .catalog-bottle.dark .catalog-label{background:#342012;color:#fff;border-color:#16371c}
.shop-page .catalog-bottle.blue .catalog-label{border-color:#5ca2a7}
.shop-page .catalog-bottle.amber .catalog-label{border-color:#c78d31}
.shop-page .catalog-bottle.pink .catalog-label{border-color:#c98a9a}
.shop-page .catalog-bottle.purple .catalog-label{border-color:#8a78a7}
.shop-page .shop-product-body{padding:1rem .1rem 0}
.shop-page .shop-product-rating{
  font-size:.68rem;
  color:#777e74;
}
.shop-page .shop-product-rating i{color:var(--gold)}
.shop-page .shop-product-title{
  font-size:.95rem;
  line-height:1.42;
  font-weight:700;
  min-height:47px;
  margin:.45rem 0;
}
.shop-page .shop-product-subtitle{
  min-height:38px;
  color:#747b71;
  font-size:.72rem;
  line-height:1.45;
}
.shop-page .shop-price-row{margin-top:.7rem}
.shop-page .shop-price{
  font-size:1.12rem;
  font-weight:800;
}
.shop-page .shop-mrp{
  font-size:.7rem;
  text-decoration:line-through;
  color:#969b93;
  margin-left:.35rem;
}
.shop-page .shop-off{
  font-size:.68rem;
  color:var(--green);
  font-weight:800;
  margin-left:.25rem;
}
.shop-page .shop-add{
  width:100%;
  margin-top:.9rem;
  border:1px solid #8dbb79;
  background:#fff;
  color:var(--green);
  min-height:44px;
  font-size:.77rem;
  font-weight:800;
}
.shop-page .shop-add:hover,
.shop-page .shop-add.added{
  background:var(--green);
  color:#fff;
}
.shop-page .shop-empty{
  display:none;
  padding:5rem 0;
  text-align:center;
  color:#737a70;
}
.shop-page .shop-empty i{
  font-size:2rem;
  display:block;
  margin-bottom:.6rem;
}
.shop-page .shop-product-item.is-hidden,
.shop-page .catalog-section.is-hidden{display:none!important}
.shop-page .shop-footer-cta{
  margin-top:1rem;
  padding:4.5rem;
  background:linear-gradient(105deg,#2B1609 0%,#9B5C0B 65%,#F2C500 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.shop-page .shop-footer-cta:after{
  content:"❧";
  position:absolute;
  right:-25px;
  top:-90px;
  font-size:17rem;
  color:#fff;
  opacity:.17;
}
.shop-page .shop-footer-cta h2{
  font-size:clamp(2.8rem,5vw,5.3rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:800;
  position:relative;
  z-index:1;
}
.shop-page .shop-footer-cta p{
  max-width:650px;
  color:#eff6eb;
  position:relative;
  z-index:1;
}
.shop-page .shop-footer-cta .btn{
  position:relative;
  z-index:1;
}
@media(max-width:1199.98px){
  .shop-page .shop-layout{grid-template-columns:240px minmax(0,1fr);gap:2rem}
  .shop-page .shop-product-art{min-height:290px}
}
@media(max-width:991.98px){
  .shop-page .shop-hero-inner{min-height:auto;padding-top:6rem;padding-bottom:4rem}
  .shop-page .shop-hero p{margin-top:2rem}
  .shop-page .shop-category-nav{top:0}
  .shop-page .shop-layout{display:block}
  .shop-page .shop-sidebar{display:none}
  .shop-page .mobile-filter-btn{display:inline-flex;align-items:center;gap:.45rem}
  .shop-page .shop-results-head{align-items:flex-start}
  .shop-page .shop-tools{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:767.98px){
  .shop-page .shop-hero h1{font-size:3.5rem}
  .shop-page .shop-main{padding-top:3rem}
  .shop-page .shop-results-head{display:block}
  .shop-page .shop-tools{margin-top:1.3rem;justify-content:flex-start}
  .shop-page .shop-search{min-width:0;flex:1}
  .shop-page .shop-sort{max-width:170px}
  .shop-page .catalog-section{padding-bottom:3.5rem}
  .shop-page .catalog-section+.catalog-section{padding-top:3.5rem}
  .shop-page .catalog-section-head h3{font-size:2.2rem}
  .shop-page .shop-product-art{min-height:240px}
  .shop-page .catalog-bottle{transform:scale(.88)}
  .shop-page .shop-footer-cta{padding:3rem 2rem}
}
@media(max-width:575.98px){
  .shop-page .shop-hero h1{font-size:2.95rem}
  .shop-page .shop-hero p{font-size:1rem}
  .shop-page .shop-tools{display:grid;grid-template-columns:1fr 1fr}
  .shop-page .shop-search{grid-column:1/-1}
  .shop-page .mobile-filter-btn,.shop-page .shop-sort{width:100%;max-width:none}
  .shop-page .shop-product-art{min-height:210px;padding:1.2rem .5rem 1rem}
  .shop-page .catalog-bottle{transform:scale(.77)}
  .shop-page .shop-product-title{font-size:.86rem;min-height:50px}
  .shop-page .shop-product-subtitle{font-size:.68rem}
  .shop-page .shop-footer-cta h2{font-size:2.8rem}
}

/* Mobile offcanvas filters */
.shop-page .offcanvas .filter-block{padding:1.3rem 0;border-top:1px solid var(--line)}
.shop-page .offcanvas .filter-block:first-child{border-top:0}



/* ===== Product detail page ===== */
.product-page .product-breadcrumb{
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
  font-size:.76rem;
  color:#767e73;
}
.product-page .product-breadcrumb a{color:#5b6558}
.product-page .product-detail{
  padding:3.5rem 0 5rem;
}
.product-page .product-gallery-wrap{
  position:sticky;
  top:125px;
}
.product-page .product-main-visual{
  min-height:650px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,#edf4df 0,#dceac7 42%,#c9dfad 100%);
}
.product-page .product-main-visual:before,
.product-page .product-main-visual:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.66);
  border-radius:50%;
}
.product-page .product-main-visual:before{width:500px;height:500px}
.product-page .product-main-visual:after{width:340px;height:340px}
.product-page .detail-bottle{
  width:255px;
  height:390px;
  border-radius:16px 16px 25px 25px;
  background:#f8f7ef;
  border:1px solid #dad8cf;
  box-shadow:0 35px 70px rgba(42,62,35,.18);
  position:relative;
  z-index:2;
}
.product-page .detail-bottle:before{
  content:"";
  position:absolute;
  width:240px;
  height:40px;
  top:-33px;
  left:7px;
  border-radius:10px 10px 4px 4px;
  background:repeating-linear-gradient(90deg,#efeee8 0 6px,#d7d6cf 6px 8px);
}
.product-page .detail-label{
  position:absolute;
  inset:75px 0 35px;
  background:#fff;
  border-top:60px solid #648948;
  border-bottom:22px solid #648948;
  padding:1.6rem 1.25rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-page .detail-label small{
  font-size:.65rem;
  letter-spacing:.12em;
}
.product-page .detail-label strong{
  font-family:Manrope,Inter,sans-serif;
  font-size:2.05rem;
  line-height:.95;
  margin:.7rem 0;
}
.product-page .product-gallery-note{
  position:absolute;
  left:1.3rem;
  bottom:1.1rem;
  z-index:3;
  padding:.55rem .75rem;
  background:rgba(255,255,255,.86);
  font-size:.67rem;
  font-weight:700;
  color:#556052;
}
.product-page .thumb-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.65rem;
  margin-top:.7rem;
}
.product-page .product-thumb{
  border:1px solid #e1e6dc;
  background:#f7f9f3;
  min-height:115px;
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
}
.product-page .product-thumb.active{border-color:var(--green)}
.product-page .thumb-mini{
  width:45px;
  height:68px;
  border-radius:4px 4px 7px 7px;
  background:#f4f3e9;
  border:1px solid #d9d8cf;
  position:relative;
}
.product-page .thumb-mini:before{
  content:"";
  position:absolute;
  width:42px;
  height:10px;
  top:-8px;
  left:1px;
  background:#dddcd5;
  border-radius:3px;
}
.product-page .thumb-mini:after{
  content:"";
  position:absolute;
  inset:20px 0 10px;
  background:#fff;
  border-top:12px solid #648948;
  border-bottom:6px solid #648948;
}
.product-page .thumb-icon{
  font-size:1.8rem;
  color:var(--green);
}
.product-page .product-info{
  padding-left:2.5rem;
}
.product-page .product-eyebrow{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
  margin-bottom:.7rem;
}
.product-page .product-eyebrow .badge-soft{
  background:#e5f1db;
  color:#2e6a24;
  padding:.4rem .6rem;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.06em;
}
.product-page .product-eyebrow span:last-child{
  color:#757c73;
  font-size:.7rem;
}
.product-page .product-info h1{
  font-size:clamp(2.6rem,4.2vw,5rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:800;
  margin-bottom:.9rem;
}
.product-page .product-subtitle{
  color:#626a5f;
  font-size:1rem;
  line-height:1.6;
  max-width:700px;
}
.product-page .product-rating-row{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin:1.2rem 0;
  font-size:.78rem;
}
.product-page .product-stars{color:var(--gold)}
.product-page .product-rating-link{
  color:#4f5b4c;
  text-decoration:underline;
  text-underline-offset:3px;
}
.product-page .product-price-row{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  flex-wrap:wrap;
  padding:1.2rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.product-page .product-price{
  font-size:1.8rem;
  font-weight:800;
}
.product-page .product-mrp{
  color:#969c93;
  text-decoration:line-through;
  font-size:.9rem;
}
.product-page .product-discount{
  color:var(--green);
  font-weight:800;
  font-size:.8rem;
}
.product-page .tax-note{
  width:100%;
  font-size:.68rem;
  color:#81887e;
}
.product-page .purchase-block{
  padding:1.5rem 0;
  border-bottom:1px solid var(--line);
}
.product-page .purchase-label{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.8rem;
  font-weight:800;
  margin-bottom:.8rem;
}
.product-page .purchase-label small{
  color:#757d72;
  font-weight:500;
}
.product-page .variant-grid{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.product-page .variant-btn{
  border:1px solid #dce2d8;
  background:#fff;
  min-width:115px;
  padding:.8rem 1rem;
  font-size:.76rem;
  font-weight:800;
}
.product-page .variant-btn.active,
.product-page .variant-btn:hover{
  border-color:var(--green);
  background:#f0f7eb;
  color:var(--green);
}
.product-page .purchase-type{
  display:grid;
  gap:.65rem;
}
.product-page .purchase-option{
  border:1px solid #dfe5da;
  padding:1rem 1.1rem;
  display:flex;
  align-items:center;
  gap:.8rem;
  cursor:pointer;
}
.product-page .purchase-option.active{
  border-color:var(--green);
  background:#f4f9f0;
}
.product-page .purchase-option input{accent-color:var(--green)}
.product-page .purchase-option strong,
.product-page .purchase-option small{display:block}
.product-page .purchase-option strong{font-size:.82rem}
.product-page .purchase-option small{font-size:.69rem;color:#737a70;margin-top:.2rem}
.product-page .purchase-option .save{
  margin-left:auto;
  color:var(--green);
  font-size:.7rem;
  font-weight:800;
}
.product-page .cart-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:.75rem;
  margin-top:1rem;
}
.product-page .qty-control{
  display:grid;
  grid-template-columns:38px 1fr 38px;
  border:1px solid #dfe5da;
  min-height:52px;
}
.product-page .qty-control button{
  border:0;
  background:#fff;
  font-size:1.1rem;
}
.product-page .qty-control input{
  border:0;
  width:100%;
  text-align:center;
  font-weight:800;
  outline:0;
}
.product-page .product-add{
  border:0;
  background:var(--green);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
}
.product-page .product-add:hover{background:var(--green-dark)}
.product-page .express-note{
  margin-top:.7rem;
  font-size:.7rem;
  color:#70786d;
}
.product-page .benefit-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin-top:1.3rem;
}
.product-page .benefit-mini{
  padding:1rem;
  background:#f7f9f3;
  border-top:2px solid #bdd5ae;
}
.product-page .benefit-mini i{
  color:var(--green);
  font-size:1.15rem;
}
.product-page .benefit-mini strong,
.product-page .benefit-mini small{display:block}
.product-page .benefit-mini strong{font-size:.75rem;margin-top:.4rem}
.product-page .benefit-mini small{font-size:.65rem;color:#777e74;margin-top:.2rem}
.product-page .detail-tabs-wrap{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.product-page .detail-tabs{
  display:flex;
  gap:2rem;
  overflow-x:auto;
  scrollbar-width:none;
}
.product-page .detail-tab{
  border:0;
  background:transparent;
  padding:1.2rem 0 1rem;
  border-bottom:2px solid transparent;
  white-space:nowrap;
  font-size:.8rem;
  font-weight:800;
  color:#5c6559;
}
.product-page .detail-tab.active{
  color:var(--green);
  border-color:var(--green);
}
.product-page .product-content-section{
  padding:6rem 0;
}
.product-page .product-content-section.soft{background:#FFFCF7}
.product-page .content-heading{
  font-size:clamp(2.8rem,4.6vw,5.5rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:800;
}
.product-page .content-lead{
  color:#5d665b;
  font-size:1.05rem;
  line-height:1.75;
  max-width:760px;
}
.product-page .benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-top:3rem;
}
.product-page .benefit-card{
  padding:2rem 0 1.2rem;
  border-top:1px solid #dfe4dc;
}
.product-page .benefit-card i{
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--green-soft);
  color:var(--green);
  display:grid;
  place-items:center;
  font-size:1.4rem;
  margin-bottom:1.7rem;
}
.product-page .benefit-card h3{
  font-size:1.25rem;
  font-weight:800;
}
.product-page .benefit-card p{
  color:#687066;
  font-size:.88rem;
  line-height:1.65;
}
.product-page .composition-card{
  background:#1A0D05;
  color:#fff;
  padding:4.5rem;
}
.product-page .composition-card .product-kicker{color:#acd28f}
.product-page .product-kicker{
  display:block;
  color:var(--green);
  font-weight:800;
  font-size:.7rem;
  letter-spacing:.16em;
  margin-bottom:.8rem;
}
.product-page .composition-list{
  margin-top:2rem;
  border-top:1px solid rgba(255,255,255,.16);
}
.product-page .composition-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  padding:1rem 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.product-page .composition-row strong{font-size:.85rem}
.product-page .composition-row span{color:#d0dacd;font-size:.8rem}
.product-page .nutrition-table{
  border-top:1px solid var(--line);
  margin-top:2rem;
}
.product-page .nutrition-row{
  display:grid;
  grid-template-columns:1.6fr .7fr .7fr;
  gap:1rem;
  padding:.9rem 0;
  border-bottom:1px solid var(--line);
  font-size:.82rem;
}
.product-page .nutrition-row.head{
  font-weight:800;
  color:#51594e;
}
.product-page .usage-panel{
  background:linear-gradient(112deg,#f0f6e6,#dfeccc);
  padding:4rem;
}
.product-page .usage-step{
  display:flex;
  gap:1rem;
  padding:1.2rem 0;
  border-top:1px solid #cbd9c0;
}
.product-page .usage-step:first-of-type{margin-top:2rem}
.product-page .usage-step .step-no{
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:var(--green);
  display:grid;
  place-items:center;
  font-weight:800;
  flex:0 0 auto;
}
.product-page .usage-step strong,
.product-page .usage-step small{display:block}
.product-page .usage-step strong{font-size:.86rem}
.product-page .usage-step small{font-size:.76rem;color:#626c5f;margin-top:.3rem}
.product-page .document-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:2rem;
}
.product-page .document-card{
  border:1px solid #dfe5da;
  padding:1.5rem;
  display:flex;
  gap:1rem;
  align-items:center;
}
.product-page .document-card i{
  font-size:1.8rem;
  color:var(--green);
}
.product-page .document-card strong,
.product-page .document-card small{display:block}
.product-page .document-card strong{font-size:.82rem}
.product-page .document-card small{font-size:.68rem;color:#747b71;margin-top:.2rem}
.product-page .review-summary{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:3rem;
  align-items:center;
}
.product-page .review-score{
  text-align:center;
  padding:2rem;
  background:#f5f8f1;
}
.product-page .review-score strong{
  display:block;
  font-size:4rem;
  font-family:Manrope,Inter,sans-serif;
}
.product-page .review-score .stars{color:var(--gold)}
.product-page .review-score small{color:#777f74}
.product-page .rating-bar{
  display:grid;
  grid-template-columns:45px 1fr 35px;
  gap:.7rem;
  align-items:center;
  font-size:.72rem;
  margin:.45rem 0;
}
.product-page .rating-track{
  height:7px;
  background:#edf0ea;
  overflow:hidden;
}
.product-page .rating-fill{
  height:100%;
  background:var(--green);
}
.product-page .review-list{margin-top:3rem}
.product-page .review-item{
  padding:1.7rem 0;
  border-top:1px solid var(--line);
}
.product-page .review-item .review-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.6rem;
}
.product-page .review-item strong{font-size:.88rem}
.product-page .review-item small{font-size:.7rem;color:#7a8277}
.product-page .review-item p{
  color:#5f675c;
  font-size:.88rem;
  line-height:1.65;
  max-width:800px;
}
.product-page .faq-accordion .accordion-item{
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
}
.product-page .faq-accordion .accordion-button{
  padding:1.3rem 0;
  background:#fff;
  box-shadow:none;
  font-weight:800;
  font-size:.9rem;
}
.product-page .faq-accordion .accordion-body{
  padding:0 0 1.4rem;
  color:#657062;
  line-height:1.7;
  font-size:.86rem;
}
.product-page .related-grid{
  margin-top:2rem;
}
@media(max-width:1199.98px){
  .product-page .product-main-visual{min-height:560px}
  .product-page .detail-bottle{transform:scale(.9)}
}
@media(max-width:991.98px){
  .product-page .product-gallery-wrap{position:static}
  .product-page .product-info{padding-left:0;margin-top:2.5rem}
  .product-page .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .product-page .document-grid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .product-page .product-detail{padding-top:2rem}
  .product-page .product-main-visual{min-height:440px}
  .product-page .detail-bottle{transform:scale(.72)}
  .product-page .product-info h1{font-size:3.1rem}
  .product-page .cart-row{grid-template-columns:105px 1fr}
  .product-page .benefit-strip{grid-template-columns:1fr}
  .product-page .product-content-section{padding:4.5rem 0}
  .product-page .content-heading{font-size:2.8rem}
  .product-page .composition-card,.product-page .usage-panel{padding:2.5rem 2rem}
  .product-page .review-summary{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .product-page .product-main-visual{min-height:370px}
  .product-page .detail-bottle{transform:scale(.62)}
  .product-page .product-info h1{font-size:2.7rem}
  .product-page .variant-btn{min-width:0;flex:1}
  .product-page .benefits-grid{grid-template-columns:1fr}
  .product-page .nutrition-row{grid-template-columns:1.3fr .7fr .7fr;font-size:.73rem}
}


/* ============================================================
   DYNAMIC STOREFRONT FOUNDATION
============================================================ */

:root {
    --nv-green: #F2C500;
    --nv-green-dark: #B97800;
    --nv-green-soft: #FFF6D6;
    --nv-ink: #1A120C;
    --nv-muted: #74695F;
    --nv-line: #E9DFD2;
}


/* ============================================================
   HEADER
============================================================ */

.site-header {
    position: relative;
    z-index: 1000;
}

.site-header .navbar {
    transition:
        min-height .25s ease,
        box-shadow .25s ease,
        background-color .25s ease;
}

.site-header .navbar.is-scrolled {
    box-shadow:
        0 8px 30px
        rgba(34, 55, 27, .07);
}

.nv-mobile-nav {
    width: min(
        420px,
        92vw
    );
}

.nv-mobile-links {
    display: flex;
    flex-direction: column;
}

.nv-mobile-links a {
    padding:
        17px
        2px;

    border-bottom:
        1px solid
        var(--line);

    color:
        var(--ink);

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.15rem;

    font-weight:
        700;
}


/* ============================================================
   FULL BANNER HERO
============================================================ */

.nv-dynamic-hero {
    position: relative;

    overflow: hidden;

    background:
        #eef3e6;
}

.nv-hero-slide {
    position: relative;

    min-height:
        clamp(
            650px,
            78vh,
            900px
        );

    display: flex;

    background-image:
        var(--hero-desktop-image);

    background-position:
        center;

    background-repeat:
        no-repeat;

    background-size:
        cover;
}


/* Overlay */

.nv-hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        #000;

    opacity:
        var(--hero-overlay-opacity);

    pointer-events:
        none;
}


/* Container */

.nv-hero-container {
    position: relative;

    z-index: 2;

    min-height: inherit;

    display: flex;
}


/* Vertical */

.nv-hero-vertical-top
.nv-hero-container {
    align-items:
        flex-start;

    padding-top:
        clamp(
            90px,
            10vw,
            150px
        );
}

.nv-hero-vertical-center
.nv-hero-container {
    align-items:
        center;
}

.nv-hero-vertical-bottom
.nv-hero-container {
    align-items:
        flex-end;

    padding-bottom:
        clamp(
            90px,
            10vw,
            150px
        );
}


/* Alignment */

.nv-hero-content {
    width:
        min(
            830px,
            72%
        );
}

.nv-hero-align-left
.nv-hero-content {
    margin-right:
        auto;

    text-align:
        left;
}

.nv-hero-align-center
.nv-hero-content {
    margin-inline:
        auto;

    text-align:
        center;
}

.nv-hero-align-right
.nv-hero-content {
    margin-left:
        auto;

    text-align:
        right;
}


/* Theme */

.nv-hero-theme-light {
    color:
        #fff;
}

.nv-hero-theme-dark {
    color:
        #182019;
}


/* Eyebrow */

.nv-hero-eyebrow {
    display:
        inline-block;

    margin-bottom:
        1.25rem;

    font-size:
        .75rem;

    font-weight:
        800;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;
}


/* Heading */

.nv-hero-heading {
    max-width:
        980px;

    margin:
        0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3.7rem,
            6.4vw,
            7.8rem
        );

    font-weight:
        800;

    letter-spacing:
        -.065em;

    line-height:
        .93;
}


/* Subheading */

.nv-hero-subheading {
    max-width:
        660px;

    margin:
        1.7rem 0
        0;

    font-size:
        clamp(
            1.05rem,
            1.45vw,
            1.45rem
        );

    line-height:
        1.55;
}

.nv-hero-align-center
.nv-hero-subheading {
    margin-inline:
        auto;
}

.nv-hero-align-right
.nv-hero-subheading {
    margin-left:
        auto;
}


/* Actions */

.nv-hero-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .8rem;

    margin-top:
        2rem;
}

.nv-hero-align-center
.nv-hero-actions {
    justify-content:
        center;
}

.nv-hero-align-right
.nv-hero-actions {
    justify-content:
        flex-end;
}

.nv-hero-primary-btn,
.nv-hero-secondary-btn {
    min-height:
        52px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    padding:
        0 1.5rem;

    border-radius:
        3px;

    font-size:
        .9rem;

    font-weight:
        800;
}


/* Light theme buttons */

.nv-hero-theme-light
.nv-hero-primary-btn {
    background:
        #fff;

    border-color:
        #fff;

    color:
        #1f3620;
}

.nv-hero-theme-light
.nv-hero-secondary-btn {
    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .78
        );

    color:
        #fff;
}


/* Dark theme buttons */

.nv-hero-theme-dark
.nv-hero-primary-btn {
    background:
        var(--green);

    border-color:
        var(--green);

    color:
        #fff;
}

.nv-hero-theme-dark
.nv-hero-secondary-btn {
    border:
        1px solid
        rgba(
            25,
            35,
            25,
            .6
        );

    color:
        #1b251b;
}


/* Carousel controls */

.nv-dynamic-hero
.carousel-control-prev,
.nv-dynamic-hero
.carousel-control-next {
    width:
        7%;
}

.nv-hero-control {
    width:
        48px;

    height:
        48px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            .92
        );

    color:
        #243324;

    box-shadow:
        0 12px 30px
        rgba(
            0,
            0,
            0,
            .12
        );
}

.nv-dynamic-hero
.carousel-indicators {
    margin-bottom:
        2rem;
}

.nv-dynamic-hero
.carousel-indicators
[data-bs-target] {
    width:
        38px;

    height:
        3px;

    border:
        0;

    border-radius:
        99px;

    background:
        #fff;
}


/* ============================================================
   HERO FALLBACK
============================================================ */

.nv-hero-fallback {
    min-height:
        740px;

    display:
        flex;

    align-items:
        center;

    background:
        radial-gradient(
            circle at 80% 40%,
            #dcebbc 0,
            transparent 31%
        ),
        linear-gradient(
            110deg,
            #fbfcf6,
            #edf5df
        );
}

.nv-hero-fallback h1 {
    max-width:
        1000px;

    margin:
        .8rem 0
        1.5rem;

    font-size:
        clamp(
            4rem,
            7vw,
            8rem
        );

    line-height:
        .91;

    letter-spacing:
        -.07em;

    font-weight:
        800;
}

.nv-hero-fallback h1 span {
    color:
        var(--green);
}

.nv-hero-fallback p {
    max-width:
        660px;

    margin-bottom:
        2rem;

    font-size:
        1.2rem;

    line-height:
        1.6;

    color:
        #485046;
}


/* ============================================================
   PRODUCT SECTIONS
============================================================ */

.nv-product-section {
    padding:
        7rem 0
        7rem;
}

.nv-product-placeholder {
    min-height:
        420px;

    display:
        flex;

    align-items:
        flex-end;

    padding:
        20px;

    background:
        linear-gradient(
            180deg,
            #f3f6ed,
            #FFFCF7
        );

    border-radius:
        14px;

    color:
        var(--ink);

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1rem;

    font-weight:
        800;
}

.nv-empty-content {
    padding:
        3rem;

    border:
        1px dashed
        #dce3d7;

    color:
        var(--muted);

    text-align:
        center;

    background:
        #fbfcf9;
}


/* ============================================================
   FOOTER
============================================================ */

.footer-description {
    max-width:
        360px;
}

.nv-footer-contact {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

    margin-top:
        1.3rem;
}

.nv-footer-contact a {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;
}

.footer-kicker {
    color:
        #b9da9e;
}

.nv-footer-newsletter-title {
    margin-top:
        7px;

    font-size:
        1.35rem !important;
}

.nv-newsletter
.form-control {
    min-height:
        48px;

    border:
        0;

    border-radius:
        2px 0 0 2px;
}

.nv-newsletter
.btn {
    border-radius:
        0 2px 2px 0;
}


/* ============================================================
   RESPONSIVE HERO
============================================================ */

@media (
    max-width:
    991.98px
) {

    .nv-hero-slide {
        min-height:
            720px;
    }

    .nv-hero-content {
        width:
            min(
                760px,
                88%
            );
    }

    .nv-hero-heading {
        font-size:
            clamp(
                3.3rem,
                9vw,
                6rem
            );
    }

}


@media (
    max-width:
    767.98px
) {

    .nv-hero-slide {
        min-height:
            680px;

        background-image:
            var(
                --hero-mobile-image
            );
    }

    .nv-hero-container {
        align-items:
            flex-end !important;

        padding-bottom:
            74px !important;

        padding-top:
            100px !important;
    }

    .nv-hero-content {
        width:
            100%;
    }

    .nv-hero-heading {
        font-size:
            clamp(
                2.8rem,
                12vw,
                4.8rem
            );

        line-height:
            .95;
    }

    .nv-hero-subheading {
        max-width:
            95%;

        font-size:
            1rem;
    }

    .nv-dynamic-hero
    .carousel-control-prev,
    .nv-dynamic-hero
    .carousel-control-next {
        display:
            none;
    }

    .nv-product-placeholder {
        min-height:
            300px;
    }

}


@media (
    max-width:
    575.98px
) {

    .nv-hero-slide {
        min-height:
            620px;
    }

    .nv-hero-heading {
        font-size:
            2.9rem;
    }

    .nv-hero-primary-btn,
    .nv-hero-secondary-btn {
        min-height:
            48px;

        padding:
            0 1.1rem;

        font-size:
            .82rem;
    }

}

/* ============================================================
   HOME CATEGORY CARDS
============================================================ */

.nv-category-section {
    overflow: hidden;
}

.nv-section-description {
    max-width: 520px;

    margin:
        12px 0
        0;

    color:
        var(--muted);

    font-size:
        1rem;

    line-height:
        1.65;
}


/* Grid */

.nv-category-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        18px;
}


/* Card */

.nv-category-card {
    position: relative;

    display: block;

    overflow: hidden;

    border-radius:
        18px;

    color:
        #fff;

    text-decoration:
        none;

    background:
        #edf3e8;
}


/* Image */

.nv-category-card-image {
    position: relative;

    min-height:
        410px;

    overflow: hidden;
}

.nv-category-card-image img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit:
        cover;

    transition:
        transform
        .55s
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}

.nv-category-card:hover
.nv-category-card-image img {
    transform:
        scale(1.055);
}


/* Dark gradient for readable title */

.nv-category-image-shade {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(15, 28, 14, .02) 35%,
            rgba(15, 28, 14, .20) 58%,
            rgba(12, 25, 12, .82) 100%
        );
}


/* Content */

.nv-category-card-content {
    position: absolute;

    z-index: 2;

    left: 0;
    right: 0;
    bottom: 0;

    padding:
        28px;
}

.nv-category-label {
    display: block;

    margin-bottom:
        8px;

    color:
        rgba(
            255,
            255,
            255,
            .72
        );

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .18em;
}

.nv-category-card-content h3 {
    max-width:
        85%;

    margin: 0;

    color:
        #fff;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            1.35rem,
            1.7vw,
            1.9rem
        );

    font-weight:
        800;

    letter-spacing:
        -.035em;

    line-height:
        1.08;
}


/* Arrow */

.nv-category-arrow {
    position: absolute;

    right:
        24px;

    bottom:
        25px;

    width:
        42px;

    height:
        42px;

    display: grid;

    place-items:
        center;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .45
        );

    border-radius:
        50%;

    color:
        #fff;

    transition:
        background-color .25s ease,
        color .25s ease,
        transform .25s ease;
}

.nv-category-card:hover
.nv-category-arrow {
    background:
        #fff;

    color:
        var(--green);

    transform:
        translate(
            2px,
            -2px
        );
}


/* Image fallback */

.nv-category-image-placeholder {
    position: absolute;

    inset: 0;

    display: grid;

    place-items:
        center;

    background:
        linear-gradient(
            145deg,
            #edf5e8,
            #dceaca
        );

    color:
        var(--green);
}

.nv-category-image-placeholder i {
    font-size:
        4rem;

    opacity:
        .35;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (
    max-width:
    1199.98px
) {

    .nv-category-grid {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );

        gap:
            14px;
    }

    .nv-category-card-image {
        min-height:
            350px;
    }

    .nv-category-card-content {
        padding:
            22px;
    }

}


@media (
    max-width:
    991.98px
) {

    .nv-category-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .nv-category-card-image {
        min-height:
            390px;
    }

}


@media (
    max-width:
    575.98px
) {

    .nv-category-grid {
        display: flex;

        gap:
            12px;

        overflow-x:
            auto;

        padding-bottom:
            10px;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;
    }

    .nv-category-grid::-webkit-scrollbar {
        display:
            none;
    }

    .nv-category-card {
        flex:
            0 0 78%;

        scroll-snap-align:
            start;

        border-radius:
            14px;
    }

    .nv-category-card-image {
        min-height:
            390px;
    }

    .nv-category-card-content {
        padding:
            22px;
    }

}

/* ============================================================
   PREMIUM PRODUCT CARDS
============================================================ */

.nv-home-product-grid {
    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap:
        clamp(
            14px,
            1.4vw,
            24px
        );
}


/* Card */

.nv-product-card {
    min-width: 0;
}

.nv-product-card-media {
    position: relative;

    overflow: hidden;

    aspect-ratio:
        4 / 5;

    background:
        linear-gradient(
            145deg,
            #f3f6ef,
            #fafbf8
        );

    border-radius:
        16px;
}


/* Image */

.nv-product-card-image {
    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        8%;

    text-decoration: none;
}

.nv-product-card-image img {
    width: 100%;
    height: 100%;

    object-fit:
        contain;

    transition:
        transform
        .5s
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}

.nv-product-card:hover
.nv-product-card-image img {
    transform:
        scale(1.045);
}


/* No image */

.nv-product-card-no-image {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap:
        12px;

    color:
        var(--green);

    opacity:
        .35;
}

.nv-product-card-no-image i {
    font-size:
        4.5rem;
}

.nv-product-card-no-image span {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-weight:
        800;

    letter-spacing:
        .2em;
}


/* Badges */

.nv-product-card-badges {
    position: absolute;

    z-index: 5;

    top:
        14px;

    left:
        14px;

    display: flex;

    flex-direction: column;

    align-items:
        flex-start;

    gap:
        6px;
}

.nv-product-badge {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        27px;

    padding:
        0 10px;

    border-radius:
        999px;

    background:
        #183e22;

    color:
        #fff;

    font-size:
        .63rem;

    font-weight:
        800;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.nv-product-badge-discount {
    background:
        #e6f1d9;

    color:
        #275a1d;
}


/* Wishlist */

.nv-product-wishlist {
    position: absolute;

    z-index: 5;

    top:
        13px;

    right:
        13px;

    width:
        39px;

    height:
        39px;

    display: grid;

    place-items: center;

    padding: 0;

    border:
        0;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            .92
        );

    color:
        #273027;

    font-size:
        1.05rem;

    box-shadow:
        0 7px 22px
        rgba(
            23,
            40,
            20,
            .07
        );

    transition:
        transform .2s ease,
        background-color .2s ease;
}

.nv-product-wishlist:hover {
    transform:
        scale(1.06);

    background:
        #fff;
}


/* Add button */

.nv-product-card-action {
    position: absolute;

    z-index: 6;

    left:
        14px;

    right:
        14px;

    bottom:
        14px;

    opacity: 0;

    transform:
        translateY(12px);

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.nv-product-card:hover
.nv-product-card-action {
    opacity: 1;

    transform:
        translateY(0);
}

.nv-product-add-btn {
    width: 100%;

    min-height:
        48px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap:
        9px;

    border:
        0;

    border-radius:
        7px;

    background:
        #fff;

    color:
        #17371d;

    font-size:
        .82rem;

    font-weight:
        800;

    box-shadow:
        0 10px 30px
        rgba(
            22,
            46,
            20,
            .12
        );
}

.nv-product-add-btn:hover {
    background:
        var(--green);

    color:
        #fff;
}


/* Body */

.nv-product-card-body {
    position: relative;

    padding:
        17px 3px 5px;
}

.nv-product-card-tagline {
    min-height:
        17px;

    margin-bottom:
        6px;

    overflow: hidden;

    color:
        #81877f;

    font-size:
        .69rem;

    font-weight:
        700;

    letter-spacing:
        .04em;

    text-overflow:
        ellipsis;

    text-transform:
        uppercase;

    white-space:
        nowrap;
}

.nv-product-card-title {
    margin:
        0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            .98rem,
            1.1vw,
            1.16rem
        );

    font-weight:
        800;

    letter-spacing:
        -.025em;

    line-height:
        1.25;
}

.nv-product-card-title a {
    color:
        var(--ink);

    text-decoration:
        none;
}

.nv-product-card-title a:hover {
    color:
        var(--green);
}


/* Rating */

.nv-product-card-rating {
    min-height:
        23px;

    display: flex;

    align-items: center;

    gap:
        4px;

    margin-top:
        8px;

    font-size:
        .75rem;
}

.nv-product-card-rating i {
    color:
        #e3a91c;

    font-size:
        .7rem;
}

.nv-rating-value {
    font-weight:
        800;

    color:
        #30352f;
}

.nv-rating-count {
    color:
        #888d86;
}

.nv-no-rating {
    color:
        #939991;
}


/* Price */

.nv-product-card-price {
    display: flex;

    align-items:
        baseline;

    gap:
        8px;

    margin-top:
        8px;
}

.nv-selling-price {
    color:
        #1A120C;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.04rem;

    font-weight:
        800;
}

.nv-mrp {
    color:
        #989d96;

    font-size:
        .78rem;

    text-decoration:
        line-through;
}


/* Variant */

.nv-product-card-variant {
    margin-top:
        5px;

    color:
        #8a9088;

    font-size:
        .7rem;

    font-weight:
        600;
}


/* Mobile add */

.nv-product-mobile-action {
    display: none;
}


/* ============================================================
   HOME PROMO BANNER
============================================================ */

.nv-home-promo-wrap {
    padding-top:
        1rem;

    padding-bottom:
        7rem;
}

.nv-home-promo {
    position: relative;

    min-height:
        560px;

    display: flex;

    align-items:
        center;

    overflow: hidden;

    border-radius:
        24px;

    background-image:
        var(--promo-desktop-image);

    background-size:
        cover;

    background-position:
        center;
}

.nv-home-promo-overlay {
    position: absolute;

    inset: 0;

    background:
        #000;

    opacity:
        var(--promo-overlay-opacity);
}

.nv-home-promo-content {
    position: relative;

    z-index: 2;

    width:
        min(
            650px,
            58%
        );

    padding:
        clamp(
            40px,
            6vw,
            90px
        );
}

.nv-home-promo-align-center
.nv-home-promo-content {
    margin-inline:
        auto;

    text-align:
        center;
}

.nv-home-promo-align-right
.nv-home-promo-content {
    margin-left:
        auto;

    text-align:
        right;
}

.nv-home-promo-theme-light {
    color:
        #fff;
}

.nv-home-promo-theme-dark {
    color:
        #172017;
}

.nv-home-promo-eyebrow {
    display:
        block;

    margin-bottom:
        13px;

    font-size:
        .7rem;

    font-weight:
        800;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;
}

.nv-home-promo h2 {
    margin: 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            2.8rem,
            4.6vw,
            5.6rem
        );

    font-weight:
        800;

    letter-spacing:
        -.06em;

    line-height:
        .96;
}

.nv-home-promo p {
    max-width:
        540px;

    margin:
        1.4rem 0
        0;

    font-size:
        1.05rem;

    line-height:
        1.65;
}

.nv-home-promo-align-center p {
    margin-inline:
        auto;
}

.nv-home-promo-align-right p {
    margin-left:
        auto;
}

.nv-home-promo-btn {
    min-height:
        50px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        1.7rem;

    padding:
        0 1.4rem;

    border:
        0;

    border-radius:
        5px;

    background:
        #fff;

    color:
        #173b1e;

    font-weight:
        800;
}


/* ============================================================
   PRODUCT RESPONSIVE
============================================================ */

@media (
    max-width:
    1199.98px
) {

    .nv-home-product-grid {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );
    }

}


@media (
    max-width:
    991.98px
) {

    .nv-home-product-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }

    .nv-product-card-action {
        display: none;
    }

    .nv-product-mobile-action {
        display: block;

        margin-top:
            12px;
    }

    .nv-product-mobile-add {
        width: 100%;

        min-height:
            40px;

        display: flex;

        align-items: center;

        justify-content:
            space-between;

        padding:
            0 13px;

        border:
            1px solid
            #dce5d8;

        border-radius:
            5px;

        background:
            #f7faf4;

        color:
            #27591e;

        font-size:
            .76rem;

        font-weight:
            800;
    }

}


@media (
    max-width:
    767.98px
) {

    .nv-home-product-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            26px 12px;
    }

    .nv-product-card-media {
        border-radius:
            12px;
    }

    .nv-product-card-badges {
        top:
            9px;

        left:
            9px;
    }

    .nv-product-badge {
        min-height:
            23px;

        padding:
            0 8px;

        font-size:
            .55rem;
    }

    .nv-product-wishlist {
        top:
            8px;

        right:
            8px;

        width:
            34px;

        height:
            34px;
    }

    .nv-home-promo {
        min-height:
            610px;

        align-items:
            flex-end;

        border-radius:
            16px;

        background-image:
            var(--promo-mobile-image);
    }

    .nv-home-promo-content {
        width: 100%;

        padding:
            32px 25px 42px;
    }

    .nv-home-promo h2 {
        font-size:
            clamp(
                2.5rem,
                12vw,
                4rem
            );
    }

}


@media (
    max-width:
    420px
) {

    .nv-product-card-title {
        font-size:
            .9rem;
    }

    .nv-product-card-tagline {
        font-size:
            .61rem;
    }

    .nv-selling-price {
        font-size:
            .94rem;
    }

}

/* ============================================================
   WELLNESS GOALS
============================================================ */

.nv-goals-section {
    background:
        #f7f9f4;
}

.nv-goal-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    border-top:
        1px solid
        #dfe5dc;

    border-left:
        1px solid
        #dfe5dc;
}

.nv-goal-card {
    position: relative;

    min-height:
        250px;

    display: flex;

    flex-direction: column;

    justify-content:
        space-between;

    gap:
        32px;

    padding:
        30px;

    border-right:
        1px solid
        #dfe5dc;

    border-bottom:
        1px solid
        #dfe5dc;

    color:
        var(--ink);

    text-decoration:
        none;

    background:
        #f7f9f4;

    transition:
        background-color .25s ease,
        color .25s ease;
}

.nv-goal-card:hover {
    background:
        #234d25;

    color:
        #fff;
}

.nv-goal-icon {
    width:
        54px;

    height:
        54px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #e5efdd;

    color:
        var(--green);

    font-size:
        1.35rem;
}

.nv-goal-card:hover
.nv-goal-icon {
    background:
        rgba(
            255,
            255,
            255,
            .14
        );

    color:
        #fff;
}

.nv-goal-card h3 {
    margin:
        0 0 8px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.2rem;

    font-weight:
        800;

    letter-spacing:
        -.03em;
}

.nv-goal-card p {
    max-width:
        260px;

    margin: 0;

    color:
        #737a71;

    font-size:
        .84rem;

    line-height:
        1.6;
}

.nv-goal-card:hover p {
    color:
        rgba(
            255,
            255,
            255,
            .72
        );
}

.nv-goal-arrow {
    position: absolute;

    right:
        24px;

    top:
        25px;

    opacity:
        .45;
}


/* ============================================================
   INGREDIENTS
============================================================ */

.nv-ingredient-section {
    overflow: hidden;
}

.nv-ingredient-cloud {
    display: flex;

    flex-wrap: wrap;

    gap:
        12px;
}

.nv-ingredient-pill {
    min-height:
        64px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    padding:
        8px 18px
        8px 8px;

    border:
        1px solid
        #dce4d8;

    border-radius:
        999px;

    background:
        #fafcf8;

    color:
        #293129;

    font-size:
        .9rem;

    font-weight:
        750;

    text-decoration:
        none;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.nv-ingredient-pill:hover {
    background:
        #244e26;

    color:
        #fff;

    transform:
        translateY(-2px);
}

.nv-ingredient-pill-icon {
    width:
        46px;

    height:
        46px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #e7f0df;

    color:
        var(--green);
}


/* ============================================================
   FEATURED OFFER
============================================================ */

.nv-featured-offer-section {
    padding:
        1rem 0
        7rem;
}

.nv-featured-offer {
    position: relative;

    min-height:
        600px;

    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    overflow: hidden;

    border-radius:
        28px;

    background:
        linear-gradient(
            120deg,
            #183f23 0%,
            #285d2a 55%,
            #d9eabe 55%,
            #edf3d9 100%
        );
}

.nv-featured-offer-copy {
    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    justify-content:
        center;

    padding:
        clamp(
            45px,
            6vw,
            90px
        );

    color:
        #fff;
}

.nv-featured-offer-copy
.section-kicker {
    color:
        #b7daa5;
}

.nv-featured-offer-copy h2 {
    max-width:
        680px;

    margin:
        12px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3rem,
            5vw,
            6rem
        );

    font-weight:
        800;

    letter-spacing:
        -.065em;

    line-height:
        .94;
}

.nv-featured-offer-copy > p {
    max-width:
        560px;

    margin:
        22px 0 0;

    color:
        rgba(
            255,
            255,
            255,
            .75
        );

    font-size:
        1rem;

    line-height:
        1.7;
}

.nv-offer-meta {
    display: flex;

    gap:
        38px;

    margin-top:
        30px;
}

.nv-offer-meta div {
    display: flex;

    flex-direction:
        column;
}

.nv-offer-meta span {
    color:
        rgba(
            255,
            255,
            255,
            .55
        );

    font-size:
        .63rem;

    font-weight:
        800;

    letter-spacing:
        .14em;
}

.nv-offer-meta strong {
    margin-top:
        4px;

    font-size:
        1.3rem;
}

.nv-featured-coupon {
    width:
        fit-content;

    display: flex;

    align-items:
        center;

    gap:
        15px;

    margin-top:
        25px;

    padding:
        10px 10px
        10px 16px;

    border:
        1px dashed
        rgba(
            255,
            255,
            255,
            .45
        );

    border-radius:
        8px;
}

.nv-featured-coupon span {
    font-size:
        .62rem;

    letter-spacing:
        .13em;
}

.nv-featured-coupon strong {
    font-family:
        ui-monospace,
        monospace;

    letter-spacing:
        .08em;
}

.nv-featured-coupon button {
    min-height:
        34px;

    padding:
        0 11px;

    border:
        0;

    border-radius:
        5px;

    background:
        #fff;

    color:
        #234b25;

    font-size:
        .72rem;

    font-weight:
        800;
}

.nv-auto-offer-label {
    display: flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        25px;

    color:
        #cce1bf;

    font-size:
        .78rem;

    font-weight:
        700;
}

.nv-featured-offer-art {
    position: relative;
}

.nv-offer-discount {
    position: absolute;

    z-index: 3;

    left:
        50%;

    top:
        50%;

    width:
        250px;

    height:
        250px;

    display: flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    transform:
        translate(
            -50%,
            -50%
        );

    border-radius:
        50%;

    background:
        #fff;

    color:
        #244c25;

    box-shadow:
        0 30px 80px
        rgba(
            24,
            64,
            32,
            .18
        );
}

.nv-offer-discount small {
    font-weight:
        800;

    letter-spacing:
        .18em;
}

.nv-offer-discount strong {
    margin-top:
        5px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        4.5rem;

    font-weight:
        800;

    letter-spacing:
        -.07em;
}

.nv-offer-orbit {
    position: absolute;

    border:
        1px solid
        rgba(
            36,
            76,
            37,
            .17
        );

    border-radius:
        50%;
}

.nv-offer-orbit.orbit-one {
    width:
        410px;

    height:
        410px;

    left:
        50%;

    top:
        50%;

    transform:
        translate(
            -50%,
            -50%
        );
}

.nv-offer-orbit.orbit-two {
    width:
        540px;

    height:
        540px;

    left:
        50%;

    top:
        50%;

    transform:
        translate(
            -50%,
            -50%
        );
}


/* ============================================================
   CUSTOMER REVIEWS
============================================================ */

.nv-reviews-section {
    background:
        #17291b;

    color:
        #fff;
}

.nv-review-heading {
    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        35px;

    margin-bottom:
        45px;
}

.nv-review-heading
.section-kicker {
    color:
        #a9d293;
}

.nv-review-heading h2 {
    margin:
        10px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            2.8rem,
            5vw,
            5.8rem
        );

    font-weight:
        800;

    letter-spacing:
        -.065em;

    line-height:
        .94;
}

.nv-review-overall {
    display: flex;

    align-items:
        center;

    gap:
        15px;
}

.nv-review-overall > strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        3.8rem;

    line-height:
        1;
}

.nv-review-overall-stars {
    color:
        #efb72c;

    font-size:
        .85rem;
}

.nv-review-overall span {
    display: block;

    margin-top:
        4px;

    color:
        rgba(
            255,
            255,
            255,
            .55
        );

    font-size:
        .7rem;
}

.nv-review-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        15px;
}

.nv-review-card {
    min-height:
        340px;

    display: flex;

    flex-direction:
        column;

    padding:
        28px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .1
        );

    border-radius:
        12px;

    background:
        rgba(
            255,
            255,
            255,
            .04
        );
}

.nv-review-card-top {
    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;
}

.nv-review-stars {
    color:
        #efb72c;
}

.nv-review-verified {
    color:
        #a8d49a;

    font-size:
        .64rem;

    font-weight:
        700;
}

.nv-review-card h3 {
    margin:
        30px 0 0;

    font-size:
        1.05rem;

    font-weight:
        800;
}

.nv-review-card > p {
    margin:
        13px 0 25px;

    color:
        rgba(
            255,
            255,
            255,
            .72
        );

    font-size:
        .88rem;

    line-height:
        1.75;
}

.nv-review-author {
    display: flex;

    align-items:
        center;

    gap:
        10px;

    margin-top:
        auto;
}

.nv-review-avatar {
    width:
        38px;

    height:
        38px;

    display: grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #dbe8d3;

    color:
        #214922;

    font-weight:
        800;
}

.nv-review-author strong {
    display: block;

    font-size:
        .78rem;
}

.nv-review-author span {
    display: block;

    margin-top:
        2px;

    color:
        rgba(
            255,
            255,
            255,
            .45
        );

    font-size:
        .65rem;
}


/* ============================================================
   JOURNAL
============================================================ */

.nv-journal-section {
    background:
        #fafbf8;
}

.nv-journal-lead-image {
    display: block;

    overflow: hidden;

    aspect-ratio:
        16 / 9;

    border-radius:
        15px;

    background:
        #eef2ea;
}

.nv-journal-lead-image img {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .5s ease;
}

.nv-journal-lead:hover img {
    transform:
        scale(1.03);
}

.nv-journal-copy {
    padding-top:
        22px;
}

.nv-journal-meta {
    color:
        #82887f;

    font-size:
        .7rem;

    font-weight:
        700;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.nv-journal-meta span {
    margin:
        0 6px;
}

.nv-journal-copy h3 {
    max-width:
        780px;

    margin:
        10px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            2rem,
            3vw,
            3.5rem
        );

    font-weight:
        800;

    letter-spacing:
        -.055em;

    line-height:
        1.04;
}

.nv-journal-copy h3 a,
.nv-journal-side-card h4 a {
    color:
        var(--ink);

    text-decoration:
        none;
}

.nv-journal-copy p {
    max-width:
        700px;

    margin:
        15px 0 0;

    color:
        var(--muted);

    line-height:
        1.7;
}

.nv-journal-read {
    display: inline-flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        18px;

    color:
        var(--green);

    font-weight:
        800;

    text-decoration:
        none;
}

.nv-journal-side {
    display: flex;

    flex-direction:
        column;

    gap:
        18px;
}

.nv-journal-side-card {
    display: grid;

    grid-template-columns:
        145px 1fr;

    gap:
        18px;

    padding-bottom:
        18px;

    border-bottom:
        1px solid
        var(--line);
}

.nv-journal-side-image {
    overflow: hidden;

    aspect-ratio:
        1 / 1;

    border-radius:
        10px;

    background:
        #eef2ea;
}

.nv-journal-side-image img {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;
}

.nv-journal-side-card span {
    color:
        var(--green);

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

.nv-journal-side-card h4 {
    margin:
        8px 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.08rem;

    font-weight:
        800;

    letter-spacing:
        -.025em;

    line-height:
        1.25;
}

.nv-journal-side-card small {
    color:
        #90958e;
}

.nv-journal-placeholder {
    width:
        100%;

    height:
        100%;

    display: grid;

    place-items:
        center;

    color:
        var(--green);

    font-size:
        3rem;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (
    max-width:
    991.98px
) {

    .nv-goal-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .nv-featured-offer {
        grid-template-columns:
            1fr;
    }

    .nv-featured-offer-art {
        min-height:
            400px;
    }

    .nv-review-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (
    max-width:
    767.98px
) {

    .nv-review-heading {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .nv-review-grid {
        display: flex;

        overflow-x:
            auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;
    }

    .nv-review-grid::-webkit-scrollbar {
        display:
            none;
    }

    .nv-review-card {
        flex:
            0 0 82%;

        scroll-snap-align:
            start;
    }

    .nv-journal-side-card {
        grid-template-columns:
            105px 1fr;
    }

}


@media (
    max-width:
    575.98px
) {

    .nv-goal-grid {
        grid-template-columns:
            1fr;
    }

    .nv-goal-card {
        min-height:
            190px;
    }

    .nv-featured-offer {
        border-radius:
            16px;
    }

    .nv-featured-offer-copy {
        padding:
            40px 25px;
    }

    .nv-featured-offer-copy h2 {
        font-size:
            2.9rem;
    }

    .nv-featured-offer-art {
        min-height:
            320px;
    }

    .nv-offer-discount {
        width:
            190px;

        height:
            190px;
    }

    .nv-offer-discount strong {
        font-size:
            3.5rem;
    }

    .nv-offer-orbit.orbit-one {
        width:
            290px;

        height:
            290px;
    }

    .nv-offer-orbit.orbit-two {
        width:
            390px;

        height:
            390px;
    }

}

/* ============================================================
   MEGA MENU
============================================================ */

.nv-mega-parent {
    position: static;
}

.nv-nav-chevron {
    margin-left: 4px;
    font-size: .65rem;
}

.nv-mega-menu {
    position: absolute;
    z-index: 100;

    left: 0;
    right: 0;
    top: 100%;

    visibility: hidden;
    opacity: 0;

    padding: 25px 0;

    border-top: 1px solid var(--line);

    background: #fff;

    box-shadow:
        0 25px 55px
        rgba(26, 48, 21, .08);

    transform:
        translateY(8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.nv-mega-parent:hover
.nv-mega-menu {
    visibility: visible;
    opacity: 1;

    transform: translateY(0);
}

.nv-mega-inner {
    display: grid;

    grid-template-columns:
        1fr 1fr .8fr;

    gap: 45px;
}

.nv-mega-label {
    display: block;

    margin-bottom: 15px;

    color: #8d958a;

    font-size: .63rem;
    font-weight: 800;

    letter-spacing: .16em;
}

.nv-mega-category-links {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 4px 20px;
}

.nv-mega-category-links a {
    padding: 8px 0;

    color: var(--ink);

    font-weight: 700;

    text-decoration: none;
}

.nv-mega-category-links a:hover {
    color: var(--green);
}

.nv-mega-feature-links {
    display: flex;
    flex-direction: column;

    gap: 8px;
}

.nv-mega-feature-links > a {
    display: flex;
    align-items: center;

    gap: 13px;

    padding: 10px;

    border-radius: 9px;

    color: var(--ink);

    text-decoration: none;
}

.nv-mega-feature-links > a:hover {
    background: #f4f7f1;
}

.nv-mega-feature-links > a > i {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #e9f1e3;

    color: var(--green);
}

.nv-mega-feature-links strong,
.nv-mega-feature-links small {
    display: block;
}

.nv-mega-feature-links small {
    margin-top: 2px;

    color: var(--muted);

    font-size: .67rem;
}

.nv-mega-explore {
    padding: 24px;

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #eaf2dd,
            #f4f7eb
        );
}

.nv-mega-explore p {
    color: #596256;

    line-height: 1.6;
}

.nv-mega-shop-all {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: 10px;

    color: var(--green);

    font-weight: 800;

    text-decoration: none;
}


/* Mobile submenu */

.nv-mobile-menu-toggle {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 17px 2px;

    border: 0;
    border-bottom: 1px solid var(--line);

    background: transparent;

    color: var(--ink);

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.15rem;
    font-weight: 700;
}

.nv-mobile-submenu {
    padding:
        7px 0 10px
        20px;
}

.nv-mobile-submenu a {
    padding: 10px 0;

    font-size: .95rem;
}


/* ============================================================
   SHOP
============================================================ */

.nv-shop-hero {
    padding:
        clamp(70px, 9vw, 140px)
        0
        clamp(60px, 7vw, 110px);

    background:
        linear-gradient(
            135deg,
            #f7f9f3,
            #eaf2dd
        );
}

.nv-shop-hero-inner {
    max-width: 920px;
}

.nv-shop-hero h1 {
    max-width: 1000px;

    margin:
        12px 0 18px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3.5rem, 7vw, 8rem);

    font-weight: 800;

    letter-spacing: -.07em;

    line-height: .93;
}

.nv-shop-hero p {
    max-width: 650px;

    margin: 0;

    color: var(--muted);

    font-size: 1.08rem;

    line-height: 1.7;
}

.nv-shop-category-nav {
    border-bottom: 1px solid var(--line);

    background: #fff;
}

.nv-shop-category-scroll {
    display: flex;

    gap: 8px;

    overflow-x: auto;

    padding: 18px 0;

    scrollbar-width: none;
}

.nv-shop-category-scroll::-webkit-scrollbar {
    display: none;
}

.nv-shop-category-chip {
    flex: 0 0 auto;

    padding: 10px 17px;

    border: 1px solid #dde4da;

    border-radius: 999px;

    color: #596257;

    font-size: .78rem;
    font-weight: 750;

    text-decoration: none;
}

.nv-shop-category-chip.active,
.nv-shop-category-chip:hover {
    border-color: #2e6427;

    background: #2e6427;

    color: #fff;
}

.nv-shop-toolbar {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 30px;

    color: var(--muted);
}

.nv-shop-toolbar strong {
    color: var(--ink);
}

.nv-shop-sort {
    display: flex;

    align-items: center;

    gap: 10px;
}

.nv-shop-sort label {
    white-space: nowrap;

    color: var(--muted);

    font-size: .78rem;
}

.nv-shop-sort .form-select {
    min-width: 190px;

    border-color: #dde3da;

    border-radius: 4px;

    font-size: .8rem;
}

.nv-shop-product-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        45px 22px;
}

.nv-shop-pagination {
    display: flex;

    justify-content: center;

    margin-top: 60px;
}

.nv-shop-empty {
    padding: 100px 20px;

    text-align: center;

    background: #f8faf6;
}

.nv-shop-empty > i {
    color: #aeb9aa;

    font-size: 2.5rem;
}


/* ============================================================
   PRODUCT DETAIL
============================================================ */

.nv-product-breadcrumb {
    padding: 17px 0;

    border-bottom: 1px solid var(--line);
}

.nv-product-breadcrumb .container {
    display: flex;
    align-items: center;

    gap: 8px;

    overflow: hidden;

    color: #90968e;

    font-size: .7rem;

    white-space: nowrap;
}

.nv-product-breadcrumb a {
    color: #747b72;

    text-decoration: none;
}

.nv-product-detail {
    padding:
        60px 0
        100px;
}

.nv-product-main-image {
    aspect-ratio: 1 / 1;

    display: grid;
    place-items: center;

    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            #f2f5ed,
            #fafbf8
        );
}

.nv-product-main-image img {
    width: 100%;
    height: 100%;

    padding: 5%;

    object-fit: contain;
}

.nv-product-thumbs {
    display: flex;

    gap: 9px;

    overflow-x: auto;

    margin-top: 12px;
}

.nv-product-thumb {
    width: 78px;
    height: 78px;

    flex: 0 0 auto;

    padding: 5px;

    overflow: hidden;

    border: 1px solid #dde4da;

    border-radius: 8px;

    background: #f8faf6;
}

.nv-product-thumb.active {
    border-color: var(--green);
}

.nv-product-thumb img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

.nv-product-detail-placeholder {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 12px;

    color: var(--green);

    opacity: .35;
}

.nv-product-detail-placeholder i {
    font-size: 5rem;
}

.nv-product-info {
    position: sticky;

    top: 120px;

    padding:
        12px 0
        0 20px;
}

.nv-product-detail-badge {
    display: inline-flex;

    padding: 6px 10px;

    border-radius: 999px;

    background: #183f23;

    color: #fff;

    font-size: .62rem;
    font-weight: 800;

    letter-spacing: .08em;

    text-transform: uppercase;
}

.nv-product-detail-tagline {
    display: block;

    margin-top: 18px;

    color: var(--green);

    font-size: .72rem;
    font-weight: 800;

    letter-spacing: .1em;

    text-transform: uppercase;
}

.nv-product-info h1 {
    max-width: 680px;

    margin:
        10px 0
        15px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.7rem, 4vw, 5rem);

    font-weight: 800;

    letter-spacing: -.06em;

    line-height: .98;
}

.nv-product-detail-rating {
    display: flex;

    align-items: center;

    gap: 5px;
}

.nv-product-detail-rating i {
    color: #e4a923;
}

.nv-product-detail-rating a {
    margin-left: 4px;

    color: #6f766d;

    font-size: .75rem;
}

.nv-product-detail-intro {
    max-width: 620px;

    margin:
        22px 0
        0;

    color: #596158;

    line-height: 1.75;
}

.nv-product-detail-price {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 27px;
}

.nv-product-detail-price strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.7rem;
}

.nv-product-detail-price del {
    color: #9aa097;
}

.nv-product-detail-price span {
    padding:
        5px 8px;

    border-radius: 4px;

    background: #e7f1de;

    color: #346429;

    font-size: .7rem;
    font-weight: 800;
}

.nv-tax-copy {
    color: #949a92;
}

.nv-product-variants {
    margin-top: 30px;
}

.nv-product-variants > label {
    display: block;

    margin-bottom: 10px;

    font-size: .75rem;
    font-weight: 800;
}

.nv-product-variant-list {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}

.nv-product-variant {
    padding: 10px 14px;

    border: 1px solid #dbe2d7;

    border-radius: 5px;

    background: #fff;

    color: #4f584d;

    font-size: .76rem;
    font-weight: 750;
}

.nv-product-variant.active {
    border-color: #2f6829;

    background: #edf5e8;

    color: #285c22;
}

.nv-product-buy-row {
    display: grid;

    grid-template-columns:
        120px 1fr;

    gap: 10px;

    margin-top: 30px;
}

.nv-quantity-selector {
    display: grid;

    grid-template-columns:
        36px 1fr 36px;

    min-height: 54px;

    border: 1px solid #dce2d9;

    border-radius: 5px;
}

.nv-quantity-selector button,
.nv-quantity-selector input {
    border: 0;

    background: #fff;

    text-align: center;
}

.nv-quantity-selector input {
    width: 100%;

    font-weight: 800;
}

.nv-product-detail-add {
    min-height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    border: 0;

    border-radius: 5px;

    background: #285f24;

    color: #fff;

    font-weight: 800;
}

.nv-product-assurances {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 8px;

    margin-top: 17px;
}

.nv-product-assurances > div {
    padding: 12px;

    border-radius: 7px;

    background: #f4f7f1;

    color: #5b6359;

    font-size: .68rem;

    text-align: center;
}

.nv-product-assurances i {
    display: block;

    margin-bottom: 5px;

    color: var(--green);

    font-size: 1rem;
}


/* Product content */

.nv-product-content {
    border-top: 1px solid var(--line);

    background: #fbfcf9;
}

.nv-product-content-block {
    padding-bottom: 45px;
}

.nv-product-content-block + .nv-product-content-block {
    padding-top: 45px;

    border-top: 1px solid var(--line);
}

.nv-product-content-block h2 {
    max-width: 800px;

    margin:
        10px 0 20px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.5rem, 4vw, 4.5rem);

    font-weight: 800;

    letter-spacing: -.06em;

    line-height: .98;
}

.nv-product-content-block h3,
.nv-product-side-card h3 {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.6rem;

    font-weight: 800;
}

.nv-product-rich-copy {
    color: #5d655b;

    font-size: .96rem;

    line-height: 1.85;
}

.nv-product-side-card {
    position: sticky;

    top: 120px;

    padding: 28px;

    border-radius: 15px;

    background: #edf4e7;
}

.nv-product-ingredient-list {
    margin-top: 20px;
}

.nv-product-ingredient-list > div {
    display: flex;

    justify-content: space-between;

    gap: 20px;

    padding: 11px 0;

    border-bottom:
        1px solid
        rgba(40, 80, 35, .11);

    font-size: .78rem;
}


/* Product reviews */

.nv-product-reviews {
    background: #18301c;

    color: #fff;
}

.nv-product-reviews
.section-kicker {
    color: #a9cf96;
}

.nv-product-reviews > .container > h2 {
    margin:
        10px 0 35px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.7rem, 4vw, 5rem);

    font-weight: 800;

    letter-spacing: -.06em;
}

.nv-product-review-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}

.nv-product-review-grid article {
    padding: 27px;

    border:
        1px solid
        rgba(255,255,255,.1);

    border-radius: 10px;

    background:
        rgba(255,255,255,.04);
}

.nv-product-review-grid article h3 {
    margin-top: 18px;

    font-size: 1rem;
}

.nv-product-review-grid article p {
    color:
        rgba(255,255,255,.7);

    line-height: 1.7;
}

.nv-product-review-grid article > div:last-child {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    font-size: .7rem;
}

.nv-product-review-grid article > div:last-child span {
    color: #a6d093;
}


/* Responsive */

@media (max-width: 1199.98px) {

    .nv-shop-product-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}

@media (max-width: 991.98px) {

    .nv-mega-menu {
        display: none;
    }

    .nv-shop-product-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .nv-product-info,
    .nv-product-side-card {
        position: static;

        padding-left: 0;
    }

    .nv-product-review-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

@media (max-width: 767.98px) {

    .nv-shop-product-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap:
            30px 12px;
    }

    .nv-shop-toolbar {
        align-items: flex-start;

        flex-direction: column;
    }

    .nv-shop-sort {
        width: 100%;
    }

    .nv-shop-sort .form-select {
        width: 100%;
    }

    .nv-product-detail {
        padding-top: 25px;
    }

    .nv-product-main-image {
        border-radius: 12px;
    }

    .nv-product-buy-row {
        grid-template-columns:
            105px 1fr;
    }

    .nv-product-assurances {
        grid-template-columns: 1fr;
    }

    .nv-product-review-grid {
        display: flex;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .nv-product-review-grid article {
        flex: 0 0 82%;
    }

}

.nv-search-drawer {
    height: auto !important;

    border: 0 !important;

    background: #fff;
}

.nv-search-drawer-inner {
    padding:
        35px 0;
}

.nv-search-drawer form {
    display: grid;

    grid-template-columns:
        auto 1fr auto auto;

    align-items: center;

    gap: 15px;
}

.nv-search-drawer form > i {
    color: var(--green);

    font-size: 1.4rem;
}

.nv-search-drawer input {
    width: 100%;

    padding:
        7px 0;

    border: 0;
    outline: 0;

    color: var(--ink);

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            1.3rem,
            2vw,
            2rem
        );

    font-weight: 700;
}

.nv-search-submit {
    min-height: 42px;

    padding:
        0 18px;

    border: 0;

    border-radius: 4px;

    background: var(--green);

    color: #fff;

    font-weight: 800;
}

.nv-search-close {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    border: 0;

    background: transparent;

    font-size: 1.15rem;
}

@media (max-width: 575.98px) {

    .nv-search-drawer form {
        grid-template-columns:
            auto 1fr auto;
    }

    .nv-search-submit {
        grid-column:
            1 / -1;

        width: 100%;
    }

}

/* ============================================================
   ADVANCED SHOP FILTERING
============================================================ */

.nv-shop-layout {
    display: grid;

    grid-template-columns:
        255px minmax(0, 1fr);

    gap:
        clamp(
            30px,
            4vw,
            60px
        );

    align-items: start;
}


/* ============================================================
   TOOLBAR
============================================================ */

.nv-shop-toolbar-actions {
    display: flex;

    align-items: center;

    gap: 10px;
}

.nv-shop-result-count {
    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    gap: 5px;

    color:
        #798078;

    font-size:
        .82rem;
}

.nv-shop-result-count strong {
    color:
        var(--ink);
}

.nv-shop-search-result {
    margin-left: 3px;
}

.nv-shop-search-result strong {
    color:
        var(--green);
}


/* Mobile filter button */

.nv-mobile-filter-btn {
    display: none;

    min-height: 42px;

    align-items: center;

    gap: 7px;

    padding:
        0 14px;

    border:
        1px solid
        #dae2d7;

    border-radius:
        5px;

    background:
        #fff;

    color:
        #344033;

    font-size:
        .77rem;

    font-weight:
        750;
}

.nv-mobile-filter-btn span {
    min-width:
        20px;

    height:
        20px;

    display: grid;

    place-items: center;

    border-radius:
        50%;

    background:
        var(--green);

    color:
        #fff;

    font-size:
        .62rem;
}


/* ============================================================
   ACTIVE FILTERS
============================================================ */

.nv-active-filters {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 7px;

    margin:
        -12px 0
        30px;
}

.nv-active-filters span {
    display: inline-flex;

    min-height:
        30px;

    align-items: center;

    padding:
        0 11px;

    border-radius:
        999px;

    background:
        #edf4e7;

    color:
        #3a6833;

    font-size:
        .68rem;

    font-weight:
        750;
}

.nv-active-filters a {
    margin-left:
        4px;

    color:
        #788077;

    font-size:
        .68rem;

    font-weight:
        700;

    text-decoration:
        underline;
}


/* ============================================================
   SIDEBAR
============================================================ */

.nv-shop-sidebar {
    min-width: 0;
}

.nv-shop-sidebar-inner {
    position: sticky;

    top:
        105px;
}

.nv-shop-filter-title {
    display: flex;

    align-items: center;

    justify-content: space-between;

    padding-bottom:
        17px;

    border-bottom:
        1px solid
        var(--line);
}

.nv-shop-filter-title strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.2rem;

    font-weight:
        800;
}

.nv-shop-filter-title span {
    min-width:
        24px;

    height:
        24px;

    display: grid;

    place-items: center;

    border-radius:
        50%;

    background:
        #e7f0e1;

    color:
        #386a31;

    font-size:
        .66rem;

    font-weight:
        800;
}


/* ============================================================
   FILTER GROUP
============================================================ */

.nv-filter-group {
    border-bottom:
        1px solid
        var(--line);
}

.nv-filter-heading {
    width:
        100%;

    min-height:
        58px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        var(--ink);

    font-size:
        .78rem;

    font-weight:
        800;

    text-align:
        left;
}

.nv-filter-heading i {
    color:
        #879085;

    font-size:
        .7rem;

    transition:
        transform
        .2s ease;
}

.nv-filter-heading[
    aria-expanded="true"
]
i {
    transform:
        rotate(180deg);
}

.nv-filter-body {
    padding:
        0 0
        19px;
}


/* ============================================================
   CHECKBOX / RADIO
============================================================ */

.nv-filter-checkbox,
.nv-filter-radio {
    display: flex;

    align-items: center;

    gap:
        9px;

    min-height:
        32px;

    margin: 0;

    color:
        #646c62;

    font-size:
        .76rem;

    cursor:
        pointer;
}

.nv-filter-checkbox input,
.nv-filter-radio input {
    width:
        16px;

    height:
        16px;

    flex:
        0 0 auto;

    accent-color:
        var(--green);
}

.nv-filter-checkbox span,
.nv-filter-radio span {
    flex: 1;
}

.nv-filter-checkbox small {
    color:
        #a0a69e;

    font-size:
        .64rem;
}


/* ============================================================
   INGREDIENT SEARCH
============================================================ */

.nv-filter-search {
    position: relative;

    margin-bottom:
        11px;
}

.nv-filter-search i {
    position: absolute;

    left:
        10px;

    top:
        50%;

    transform:
        translateY(-50%);

    color:
        #969d94;

    font-size:
        .72rem;
}

.nv-filter-search input {
    width:
        100%;

    min-height:
        37px;

    padding:
        0 10px
        0 30px;

    border:
        1px solid
        #dfe5dc;

    border-radius:
        5px;

    outline:
        none;

    background:
        #fbfcfa;

    color:
        var(--ink);

    font-size:
        .7rem;
}

.nv-filter-search input:focus {
    border-color:
        #9ebc97;

    background:
        #fff;
}

.nv-filter-options-scroll {
    max-height:
        235px;

    overflow-y:
        auto;

    padding-right:
        5px;

    scrollbar-width:
        thin;
}


/* ============================================================
   PRICE
============================================================ */

.nv-price-filter {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    align-items: end;

    gap:
        7px;
}

.nv-price-filter label {
    display: block;

    margin-bottom:
        5px;

    color:
        #989f96;

    font-size:
        .6rem;

    font-weight:
        700;

    text-transform:
        uppercase;
}

.nv-price-input {
    min-height:
        39px;

    display: flex;

    align-items: center;

    overflow: hidden;

    border:
        1px solid
        #dce4d9;

    border-radius:
        5px;

    background:
        #fff;
}

.nv-price-input span {
    padding-left:
        9px;

    color:
        #8a9288;

    font-size:
        .7rem;
}

.nv-price-input input {
    min-width: 0;

    width: 100%;

    padding:
        0 7px;

    border: 0;

    outline: 0;

    background:
        transparent;

    font-size:
        .72rem;
}

.nv-price-separator {
    padding-bottom:
        9px;

    color:
        #a9aea7;
}


/* ============================================================
   FILTER ACTIONS
============================================================ */

.nv-filter-actions {
    padding-top:
        20px;
}

.nv-filter-apply {
    width:
        100%;

    min-height:
        43px;

    border: 0;

    border-radius:
        5px;

    background:
        #285f24;

    color:
        #fff;

    font-size:
        .75rem;

    font-weight:
        800;
}

.nv-filter-apply:hover {
    background:
        #214f1e;

    color:
        #fff;
}

.nv-filter-clear {
    display: block;

    margin-top:
        12px;

    color:
        #777f76;

    font-size:
        .69rem;

    font-weight:
        700;

    text-align:
        center;
}


/* ============================================================
   RESULTS
============================================================ */

.nv-shop-results {
    min-width: 0;
}

.nv-shop-layout
.nv-shop-product-grid {
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        46px 20px;
}


/* ============================================================
   MOBILE FILTER DRAWER
============================================================ */

.nv-filter-offcanvas {
    width:
        min(
            390px,
            92vw
        );
}

.nv-filter-offcanvas
.offcanvas-header {
    border-bottom:
        1px solid
        var(--line);
}

.nv-filter-offcanvas
.offcanvas-title {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-weight:
        800;
}

.nv-filter-offcanvas
.offcanvas-header small {
    display: block;

    margin-top:
        2px;

    color:
        #90978f;

    font-size:
        .68rem;
}

.nv-filter-offcanvas
.offcanvas-body {
    padding:
        0 20px
        30px;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (
    max-width:
    1199.98px
) {

    .nv-shop-layout {
        grid-template-columns:
            220px minmax(0, 1fr);

        gap:
            30px;
    }

}


@media (
    max-width:
    991.98px
) {

    .nv-shop-layout {
        display:
            block;
    }

    .nv-shop-sidebar {
        display:
            none;
    }

    .nv-mobile-filter-btn {
        display:
            inline-flex;
    }

    .nv-shop-layout
    .nv-shop-product-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }

}


@media (
    max-width:
    767.98px
) {

    .nv-shop-toolbar {
        align-items:
            center;

        flex-direction:
            row;
    }

    .nv-shop-toolbar-actions {
        margin-left:
            auto;
    }

    .nv-shop-sort label {
        display:
            none;
    }

    .nv-shop-sort
    .form-select {
        min-width:
            135px;

        font-size:
            .72rem;
    }

    .nv-shop-layout
    .nv-shop-product-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            32px 12px;
    }

}


@media (
    max-width:
    480px
) {

    .nv-shop-toolbar {
        flex-wrap:
            wrap;
    }

    .nv-shop-result-count {
        width:
            100%;
    }

    .nv-shop-toolbar-actions {
        width:
            100%;

        justify-content:
            space-between;
    }

    .nv-mobile-filter-btn,
    .nv-shop-sort {
        flex:
            1;
    }

    .nv-shop-sort
    .form-select {
        width:
            100%;

        min-width:
            0;
    }

}

/* ============================================================
   BLOG LISTING
============================================================ */

.nv-blog-hero,
.nv-about-hero,
.nv-contact-hero {
    padding:
        clamp(80px, 10vw, 155px)
        0
        clamp(70px, 8vw, 120px);

    background:
        linear-gradient(
            135deg,
            #FBF5EC,
            #e9f2dd
        );
}

.nv-blog-hero-inner,
.nv-about-hero-inner,
.nv-contact-hero-inner {
    max-width: 1050px;
}

.nv-blog-hero h1,
.nv-about-hero h1,
.nv-contact-hero h1 {
    margin:
        12px 0 22px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3.6rem, 7vw, 8rem);

    font-weight: 800;

    letter-spacing: -.075em;

    line-height: .92;
}

.nv-blog-hero p,
.nv-about-hero p,
.nv-contact-hero p {
    max-width: 670px;

    margin: 0;

    color: #626b60;

    font-size: 1.08rem;

    line-height: 1.7;
}


/* Toolbar */

.nv-blog-toolbar {
    border-bottom:
        1px solid
        var(--line);
}

.nv-blog-toolbar-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 18px 0;
}

.nv-blog-category-scroll {
    display: flex;

    gap: 7px;

    overflow-x: auto;

    scrollbar-width: none;
}

.nv-blog-category-scroll::-webkit-scrollbar {
    display: none;
}

.nv-blog-category-chip {
    flex: 0 0 auto;

    padding: 9px 15px;

    border: 1px solid #dce4d8;

    border-radius: 999px;

    color: #5f685d;

    font-size: .72rem;
    font-weight: 750;

    text-decoration: none;
}

.nv-blog-category-chip.active,
.nv-blog-category-chip:hover {
    border-color: var(--green);

    background: var(--green);

    color: #fff;
}

.nv-blog-search {
    position: relative;

    flex: 0 0 240px;
}

.nv-blog-search i {
    position: absolute;

    left: 12px;
    top: 50%;

    transform: translateY(-50%);

    color: #969d94;
}

.nv-blog-search input {
    width: 100%;

    min-height: 42px;

    padding:
        0 12px
        0 36px;

    border: 1px solid #dce4d8;

    border-radius: 6px;

    outline: 0;

    font-size: .76rem;
}


/* Featured */

.nv-blog-featured {
    padding:
        70px 0 40px;
}

.nv-blog-feature-card {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    min-height: 560px;

    overflow: hidden;

    border-radius: 20px;

    background: #edf3e7;
}

.nv-blog-feature-image {
    min-height: 100%;

    overflow: hidden;
}

.nv-blog-feature-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.nv-blog-feature-copy {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        clamp(40px, 5vw, 75px);
}

.nv-blog-meta {
    margin-top: 14px;

    color: #7f877d;

    font-size: .68rem;
    font-weight: 700;

    letter-spacing: .06em;

    text-transform: uppercase;
}

.nv-blog-meta span {
    margin: 0 5px;
}

.nv-blog-feature-copy h2 {
    margin:
        12px 0 16px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.7rem, 4vw, 5rem);

    font-weight: 800;

    letter-spacing: -.06em;

    line-height: .98;
}

.nv-blog-feature-copy h2 a,
.nv-blog-card h3 a {
    color: var(--ink);

    text-decoration: none;
}

.nv-blog-feature-copy p {
    color: var(--muted);

    line-height: 1.75;
}

.nv-blog-read-link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    width: fit-content;

    margin-top: 16px;

    color: var(--green);

    font-size: .78rem;
    font-weight: 800;

    text-decoration: none;
}


/* Blog grid */

.nv-blog-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 45px 24px;
}

.nv-blog-card-image {
    display: block;

    overflow: hidden;

    aspect-ratio: 1.35 / 1;

    border-radius: 12px;

    background: #eef3e9;
}

.nv-blog-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .45s ease;
}

.nv-blog-card:hover
.nv-blog-card-image img {
    transform: scale(1.035);
}

.nv-blog-card-body {
    padding-top: 16px;
}

.nv-blog-card h3 {
    margin:
        9px 0 10px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.25rem;

    font-weight: 800;

    letter-spacing: -.035em;

    line-height: 1.2;
}

.nv-blog-card p {
    color: var(--muted);

    font-size: .84rem;

    line-height: 1.65;
}

.nv-blog-image-placeholder {
    width: 100%;
    height: 100%;

    display: grid;

    place-items: center;

    color: var(--green);

    font-size: 3rem;

    background:
        linear-gradient(
            145deg,
            #edf4e7,
            #dfead6
        );
}

.nv-blog-pagination {
    display: flex;

    justify-content: center;

    margin-top: 60px;
}

.nv-blog-empty {
    padding: 100px 20px;

    text-align: center;

    background: #f7f9f4;
}


/* ============================================================
   ARTICLE DETAIL
============================================================ */

.nv-article-header {
    padding:
        clamp(80px, 9vw, 145px)
        0
        55px;

    background: #fafbf8;
}

.nv-article-header-inner {
    max-width: 980px;

    margin-inline: auto;

    text-align: center;
}

.nv-article-header h1 {
    margin:
        15px 0 22px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3.2rem, 6vw, 7rem);

    font-weight: 800;

    letter-spacing: -.07em;

    line-height: .94;
}

.nv-article-header-inner > p {
    max-width: 750px;

    margin:
        0 auto;

    color: var(--muted);

    font-size: 1.08rem;

    line-height: 1.7;
}

.nv-article-author {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-top: 28px;
}

.nv-article-avatar {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #dce9d4;

    color: #2d6228;

    font-weight: 800;
}

.nv-article-author span,
.nv-article-author strong {
    display: block;

    text-align: left;
}

.nv-article-author span {
    color: #959b93;

    font-size: .63rem;
}

.nv-article-author strong {
    font-size: .76rem;
}

.nv-article-image {
    overflow: hidden;

    max-height: 730px;

    border-radius: 18px;
}

.nv-article-image img {
    width: 100%;

    display: block;

    object-fit: cover;
}

.nv-article-body {
    color: #50584f;

    font-size: 1.03rem;

    line-height: 1.95;
}

.nv-related-articles {
    background: #f7f9f4;
}


/* ============================================================
   ABOUT
============================================================ */

.nv-about-story h2,
.nv-contact-main h2 {
    margin:
        10px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.8rem, 4vw, 5rem);

    font-weight: 800;

    letter-spacing: -.065em;

    line-height: .97;
}

.nv-about-story p {
    color: #5d655b;

    font-size: 1rem;

    line-height: 1.85;
}

.nv-about-values {
    background: #f7f9f4;
}

.nv-about-value-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 1px;

    background: #dfe5dc;
}

.nv-about-value-grid article {
    min-height: 320px;

    padding: 35px;

    background: #f7f9f4;
}

.nv-about-value-grid i {
    color: var(--green);

    font-size: 1.6rem;
}

.nv-about-value-grid h3 {
    margin:
        55px 0 12px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.25rem;

    font-weight: 800;
}

.nv-about-value-grid p {
    color: var(--muted);

    line-height: 1.7;
}

.nv-about-cta {
    padding:
        110px 0;

    background: #19331d;

    color: #fff;

    text-align: center;
}

.nv-about-cta
.section-kicker {
    color: #a6cf94;
}

.nv-about-cta h2 {
    max-width: 900px;

    margin:
        12px auto 28px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3rem, 5vw, 6rem);

    font-weight: 800;

    letter-spacing: -.07em;

    line-height: .94;
}


/* ============================================================
   CONTACT
============================================================ */

.nv-contact-list {
    display: flex;

    flex-direction: column;

    gap: 13px;

    margin-top: 35px;
}

.nv-contact-list > a,
.nv-contact-address {
    display: flex;

    align-items: center;

    gap: 15px;

    padding: 17px;

    border: 1px solid var(--line);

    border-radius: 10px;

    color: var(--ink);

    text-decoration: none;
}

.nv-contact-list > a > span,
.nv-contact-address > span {
    width: 43px;
    height: 43px;

    display: grid;

    place-items: center;

    flex: 0 0 auto;

    border-radius: 50%;

    background: #e8f1e1;

    color: var(--green);
}

.nv-contact-list small,
.nv-contact-list strong,
.nv-contact-address small,
.nv-contact-address strong {
    display: block;
}

.nv-contact-list small,
.nv-contact-address small {
    color: #989f96;

    font-size: .62rem;

    text-transform: uppercase;

    letter-spacing: .1em;
}

.nv-contact-list strong,
.nv-contact-address strong {
    margin-top: 3px;

    font-size: .82rem;
}

.nv-contact-form-card {
    padding:
        clamp(30px, 4vw, 55px);

    border-radius: 18px;

    background: #f5f8f1;
}

.nv-contact-form-card h3 {
    margin:
        8px 0 28px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 2rem;

    font-weight: 800;

    letter-spacing: -.04em;
}

.nv-contact-form-card label {
    display: block;

    margin-bottom: 6px;

    color: #636b61;

    font-size: .7rem;

    font-weight: 750;
}

.nv-contact-form-card
.form-control {
    min-height: 49px;

    border-color: #dce4d8;

    border-radius: 6px;

    background: #fff;
}

.nv-contact-form-card textarea.form-control {
    min-height: 150px;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 991.98px) {

    .nv-blog-toolbar-inner {
        align-items: stretch;

        flex-direction: column;
    }

    .nv-blog-search {
        flex: none;

        width: 100%;
    }

    .nv-blog-feature-card {
        grid-template-columns: 1fr;
    }

    .nv-blog-feature-image {
        min-height: 430px;
    }

    .nv-blog-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .nv-about-value-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


@media (max-width: 575.98px) {

    .nv-blog-grid {
        grid-template-columns: 1fr;
    }

    .nv-blog-feature-image {
        min-height: 320px;
    }

    .nv-about-value-grid {
        grid-template-columns: 1fr;
    }

    .nv-about-value-grid article {
        min-height: 250px;
    }

}

/* ============================================================
   CONTACT FORM FEEDBACK
============================================================ */

.nv-contact-success,
.nv-contact-errors {
    display: flex;

    gap: 12px;

    margin-bottom: 22px;

    padding: 15px 17px;

    border-radius: 9px;
}

.nv-contact-success {
    background:
        #e9f5e5;

    color:
        #2f642b;
}

.nv-contact-success > i {
    flex: 0 0 auto;

    margin-top: 2px;

    font-size:
        1.1rem;
}

.nv-contact-success strong,
.nv-contact-success span {
    display: block;
}

.nv-contact-success span {
    margin-top: 2px;

    font-size:
        .77rem;

    line-height:
        1.5;
}

.nv-contact-errors {
    display: block;

    border:
        1px solid
        #efcece;

    background:
        #fff4f4;

    color:
        #8c3838;

    font-size:
        .78rem;
}

.nv-contact-errors ul {
    margin:
        7px 0 0;

    padding-left:
        18px;
}

/* ============================================================
   CUSTOMER AUTH
============================================================ */

.nv-auth-section {
    min-height:
        calc(100vh - 150px);

    display: flex;

    align-items: center;

    padding:
        clamp(55px, 7vw, 100px)
        0;

    background:
        #f6f8f2;
}

.nv-auth-layout {
    display: grid;

    grid-template-columns:
        1fr
        minmax(420px, .75fr);

    overflow: hidden;

    border-radius: 24px;

    background: #fff;

    box-shadow:
        0 30px 80px
        rgba(31, 61, 25, .08);
}

.nv-auth-story {
    min-height: 680px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        clamp(45px, 6vw, 90px);

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(205, 226, 177, .35),
            transparent 30%
        ),
        #1c4022;

    color: #fff;
}

.nv-auth-story
.section-kicker {
    color: #a8d196;
}

.nv-auth-story h1 {
    max-width: 680px;

    margin:
        12px 0 20px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3rem, 5vw, 6rem);

    font-weight: 800;

    letter-spacing:
        -.07em;

    line-height:
        .94;
}

.nv-auth-story > p {
    max-width: 540px;

    color:
        rgba(255,255,255,.68);

    line-height: 1.75;
}

.nv-auth-benefits {
    display: flex;

    flex-direction: column;

    gap: 13px;

    margin-top: 35px;
}

.nv-auth-benefits > div {
    display: flex;

    align-items: center;

    gap: 10px;

    color:
        rgba(255,255,255,.82);

    font-size: .8rem;

    font-weight: 700;
}

.nv-auth-benefits i {
    color: #a8d196;
}


/* Form */

.nv-auth-card {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        clamp(35px, 5vw, 70px);
}

.nv-auth-card h2 {
    margin:
        8px 0 5px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(2.2rem, 3vw, 3.4rem);

    font-weight: 800;

    letter-spacing:
        -.055em;
}

.nv-auth-card > p {
    margin-bottom: 28px;

    color: var(--muted);

    font-size: .82rem;
}

.nv-auth-field {
    margin-bottom: 17px;
}

.nv-auth-field label {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 6px;

    color: #5a6358;

    font-size: .69rem;

    font-weight: 750;
}

.nv-auth-field label span {
    color: #9ba199;

    font-size: .6rem;

    font-weight: 600;
}

.nv-auth-field
.form-control {
    min-height: 49px;

    border:
        1px solid
        #dbe3d8;

    border-radius: 6px;

    font-size: .8rem;
}

.nv-auth-field
.form-control:focus {
    border-color: #8db486;

    box-shadow:
        0 0 0 3px
        rgba(76, 126, 66, .08);
}

.nv-password-field {
    position: relative;
}

.nv-password-field
.form-control {
    padding-right: 50px;
}

.nv-password-field button {
    position: absolute;

    right: 5px;
    top: 50%;

    width: 40px;
    height: 40px;

    display: grid;

    place-items: center;

    transform:
        translateY(-50%);

    border: 0;

    background: transparent;

    color: #757d73;
}

.nv-auth-remember {
    display: flex;

    align-items: center;

    gap: 8px;

    color: #737b71;

    font-size: .7rem;

    cursor: pointer;
}

.nv-auth-remember input {
    width: 15px;
    height: 15px;

    accent-color: var(--green);
}

.nv-auth-submit {
    width: 100%;

    min-height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    margin-top: 22px;

    border: 0;

    border-radius: 6px;

    background: #285f24;

    color: #fff;

    font-weight: 800;
}

.nv-auth-submit:hover {
    background: #214e1e;

    color: #fff;
}

.nv-auth-switch {
    margin-top: 22px;

    color: #8a9188;

    font-size: .72rem;

    text-align: center;
}

.nv-auth-switch a {
    margin-left: 3px;

    color: var(--green);

    font-weight: 800;
}

.nv-auth-error {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 20px;

    padding: 12px 14px;

    border-radius: 7px;

    background: #fff0f0;

    color: #8d3c3c;

    font-size: .72rem;
}

.nv-password-error {
    margin-top: -5px;

    color: #a34343;

    font-size: .67rem;
}


/* ============================================================
   ACCOUNT
============================================================ */

.nv-account-hero {
    padding:
        clamp(60px, 7vw, 100px)
        0;

    background:
        linear-gradient(
            135deg,
            #f5f8f1,
            #e7f1dc
        );
}

.nv-account-hero-inner {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;
}

.nv-account-hero h1 {
    margin:
        8px 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(3rem, 5vw, 6rem);

    font-weight: 800;

    letter-spacing: -.07em;
}

.nv-account-hero p {
    margin: 0;

    color: var(--muted);
}

.nv-account-logout {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    min-height: 42px;

    padding:
        0 14px;

    border:
        1px solid
        #cad8c5;

    border-radius: 5px;

    background:
        rgba(255,255,255,.6);

    color: #40503d;

    font-size: .72rem;

    font-weight: 750;
}

.nv-account-summary {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}

.nv-account-summary article {
    min-height: 145px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    padding: 24px;

    border:
        1px solid
        var(--line);

    border-radius: 12px;
}

.nv-account-summary span {
    color: #888f86;

    font-size: .69rem;

    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.nv-account-summary strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 2.3rem;

    font-weight: 800;
}

.nv-account-summary
.nv-account-active {
    color: #387330;

    font-size: 1.2rem;
}

.nv-account-panel {
    padding:
        clamp(24px, 3vw, 38px);

    border:
        1px solid
        var(--line);

    border-radius: 14px;

    background: #fff;
}

.nv-account-panel h2 {
    margin:
        7px 0 25px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size: 1.75rem;

    font-weight: 800;

    letter-spacing: -.04em;
}

.nv-account-order {
    display: grid;

    grid-template-columns:
        1.2fr 1fr 1fr 1fr;

    gap: 15px;

    padding:
        17px 0;

    border-top:
        1px solid
        var(--line);
}

.nv-account-order span {
    display: block;

    margin-bottom: 3px;

    color: #999f97;

    font-size: .58rem;

    font-weight: 750;

    letter-spacing: .08em;
}

.nv-account-order strong {
    font-size: .74rem;
}

.nv-account-profile-row {
    padding: 14px 0;

    border-top:
        1px solid
        var(--line);
}

.nv-account-profile-row span {
    display: block;

    color: #999f97;

    font-size: .61rem;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.nv-account-profile-row strong {
    display: block;

    margin-top: 3px;

    font-size: .79rem;
}

.nv-account-empty {
    padding: 55px 15px;

    text-align: center;
}

.nv-account-empty > i {
    color: #a5b1a1;

    font-size: 2rem;
}


/* Responsive */

@media (max-width: 991.98px) {

    .nv-auth-layout {
        grid-template-columns: 1fr;
    }

    .nv-auth-story {
        min-height: 450px;
    }

}

@media (max-width: 767.98px) {

    .nv-auth-section {
        padding: 20px 0;
    }

    .nv-auth-layout {
        border-radius: 14px;
    }

    .nv-auth-story {
        min-height: 380px;

        padding: 35px 25px;
    }

    .nv-auth-card {
        padding: 35px 24px;
    }

    .nv-account-hero-inner {
        align-items: flex-start;

        flex-direction: column;
    }

    .nv-account-summary {
        grid-template-columns: 1fr;
    }

    .nv-account-order {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

/* ============================================================
   COMPLETE ACCOUNT AREA
============================================================ */

.nv-account-page-head {
    padding:
        clamp(55px, 7vw, 95px)
        0
        clamp(45px, 5vw, 70px);

    background:
        linear-gradient(
            135deg,
            #f6f8f2,
            #eaf2e2
        );
}

.nv-account-page-head h1 {
    margin:
        8px 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3rem,
            5vw,
            5.8rem
        );

    font-weight: 800;

    letter-spacing:
        -.07em;

    line-height:
        .95;
}

.nv-account-page-head p {
    max-width:
        620px;

    margin: 0;

    color:
        var(--muted);
}


/* Layout */

.nv-account-layout {
    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);

    gap:
        45px;

    align-items:
        start;
}


/* Navigation */

.nv-account-nav {
    position: sticky;

    top: 110px;

    display: flex;

    flex-direction: column;

    padding:
        8px;

    border:
        1px solid
        var(--line);

    border-radius:
        12px;

    background:
        #fff;
}

.nv-account-nav > a,
.nv-account-nav form button {
    width: 100%;

    min-height:
        47px;

    display: flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        0 13px;

    border: 0;

    border-radius:
        8px;

    background:
        transparent;

    color:
        #687066;

    font-size:
        .76rem;

    font-weight:
        750;

    text-decoration:
        none;

    text-align: left;
}

.nv-account-nav > a:hover,
.nv-account-nav > a.active {
    background:
        #edf4e8;

    color:
        #32662c;
}

.nv-account-nav form {
    margin-top:
        6px;

    padding-top:
        6px;

    border-top:
        1px solid
        var(--line);
}

.nv-account-nav form button:hover {
    background:
        #fff2f2;

    color:
        #a13f3f;
}


/* Content */

.nv-account-content-card {
    padding:
        clamp(
            25px,
            3vw,
            40px
        );

    border:
        1px solid
        var(--line);

    border-radius:
        14px;

    background:
        #fff;
}

.nv-account-card-heading h2,
.nv-address-toolbar h2 {
    margin:
        7px 0 27px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.8rem;

    font-weight:
        800;

    letter-spacing:
        -.04em;
}

.nv-account-label {
    display: block;

    margin-bottom:
        6px;

    color:
        #636b61;

    font-size:
        .68rem;

    font-weight:
        750;
}

.nv-account-content-card
.form-control,
.nv-address-modal
.form-control {
    min-height:
        48px;

    border:
        1px solid
        #dce4d9;

    border-radius:
        6px;

    font-size:
        .8rem;
}

.nv-account-save {
    min-height:
        45px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    margin-top:
        24px;

    padding:
        0 17px;

    border: 0;

    border-radius:
        6px;

    background:
        #285f24;

    color:
        #fff;

    font-size:
        .76rem;

    font-weight:
        800;
}

.nv-account-save:hover {
    background:
        #214e1e;

    color:
        #fff;
}

.nv-account-success {
    display: flex;

    align-items:
        center;

    gap:
        9px;

    margin-bottom:
        18px;

    padding:
        13px 15px;

    border-radius:
        8px;

    background:
        #e9f5e4;

    color:
        #32672b;

    font-size:
        .75rem;

    font-weight:
        700;
}


/* Switch */

.nv-account-switch {
    display: flex;

    align-items:
        flex-start;

    gap:
        12px;

    padding:
        15px;

    border:
        1px solid
        #e0e6dd;

    border-radius:
        8px;

    cursor:
        pointer;
}

.nv-account-switch input {
    width:
        17px;

    height:
        17px;

    margin-top:
        2px;

    accent-color:
        var(--green);
}

.nv-account-switch strong,
.nv-account-switch small {
    display: block;
}

.nv-account-switch strong {
    color:
        var(--ink);

    font-size:
        .76rem;
}

.nv-account-switch small {
    margin-top:
        3px;

    color:
        #8b9289;

    font-size:
        .65rem;

    line-height:
        1.45;
}


/* ============================================================
   ADDRESSES
============================================================ */

.nv-address-toolbar {
    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        25px;
}

.nv-address-toolbar
.nv-account-save {
    margin: 0;
}

.nv-address-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        15px;
}

.nv-address-card {
    position: relative;

    padding:
        25px;

    border:
        1px solid
        #dfe6dc;

    border-radius:
        13px;

    background:
        #fff;
}

.nv-address-card-top > div {
    display: flex;

    flex-wrap: wrap;

    gap:
        6px;
}

.nv-address-label {
    padding:
        5px 8px;

    border-radius:
        999px;

    background:
        #edf4e8;

    color:
        #376c31;

    font-size:
        .62rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.nv-address-default {
    padding:
        5px 8px;

    border-radius:
        999px;

    background:
        #f4f4ec;

    color:
        #747967;

    font-size:
        .57rem;

    font-weight:
        750;
}

.nv-address-card h3 {
    margin:
        20px 0
        9px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1rem;

    font-weight:
        800;
}

.nv-address-card address {
    margin: 0;

    color:
        #666e64;

    font-size:
        .76rem;

    font-style:
        normal;

    line-height:
        1.7;
}

.nv-address-phone {
    margin-top:
        12px;

    color:
        #697067;

    font-size:
        .7rem;
}

.nv-address-actions {
    display: flex;

    align-items:
        center;

    gap:
        13px;

    margin-top:
        20px;

    padding-top:
        15px;

    border-top:
        1px solid
        var(--line);
}

.nv-address-actions form {
    margin: 0;
}

.nv-address-actions button {
    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        #667064;

    font-size:
        .68rem;

    font-weight:
        750;
}

.nv-address-actions button:hover {
    color:
        var(--green);
}


/* Modal */

.nv-address-modal {
    overflow: hidden;

    border: 0;

    border-radius:
        14px;
}

.nv-address-modal
.modal-header {
    padding:
        24px 28px;

    border-bottom:
        1px solid
        var(--line);
}

.nv-address-modal
.modal-title {
    margin-top:
        4px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-weight:
        800;
}

.nv-address-modal
.modal-body {
    padding:
        28px;
}

.nv-address-modal
.modal-footer {
    padding:
        17px 28px;

    border-top:
        1px solid
        var(--line);
}

.nv-address-modal
.nv-account-save {
    margin: 0;
}

.nv-address-cancel {
    min-height:
        44px;

    border:
        1px solid
        #dce3d9;

    color:
        #60675e;
}


/* ============================================================
   ORDER HISTORY
============================================================ */

.nv-order-history-card {
    display: grid;

    grid-template-columns:
        1.5fr
        .55fr
        .8fr
        1fr
        auto;

    align-items:
        center;

    gap:
        18px;

    padding:
        19px 0;

    border-top:
        1px solid
        var(--line);

    color:
        var(--ink);

    text-decoration:
        none;

    transition:
        padding .2s ease,
        color .2s ease;
}

.nv-order-history-card:hover {
    padding-left:
        8px;

    color:
        var(--green);
}

.nv-order-history-card span {
    display: block;

    margin-bottom:
        4px;

    color:
        #989f96;

    font-size:
        .56rem;

    font-weight:
        750;

    letter-spacing:
        .09em;
}

.nv-order-history-card strong {
    font-size:
        .76rem;
}

.nv-order-history-main small {
    display: block;

    margin-top:
        4px;

    color:
        #969c94;

    font-size:
        .63rem;
}

.nv-order-status {
    color:
        #397432;
}


/* ============================================================
   ORDER DETAIL
============================================================ */

.nv-order-back {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    margin-bottom:
        27px;

    color:
        #697167;

    font-size:
        .7rem;

    font-weight:
        750;

    text-decoration:
        none;
}

.nv-order-detail-status {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        1px;

    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius:
        11px;

    background:
        var(--line);
}

.nv-order-detail-status > div {
    padding:
        19px;

    background:
        #fff;
}

.nv-order-detail-status span {
    display: block;

    margin-bottom:
        5px;

    color:
        #979e95;

    font-size:
        .56rem;

    font-weight:
        750;

    letter-spacing:
        .1em;
}

.nv-order-detail-status strong {
    font-size:
        .76rem;
}

.nv-order-detail-items {
    border-top:
        1px solid
        var(--line);
}

.nv-order-detail-item {
    display: grid;

    grid-template-columns:
        80px
        1fr
        auto;

    align-items:
        center;

    gap:
        17px;

    padding:
        17px 0;

    border-bottom:
        1px solid
        var(--line);
}

.nv-order-item-image {
    width:
        80px;

    height:
        80px;

    display: grid;

    place-items:
        center;

    overflow: hidden;

    border-radius:
        8px;

    background:
        #f2f5ee;

    color:
        #9eae98;
}

.nv-order-item-image img {
    width: 100%;
    height: 100%;

    padding:
        7px;

    object-fit:
        contain;
}

.nv-order-item-copy strong,
.nv-order-item-copy span,
.nv-order-item-copy small,
.nv-order-item-price strong,
.nv-order-item-price small {
    display: block;
}

.nv-order-item-copy strong {
    font-size:
        .82rem;
}

.nv-order-item-copy span,
.nv-order-item-copy small {
    margin-top:
        3px;

    color:
        #929990;

    font-size:
        .65rem;
}

.nv-order-item-price {
    text-align:
        right;
}

.nv-order-item-price small {
    margin-top:
        3px;

    color:
        #999f97;

    font-size:
        .62rem;
}

.nv-order-address {
    margin: 0;

    color:
        #656d63;

    font-size:
        .8rem;

    font-style:
        normal;

    line-height:
        1.75;
}

.nv-order-total-row {
    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        11px 0;

    border-bottom:
        1px solid
        var(--line);

    color:
        #697167;

    font-size:
        .76rem;
}

.nv-order-total-row strong {
    color:
        var(--ink);
}

.nv-order-total-row.grand {
    margin-top:
        8px;

    padding-top:
        17px;

    border-bottom: 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1rem;

    font-weight:
        800;
}


/* ============================================================
   RESPONSIVE ACCOUNT
============================================================ */

@media (max-width: 991.98px) {

    .nv-account-layout {
        grid-template-columns:
            1fr;

        gap:
            25px;
    }

    .nv-account-nav {
        position: static;

        flex-direction: row;

        overflow-x: auto;

        white-space: nowrap;

        scrollbar-width: none;
    }

    .nv-account-nav > a,
    .nv-account-nav form button {
        width: auto;

        flex:
            0 0 auto;
    }

    .nv-account-nav form {
        margin: 0 0 0 5px;

        padding:
            0 0 0 5px;

        border-top: 0;

        border-left:
            1px solid
            var(--line);
    }

}


@media (max-width: 767.98px) {

    .nv-address-grid {
        grid-template-columns:
            1fr;
    }

    .nv-order-history-card {
        grid-template-columns:
            1fr 1fr;

        gap:
            14px;

        padding:
            18px;
    }

    .nv-order-history-card
    > i {
        display: none;
    }

    .nv-order-detail-status {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 575.98px) {

    .nv-address-toolbar {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .nv-order-detail-item {
        grid-template-columns:
            65px 1fr;

        gap:
            12px;
    }

    .nv-order-item-image {
        width:
            65px;

        height:
            65px;
    }

    .nv-order-item-price {
        grid-column:
            2;

        text-align:
            left;
    }

}

/* ============================================================
   ACCOUNT DASHBOARD IMPROVEMENTS
============================================================ */

/* Summary cards */

.nv-account-summary {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 13px;

    margin-bottom:
        28px;
}

.nv-account-summary-card {
    position: relative;

    min-height:
        155px;

    display: flex;

    align-items:
        center;

    gap: 17px;

    padding:
        24px;

    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius:
        13px;

    background:
        #fff;

    color:
        var(--ink);

    text-decoration:
        none;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.nv-account-summary-card:hover {
    transform:
        translateY(-3px);

    border-color:
        #cbdac6;

    box-shadow:
        0 15px 35px
        rgba(33, 71, 29, .07);

    color:
        var(--ink);
}

.nv-account-summary-icon {
    width:
        52px;

    height:
        52px;

    flex:
        0 0 auto;

    display: grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #e9f2e3;

    color:
        var(--green);

    font-size:
        1.25rem;
}

.nv-account-summary-card span,
.nv-account-summary-card strong,
.nv-account-summary-card small {
    display:
        block;
}

.nv-account-summary-card span {
    color:
        #929990;

    font-size:
        .61rem;

    font-weight:
        800;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}

.nv-account-summary-card strong {
    margin-top:
        3px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        2rem;

    font-weight:
        800;

    line-height:
        1;
}

.nv-account-summary-card small {
    margin-top:
        6px;

    color:
        #92998f;

    font-size:
        .64rem;
}

.nv-account-summary-arrow {
    position: absolute;

    right:
        17px;

    top:
        17px;

    color:
        #a8b1a5;

    font-size:
        .85rem;
}


/* Quick links */

.nv-account-quick-actions {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        12px;

    margin-bottom:
        28px;
}

.nv-account-quick-actions > a {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        13px;

    min-height:
        88px;

    padding:
        15px;

    border:
        1px solid
        #e1e7df;

    border-radius:
        11px;

    background:
        #f9fbf7;

    color:
        var(--ink);

    text-decoration:
        none;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.nv-account-quick-actions > a:hover {
    border-color:
        #c6d9c0;

    background:
        #eef5e9;

    color:
        var(--ink);
}

.nv-account-quick-icon {
    width:
        42px;

    height:
        42px;

    display: grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #e5efdf;

    color:
        #356b2e;
}

.nv-account-quick-actions strong,
.nv-account-quick-actions small {
    display: block;
}

.nv-account-quick-actions strong {
    font-size:
        .77rem;
}

.nv-account-quick-actions small {
    margin-top:
        3px;

    color:
        #8b9289;

    font-size:
        .62rem;

    line-height:
        1.4;
}

.nv-account-quick-actions
> a
> i {
    color:
        #99a097;

    font-size:
        .7rem;
}


/* Panel headers */

.nv-account-panel-head,
.nv-account-profile-head {
    display: flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        15px;
}

.nv-account-panel-head h2,
.nv-account-profile-head h2 {
    margin:
        7px 0 24px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.7rem;

    font-weight:
        800;

    letter-spacing:
        -.04em;
}

.nv-account-panel-link,
.nv-account-edit-link {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    margin-top:
        6px;

    color:
        var(--green);

    font-size:
        .68rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* Recent order link */

a.nv-account-order {
    position: relative;

    padding-right:
        28px;

    color:
        var(--ink);

    text-decoration:
        none;

    transition:
        background-color .2s ease,
        padding-left .2s ease;
}

a.nv-account-order:hover {
    padding-left:
        8px;

    background:
        #fafcf8;

    color:
        var(--ink);
}

.nv-account-order-arrow {
    position: absolute;

    right:
        5px;

    top:
        50%;

    transform:
        translateY(-50%);

    color:
        #a1a89f;

    font-size:
        .7rem;
}


/* Profile */

.nv-account-profile-avatar {
    width:
        62px;

    height:
        62px;

    display: grid;

    place-items:
        center;

    margin-bottom:
        18px;

    border-radius:
        50%;

    background:
        #e1edda;

    color:
        #2d6127;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.35rem;

    font-weight:
        800;
}

.nv-account-profile-button {
    min-height:
        43px;

    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    margin-top:
        20px;

    padding:
        0 13px;

    border-radius:
        6px;

    background:
        #eef5e9;

    color:
        #35682f;

    font-size:
        .7rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.nv-account-profile-button:hover {
    background:
        #e4efdd;

    color:
        #2d5d28;
}


/* Shopping CTA */

.nv-account-shop-card {
    margin-top:
        15px;

    padding:
        26px;

    overflow: hidden;

    border-radius:
        14px;

    background:
        linear-gradient(
            145deg,
            #1d4323,
            #2c6429
        );

    color:
        #fff;
}

.nv-account-shop-card > span {
    color:
        #a9d397;

    font-size:
        .59rem;

    font-weight:
        800;

    letter-spacing:
        .12em;
}

.nv-account-shop-card h3 {
    margin:
        10px 0 18px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.25rem;

    font-weight:
        800;

    letter-spacing:
        -.035em;

    line-height:
        1.2;
}

.nv-account-shop-card a {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    color:
        #fff;

    font-size:
        .7rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* Responsive */

@media (max-width: 1199.98px) {

    .nv-account-quick-actions {
        grid-template-columns:
            1fr;
    }

}

@media (max-width: 767.98px) {

    .nv-account-summary {
        grid-template-columns:
            1fr;
    }

    .nv-account-summary-card {
        min-height:
            125px;
    }

}

/* ============================================================
   SHOPPING CART
============================================================ */

.nv-cart-head {
    padding:
        clamp(55px, 7vw, 90px)
        0
        clamp(40px, 5vw, 65px);

    background:
        linear-gradient(
            135deg,
            #f5f8f1,
            #e9f2e1
        );
}

.nv-cart-head-row {
    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap: 25px;
}

.nv-cart-head h1 {
    margin:
        8px 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3rem,
            5vw,
            5.7rem
        );

    font-weight:
        800;

    letter-spacing:
        -.07em;

    line-height:
        .95;
}

.nv-cart-head p {
    margin: 0;

    color:
        var(--muted);
}

.nv-cart-head-count {
    padding:
        8px 12px;

    border-radius:
        999px;

    background:
        rgba(
            255,
            255,
            255,
            .7
        );

    color:
        #52604f;

    font-size:
        .68rem;

    font-weight:
        800;
}


/* Layout */

.nv-cart-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        370px;

    gap:
        clamp(
            35px,
            5vw,
            70px
        );

    align-items:
        start;
}


/* Toolbar */

.nv-cart-toolbar {
    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap: 20px;

    padding-bottom:
        15px;

    border-bottom:
        1px solid
        var(--line);
}

.nv-cart-toolbar > span {
    color:
        #858d82;

    font-size:
        .63rem;

    font-weight:
        800;

    letter-spacing:
        .1em;
}

.nv-cart-toolbar form {
    margin: 0;
}

.nv-cart-toolbar button {
    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        #8c938a;

    font-size:
        .65rem;

    font-weight:
        750;
}


/* Item */

.nv-cart-item {
    display: grid;

    grid-template-columns:
        135px
        minmax(0, 1fr)
        auto;

    gap:
        23px;

    padding:
        26px 0;

    border-bottom:
        1px solid
        var(--line);
}

.nv-cart-image {
    width:
        135px;

    height:
        145px;

    display: grid;

    place-items:
        center;

    overflow: hidden;

    border-radius:
        10px;

    background:
        #f2f5ee;
}

.nv-cart-image img {
    width: 100%;
    height: 100%;

    padding: 10px;

    object-fit:
        contain;
}

.nv-cart-image-placeholder {
    color:
        #a3b09e;

    font-size:
        2rem;
}

.nv-cart-product-name {
    display:
        inline-block;

    margin-bottom:
        5px;

    color:
        var(--ink);

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.nv-cart-variant {
    display: block;

    color:
        #8b9388;

    font-size:
        .67rem;
}

.nv-cart-unit-price {
    margin-top:
        8px;

    color:
        #546251;

    font-size:
        .76rem;

    font-weight:
        750;
}


/* Quantity */

.nv-cart-qty-form {
    display: flex;

    align-items:
        center;

    gap:
        9px;

    margin-top:
        18px;
}

.nv-cart-qty {
    display:
        inline-grid;

    grid-template-columns:
        34px
        42px
        34px;

    overflow: hidden;

    border:
        1px solid
        #dbe3d8;

    border-radius:
        6px;
}

.nv-cart-qty button,
.nv-cart-qty input {
    height:
        37px;

    border: 0;

    background:
        #fff;

    text-align:
        center;
}

.nv-cart-qty button {
    color:
        #526050;

    font-size:
        1rem;
}

.nv-cart-qty input {
    width: 100%;

    padding: 0;

    border-right:
        1px solid
        #edf0eb;

    border-left:
        1px solid
        #edf0eb;

    font-size:
        .72rem;

    font-weight:
        750;

    -moz-appearance:
        textfield;
}

.nv-cart-qty input::-webkit-inner-spin-button,
.nv-cart-qty input::-webkit-outer-spin-button {
    margin: 0;

    -webkit-appearance:
        none;
}

.nv-cart-update {
    border: 0;

    background:
        transparent;

    color:
        var(--green);

    font-size:
        .64rem;

    font-weight:
        800;
}

.nv-cart-remove-form {
    margin-top:
        13px;
}

.nv-cart-remove-form button {
    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        #979e95;

    font-size:
        .63rem;

    font-weight:
        700;
}

.nv-cart-remove-form button:hover {
    color:
        #a04444;
}


/* Total */

.nv-cart-line-total {
    min-width:
        100px;

    text-align:
        right;
}

.nv-cart-line-total span {
    display: block;

    margin-bottom:
        4px;

    color:
        #a0a69e;

    font-size:
        .55rem;

    font-weight:
        800;

    letter-spacing:
        .1em;
}

.nv-cart-line-total strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        .95rem;

    font-weight:
        800;
}


/* Continue */

.nv-cart-continue {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    margin-top:
        23px;

    color:
        #697267;

    font-size:
        .68rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* Summary */

.nv-cart-summary {
    position: sticky;

    top:
        110px;

    padding:
        30px;

    border:
        1px solid
        #dfe6dc;

    border-radius:
        15px;

    background:
        #fafcf8;
}

.nv-cart-summary h2 {
    margin:
        7px 0
        25px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.8rem;

    font-weight:
        800;

    letter-spacing:
        -.04em;
}

.nv-cart-summary-row {
    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        11px 0;

    border-bottom:
        1px solid
        #e3e9e0;

    color:
        #747d71;

    font-size:
        .7rem;
}

.nv-cart-summary-row strong {
    max-width:
        170px;

    color:
        #586255;

    font-size:
        .68rem;

    text-align:
        right;
}

.nv-cart-summary-total {
    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        22px 0;
}

.nv-cart-summary-total span {
    color:
        #60695e;

    font-size:
        .72rem;

    font-weight:
        750;
}

.nv-cart-summary-total strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.5rem;

    font-weight:
        800;
}

.nv-cart-checkout {
    min-height:
        52px;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    border-radius:
        7px;

    background:
        #285f24;

    color:
        #fff;

    font-size:
        .75rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.nv-cart-checkout:hover {
    background:
        #214f1e;

    color:
        #fff;
}

.nv-cart-trust {
    display: grid;

    gap:
        9px;

    margin-top:
        20px;

    padding-top:
        17px;

    border-top:
        1px solid
        #e1e7de;
}

.nv-cart-trust > div {
    display: flex;

    align-items:
        center;

    gap:
        8px;

    color:
        #7d857a;

    font-size:
        .63rem;
}

.nv-cart-trust i {
    color:
        #5f8b58;
}


/* Header Badge */

.nv-header-cart {
    position: relative;
}

.nv-cart-badge {
    position: absolute;

    top: -4px;
    right: -5px;

    min-width:
        17px;

    height:
        17px;

    display: grid;

    place-items:
        center;

    padding:
        0 4px;

    border:
        2px solid
        #fff;

    border-radius:
        999px;

    background:
        #397432;

    color:
        #fff;

    font-size:
        .53rem;

    font-weight:
        800;
}


/* Empty */

.nv-cart-empty {
    max-width:
        650px;

    margin:
        20px auto;

    padding:
        60px 20px;

    text-align:
        center;
}

.nv-cart-empty-icon {
    width:
        90px;

    height:
        90px;

    display: grid;

    place-items:
        center;

    margin:
        0 auto 24px;

    border-radius:
        50%;

    background:
        #edf4e8;

    color:
        #4c7945;

    font-size:
        2rem;
}

.nv-cart-empty h2 {
    margin:
        10px auto;

    max-width:
        500px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            2.1rem,
            4vw,
            3.5rem
        );

    font-weight:
        800;

    letter-spacing:
        -.055em;

    line-height:
        1;
}

.nv-cart-empty p {
    max-width:
        480px;

    margin:
        15px auto
        25px;

    color:
        var(--muted);

    line-height:
        1.7;
}


/* Error */

.nv-cart-error {
    display: flex;

    align-items:
        center;

    gap:
        9px;

    margin-bottom:
        20px;

    padding:
        13px 15px;

    border-radius:
        7px;

    background:
        #fff0f0;

    color:
        #913d3d;

    font-size:
        .72rem;
}


/* Toast */

.nv-cart-toast {
    position: fixed;

    right:
        22px;

    bottom:
        22px;

    z-index:
        9999;

    min-width:
        280px;

    max-width:
        calc(
            100vw - 30px
        );

    display: flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        14px 17px;

    border-radius:
        9px;

    background:
        #214f25;

    color:
        #fff;

    box-shadow:
        0 20px 50px
        rgba(0,0,0,.18);

    font-size:
        .72rem;

    font-weight:
        700;

    opacity: 0;

    visibility:
        hidden;

    transform:
        translateY(15px);

    transition:
        all .25s ease;
}

.nv-cart-toast.error {
    background:
        #873d3d;
}

.nv-cart-toast.show {
    opacity: 1;

    visibility:
        visible;

    transform:
        translateY(0);
}


/* Responsive */

@media (max-width: 991.98px) {

    .nv-cart-layout {
        grid-template-columns:
            1fr;
    }

    .nv-cart-summary {
        position: static;
    }

}


@media (max-width: 767.98px) {

    .nv-cart-head-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .nv-cart-item {
        grid-template-columns:
            100px
            minmax(0, 1fr);
    }

    .nv-cart-image {
        width:
            100px;

        height:
            110px;
    }

    .nv-cart-line-total {
        grid-column:
            2;

        text-align:
            left;
    }

}


@media (max-width: 575.98px) {

    .nv-cart-item {
        grid-template-columns:
            80px
            minmax(0, 1fr);

        gap:
            15px;
    }

    .nv-cart-image {
        width:
            80px;

        height:
            90px;
    }

    .nv-cart-qty-form {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .nv-cart-toast {
        right:
            15px;

        bottom:
            15px;

        left:
            15px;

        min-width: 0;
    }

}

/* ============================================================
   CART SAVINGS / AVAILABILITY
============================================================ */

.nv-cart-unit-price {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 8px;
}

.nv-cart-unit-price strong {
    color: #52604f;

    font-size: .78rem;
}

.nv-cart-unit-price del {
    color: #9da49b;

    font-size: .68rem;
}

.nv-cart-item-saving {
    width: fit-content;

    margin-top: 7px;

    padding: 4px 7px;

    border-radius: 4px;

    background: #ebf4e5;

    color: #397333;

    font-size: .61rem;

    font-weight: 750;
}

.nv-cart-item.is-unavailable {
    opacity: .72;
}

.nv-cart-unavailable {
    display: flex;

    align-items: center;

    gap: 6px;

    width: fit-content;

    margin-top: 8px;

    padding: 6px 8px;

    border-radius: 5px;

    background: #fff0f0;

    color: #954242;

    font-size: .63rem;

    font-weight: 750;
}

.nv-cart-summary-saving {
    color: #37722f;
}

.nv-cart-summary-saving strong {
    color: #37722f;
}

button.nv-cart-checkout {
    width: 100%;

    border: 0;
}

.nv-cart-checkout.disabled,
.nv-cart-checkout:disabled {
    cursor: not-allowed;

    background: #a6ada3;

    color: #fff;
}

/* ============================================================
   CHECKOUT
============================================================ */

.nv-checkout-head {
    padding:
        clamp(45px, 6vw, 80px)
        0
        clamp(38px, 5vw, 60px);

    border-bottom:
        1px solid
        var(--line);

    background:
        linear-gradient(
            135deg,
            #f7f9f4,
            #eaf2e2
        );
}

.nv-checkout-back {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    margin-bottom:
        26px;

    color:
        #747d71;

    font-size:
        .68rem;

    font-weight:
        750;

    text-decoration:
        none;
}

.nv-checkout-head-row {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        30px;
}

.nv-checkout-head h1 {
    margin:
        8px 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3rem,
            5vw,
            5.6rem
        );

    font-weight:
        800;

    letter-spacing:
        -.07em;

    line-height:
        .94;
}

.nv-checkout-head p {
    max-width:
        570px;

    margin: 0;

    color:
        var(--muted);
}

.nv-checkout-secure {
    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    padding:
        12px 15px;

    border:
        1px solid
        rgba(59, 101, 51, .15);

    border-radius:
        9px;

    background:
        rgba(255,255,255,.65);
}

.nv-checkout-secure > i {
    color:
        #397333;

    font-size:
        1.3rem;
}

.nv-checkout-secure strong,
.nv-checkout-secure span {
    display:
        block;
}

.nv-checkout-secure strong {
    font-size:
        .72rem;
}

.nv-checkout-secure span {
    margin-top:
        2px;

    color:
        #8c9389;

    font-size:
        .6rem;
}


/* ============================================================
   LAYOUT
============================================================ */

.nv-checkout-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        410px;

    gap:
        clamp(
            35px,
            5vw,
            70px
        );

    align-items:
        start;
}

.nv-checkout-content {
    display:
        flex;

    flex-direction:
        column;

    gap:
        18px;
}


/* ============================================================
   CHECKOUT CARD
============================================================ */

.nv-checkout-card {
    padding:
        clamp(
            24px,
            3vw,
            38px
        );

    border:
        1px solid
        var(--line);

    border-radius:
        14px;

    background:
        #fff;
}

.nv-checkout-card-head {
    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    margin-bottom:
        25px;
}

.nv-checkout-step-number {
    width:
        42px;

    height:
        42px;

    flex:
        0 0 auto;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #e7f0e1;

    color:
        #386c31;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-weight:
        800;
}

.nv-checkout-card-head h2 {
    margin:
        4px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.45rem;

    font-weight:
        800;

    letter-spacing:
        -.035em;
}


/* ============================================================
   CUSTOMER
============================================================ */

.nv-checkout-customer {
    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        13px;

    padding:
        17px;

    border-radius:
        10px;

    background:
        #f7f9f4;
}

.nv-checkout-avatar {
    width:
        47px;

    height:
        47px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #dcead5;

    color:
        #32642c;

    font-weight:
        800;
}

.nv-checkout-customer strong,
.nv-checkout-customer span {
    display:
        block;
}

.nv-checkout-customer strong {
    font-size:
        .78rem;
}

.nv-checkout-customer span {
    margin-top:
        2px;

    color:
        #858d82;

    font-size:
        .65rem;
}

.nv-checkout-customer > a {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    color:
        var(--green);

    font-size:
        .66rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* ============================================================
   ADDRESS OPTIONS
============================================================ */

.nv-checkout-addresses {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        11px;
}

.nv-checkout-address-option {
    position:
        relative;

    display:
        grid;

    grid-template-columns:
        auto
        1fr;

    gap:
        11px;

    min-height:
        190px;

    padding:
        18px;

    border:
        1px solid
        #dfe5dc;

    border-radius:
        10px;

    background:
        #fff;

    cursor:
        pointer;

    transition:
        border-color .2s ease,
        background-color .2s ease;
}

.nv-checkout-address-option:has(input:checked) {
    border-color:
        #699661;

    background:
        #f3f8ef;
}

.nv-checkout-address-option > input {
    position:
        absolute;

    opacity: 0;

    pointer-events:
        none;
}

.nv-checkout-address-radio {
    width:
        18px;

    height:
        18px;

    margin-top:
        1px;

    border:
        1.5px solid
        #aeb7ab;

    border-radius:
        50%;
}

.nv-checkout-address-option
input:checked
+
.nv-checkout-address-radio {
    border:
        5px solid
        #397232;
}

.nv-checkout-address-copy {
    min-width: 0;
}

.nv-checkout-address-title {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        8px;

    margin-bottom:
        12px;
}

.nv-checkout-address-title strong {
    font-size:
        .72rem;

    text-transform:
        uppercase;
}

.nv-checkout-address-title small {
    padding:
        3px 6px;

    border-radius:
        999px;

    background:
        #dcebd5;

    color:
        #376d31;

    font-size:
        .5rem;

    font-weight:
        800;
}

.nv-checkout-address-name {
    display:
        block;

    margin-bottom:
        7px;

    font-size:
        .76rem;
}

.nv-checkout-address-copy > span {
    color:
        #70786d;

    font-size:
        .69rem;

    line-height:
        1.6;
}

.nv-checkout-address-phone {
    display:
        block;

    margin-top:
        9px;

    color:
        #667064 !important;

    font-size:
        .64rem !important;
}

.nv-checkout-address-actions {
    margin-top:
        16px;
}

.nv-checkout-address-actions a {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    color:
        var(--green);

    font-size:
        .68rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* ============================================================
   EMPTY ADDRESS / SHIPPING
============================================================ */

.nv-checkout-no-address {
    padding:
        40px 20px;

    text-align:
        center;

    border:
        1px dashed
        #d8e0d4;

    border-radius:
        10px;

    background:
        #fafcf8;
}

.nv-checkout-no-address > div {
    width:
        58px;

    height:
        58px;

    display:
        grid;

    place-items:
        center;

    margin:
        0 auto
        14px;

    border-radius:
        50%;

    background:
        #e8f1e2;

    color:
        #397232;

    font-size:
        1.35rem;
}

.nv-checkout-no-address h3 {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.15rem;

    font-weight:
        800;
}

.nv-checkout-no-address p {
    max-width:
        390px;

    margin:
        7px auto
        18px;

    color:
        var(--muted);

    font-size:
        .75rem;
}

.nv-checkout-shipping-placeholder {
    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    padding:
        18px;

    border:
        1px solid
        #dfe6dc;

    border-radius:
        10px;

    background:
        #f9fbf7;
}

.nv-checkout-shipping-placeholder > i {
    width:
        44px;

    height:
        44px;

    display:
        grid;

    place-items:
        center;

    flex:
        0 0 auto;

    border-radius:
        50%;

    background:
        #e6efdf;

    color:
        #397232;

    font-size:
        1.1rem;
}

.nv-checkout-shipping-placeholder strong,
.nv-checkout-shipping-placeholder span {
    display:
        block;
}

.nv-checkout-shipping-placeholder strong {
    font-size:
        .75rem;
}

.nv-checkout-shipping-placeholder span {
    margin-top:
        3px;

    color:
        #898f87;

    font-size:
        .65rem;

    line-height:
        1.5;
}


/* ============================================================
   SUMMARY
============================================================ */

.nv-checkout-summary {
    position:
        sticky;

    top:
        105px;

    padding:
        28px;

    border:
        1px solid
        #dfe5dc;

    border-radius:
        15px;

    background:
        #fafcf8;
}

.nv-checkout-summary-head {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        12px;

    padding-bottom:
        20px;

    border-bottom:
        1px solid
        var(--line);
}

.nv-checkout-summary-head h2 {
    margin:
        5px 0 0;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.55rem;

    font-weight:
        800;

    letter-spacing:
        -.04em;
}

.nv-checkout-summary-head > span {
    color:
        #858d82;

    font-size:
        .65rem;

    font-weight:
        750;
}


/* Items */

.nv-checkout-items {
    padding:
        4px 0;
}

.nv-checkout-item {
    display:
        grid;

    grid-template-columns:
        60px
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        11px;

    padding:
        14px 0;

    border-bottom:
        1px solid
        var(--line);
}

.nv-checkout-item-image {
    position:
        relative;

    width:
        60px;

    height:
        65px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        8px;

    background:
        #eff3eb;

    color:
        #91a08c;
}

.nv-checkout-item-image img {
    width:
        100%;

    height:
        100%;

    padding:
        5px;

    object-fit:
        contain;
}

.nv-checkout-item-image > span {
    position:
        absolute;

    right:
        -5px;

    top:
        -5px;

    min-width:
        19px;

    height:
        19px;

    display:
        grid;

    place-items:
        center;

    padding:
        0 4px;

    border-radius:
        999px;

    background:
        #386f31;

    color:
        #fff;

    font-size:
        .52rem;

    font-weight:
        800;
}

.nv-checkout-item-copy strong,
.nv-checkout-item-copy span,
.nv-checkout-item-copy small {
    display:
        block;
}

.nv-checkout-item-copy strong {
    font-size:
        .7rem;

    line-height:
        1.3;
}

.nv-checkout-item-copy span {
    margin-top:
        3px;

    color:
        #8a9188;

    font-size:
        .59rem;
}

.nv-checkout-item-copy small {
    margin-top:
        4px;

    color:
        #9a9f98;

    font-size:
        .57rem;
}

.nv-checkout-item-total {
    font-size:
        .68rem;

    text-align:
        right;
}


/* Totals */

.nv-checkout-totals {
    padding-top:
        13px;
}

.nv-checkout-totals > div {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        7px 0;

    color:
        #737b70;

    font-size:
        .67rem;
}

.nv-checkout-totals strong {
    color:
        #596256;
}

.nv-checkout-totals
.saving,
.nv-checkout-totals
.saving strong {
    color:
        #36702f;
}

.nv-checkout-grand-total {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        12px;

    padding:
        20px 0;

    border-top:
        1px solid
        var(--line);
}

.nv-checkout-grand-total span {
    font-size:
        .73rem;

    font-weight:
        750;
}

.nv-checkout-grand-total strong {
    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        1.5rem;

    font-weight:
        800;
}


/* Continue */

.nv-checkout-continue {
    width:
        100%;

    min-height:
        52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    border:
        0;

    border-radius:
        7px;

    background:
        #285f24;

    color:
        #fff;

    font-size:
        .74rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.nv-checkout-continue:hover {
    background:
        #214f1e;

    color:
        #fff;
}

.nv-checkout-next-note {
    margin:
        10px 0 0;

    color:
        #92988f;

    font-size:
        .59rem;

    line-height:
        1.5;

    text-align:
        center;
}

.nv-checkout-protection {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        7px;

    margin-top:
        17px;

    padding-top:
        15px;

    border-top:
        1px solid
        var(--line);

    color:
        #848c81;

    font-size:
        .59rem;

    line-height:
        1.5;
}

.nv-checkout-protection i {
    color:
        #508248;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (
    max-width:
    991.98px
) {

    .nv-checkout-layout {
        grid-template-columns:
            1fr;
    }

    .nv-checkout-summary {
        position:
            static;
    }

}


@media (
    max-width:
    767.98px
) {

    .nv-checkout-head-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .nv-checkout-addresses {
        grid-template-columns:
            1fr;
    }

}


@media (
    max-width:
    575.98px
) {

    .nv-checkout-card {
        padding:
            21px;
    }

    .nv-checkout-summary {
        padding:
            22px;
    }

}

/* ============================================================
   CHECKOUT SHIPPING
============================================================ */

.nv-checkout-shipping-price {
    margin-top:
        7px;

    color:
        #356d2f;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        .9rem;

    font-weight:
        800;
}

.nv-free-shipping-note {
    display: flex;

    align-items: center;

    gap:
        6px;

    margin-top:
        13px;

    padding:
        10px 12px;

    border-radius:
        7px;

    background:
        #eef6e9;

    color:
        #477341;

    font-size:
        .65rem;

    font-weight:
        700;
}

.nv-free-shipping-note i {
    color:
        #397232;
}

.nv-free-shipping-note strong {
    color:
        #2d6428;
}

/* ============================================================
   CHECKOUT BILLING / COUPON
============================================================ */

.nv-checkout-billing-same {
    display: flex;

    align-items: flex-start;

    gap: 11px;

    padding: 16px;

    border: 1px solid #dfe6dc;

    border-radius: 9px;

    background: #f8faf6;

    cursor: pointer;
}

.nv-checkout-billing-same input {
    width: 17px;
    height: 17px;

    margin-top: 2px;

    accent-color: var(--green);
}

.nv-checkout-billing-same strong,
.nv-checkout-billing-same small {
    display: block;
}

.nv-checkout-billing-same strong {
    font-size: .74rem;
}

.nv-checkout-billing-same small {
    margin-top: 3px;

    color: #8c9389;

    font-size: .63rem;
}

.nv-checkout-billing-list {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 10px;

    margin-top: 15px;
}

.nv-checkout-billing-list > label:first-child {
    grid-column: 1 / -1;

    color: #757d72;

    font-size: .68rem;

    font-weight: 750;
}

.nv-checkout-coupon {
    padding: 17px 0;

    border-bottom:
        1px solid
        var(--line);
}

.nv-checkout-coupon > label {
    display: block;

    margin-bottom: 7px;

    color: #626b60;

    font-size: .67rem;

    font-weight: 800;
}

.nv-checkout-coupon > div {
    display: grid;

    grid-template-columns:
        1fr auto;

    align-items: center;

    gap: 8px;
}

.nv-checkout-coupon input {
    min-height: 42px;

    padding: 0 12px;

    border: 1px solid #dae2d7;

    border-radius: 5px;

    outline: 0;

    font-size: .72rem;

    text-transform: uppercase;
}

.nv-checkout-coupon span {
    color: #92998f;

    font-size: .58rem;
}

@media (max-width: 767.98px) {

    .nv-checkout-billing-list {
        grid-template-columns: 1fr;
    }

}

/* ============================================================
   ORDER SUCCESS
============================================================ */

.nv-order-success {
    min-height:
        70vh;

    display: flex;

    align-items: center;

    background:
        #f7f9f4;
}

.nv-order-success-inner {
    max-width:
        760px;

    margin:
        auto;

    text-align:
        center;
}

.nv-order-success-icon {
    width:
        88px;

    height:
        88px;

    display:
        grid;

    place-items:
        center;

    margin:
        0 auto 24px;

    border-radius:
        50%;

    background:
        #dcebd5;

    color:
        #326b2c;

    font-size:
        2rem;
}

.nv-order-success h1 {
    margin:
        10px 0 15px;

    font-family:
        Manrope,
        Inter,
        sans-serif;

    font-size:
        clamp(
            3rem,
            6vw,
            6rem
        );

    font-weight:
        800;

    letter-spacing:
        -.07em;

    line-height:
        .95;
}

.nv-order-success-inner > p {
    color:
        var(--muted);
}

.nv-order-success-summary {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        1px;

    overflow: hidden;

    margin-top:
        35px;

    border:
        1px solid
        var(--line);

    border-radius:
        12px;

    background:
        var(--line);
}

.nv-order-success-summary > div {
    padding:
        20px;

    background:
        #fff;
}

.nv-order-success-summary span,
.nv-order-success-summary strong {
    display: block;
}

.nv-order-success-summary span {
    color:
        #929991;

    font-size:
        .6rem;

    font-weight:
        750;

    text-transform:
        uppercase;
}

.nv-order-success-summary strong {
    margin-top:
        5px;

    font-size:
        .8rem;
}

.nv-order-success-actions {
    display: flex;

    justify-content: center;

    gap: 10px;

    margin-top:
        30px;
}

@media (max-width: 575.98px) {

    .nv-order-success-summary {
        grid-template-columns: 1fr;
    }

    .nv-order-success-actions {
        flex-direction: column;
    }

}

/* ================================================================
   FULL ARTWORK HERO BANNER
================================================================ */

.nv-hero-artwork-link {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    background: #f4f6f3;
}

a.nv-hero-artwork-link {
    cursor: pointer;
}

.nv-hero-artwork-picture {
    display: block;
    width: 100%;
}

.nv-hero-artwork-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}


/*
|--------------------------------------------------------------------------
| Prevent Bootstrap carousel controls from becoming huge clickable areas
|--------------------------------------------------------------------------
*/

.nv-dynamic-hero .carousel-control-prev,
.nv-dynamic-hero .carousel-control-next {
    width: 7%;
    z-index: 5;
}


/*
|--------------------------------------------------------------------------
| Indicators must remain above clickable artwork
|--------------------------------------------------------------------------
*/

.nv-dynamic-hero .carousel-indicators {
    z-index: 6;
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 767.98px) {

    .nv-hero-artwork-image {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .nv-dynamic-hero .carousel-control-prev,
    .nv-dynamic-hero .carousel-control-next {
        width: 11%;
    }
}
/* ========================================================================
   NEIVON YEAST PROTEIN VISUAL THEME
   Inspired by the supplied Yeast Protein campaign artwork.
   Palette: espresso / chocolate / energetic yellow / warm cream / blue accent.
   ======================================================================== */

html,
body {
    color: var(--ink);
    background: #FFFDF8;
}

body,
button,
input,
select,
textarea {
    font-family: Inter, Arial, sans-serif;
}

/* Strong, condensed campaign-style display typography */
h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.section-head h2,
.about-heading,
.blog-page .blog-heading-row h2,
.shop-page .shop-hero h1,
.contact-page .contact-hero h1,
.nv-hero-heading {
    font-family: Impact, "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    font-stretch: condensed;
    text-transform: uppercase;
    letter-spacing: .015em;
}

/* Brand itself stays cleaner */
.brand strong {
    font-family: Manrope, Inter, Arial, sans-serif;
    text-transform: none;
    letter-spacing: .12em;
}

/* Header */
.topbar {
    background: linear-gradient(90deg, #1A0D05 0%, #2B1609 52%, #4A260D 100%);
    color: #FFF4D2;
    border-bottom: 1px solid rgba(242,197,0,.22);
}

.topbar i {
    color: var(--nv-yellow);
}

.navbar {
    background: #FFFDF8;
    border-bottom: 1px solid #EADFCF;
}

.nav-link {
    color: #21150D !important;
    font-weight: 800;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active {
    color: #B97800 !important;
}

.icon-btn:hover {
    background: var(--nv-yellow-soft);
}

.cart-btn span {
    background: var(--nv-yellow);
    color: #1A0D05;
    font-weight: 900;
}

/* Core buttons */
.btn-neivon,
.nv-hero-primary-btn {
    background: var(--nv-yellow);
    border-color: var(--nv-yellow);
    color: #1A0D05;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    box-shadow: 0 8px 22px rgba(185,120,0,.20);
}

.btn-neivon:hover,
.btn-neivon:focus,
.nv-hero-primary-btn:hover,
.nv-hero-primary-btn:focus {
    background: #FFD51A;
    border-color: #FFD51A;
    color: #120A04;
    transform: translateY(-1px);
}

.btn-outline-neivon,
.contact-page .btn-outline-neivon {
    border-color: #B97800;
    color: #8A5700;
    font-weight: 900;
}

.btn-outline-neivon:hover,
.contact-page .btn-outline-neivon:hover {
    background: #1A0D05;
    border-color: #1A0D05;
    color: var(--nv-yellow);
}

/* Reusable editorial labels */
.section-kicker,
.about-kicker,
.blog-kicker,
.shop-kicker,
.contact-kicker,
.nv-hero-eyebrow,
.mini-title {
    color: #B97800;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .18em;
}

.section-head h2,
.about-heading,
.blog-page .blog-heading-row h2,
.contact-page .support-heading {
    color: #1A120C;
}

.section-head a,
.blog-page .blog-link,
.contact-page .support-card a {
    color: #9B6200;
    font-weight: 900;
}

/* Generic hero surfaces */
.hero,
.about-page .about-hero,
.blog-page .blog-hero,
.contact-page .contact-hero,
.shop-page .shop-hero {
    background:
        radial-gradient(circle at 82% 28%, rgba(242,197,0,.34) 0, rgba(242,197,0,0) 31%),
        linear-gradient(112deg, #FFF9EE 0%, #FFF1BF 62%, #E5B51D 100%);
    border-bottom-color: #E8D8BF;
}

.hero h1,
.about-page .about-hero h1,
.blog-page .blog-hero h1,
.contact-page .contact-hero h1,
.shop-page .shop-hero h1 {
    color: #1A0D05;
    text-shadow: 0 1px 0 rgba(255,255,255,.25);
}

.hero h1 span,
.about-page .about-hero h1 span,
.blog-page .blog-hero h1 span,
.contact-page .contact-hero h1 span,
.shop-page .shop-hero h1 span {
    color: #A86B00;
}

/* Dynamic hero */
.nv-dynamic-hero {
    background: #1A0D05;
}

.nv-hero-slide {
    background-color: #1A0D05;
}

.nv-hero-overlay {
    background: linear-gradient(
        90deg,
        rgba(18,8,3,.82) 0%,
        rgba(30,14,5,.56) 42%,
        rgba(30,14,5,.10) 72%,
        rgba(30,14,5,0) 100%
    );
}

.nv-hero-theme-light .nv-hero-heading,
.nv-hero-theme-light .nv-hero-subheading {
    color: #FFFDF7;
}

.nv-hero-theme-light .nv-hero-eyebrow {
    color: #FFD21A;
}

.nv-hero-secondary-btn {
    border-color: rgba(255,255,255,.70);
    color: #fff;
    background: rgba(26,13,5,.22);
}

.nv-hero-secondary-btn:hover {
    background: #fff;
    color: #1A0D05;
}

.nv-hero-control,
.round-control {
    background: rgba(255,255,255,.88);
    color: #1A0D05;
    border: 1px solid rgba(26,13,5,.08);
}

.carousel-indicators [data-bs-target] {
    background-color: var(--nv-yellow);
}

/* Full-artwork banner should not add a second visual background */
.nv-hero-artwork-link {
    background: #1A0D05;
}

/* Categories */
.category-item {
    color: #21150D;
    font-weight: 700;
}

.category-item span {
    background: linear-gradient(145deg, #FFF8E5, #F5D96F);
    border-color: #E9CC60;
}

.category-item i {
    color: #9D6500;
}

.category-item:hover span {
    box-shadow: 0 14px 30px rgba(74,38,13,.15);
}

/* Product cards */
.product-card,
.nv-product-card {
    color: #1A120C;
}

.product-art,
.nv-product-card-media {
    background: linear-gradient(180deg, #FFF9EE 0%, #F8E8BC 100%);
}

.product-badge,
.nv-product-badge {
    background: var(--nv-yellow);
    color: #1A0D05;
    font-weight: 900;
    text-transform: uppercase;
}

.product-badge.new {
    background: #1A0D05;
    color: var(--nv-yellow);
}

.nv-product-badge-discount {
    background: #1A0D05;
    color: #FFD21A;
}

.rating i,
.nv-product-card-rating i {
    color: #E4A900;
}

.off {
    color: #9B6200;
}

.add-btn,
.nv-product-add-btn,
.nv-product-mobile-add {
    border-color: #D6A000;
    color: #7D4E00;
    background: #FFFDF8;
    font-weight: 900;
}

.add-btn:hover,
.nv-product-add-btn:hover,
.nv-product-mobile-add:hover {
    background: var(--nv-yellow);
    border-color: var(--nv-yellow);
    color: #1A0D05;
}

/* Wellness / feature panels */
.wellness-panel {
    background: linear-gradient(115deg, #FFF8E8 0%, #F4D86D 100%);
}

.wellness-panel h3,
.wellness-point i {
    color: #8A5700;
}

.wellness-point i {
    background: #FFFDF8;
}

.quality-panel {
    border-color: #E7D8C4;
    background: #FFFDF8;
}

.quality-grid i {
    color: #8A5700;
}

/* High-impact dark campaign bands */
.subscribe-banner,
.blog-page .newsletter-panel,
.about-page .mission-panel {
    background:
        radial-gradient(circle at 82% 35%, rgba(242,197,0,.30) 0, rgba(242,197,0,0) 29%),
        linear-gradient(105deg, #160A04 0%, #2B1609 46%, #75400A 76%, #D49A00 100%);
    color: #fff;
}

.subscribe-banner h2,
.blog-page .newsletter-panel h2,
.about-page .mission-panel .about-heading {
    color: #FFD21A;
    text-shadow: 0 3px 0 rgba(0,0,0,.12);
}

.subscribe-banner .btn,
.blog-page .newsletter-form button {
    background: var(--nv-yellow);
    color: #1A0D05;
    border-color: var(--nv-yellow);
    font-weight: 900;
}

/* About / science */
.about-page .science-band,
.contact-page .contact-info {
    background:
        linear-gradient(135deg, #160A04 0%, #2B1609 60%, #4A260D 100%);
}

.about-page .science-copy .about-kicker,
.contact-page .contact-info .contact-kicker {
    color: #FFD21A;
}

.about-page .science-visual {
    background:
        radial-gradient(circle at center, #FFE981 0%, #E3B822 46%, #6F3B08 100%);
}

.about-page .science-core i {
    color: #A96C00;
}

.about-page .about-card-two {
    background: #1A0D05;
    color: #fff;
}

.about-page .about-card-two small {
    color: #FFD21A;
}

/* Blog */
.blog-page .blog-filter:hover,
.blog-page .blog-filter.active,
.shop-page .shop-category-pill:hover,
.shop-page .shop-category-pill.active {
    background: #1A0D05;
    border-color: #1A0D05;
    color: #FFD21A;
}

.blog-page .featured-story {
    background: #FFF7E4;
}

.blog-page .featured-visual {
    background: radial-gradient(circle at 48% 46%, #FFF4C7 0, #F1D66C 45%, #D8A914 100%);
}

.blog-page .blog-meta .tag {
    color: #9B6200;
}

.blog-page .blog-thumb {
    background: linear-gradient(145deg, #FFF5D4, #E9C955);
}

.blog-page .blog-thumb.dark {
    background: linear-gradient(145deg, #3A1D0B, #160A04);
}

.blog-page .blog-thumb .thumb-icon {
    color: #9B6200;
}

/* Contact */
.contact-page .contact-item i {
    background: rgba(242,197,0,.12);
    color: #FFD21A;
}

.contact-page .contact-form .form-control:focus,
.contact-page .contact-form .form-select:focus,
.blog-page .blog-search input:focus {
    border-color: #D5A600;
    box-shadow: 0 0 0 3px rgba(242,197,0,.13);
}

.contact-page .contact-status {
    background: #FFF2B8;
    color: #684100;
}

.contact-page .support-card i {
    background: #FFF2B8;
    color: #8A5700;
}

.contact-page .hours-panel {
    background: linear-gradient(105deg, #FFF7E0, #F1D66C);
}

/* Shop */
.shop-page .shop-category-pill {
    border-color: #E5D6C0;
    color: #3B291C;
}

.shop-page .shop-category-nav {
    border-color: #E9DFD2;
}

/* Footer */
.footer {
    background:
        radial-gradient(circle at 80% 20%, rgba(242,197,0,.08), transparent 28%),
        #160A04;
    color: #F6ECDD;
    border-top: 3px solid #D5A600;
}

.footer p,
.footer a {
    color: #BFB0A0;
}

.footer a:hover {
    color: #FFD21A;
}

.footer-bottom {
    border-top-color: rgba(242,197,0,.16);
    color: #9E8E7D;
}

/* Selection + focus polish */
::selection {
    background: #F2C500;
    color: #1A0D05;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(242,197,0,.42);
    outline-offset: 2px;
}

/* Small blue accent borrowed from the product label; intentionally sparing */
.nv-accent-blue,
.text-neivon-blue {
    color: var(--nv-blue) !important;
}

/* Mobile keeps the campaign typography strong without overwhelming the layout */
@media (max-width: 767.98px) {
    h1,
    .about-page .about-hero h1,
    .blog-page .blog-hero h1,
    .contact-page .contact-hero h1,
    .shop-page .shop-hero h1,
    .nv-hero-heading {
        letter-spacing: .01em;
    }

    .section-kicker,
    .about-kicker,
    .blog-kicker,
    .shop-kicker,
    .contact-kicker {
        letter-spacing: .14em;
    }
}

/* ========================================================================
   NEIVON GYM / SPORTS NUTRITION FUNKY THEME
   Full-site override layer
   ======================================================================== */

:root{
  --green:#FFD400;
  --green-dark:#E36B00;
  --green-soft:#FFF2A8;
  --lime:#FFEA61;
  --ink:#11100E;
  --muted:#746D64;
  --line:#E4D6C7;
  --cream:#FFF7E8;
  --gold:#FFD400;

  --gym-black:#11100E;
  --gym-black-2:#1A1713;
  --gym-brown:#2A170A;
  --gym-brown-2:#4C270C;
  --gym-orange:#F38A00;
  --gym-yellow:#FFD400;
  --gym-yellow-2:#FFE95C;
  --gym-cream:#FFF7E8;
  --gym-blue:#1FA3D7;
  --gym-red:#E84C2A;
}

/* ------------------------------------------------------------------------
   Typography
------------------------------------------------------------------------ */

body,
button,
input,
select,
textarea{
  font-family:Inter,Arial,sans-serif;
}

h1,h2,h3,h4,h5,h6,
.section-head h2,
.nv-hero-heading,
.about-heading,
.blog-page .blog-heading-row h2,
.shop-page .shop-hero h1,
.contact-page .contact-hero h1,
.nv-featured-offer h2,
.nv-product-card-title,
.product-title,
.price,
.nv-selling-price{
  font-family:Impact,"Arial Narrow","Roboto Condensed",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.012em;
}

p,
small,
span,
a,
label,
input,
select,
textarea{
  letter-spacing:.005em;
}

/* ------------------------------------------------------------------------
   Global surface + utility tone
------------------------------------------------------------------------ */

html,
body{
  background:#FFFDF8;
  color:var(--ink);
}

.section-space{
  position:relative;
}

.section-kicker,
.about-kicker,
.blog-kicker,
.shop-kicker,
.contact-kicker,
.nv-hero-eyebrow{
  color:#B96D00!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}

.section-head h2,
.nv-featured-offer h2{
  color:#15120F;
}

.section-head a,
.blog-page .blog-link,
.contact-page .support-card a{
  color:#B96D00!important;
  font-weight:900;
}

/* ------------------------------------------------------------------------
   Header / navigation
------------------------------------------------------------------------ */

.topbar{
  background:linear-gradient(90deg,#11100E 0%,#2A170A 55%,#4C270C 100%)!important;
  color:#FFF0B4!important;
  border-bottom:1px solid rgba(255,212,0,.24);
}

.topbar i{
  color:var(--gym-yellow)!important;
}

.navbar{
  background:#FFFDF8!important;
  border-bottom:1px solid #E8D8C2!important;
}

.nav-link{
  color:#1A1713!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active{
  color:#B96D00!important;
}

.icon-btn:hover{
  background:#FFF0A2!important;
}

.cart-btn span{
  background:var(--gym-yellow)!important;
  color:#11100E!important;
  font-weight:900;
}

/* ------------------------------------------------------------------------
   Buttons
------------------------------------------------------------------------ */

.btn-neivon,
.nv-hero-primary-btn,
.add-btn:hover,
.nv-product-add-btn:hover,
.nv-product-mobile-add:hover{
  background:linear-gradient(90deg,#FFD400,#FFB900)!important;
  border-color:#FFD400!important;
  color:#11100E!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.05em;
  box-shadow:0 10px 25px rgba(243,138,0,.22);
}

.btn-neivon:hover,
.btn-neivon:focus,
.nv-hero-primary-btn:hover,
.nv-hero-primary-btn:focus{
  background:linear-gradient(90deg,#FFE95C,#FFD400)!important;
  color:#000!important;
  transform:translateY(-1px);
}

.btn-outline-neivon,
.contact-page .btn-outline-neivon{
  border-color:#C87400!important;
  color:#9B5D00!important;
  font-weight:900!important;
}

.btn-outline-neivon:hover,
.contact-page .btn-outline-neivon:hover{
  background:#11100E!important;
  border-color:#11100E!important;
  color:#FFD400!important;
}

/* ------------------------------------------------------------------------
   Hero families
------------------------------------------------------------------------ */

.hero,
.about-page .about-hero,
.blog-page .blog-hero,
.contact-page .contact-hero,
.shop-page .shop-hero{
  background:
    radial-gradient(circle at 78% 30%,rgba(255,212,0,.46) 0,rgba(255,212,0,0) 30%),
    radial-gradient(circle at 67% 68%,rgba(243,138,0,.15) 0,rgba(243,138,0,0) 28%),
    linear-gradient(112deg,#FFF7E8 0%,#FFE994 58%,#E8A900 100%)!important;
  border-bottom-color:#E6C98A!important;
}

.hero h1,
.about-page .about-hero h1,
.blog-page .blog-hero h1,
.contact-page .contact-hero h1,
.shop-page .shop-hero h1{
  color:#14110E!important;
  text-shadow:0 2px 0 rgba(255,255,255,.20);
}

.hero h1 span,
.about-page .about-hero h1 span,
.blog-page .blog-hero h1 span,
.contact-page .contact-hero h1 span,
.shop-page .shop-hero h1 span{
  color:#A85D00!important;
}

/* ------------------------------------------------------------------------
   Dynamic hero / campaign image area
------------------------------------------------------------------------ */

/* .nv-dynamic-hero,
.nv-hero-slide{
  background:#11100E!important;
} */

.nv-hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(17,16,14,.90) 0%,
    rgba(42,23,10,.62) 40%,
    rgba(42,23,10,.18) 70%,
    rgba(42,23,10,0) 100%
  )!important;
}

.nv-hero-theme-light .nv-hero-heading,
.nv-hero-theme-light .nv-hero-subheading{
  color:#FFFDF8!important;
}

.nv-hero-theme-light .nv-hero-eyebrow{
  color:#FFD400!important;
}

.nv-hero-secondary-btn{
  border-color:rgba(255,255,255,.72)!important;
  color:#fff!important;
  background:rgba(17,16,14,.28)!important;
}

.nv-hero-secondary-btn:hover{
  background:#fff!important;
  color:#11100E!important;
}

.nv-hero-control,
.round-control{
  background:#FFFDF8!important;
  color:#11100E!important;
  border:1px solid rgba(17,16,14,.08)!important;
}

.carousel-indicators [data-bs-target]{
  background-color:#FFD400!important;
}

/* ------------------------------------------------------------------------
   Featured Offer — major funky sports nutrition treatment
------------------------------------------------------------------------ */

.nv-featured-offer-section{
  padding:6rem 0;
  background:
    radial-gradient(circle at 86% 16%,rgba(255,212,0,.16),transparent 28%),
    linear-gradient(180deg,#FFF9EE 0%,#FFF3CB 100%)!important;
}

.nv-featured-offer{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  min-height:520px;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 78% 42%,rgba(255,212,0,.45) 0,rgba(255,212,0,0) 27%),
    linear-gradient(112deg,#11100E 0%,#2A170A 44%,#7A3E05 75%,#E3A700 100%)!important;
  box-shadow:0 28px 70px rgba(42,23,10,.20);
  border:1px solid rgba(255,212,0,.16);
}

.nv-featured-offer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      -18deg,
      rgba(255,255,255,0) 0 44px,
      rgba(255,255,255,.025) 44px 45px
    );
  pointer-events:none;
}

.nv-featured-offer-copy{
  position:relative;
  z-index:2;
  padding:clamp(2.5rem,5vw,5rem)!important;
  color:#fff;
}

.nv-featured-offer-copy .section-kicker{
  display:inline-flex!important;
  padding:.42rem .7rem;
  background:#FFD400;
  color:#11100E!important;
  border-radius:3px;
  letter-spacing:.13em!important;
}

.nv-featured-offer h2{
  max-width:800px;
  margin:1.1rem 0 1rem;
  color:#FFD400!important;
  font-size:clamp(3rem,5.5vw,6.5rem)!important;
  line-height:.88!important;
  letter-spacing:.005em!important;
  text-shadow:0 4px 0 rgba(0,0,0,.16);
}

.nv-featured-offer-copy>p{
  max-width:650px;
  color:#FFF4D4!important;
  font-size:1.05rem!important;
  line-height:1.6;
}

.nv-offer-meta{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:2rem 0 1.5rem;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}

.nv-offer-meta>div{
  min-width:180px;
  padding:1.2rem 1.5rem 1.2rem 0;
  margin-right:1.5rem;
  border-right:1px solid rgba(255,255,255,.18);
}

.nv-offer-meta>div:last-child{
  border-right:0;
}

.nv-offer-meta span{
  display:block;
  color:#E8CDA0!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.nv-offer-meta strong{
  display:block;
  margin-top:.25rem;
  color:#fff!important;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:2rem!important;
  letter-spacing:.02em;
}

.nv-featured-coupon{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:.85rem 1rem;
  background:#FFF7E8!important;
  border:2px dashed #FFD400!important;
  border-radius:7px!important;
  box-shadow:0 9px 20px rgba(0,0,0,.12);
}

.nv-featured-coupon span{
  color:#8F5A00!important;
  font-size:.6rem!important;
  font-weight:900!important;
  letter-spacing:.12em;
}

.nv-featured-coupon strong{
  color:#11100E!important;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:1.35rem!important;
  letter-spacing:.05em;
}

.nv-featured-coupon button{
  border:0!important;
  border-radius:4px!important;
  background:#11100E!important;
  color:#FFD400!important;
  padding:.55rem .8rem!important;
  font-size:.68rem!important;
  font-weight:900!important;
  text-transform:uppercase;
}

.nv-featured-offer-art{
  position:relative;
  min-height:100%;
  overflow:hidden;
}

.nv-featured-offer-art:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-20px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle,#FFD400 0%,#F38A00 45%,rgba(243,138,0,0) 70%);
  filter:blur(4px);
  opacity:.72;
}

.nv-offer-orbit{
  border-color:rgba(255,255,255,.28)!important;
}

.nv-offer-discount{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-7deg);
  width:230px!important;
  height:230px!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#11100E!important;
  border:12px solid #FFD400!important;
  box-shadow:
    0 22px 45px rgba(0,0,0,.28),
    inset 0 0 0 4px rgba(255,255,255,.08);
}

.nv-offer-discount small{
  color:#FFF1BA!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.18em;
}

.nv-offer-discount strong{
  color:#FFD400!important;
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  font-size:4.8rem!important;
  line-height:.9;
  letter-spacing:.01em;
}

/* ------------------------------------------------------------------------
   Categories
------------------------------------------------------------------------ */

.category-item{
  color:#21150D!important;
  font-weight:800;
}

.category-item span{
  background:linear-gradient(145deg,#FFF9EA,#F6D95E)!important;
  border-color:#E3BE3B!important;
}

.category-item i{
  color:#9C5D00!important;
}

.category-item:hover span{
  box-shadow:0 14px 30px rgba(42,23,10,.16)!important;
}

/* ------------------------------------------------------------------------
   Product cards
------------------------------------------------------------------------ */

.product-card,
.nv-product-card{
  color:#11100E!important;
}

.product-art,
.nv-product-card-media{
  background:
    radial-gradient(circle at 50% 28%,rgba(255,212,0,.18),transparent 35%),
    linear-gradient(180deg,#FFF9EE 0%,#F6E0A2 100%)!important;
}

.product-badge,
.nv-product-badge{
  background:#FFD400!important;
  color:#11100E!important;
  font-weight:900!important;
  text-transform:uppercase;
}

.product-badge.new{
  background:#11100E!important;
  color:#FFD400!important;
}

.nv-product-badge-discount{
  background:#11100E!important;
  color:#FFD400!important;
}

.rating i,
.nv-product-card-rating i{
  color:#E7A700!important;
}

.price,
.nv-selling-price{
  color:#11100E!important;
}

.off{
  color:#B96D00!important;
}

.add-btn,
.nv-product-add-btn,
.nv-product-mobile-add{
  border-color:#D79A00!important;
  color:#8C5600!important;
  background:#FFFDF8!important;
  font-weight:900!important;
  text-transform:uppercase;
}

/* ------------------------------------------------------------------------
   Wellness / info bands
------------------------------------------------------------------------ */

.wellness-panel{
  background:
    radial-gradient(circle at 85% 20%,rgba(255,212,0,.22),transparent 25%),
    linear-gradient(115deg,#FFF9E8 0%,#F0CD55 100%)!important;
}

.wellness-panel h3,
.wellness-point i{
  color:#8E5700!important;
}

.wellness-point i{
  background:#FFFDF8!important;
}

.quality-panel{
  background:#FFFDF8!important;
  border-color:#E7D6BF!important;
}

.quality-grid i{
  color:#9A5C00!important;
}

/* ------------------------------------------------------------------------
   Dark promo / editorial bands
------------------------------------------------------------------------ */

.subscribe-banner,
.blog-page .newsletter-panel,
.about-page .mission-panel{
  background:
    radial-gradient(circle at 84% 34%,rgba(255,212,0,.34) 0,rgba(255,212,0,0) 30%),
    linear-gradient(108deg,#11100E 0%,#2A170A 45%,#703905 75%,#D99F00 100%)!important;
  color:#fff!important;
}

.subscribe-banner h2,
.blog-page .newsletter-panel h2,
.about-page .mission-panel .about-heading{
  color:#FFD400!important;
  text-shadow:0 4px 0 rgba(0,0,0,.16);
}

.subscribe-banner .btn,
.blog-page .newsletter-form button{
  background:#FFD400!important;
  border-color:#FFD400!important;
  color:#11100E!important;
  font-weight:900!important;
  text-transform:uppercase;
}

/* ------------------------------------------------------------------------
   About / science / contact dark panels
------------------------------------------------------------------------ */

.about-page .science-band,
.contact-page .contact-info{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,212,0,.08),transparent 28%),
    linear-gradient(135deg,#11100E 0%,#2A170A 62%,#4C270C 100%)!important;
}

.about-page .science-copy .about-kicker,
.contact-page .contact-info .contact-kicker{
  color:#FFD400!important;
}

.about-page .science-visual{
  background:
    radial-gradient(circle at center,#FFE767 0%,#D7A900 46%,#653406 100%)!important;
}

.about-page .science-core i{
  color:#A25E00!important;
}

.about-page .about-card-two{
  background:#11100E!important;
  color:#fff!important;
}

.about-page .about-card-two small{
  color:#FFD400!important;
}

/* ------------------------------------------------------------------------
   Blog / shop chips
------------------------------------------------------------------------ */

.blog-page .blog-filter:hover,
.blog-page .blog-filter.active,
.shop-page .shop-category-pill:hover,
.shop-page .shop-category-pill.active{
  background:#11100E!important;
  border-color:#11100E!important;
  color:#FFD400!important;
}

.blog-page .featured-story{
  background:#FFF6DB!important;
}

.blog-page .featured-visual{
  background:radial-gradient(circle at 48% 46%,#FFF1AE 0,#F2CF4F 45%,#D69C00 100%)!important;
}

.blog-page .blog-meta .tag{
  color:#A96400!important;
}

.blog-page .blog-thumb{
  background:linear-gradient(145deg,#FFF3C3,#E9C33B)!important;
}

.blog-page .blog-thumb.dark{
  background:linear-gradient(145deg,#3A1D0B,#11100E)!important;
}

.blog-page .blog-thumb .thumb-icon{
  color:#9F6000!important;
}

/* ------------------------------------------------------------------------
   Contact forms
------------------------------------------------------------------------ */

.contact-page .contact-item i{
  background:rgba(255,212,0,.13)!important;
  color:#FFD400!important;
}

.contact-page .contact-form .form-control:focus,
.contact-page .contact-form .form-select:focus,
.blog-page .blog-search input:focus{
  border-color:#D49C00!important;
  box-shadow:0 0 0 3px rgba(255,212,0,.14)!important;
}

.contact-page .contact-status{
  background:#FFF0A8!important;
  color:#684000!important;
}

.contact-page .support-card i{
  background:#FFF0A8!important;
  color:#8D5500!important;
}

.contact-page .hours-panel{
  background:linear-gradient(105deg,#FFF7DD,#F0CF59)!important;
}

/* ------------------------------------------------------------------------
   Footer
------------------------------------------------------------------------ */

.footer{
  background:
    radial-gradient(circle at 80% 20%,rgba(255,212,0,.08),transparent 28%),
    #11100E!important;
  color:#F6ECDD!important;
  border-top:3px solid #D9A100;
}

.footer p,
.footer a{
  color:#BDAE9E!important;
}

.footer a:hover{
  color:#FFD400!important;
}

.footer-bottom{
  border-top-color:rgba(255,212,0,.16)!important;
  color:#9C8D7D!important;
}

/* ------------------------------------------------------------------------
   Accent helpers
------------------------------------------------------------------------ */

::selection{
  background:#FFD400;
  color:#11100E;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(255,212,0,.42);
  outline-offset:2px;
}

.nv-accent-blue,
.text-neivon-blue{
  color:var(--gym-blue)!important;
}

/* ------------------------------------------------------------------------
   Responsive refinements
------------------------------------------------------------------------ */

@media(max-width:991.98px){
  .nv-featured-offer{
    grid-template-columns:1fr;
  }

  .nv-featured-offer-art{
    min-height:320px;
  }
}

@media(max-width:767.98px){
  .nv-featured-offer-section{
    padding:4rem 0;
  }

  .nv-featured-offer{
    border-radius:16px!important;
  }

  .nv-featured-offer-copy{
    padding:2.2rem!important;
  }

  .nv-featured-offer h2{
    font-size:3rem!important;
  }

  .nv-offer-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .nv-offer-meta>div{
    min-width:0;
    margin-right:0;
    padding-right:1rem;
  }

  .nv-offer-discount{
    width:190px!important;
    height:190px!important;
  }

  .nv-offer-discount strong{
    font-size:4rem!important;
  }
}

@media(max-width:575.98px){
  .nv-featured-offer h2{
    font-size:2.6rem!important;
  }

  .nv-featured-coupon{
    width:100%;
    justify-content:space-between;
  }

  .nv-offer-meta{
    grid-template-columns:1fr;
  }

  .nv-offer-meta>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .nv-offer-meta>div:last-child{
    border-bottom:0;
  }
}

/* ========================================================================
   NEIVON TYPOGRAPHY NORMALIZATION V2
   Consistent, slightly larger sizing across the complete storefront.
   Required fonts in Blade:
   Inter + Roboto Condensed
   ======================================================================== */

:root {
    --nv-font-body: "Inter", Arial, sans-serif;
    --nv-font-display: "Roboto Condensed", Impact, "Arial Narrow", sans-serif;

    --nv-text-xs: 0.78rem;
    --nv-text-sm: 0.88rem;
    --nv-text-base: 1rem;
    --nv-text-md: 1.075rem;
    --nv-text-lg: 1.18rem;
    --nv-text-xl: 1.35rem;

    --nv-heading-sm: clamp(1.35rem, 1.8vw, 1.65rem);
    --nv-heading-md: clamp(1.75rem, 2.6vw, 2.35rem);
    --nv-heading-lg: clamp(2.25rem, 4vw, 3.7rem);
    --nv-heading-xl: clamp(3.1rem, 6vw, 6.1rem);
}

html {
    font-size: 17px;
}

body {
    font-family: var(--nv-font-body);
    font-size: var(--nv-text-base);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
    font-family: var(--nv-font-body);
    font-size: 1rem;
}

p {
    font-size: var(--nv-text-base);
    line-height: 1.7;
}

small {
    font-size: var(--nv-text-sm);
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-head h2,
.nv-hero-heading,
.about-heading,
.blog-page .blog-heading-row h2,
.shop-page .shop-hero h1,
.contact-page .contact-hero h1,
.nv-featured-offer h2,
.nv-product-card-title,
.product-title {
    font-family: var(--nv-font-display) !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

h1 {
    font-size: var(--nv-heading-xl);
    line-height: 0.95;
}

h2 {
    font-size: var(--nv-heading-lg);
    line-height: 1;
}

h3 {
    font-size: var(--nv-heading-md);
    line-height: 1.08;
}

h4 {
    font-size: var(--nv-heading-sm);
    line-height: 1.15;
}

h5 {
    font-size: 1.2rem;
}

h6 {
    font-size: 1.08rem;
}

/* Navigation */
.nav-link {
    font-family: var(--nv-font-body);
    font-size: 0.94rem !important;
    line-height: 1.25;
}

.topbar {
    font-size: 0.84rem;
}

/* Editorial section headings */
.section-kicker,
.about-kicker,
.blog-kicker,
.shop-kicker,
.contact-kicker,
.nv-hero-eyebrow,
.mini-title {
    font-family: var(--nv-font-body);
    font-size: 0.76rem !important;
    line-height: 1.35;
    font-weight: 900 !important;
}

.section-head h2,
.about-heading,
.blog-page .blog-heading-row h2,
.contact-page .support-heading {
    font-size: clamp(2.15rem, 3.7vw, 3.45rem) !important;
    line-height: 0.98 !important;
}

.section-head a {
    font-size: 0.94rem;
}

/* Main hero */
.hero h1,
.about-page .about-hero h1,
.blog-page .blog-hero h1,
.contact-page .contact-hero h1,
.shop-page .shop-hero h1,
.nv-hero-heading {
    font-size: clamp(3.15rem, 6.3vw, 6.5rem) !important;
    line-height: 0.9 !important;
}

.nv-hero-subheading,
.hero p,
.about-page .about-hero p,
.blog-page .blog-hero p,
.contact-page .contact-hero p,
.shop-page .shop-hero p {
    font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
    line-height: 1.65;
}

/* Buttons */
.btn,
.btn-neivon,
.btn-outline-neivon,
.nv-hero-primary-btn,
.nv-hero-secondary-btn {
    font-family: var(--nv-font-body);
    font-size: 0.91rem !important;
    font-weight: 900 !important;
    line-height: 1.2;
}

/* Categories */
.category-item strong {
    font-family: var(--nv-font-body);
    font-size: 0.96rem;
    line-height: 1.3;
}

/* Product cards */
.nv-product-card-tagline {
    font-size: 0.82rem !important;
    line-height: 1.35;
}

.nv-product-card-title {
    font-size: clamp(1.28rem, 1.7vw, 1.55rem) !important;
    line-height: 1.06 !important;
}

.nv-product-card-rating,
.nv-rating-value,
.nv-rating-count,
.nv-no-rating {
    font-size: 0.84rem !important;
}

.nv-selling-price,
.price {
    font-family: var(--nv-font-display) !important;
    font-size: 1.55rem !important;
    font-weight: 900 !important;
}

.nv-mrp {
    font-size: 0.92rem !important;
}

.nv-product-card-variant {
    font-size: 0.86rem !important;
}

.nv-product-badge,
.product-badge {
    font-family: var(--nv-font-body);
    font-size: 0.68rem !important;
    font-weight: 900 !important;
}

.nv-product-add-btn,
.nv-product-mobile-add,
.add-btn {
    font-family: var(--nv-font-body);
    font-size: 0.86rem !important;
}

/* Featured offer */
.nv-featured-offer h2 {
    font-size: clamp(3.25rem, 5.7vw, 6.5rem) !important;
    line-height: 0.88 !important;
}

.nv-featured-offer-copy > p {
    font-size: clamp(1rem, 1.3vw, 1.15rem) !important;
    line-height: 1.7;
}

.nv-offer-meta span {
    font-size: 0.7rem !important;
}

.nv-offer-meta strong {
    font-family: var(--nv-font-display) !important;
    font-size: 2.15rem !important;
}

.nv-featured-coupon span {
    font-size: 0.67rem !important;
}

.nv-featured-coupon strong {
    font-family: var(--nv-font-display) !important;
    font-size: 1.45rem !important;
}

.nv-featured-coupon button {
    font-size: 0.74rem !important;
}

.nv-offer-discount small {
    font-size: 0.78rem !important;
}

.nv-offer-discount strong {
    font-family: var(--nv-font-display) !important;
    font-size: clamp(4.3rem, 7vw, 6rem) !important;
}

/* Wellness / quality */
.wellness-panel h3,
.quality-panel h3 {
    font-size: clamp(1.7rem, 2.5vw, 2.25rem) !important;
}

.wellness-point strong,
.quality-grid strong {
    font-size: 1rem;
}

.wellness-point p,
.quality-grid p {
    font-size: 0.92rem;
}

/* Blog */
.blog-page .blog-card h3,
.blog-page .featured-story h2 {
    font-size: clamp(1.55rem, 2.5vw, 2.3rem) !important;
    line-height: 1.05;
}

.blog-page .blog-meta,
.blog-page .blog-card p {
    font-size: 0.92rem;
}

/* Forms / account / checkout readable sizing */
.form-label,
label {
    font-size: 0.9rem;
    font-weight: 700;
}

.form-control,
.form-select {
    font-size: 1rem !important;
}

.nv-account-profile-row,
.nv-account-order {
    font-size: 0.94rem;
}

/* Footer */
.footer {
    font-size: 0.94rem;
}

.footer h3,
.footer h4,
.footer h5 {
    font-family: var(--nv-font-display) !important;
    font-size: 1.22rem !important;
    font-weight: 900 !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    html {
        font-size: 16.5px;
    }

    .section-head h2,
    .about-heading,
    .blog-page .blog-heading-row h2,
    .contact-page .support-heading {
        font-size: clamp(2rem, 5vw, 3rem) !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    html {
        font-size: 16px;
    }

    body {
        line-height: 1.6;
    }

    .hero h1,
    .about-page .about-hero h1,
    .blog-page .blog-hero h1,
    .contact-page .contact-hero h1,
    .shop-page .shop-hero h1,
    .nv-hero-heading {
        font-size: clamp(2.65rem, 12vw, 4.35rem) !important;
        line-height: 0.92 !important;
    }

    .section-head h2,
    .about-heading,
    .blog-page .blog-heading-row h2,
    .contact-page .support-heading {
        font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
    }

    .nv-featured-offer h2 {
        font-size: clamp(2.75rem, 13vw, 4.2rem) !important;
    }

    .nv-product-card-title {
        font-size: 1.22rem !important;
    }

    .nv-selling-price,
    .price {
        font-size: 1.4rem !important;
    }
}

/* Small mobile */
@media (max-width: 575.98px) {
    .section-kicker,
    .about-kicker,
    .blog-kicker,
    .shop-kicker,
    .contact-kicker,
    .nv-hero-eyebrow {
        font-size: 0.7rem !important;
        letter-spacing: 0.14em !important;
    }

    .btn,
    .btn-neivon,
    .btn-outline-neivon {
        font-size: 0.86rem !important;
    }
}

/* ================================================================
   STANDARD TYPOGRAPHY FINAL OVERRIDE
   ================================================================ */
:root{
  --nv-font-body:"Inter",Arial,sans-serif;
  --nv-font-display:"Roboto Condensed",Impact,"Arial Narrow",sans-serif;
}

html{font-size:16px!important;}
body{font-family:var(--nv-font-body)!important;font-size:1rem!important;line-height:1.6!important;}
button,input,select,textarea{font-family:var(--nv-font-body)!important;font-size:.95rem!important;}
p{font-size:1rem!important;line-height:1.65!important;}
small{font-size:.82rem!important;}

h1,h2,h3,h4,h5,h6,
.section-head h2,.nv-hero-heading,.about-heading,
.blog-page .blog-heading-row h2,.shop-page .shop-hero h1,
.contact-page .contact-hero h1,.nv-featured-offer h2,
.nv-product-card-title,.product-title{
  font-family:var(--nv-font-display)!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}

h1{font-size:2.75rem!important;line-height:1.05!important;}
h2{font-size:2.15rem!important;line-height:1.1!important;}
h3{font-size:1.55rem!important;line-height:1.15!important;}
h4{font-size:1.25rem!important;line-height:1.2!important;}
h5{font-size:1.1rem!important;}
h6{font-size:1rem!important;}

.topbar{font-size:.78rem!important;}
.nav-link{font-size:.9rem!important;}

.section-kicker,.about-kicker,.blog-kicker,.shop-kicker,
.contact-kicker,.nv-hero-eyebrow,.mini-title{
  font-size:.7rem!important;
  line-height:1.35!important;
  letter-spacing:.15em!important;
}

.section-head h2,.about-heading,
.blog-page .blog-heading-row h2,.contact-page .support-heading{
  font-size:clamp(1.9rem,2.8vw,2.5rem)!important;
  line-height:1.05!important;
}

.section-head a{font-size:.88rem!important;}

.hero h1,.about-page .about-hero h1,.blog-page .blog-hero h1,
.contact-page .contact-hero h1,.shop-page .shop-hero h1,.nv-hero-heading{
  font-size:clamp(2.5rem,4.5vw,4.25rem)!important;
  line-height:.98!important;
}

.nv-hero-subheading,.hero p,.about-page .about-hero p,
.blog-page .blog-hero p,.contact-page .contact-hero p,
.shop-page .shop-hero p{
  font-size:1rem!important;
  line-height:1.65!important;
}

.btn,.btn-neivon,.btn-outline-neivon,
.nv-hero-primary-btn,.nv-hero-secondary-btn{
  font-size:.86rem!important;
}

.category-item strong{font-size:.9rem!important;}

.nv-product-card-tagline{font-size:.76rem!important;}
.nv-product-card-title{font-size:1.15rem!important;line-height:1.15!important;}
.nv-product-card-rating,.nv-rating-value,.nv-rating-count,.nv-no-rating{font-size:.78rem!important;}
.nv-selling-price,.price{font-size:1.3rem!important;font-weight:800!important;}
.nv-mrp{font-size:.85rem!important;}
.nv-product-card-variant{font-size:.8rem!important;}
.nv-product-badge,.product-badge{font-size:.62rem!important;}
.nv-product-add-btn,.nv-product-mobile-add,.add-btn{font-size:.8rem!important;}

.nv-featured-offer h2{
  font-size:clamp(2.5rem,4.5vw,4.5rem)!important;
  line-height:.94!important;
}
.nv-featured-offer-copy>p{font-size:1rem!important;}
.nv-offer-meta span{font-size:.64rem!important;}
.nv-offer-meta strong{font-size:1.75rem!important;}
.nv-featured-coupon span{font-size:.62rem!important;}
.nv-featured-coupon strong{font-size:1.2rem!important;}
.nv-featured-coupon button{font-size:.68rem!important;}
.nv-offer-discount small{font-size:.7rem!important;}
.nv-offer-discount strong{font-size:4rem!important;}

.wellness-panel h3,.quality-panel h3{font-size:1.55rem!important;}
.wellness-point strong,.quality-grid strong{font-size:.95rem!important;}
.wellness-point p,.quality-grid p{font-size:.88rem!important;}

.blog-page .blog-card h3,.blog-page .featured-story h2{
  font-size:1.5rem!important;
  line-height:1.12!important;
}
.blog-page .blog-meta,.blog-page .blog-card p{font-size:.88rem!important;}

.form-label,label{font-size:.86rem!important;}
.form-control,.form-select{font-size:.95rem!important;}
.nv-account-profile-row,.nv-account-order{font-size:.9rem!important;}

.footer{font-size:.9rem!important;}
.footer h3,.footer h4,.footer h5{font-size:1.1rem!important;}

@media(max-width:991.98px){
  html{font-size:16px!important;}
  .hero h1,.about-page .about-hero h1,.blog-page .blog-hero h1,
  .contact-page .contact-hero h1,.shop-page .shop-hero h1,.nv-hero-heading{
    font-size:clamp(2.35rem,6vw,3.6rem)!important;
  }
}

@media(max-width:767.98px){
  html{font-size:16px!important;}
  .hero h1,.about-page .about-hero h1,.blog-page .blog-hero h1,
  .contact-page .contact-hero h1,.shop-page .shop-hero h1,.nv-hero-heading{
    font-size:clamp(2.15rem,9vw,3rem)!important;
    line-height:1!important;
  }
  .section-head h2,.about-heading,.blog-page .blog-heading-row h2,
  .contact-page .support-heading{
    font-size:clamp(1.7rem,7vw,2.15rem)!important;
  }
  .nv-featured-offer h2{font-size:clamp(2.2rem,10vw,3.25rem)!important;}
  .nv-product-card-title{font-size:1.08rem!important;}
  .nv-selling-price,.price{font-size:1.2rem!important;}
}

@media(max-width:575.98px){
  body,p{font-size:.95rem!important;}
  .btn,.btn-neivon,.btn-outline-neivon{font-size:.82rem!important;}
}

/* ========================================================================
   CATEGORY PRODUCT SHOWCASE — FINAL CLEAN VERSION
   Single consolidated block. No duplicate V1 / V2 showcase overrides.
   ======================================================================== */

.nv-category-showcase-section {
    position: relative;
    overflow: hidden;
    padding: 4.25rem 0 5rem !important;
    background: radial-gradient(circle at 50% 0%, rgba(255, 212, 0, .08), transparent 28%),
        #fffdf8 !important;
}

.nv-category-showcase-heading {
    max-width: 700px !important;
    margin: 0 auto 1.35rem !important;
    text-align: center;
}

.nv-category-showcase-heading h2 {
    margin: .2rem 0 .4rem !important;
    color: #15120f;
    font-family: "Roboto Condensed", Impact, "Arial Narrow", sans-serif;
    font-size: clamp(1.9rem, 2.8vw, 2.65rem) !important;
    font-weight: 900;
    line-height: 1.02 !important;
    text-transform: uppercase;
    letter-spacing: .01em;
}

.nv-category-showcase-heading p {
    margin: 0;
    color: #81776d !important;
    font-size: .9rem !important;
}

.nv-category-showcase-tabs-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem !important;
}

.nv-category-showcase-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .4rem !important;
    max-width: 1100px;
}

.nv-category-showcase-tab {
    min-height: 38px !important;
    padding: 0 .95rem !important;
    border: 1px solid #ddcfbb;
    border-radius: 999px;
    background: #fff !important;
    color: #574c43 !important;
    font-family: Inter, Arial, sans-serif;
    font-size: .76rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
    cursor: pointer;
    transition: .2s ease;
    border-color: #dfd3c5 !important;
}

.nv-category-showcase-tab:hover {
    border-color: #c39118;
    color: #8a5700;
}

.nv-category-showcase-tab.active {
    border-color: #11100e !important;
    background: #11100e !important;
    color: #ffd400 !important;
    box-shadow: none !important;
}

.nv-category-showcase-stage {
    position: relative !important;
    display: block !important;
    grid-template-columns: 54px minmax(0, 1fr) 54px;
    align-items: center;
    gap: 18px;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.nv-category-showcase-viewport {
    min-width: 0;
    min-height: 0 !important;
}

.nv-category-showcase-product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(540px, 1.08fr) minmax(0, .92fr) !important;
    min-height: 570px !important;
    overflow: hidden;
    border: 1px solid #e7ddd1 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 22px 55px rgba(44, 28, 12, .08) !important;
}

.nv-category-showcase-product[hidden] {
    display: none !important;
}

.nv-category-showcase-product.is-entering {
    animation: nvShowcaseEnter .42s cubic-bezier(.22, .8, .2, 1);
}

@keyframes nvShowcaseEnter {
    from {
        opacity: .2;
        transform: translateY(10px) scale(.995);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.nv-showcase-product-visual {
    position: relative;
    min-height: 570px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 1rem !important;
    background: radial-gradient(circle at 50% 45%, rgba(255, 220, 74, .14), transparent 48%),
        linear-gradient(145deg, #f8f2e9 0%, #fffdf9 72%) !important;
    border-right: 1px solid #eee3d7 !important;
}

.nv-showcase-product-visual::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;
}

.nv-showcase-product-visual::after {
    content: "";
    position: absolute;
    width: 315px;
    height: 315px;
    border: 1px solid rgba(17, 16, 14, .12);
    border-radius: 50%;
}

.nv-showcase-visual-topline {
    position: absolute;
    z-index: 4;
    top: 22px;
    left: 24px;
    right: 24px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    color: rgba(17, 16, 14, .64);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .15em;
}

.nv-showcase-product-badge,
.nv-showcase-discount-badge {
    position: absolute;
    z-index: 5;
    top: 20px !important;
    padding: .4rem .58rem !important;
    border-radius: 5px !important;
    font-size: .58rem !important;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 6px 14px rgba(31, 20, 8, .07);
}

.nv-showcase-product-badge {
    left: 20px !important;
    background: #11100e;
    color: #ffd400;
}

.nv-showcase-discount-badge {
    right: 20px !important;
    background: #fff !important;
    color: #7e4c00;
    border: 1px solid #ead9be;
}

.nv-showcase-product-image-link {
    position: relative;
    z-index: 3;
    width: min(100%, 610px) !important;
    height: 535px !important;
    display: grid;
    place-items: center;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
    background: #17110d;
    box-shadow: 0 18px 42px rgba(24, 15, 7, .15);
}

.nv-showcase-product-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: none !important;
    transition: transform .35s ease;
    transform: none !important;
}

.nv-showcase-product-image-link:hover .nv-showcase-product-image {
    transform: scale(1.012) !important;
}

.nv-showcase-product-placeholder {
    width: 250px;
    height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 2px solid rgba(17, 16, 14, .17);
    background: rgba(255, 255, 255, .55);
    color: #11100e;
}

.nv-showcase-product-placeholder i {
    font-size: 4rem;
}

.nv-showcase-visual-wordmark {
    position: absolute;
    z-index: 1;
    left: 24px;
    bottom: 17px;
    color: rgba(17, 16, 14, .66);
    font-family: "Roboto Condensed", Impact, sans-serif;
    font-size: clamp(1.3rem, 2.6vw, 2.4rem);
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.nv-showcase-product-copy {
    position: relative;
    display: flex;
    align-items: center;
    padding: clamp(2.5rem, 4.5vw, 4.25rem) !important;
    background: radial-gradient(circle at 100% 0%, rgba(255, 212, 0, .055), transparent 26%),
        #fff !important;
}

.nv-showcase-product-copy-inner {
    width: 100%;
    max-width: 500px !important;
}

.nv-showcase-product-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: .8rem !important;
    color: #a46400 !important;
    font-size: .65rem !important;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nv-showcase-rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #62584e !important;
    letter-spacing: 0;
}

.nv-showcase-rating i {
    color: #dfa500;
}

.nv-showcase-rating small {
    color: #9a9188;
    font-size: .72rem !important;
}

.nv-showcase-product-copy h3 {
    margin: 0;
    font-family: "Roboto Condensed", Impact, "Arial Narrow", sans-serif;
    font-size: clamp(2rem, 3.3vw, 3.05rem) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
    max-width: 470px;
}

.nv-showcase-product-copy h3 a {
    color: #15120f !important;
}

.nv-showcase-tagline {
    margin-top: .75rem !important;
    color: #a26700;
    font-size: .78rem !important;
    font-weight: 900;
    letter-spacing: .06em !important;
    text-transform: uppercase;
}

.nv-showcase-description {
    max-width: 460px !important;
    margin: .8rem 0 0;
    color: #70675f;
    font-size: .9rem !important;
    line-height: 1.65 !important;
    margin-top: .7rem !important;
}

.nv-showcase-variant {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 1.15rem !important;
    padding: .72rem 0 !important;
    border-top: 1px solid #eadfce;
    border-bottom: 1px solid #eadfce;
}

.nv-showcase-variant span {
    color: #978d82;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.nv-showcase-variant strong {
    color: #34281f;
    font-size: .87rem;
}

.nv-showcase-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-top: 1.2rem !important;
}

.nv-showcase-selling-price {
    color: #11100e;
    font-family: "Roboto Condensed", Impact, sans-serif;
    font-size: 1.75rem !important;
    font-weight: 900;
}

.nv-showcase-mrp {
    margin-left: .55rem;
    color: #9d958c;
    font-size: .84rem !important;
    text-decoration: line-through;
}

.nv-showcase-tax-note {
    color: #9c9288;
    font-size: .68rem;
}

.nv-showcase-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    gap: .65rem;
    margin-top: 1.25rem !important;
}

.nv-showcase-add-btn,
.nv-showcase-details-btn {
    min-height: 48px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 6px;
    font-size: .76rem !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.nv-showcase-add-btn {
    border: 1px solid #ffd400 !important;
    background: #ffd400 !important;
    color: #11100e !important;
}

.nv-showcase-add-btn:hover {
    background: #ffe45b !important;
    border-color: #ffe45b !important;
}

.nv-showcase-add-btn.disabled {
    border-color: #d7d2ca !important;
    background: #eeeae4 !important;
    color: #8f887f !important;
}

.nv-showcase-details-btn {
    border: 1px solid #d9ccba;
    background: #fff;
    color: #3d332a;
}

.nv-showcase-details-btn:hover {
    border-color: #11100e;
    background: #11100e;
    color: #ffd400;
}

.nv-showcase-arrow {
    width: 46px !important;
    height: 46px !important;
    display: grid;
    place-items: center;
    border: 1px solid #ddcfbf !important;
    border-radius: 50%;
    background: rgba(255, 253, 249, .96) !important;
    color: #241a13 !important;
    font-size: 1rem;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 10px 26px rgba(43, 27, 12, .12) !important;
    position: absolute !important;
    z-index: 20 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.nv-showcase-arrow:hover:not(:disabled) {
    border-color: #11100e !important;
    background: #11100e !important;
    color: #ffd400 !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.nv-showcase-arrow:disabled {
    opacity: .28;
    cursor: default;
}

.nv-category-showcase-empty {
    min-height: 420px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px dashed #d7c6af;
    border-radius: 20px !important;
    background: #fffdf9;
    color: #7d7064;
    text-align: center;
}

.nv-category-showcase-empty[hidden] {
    display: none !important;
}

.nv-category-showcase-empty i {
    color: #c68900;
    font-size: 2.3rem;
}

.nv-category-showcase-empty strong {
    color: #382b21;
}

.nv-category-showcase-empty a {
    color: #9d6200;
    font-size: .82rem;
    font-weight: 900;
}

.nv-category-showcase-footer {
    max-width: 1180px !important;
    margin: 1.3rem auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 1rem !important;
}

.nv-showcase-progress {
    min-width: 225px !important;
    display: grid;
    grid-template-columns: 28px minmax(100px, 180px) 28px;
    align-items: center;
    gap: 10px;
    color: #82776c;
    font-size: .66rem;
    font-weight: 900;
}

.nv-showcase-progress-line {
    height: 2px !important;
    overflow: hidden;
    border-radius: 99px;
    background: #e4d8c8;
}

.nv-showcase-progress-line > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #d39a00 !important;
    transition: width .3s ease;
}

.nv-showcase-shop-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #6c5742;
    font-size: .72rem !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.nv-showcase-shop-all:hover {
    color: #9c6100;
}

@media (max-width: 1199.98px) {
    .nv-category-showcase-stage {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
        gap: 12px;
        max-width: calc(100% - 36px) !important;
    }

    .nv-showcase-arrow {
        width: 46px;
        height: 46px;
    }

    .nv-category-showcase-product {
        grid-template-columns: minmax(460px, 1fr) minmax(0, 1fr) !important;
    }

    .nv-showcase-product-copy {
        padding: 2.6rem;
    }

    .nv-showcase-product-image-link {
        height: 490px !important;
        width: min(100%, 540px) !important;
    }
}

@media (max-width: 991.98px) {
    .nv-category-showcase-section {
        padding: 3.8rem 0 4.25rem !important;
    }

    .nv-category-showcase-tabs {
        justify-content: flex-start;
        flex-wrap: nowrap;
        width: 100%;
        overflow-x: auto;
        padding: 0 1px .35rem;
        scrollbar-width: none;
    }

    .nv-category-showcase-tabs::-webkit-scrollbar {
        display: none;
    }

    .nv-category-showcase-product {
        grid-template-columns: 1fr !important;
    }

    .nv-showcase-product-visual {
        min-height: auto !important;
        padding: 2rem !important;
        border-right: 0 !important;
        border-bottom: 1px solid #eee3d7 !important;
    }

    .nv-category-showcase-viewport,
    .nv-category-showcase-empty {
        min-height: 0;
    }

    .nv-category-showcase-stage {
        max-width: 100% !important;
    }

    .nv-showcase-product-image-link {
        width: min(94%, 560px) !important;
        height: 520px !important;
    }

    .nv-showcase-product-copy-inner {
        max-width: 650px !important;
    }

    .nv-showcase-arrow-prev {
        left: 10px !important;
    }

    .nv-showcase-arrow-next {
        right: 10px !important;
    }
}

@media (max-width: 767.98px) {
    .nv-category-showcase-section {
        padding: 3.2rem 0 3.7rem !important;
    }

    .nv-category-showcase-heading {
        margin-bottom: 1.35rem;
    }

    .nv-category-showcase-stage {
        display: block;
    }

    .nv-showcase-arrow {
        position: absolute;
        z-index: 12;
        top: 36% !important;
        width: 40px !important;
        height: 40px !important;
        background: rgba(255, 253, 249, .92);
    }

    .nv-showcase-arrow-prev {
        left: 6px !important;
    }

    .nv-showcase-arrow-next {
        right: 6px !important;
    }

    .nv-category-showcase-product {
        border-radius: 16px !important;
    }

    .nv-showcase-product-visual {
        min-height: 390px;
        padding: 1.2rem !important;
    }

    .nv-showcase-product-image-link {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 11px !important;
    }

    .nv-showcase-product-visual::before {
        width: 315px;
        height: 315px;
    }

    .nv-showcase-product-visual::after {
        width: 235px;
        height: 235px;
    }

    .nv-showcase-product-copy {
        padding: 1.65rem 1.35rem 1.8rem !important;
    }

    .nv-showcase-product-copy h3 {
        font-size: clamp(1.8rem, 9vw, 2.45rem) !important;
    }

    .nv-showcase-actions {
        grid-template-columns: 1fr !important;
    }

    .nv-category-showcase-footer {
        align-items: flex-start;
        flex-direction: column;
        margin-top: .85rem !important;
    }

    .nv-showcase-progress {
        width: 100%;
        grid-template-columns: 28px minmax(0, 1fr) 28px;
    }

    .nv-category-showcase-tabs {
        justify-content: flex-start !important;
    }
}

@media (max-width: 575.98px) {
    .nv-category-showcase-tabs-wrap {
        margin-bottom: 1.4rem;
    }

    .nv-category-showcase-tab {
        min-height: 36px;
        padding: 0 .8rem;
        font-size: .72rem;
    }

    .nv-showcase-product-visual {
        min-height: 350px;
    }

    .nv-showcase-product-image-link {
        height: 270px;
    }

    .nv-showcase-arrow {
        top: 178px;
        width: 38px;
        height: 38px;
    }

    .nv-showcase-visual-wordmark {
        font-size: 1.2rem;
    }

    .nv-showcase-price-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: .25rem !important;
    }

    .nv-category-showcase-heading h2 {
        font-size: 1.85rem !important;
    }

    .nv-category-showcase-heading p {
        font-size: .86rem !important;
    }

    .nv-showcase-product-badge,
    .nv-showcase-discount-badge {
        top: 14px !important;
    }

    .nv-showcase-product-badge {
        left: 14px !important;
    }

    .nv-showcase-discount-badge {
        right: 14px !important;
    }

    .nv-showcase-product-copy {
        padding: 1.45rem 1.15rem 1.55rem !important;
    }

    .nv-showcase-selling-price {
        font-size: 1.55rem !important;
    }

    .nv-category-showcase-footer {
        align-items: stretch !important;
    }

    .nv-showcase-shop-all {
        align-self: flex-end;
    }
}

.nv-showcase-product-visual::before,
.nv-showcase-product-visual::after {
    display: none !important;
}

.nv-showcase-arrow-prev {
    left: -23px !important;
}

.nv-showcase-arrow-next {
    right: -23px !important;
}
