/* KaBasket shared visual layer: existing layouts, forms and interactions remain in charge. */
:root{--kb-forest:#173e2c;--kb-leaf:#315d3e;--kb-honey:#efca68;--kb-paper:#faf8f1;--kb-shadow:0 8px 28px rgb(33 61 42 / 6%);--kb-shadow-raised:0 18px 42px rgb(33 61 42 / 12%)}
body{font-size:16px;line-height:1.6;background-color:var(--kb-paper);accent-color:var(--kb-forest)}
::selection{background:#efca68;color:#173e2c}html{scroll-padding-top:120px}
:is(button,a,input,select,textarea):focus-visible{outline:3px solid #a76d0c!important;outline-offset:4px!important}
:is(input,select,textarea){font-size:16px}textarea{font-family:inherit}
:is(.fine,.small,.field small,.auth-field small){font-size:13px;line-height:1.65}
:is(.muted,.fine,.unit,.field small){color:#5d695a}
:is(.panel,.product-card,.product,.money-metric,.editor,.account-banner){border-radius:20px;box-shadow:var(--kb-shadow)}
:is(.panel,.editor){border:1px solid #dce3d5;background:#fffef9}
:is(.page-heading h1,.content-header h1,.rider-wrap h1){letter-spacing:-1.3px;line-height:1.12}
:is(.page-heading,.content-header){margin-bottom:28px}
:is(.eyebrow){letter-spacing:1.6px}
:is(.button,.basket-trigger,.add,.submit-auth,.hero-link,.outline){min-height:46px;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;border-radius:12px}
:is(.button,.basket-trigger,.add){box-shadow:0 3px 0 rgb(0 0 0 / 7%)}
:is(.button,.add,.basket-trigger):active:not(:disabled){transform:translateY(1px);box-shadow:none}
:is(.field input,.field select,.field textarea,.auth-field input,.login-form input){min-height:48px;border-color:#bdc9b5;transition:border-color .18s ease,box-shadow .18s ease}
:is(.field input,.field select,.field textarea,.auth-field input,.login-form input):focus{border-color:#527248;box-shadow:0 0 0 4px rgb(82 114 72 / 10%)}
input[type=checkbox]{accent-color:var(--kb-forest);min-width:20px;min-height:20px;flex-shrink:0}
:is(.check-row,.stock-filter){line-height:1.6;gap:12px}
:is(.notice){border:1px solid #cfdfc4;border-left:4px solid #557b45;background:#eef5e8;color:#24482f;border-radius:12px}
:is(.error){border:1px solid #e4bcb4;border-left:4px solid #ae4431;background:#fff1ed;color:#8e2c1f}
.header,.top{transition:box-shadow .2s ease,background-color .2s ease}.kb-is-scrolled :is(.header,.top){box-shadow:0 8px 25px rgb(22 48 31 / 8%)}
:is(.product-image,.product-photo){background:#f0f1e7}.product-image img,.product-photo{transition:transform .35s ease}
.product .product-category{color:#47623d;font-weight:700;letter-spacing:1px}.product details{margin:10px 0;font-size:14px;line-height:1.6}.product details summary{cursor:pointer;color:#2f5936;text-underline-offset:4px}.product details[open] summary{font-weight:700}.product details p{padding:12px;background:#f1f5e9;border-radius:10px}
.category{border-radius:16px;transition:background-color .2s ease,transform .2s ease}.category.selected{background:#edf2e4}.category.selected .category-photo{box-shadow:0 0 0 3px #fffdf4,0 0 0 5px #547947}
.category-photo{transition:box-shadow .2s ease,transform .2s ease}.category>span:last-child{font-size:14px;font-weight:600}
.stepper button{min-width:40px;min-height:42px}.quick-view,.basket{box-shadow:0 24px 90px #0f2a2340}.quick-view::backdrop,.basket::backdrop{background:#0e261b80;backdrop-filter:blur(4px)}
:is(.table-wrap){border-radius:16px;border:1px solid #dbe2d3;box-shadow:var(--kb-shadow);overflow-x:auto}.table-wrap thead{background:#eef2e6}.table-wrap th{text-transform:none;font-size:13px;letter-spacing:.2px}.table-wrap td{font-size:14px}.table-wrap tbody tr{transition:background-color .16s}.table-wrap tbody tr:hover{background:#f6f8ef}
.sidebar{background:linear-gradient(165deg,#193e2d,#102d22)}.sidebar .nav-link{border:1px solid transparent;transition:background-color .18s,transform .18s}.sidebar .nav-link.active{background:#ffffff12;border-color:#ffffff1a;color:#f1d47c}.sidebar .nav-link:hover{transform:translateX(2px)}
.money-metric{border:1px solid #dae2d1}.money-metric strong{font-variant-numeric:tabular-nums}.welcome-banner,.account-banner{background-image:radial-gradient(circle at 95% 0%,#ffffff10 0,transparent 55%)}
:is(.faq-list details){border-bottom:1px solid #d6decf;padding-block:6px}.faq-list summary{min-height:56px;align-items:center}.faq-list summary span{transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}
.kb-larger-text{font-size:19px}.kb-larger-text :is(p,label,input,select,textarea,.button,.add,.nav-link){font-size:18px!important;line-height:1.7}.kb-larger-text :is(.fine,.small,small,.unit,.availability,.product-category,.table-wrap td,.table-wrap th){font-size:16px!important;line-height:1.65}.kb-larger-text :is(.header nav a,.category>span:last-child){font-size:16px!important}
.kb-tools{position:fixed;right:20px;bottom:max(22px,env(safe-area-inset-bottom));z-index:65;display:flex;align-items:flex-end;flex-direction:column;gap:10px;font:600 14px/1.4 'Segoe UI',Arial,sans-serif;color:#173e2c}.kb-tools[hidden],.kb-tools [hidden]{display:none!important}.kb-tools button,.kb-tools a{font:inherit;color:inherit;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;text-decoration:none;cursor:pointer;border:1px solid #bdcbb2;border-radius:30px;background:#fffdf5;padding:12px 17px;box-shadow:0 5px 20px #173e2c1a}.kb-tools button:hover,.kb-tools a:hover{background:#edf3e5}.kb-tools .kb-help-toggle{background:#173e2c;color:white;border-color:#173e2c}.kb-tools .kb-help-toggle:hover{background:#2b583b}.kb-tools .kb-text-toggle[aria-pressed=true]{background:#e9f1df;border-color:#527248}.kb-tools .kb-to-top{min-width:48px;padding:10px;border-radius:50%;font-size:22px}.kb-tool-row{display:flex;gap:8px;align-items:center}.kb-help-panel{width:min(300px,calc(100vw - 32px));background:#fffdf5;border:1px solid #ced8c5;border-radius:20px;box-shadow:0 16px 50px #173e2c26;padding:22px}.kb-help-panel h2{font-family:Georgia,serif;font-size:25px;font-weight:500;line-height:1.2;margin:0 0 10px}.kb-help-panel p{font-size:14px;line-height:1.6;font-weight:400;margin:0 0 16px;color:#52634c}.kb-help-panel a{margin-top:10px;box-shadow:none}.kb-help-panel .kb-wa-link{background:#eaf1e1;border-color:#b9cca8}.kb-tools .kb-tool-icon{width:20px;height:20px;flex-shrink:0}.kb-ui-reserved-space{padding-bottom:130px!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product,.product-card{transition:transform .22s ease,box-shadow .22s ease}.product:hover,.product-card:hover{transform:translateY(-4px);box-shadow:var(--kb-shadow-raised)}.product:hover .product-image img,.product-card:hover .product-photo{transform:scale(1.035)}.category:hover{transform:translateY(-3px)}.button:hover:not(:disabled),.add:hover:not(:disabled){box-shadow:0 7px 18px rgb(23 62 44 / 16%)} }
@media(max-width:700px){.kb-tools{right:14px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.kb-has-mobile-basket .kb-tools{bottom:calc(94px + env(safe-area-inset-bottom))}.kb-tools button,.kb-tools a{min-height:46px;padding:11px 14px;font-size:13px}.kb-tools .kb-to-top{min-width:46px}.kb-tool-row{gap:6px}.kb-ui-reserved-space{padding-bottom:155px!important}.kb-has-mobile-basket.kb-ui-reserved-space{padding-bottom:235px!important}.header{flex-wrap:wrap;gap:12px;padding:14px 20px}.header .brand{font-size:28px}.header nav{gap:15px}.kb-larger-text .header nav{width:100%;justify-content:center}.sidebar{padding:22px 18px}.sidebar nav{display:flex;flex-wrap:wrap;gap:5px}.sidebar .nav-link{margin:0;padding:10px 12px;font-size:14px}.sidebar .eyebrow{margin-bottom:18px}.content-header{flex-wrap:wrap}.table-wrap{max-width:100%}}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
@media print{.kb-tools,.kb-order-alert,.mobile-basket{display:none!important}.kb-ui-reserved-space{padding-bottom:0!important}}

@media(max-width:700px){.kb-larger-text .products{grid-template-columns:1fr}.kb-larger-text .categories .category{min-width:120px;flex-basis:120px}.kb-larger-text .kb-tools :is(button,a){font-size:14px!important;line-height:1.4}.kb-larger-text .kb-help-panel p{font-size:16px!important}}
