/* Site palette — light sage & cream (desktop ≥761px). Loaded last; phones use mobile.css tokens.
   Deep tones are kept for text only; filled surfaces use sage/sprout with dark text for contrast. */
:root{
 --ink:#2f3b34;--muted:#5b665f;--line:#e1e5da;--paper:#f7f6f0;--soft:#eef1e8;--blue:#56744f;--lime:#d8e8b0;
 --ef-sage:#8fae8b;--ef-sage-2:#84a47f;--ef-deep:#56744f;--ef-on:#1e2922;--ef-mist:#eef1e8;--ef-cream:#f7f6f0;
}
html,body{background:var(--ef-cream)}
body{color:var(--ink)}
::selection{background:var(--lime);color:var(--ef-on)}

/* Header */
.km-header{background:#f7f6f0eb;border-color:var(--line)}
.km-header .cart-nav{background:#fffefa;border-color:var(--line);color:var(--ink)}
.km-header .cart-nav:hover{background:var(--ef-mist);border-color:#cfd7c6}
.km-header .cart-nav .km-cart-count,.km-cart-count{background:var(--ef-sage);color:var(--ef-on);border-color:var(--ef-cream)}
.km-header .header-cta{background:var(--ef-sage);color:var(--ef-on)}

/* Buttons */
.button,button.button,a.button,input.button,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,#place_order,.roadmap-button{
 background:var(--ef-sage)!important;color:var(--ef-on)!important;border-color:var(--ef-sage)!important;box-shadow:0 1px 0 #ffffff59 inset,0 10px 22px -14px #5f7f5a80}
.button:hover,button.button:hover,a.button:hover,.woocommerce .button:hover,#place_order:hover,.roadmap-button:hover{background:var(--ef-sage-2)!important;border-color:var(--ef-sage-2)!important;color:var(--ef-on)!important}
.button[disabled],.button.disabled{opacity:.5}

/* Value strip (was a dark band) */
.value-strip{background:var(--ef-mist);border-block:1px solid var(--line)}
.value-strip span{color:var(--muted)}
.value-strip b{color:var(--ink)}
.value-strip span+span{border-color:#d3d9cb}

/* Selection states */
.filter-tab.is-active{background:var(--ef-sage)!important;color:var(--ef-on)!important;border-color:var(--ef-sage)!important}
.goal-tabs button[aria-selected=true]{background:var(--ef-sage);border-color:var(--ef-sage);color:var(--ef-on)}
.goal-tabs button[aria-selected=true] *{color:inherit}
.product-card:hover .card-link{background:var(--ef-sage);color:var(--ef-on)}
.detail-nav a[aria-current],.detail-nav a.is-current{color:var(--ef-deep)}
.ef-journey-steps [aria-current=step] span{background:var(--ef-sage);color:var(--ef-on);border-color:var(--ef-sage)}
.ef-journey .woocommerce-MyAccount-navigation .is-active a{background:var(--ef-sage);color:var(--ef-on)}
.flow-core-symbol{background:var(--lime);color:var(--ef-on)}
.flow-core::before,.flow-core::after{background:var(--ef-sage)}
.detail-visual{background:#e8efdc}
.status-dot{background:var(--ef-sage);box-shadow:0 0 0 4px #8fae8b2e}

/* Links and accents */
.text-link,.forest-inline-link{color:var(--ef-deep)}
.desktop-nav a:hover{color:var(--ef-deep)}
.woocommerce form input.input-text:focus-visible,.woocommerce form textarea:focus-visible,.woocommerce form select:focus-visible{border-color:var(--ef-sage)}
.wc_payment_method input:checked+label:before{border-color:var(--ef-sage)}

/* Footer */
.km-footer{background:var(--ef-mist);border-color:var(--line)}

/* ── Site-wide details ───────────────────────────────── */
html{scroll-padding-top:96px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.card-price,.detail-price,.goal-price,.hero-app-price,.cart_totals .amount,.woocommerce-Price-amount{font-variant-numeric:lining-nums tabular-nums}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ef-sage);outline-offset:3px;border-radius:6px}
.km-header{transition:box-shadow .25s ease,background-color .25s ease}
.km-header.is-scrolled{box-shadow:0 1px 0 var(--line),0 8px 24px -18px #2f3b3440}
.text-link,.forest-inline-link,.page-content a:not(.button){text-decoration-color:#56744f59;text-underline-offset:4px;transition:text-decoration-color .2s,color .2s}
.text-link:hover,.forest-inline-link:hover,.page-content a:not(.button):hover{text-decoration-color:currentColor}
.product-card{transition:transform .3s cubic-bezier(.22,.65,.3,1),box-shadow .3s ease}
@media(hover:hover){.product-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px #2f3b3459}}

/* Closing banner: a quiet CTA panel instead of drawn leaves */
.forest-endcap{grid-template-columns:1fr!important;justify-items:center;text-align:center;margin-block:24px 72px;padding:clamp(56px,7vw,96px) 24px!important;border-radius:32px!important;
 background:radial-gradient(60% 120% at 50% 0%,#e7f0d9 0%,#e7f0d900 70%),radial-gradient(50% 90% at 90% 100%,#eee7f5 0%,#eee7f500 70%),var(--ef-mist)!important;box-shadow:inset 0 0 0 1px var(--line)}
.forest-endcap .endcap-art{display:none!important}
.forest-endcap .endcap-copy{display:grid;justify-items:center;max-width:720px}
.forest-endcap .eyebrow{max-width:none;color:var(--ef-deep)}
.forest-endcap h2{color:var(--ink)}
.forest-endcap h2 em{color:var(--ef-deep)}
.forest-endcap .button{min-height:56px;padding-inline:28px;font-size:14px}

/* Reading pages */
.standard-page:not(.ef-journey) .page-heading{max-width:780px}
.standard-page:not(.ef-journey) .page-content{max-width:760px}
.standard-page:not(.ef-journey) .page-content p,.standard-page:not(.ef-journey) .page-content li{line-height:1.8}
.standard-page:not(.ef-journey) .page-content h2{margin-top:1.6em}
.error404 .standard-page h1{margin-bottom:20px}
.error404 .standard-page>p:not(.eyebrow){margin-bottom:32px;font-size:17px;color:var(--muted)}

/* Account forms */
.woocommerce form .password-input{position:relative;display:block}
.woocommerce form .show-password-input{position:absolute;right:8px;top:50%;width:36px;height:36px;margin-top:-18px;padding:0;border:0;border-radius:50%;font-size:0;cursor:pointer;
 background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b665f' stroke-width='1.6'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/18px no-repeat}
.woocommerce form .show-password-input:hover{background-color:var(--ef-mist)}
.woocommerce-form-login .woocommerce-form-login__submit,.woocommerce-form-register .woocommerce-form-register__submit{min-height:50px;padding-inline:32px}
.standard-page:not(.ef-journey) .page-content{max-width:860px}
.standard-page:not(.ef-journey) .page-content>:is(p,h2,h3,ul,ol,blockquote){max-width:720px}
.standard-page:not(.ef-journey) .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.woocommerce .woocommerce-form-login button.woocommerce-form-login__submit,.woocommerce .woocommerce-form-register button.woocommerce-form-register__submit{min-height:50px;padding:14px 34px;font-size:14px}

/* Cart table: fixed, aligned columns (desktop) */
.ef-journey.cart-page .woocommerce-cart-form table.shop_table{table-layout:fixed;width:100%;border-collapse:collapse;border-top:0;margin-top:-1px}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table :is(th,td){padding:18px 16px;vertical-align:middle;text-align:left}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table thead th{padding-block:14px;font-size:10.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-remove{width:56px;padding-inline:8px 0}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-thumbnail{display:none}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-name{width:auto;padding-left:8px}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-price{width:140px;text-align:right}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-quantity{width:150px;text-align:center}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table .product-subtotal{width:150px;text-align:right}
.ef-journey.cart-page .woocommerce-cart-form table.shop_table tbody td{padding-block:22px;border-bottom:1px solid var(--line)}
.ef-journey.cart-page .woocommerce-cart-form .cart_item .product-name a{font-size:16px;font-weight:500;color:var(--ink);text-decoration:none}
.ef-journey.cart-page .woocommerce-cart-form .cart_item .product-name a:hover{color:var(--ef-deep)}
.ef-journey.cart-page .woocommerce-cart-form .cart_item .product-price{color:var(--muted)}
.ef-journey.cart-page .woocommerce-cart-form .cart_item .product-subtotal{font:400 19px/1 Georgia,'Times New Roman',serif;color:var(--ink)}
.ef-journey.cart-page .woocommerce-cart-form .quantity{display:inline-flex;justify-content:center}
.ef-journey.cart-page .woocommerce-cart-form .quantity .qty{width:72px;height:42px;padding:0 0 0 14px;border-radius:999px;text-align:center}
.ef-journey.cart-page .woocommerce-cart-form .cart_item a.remove{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--muted);background:transparent;transition:background-color .2s,color .2s}
.ef-journey.cart-page .woocommerce-cart-form .cart_item a.remove:hover{background:var(--ef-mist);color:var(--ink)}
.ef-journey.cart-page .cart-collaterals{margin-top:32px}
