
/* Mobile-first booking conversion and restrained hospitality typography */
:root{--touch:44px}
html{-webkit-text-size-adjust:100%}
body{font-kerning:normal}
button,a,input,select{touch-action:manipulation}
#hospitality .hospitality-heading h2{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:720;letter-spacing:-.035em;font-size:clamp(30px,4.1vw,46px);line-height:1.3}
#hospitality .hospitality-heading h2 em{font-family:inherit;font-size:.65em;font-weight:450;letter-spacing:-.02em;white-space:normal}
#hospitality .hospitality-kicker{letter-spacing:.15em;font-size:11px}
#hospitality .hospitality-art img{width:min(100%,500px);max-height:unset!important;object-fit:contain}
#hospitality .special-photo-caption{font-size:12px;text-align:center;line-height:1.5;color:#7e715e;margin:6px 0 0}
#hospitality .special summary{gap:12px!important;min-height:60px!important;outline-offset:-2px}
#hospitality .special summary strong{font-size:15px!important;line-height:1.45!important;letter-spacing:0!important;font-weight:650!important}
#hospitality .special summary span{font-size:14px!important;font-weight:700!important;max-width:49%;line-height:1.35!important;font-variant-numeric:tabular-nums}
#hospitality .special-body small{font-size:13px!important;line-height:1.55}
#hospitality .counter button{min-width:38px;min-height:38px}
#hospitality .special-list{padding-top:4px!important}
#hospitality .special-book-btn{display:block;width:100%;max-width:450px;margin:24px auto 2px;padding:15px 18px;min-height:48px;background:#234d39;color:#fff;border:1px solid #234d39;border-radius:100px;font-weight:750;font-size:15px;box-shadow:0 8px 22px #234d3916}
#hospitality .special-book-btn:hover{background:#316047}
#booking{overscroll-behavior:contain}
#booking .dialog-main{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
#booking .dialog-top{position:sticky;top:0;z-index:5;background:#fffbf4;padding:6px 0 12px;margin:-6px 0 0;border-bottom:1px solid #f0e5d7}
#request-form label{font-size:13px}
#request-form input,#request-form textarea{min-height:46px;font-size:16px}
#request-form #status:not(:empty){background:#f0f6ec;color:#234a37;border:1px solid #d4e3ce;border-radius:11px;padding:12px 14px;line-height:1.5;font-size:13px}
#request-form .order-share-primary{min-height:54px;font-size:15px;background:#185038;border-color:#185038}
#request-form .order-zalo-fallback{min-height:46px;font-size:13px}
#request-form .order-sms-alt{min-height:44px;font-size:12px;background:transparent;color:#596553;border:1px dashed #cbbda5}
#request-form .micro{font-size:12px;line-height:1.55;padding:4px 3px}
.video-full-btn{display:block;margin:13px auto 0;min-height:44px;padding:10px 22px;background:#fff3dd;border:1px solid #e6d3b0;border-radius:50px;font-weight:750;color:#204b37}
.video-full-btn[hidden]{display:none}
@media(max-width:900px){#hospitality .hospitality-layout{gap:15px!important}}
@media(max-width:640px){
 #hospitality{padding:48px 0 54px}
 #hospitality .hospitality-heading h2{font-size:clamp(27px,7.2vw,33px);line-height:1.25}
 #hospitality .hospitality-heading h2 em{font-size:.66em}
 #hospitality .hospitality-art img{width:min(82%,310px);height:auto!important}
 #hospitality .special-photo-caption{font-size:11px}
 #hospitality .special summary{min-height:60px!important;padding:13px 0!important}
 #hospitality .special summary strong{font-size:14px!important}
 #hospitality .special summary span{font-size:13.5px!important;max-width:52%}
 #hospitality .special-body small{font-size:12.5px!important}
 #hospitality .small-note{font-size:12px;line-height:1.5}
 #booking{height:100dvh;border-radius:0;width:100vw}
 #booking .dialog-main{padding:15px 16px calc(22px + env(safe-area-inset-bottom))}
 #booking .dialog-top h2{font-size:24px}
 #request-form .form-row{grid-template-columns:1fr 1fr;gap:8px}
 #request-form input,#request-form textarea{width:100%}
 .message-box pre{font-size:13px;max-height:110px}
 .sticky-actions{gap:5px}
 .sticky-actions #cart-open{font-size:12px}
}
@media(max-width:350px){
 #request-form .form-row{grid-template-columns:1fr}
 #hospitality .special summary strong{font-size:13.5px!important}
 #hospitality .special summary span{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Specialty selection remains visible on mobile; details are optional. */
#hospitality .special-item{border-bottom:1px solid #decfb9;padding:14px 0 12px;min-width:0}
#hospitality .special-item:first-child{border-top:1px solid #decfb9}
#hospitality .special-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
#hospitality .special-item-info{min-width:0;flex:1}
#hospitality .special-item-info h3{margin:0 0 3px;font:650 15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;color:#254533;letter-spacing:0}
#hospitality .special-item-price{display:block;color:#854638;font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}
#hospitality .special-item .counter{display:flex;align-items:center;gap:5px;flex-shrink:0}
#hospitality .special-item .counter button{min-height:42px;min-width:42px}
#hospitality .special-item .counter output{min-width:20px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
#hospitality .special-more{margin:5px 0 0;border:0}
#hospitality .special-more summary{display:inline-flex!important;min-height:32px!important;padding:5px 0!important;align-items:center;gap:6px;font-size:12px;color:#776a59;cursor:pointer;list-style:none}
#hospitality .special-more summary::-webkit-details-marker{display:none}
#hospitality .special-more[open] summary span{transform:rotate(180deg)}
#hospitality .special-methods{display:flex;flex-wrap:wrap;gap:5px;padding:6px 0 3px}
#hospitality .special-methods span{background:#fffaf2;border:1px solid #e5d7c3;color:#4c5948;border-radius:20px;padding:5px 9px;font-size:12px}
#hospitality .special-hint{font-size:11px;color:#827464;margin:6px 0 0}
#hospitality .special-item .counter button:focus-visible,#hospitality .special-more summary:focus-visible{outline:2px solid #235941;outline-offset:3px}
@media(max-width:640px){
 #hospitality .special-item{padding:13px 0 11px}
 #hospitality .special-item-info h3{font-size:14px;line-height:1.45}
 #hospitality .special-item-price{font-size:12.5px}
 #hospitality .special-item .counter{gap:2px}
 #hospitality .special-item .counter button{min-width:40px;min-height:44px}
 #hospitality .special-item .counter output{min-width:17px}
 #hospitality .special-more summary{font-size:11.5px}
}

#booking a.order-share-primary,#booking a.order-zalo-fallback{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;min-height:48px;cursor:pointer}
#booking a.order-share-primary:focus-visible,#booking a.order-zalo-fallback:focus-visible{outline:3px solid #c99a47;outline-offset:3px}

/* 05/11 final fixes: exact original logo wordmark, stable 2-column signature grid */
.identity>span{display:flex;flex-direction:column;justify-content:center;min-width:0}
.identity small{white-space:nowrap}
.phone-nowrap{white-space:nowrap;display:inline-block}
.panel-actions a[href^="tel:"]{white-space:nowrap;flex-shrink:0}
.panel-actions .directions{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.maps-mark{flex:0 0 auto;vertical-align:middle}
#booking .btn.facebook{background:#1877f2;color:#fff;border-color:#1877f2}
#booking .btn.facebook:hover{background:#1264cf}
@media (max-width:640px){
 .identity small{font-size:7px;letter-spacing:.025em}
 /* Remove previous featured card 2-column span and horizontal feature layout */
 #signature .signature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #signature .signature-grid > .food-card,
 #signature .signature-grid > .food-card.food-featured,
 #signature .signature-grid > .food-card.food-featured:first-child{grid-column:auto!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important}
 #signature .signature-grid > .food-card img,
 #signature .signature-grid > .food-card.food-featured img,
 #signature .signature-grid > .food-card.food-featured:first-child img{height:auto!important;min-height:0!important;width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}
 #signature .signature-grid .food-info,
 #signature .signature-grid .food-card.food-featured:first-child .food-info{display:flex!important;flex:1!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;padding:10px!important;min-height:136px}
 #signature .signature-grid .food-info h3,
 #signature .signature-grid .food-card.food-featured:first-child h3{font-size:13px!important;line-height:1.35!important;min-height:0!important;margin:0 0 7px!important;overflow-wrap:anywhere}
 #signature .signature-grid .food-info small{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
 #signature .signature-grid .counter{display:flex;justify-content:flex-end!important;margin-top:10px!important}
 #signature .signature-grid .counter button{min-width:36px;min-height:39px}
 .reservation-panel .panel-actions{display:flex;flex-direction:column;align-items:stretch}
 .reservation-panel .panel-actions .btn{width:100%;justify-content:center;white-space:nowrap}
}
@media(max-width:380px){
 .identity small{font-size:6.4px}
 .site-header .identity{gap:6px}
 #signature .signature-grid .food-info{padding:8px!important}
}

/* Final header safeguard: original brand text without image overlay */
.identity > span > b{display:block;white-space:nowrap;font-family:Georgia,serif;color:#852525;font-size:24px;line-height:1.15;font-weight:700}
@media(max-width:640px){.identity > span > b{font-size:20px}}
@media(max-width:380px){.identity > span > b{font-size:17px}}

/* 05 Nov - full menu organised like printed PDF, without affecting homepage */
.menu-page .menu-grouped-results{display:block;margin-top:22px}
.menu-section-nav{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 0 11px;scrollbar-width:thin;scroll-snap-type:x proximity}
.menu-section-nav a{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;padding:10px 15px;border:1px solid #d4c19d;border-radius:99px;background:#fffaf2;color:#264a37;font-size:13px;font-weight:750}
.menu-section-nav a:hover,.menu-section-nav a:focus-visible{background:#214a35;color:#fff}
.menu-food-section{margin:0 0 39px;scroll-margin-top:92px}
.menu-food-section+.menu-food-section{padding-top:27px;border-top:1px solid #dac9ac}
.menu-food-heading{text-align:center;margin:0 0 23px}
.menu-food-heading h2{font-family:Georgia,serif;font-size:clamp(28px,3vw,39px);font-weight:500;color:#214a35;margin:5px 0 3px}
.menu-food-heading p{margin:0;color:#81705b;font-size:13px}
.menu-food-category{margin:0 0 25px}
.menu-food-subheading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 11px;padding:0 1px 9px;border-bottom:1px solid #dfcfb4}
.menu-food-subheading h3{font-size:19px;color:#832b2a;font-weight:750;margin:0}
.menu-food-subheading span{font-size:12px;color:#8a7c68;white-space:nowrap}
.menu-page .menu-grouped-results .menu-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.menu-page .menu-grouped-results .menu-entry{min-width:0}
.menu-empty{padding:30px 15px;text-align:center;color:#6b685b}
@media(max-width:700px){
 .menu-section-nav{margin:0 -4px 4px;gap:7px}
 .menu-section-nav a{padding:10px 12px;font-size:12px}
 .menu-food-section{margin-bottom:30px;scroll-margin-top:75px}
 .menu-food-heading{margin-bottom:18px}
 .menu-food-subheading h3{font-size:17px}
 .menu-page .menu-grouped-results .menu-results{grid-template-columns:1fr;gap:8px}
 .menu-page .menu-grouped-results .menu-entry{min-height:70px;padding:10px 11px}
}

/* Exact logo artwork: a single image, no overlay typography. */
.site-header .identity{display:flex;align-items:center;flex:0 0 auto;min-width:0;gap:0}
.site-header .identity img.brand-lockup{display:block;width:235px!important;max-width:100%;height:auto!important;max-height:56px!important;border-radius:0!important;background:transparent!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:700px){.site-header .identity img.brand-lockup{width:min(53vw,215px)!important;max-height:50px!important}}
@media(max-width:390px){.site-header .identity img.brand-lockup{width:min(52vw,195px)!important}}

/* 07 Nov: Clear Vietnamese diacritics on Windows (avoid Georgia's poor fallback). */
#regionS .section-head h2, #regions .section-head h2, #signature .section-head h2{
 font-family:'Segoe UI',Arial,'Noto Sans',sans-serif!important;
 font-weight:650!important;letter-spacing:-.022em!important;line-height:1.23!important;
}
/* Every size is a separately priced SKU in the cart / message. */
.menu-entry-variant{align-items:center;gap:12px}
.menu-entry-variant .menu-entry-info{flex:1;min-width:0}
.size-pick{display:grid;gap:3px;margin-top:7px;font-size:11px;color:#5a695f;font-weight:650}
.size-pick select{display:block;max-width:100%;width:100%;min-height:39px;padding:7px 26px 7px 9px;border:1px solid #c9b894;background:#fffcf5;border-radius:9px;font-size:12px;font-family:'Segoe UI',Arial,sans-serif;color:#254937;line-height:1.3}
.food-card .size-pick{min-width:0}.food-card .size-pick select{width:100%}
.menu-entry-variant .counter{flex-shrink:0}
#drive-player{display:block;border:0;width:100%;aspect-ratio:16/9;max-height:72dvh;background:#151515}
#drive-player[hidden]{display:none!important}
@media(max-width:640px){#regions .section-head h2,#signature .section-head h2{font-size:clamp(28px,8vw,36px)!important}.menu-entry-variant{gap:7px}.menu-entry-variant .counter{gap:3px}.menu-entry-variant .counter button{min-width:37px}}

.drive-direct-link{display:block;margin:10px auto 0;width:max-content;max-width:100%;padding:8px 16px;background:#fff4e4;color:#183b2d;border-radius:99px;font:700 13px/1.4 'Segoe UI',Arial,sans-serif;text-align:center}.drive-direct-link[hidden]{display:none!important}

/* Windows-safe font for the menu page title: prevents broken Vietnamese diacritics in Georgia. */
.menu-page .menu-intro h1 {
  font-family: system-ui, -apple-system, "Segoe UI", Arial, "Noto Sans", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.035em;
  line-height: 1.22;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
@media (max-width: 640px) {
  .menu-page .menu-intro h1 {font-size: clamp(30px, 8vw, 41px) !important;line-height:1.28;}
}
