/* ---- assets/css/base.css ---- */
:root {
  --green:#304638;
  --dark:#23362c;
  --cream:#f5efe5;
  --oat:#e6d6bb;
  --brown:#a86f55;
  --ink:#28352c}

* {
  box-sizing:border-box}

html {
  scroll-behavior:smooth}

body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'DM Sans',sans-serif}

button,input,select,textarea {
  font:inherit}

button {
  cursor:pointer}

a {
  color:inherit;
  text-decoration:none}

.nav {
  height:82px;
  padding:0 5%;
  display:flex;
  align-items:center;
  gap:28px;
  background:var(--cream);
  position:sticky;
  top:0;
  z-index:5;
  border-bottom:1px solid #dcd3c5}

.logo,footer strong {
  font-size:27px;
  font-weight:800;
  letter-spacing:-1.8px}

.logo span {
  color:var(--brown)}

.nav nav {
  margin:auto;
  display:flex;
  align-items:center;
  gap:34px;
  font-size:13px;
  font-weight:700}

.textbtn {
  border:0;
  background:none;
  color:inherit;
  font-weight:700}

.cartbtn {
  border:1px solid var(--green);
  background:transparent;
  border-radius:50px;
  padding:12px 19px;
  font-weight:700}

.cartbtn span {
  background:var(--green);
  color:white;
  border-radius:50%;
  padding:4px 9px;
  margin-left:9px}

.hero {
  min-height:620px;
  display:grid;
  grid-template-columns:1.03fr 1fr}

.hero-copy {
  padding:85px 8% 80px 10%;
  display:flex;
  flex-direction:column;
  align-items:start;
  justify-content:center}

.eyebrow {
  font-size:11px;
  letter-spacing:2.3px;
  font-weight:800;
  color:var(--brown)}

h1,h2,h3 {
  font-family:'Playfair Display',serif;
  letter-spacing:-2px}

h1 {
  font-size:clamp(55px,6vw,100px);
  line-height:1.07;
  margin:17px 0 25px}

h1 em,h2 em {
  font-weight:500;
  color:var(--brown)}

.hero-copy>p:not(.eyebrow) {
  max-width:450px;
  line-height:1.8;
  color:#667267}

.hero-actions {
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:22px}

.primary {
  display:inline-flex;
  background:var(--green);
  color:white;
  padding:17px 25px;
  border-radius:5px;
  font-size:13px;
  font-weight:700;
  border:0}

.pill {
  font-size:12px;
  color:#69776a}

.hero-art {
  background:#d8c6a9;
  min-height:550px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden}

.hero-art:before,.hero-art:after {
  content:'';
  position:absolute;
  border:1px solid #fff6;
  border-radius:50%;
  width:680px;
  height:680px}

.hero-art:after {
  width:460px;
  height:460px}

.coffee-orb {
  width:340px;
  height:340px;
  background:#b68e68;
  border-radius:50%;
  display:grid;
  place-items:center;
  box-shadow:0 30px 70px #68513e40}

.cup {
  position:relative;
  z-index:2;
  transform:rotate(-11deg)}

.lid {
  width:186px;
  height:26px;
  background:#eee6d9;
  border-radius:15px;
  box-shadow:0 4px 0 #b5a896}

.cup-body {
  height:238px;
  width:166px;
  margin:-2px auto;
  background:linear-gradient(105deg,#f4ede1,#d8c7aa);
  clip-path:polygon(0 0,100% 0,87% 100%,13% 100%);
  display:grid;
  place-items:center;
  box-shadow:inset 15px 0 22px #fff5}

.cup-body span {
  font-size:23px;
  font-weight:800;
  letter-spacing:-1.5px;
  color:var(--green)}

.hero-stamp {
  position:absolute;
  right:6%;
  bottom:7%;
  font-weight:800;
  font-size:12px;
  letter-spacing:2px;
  transform:rotate(-8deg);
  text-align:center}

.ticker {
  background:var(--green);
  color:#e8d8bb;
  padding:18px;
  text-align:center;
  font-size:12px;
  letter-spacing:3px;
  font-weight:800;
  overflow:hidden;
  white-space:nowrap}

.section {
  padding:90px 6%}

.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px}

.section-head h2,.story h2,.footer-cta h2 {
  font-size:clamp(40px,5vw,70px);
  line-height:1.15;
  margin:8px 0 24px}

.section-head>p {
  max-width:290px;
  line-height:1.7;
  color:#758074}

.filters {
  display:flex;
  gap:10px;
  margin:30px 0;
  flex-wrap:wrap}

.filter {
  border:1px solid #cfc4b3;
  border-radius:50px;
  background:transparent;
  padding:11px 20px;
  font-size:13px}

.filter.active {
  background:var(--green);
  color:white}

.products {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px}

.product {
  background:#fffaf2;
  border-radius:8px;
  overflow:hidden}

.product-art {
  height:230px;
  display:grid;
  place-items:center;
  background:linear-gradient(140deg,#e3d0b4,#c5a581);
  position:relative}

.product:nth-child(2n) .product-art {
  background:linear-gradient(140deg,#e8dac7,#bca58d)}

.product-art .drink {
  font-size:95px;
  filter:drop-shadow(0 12px 8px #4b372b35)}

.tag {
  position:absolute;
  top:15px;
  left:15px;
  background:#fff9ed;
  padding:7px 12px;
  border-radius:30px;
  font-size:10px;
  font-weight:800}

.product-info {
  padding:20px}

.product-info h3 {
  font-size:24px;
  letter-spacing:-.7px;
  margin:0}

.product-info p {
  font-size:12px;
  color:#7b827b;
  line-height:1.6;
  min-height:40px}

.product-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center}

.product-bottom button {
  background:var(--green);
  color:white;
  border:0;
  border-radius:40px;
  padding:11px 17px}

.story {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
  align-items:center;
  background:#e7d8c0;
  padding:90px 9%}

.story-art {
  background:#b88e68;
  min-height:400px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:white}

.story-art span {
  font-size:150px}

.story-art small {
  letter-spacing:3px}

.story p:not(.eyebrow) {
  line-height:1.9;
  max-width:500px;
  color:#5c675d;
  margin-bottom:30px}

.footer-cta {
  text-align:center;
  padding:100px 20px;
  background:var(--green);
  color:white}

.footer-cta .eyebrow {
  color:#dec3a2}

.footer-cta .light {
  background:var(--cream);
  color:var(--green)}

footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px 6%;
  font-size:12px}

.overlay {
  position:fixed;
  inset:0;
  background:#17251cb8;
  z-index:10}

.drawer {
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  width:min(470px,100%);
  overflow:auto;
  background:var(--cream);
  z-index:11;
  padding:28px;
  box-shadow:-15px 0 60px #0002}

.hidden {
  display:none!important}

.drawer-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #d8cdbd;
  margin-bottom:24px}

.drawer-top h2 {
  font-size:34px}

.iconbtn {
  border:0;
  background:none;
  font-size:23px}

.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:15px 0}

.field label {
  font-size:12px;
  font-weight:800}

.field input,.field select,.field textarea {
  padding:13px;
  border:1px solid #cfc6b8;
  border-radius:5px;
  background:white;
  width:100%}

.wide {
  width:100%;
  justify-content:center;
  text-align:center}

.line {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:14px 0}

.item {
  border-bottom:1px solid #ddd1c1;
  padding:15px 0}

.muted {
  color:#7b827b;
  font-size:12px;
  line-height:1.6}

.choice {
  display:flex;
  gap:10px;
  flex-wrap:wrap}

.choice button {
  padding:10px 14px;
  background:white;
  border:1px solid #c9bca9;
  border-radius:4px}

.choice button.selected {
  background:var(--green);
  color:white}

.notice {
  background:#e8d9bf;
  padding:13px;
  border-radius:5px;
  font-size:12px;
  line-height:1.6}

.toast {
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  background:var(--green);
  color:white;
  padding:15px 24px;
  border-radius:8px;
  z-index:20}

.mini {
  font-size:12px;
  border:0;
  background:none;
  text-decoration:underline}

.divider {
  border-top:1px solid #d9cebd;
  margin:18px 0}

@media(max-width:850px) {
  .nav {
  height:70px;
  padding:0 4%}

.nav nav {
  gap:12px}

.nav nav a {
  display:none}

.hero {
  grid-template-columns:1fr}

.hero-copy {
  padding:70px 7%}

.hero-art {
  min-height:420px}

.products {
  grid-template-columns:repeat(2,1fr)}

.story {
  grid-template-columns:1fr;
  padding:60px 7%}

.section {
  padding:65px 5%}

}

@media(max-width:520px) {
  .logo {
  font-size:23px}

.nav {
  gap:8px}

.nav nav {
  margin-left:auto}

.textbtn {
  font-size:11px}

.cartbtn {
  padding:9px;
  font-size:12px}

.hero-art {
  min-height:330px}

.coffee-orb {
  transform:scale(.72)}

.hero-stamp {
  font-size:9px}

.section-head {
  display:block}

.products {
  gap:11px}

.product-art {
  height:155px}

.product-art .drink {
  font-size:66px}

.product-info {
  padding:13px}

.product-info h3 {
  font-size:18px}

.product-info p {
  font-size:11px;
  min-height:55px}

.product-bottom button {
  padding:9px;
  font-size:11px}

footer {
  flex-direction:column;
  text-align:center}

}


/* Phase 3 account, status and admin enhancements */
.field input,.field select,.field textarea {
  width:100%;
  padding:12px;
  border:1px solid #d9d0c3;
  border-radius:9px;
  font:inherit;
  background:white;
  color:#304638}

.field {
  margin:14px 0}

.field label {
  display:block;
  margin-bottom:6px;
  font-weight:600}

.field input[type=checkbox] {
  width:auto}

.notice {
  padding:13px;
  border-radius:10px;
  background:#f3ead9;
  margin:12px 0}

.line {
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:12px 0}

.item {
  padding:14px 0;
  border-bottom:1px solid #ddd}

.mini {
  padding:7px 11px;
  border:1px solid #c8c3b7;
  border-radius:7px;
  background:#fff;
  cursor:pointer}

.muted {
  color:#756e63;
  font-size:.9rem}

.wide {
  width:100%;
  margin:8px 0;
  cursor:pointer}

.danger {
  color:#a22}

.status-chip {
  display:inline-block;
  background:#e6d6bb;
  color:#304638;
  padding:5px 10px;
  border-radius:20px;
  font-size:.8rem}

.divider {
  height:1px;
  background:#ddd;
  margin:18px 0}

.admin-panel {
  background:#f6f0e7;
  border-radius:12px;
  padding:12px;
  margin:12px 0}

.admin-panel select {
  max-width:100%}

.hidden {
  display:none!important}



/* Phase 4 account and owner dashboard */
.password-wrap {
  position:relative;
  display:flex;
  align-items:center}

.password-wrap input {
  width:100%;
  padding-right:78px!important}

.eye-button {
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  border:1px solid #c6bba9;
  background:#fff;
  border-radius:8px;
  padding:7px 11px;
  color:#304638;
  cursor:pointer;
  font-weight:700}

.admin-nav {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 0 20px}

.admin-nav button {
  margin:0}

.stats {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(115px,1fr));
  gap:8px}

.stats .item {
  padding:12px}

.stats b {
  font-size:1.25rem}

.drawer input,.drawer select,.drawer textarea {
  max-width:100%}

.drawer .line {
  gap:8px;
  align-items:center}

.drawer .line input {
  min-width:0;
  width:48%}

.drawer .item {
  overflow-wrap:anywhere}



/* ---- assets/css/layout.css ---- */
/* Kapetbahay modular layout improvements. Change spacing here, not in base.css. */
:root { --kb-page-width: 1240px; --kb-content-gap: 28px; }
.section { padding-top: clamp(64px, 7vw, 112px); padding-bottom: clamp(64px, 7vw, 112px); }
.section-head { margin-bottom: 36px; }
.products { gap: 28px; }
.drawer { width: min(620px, 100vw); max-width: 100vw; }
#drawerBody { padding-bottom: 56px; }
#drawerBody .field { margin-bottom: 20px; }
#drawerBody .item, #drawerBody .admin-panel { margin-bottom: 18px; padding: 20px; }
#drawerBody .admin-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 26px; }
#drawerBody .admin-nav button { margin: 0; }
#drawerBody h3 { margin-top: 30px; margin-bottom: 14px; }
#drawerBody input, #drawerBody select, #drawerBody textarea { max-width: 100%; }
@media (max-width: 700px) {
  .section { padding-top: 64px; padding-bottom: 64px; }
  .products { gap: 18px; }
  .drawer { width: 100vw; }
  #drawerBody .item, #drawerBody .admin-panel { padding: 16px; }
}

/* ---- assets/css/workspace.css ---- */
/* Owner-only, full-page workspace. Customer storefront remains untouched. */
.kb-workspace{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);background:#f5efe5;color:#304638;font-family:'DM Sans',sans-serif}
.kb-workspace.hidden{display:none!important}
.kb-sidebar{background:#304638;color:#f5efe5;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 16px;z-index:40}
.kb-brand{font-family:'Playfair Display',serif;font-weight:800;font-size:27px;padding:10px 14px 34px;line-height:1}.kb-brand span{color:#d9b990}.kb-brand small{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:13px;color:#d9b990}
#kbSideNav{display:flex;flex-direction:column;gap:6px}.kb-side-link{display:flex;align-items:center;gap:13px;width:100%;padding:14px 15px;background:transparent;border:0;border-radius:12px;color:#eee8dc;text-align:left;cursor:pointer;font:600 14px 'DM Sans',sans-serif}.kb-side-link span{font-size:19px;width:22px;text-align:center}.kb-side-link:hover,.kb-side-link.active{background:#496653;color:white}.kb-sidefoot{margin-top:auto;border-top:1px solid #66806b;padding-top:14px}
.kb-mainarea{min-width:0}.kb-topbar{height:76px;display:flex;align-items:center;gap:18px;padding:0 clamp(20px,4vw,55px);background:#fffaf2;border-bottom:1px solid #e6d9c7;font-weight:700}.kb-owner-pill{margin-left:auto;background:#e7d9c1;border-radius:99px;padding:8px 15px;font-size:12px}.kb-view{max-width:1460px;margin:auto;padding:clamp(24px,4vw,58px);min-height:calc(100vh - 76px)}.kb-view-head{margin-bottom:28px}.kb-view-head h1{font:700 clamp(28px,3vw,44px) 'Playfair Display',serif;margin:8px 0}.kb-eyebrow{letter-spacing:2px;font-size:11px;color:#927e64;font-weight:700}.kb-view-content{background:#fffaf4;padding:clamp(20px,3vw,38px);border:1px solid #e6d9c7;border-radius:20px;box-shadow:0 12px 38px #3046380a;max-width:100%;overflow-wrap:anywhere}.kb-view-content .admin-nav{display:none}.kb-view-content .item{padding:20px;margin:14px 0;background:#f9f3e9;border-radius:14px}.kb-view-content .field{margin-bottom:20px}.kb-view-content input,.kb-view-content textarea,.kb-view-content select{max-width:100%}.kb-view-content .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}.kb-view-content .line{flex-wrap:wrap}.kb-mobile-menu{display:none;background:transparent;border:0;font-size:24px;color:#304638;cursor:pointer}
@media(max-width:800px){.kb-workspace{grid-template-columns:minmax(0,1fr)}.kb-sidebar{position:fixed;left:0;top:0;width:min(280px,85vw);transform:translateX(-105%);transition:transform .2s}.kb-sidebar.open{transform:translateX(0)}.kb-mobile-menu{display:block}.kb-topbar{height:66px}.kb-view{padding:20px 14px}.kb-view-content{padding:18px}.kb-view-content .stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}

.kb-recipe-row{display:grid;grid-template-columns:minmax(160px,2fr) minmax(110px,1fr) auto;gap:12px;margin:12px 0;align-items:center}.kb-recipe-row select,.kb-recipe-row input{width:100%;min-width:0}.kb-product-preview{width:140px;height:140px;object-fit:cover;border-radius:12px;margin:10px 0}.kb-dashboard-welcome{background:#e6d6bb;color:#304638;padding:26px;border-radius:18px;margin-bottom:24px}.kb-dashboard-welcome h2{margin-top:0}@media(max-width:640px){.kb-recipe-row{grid-template-columns:1fr 1fr}.kb-recipe-remove{grid-column:1/-1}}

/* ---- assets/css/brand-responsive.css ---- */
/* Kapitbahay Cafe — responsive presentation, based on supplied brand guide */
:root{--kb-green:#003e2d;--kb-cream:#f7eee4;--kb-copper:#ad754c;--kb-ink:#173c2c}
body{background:var(--kb-cream);color:var(--kb-ink)}
.nav{background:#fcf6ed!important}.nav .logo{display:flex;align-items:center}.kb-header-logo{height:53px;width:auto;max-width:175px;object-fit:contain}
.kb-workspace{background:var(--kb-cream);color:var(--kb-ink)}
.kb-sidebar{background:var(--kb-green);color:#fff8ec}
.kb-brand{font-family:'DM Sans',sans-serif;padding:8px 12px 24px}
.kb-brand-logo{width:168px;height:124px;object-fit:contain;background:transparent;border-radius:0;padding:0;display:block;margin:0 0 10px}
.kb-brand small{font-size:10px;letter-spacing:1.8px;color:#e2bb91}
.kb-side-link:hover,.kb-side-link.active{background:#1b644a}
.kb-topbar{background:#fcf6ed;border-color:#e7d6c5}
.kb-view-content{background:#fffaf4;border-color:#eadacc}
.kb-view-head h1{font-family:'DM Sans',sans-serif;font-weight:800;color:var(--kb-green)}
.kb-owner-pill{background:#e8d7bf;color:var(--kb-green)}
.primary,.cartbtn{background:var(--kb-green)!important;color:#fff!important}
.hero{background:linear-gradient(110deg,#f7ede2 0%,#f9efe4 55%,#e5c8ab 100%)}
.hero h1,.section h2{color:var(--kb-green)}
.hero-art{background:radial-gradient(circle at 70% 22%,#e8d3b7 0%,#d8b999 46%,#bd9775 100%);border-radius:22px}
.hero-art .coffee-orb,.hero-art .hero-stamp{display:grid}
.product{background:#fffaf3;border:1px solid #eadac8;border-radius:15px;overflow:hidden}
.kb-view-content .item{background:#f8f0e7}
.kb-bottom-nav{display:none}
@media(max-width:800px){
 body.kb-has-workspace{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .kb-workspace{min-height:calc(100dvh - 74px)}
 .kb-topbar{height:62px;padding:0 17px}
 .kb-view{padding:19px 14px 28px;min-height:0}
 .kb-view-head{margin-bottom:15px}.kb-view-head h1{font-size:27px}
 .kb-view-content{padding:16px;border-radius:17px}
 .kb-view-content .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kb-view-content .item{padding:15px;margin:10px 0}
 .kb-view-content .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kb-view-content .product{min-width:0}.kb-view-content .product-art{height:125px}
 .kb-view-content .product-info{padding:11px}.kb-view-content .product-info h3{font-size:14px}
 .kb-view-content .product-info p{font-size:12px}
 .kb-view-content .product-bottom{display:flex;flex-wrap:wrap;gap:8px}
 .kb-bottom-nav:not(.hidden){position:fixed;bottom:0;left:0;right:0;display:flex;z-index:90;background:#fffaf4;border-top:1px solid #dfcdb9;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 22px #003e2d12;justify-content:space-around;gap:2px}
 .kb-bottom-item{appearance:none;border:0;background:transparent;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;border-radius:12px;color:#786c5e;font:600 10px 'DM Sans',sans-serif;cursor:pointer}
 .kb-bottom-item .kb-bottom-icon{font-size:20px;line-height:1.1}
 .kb-bottom-item.active{background:#e4eee5;color:var(--kb-green)}
 .kb-sidebar{z-index:110;box-shadow:8px 0 20px #002b1c18}
 .kb-sidebar .kb-brand-logo{width:130px;height:96px}
 .drawer{max-width:100vw}
}
@media(min-width:801px){.kb-bottom-nav{display:none!important}}
@media(max-width:540px){.nav{padding:9px 15px}.kb-header-logo{height:45px}.nav nav{gap:10px}.hero{padding:35px 20px}.hero-art{min-height:200px}.hero h1{font-size:clamp(35px,10vw,50px)}}

/* v4.2: clean logo + brand-only illustration */
.kb-header-logo{height:58px;max-width:200px;object-fit:contain}
.kb-brand-logo{height:auto;max-height:145px;max-width:190px;filter:drop-shadow(0 2px 5px #0002)}
.kb-sidebar .kb-brand-logo{background:#fff7eb;border-radius:12px;padding:8px;max-width:175px;width:100%;height:auto}
.hero-art .coffee-orb{background:radial-gradient(circle at 30% 25%,#e4c4a0,#a87953);box-shadow:0 30px 70px #5c3c2440}
.hero-art .cup-body span{font-size:20px;letter-spacing:-.8px}
@media(max-width:540px){.kb-header-logo{height:46px;max-width:150px}.hero-art{min-height:260px}.hero-art .coffee-orb{transform:scale(.65)}.hero-art .hero-stamp{font-size:9px;right:3%;bottom:5%}}

/* ---- assets/css/product-card-fix.css ---- */
/* Kapitbahay v4.1 — Desktop and mobile product card sizing */
.products { grid-template-columns: repeat(3,minmax(0,1fr)); align-items:stretch; }
.product { min-width:0; display:flex; flex-direction:column; height:auto; overflow:hidden; }
.product-art { display:block; height:auto; aspect-ratio: 4 / 3; min-height:0; min-width:0; overflow:hidden; flex:none; }
.product-art img { display:block; width:100% !important; height:100% !important; max-width:100%; object-fit:cover; }
.product-info { flex:1; display:flex; flex-direction:column; gap:9px; min-width:0; padding:18px; }
.product-info h3 { font-size:clamp(18px,1.6vw,23px); line-height:1.25; overflow-wrap:anywhere; }
.product-info p { margin:0; min-height:0; flex:1; overflow-wrap:anywhere; }
.product-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.product-bottom button { cursor:pointer; white-space:normal; min-height:42px; }
@media (min-width:801px) and (max-width:1100px) { .products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .products { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-info { padding:12px; } .product-art { aspect-ratio:1/1; } .product-bottom { align-items:stretch; } .product-bottom button { width:100%; } }
@media (max-width:360px) { .products { grid-template-columns:1fr; } }

/* ---- assets/css/v4-3-fixes.css ---- */
/* v4.3 - independent scrolling sidebar and compact coffee cards */
.kb-sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#7e9a88 transparent}
.kb-sidebar .kb-brand{flex-shrink:0}.kb-sidebar nav{flex:0 0 auto}.kb-sidefoot{flex-shrink:0;margin-top:auto;padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}
.kb-workspace .kb-sidebar .kb-side-link{min-height:44px}
/* Keep card images short, even on wide monitors. */
#products.products,.kb-view-content .products{grid-template-columns:repeat(auto-fill,minmax(min(100%,215px),1fr));gap:14px;align-items:stretch}
#products .product-art,.kb-view-content .product-art{height:150px;aspect-ratio:auto;min-height:0}
#products .product-info,.kb-view-content .product-info{padding:13px;gap:6px}
#products .product-info h3,.kb-view-content .product-info h3{font-size:17px;line-height:1.25}
#products .product-info p,.kb-view-content .product-info p{font-size:11px;line-height:1.45;min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#products .product-bottom,.kb-view-content .product-bottom{gap:8px;align-items:center}
#products .product-bottom button,.kb-view-content .product-bottom button{padding:9px 11px;min-height:36px;font-size:12px;width:auto}
.kb-sales-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 18px}.kb-sales-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.kb-sales-controls input{padding:9px 11px;min-height:40px;border-radius:9px;border:1px solid #d9c8b6}
.kb-sales-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:15px 0}.kb-sales-stat{background:#f5ede0;border:1px solid #e7d7c6;border-radius:13px;padding:16px}.kb-sales-stat strong{display:block;font-size:clamp(20px,2vw,28px);color:#003e2d;margin:7px 0}.kb-sales-stat small{font-size:11px;color:#786c60;line-height:1.4}
.kb-sales-section{margin:24px 0}.kb-sales-section h3{margin-bottom:10px}.kb-sales-table{width:100%;border-collapse:collapse;font-size:13px}.kb-sales-table td,.kb-sales-table th{padding:10px 8px;border-bottom:1px solid #e7d7c6;text-align:left}.kb-sales-table td:last-child,.kb-sales-table th:last-child{text-align:right}.kb-sales-note{padding:13px;background:#f1e5d4;border-radius:10px;font-size:12px;line-height:1.6}
@media(max-width:800px){.kb-sidebar{height:100dvh;max-height:100dvh;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.kb-sidefoot{margin-top:18px}.kb-sidebar.open{overflow-y:auto}#products.products,.kb-view-content .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#products .product-art,.kb-view-content .product-art{height:115px}#products .product-info,.kb-view-content .product-info{padding:10px;gap:5px}#products .product-info h3,.kb-view-content .product-info h3{font-size:14px}#products .product-bottom,.kb-view-content .product-bottom{flex-direction:column;align-items:stretch}#products .product-bottom button,.kb-view-content .product-bottom button{width:100%;font-size:11px;padding:8px 5px}.kb-sales-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kb-sales-stat{padding:12px}.kb-sales-stat strong{font-size:19px}.kb-sales-table{font-size:11px}}
@media(max-width:350px){#products.products,.kb-view-content .products{grid-template-columns:repeat(2,minmax(0,1fr))}#products .product-art,.kb-view-content .product-art{height:95px}}

/* ---- assets/css/inventory-friendly.css ---- */
/* Kapitbahay v4.4 - friendly ingredients / recipe editing */
.kb-inv-intro{background:#f4eadb;border:1px solid #e2d1bc;border-radius:14px;padding:14px 18px;margin-bottom:16px;color:#173f30}
.kb-inv-intro p{margin:0;line-height:1.55}
.kb-inv-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.kb-inv-tabs button{background:#fffaf3;color:#234535;border:1px solid #d7c8b7;border-radius:12px;padding:13px 18px;cursor:pointer;font-weight:700;font-size:14px}
.kb-inv-tabs button.active{background:#004330;color:#fff;border-color:#004330}
.kb-inv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:14px 0}
.kb-inv-toolbar h2{margin:0 0 5px;font-size:1.45rem}.kb-inv-toolbar p{margin:0}
.kb-inv-search,.kb-inv-select{display:block;max-width:620px;margin:14px 0 22px;font-weight:650}
.kb-inv-search input,.kb-inv-select select{display:block;width:100%;margin-top:8px}
.kb-inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}
.kb-inv-card{background:#fffaf4;border:1px solid #e7d8c8;border-radius:15px;padding:18px;min-width:0}
.kb-inv-card-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.kb-inv-card-head strong{font-size:1.08rem}
.kb-inv-card p{margin:10px 0}.kb-inv-pill{font-size:11px;background:#e4f2e8;color:#245a3c;padding:5px 9px;border-radius:99px;white-space:nowrap}.kb-inv-pill.low{background:#fff0d8;color:#85510d}
.kb-inv-help{margin-top:20px}.kb-inv-form{background:#fffaf4;border:1px solid #e6d8c7;border-radius:16px;padding:22px;max-width:940px}
.kb-inv-form h2,.kb-inv-form h3{margin:14px 0}.kb-inv-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.kb-inv-fields label,.kb-inv-recipe-row label{display:block;font-weight:650;font-size:13px}.kb-inv-fields input,.kb-inv-fields select,.kb-inv-recipe-row input,.kb-inv-recipe-row select{display:block;width:100%;margin-top:7px;min-width:0}
.kb-inv-preview{background:#f3ebde;border:1px solid #e5d6c4;border-radius:12px;padding:16px;margin:18px 0;line-height:1.55}
.kb-inv-preview p{margin:7px 0 0}.kb-inv-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.kb-inv-actions button{min-height:44px}
.kb-inv-recipe-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:13px 0;border-bottom:1px solid #eadfd3}
.kb-inv-recipe-row button{margin-bottom:2px}
@media(max-width:650px){.kb-inv-grid,.kb-inv-fields{grid-template-columns:1fr}.kb-inv-form{padding:15px}.kb-inv-recipe-row{grid-template-columns:1fr 1fr}.kb-inv-recipe-row label:first-child{grid-column:1/-1}.kb-inv-recipe-row button{align-self:end}.kb-inv-toolbar>.primary{width:100%}.kb-inv-tabs button{flex:1}}

/* ---- assets/css/brand-v45.css ---- */
/* kapetbahay. v4.5 - brand identity and product mockup */
.kb-header-logo{height:52px!important;max-width:255px!important;width:auto!important;object-fit:contain!important}
.kb-brand-logo{width:100%!important;height:auto!important;max-width:185px!important;max-height:100px!important;object-fit:contain!important}
.kb-sidebar .kb-brand-logo{background:#fff8ed!important;padding:10px!important;border-radius:12px!important}
.hero .kb-product-hero{position:relative;display:block;min-height:470px;background:#e8d5be!important;overflow:hidden;border-radius:0!important}
.hero .kb-product-hero::before,.hero .kb-product-hero::after{display:none!important}
.kb-product-hero img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 50%;display:block}
.kb-mockup-label{position:absolute;right:20px;bottom:20px;background:#003e2de8;color:#fff7e9;border-radius:999px;padding:10px 17px;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:0 6px 25px #0002}
@media(min-width:801px){.nav .logo{min-width:175px}.hero{min-height:520px}.hero-copy{padding-top:54px;padding-bottom:54px}}
@media(max-width:800px){.hero .kb-product-hero{min-height:390px}.kb-brand-logo{max-width:150px!important}}
@media(max-width:540px){.kb-header-logo{max-width:170px!important;height:40px!important}.hero .kb-product-hero{min-height:280px}.kb-product-hero img{object-position:50% 48%}.kb-mockup-label{font-size:10px;right:12px;bottom:12px;padding:8px 11px}}

/* ---- assets/css/neighborhood-motion.css ---- */
/* kapetbahay. v4.10: restrained neighborhood pattern and accessible animations. */
:root{--kb-pattern:url('../img/neighborhood-pattern.svg')}
/* Wallpaper on cream surfaces, not on cards/forms so readability is retained. */
#home .hero-copy,#home .section,#home .story,#home .footer-cta,.kb-mainarea{
  background-image:var(--kb-pattern);background-size:320px 320px;
  animation:kb-pattern-drift 80s linear infinite;
}
/* The dashboard background must remain behind opaque readable cards. */
.kb-view-content,.kb-dashboard-welcome,.kb-view .item{background-image:none}
/* Gentle entry and interactive motion; no bouncing menus or moving text. */
#home .hero-copy h1{animation:kb-welcome-in .75s cubic-bezier(.2,.8,.2,1) both}
#home .hero-copy>p,#home .hero-actions{animation:kb-welcome-in .85s .13s both}
#home .kb-product-hero img{animation:kb-hero-settle 1.1s ease-out both}
#home .products .product,.kb-view .item{transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover){#home .products .product:hover,.kb-view .item:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1a3c2a15}}
a.primary,button.primary,.cartbtn,.kb-side-link{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
@media(hover:hover){a.primary:hover,button.primary:hover,.cartbtn:hover{transform:translateY(-2px)}}
@keyframes kb-pattern-drift{from{background-position:0 0}to{background-position:320px 160px}}
@keyframes kb-welcome-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes kb-hero-settle{from{opacity:.6;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(max-width:767px){#home .hero-copy,#home .section,#home .story,#home .footer-cta,.kb-mainarea{background-size:250px 250px;animation-duration:110s}}
@media(prefers-reduced-motion:reduce){#home .hero-copy,#home .section,#home .story,#home .footer-cta,.kb-mainarea,#home .hero-copy h1,#home .hero-copy>p,#home .hero-actions,#home .kb-product-hero img{animation:none!important}#home .products .product,.kb-view .item,a.primary,button.primary,.cartbtn,.kb-side-link{transition:none!important}}

/* ---- assets/css/brand-pattern-v412.css ---- */
/* kapetbahay. v4.12 | Consistent, one-size woven bands and story photo. */
:root{--kb-woven-art:url('../img/kapetbahay-woven-beans-hd.webp');--kb-woven-height:30px}
/* All full-width bands use the same height, repeat size, and border. */
.ticker.kb-woven-marquee,.kb-woven-divider,.kb-woven-divider--reviews,.kb-woven-divider--footer,.kb-woven-divider--track,.kb-woven-divider--reviewpage{
  display:block!important;width:100%;height:var(--kb-woven-height)!important;min-height:0!important;
  padding:0!important;margin:0!important;overflow:hidden;flex:none;box-sizing:border-box;
  background-color:#f4e6cb!important;background-image:var(--kb-woven-art)!important;
  background-size:auto 100%!important;background-repeat:repeat-x!important;background-position:left center!important;
  border-top:1px solid #d1ab73!important;border-bottom:1px solid #d1ab73!important;
}
.ticker.kb-woven-marquee{color:transparent!important;font-size:0!important;line-height:0!important;animation:kb-woven-slow 115s linear infinite}
/* Dashboard decorations remain deliberately fine so navigation stays clean. */
.kb-workspace .kb-topbar{position:relative}
.kb-workspace .kb-topbar::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:6px;background:var(--kb-woven-art) left center/auto 100% repeat-x;pointer-events:none;opacity:.94}
.kb-workspace .kb-sidebar .kb-brand{position:relative}
.kb-workspace .kb-sidebar .kb-brand::after{content:'';display:block;margin-top:18px;height:7px;background:var(--kb-woven-art) left center/auto 100% repeat-x;border-radius:3px;pointer-events:none}
.kb-popular-pill{position:relative;overflow:hidden;padding-bottom:8px}
.kb-popular-pill::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--kb-woven-art) left center/auto 100% repeat-x;pointer-events:none}
/* Story product mockup replaces the coffee-cup emoji tile. */
.story .story-art.kb-story-mockup{display:block;min-height:0;aspect-ratio:851/454;background:#b88e68;border-radius:16px;overflow:hidden;box-shadow:0 22px 45px rgba(55,36,22,.14)}
.story .story-art.kb-story-mockup img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
@keyframes kb-woven-slow{from{background-position:0 center}to{background-position:-720px center}}
@media(max-width:700px){:root{--kb-woven-height:24px}.story .story-art.kb-story-mockup{aspect-ratio:851/454}}
@media(prefers-reduced-motion:reduce){.ticker.kb-woven-marquee{animation:none!important}}

/* ---- assets/css/store-status-v413.css ---- */
/* v4.13 - Store availability is an explicit, readable status for guests. */
#home .hero-actions{align-items:center;gap:14px}
.kb-store-status{
 display:flex;align-items:center;gap:12px;max-width:min(100%,470px);
 border-radius:15px;padding:13px 16px;border:1px solid #d8d6c8;
 background:#f3f0e7;color:#304638;box-shadow:0 7px 20px rgba(13,48,33,.06);
 font-family:'DM Sans',sans-serif;
}
.kb-store-status-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;
 border-radius:12px;background:rgba(5,62,45,.10);font-size:21px}
.kb-store-status-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.kb-store-status-title{font-size:13px;line-height:1.35;font-weight:800;letter-spacing:.01em}
.kb-store-status-description{font-size:11.5px;line-height:1.45;color:inherit;opacity:.83}
.kb-store-status-open{background:#e8f3e9;color:#073d2b;border-color:#9dc6a8;box-shadow:0 7px 24px rgba(9,85,42,.11)}
.kb-store-status-open .kb-store-status-icon{background:#cee9d2}
.kb-store-status-closed{background:#fff0db;color:#6b3918;border-color:#e5be91;box-shadow:0 7px 24px rgba(139,79,28,.10)}
.kb-store-status-closed .kb-store-status-icon{background:#f9ddbc}
@media(max-width:700px){#home .hero-actions{align-items:stretch;flex-direction:column}#home .hero-actions>a.primary{justify-content:center}.kb-store-status{width:100%;max-width:100%;padding:12px 13px}}
@media(prefers-reduced-motion:no-preference){.kb-store-status{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}}

/* ---- assets/css/contact-home-v414.css ---- */
/* v4.14: tasteful contact CTA, displayed only when a valid HTTPS Store Settings URL exists. */
#home .kb-public-contact[hidden],#home .kb-footer-contact[hidden]{display:none!important}
#home .kb-public-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:18px;max-width:470px}
#home .kb-public-contact-note{font-size:13px;line-height:1.5;color:#465f50}
#home .kb-public-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:2px solid #06402d;border-radius:12px;background:#fffaf2;color:#06402d;padding:11px 18px;text-decoration:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:800;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
#home .kb-public-contact-button:hover{background:#e4efe4;transform:translateY(-2px);box-shadow:0 6px 18px rgba(4,56,39,.12)}
#home .kb-public-contact-button:focus-visible,#home .kb-footer-contact:focus-visible{outline:3px solid #b8804c;outline-offset:3px}
#home .kb-footer-contact{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;min-height:44px;padding:10px 17px;border-radius:10px;border:1px solid rgba(255,255,255,.85);color:white;font-weight:700;text-decoration:none;background:rgba(255,255,255,.10)}
#home .kb-footer-contact:hover{background:rgba(255,255,255,.2)}
@media(max-width:700px){#home .kb-public-contact{align-items:stretch;max-width:100%}#home .kb-public-contact-button{width:100%;min-height:48px}#home .kb-footer-contact{width:100%;max-width:290px}}
@media(prefers-reduced-motion:reduce){#home .kb-public-contact-button{transition:none}#home .kb-public-contact-button:hover{transform:none}}

/* ---- assets/css/mobile-ux-v416.css ---- */
/* v4.16 mobile interaction, overlay stacking and flexible content. */
#toast.toast {position:fixed!important;z-index:10050!important;left:50%;right:auto;top:calc(12px + env(safe-area-inset-top,0px));bottom:auto;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 28px);max-height:35dvh;overflow-wrap:anywhere;text-align:center;box-shadow:0 10px 35px #00291955;pointer-events:none}
.kb-sidebar-scrim {display:none}
.kb-customer-bag{display:none}
@media(max-width:800px){
 .kb-sidebar-scrim:not(.hidden){display:block;position:fixed;inset:0;z-index:105;background:rgba(3,22,16,.55);border:0;padding:0;cursor:pointer}
 .kb-sidebar.open{z-index:120!important}
 .kb-customer-bag:not(.hidden){display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;right:14px;bottom:calc(93px + env(safe-area-inset-bottom,0px));z-index:95;background:#003e2d;color:#fff;border:0;border-radius:999px;padding:11px 16px;font:700 13px 'DM Sans',sans-serif;box-shadow:0 5px 18px #003e2d44;cursor:pointer}
 .kb-customer-bag span{display:grid;place-items:center;min-width:21px;height:21px;background:#e7d9c1;color:#003e2d;border-radius:20px;padding:0 5px}
 .kb-view-content,.kb-view,.kb-mainarea{min-width:0;max-width:100%}
 .kb-view-content :is(.item,.product,.kb49-card,.kb-recipe-row,article){min-width:0;max-width:100%;overflow-wrap:anywhere}
 .kb-view-content .item .line,.kb-view-content .kb49-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
 .kb-view-content .item button{max-width:100%;white-space:normal;min-height:36px}
 .kb-view-content :is(input,textarea,select){max-width:100%;min-width:0}
 .kb-view-content .products{align-items:stretch}
 .kb-view-content .product{height:100%;display:flex;flex-direction:column}
 .kb-view-content .product-info{flex:1;display:flex;flex-direction:column}
 .kb-view-content .product-bottom{margin-top:auto}
}
@media(max-width:370px){.kb-view-content .products{grid-template-columns:minmax(0,1fr)}.kb-bottom-item{font-size:9px}}
/* Bag and customization drawer must overlay mobile navigation. */
#overlay:not(.hidden){z-index:200!important}
#drawer:not(.hidden){z-index:210!important;padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}

/* ---- assets/css/boutique-app-v417.css ---- */
/* kapetbahay. v4.17 | Boutique app-first theme — design-only layer.
   Preserves the checkout, auth, owner/customer views, and Supabase scripts. */
:root{--kb-boutique-green:#073f2e;--kb-boutique-cream:#fbf6ed;--kb-boutique-copper:#a85f2e;--kb-boutique-line:#e5d6c4;--kb-boutique-radius:20px}
body{background:#f8f1e7}
/* Public landing page only: owner and customer workspace layout stays unchanged. */
body:not(.kb-has-workspace) .nav{height:76px;gap:22px;padding-inline:clamp(18px,4.5vw,75px);background:#fffaf2!important;border-bottom:1px solid #e4d7c7;box-shadow:0 3px 22px rgba(22,52,37,.035)}
body:not(.kb-has-workspace) .nav nav{gap:clamp(12px,2.6vw,32px)}
body:not(.kb-has-workspace) .nav nav a{transition:color .18s ease}
body:not(.kb-has-workspace) .nav nav a:hover{color:var(--kb-boutique-copper)}
body:not(.kb-has-workspace) .cartbtn{background:var(--kb-boutique-green)!important;border-color:var(--kb-boutique-green)!important;border-radius:999px;padding:11px 18px;box-shadow:0 4px 12px rgba(7,63,46,.12)}
#home{padding:0;background:#f8f1e7}
#home .hero{min-height:0;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);max-width:1460px;margin:22px auto 0;width:calc(100% - 48px);border-radius:25px;overflow:hidden;background:#103f30;box-shadow:0 12px 35px rgba(15,50,37,.12)}
#home .hero-copy{min-width:0;padding:clamp(28px,4.6vw,73px);background:radial-gradient(circle at 85% 8%,#22563e 0%,transparent 42%),linear-gradient(145deg,#0d4835,#073629);color:#fff7ec;align-items:flex-start}
#home .hero .eyebrow{color:#e5bb88;letter-spacing:2.1px;font-size:10px}
#home .hero h1{color:#fff8ed;font-size:clamp(38px,4.4vw,72px);letter-spacing:-1.9px;line-height:1.08;margin:15px 0 18px;max-width:620px}
#home .hero h1 em{color:#e9bf8b;font-weight:500}
#home .hero-copy>p:not(.eyebrow){color:#f1e8d6;opacity:.93;line-height:1.65;max-width:410px;font-size:14px;margin:0}
#home .hero-actions{margin-top:23px;display:flex;align-items:flex-start;flex-direction:column;gap:15px;width:100%}
#home .hero-actions>a.primary{background:#fff2df!important;color:#143d2d!important;border-radius:999px;padding:15px 23px;font-size:13px;box-shadow:0 8px 20px rgba(0,0,0,.11)}
#home .hero .kb-store-status{width:min(100%,440px);max-width:440px;margin:0;padding:10px 12px;border-radius:13px;box-shadow:none;gap:9px}
#home .hero .kb-store-status-icon{width:31px;height:31px}
#home .hero .kb-store-status-title{font-size:12px}
#home .hero .kb-store-status-description{font-size:11px}
#home .hero .kb-public-contact{margin-top:0;gap:4px;max-width:100%}
#home .hero .kb-public-contact-note{color:#d9e2d5;font-size:11px}
#home .hero .kb-public-contact-button{border-color:#cfb28c;background:transparent;color:#fff7ea;min-height:40px;border-radius:999px;padding:9px 16px;font-size:12px}
#home .hero .kb-public-contact-button:hover{background:#1e654b;color:#fff}
#home .hero .kb-product-hero{min-height:520px!important;aspect-ratio:auto;border-radius:0!important;background:#ad8560!important}
#home .hero .kb-product-hero img{object-fit:cover;object-position:center}
#home .hero .kb-mockup-label{background:rgba(11,54,38,.85);color:#fff;padding:9px 14px;border-radius:30px}
/* Keep the original geometric brand strip, no additional patterns. */
#home>.ticker.kb-woven-marquee{margin:24px auto 0!important;max-width:1460px;width:calc(100% - 48px)!important;border-radius:7px;--kb-woven-height:22px}
#home .section{padding:clamp(44px,5vw,70px) clamp(18px,4.8vw,75px);max-width:1460px;margin:auto}
#home .section-head{align-items:end;gap:18px}
#home .section-head h2,#home .story h2,#home .footer-cta h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1.25px;line-height:1.16;margin-bottom:12px}
#home .section-head>p{font-size:13px;max-width:310px;margin-bottom:9px}
#home .filters{margin:20px 0 22px}
#home .filter{padding:10px 16px;background:#fffaf3;border:1px solid #ddcdbb}
#home .filter.active{background:var(--kb-boutique-green);color:white;border-color:var(--kb-boutique-green)}
#home .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#home .product{border:1px solid #e7d9c7;background:#fffaf4;border-radius:18px;box-shadow:0 7px 20px rgba(44,39,26,.045);transition:transform .2s ease,box-shadow .2s ease;min-width:0}
#home .product:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(44,39,26,.09)}
#home .product-art{height:clamp(155px,17vw,225px);overflow:hidden}
#home .product-info{padding:15px 17px 17px}
#home .product-info h3{font-size:clamp(17px,1.6vw,22px)}
#home .product-info p{min-height:0;margin:9px 0 14px}
#home .product-bottom button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;padding:0;background:var(--kb-boutique-green)}
#home .story{max-width:1412px;width:calc(100% - 48px);border-radius:22px;margin:5px auto 35px;padding:clamp(25px,4.2vw,56px);gap:clamp(24px,5vw,65px);background:#edddc8}
#home .story .kb-story-mockup{box-shadow:0 13px 28px rgba(67,40,20,.12)}
#home .story p:not(.eyebrow){font-size:14px;line-height:1.75}
#home .story .primary{border-radius:999px;padding:14px 22px}
#home .kb-woven-divider--reviews{--kb-woven-height:22px;max-width:1460px;margin:auto!important;width:calc(100% - 48px)!important;border-radius:5px}
#home .kb-reviews-grid{gap:14px}
#home .kb-review-section{padding-top:45px;padding-bottom:60px}
#home .footer-cta{padding:clamp(55px,6vw,85px) 20px;background:linear-gradient(145deg,#0b4634,#073528)}
#home .footer-cta h2{color:white}
#home .footer-cta .primary{background:#fff2df!important;color:#123e2d!important;border-radius:999px}
#home .footer-cta .kb-footer-contact{border-radius:999px}
body:not(.kb-has-workspace)>footer{background:#f8f1e7}
/* UI polish shared across workspaces, no navigation behavior changes */
.kb-workspace .kb-view-content{border-radius:18px}
.kb-workspace .kb-view-content .item{border-radius:14px}
.kb-workspace .kb-view-content .product{border-radius:15px}
.kb-workspace .kb-side-link{border-radius:12px}
@media(max-width:900px){#home .hero{grid-template-columns:1fr 1fr}#home .hero-copy{padding:30px}#home .hero h1{font-size:clamp(36px,4.9vw,48px)}#home .hero .kb-product-hero{min-height:470px!important}}
@media(max-width:700px){
 body:not(.kb-has-workspace) .nav{height:auto;min-height:64px;padding:9px 13px;gap:10px;flex-wrap:wrap}
 body:not(.kb-has-workspace) .nav nav{margin-left:auto;gap:8px}
 body:not(.kb-has-workspace) .nav nav a[href="#story"],body:not(.kb-has-workspace) .nav nav a[href="#reviews"]{display:none}
 body:not(.kb-has-workspace) .nav .kb-header-logo{height:38px;max-width:132px}
 body:not(.kb-has-workspace) .nav .cartbtn{padding:9px 11px;font-size:12px}
 #home .hero{display:flex;flex-direction:column;margin:12px auto 0;width:calc(100% - 22px);border-radius:19px}
 #home .hero-copy{padding:28px 23px 26px}
 #home .hero h1{font-size:clamp(36px,9vw,52px)}
 #home .hero-copy>p:not(.eyebrow){font-size:13px}
 #home .hero-actions{align-items:stretch}
 #home .hero-actions>a.primary{justify-content:center}
 #home .hero .kb-store-status{width:100%;max-width:100%}
 #home .hero .kb-product-hero{min-height:240px!important;height:240px;aspect-ratio:auto}
 #home>.ticker.kb-woven-marquee,#home .kb-woven-divider--reviews{width:calc(100% - 22px)!important;--kb-woven-height:18px}
 #home>.ticker.kb-woven-marquee{margin-top:13px!important}
 #home .section{padding:40px 14px}
 #home .section-head{display:block}
 #home .section-head h2{font-size:33px}
 #home .section-head>p{max-width:none}
 #home .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 #home .product-art{height:145px}
 #home .product-info{padding:12px}
 #home .product-info h3{font-size:16px}
 #home .product-info p{font-size:11px}
 #home .story{width:calc(100% - 22px);display:flex;flex-direction:column;gap:20px;padding:17px;margin-bottom:24px}
 #home .story .kb-story-mockup{width:100%}
 #home .story h2{font-size:32px}
 #home .kb-review-section{padding-top:30px}
}
@media(max-width:390px){body:not(.kb-has-workspace) .nav{gap:7px}body:not(.kb-has-workspace) .nav nav{font-size:11px}body:not(.kb-has-workspace) .nav .kb-header-logo{max-width:115px}#home .products{grid-template-columns:repeat(2,minmax(0,1fr))}#home .product-art{height:122px}}
@media(prefers-reduced-motion:reduce){#home .product{transition:none!important}#home .product:hover{transform:none!important}}

/* ---- assets/css/members.css ---- */
/* kapetbahay. Members - desktop and mobile-friendly */
.kb-members-intro h2{font-family:'Playfair Display',serif;color:#304638;font-size:clamp(23px,3vw,32px);margin:0 0 6px}.kb-members-intro p{color:#66695f;line-height:1.65;margin:0 0 22px}
.kb-members-tools{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px}.kb-members-search-label{flex:1;min-width:min(270px,100%);font-size:13px;font-weight:700;display:block}.kb-members-search-label input{display:block;width:100%;margin-top:8px;border:1px solid #d8cbb9;border-radius:12px;padding:13px 15px;background:#fff}
.kb-members-actions{display:flex;align-items:center;gap:12px}.kb-member-card{display:flex;align-items:center;gap:16px;padding:17px;margin:0 0 10px;background:#f9f3e9;border:1px solid #ecdfcd;border-radius:14px}.kb-member-avatar{width:46px;height:46px;flex:none;display:inline-grid;place-items:center;background:#dfe8db;border-radius:50%;color:#304638;font-size:23px;font-weight:800}.kb-member-avatar.large{width:64px;height:64px;font-size:30px}.kb-member-main{flex:1;min-width:0}.kb-member-name{font-weight:800;word-break:break-word}.kb-member-email,.kb-member-meta{font-size:13px;color:#647064;overflow-wrap:anywhere;margin-top:3px}.kb-member-badge{font-size:10px;background:#e3ceb2;color:#4b372b;padding:4px 8px;border-radius:99px;margin-left:6px}.kb-member-details{white-space:nowrap}.kb-member-empty{padding:32px 15px;text-align:center;color:#6a6d64;background:#f9f3e9;border-radius:14px}.kb-members-note{font-size:13px;color:#637266;margin:20px 0;line-height:1.5}
.kb-member-profile-head{display:flex;gap:16px;align-items:center;margin:23px 0}.kb-member-profile-head h2{margin:0;color:#304638}.kb-member-profile-head p{margin:4px 0;color:#767266}.kb-member-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kb-member-data>div{border:1px solid #ebdfd0;padding:14px;border-radius:12px;min-width:0}.kb-member-data small{display:block;color:#6d716a;margin-bottom:6px}.kb-member-data strong{display:block;overflow-wrap:anywhere}.kb-member-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.kb-member-stats>div{background:#e7ebe1;border-radius:12px;padding:16px;text-align:center}.kb-member-stats b{display:block;font-size:20px;color:#304638}.kb-member-stats span{font-size:12px;color:#616d61}.kb-member-danger{margin-top:30px;border:1px solid #e6b2a7;border-radius:14px;padding:20px;background:#fff8f4}.kb-member-danger h3{margin:0 0 8px;color:#922c20}.kb-member-danger p{line-height:1.6}.kb-delete-member{background:#ad382a;color:white;border:0;border-radius:10px;padding:12px 18px;cursor:pointer;font-weight:700}.kb-delete-member:disabled{opacity:.45;cursor:not-allowed}.kb-member-confirm input{width:100%;max-width:320px;border:1px solid #d5bbae;padding:12px;border-radius:10px}.kb-member-confirm-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
@media(max-width:640px){.kb-member-card{flex-wrap:wrap;gap:10px;padding:13px}.kb-member-avatar{width:38px;height:38px}.kb-member-details{width:100%;margin-top:6px}.kb-member-data{grid-template-columns:1fr}.kb-member-stats{grid-template-columns:1fr 1fr}.kb-member-stats>div:last-child{grid-column:1/-1}}

/* ---- assets/css/v4-9-updates.css ---- */

.kb-popular-pill{display:inline-flex;color:#704c2b;background:#fff1d8;border:1px solid #e9cba1;font-weight:800;font-size:11px;padding:5px 9px;border-radius:30px;line-height:1.2;margin-bottom:8px}
.kb-review-section{background:#f6f3eb}.kb-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}.kb-review-card{background:white;border:1px solid #e2e3d8;border-radius:18px;padding:20px}.kb-review-card .stars{color:#bc844c;font-size:20px;letter-spacing:3px}.kb-review-card p{line-height:1.6}.kb-feedback-invite{color:#4e6255;font-size:14px;margin-top:18px}
.kb49-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px;align-items:center}.kb49-toolbar input,.kb49-toolbar select{padding:12px;border:1px solid #d5dcd2;border-radius:11px;min-width:150px;max-width:100%;background:#fff;color:#244532;box-sizing:border-box}.kb49-toolbar input{flex:1}.kb49-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 22px}.kb49-tabs button{padding:12px 16px;border:1px solid #d1dacf;border-radius:30px;background:#fff;color:#254b36;font-weight:700;cursor:pointer}.kb49-tabs button.active{background:#244c36;color:white}.kb49-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:15px}.kb49-card{border:1px solid #dfe5db;border-radius:18px;background:#fff;padding:17px;min-width:0}.kb49-card h3{margin:4px 0 7px}.kb49-card p{margin:7px 0;color:#536b5b}.kb49-card .kb49-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.kb49-card button,.kb49-action{border:1px solid #cad8cc;background:#f5f8f3;border-radius:10px;padding:10px 12px;color:#224a34;cursor:pointer;font-weight:650}.kb49-card button.primary,.kb49-action.primary{background:#244a35;color:#fff}.kb49-status{display:inline-block;font-size:12px;border-radius:20px;padding:5px 9px;background:#e9f1e8;color:#244e30;font-weight:750}.kb49-card img{width:100%;max-height:165px;object-fit:cover;border-radius:12px}.kb49-cost{border-radius:14px;background:#f5f4e9;padding:15px;margin-top:12px}.kb49-cost strong{font-size:21px;color:#244a35}.kb49-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}.kb49-panel{padding:20px;background:#fff;border:1px solid #e2e6df;border-radius:18px}.kb49-panel label{display:block;margin:12px 0 6px;font-weight:700}.kb49-panel input,.kb49-panel textarea,.kb49-panel select{display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #cbd7cd;border-radius:10px;background:white;color:#213e2c}.kb49-queue-controls{display:flex;flex-wrap:wrap;gap:10px}.kb49-queue-controls button{padding:9px 12px;border-radius:20px;border:1px solid #d4dfd5;background:white;cursor:pointer}.kb49-queue-controls button.active{background:#224c36;color:#fff}.kb49-small{font-size:13px;color:#657568}.kb49-warning{color:#8a4e27;font-weight:700}.kb49-star{font-size:20px;color:#b87831}
@media(max-width:620px){.kb49-toolbar{align-items:stretch}.kb49-toolbar input,.kb49-toolbar select{width:100%;flex:auto}.kb49-grid{grid-template-columns:1fr}.kb49-panel{padding:15px}}

.kb-review-preview-link{margin:6px 0 20px}.kb-review-preview-link a{color:#144f39;font-weight:700;text-decoration:underline;text-underline-offset:4px}.kb-review-card{overflow-wrap:anywhere}.kb-review-card .stars{white-space:nowrap}

/* ---- assets/css/edition-v418.css ---- */
/* kapetbahay. / EDITION 04.18
   A genuine layout redesign, not a reskin. Inspired by editorial product websites
   on desktop and modern mobile ordering apps. Existing hooks, roles and logic stay. */
:root{--kb18-forest:#003f2d;--kb18-deep:#002f22;--kb18-paper:#faf8f4;--kb18-sand:#efe7db;--kb18-copper:#a26842;--kb18-text:#152f24;--kb18-border:#ddd8cf;--kb18-radius:18px}
html{scroll-padding-top:75px}
body{background:var(--kb18-paper);color:var(--kb18-text);font-family:'DM Sans',sans-serif}
/* Bold editorial desktop masthead */
body:not(.kb-has-workspace)>.nav{height:76px!important;min-height:76px;position:sticky;top:0;z-index:65;background:#faf8f4!important;border-bottom:1px solid #dedbd4!important;box-shadow:none!important;padding:0 clamp(20px,4vw,68px)!important;gap:30px}
body:not(.kb-has-workspace)>.nav .kb-header-logo{height:51px;width:auto;max-width:225px;object-fit:contain}
body:not(.kb-has-workspace)>.nav nav{margin-left:auto;margin-right:0;gap:32px;font-size:12px;letter-spacing:.015em}
body:not(.kb-has-workspace)>.nav nav a{color:#173b2d}
body:not(.kb-has-workspace)>.nav nav .textbtn{font-size:12px;background:transparent;border:1px solid #b7b6aa;border-radius:5px;padding:11px 13px}
body:not(.kb-has-workspace)>.nav .cartbtn{background:var(--kb18-forest)!important;color:white!important;border:1px solid var(--kb18-forest)!important;border-radius:5px!important;padding:11px 14px!important;box-shadow:none!important;font-size:12px}
body:not(.kb-has-workspace)>.nav .cartbtn span{background:#f3e5cf;color:var(--kb18-deep);padding:4px 7px;margin-left:6px}
/* Editorial product cover: no rounded giant gradients */
#home{background:var(--kb18-paper)!important}
#home>.hero{width:100%!important;max-width:none!important;min-height:min(740px,calc(100dvh - 78px));margin:0 auto!important;border-radius:0!important;display:grid!important;grid-template-columns:44% 56%!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;border-bottom:1px solid var(--kb18-border)}
#home .hero-copy{background:#faf8f4!important;color:var(--kb18-text)!important;padding:clamp(36px,5.8vw,105px) clamp(30px,5vw,96px)!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;position:relative;border-right:1px solid var(--kb18-border)}
#home .kb18-hero-kicker{display:flex;gap:22px;align-items:center;width:100%;font:700 11px 'DM Sans',sans-serif;letter-spacing:1.5px;color:var(--kb18-copper)}
#home .kb18-kicker-line{height:1px;flex:1;background:#c5b8a8}
#home .hero .eyebrow{color:var(--kb18-forest);font-size:11px!important;letter-spacing:1.8px;margin:30px 0 0;font-weight:700}
#home .hero h1{font:700 clamp(49px,5.7vw,100px)/1.08 'Playfair Display',serif!important;color:var(--kb18-text)!important;letter-spacing:-3px!important;margin:18px 0 25px!important;max-width:750px}
#home .hero h1 em{font-weight:500;color:var(--kb18-copper)!important}
#home .hero-copy>p:not(.eyebrow){color:#485b50!important;font-size:15px!important;line-height:1.8!important;max-width:360px!important;opacity:1!important}
#home .hero-actions{flex-direction:column;align-items:stretch!important;width:min(100%,380px);gap:14px!important;margin-top:25px!important}
#home .hero-actions>a.primary{border-radius:4px!important;background:var(--kb18-forest)!important;color:white!important;padding:17px 21px!important;text-align:center;justify-content:space-between;box-shadow:none!important;font-size:13px!important}
#home .hero .kb-store-status{max-width:none!important;width:100%!important;border:1px solid #d8d5c8!important;border-radius:4px!important;box-shadow:none!important;padding:10px 12px!important}
#home .hero .kb-public-contact{width:100%!important}
#home .hero .kb-public-contact-note{color:#5a5a4b!important;font-size:11px}
#home .hero .kb-public-contact-button{color:var(--kb18-deep)!important;border:1px solid #a3afa7!important;border-radius:4px!important;background:transparent!important;justify-content:center}
#home .hero .kb-product-hero{height:auto!important;min-height:660px!important;aspect-ratio:auto!important;border-radius:0!important;background:#d4c2a8!important}
#home .hero .kb-product-hero img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88)}
#home .hero .kb-product-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0c201a12,transparent 30%,#0c201a4a);pointer-events:none;z-index:1}
#home .kb18-image-index{position:absolute;top:27px;left:28px;z-index:3;color:white;font-size:10px;letter-spacing:1.6px;font-weight:800;text-shadow:0 1px 5px #0007}
#home .hero .kb-mockup-label{position:absolute;bottom:38px;left:30px;right:30px;z-index:3;color:#fff!important;background:transparent!important;border-top:1px solid #ffffffaa;border-radius:0!important;padding:18px 0 0!important;letter-spacing:1px;text-transform:uppercase;font:700 12px 'DM Sans',sans-serif;text-shadow:0 2px 10px #0005;display:flex;justify-content:space-between;box-shadow:none!important}
#home>.ticker.kb-woven-marquee{margin:0!important;width:100%!important;max-width:none!important;border-radius:0!important;--kb-woven-height:13px!important;animation:none!important}
/* Editorial menu with crisp product gallery */
#home .section{width:100%;max-width:1560px;padding:clamp(65px,7vw,114px) clamp(23px,5vw,95px)!important;margin:auto}
#home .section-head{gap:70px;align-items:end;margin:0!important}
#home .section-head .eyebrow{color:var(--kb18-copper);font-weight:700}
#home .section-head h2{font:700 clamp(35px,4vw,65px)/1.08 'Playfair Display',serif!important;letter-spacing:-1.9px;margin:16px 0 0!important}
#home .section-head>p{color:#666d63;font-size:13px;max-width:280px;margin:0}
#home .kb18-menu-label{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #cbd0c9;padding:37px 0 13px;font-size:10px;letter-spacing:1.6px;color:#6e776c;font-weight:800}
#home .filters{margin:20px 0 26px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:7px}
#home .filters::-webkit-scrollbar{display:none}
#home .filter{background:transparent!important;border:1px solid #d1d2c9;border-radius:3px!important;padding:9px 15px;font-size:12px;white-space:nowrap}
#home .filter.active{background:var(--kb18-forest)!important;color:#fff!important;border-color:var(--kb18-forest)}
#home .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#home .product{border:1px solid #dfdcd4!important;border-radius:5px!important;background:white!important;box-shadow:none!important;overflow:hidden;min-width:0;transition:transform .15s ease}
#home .product:hover{transform:translateY(-3px);box-shadow:none!important}
#home .product-art{height:clamp(190px,21vw,290px);background:#ede3d5;border-bottom:1px solid #e6e0d6}
#home .product-info{padding:19px 18px 17px}
#home .product-info h3{font:700 clamp(17px,1.6vw,23px)/1.2 'DM Sans',sans-serif;letter-spacing:-.6px}
#home .product-info p{min-height:0;margin:10px 0 18px;color:#5f6f64}
#home .product-bottom button{border-radius:4px!important;width:40px;height:40px;background:var(--kb18-forest)!important}
#home .tag{background:white;border-radius:3px;font-size:9px;letter-spacing:.5px}
/* quieter story, simplified review system and closing */
#home .story{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,115px);padding:clamp(70px,8vw,140px) clamp(25px,7vw,140px)!important;background:#ebe4d9!important;position:relative}
#home .story .kb18-story-index{position:absolute;top:28px;right:6%;font-size:10px;letter-spacing:1.7px;color:#82694c}
#home .story .kb-story-mockup{border-radius:3px;box-shadow:none;aspect-ratio:1/1}
#home .story .kb-story-mockup img{object-fit:cover}
#home .story h2{font:700 clamp(35px,4.4vw,73px)/1.1 'Playfair Display',serif!important}
#home .story .primary{border-radius:3px}
#home .kb-woven-divider--reviews{--kb-woven-height:12px!important;width:100%!important;max-width:none!important;border-radius:0!important}
#home .kb-review-section{padding-top:90px!important;padding-bottom:95px!important}
#home .kb-reviews-grid{gap:15px}
#home .footer-cta{background:var(--kb18-forest)!important;padding:85px 20px!important}
#home .footer-cta h2{font:700 clamp(33px,4vw,65px)/1.2 'Playfair Display',serif!important}
#home .footer-cta .primary{border-radius:3px!important}
body:not(.kb-has-workspace)>footer{background:#f7f4ef!important;padding:28px 5%;font-size:12px}
body:not(.kb-has-workspace)>.kb-woven-divider--footer{--kb-woven-height:12px!important}
/* Customer workspace uses warm, minimal app language rather than the old oversized dashboard */
#kbCustomerWorkspace{background:#faf8f4}
#kbCustomerWorkspace .kb-sidebar{background:var(--kb18-deep);color:#fff}
#kbCustomerWorkspace .kb-side-link{border-radius:5px}
#kbCustomerWorkspace .kb-side-link.active{background:#1c6750}
#kbCustomerWorkspace .kb-topbar{height:74px;background:#faf8f4}
#kbCustomerWorkspace .kb-view{padding:clamp(24px,3.5vw,52px);max-width:1180px}
#kbCustomerWorkspace .kb-view-head{margin:0 0 22px}
#kbCustomerWorkspace .kb-view-head h1{font:700 clamp(28px,3.6vw,44px) 'DM Sans',sans-serif;letter-spacing:-1.3px;margin:8px 0}
#kbCustomerWorkspace .kb-view-content{background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
#kbCustomerWorkspace .kb-view-content :is(.item,.product){border:1px solid #e8e4dd;border-radius:12px;background:#fff}
#kbCustomerWorkspace .kb-view-content .product-art{background:#eae2d7}
#kbCustomerWorkspace .kb-view-content .products{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px}
#kbCustomerWorkspace .kb-view-content .product-info{padding:14px}
#kbCustomerWorkspace .kb-view-content .product-info h3{font:700 17px 'DM Sans',sans-serif}
#kbCustomerWorkspace .kb-view-content .product-bottom button{border-radius:5px}
.kb18-dashboard{display:grid;gap:22px}
.kb18-dash-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--kb18-forest);color:white;padding:clamp(28px,5vw,60px);min-height:260px;border-radius:14px}
.kb18-dash-hero:after{content:'';position:absolute;right:-50px;top:-80px;width:360px;height:360px;border:1px solid #d7b88944;border-radius:50%;box-shadow:0 0 0 55px #fff1,0 0 0 120px #fff1;pointer-events:none;z-index:-1}
.kb18-dash-hero .kb18-dash-overline{font-size:10px;letter-spacing:2px;color:#dfb988;font-weight:800}
.kb18-dash-hero h2{font:700 clamp(34px,4.2vw,62px)/1.1 'Playfair Display',serif;letter-spacing:-1.5px;margin:18px 0}
.kb18-dash-hero h2 em{font-weight:500;color:#e6c198}
.kb18-dash-hero>p:not(.kb18-dash-overline){font-size:13px;color:#e0ece4}
.kb18-dash-order{display:inline-flex;justify-content:space-between;gap:40px;background:#f6ead7;color:var(--kb18-deep);border:0;border-radius:6px;padding:14px 17px;font-weight:800;font-size:12px;margin-top:15px}
.kb18-dash-watermark{position:absolute;right:8%;bottom:11%;font-size:105px;opacity:.12;pointer-events:none}
.kb18-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kb18-shortcuts button{min-width:0;display:flex;gap:12px;align-items:center;padding:20px 17px;background:#fff;border:1px solid #e6e2db;border-radius:11px;text-align:left;color:var(--kb18-text);font-weight:700}
.kb18-shortcut-icon{background:#eaf2eb;color:var(--kb18-forest);border-radius:9px;display:grid;place-items:center;width:42px;height:42px;font-size:22px;flex:none}
.kb18-shortcuts b{margin-left:auto;color:#8c7566}
.kb18-orders-section{background:white;border:1px solid #e7e3dc;border-radius:12px;padding:25px}
.kb18-orders-section header{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-bottom:16px}
.kb18-orders-section h3{font:700 25px 'DM Sans',sans-serif;letter-spacing:-1px;margin:6px 0}
.kb18-overline,.kb18-order-num{letter-spacing:1px;font:800 10px 'DM Sans',sans-serif;color:#a16c4d}
.kb18-text-link{background:none;border:0;color:var(--kb18-forest);font-size:12px;font-weight:700}
.kb18-order-row{padding:17px 0;border-top:1px solid #ebe8e2;display:flex;align-items:center;justify-content:space-between;gap:14px}
.kb18-order-row>div{display:flex;flex-direction:column;gap:5px}
.kb18-order-row strong{font-size:15px;text-transform:capitalize}
.kb18-order-row small{font-size:12px;color:#647268}
.kb18-outline{white-space:nowrap;border:1px solid #c8d0c8;background:#fff;color:var(--kb18-deep);padding:10px 14px;border-radius:6px;font-size:12px;font-weight:700}
.kb18-empty{padding:35px 0;text-align:center;color:#6b776f}
.kb18-empty span{font-size:40px}
.kb18-neighbor-note{background:#eee5d9;border-radius:11px;padding:18px 26px;display:flex;align-items:center;gap:16px;color:#3a493a}
.kb18-neighbor-note span{font-size:30px;color:var(--kb18-copper)}
.kb18-neighbor-note p{font-size:13px;line-height:1.6;margin:0}
.kb18-menu-intro{font-size:13px;color:#687568;margin-bottom:20px}
.kb18-view-cart{margin-top:22px}
/* Modal and utility hierarchy retained */
#toast.toast{z-index:10050!important}
/* Phone: app-like navigation, generous photo cards, content-first */
@media(max-width:800px){
 body.kb-has-workspace{background:#f8f5ef}
 #kbCustomerWorkspace .kb-mainarea{padding-bottom:82px;background:#f8f5ef}
 #kbCustomerWorkspace .kb-topbar{height:64px;border-bottom:1px solid #e9e5dc;padding:0 18px;position:sticky;top:0;z-index:35}
 #kbCustomerWorkspace #kbCustomerCurrentView{font-size:15px;letter-spacing:-.35px}
 #kbCustomerWorkspace .kb-owner-pill{background:#efe2cc;padding:7px 11px;font-size:11px}
 #kbCustomerWorkspace .kb-topbar::after{display:none}
 #kbCustomerWorkspace .kb-view{padding:22px 16px 28px;min-height:auto}
 #kbCustomerWorkspace .kb-view-head{margin-bottom:16px}
 #kbCustomerWorkspace .kb-view-head .kb-eyebrow{font-size:9px;letter-spacing:1.6px}
 #kbCustomerWorkspace .kb-view-head h1{font-size:25px;margin:8px 0}
 #kbCustomerWorkspace .kb-view-content{padding:0!important;border:0!important;border-radius:0;box-shadow:none;background:transparent!important}
 #kbCustomerWorkspace .kb-view-content .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px}
 #kbCustomerWorkspace .kb-view-content .product-art{height:155px!important}
 #kbCustomerWorkspace .kb-view-content .product-info{padding:11px!important}
 #kbCustomerWorkspace .kb-view-content .product-info h3{font-size:14px!important;line-height:1.25}
 #kbCustomerWorkspace .kb-view-content .product-info p{font-size:11px!important;line-height:1.5}
 #kbCustomerWorkspace .kb-view-content .product-bottom button{width:33px;height:33px;min-width:33px;padding:0;display:grid;place-items:center}
 #kbMobileBottomNav:not(.hidden){display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:90;padding:8px 9px calc(9px + env(safe-area-inset-bottom,0px));background:#132c25!important;color:#f5efe5!important;border-top:0!important;box-shadow:0 -4px 23px #08231718}
 #kbMobileBottomNav .kb-bottom-item{min-width:0;background:transparent!important;color:#cbd4ce!important;border:0!important;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0;font-size:10px;line-height:1.1}
 #kbMobileBottomNav .kb-bottom-item.active{background:#b9754b!important;color:#fff!important}
 #kbMobileBottomNav .kb-bottom-icon{font-size:20px;line-height:1.3}
 #kbCustomerBagFloat:not(.hidden){bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;right:15px;background:#b16e42!important;color:#fff!important;border-radius:14px!important;box-shadow:0 8px 22px #6b3b2340}
 .kb18-dash-hero{min-height:243px;padding:26px 24px;border-radius:15px}
 .kb18-dash-hero:after{right:-240px;top:10px;width:390px;height:390px}
 .kb18-dash-hero h2{font-size:39px;line-height:1.05;margin:17px 0}
 .kb18-dash-watermark{font-size:73px;right:10%;bottom:25%}
 .kb18-shortcuts{gap:9px}
 .kb18-shortcuts button{flex-direction:column;gap:7px;align-items:flex-start;padding:12px 11px;min-height:102px;font-size:11px;border-radius:13px}
 .kb18-shortcut-icon{width:32px;height:32px;font-size:18px}
 .kb18-shortcuts b{display:none}
 .kb18-orders-section{padding:18px 16px;border-radius:13px}
 .kb18-orders-section h3{font-size:21px}
 .kb18-neighbor-note{padding:14px 18px}
}
/* Storefront becomes a compact, app-like discovery flow on mobile */
@media(max-width:700px){
 body:not(.kb-has-workspace)>.nav{min-height:66px!important;height:66px!important;padding:0 15px!important;gap:8px!important;flex-wrap:nowrap!important}
 body:not(.kb-has-workspace)>.nav .kb-header-logo{height:37px!important;max-width:145px!important}
 body:not(.kb-has-workspace)>.nav nav{gap:8px!important;margin-left:auto!important;margin-right:0!important}
 body:not(.kb-has-workspace)>.nav nav a{display:none}
 body:not(.kb-has-workspace)>.nav nav .textbtn{padding:8px 9px;font-size:11px;white-space:nowrap}
 body:not(.kb-has-workspace)>.nav .cartbtn{padding:8px 9px!important;font-size:11px;white-space:nowrap}
 #home>.hero{display:flex!important;flex-direction:column-reverse!important;margin:0!important;width:100%!important;border-radius:0!important;min-height:0!important;box-shadow:none!important}
 #home .hero .kb-product-hero{height:clamp(205px,56vw,360px)!important;min-height:0!important;width:100%!important}
 #home .kb18-image-index{top:15px;left:17px;font-size:8px}
 #home .hero .kb-mockup-label{left:18px;right:18px;bottom:16px;font-size:10px;padding-top:9px!important}
 #home .hero-copy{padding:26px 20px 30px!important;border-right:0}
 #home .kb18-hero-kicker{font-size:9px}
 #home .hero .eyebrow{margin:20px 0 0;font-size:9px!important}
 #home .hero h1{font-size:clamp(39px,9.6vw,57px)!important;letter-spacing:-1.9px!important;margin:10px 0 12px!important}
 #home .hero-copy>p:not(.eyebrow){font-size:13px!important;line-height:1.6!important}
 #home .hero-actions{width:100%;margin-top:20px!important;gap:10px!important}
 #home .hero-actions>a.primary{justify-content:center;padding:14px!important}
 #home .hero .kb-store-status{border-radius:8px!important;padding:9px 11px!important}
 #home .hero .kb-public-contact-note{display:none}
 #home .hero .kb-public-contact-button{min-height:38px}
 #home>.ticker.kb-woven-marquee{--kb-woven-height:10px!important}
 #home .section{padding:40px 16px!important}
 #home .section-head{display:block}
 #home .section-head h2{font-size:31px!important;letter-spacing:-1px}
 #home .section-head>p{margin:13px 0 0;font-size:12px}
 #home .kb18-menu-label{padding-top:24px}
 #home .kb18-menu-label span:last-child{display:none}
 #home .filters{margin:15px 0 16px;gap:6px}
 #home .filter{padding:8px 12px;font-size:11px}
 #home .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #home .product-art{height:clamp(125px,38vw,190px)!important}
 #home .product-info{padding:12px!important}
 #home .product-info h3{font-size:14px!important}
 #home .product-info p{font-size:11px;line-height:1.35;margin:8px 0 10px}
 #home .product-bottom button{width:33px;height:33px}
 #home .story{padding:45px 17px!important;gap:20px;display:flex;flex-direction:column!important}
 #home .story .kb-story-mockup{width:100%;aspect-ratio:1.3/1}
 #home .story .kb18-story-index{top:16px;right:18px}
 #home .story h2{font-size:34px!important}
 #home .kb-woven-divider--reviews{--kb-woven-height:10px!important}
 #home .kb-review-section{padding:40px 16px!important}
 #home .footer-cta{padding:60px 20px!important}
 body:not(.kb-has-workspace)>.kb-woven-divider--footer{--kb-woven-height:10px!important}
}
@media(max-width:360px){#home .product-art{height:115px!important}#kbCustomerWorkspace .kb-view-content .product-art{height:125px!important}.kb18-shortcuts button{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){#home .product{transition:none!important}}

/* ---- assets/css/redesign-v419.css ---- */
/* v4.19 — sharp-corner editorial system. Applies after legacy layout rules. */
:root{--kb19-dark:#003f2d;--kb19-copper:#9c5722;--kb19-cream:#f8f2e9;--kb19-line:#d9d5cb}
body{background:var(--kb19-cream)}
/* All app surface corners sharp and consistent, without modifying round drink photos/icons */
:where(.kb-workspace,#home,.drawer,.nav,.kb-bottom-nav) :is(.item,.product,.product-art,.notice,.field input,.field select,.field textarea,select,textarea,input:not([type="checkbox"]):not([type="radio"]),.primary,.mini,.filter,.stats,.kb-side-link,.kb-view-content,.kb-view-head,.kb-store-status,.kb-public-contact-button,.kb-customer-bag,.kb18-dash-hero,.kb18-shortcuts button,.kb18-orders-section,.kb18-neighbor-note,.kb18-outline,.kb18-dash-order,.kb-bottom-item,.kb-owner-pill,.kb-brand,.kb-topbar,.kb19-owner-welcome){border-radius:0!important}
:is(#home,.kb-workspace,.drawer) :is(button,a,select,input,textarea){font-family:'DM Sans',sans-serif}
:is(#home,.kb-workspace,.drawer) :is(select,input:not([type=checkbox]):not([type=radio]),textarea){min-width:0;max-width:100%;border:1px solid #cfcfc7;background:#fffdf9;color:#123e31;border-radius:0!important;min-height:42px;padding:10px 12px;font-size:13px;box-sizing:border-box}
:is(#home,.kb-workspace,.drawer) select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23003f2d' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
:is(#home,.kb-workspace,.drawer) :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--kb19-copper);outline-offset:2px}
:is(#home,.kb-workspace,.drawer) :is(.mini,button.primary,.primary,.kb18-outline){border-radius:0!important;display:inline-flex;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;line-height:1.25;min-height:37px;cursor:pointer;text-decoration:none;white-space:normal;overflow-wrap:normal}
:is(.kb-workspace,.drawer) .mini{background:#fffdf8;color:#073e2d;border:1px solid #bfc9c1;padding:9px 13px;box-shadow:none}
:is(.kb-workspace,.drawer) .mini:hover{background:#e8efe9;border-color:#0e4936}
:is(.kb-workspace,.drawer) :is(.field,.line){min-width:0}
/* Guest storefront menu: tidy, compact product grid */
#home .products,.kb19-menu-page #products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch}
#home .product,.kb19-menu-page .product,#kbCustomerWorkspace .product{display:flex;flex-direction:column;min-width:0;border:1px solid var(--kb19-line)!important;border-radius:0!important;overflow:hidden;background:#fffdf9!important;box-shadow:none!important;height:100%}
#home .product-art,.kb19-menu-page .product-art,#kbCustomerWorkspace .product-art{height:auto!important;aspect-ratio:4/3!important;min-height:0!important;max-height:none!important;overflow:hidden;border-radius:0!important;flex-shrink:0;background:#e9dfd0}
#home .product-art img,.kb19-menu-page .product-art img,#kbCustomerWorkspace .product-art img{display:block;width:100%!important;height:100%!important;object-fit:cover}
#home .product-info,.kb19-menu-page .product-info,#kbCustomerWorkspace .product-info{flex:1;display:flex;flex-direction:column;gap:7px;padding:13px 13px 12px!important;min-width:0}
#home .product-info h3,.kb19-menu-page .product-info h3,#kbCustomerWorkspace .product-info h3{font:700 15px/1.3 'DM Sans',sans-serif!important;letter-spacing:-.25px;margin:0;overflow-wrap:anywhere}
#home .product-info p,.kb19-menu-page .product-info p,#kbCustomerWorkspace .product-info p{font-size:11px!important;line-height:1.45!important;color:#6f756e;min-height:0;max-height:3.0em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0!important}
#home .product-bottom,.kb19-menu-page .product-bottom,#kbCustomerWorkspace .product-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:nowrap!important;margin-top:auto;padding-top:6px;min-width:0}
#home .product-bottom b,.kb19-menu-page .product-bottom b,#kbCustomerWorkspace .product-bottom b{font-size:12px!important;white-space:nowrap;min-width:0;line-height:1.2}
#home .product-bottom button,.kb19-menu-page .product-bottom button,#kbCustomerWorkspace .product-bottom button{width:auto!important;height:auto!important;min-height:34px!important;min-width:0!important;max-width:none!important;flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;background:var(--kb19-dark)!important;color:white!important;border:0!important;padding:8px 10px!important;border-radius:0!important;font-size:11px!important;font-weight:700;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2!important;letter-spacing:0}
.kb19-customize span:last-child{font-size:14px}
#home .kb-popular-pill,.kb19-menu-page .kb-popular-pill{font-size:9px;line-height:1.3;max-width:100%;overflow-wrap:anywhere;white-space:normal}
/* Mobile: two compact squares and a readable CTA */
@media(max-width:1100px){#home .products,.kb19-menu-page #products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){#home .products,.kb19-menu-page #products,#kbCustomerWorkspace .kb-view-content .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#home .product-info,.kb19-menu-page .product-info,#kbCustomerWorkspace .product-info{padding:10px!important}#home .product-info h3,.kb19-menu-page .product-info h3,#kbCustomerWorkspace .product-info h3{font-size:13px!important}#home .product-bottom b,.kb19-menu-page .product-bottom b,#kbCustomerWorkspace .product-bottom b{font-size:11px!important}#home .product-bottom button,.kb19-menu-page .product-bottom button,#kbCustomerWorkspace .product-bottom button{font-size:10px!important;min-height:32px!important;padding:7px 8px!important}.kb19-customize span:last-child{display:none}.kb19-guest-heading{padding:28px 18px!important}}
@media(max-width:380px){#home .product-bottom,.kb19-menu-page .product-bottom,#kbCustomerWorkspace .product-bottom{flex-wrap:wrap!important}#home .product-bottom button,.kb19-menu-page .product-bottom button,#kbCustomerWorkspace .product-bottom button{width:100%!important}}
/* Match primary action and open/closed panel dimensions on desktop */
#home .hero-actions.kb19-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
#home .hero-actions.kb19-hero-actions>.primary,#home .hero-actions.kb19-hero-actions>.kb-store-status{width:100%!important;min-height:75px!important;height:100%;margin:0!important;box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;padding:11px 13px!important}
#home .hero-actions.kb19-hero-actions>.kb-store-status{justify-content:flex-start!important;gap:9px;min-width:0}
#home .hero-actions.kb19-hero-actions .kb-store-status-title{font-size:11px;line-height:1.2}
#home .hero-actions.kb19-hero-actions .kb-store-status-description{font-size:10px;line-height:1.3}
#home .hero-actions.kb19-hero-actions>.kb-public-contact{grid-column:1/-1}
@media(max-width:740px){#home .hero-actions.kb19-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#home .hero-actions.kb19-hero-actions>.primary,#home .hero-actions.kb19-hero-actions>.kb-store-status{min-height:76px!important;font-size:11px!important;padding:9px!important}}
/* Modern favorite layout and editor selects */
.kb19-fav-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kb19-fav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kb19-fav-actions .mini{margin:0!important}.kb19-fav-actions .kb19-muted-btn{color:#725447;border-color:#e0d8d0}
.kb19-fav-select{max-width:420px;margin:16px 0}
.kb19-section-subtitle{font:700 19px 'DM Sans',sans-serif!important;letter-spacing:-.45px;margin-top:26px!important}
/* Dedicated guest catalog page */
.kb19-menu-page #home{display:block}
.kb19-guest-heading{padding:40px max(4vw,20px) 10px;background:#f8f2e9}
.kb19-back{color:#2f5140;text-decoration:none;font-size:12px;font-weight:700}
.kb19-guest-heading-row{display:flex;justify-content:space-between;gap:26px;align-items:end;margin:22px 0 10px}
.kb19-guest-heading h1{font:700 clamp(33px,4vw,58px)/1.1 'Playfair Display',serif;margin:12px 0 8px;color:var(--kb19-dark)}
.kb19-guest-heading h1 em{color:var(--kb19-copper);font-weight:500}
.kb19-guest-heading p{margin:7px 0;color:#656e64;font-size:13px}
.kb19-guest-quick{min-width:245px;max-width:330px}
.kb19-menu-page #menu{padding-top:13px!important}
.kb19-menu-page #menu .filters{padding-top:0}
.kb19-menu-page .kb-store-status{border-radius:0!important;box-shadow:none!important;min-height:65px}
@media(max-width:700px){.kb19-guest-heading-row{display:block}.kb19-guest-quick{min-width:0;max-width:none;margin-top:20px}}
/* Minimal home teaser in lieu of oversized duplicate menu */
.kb19-teaser{display:grid;grid-template-columns:1fr 1fr;min-height:320px;margin:0;padding:0;background:#f2e8db;border-top:1px solid #d9d5cb;border-bottom:1px solid #d9d5cb}
.kb19-teaser-copy{padding:clamp(25px,5vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.kb19-teaser h2{font:700 clamp(30px,4vw,52px)/1.05 'Playfair Display',serif;color:var(--kb19-dark);margin:0}
.kb19-teaser h2 em{color:var(--kb19-copper);font-weight:500}
.kb19-teaser p{font-size:13px;line-height:1.6;max-width:360px;margin:0}
.kb19-teaser img{width:100%;height:100%;max-height:430px;object-fit:cover}
.kb19-explore{border-radius:0!important}
@media(max-width:680px){.kb19-teaser{grid-template-columns:1fr}.kb19-teaser img{max-height:230px;order:-1}.kb19-teaser-copy{padding:25px}}
/* Owner dashboard and operations: modern editorial, square cards throughout */
#kbWorkspace .kb-mainarea{background:#f8f2e9}
#kbWorkspace .kb-view{padding:clamp(16px,3vw,34px)}
#kbWorkspace .kb-view-content{background:transparent!important;padding:0!important;box-shadow:none!important;border:none!important}
#kbWorkspace .kb-view-head h1{font-family:'DM Sans',sans-serif;font-size:clamp(26px,3vw,40px);letter-spacing:-1px}
#kbWorkspace .kb-view-content :is(.item,.notice,.stats,.kb-card,.line){border-radius:0!important;box-shadow:none}
#kbWorkspace .kb-view-content .item{background:#fffefa;border:1px solid #dcd9d0;padding:16px;min-width:0}
#kbWorkspace .kb-view-content .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#kbWorkspace .kb-view-content .stats>.item{padding:22px!important}
#kbWorkspace .kb-view-content .stats>.item b{font:700 clamp(23px,3vw,38px)/1.1 'DM Sans',sans-serif;color:#073f2e;letter-spacing:-1px}
#kbWorkspace .kb-view-content .stats>.item p{font-size:12px;line-height:1.5;color:#65766b}
.kb19-owner-welcome{background:#053b2d;color:#fff;padding:clamp(25px,4vw,45px);border-radius:0;margin-bottom:16px}
.kb19-owner-kicker{font-size:10px;letter-spacing:2px;color:#d8b88f;font-weight:800}
.kb19-owner-welcome>div{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.kb19-owner-welcome h2{font:700 clamp(25px,3vw,42px)/1.15 'Playfair Display',serif;margin:15px 0 0}
.kb19-owner-welcome h2 em{font-weight:400;color:#e6bb90}
.kb19-owner-welcome>div span{font-size:12px;color:#d4e4db}
#kbWorkspace .kb19-owner-cta{width:auto;min-width:160px;padding:12px 18px}
#kbWorkspace :is(select,textarea,input:not([type=checkbox]):not([type=radio])){border-radius:0!important}
#kbWorkspace :is(.kb-side-link,.kb-topbar,.kb-owner-pill,.kb-recipe-row,.mini,.primary,.kb-view-content .item){border-radius:0!important}
#kbWorkspace .kb-view-content .line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#kbWorkspace .kb-view-content .line>input{flex:1;min-width:120px}
@media(max-width:720px){#kbWorkspace .kb-view-content .stats{grid-template-columns:repeat(2,minmax(0,1fr))}#kbWorkspace .kb-view-content .stats>.item:last-child{grid-column:1/-1}}


/* ===== v4.20 — unified square geometry, sticky workspace headers ===== */
/* All physical UI corners are square, across guest, customer, owner and overlays.
   Explicit global final rule avoids legacy CSS regressions on dynamic content. */
body :is(button,input,select,textarea,a,.product,.item,.notice,.card,.modal,.dialog,.drawer,.overlay,.filter,.badge,.pill,.stats,.stat,.chip,.tag,.panel,.container,.kb-view-content,.kb-view-head,.kb-view,.kb-sidebar,.kb-topbar,.kb-owner-pill,.kb-brand,.kb-popular-pill,.kb-store-status,.kb-contact-card,.kb-contact-icon,.kb-contact-button,.kb-public-contact,.kb-public-contact-button,.kb18-dash-hero,.kb18-orders-section,.kb18-neighbor-note,.kb18-dash-order,.kb18-shortcuts,.kb-bottom-nav,.kb-bottom-item,.kb-customer-bag,.kb-inv-card,.kb-inv-pill,.kb-inv-form,.kb-inv-preview,.kb-inv-tabs,.kb-sales-stat,.kb-sales-note,.kb-dashboard-welcome,.kb19-owner-welcome,.kb19-teaser,.kb19-guest-heading,.hero,.hero-art,.story-art,.footer-cta,.review,.review-card,.order-card,.status-card,.product-info,.product-art){border-radius:0!important}
/* Dynamic dashboard cards and buttons often lack fixed class names. */
body .kb-workspace :is(div,section,article,aside,header,footer,nav,button,a,input,textarea,select,span),
body :is(.drawer,.overlay,#home,#menu) :is(button,input,textarea,select){border-radius:0!important}
/* Preserve recognizable circular status indicators, icon glyphs, and progress dots.
   These are icons rather than cards. */
body :is(.kb-status-dot,.status-dot,.progress-dot,.kb-step-dot,.spinner){border-radius:50%!important}
/* Keep both owner and customer top bars pinned when scrolling. */
body .kb-workspace .kb-mainarea{min-width:0;position:relative}
body .kb-workspace .kb-topbar{position:sticky!important;top:0!important;z-index:55!important;background:#fffaf2!important;isolation:isolate;box-shadow:0 1px 0 #ded7cb;min-height:66px}
body .kb-workspace .kb-topbar::after{z-index:1;pointer-events:none}
@media(max-width:800px){body .kb-workspace .kb-topbar{height:64px!important;padding-inline:16px!important}}
/* Landing page is editorial-only: the image preview is a proper link to menu.html. */
#home .kb19-teaser .kb20-menu-image-link{display:block;min-width:0;overflow:hidden;border-radius:0!important}
#home .kb19-teaser .kb20-menu-image-link img{display:block;width:100%;height:100%;max-height:430px;object-fit:cover}
@media(max-width:680px){#home .kb19-teaser .kb20-menu-image-link{order:-1}#home .kb19-teaser .kb20-menu-image-link img{height:230px}}
/* Consistent sharp-corner outlines on review controls and shopping CTAs. */
body .kb-workspace :is(.mini,.primary,.filter,button){box-shadow:none}

/* v4.21 / quiet Instagram-inspired imagery and a browse-only live menu preview */
#home .hero .kb-product-hero{background:#e6d8c6!important;overflow:hidden!important;display:flex!important;justify-content:center;align-items:center;padding:clamp(18px,4vw,58px)!important;min-width:0}
#home .hero .kb-product-hero>img{width:min(100%,570px)!important;height:auto!important;max-height:580px!important;aspect-ratio:1/1!important;object-fit:contain!important;box-shadow:0 10px 32px #2d21141a}
#home .hero .kb-product-hero::after{display:none!important}
#home .hero .kb18-image-index{color:#173e30!important;background:#f9f3eacc!important;padding:5px 9px}
#home .hero .kb-mockup-label{background:#173e30dd!important;color:#fff!important;padding:10px 13px!important;border:0!important;left:clamp(18px,4vw,58px)!important;right:clamp(18px,4vw,58px)!important;bottom:clamp(18px,4vw,58px)!important}
#home .story .kb-story-mockup{background:#e6d8c6!important;padding:clamp(16px,3vw,40px)!important;display:grid!important;place-items:center;overflow:hidden!important}
#home .story .kb-story-mockup>img{width:min(100%,520px)!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;max-height:520px!important;box-shadow:0 10px 30px #2d211418}
#home .kb21-menu-feature{background:#f8f5ef;padding:clamp(36px,5vw,80px) clamp(18px,5vw,75px);border-top:1px solid #ded8ce;border-bottom:1px solid #ded8ce}
#home .kb21-feature-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
#home .kb21-feature-heading h2{font:700 clamp(28px,3.2vw,46px)/1.1 'Playfair Display',serif;margin:7px 0 9px;letter-spacing:-.7px;color:#113d2e}
#home .kb21-feature-heading p:not(.eyebrow){font-size:13px;line-height:1.65;max-width:500px;margin:0;color:#5d665e}
#home .kb21-view-all{display:inline-flex;align-items:center;white-space:nowrap;border-bottom:1px solid #094331;padding:10px 0;color:#064332;font-weight:700;text-decoration:none;font-size:12px}
#home .kb21-carousel-frame{display:grid;grid-template-columns:35px minmax(0,1fr) 35px;align-items:center;gap:12px;min-width:0}
#home .kb21-menu-carousel{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 0 13px;min-width:0}
#home .kb21-menu-carousel::-webkit-scrollbar{display:none}
#home .kb21-menu-slide{flex:0 0 clamp(190px,22vw,270px);min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e0dbd2;color:#123d2c;text-decoration:none;scroll-snap-align:start;transition:border-color .2s ease}
#home .kb21-menu-slide:hover,#home .kb21-menu-slide:focus-visible{border-color:#0b4d38;outline-offset:2px}
#home .kb21-menu-photo{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:#ebe2d7}
#home .kb21-menu-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
#home .kb21-menu-slide:hover img{transform:scale(1.025)}
#home .kb21-no-image{font-size:55px;color:#0b4d38}
#home .kb21-slide-details{display:flex;justify-content:space-between;flex-direction:column;gap:11px;padding:12px 13px 14px;min-height:93px}
#home .kb21-slide-details strong{display:block;font-size:14px;font-weight:750;line-height:1.3}
#home .kb21-slide-details small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#647066;font-size:11px;line-height:1.45;margin-top:4px}
#home .kb21-slide-details>b{font-size:13px;display:flex;justify-content:space-between;color:#935b32}
#home .kb21-carousel-nav{width:35px;height:45px;background:#fff;color:#063e2c;border:1px solid #d4d7d0;font-size:18px;cursor:pointer;display:grid;place-items:center}
#home .kb21-carousel-nav:disabled{opacity:.3;cursor:default}
#home .kb21-swipe-hint{margin:8px 48px 0;font-size:10px;color:#687166;letter-spacing:.3px}
#home .kb21-carousel-empty,#home .kb21-carousel-loading{padding:30px;background:#f0e6d9;color:#41604d;width:100%;font-size:13px}
@media(max-width:700px){
 #home .hero .kb-product-hero{height:auto!important;min-height:0!important;padding:16px!important}
 #home .hero .kb-product-hero>img{max-height:285px!important;width:min(100%,320px)!important;aspect-ratio:1/1!important}
 #home .hero .kb-mockup-label{left:16px!important;right:16px!important;bottom:16px!important;font-size:9px!important}
 #home .story .kb-story-mockup{padding:17px!important;aspect-ratio:auto!important}
 #home .story .kb-story-mockup>img{max-height:270px!important;aspect-ratio:1/1!important}
 #home .kb21-menu-feature{padding:32px 16px}
 #home .kb21-feature-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
 #home .kb21-feature-heading h2{font-size:30px}
 #home .kb21-carousel-frame{grid-template-columns:minmax(0,1fr)}
 #home .kb21-carousel-nav{display:none}
 #home .kb21-menu-slide{flex-basis:min(64vw,240px)}
 #home .kb21-swipe-hint{margin:6px 0 0}
}
@media(prefers-reduced-motion:reduce){#home .kb21-menu-photo img{transition:none!important}#home .kb21-menu-slide:hover img{transform:none!important}}


/* v4.22 — 3x3 true square collage in the editorial hero.
   The source image is square, with 3 equally sized columns and rows.
   Prevent legacy absolute image positioning from offsetting the collage. */
#home .hero .kb-product-hero{
  box-sizing:border-box!important;
  padding:clamp(20px,2.8vw,42px)!important;
  background:#e6d8c6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
#home .hero .kb-product-hero>img.kb22-collage-image{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  flex:0 1 auto!important;
  width:min(100%,660px)!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  box-shadow:none!important;
  animation:none!important;
}
#home .hero .kb-product-hero .kb18-image-index{
  top:clamp(7px,1.15vw,16px)!important;
  left:clamp(20px,2.8vw,42px)!important;
  color:#173e30!important;
  background:#f9f3eaf0!important;
}
#home .hero .kb-product-hero .kb-mockup-label{
  left:clamp(20px,2.8vw,42px)!important;
  right:clamp(20px,2.8vw,42px)!important;
  bottom:clamp(6px,1vw,14px)!important;
  border:0!important;
  background:transparent!important;
  color:#173e30!important;
  padding:0!important;
  text-shadow:none!important;
}
@media(max-width:700px){
  #home .hero .kb-product-hero{padding:18px!important;min-height:0!important;}
  #home .hero .kb-product-hero>img.kb22-collage-image{
    width:100%!important;max-height:none!important;height:auto!important;
  }
  #home .hero .kb-product-hero .kb18-image-index{top:4px!important;left:18px!important;font-size:8px!important;}
  #home .hero .kb-product-hero .kb-mockup-label{bottom:3px!important;left:18px!important;right:18px!important;font-size:8px!important;}
}

/* v4.23 — touch-first workspace, clearer order/expense actions */
.kb23-expense-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}
.kb23-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kb23-form-grid label{display:flex;flex-direction:column;gap:5px;font-weight:650;font-size:13px}
.kb23-form-grid input{width:100%;min-width:0;box-sizing:border-box;min-height:44px}
.kb23-expense-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}
.kb23-expense-item{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border:1px solid #d7cfc1;background:#fffcf8;padding:16px}
.kb23-expense-item p{overflow-wrap:anywhere;margin:8px 0 0}
.kb23-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.kb23-actions button,.kb23-secondary,.kb23-danger{border-radius:0!important;min-height:40px;padding:9px 14px;cursor:pointer;font-weight:650}
.kb23-secondary{border:1px solid #a3b1a7;background:transparent;color:#063c2c}
.kb23-danger{border:1px solid #b97b72;background:#fff4f1;color:#83342c}
.kb49-queue-controls{display:flex;gap:8px;flex-wrap:wrap}
.kb49-queue-controls button{white-space:nowrap;min-height:44px}
.kb49-actions button{min-height:42px}
#kbView input,#kbView select,#kbView textarea,#kbCustomerView input,#kbCustomerView select{font-size:16px;max-width:100%}
.kb-topbar{position:sticky!important;top:0;z-index:50;background:#faf5ed}
#kbSidebarScrim{z-index:110!important}
#kbCustomerSidebar,#kbSidebar{z-index:120!important}
#toast{z-index:3000!important}
.kb23-tour-overlay{position:fixed;inset:0;background:rgba(0,27,18,.62);z-index:5000;display:grid;place-items:center;padding:18px}
.kb23-tour-panel{width:min(100%,420px);background:#fffaf2;color:#063b2b;border:1px solid #b7a78f;box-shadow:0 18px 55px #0005;padding:24px;border-radius:0}
.kb23-tour-panel h2{font-size:25px;line-height:1.18;margin:12px 0}
.kb23-tour-panel p{font-size:15px;line-height:1.5;color:#4a5e51}
.kb23-tour-actions{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:20px}
.kb23-tour-actions button{min-height:46px;border-radius:0;padding:10px 18px}
.kb23-tour-primary{background:#003f2e;color:#fff;border:0;font-weight:bold}
.kb23-tour-secondary{background:transparent;border:1px solid #8a988e;color:#073d2d}
.kb23-tour-mark{font-size:11px;letter-spacing:.13em;font-weight:800;color:#99603b}
.kb23-install{position:fixed;bottom:85px;right:16px;z-index:85;background:#083f2d;color:white;border:1px solid #d6ad76;border-radius:0;padding:12px;font-weight:700;box-shadow:0 5px 15px #0002}
@media(max-width:700px){
 .kb23-form-grid{grid-template-columns:1fr}
 .kb23-expense-list{grid-template-columns:1fr}
 .kb23-expense-item{padding:12px}
 .kb49-toolbar{display:flex;flex-wrap:wrap;gap:8px}
 .kb49-toolbar input{flex:1 1 190px;min-width:0}
 .kb49-queue-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .kb49-queue-controls button{font-size:12px;padding:10px 6px;white-space:normal}
 .kb49-grid,.kb49-cols{grid-template-columns:1fr!important}
 .kb23-tour-panel{padding:18px}
 .kb23-install{bottom:100px}
 #kbView,#kbCustomerView{padding-bottom:100px}
}
@media(prefers-reduced-motion:reduce){.kb23-tour-panel{scroll-behavior:auto}}

.kb23-help-button{position:fixed;right:14px;bottom:16px;z-index:70;background:#f9f1e7;border:1px solid #003e2d;color:#003e2d;width:36px;height:36px;border-radius:0;font-weight:900;cursor:pointer}@media(max-width:800px){.kb23-help-button{bottom:85px;right:12px}}

/* v4.23.1: Compact PWA install prompt separated from guide button */
.kb23-install{
  position:fixed;right:12px;bottom:72px;
  z-index:80;width:auto;max-width:calc(100vw - 24px);
  min-height:32px;padding:7px 10px;
  font-size:12px;line-height:1.2;font-weight:700;
  letter-spacing:0;white-space:nowrap;
  border:1px solid #d6ad76;border-radius:0;
  background:#003e2d;color:#fff;box-shadow:0 3px 10px #0002;
}
.kb23-help-button{
  position:fixed;right:12px;bottom:16px;
  width:36px;height:36px;z-index:70;
}
@media(max-width:800px){
  .kb23-help-button{right:12px;bottom:calc(84px + env(safe-area-inset-bottom, 0px));}
  .kb23-install{
    right:12px;bottom:calc(134px + env(safe-area-inset-bottom, 0px));
    min-height:32px;padding:7px 10px;font-size:12px;
  }
}

/* v4.23.2: consistent, visible but unobtrusive install entry */
.kb23-install{display:inline-flex!important;align-items:center;justify-content:center;min-width:0!important;width:auto!important;min-height:32px!important;padding:6px 9px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;z-index:88!important;}
@media(max-width:800px){.kb23-install{right:12px!important;bottom:calc(134px + env(safe-area-inset-bottom,0px))!important;} .kb23-help-button{right:12px!important;bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;}}
