/*
Theme Name: Bamboo Node
Description: United Bamboo — "Grove" system: white / culm green / deep grove / shoot lime, segmented-stalk motif, Fraunces display. Child of Flatsome.
Author: United Bamboo
Template: flatsome
Version: 1.0.0
Text Domain: bamboo-node
*/
@font-face{font-family:'Fraunces';src:url('https://unitedbamboo.com/wp-content/themes/bamboo-node/fonts/fraunces-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{
  --ub-grove:#0F2E22; --ub-grove-2:#1D4A35; --ub-ink:#10241B; --ub-culm:#EEF2E3; --ub-culm-2:#E1E9CF;
  --ub-shoot:#C8E64B; --ub-shoot-dk:#AFCC2E; --ub-node:#B9893F; --ub-line:#DCE3CF; --ub-muted:#5B6B60; --ub-white:#FFFFFF;
  --ub-radius:6px; --ub-radius-lg:14px;
  --ub-display:'Fraunces',Georgia,'Times New Roman',serif;
  --ub-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ub-node-bar:repeating-linear-gradient(90deg,var(--ub-shoot) 0 46px,transparent 46px 52px);
}
/* ---------- base ---------- */
html,body{background:#fff}
body{font-family:var(--ub-sans);color:var(--ub-ink)}
h1,h2,h3,h4,.heading-font,.section-title span,.product-main .product-title,.product-category .box-text h5{font-family:var(--ub-display)!important;font-weight:600!important;letter-spacing:-.01em;color:var(--ub-ink)}
h1{line-height:1.04} h2{line-height:1.1}
a{color:var(--ub-grove-2);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--ub-grove)}
:focus-visible{outline:3px solid var(--ub-shoot-dk);outline-offset:3px}
::selection{background:var(--ub-shoot);color:var(--ub-ink)}
#wrapper,#main,.page-wrapper{background:#fff}
/* ---------- header ---------- */
.header-top{background:var(--ub-grove)!important;color:#E6EEDC}
.header-top a{color:var(--ub-shoot)}
.header-main{background:#fff!important}
.header-bottom{background:#fff!important;border-top:1px solid var(--ub-line);border-bottom:0;position:relative}
.header-bottom:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ub-node-bar)}
.header-bottom .header-nav>li>a{font-weight:600!important;font-size:.98em;letter-spacing:.02em;text-transform:none;color:var(--ub-ink)!important}
.header-bottom .header-nav>li>a:hover,.header-bottom .header-nav>li.active>a{color:var(--ub-grove-2)!important;box-shadow:inset 0 -3px 0 var(--ub-grove-2)}
.header-search-form .search-field{border:1.5px solid var(--ub-line)!important;border-radius:var(--ub-radius) 0 0 var(--ub-radius)!important;background:var(--ub-culm)!important;box-shadow:none}
.header-search-form .ux-search-submit{border-radius:0 var(--ub-radius) var(--ub-radius) 0!important;background:var(--ub-grove)!important;color:#fff!important}
.cart-icon strong{border-color:var(--ub-grove);color:var(--ub-grove)}
.cart-icon strong:after{border-color:var(--ub-grove)}
/* ---------- buttons ---------- */
.button,button.button,input[type=submit],.single_add_to_cart_button.button,.checkout-button{font-weight:700!important;letter-spacing:.03em;text-transform:none;border-radius:var(--ub-radius)!important;font-size:1em}
.button.primary:not(.is-outline),.button.secondary:not(.is-outline),button.button.alt,.single_add_to_cart_button.button,.checkout-button.button,input[type=submit].button{background:var(--ub-shoot)!important;color:var(--ub-ink)!important;border:0!important;box-shadow:inset 0 -4px 0 rgba(15,46,34,.18);transition:background .15s}
.button.primary:not(.is-outline):hover,.single_add_to_cart_button.button:hover,.checkout-button.button:hover{background:var(--ub-shoot-dk)!important}
.button.is-outline{border:2px solid currentColor!important;color:var(--ub-grove);border-radius:var(--ub-radius)!important}
.dark .button.is-outline{color:#fff}
.dark .button.primary:not(.is-outline){color:var(--ub-ink)!important}
/* ---------- product cards ---------- */
.product-small .box-image{border-radius:var(--ub-radius-lg);overflow:hidden;background:var(--ub-culm)}
.product-small .box-text{padding-top:12px}
.product-small .product-title a{font-weight:600;color:var(--ub-ink)}
.product-small .category{color:var(--ub-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72em}
.price .amount,.price ins .amount{color:var(--ub-grove);font-weight:700}
.price del .amount{color:var(--ub-muted)}
.badge-inner,.on-sale{background:var(--ub-grove)!important;color:#fff!important;border-radius:var(--ub-radius)}
.star-rating span::before,.star-rating::before{color:var(--ub-node)}
/* ---------- category tiles: stalk band ---------- */
.product-category .box-image{border-radius:var(--ub-radius-lg) var(--ub-radius-lg) 0 0;background:var(--ub-culm);overflow:hidden}
.product-category .box-text{background:var(--ub-grove);border-radius:0 0 var(--ub-radius-lg) var(--ub-radius-lg);padding:14px 18px!important;position:relative}
.product-category .box-text:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--ub-node-bar)}
.product-category .box-text h5,.product-category .header-title{font-family:var(--ub-display);font-weight:600;text-transform:none;font-size:1.15em;letter-spacing:0;color:#fff!important}
.product-category .count{display:none}
.product-category:hover .box-text{background:var(--ub-grove-2)}
/* ---------- PDP ---------- */
.product-main .product-title{font-size:2em;line-height:1.08}
.ub-delivery{background:var(--ub-culm);border:0;border-left:5px solid var(--ub-grove-2);border-radius:var(--ub-radius);padding:14px 16px;margin-top:14px}
.ub-size-guide-link{color:var(--ub-grove-2);font-weight:600;text-decoration:underline;text-decoration-color:var(--ub-shoot-dk);text-decoration-thickness:3px}
.variations .ux-swatch{border:1.5px solid var(--ub-grove-2)!important;border-radius:var(--ub-radius)!important;font-weight:600;text-transform:uppercase}
.variations .ux-swatch.selected{background:var(--ub-grove)!important;color:#fff!important;box-shadow:none!important}
.woocommerce-tabs .nav>li.active>a{border-color:var(--ub-shoot-dk);color:var(--ub-ink)}
/* ---------- footer ---------- */
.footer-wrapper .widget-title,.footer-wrapper h3,.footer-wrapper h4{color:#fff}
.absolute-footer{background:#0A1F17!important;color:#A9BBA9;border-top:1px solid #1d3a2c}
/* ---------- homepage ---------- */
.ub-hero{background:var(--ub-grove)}
.ub-hero h1{font-size:clamp(2.5em,5.6vw,4.6em);color:#fff!important;margin-bottom:.35em}
.ub-hero h1 em{font-style:italic;color:var(--ub-shoot)}
.ub-hero p.lead{font-size:1.18em;max-width:540px;color:#D3DFCF}
.ub-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--ub-shoot);font-size:.82em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.ub-kicker:before{content:"";width:34px;height:4px;background:var(--ub-node-bar);background-size:52px 4px}
.ub-hero .button.is-outline{color:#fff!important;border-color:rgba(255,255,255,.6)!important}
.ub-section-head{border-left:4px solid var(--ub-shoot-dk);padding-left:16px}
.ub-section-head p{color:var(--ub-muted);max-width:640px;margin-bottom:0}
.ub-eyebrow{display:block;color:var(--ub-grove-2);font-size:.78em;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.ub-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:ub;border-top:1px solid var(--ub-line)}
.ub-step{padding:26px 26px 6px;position:relative;border-right:1px solid var(--ub-line)}
.ub-step:last-child{border-right:0}
.ub-step:before{counter-increment:ub;content:"0" counter(ub);display:block;font-family:var(--ub-display);font-size:2.6em;line-height:1;color:var(--ub-grove-2);margin-bottom:12px}
.ub-step:after{content:"";position:absolute;top:-2px;left:26px;width:60px;height:4px;background:var(--ub-shoot-dk)}
.ub-step h3{font-size:1.3em;margin-bottom:6px}
.ub-story{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center}
.ub-stalks{display:flex;gap:14px;align-items:flex-end;height:280px;justify-content:center}
.ub-stalks span{width:34px;border-radius:17px;background:repeating-linear-gradient(180deg,var(--ub-grove-2) 0 62px,var(--ub-shoot) 62px 68px)}
.ub-stalks span:nth-child(1){height:62%}.ub-stalks span:nth-child(2){height:100%}.ub-stalks span:nth-child(3){height:80%}.ub-stalks span:nth-child(4){height:48%}.ub-stalks span:nth-child(5){height:72%}
.ub-note{background:#fff;border-radius:var(--ub-radius);padding:12px 16px;font-size:.92em;color:var(--ub-muted);border:1px dashed var(--ub-line)}
.ub-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ub-promise{background:var(--ub-culm);border-radius:var(--ub-radius-lg);padding:24px}
.ub-promise h3{font-size:1.2em;margin-bottom:6px}
.ub-promise:before{content:"";display:block;width:28px;height:28px;border-radius:50%;background:var(--ub-shoot);box-shadow:0 0 0 6px var(--ub-culm-2);margin-bottom:16px}
.ub-faq details{border-bottom:1px solid var(--ub-line);padding:16px 0}
.ub-faq summary{font-weight:700;cursor:pointer;list-style:none;font-size:1.05em}
.ub-faq summary::-webkit-details-marker{display:none}
.ub-faq summary:after{content:"+";float:right;font-family:var(--ub-display);color:var(--ub-grove-2);font-size:1.4em;line-height:1}
.ub-faq details[open] summary:after{content:"–"}
.ub-faq details p{margin:10px 0 0;color:var(--ub-muted)}
.ub-cta{background:var(--ub-shoot)}
.ub-cta h2{color:var(--ub-ink)!important}
.ub-cta .button{background:var(--ub-grove)!important;color:#fff!important;box-shadow:none}
.ub-cta .button:hover{background:var(--ub-ink)!important}
.ub-archive-title{font-size:2.1em;margin:0 0 4px;width:100%}
.category-page-title .page-title-inner{flex-wrap:wrap}
.woocommerce-tabs .nav li.cs-tab-review{display:none}
.cr-all-reviews-add-review,.cr-ajax-reviews-add-review{background:var(--ub-grove)!important;color:#fff!important;border-radius:var(--ub-radius)!important}
@media (max-width:849px){.ub-steps,.ub-promises,.ub-story{grid-template-columns:1fr}.ub-step{border-right:0;border-bottom:1px solid var(--ub-line)}.ub-stalks{height:180px}}
.ub-cta .button.primary,.ub-cta .button{background:var(--ub-grove)!important;color:#fff!important;box-shadow:none!important}
.ub-cta .button.primary:hover{background:var(--ub-ink)!important}
.button.is-link,.button.is-link:not(.is-outline){background:none!important;box-shadow:none!important;color:var(--ub-grove-2)!important;text-decoration:underline;text-decoration-color:var(--ub-shoot-dk);text-decoration-thickness:3px;padding-left:0;padding-right:0}
.absolute-footer,.absolute-footer .copyright-footer{color:#A9BBA9!important}
.absolute-footer strong{color:#fff}
