/* CHAYAN theme — aligns the live site with the CHAYAN v14 UI pack.
   Font: Marcellus (SIL OFL 1.1, see Marcellus-OFL.txt in this folder). */
@font-face{font-family:"Marcellus";src:url("/static/theme/Marcellus-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{--cy-brand:#134e3e;--cy-header:#3e3e3d;--cy-ink:#1c1c1c;--cy-buy:#111;--cy-muted:#888;--cy-line:#ededed;--cy-tag:#a88d7a;
  --cy-font:"Marcellus","PingFang SC","Microsoft YaHei",serif}

/* ---------- global type & colour ---------- */
body,uni-app,uni-page,uni-page-body,uni-view,uni-text,uni-button,uni-input,uni-textarea,uni-tabbar,input,textarea,button,
.uni-easyinput__content-input,.uni-tabbar__label{font-family:var(--cy-font)!important;font-synthesis:none}
body{color:var(--cy-ink);-webkit-font-smoothing:antialiased}
b,strong{font-weight:400}
.ok-color-main{color:var(--cy-brand)!important}
.ok-color-remarks{color:var(--cy-muted)!important}
.ok-color-link{color:var(--cy-brand)!important}
.uni-tabbar__label{font-size:11px!important;letter-spacing:.2px}
.uni-tabbar{border-top:1px solid var(--cy-line)}
.uni-tabbar-border{background-color:var(--cy-line)!important}
uni-page-body [style*="font-weight: bold"]{font-weight:400!important}
.uni-easyinput__content{border-radius:2px!important;border-color:#ddd!important}

/* ---------- shared pieces ---------- */
.cy-black-btn,.cy-outline-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;font-size:14px;border-radius:2px;box-sizing:border-box;cursor:pointer;text-align:center}
.cy-black-btn{background:var(--cy-buy);color:#fff}
.cy-outline-btn{border:1px solid #777;color:#292929;background:#fff;letter-spacing:.5px}
.cy-block{width:100%}
.cy-link{text-align:center;margin-top:18px;color:var(--cy-brand);font-size:14px;letter-spacing:.5px;cursor:pointer}
.cy-fineprint{font-size:10px;color:#999;line-height:1.6;padding:14px 0}
.cy-price{font-size:17px;color:#171717;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- order menu ---------- */
.cy-menu-header{height:132px;box-sizing:border-box;padding:15px 14px 13px;background:var(--cy-header);color:#fff;overflow:hidden}
.cy-mode{font-size:24px;line-height:1.1;letter-spacing:.3px;margin-bottom:13px}
.cy-store{font-size:16px;line-height:23px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cy-store:before{content:"";width:17px;height:17px;margin-right:5px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.9l-5.2 2.7 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.cy-location{font-size:11px;color:#a3a3a3;margin:5px 0 9px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cy-location:before{content:"";width:12px;height:12px;margin-right:5px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a3a3a3'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.cy-slogan{font-size:11px;color:#e3e3e3;letter-spacing:.1px}

.cy-menu-body{align-items:flex-start}
.cy-cats{width:80px;flex:none;height:calc(100vh - 182px);overflow-y:auto;border-right:1px solid var(--cy-line);background:#fff;scrollbar-width:none}
.cy-cats::-webkit-scrollbar{display:none}
.cy-cat-wrap{position:relative;cursor:pointer}
.cy-cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:12px 6px;box-sizing:border-box;text-align:center;font-size:10.5px;line-height:1.3;color:#949494;overflow-wrap:anywhere;position:relative}
.cy-cat:before{content:"";display:none;width:29px;height:29px;background:center/contain no-repeat;opacity:.62;mix-blend-mode:multiply}
.cy-cat--on{color:var(--cy-brand)}
.cy-cat--on:before{opacity:1}
.cy-cat--on:after{content:"";position:absolute;right:0;top:14px;bottom:14px;width:1px;background:var(--cy-brand)}
.cy-cat[data-type="new"]:before,.cy-cat[data-type="seasonal"]:before{display:block;background-image:url("/static/theme/icons/icon-new.jpg")}
.cy-cat[data-type="favourites"]:before,.cy-cat[data-type="favorites"]:before,.cy-cat[data-type="recommend"]:before,.cy-cat[data-type="recommended"]:before{display:block;background-image:url("/static/theme/icons/icon-recommend.jpg")}
.cy-cat[data-type="matcha"]:before{display:block;background-image:url("/static/theme/icons/icon-matcha.jpg")}
.cy-cat[data-type="cream top"]:before{display:block;background-image:url("/static/theme/icons/icon-cream-top.jpg")}
.cy-cat[data-type="milk tea"]:before{display:block;background-image:url("/static/theme/icons/icon-milk-tea.jpg")}
.cy-cat[data-type="fruit tea"]:before,.cy-cat[data-type="iced tea"]:before{display:block;background-image:url("/static/theme/icons/icon-fruit-tea.jpg")}
.cy-cat[data-type="cheese foam"]:before{display:block;background-image:url("/static/theme/icons/icon-cheese-foam.jpg")}
.cy-cat[data-type="cold brew"]:before,.cy-cat[data-type="pure tea"]:before{display:block;background-image:url("/static/theme/icons/icon-cold-brew.jpg")}
.cy-cat[data-type="hot"]:before,.cy-cat[data-type="hot drinks"]:before{display:block;background-image:url("/static/theme/icons/icon-hot.jpg")}
.cy-cat[data-type="bakery"]:before{display:block;background-image:url("/static/theme/icons/icon-bakery.jpg")}
.cy-cat[data-type="toppings"]:before{display:block;background-image:url("/static/theme/icons/icon-toppings.jpg")}
.cy-cat[data-type="merch"]:before{display:block;background-image:url("/static/theme/icons/icon-merch.jpg")}
.cy-cat-badge{position:absolute;right:6px;top:8px;z-index:1;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:var(--cy-brand);color:#fff;font-size:10px}

.cy-products{flex:1;min-width:0;background:#fff}
.cy-section-title{font-size:17px;padding:16px 12px 6px;letter-spacing:.1px;color:var(--cy-ink)}
.cy-prod{display:flex;gap:10px;padding:12px 12px 16px 8px;min-height:120px}
.cy-prod-img{width:34%;max-width:110px;aspect-ratio:1;flex:none;background:#fff;overflow:hidden}
.cy-prod-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding-top:2px}
.cy-prod-name{font-size:14px;line-height:1.3;letter-spacing:.05px;color:var(--cy-ink);margin-bottom:10px}
.cy-prod-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cy-buy{display:flex;align-items:center;background:var(--cy-buy);color:#fff;border-radius:2px;font-size:11px;min-height:29px;min-width:58px;justify-content:center;padding:6px 9px;box-sizing:border-box;white-space:nowrap;cursor:pointer}
.cy-buy-count{margin-left:6px;font-size:10px;opacity:.85}
.cy-list-end{height:60px;margin-top:10px;font-size:11px;color:#aaa;text-align:center}

/* cart bar on the menu */
.goods-carts.cy-cartbar{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;height:60px!important;padding:8px 12px;box-sizing:border-box;background:#fff!important;border-top:1px solid var(--cy-line)!important;box-shadow:0 -3px 12px rgba(0,0,0,.03);z-index:5}
.cy-cartbar-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}
.cy-bag-icon{position:relative;width:34px;height:34px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1c1c' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/26px no-repeat}
.cy-bag-count{position:absolute;right:-3px;top:-2px;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:var(--cy-brand);color:#fff;font-size:10px;line-height:17px;text-align:center}
.cy-cart-total{font-size:18px;color:#171717;line-height:1.1}
.cy-cart-note{font-size:10px;color:#999;margin-top:3px}
.cy-checkout{background:var(--cy-buy);color:#fff;border-radius:2px;font-size:14px;min-height:42px;min-width:120px;display:flex;align-items:center;justify-content:center;padding:0 18px;cursor:pointer}

/* ---------- bottom sheets (product, bag, checkout) ---------- */
.cy-sheet{background:#fff;border-radius:8px 8px 0 0;overflow:hidden;color:#222}
.cy-sheet-title{display:flex;align-items:center;height:56px;padding:0 20px;font-size:17px;border-bottom:1px solid #f0f0f0}

.cy-detail-hero{display:flex;justify-content:center;padding:28px 20px 6px;background:#fff}
.cy-detail-img{width:230px!important;height:230px!important}
.cy-detail-identity{padding:10px 20px 22px;margin:0 20px;padding-left:0;padding-right:0;border-bottom:1px solid #222}
.cy-detail-name{font-size:22px;line-height:1.3;color:#1c1c1c}
.cy-detail-sub{font-size:13px;color:#888;margin-top:4px}
.cy-detail-price{font-size:15px;color:var(--cy-brand);margin-top:10px}
.cy-options{padding:0 20px 10px}
.cy-option-group{margin-top:24px}
.cy-option-legend{font-size:13px;color:#999;margin-bottom:10px}
.cy-required{color:#b4553c;margin-right:2px}
.cy-opts{display:flex;flex-wrap:wrap;gap:10px}
.cy-opt-wrap{flex:0 0 auto;min-width:calc((100% - 20px)/3);max-width:100%}
.cy-opts--qty .cy-opt-wrap{flex:1 1 100%}
.cy-opts .ok-box-flex.sideDishItem,.cy-opts .ok-box-flex.sideDishItemSelect{margin:0!important;border:0!important;border-radius:2px!important;min-height:36px;padding:8px 13px!important;box-sizing:border-box;align-items:center;justify-content:center;gap:8px;font-size:12px!important;line-height:1.4;text-align:center;cursor:pointer}
.cy-opts .ok-box-flex.sideDishItem{background:#f0f0f0!important;color:#222!important}
.cy-opts .ok-box-flex.sideDishItemSelect{background:var(--cy-buy)!important;color:#fff!important}
.cy-opts--qty .ok-box-flex.sideDishItem,.cy-opts--qty .ok-box-flex.sideDishItemSelect{justify-content:flex-start;background:#f6f6f6!important;color:#222!important;padding:6px 12px!important}
.cy-opts--qty .ok-box-flex.sideDishItemSelect{box-shadow:inset 0 0 0 1px #222}
.cy-opts--qty .cy-opt-label{flex:1;text-align:left}
.cy-opt-price{opacity:.75;font-size:11px;white-space:nowrap}
.cy-stepper{display:flex;align-items:center;gap:8px;flex:none;order:3}
.cy-opts--qty .cy-opt-price{order:2}
.cy-step,.cy-qty-btn{width:24px;height:24px;border-radius:50%;border:1px solid #999;box-sizing:border-box;background:#fff center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23111' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");cursor:pointer;position:relative}
.cy-step--plus,.cy-qty-btn--plus{background-color:#000;border-color:#000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}
.cy-step:before,.cy-qty-btn:before{content:"";position:absolute;inset:-8px -5px}
.cy-step-num{min-width:14px;text-align:center;font-size:14px}

.goods-carts.cy-sheet-footer{height:auto!important;padding:11px 20px 14px;box-sizing:border-box;background:#fff!important;border-top:1px solid #f4f4f4!important;box-shadow:0 -3px 12px rgba(0,0,0,.03);z-index:5}
.cy-qty-row{display:flex;justify-content:space-between;align-items:center;min-height:30px;margin-bottom:12px;color:#777;font-size:13px}
.cy-qty{display:flex;align-items:center;gap:12px;color:#111}
.cy-qty-btn{width:26px;height:26px}
.cy-qty-num{font-size:18px;min-width:16px;text-align:center}
.cy-add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;background:var(--cy-buy);color:#fff;border-radius:2px;font-size:18px;cursor:pointer}

.cy-bag-list{padding:6px 20px 0}
.cy-bag-item{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--cy-line)}
.cy-bag-img{width:76px;height:76px;flex:none;overflow:hidden}
.cy-bag-body{flex:1;min-width:0}
.cy-bag-name{font-size:15px;line-height:1.3}
.cy-bag-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.cy-tag{font-size:10px;color:var(--cy-tag);border:1px solid currentColor;padding:2px 4px;line-height:1.2}
.cy-bag-foot{display:flex;align-items:center;gap:12px;margin-top:10px}
.cy-bag-foot .cy-price{flex:1}
.cy-bag-qty{font-size:13px;color:#555}
.cy-remove{font-size:12px;color:#555;border:1px solid #ccc;border-radius:2px;padding:4px 10px;cursor:pointer}
.goods-carts.cy-bag-footer{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;height:66px!important;padding:10px 16px;box-sizing:border-box;background:#fff!important;border-top:1px solid var(--cy-line)!important}
.cy-bag-footer>uni-view{flex:1}

.cy-pay-body{padding:18px 20px 0}
.cy-pay-amount{font-size:30px;color:#171717;margin-bottom:22px}
.cy-field-label{font-size:13px;color:#999;margin-bottom:8px}
.cy-pay-body .ok-info{padding:0!important;margin-bottom:22px}

/* ---------- home ---------- */
.cy-home-top{display:flex;align-items:center;height:64px;padding:0 25px;background:#fff;border-bottom:1px solid #f3f3f3}
.cy-wordmark{color:var(--cy-brand);font-size:30px;letter-spacing:-.8px;line-height:1}
.cy-entry-card{background:#fff;border-radius:5px;padding:14px 0 8px}
.cy-entry-title{font-size:18px;letter-spacing:1.2px;text-align:center}
.cy-entry-sub{font-size:9px;color:#999;text-align:center;margin:4px 0 6px}
.cy-story-title{font-size:27px!important;line-height:1.3!important}
.cy-story-text{color:#999;font-size:13px;line-height:24px;margin:30px 0 20px;letter-spacing:.2px}
.cy-home-actions{gap:16px;margin-top:40px}
.cy-home-btn{flex:1;min-height:40px;font-size:13px;letter-spacing:1px;margin:0!important}
.cy-home-foot{background:#f6f6f6;height:80px;padding-top:18px;text-align:center;font-size:10px;color:#999;box-sizing:border-box}

/* ---------- members ---------- */
.cy-members{padding:0 22px 35px;min-height:100vh;box-sizing:border-box;background:#fff}
.cy-simple-header{display:flex;align-items:center;justify-content:center;min-height:64px;font-size:18px;margin:0 -22px}
.cy-members-intro{display:flex;align-items:center;gap:18px;padding:18px 0 28px}
.cy-member-avatar{width:68px!important;flex:none}
.cy-members-title{font-size:25px;color:var(--cy-brand);margin-bottom:7px;line-height:1.2}
.cy-members-sub{font-size:11px;color:#999;line-height:1.6}
.cy-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.cy-auth-actions>uni-view{min-height:46px}
.cy-member-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafafa;padding:22px 20px;margin:0 0 14px;color:var(--cy-brand)}
.cy-member-id{min-width:0}
.cy-member-name{font-size:20px;margin-bottom:6px}
.cy-member-line{font-size:12px;color:#777;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cy-member-stat{text-align:center;flex:none}
.cy-member-stat-num{font-size:26px;line-height:1;margin-bottom:7px}
.cy-member-stat-label{font-size:10px}
.cy-menu-row{display:flex;align-items:center;gap:14px;min-height:60px;border-bottom:1px solid var(--cy-line);font-size:14px;cursor:pointer}
.cy-menu-icon{width:18px!important;flex:none}
.cy-menu-label{flex:1}
.cy-chevron{width:14px;height:14px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
.cy-logout{margin-top:26px;border-color:var(--cy-brand);color:var(--cy-brand)}

@media(max-width:360px){
  .cy-mode{font-size:23px}.cy-store{font-size:15px}
  .cy-cats{width:72px}.cy-cat{font-size:10px;min-height:66px}
  .cy-prod-name{font-size:13px}.cy-price{font-size:15px}.cy-buy{min-width:49px;font-size:10px}
  .cy-detail-name{font-size:20px}.cy-add{font-size:16px}
}

/* ---------- secondary pages ---------- */
.cy-page-title{text-align:center;font-size:18px;color:var(--cy-ink);padding:2px 0 6px}
.cy-prod-foot{max-width:360px}

/* ---------- site footer (home page) — data from shop/info ---------- */
.cy-footer{background:#2c4632;color:#fff;padding:30px 28px calc(28px + var(--window-bottom,50px));font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important}
.cy-footer uni-view,.cy-footer a{font-family:inherit!important}
.cy-footer .cy-footer-logo{font-family:var(--cy-font)!important;font-size:32px;line-height:1.15;letter-spacing:-.3px;margin-bottom:16px;color:#f4f1e8}
.cy-footer-line{font-size:13px;line-height:1.6;color:#f1f1f1;overflow-wrap:anywhere}
.cy-footer-company{font-weight:700;font-size:14px}
.cy-footer-link{color:#fff;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cy-footer-legal{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.35);font-size:13px}
.cy-footer-pay{margin-top:20px}
.cy-footer-pay-title{font-size:12px;font-weight:700;margin-bottom:10px}
.cy-footer-pay-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.cy-footer-pay-item{background:#fff;border-radius:3px;height:34px;display:flex;align-items:center;justify-content:center;padding:4px 6px;box-sizing:border-box;overflow:hidden}
.cy-footer-pay-item img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.cy-footer-copy{font-size:11px;color:#e6e6e6;margin-top:16px}
@media(max-width:360px){.cy-footer{padding-left:20px;padding-right:20px}.cy-footer-pay-list{gap:6px}}
