
:root{
  --bg:#F3EBDD;
  --card:#FBF7F0;
  --ink:#273126;
  --muted:#6E756B;
  --green:#46513F;
  --line:#D8D0C4;
  --accent:#8C765E;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}
body{min-height:100vh}
button{font:inherit}
.app{max-width:760px;margin:0 auto;min-height:100vh;padding-bottom:84px}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:rgba(243,235,221,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(39,49,38,.08)}
.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--muted);margin-bottom:4px}
.brand{font-family:Prata,serif;font-size:22px}
.icon-btn{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 12px;color:var(--ink)}
.icon-btn b{margin-left:6px}
.hero{margin:14px 14px 20px;background:linear-gradient(145deg,#87907B,#5E6757 58%,#3E4939);border-radius:26px;min-height:390px;padding:28px 24px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.18;background:#E9D8BD}
.hero:before{width:260px;height:260px;top:-90px;right:-60px}
.hero:after{width:170px;height:170px;top:80px;left:-80px}
.hero h1{font-family:Prata,serif;font-weight:400;font-size:42px;line-height:1.08;margin:0 0 16px;max-width:520px;position:relative}
.hero p{font-size:15px;line-height:1.55;margin:0 0 22px;max-width:470px;position:relative}
.primary{border:0;background:#F7F0E5;color:#2E392B;border-radius:999px;padding:14px 18px;font-weight:600;width:max-content;position:relative}
.section{padding:8px 14px 16px}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}
.section h2,.page h1{font-family:Prata,serif;font-weight:400}
.section h2{font-size:27px;margin:0}
.link-btn{border:0;background:none;color:var(--green);padding:4px}
.plant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.plant-card{background:var(--card);border-radius:18px;padding:16px 12px;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(39,49,38,.07)}
.plant-card .symbol{font-family:Prata,serif;font-size:34px;opacity:.72;margin-bottom:14px}
.plant-card span{font-size:13px}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.product-card{background:var(--card);border-radius:20px;overflow:hidden;border:1px solid rgba(39,49,38,.07)}
.product-photo{height:150px;background:linear-gradient(145deg,#D8C8B4,#AEB49E);display:flex;align-items:center;justify-content:center;font-family:Prata,serif;font-size:44px;color:rgba(39,49,38,.55)}
.product-body{padding:13px}
.product-name{font-weight:500;font-size:14px;line-height:1.35;min-height:38px}
.product-meta{display:flex;justify-content:space-between;gap:8px;align-items:end;margin-top:10px}
.price{font-weight:600}
.small{font-size:11px;color:var(--muted)}
.add{width:32px;height:32px;border-radius:50%;border:0;background:var(--green);color:white;font-size:20px}
.story{margin:6px 14px 20px;background:#DDD2BF;border-radius:24px;padding:24px}
.story h3{font-family:Prata,serif;font-size:27px;font-weight:400;margin:0 0 10px}
.story p{color:#4F574C;line-height:1.55}
.page{padding:18px 14px}
.page h1{font-size:34px;margin:0 0 18px}
.categories{display:grid;gap:10px}
.category{padding:18px;border-radius:18px;background:var(--card);display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(39,49,38,.07)}
.category b{font-size:15px}
.cart-row{display:flex;gap:12px;background:var(--card);padding:12px;border-radius:18px;margin-bottom:10px}
.thumb{width:72px;height:72px;border-radius:14px;background:linear-gradient(145deg,#D8C8B4,#AEB49E);display:flex;align-items:center;justify-content:center;font-family:Prata,serif;font-size:24px}
.cart-main{flex:1}
.cart-main h4{margin:3px 0 8px;font-size:14px}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:transparent}
.total{display:flex;justify-content:space-between;font-size:18px;font-weight:600;padding:16px 4px}
.checkout{width:100%;border:0;border-radius:999px;background:var(--green);color:white;padding:15px;font-weight:600}
.empty{padding:60px 12px;text-align:center;color:var(--muted)}
.about-card{background:var(--card);border-radius:24px;padding:24px;line-height:1.65}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(251,247,240,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px);z-index:10}
.nav-item{border:0;background:none;padding:8px 4px;color:#777;font-size:12px}
.nav-item.active{color:var(--green);font-weight:600}
@media(max-width:380px){.hero h1{font-size:36px}.plant-grid{grid-template-columns:1fr 1fr}.plant-card:last-child{grid-column:span 2}}

.product-card{cursor:pointer}.detail{padding-bottom:18px}.back{border:0;background:none;padding:15px 16px 8px;color:var(--green);font-weight:600}.gallery{padding:0 14px}.gallery-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:26px;display:block}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.gallery-strip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.detail-info{padding:22px 16px 10px}.kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.detail-info h1{font-family:Prata,serif;font-weight:400;font-size:36px;line-height:1.12;margin:8px 0}.lead{font-size:14px;line-height:1.55;color:#535B50}.facts{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.fact{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:7px 9px}.variants{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 12px}.variant{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:13px;text-align:left}.variant.active{border:2px solid var(--green);padding:12px}.variant b{display:block;margin-bottom:5px}.stock{font-size:12px;color:#596B50;margin:4px 0 15px}.buybar{display:flex;align-items:center;gap:12px}.detail-price{font-size:22px;font-weight:600;min-width:96px}.buy{flex:1;border:0;border-radius:999px;background:var(--green);color:white;padding:15px;font-weight:600}.content-block{margin:12px 14px;background:var(--card);border-radius:22px;padding:20px}.content-block h2{font-family:Prata,serif;font-weight:400;font-size:25px;margin:0 0 10px}.content-block p{font-size:14px;line-height:1.65;margin:0 0 10px}.origin-photo{width:100%;border-radius:18px;margin:12px 0}.origin-quote{font-family:Prata,serif;font-size:23px;line-height:1.45;margin:8px 0 18px}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.process-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:15px}

/* Checkout */
.checkout-page{padding-bottom:120px}.checkout-page h1{margin-bottom:20px}.form-card{background:#fbf8f1;border-radius:22px;padding:20px;margin:0 0 14px}.form-card h2{font-family:Prata,serif;font-size:24px;font-weight:400;margin:0 0 18px}.field{display:block;margin:0 0 15px}.field:last-child{margin-bottom:0}.field span{display:block;font-size:13px;margin:0 0 7px;color:#495044}.field input,.field textarea{box-sizing:border-box;width:100%;border:1px solid #d8cfbf;background:#fffdf8;border-radius:13px;padding:14px 15px;font:inherit;color:#263024;outline:none}.field input:focus,.field textarea:focus{border-color:#465a40}.field textarea{resize:vertical}.delivery-option{display:flex;gap:12px;align-items:flex-start;border:1px solid #ddd3c3;border-radius:14px;padding:14px;margin-bottom:10px;background:#fffdf8}.delivery-option input{margin-top:4px;accent-color:#465a40}.delivery-option span{display:flex;flex-direction:column;gap:4px}.delivery-option small,.form-note{color:#74766f;font-size:12px;line-height:1.45}.order-line,.order-total{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e4dccf}.order-line span{font-size:14px}.order-line b{white-space:nowrap}.order-total{font-size:18px;border-bottom:0;padding-top:16px}.order-error{background:#f6e7e2;color:#7c3528;border-radius:12px;padding:12px 14px;margin:10px 0 14px}.checkout:disabled{opacity:.6}.form-note{text-align:center;margin:12px 20px}.success-page{text-align:center;padding-top:48px}.success-page .form-card{text-align:left;margin-top:24px}.success-mark{width:58px;height:58px;margin:0 auto 18px;border:1px solid #465a40;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#465a40}.success-page p{line-height:1.6;max-width:520px;margin:12px auto}.success-page .primary{margin-top:16px}
