/* ThaiMex Fusion Kitchen – bespoke responsive styling. No external CSS libraries required. */
:root{--ink:#222c26;--green:#1a302a;--dark:#101a17;--moss:#64735a;--gold:#cc9d60;--gold-light:#efdbb9;--red:#a75339;--paper:#faf6ef;--ivory:#fffdf9;--cream:#f3ebdf;--muted:#777c71;--line:#e8dfd2;--shadow:0 18px 55px rgba(37,35,28,.10);--radius:18px;--font-sans:'Avenir Next','Segoe UI',system-ui,-apple-system,Arial,sans-serif;--font-display:Georgia,'Iowan Old Style','Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.62 var(--font-sans);-webkit-font-smoothing:antialiased}body.nav-locked{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}::selection{background:#dcb88680}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e2a558;outline-offset:3px}.container{width:min(1220px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:.73rem;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;color:#9b6942}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.eyebrow.light{color:#ecc894}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.13;letter-spacing:-.025em}h1{font-size:clamp(3.15rem,5.9vw,6.35rem)}h2{font-size:clamp(2.4rem,4.15vw,4.45rem)}h3{font-size:1.52rem}p{color:#6a7069}small{line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 24px;min-height:51px;border:1px solid transparent;border-radius:7px;font-size:.81rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;white-space:nowrap;transition:transform .22s,background .22s,color .22s,border-color .22s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold-light);border-color:var(--gold-light);color:#332819}.btn-gold:hover{background:#e5c48b}.btn-green{background:var(--green);color:white}.btn-green:hover{background:#27483e}.btn-outline{color:white;background:transparent;border-color:#ffffff8a}.btn-outline:hover{background:#ffffff22}.btn-outline-dark{border-color:#b8a99a;background:transparent;color:var(--ink)}.btn-outline-dark:hover{background:#fff}.btn-small{padding:10px 16px;min-height:43px;font-size:.73rem}.btn-full{width:100%}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:.78rem;letter-spacing:.12em;font-weight:800;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px;color:var(--green)}.text-link:hover{color:var(--red)}
/* Header */
.topbar{background:#0f1714;color:#e5d1ac;text-align:center;padding:7px 20px;font-size:.7rem;letter-spacing:.11em;font-weight:700}.site-header{background:#15201b;color:#f5efe4;position:sticky;top:0;z-index:70;border-bottom:1px solid #ffffff1b;box-shadow:0 6px 25px #0b0d0b1c}.nav-inner{height:83px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:245px}.brand img{width:60px;height:60px;border-radius:50%;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.08}.brand-text strong{font-family:var(--font-display);font-size:1.58rem;color:#fff1d9;font-weight:500;letter-spacing:.01em}.brand-text small{font-size:.49rem;letter-spacing:.13em;text-transform:uppercase;color:#d7be98;margin-top:6px}.site-nav{display:flex;align-items:center;justify-content:center;gap:30px;margin:auto}.site-nav a{font-size:.76rem;font-weight:700;letter-spacing:.06em;position:relative;padding:31px 1px;color:#efe7dd}.site-nav a:after{content:'';position:absolute;left:0;right:0;bottom:23px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.site-nav a:hover:after,.site-nav a.active:after{transform:scaleX(1)}.nav-actions{display:flex;gap:12px;align-items:center}.lang-wrap{position:relative}.lang-button{background:transparent;border:1px solid #ffffff49;border-radius:8px;color:#f8f1e8;padding:8px 11px;min-width:82px;display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:.8rem;transition:border-color .2s,background .2s}.lang-button:hover{border-color:#e0bd8d;background:#ffffff0b}.lang-current{display:flex;align-items:center;gap:8px}.flag-icon{width:18px;height:12px;display:inline-block;border-radius:2px;box-shadow:0 0 0 1px #ffffff2e}.lang-button .caret{font-size:.6rem;opacity:.8}.lang-options{position:absolute;top:calc(100% + 13px);right:0;min-width:210px;max-width:min(280px,calc(100vw - 32px));padding:8px;background:rgba(25,40,34,.96);border:1px solid #bea07155;border-radius:14px;box-shadow:0 18px 44px #0007;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:90}.lang-options[hidden]{display:none}.lang-options button{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:0;padding:12px 13px;border-radius:9px;text-align:left;color:#f5eee5;font-size:.92rem}.lang-options button span{display:flex;align-items:center;gap:10px}.lang-options button:hover,.lang-options button[aria-selected=true]{background:#ffffff19}.lang-options button[aria-selected=true]:after{content:'✓';color:var(--gold-light)}.cart-link{display:flex;align-items:center;justify-content:center;position:relative;width:42px;height:42px;border:1px solid #ffffff49;border-radius:6px;color:#fff}.cart-link:hover{border-color:var(--gold)}.cart-link svg{width:20px}.cart-count{position:absolute;right:-7px;top:-7px;border-radius:100px;background:var(--gold);color:#17241c;min-width:20px;height:20px;font-size:.67rem;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 5px}.menu-toggle{display:none;background:transparent;border:1px solid #ffffff4d;border-radius:5px;color:white;width:44px;height:42px;align-items:center;justify-content:center;font-size:1.25rem}
/* Home hero */
.hero{background:#18231e;color:white;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#edd5ad 1px,transparent 1px);background-size:33px 33px;mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.09fr);min-height:655px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2;padding:72px 50px 78px 0}.hero h1{max-width:680px;margin:21px 0 22px;color:#fff6e8}.hero h1 em{color:#e5bf84;font-style:italic}.hero-copy>p{font-size:1.08rem;max-width:470px;color:#d2d6cc;line-height:1.8;margin-bottom:29px}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.hero-fine{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.11em;color:#d2c19d;text-transform:uppercase;margin-top:44px}.hero-fine:before{content:'';height:1px;background:#d4bd925e;width:39px}.hero-media{min-height:610px;position:relative;margin-right:min(-3.7vw,-18px);isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.93) contrast(1.05)}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#18231e 0%,#18231e11 34%,#18231e10 70%,#18231e44 100%),linear-gradient(0deg,#18231e8a 0%,transparent 37%)}.hero-emblem{position:absolute;z-index:2;width:clamp(260px,32vw,435px);height:auto;left:49%;top:46%;transform:translate(-50%,-50%);filter:drop-shadow(0 25px 33px #0c150ed8)}.hero-mini{position:absolute;z-index:3;bottom:43px;right:49px;display:flex;flex-direction:column;text-align:right;color:#ffefd6}.hero-mini b{font-family:var(--font-display);font-size:1.5rem;font-weight:500}.hero-mini span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#e4c192}.benefits{background:#fbf7ef;border-bottom:1px solid var(--line)}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0}.benefit{display:flex;align-items:center;justify-content:center;gap:15px;padding:2px 22px;border-right:1px solid var(--line);font-size:.84rem;color:var(--ink);font-weight:700}.benefit:last-child{border:0}.benefit svg{width:25px;height:25px;stroke:#a77646;stroke-width:1.45;fill:none;flex-shrink:0}
/* Shared sections */
.section{padding:110px 0}.section-head{max-width:640px;margin:0 auto 47px;text-align:center}.section-head h2{margin:13px 0 16px}.section-head p{font-size:1rem}.section-head .eyebrow:after{content:'';width:26px;height:1px;background:currentColor}.section-head .eyebrow:before{width:26px}.intro{background:#fdfaf5}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro-visual{height:520px;position:relative}.intro-visual img{position:absolute;object-fit:cover;border-radius:9px;box-shadow:var(--shadow)}.intro-visual img:first-child{width:73%;height:83%;left:0;top:0}.intro-visual img:nth-child(2){width:54%;height:55%;right:0;bottom:0;border:9px solid #fdfaf5}.intro-stamp{position:absolute;left:-30px;bottom:17px;z-index:2;background:var(--gold-light);border-radius:100%;width:117px;height:117px;display:grid;place-content:center;text-align:center;border:7px solid #fdfaf5;transform:rotate(-10deg);font-family:var(--font-display);font-size:1.1rem;color:var(--green);line-height:1.25}.intro-copy h2{margin:19px 0 26px}.intro-copy p{max-width:510px;font-size:1.05rem;line-height:1.95}.intro-copy .text-link{margin-top:19px}.cuisines{background:var(--cream)}.cuisine-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.cuisine-tile{position:relative;border-radius:11px;min-height:310px;overflow:hidden;background:#34483c;display:flex;align-items:end;isolation:isolate;transition:transform .3s}.cuisine-tile:hover{transform:translateY(-6px)}.cuisine-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#14251b10 24%,#101c17e5 100%);z-index:1}.cuisine-tile img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .5s}.cuisine-tile:hover img{transform:scale(1.08)}.cuisine-tile>div{z-index:2;position:relative;color:white;padding:25px 20px}.cuisine-tile strong{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:500}.cuisine-tile span{font-size:.68rem;letter-spacing:.09em;color:#f1d29f;text-transform:uppercase}.featured{background:#fffdf8}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.dish-card{background:#fff;border:1px solid #ece4d8;border-radius:13px;overflow:hidden;box-shadow:0 8px 22px #2f251709;transition:transform .22s,box-shadow .22s}.dish-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.dish-image{width:100%;height:230px;object-fit:cover;background:#f6f1e6}.dish-content{padding:20px 22px 19px}.dish-tag{display:inline-block;padding:4px 11px;font-size:.64rem;line-height:1.4;text-transform:uppercase;font-weight:800;letter-spacing:.08em;background:#f1e5d1;color:#8e5e3c;border-radius:50px;margin-bottom:11px}.dish-content h3{font-size:1.45rem;margin:0 0 8px}.dish-content p{font-size:.83rem;min-height:51px;line-height:1.65;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dish-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid #eee7dd}.price{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;font-size:.93rem;white-space:nowrap}.price-blank{display:inline-block;width:54px;height:14px;border-bottom:1px solid #bcb5a7}.price-show{font-size:1.04rem}.add-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#e7cba0;border:0;border-radius:6px;padding:10px 15px;color:#342d20;font-weight:800;font-size:.76rem;min-height:40px;transition:background .2s}.add-btn:hover{background:#d4aa72}.section-action{text-align:center;margin-top:44px}.flow-section{background:#e8e1d5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{background:#fdfaf5;border-radius:13px;padding:37px 33px;text-align:center;border:1px solid #e5dacb}.step-count{width:53px;height:53px;display:flex;align-items:center;justify-content:center;margin:auto auto 19px;background:var(--green);color:#f4d29d;border-radius:50%;font-family:var(--font-display);font-size:1.4rem}.step h3{margin-bottom:10px}.step p{font-size:.85rem;margin:0}.cta{background:#192a23;color:white;position:relative;overflow:hidden}.cta:before,.cta:after{content:'✳';position:absolute;color:#d4a86f20;font-size:27rem;line-height:1}.cta:before{left:-70px;top:-85px}.cta:after{right:-55px;bottom:-105px}.cta-inner{text-align:center;position:relative;z-index:1;padding:85px 0}.cta h2{color:#fff6e6;max-width:780px;margin:16px auto 15px}.cta p{color:#e4ddd0;margin-bottom:25px}
/* Inner page banners */
.page-hero{background:#20322a;color:#fff8ec;position:relative;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 95% 40%,#c29a6f2c,transparent 45%),radial-gradient(ellipse at 2% 130%,#d59e6820,transparent 46%)}.page-hero-inner{position:relative;text-align:center;padding:78px 0 88px}.page-hero h1{font-size:clamp(2.7rem,5.1vw,5.4rem);margin:14px auto 20px;max-width:950px}.page-hero p{color:#e3e4d9;max-width:670px;margin:0 auto;line-height:1.8}.menu-section{padding:43px 0 102px}.menu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;flex-wrap:wrap}.categories{display:flex;gap:8px;flex-wrap:wrap}.filter-button{border:1px solid #dfd6c9;color:#5d6259;padding:9px 15px;border-radius:99px;font-size:.77rem;font-weight:700;background:#fffdf8;transition:all .2s}.filter-button:hover,.filter-button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.search-wrap{position:relative;flex-basis:255px;flex-grow:1;max-width:330px}.search-wrap input{width:100%;border:1px solid #dcd2c3;border-radius:8px;background:#fff;padding:12px 15px 12px 42px;font-size:.85rem;color:var(--ink);min-height:45px}.search-wrap svg{position:absolute;width:18px;left:14px;top:13px;stroke:#8b8e82;fill:none}.menu-count{font-size:.8rem;color:#787970;margin-bottom:21px}.menu-empty{text-align:center;padding:60px;background:#fff;border-radius:10px}.menu-footnote{margin-top:35px;background:#f0e7da;padding:14px 19px;border-radius:8px;font-size:.8rem;color:#68675e;border-left:3px solid var(--gold)}
/* Order page */
.order-section{background:var(--paper);padding:64px 0 100px}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:30px;align-items:start}.panel{background:var(--ivory);border:1px solid #e7dccd;border-radius:13px;padding:28px 30px;box-shadow:0 6px 24px #352c1f0a}.panel h2{font-size:2rem;margin:0 0 23px}.panel h3{font-size:1.4rem}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:34px}.choice-button{border:1px solid #dccdba;background:#fffaf3;border-radius:9px;display:flex;gap:11px;align-items:center;justify-content:center;padding:17px 10px;color:#545d52;font-weight:700;font-size:.88rem}.choice-button[aria-pressed=true]{background:#efe0ca;border-color:#bc925d;color:#302f22}.choice-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px}.field.full{grid-column:1/-1}.field label{font-weight:700;color:#313c32;font-size:.81rem}.field input,.field textarea,.field select{border:1px solid #d9d0c4;border-radius:7px;padding:13px 14px;background:#fff;width:100%;font-size:.9rem;color:var(--ink);min-height:47px}.field textarea{min-height:122px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9b9b93}.required-asterisk{color:var(--red)}.order-aside{position:sticky;top:111px}.cart-items{display:grid;gap:16px;max-height:450px;overflow:auto}.cart-item{display:grid;grid-template-columns:75px minmax(0,1fr);gap:13px;padding-bottom:15px;border-bottom:1px solid #eee6da}.cart-item img{height:75px;width:75px;object-fit:cover;border-radius:7px}.cart-item h3{font-family:var(--font-sans);font-size:.84rem;font-weight:700;letter-spacing:0;margin:0 0 5px;line-height:1.35}.cart-item small{color:#8b8075}.quantity-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.qty-controls{display:flex;align-items:center;gap:9px}.qty-controls button{width:27px;height:27px;background:#f0e4d3;border:0;border-radius:4px;font-weight:800}.qty-controls span{font-size:.83rem;font-weight:800}.remove-btn{border:0;background:none;color:#a05945;font-size:.75rem;text-decoration:underline}.cart-empty{text-align:center;padding:30px 8px 17px}.cart-empty-icon{font-size:2.8rem;color:#be9460}.cart-empty p{font-size:.86rem;margin-bottom:20px}.cart-total{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-top:21px;padding-top:20px;border-top:1px solid var(--line);font-size:.91rem;font-weight:800}.cart-total small{font-size:.76rem;font-weight:600;color:#8c867b}.notice{background:#f4eddf;border:1px solid #e9dbc2;border-radius:8px;padding:16px 17px;font-size:.8rem;color:#706456;line-height:1.7;margin-top:18px}.summary-wrap{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.summary-wrap[hidden]{display:none}.summary-wrap textarea{min-height:255px;white-space:pre-wrap}.summary-buttons{display:flex;gap:10px;flex-wrap:wrap}.summary-buttons .btn{flex:1;white-space:normal}.status-line{min-height:23px;font-size:.8rem;color:var(--green);font-weight:700;margin:8px 0}
/* Contact page */
.contact-section{padding:68px 0 110px}.contact-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:32px}.contact-side{display:flex;flex-direction:column;gap:20px}.contact-details{padding:30px;background:#f1e7d7;border:1px solid #e6d9c6;border-radius:13px}.contact-detail{display:flex;align-items:flex-start;gap:16px;margin:0 0 25px}.contact-detail:last-child{margin:0}.detail-icon{width:41px;height:41px;border-radius:100%;display:flex;align-items:center;justify-content:center;background:#e1ceb0;color:#6e4c31;font-size:1.14rem;flex-shrink:0}.contact-detail b{font-size:.82rem;display:block;margin-bottom:4px}.contact-detail p{font-size:.88rem;margin:0;overflow-wrap:anywhere}.contact-map{min-height:220px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 63% 38%,#d1c9b9 0%,transparent 16%),repeating-linear-gradient(34deg,#e7e9dc 0 13px,#e1e5d9 13px 16px,#f0ede3 16px 44px);border:1px solid #e4dacb;color:#4f6151;text-align:center;padding:20px}.contact-map .map-pin{background:#274b38;color:#fff;padding:14px;border-radius:50%;font-size:1.3rem;line-height:1;margin-bottom:15px}.contact-map p{margin:0;font-size:.85rem;font-weight:700;color:#4e6654;max-width:260px}
/* Footer */
.footer{background:#111815;color:#f2f1ea}.footer-main{padding:72px 0 60px;display:grid;grid-template-columns:1.2fr .98fr 1.03fr .78fr;gap:37px}.footer h3{font-family:var(--font-sans);font-size:.77rem;font-weight:800;letter-spacing:.1em;color:#fff5e4;margin:0 0 23px}.footer p{color:#c2c6bd;font-size:.78rem;line-height:1.8;margin-bottom:15px;overflow-wrap:anywhere}.footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:17px}.footer-brand img{width:54px;height:54px}.footer-brand span{font-family:var(--font-display);font-size:1.44rem;color:#ffebc9}.footer-links{display:grid;gap:10px;align-content:start}.footer a{color:#d5d7ce;font-size:.79rem}.footer a:hover{color:#f3c88c}.footer-text-link{display:block;margin:11px 0}.footer-placeholder{color:#e8c8a0!important;font-style:italic}.footer-bottom{background:#222421;border-top:1px solid #ffffff12;padding:20px 0;text-align:center}.footer-bottom p{font-size:.72rem;color:#b3b2aa;margin:0}.footer-bottom .footer-meta{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-bottom:5px}.footer-bottom strong{font-weight:500;color:#d8c6a7}.footer-demo{padding-top:10px;color:#bdb5a5;font-size:.67rem;line-height:1.7}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,12px);background:#1b372c;border:1px solid #c3a779;color:#fff;border-radius:8px;z-index:100;padding:11px 23px;font-size:.82rem;box-shadow:0 10px 30px #0004;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Responsive breakpoints */
@media(max-width:1120px){.nav-inner{gap:13px}.brand{min-width:230px}.site-nav{gap:20px}.hero-copy{padding-right:15px}.hero h1{font-size:clamp(3rem,5.7vw,5.2rem)}.hero-inner{min-height:590px}.hero-media{min-height:590px}.footer-main{gap:20px}.cuisine-grid{gap:11px}.cuisine-tile{min-height:265px}.cuisine-tile>div{padding:20px 13px}.cuisine-tile strong{font-size:1.25rem}}
@media(max-width:900px){.nav-inner{height:73px}.brand{min-width:0;margin-right:auto}.brand img{height:52px;width:52px}.brand-text strong{font-size:1.35rem}.menu-toggle{display:flex}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#17241d;flex-direction:column;align-items:stretch;gap:0;padding:13px 24px 23px;border-top:1px solid #ffffff24;box-shadow:0 20px 35px #0005}.site-nav.open{display:flex}.site-nav a{padding:13px 0;border-bottom:1px solid #ffffff13;font-size:.85rem}.site-nav a:after{bottom:7px}.hero-inner{grid-template-columns:1fr 1fr;min-height:520px}.hero-media{min-height:520px}.hero-emblem{width:285px}.hero-copy{padding:55px 8px 55px 0}.hero h1{font-size:clamp(2.75rem,6vw,4.4rem)}.intro-grid{gap:35px}.intro-visual{height:430px}.section{padding:85px 0}.cuisine-grid{grid-template-columns:repeat(3,1fr)}.cuisine-tile{min-height:290px}.dish-grid{gap:17px}.dish-image{height:190px}.dish-content{padding:17px}.dish-content h3{font-size:1.3rem}.order-layout{grid-template-columns:minmax(0,1fr) 315px;gap:18px}.panel{padding:22px}.footer-main{grid-template-columns:repeat(2,1fr);gap:30px 45px}}
@media(max-width:680px){.container{width:min(100% - 32px,1220px)}.topbar{font-size:.61rem;padding:6px 8px}.nav-inner{height:68px;gap:9px}.brand img{height:48px;width:48px}.brand-text strong{font-size:1.16rem}.brand-text small{font-size:.41rem;letter-spacing:.07em}.lang-button{min-width:74px;padding:7px 8px;gap:6px;font-size:.72rem}.flag-icon{width:16px;height:11px}.lang-options{position:fixed;top:84px;right:16px;left:16px;min-width:0;width:min(290px,calc(100vw - 32px));margin-left:auto;max-height:min(62vh,360px);overflow:auto;padding:10px;border-radius:16px}.cart-link{width:37px;height:38px}.menu-toggle{width:37px;height:38px}.nav-actions{gap:7px}.hero-inner{grid-template-columns:1fr;min-height:unset}.hero-copy{text-align:left;padding:69px 0 48px}.hero h1{font-size:clamp(3.15rem,12vw,5rem);margin:15px 0 22px}.hero-copy>p{font-size:.99rem}.hero-fine{margin-top:31px}.hero-media{min-height:460px;margin:0 -16px}.hero-media:after{background:linear-gradient(0deg,#18231e91,transparent 40%)}.hero-emblem{width:min(78vw,360px)}.hero-mini{right:24px;bottom:20px}.benefit-grid{grid-template-columns:1fr;padding:0}.benefit{padding:15px 10px;border-right:0;border-bottom:1px solid var(--line);justify-content:flex-start}.benefit:last-child{border:0}.section{padding:70px 0}.section-head{margin-bottom:34px}.section-head h2{font-size:clamp(2.15rem,9vw,3.7rem)}.intro-grid{grid-template-columns:1fr;gap:44px}.intro-visual{height:380px}.intro-visual img:first-child{width:75%;height:83%}.intro-visual img:nth-child(2){width:54%;height:59%}.intro-stamp{width:101px;height:101px;font-size:.92rem;left:0;bottom:0}.intro-copy h2{font-size:2.8rem}.cuisine-grid{grid-template-columns:repeat(2,1fr)}.cuisine-tile{min-height:250px}.cuisine-tile strong{font-size:1.28rem}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.dish-image{height:165px}.dish-content{padding:13px}.dish-content h3{font-size:1.21rem}.dish-content p{font-size:.77rem;min-height:49px}.dish-bottom{align-items:center;gap:6px}.add-btn{padding:9px;min-width:38px;min-height:36px;font-size:.74rem}.add-btn .add-text{display:none}.price{font-size:.78rem;gap:4px}.price-blank{width:28px}.steps{grid-template-columns:1fr;gap:15px}.step{padding:26px 25px}.cta-inner{padding:67px 0}.page-hero-inner{padding:65px 0 70px}.page-hero h1{font-size:clamp(2.6rem,10vw,4rem)}.menu-section{padding-top:29px}.menu-toolbar{gap:14px}.categories{gap:6px}.filter-button{padding:8px 11px;font-size:.7rem}.search-wrap{max-width:none;flex-basis:100%}.order-section{padding:29px 0 80px}.order-layout{grid-template-columns:1fr}.order-aside{position:static}.order-aside{order:-1}.form-grid{grid-template-columns:1fr;gap:0}.panel{padding:23px 18px}.contact-section{padding:30px 0 76px}.contact-layout{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr;gap:37px 23px;padding:49px 0 46px}.footer-brand span{font-size:1.22rem}.footer-main h3{font-size:.71rem}.footer-bottom .footer-meta{flex-direction:column;gap:4px}.footer-bottom p{font-size:.68rem}}
@media(max-width:400px){.brand-text small{display:none}.brand-text strong{font-size:1.08rem}.brand img{width:42px;height:42px}.nav-actions{gap:5px}.hero h1{font-size:2.9rem}.hero-buttons .btn{padding:12px 15px;font-size:.71rem}.cuisine-tile{min-height:207px}.dish-grid{grid-template-columns:1fr}.dish-image{height:210px}.dish-content{padding:19px}.dish-content h3{font-size:1.4rem}.dish-content p{font-size:.86rem;min-height:unset}.add-btn .add-text{display:inline}.price-blank{width:58px}.footer-main{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

[hidden]{display:none!important}

/* V4 grouped menu sections — retains V3 card layout */
#menu-grid{display:block}
.menu-group{margin:0 0 66px;scroll-margin-top:115px}
.menu-group-header{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-bottom:1px solid #e8dbc6;padding:0 0 16px;margin:3px 0 24px}
.menu-group-header h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,3.2vw,2.4rem);margin:0;color:#24382b}
.menu-group-header span{font-size:.76rem;letter-spacing:.06em;color:#867762;white-space:nowrap}
.menu-group .dish-grid{display:grid}
.dish-card{transition:transform .22s,box-shadow .22s}
.dish-card:hover{transform:translateY(-3px)}
@media(max-width:680px){.menu-group{margin-bottom:45px}.menu-group-header{margin-bottom:17px}.menu-group-header h2{font-size:1.7rem}}

/* ===== ThaiMex public launch — V4 approved design preserved ===== */
:root{--phone-gold:#dfb778;--phone-deep:#152d23}
.site-nav .nav-call{appearance:none;border:0;background:none;color:#efe7dd;font-size:.76rem;letter-spacing:.06em;font-weight:700;line-height:1.62;padding:31px 1px;position:relative}
.site-nav .nav-call:after{content:'';position:absolute;bottom:23px;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.site-nav .nav-call:hover:after,.site-nav .nav-call:focus-visible:after{transform:scaleX(1)}
.header-call{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;appearance:none;background:#cfad78;color:#15291e;border:1px solid #f2d4a2;border-radius:10px;box-shadow:0 5px 20px #0002;transition:background .2s,transform .2s}
.header-call:hover{background:#edd1a2;transform:translateY(-2px)}
.header-call svg{width:20px;height:20px}
/* No cart: the CTA is now a direct phone enquiry */
.dish-bottom{min-height:66px;align-items:center}
.dish-bottom .add-btn{border-radius:9px;padding:9px 14px;gap:9px}
.dish-bottom .add-btn svg{flex-shrink:0}
.menu-footnote{margin-top:26px}
/* Refined, information-rich footer */
.final-footer{background:#101915;position:relative;border-top:1px solid #d4b17d45}
.final-footer:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent 0%,#b89159 35%,#e1c28a 50%,#b89159 65%,transparent 100%);opacity:.7}
.final-footer .footer-main{grid-template-columns:1.2fr 1fr 1.12fr 1.02fr;gap:44px;padding:78px 0 67px}
.final-footer .footer-col{min-width:0}
.final-footer .footer-brand{text-decoration:none;margin-bottom:22px;display:flex;align-items:center;gap:12px}
.final-footer .footer-brand img{width:58px;height:58px;border-radius:50%;background:#17251f;box-shadow:0 0 0 1px #dfb77866}
.final-footer .footer-brand span{font-family:var(--font-display);font-size:1.7rem;font-weight:500;color:#ffe6bb}
.final-footer .footer-col h3{font-size:.73rem;color:#e8c58a;letter-spacing:.17em;margin:11px 0 25px}
.final-footer p{line-height:1.75;margin-bottom:14px;color:#c5cbc1;font-size:.82rem}
.final-footer .footer-slogan{color:#f0ce98;font-family:var(--font-display);font-size:1.04rem;font-style:italic}
.final-footer address{font-style:normal;display:grid;gap:7px;font-size:.86rem;line-height:1.5;color:#d6dbd1}
.final-footer address strong{color:#fff3dd;font-size:.91rem;margin-bottom:3px}
.final-footer .footer-action{display:inline-flex;align-items:center;gap:8px;color:#e9c88e;font-size:.81rem;border-bottom:1px solid #d8b98280;margin-top:23px;padding-bottom:6px}
.final-footer .footer-action:hover{color:#ffe5b6}
.final-footer .hours-lines{display:grid;gap:16px}
.final-footer .hours-lines>div{display:flex;flex-direction:column;gap:5px}
.final-footer .hours-lines span{font-size:.83rem;color:#dbe0d6}
.final-footer .hours-lines strong{font-size:1.07rem;font-weight:750;letter-spacing:.025em;color:#f8e0b4}
.final-footer .hours-lines .closed-day span{color:#d4bb9a}
.final-footer .footer-small-note{font-size:.73rem;color:#aab8a8;margin-top:28px}
.final-footer .footer-phone{font-size:1.17rem;font-weight:800;letter-spacing:.018em;color:#f5d494;display:block;margin-bottom:9px;white-space:normal}
.final-footer .footer-phone:hover{color:#fff0d2}
.final-footer .footer-call-button{border:1px solid #d8b982;background:#dfbb83;color:#17241b;padding:10px 20px;border-radius:8px;font-size:.78rem;font-weight:800;display:inline-flex;justify-content:space-between;gap:24px;margin:12px 0 22px;transition:background .2s}
.final-footer .footer-call-button:hover{background:#f1d29c}
.final-footer .footer-links{display:flex;flex-wrap:wrap;gap:10px 16px}
.final-footer .footer-links a{font-size:.75rem;color:#d4dbcf}
.final-footer .footer-links a:hover{color:#eed2a0}
.final-footer .footer-bottom{background:#202a25;border-top:1px solid #f0d8a51c;padding:19px 0}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.final-footer .footer-bottom p{font-size:.73rem;margin:0}
.final-footer .footer-bottom span{font-size:.73rem;color:#aeb8ae}
.final-footer .footer-bottom a{font-size:.75rem;color:#d8c49f}
/* Modal: all order/reservation actions converge on the dial action. */
body.modal-open{overflow:hidden}
#phone-modal-root[hidden]{display:none!important}
#phone-modal-root{position:fixed;inset:0;z-index:10000}
.phone-modal-backdrop{position:absolute;inset:0;background:rgba(7,17,12,.8);display:grid;place-items:center;padding:18px;overflow-y:auto;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.phone-modal{position:relative;isolation:isolate;background:linear-gradient(145deg,#fcf9f2 0%,#f3ebdb 100%);border:1px solid #c3a677;box-shadow:0 28px 100px #0009,0 0 0 5px #ffffff09;border-radius:23px;padding:43px 34px 32px;width:min(100%,490px);max-height:calc(100dvh - 36px);overflow:auto;text-align:center;color:#20342a;animation:modal-pop .22s ease-out}
@keyframes modal-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.phone-modal:before{content:'';position:absolute;top:0;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,#c6a16d,transparent)}
.modal-close{position:absolute;top:14px;right:15px;display:grid;place-items:center;border:1px solid #e3d8c7;background:#fff9ee;color:#4c5848;border-radius:50%;font-size:1.6rem;line-height:1;width:36px;height:36px}
.modal-close:hover{background:#e8ddc8}
.modal-icon{width:68px;height:68px;border-radius:50%;background:#1b382b;color:#f3d19a;display:grid;place-items:center;margin:0 auto 21px;box-shadow:0 0 0 6px #dec89e50}
.modal-icon svg{height:30px;width:30px}
.modal-eyebrow{display:block;font-size:.7rem;letter-spacing:.17em;color:#86673d;font-weight:800;text-transform:uppercase}
.phone-modal h2{font-size:clamp(2rem,6vw,2.8rem);margin:9px 0 13px;color:#213b2e}
.phone-modal p{color:#606c60;font-size:.93rem;max-width:350px;margin:0 auto 20px}
.phone-modal .modal-dish{font-weight:700;color:#325541;padding:8px 13px;border:1px solid #d5c7ac;border-radius:9px;background:#f1eadc;margin-bottom:17px}
.modal-call-button{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:19px;background:#244632;color:#fff8ec;border:1px solid #234531;border-radius:11px;padding:16px 19px;font-size:.95rem;font-weight:800;box-shadow:0 9px 24px #14322135;transition:background .2s,transform .2s}
.modal-call-button:hover{background:#356243;color:#fff;transform:translateY(-2px)}
.modal-number{display:block;font-size:1.23rem;font-weight:800;color:#2b503c;letter-spacing:.025em;margin:17px 0 18px}
.modal-hours{border-top:1px solid #e2d8c8;border-bottom:1px solid #e2d8c8;padding:15px 0;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;color:#4d604f;font-weight:650;font-size:.82rem}
.phone-modal .modal-hint{font-size:.76rem;margin:17px auto 0;color:#776d60}
/* New phone-led order page */
.phone-page-section{padding:65px 0 90px}
.phone-page-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:stretch}
.phone-page-grid .panel{padding:40px 40px 43px;box-shadow:var(--shadow)}
.phone-page-grid .panel h2{font-size:clamp(2.2rem,3.7vw,3.45rem);margin:16px 0 18px;color:#21382c}
.phone-page-grid .panel p{max-width:650px}
.phone-number-large{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:#244631;letter-spacing:.018em;margin:22px 0 22px}
.phone-cta-row{display:flex;flex-wrap:wrap;gap:12px}
.phone-page-grid .reservation-panel{background:#f4ebdc}
.reservation-panel .btn{margin-bottom:24px}
.compact-hour-card{display:grid;gap:7px;border-top:1px solid #dccbb4;padding-top:19px;color:#5d6b5a;font-size:.9rem}
.compact-hour-card strong{font-size:1.19rem;color:#284735}
/* New contact page */
.contact-call-panel{background:linear-gradient(165deg,#fffcf7 0%,#f3e7d5 100%);padding:45px 38px}
.contact-call-panel h2{font-size:clamp(2.2rem,4.2vw,3.35rem);margin:15px 0 18px}
.contact-call-panel>p{max-width:520px}
.contact-number{display:block;font-size:clamp(1.55rem,3vw,2.1rem);color:#244b35;font-weight:800;margin:24px 0 1px}
.contact-helper{font-size:.87rem;color:#70816f}
.contact-call-panel .btn{margin:5px 0 20px}
.contact-hours-list{border-top:1px solid #ddceb9;padding-top:19px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;color:#526752;font-size:.85rem}
.contact-hours-list strong{color:#274a34;font-size:1.07rem}
.contact-details .detail-heading{font-size:1.85rem;margin-bottom:24px;color:#2b4233}
.contact-detail p a{color:#254d35;font-weight:700}
.contact-map{gap:12px;min-height:240px}
.contact-map .btn{margin-top:2px}
/* readable privacy note */
.legal-page{max-width:800px;background:var(--ivory);border-radius:17px;padding:45px 48px;box-shadow:var(--shadow)}
.legal-page p{font-size:1.01rem;line-height:1.95;margin-bottom:22px}
.legal-page .btn{margin-top:11px}
@media(max-width:900px){
 .site-nav .nav-call{text-align:left;width:100%;padding:13px 0;border-bottom:1px solid #ffffff13;font-size:.85rem}
 .site-nav .nav-call:after{bottom:7px}
 .final-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 45px}
 .phone-page-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
 .header-call{height:38px;width:38px;border-radius:9px}
 .header-call svg{width:18px;height:18px}
 .dish-bottom .add-btn{padding:9px 11px}
 .final-footer .footer-main{gap:35px 23px;padding:54px 0 48px}
 .final-footer .footer-col h3{margin-top:0;margin-bottom:15px}
 .final-footer .footer-phone{font-size:1rem}
 .final-footer .footer-bottom-inner{flex-direction:column;text-align:center;gap:9px}
 .phone-modal{padding:44px 23px 25px}
 .phone-page-section{padding:28px 0 70px}
 .phone-page-grid .panel{padding:28px 22px}
 .phone-cta-row .btn{width:100%}
 .contact-call-panel{padding:29px 23px}
 .legal-page{padding:28px 22px}
}
@media(max-width:400px){
 .final-footer .footer-main{grid-template-columns:1fr;gap:27px}
 .final-footer .footer-col{padding-bottom:20px;border-bottom:1px solid #ffffff15}
 .final-footer .footer-col:last-child{border-bottom:none}
 .dish-bottom .add-btn .add-text{display:inline;font-size:.69rem}
 .dish-bottom .add-btn{min-width:unset}
 .header-call{width:35px;height:37px}
 .nav-actions{gap:5px}
}
@media(prefers-reduced-motion:reduce){.phone-modal{animation:none}}
.hero-reserve-link{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;border-bottom:1px solid #e5be86a6;color:#e8ca9d;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:23px;padding:4px 2px 6px}
.hero-reserve-link:hover{color:#ffe0b1;border-bottom-color:#ffe0b1}
.hero-fine{margin-top:25px}

/* === ONLINE ORDERING / RESPONSIVE REFINEMENTS === */
.hero-buttons-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,460px);gap:12px;align-items:stretch}
.hero-buttons-v2 .btn{white-space:normal;min-height:55px;text-align:center;display:flex;justify-content:center;border-radius:8px;line-height:1.3;padding:13px 14px}
.hero-buttons-v2 .hero-menu-wide{grid-column:1/-1;background:linear-gradient(135deg,#d7ae74,#f0d5a6);color:#1c2822;border-color:#e8c895;font-weight:900;box-shadow:0 10px 28px #d6ac7228}
.hero-buttons-v2 .btn:nth-child(2){background:#e7cc9e;color:#182720;border-color:#e7cc9e}
.hero-buttons-v2 .btn:nth-child(2):hover,.hero-buttons-v2 .hero-menu-wide:hover{filter:brightness(1.07)}
.header-cart{position:relative;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;min-width:42px;min-height:42px;background:#e6c694;color:#18241c;border-radius:9px}
.header-cart .cart-icon{font-size:19px;line-height:1}
.header-cart .cart-badge{position:absolute;top:-9px;right:-9px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:99px;background:#b95135;color:white;font-size:11px;font-weight:800;border:2px solid #15251c;padding:1px}
.site-nav .nav-order-link{font-weight:800;color:#ead0a2}
.dish-photo-button{border:0;padding:0;background:transparent;width:100%;display:block;cursor:zoom-in;overflow:hidden}
.dish-photo-button img{width:100%;object-fit:cover;transition:transform .26s}
.dish-photo-button:hover img{transform:scale(1.025)}
.dish-content p{margin-bottom:5px}
.dish-readmore{border:0;border-bottom:1px solid #c8a06c;background:transparent;color:#9d6533;font-size:.77rem;letter-spacing:.025em;font-weight:800;padding:4px 0 3px;margin:5px 0 15px;cursor:pointer}
.dish-readmore:hover{text-decoration:none;color:#683e1f}
.dish-card .add-btn{min-width:42px;min-height:39px;display:inline-flex;justify-content:center;align-items:center;gap:5px;border-radius:9px}
.dish-card .add-btn span[aria-hidden]{font-size:20px;line-height:1}
#dish-detail-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
#dish-detail-overlay[hidden]{display:none}
.dish-detail-backdrop{position:fixed;inset:0;background:#0b120edd;display:grid;place-items:center;padding:18px;overflow-y:auto;backdrop-filter:blur(8px)}
.dish-detail-panel{background:#fffcf7;color:#20362a;max-width:630px;width:min(100%,630px);border-radius:20px;box-shadow:0 30px 90px #0009;position:relative;overflow:hidden;margin:auto;border:1px solid #e4ceaa}
.dish-detail-close{position:absolute;z-index:3;top:12px;right:13px;background:#172b23;color:white;border:0;border-radius:50%;width:38px;height:38px;font-size:24px;line-height:1}
.dish-detail-image{width:100%;height:min(42vh,320px);object-fit:cover}
.dish-detail-copy{padding:24px 28px 28px}
.dish-detail-copy h2{color:#213b2e;font-size:clamp(1.9rem,5vw,2.7rem);margin:10px 0}
.dish-detail-copy p{font-size:1rem;color:#46574b;line-height:1.8;white-space:normal;overflow:visible;display:block}
.dish-detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}
.dish-detail-bottom strong{font-size:1.35rem;color:#87552c}
body.detail-open{overflow:hidden}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.8fr);gap:26px;align-items:start}
.checkout-form-panel,.checkout-cart-panel{background:#fffdf8;padding:31px;border:1px solid #e6dccb;border-radius:16px;box-shadow:0 20px 50px #2535260c}
.checkout-form-panel h2,.checkout-cart-panel h2{font-size:clamp(1.85rem,3vw,2.35rem);color:#203a2e;margin-bottom:25px}
.delivery-pickup-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px}
.delivery-pickup-switch .choice-button{padding:14px 10px;min-height:54px;justify-content:center;line-height:1.3;text-align:center;border:1px solid #d6c8b1;border-radius:9px;font-size:.87rem;font-weight:800}
.delivery-pickup-switch [aria-pressed="true"]{background:#264638;border-color:#264638;color:#fff}
.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.checkout-fields label{display:flex;flex-direction:column;gap:7px;color:#344338;font-weight:800;font-size:.85rem;min-width:0}
.checkout-full{grid-column:1/-1;min-width:0}
.checkout-fields input:not([type="radio"]):not([type="checkbox"]),.checkout-fields textarea,.checkout-fields select{width:100%;border:1px solid #d5c9b9;border-radius:8px;padding:12px 13px;background:#fff;color:#203329;min-height:48px;font:inherit;font-weight:400}
.checkout-fields input:focus-visible,.checkout-fields select:focus-visible,.checkout-fields textarea:focus-visible{outline:2px solid #c89e61;outline-offset:1px}
.checkout-fields textarea{resize:vertical}
#address-fields[hidden]{display:none}
.payment-options{border:1px solid #e7dac5;border-radius:10px;padding:16px;display:grid;gap:9px}
.payment-options legend{font-weight:800;font-size:.87rem;color:#344338;padding:0 6px}
.payment-radio{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;background:#f8f3eb;padding:10px 12px;border-radius:8px;cursor:pointer}
.payment-radio input{accent-color:#284e38;width:17px;height:17px}
.payment-note{color:#786d5e;font-size:.77rem;font-weight:400;margin:0}
.privacy-check{display:block!important;line-height:1.65;font-size:.81rem!important;font-weight:500!important}
.privacy-check input{width:17px;height:17px;vertical-align:middle;margin-right:8px;accent-color:#264638}
.privacy-check a{text-decoration:underline;color:#976431}
.checkout-warning{border-radius:9px;padding:14px 16px;margin:18px 0;background:#fff1dc;border:1px solid #e8cba1;color:#6f4218;font-size:.86rem;font-weight:800}
.checkout-warning[hidden]{display:none}
.checkout-status{margin:15px 0;font-size:.87rem;font-weight:750;color:#735021;min-height:20px}
.checkout-success{background:#e3f0e1;color:#245a30;padding:15px;border-radius:9px;line-height:1.6}
.checkout-failed{background:#fff0eb;color:#982d21;padding:14px;border-radius:9px}
.checkout-submit{width:100%;margin-top:4px;min-height:54px}
.checkout-submit:disabled{opacity:.6;cursor:not-allowed}
.order-disclaimer{font-size:.78rem;color:#767268;line-height:1.6;margin-top:13px}
.checkout-cart-panel{position:sticky;top:112px}
.checkout-summary-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px}
.checkout-summary-title a{white-space:nowrap;font-size:.69rem}
.checkout-cart-row{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid #ede5d8}
.checkout-cart-row>img{height:76px;width:76px;object-fit:cover;border-radius:10px}
.checkout-item-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.checkout-item-main strong{font-size:.9rem;line-height:1.3;color:#213b2e}
.checkout-item-main small{color:#8b5d39;font-weight:800}
.checkout-item-controls{display:flex;align-items:center;gap:10px;margin-top:3px}
.checkout-item-controls button:not(.checkout-remove){width:28px;height:28px;border:1px solid #d9c8af;border-radius:5px;background:#fffdf9;color:#173a24;font-weight:900}
.checkout-remove{border:0;background:transparent;text-decoration:underline;font-size:.69rem;color:#9b5139;margin-left:auto}
.checkout-empty{padding:25px 3px;color:#746d61;text-align:center}
.checkout-totals{padding-top:20px}
.checkout-totals>div:not(.total-row){display:flex;justify-content:space-between;gap:18px;margin:8px 0;color:#4f5148;font-size:.87rem}
.checkout-totals strong{color:#203b2c}
.checkout-totals .total-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1d3c0;margin-top:18px;padding-top:15px;font-weight:900;font-size:1.07rem;color:#203b2c}
.delivery-message,.checkout-note{font-size:.79rem;color:#7c6448;line-height:1.7;margin:12px 0}
.checkout-note{padding:14px;background:#f7f0e4;border-radius:9px;margin-bottom:20px}
.checkout-cart-panel>.btn{margin-top:10px}
@media(max-width:920px){.checkout-grid{grid-template-columns:1fr}.checkout-cart-panel{position:static;order:-1}}
@media(max-width:680px){
 .hero-buttons-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .hero-buttons-v2 .btn{font-size:.68rem;min-height:58px;padding:10px 8px}
 .hero-buttons-v2 .hero-menu-wide{grid-column:1/-1}
 .header-cart{min-width:36px;min-height:38px}
 .header-phone{display:none}
 .checkout-form-panel,.checkout-cart-panel{padding:22px 18px}
 .checkout-grid{gap:18px}
 .checkout-fields{grid-template-columns:1fr}
 .checkout-fields>*{grid-column:1/-1}
 .dish-detail-backdrop{padding:12px}
 .dish-detail-image{height:230px}
 .dish-detail-copy{padding:20px}
 .dish-detail-bottom{flex-wrap:wrap}
 .dish-readmore{font-size:.83rem;min-height:34px}
 .dish-content p{-webkit-line-clamp:2;max-height:none}
 .delivery-pickup-switch .choice-button{font-size:.76rem}
}

.hero-delivery-note{margin:13px 0 3px;color:#e4c793!important;font-weight:800;font-size:.82rem!important;line-height:1.5!important;padding:8px 0}
.menu-delivery-banner{padding:15px 19px;margin:0 0 23px;border-left:4px solid #bb8e5a;background:#f6eee1;color:#674925;border-radius:9px;font-size:.89rem;font-weight:800;line-height:1.6}


/* WhatsApp customer-reviewed order handoff — launch update, Oct 2026 */
#whatsapp-review-overlay[hidden]{display:none!important}
#whatsapp-review-overlay{position:fixed;inset:0;z-index:12000}
.wa-review-open{overflow:hidden}
.wa-review-backdrop{position:fixed;inset:0;background:rgba(6,20,13,.86);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.wa-review-panel{position:relative;width:min(100%,590px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;margin:auto;padding:clamp(22px,4vw,38px);border-radius:22px;border:1px solid #d2af73;background:linear-gradient(145deg,#fffdf8,#f4ecdd);color:#1c3628;box-shadow:0 25px 95px #000a}
.wa-review-brand{color:#836228;font-size:.77rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.wa-review-brand span{font-size:1.25rem;color:#1a8850;vertical-align:middle}
.wa-review-panel h2{font-size:clamp(1.5rem,5vw,2.2rem);margin:12px 28px 10px 0;color:#193c2c;line-height:1.13}
.wa-review-lead{margin:0 0 17px;color:#475d50;line-height:1.5;font-size:.92rem}
.wa-review-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;border-radius:100%;border:1px solid #dccba8;background:#fff;color:#234033;font-size:1.6rem;cursor:pointer}
.wa-review-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e5dccc;font-size:.91rem}
.wa-review-sum strong{white-space:nowrap}
.wa-preview-label{display:block;font-size:.85rem;font-weight:800;color:#2b4636;margin:17px 0 8px}
.wa-preview-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-y:auto;max-height:195px;border:1px solid #e4d6bd;border-radius:10px;padding:14px;background:#f7f2e8;color:#284735;font:400 .83rem/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.wa-review-actions{display:grid;gap:10px;margin:17px 0 12px}
.wa-review-actions .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:49px;width:100%;border-radius:10px}
.wa-open-button{background:#168348!important;color:#fff!important;border:1px solid #14733f!important;font-weight:900;box-shadow:0 5px 15px #1683483b;text-decoration:none}
.wa-open-button:hover,.wa-open-button:focus-visible{background:#0c703a!important}
.wa-review-important{margin:0 0 5px;padding:11px 13px;border-radius:9px;background:#fff0d6;color:#75450e;font-size:.87rem;font-weight:800;line-height:1.5}
.wa-review-hint{font-size:.78rem;color:#566359;line-height:1.45;margin:8px 0 0}
@media(max-width:440px){.wa-review-backdrop{padding:10px}.wa-review-panel{padding:23px 18px;max-height:calc(100dvh - 20px)}.wa-preview-text{max-height:160px}.wa-review-panel h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.wa-review-panel{animation:none}}
