/*
Theme Name: Cơm Gà 5612
Description: Mobile-first SEO theme adapted from the approved Google Stitch export.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: com-ga-5612
*/
:root{--cream:#fff9ed;--paper:#fff;--soft:#f4edde;--red:#920012;--red2:#b52226;--gold:#e9be47;--ink:#3d241f;--muted:#705d54;--line:#e6d4ab;--shadow:0 8px 24px rgba(61,36,31,.1);--radius:1.25rem;--shell:72rem;--pad:clamp(1.25rem,4vw,4rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.65;padding-bottom:4.75rem}img{display:block;max-width:100%;height:auto}a{color:var(--red);text-underline-offset:.2em}button,input,textarea{font:inherit}button,a{touch-action:manipulation}h1,h2,h3{line-height:1.2;margin-top:0}h1{font-size:clamp(2.35rem,7vw,4.5rem);letter-spacing:-.035em}h2{font-size:clamp(1.75rem,4vw,2.65rem)}h3{font-size:1.15rem}.shell{width:min(calc(100% - 2 * var(--pad)),var(--shell));margin-inline:auto}.narrow{max-width:48rem}.section{padding-block:clamp(3.5rem,8vw,6rem)}.screen-reader-text,.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.75rem 1rem;border:2px solid var(--red)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,249,237,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(230,212,171,.8)}.header-inner{min-height:4.5rem;display:flex;align-items:center;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--red);font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.brand span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red);color:white;font-size:.78rem}.primary-nav{margin-left:auto}.menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.menu a{color:var(--ink);font-weight:650;text-decoration:none}.menu a:hover,.menu a:focus-visible{color:var(--red)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem;color:var(--ink)}
.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;padding:.75rem 1.2rem;border:1px solid var(--red);border-radius:.85rem;background:var(--red);color:#fff;font-weight:750;text-decoration:none;cursor:pointer}.button:hover,.button:focus-visible{background:#6f000e}.button-outline{background:transparent;color:var(--red)}.button.button-outline:hover,.button.button-outline:focus-visible{border-color:var(--red);background:var(--red);color:#fff!important}.button.button-outline:hover *,.button.button-outline:focus-visible *{color:inherit!important}.button-small{min-height:2.65rem;padding:.55rem 1rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.eyebrow{color:var(--red);font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--muted)}
.breadcrumbs{display:flex;gap:.55rem;align-items:center;padding-top:1rem;font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden}.breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(2rem,6vw,5rem);min-height:min(45rem,82vh);padding-block:3.5rem}.hero-copy{max-width:35rem}.hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2rem;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-heading h2{margin-bottom:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.food-card,.content-card,.info-card{background:var(--paper);border:1px solid rgba(230,212,171,.8);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.food-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.food-card>div,.content-card,.info-card{padding:1.25rem}.food-card h2,.food-card h3{margin-bottom:.5rem}.food-card p{color:var(--muted)}.visit{background:var(--soft);padding-block:clamp(3.5rem,8vw,6rem)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.split img{width:100%;max-height:32rem;object-fit:cover;border-radius:var(--radius)}.faq{max-width:52rem}.faq details{border-bottom:1px solid var(--line);padding:1.25rem 0}.faq summary{font-weight:750;cursor:pointer}.page-header{text-align:center;max-width:46rem;margin:0 auto 3rem}.page-header h1{font-size:clamp(2.4rem,6vw,4rem)}.page-header>p:last-child{color:var(--muted);font-size:1.08rem}.location{align-items:stretch}.location img{height:100%;min-height:26rem}.info-card h3{margin:1.5rem 0 .25rem}.parking{margin-top:3rem;padding:2rem;background:var(--soft);border-radius:var(--radius)}
.order-form{display:grid;gap:1.15rem;background:#fff;padding:clamp(1.25rem,4vw,2.5rem);border-radius:var(--radius);box-shadow:var(--shadow)}.order-form label{display:grid;gap:.4rem;font-weight:700}.order-form input,.order-form textarea{width:100%;border:1px solid var(--line);background:var(--cream);border-radius:.75rem;padding:.8rem;color:var(--ink)}.order-form textarea{min-height:7rem;resize:vertical}.order-form input:focus,.order-form textarea:focus{outline:3px solid rgba(146,0,18,.18);border-color:var(--red)}.hp{position:absolute;left:-9999px}.form-note,.empty-note{font-size:.9rem;color:var(--muted)}.notice{padding:1rem;border-radius:.75rem;margin-bottom:1.25rem}.notice-success{background:#e6f5e9;color:#245832}.notice-error{background:#ffe4e2;color:#7a1010}.dish-hero{width:100%;max-height:32rem;object-fit:cover;border-radius:var(--radius);margin-bottom:2rem}
.search-results{display:grid;gap:1rem}.search-results .content-card h2{font-size:1.35rem}
.dish-price{color:var(--red);font-size:1.2rem;font-weight:800}.dish-note{padding:1rem;background:var(--soft);border-left:4px solid var(--gold);border-radius:.5rem}
.site-footer{background:#2f1d19;color:#fff;padding:3.5rem 0 1rem}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.brand-footer span{background:var(--gold);color:var(--ink)}.site-footer .menu{justify-content:flex-end;flex-wrap:wrap}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1rem;font-size:.85rem}.mobile-actions{position:fixed;z-index:60;bottom:0;left:0;right:0;height:4.75rem;background:#fff;box-shadow:0 -5px 20px rgba(61,36,31,.12);display:flex;align-items:stretch;justify-content:center}.mobile-actions a{flex:1;max-width:9rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-size:.8rem;font-weight:700}.mobile-actions .active{margin:.55rem;border-radius:.75rem;background:var(--red);color:#fff}
@media(min-width:900px){body{padding-bottom:0}.mobile-actions{display:none}}@media(max-width:899px){.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:1rem var(--pad);border-bottom:1px solid var(--line)}.primary-nav.is-open{display:block}.primary-nav .menu{display:grid;gap:0}.primary-nav a{display:block;padding:.8rem}.menu-toggle{display:block;margin-left:auto}.header-order{display:none}.hero,.split{grid-template-columns:1fr}.hero{min-height:auto;text-align:center}.hero .actions{justify-content:center}.hero img{order:-1}.card-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.site-footer .menu{display:grid;justify-content:start;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Stitch core: shared header, home and footer */
.site-header{height:4rem;background:rgba(255,249,237,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{position:relative;width:100%;height:4rem;min-height:4rem;padding:0 clamp(1.25rem,5vw,4rem);display:grid;grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:0}
.site-header .brand{justify-self:center;color:var(--red);font-size:1rem;font-weight:700;letter-spacing:.09em;white-space:nowrap}.site-logo{display:block;object-fit:cover;border-radius:50%}.site-logo-header{width:2.5rem;height:2.5rem;box-shadow:0 2px 8px rgba(146,0,18,.18)}.brand-header{gap:.6rem}.brand-header .brand-name{display:inline;width:auto;height:auto;border-radius:0;background:transparent;color:var(--red);font-size:1rem;line-height:1}
.site-header .menu-toggle{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;margin-left:-.5rem;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:1rem;cursor:pointer}
.site-header .menu-toggle:hover,.site-header .menu-toggle:focus-visible{background:var(--soft)}
.ui-icon{width:1.35rem;height:1.35rem}.inline-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em}
.header-spacer{width:2.75rem;height:2.75rem}
.primary-nav{display:none;position:absolute;top:4rem;left:0;right:0;margin:0;padding:1rem var(--pad);background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.menu-overlay{display:none}
.primary-nav.is-open{display:block}.primary-nav .menu{justify-content:center}.primary-nav .menu a{display:block;padding:.6rem}
.home-main{background:var(--cream)}.home-container{width:min(calc(100% - 2.5rem),30rem);margin-inline:auto}.home-wide{width:min(calc(100% - 2.5rem),56rem);margin-inline:auto}
.home-hero{padding:2.5rem 0 3.75rem;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 1.5rem;padding:.3rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted);font-size:.69rem;font-weight:600;line-height:1.2}.hero-badge .inline-icon{width:.9rem;height:.9rem}.home-hero h1{max-width:19rem;margin:0 auto 1rem;font-size:clamp(2.25rem,10vw,2.75rem);font-weight:700;line-height:1.08;letter-spacing:-.025em;text-transform:capitalize}.home-hero h1 span{color:var(--red)}.hero-intro{max-width:27rem;margin:0 auto 2rem;color:var(--muted);font-size:.95rem;line-height:1.65}.hero-media{position:relative;max-width:26rem;margin:0 auto 2rem;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;background:var(--soft);box-shadow:0 4px 20px rgba(61,36,31,.08)}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-video{display:block}.hero-video-toggle{display:none;position:absolute;right:.75rem;bottom:.75rem;width:2.75rem;height:2.75rem;padding:0;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(47,29,25,.72);color:#fff;box-shadow:0 4px 14px rgba(47,29,25,.24);backdrop-filter:blur(8px);cursor:pointer;transition:background-color .2s ease,transform .2s ease}.hero-media.is-video-enhanced .hero-video-toggle{display:grid}.hero-video-toggle:hover,.hero-video-toggle:focus-visible{background:var(--red);transform:translateY(-1px)}.hero-video-toggle:focus-visible{outline:3px solid #fff;outline-offset:2px}.hero-video-icon{width:1.15rem;height:1.15rem}.hero-video-icon-play{display:none;margin-left:.12rem}.hero-video-toggle.is-paused .hero-video-icon-play{display:block}.hero-video-toggle.is-paused .hero-video-icon-pause{display:none}.hero-usps{display:flex;justify-content:center;gap:clamp(1.75rem,8vw,3rem);margin-bottom:2rem;color:var(--muted)}.hero-usps>div{display:flex;flex:0 1 6rem;flex-direction:column;align-items:center;gap:.35rem}.hero-usps span:last-child{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.usp-icon{width:1.5rem;height:1.5rem;color:inherit}.hero-actions{display:grid;gap:.7rem;width:min(100%,18rem);margin-inline:auto}.hero-actions .button{width:100%;min-height:2.8rem;border-radius:999px;font-size:.78rem}.hero-actions .button-outline{border-color:var(--line);color:var(--ink);background:transparent}
.trust-strip{padding:2rem 0;background:#fff;border-block:1px solid var(--line);text-align:center}.stars{margin-bottom:.55rem;color:var(--gold);font-size:1rem;letter-spacing:.08em}.stars span{opacity:.45}.trust-strip blockquote{margin:0 auto .7rem;color:var(--ink);font-size:.82rem;font-style:italic;line-height:1.6}.trust-strip p{margin:0;color:var(--muted);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.home-section{padding:4rem 0}.home-section .section-heading{align-items:center;margin-bottom:2rem}.home-section .section-heading h2,.home-section h2{margin:0;font-size:1.55rem;font-weight:600;letter-spacing:-.01em}.home-section .section-heading a{font-size:.72rem;font-weight:700;text-decoration:none}.featured-menu .card-grid{gap:2rem}.featured-menu .food-card{display:flex;flex-direction:column;gap:1rem;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.food-image{display:block;overflow:hidden;border-radius:1rem;background:var(--soft)}.featured-menu .food-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease}.featured-menu .food-card:hover img{transform:scale(1.025)}.featured-menu .food-card>div{padding:0}.food-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:start}.food-title-row h3{margin:0;font-size:1rem;font-weight:600}.food-title-row h3 a{color:var(--ink);text-decoration:none}.food-title-row .dish-price{margin:0;color:var(--red);font-size:.9rem;white-space:nowrap}.featured-menu .food-card p{margin:.35rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.home-visit{background:#fff;border-top:1px solid var(--line)}.visit-grid{display:grid;gap:2rem;align-items:center}.visit-fact{display:flex;gap:1rem;align-items:flex-start;margin-top:1.5rem}.visit-fact>span{display:grid;place-items:center;flex:0 0 2.5rem;height:2.5rem;border-radius:50%;background:var(--soft);color:var(--red)}.visit-fact>span svg{width:1.2rem;height:1.2rem}.visit-fact p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.map-card{position:relative;height:16rem;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--soft)}.map-card img,.map-card iframe{width:100%;height:100%;border:0;object-fit:cover}.map-button{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.35rem;padding:.65rem 1rem;border-radius:999px;background:var(--cream);box-shadow:var(--shadow);font-size:.75rem;font-weight:700;text-decoration:none}.map-button svg{width:1rem;height:1rem}
.home-faq{border-top:1px solid var(--line)}.home-faq h2{text-align:center;margin-bottom:2rem}.home-faq details{border-top:1px solid var(--line);padding:0}.home-faq details:last-child{border-bottom:1px solid var(--line)}.home-faq summary{position:relative;padding:1.15rem 2rem 1.15rem 0;list-style:none;font-size:.82rem;font-weight:500;cursor:pointer}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary::after{content:'⌄';position:absolute;right:.25rem;top:1.1rem;color:var(--muted);transition:transform .2s ease}.home-faq details[open] summary::after{transform:rotate(180deg)}.home-faq details p{margin:0;padding:0 2rem 1rem 0;color:var(--muted);font-size:.78rem;line-height:1.6}
.site-footer{padding:3.75rem 1.25rem 7rem;background:#fff;color:var(--ink);border-top:1px solid var(--line);text-align:center}.footer-inner{width:min(100%,42rem);margin-inline:auto}.site-footer .brand{justify-content:center;color:var(--red);font-size:1rem;letter-spacing:.09em}.site-logo-footer{width:7.5rem;height:7.5rem;box-shadow:0 6px 20px rgba(146,0,18,.16)}.footer-nav{margin:1.5rem 0}.site-footer .menu{justify-content:center;gap:1.5rem}.site-footer .menu a{color:var(--muted);font-size:.7rem;font-weight:500}.social-links{display:flex;justify-content:center;gap:.75rem;margin-bottom:1rem}.social-links a{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:50%;color:var(--muted);transition:border-color .2s ease,color .2s ease,transform .2s ease}.social-links a:hover,.social-links a:focus-visible{border-color:var(--red);color:var(--red);transform:translateY(-2px)}.social-icon{width:1rem;height:1rem}.footer-copy{max-width:26rem;margin:0 auto;color:var(--muted);font-size:.62rem;line-height:1.6}.desktop-contact-actions,.mobile-map-fab{display:none}.mobile-actions{height:4.5rem;padding:0 .3rem;background:rgba(255,255,255,.95);border-top:1px solid var(--line);box-shadow:none;backdrop-filter:blur(12px)}.mobile-actions a{position:relative;max-width:none;color:var(--muted);font-size:.55rem;text-transform:uppercase;letter-spacing:.04em}.mobile-actions .nav-icon{width:1.1rem;height:1.1rem;margin-bottom:.2rem}.mobile-actions .order-fab{margin:0;background:transparent;color:#fff}.mobile-actions .order-fab>span{display:grid;place-items:center;width:3rem;height:3rem;margin-top:-1.25rem;border:4px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 4px 12px rgba(146,0,18,.28)}.mobile-actions .order-fab .nav-icon{width:1.15rem;height:1.15rem;margin:0}
@media(max-width:380px){.site-logo-header{width:2.25rem;height:2.25rem}.brand-header{gap:.45rem}.brand-name{font-size:.88rem;letter-spacing:.06em}}
@media(min-width:700px){.home-container{width:min(calc(100% - 4rem),32rem)}.visit-grid{grid-template-columns:1fr 1fr}.site-footer{padding-bottom:4rem}}
@media(min-width:900px){.site-header{height:4.75rem}.header-inner{width:min(calc(100% - 2 * var(--pad)),var(--shell));height:4.75rem;min-height:4.75rem;margin-inline:auto;padding:0;display:flex;gap:clamp(2rem,4vw,4rem)}.site-header .brand{justify-self:auto;flex:0 0 auto}.site-header .menu-toggle,.header-spacer{display:none}.primary-nav{position:static;display:block;width:auto;margin-left:auto;padding:0;border:0;background:transparent;box-shadow:none}.primary-nav .menu{align-items:center;gap:clamp(1rem,2.2vw,2rem);flex-wrap:nowrap}.primary-nav .menu a{position:relative;padding:.75rem .15rem;font-size:.82rem;white-space:nowrap}.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--red)}.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after{content:"";position:absolute;right:.15rem;bottom:.45rem;left:.15rem;height:2px;border-radius:999px;background:var(--red)}.mobile-actions{display:none}.desktop-contact-actions{position:fixed;z-index:45;bottom:1.5rem;left:clamp(1rem,2vw,2rem);display:grid;gap:.65rem}.desktop-contact-link{display:flex;align-items:center;gap:.65rem;min-height:2.8rem;padding:.65rem 1rem;border:1px solid rgba(146,0,18,.18);border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(61,36,31,.16);font-size:.76rem;font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.desktop-contact-link:hover,.desktop-contact-link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px rgba(61,36,31,.22)}.desktop-contact-phone{background:var(--red);color:#fff}.desktop-contact-map{border-color:#4285f4;background:#f3f7ff;color:#175abc}.desktop-contact-zalo{border-color:#0878d1;color:#075eaa}.contact-icon{width:1.15rem;height:1.15rem}.contact-icon-google-map,.contact-icon-zalo{width:1.375rem;height:1.375rem;border-radius:.35rem;object-fit:contain}.home-hero{padding-top:4rem}.featured-menu .card-grid{grid-template-columns:repeat(3,1fr)}.site-footer .menu{display:flex}}

/* Homepage gallery and progressively enhanced lightbox. */
.home-gallery{border-top:1px solid var(--line);background:#fff}.home-gallery-heading{max-width:40rem;margin:0 auto 2rem;text-align:center}.home-gallery-heading p{margin:.75rem auto 0;color:var(--muted);font-size:.9rem;line-height:1.7}.home-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.home-gallery-item{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:1rem;background:var(--soft);aspect-ratio:1}.home-gallery-item.is-featured{grid-column:1/-1;aspect-ratio:4/3}.home-gallery-count-8 .home-gallery-item:nth-child(8){grid-column:1/-1;aspect-ratio:16/9}.home-gallery-link{display:block;width:100%;height:100%;color:#fff}.home-gallery-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}.home-gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.home-gallery-link:hover .home-gallery-image{transform:scale(1.025)}.home-gallery-item figcaption{position:absolute;right:0;bottom:0;left:0;padding:2.5rem .8rem .7rem;background:linear-gradient(transparent,rgba(34,20,17,.78));color:#fff;font-size:.68rem;font-weight:600;line-height:1.4;pointer-events:none}.home-gallery-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.5rem;color:var(--red);font-size:.78rem;font-weight:700;text-decoration:none}.home-gallery-cta .inline-icon{width:1rem;height:1rem}.gallery-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(20,12,10,.94);color:#fff}.gallery-lightbox[open]{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 3.25rem;align-items:center}.gallery-lightbox::backdrop{background:rgba(20,12,10,.94)}.gallery-lightbox-content{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;min-width:0;height:100dvh;margin:0;padding:4.5rem .5rem 2rem;touch-action:pan-y}.gallery-lightbox-image{display:block;max-width:100%;max-height:calc(100dvh - 10rem);object-fit:contain}.gallery-lightbox-content figcaption{max-width:44rem;margin:1rem auto 0;text-align:center;font-size:.78rem;line-height:1.5}.gallery-lightbox-counter{position:absolute;top:1.4rem;left:1.5rem;color:rgba(255,255,255,.8);font-size:.75rem;font-weight:600}.gallery-lightbox button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.gallery-lightbox button:hover,.gallery-lightbox button:focus-visible{background:#fff;color:var(--ink)}.gallery-lightbox button svg{width:1.4rem;height:1.4rem}.gallery-lightbox-close{position:absolute;z-index:2;top:1rem;right:1rem}.gallery-lightbox-nav{position:relative;z-index:1;justify-self:center}.gallery-lightbox-prev{grid-column:1}.gallery-lightbox-content{grid-column:2;grid-row:1}.gallery-lightbox-next{grid-column:3}.gallery-open{overflow:hidden}.gallery-open .mobile-actions{visibility:hidden}.gallery-lightbox [hidden]{display:none}
@media(min-width:700px){.home-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(9rem,18vw,11.5rem);gap:1rem}.home-gallery-item,.home-gallery-item.is-featured,.home-gallery-count-8 .home-gallery-item:nth-child(8){grid-column:auto;aspect-ratio:auto}.home-gallery-item.is-featured{grid-column:span 2;grid-row:span 2}.home-gallery-count-8 .home-gallery-item:nth-child(6){grid-column:span 2}.home-gallery-item figcaption{padding:3rem 1rem .9rem;font-size:.72rem}.gallery-lightbox[open]{grid-template-columns:5rem minmax(0,1fr) 5rem}.gallery-lightbox-content{padding-inline:1.5rem}}
@media(prefers-reduced-motion:reduce){.home-gallery-image,.social-links a,.desktop-contact-link{transition:none}}
@media(max-width:899px){body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .mobile-actions{z-index:48}.primary-nav{z-index:2;max-height:calc(100dvh - 4rem);overflow-y:auto;padding:1rem 1.25rem}.primary-nav .menu{display:grid;gap:0}.menu-overlay{position:fixed;z-index:49;inset:4rem 0 0;display:block;background:rgba(34,20,17,.48);opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(2px);transition:opacity .2s ease,visibility .2s ease}.menu-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.site-footer .menu{display:flex;justify-content:center;gap:1rem}.site-footer .menu li{display:block}}

/* Stitch inner pages: shared shell comes from the homepage. */
.page-template-page-thuc-don .breadcrumbs,.page-template-page-dat-com .breadcrumbs,.page-template-page-vi-tri .breadcrumbs,.page-template-page-danh-gia .breadcrumbs,.page-template-page-tuyen-dung .breadcrumbs{display:none}
.page-design-shell{padding:2rem 0 4rem;background:var(--cream)}.inner-page-container{width:min(calc(100% - 2.5rem),46rem);margin-inline:auto}.inner-page-heading{text-align:center;margin-bottom:2rem}.inner-page-heading h1{margin:0;color:var(--red);font-size:2rem;line-height:1.2}.inner-page-heading p{max-width:35rem;margin:.75rem auto 0;color:var(--muted);font-size:.95rem}.menu-filters{display:flex;gap:.75rem;overflow-x:auto;margin:0 -.25rem 2rem;padding:.25rem;scrollbar-width:none}.menu-filters::-webkit-scrollbar{display:none}.menu-filters a,.menu-filters span{flex:0 0 auto;min-width:6rem;padding:.55rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--soft);font-size:.82rem;text-align:center;text-decoration:none}.menu-filters .active{border-color:var(--red);background:var(--red);color:#fff;font-weight:700}.menu-section-title{margin-bottom:1rem;font-size:1.45rem}.menu-cards{display:grid;gap:1.5rem}.menu-card{overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 8px 25px rgba(61,36,31,.08)}.menu-card-image{display:block;aspect-ratio:4/3;overflow:hidden}.menu-card-image img{width:100%;height:100%;object-fit:cover}.menu-card-body{padding:1rem}.menu-card-body h3{margin:0 0 .35rem;font-size:1rem}.menu-card-body>p{min-height:2.7em;margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.menu-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.menu-card-action strong{color:var(--red);font-size:.92rem}.menu-card-action a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--red2);color:#fff}.menu-card-action svg{width:1.2rem;height:1.2rem}
.order-page .inner-page-container{max-width:40rem}.form-section-title{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;color:var(--red);font-size:1.45rem}.form-section-title svg{width:1.7rem;height:1.7rem}.stitch-order-form{gap:1rem;border-radius:1rem;box-shadow:0 8px 28px rgba(61,36,31,.06)}.stitch-order-form label{gap:.35rem;font-size:.88rem}.stitch-order-form input,.stitch-order-form textarea{min-height:3.75rem;padding:.85rem 1rem;background:var(--cream);border-color:var(--line)}.stitch-order-form textarea{min-height:5.6rem}.stitch-order-form input::placeholder,.stitch-order-form textarea::placeholder{color:#aa9e96}.order-confirm-note{display:flex;gap:.75rem;margin-top:.5rem;padding:1rem;border:1px solid var(--gold);border-radius:1rem;background:#fff4cf;color:var(--ink)}.order-confirm-note svg{flex:0 0 1.4rem;width:1.4rem;height:1.4rem;color:#765b00}.order-confirm-note p{margin:0;font-size:.82rem;line-height:1.55}.order-submit{width:100%;gap:.5rem;border-radius:.9rem}.order-submit svg{width:1.25rem;height:1.25rem}
.location-heading p{font-size:1.05rem;line-height:1.7}.location-map{overflow:hidden;margin-bottom:2rem;border-radius:1rem;background:var(--soft)}.location-map img{width:100%;aspect-ratio:16/11;object-fit:cover}.location-map.has-map-embed{aspect-ratio:16/11}.location-map iframe{width:100%;height:100%;border:0}.location-info{display:grid;gap:1.25rem;margin-bottom:2rem;padding:1.5rem;border-radius:1rem;background:#fff;box-shadow:0 8px 25px rgba(61,36,31,.07)}.location-info>div{display:flex;gap:1rem}.location-info>div>svg{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;margin-top:.25rem;color:var(--red)}.location-info h2{margin:0 0 .3rem;font-size:1.35rem}.location-info p{margin:0;color:var(--muted);line-height:1.55}.location-page .parking{margin:0;padding:0;background:transparent;border-radius:0}.location-page .parking h2{padding-bottom:.65rem;border-bottom:2px solid var(--red2);color:var(--red);font-size:1.45rem}.location-page .parking img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1rem}.parking-copy{margin-top:1.25rem;color:var(--ink);line-height:1.65}.location-page .parking ul{display:grid;gap:.55rem;padding-left:1.25rem;color:var(--muted)}
.reviews-page{background:#fff}.reviews-page .inner-page-container{max-width:40rem}.rating-summary{text-align:center;padding:2rem 0 2.5rem;border-bottom:1px solid var(--line)}.rating-summary strong{display:block;color:var(--red);font-size:4rem;line-height:1}.review-stars,.review-card-stars{color:#f1bc38;letter-spacing:.12em}.review-stars{margin:.85rem 0;font-size:1.8rem}.rating-summary p{margin:0;color:var(--muted)}.review-list{display:grid;gap:1rem;padding:2rem 0}.review-card{padding:1.5rem;border-radius:1.25rem;background:#fff;box-shadow:0 8px 30px rgba(61,36,31,.09)}.review-card header{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center}.review-avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--soft);color:var(--red);font-weight:700}.review-card h2{margin:0;font-size:1rem}.review-card header p{margin:0;color:var(--muted);font-size:.8rem}.review-card>p{margin:1rem 0 0;font-size:.95rem;line-height:1.7}.review-card-stars{font-size:.8rem}.review-more{text-align:center}.review-more .button{gap:.5rem;border-color:var(--line);border-radius:.9rem;color:var(--red)}.review-more svg{width:1.1rem;height:1.1rem}
@media(min-width:700px){.page-design-shell{padding-block:3.5rem 5rem}.menu-cards{grid-template-columns:repeat(3,1fr)}.menu-card-body>p{min-height:4.2em}.location-page .inner-page-container{max-width:56rem}.location-info{grid-template-columns:1fr 1fr}.location-info>.button{grid-column:1/-1;justify-self:start}}
@media(max-width:480px){.inner-page-heading h1{font-size:1.8rem}.review-card{padding:1.25rem}.review-card header{grid-template-columns:auto 1fr}.review-card-stars{grid-column:2}.page-template-page-thuc-don .inner-page-heading{position:absolute;left:-9999px}.menu-page{padding-top:1.5rem}}

/* Reviews page: full dish reviews, with a responsive editorial layout. */
.reviews-page{background:linear-gradient(180deg,#fff9ed 0%,#fff 38%,#fff 100%)}
.reviews-shell{width:min(calc(100% - 2.5rem),64rem);margin-inline:auto}
.reviews-hero{max-width:42rem;margin:0 auto 2rem;text-align:center}
.reviews-kicker{margin:0 0 .55rem;color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.reviews-hero h1{margin:0;color:var(--ink);font-size:clamp(2rem,6vw,3.35rem);letter-spacing:-.04em}
.reviews-hero>p:last-child{max-width:35rem;margin:.75rem auto 0;color:var(--muted);font-size:.9rem;line-height:1.7}
.reviews-overview{display:grid;grid-template-columns:minmax(9rem,.75fr) minmax(0,1.3fr) auto;align-items:center;gap:1.5rem;margin-bottom:3.25rem;padding:1.35rem 1.5rem;border:1px solid rgba(230,212,171,.85);border-radius:1.35rem;background:#fff;box-shadow:0 12px 32px rgba(61,36,31,.08)}
.reviews-score{display:grid;justify-items:center;padding-right:1.5rem;border-right:1px solid var(--line)}
.reviews-score-label{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.reviews-score strong{margin:.2rem 0 0;color:var(--red);font-size:3rem;line-height:1;letter-spacing:-.05em}
.reviews-score .review-stars{margin:.35rem 0 0;font-size:1rem}
.reviews-overview-copy{min-width:0}
.reviews-overview-copy strong{display:block;color:var(--ink);font-size:1.45rem;line-height:1.1}
.reviews-overview-copy>span{display:block;margin-top:.25rem;color:var(--muted);font-size:.78rem;font-weight:700}
.reviews-overview-copy p{max-width:28rem;margin:.55rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}
.reviews-google-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;padding:.65rem .9rem;border:1px solid var(--red);border-radius:999px;color:var(--red);font-size:.7rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.reviews-google-link:hover,.reviews-google-link:focus-visible{background:var(--red);color:#fff;transform:translateY(-1px)}
.reviews-google-link .inline-icon{width:1rem;height:1rem}
.reviews-feed{max-width:62rem;margin-inline:auto}
.reviews-feed-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.reviews-feed-heading .reviews-kicker{margin-bottom:.35rem}
.reviews-feed-heading h2{margin:0;color:var(--ink);font-size:clamp(1.55rem,4vw,2.25rem);letter-spacing:-.035em}
.reviews-feed-count{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:700}
.review-list-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0}
.review-card-dish,.review-card-legacy{min-width:0;border:1px solid rgba(230,212,171,.85);background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(61,36,31,.07);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.review-card-dish:hover,.review-card-dish:focus-within,.review-card-legacy:hover,.review-card-legacy:focus-within{border-color:#d8bd7e;box-shadow:0 14px 34px rgba(61,36,31,.12);transform:translateY(-2px)}
.review-card-header{display:flex!important;align-items:center;justify-content:space-between;gap:1rem}
.review-card-dish-meta{display:grid;grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.75rem;min-width:0}
.review-card-legacy .review-card-dish-meta{grid-template-columns:3rem minmax(0,1fr)}
.review-dish-thumb{display:block;width:3.25rem;height:3.25rem;overflow:hidden;border-radius:.9rem;background:var(--soft)}
.review-dish-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.review-dish-thumb:hover img,.review-dish-thumb:focus-visible img{transform:scale(1.06)}
.review-card-eyebrow{margin:0 0 .2rem;color:var(--red);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-card h3{min-width:0;margin:0;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}
.review-card h3 a{color:var(--ink);text-decoration:none}
.review-card h3 a:hover,.review-card h3 a:focus-visible{color:var(--red)}
.review-card-stars{flex:0 0 auto;font-size:.72rem;letter-spacing:.08em}
.review-card blockquote{margin:1rem 0 1.15rem;padding:0 0 0 1.15rem;border-left:3px solid var(--gold);color:var(--ink);font-size:.86rem;font-style:italic;line-height:1.7}
.review-card-footer{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding-top:.8rem;border-top:1px solid rgba(230,212,171,.72)}
.review-card-footer .review-avatar{width:2.25rem;height:2.25rem;background:var(--red);color:#fff;font-size:.75rem}
.review-card-author{min-width:0}
.review-card-author strong,.review-card-author time,.review-card-author small{display:block;overflow-wrap:anywhere}
.review-card-author strong{font-size:.7rem}
.review-card-author time,.review-card-author small,.review-card-legacy-time{color:var(--muted);font-size:.6rem}
.review-card-link{display:inline-flex;align-items:center;gap:.2rem;color:var(--red);font-size:.64rem;font-weight:800;text-decoration:none;white-space:nowrap}
.review-card-link:hover,.review-card-link:focus-visible{color:var(--ink)}
.review-card-link .inline-icon{width:.8rem;height:.8rem}
.review-card-legacy-time{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(230,212,171,.72)}
.reviews-empty{margin:0;padding:2rem;border:1px dashed var(--line);border-radius:1rem;color:var(--muted);text-align:center}
.reviews-page .review-more{margin:2rem 0 0;text-align:center}
.reviews-page .review-more .button{display:inline-flex;gap:.5rem;border-radius:999px}
@media(min-width:1000px){.review-list-full{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:699px){
	.reviews-shell{width:min(calc(100% - 2.5rem),40rem)}
	.reviews-overview{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;padding:1.1rem}
	.reviews-score{padding-right:1rem}
	.reviews-google-link{grid-column:1/-1;width:100%}
	.reviews-feed-heading{align-items:flex-start;flex-direction:column;gap:.35rem}
	.review-list-full{grid-template-columns:1fr}
	.review-card-dish,.review-card-legacy{padding:1.1rem}
}
@media(max-width:380px){
	.reviews-overview{grid-template-columns:1fr;text-align:center}
	.reviews-score{padding:0 0 .9rem;border-right:0;border-bottom:1px solid var(--line)}
	.reviews-overview-copy p{margin-inline:auto}
	.review-card-header{align-items:flex-start!important}
	.review-card-stars{font-size:.65rem}
	.review-card-footer{grid-template-columns:2.1rem minmax(0,1fr)}
	.review-card-link{grid-column:2;margin-top:.35rem}
}
@media(prefers-reduced-motion:reduce){.reviews-google-link,.review-card-dish,.review-card-legacy,.review-dish-thumb img{transition:none}}

/* Editorial archives, category/tag detail and single posts. */
.blog .breadcrumbs,.archive .breadcrumbs,.single-post .breadcrumbs{display:none}.post-shell{width:min(calc(100% - 2.5rem),68rem);margin-inline:auto}.post-archive{min-height:60vh;background:#fff}.post-archive-hero{padding-top:2rem;background:var(--cream);border-bottom:1px solid var(--line)}.post-archive-heading{max-width:44rem;padding-bottom:2rem;text-align:center}.archive-breadcrumbs{display:flex;justify-content:center;gap:.4rem;align-items:center;overflow:hidden;margin:0 auto 2rem;color:var(--muted);font-size:.68rem;white-space:nowrap}.archive-breadcrumbs>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.archive-breadcrumbs>*+*::before{content:"/";margin-right:.4rem;color:#b7a99f}.archive-breadcrumbs a{flex:0 0 auto;color:var(--muted);text-decoration:none}.archive-breadcrumbs a:hover,.archive-breadcrumbs a:focus-visible{color:var(--red)}.archive-breadcrumbs span{max-width:14rem}.post-eyebrow{margin:0 0 .65rem;color:var(--red);font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.post-archive-heading h1{margin:0;font-size:clamp(2rem,8vw,3.75rem);font-weight:700;letter-spacing:-.035em}.post-archive-description{max-width:39rem;margin:.9rem auto 0;color:var(--muted);font-size:.92rem;line-height:1.7}.post-category-nav{border-top:1px solid rgba(230,212,171,.7);background:rgba(255,255,255,.55)}.post-category-scroll{display:flex;gap:.6rem;overflow-x:auto;padding-block:.85rem;scrollbar-width:none}.post-category-scroll::-webkit-scrollbar{display:none}.post-category-scroll>a{display:inline-flex;flex:0 0 auto;align-items:center;gap:.45rem;min-height:2.35rem;padding:.48rem .85rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.72rem;font-weight:650;text-decoration:none}.post-category-scroll>a:hover,.post-category-scroll>a:focus-visible,.post-category-scroll>a.is-active{border-color:var(--red);background:var(--red);color:#fff}.post-category-scroll>a>span{display:grid;place-items:center;min-width:1.2rem;height:1.2rem;padding:0 .25rem;border-radius:999px;background:rgba(146,0,18,.1);font-size:.62rem}.post-category-scroll>a.is-active>span,.post-category-scroll>a:hover>span,.post-category-scroll>a:focus-visible>span{background:rgba(255,255,255,.2)}.post-archive-content{padding-block:2.5rem 4.5rem}.post-grid{display:grid;gap:1.25rem}.post-card{min-width:0;overflow:hidden;border:1px solid rgba(230,212,171,.78);border-radius:1.25rem;background:#fff;box-shadow:0 8px 28px rgba(61,36,31,.07);transition:transform .25s ease,box-shadow .25s ease}.post-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(61,36,31,.12)}.post-card-media{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--soft)}.post-card-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.post-card:hover .post-card-image{transform:scale(1.025)}.post-card-placeholder{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 50% 40%,#fff 0 3rem,var(--soft) 3.05rem);color:var(--red)}.post-card-placeholder-icon{width:2rem;height:2rem}.post-card-body{display:flex;min-height:15rem;flex-direction:column;padding:1.15rem}.post-card-categories,.article-categories,.article-tags{display:flex;gap:.45rem;flex-wrap:wrap}.post-card-categories a,.article-categories a{color:var(--red);font-size:.65rem;font-weight:750;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.post-card-title{margin:.6rem 0 .55rem;font-size:1.15rem;line-height:1.35}.post-card-title a{color:var(--ink);text-decoration:none}.post-card-title a:hover,.post-card-title a:focus-visible{color:var(--red)}.post-meta{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.68rem}.post-meta>*+*{position:relative;padding-left:.75rem}.post-meta>*+*::before{content:"";position:absolute;top:50%;left:0;width:.2rem;height:.2rem;border-radius:50%;background:currentColor;transform:translateY(-50%)}.post-card-excerpt{margin:.75rem 0 1rem;color:var(--muted);font-size:.78rem;line-height:1.65}.post-card-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;color:var(--red);font-size:.72rem;font-weight:750;text-decoration:none}.post-card-link-icon{width:.95rem;height:.95rem;transition:transform .2s ease}.post-card-link:hover .post-card-link-icon,.post-card-link:focus-visible .post-card-link-icon{transform:translateX(.2rem)}.navigation.pagination{margin-top:2.5rem}.nav-links{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}.page-numbers{display:grid;min-width:2.45rem;height:2.45rem;place-items:center;padding:0 .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.72rem;font-weight:700;text-decoration:none}.page-numbers.current,.page-numbers:hover,.page-numbers:focus-visible{border-color:var(--red);background:var(--red);color:#fff}.post-empty{max-width:34rem;margin:1rem auto;padding:2rem 1.25rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--cream);text-align:center}.post-empty-icon{display:grid;width:3rem;height:3rem;margin:0 auto 1rem;place-items:center;border-radius:50%;background:#fff;color:var(--red)}.post-empty h2{margin-bottom:.5rem;font-size:1.4rem}.post-empty p{margin:0;color:var(--muted);font-size:.86rem}.post-empty-actions{display:grid;gap:.65rem;margin-top:1.35rem}.post-empty-actions .button{width:100%;border-radius:999px;font-size:.76rem}
.single-post-main{padding:1rem 0 4.5rem;background:#fff}.single-post-shell{max-width:62rem}.article-breadcrumbs{display:flex;gap:.45rem;align-items:center;overflow:hidden;padding:.7rem 0 2rem;color:var(--muted);font-size:.68rem;white-space:nowrap}.article-breadcrumbs>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.article-breadcrumbs>*+*::before{content:"/";margin-right:.45rem;color:#b7a99f}.article-breadcrumbs a{flex:0 0 auto;color:var(--muted);text-decoration:none}.article-breadcrumbs a:hover,.article-breadcrumbs a:focus-visible{color:var(--red)}.article-breadcrumbs span{flex:1}.single-post-article{max-width:48rem;margin-inline:auto}.single-post-header{padding:1rem 0 2rem}.single-post-header h1{max-width:46rem;margin:.85rem 0 1rem;font-size:clamp(2.15rem,8.5vw,4.25rem);line-height:1.1;letter-spacing:-.045em}.article-meta{font-size:.74rem}.single-post-lead{max-width:42rem;margin:1.25rem 0 0;color:var(--muted);font-size:1.02rem;line-height:1.75}.single-post-featured{margin:0 0 2rem}.single-post-featured img{width:100%;max-height:34rem;object-fit:cover;border-radius:1.25rem}.single-post-featured figcaption{margin-top:.55rem;color:var(--muted);font-size:.7rem;text-align:center}.single-post-content{color:#4a332d;font-size:1rem;line-height:1.85}.single-post-content>*{max-width:100%}.single-post-content>p:first-child{font-size:1.06rem}.single-post-content h2{margin:2.4rem 0 .8rem;font-size:1.65rem}.single-post-content h3{margin:1.8rem 0 .7rem;font-size:1.3rem}.single-post-content p,.single-post-content ul,.single-post-content ol{margin-block:0 1.25rem}.single-post-content ul,.single-post-content ol{padding-left:1.35rem}.single-post-content li+li{margin-top:.4rem}.single-post-content blockquote{margin:1.75rem 0;padding:1.15rem 1.25rem;border-left:4px solid var(--red);border-radius:0 .75rem .75rem 0;background:var(--cream);color:var(--ink)}.single-post-content blockquote p:last-child{margin-bottom:0}.single-post-content img{height:auto;border-radius:1rem}.single-post-content figure{margin:1.75rem 0}.single-post-content figcaption{margin-top:.5rem;color:var(--muted);font-size:.72rem;text-align:center}.single-post-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.single-post-content th,.single-post-content td{padding:.7rem;border:1px solid var(--line);text-align:left}.article-taxonomy{margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.article-taxonomy h2{margin:0 0 .85rem;font-size:1rem}.article-tags a{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font-size:.7rem;font-weight:650;text-decoration:none}.article-tags a:hover,.article-tags a:focus-visible{border-color:var(--red);color:var(--red)}.related-posts{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--line)}.related-posts-heading{margin-bottom:1.35rem}.related-posts-heading h2{margin:0;font-size:1.65rem}.related-post-grid{gap:1rem}.related-post-grid .post-card-body{min-height:13rem}.post-navigation{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.post-navigation .nav-links{display:grid;gap:.75rem}.post-navigation a{display:block;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--cream);color:var(--ink);text-decoration:none}.post-navigation a:hover,.post-navigation a:focus-visible{border-color:var(--red)}.post-nav-label{display:block;margin-bottom:.25rem;color:var(--red);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.post-nav-title{display:block;font-size:.85rem;font-weight:700;line-height:1.45}.page-links{display:flex;gap:.4rem;align-items:center;margin-top:2rem}
@media(min-width:640px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.post-empty-actions{display:flex;justify-content:center}.post-empty-actions .button{width:auto}.single-post-main{padding-top:1.5rem}.single-post-header{padding-block:2rem 2.5rem}.post-navigation .nav-links{grid-template-columns:repeat(2,minmax(0,1fr))}.post-navigation .nav-next{text-align:right}}
@media(min-width:1000px){.post-archive-hero{padding-top:3rem}.post-archive-content{padding-block:3.5rem 6rem}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.post-category-scroll{justify-content:center}.single-post-main{padding-bottom:6rem}.related-post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.post-card,.post-card-image,.post-card-link-icon{transition:none}}

/* Homepage latest posts and image-overlay category badges. */
.post-card-media-wrap{position:relative}.post-card-categories{position:absolute;z-index:2;top:.8rem;left:.8rem;gap:.35rem;max-width:calc(100% - 1.6rem);pointer-events:none}.post-card-categories a{display:inline-flex;max-width:100%;min-height:1.8rem;align-items:center;padding:.32rem .62rem;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(34,20,17,.14);color:var(--red);font-size:.58rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(8px);pointer-events:auto}.post-card-categories a:hover,.post-card-categories a:focus-visible{border-color:var(--red);background:var(--red);color:#fff}.post-card-body>.post-card-title{margin-top:0}.home-latest-posts{overflow:hidden;background:#fff}.latest-posts-heading{display:grid;gap:1.25rem;margin-bottom:2rem}.latest-posts-heading h2{margin:.1rem 0 .65rem!important;font-size:clamp(1.8rem,5vw,2.7rem)!important;letter-spacing:-.035em!important}.latest-posts-heading p:last-child{max-width:38rem;margin:0;color:var(--muted);font-size:.86rem;line-height:1.7}.latest-posts-all{display:inline-flex;align-items:center;gap:.3rem;width:max-content;color:var(--red);font-size:.75rem;font-weight:750;text-decoration:none}.latest-posts-all-icon{width:1rem;height:1rem;transition:transform .2s ease}.latest-posts-all:hover .latest-posts-all-icon,.latest-posts-all:focus-visible .latest-posts-all-icon{transform:translateX(.2rem)}.home-latest-grid{gap:1.25rem}.home-latest-grid .post-card-body{min-height:14rem}.home-latest-grid .post-card-excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(min-width:700px){.latest-posts-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.latest-posts-all{margin-bottom:.3rem}.home-latest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-latest-grid.post-grid-count-1{grid-template-columns:minmax(0,22rem)}.home-latest-grid.post-grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:46rem}}
@media(prefers-reduced-motion:reduce){.latest-posts-all-icon{transition:none}}

/* Recruitment landing page. */
.careers-page{background:#fff}.careers-shell{width:min(calc(100% - 2.5rem),68rem);margin-inline:auto}.careers-hero{position:relative;overflow:hidden;padding:3.5rem 0 4rem;background:linear-gradient(145deg,var(--cream) 0%,#fff4d7 100%)}.careers-hero::before{content:"";position:absolute;right:-7rem;bottom:-9rem;width:22rem;height:22rem;border:1px solid rgba(146,0,18,.12);border-radius:50%}.careers-hero-grid{display:grid;gap:2.5rem;align-items:center}.careers-hero-copy{position:relative;z-index:1}.careers-eyebrow,.careers-kicker{margin:0 0 .75rem;color:var(--red);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.careers-eyebrow{display:flex;align-items:center;gap:.4rem}.careers-inline-icon{width:1rem;height:1rem;fill:currentColor}.careers-hero h1{max-width:9ch;margin:0;font-size:clamp(3rem,12vw,5.8rem);line-height:.98;letter-spacing:-.055em}.careers-lead{max-width:39rem;margin:1.3rem 0 0;color:var(--muted);font-size:1rem;line-height:1.75}.careers-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.65rem}.careers-actions .button{border-radius:999px}.careers-hero-art{position:relative;display:grid;min-height:18rem;place-items:center;overflow:hidden;border:1px solid rgba(146,0,18,.12);border-radius:2rem;background:var(--red);box-shadow:0 24px 50px rgba(92,0,12,.2);color:#fff}.careers-art-mark{font-size:clamp(4.4rem,19vw,7.5rem);font-weight:900;line-height:1;letter-spacing:-.08em}.careers-art-label{position:absolute;right:1.25rem;bottom:1rem;font-size:.67rem;font-weight:800;letter-spacing:.28em}.careers-hero-art i{position:absolute;width:4rem;height:4rem;border:1px solid rgba(255,255,255,.28);border-radius:50%}.careers-hero-art i:nth-of-type(1){top:1rem;left:1rem}.careers-hero-art i:nth-of-type(2){top:3.5rem;right:-1rem;width:7rem;height:7rem}.careers-hero-art i:nth-of-type(3){bottom:-2rem;left:20%;width:8rem;height:8rem}.careers-section{padding:4.5rem 0}.careers-section-heading{max-width:38rem;margin-bottom:2rem}.careers-section-heading h2,.careers-apply h2{margin:0;font-size:clamp(1.85rem,5vw,3rem);letter-spacing:-.035em}.careers-section-heading>p:last-child{margin:.9rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.7}.careers-value-grid{display:grid;gap:1rem}.careers-value-grid article{padding:1.4rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--cream)}.careers-value-grid article>span{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.85rem;background:#fff;color:var(--red);box-shadow:0 5px 15px rgba(61,36,31,.08)}.careers-card-icon{width:1.25rem;height:1.25rem}.careers-value-grid h3{margin:1.1rem 0 .45rem;font-size:1.05rem}.careers-value-grid p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.7}.careers-opportunities{background:#301d18;color:#fff}.careers-opportunities .careers-kicker{color:var(--gold)}.careers-opportunities .careers-section-heading>p:last-child{color:rgba(255,255,255,.68)}.careers-role-list{display:grid}.careers-role-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.35rem 0;border-top:1px solid rgba(255,255,255,.18)}.careers-role-list article:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.careers-role-list article>span{color:var(--gold);font-size:.68rem;font-weight:800}.careers-role-list h3{margin:0 0 .35rem;color:#fff;font-size:1.05rem}.careers-role-list p{margin:0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.65}.careers-apply{background:var(--soft)}.careers-apply-card{display:grid;gap:1.75rem;padding:1.5rem;border:1px solid var(--line);border-radius:1.5rem;background:#fff;box-shadow:0 15px 40px rgba(61,36,31,.08)}.careers-apply-card>div>p:last-child{max-width:42rem;margin:.9rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.72}.careers-apply-actions{display:grid;align-content:center;gap:.8rem}.careers-call{gap:.55rem;border-radius:999px}.careers-visit-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;color:var(--red);font-size:.75rem;font-weight:750;text-decoration:none}.careers-button-icon{width:1rem;height:1rem}.page-template-page-tuyen-dung .site-footer{border-top:0}
@media(min-width:700px){.careers-hero{padding-block:5rem}.careers-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(17rem,.75fr)}.careers-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.careers-opportunity-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(3rem,8vw,7rem);align-items:start}.careers-opportunity-layout .careers-section-heading{position:sticky;top:7rem;margin:0}.careers-apply-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:2.25rem}.careers-apply-actions{min-width:13rem}}
@media(min-width:1000px){.careers-section{padding-block:6rem}.careers-hero-art{min-height:24rem}.careers-value-grid article{padding:1.75rem}}

/* Bilingual menu catalogue and ingredient details. */
.menu-filters a{display:grid;min-width:7.5rem;gap:.1rem;line-height:1.25}.menu-filters small{color:inherit;font-size:.62rem;font-weight:500}.menu-group{scroll-margin-top:5.5rem}.menu-group+.menu-group{margin-top:3.25rem}.menu-category-heading{margin-bottom:1rem}.menu-category-heading h2{margin:0;color:var(--red);font-size:1.5rem}.menu-category-heading p{margin:.2rem 0 0;color:var(--muted);font-size:.82rem;font-style:italic}.menu-card-body h3 a{color:var(--ink);text-decoration:none}.menu-card-body h3 a:hover,.menu-card-body h3 a:focus-visible{color:var(--red)}.menu-card-body>.menu-card-english,.menu-card-body>.menu-card-description{min-height:0}.menu-card-english{margin:.15rem 0 .65rem!important;color:var(--red)!important;font-size:.72rem!important;font-style:italic;font-weight:650}.menu-card-description{margin:.35rem 0 0!important;color:var(--ink)!important}.menu-card-description-en{color:var(--muted)!important;font-style:italic}.dish-detail-main{max-width:54rem}.dish-detail-header{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.dish-detail-header h1{margin-bottom:.35rem}.dish-detail-english-name{margin:0;color:var(--muted);font-size:1.15rem;font-style:italic}.dish-detail-meta-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}.dish-detail-header .dish-price{margin:0;color:var(--red);font-size:1.6rem;font-weight:800}.dish-detail-signals{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dish-detail-highlight,.dish-review-link{display:inline-flex;align-items:center;gap:.35rem;min-height:2.15rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.68rem;font-weight:800;line-height:1;text-decoration:none}.dish-detail-signal-icon{width:1rem;height:1rem}.dish-detail-highlight-recommended{border-color:#d8aa2f;background:#fff2b9;color:#684600}.dish-detail-highlight-favorite{border-color:rgba(146,0,18,.18);background:#fff0f2;color:var(--red)}.dish-detail-highlight-best_seller{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(146,0,18,.18)}.dish-detail-highlight-favorite .dish-detail-signal-icon,.dish-detail-highlight-best_seller .dish-detail-signal-icon{fill:currentColor}.dish-review-link{color:var(--ink);font-weight:700}.dish-review-link:hover,.dish-review-link:focus-visible{border-color:var(--red);color:var(--red);box-shadow:0 4px 14px rgba(146,0,18,.1)}.dish-language-grid{display:grid;gap:1rem;margin-block:1.5rem}.dish-language-grid section,.dish-fact{padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.dish-language-grid h2,.dish-fact h2{margin:0 0 .55rem;font-size:1rem}.dish-language-grid p,.dish-fact p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.7}.dish-fact p+p{margin-top:.4rem;font-style:italic}.dish-facts{display:grid;gap:1rem}.dish-fact h2 span{color:var(--muted);font-size:.78rem;font-weight:600}.dish-detail>.button{width:100%;margin-top:1.5rem}.dish-detail .dish-note{margin:1rem 0 0;color:var(--red);font-weight:700}.dish-comments{scroll-margin-top:6rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}.dish-comments:focus{outline:none}.dish-comments-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dish-comments-heading h2{margin:0;font-size:1.35rem}.dish-comments-count{flex:none;color:var(--muted);font-size:.78rem}.dish-comment-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.dish-comment{padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.dish-comment-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.65rem}.dish-comment-avatar{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:1rem;font-weight:800;line-height:1;text-transform:uppercase}.dish-comment-author{min-width:0;color:var(--ink);font-size:.95rem;overflow-wrap:anywhere}.dish-comment-date{flex:none;color:var(--muted);font-size:.72rem}.dish-comment-content{padding-left:3.25rem;color:var(--muted);font-size:.86rem;line-height:1.7}.dish-comment-content p{margin:0}.dish-comment-content p+p{margin-top:.5rem}
@media(min-width:700px){.dish-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-detail>.button{width:auto}}
@media(min-width:900px){.menu-filters{justify-content:center;flex-wrap:wrap;overflow:visible}.menu-filters a{min-width:8rem}}

/* Mobile-first menu category navigation. */
.menu-filter-shell{position:sticky;z-index:20;top:4rem;margin:0 -1.25rem 1.75rem;padding:.65rem 0 .75rem;border-block:1px solid rgba(230,212,171,.78);background:rgba(255,249,237,.96);box-shadow:0 10px 24px rgba(61,36,31,.08);backdrop-filter:blur(12px)}.menu-filter-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1.25rem .45rem}.menu-filter-header p{margin:0;color:var(--ink);font-size:.68rem;font-weight:750}.menu-filter-header p span{color:var(--muted);font-weight:550}.menu-filter-swipe{display:inline-flex;align-items:center;gap:.2rem;color:var(--red);font-size:.62rem;font-weight:700;white-space:nowrap}.menu-filter-swipe-icon{width:.85rem;height:.85rem}.menu-filter-shell .menu-filters{display:flex;gap:.55rem;overflow-x:auto;margin:0;padding:.15rem 1.25rem .3rem;scroll-padding-inline:1.25rem;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.menu-filter-shell .menu-filters::-webkit-scrollbar{display:none}.menu-filter-shell .menu-filters>a{display:grid;flex:0 0 auto;min-width:7.75rem;min-height:3.25rem;align-content:center;gap:.12rem;padding:.58rem .9rem;border:1px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(61,36,31,.06);font-size:.76rem;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;scroll-snap-align:start;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.menu-filter-shell .menu-filters>a>span{display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit}.menu-filter-shell .menu-filters>a>small{color:var(--muted);font-size:.59rem;font-weight:550;line-height:1.25}.menu-filter-shell .menu-filters>a:hover,.menu-filter-shell .menu-filters>a:focus-visible{border-color:var(--red);color:var(--red);box-shadow:0 5px 16px rgba(146,0,18,.12);transform:translateY(-1px)}.menu-filter-shell .menu-filters>a:focus-visible{outline:3px solid rgba(146,0,18,.22);outline-offset:2px}.menu-filter-shell .menu-filters>a.is-active,.menu-filter-shell .menu-filters>a[aria-current="location"]{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 6px 16px rgba(146,0,18,.2)}.menu-filter-shell .menu-filters>a.is-active>small,.menu-filter-shell .menu-filters>a[aria-current="location"]>small{color:rgba(255,255,255,.82)}.menu-group{scroll-margin-top:11.5rem}
@media(min-width:900px){.menu-filter-shell{position:static;margin:0 0 2rem;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.menu-filter-header{display:none}.menu-filter-shell .menu-filters{justify-content:center;flex-wrap:wrap;overflow:visible;padding:0;scroll-snap-type:none}.menu-filter-shell .menu-filters>a{min-width:8rem;min-height:3rem}.menu-group{scroll-margin-top:6rem}}
@media(min-width:1024px){.page-template-page-thuc-don .menu-page{padding-top:2rem}.page-template-page-thuc-don .inner-page-container{width:auto;max-width:none;margin-right:2.5rem;margin-left:clamp(11rem,13vw,13rem)}.page-template-page-thuc-don .inner-page-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:0 0 1.25rem;border-bottom:1px solid rgba(230,212,171,.78);text-align:left}.page-template-page-thuc-don .inner-page-heading h1{font-size:2.25rem;white-space:nowrap}.page-template-page-thuc-don .inner-page-heading p{max-width:42rem;margin:0;font-size:.86rem;line-height:1.6}.menu-catalog-layout{display:grid;grid-template-columns:12rem minmax(0,1fr);align-items:start;gap:2rem}.menu-filter-shell{position:sticky;top:6rem;max-height:calc(100vh - 7.5rem);overflow-y:auto;margin:0;padding:.8rem;border:1px solid rgba(230,212,171,.78);border-radius:1.15rem;background:rgba(255,249,237,.96);box-shadow:0 10px 24px rgba(61,36,31,.08);backdrop-filter:blur(12px);scrollbar-width:thin}.menu-filter-shell .menu-filters{display:grid;gap:.55rem}.menu-filter-shell .menu-filters>a{width:100%;min-width:0;min-height:3.5rem;justify-items:center;padding:.65rem .8rem;text-align:center}.menu-groups{min-width:0}}
@media(prefers-reduced-motion:reduce){.menu-filter-shell .menu-filters>a{transition:none}}

/* Gold active category and dish recommendation badges. */
.menu-filter-shell .menu-filters>a.is-active,.menu-filter-shell .menu-filters>a[aria-current="location"]{border-color:#c99c24;background:var(--gold);color:var(--ink);box-shadow:0 6px 16px rgba(143,102,0,.22)}.menu-filter-shell .menu-filters>a.is-active>small,.menu-filter-shell .menu-filters>a[aria-current="location"]>small{color:rgba(61,36,31,.76)}.menu-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.menu-card-heading h3{min-width:0;margin:0}.menu-card-highlight{display:inline-flex;flex:0 0 auto;align-items:center;gap:.28rem;min-height:1.75rem;padding:.3rem .5rem;border:1px solid transparent;border-radius:999px;font-size:.57rem;font-weight:800;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.menu-card-highlight-icon{width:.9rem;height:.9rem}.menu-card-highlight-recommended{border-color:#d8aa2f;background:#fff2b9;color:#684600}.menu-card-highlight-favorite{border-color:rgba(146,0,18,.18);background:#fff0f2;color:var(--red)}.menu-card-highlight-best_seller{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(146,0,18,.18)}.menu-card-highlight-favorite .menu-card-highlight-icon,.menu-card-highlight-best_seller .menu-card-highlight-icon{fill:currentColor}

/* Dish card media and detail album reuse the homepage lightbox behavior. */
.menu-card-image{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--soft)}.menu-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.menu-card-image:hover img,.menu-card-image:focus-visible img{transform:scale(1.025)}.menu-card-image:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.dish-gallery{margin:1.5rem 0 2rem}.dish-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dish-gallery-item{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:.9rem;background:var(--soft);aspect-ratio:1}.dish-gallery-item.is-featured{grid-column:1/-1;aspect-ratio:4/3}.dish-gallery-link{position:relative;display:block;width:100%;height:100%}.dish-gallery-link:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.dish-gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.dish-gallery-link:hover .dish-gallery-image{transform:scale(1.02)}.dish-gallery-overlay-title{position:absolute;z-index:1;top:.75rem;left:.75rem;margin:0;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(47,29,25,.72);color:#fff;box-shadow:0 4px 14px rgba(47,29,25,.2);backdrop-filter:blur(8px);font-size:.7rem;font-weight:750;letter-spacing:.02em}
@media(min-width:700px){.dish-gallery{margin-block:2rem 2.5rem}.dish-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:10rem;gap:.85rem}.dish-gallery-item,.dish-gallery-item.is-featured{aspect-ratio:auto}.dish-gallery-item.is-featured{grid-column:span 3;grid-row:span 2}.dish-gallery-item.is-featured:only-child{grid-column:1/-1;grid-row:span 3}.dish-gallery-overlay-title{top:1rem;left:1rem;font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.menu-card-image img,.dish-gallery-image{transition:none}}
.home-gallery-item>.gallery-caption-hidden,.gallery-lightbox-content>.gallery-caption-hidden{display:none}

/* Serving variants and preparation choices. */
.menu-card-variants{display:grid;gap:.4rem;margin-top:.85rem}.menu-card-variant{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem .65rem;border:1px solid rgba(230,212,171,.72);border-radius:.7rem;background:var(--cream)}.menu-card-variant span{min-width:0}.menu-card-variant b,.menu-card-variant small{display:block;line-height:1.35}.menu-card-variant b{font-size:.68rem}.menu-card-variant small{color:var(--muted);font-size:.58rem;font-style:italic}.menu-card-variant strong{color:var(--red);font-size:.72rem;white-space:nowrap}.menu-card-preparation{margin-top:.85rem}.dish-options-label{margin:0 0 .45rem!important;color:var(--ink)!important;font-size:.64rem!important;font-weight:750}.dish-options-label small{color:var(--muted);font-size:.58rem;font-weight:550}.dish-option-list{display:flex;gap:.4rem;flex-wrap:wrap}.dish-option-chip{display:inline-flex;align-items:center;gap:.25rem;min-height:1.8rem;padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.62rem;font-weight:700;line-height:1.2}.dish-option-chip small{color:var(--muted);font-size:.54rem;font-style:italic;font-weight:500}.dish-choices{display:grid;gap:1rem;margin:0 0 1.5rem}.dish-choice{padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--soft)}.dish-choice h2{margin:0 0 .8rem;font-size:1rem}.dish-choice h2 span{color:var(--muted);font-size:.72rem;font-weight:600}.dish-variant-list{display:grid;gap:.5rem}.dish-variant-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.7rem .8rem;border-radius:.75rem;background:#fff}.dish-variant-row b,.dish-variant-row small{display:block}.dish-variant-row b{font-size:.8rem}.dish-variant-row small{color:var(--muted);font-size:.65rem;font-style:italic}.dish-variant-row strong{color:var(--red);font-size:.82rem;white-space:nowrap}.dish-choice .dish-option-chip{min-height:2.2rem;padding:.45rem .7rem;background:#fff;font-size:.68rem}.dish-choice .dish-option-chip small{font-size:.6rem}

/* Editorial table of contents and progressive article reveal. */
.article-toc {
	margin: 0 0 2rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--line);
	border-radius: 1rem;
	background: var(--cream);
}

.article-toc-title {
	margin: 0 0 0.65rem;
	color: var(--ink);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.article-toc ol {
	display: grid;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: article-toc;
}

.article-toc li {
	counter-increment: article-toc;
}

.article-toc a {
	display: grid;
	grid-template-columns: 1.6rem minmax(0, 1fr);
	gap: 0.35rem;
	color: var(--ink);
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none;
}

.article-toc a::before {
	content: counter(article-toc, decimal-leading-zero);
	color: var(--red);
	font-size: 0.65rem;
	font-weight: 800;
}

.article-toc li.is-subheading a {
	padding-left: 1rem;
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 550;
}

.article-toc a:hover,
.article-toc a:focus-visible {
	color: var(--red);
}

.single-post-content h2[id],
.single-post-content h3[id] {
	scroll-margin-top: 6rem;
}

.article-more-shell {
	position: relative;
	margin-top: 1.75rem;
}

.article-more-shell:not(.is-expanded)::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 4.5rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
	content: "";
	pointer-events: none;
}

.article-more-button {
	display: flex;
	width: min(100%, 20rem);
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin: 0 auto;
	padding: 0.72rem 1.25rem;
	border: 1px solid var(--red);
	border-radius: 999px;
	background: #fff;
	color: var(--red);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 800;
	cursor: pointer;
}

.article-more-button::after {
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	transform: translateY(-0.12rem) rotate(45deg);
}

.article-more-shell.is-expanded .article-more-button {
	margin-bottom: 2rem;
}

.article-more-shell.is-expanded .article-more-button::after {
	transform: translateY(0.12rem) rotate(225deg);
}

.article-more-button:hover,
.article-more-button:focus-visible {
	background: var(--red);
	color: #fff;
}

@media (min-width: 640px) {
	.article-toc {
		padding: 1.35rem 1.5rem;
	}
}
@media(min-width:700px){.dish-choices:has(.dish-choice:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Dish detail conversion flow: compact facts, options, then the primary cart action. */
.dish-collapse {
	margin-top: 0.75rem;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 1rem;
	background: #fff;
}

.dish-collapse:first-of-type {
	margin-top: 1.25rem;
}

.dish-gallery + .dish-collapse {
	margin-top: 0;
}

.dish-collapse summary {
	display: flex;
	min-height: 3.25rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.8rem 1rem;
	list-style: none;
	font-size: 0.88rem;
	font-weight: 800;
	cursor: pointer;
}

.dish-collapse summary::-webkit-details-marker {
	display: none;
}

.dish-collapse summary small,
.dish-collapse-content h3 small {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 600;
}

.dish-collapse summary:focus-visible {
	outline: 3px solid rgba(146, 0, 18, 0.2);
	outline-offset: -3px;
}

.dish-collapse-icon {
	position: relative;
	flex: 0 0 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--soft);
}

.dish-collapse-icon::before,
.dish-collapse-icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.65rem;
	height: 1px;
	background: var(--red);
	content: "";
	transition: transform 0.22s ease;
	transform: translate(-50%, -50%);
}

.dish-collapse-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.dish-collapse[open] .dish-collapse-icon::after {
	transform: translate(-50%, -50%) rotate(0);
}

.dish-collapse-content {
	overflow: hidden;
	padding: 0 1rem 1rem;
	color: var(--muted);
}

.dish-collapse-content p {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.7;
}

.dish-collapse-content p + p {
	margin-top: 0.45rem;
	font-style: italic;
}

.dish-collapse-content h3 {
	margin: 1rem 0 0.4rem;
	color: var(--ink);
	font-size: 0.82rem;
}

.dish-choices {
	margin-top: 0.75rem;
}

.dish-choice {
	background: #fffaf0;
}

.dish-variant-list + .dish-option-list {
	margin-top: 0.75rem;
}

.dish-purchase-action {
	margin-top: 0.85rem;
}

.dish-purchase-action .dish-add-button {
	width: 100%;
	min-height: 3.6rem;
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(146, 0, 18, 0.24);
	font-size: 0.9rem;
}

.dish-purchase-action .dish-add-button span {
	font-size: 0.72rem;
	font-weight: 600;
}

.dish-header-add-button {
	display: none;
}

@media (max-width: 43.6875rem) {
	.single-mon_an .breadcrumbs {
		flex-wrap: nowrap;
		gap: 0.35rem;
		padding-top: 0.45rem;
		font-size: 0.66rem;
		white-space: nowrap;
	}

	.single-mon_an .breadcrumbs a,
	.single-mon_an .breadcrumbs span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.single-mon_an .breadcrumbs a:first-child {
		flex: 0 0 auto;
	}

	.single-mon_an .dish-detail-main {
		padding-top: 1rem;
		padding-bottom: 3.5rem;
	}

	.dish-detail-header {
		padding-bottom: 0.85rem;
	}

	.dish-detail-header h1 {
		margin-bottom: 0.2rem;
		font-size: clamp(1.8rem, 9vw, 2.35rem);
	}

	.dish-detail-english-name {
		font-size: 0.9rem;
	}

	.dish-detail-meta-row {
		margin-top: 0.65rem;
	}

	.dish-detail-header .dish-price {
		font-size: 1.3rem;
	}

	.dish-detail-signals {
		gap: 0.35rem;
	}

	.dish-detail-highlight,
	.dish-review-link {
		min-height: 1.9rem;
		padding: 0.35rem 0.55rem;
		font-size: 0.62rem;
	}

	.dish-choice {
		padding: 0.9rem;
	}

	.dish-choice h2 {
		margin-bottom: 0.65rem;
	}
}

/* Multi-level primary navigation. */
.primary-nav li {
	position: relative;
}

.primary-nav .menu-item-has-children {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.submenu-toggle {
	display: grid;
	flex: 0 0 2.75rem;
	width: 2.75rem;
	min-width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
}

.submenu-toggle:hover,
.submenu-toggle:focus-visible {
	background: var(--soft);
	color: var(--red);
}

.submenu-toggle:focus-visible {
	outline: 3px solid rgba(146, 0, 18, 0.18);
	outline-offset: 1px;
}

.submenu-toggle-icon {
	width: 1rem;
	height: 1rem;
	transition: transform 0.2s ease;
}

.primary-nav .sub-menu {
	display: none;
	grid-column: 1 / -1;
	margin: 0;
	padding: 0.25rem 0 0.5rem 1rem;
	list-style: none;
}

.primary-nav .is-submenu-open > .sub-menu {
	display: grid;
}

.primary-nav .is-submenu-open > .submenu-toggle .submenu-toggle-icon {
	transform: rotate(90deg);
}

@media (max-width: 899px) {
	.primary-nav {
		width: 100%;
		padding: 0.75rem clamp(0.75rem, 4vw, 1.25rem) 1rem;
		background: rgba(255, 249, 237, 0.98);
	}

	.primary-nav > .menu {
		grid-template-columns: minmax(0, 1fr);
		justify-content: stretch;
		width: min(100%, 32rem);
		margin-inline: auto;
		gap: 0.4rem;
	}

	.primary-nav > .menu > li {
		width: 100%;
		min-width: 0;
		border: 1px solid rgba(230, 212, 171, 0.82);
		border-radius: 0.9rem;
		background: rgba(255, 255, 255, 0.72);
	}

	.primary-nav .menu li,
	.primary-nav .menu a {
		width: 100%;
		min-width: 0;
	}

	.primary-nav .menu a {
		display: flex;
		align-items: center;
		min-height: 3.25rem;
		padding: 0.75rem 0.9rem;
		border-radius: 0.75rem;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	.primary-nav .menu a:hover,
	.primary-nav .menu a:focus-visible {
		background: var(--soft);
	}

	.primary-nav .current-menu-item > a,
	.primary-nav .current-menu-ancestor > a,
	.primary-nav .current_page_item > a,
	.primary-nav .current_page_ancestor > a {
		color: var(--red);
		font-weight: 750;
	}

	.primary-nav .sub-menu {
		gap: 0.2rem;
		width: calc(100% - 0.75rem);
		margin-left: 0.75rem;
		padding: 0.2rem 0 0.7rem 0.4rem;
		border-left: 0;
	}

	.primary-nav .sub-menu > li::before {
		content: "";
		position: absolute;
		z-index: 1;
		top: 1.2rem;
		left: 0.55rem;
		width: 0.38rem;
		height: 0.38rem;
		border-radius: 50%;
		background: var(--gold);
		box-shadow: 0 0 0 3px rgba(233, 190, 71, 0.16);
	}

	.primary-nav .sub-menu a {
		min-height: 2.75rem;
		padding: 0.6rem 0.75rem 0.6rem 1.35rem;
		border-radius: 0.65rem;
		background: rgba(255, 255, 255, 0.72);
		font-size: 0.78rem;
	}

	.mobile-map-fab {
		position: fixed;
		z-index: 47;
		top: auto;
		bottom: calc(4.5rem + max(0.75rem, env(safe-area-inset-bottom)));
		left: max(0.75rem, env(safe-area-inset-left));
		display: inline-flex;
		align-items: center;
		gap: 0.45rem;
		min-height: 2.75rem;
		padding: 0.4rem 0.8rem 0.4rem 0.45rem;
		border: 1px solid rgba(66, 133, 244, 0.32);
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.96);
		color: #175abc;
		box-shadow: 0 8px 24px rgba(61, 36, 31, 0.18);
		font-size: 0.68rem;
		font-weight: 750;
		line-height: 1;
		text-decoration: none;
		backdrop-filter: blur(10px);
		transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, visibility 0.2s ease;
	}

	.mobile-map-fab img {
		width: 1.85rem;
		height: 1.85rem;
		border-radius: 0.55rem;
		object-fit: contain;
	}

	.mobile-map-fab:hover,
	.mobile-map-fab:focus-visible {
		transform: translateY(-2px);
		box-shadow: 0 11px 28px rgba(61, 36, 31, 0.23);
	}

	.mobile-map-fab:focus-visible {
		outline: 3px solid rgba(66, 133, 244, 0.28);
		outline-offset: 2px;
	}

	body.mobile-menu-open .mobile-map-fab,
	body.gallery-open .mobile-map-fab {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobile-map-fab {
		transition: none;
	}
}

@media (min-width: 900px) {
	.primary-nav {
		flex: 0 1 31rem;
		width: clamp(26rem, 42vw, 31rem);
	}

	.primary-nav > .menu {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
		gap: 0.35rem;
		width: 100%;
	}

	.primary-nav > .menu > li {
		width: 100%;
		min-width: 0;
	}

	.primary-nav > .menu > li > a {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.primary-nav .current-menu-item > a::after,
	.primary-nav .current-menu-ancestor > a::after,
	.primary-nav .current_page_item > a::after,
	.primary-nav .current_page_ancestor > a::after {
		display: none;
	}

	.primary-nav > .menu > .menu-item-has-children {
		grid-template-columns: max-content 2.5rem;
		justify-content: center;
	}

	.primary-nav > .menu > .menu-item-has-children > a {
		padding-right: 0.15rem;
	}

	.primary-nav .submenu-toggle {
		flex-basis: 2.5rem;
		width: 2.5rem;
		min-width: 2.5rem;
		height: 2.5rem;
		min-height: 2.5rem;
	}

	.primary-nav .submenu-toggle-icon {
		width: 0.8rem;
		height: 0.8rem;
	}

	.primary-nav .sub-menu {
		position: absolute;
		z-index: 5;
		top: calc(100% + 0.35rem);
		left: 0;
		width: max-content;
		min-width: 13.5rem;
		padding: 0.5rem;
		border: 1px solid rgba(230, 212, 171, 0.9);
		border-radius: 1rem;
		background: rgba(255, 255, 255, 0.98);
		box-shadow: 0 16px 38px rgba(61, 36, 31, 0.15);
	}

	.primary-nav .menu-item-has-children:hover > .sub-menu,
	.primary-nav .menu-item-has-children:focus-within > .sub-menu,
	.primary-nav .is-submenu-open > .sub-menu {
		display: grid;
	}

	.primary-nav .sub-menu li {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.primary-nav .sub-menu a {
		display: block;
		min-width: 11rem;
		padding: 0.7rem 0.8rem;
		border-radius: 0.65rem;
		font-size: 0.76rem;
	}

	.primary-nav .sub-menu a:hover,
	.primary-nav .sub-menu a:focus-visible {
		background: var(--soft);
	}

	.primary-nav .sub-menu a::after {
		display: none;
	}

	.primary-nav .sub-menu .sub-menu {
		top: -0.5rem;
		left: calc(100% + 0.45rem);
	}

	.primary-nav > .menu > li > .sub-menu.opens-left {
		right: 0;
		left: auto;
	}

	.primary-nav .sub-menu .sub-menu.opens-left {
		right: calc(100% + 0.45rem);
		left: auto;
	}
}

/* Redesigned menu catalogue. */
.page-template-page-thuc-don .menu-page {
	padding-top: 1.25rem;
	background:
		radial-gradient(circle at 92% 1%, rgba(233, 190, 71, 0.18), transparent 18rem),
		var(--cream);
}

.page-template-page-thuc-don .inner-page-container {
	width: min(calc(100% - 2rem), 72rem);
}

.page-template-page-thuc-don .menu-filter-shell {
	margin-inline: 0;
}

.menu-page-hero {
	margin-bottom: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(230, 212, 171, 0.88);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 8px 24px rgba(61, 36, 31, 0.06);
}

.menu-category-kicker {
	margin: 0 0 0.4rem !important;
	color: var(--red) !important;
	font-size: 0.64rem !important;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.menu-page-hero h1 {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.85rem, 6vw, 2.5rem);
	letter-spacing: -0.045em;
}

.menu-page-hero-copy > p:last-child {
	max-width: 42rem;
	margin: 0.3rem 0 0;
	color: var(--muted);
	font-size: 0.8rem;
	line-height: 1.55;
}

.menu-category-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--line);
}

.menu-category-heading h2 {
	font-size: clamp(1.45rem, 4vw, 2rem);
	letter-spacing: -0.03em;
}

.menu-category-heading > div > p[lang="en"] {
	margin: 0.22rem 0 0;
	color: var(--muted);
	font-size: 0.72rem;
	font-style: italic;
}

.menu-category-heading > span {
	flex: 0 0 auto;
	padding: 0.35rem 0.6rem;
	border-radius: 999px;
	background: var(--soft);
	color: var(--muted);
	font-size: 0.62rem;
	font-weight: 750;
}

.menu-group + .menu-group {
	margin-top: 2.75rem;
}

.menu-cards {
	grid-template-columns: 1fr;
	gap: 0.85rem;
}

.menu-card {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	min-height: 9.5rem;
	border: 1px solid rgba(230, 212, 171, 0.9);
	border-radius: 1.1rem;
	box-shadow: 0 7px 22px rgba(61, 36, 31, 0.07);
}

.menu-card-image {
	height: 100%;
	min-height: 9.5rem;
	aspect-ratio: auto;
}

.menu-card-body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0.8rem;
}

.menu-card-heading h3 {
	font-size: 0.93rem;
	line-height: 1.3;
}

.menu-card-english {
	overflow: hidden;
	margin: 0.1rem 0 0.35rem !important;
	font-size: 0.63rem !important;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.menu-card-description {
	display: none;
	min-height: 0 !important;
}

.menu-card-meta {
	display: none;
}

.menu-card-action {
	gap: 0.55rem;
	margin-top: auto;
	padding-top: 0.55rem;
}

.menu-card-action strong {
	font-size: 0.85rem;
	white-space: nowrap;
}

.menu-card .menu-add-button {
	min-height: 2.45rem;
	padding: 0.45rem 0.62rem;
}

@media (min-width: 700px) {
	.page-template-page-thuc-don .menu-page {
		padding-top: 2rem;
	}

	.page-template-page-thuc-don .inner-page-container {
		width: min(calc(100% - 3rem), 72rem);
	}

	.menu-page-hero {
		margin-bottom: 1.4rem;
		padding: 1.15rem 1.35rem;
	}

	.menu-page-hero-copy {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 1.5rem;
	}

	.menu-page-hero-copy > p:last-child {
		margin: 0;
		padding-left: 1.5rem;
		border-left: 1px solid var(--line);
	}

	.menu-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.menu-card {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}

	.menu-card-image {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.menu-card-body {
		flex: 1;
		padding: 1rem;
	}

	.menu-card-heading h3 {
		font-size: 1rem;
	}

	.menu-card-description {
		display: -webkit-box;
		overflow: hidden;
		margin: 0.3rem 0 0 !important;
		color: var(--muted) !important;
		font-size: 0.72rem !important;
		line-height: 1.55;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.menu-card-meta {
		display: flex;
		align-items: center;
		gap: 0.4rem;
		flex-wrap: wrap;
		margin-top: 0.75rem;
	}

	.menu-card-meta span {
		padding: 0.28rem 0.48rem;
		border-radius: 999px;
		background: var(--soft);
		color: var(--muted);
		font-size: 0.57rem;
		font-weight: 700;
	}

	.menu-card-meta a {
		display: inline-flex;
		align-items: center;
		gap: 0.15rem;
		margin-left: auto;
		font-size: 0.61rem;
		font-weight: 800;
		text-decoration: none;
	}

	.menu-card-action {
		margin-top: 0.85rem;
		padding-top: 0.75rem;
	}
}

@media (min-width: 1024px) {
	.page-template-page-thuc-don .inner-page-container {
		width: min(calc(100% - 5rem), 76rem);
		max-width: 76rem;
		margin-inline: auto;
	}

	.menu-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.menu-catalog-layout {
		grid-template-columns: 13rem minmax(0, 1fr);
		gap: 2.25rem;
	}

	.menu-filter-shell {
		top: 6rem;
		padding: 0.65rem;
		border-radius: 1.25rem;
		background: rgba(255, 255, 255, 0.9);
	}

	.menu-filter-shell .menu-filters > a {
		justify-items: start;
		min-height: 3.35rem;
		padding-inline: 0.8rem;
		text-align: left;
	}

	.menu-card-body {
		padding: 1.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.submenu-toggle-icon {
		transition: none;
	}
}

/* Dish category directory and taxonomy archives. */
.dish-category-index,
.dish-category-archive {
	background:
		radial-gradient(circle at 92% 0, rgba(233, 190, 71, 0.15), transparent 18rem),
		var(--cream);
}

.dish-category-shell {
	width: min(calc(100% - 2rem), 72rem);
	margin-inline: auto;
}

.dish-category-index-header,
.dish-category-archive-header {
	display: grid;
	gap: 0.35rem;
	margin-bottom: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(230, 212, 171, 0.88);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 8px 24px rgba(61, 36, 31, 0.06);
}

.dish-category-eyebrow {
	margin: 0 0 0.2rem !important;
	color: var(--red) !important;
	font-size: 0.62rem !important;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dish-category-index-header h1,
.dish-category-archive-header h1 {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.85rem, 6vw, 2.5rem);
	letter-spacing: -0.04em;
}

.dish-category-index-header > p,
.dish-category-archive-header > p {
	max-width: 43rem;
	margin: 0;
	color: var(--muted);
	font-size: 0.8rem;
	line-height: 1.55;
}

.dish-category-archive-header div > p[lang="en"] {
	margin: 0.15rem 0 0;
	color: var(--red);
	font-size: 0.68rem;
	font-style: italic;
	font-weight: 650;
}

.dish-category-grid {
	display: grid;
	gap: 0.85rem;
}

.dish-category-card {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	min-height: 10rem;
	overflow: hidden;
	border: 1px solid rgba(230, 212, 171, 0.9);
	border-radius: 1.1rem;
	background: #fff;
	box-shadow: 0 7px 22px rgba(61, 36, 31, 0.07);
}

.dish-category-card-image {
	display: block;
	min-height: 10rem;
	overflow: hidden;
	background: var(--soft);
}

.dish-category-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.dish-category-card-image:hover img,
.dish-category-card-image:focus-visible img {
	transform: scale(1.035);
}

.dish-category-card-image.is-empty {
	display: grid;
	place-items: center;
	color: var(--red);
}

.dish-category-placeholder-icon {
	width: 2rem;
	height: 2rem;
}

.dish-category-card-body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0.85rem;
}

.dish-category-card-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
}

.dish-category-card-heading h2 {
	margin: 0;
	font-size: 1rem;
}

.dish-category-card-heading h2 a {
	color: var(--ink);
	text-decoration: none;
}

.dish-category-card-heading h2 a:hover,
.dish-category-card-heading h2 a:focus-visible {
	color: var(--red);
}

.dish-category-card-heading p {
	margin: 0.12rem 0 0;
	color: var(--red);
	font-size: 0.62rem;
	font-style: italic;
	font-weight: 650;
}

.dish-category-card-heading > span {
	flex: 0 0 auto;
	padding: 0.25rem 0.45rem;
	border-radius: 999px;
	background: var(--soft);
	color: var(--muted);
	font-size: 0.57rem;
	font-weight: 750;
}

.dish-category-preview {
	display: grid;
	gap: 0.25rem;
	margin: 0.65rem 0 0;
	padding: 0;
	color: var(--muted);
	font-size: 0.65rem;
	line-height: 1.4;
	list-style: none;
}

.dish-category-preview li {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dish-category-preview li::before {
	margin-right: 0.4rem;
	color: var(--gold);
	content: "•";
}

.dish-category-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	align-self: flex-start;
	margin-top: auto;
	padding-top: 0.6rem;
	font-size: 0.65rem;
	font-weight: 800;
	text-decoration: none;
}

.dish-category-index-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--line);
	border-radius: 1rem;
	background: var(--soft);
}

.dish-category-index-footer p {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
}

.dish-category-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.8rem;
	color: var(--muted);
	font-size: 0.68rem;
}

.dish-category-breadcrumbs a {
	font-weight: 700;
	text-decoration: none;
}

.dish-category-switcher {
	position: sticky;
	z-index: 20;
	top: 4rem;
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	margin-bottom: 1.25rem;
	padding: 0.65rem 0;
	background: rgba(255, 249, 237, 0.94);
	backdrop-filter: blur(10px);
	scrollbar-width: none;
}

.dish-category-switcher::-webkit-scrollbar {
	display: none;
}

.dish-category-switcher a {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.4rem;
	min-height: 2.65rem;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font-size: 0.68rem;
	font-weight: 750;
	text-decoration: none;
}

.dish-category-switcher a small {
	display: grid;
	min-width: 1.25rem;
	height: 1.25rem;
	place-items: center;
	padding-inline: 0.25rem;
	border-radius: 999px;
	background: var(--soft);
	color: var(--muted);
	font-size: 0.55rem;
}

.dish-category-switcher a.is-active {
	border-color: var(--gold);
	background: var(--gold);
	color: var(--ink);
}

.dish-category-switcher a.is-active small {
	background: rgba(255, 255, 255, 0.55);
	color: var(--ink);
}

.dish-category-dishes {
	grid-template-columns: 1fr;
}

@media (min-width: 700px) {
	.dish-category-shell {
		width: min(calc(100% - 3rem), 72rem);
	}

	.dish-category-index-header,
	.dish-category-archive-header {
		grid-template-columns: minmax(12rem, auto) minmax(0, 1fr);
		align-items: center;
		gap: 1.5rem;
		margin-bottom: 1.4rem;
		padding: 1.15rem 1.35rem;
	}

	.dish-category-index-header > p,
	.dish-category-archive-header > p {
		padding-left: 1.5rem;
		border-left: 1px solid var(--line);
	}

	.dish-category-grid,
	.dish-category-dishes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.dish-category-card {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}

	.dish-category-card-image {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.dish-category-card-body {
		flex: 1;
		padding: 1rem;
	}

	.dish-category-switcher {
		position: static;
		flex-wrap: wrap;
		overflow: visible;
		background: transparent;
		backdrop-filter: none;
	}
}

@media (min-width: 1100px) {
	.dish-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dish-category-dishes {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.dish-category-card-image img {
		transition: none;
	}
}

@media (min-width: 700px) {
	.dish-purchase-action .dish-add-button {
		width: auto;
		min-width: 14rem;
	}
}

@media (min-width: 900px) {
	.single-mon_an .dish-detail-main {
		padding-top: 1.25rem;
	}

	.dish-detail-heading-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 2rem;
	}

	.dish-detail-heading-copy {
		min-width: 0;
	}

	.dish-header-add-button {
		display: inline-grid;
		flex: 0 0 auto;
		width: 3.5rem;
		height: 3.5rem;
		min-width: 0;
		min-height: 0;
		place-items: center;
		padding: 0;
		border-radius: 50%;
		box-shadow: 0 8px 20px rgba(146, 0, 18, 0.2);
	}

	.dish-header-cart-icon {
		width: 1.35rem;
		height: 1.35rem;
	}
}

/* Resilient bilingual text wrapping. */
.button,.menu-add-button,.order-submit,.option-sheet form>.button{text-align:center;white-space:normal;line-height:1.35}.brand-header,.brand-name,.primary-nav,.primary-nav li,.primary-nav a,.option-choice>span,.cart-item-copy,.checkout-section-heading>div{min-width:0}.option-choice b,.option-choice small,.cart-item-copy h3,.cart-item-options,.checkout-section-heading h2,.order-status{overflow-wrap:anywhere}.mobile-actions a{min-width:0;padding-inline:.15rem;line-height:1.2;text-align:center}.mobile-actions a>span:last-child{max-width:100%;overflow-wrap:anywhere}.order-status{max-width:12rem;white-space:normal}.order-success-actions .button{min-width:0}
@media(max-width:380px){.brand-name{max-width:12.5rem;font-size:.82rem!important;letter-spacing:.045em!important}.checkout-section-heading{align-items:flex-start;flex-wrap:wrap}.checkout-section-heading>a{margin-left:2.4rem}.order-history-card-head{flex-wrap:wrap}.order-status{max-width:100%}.option-choice{grid-template-columns:auto minmax(0,1fr)}.option-choice>strong{grid-column:2;white-space:normal}.order-success-actions{display:grid}.order-success-actions .button{width:100%}}
@media(max-width:480px){.breadcrumbs{align-items:flex-start;flex-wrap:wrap;white-space:normal}.breadcrumbs span:last-child{overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}

.featured-menu .food-english{font-style:italic}
.featured-menu .food-description{display:-webkit-box;overflow:hidden;margin-top:.45rem!important;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:2}

/* Keep homepage featured dishes and latest posts compact on mobile, like the menu cards. */
@media (max-width: 43.6875rem) {
	.featured-menu .card-grid { display: grid; gap: 0.75rem; padding-inline: 0.25rem; }
	.featured-menu .food-card {
		display: grid;
		grid-template-columns: 7.25rem minmax(0, 1fr);
		min-height: 7.5rem;
		gap: 0;
		border: 1px solid rgba(230, 212, 171, 0.82);
		border-radius: 1rem;
		background: var(--paper);
		box-shadow: 0 0.35rem 1rem rgba(61, 36, 31, 0.07);
		overflow: hidden;
	}
	.featured-menu .food-image {
		width: 100%; height: 100%; min-height: 7.5rem; aspect-ratio: auto; border-radius: 0;
	}
	.featured-menu .food-image img { height: 100%; object-fit: cover; }
	.featured-menu .food-card:not(:has(.food-image)) .food-meta { grid-column: 1 / -1; }
	.featured-menu .food-card > .food-meta {
		display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 0.72rem 0.85rem;
	}
	.featured-menu .food-title-row { gap: 0.35rem; }
	.featured-menu .food-title-row h3 {
		display: -webkit-box; min-width: 0; overflow: hidden; font-size: 0.9rem; line-height: 1.32;
		overflow-wrap: anywhere;
		-webkit-box-orient: vertical; -webkit-line-clamp: 2;
	}
	.featured-menu .food-title-row .dish-price { flex: 0 0 auto; max-width: 45%; overflow-wrap: anywhere; font-size: 0.78rem; text-align: right; white-space: normal; }
	.featured-menu .food-card p {
		margin: 0.12rem 0 0; overflow: hidden; font-size: 0.64rem; line-height: 1.35;
		text-overflow: ellipsis; white-space: nowrap;
	}
	.featured-menu .food-card .food-description {
		display: -webkit-box; margin-top: 0.3rem !important; font-size: 0.61rem; line-height: 1.42;
		text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
	}

	.home-latest-posts .latest-posts-heading { gap: 0.75rem; margin-bottom: 1rem; }
	.home-latest-posts .latest-posts-heading h2 { font-size: 1.55rem !important; }
	.home-latest-posts .latest-posts-heading p:last-child { font-size: 0.76rem; line-height: 1.55; }
	.home-latest-grid { gap: 0.75rem; }
	.home-latest-grid .post-card {
		display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); min-height: 8.5rem;
		border-radius: 1rem; box-shadow: 0 0.35rem 1rem rgba(61, 36, 31, 0.07);
	}
	.home-latest-grid .post-card-media-wrap,
	.home-latest-grid .post-card-media { height: 100%; min-height: 8.5rem; aspect-ratio: auto; }
	.home-latest-grid .post-card-media-wrap { overflow: hidden; }
	.home-latest-grid .post-card-body {
		display: flex; min-width: 0; min-height: 0; flex-direction: column; padding: 0.72rem 0.75rem;
	}
	.home-latest-grid .post-card-categories { top: 0.45rem; left: 0.45rem; }
	.home-latest-grid .post-card-categories a { min-height: 1.5rem; padding: 0.25rem 0.38rem; font-size: 0.5rem; }
	.home-latest-grid .post-card-title {
		display: -webkit-box; margin: 0 0 0.35rem; overflow: hidden; font-size: 0.9rem; line-height: 1.32;
		overflow-wrap: anywhere;
		-webkit-box-orient: vertical; -webkit-line-clamp: 2;
	}
	.home-latest-grid .post-meta { gap: 0.45rem; font-size: 0.58rem; white-space: nowrap; }
	.home-latest-grid .post-meta > * + * { padding-left: 0.45rem; }
	.home-latest-grid .post-card-excerpt { display: none; }
	.home-latest-grid .post-card-link { margin-top: auto; font-size: 0.64rem; }
}

@media (max-width: 23rem) {
	.featured-menu .food-card,
	.home-latest-grid .post-card { grid-template-columns: 6.5rem minmax(0, 1fr); }
	.featured-menu .food-card { min-height: 7rem; }
	.featured-menu .food-image,
	.home-latest-grid .post-card-media-wrap,
	.home-latest-grid .post-card-media { min-height: 8rem; }
	.featured-menu .food-image { min-height: 7rem; }
}

/* Compact comment image rows reuse the shared gallery lightbox. */
.dish-comment-gallery{margin-top:.75rem;padding-left:3.25rem}.dish-comment-images{display:flex;gap:.5rem;flex-wrap:nowrap}.dish-comment-image-item{flex:0 0 4.25rem;width:4.25rem;height:4.25rem;margin:0;overflow:hidden;border-radius:.7rem;background:var(--soft)}.dish-comment-image-link{display:block;width:100%;height:100%}.dish-comment-image-link:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.dish-comment-image{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.dish-comment-image-link:hover .dish-comment-image{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.dish-comment-image{transition:none}}

/* Latest dish reviews on the homepage. */
.home-latest-reviews{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(155deg,#fff 0%,#fffaf0 62%,#f7ead2 100%)}
.home-latest-reviews.home-section{padding-block:2.5rem}
.latest-reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.latest-reviews-heading>div{max-width:36rem}
.latest-reviews-kicker{margin:0 0 .45rem;color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-latest-reviews .latest-reviews-heading h2{font-size:clamp(1.5rem,5vw,2rem)}
.latest-reviews-heading>div>p:last-child{margin:.45rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.55}
.latest-reviews-tools{display:flex;flex:0 0 auto;align-items:center;gap:.65rem}
.latest-reviews-sort{display:none;flex:0 0 auto;align-items:center;gap:.35rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.8);color:var(--muted);font-size:.65rem;font-weight:700;white-space:nowrap}
.latest-reviews-sort-icon{width:.9rem;height:.9rem;color:var(--red)}
.latest-reviews-nav{display:none;align-items:center;gap:.4rem}
.latest-reviews-nav button{display:grid;width:2.25rem;height:2.25rem;padding:0;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--red);box-shadow:0 4px 12px rgba(61,36,31,.07);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}
.latest-reviews-nav button:hover:not(:disabled),.latest-reviews-nav button:focus-visible:not(:disabled){border-color:var(--red);background:var(--red);color:#fff;transform:translateY(-1px)}
.latest-reviews-nav button:focus-visible{outline:3px solid rgba(146,0,18,.18);outline-offset:2px}
.latest-reviews-nav button:disabled{cursor:not-allowed;opacity:.35}
.latest-reviews-nav-icon{width:1rem;height:1rem}
.latest-reviews-list{display:flex;gap:.8rem;margin-inline:-1.25rem;padding:.25rem 1.25rem .65rem;overflow-x:auto;scroll-padding-inline:1.25rem;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.latest-reviews-list::-webkit-scrollbar{display:none}
.latest-review-card{display:flex;flex:0 0 min(88vw,28rem);min-height:0;flex-direction:column;padding:.9rem 1rem;border:1px solid rgba(230,212,171,.9);border-radius:1.1rem;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(61,36,31,.08);scroll-snap-align:start}
.latest-review-dish{display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.65rem;color:var(--ink);text-decoration:none}
.latest-review-thumb{display:grid;width:2.75rem;height:2.75rem;place-items:center;overflow:hidden;border-radius:.75rem;background:var(--soft);color:var(--red)}
.latest-review-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.latest-review-dish:hover .latest-review-thumb img,.latest-review-dish:focus-visible .latest-review-thumb img{transform:scale(1.06)}
.latest-review-placeholder-icon{width:1.35rem;height:1.35rem}
.latest-review-dish small,.latest-review-dish strong{display:block;overflow-wrap:anywhere}
.latest-review-dish small{margin-bottom:.1rem;color:var(--muted);font-size:.58rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}
.latest-review-dish strong{font-size:.84rem;line-height:1.3}
.latest-review-card blockquote{position:relative;display:-webkit-box;margin:.7rem 0;padding-left:1.45rem;overflow:hidden;color:var(--ink);font-size:.8rem;font-style:italic;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.latest-review-card blockquote::before{content:'“';position:absolute;top:-.25rem;left:0;color:var(--gold);font-family:Georgia,serif;font-size:2rem;font-style:normal;font-weight:700;line-height:1}
.latest-review-card footer{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;margin-top:auto;padding-top:.65rem;border-top:1px solid rgba(230,212,171,.72)}
.latest-review-avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase}
.latest-review-byline{min-width:0}
.latest-review-byline strong,.latest-review-byline time,.latest-review-byline small{display:block;overflow-wrap:anywhere}
.latest-review-byline strong{font-size:.7rem}
.latest-review-byline time,.latest-review-byline small{color:var(--muted);font-size:.58rem}
.latest-review-link{display:inline-flex;align-items:center;gap:.15rem;min-height:2.15rem;padding:.45rem .65rem;border-radius:999px;background:var(--soft);font-size:.6rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.latest-review-link:hover,.latest-review-link:focus-visible{background:var(--red);color:#fff;transform:translateY(-1px)}
.latest-review-link-icon{width:.8rem;height:.8rem}
.latest-reviews-swipe{display:flex;align-items:center;justify-content:center;gap:.2rem;margin:.15rem 0 0;color:var(--muted);font-size:.6rem;font-weight:650}
.latest-reviews-swipe-icon{width:.8rem;height:.8rem;color:var(--red)}
@media(min-width:700px){.latest-reviews-sort{display:inline-flex}.latest-reviews-list{margin:0;padding:.25rem 0 .65rem;scroll-padding-inline:0}.latest-review-card{flex-basis:27rem}.latest-reviews-swipe{display:none}}
@media(min-width:900px){.latest-reviews-nav{display:flex}}
@media(min-width:1000px){.latest-reviews-list{gap:1rem}.latest-review-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.latest-review-card:hover{border-color:#d8bd7e;box-shadow:0 12px 30px rgba(61,36,31,.12);transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.latest-review-thumb img,.latest-review-link,.latest-review-card{transition:none}}

/* Dish-detail companion items and progressively disclosed reviews. */
.dish-pairings{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.dish-pairings-heading{margin-bottom:.85rem}
.dish-pairings-heading p{margin:0 0 .25rem;color:var(--red);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dish-pairings-heading h2{margin:0;font-size:1.2rem}
.dish-pairing-list{display:grid;gap:.7rem}
.dish-pairing-card{display:grid;grid-template-columns:4.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 5px 16px rgba(61,36,31,.05)}
.dish-pairing-image{display:block;width:4.75rem;height:4.75rem;overflow:hidden;border-radius:.75rem;background:var(--soft)}
.dish-pairing-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.dish-pairing-image:hover img,.dish-pairing-image:focus-visible img{transform:scale(1.05)}
.dish-pairing-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--red)}
.dish-pairing-placeholder .inline-icon{width:1.4rem;height:1.4rem}
.dish-pairing-copy{min-width:0}
.dish-pairing-copy h3{margin:0;font-size:.85rem;line-height:1.3;overflow-wrap:anywhere}
.dish-pairing-copy h3 a{color:var(--ink);text-decoration:none}
.dish-pairing-copy h3 a:hover,.dish-pairing-copy h3 a:focus-visible{color:var(--red)}
.dish-pairing-copy p{overflow:hidden;margin:.12rem 0;color:var(--muted);font-size:.62rem;font-style:italic;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.dish-pairing-copy strong{display:block;margin-top:.25rem;color:var(--red);font-size:.74rem}
.dish-pairing-add{display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;gap:.2rem;padding:.5rem .6rem;border:1px solid var(--red);border-radius:.7rem;background:var(--red);color:#fff;font:inherit;font-size:.66rem;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,transform .2s ease}
.dish-pairing-add:hover,.dish-pairing-add:focus-visible{background:var(--red2);transform:translateY(-1px)}
.dish-pairing-add .inline-icon{width:.9rem;height:.9rem}
.dish-comments-more{display:flex;min-height:2.8rem;align-items:center;justify-content:center;gap:.35rem;width:100%;margin-top:.85rem;padding:.65rem 1rem;border:1px solid var(--red);border-radius:.8rem;background:#fff;color:var(--red);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.dish-comments-more:hover,.dish-comments-more:focus-visible{background:var(--red);color:#fff}
.dish-comments-more-icon{width:1rem;height:1rem;transform:rotate(90deg)}
@media(min-width:700px){.dish-pairing-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-comments-more{width:auto;min-width:14rem;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.dish-pairing-image img,.dish-pairing-add,.dish-comments-more{transition:none}}

/* Compact horizontal dish cards on mobile; desktop keeps the full menu detail. */
.menu-card-image-placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-content: center;
	place-items: center;
	gap: 0.45rem;
	padding: 0.75rem;
	background: linear-gradient(145deg, #fff4cf, #f6e7cf);
	color: var(--red);
	text-align: center;
}

.menu-card-placeholder-icon {
	width: 2rem;
	height: 2rem;
}

.menu-card-image-placeholder small {
	color: var(--muted);
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1.35;
}

@media (max-width: 43.6875rem) {
	.menu-cards {
		gap: 0.75rem;
	}

	.menu-card {
		position: relative;
		display: grid;
		grid-template-columns: 7.25rem minmax(0, 1fr);
		min-height: 8.5rem;
		border: 1px solid rgba(230, 212, 171, 0.82);
		box-shadow: 0 0.35rem 1rem rgba(61, 36, 31, 0.07);
	}

	.menu-card-image {
		width: 100%;
		height: 100%;
		min-height: 8.5rem;
		aspect-ratio: auto;
	}

	.menu-card-image img {
		height: 100%;
		object-fit: cover;
	}

	.menu-card-body {
		display: flex;
		min-width: 0;
		flex-direction: column;
		padding: 0.72rem 0.75rem;
	}

	.menu-card-heading {
		gap: 0.35rem;
	}

	.menu-card-heading h3 {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.9rem;
		line-height: 1.32;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.menu-card-highlight {
		position: absolute;
		z-index: 1;
		top: 0.45rem;
		left: 0.45rem;
		min-height: 1.5rem;
		justify-content: center;
		padding: 0.25rem 0.38rem;
		font-size: 0.5rem;
		box-shadow: 0 0.2rem 0.55rem rgba(61, 36, 31, 0.14);
	}

	.menu-card-english {
		overflow: hidden;
		margin: 0.12rem 0 0.35rem !important;
		font-size: 0.64rem !important;
		line-height: 1.35;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.menu-card-description,
	.menu-card-description-en,
	.menu-card-variants,
	.menu-card-preparation {
		display: none;
	}

	.menu-card-action {
		gap: 0.4rem;
		margin-top: auto;
		padding-top: 0.55rem;
	}

	.menu-card-action strong {
		font-size: 0.82rem;
	}

	.menu-card .menu-add-button {
		min-height: 2.5rem;
		padding: 0.48rem 0.62rem;
	}

	.menu-card-image-placeholder small {
		max-width: 5.5rem;
	}
}
