/* Thiên Trà Đạo Brand System · derived from the official #705038 logo asset */
:root{
 --ttd-brown:#705038;--ttd-brown-deep:#4f3829;--ttd-brown-soft:#9b7b63;--ttd-tea-green:#68765a;--ttd-tea-green-deep:#485441;--ttd-sage:#a9b29c;
 --ttd-ivory:#f8f5ef;--ttd-cream:#efe8de;--ttd-warm-white:#fcfaf7;--ttd-charcoal:#292622;--ttd-text:#3c3732;--ttd-muted:#746c65;--ttd-border:#e3ddd4;
 --ttd-success:#68765a;--ttd-danger:#a5574e;--ttd-shadow:0 8px 30px rgba(73,55,42,.06);--ttd-r-card:16px;--ttd-r-control:11px;
 --font-app:'Be Vietnam Pro','Noto Sans','Segoe UI',Arial,sans-serif;--app-deep:var(--ttd-brown-deep);--deep:var(--ttd-brown-deep);--ink:var(--ttd-text);--paper:var(--ttd-ivory);--line:var(--ttd-border);--accent:var(--ttd-brown)
}
html,body{background:var(--ttd-ivory);color:var(--ttd-text)}body,button,input,select,textarea{font-family:var(--font-app)}
.site-header{position:sticky;top:0;z-index:90;min-height:76px;background:rgba(252,250,247,.97);border-bottom:1px solid var(--ttd-border);box-shadow:0 4px 18px rgba(73,55,42,.035)}.brand img{width:auto;height:54px;object-fit:contain}.site-header nav{gap:24px}.site-header a{color:var(--ttd-text)}
.button,.app-primary,.admin-btn-primary{border-radius:var(--ttd-r-control);background:var(--ttd-brown);border-color:var(--ttd-brown);color:var(--ttd-warm-white)!important;box-shadow:none}.button:hover,.app-primary:hover,.admin-btn-primary:hover{background:var(--ttd-brown-deep);border-color:var(--ttd-brown-deep)}.button--secondary,.app-secondary{background:transparent;color:var(--ttd-brown)!important;border:1px solid var(--ttd-brown);border-radius:var(--ttd-r-control)}
input,select,textarea{border-color:#ddd6ce;border-radius:var(--ttd-r-control);background:var(--ttd-warm-white)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(112,80,56,.12);border-color:var(--ttd-brown)}
.public-hero{max-width:1240px;background:var(--ttd-cream);color:var(--ttd-charcoal);border:1px solid var(--ttd-border);border-radius:18px;box-shadow:none}.public-hero>div>p:first-child,.eyebrow,.app-kicker{color:var(--ttd-brown);letter-spacing:.14em}.public-hero img{border-radius:14px}.public-card,.public-grid>a,.menu-card,.food-card{background:var(--ttd-warm-white);border-color:var(--ttd-border);border-radius:var(--ttd-r-card);box-shadow:var(--ttd-shadow)}.public-card img,.food-card img,.menu-card img{border-radius:12px;object-fit:cover}.space-experience,.public-final{background:var(--ttd-cream);border-radius:18px}.community-intro,.menu-bottom-cta{background:var(--ttd-brown-deep);color:var(--ttd-ivory);border-radius:18px}
.app-sidebar{background:var(--ttd-brown-deep)!important}.app-nav a.is-active{background:rgba(239,232,222,.14)!important;color:var(--ttd-ivory)!important}.app-nav a.is-active:before{background:var(--ttd-brown-soft)!important}.app-topbar,.app-workspace{background:var(--ttd-ivory)}.app-bottom-nav a.is-active{color:var(--ttd-brown)}
.admin-sidebar{background:#342b25!important}.admin-sidebar-head{background:var(--ttd-ivory);border:0}.admin-brand img{height:48px;width:auto;object-fit:contain}.admin-brand small{color:var(--ttd-muted)!important}.admin-sidebar nav a.is-active{background:var(--ttd-brown)!important}.admin-workspace,.admin-app{background:#f7f5f1!important}.admin-card,.admin-table-card,.box{border-color:var(--ttd-border)!important;box-shadow:var(--ttd-shadow)!important;background:var(--ttd-warm-white)!important}.admin-app{--admin-primary:var(--ttd-brown);--admin-primary-strong:var(--ttd-brown-deep);--admin-accent:var(--ttd-brown-soft);--admin-border:var(--ttd-border);--admin-bg:#f7f5f1}
footer{border:0}.site-footer{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:clamp(28px,5vw,76px);padding:54px max(24px,calc((100vw - 1240px)/2));background:var(--ttd-brown-deep);color:var(--ttd-ivory)}.site-footer__brand img{width:128px;height:74px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}.site-footer p,.site-footer span{display:block;max-width:420px;color:rgba(248,245,239,.72);line-height:1.7}.site-footer strong{display:block;margin-bottom:12px;font-size:16px}.site-footer nav{display:grid;align-content:start;gap:10px}.site-footer a{color:var(--ttd-ivory);text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.auth-card{width:min(520px,calc(100% - 32px));margin:clamp(42px,8vw,90px) auto;padding:clamp(26px,5vw,46px);text-align:left;background:var(--ttd-warm-white);border:1px solid var(--ttd-border);border-radius:18px;box-shadow:var(--ttd-shadow)}.auth-card__logo{display:block;width:118px;height:70px;margin:0 auto 18px;object-fit:contain}.auth-card h1{margin:.25rem 0 .6rem;color:var(--ttd-brown-deep)}.auth-card__lead{color:var(--ttd-muted);line-height:1.65}.auth-card form{display:grid;gap:17px;margin-top:24px}.auth-card label{display:grid;gap:7px;font-weight:600}.auth-card input{min-height:48px;padding:11px 13px}.auth-card .button{min-height:48px;margin-top:2px}
.notice,.app-toast,.admin-alert{max-width:1240px;margin:16px auto;padding:13px 16px;border:1px solid;border-radius:12px}.notice.success,.app-toast:not(.app-toast--error){color:#43523d;background:#eef2ea;border-color:#d8e0d1}.notice.error,.app-toast--error{color:#7f403a;background:#f8ebe8;border-color:#ead0ca}
.smart-empty,.admin-empty{border:1px dashed var(--ttd-border)!important;background:var(--ttd-warm-white)!important;color:var(--ttd-muted);box-shadow:none!important}.food-card__meta span,.status-badge,.admin-status{border-radius:999px}.food-card__placeholder{background:var(--ttd-cream)!important}.menu-bottom-cta{background:var(--ttd-brown-deep)!important}.menu-bottom-cta .app-kicker{color:#d8c4ac!important}
.admin-table th{color:var(--ttd-brown-deep)!important;background:#f1ece5!important}.admin-table tr:hover td{background:#faf7f2}.admin-input,.admin-select,.admin-textarea{border-color:var(--ttd-border)!important}.admin-page-title h1,.admin-section-title{color:var(--ttd-brown-deep)!important}
@media(max-width:900px){.brand img{height:44px}.site-header{min-height:64px}.public-hero{border-radius:0}.app-bottom-nav{background:var(--ttd-warm-white);border-top-color:var(--ttd-border)}.site-footer{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}
@media(max-width:560px){.public-hero{padding:28px 18px}.public-hero h1{font-size:clamp(2rem,11vw,3rem)}.site-footer{grid-template-columns:1fr;padding:42px 22px}.site-footer__brand{grid-column:auto}.auth-card{margin:24px auto;padding:24px 20px}.app-order-main{color:var(--ttd-brown)!important;font-weight:700}.food-card>img,.food-card__placeholder{height:180px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Unified public + commerce architecture */
.brand-site main{min-height:55vh}.brand-commerce-main{background:var(--ttd-ivory)}.brand-commerce-shell{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:clamp(34px,5vw,70px) 0}.brand-commerce-shell .app-page-head,.brand-commerce-shell .menu-app-hero{margin-top:0}.brand-site--commerce .site-header{box-shadow:none}.brand-site--commerce .menu-category-chips{top:76px;background:rgba(248,245,239,.96)}
.brand-home-hero{width:min(1320px,calc(100% - 40px));min-height:min(720px,78vh);margin:28px auto 72px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center;gap:clamp(34px,6vw,90px);padding:clamp(30px,5vw,72px);background:var(--ttd-cream);border:1px solid var(--ttd-border);border-radius:18px}.brand-home-hero h1{max-width:760px;margin:.35em 0;font-size:clamp(42px,5.7vw,78px);line-height:1.02;color:var(--ttd-brown-deep);letter-spacing:-.035em}.brand-home-hero .lead{max-width:650px;font-size:clamp(16px,1.4vw,20px);line-height:1.7;color:var(--ttd-muted)}.brand-home-hero>img{width:100%;height:min(590px,63vh);object-fit:cover;border-radius:14px}
.brand-editorial{width:min(1120px,calc(100% - 40px));margin:0 auto clamp(72px,10vw,130px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);padding-top:26px;border-top:1px solid var(--ttd-border)}.brand-editorial h2,.public-section h2,.brand-feature h2,.brand-space h2,.brand-milestones h2,.brand-reservation-cta h2,.about-hero h1{font-size:clamp(32px,4.2vw,58px);line-height:1.08;color:var(--ttd-brown-deep);letter-spacing:-.025em}.brand-editorial p{font-size:17px;line-height:1.8;color:var(--ttd-muted)}
.brand-values{width:min(1240px,calc(100% - 40px));margin:0 auto clamp(74px,10vw,130px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ttd-border);border-bottom:1px solid var(--ttd-border)}.brand-values article{position:relative;padding:36px clamp(20px,3vw,46px) 48px}.brand-values article+article{border-left:1px solid var(--ttd-border)}.brand-values article>span{font-size:12px;color:var(--ttd-brown-soft)}.brand-values h3{font-size:clamp(21px,2.2vw,30px);line-height:1.35;color:var(--ttd-text);font-weight:500}
.brand-feature{width:min(1240px,calc(100% - 40px));margin:0 auto clamp(74px,10vw,130px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,84px);align-items:center;padding:clamp(32px,5vw,68px);background:var(--ttd-cream);border-radius:18px}.brand-feature>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.brand-feature--tea{background:var(--ttd-tea-green-deep);color:var(--ttd-ivory)}.brand-feature--tea h2,.brand-feature--tea .eyebrow{color:var(--ttd-ivory)}.brand-feature--tea p{color:rgba(248,245,239,.72)}.brand-mini-list{display:grid}.brand-mini-list a{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:18px 0;color:var(--ttd-ivory);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2)}.brand-mini-list a span{grid-column:1/-1;font-size:11px;letter-spacing:.1em}.brand-mini-list b{font-weight:600}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading-row h2{max-width:800px}.brand-space{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(30px,5vw,70px);align-items:start}.brand-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.brand-gallery img{width:100%;height:260px;object-fit:cover;border-radius:12px}.brand-gallery img:first-child{grid-row:span 2;height:532px}.brand-milestones>h2{max-width:850px}.brand-milestones>div,.brand-community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ttd-border);border:1px solid var(--ttd-border)}.brand-milestones article,.brand-community-grid a{padding:28px;background:var(--ttd-warm-white);color:var(--ttd-text);text-decoration:none}.brand-milestones time,.brand-community-grid small{font-size:11px;color:var(--ttd-brown);letter-spacing:.08em}.brand-community-grid p{color:var(--ttd-muted);line-height:1.6}.brand-reservation-cta{display:flex;justify-content:space-between;align-items:end;gap:40px}.brand-reservation-cta h2{max-width:760px}.about-hero{width:min(1120px,calc(100% - 40px));margin:clamp(50px,9vw,120px) auto;padding-bottom:clamp(50px,8vw,100px);border-bottom:1px solid var(--ttd-border)}.about-hero h1{max-width:960px}.about-hero>p:last-child{max-width:670px;font-size:19px;line-height:1.7;color:var(--ttd-muted)}.about-contact{padding:clamp(32px,5vw,60px);background:var(--ttd-cream);border-radius:18px}
.brand-commerce-shell .order-checkout,.brand-commerce-shell .order-lookup,.brand-commerce-shell .reservation-page,.brand-commerce-shell .community-layout{max-width:1180px;margin-inline:auto}.brand-commerce-shell .checkout-cart,.brand-commerce-shell #menu-checkout-form,.brand-commerce-shell .order-lookup>form,.brand-commerce-shell .composer,.brand-commerce-shell .community-post{border-color:var(--ttd-border);box-shadow:var(--ttd-shadow)}
.brand-site .menu-mini-cart{z-index:var(--z-mini-cart,50);bottom:calc(16px + env(safe-area-inset-bottom))}.brand-site .menu-cart-message{z-index:var(--z-toast,100);right:14px;bottom:calc(88px + env(safe-area-inset-bottom));max-width:min(390px,calc(100% - 28px))}.brand-site .menu-cart-sheet{z-index:var(--z-drawer,90)}.brand-site.menu-dialog-open{overflow:hidden}
@media(max-width:900px){.brand-home-hero{grid-template-columns:1fr;min-height:0}.brand-home-hero>img{order:-1;height:auto;aspect-ratio:4/3}.brand-editorial,.brand-feature,.brand-space{grid-template-columns:1fr}.brand-values{grid-template-columns:1fr}.brand-values article+article{border-left:0;border-top:1px solid var(--ttd-border)}.brand-gallery img,.brand-gallery img:first-child{height:340px;grid-row:auto}.brand-milestones>div,.brand-community-grid{grid-template-columns:1fr}.brand-reservation-cta{align-items:start;flex-direction:column}.brand-commerce-shell{width:min(100% - 28px,1240px)}}
@media(max-width:560px){.brand-home-hero{width:100%;margin-top:0;margin-bottom:64px;border-inline:0;padding:20px 18px 34px}.brand-home-hero h1{font-size:40px}.landing-actions{align-items:stretch}.landing-actions .button{text-align:center}.brand-editorial,.brand-values,.brand-feature,.public-section,.public-final,.about-hero{width:calc(100% - 32px)}.brand-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.brand-gallery img,.brand-gallery img:first-child{flex:0 0 84%;height:310px;scroll-snap-align:start}.section-heading-row{align-items:start;flex-direction:column}.brand-commerce-shell{padding-top:24px}.brand-site--commerce .menu-category-chips{top:64px}.brand-commerce-shell .food-grid{grid-template-columns:1fr}.brand-commerce-shell .checkout-layout{grid-template-columns:1fr}.brand-site .menu-mini-cart,.brand-site .mobile-mini-cart{display:none!important}.brand-site .menu-cart-message{left:14px;right:14px;bottom:calc(var(--mobile-bottom-nav-height,64px) + env(safe-area-inset-bottom) + 14px)}}
