/* ========================================================================
   ALL NATURAL NAVIGATION -> NOBLE FACTORY
   Desktop >=1200, tablet/mobile <1200. Geometry and state behavior are
   reconstructed from the supplied All Natural Framer export.
   ======================================================================== */
.nf-site-header{position:fixed;inset:0 0 auto;z-index:var(--nf-nav-z);width:100%;height:70px;color:var(--nf-ink);background:#fff;transition:color .2s cubic-bezier(.88,.39,.29,.8),background-color .2s cubic-bezier(.88,.39,.29,.8)}
.admin-bar .nf-site-header{top:32px}
.nf-site-header.is-transparent{color:#fff;background:transparent}
.nf-site-header.is-filled,.nf-site-header.is-mega-open{color:var(--nf-ink);background:#fff}
.nf-site-header__inner{height:100%;padding:22px 40px 20px}
.nf-nav--desktop{display:flex;align-items:center;justify-content:space-between;height:100%;width:100%}
.nf-nav__side{display:flex;flex:1 0 0;align-items:center;min-width:0}
.nf-nav__side--left{justify-content:flex-start}.nf-nav__side--right{justify-content:flex-end}
.nf-nav__list{display:flex;align-items:center;gap:24px;height:min-content}.nf-nav__list--right{justify-content:flex-end;gap:20px;width:100%}
.nf-nav__item{display:flex;align-items:center;justify-content:center;height:23px;min-width:0}
.nf-nav__link,.nf-nav__action{position:relative;display:grid;grid-template-rows:auto 1px;align-content:center;align-items:center;gap:2px;height:23px;padding:0;border:0;background:transparent;color:inherit;font:500 14px/125% var(--nf-font);letter-spacing:-.5px;white-space:nowrap;cursor:pointer;text-decoration:none}
.nf-nav__sub-menu{display:none}

/* Cart trigger: Bootstrap Icons cart3 + Woo count badge. */
.nf-nav__cart,.nf-mobile-bar__cart{display:inline-flex;align-items:center;justify-content:center;position:relative}
.nf-cart-trigger__icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
.nf-cart-icon{display:block;width:18px;height:18px;fill:currentColor}
.nf-cart-count{position:absolute;top:-3px;right:-7px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--nf-gold);color:var(--nf-ink);font:500 9px/1 var(--nf-font);letter-spacing:-.2px;box-sizing:border-box}
.nf-cart-count.is-empty{display:none}
.nf-nav__cart .nf-nav__underline{position:absolute;left:0;right:0;bottom:0}

.nf-brand{display:flex;flex:0 0 112px;height:30px;align-items:center;justify-content:center}
.nf-brand__pair{position:relative;display:block;width:72px;height:38px}
.nf-brand__image{position:absolute;inset:0;width:72px;height:38px;object-fit:contain;transition:opacity .2s cubic-bezier(.88,.39,.29,.8)}
.nf-brand__image--white{opacity:0}.nf-site-header.is-transparent:not(.is-mega-open) .nf-brand__image--black{opacity:0}.nf-site-header.is-transparent:not(.is-mega-open) .nf-brand__image--white{opacity:1}
.nf-brand>.nf-brand__image{position:static;width:auto;height:32px}.nf-site-header.is-transparent:not(.is-mega-open) .nf-brand>.nf-brand__image{filter:brightness(0) invert(1)}.nf-site-header.is-mega-open .nf-brand>.nf-brand__image{filter:none}

/* Persistent desktop menu shell: All Natural changes navigation variants inside
   one mounted surface; it does not tear down one menu before mounting another. */
.nf-menu-backdrop{position:fixed;inset:0;z-index:calc(var(--nf-nav-z) - 2);background:rgba(0,0,0,.3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s cubic-bezier(.88,.39,.29,.8),visibility 0s linear .2s}
.nf-menu-backdrop.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.nf-mega-wrap{position:fixed;z-index:calc(var(--nf-nav-z) - 1);left:0;right:0;top:70px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s cubic-bezier(.88,.39,.29,.8),visibility 0s linear .2s}
.admin-bar .nf-mega-wrap{top:102px}
.nf-mega-wrap.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.nf-mega-surface{position:relative;width:100%;height:0;background:#fff;color:var(--nf-ink);overflow:hidden;transition:height .2s cubic-bezier(.88,.39,.29,.8);will-change:height}
.nf-mega-panel{position:absolute;inset:0 0 auto;background:#fff;color:var(--nf-ink);opacity:0;pointer-events:none;z-index:1;transition:opacity .2s cubic-bezier(.88,.39,.29,.8);will-change:opacity}
.nf-mega-panel.is-active{opacity:1;pointer-events:auto;z-index:3}
.nf-mega-panel.is-outgoing{opacity:0;pointer-events:none;z-index:2}
.nf-mega-panel__inner{padding:34px 40px 40px}
@keyframes nfMegaContentIn{from{opacity:.001;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.nf-mega-panel.is-active .nf-mega-card,.nf-mega-panel.is-active .nf-mega-link-group,.nf-mega-panel.is-active .nf-brand-card{animation:nfMegaContentIn .4s linear var(--nf-mega-delay,0s) both}

/* Collections */
.nf-mega-panel__cards{display:grid;grid-template-columns:repeat(var(--nf-mega-card-count,4),minmax(0,1fr));gap:20px}
.nf-mega-card{position:relative;display:block;height:321px;overflow:hidden;border-radius:8px;background:var(--nf-oat-soft)}
.nf-mega-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .45s ease}
.nf-mega-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.27) 100%)}
.nf-mega-card__label{position:absolute;left:16px;bottom:15px;color:#fff;font:500 16px/100% var(--nf-font);letter-spacing:-.6px}
.nf-mega-card:hover img,.nf-mega-card:focus-visible img{filter:brightness(.92)}

/* Products */
.nf-mega-products{display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:320px}
.nf-mega-products__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:4px}
.nf-mega-link-group>p{margin:0 0 18px;color:var(--nf-gold);font:500 11px/100% var(--nf-tight);letter-spacing:normal;text-transform:uppercase}
.nf-mega-link-group ul{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.nf-mega-text-link{position:relative;display:grid;grid-template-rows:auto 1px;align-content:center;gap:2px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px;color:inherit;text-decoration:none}
.nf-mega-products__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nf-mega-card--feature{height:321px}

/* Brand */
.nf-mega-brand{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:38px;align-items:start}
.nf-mega-brand__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nf-brand-card{display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none}
.nf-brand-card__image{display:block;height:229px;overflow:hidden;border-radius:8px;background:var(--nf-oat-soft)}
.nf-brand-card__image img{width:100%;height:100%;object-fit:cover;transition:filter .45s ease}
.nf-brand-card:hover .nf-brand-card__image img,.nf-brand-card:focus-visible .nf-brand-card__image img{filter:brightness(.92)}
.nf-brand-card__label{font:500 16px/100% var(--nf-font);letter-spacing:-.6px}.nf-mega-brand__other{padding-top:4px}

/* ------------------------------------------------------------------------
   Tablet / mobile source states.
   All Natural switches away from desktop navigation below 1200px.
   ------------------------------------------------------------------------ */
.nf-mobile-bar{display:none}
.nf-mobile-menu{position:fixed;inset:0;z-index:calc(var(--nf-nav-z) + 20);display:flex;flex-direction:column;background:#fff;color:var(--nf-ink);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}
.admin-bar .nf-mobile-menu{top:32px}
.nf-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.nf-mobile-menu__top{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:70px;padding:0 20px;border-bottom:1px solid var(--nf-line-soft);background:#fff}
.nf-mobile-menu__top button{border:0;background:transparent;padding:0;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-mobile-menu__top button:last-child{text-align:right}
.nf-mobile-menu__mark{display:block;width:62px;height:34px}.nf-mobile-menu__mark img{width:100%;height:100%;object-fit:contain}
.nf-mobile-menu__viewport{position:relative;flex:1;min-height:0;overflow:hidden}
.nf-mobile-menu__track{display:flex;width:400%;height:100%;transform:translateX(0);transition:transform 1s cubic-bezier(.83,0,.17,1);will-change:transform}
.nf-mobile-menu__track[data-active-screen="collections"]{transform:translateX(-25%)}
.nf-mobile-menu__track[data-active-screen="products"]{transform:translateX(-50%)}
.nf-mobile-menu__track[data-active-screen="brand"]{transform:translateX(-75%)}
.nf-mobile-menu__screen{flex:0 0 25%;width:25%;height:100%;overflow-y:auto;overscroll-behavior:contain;background:#fff}
.nf-mobile-menu__screen-inner{min-height:100%;padding:34px 20px 34px}.nf-mobile-menu__screen-inner--root{display:flex;flex-direction:column}
.nf-mobile-menu__root-list{display:flex;flex-direction:column;width:100%;margin-top:8px}
.nf-mobile-menu__root-list>li{border-bottom:1px solid var(--nf-line-soft)}
.nf-mobile-menu__root-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:67px;padding:0;border:0;background:transparent;text-align:left;font:500 30px/105% var(--nf-font);letter-spacing:-1.25px}
.nf-mobile-menu__root-link svg{width:16px;height:15px;fill:currentColor;transition:transform .35s var(--nf-ease-source),color .25s ease}
.nf-mobile-menu__root-link:hover svg,.nf-mobile-menu__root-link:focus-visible svg{transform:translateX(3px);color:var(--nf-gold)}
.nf-mobile-menu__utilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin-top:auto;padding-top:44px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-mobile-menu__utilities a:hover,.nf-mobile-menu__utilities a:focus-visible,.nf-mobile-menu__social a:hover,.nf-mobile-menu__social a:focus-visible{color:var(--nf-gold)}
.nf-mobile-menu__social{display:flex;gap:18px;margin-top:26px;padding-top:20px;border-top:1px solid var(--nf-line-soft);font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-mobile-menu__subhead{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;margin-bottom:34px}
.nf-mobile-menu__subhead button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent}.nf-mobile-menu__subhead button svg{width:16px;height:15px;fill:currentColor}
.nf-mobile-menu__subhead h2{font:500 20px/110% var(--nf-font);letter-spacing:-.8px}.nf-mobile-menu__subhead>a{font:500 14px/125% var(--nf-font);letter-spacing:-.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--nf-gold)}
.nf-mobile-menu__card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nf-mobile-menu__card{position:relative;display:block;aspect-ratio:.78/1;overflow:hidden;border-radius:8px;background:var(--nf-oat-soft)}
.nf-mobile-menu__card img{width:100%;height:100%;object-fit:cover}.nf-mobile-menu__card::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.3))}.nf-mobile-menu__card span{position:absolute;z-index:1;left:13px;bottom:12px;color:#fff;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-mobile-menu__link-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.nf-mobile-menu__link-group{display:flex;flex-direction:column;gap:12px}.nf-mobile-menu__link-group p,.nf-mobile-menu__other p{margin-bottom:4px;color:var(--nf-gold);font:500 11px/100% var(--nf-tight);letter-spacing:normal;text-transform:uppercase}.nf-mobile-menu__link-group a,.nf-mobile-menu__other a{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-mobile-menu__feature-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:38px}.nf-mobile-menu__feature{position:relative;display:block;aspect-ratio:1/1.05;overflow:hidden;border-radius:8px}.nf-mobile-menu__feature img{width:100%;height:100%;object-fit:cover}.nf-mobile-menu__feature::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.28))}.nf-mobile-menu__feature span{position:absolute;z-index:1;left:12px;bottom:11px;color:#fff;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-mobile-menu__other{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:36px;padding-top:24px;border-top:1px solid var(--nf-line-soft)}.nf-mobile-menu__other p{grid-column:1/-1}


@media (max-width:1199px){
  .nf-nav--desktop,.nf-mega-wrap,.nf-menu-backdrop{display:none!important}
  .nf-site-header{height:70px}.nf-site-header__inner{padding:0 20px}.nf-mobile-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:70px}
  .nf-mobile-bar__menu,.nf-mobile-bar__cart{padding:0;border:0;background:transparent;color:inherit;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-mobile-bar__menu{text-align:left}.nf-mobile-bar__cart{text-align:right}
  .nf-brand--mobile{width:72px;height:34px;flex-basis:72px}.nf-brand--mobile .nf-brand__pair{width:64px;height:34px}.nf-brand--mobile .nf-brand__image{width:64px;height:34px}
}
@media (max-width:809px){
  .admin-bar .nf-mobile-menu{top:46px}.nf-site-header{height:64px}.nf-mobile-bar{height:64px}.nf-mobile-menu__top{height:64px}
  
  .nf-mobile-menu__screen-inner{padding:26px 20px 30px}.nf-mobile-menu__root-link{min-height:62px;font-size:24px}.nf-mobile-menu__card-grid{gap:10px}.nf-mobile-menu__subhead{margin-bottom:26px}
}

/* v0.6.2: Bag is a real button so it can never navigate away when the drawer controller fails. */
.nf-nav__cart,.nf-mobile-bar__cart{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer}
