/* NSN Healing - store redesign (Nov 2026). Classes prefixed nsnh- to stay separate from the inner-page system in Customizer CSS. */
:root{--nsnh-g:#1F4432;--nsnh-gd:#163527;--nsnh-gdd:#11281D;--nsnh-gold:#C99A2E;--nsnh-goldl:#E6C878;--nsnh-ink:#14251D;--nsnh-muted:#55665D;--nsnh-bone:#F5F3EC;--nsnh-line:#E1DCCD;--nsnh-card:#F1EEE5;--nsnh-ease:cubic-bezier(.22,.61,.36,1)}

/* Text widgets keep the colour/size set in Elementor (Customizer CSS forces muted p) */
body .nsnh-tx,body .nsnh-tx p{color:inherit}
body .elementor-widget-text-editor.nsnh-tx p{color:inherit!important;font-size:inherit!important;line-height:inherit!important}

/* ---------- Header ---------- */
#header [data-row*="top"]{background:var(--nsnh-gdd)!important;border-bottom:1px solid rgba(230,200,120,.16)}
#header [data-row*="top"] .ct-header-text{color:#fff!important;font:600 12.5px/1.4 'Manrope',sans-serif;letter-spacing:.02em;max-width:none!important}
#header [data-row*="top"] .ct-header-text p{margin:0;display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;color:#fff}
.nsn-tb-sep{color:var(--nsnh-goldl);opacity:.7}
#header [data-row*="middle"]{background:#fff!important;border-bottom:1px solid var(--nsnh-line);transition:box-shadow .35s var(--nsnh-ease)}
.nsn-scrolled #header [data-row*="middle"]{box-shadow:0 10px 30px -18px rgba(17,40,29,.35)}
#header [data-id="menu"]{--menu-items-spacing:26px}
#header [data-id="menu"] .ct-menu-link{color:var(--nsnh-ink)!important;font:600 14px/1 'Manrope',sans-serif!important;text-transform:none!important}
#header [data-id="menu"] > ul > li:hover>.ct-menu-link,#header [data-id="menu"] .current-menu-item>.ct-menu-link{color:var(--nsnh-g)!important}
#header [data-id="menu"]>ul>li>.ct-menu-link{position:relative}
#header [data-id="menu"]>ul>li>.ct-menu-link:after{content:'';position:absolute;left:var(--menu-item-padding,0);right:var(--menu-item-padding,0);bottom:calc(50% - 16px);height:2px;background:var(--nsnh-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--nsnh-ease)}
#header [data-id="menu"]>ul>li:hover>.ct-menu-link:after{transform:scaleX(1)}
#header [data-id="menu"] .sub-menu{background:#fff!important;border:1px solid var(--nsnh-line);border-radius:12px;box-shadow:0 22px 40px -22px rgba(17,40,29,.4);padding:8px 0;--dropdown-items-spacing:10px}
#header [data-id="menu"] .sub-menu .ct-menu-link{color:var(--nsnh-ink)!important;font-weight:500!important;padding:11px 20px}
#header [data-id="menu"] .sub-menu .ct-menu-link:hover{color:var(--nsnh-g)!important;background:var(--nsnh-bone)}
#header [data-id="menu"] .sub-menu .ct-menu-link:after{display:none}
#header .ct-header-search,#header .ct-header-account,#header .ct-header-cart .ct-cart-item{--theme-icon-color:var(--nsnh-ink);color:var(--nsnh-ink)}
#header .ct-header-search:hover,#header .ct-header-account:hover,#header .ct-header-cart .ct-cart-item:hover{--theme-icon-color:var(--nsnh-gold);color:var(--nsnh-gold)}
#header .ct-dynamic-count-cart{background:var(--nsnh-gold)!important;color:var(--nsnh-gdd)!important}
#header .ct-header-cta .ct-button{background:var(--nsnh-gold)!important;color:var(--nsnh-gdd)!important;border-radius:40px!important;font:700 13.5px/1 'Manrope',sans-serif!important;padding:0 22px!important;min-height:44px;transition:transform .3s var(--nsnh-ease),box-shadow .3s,background .3s}
#header .ct-header-cta .ct-button:hover{background:#B8891F!important;transform:translateY(-2px);box-shadow:0 12px 22px -12px rgba(201,154,46,.9)}
#header .ct-header-trigger{--theme-icon-color:var(--nsnh-ink)!important;color:var(--nsnh-ink)!important}
#offcanvas .ct-header-cta .ct-button{background:var(--nsnh-gold)!important;color:var(--nsnh-gdd)!important;border-radius:40px!important;min-height:48px;padding:0 26px!important}
@media (max-width:999px){#header [data-row*="top"] .ct-header-text p{gap:10px;font-size:11.5px}}
@media (max-width:689px){#header [data-row*="top"] .nsn-tb-sep,#header [data-row*="top"] .nsn-tb-item:last-child{display:none}}

/* ---------- Buttons & links ---------- */
.nsnh-btn .elementor-button{transition:transform .35s var(--nsnh-ease),box-shadow .35s var(--nsnh-ease),background-color .3s,color .3s,border-color .3s}
.nsnh-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(17,40,29,.55)}
.nsnh-btn .elementor-button-icon{transition:transform .35s var(--nsnh-ease)}
.nsnh-btn .elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
.nsnh-arrow a{transition:color .3s,letter-spacing .35s var(--nsnh-ease)}
.nsnh-arrow a:hover{color:var(--nsnh-gold)!important;letter-spacing:.02em}

/* ---------- Cards & motion ---------- */
.nsnh-lift{transition:transform .45s var(--nsnh-ease),box-shadow .45s var(--nsnh-ease),border-color .3s,background-color .3s!important}
.nsnh-lift:hover{transform:translateY(-6px);box-shadow:0 26px 44px -28px rgba(17,40,29,.45);border-color:rgba(201,154,46,.55)!important}
.nsnh-goal:hover{background-color:#fff!important}
.nsnh-goal .elementor-icon{transition:transform .45s var(--nsnh-ease),color .3s}
.nsnh-goal:hover .elementor-icon{transform:translateY(-3px) scale(1.08)}
.nsnh-zoom{transition:transform 1s var(--nsnh-ease)}
.nsnh-col,.nsnh-post,.nsnh-banner{overflow:hidden}
.nsnh-col:hover .nsnh-zoom,.nsnh-post:hover .nsnh-zoom,.nsnh-banner:hover .nsnh-zoom{transform:scale(1.05)}
.nsnh-col .elementor-heading-title a,.nsnh-post .elementor-heading-title a{color:inherit}
.nsnh-col:hover .nsnh-label .elementor-heading-title,.nsnh-post:hover h3.elementor-heading-title{color:var(--nsnh-g)!important}
.nsnh-hero-art{position:relative;box-shadow:-30px 30px 80px -40px rgba(0,0,0,.55);isolation:isolate}
.nsnh-kb{animation:nsnhKen 24s ease-in-out infinite alternate;will-change:transform}
@keyframes nsnhKen{from{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,1%)}}
.nsnh-hero{position:relative}
.nsnh-hero:before{content:'';position:absolute;left:-160px;bottom:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(201,154,46,.16),rgba(201,154,46,0) 70%);pointer-events:none;animation:nsnhGlow 9s ease-in-out infinite alternate}
@keyframes nsnhGlow{from{transform:translate(0,0) scale(1)}to{transform:translate(70px,-50px) scale(1.15)}}
.nsnh-hf .elementor-icon-box-wrapper{align-items:center}
.nsnh-hf .elementor-icon-box-icon{margin-bottom:0!important;display:inline-flex}
.nsnh-btn-row{align-items:center}

/* ---------- Products ([products] shortcode) ---------- */
.nsnh-products ul.products{gap:18px!important;margin:0!important}
.nsnh-products ul.products li.product{background:#fff;border:1px solid var(--nsnh-line);border-radius:16px;padding:10px 10px 18px!important;text-align:left!important;display:flex!important;flex-direction:column;transition:transform .45s var(--nsnh-ease),box-shadow .45s var(--nsnh-ease),border-color .3s}
.nsnh-products ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 26px 44px -28px rgba(17,40,29,.45);border-color:rgba(201,154,46,.55)}
.nsnh-products li.product figure{border-radius:11px;overflow:hidden;margin-bottom:14px!important}
.nsnh-products li.product figure img{transition:transform 1s var(--nsnh-ease)}
.nsnh-products li.product .ct-media-container{aspect-ratio:5/4!important;display:block}
.nsnh-products li.product .ct-media-container img{width:100%!important;height:100%!important;object-fit:cover!important;aspect-ratio:auto!important}
.nsnh-products li.product:hover figure img{transform:scale(1.06)}
.nsnh-products .woocommerce-loop-product__title{font:600 19px/1.2 'Cormorant Garamond',serif!important;color:var(--nsnh-ink)!important;padding:0 6px;margin:0 0 6px!important}
.nsnh-products .woocommerce-loop-product__title a{color:inherit!important}
.nsnh-products li.product .entry-excerpt{font:400 13px/1.55 'Manrope',sans-serif;color:var(--nsnh-muted);padding:0 6px;margin:0 0 12px}
.nsnh-products li.product .entry-excerpt p{margin:0;font:inherit!important;color:inherit!important}
.nsnh-products li.product .star-rating{margin:0 6px 8px;color:var(--nsnh-gold)}
.nsnh-products li.product .price{font:800 18px/1 'Manrope',sans-serif!important;color:var(--nsnh-ink)!important;padding:0 6px;margin:auto 0 14px!important}
.nsnh-products li.product .ct-woo-card-actions{padding:0 6px;margin-top:0!important}
.nsnh-products li.product .button{width:100%;justify-content:center;background:var(--nsnh-g)!important;color:#fff!important;border-radius:40px!important;min-height:42px;font:700 13.5px/1 'Manrope',sans-serif!important;transition:background .3s,transform .35s var(--nsnh-ease)}
.nsnh-products li.product .button:hover{background:var(--nsnh-gdd)!important;transform:translateY(-1px)}
.nsnh-products li.product .added_to_cart{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:42px;border-radius:40px!important;background:var(--nsnh-gold)!important;color:var(--nsnh-gdd)!important;font:700 13.5px/1 'Manrope',sans-serif!important;padding:0 12px!important;margin:0!important;text-decoration:none}
.nsnh-products li.product .added_to_cart:hover{background:#B8891F!important}
.nsnh-products li.product .button.loading{opacity:.7}
.nsnh-products ul.products li.product,.nsnh-products ul.products li.product *{text-align:left!important}
.nsnh-products ul.products li.product{align-items:stretch!important;--horizontal-alignment:flex-start;--text-horizontal-alignment:left}
.nsnh-products li.product .ct-woo-card-actions{display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;width:auto}
.nsnh-products li.product .ct-woo-card-actions .button,.nsnh-products li.product .ct-woo-card-actions .added_to_cart{width:100%!important;display:flex!important;align-items:center;justify-content:center!important;text-align:center!important}
@media (max-width:1024px){.nsnh-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:767px){.nsnh-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.nsnh-products ul.products li.product{padding:8px 8px 14px!important}.nsnh-products .woocommerce-loop-product__title{font-size:16.5px!important}.nsnh-products li.product .entry-excerpt{font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nsnh-products li.product .price{font-size:16px!important}.nsnh-products li.product .button{font-size:12.5px!important;min-height:38px;padding:0 10px!important}}

/* ---------- Footer ---------- */
.nsnh-footer .nsnh-flinks .elementor-icon-list-icon{display:none}
.nsnh-footer .nsnh-flinks .elementor-icon-list-text{padding-left:0!important;transition:color .25s,padding .3s var(--nsnh-ease)}
.nsnh-footer .nsnh-flinks a:hover .elementor-icon-list-text{padding-left:4px!important}
.nsnh-footer .elementor-widget-heading .elementor-heading-title{font-family:'Manrope',sans-serif}
.nsnh-footer .nsnh-tx a{color:var(--nsnh-goldl)}
.nsnh-news .wpforms-container{margin:6px 0 0!important}
.nsnh-news .wpforms-form{display:flex!important;align-items:center;background:#fff;border-radius:40px;padding:4px;max-width:320px;position:relative}
.nsnh-news .wpforms-field-container{flex:1;min-width:0}
.nsnh-news .wpforms-field{padding:0!important;margin:0!important}
.nsnh-news .wpforms-field-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nsnh-news input[type=email]{border:0!important;background:transparent!important;height:40px!important;padding:0 14px!important;font:500 13px 'Manrope',sans-serif!important;color:var(--nsnh-ink)!important;max-width:none!important;width:100%!important;box-shadow:none!important}
.nsnh-news .wpforms-submit-container{padding:0!important;margin:0!important;flex:0 0 auto}
.nsnh-news button[type=submit]{height:40px!important;width:40px!important;min-width:40px;border-radius:50%!important;padding:0!important;background:var(--nsnh-gold)!important;color:var(--nsnh-gdd)!important;border:0!important;font-size:0!important;position:relative;cursor:pointer}
.nsnh-news button[type=submit]:after{content:'\2192';font:700 18px/40px 'Manrope',sans-serif;position:absolute;inset:0;text-align:center;color:var(--nsnh-gdd)}
.nsnh-news .wpforms-confirmation-container-full{background:transparent!important;border:0!important;color:var(--nsnh-goldl)!important;padding:0!important;font-size:13px;margin:0!important}
.nsnh-news label.wpforms-error,.nsnh-news em.wpforms-error{color:#f3b9a8!important;font-size:12px;position:absolute;top:100%;left:14px;margin-top:6px}

@media (prefers-reduced-motion:reduce){.nsnh-kb,.nsnh-hero:before{animation:none!important}.nsnh-lift,.nsnh-zoom,.nsnh-btn .elementor-button{transition:none!important}.elementor-invisible{visibility:visible!important}}
