
:root{
 --red:#832719;--red2:#9b2c20;--red-dark:#4b100d;--red-deep:#2e0b09;
 --gold:#c9a44d;--gold2:#e8cf86;--cream:#f6f0e4;--cream2:#eadfcd;--paper:#fffdf8;--ink:#241b18;
 --serif:'Playfair Display','Noto Serif','Source Serif Pro','Times New Roman','Segoe UI',Times,serif;
 --sans:'Work Sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 /* RED MASTER — every major surface stays in the same burgundy family */
 --page:#4b100d;--surface:#58130f;--surface-alt:#641812;--surface-soft:#702018;--surface-strong:#2e0b09;--panel:#611812;
 --text:#f6f0e4;--muted:rgba(246,240,228,.68);--line:rgba(242,228,183,.16);--shadow:0 24px 70px rgba(25,4,3,.24);
 --hero-bg:#2e0b09;--hero-text:#f6f0e4;--header-bg:rgba(46,11,9,.96);--header-text:#f6f0e4;
 --accent-display:#e8cf86;--accent-ui:#e8cf86;--action-bg:#e8cf86;--action-text:#2e0b09;--particle:232,207,134;--particle-opacity:.96;--particle-blend:screen;
 --content:1180px;--prose:760px;
}
html[data-theme='light']{
 /* LIGHT MASTER — no fixed burgundy content sections */
 --page:#fffaf1;--surface:#f6f0e4;--surface-alt:#efe3d1;--surface-soft:#e8dbc7;--surface-strong:#e1d0b9;--panel:#fffdf8;
 --text:#34241f;--muted:#71645e;--line:rgba(75,16,13,.13);--shadow:0 24px 60px rgba(75,16,13,.10);
 --hero-bg:#efe2cf;--hero-text:#4b100d;--header-bg:rgba(250,241,226,.97);--header-text:#4b100d;
 --accent-display:#a13a2a;--accent-ui:#a13a2a;--action-bg:#832719;--action-text:#fffaf1;--particle:131,39,25;--particle-opacity:.6;--particle-blend:multiply;
}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;background:var(--page)}body{margin:0;background:var(--page);color:var(--text);font-family:var(--sans);overflow-x:hidden}body.no-scroll{overflow:hidden}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}::selection{background:var(--gold2);color:var(--red-dark)}
#ambientParticles{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:var(--particle-opacity);mix-blend-mode:var(--particle-blend);transition:opacity .35s}.noise{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E")}.page-layer{position:relative}
.content-shell{width:min(var(--content),calc(100% - 48px));margin-inline:auto}.prose-shell{width:min(var(--prose),calc(100% - 48px));margin-inline:auto}.site-header,.hero-layout,.promise-rail,.section>.content-shell,.internal-hero>.content-shell,.internal-hero>.prose-shell,.internal-section>.content-shell,.internal-section>.prose-shell,.ritual-sticky,.finale>.content-shell,.site-footer>.content-shell{position:relative;z-index:10}.eyebrow{margin:0 0 12px;font-size:11px;line-height:1.3;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accent-ui)}.display{font-family:var(--serif)}
.site-header{position:fixed;z-index:100;top:14px;left:18px;right:18px;height:68px;display:grid;grid-template-columns:235px 1fr 235px;align-items:center;gap:22px;padding:0 22px;border:1px solid transparent;border-radius:20px;color:var(--cream);transition:.3s}.site-header.is-scrolled,.site-header.is-internal{background:var(--header-bg);color:var(--header-text);border-color:rgba(201,164,77,.23);backdrop-filter:blur(18px);box-shadow:0 15px 50px rgba(35,10,7,.14)}html[data-theme='light'] .site-header:not(.is-scrolled):not(.is-internal){color:var(--red-dark)}
.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:16px;flex:none}.brand-type{min-width:0}.brand-type strong{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.05em}.brand-type small{display:block;font-size:7px;letter-spacing:.16em;color:var(--gold2);margin-top:2px}.main-nav{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,30px)}.main-nav a{font-size:12px;white-space:nowrap;position:relative}.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.main-nav a:hover:after,.main-nav a.is-active:after{right:0}.header-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.theme-toggle,.cart-pill,.menu-toggle{height:42px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px}.theme-toggle{padding:0 14px;font-size:10px;letter-spacing:.08em}.cart-pill{display:flex;align-items:center;gap:10px;padding:0 7px 0 14px;font-size:10px}.cart-pill b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--red-deep)}.menu-toggle{display:none;width:42px;border-radius:50%;place-items:center}.menu-toggle i,.menu-toggle i:after{display:block;width:17px;height:1px;background:currentColor;content:''}.menu-toggle i:after{transform:translateY(6px)}
.loader{position:fixed;z-index:5000;inset:0;display:grid;place-content:center;justify-items:center;gap:17px;background:var(--red-deep);color:var(--gold2);transition:opacity .7s,visibility .7s}.loader.is-hidden{opacity:0;visibility:hidden}.loader-mark{width:74px;height:74px;border:1px solid var(--gold);display:grid;place-items:center;font:500 26px var(--serif);box-shadow:inset 0 0 0 7px var(--red-deep),inset 0 0 0 8px rgba(201,164,77,.4)}.loader p{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin:0}.loader-line{width:180px;height:1px;background:rgba(255,255,255,.13);overflow:hidden}.loader-line i{display:block;width:44%;height:100%;background:linear-gradient(90deg,transparent,var(--gold2),transparent);animation:loader 1.25s infinite}@keyframes loader{from{transform:translateX(-120%)}to{transform:translateX(340%)}}
/* HOME */
.hero{position:relative;min-height:100svh;background:var(--hero-bg);color:var(--hero-text);overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;filter:saturate(.75) sepia(.18) hue-rotate(325deg);pointer-events:none}.hero-wash{position:absolute;inset:0;background:radial-gradient(circle at 59% 43%,rgba(201,164,77,.22),transparent 30%),linear-gradient(90deg,rgba(46,11,9,.97) 0%,rgba(75,16,13,.84) 31%,rgba(75,16,13,.23) 60%,rgba(46,11,9,.88) 100%)}html[data-theme='light'] .hero-wash{background:radial-gradient(circle at 59% 43%,rgba(201,164,77,.24),transparent 31%),linear-gradient(90deg,rgba(246,240,228,.96) 0%,rgba(246,240,228,.84) 32%,rgba(246,240,228,.28) 62%,rgba(239,226,207,.80) 100%)}html[data-theme='light'] .hero-video{opacity:.23;filter:saturate(.78) sepia(.28)}
.hero-vignette{position:absolute;inset:10px;border:1px solid rgba(201,164,77,.36);border-radius:26px;box-shadow:inset 0 0 160px rgba(30,4,3,.34);pointer-events:none}.hero-layout{position:relative;z-index:4;min-height:100svh;width:min(1540px,92vw);margin:auto;display:grid;grid-template-columns:minmax(320px,32%) minmax(520px,48%) minmax(250px,20%);gap:18px;align-items:center;padding:108px 0 56px}.hero-copy{position:relative;z-index:12}.hero-copy .eyebrow{color:var(--gold2)}html[data-theme='light'] .hero-copy .eyebrow{color:var(--red2)}.hero h1{font:500 clamp(60px,6.1vw,106px)/.84 var(--serif);letter-spacing:-.055em;margin:24px 0}.hero h1 em{display:block;color:var(--gold2);font-weight:500}html[data-theme='light'] .hero h1 em{color:var(--red2)}.hero-lead{max-width:490px;font-size:16px;line-height:1.68;color:rgba(246,240,228,.78)}html[data-theme='light'] .hero-lead{color:#6d554d}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.button{min-height:48px;border-radius:999px;padding:0 20px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:12px;font-weight:700}.button-gold{background:linear-gradient(115deg,var(--gold2),var(--gold));color:var(--red-deep)}.button-outline{border-color:rgba(242,228,183,.38);color:inherit;background:rgba(255,255,255,.025)}html[data-theme='light'] .button-outline{border-color:rgba(75,16,13,.22)}.button-red{background:var(--action-bg);color:var(--action-text)}.button-small{min-height:42px;padding-inline:16px}.button-full{width:100%}
.film-preview{margin-top:18px;width:min(430px,100%);display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;border:1px solid rgba(242,228,183,.18);background:rgba(255,255,255,.055);padding:8px;border-radius:18px;text-align:left;color:inherit}.film-preview-media{height:74px;border-radius:12px;overflow:hidden;position:relative}.film-preview-media video,.film-preview-media img{display:block;width:100%;height:100%;object-fit:cover}.film-preview-copy small{display:block;color:var(--gold2);font-size:8px;letter-spacing:.15em}.film-preview-copy b{display:block;font:500 17px var(--serif);margin-top:4px}.film-preview-copy span{font-size:10px;opacity:.66}.film-preview-play{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:var(--red-deep);font-size:9px}
.hero-stage{position:relative;height:min(650px,72vh);min-height:520px;perspective:1200px;transform-style:preserve-3d}.stage-halo{position:absolute;width:78%;aspect-ratio:1;left:11%;top:6%;border-radius:50%;background:radial-gradient(circle,rgba(232,207,134,.28),rgba(155,44,32,.1) 43%,transparent 70%);filter:blur(18px);animation:pulse 5s ease-in-out infinite}.stage-ring{position:absolute;border:1px solid rgba(232,207,134,.24);border-radius:50%;left:13%;top:14%;width:72%;aspect-ratio:1;transform:rotateX(67deg);animation:spin 18s linear infinite}.stage-ring.two{left:19%;top:21%;width:60%;border-style:dashed;animation-direction:reverse;animation-duration:13s}
.hero-cart{position:relative;z-index:15;width:100%;border-radius:24px;padding:18px;background:rgba(46,11,9,.66);border:1px solid rgba(242,228,183,.18);backdrop-filter:blur(18px);box-shadow:0 24px 60px rgba(25,4,3,.26);color:var(--cream)}html[data-theme='light'] .hero-cart{background:rgba(255,253,248,.79);border-color:rgba(75,16,13,.15);color:var(--ink)}.hero-cart-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid rgba(242,228,183,.14)}html[data-theme='light'] .hero-cart-head{border-color:rgba(75,16,13,.12)}.hero-cart-head small{display:block;font-size:8px;letter-spacing:.15em;color:var(--gold2)}html[data-theme='light'] .hero-cart-head small{color:var(--red2)}.hero-cart-head strong{font-size:12px}.hero-cart-head i{font-style:normal;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--gold);font-family:var(--serif)}.hero-cart-items{min-height:154px;display:grid;align-content:start;gap:9px;padding:13px 0}.hero-cart-empty{margin:auto;text-align:center;font-size:11px;line-height:1.55;opacity:.54}.mini-line{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center}.mini-line img{width:40px;height:40px;border-radius:9px;object-fit:cover}.mini-line b{display:block;font-size:10px;line-height:1.2}.mini-line small{display:block;font-size:8px;opacity:.58}.mini-line span{font-size:8px;color:var(--gold2)}html[data-theme='light'] .mini-line span{color:var(--red2)}.hero-cart-total{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(242,228,183,.14);font-size:10px}.hero-cart-total strong{color:var(--gold2)}html[data-theme='light'] .hero-cart-total strong{color:var(--red2)}
.promise-rail{position:relative;z-index:8;width:min(1180px,90vw);margin:-34px auto 0;background:var(--surface-strong);color:var(--text);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);padding:22px}.promise-rail article{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:0 20px;border-right:1px solid var(--line);align-items:center}.promise-rail article:last-child{border:0}.promise-rail i{font-style:normal;font-size:22px;color:var(--accent-ui)}.promise-rail b{font:500 15px var(--serif)}.promise-rail span{display:block;font-size:9px;line-height:1.35;color:var(--muted);margin-top:3px}
.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.section-head h2{font:500 clamp(36px,4vw,54px)/1 var(--serif);letter-spacing:-.035em;margin:0}.section-head h2 em{color:var(--accent-ui);font-weight:500}.section-head p{max-width:460px;color:var(--muted);line-height:1.65;margin:0}.business-lines{background:var(--surface)}.line-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.line-card{min-height:255px;border-radius:24px;overflow:hidden;position:relative;color:white;box-shadow:var(--shadow)}.line-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.line-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(46,11,9,.88),rgba(46,11,9,.1) 68%)}.line-card-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.line-card small{font-size:8px;letter-spacing:.16em;color:var(--gold2)}.line-card h3{font:500 28px/1 var(--serif);margin:8px 0}.line-card p{font-size:11px;line-height:1.45;margin:0;color:rgba(255,255,255,.74)}
.curated{background:var(--surface-alt)}.curated-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.curated-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;box-shadow:0 9px 24px rgba(75,16,13,.05);min-width:0}.curated-card button{border:0;background:none;width:100%;text-align:left;padding:0;color:inherit}.curated-img{height:145px;overflow:hidden}.curated-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.curated-card:hover .curated-img img{transform:scale(1.05)}.curated-copy{padding:13px}.curated-copy small{font-size:7px;letter-spacing:.12em;color:var(--accent-ui)}.curated-copy h3{font:500 19px/1.08 var(--serif);margin:7px 0 6px;min-height:41px}.curated-copy p{font-size:10px;color:var(--muted);margin:0}.curated-foot{display:flex;justify-content:space-between;align-items:center;padding:0 13px 13px}.curated-foot span{font-size:10px;font-weight:700}.round-add{width:34px;height:34px;border-radius:50%;border:0;background:var(--action-bg);color:var(--action-text);font-size:19px}
.ritual{position:relative;min-height:140vh;background:var(--surface-strong);color:var(--text)}.ritual-sticky{position:sticky;top:0;min-height:100svh;width:min(1180px,90vw);margin:auto;display:grid;grid-template-columns:40% 60%;align-items:center}.ritual-copy h2{font:500 clamp(46px,5vw,72px)/.96 var(--serif);margin:14px 0}.ritual-copy h2 em{color:var(--accent-display)}.ritual-copy p{max-width:420px;color:rgba(246,240,228,.64);line-height:1.7}.ritual-step{display:flex;align-items:baseline;gap:10px;margin-top:22px}.ritual-step b{font:500 48px var(--serif);color:var(--gold2)}.ritual-step span{font-size:10px;letter-spacing:.12em}.assembly{position:relative;height:min(650px,70vh);min-height:520px}.assembly-plate{position:absolute;width:62%;aspect-ratio:1;left:19%;top:13%;border-radius:50%;background:radial-gradient(circle,#f3dfc5 0 58%,#956f5d 59% 62%,#390b0d 63%);box-shadow:0 46px 65px rgba(27,2,3,.56)}.assembly-final{position:absolute;z-index:8;width:85%;left:7.5%;bottom:4%;filter:drop-shadow(0 34px 36px rgba(24,3,3,.48));transition:transform .15s linear}.assembly-piece{position:absolute;z-index:10;width:24%;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 15px 35px rgba(0,0,0,.25);transition:transform .15s linear,opacity .15s linear}.piece1{left:4%;top:12%}.piece2{right:2%;top:12%}.piece3{left:2%;bottom:8%}.piece4{right:7%;bottom:7%}
.about-teaser{background:var(--surface)}.about-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.photo-stack{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.photo-stack img{width:100%;height:290px;object-fit:cover;border-radius:22px}.photo-stack img:nth-child(2){height:230px;margin-top:50px}.about-teaser h2{font:500 clamp(40px,4vw,58px)/.98 var(--serif);margin:12px 0 20px}.about-teaser p{line-height:1.7;color:var(--muted)}.proof-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.proof-row div{border-top:1px solid var(--line);padding-top:12px}.proof-row b{font:500 25px var(--serif);color:var(--accent-ui)}.proof-row span{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.finale{padding:110px 0 125px;background:var(--surface-strong);color:var(--text);text-align:center}.finale h2{font:500 clamp(50px,6vw,88px)/.92 var(--serif);margin:14px auto 32px;max-width:950px}.finale h2 em{color:var(--accent-display)}.finale-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
/* INTERNAL */
.internal-main{padding-top:100px}.internal-hero{padding:70px 0 48px;background:var(--surface)}.internal-hero h1{font:500 clamp(42px,4vw,58px)/1 var(--serif);letter-spacing:-.035em;margin:8px 0 14px}.internal-hero p{max-width:740px;line-height:1.68;color:var(--muted);margin:0}.internal-section{padding:68px 0}.surface-soft{background:var(--surface-soft)}.surface-strong-section{background:var(--surface-strong);color:var(--text)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.prose h2{font:500 clamp(32px,3vw,42px)/1.05 var(--serif);margin:8px 0 15px}.prose p{line-height:1.72;color:var(--muted)}.surface-strong-section .prose p{color:var(--muted)}.image-frame{border-radius:24px;overflow:hidden}.image-frame img{width:100%;height:430px;object-fit:cover}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.stat-card strong{font:500 34px var(--serif);color:var(--accent-ui)}.stat-card b{display:block;margin-top:5px}.stat-card p{font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:0}.gallery-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:220px 220px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gallery-grid img:first-child{grid-row:1/3}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.team-card{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:20px}.team-card h3{font:500 25px var(--serif);margin:6px 0}.team-card p{font-size:12px;line-height:1.55;color:var(--muted)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.media-card{border-radius:20px;background:var(--panel);border:1px solid var(--line);padding:20px}.media-card strong{display:block;color:var(--accent-ui);font-size:12px;letter-spacing:.08em}.media-card blockquote{font:500 21px/1.3 var(--serif);margin:14px 0}.media-card small{color:var(--muted)}
/* menu */
.menu-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:24px}.search-box{width:min(360px,100%)}.search-box input{width:100%;height:46px;border-radius:999px;border:1px solid var(--line);background:var(--panel);padding:0 18px;color:var(--text)}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:11px}.filter.is-active{background:var(--action-bg);color:var(--action-text)}.result-meta{font-size:11px;color:var(--muted);margin-bottom:16px}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}.product-open{width:100%;border:0;background:none;text-align:left;color:inherit;padding:0}.product-img{height:155px;overflow:hidden;background:var(--surface-soft)}.product-img img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card:hover .product-img img{transform:scale(1.05)}.product-copy{padding:13px}.product-copy small{font-size:7px;letter-spacing:.11em;color:var(--accent-ui)}.product-copy h3{font:500 19px/1.06 var(--serif);margin:6px 0;min-height:41px}.product-copy p{font-size:10px;line-height:1.45;color:var(--muted);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.product-foot{display:flex;align-items:center;justify-content:space-between;padding:0 13px 13px;gap:8px}.product-foot span{font-size:10px;font-weight:700}.add-link{min-height:34px;padding:0 11px;border-radius:999px;border:0;background:var(--action-bg);color:var(--action-text);font-size:10px}
/* catering */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cap-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.cap-card span{color:var(--accent-ui);font-size:10px;letter-spacing:.12em}.cap-card h3{font:500 25px var(--serif);margin:8px 0}.cap-card p{font-size:12px;line-height:1.55;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.portfolio-card{border-radius:19px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.portfolio-card img{width:100%;height:230px;object-fit:cover}.portfolio-card div{padding:18px}.portfolio-card small{font-size:8px;letter-spacing:.12em;color:var(--accent-ui)}.portfolio-card h3{font:500 24px/1.08 var(--serif);margin:8px 0}.portfolio-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
/* forms checkout */
.checkout-layout{display:grid;grid-template-columns:minmax(0,650px) 360px;justify-content:center;gap:30px;align-items:start}.checkout-flow{display:grid;gap:13px}.checkout-card,.order-summary{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:21px}.checkout-card h2,.order-summary h2{font:500 25px var(--serif);margin:0 0 16px}.fulfilment{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.fulfilment button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text)}.fulfilment button.is-active{background:var(--action-bg);color:var(--action-text)}.field-stack{display:grid;gap:12px}.field-stack label{display:grid;gap:6px;font-size:11px;font-weight:700}.field-stack input:not([type='radio']):not([type='checkbox']),.field-stack select,.field-stack textarea,.contact-form input:not([type='radio']):not([type='checkbox']),.contact-form textarea,.contact-form select{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:11px 12px;min-height:45px}.field-stack textarea,.contact-form textarea{resize:vertical}.order-summary{position:sticky;top:98px}.summary-items{display:grid;gap:10px}.summary-line{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.summary-line img{width:50px;height:50px;border-radius:10px;object-fit:cover}.summary-line b{display:block;font-size:11px}.summary-line small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.qty{display:flex;align-items:center;gap:5px}.qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text)}.summary-meta{display:grid;gap:10px;margin:17px 0}.summary-meta div{display:flex;justify-content:space-between;gap:20px;font-size:11px}.policy{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.45;margin:15px 0}.policy input{margin-top:2px}.mobile-checkout{display:none;position:fixed;z-index:80;left:10px;right:10px;bottom:10px;background:var(--red-dark);color:white;border-radius:16px;padding:8px 9px 8px 14px;justify-content:space-between;align-items:center}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.contact-form{display:grid;gap:11px}.contact-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel);margin-bottom:10px}
/* footer/modal/cart */
.site-footer{background:var(--surface-strong);color:var(--text);padding:50px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:30px}.footer-grid h4{font:500 18px var(--serif);margin:0 0 12px}.footer-grid p,.footer-grid a{font-size:11px;line-height:1.7;color:var(--muted)}.copyright{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.modal{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;visibility:hidden}.modal.is-open{visibility:visible}.modal-backdrop{position:absolute;inset:0;background:rgba(31,4,3,.78);backdrop-filter:blur(8px);opacity:0;transition:.25s}.modal.is-open .modal-backdrop{opacity:1}.modal-panel{position:relative;z-index:2;width:min(900px,92vw);max-height:90vh;overflow:auto;background:var(--panel);color:var(--text);border-radius:24px;box-shadow:0 40px 120px rgba(0,0,0,.4);transform:translateY(20px);opacity:0;transition:.3s}.modal.is-open .modal-panel{transform:none;opacity:1}.modal-close{position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:var(--red-dark);color:white;font-size:22px}.product-modal-grid{display:grid;grid-template-columns:45% 55%}.product-modal-image{min-height:500px}.product-modal-image img{width:100%;height:100%;object-fit:cover}.product-modal-copy{padding:38px}.product-modal-copy h2{font:500 38px/1 var(--serif);margin:8px 0 13px}.product-modal-copy p{font-size:12px;line-height:1.6;color:var(--muted)}.choice{display:grid;gap:6px;margin-top:14px}.choice label{font-size:10px;font-weight:700}.choice select{height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:0 10px}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.film-panel{width:min(1050px,92vw);aspect-ratio:16/9;background:black;overflow:hidden}.film-panel video{width:100%;height:100%;object-fit:cover}.film-caption{position:absolute;left:5%;bottom:7%;z-index:2;color:white}.film-caption h2{font:500 clamp(36px,5vw,64px)/.95 var(--serif);margin:7px 0}.toast{position:fixed;z-index:4000;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--red-dark);color:white;padding:11px 17px;border-radius:999px;font-size:11px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes pulse{50%{transform:scale(1.07);opacity:.75}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bowl{50%{transform:translateY(-10px) rotate(.6deg)}}@keyframes steam{0%{transform:translateY(16px) scaleX(.8);opacity:0}35%{opacity:.42}100%{transform:translateY(-40px) scaleX(1.5);opacity:0}}
@media(max-width:1280px){.site-header{grid-template-columns:210px 1fr 210px}.main-nav{gap:14px}.hero-layout{grid-template-columns:34% 46% 20%}.hero-cart{padding:15px}.curated-grid{grid-template-columns:repeat(5,1fr)}.product-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1080px){.main-nav{position:fixed;left:16px;right:16px;top:88px;display:none;flex-direction:column;align-items:flex-start;background:var(--header-bg);color:var(--header-text);border:1px solid rgba(201,164,77,.23);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.menu-toggle{display:grid}.site-header{grid-template-columns:1fr auto}.header-actions{grid-column:2}.hero-layout{grid-template-columns:40% 60%;padding-top:125px}.hero-copy{grid-column:1}.hero-stage{grid-column:2}.hero-cart{position:absolute;right:4vw;bottom:70px;width:270px}.curated-grid{grid-template-columns:repeat(4,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{left:9px;right:9px;top:8px;height:60px;padding:0 13px}.brand-type small{display:none}.theme-toggle{display:none}.cart-pill span{display:none}.cart-pill{padding-left:7px}.hero{min-height:auto}.hero-layout{width:90vw;grid-template-columns:1fr;align-content:start;padding-top:105px;padding-bottom:85px}.hero-copy,.hero-stage{grid-column:1}.hero-copy{max-width:680px}.hero h1{font-size:clamp(56px,13vw,86px)}.hero-stage{height:500px;min-height:0;margin-top:18px}.hero-cart{display:none}.hero-lead{max-width:600px}.film-preview{max-width:520px}.promise-rail{grid-template-columns:1fr 1fr;margin-top:-22px;padding:14px}.promise-rail article{min-height:70px}.promise-rail article:nth-child(2){border-right:0}.line-grid{grid-template-columns:1fr}.curated-grid{grid-template-columns:repeat(3,1fr)}.ritual{min-height:135vh}.ritual-sticky{grid-template-columns:1fr;align-content:center;padding-top:80px}.ritual-copy p{max-width:650px}.assembly{height:470px;min-height:0}.about-teaser-grid,.two-col,.contact-grid{grid-template-columns:1fr}.about-teaser-grid .photo-stack{order:2}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}.gallery-grid img:first-child{grid-row:auto}.team-grid,.media-grid,.cap-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(3,1fr)}.checkout-layout{grid-template-columns:1fr;max-width:720px;margin:auto}.order-summary{position:static}.mobile-checkout{display:flex}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content-shell,.prose-shell{width:min(100% - 30px,var(--content))}.section{padding:72px 0}.hero-layout{width:90vw}.hero-stage{height:410px}.promise-rail{width:92vw;grid-template-columns:1fr;padding:0}.promise-rail article{border-right:0;border-bottom:1px solid rgba(242,228,183,.13);padding:0 18px}.section-head{display:block}.section-head p{margin-top:14px}.curated-grid{grid-template-columns:repeat(2,1fr);gap:9px}.curated-img{height:125px}.curated-copy h3{font-size:17px}.ritual-copy h2{font-size:45px}.assembly{height:370px}.photo-stack img{height:220px}.photo-stack img:nth-child(2){height:180px;margin-top:38px}.proof-row{grid-template-columns:1fr 1fr}.internal-main{padding-top:80px}.internal-hero{padding:50px 0 30px}.internal-hero h1{font-size:40px}.internal-section{padding:50px 0}.stat-grid{grid-template-columns:1fr 1fr}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none}.gallery-grid img{height:180px}.menu-toolbar{display:grid;gap:12px}.filters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.filter{white-space:nowrap}.product-grid{grid-template-columns:repeat(2,1fr);gap:9px}.product-img{height:125px}.product-copy h3{font-size:17px;min-height:36px}.product-copy p{display:none}.portfolio-grid{grid-template-columns:1fr}.portfolio-card img{height:210px}.product-modal-grid{display:block}.product-modal-image{min-height:280px;height:34vh}.product-modal-copy{padding:25px}.product-modal-copy h2{font-size:32px}.film-panel{aspect-ratio:9/14}.footer-grid{grid-template-columns:1fr}.site-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-video{display:none}}

/* =========================================================
   v9.6 CONSOLIDATED INTERACTION / UX LAYER
   One layer only: replaces v9/v9.3/v9.4/v9.5 patch stack.
   ========================================================= */
html{font-size:18px}
body{font-size:18px;line-height:1.62}
html,body,.hero,.business-lines,.curated,.ritual,.about-teaser,.finale,.internal-hero,.internal-section,.surface-soft,.surface-strong-section,.site-footer,.curated-card,.product-card,.stat-card,.checkout-card,.order-summary,.modal-panel{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.eyebrow{font-size:12px}

/* fixed top strip — no floating capsule */
.site-header{top:0;left:0;right:0;height:84px;padding:0 30px;border:0;border-radius:0;grid-template-columns:260px 1fr auto;background:rgba(46,11,9,.90);color:var(--header-text);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(30,5,3,.10);border-bottom:1px solid rgba(201,164,77,.17)}
.site-header.is-scrolled,.site-header.is-internal{background:var(--header-bg);color:var(--header-text);border-bottom-color:rgba(201,164,77,.23);box-shadow:0 10px 34px rgba(35,10,7,.13)}
html[data-theme='light'] .site-header,html[data-theme='light'] .site-header.is-scrolled,html[data-theme='light'] .site-header.is-internal{background:rgba(255,250,241,.94);color:var(--header-text);border-bottom-color:rgba(75,16,13,.12)}
.brand{position:relative;gap:11px}
.brand-mark{width:42px;height:42px;font-size:17px}
.brand-type strong{font-size:17px}
.brand-type small{font-size:8px;color:var(--accent-display)}
.brand-orbit{width:30px;height:24px;position:relative;margin-left:1px;opacity:.82;flex:none}
.brand-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold2);box-shadow:0 0 10px rgba(232,207,134,.45);animation:brandSpark 3.6s ease-in-out infinite}
.brand-orbit i:nth-child(1){left:1px;top:10px}.brand-orbit i:nth-child(2){left:12px;top:3px;animation-delay:-1.2s;transform:scale(.7)}.brand-orbit i:nth-child(3){left:22px;top:13px;animation-delay:-2.3s;transform:scale(.55)}
@keyframes brandSpark{0%,100%{opacity:.35;translate:0 2px}50%{opacity:1;translate:0 -3px}}
.main-nav{gap:clamp(15px,1.7vw,27px)}
.main-nav a{font-size:15px;font-weight:600;letter-spacing:.005em}
.header-actions{gap:10px}
.theme-toggle,.cart-pill,.menu-toggle{border:0;background:transparent;color:inherit}
.theme-toggle{width:36px;height:36px;min-width:36px;padding:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.075);transition:transform .2s ease,background .2s ease}
.theme-toggle:hover{transform:translateY(-1px);background:rgba(255,255,255,.13)}
html[data-theme='light'] .theme-toggle{background:rgba(75,16,13,.06)}
html[data-theme='light'] .theme-toggle:hover{background:rgba(75,16,13,.10)}
.theme-icons{width:20px;height:20px;display:grid;place-items:center}.theme-icons svg{grid-area:1/1;width:20px;height:20px;transition:opacity .22s ease,transform .22s ease}.theme-sun{opacity:1;transform:scale(1)}.theme-moon{opacity:0;transform:scale(.72) rotate(-18deg)}html[data-theme='light'] .theme-sun{opacity:0;transform:scale(.72) rotate(18deg)}html[data-theme='light'] .theme-moon{opacity:1;transform:scale(1) rotate(0)}
.cart-pill{display:flex;align-items:center;gap:7px;padding:0;white-space:nowrap;text-decoration:none;min-height:42px}
.cart-icon{width:20px;height:20px;flex:none}
.cart-pill span{font-size:15px;font-weight:700;letter-spacing:.025em}
.cart-pill b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--red-deep);font-size:12px}
.menu-toggle{display:none;width:40px;height:40px;border-radius:50%;place-items:center}

/* Home hero: photographic core + photographic fragments, no labels/seals */
.hero-layout{padding-top:120px}
.hero-stage{position:relative;height:min(650px,72vh);min-height:520px;perspective:1200px;transform-style:preserve-3d}
.stage-halo{position:absolute;width:78%;aspect-ratio:1;left:11%;top:6%;border-radius:50%;background:radial-gradient(circle,rgba(232,207,134,.26),rgba(155,44,32,.08) 43%,transparent 70%);filter:blur(18px);animation:pulse 5s ease-in-out infinite}
.stage-ring{position:absolute;border:1px solid rgba(232,207,134,.22);border-radius:50%;left:13%;top:14%;width:72%;aspect-ratio:1;transform:rotateX(67deg);animation:spin 18s linear infinite}.stage-ring.two{left:19%;top:21%;width:60%;border-style:dashed;animation-direction:reverse;animation-duration:13s}
.photo-float{position:absolute;z-index:13;background-repeat:no-repeat;border:1px solid rgba(246,240,228,.22);box-shadow:0 18px 35px rgba(31,4,3,.30);filter:saturate(.96) contrast(1.03);overflow:hidden;pointer-events:none}
.photo-float:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 22px rgba(255,255,255,.07);border-radius:inherit}
@keyframes photoDrift1{50%{transform:translate(22px,-18px) rotate(4deg)}}@keyframes photoDrift2{50%{transform:translate(-24px,22px) rotate(-5deg)}}@keyframes photoDrift3{50%{transform:translate(-16px,-21px) rotate(4deg)}}@keyframes photoDrift4{50%{transform:translate(20px,17px) rotate(-4deg)}}
.steam{position:absolute;z-index:10;width:38px;height:160px;border-left:4px solid rgba(246,240,228,.24);filter:blur(5px);opacity:.5;bottom:53%;animation:steam 4s ease-in-out infinite}.steam.s1{left:44%}.steam.s2{left:53%;animation-delay:-1.5s}.steam.s3{left:61%;animation-delay:-2.8s}
html[data-theme='light'] .photo-float{border-color:rgba(75,16,13,.16);box-shadow:0 18px 32px rgba(75,16,13,.14)}

/* hero mini-menu */
.hero-cart{border-radius:20px;padding:18px}
.hero-cart-head small{font-size:10px}.hero-cart-head strong{font-size:14px}.hero-cart-empty{font-size:13px}.mini-line b{font-size:12px}.mini-line small,.mini-line span{font-size:10px}.hero-cart-total{font-size:12px}

/* promise rail is a bridge, not a detached white box */
.promise-rail{margin:-50px auto -38px;z-index:12;border-radius:18px;padding:20px 18px;background:rgba(46,11,9,.82);border-color:rgba(232,207,134,.22);backdrop-filter:blur(16px);box-shadow:0 22px 48px rgba(25,4,3,.20)}
html[data-theme='light'] .promise-rail{background:rgba(255,250,241,.82);border-color:rgba(75,16,13,.14);box-shadow:0 18px 40px rgba(75,16,13,.10)}
.promise-rail span{font-size:11px}.business-lines{padding-top:132px}

/* body / cards */
.hero-lead{font-size:18px}.button{font-size:14px}.film-preview-copy small{font-size:10px}.film-preview-copy span{font-size:12px}.line-card small{font-size:10px}.line-card p{font-size:13px}
.curated-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.curated-card{border-radius:20px}.curated-img{height:190px}.curated-copy{padding:16px 16px 18px}.curated-copy small{font-size:9px}.curated-copy h3{font-size:24px;min-height:50px;margin:8px 0}.curated-copy p{font-size:14px;line-height:1.5}.curated-foot{padding:0 16px 16px}.curated-foot span{font-size:12px}.round-add{width:44px;height:44px;border-radius:10px;font-size:22px}
.product-card{border-radius:18px}.product-copy small{font-size:9px}.product-copy h3{font-size:20px;min-height:45px}.product-copy p{font-size:12px;line-height:1.55}.product-foot span{font-size:12px}.add-link{min-height:40px;padding:0 13px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease}.add-link:hover,.round-add:hover{transform:translateY(-1px)}

/* modal — description has more visual weight, controls quieter, CTA anchored low */
.modal-close{width:44px;height:44px}.product-modal-copy{padding:38px;display:flex;flex-direction:column;min-height:500px}.product-modal-copy p{font-size:16px;line-height:1.68}.choice{margin-top:16px}.choice label{font-size:11px;font-weight:700;color:var(--muted)}.choice select{height:46px;border-radius:10px;padding-left:12px;padding-right:48px}.modal-actions{margin-top:auto;padding-top:30px;align-items:flex-end}.modal-actions strong{font-size:18px}.modal-actions .button{border-radius:10px}

/* all select arrows: deliberately inset from right edge */
.field-stack select,.contact-form select,.choice select,select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23c9a44d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px;padding-right:48px}
html[data-theme='light'] .field-stack select,html[data-theme='light'] .contact-form select,html[data-theme='light'] .choice select,html[data-theme='light'] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23832719' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}

/* checkout: clear four-block reading structure */
.checkout-layout{grid-template-columns:minmax(0,650px) 360px;gap:32px}.checkout-flow{display:block}#checkoutForm{display:grid;gap:24px}.checkout-card,.order-summary{border:1px solid rgba(242,228,183,.28);border-radius:18px;padding:23px;box-shadow:0 9px 24px rgba(29,5,3,.07)}html[data-theme='light'] .checkout-card,html[data-theme='light'] .order-summary{border-color:rgba(75,16,13,.20);box-shadow:0 9px 22px rgba(75,16,13,.055)}.checkout-card h2,.order-summary h2{margin-bottom:18px}.field-stack{gap:14px}.field-stack label{font-size:13px}.field-note{font-size:12px}.summary-line b{font-size:13px}.summary-line small{font-size:11px}.summary-meta{margin:20px 0;gap:12px}.summary-meta div{font-size:13px}.policy{font-size:12px}.checkout-message{font-size:13px}.qty button{width:38px;height:38px}.payment-options{display:grid;gap:10px}.payment-option{display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:14px;font-weight:600;line-height:1.4}.payment-option input[type='radio']{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin:1px 0 0;border:1.5px solid var(--muted);border-radius:50%;background:var(--panel);display:grid;place-items:center}.payment-option input[type='radio']:checked{border-color:var(--accent-ui);box-shadow:inset 0 0 0 4px var(--panel);background:var(--accent-ui)}

/* contact: one task, one composition */
.contact-page{padding-top:0}.contact-main-only{padding:150px 0 86px}.contact-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(440px,1.06fr);gap:48px;align-items:start}.contact-info-panel{padding-top:4px}.contact-info-panel h1{font:500 clamp(42px,4.3vw,60px)/.98 var(--serif);letter-spacing:-.035em;margin:10px 0 18px;max-width:650px}.contact-intro{font-size:17px;line-height:1.72;color:var(--muted);max-width:590px}.contact-list{margin:28px 0 0;border-top:1px solid var(--line)}.contact-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-list dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-list dd{margin:0;font-size:16px;font-weight:600}.contact-form{display:grid;gap:14px}.contact-form-panel{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 18px 48px rgba(47,12,8,.07)}.contact-form-panel label{display:grid;gap:7px;font-size:13px;font-weight:700}.form-heading{margin-bottom:4px}.support-kicker{margin:10px 0 0;font:600 20px/1.35 var(--sans);letter-spacing:0;color:var(--text)}.contact-response{font-size:14px;line-height:1.5;color:var(--muted)}

/* remaining body scale */
.internal-hero p,.prose p{font-size:18px}.stat-card p{font-size:13px}.team-card p{font-size:14px}.media-card strong{font-size:14px}.media-card small{font-size:12px}.filter{font-size:13px}.result-meta{font-size:13px}.footer-grid h4{font-size:20px}.footer-grid p,.footer-grid a{font-size:13px}.copyright{font-size:11px}.toast{font-size:13px}.ritual-step span{font-size:12px}.proof-row span{font-size:11px}.cap-card span{font-size:12px}.cap-card p{font-size:14px}.portfolio-card small{font-size:10px}.portfolio-card p{font-size:13px}

@media(max-width:1280px){.site-header{grid-template-columns:240px 1fr auto;padding:0 22px}.curated-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.curated-img{height:175px}}
@media(max-width:1180px){.main-nav{position:fixed;left:14px;right:14px;top:84px;display:none;flex-direction:column;align-items:flex-start;background:var(--header-bg);color:var(--header-text);border:1px solid rgba(201,164,77,.22);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{display:flex;align-items:center;width:100%;min-height:46px;font-size:15px}.menu-toggle{display:grid}.site-header{grid-template-columns:1fr auto}.header-actions{grid-column:2}.brand-orbit{display:none}.hero-cart{display:none}.hero-layout{grid-template-columns:minmax(330px,40%) minmax(0,60%);padding-top:122px}.hero-copy{grid-column:1}.hero-stage{grid-column:2}.curated-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){#checkoutForm{gap:18px}.site-header{height:70px;padding:0 14px}.main-nav{top:70px}.brand-type small{display:none}.theme-toggle{width:34px;height:34px;min-width:34px}.theme-icons,.theme-icons svg{width:18px;height:18px}.cart-pill{gap:6px}.cart-pill span{font-size:13px}.cart-pill b{width:24px;height:24px}.cart-icon{width:18px;height:18px}.hero{min-height:auto}.hero-layout{width:90vw;grid-template-columns:1fr;align-content:start;padding-top:108px;padding-bottom:76px}.hero-copy,.hero-stage{grid-column:1}.hero-copy{max-width:680px}.hero h1{font-size:clamp(56px,13vw,86px)}.hero-stage{height:445px;min-height:0;margin-top:2px}.film-preview{display:none}.hero-photo-core{left:4%;top:8%;width:92%;height:84%}.pf-herb{width:84px;height:76px}.pf-chicken{width:94px;height:88px}.pf-broth{width:102px;height:76px}.pf-greens{width:76px;height:84px}.promise-rail{width:92vw;grid-template-columns:1fr 1fr;margin:-30px auto -24px;padding:12px}.promise-rail article{min-height:72px}.promise-rail article:nth-child(2){border-right:0}.business-lines{padding-top:94px}.line-grid{grid-template-columns:1fr}.curated-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ritual{min-height:135vh}.ritual-sticky{grid-template-columns:1fr;align-content:center;padding-top:80px}.assembly{height:470px;min-height:0}.about-teaser-grid,.two-col,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}.team-grid,.media-grid,.cap-grid{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr;max-width:720px;margin:auto}.order-summary{position:static}.mobile-checkout{display:flex}.footer-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-main-only{padding-top:118px}.contact-form-panel{padding:22px}}
@media(max-width:650px){.content-shell,.prose-shell{width:min(100% - 30px,var(--content))}.section{padding:72px 0}.cart-pill span{display:none}.hero-stage{height:405px}.pf-herb{left:-1%;top:14%}.pf-chicken{right:-2%;top:24%}.pf-broth{right:2%;bottom:8%}.pf-greens{left:3%;bottom:13%}.promise-rail{grid-template-columns:1fr;padding:0}.promise-rail article{border-right:0;border-bottom:1px solid rgba(242,228,183,.13);padding:13px 18px}.section-head{display:block}.section-head p{margin-top:14px}.curated-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.curated-img{height:155px}.curated-copy h3{font-size:20px;min-height:43px}.internal-main{padding-top:80px}.internal-hero{padding:50px 0 30px}.internal-hero h1{font-size:40px}.internal-section{padding:50px 0}.product-grid{grid-template-columns:repeat(2,1fr);gap:9px}.product-img{height:125px}.product-copy h3{font-size:17px;min-height:36px}.product-copy p{display:none}.product-modal-grid{display:block}.product-modal-image{min-height:280px;height:34vh}.product-modal-copy{padding:25px;min-height:420px}.product-modal-copy h2{font-size:32px}.product-modal-copy p{font-size:15px}.footer-grid{grid-template-columns:1fr}.site-footer{padding-bottom:90px}.contact-info-panel h1{font-size:42px}.contact-intro{font-size:16px}.contact-list>div{grid-template-columns:92px 1fr;gap:12px}}


/* ===== V9.8 structural polish ===== */
.business-lines{background:var(--hero-bg);color:var(--hero-text)}
.business-lines .section-head p,.business-lines .line-card p{color:rgba(246,240,228,.78)}
.business-lines .section-head .eyebrow,.business-lines .line-card small{color:var(--gold2)}
html[data-theme='light'] .business-lines{background:var(--surface-alt);color:var(--text)}
html[data-theme='light'] .business-lines .section-head p,html[data-theme='light'] .business-lines .line-card p{color:var(--muted)}
.promise-rail b{font-size:18px}.promise-rail span{font-size:13px;line-height:1.5}
.curated-foot{gap:10px}.curated-foot span{font-size:13px}.curated-add{min-height:40px;padding:0 16px;border-radius:12px;font-size:13px}
.ritual-copy,.ritual-copy p,.ritual-step span{color:var(--text)} html[data-theme='light'] .ritual-copy,.ritual-copy p,html[data-theme='light'] .ritual-step span{color:var(--text)}
.finale-actions .button{min-width:240px;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.06em;background:transparent;border-color:rgba(201,164,77,.42)}
.finale-actions .button:before{content:'';position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.04) 62%,transparent 76%);transition:transform .7s ease}
.finale-actions .button:hover:before{transform:translateX(130%)}
.finale-actions .button,.finale-actions .button:hover{color:inherit}
.finale-actions .button:nth-child(1),.finale-actions .button:nth-child(2),.finale-actions .button:nth-child(3){background:rgba(255,255,255,.02)}
html[data-theme='light'] .finale-actions .button:nth-child(1),html[data-theme='light'] .finale-actions .button:nth-child(2),html[data-theme='light'] .button:nth-child(3){background:rgba(131,39,25,.02)}

/* modal */
.modal-panel{max-width:min(1180px,92vw);padding:0;border-radius:24px;overflow:hidden}.product-modal-grid{display:grid;grid-template-columns:minmax(320px,44%) minmax(0,56%);min-height:min(86vh,860px)}
.product-modal-media{position:relative;background:var(--surface-strong)}.product-modal-gallery{position:sticky;top:0;height:100%;min-height:100%}.product-modal-image{height:100%;min-height:100%;background:var(--surface-strong)}.product-modal-image img{width:100%;height:100%;object-fit:cover}
.pm-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(242,228,183,.42);background:rgba(46,11,9,.64);color:#fff;display:grid;place-items:center;z-index:5}.pm-gallery-nav.prev{left:16px}.pm-gallery-nav.next{right:16px}
html[data-theme='light'] .pm-gallery-nav{background:rgba(255,250,241,.84);color:var(--ink);border-color:rgba(75,16,13,.18)}
.pm-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:4}.pm-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35)}.pm-dots i.is-active{background:var(--gold2)}
.product-modal-copy{padding:0;min-height:auto;display:flex;flex-direction:column;background:var(--panel)}.product-modal-scroll{padding:34px 34px 12px;overflow:auto;max-height:min(86vh,860px)}.product-modal-copy h2{margin:10px 0 8px;font:500 clamp(34px,3vw,48px)/1 var(--serif)}.product-modal-copy p{font-size:15px;line-height:1.68;margin:0}
.pm-price-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:16px 0 18px}.pm-price-row small,.modal-total small{display:block;font-size:11px;letter-spacing:.16em;color:var(--muted);margin-bottom:5px}.pm-price-row strong,.modal-total strong{font-size:28px;color:var(--accent-display)}
.pm-qty,.qty.compact{display:flex;align-items:center;gap:6px}.pm-qty button,.qty.compact button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;font-size:18px;color:inherit}.pm-qty span,.qty.compact span{min-width:22px;text-align:center;font-size:14px;font-weight:700}
.modal-info-block{display:grid;gap:8px;margin-bottom:18px}.modal-info-block h4{margin:0;font-size:16px}.modal-info-block p+p{color:var(--muted)}
.choice{margin-top:18px}.choice label{display:block;margin-bottom:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.choice-chip-group{display:flex;flex-wrap:wrap;gap:10px}.choice-chip{min-height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-size:15px}.choice-chip.is-active{background:rgba(232,207,134,.16);border-color:var(--gold2);color:var(--text)}
html[data-theme='light'] .choice-chip.is-active{background:rgba(131,39,25,.08);border-color:var(--red2)}
.extra-list,.related-list{display:grid;gap:10px}.extra-option{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.extra-option span,.extra-option b{font-size:14px}
.related-list{grid-template-columns:repeat(2,minmax(0,1fr))}.related-card{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);text-align:left;color:inherit}.related-card img{width:70px;height:70px;border-radius:10px;object-fit:cover}.related-card b{display:block;font-size:15px}.related-card small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.modal-note{width:100%;min-height:92px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);padding:14px;font:inherit;color:inherit;resize:vertical}
.modal-actions{margin-top:0;padding:18px 34px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--panel);position:sticky;bottom:0}.modal-actions .button{border-radius:12px;min-width:240px}

/* checkout */
.fulfilment{display:flex;gap:8px;margin-bottom:18px}.fulfilment button{min-height:42px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:capitalize}.fulfilment button.is-active{background:rgba(232,207,134,.18);border-color:var(--gold2)} html[data-theme='light'] .fulfilment button.is-active{background:rgba(131,39,25,.08);border-color:var(--red2)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-stack{display:grid;gap:16px}.field-stack label{display:grid;gap:8px;font-size:14px;font-weight:600}.field-stack input,.field-stack select,.field-stack textarea,.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);padding:0 14px;color:inherit;font:inherit}.field-stack textarea,.contact-form textarea{padding:14px;min-height:96px}
.field-stack input:focus,.field-stack select:focus,.field-stack textarea:focus,.choice-chip:focus,.modal-note:focus{outline:none;border-color:var(--accent-ui);box-shadow:0 0 0 3px rgba(201,164,77,.14)}
.checkout-card,.order-summary{padding:26px}.checkout-card h2,.order-summary h2{margin:0 0 18px}.order-summary{position:sticky;top:112px}
.summary-items{display:grid;gap:12px}.summary-line{display:grid;grid-template-columns:auto 58px 1fr auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.summary-line img{width:58px;height:58px;border-radius:10px;object-fit:cover}.summary-line b{display:block;font-size:14px}.summary-line small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.summary-remove{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:transparent;color:inherit;font-size:16px;display:grid;place-items:center}.summary-price{font-size:13px;white-space:nowrap}
.summary-meta{display:grid;gap:12px;margin:20px 0}.summary-meta div{display:flex;justify-content:space-between;gap:10px;font-size:14px}.summary-meta .summary-total{padding-top:12px;border-top:1px solid var(--line)}.summary-meta .summary-total strong{color:var(--red2);font-size:18px}
.policy{display:flex;gap:10px;align-items:flex-start;font-size:12px;margin-bottom:16px}.mobile-checkout{display:none}
.payment-option{border-radius:14px}
.checkout-message{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(201,164,77,.12)}

/* confirmation */
.confirm-wrap{padding:120px 0 80px}.confirm-head{text-align:center;display:grid;gap:10px;margin-bottom:28px}.confirm-head h1{margin:0;font:500 clamp(40px,4vw,58px)/1 var(--serif)}.confirm-head p{max-width:760px;margin:0 auto;color:var(--muted)}.confirm-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.confirm-card{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--panel)}.confirm-card h2{margin:0 0 16px}.confirm-items{display:grid;gap:12px}.confirm-line,.confirm-totals div,.confirm-meta div{display:flex;justify-content:space-between;gap:16px}.confirm-line b,.confirm-meta b{font-size:15px}.confirm-line small,.confirm-meta span{display:block;color:var(--muted);font-size:12px}.confirm-totals{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.confirm-totals .is-total b{color:var(--red2);font-size:18px}.confirm-meta{display:grid;gap:12px}.confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

@media(max-width:920px){.product-modal-grid{grid-template-columns:1fr}.product-modal-image{min-height:320px;height:42vh}.product-modal-scroll{max-height:none}.product-modal-gallery{position:relative}.modal-actions{position:static}.related-list{grid-template-columns:1fr}.confirm-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.order-summary{position:static}}
@media(max-width:650px){.promise-rail b{font-size:16px}.promise-rail span{font-size:12px}.curated-grid{grid-template-columns:1fr 1fr}.curated-add{width:100%;justify-content:center}.product-modal-scroll{padding:24px 20px 8px}.modal-actions{padding:16px 20px 20px;flex-direction:column;align-items:stretch}.modal-actions .button{width:100%;min-width:0}.summary-line{grid-template-columns:auto 48px 1fr auto;align-items:start}.summary-price{grid-column:3/5;padding-left:0}.cart-pill span{display:none}}


/* ===== V9.9 refinements ===== */
:root{--page-grad:linear-gradient(180deg,#602018 0%,#6b241b 16%,#74271c 28%,#6a2119 42%,#5e1913 58%,#51120e 72%,#47100d 100%)}
html[data-theme='light']{--page-grad:linear-gradient(180deg,#f8efe1 0%,#f3e6d4 18%,#efe1cf 35%,#ead9c5 54%,#e8d7c2 72%,#e3d1b9 100%)}
body{background:var(--page-grad);background-attachment:fixed}
.site-header.is-scrolled,.site-header.is-internal{background:rgba(108,36,28,.72);border-color:rgba(232,207,134,.28);box-shadow:0 12px 36px rgba(35,10,7,.12)}
html[data-theme='light'] .site-header.is-scrolled,html[data-theme='light'] .site-header.is-internal{background:rgba(255,248,239,.88);border-color:rgba(75,16,13,.11);box-shadow:0 10px 30px rgba(75,16,13,.07)}
.hero-cart{background:rgba(99,32,25,.52)} html[data-theme='light'] .hero-cart{background:rgba(255,252,246,.86)}
.hero-cart-items{max-height:162px;overflow:auto;padding-right:6px}.hero-cart-items::-webkit-scrollbar{width:6px}.hero-cart-items::-webkit-scrollbar-thumb{background:rgba(232,207,134,.35);border-radius:999px}
.hero .button-gold{background:transparent;border-color:rgba(232,207,134,.52);color:var(--gold2);transition:.25s} .hero .button-gold:hover{background:linear-gradient(115deg,var(--gold2),var(--gold));color:var(--red-deep);border-color:transparent}
html[data-theme='light'] .hero .button-gold{border-color:rgba(131,39,25,.28);color:var(--red2)} html[data-theme='light'] .hero .button-gold:hover{background:linear-gradient(115deg,var(--gold2),var(--gold));color:var(--red-deep)}
.business-lines,.curated,.about-teaser,.finale,.ritual,.internal-hero,.internal-section,.surface-strong-section{background:transparent!important}
.business-lines{background:linear-gradient(180deg,rgba(107,36,28,.28) 0%,rgba(104,35,27,.08) 100%)!important}
.curated{background:linear-gradient(180deg,rgba(110,34,27,.14) 0%,rgba(83,23,18,.06) 100%)!important}
.about-teaser{background:linear-gradient(180deg,rgba(94,25,19,.1) 0%,rgba(71,16,13,.02) 100%)!important}
.ritual{background:linear-gradient(180deg,rgba(62,12,10,.22) 0%,rgba(58,11,9,.1) 100%)!important}
.finale{background:linear-gradient(180deg,rgba(86,21,16,.08) 0%,rgba(74,16,13,.02) 100%)!important}
html[data-theme='light'] .business-lines{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02))!important}
html[data-theme='light'] .curated{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.01))!important}
html[data-theme='light'] .about-teaser{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01))!important}
html[data-theme='light'] .ritual{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01))!important}
html[data-theme='light'] .finale{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))!important}
.promise-rail{background:rgba(72,18,15,.86)} html[data-theme='light'] .promise-rail{background:rgba(255,251,245,.92)}
select,.modal-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e8cf86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}
html[data-theme='light'] select,html[data-theme='light'] .modal-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23832719' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.contact-form select,.field-stack select,.modal-select{background-color:var(--panel)}
.contact-form label,.field-stack label{font-size:12px}.support-kicker{font-size:15px;font-weight:600;color:var(--text);margin:0 0 8px}
.contact-form .form-heading{display:grid;gap:4px;padding-bottom:6px}.contact-form{gap:14px}.contact-form-panel,.contact-info-panel{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:24px;padding:26px} html[data-theme='light'] .contact-form-panel,html[data-theme='light'] .contact-info-panel{background:rgba(255,255,255,.46)}
.curated-add{border-radius:12px!important;padding-inline:16px}
.modal-panel{max-width:min(1320px,96vw);max-height:88vh}.product-modal-grid{grid-template-columns:minmax(420px,50%) minmax(460px,50%)}.product-modal-image{display:flex;align-items:center;justify-content:center;min-height:100%;background:rgba(0,0,0,.08)}.product-modal-image img{width:100%;height:min(72vh,760px);object-fit:cover}.product-modal-scroll{padding-bottom:120px}.modal-actions{padding-top:14px}.modal-note{min-height:110px}.pm-dots{gap:9px}.pm-dot{width:10px;height:10px;border:0;border-radius:50%;background:rgba(255,255,255,.28)} .pm-dot.is-active{background:var(--gold2)} html[data-theme='light'] .pm-dot{background:rgba(131,39,25,.22)} html[data-theme='light'] .pm-dot.is-active{background:var(--red2)}
.modal-select{width:100%;min-height:46px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:14px;padding:0 14px}
.summary-items{border:1px solid var(--line);border-radius:16px;padding:4px 14px}.summary-line{grid-template-columns:auto 54px 1fr auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}.summary-line:last-child{border-bottom:0}.summary-remove{width:22px;height:22px;font-size:14px}.summary-line img{width:54px;height:40px}.summary-line b{font-size:13px}.summary-line small,.summary-price{font-size:12px}.qty.compact button{width:24px;height:24px;border-radius:8px}.qty.compact span{font-size:12px;min-width:18px}
.field-stack input:not([type='radio']):not([type='checkbox']),.field-stack select,.field-stack textarea,.contact-form input:not([type='radio']):not([type='checkbox']),.contact-form textarea,.contact-form select{background:var(--surface-soft)} html[data-theme='light'] .field-stack input:not([type='radio']):not([type='checkbox']),html[data-theme='light'] .field-stack select,html[data-theme='light'] .field-stack textarea,html[data-theme='light'] .contact-form input:not([type='radio']):not([type='checkbox']),html[data-theme='light'] .contact-form textarea,html[data-theme='light'] .contact-form select{background:rgba(255,255,255,.82)}
.confirm-actions.is-stack{display:grid;gap:10px}.confirm-save{color:var(--red-deep)}
@media(max-width:920px){.product-modal-grid{grid-template-columns:1fr}.product-modal-image img{height:44vh}.summary-line{grid-template-columns:auto 48px 1fr auto}.summary-price{grid-column:3/5}.confirm-actions.is-stack .button{width:100%}}

/* ===== V9.10 FINAL POLISH ===== */
:root{--page-grad:linear-gradient(180deg,#6e291f 0%,#742b20 16%,#70261d 30%,#672018 46%,#5d1a14 62%,#541610 78%,#4c120e 100%)}
html[data-theme='light']{--page-grad:linear-gradient(180deg,#fff8ee 0%,#f8eddf 18%,#f3e5d4 36%,#eedfcd 56%,#ead8c2 76%,#e7d2ba 100%)}
body{background:var(--page-grad);background-attachment:fixed}.page-layer{background:transparent;min-height:100vh}
.hero{background:linear-gradient(180deg,#682119 0%,#70251c 62%,#6e251c 100%)}
html[data-theme='light'] .hero{background:linear-gradient(180deg,#f8ead8 0%,#f3e2ce 62%,#f1dfca 100%)}
.business-lines,.curated,.ritual,.about-teaser,.finale,.internal-hero,.internal-section,.surface-soft,.surface-strong-section,.contact-main-only{background:transparent!important}

/* Lighter navigation bar */
.site-header{top:0;left:0;right:0;border-radius:0;height:78px;padding-inline:28px}
.site-header.is-scrolled,.site-header.is-internal{background:linear-gradient(180deg,rgba(121,45,34,.88),rgba(104,34,27,.74));border:0;border-bottom:1px solid rgba(232,207,134,.20);box-shadow:0 10px 28px rgba(30,5,3,.10);backdrop-filter:blur(18px)}
html[data-theme='light'] .site-header.is-scrolled,html[data-theme='light'] .site-header.is-internal{background:linear-gradient(180deg,rgba(255,251,245,.96),rgba(250,241,228,.88));border-bottom:1px solid rgba(75,16,13,.09);box-shadow:0 8px 24px rgba(75,16,13,.06)}
.main-nav a{font-size:15px}.cart-pill span{font-size:15px}.brand-type strong{font-size:16px}.brand-type small{font-size:9px}

/* Mini order on Home renders all items and scrolls */
.hero-cart{background:rgba(113,39,30,.50);border-color:rgba(242,228,183,.20)}html[data-theme='light'] .hero-cart{background:rgba(255,253,248,.84)}
.hero-cart-items{min-height:150px;max-height:210px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(232,207,134,.45) transparent}.hero-cart-items::-webkit-scrollbar{width:6px}.hero-cart-items::-webkit-scrollbar-thumb{background:rgba(232,207,134,.45);border-radius:999px}

/* Hero primary CTA becomes gold only on hover */
.hero .button-gold{background:rgba(255,255,255,.025);border:1px solid rgba(232,207,134,.55);color:var(--gold2);box-shadow:none;transition:.25s}.hero .button-gold:hover{background:linear-gradient(115deg,var(--gold2),var(--gold));color:var(--red-deep);border-color:transparent;transform:translateY(-1px)}
html[data-theme='light'] .hero .button-gold{background:rgba(255,255,255,.18);color:var(--red2);border-color:rgba(131,39,25,.22)}html[data-theme='light'] .hero .button-gold:hover{background:linear-gradient(115deg,var(--gold2),var(--gold));color:var(--red-deep)}

/* Light mode contrast */
html[data-theme='light'] .ritual-copy p,html[data-theme='light'] .ritual-step span,html[data-theme='light'] .section-head p,html[data-theme='light'] .internal-hero p{color:#6b5a53}html[data-theme='light'] .ritual-step b{color:var(--red2)}

/* Wide product modal + square gallery */
.modal-panel{width:min(1240px,96vw);max-width:none;max-height:min(720px,90vh);border-radius:22px;overflow:hidden}
.product-modal-grid{grid-template-columns:minmax(500px,54%) minmax(430px,46%);height:min(720px,90vh);min-height:0}
.product-modal-media{height:100%;display:grid;place-items:center;padding:18px;background:rgba(25,4,3,.12)}.product-modal-gallery{position:relative;width:min(100%,660px);height:min(100%,660px);aspect-ratio:1}.product-modal-image{width:100%;height:100%;min-height:0;border-radius:16px;overflow:hidden}.product-modal-image img{width:100%;height:100%;object-fit:cover}
.product-modal-copy{height:100%;min-height:0;overflow:hidden}.product-modal-scroll{height:calc(100% - 92px);max-height:none;overflow-y:auto;padding:30px 30px 132px;overscroll-behavior:contain;scrollbar-width:thin}.modal-actions{height:92px;padding:16px 30px;position:absolute;right:0;bottom:0;width:46%;z-index:8;box-shadow:0 -12px 28px rgba(30,5,3,.08)}.modal-note{min-height:120px;margin-bottom:18px}
.pm-dots{bottom:16px;gap:9px}.pm-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.20);padding:0}.pm-dot.is-active{background:var(--gold2);border-color:var(--gold2)}html[data-theme='light'] .pm-dot{border-color:rgba(131,39,25,.30);background:rgba(131,39,25,.12)}html[data-theme='light'] .pm-dot.is-active{background:var(--red2);border-color:var(--red2)}

/* Custom dropdown avoids native blue popup */
.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important}
.custom-select{position:relative;width:100%;z-index:2}.custom-select.is-open{z-index:60}.custom-select-trigger{width:100%;min-height:46px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--text);font:inherit;text-align:left;transition:.2s}.custom-select-trigger svg{width:16px;height:16px;fill:none;stroke:var(--gold2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}.custom-select.is-open .custom-select-trigger svg{transform:rotate(180deg)}.custom-select.is-open .custom-select-trigger,.custom-select-trigger:focus-visible{outline:none;border-color:var(--gold2);box-shadow:0 0 0 3px rgba(232,207,134,.12)}
.custom-select-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);display:none;max-height:260px;overflow:auto;padding:7px;border:1px solid rgba(232,207,134,.24);border-radius:14px;background:#6b211a;box-shadow:0 18px 40px rgba(30,5,3,.22)}.custom-select.is-open .custom-select-menu{display:grid}.custom-select-option{min-height:42px;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:#f6f0e4;text-align:left;font:inherit}.custom-select-option:hover,.custom-select-option:focus-visible{outline:none;background:#f2e4b7;color:#4b100d}.custom-select-option.is-selected{background:rgba(242,228,183,.13);color:#f2e4b7}
html[data-theme='light'] .custom-select-trigger{background:rgba(255,255,255,.82)}html[data-theme='light'] .custom-select-trigger svg{stroke:var(--red2)}html[data-theme='light'] .custom-select.is-open .custom-select-trigger{border-color:var(--red2);box-shadow:0 0 0 3px rgba(131,39,25,.08)}html[data-theme='light'] .custom-select-menu{background:#fffaf1;border-color:rgba(131,39,25,.14);box-shadow:0 18px 36px rgba(75,16,13,.12)}html[data-theme='light'] .custom-select-option{color:#34241f}html[data-theme='light'] .custom-select-option:hover,html[data-theme='light'] .custom-select-option:focus-visible{background:#832719;color:#fffaf1}html[data-theme='light'] .custom-select-option.is-selected{background:rgba(131,39,25,.08);color:#832719}
.contact-form-panel{overflow:visible}.contact-form label{gap:8px}.contact-form .custom-select-trigger{min-height:48px}

/* Checkout = one order sheet, not item cards */
.summary-items{border:1px solid var(--line);border-radius:16px;padding:0 14px;background:rgba(255,255,255,.02)}html[data-theme='light'] .summary-items{background:rgba(255,255,255,.45)}.summary-line{padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent!important;box-shadow:none!important}.summary-line:last-child{border-bottom:0}.summary-remove{width:23px;height:23px}.qty.compact button{width:24px;height:24px}.qty.compact span{font-size:12px}html[data-theme='light'] .checkout-card,html[data-theme='light'] .order-summary{background:rgba(255,253,248,.72)}

/* Confirmation = vertical mobile receipt */
.confirm-wrap{padding:112px 16px 72px}.confirm-wrap>.content-shell{width:min(680px,100%)}.confirm-head{padding:28px 24px 22px;margin:0;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:24px 24px 0 0}.confirm-head:before{content:'✓';width:58px;height:58px;margin:0 auto 6px;display:grid;place-items:center;border-radius:50%;background:var(--gold2);color:var(--red-deep);font-size:28px;font-weight:800}.confirm-head h1{font-size:42px}.confirm-head p{font-size:15px}.confirm-grid{display:block}.confirm-card{border-radius:0;border-top:0;padding:24px;background:rgba(255,255,255,.035)}.confirm-card:last-child{border-radius:0 0 24px 24px}.confirm-card h2{font-size:22px}.confirm-line{padding:12px 0;border-bottom:1px solid var(--line)}.confirm-line:last-child{border-bottom:0}.confirm-totals .is-total{font-size:18px;padding-top:12px;border-top:1px solid var(--line)}.confirm-totals .is-total b{font-size:24px;color:var(--red2)}.confirm-actions.is-stack{display:grid;gap:10px;margin-top:24px}.confirm-actions.is-stack .button{width:100%;border-radius:13px}.confirm-save{min-height:52px}html[data-theme='light'] .confirm-head,html[data-theme='light'] .confirm-card{background:rgba(255,253,248,.72)}

@media(max-width:920px){.site-header{height:70px;padding-inline:14px}.main-nav{top:70px}.product-modal-grid{display:block;height:auto}.modal-panel{max-height:94vh;overflow:auto}.product-modal-media{height:auto;padding:10px}.product-modal-gallery{width:100%;height:auto;aspect-ratio:1}.product-modal-copy{height:auto;overflow:visible}.product-modal-scroll{height:auto;overflow:visible;padding:22px 20px 24px}.modal-actions{position:static;width:100%;height:auto;padding:14px 20px 20px}.modal-note{margin-bottom:0}.confirm-wrap{padding-top:88px}.confirm-head h1{font-size:34px}.confirm-head,.confirm-card{padding-left:18px;padding-right:18px}}
@media(max-width:650px){.cart-pill span{display:none}.hero-cart-items{max-height:185px}.custom-select-menu{max-height:220px}.confirm-wrap>.content-shell{width:100%}}
html[data-theme='light'] .business-lines,html[data-theme='light'] .curated,html[data-theme='light'] .ritual,html[data-theme='light'] .about-teaser,html[data-theme='light'] .finale,html[data-theme='light'] .internal-hero,html[data-theme='light'] .internal-section,html[data-theme='light'] .surface-soft,html[data-theme='light'] .surface-strong-section,html[data-theme='light'] .contact-main-only{background:transparent!important}
/* v9.10 gradient source correction */
body{background:var(--page-grad)!important;background-attachment:fixed!important}.page-layer{background:transparent!important}

/* ===== V9.11 USER FEEDBACK PASS ===== */
/* Continuous, lighter burgundy atmosphere */
:root{
 --page-grad:linear-gradient(180deg,#925044 0%,#89483c 16%,#804035 34%,#77382f 52%,#6f322a 70%,#662b25 86%,#5e261f 100%);
 --header-bg:rgba(126,57,47,.90);
}
html[data-theme='light']{
 --page-grad:linear-gradient(180deg,#fffaf2 0%,#fbf2e7 18%,#f6eadb 38%,#f1e3d2 58%,#eddcca 78%,#e8d4bd 100%);
 --header-bg:rgba(255,249,241,.95);
}
body{background:var(--page-grad)!important;background-attachment:scroll!important}
.hero{background:linear-gradient(180deg,#87443a 0%,#7d3b31 58%,#76362d 100%)}
.hero-video{opacity:.36;filter:saturate(.84) sepia(.10) hue-rotate(332deg)}
.hero-wash{background:radial-gradient(circle at 58% 43%,rgba(232,207,134,.22),transparent 34%),linear-gradient(90deg,rgba(67,20,17,.66) 0%,rgba(92,35,29,.46) 31%,rgba(100,43,34,.14) 62%,rgba(61,18,15,.48) 100%)}
.hero-vignette{box-shadow:inset 0 0 105px rgba(42,9,7,.20)}
html[data-theme='light'] .hero{background:linear-gradient(180deg,#f8ead8 0%,#f4e4d2 62%,#f0deca 100%)}
html[data-theme='light'] .hero-wash{background:radial-gradient(circle at 58% 43%,rgba(201,164,77,.18),transparent 34%),linear-gradient(90deg,rgba(255,250,241,.92) 0%,rgba(255,248,238,.74) 32%,rgba(255,248,238,.18) 63%,rgba(239,224,207,.56) 100%)}
.site-header:not(.is-scrolled):not(.is-internal){background:linear-gradient(180deg,rgba(133,63,51,.34),rgba(111,47,39,.18));backdrop-filter:blur(10px)}
.site-header.is-scrolled,.site-header.is-internal{background:linear-gradient(180deg,rgba(142,65,52,.92),rgba(119,49,41,.84));box-shadow:0 8px 24px rgba(30,5,3,.08)}
html[data-theme='light'] .site-header:not(.is-scrolled):not(.is-internal){background:linear-gradient(180deg,rgba(255,251,246,.82),rgba(255,248,239,.56))}
html[data-theme='light'] .site-header.is-scrolled,html[data-theme='light'] .site-header.is-internal{background:linear-gradient(180deg,rgba(255,252,247,.97),rgba(252,245,235,.92))}
.business-lines,.curated,.ritual,.about-teaser,.finale,.internal-hero,.internal-section,.surface-soft,.surface-strong-section,.contact-main-only{background:transparent!important}
.promise-rail{background:rgba(99,39,32,.58);backdrop-filter:blur(15px)}
html[data-theme='light'] .promise-rail{background:rgba(255,252,247,.74)}

/* Hero CTAs: same default state, same gold hover */
.hero-actions .button{background:rgba(255,255,255,.025)!important;border:1px solid rgba(232,207,134,.55)!important;color:var(--gold2)!important;box-shadow:none;transition:background .25s,color .25s,border-color .25s,transform .25s}
.hero-actions .button:hover,.hero-actions .button:focus-visible{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:transparent!important;transform:translateY(-1px);outline:none}
html[data-theme='light'] .hero-actions .button{background:rgba(255,255,255,.16)!important;border-color:rgba(131,39,25,.24)!important;color:var(--red2)!important}
html[data-theme='light'] .hero-actions .button:hover,html[data-theme='light'] .hero-actions .button:focus-visible{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:transparent!important}

/* Mini menu on Home: full list with internal scroll */
.hero-cart-items{max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:7px}

/* Search input is intentionally quieter */
.search-box input{font-size:13px}.search-box input::placeholder{font-size:12px;color:var(--muted);opacity:.78}

/* Product modal: true landscape panel; square image; notes never covered */
.modal-panel{width:min(1380px,97vw);max-width:none;max-height:min(780px,92vh);border-radius:24px;overflow:hidden}
.product-modal-grid{grid-template-columns:minmax(560px,58%) minmax(420px,42%);height:min(780px,92vh);min-height:0}
.product-modal-media{height:100%;display:grid;place-items:center;padding:22px;background:rgba(30,7,5,.10)}
.product-modal-gallery{position:relative;width:min(100%,calc(92vh - 72px),710px);height:auto;aspect-ratio:1}
.product-modal-image{width:100%;height:100%;min-height:0;aspect-ratio:1;border-radius:18px;overflow:hidden;background:rgba(0,0,0,.08)}
.product-modal-image img{width:100%;height:100%;object-fit:cover}
.product-modal-copy{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--panel)}
.product-modal-scroll{height:auto;max-height:none;min-height:0;overflow-y:auto;padding:30px 30px 26px;scroll-padding-bottom:24px;overscroll-behavior:contain;scrollbar-width:thin}
.modal-actions{position:static!important;width:100%!important;height:auto!important;margin:0;padding:16px 30px 20px;box-shadow:0 -10px 26px rgba(30,5,3,.07);z-index:8}
.modal-note{min-height:120px;margin-bottom:0}
.pm-dots{bottom:16px}

/* Unified cart sheet: rows, not separate item boxes */
.summary-items{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;padding:0 16px;overflow:hidden}
.summary-line{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:14px 0!important}
.summary-line:last-child{border-bottom:0!important}
html[data-theme='light'] .summary-items{background:rgba(255,255,255,.56)}

/* Required fields + validation */
.required-mark,.form-required-note span{color:var(--gold2);font-weight:800}
html[data-theme='light'] .required-mark,html[data-theme='light'] .form-required-note span{color:var(--red2)}
.form-required-note{margin:2px 0 0;font-size:11px;color:var(--muted)}
.field-error{display:block;margin-top:2px;color:#ffd0c8;font-size:11px;font-weight:600;line-height:1.35}
html[data-theme='light'] .field-error{color:#9b2c20}
.field-stack input.is-invalid,.field-stack select.is-invalid,.field-stack textarea.is-invalid,.contact-form input.is-invalid,.contact-form select.is-invalid,.contact-form textarea.is-invalid,.custom-select.is-invalid .custom-select-trigger{border-color:#ef9a86!important;box-shadow:0 0 0 3px rgba(239,154,134,.13)!important}
html[data-theme='light'] .field-stack input.is-invalid,html[data-theme='light'] .field-stack select.is-invalid,html[data-theme='light'] .field-stack textarea.is-invalid,html[data-theme='light'] .contact-form input.is-invalid,html[data-theme='light'] .contact-form select.is-invalid,html[data-theme='light'] .contact-form textarea.is-invalid,html[data-theme='light'] .custom-select.is-invalid .custom-select-trigger{border-color:#9b2c20!important;box-shadow:0 0 0 3px rgba(155,44,32,.09)!important}
.contact-form-panel{gap:16px;padding:30px}.contact-form .need-field{padding:14px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.035)}
.contact-form .need-field .custom-select{margin-top:8px}.contact-form .need-field>.native-select-hidden+.custom-select{margin-top:8px}
html[data-theme='light'] .contact-form .need-field{background:rgba(255,255,255,.50)}
.contact-form [data-contact-submit]:disabled{opacity:.58;cursor:wait}
.checkout-message{line-height:1.45}

/* Light-mode select controls: explicitly theme every layer */
html[data-theme='light'] .field-stack .custom-select-trigger,html[data-theme='light'] .contact-form .custom-select-trigger,html[data-theme='light'] .modal-select+.custom-select .custom-select-trigger{background:#fffdf8!important;color:#34241f!important;border-color:rgba(75,16,13,.15)!important}
html[data-theme='light'] .custom-select-menu{background:#fffaf1!important;color:#34241f!important;border-color:rgba(75,16,13,.14)!important}
html[data-theme='light'] .custom-select-option{background:transparent!important;color:#34241f!important}
html[data-theme='light'] .custom-select-option:hover,html[data-theme='light'] .custom-select-option:focus-visible{background:#832719!important;color:#fffaf1!important}
html[data-theme='light'] .custom-select-option.is-selected{background:rgba(131,39,25,.09)!important;color:#832719!important}

/* Contact success / failure popup */
.feedback-modal{position:fixed;inset:0;z-index:7000;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}
.feedback-modal.is-open{opacity:1;visibility:visible}.feedback-backdrop{position:absolute;inset:0;background:rgba(26,6,5,.56);backdrop-filter:blur(8px)}
.feedback-card{position:relative;z-index:1;width:min(430px,100%);border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);padding:30px;text-align:center;box-shadow:0 28px 80px rgba(25,4,3,.28)}
.feedback-icon{width:54px;height:40px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:rgba(232,207,134,.14);border:1px solid rgba(232,207,134,.34)}
.feedback-icon:before{content:'✓';font-size:25px;font-weight:800;color:var(--gold2)}
.feedback-modal[data-type='error'] .feedback-icon:before{content:'!';color:#ffd0c8}.feedback-modal[data-type='error'] .feedback-icon{background:rgba(239,154,134,.10);border-color:rgba(239,154,134,.30)}
.feedback-card h3{margin:0 0 9px;font:500 28px/1.05 var(--serif)}.feedback-card p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.58}.feedback-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:24px}
html[data-theme='light'] .feedback-card{background:#fffdf8}

@media(max-width:1100px){.product-modal-grid{grid-template-columns:minmax(480px,54%) minmax(400px,46%)}}
@media(max-width:920px){
 .modal-panel{width:min(720px,96vw);max-height:94vh;overflow:auto}.product-modal-grid{display:block;height:auto}.product-modal-media{height:auto;padding:10px}.product-modal-gallery{width:100%;height:auto;aspect-ratio:1}.product-modal-copy{height:auto;overflow:visible;display:block}.product-modal-scroll{height:auto;overflow:visible;padding:22px 20px 24px}.modal-actions{position:static!important;width:100%!important;padding:14px 20px 20px}.modal-note{margin-bottom:0}
}
@media(max-width:650px){.contact-form-panel{padding:20px}.feedback-card{padding:26px 20px}.hero-cart-items{max-height:210px}}
\n\n/* ===== V9.12 RED TEAM + FIRST PRINCIPLES ===== */
/* Brand system: Madame Red is the real substrate, not a washed translucent proxy. */
:root{
 --red:#832719;--red2:#a13a2a;--red-dark:#651b13;--red-deep:#3c0e0a;
 --page:#832719;--header-bg:#832719;
 --page-grad:radial-gradient(circle at 18% 10%,rgba(232,207,134,.055),transparent 28%),radial-gradient(circle at 84% 48%,rgba(255,255,255,.025),transparent 27%),linear-gradient(180deg,#832719 0%,#7f2418 18%,#832719 36%,#781f16 57%,#832719 77%,#701b13 100%);
}
html[data-theme='light']{--page-grad:linear-gradient(180deg,#fffaf2 0%,#fbf1e5 24%,#f6e9d9 48%,#f1e0cd 72%,#ecd6be 100%)}
body{background-color:#832719!important;background-image:var(--page-grad)!important}
html[data-theme='light'] body{background-color:#fffaf2!important}
.hero{background-color:#832719;background-image:linear-gradient(180deg,#832719 0%,#7b2117 60%,#832719 100%)}
.site-header.is-scrolled,.site-header.is-internal{background:linear-gradient(180deg,#832719 0%,#721d14 100%);border-color:rgba(232,207,134,.30);box-shadow:0 10px 30px rgba(39,7,5,.16)}
.site-header:not(.is-scrolled):not(.is-internal){background:linear-gradient(180deg,rgba(131,39,25,.50),rgba(95,24,17,.18));backdrop-filter:blur(9px)}
html[data-theme='light'] .site-header.is-scrolled,html[data-theme='light'] .site-header.is-internal{background:linear-gradient(180deg,#fffaf2,#f7ead9)}

/* Section rhythm: one continuous red world, separated by a restrained gold thread. */
.business-lines,.curated,.ritual,.about-teaser,.finale{position:relative}
.business-lines::before,.curated::before,.ritual::before,.about-teaser::before,.finale::before{content:'';position:absolute;z-index:9;top:0;left:50%;width:min(1180px,calc(100% - 56px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(232,207,134,.12) 8%,rgba(232,207,134,.52) 50%,rgba(232,207,134,.12) 92%,transparent)}
.business-lines::after,.curated::after,.ritual::after,.about-teaser::after,.finale::after{content:'';position:absolute;z-index:10;top:-4px;left:50%;width:9px;height:9px;transform:translateX(-50%) rotate(45deg);border:1px solid rgba(232,207,134,.72);background:#832719;box-shadow:0 0 0 5px rgba(131,39,25,.78)}
html[data-theme='light'] .business-lines::before,html[data-theme='light'] .curated::before,html[data-theme='light'] .ritual::before,html[data-theme='light'] .about-teaser::before,html[data-theme='light'] .finale::before{background:linear-gradient(90deg,transparent,rgba(131,39,25,.08) 8%,rgba(131,39,25,.38) 50%,rgba(131,39,25,.08) 92%,transparent)}
html[data-theme='light'] .business-lines::after,html[data-theme='light'] .curated::after,html[data-theme='light'] .ritual::after,html[data-theme='light'] .about-teaser::after,html[data-theme='light'] .finale::after{border-color:rgba(131,39,25,.58);background:#f6e9d9;box-shadow:0 0 0 5px rgba(246,233,217,.92)}

/* About CTA: premium tonal gradient + the same travelling glint language as finale CTAs. */
.about-teaser .button-red{position:relative;overflow:hidden;background:linear-gradient(120deg,#a13a2a 0%,#832719 52%,#681a12 100%);color:#fff8ed;border:1px solid rgba(232,207,134,.30);box-shadow:0 10px 24px rgba(55,9,6,.16);transition:transform .25s,box-shadow .25s,filter .25s}
.about-teaser .button-red::before{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.05) 62%,transparent 76%);transition:transform .72s ease}
.about-teaser .button-red:hover,.about-teaser .button-red:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(55,9,6,.24);filter:brightness(1.07);outline:none}
.about-teaser .button-red:hover::before,.about-teaser .button-red:focus-visible::before{transform:translateX(135%)}
html[data-theme='light'] .about-teaser .button-red{background:linear-gradient(120deg,#9a3122,#832719 56%,#6f1b13);color:#fffaf2}

/* Product choice: explicit choices for multi-option dishes; add-ons match option typography. */
.choice-chip{font-size:14px}
.modal-select+.custom-select .custom-select-trigger,.modal-select+.custom-select .custom-select-option{font-size:14px}
#pmAdd:disabled,#pmAdd.is-choice-required{opacity:.60;cursor:not-allowed;filter:saturate(.62)}
.choice-chip:not(.is-active):hover{border-color:rgba(232,207,134,.48)}

/* Contact: Need type is a normal field, not a card within a card. */
.contact-form .need-field{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.contact-form .need-field .custom-select,.contact-form .need-field>.native-select-hidden+.custom-select{margin-top:0!important}

/* Checkout mode: selected state must read instantly in both themes. */
.fulfilment button{position:relative;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;color:var(--text);background:rgba(255,255,255,.025);border-color:rgba(232,207,134,.26)}
.fulfilment button.is-active{background:linear-gradient(115deg,#f0dc9d,#c9a44d)!important;color:#3c0e0a!important;border-color:#e8cf86!important;box-shadow:0 7px 18px rgba(34,5,3,.18),inset 0 0 0 1px rgba(255,255,255,.22);transform:translateY(-1px)}
.fulfilment button.is-active::before{content:'✓';font-size:12px;font-weight:900;margin-right:7px}
html[data-theme='light'] .fulfilment button{background:rgba(255,255,255,.46);color:#5f4b43;border-color:rgba(131,39,25,.16)}
html[data-theme='light'] .fulfilment button.is-active{background:#832719!important;color:#fffaf2!important;border-color:#832719!important;box-shadow:0 7px 18px rgba(131,39,25,.18)}

/* Order summary: items live directly in the Đơn hàng sheet; no nested box. */
.summary-items,.summary-items[style]{border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;overflow:visible!important}
html[data-theme='light'] .summary-items{background:transparent!important}
.summary-line{padding:14px 0!important}

/* Confirmation: only the two useful next actions; equal, horizontal, icon-led. */
.confirm-actions.is-stack{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.confirm-actions.is-stack .button{width:100%;min-width:0;gap:9px;padding-inline:14px;white-space:nowrap}
.button-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.confirm-save{min-height:52px}
@media(max-width:430px){.confirm-actions.is-stack{gap:7px}.confirm-actions.is-stack .button{font-size:10px;padding-inline:9px}.button-icon{width:16px;height:16px}}


/* ===== V9.13 RED TEAM + FIRST PRINCIPLES ===== */
/* 1) Brand red must be chromatic, not translucent. Major Home sections now use real colours. */
:root{--red:#832719;--red-deep:#2f0c0a;--page:#832719;--header-bg:#832719}
html:not([data-theme='light']) body{background:#832719!important;background-image:none!important}
html:not([data-theme='light']) .page-layer{background:#832719!important}
html:not([data-theme='light']) .business-lines{background:linear-gradient(180deg,#832719 0%,#7a2117 64%,#2f0c0a 100%)!important}
html:not([data-theme='light']) .curated{background:linear-gradient(180deg,#2f0c0a 0%,#55150f 30%,#832719 100%)!important}
html:not([data-theme='light']) .ritual{background:linear-gradient(180deg,#832719 0%,#631910 54%,#2f0c0a 100%)!important}
html:not([data-theme='light']) .about-teaser{background:linear-gradient(180deg,#2f0c0a 0%,#57160f 34%,#832719 100%)!important}
html:not([data-theme='light']) .finale{background:linear-gradient(180deg,#832719 0%,#601810 62%,#2f0c0a 100%)!important}
html:not([data-theme='light']) .business-lines::after,html:not([data-theme='light']) .curated::after,html:not([data-theme='light']) .ritual::after,html:not([data-theme='light']) .about-teaser::after,html:not([data-theme='light']) .finale::after{background:#832719;box-shadow:0 0 0 5px #832719}
html:not([data-theme='light']) .curated::after,html:not([data-theme='light']) .about-teaser::after{background:#2f0c0a;box-shadow:0 0 0 5px #2f0c0a}

/* 2) Product note is supporting input text, same visual scale as option choices. */
.modal-note,.modal-note::placeholder{font-size:14px!important;line-height:1.5}

/* 3) Contact form: improve legibility without inflating the submit CTA. */
.contact-form-panel .eyebrow{font-size:13px}
.contact-form-panel .support-kicker{font-size:20px;line-height:1.35}
.contact-form-panel label{font-size:15px!important}
.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel .custom-select-trigger,.contact-form-panel .custom-select-option{font-size:16px!important}
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder{font-size:15px}
.contact-form-panel .contact-response,.contact-form-panel .field-error{font-size:14px}
.contact-form-panel [data-contact-submit]{font-size:14px!important}

/* 4) Checkout: fulfilment is a primary mode decision, so give it the full visual width and unmistakable state. */
.checkout-layout{grid-template-columns:minmax(0,1fr) minmax(390px,430px);gap:36px;justify-content:center;align-items:start;width:min(1160px,calc(100% - 48px));margin-inline:auto}
.checkout-flow,.order-summary{width:100%;justify-self:center}
.fulfilment{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.fulfilment button{width:100%;min-height:60px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;font-size:15px;font-weight:700}
.fulfilment-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fulfilment button.is-active::before{display:none!important}
.checkout-layout .field-stack label,.checkout-layout .field-note,.checkout-layout .summary-line b,.checkout-layout .summary-line small,.checkout-layout .summary-price,.checkout-layout .summary-meta div,.checkout-layout .policy,.checkout-layout .checkout-message{font-size:14px!important}
.checkout-layout .custom-select-trigger,.checkout-layout .custom-select-option{font-size:14px}
.order-summary{padding:26px}
.summary-line{grid-template-columns:24px 58px minmax(0,1fr) auto!important;column-gap:11px!important;row-gap:8px!important;align-items:center!important}
.summary-line img{width:58px;height:58px}
.summary-copy{min-width:0;align-self:center}.summary-copy b,.summary-copy small{line-height:1.4}.summary-copy small{margin-top:4px}
.qty.compact{grid-column:3;justify-self:start;align-self:center;gap:5px}
.summary-price{grid-column:4;grid-row:1 / span 2;align-self:center;justify-self:end;white-space:nowrap}
.summary-remove{grid-row:1 / span 2;align-self:center;justify-self:center;width:22px!important;height:22px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:14px!important;line-height:1!important}
.qty.compact button{width:22px!important;height:22px!important;min-width:22px;padding:0!important;display:grid!important;place-items:center!important;line-height:1!important;font-size:14px!important;border-radius:7px!important}
.qty.compact span{min-width:20px;text-align:center;font-size:13px!important;line-height:22px}

/* 5) Destructive cart actions require explicit confirmation. */
.remove-confirm-modal .feedback-icon:before{content:'×';color:#ffd0c8;font-size:27px}
.remove-confirm-modal .feedback-icon{background:rgba(239,154,134,.10);border-color:rgba(239,154,134,.30)}
.remove-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.remove-confirm-actions .button{width:100%;border-radius:12px}

@media(max-width:980px) and (min-width:821px){.checkout-layout{grid-template-columns:minmax(0,1fr) 370px;gap:24px;width:min(100% - 32px,940px)}.order-summary{padding:22px}.summary-line{grid-template-columns:22px 52px minmax(0,1fr) auto!important}.summary-line img{width:52px;height:52px}}
@media(max-width:820px){.checkout-layout{width:min(100% - 30px,720px);grid-template-columns:1fr;gap:22px}.order-summary{width:100%;padding:22px}.fulfilment button{min-height:58px}.summary-line{grid-template-columns:22px 52px minmax(0,1fr) auto!important}}
@media(max-width:520px){.fulfilment{gap:8px}.fulfilment button{min-height:56px;padding:0 10px;font-size:13px}.fulfilment-icon{width:19px;height:19px}.summary-line{grid-template-columns:20px 48px minmax(0,1fr)!important}.summary-line img{width:48px;height:48px}.summary-price{grid-column:3;grid-row:auto;justify-self:start}.qty.compact{grid-column:3}.remove-confirm-actions{grid-template-columns:1fr}}
/* v9.13 row-centering correction: image spans both product-detail and quantity rows. */
.summary-line img{grid-row:1 / span 2;align-self:center}


/* ===== V9.14 RED TEAM + FIRST PRINCIPLES ===== */
/* Home: remove ornamental hero frame; keep depth without an enclosing border. */
.hero-vignette{border:0!important;border-radius:0!important;inset:0!important}

/* Hero mini-cart CTA is secondary utility, so it should not visually compete with hero CTAs. */
.hero-cart>.button,.hero-cart .button-full{min-height:38px!important;padding-inline:16px!important;font-size:12px!important}

/* Business-line cards: make the hover state feel alive, not just clickable. */
.line-card:after{z-index:1}.line-card::before{content:'';position:absolute;z-index:3;inset:-35% -75%;pointer-events:none;transform:translateX(-75%) rotate(10deg);background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.03) 44%,rgba(255,248,226,.38) 50%,rgba(255,255,255,.04) 56%,transparent 65%);transition:transform .75s ease}.line-card:hover::before,.line-card:focus-visible::before{transform:translateX(75%) rotate(10deg)}.line-card:hover,.line-card:focus-visible{transform:translateY(-2px);box-shadow:0 20px 48px rgba(25,4,3,.25);outline:none}.line-card{transition:transform .25s ease,box-shadow .25s ease}

/* Signature products use exactly the menu-card component; only the grid context differs. */
.curated-grid .product-card{height:100%;display:flex;flex-direction:column}.curated-grid .product-open{flex:1}.curated-grid .product-foot{margin-top:auto}

/* Contact: email is the final contact row; no decorative line below it. */
.contact-list>div:last-child{border-bottom:0!important}
/* Labels keep hierarchy; customer-entered/example text stays regular weight. */
.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel select,.contact-form-panel .custom-select-trigger,.contact-form-panel .custom-select-option{font-weight:400!important}

/* Checkout address book: saved addresses are data, not another nested card. */
.address-manager{display:grid;gap:10px}.address-manager-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.address-manager-head>span{font-size:14px;font-weight:600}.address-add{border:0;background:transparent;color:var(--accent-ui);font:600 13px/1 var(--sans);padding:8px 0;cursor:pointer}.address-list{display:grid;border-top:1px solid var(--line)}.address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.address-row.is-selected .address-text b{color:var(--accent-ui)}.address-choice{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:10px!important;align-items:center;cursor:pointer}.address-choice input{position:absolute;opacity:0;pointer-events:none}.address-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--muted);background:var(--panel);display:grid;place-items:center}.address-choice input:checked+.address-radio{border-color:var(--accent-ui);box-shadow:inset 0 0 0 4px var(--panel);background:var(--accent-ui)}.address-text{min-width:0}.address-text b{display:block;font-size:14px;font-weight:600}.address-text small{display:block;margin-top:3px;color:var(--muted);font-size:13px;line-height:1.45;font-weight:400}.address-actions{display:flex;align-items:center;gap:9px}.address-edit,.address-delete{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:5px}.address-edit{width:30px;height:30px;display:grid;place-items:center;border-radius:50%}.address-edit:hover{background:rgba(232,207,134,.10);color:var(--accent-ui)}.address-edit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.address-delete{font-size:12px;text-decoration:underline;text-underline-offset:3px}.address-empty{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.address-error{margin-top:0!important}
.address-card{width:min(560px,100%);text-align:left;padding:30px}.address-modal-head h3{margin:0 0 20px;font:500 30px/1.08 var(--serif)}.address-form{display:grid;gap:14px}.address-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.address-form input,.address-form select{width:100%;min-height:47px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--text);padding:0 13px;font:400 15px var(--sans)}.address-form .custom-select-trigger,.address-form .custom-select-option{font-size:15px;font-weight:400}.address-form .field-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.address-form .button{margin-top:3px}

/* Destructive and order confirmation dialogs don't need a giant icon competing with the question. */
.remove-confirm-modal .feedback-card,.order-confirm-modal .feedback-card{padding-top:34px}.remove-confirm-modal .feedback-icon{display:none!important}

@media(max-width:650px){.address-manager-head{align-items:flex-start;flex-direction:column;gap:3px}.address-add{padding:4px 0 8px}.address-row{grid-template-columns:1fr}.address-actions{justify-content:flex-end}.address-card{padding:26px 20px}.curated-grid .product-img{height:125px}}


/* ==========================================================
   v9.15 — continuous promise rail, 2-level VN address, time slots,
   and branded date picker. Final overrides intentionally live last.
   ========================================================== */
.promise-rail{display:block!important;width:min(1280px,94vw)!important;padding:0!important;overflow:hidden!important;border-radius:20px!important;background:rgba(47,12,10,.92)!important;backdrop-filter:blur(14px);}
html[data-theme='light'] .promise-rail{background:rgba(255,251,245,.94)!important}
.promise-track{display:flex;width:max-content;will-change:transform;animation:promiseLoop 34s linear infinite}
.promise-group{display:flex;align-items:stretch;gap:0;flex:none;padding:17px 0}
.promise-rail article{width:340px!important;min-width:340px!important;min-height:40px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;padding:0 24px!important;border-right:1px solid var(--line)!important;border-bottom:0!important}
.promise-rail i{font-style:normal!important;font-size:36px!important;line-height:1!important;width:42px;height:42px;display:grid;place-items:center;color:var(--accent-ui)}
.promise-rail b{display:block;font:600 13px/1.25 var(--sans)!important;white-space:nowrap;letter-spacing:.01em}
.promise-rail span{display:block;margin-top:4px!important;font:400 11.5px/1.3 var(--sans)!important;white-space:nowrap;color:var(--muted)}
@keyframes promiseLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){.promise-track{animation:none}}
@media(max-width:650px){.promise-rail{width:94vw!important;padding:0!important}.promise-track{animation-duration:28s}.promise-group{padding:14px 0}.promise-rail article{width:300px!important;min-width:300px!important;grid-template-columns:44px 1fr!important;padding:0 18px!important}.promise-rail i{font-size:32px!important;width:38px;height:38px}.promise-rail b{font-size:12.5px!important}.promise-rail span{font-size:11px!important}}

/* Fulfilment labels are commands/states, not sentence copy. */
.fulfilment button{text-transform:uppercase!important;letter-spacing:.075em}

/* Checkout date input + bespoke calendar so typography and state match the MdN UI. */
.checkout-layout label:has(> .date-input){position:relative}
.date-input{cursor:pointer!important;padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8cf86' stroke-width='1.7'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 10h17'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:19px 19px!important;background-position:right 14px center!important;font-family:var(--sans)!important}
html[data-theme='light'] .date-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23832719' stroke-width='1.7'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 10h17'/%3E%3C/svg%3E")!important}
.date-popover{position:absolute;z-index:220;top:calc(100% + 8px);left:0;width:min(340px,calc(100vw - 48px));padding:14px;border:1px solid rgba(232,207,134,.24);border-radius:17px;background:#3b0d0a;color:#f6f0e4;box-shadow:0 24px 55px rgba(17,3,2,.34);font-family:var(--sans);font-weight:400}
html[data-theme='light'] .date-popover{background:#fffaf1;color:#34241f;border-color:rgba(131,39,25,.15);box-shadow:0 20px 45px rgba(75,16,13,.14)}
.date-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px}.date-head b{text-align:center;font-size:14px;font-weight:600;letter-spacing:0}.date-head button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1}.date-head button:hover:not(:disabled){background:rgba(232,207,134,.12);color:var(--gold2)}.date-head button:disabled{opacity:.2;cursor:default}
.date-week,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-week{margin-bottom:4px}.date-week span{font-size:10px;text-align:center;color:var(--muted);font-weight:600}.date-day,.date-empty{aspect-ratio:1;display:grid;place-items:center}.date-day{border:0;border-radius:10px;background:transparent;color:inherit;font-size:12px;font-weight:500}.date-day:hover:not(:disabled){background:rgba(232,207,134,.14);color:var(--gold2)}.date-day.is-today{box-shadow:inset 0 0 0 1px rgba(232,207,134,.42)}.date-day.is-selected{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#2f0c0a!important;box-shadow:none}.date-day:disabled{opacity:.2;cursor:default}
html[data-theme='light'] .date-day:hover:not(:disabled){background:rgba(131,39,25,.08);color:#832719}.date-popover[hidden]{display:none!important}

/* Address modal uses the 2025+ two-level hierarchy: province/city -> ward/commune. */
.address-form{gap:16px}.address-form .custom-select-menu{max-height:260px}.address-form .custom-select-trigger{min-height:49px}.address-form label{font-weight:600}.address-form .field-note{font-weight:400}


/* ==========================================================
   v9.16 — red-team alignment, pickup availability, contrast
   ========================================================== */
/* Promise rail: center the icon + two-line copy as one visual unit inside each moving cell. */
.promise-rail article{
  grid-template-columns:54px minmax(0,240px)!important;
  justify-content:center!important;
  align-content:center!important;
  text-align:left!important;
}
.promise-rail article>div{min-width:0;align-self:center}
.promise-rail i{
  width:50px!important;height:50px!important;
  font-size:40px!important;
  justify-self:center!important;align-self:center!important;
}
.promise-rail b,.promise-rail span{max-width:240px}

/* Date and time are one decision row, so their controls must share exactly the same geometry. */
.field-row>label{grid-template-rows:auto 49px!important;align-content:start!important}
.field-row .date-input,.field-row>.date-input{height:49px!important;min-height:49px!important;margin:0!important;align-self:start!important}
.field-row .custom-select{height:49px!important;min-height:49px!important;margin:0!important;align-self:start!important}
.field-row .custom-select-trigger{height:49px!important;min-height:49px!important;margin:0!important}

/* Disabled pickup locations remain visible as operational information, but never look selectable. */
.custom-select-option:disabled{opacity:.46!important;cursor:not-allowed!important;filter:saturate(.45)}
.custom-select-option:disabled:hover{background:transparent!important;color:inherit!important}

/* On the red theme, red-on-red totals fail contrast. Gold is the semantic emphasis colour here. */
.summary-meta .summary-total strong,
.confirm-totals .is-total b,
.confirm-head>b{color:var(--accent-display)!important}
html[data-theme='light'] .summary-meta .summary-total strong,
html[data-theme='light'] .confirm-totals .is-total b,
html[data-theme='light'] .confirm-head>b{color:#832719!important}

@media(max-width:650px){
  .promise-rail article{grid-template-columns:48px minmax(0,220px)!important;justify-content:center!important}
  .promise-rail i{width:44px!important;height:44px!important;font-size:35px!important}
  .promise-rail b,.promise-rail span{max-width:220px}
  .field-row>label{grid-template-rows:auto 49px!important}
}

.copy-line{display:block}.copy-line+.copy-line{margin-top:6px}

/* =========================================================
   v9.18 — HOME CONTENT CLEAN v1 exact-content implementation
   ========================================================= */
.nowrap{white-space:nowrap}
.hero-hanoi{color:var(--gold2);font-style:normal;font-weight:500;white-space:nowrap}
html[data-theme='light'] .hero-hanoi{color:var(--red2)}

/* Section 03: longer approved copy needs a card built for reading, not a caption strip. */
.business-lines .line-card{min-height:430px}
.business-lines .line-card:after{background:linear-gradient(0deg,rgba(46,11,9,.95) 0%,rgba(46,11,9,.72) 48%,rgba(46,11,9,.12) 100%)}
.business-lines .line-card-copy{top:auto;bottom:22px}
.line-card-lead{display:block;margin:9px 0 8px;font:600 13px/1.45 var(--sans);color:#fff7e7}
.line-card-copy p{font-size:11.5px;line-height:1.58;color:rgba(255,255,255,.82)}
.line-card-cta{display:inline-flex;margin-top:14px;padding-top:10px;border-top:1px solid rgba(232,207,134,.30);font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--gold2)}

.curated-cta-wrap{display:flex;justify-content:center;margin-top:32px}

/* Section 05 — Option A: continuous kitchen-to-home journey. */
.ritual-v2{min-height:auto!important;padding:112px 0!important}
.ritual-v2-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:52px;align-items:start}
.ritual-v2-copy h2{font:500 var(--home-editorial-size)/1.02 var(--serif);letter-spacing:-.035em;margin:12px 0 24px}
.ritual-v2-copy h2 em{color:var(--accent-display);font-weight:500}
.ritual-v2-intro{display:grid;gap:12px}
.ritual-v2-intro p{margin:0;color:var(--muted);line-height:1.72;max-width:640px}
.process-list{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.process-list article{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.process-list article>b{font:500 30px/1 var(--serif);color:var(--accent-ui)}
.process-list h3{margin:0 0 5px;font:600 15px/1.35 var(--sans)}
.process-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}

.journey-visual{position:relative;min-height:650px;padding:30px 20px 52px}
.journey-path{position:absolute;left:50%;top:78px;bottom:92px;width:1px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(232,207,134,.08),rgba(232,207,134,.72),rgba(232,207,134,.08))}
.journey-stage{position:relative;z-index:2;width:82%;display:grid;grid-template-columns:116px 1fr;gap:18px;align-items:center;margin-bottom:18px;padding:11px 15px;border:1px solid rgba(232,207,134,.20);border-radius:22px;background:rgba(47,12,10,.74);box-shadow:0 18px 45px rgba(22,3,2,.18);backdrop-filter:blur(8px);animation:journeyPulse 12s ease-in-out infinite}
.journey-stage:nth-of-type(even){margin-left:auto;grid-template-columns:1fr 116px;text-align:right}
.journey-stage:nth-of-type(even) .journey-image{order:2}
.journey-stage.js2{animation-delay:3s}.journey-stage.js3{animation-delay:6s}.journey-stage.js4{animation-delay:9s}
.journey-stage small{display:block;color:var(--gold2);font-size:8px;letter-spacing:.14em;margin-bottom:4px}
.journey-stage b{display:block;font:500 18px/1.15 var(--serif)}
.journey-stage span{display:block;margin-top:4px;color:rgba(246,240,228,.66);font-size:10.5px;line-height:1.35}
.journey-image{position:relative;width:116px;height:92px;border-radius:16px;overflow:hidden;background:#2f0c0a}
.journey-image img{width:100%;height:100%;object-fit:cover}
.journey-cold::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(225,244,255,.28),transparent 40%),linear-gradient(135deg,rgba(210,239,255,.14),transparent 60%);mix-blend-mode:screen;animation:coldBreath 4s ease-in-out infinite}
.journey-destination{border-color:rgba(232,207,134,.52);background:linear-gradient(120deg,rgba(131,39,25,.95),rgba(47,12,10,.94));box-shadow:0 20px 54px rgba(22,3,2,.28),0 0 34px rgba(201,164,77,.10)}
.journey-hot{overflow:visible;background:radial-gradient(circle,rgba(232,207,134,.16),transparent 65%)}
.journey-hot img{object-fit:contain;filter:drop-shadow(0 12px 15px rgba(0,0,0,.25))}
.steam-line{position:absolute;top:5px;width:12px;height:34px;border-left:2px solid rgba(255,247,229,.45);border-radius:50%;filter:blur(.2px);opacity:0;animation:steamRise 3.2s ease-in-out infinite}
.steam-line.one{left:42%;animation-delay:0s}.steam-line.two{left:53%;animation-delay:.9s}.steam-line.three{left:64%;animation-delay:1.7s}
.journey-caption{position:absolute;left:20px;right:20px;bottom:0;margin:0;text-align:center;color:var(--gold2);font-size:10.5px;font-weight:600;letter-spacing:.035em}
html[data-theme='light'] .journey-stage{background:rgba(255,249,241,.88);border-color:rgba(131,39,25,.14);box-shadow:0 16px 36px rgba(91,48,33,.09)}
html[data-theme='light'] .journey-stage span{color:#765f56}
html[data-theme='light'] .journey-destination{background:linear-gradient(120deg,#fff6e9,#f1dfca);border-color:rgba(131,39,25,.26)}
html[data-theme='light'] .journey-path{background:linear-gradient(180deg,transparent,rgba(131,39,25,.38),transparent)}

@keyframes journeyPulse{0%,16%,100%{transform:translateY(0);filter:brightness(.94)}8%{transform:translateY(-3px);filter:brightness(1.08)}}
@keyframes coldBreath{0%,100%{opacity:.45}50%{opacity:.9}}
@keyframes steamRise{0%{transform:translateY(16px) translateX(0) scale(.8);opacity:0}25%{opacity:.55}75%{opacity:.24}100%{transform:translateY(-28px) translateX(7px) scale(1.1);opacity:0}}
@media(prefers-reduced-motion:reduce){.journey-stage,.journey-cold::after,.steam-line{animation:none!important}.steam-line{opacity:.25}}

/* Section 06 and 07 exact approved copy. */
.about-teaser .proof-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}
.finale-copy{max-width:650px;margin:-12px auto 30px;color:rgba(246,240,228,.76)}
.finale-copy p{margin:5px 0;line-height:1.55}
html[data-theme='light'] .finale-copy{color:#6b5a53}

@media(max-width:900px){
  .ritual-v2-grid{grid-template-columns:1fr;gap:38px}
  .journey-visual{min-height:620px;max-width:680px;width:100%;margin:auto}
  .business-lines .line-card{min-height:390px}
}
@media(max-width:650px){
  .business-lines .line-card{min-height:430px}
  .ritual-v2{padding:84px 0!important}
  .journey-visual{min-height:auto;padding:12px 0 46px}
  .journey-path{left:28px;top:54px;bottom:86px}
  .journey-stage,.journey-stage:nth-of-type(even){width:100%;margin-left:0;grid-template-columns:88px 1fr;text-align:left;padding:10px 12px}
  .journey-stage:nth-of-type(even) .journey-image{order:0}
  .journey-image{width:88px;height:72px}
  .journey-caption{left:0;right:0;text-align:left;font-size:10px}
  .process-list article{grid-template-columns:44px 1fr}
}

/* v9.19 — content-lock hardening. Hà Nội must never split across lines. */
.hero-hanoi{
  display:inline-block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* =========================================================
   v9.20 — RED TEAM TYPOGRAPHY + CINEMATIC PROCESS PASS
   Intent: deliberate line breaks, quieter body copy, stronger proof,
   and a visual process that demonstrates rather than repeats copy.
   ========================================================= */
.display-line{display:block}

/* Hero: the approved accent is the complete phrase “một Hà Nội.” */
.hero h1 .hero-hanoi-line{
  display:block;
  width:max-content;
  max-width:100%;
  color:var(--gold2);
  font-style:italic;
  font-weight:500;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  font-size:.96em;
}
html[data-theme='light'] .hero h1 .hero-hanoi-line{color:var(--red2)}

/* Editorial headings: line breaks are part of the design, not browser accidents. */
.section-head-stacked{display:block;align-items:initial}
.section-head-stacked>div{max-width:780px}
.section-head-stacked h2 .display-line,
.ritual-v2-copy h2 .display-line,
.about-teaser h2 .display-line{display:block}
.section-head-stacked h2 em.display-line,
.ritual-v2-copy h2 em.display-line,
.about-teaser h2 em.display-line{color:var(--accent-display);font-style:italic;font-weight:500}

/* The approved intro is one paragraph, not four typographic rows. */
.section-head-stacked .section-summary{margin-top:20px;max-width:none}
.business-lines .section-summary-single{
  width:100%;
  font-size:13px;
  line-height:1.55;
  letter-spacing:-.012em;
  color:rgba(246,240,228,.74);
}
html[data-theme='light'] .business-lines .section-summary-single{color:var(--muted)}
.curated .section-summary-small{max-width:760px;font-size:14px;line-height:1.62}

/* Two type-steps quieter than the main 18px body baseline. */
.ritual-v2-intro p{font-size:14px!important;line-height:1.68!important}
.about-teaser-copy>p:not(.eyebrow){font-size:14px;line-height:1.68;color:var(--muted)}

/* About proof: three distinct reasons to believe, with enough size to read as proof. */
.about-teaser .proof-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:none;
  gap:18px;
  margin:30px 0 32px;
}
.about-teaser .proof-row div{padding-top:16px}
.about-teaser .proof-row b{
  display:block;
  font:500 clamp(31px,3vw,42px)/1 var(--serif);
  color:var(--accent-display);
  letter-spacing:-.035em;
}
.about-teaser .proof-row b.proof-media{font-size:clamp(23px,2.2vw,31px);line-height:1.05}
.about-teaser .proof-row span{
  display:block;
  margin-top:9px;
  font-size:14px;
  line-height:1.48;
  color:var(--muted);
}

/* --- Section 05 visual: one cinematic stage, four states. --- */
.journey-cinema{position:relative;min-width:0;width:100%;align-self:center}
.journey-screen{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  min-height:590px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(232,207,134,.25);
  background:#2f0c0a;
  box-shadow:0 34px 90px rgba(20,3,2,.30),inset 0 0 70px rgba(232,207,134,.035);
  isolation:isolate;
}
.journey-frame{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  overflow:hidden;
  animation:journeyScene 16s ease-in-out infinite;
}
.journey-frame.jf1{animation-delay:0s}
.journey-frame.jf2{animation-delay:4s}
.journey-frame.jf3{animation-delay:8s}
.journey-frame.jf4{animation-delay:12s}
.journey-frame>img:not(.journey-final-bowl){width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03)}
.journey-frame::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(24,3,2,.08) 20%,rgba(24,3,2,.12) 48%,rgba(24,3,2,.78) 100%);
  pointer-events:none;
}
.journey-frame figcaption{
  position:absolute;
  z-index:5;
  left:28px;
  bottom:26px;
  display:flex;
  align-items:baseline;
  gap:11px;
  color:#fff8e9;
}
.journey-frame figcaption small{font-size:10px;letter-spacing:.16em;color:var(--gold2);font-weight:700}
.journey-frame figcaption b{font:500 clamp(28px,3.2vw,42px)/1 var(--serif);letter-spacing:-.03em}

/* Kitchen: warm movement and steam. */
.scene-warmth{position:absolute;z-index:3;inset:0;background:radial-gradient(circle at 58% 45%,rgba(236,167,84,.18),transparent 36%);mix-blend-mode:screen}
.scene-warmth i{position:absolute;bottom:28%;width:2px;height:74px;border-radius:50%;background:linear-gradient(180deg,transparent,rgba(255,240,208,.55),transparent);filter:blur(.4px);animation:kitchenSteam 2.8s ease-in-out infinite}
.scene-warmth i:nth-child(1){left:37%}.scene-warmth i:nth-child(2){left:51%;animation-delay:.8s}.scene-warmth i:nth-child(3){left:64%;animation-delay:1.5s}

/* Packaging: a clean pouch/seal motion, intentionally not a factory conveyor. */
.scene-pack{position:absolute;z-index:3;inset:11% 12% 18%;border:1px solid rgba(255,247,228,.46);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015));box-shadow:inset 0 0 36px rgba(255,255,255,.06);backdrop-filter:blur(1.5px);animation:pouchBreathe 3.1s ease-in-out infinite}
.scene-pack::before{content:'';position:absolute;left:8%;right:8%;top:11%;height:2px;background:rgba(232,207,134,.74);box-shadow:0 0 15px rgba(232,207,134,.38)}
.scene-pack i{position:absolute;left:10%;right:10%;top:12%;height:1px;background:#fff6df;transform-origin:center;animation:sealSweep 2.7s ease-in-out infinite}
.scene-pack span{position:absolute;right:8%;bottom:8%;width:16px;height:16px;border:1px solid rgba(255,247,228,.6);border-radius:50%}

/* Cold storage: frost blooms softly rather than a cartoon freeze. */
.scene-frost{position:absolute;z-index:3;inset:0;background:radial-gradient(circle at 24% 16%,rgba(224,245,255,.25),transparent 32%),linear-gradient(135deg,rgba(210,240,255,.16),transparent 56%);mix-blend-mode:screen;animation:frostBloom 4s ease-in-out infinite}
.scene-frost i{position:absolute;width:6px;height:6px;border-radius:50%;background:rgba(238,250,255,.72);box-shadow:0 0 13px rgba(217,245,255,.55);animation:frostDrift 3.6s ease-in-out infinite}
.scene-frost i:nth-child(1){left:22%;top:24%}.scene-frost i:nth-child(2){left:72%;top:31%;animation-delay:.7s}.scene-frost i:nth-child(3){left:38%;top:58%;animation-delay:1.4s}.scene-frost i:nth-child(4){left:81%;top:63%;animation-delay:2.1s}

/* Destination: end on the hot dish, not on the package. */
.jf4{background:radial-gradient(circle at 50% 48%,rgba(201,164,77,.21),transparent 38%),linear-gradient(145deg,#832719,#2f0c0a 76%)}
.journey-home-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 58%,rgba(246,224,179,.15),transparent 32%),linear-gradient(180deg,transparent 0 54%,rgba(20,3,2,.28) 100%)}
.journey-final-bowl{position:absolute;z-index:2;left:50%;top:50%;width:82%;max-height:72%;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 30px 30px rgba(0,0,0,.34));animation:finalDishFloat 3.4s ease-in-out infinite}
.scene-steam{position:absolute;z-index:4;left:27%;right:27%;top:16%;height:42%}
.scene-steam i{position:absolute;bottom:0;width:16px;height:105px;border-left:2px solid rgba(255,249,231,.62);border-radius:50%;filter:blur(.25px);opacity:0;animation:cinemaSteam 3s ease-in-out infinite}
.scene-steam i:nth-child(1){left:25%}.scene-steam i:nth-child(2){left:51%;animation-delay:.8s}.scene-steam i:nth-child(3){left:72%;animation-delay:1.5s}

.journey-film-grain{position:absolute;z-index:6;inset:0;pointer-events:none;opacity:.10;background:radial-gradient(circle at 20% 15%,rgba(232,207,134,.28) 0 1px,transparent 1.5px),radial-gradient(circle at 73% 61%,rgba(232,207,134,.22) 0 1px,transparent 1.5px);background-size:73px 73px,91px 91px}
.journey-timeline{position:relative;margin:22px 8px 0;padding-top:2px}
.journey-track{position:relative;height:2px;margin:0 8%;background:rgba(232,207,134,.18);border-radius:99px}
.journey-runner{position:absolute;top:50%;left:0;width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 6px rgba(232,207,134,.10),0 0 22px rgba(232,207,134,.48);transform:translate(-50%,-50%);animation:journeyRunner 16s ease-in-out infinite}
.journey-nodes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px}
.journey-nodes span{text-align:center;color:rgba(246,240,228,.48)}
.journey-nodes span i{display:block;width:5px;height:5px;margin:-17px auto 9px;border-radius:50%;background:rgba(232,207,134,.22);animation:journeyNode 16s ease-in-out infinite}
.journey-nodes span b{font-size:10px;letter-spacing:.025em;font-weight:600}
.journey-nodes .jn1 i{animation-delay:0s}.journey-nodes .jn2 i{animation-delay:4s}.journey-nodes .jn3 i{animation-delay:8s}.journey-nodes .jn4 i{animation-delay:12s}
.journey-caption{position:static!important;margin:18px 0 0!important;text-align:center!important;color:var(--gold2);font-size:11px!important;line-height:1.5;font-weight:600;letter-spacing:.02em}
html[data-theme='light'] .journey-screen{border-color:rgba(131,39,25,.16);box-shadow:0 30px 75px rgba(91,48,33,.13)}
html[data-theme='light'] .journey-nodes span{color:#7a655c}
html[data-theme='light'] .journey-track{background:rgba(131,39,25,.16)}

@keyframes journeyScene{0%,21%{opacity:1;transform:scale(1.045)}25%,100%{opacity:0;transform:scale(1)}}
@keyframes journeyRunner{0%,21%{left:0}25%,46%{left:33.333%}50%,71%{left:66.666%}75%,96%{left:100%}100%{left:0}}
@keyframes journeyNode{0%,21%{background:var(--gold2);box-shadow:0 0 0 5px rgba(232,207,134,.10),0 0 16px rgba(232,207,134,.4);transform:scale(1.25)}25%,100%{background:rgba(232,207,134,.22);box-shadow:none;transform:scale(1)}}
@keyframes kitchenSteam{0%{transform:translateY(20px) scaleY(.7);opacity:0}35%{opacity:.55}100%{transform:translateY(-55px) translateX(10px) scaleY(1.25);opacity:0}}
@keyframes pouchBreathe{0%,100%{transform:scale(.985)}50%{transform:scale(1)}}
@keyframes sealSweep{0%,100%{transform:scaleX(.35);opacity:.28}45%{transform:scaleX(1);opacity:.9}}
@keyframes frostBloom{0%,100%{opacity:.45}50%{opacity:.95}}
@keyframes frostDrift{0%,100%{transform:translate(0,0);opacity:.25}50%{transform:translate(7px,-13px);opacity:.9}}
@keyframes finalDishFloat{0%,100%{transform:translate(-50%,-50%) translateY(4px) scale(.985)}50%{transform:translate(-50%,-50%) translateY(-5px) scale(1.01)}}
@keyframes cinemaSteam{0%{transform:translateY(22px) translateX(0) scale(.75);opacity:0}28%{opacity:.7}75%{opacity:.28}100%{transform:translateY(-72px) translateX(12px) scale(1.2);opacity:0}}

@media(min-width:1100px){
  .business-lines .section-summary-single{white-space:nowrap}
}
@media(max-width:900px){
  .journey-screen{min-height:0;aspect-ratio:16/11;max-width:720px;margin-inline:auto}
  .journey-cinema{max-width:720px;margin-inline:auto}
  .about-teaser .proof-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .hero h1 .hero-hanoi-line{font-size:.88em}
  .business-lines .section-summary-single{font-size:13px;white-space:normal}
  .curated .section-summary-small,.ritual-v2-intro p,.about-teaser-copy>p:not(.eyebrow){font-size:14px}
  .journey-screen{aspect-ratio:4/5;border-radius:26px}
  .journey-frame figcaption{left:20px;bottom:20px}
  .journey-frame figcaption b{font-size:29px}
  .journey-nodes span b{font-size:9px}
  .journey-caption{text-align:left!important}
  .about-teaser .proof-row{grid-template-columns:1fr;gap:14px}
  .about-teaser .proof-row b{font-size:36px}
  .about-teaser .proof-row b.proof-media{font-size:28px}
  .about-teaser .proof-row span{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .journey-frame,.scene-warmth i,.scene-pack,.scene-pack i,.scene-frost,.scene-frost i,.journey-final-bowl,.scene-steam i,.journey-runner,.journey-nodes span i{animation:none!important}
  .journey-frame{opacity:0!important;transform:none!important}
  .journey-frame.jf4{opacity:1!important}
  .journey-runner{left:100%!important}
}


/* =========================================================
   v9.21 — EDITORIAL ALIGNMENT + PROCESS BOARD PASS
   Red-team correction: preserve deliberate type hierarchy,
   restore split editorial heads, and show all four process
   stages simultaneously with meaningful micro-animation.
   ========================================================= */
:root{--home-editorial-size:clamp(48px,4.7vw,62px)}

/* One type scale for the four editorial chapter headlines. */
.business-lines .section-head h2,
.curated .section-head h2,
.ritual-v2-copy h2,
.about-teaser h2{
  font:500 var(--home-editorial-size)/.98 var(--serif);
  letter-spacing:-.035em;
}

/* 03 + 04: copy belongs on the right, aligned with headline — not under it. */
.editorial-split-head{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  column-gap:clamp(42px,6vw,86px);
  align-items:start;
  margin-bottom:38px;
}
.editorial-split-head>div{max-width:none}
.editorial-split-head .section-summary{
  align-self:start;
  margin:38px 0 0;
  max-width:520px;
  justify-self:end;
}
.business-lines .section-summary-single,
.curated .section-summary-small{
  font-size:14px;
  line-height:1.62;
  letter-spacing:-.012em;
}
@media(min-width:1100px){.business-lines .section-summary-single{white-space:normal}}

/* Section 05: exact three-line composition; common scale keeps lines intact. */
.ritual-v2-copy h2{max-width:660px}
.ritual-v2-copy h2 .display-line{white-space:nowrap}

/* About: one image with enough visual weight to balance the copy column. */
.about-teaser-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(46px,6vw,76px);align-items:center}
.photo-stack.photo-stack-single{display:block;min-width:0;width:100%;max-width:480px;justify-self:center}
.photo-stack.photo-stack-single img{
  display:block;
  width:100%;
  height:clamp(455px,43vw,565px);
  margin:0;
  border-radius:28px;
  object-fit:cover;
  object-position:center 28%;
}

/* Proof was over-emphasised in v9.20: step the whole cluster down once. */
.about-teaser .proof-row b{font-size:clamp(27px,2.55vw,36px)}
.about-teaser .proof-row b.proof-media{font-size:clamp(21px,2vw,27px)}
.about-teaser .proof-row span{font-size:13px;line-height:1.46}

/* Process board: four states remain visible at once, but stack vertically
   so the section can breathe and each tile has more room. */
.process-board{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  align-items:stretch;
  padding:4px 0 0;
  min-width:0;
  width:100%;
  max-width:430px;
  justify-self:end;
}
.process-tile{
  position:relative;
  z-index:2;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:13px;
  align-items:center;
  padding:10px 12px;
  overflow:hidden;
  border:1px solid rgba(232,207,134,.20);
  border-radius:22px;
  background:linear-gradient(165deg,rgba(131,39,25,.93),rgba(47,12,10,.96));
  box-shadow:0 20px 48px rgba(20,3,2,.18);
}
.process-tile::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  border-radius:inherit;border:1px solid rgba(232,207,134,0);
  box-shadow:inset 0 0 0 rgba(232,207,134,0);
  animation:processTileFocus 12s ease-in-out infinite;
}
.process-tile.pt2::after{animation-delay:3s}.process-tile.pt3::after{animation-delay:6s}.process-tile.pt4::after{animation-delay:9s}
.process-tile small{grid-column:2;display:block;margin-top:0;color:var(--gold2);font-size:9px;letter-spacing:.16em;font-weight:700}
.process-tile b{grid-column:2;display:block;margin-top:4px;font:500 18px/1.08 var(--serif);color:#fff8e9}
.process-tile span{grid-column:2;display:block;margin-top:5px;font-size:10px;line-height:1.4;color:rgba(246,240,228,.68)}
.process-visual{
  grid-column:1;
  grid-row:1 / span 3;
  position:relative;
  height:102px;
  border-radius:17px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(232,207,134,.10),transparent 48%),rgba(27,5,4,.28);
  border:1px solid rgba(232,207,134,.11);
}
.process-connector{display:none}
.process-board-caption{grid-column:1/-1;margin:6px 0 0;text-align:left!important;color:var(--gold2)!important;font-size:11px!important;line-height:1.5!important;font-weight:600!important}

/* 01 — pot + real rising steam. */
.pot{position:absolute;left:50%;top:58%;width:70px;height:48px;transform:translate(-50%,-50%)}
.pot-body{position:absolute;left:10px;right:10px;bottom:0;height:34px;border:2px solid var(--gold2);border-top:0;border-radius:5px 5px 28px 28px;background:rgba(201,164,77,.08)}
.pot-lid{position:absolute;left:17px;right:17px;top:6px;height:10px;border:2px solid var(--gold2);border-radius:50% 50% 5px 5px}
.pot-lid::after{content:'';position:absolute;width:16px;height:6px;left:50%;top:-8px;border:2px solid var(--gold2);border-bottom:0;border-radius:8px 8px 0 0;transform:translateX(-50%)}
.pot-handle{position:absolute;top:21px;width:14px;height:7px;border-top:2px solid var(--gold2)}.ph-left{left:-7px}.ph-right{right:-7px}
.micro-steam{position:absolute;left:31%;right:31%;top:16%;height:62px}
.micro-steam i{position:absolute;bottom:0;width:12px;height:44px;border-left:2px solid rgba(255,246,220,.72);border-radius:50%;opacity:0;animation:microSteam 2.9s ease-in-out infinite}
.micro-steam i:nth-child(1){left:17%}.micro-steam i:nth-child(2){left:48%;animation-delay:.9s}.micro-steam i:nth-child(3){left:74%;animation-delay:1.7s}

/* 02 — pouch visibly contracts while a seal bar traverses the top. */
.vacuum-pouch{position:absolute;left:50%;top:50%;width:82px;height:96px;border:2px solid rgba(255,246,220,.64);border-radius:11px 11px 24px 24px;transform:translate(-50%,-50%) scaleX(1);transform-origin:center;animation:pouchVacuum 3s ease-in-out infinite;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.pouch-food{position:absolute;left:22%;right:22%;bottom:19%;height:42%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(232,207,134,.58),rgba(131,39,25,.48) 46%,rgba(47,12,10,.75) 72%)}
.seal-bar{position:absolute;left:8%;right:8%;top:15%;height:2px;background:var(--gold2);box-shadow:0 0 13px rgba(232,207,134,.55);transform:scaleX(.18);animation:sealPass 3s ease-in-out infinite}
.pouch-mark{position:absolute;right:11%;bottom:8%;font:600 9px var(--serif);color:rgba(255,246,220,.75)}

/* 03 — slow snow mark rotation + drifting frost, not a flashing freeze. */
.snow-mark{position:absolute;left:50%;top:50%;width:72px;height:72px;color:rgba(225,246,255,.80);transform:translate(-50%,-50%);animation:snowTurn 12s linear infinite}
.frost-dots i{position:absolute;width:6px;height:6px;border-radius:50%;background:rgba(233,249,255,.72);box-shadow:0 0 13px rgba(211,242,255,.55);animation:frostFloat 3.8s ease-in-out infinite}
.frost-dots i:nth-child(1){left:18%;top:24%}.frost-dots i:nth-child(2){left:76%;top:22%;animation-delay:.9s}.frost-dots i:nth-child(3){left:27%;top:72%;animation-delay:1.7s}.frost-dots i:nth-child(4){left:78%;top:68%;animation-delay:2.5s}

/* 04 — destination: hot bowl + steam. */
.bowl-icon{position:absolute;left:50%;top:59%;width:86px;height:58px;transform:translate(-50%,-50%)}
.bowl-rim{position:absolute;left:0;right:0;top:4px;height:19px;border:2px solid var(--gold2);border-radius:50%;background:rgba(232,207,134,.08)}
.bowl-body{position:absolute;left:10px;right:10px;top:14px;height:37px;border:2px solid var(--gold2);border-top:0;border-radius:0 0 55px 55px}
.home-steam{left:30%;right:30%;top:13%;height:58px}.home-steam i{height:40px}
.table-line{position:absolute;left:17%;right:17%;bottom:23%;height:1px;background:rgba(232,207,134,.30)}

html[data-theme='light'] .process-tile{background:linear-gradient(165deg,#fff8ee,#ecd9c5);border-color:rgba(131,39,25,.13);box-shadow:0 18px 42px rgba(91,48,33,.08)}
html[data-theme='light'] .process-tile b{color:#3f271f}
html[data-theme='light'] .process-tile span{color:#765f56}
html[data-theme='light'] .process-visual{background:radial-gradient(circle at 50% 45%,rgba(131,39,25,.07),transparent 50%),rgba(131,39,25,.03);border-color:rgba(131,39,25,.10)}
html[data-theme='light'] .pot-body,html[data-theme='light'] .pouch-food{background-color:rgba(131,39,25,.06)}
html[data-theme='light'] .process-connector{background:rgba(131,39,25,.18)}

@keyframes processTileFocus{0%,19%,100%{border-color:rgba(232,207,134,0);box-shadow:inset 0 0 0 rgba(232,207,134,0)}8%,13%{border-color:rgba(232,207,134,.55);box-shadow:inset 0 0 28px rgba(232,207,134,.07)}}
@keyframes processRunner{0%{left:0}100%{left:100%}}
@keyframes microSteam{0%{transform:translateY(15px) translateX(0) scale(.75);opacity:0}30%{opacity:.72}100%{transform:translateY(-38px) translateX(8px) scale(1.15);opacity:0}}
@keyframes pouchVacuum{0%,100%{transform:translate(-50%,-50%) scaleX(1)}55%{transform:translate(-50%,-50%) scaleX(.88)}}
@keyframes sealPass{0%,100%{transform:scaleX(.18);opacity:.35}45%,65%{transform:scaleX(1);opacity:1}}
@keyframes snowTurn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes frostFloat{0%,100%{transform:translate(0,0);opacity:.22}50%{transform:translate(7px,-11px);opacity:.9}}

@media(max-width:980px){
  .editorial-split-head{grid-template-columns:1fr;gap:0}
  .editorial-split-head .section-summary{margin-top:18px;justify-self:start;max-width:760px}
  .process-board{grid-template-columns:1fr}
  .process-connector{display:none}
  .process-board-caption{grid-column:1/-1}
  .about-teaser-grid{grid-template-columns:1fr}
  .photo-stack.photo-stack-single{order:2}
  .photo-stack.photo-stack-single img{height:min(68vw,520px)}
}
@media(max-width:650px){
  :root{--home-editorial-size:clamp(39px,10.5vw,49px)}
  .ritual-v2-copy h2 .display-line{white-space:normal}
  .process-board{grid-template-columns:1fr;gap:10px;padding-top:8px}
  .process-tile{grid-template-columns:100px minmax(0,1fr);padding:10px}
  .process-visual{height:96px}
  .process-tile b{font-size:17px}
  .process-tile span{font-size:9.5px}
  .process-board-caption{text-align:left!important}
  .photo-stack.photo-stack-single img{height:102vw;max-height:500px}
  .about-teaser .proof-row b{font-size:30px}
  .about-teaser .proof-row b.proof-media{font-size:24px}
  .about-teaser .proof-row span{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .process-tile::after,.process-connector i,.micro-steam i,.vacuum-pouch,.seal-bar,.snow-mark,.frost-dots i{animation:none!important}
  .process-tile::after{border-color:rgba(232,207,134,.15)}
}

.section-head h2 .display-line em.inline-accent,
.ritual-v2-copy h2 .display-line em.inline-accent,
.about-teaser h2 .display-line em.inline-accent{color:var(--accent-display);font-style:italic;font-weight:500}

.curated-button{position:relative;overflow:hidden;border-color:transparent;box-shadow:0 12px 28px rgba(55,9,6,.18);transition:transform .25s,box-shadow .25s,filter .25s}
.curated-button::before{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.05) 62%,transparent 76%);transition:transform .72s ease}
.curated-button:hover,.curated-button:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(55,9,6,.24);filter:brightness(1.05);outline:none}
.curated-button:hover::before,.curated-button:focus-visible::before{transform:translateX(135%)}

.about-teaser .proof-row b{font-size:clamp(25px,2.35vw,34px)}
.about-teaser .proof-row b.proof-media{font-size:clamp(20px,1.85vw,25px)}
.about-teaser .proof-row span{font-size:12px;line-height:1.44}

/* =========================================================
   V9.24 — editorial line control + three-step process
   ========================================================= */
/* Signature chapter: the first line must remain exactly
   “Có những món trở thành”; give the headline more room and
   let the supporting paragraph take the smaller column. */
.curated .editorial-split-head{
  grid-template-columns:minmax(0,1.36fr) minmax(270px,.64fr);
  column-gap:clamp(34px,4.5vw,68px);
}
.curated .editorial-split-head>div{min-width:0}
.curated .curated-line-one{white-space:nowrap}
.curated .section-summary-small{
  max-width:410px;
  font-size:13px;
  line-height:1.58;
  justify-self:end;
}

/* Section 05: text spans the full section first; the animated
   process sits below it instead of competing for the right column. */
.ritual-v3{
  display:block;
}
.ritual-v3-copy{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  gap:clamp(42px,6vw,82px);
  align-items:start;
}
.ritual-v3-heading{min-width:0}
.ritual-v3-heading h2{
  max-width:650px;
  margin-bottom:0;
}
.ritual-v3-heading h2 .display-line{white-space:nowrap}
.ritual-v3-intro{
  padding-top:38px;
  max-width:620px;
  justify-self:end;
}
.ritual-v3-intro p{font-size:13px!important;line-height:1.62!important}

/* Three compact explanatory cards. Each card is both animation
   and copy, so the duplicate process list is no longer needed. */
.process-board.process-board-three{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  padding:42px 0 0;
}
.process-board-three .process-tile{
  min-height:0;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:15px;
  align-items:center;
  padding:14px 15px;
  border-radius:20px;
}
.process-board-three .process-visual{
  grid-column:1;
  grid-row:1 / span 3;
  height:112px;
  border-radius:15px;
}
.process-board-three .process-tile small{
  grid-column:2;
  margin:0 0 3px;
  font-size:8px;
}
.process-board-three .process-tile b{
  grid-column:2;
  margin:0 0 6px;
  font-size:18px;
  line-height:1.12;
}
.process-board-three .process-tile span{
  grid-column:2;
  margin:0;
  font-size:11px;
  line-height:1.48;
  color:rgba(246,240,228,.68);
}
.process-board-three .process-board-caption{
  grid-column:1/-1;
  margin:5px 0 0;
  text-align:center!important;
}
.process-board-three .pt1::after{animation-delay:0s}
.process-board-three .pt2::after{animation-delay:3s}
.process-board-three .pt3::after{animation-delay:6s}

/* Step 02 intentionally combines vacuum sealing and cold storage
   in one visual/state instead of presenting “freezing” as a separate stage. */
.pv-pack-cold .pack-snow{
  position:absolute;
  width:62px;
  height:62px;
  right:-5px;
  top:-5px;
  opacity:.18;
  color:var(--gold2);
  animation:snowBreath 3.4s ease-in-out infinite;
}
.pv-pack-cold .vacuum-pouch{z-index:2;width:82px;height:96px}
.pv-pack-cold .frost-dots{z-index:1}

@media(max-width:980px){
  .curated .editorial-split-head{grid-template-columns:1fr;gap:0}
  .curated .curated-line-one{white-space:normal}
  .curated .section-summary-small{justify-self:start;max-width:720px;font-size:13px}
  .ritual-v3-copy{grid-template-columns:1fr;gap:0}
  .ritual-v3-intro{padding-top:18px;justify-self:start;max-width:760px}
  .process-board.process-board-three{grid-template-columns:1fr;gap:10px;padding-top:30px}
  .process-board-three .process-tile{grid-template-columns:116px minmax(0,1fr)}
}
@media(max-width:650px){
  .curated .curated-line-one{white-space:normal}
  .ritual-v3-heading h2 .display-line{white-space:normal}
  .process-board-three .process-tile{grid-template-columns:96px minmax(0,1fr);padding:12px}
  .process-board-three .process-visual{height:96px}
  .process-board-three .process-tile b{font-size:17px}
  .process-board-three .process-tile span{font-size:10.5px}
}

/* =========================================================
   v9.25 — Process section correction
   Keep editorial intro beside the headline at normal desktop/tablet widths.
   Process cards carry their own explicit heading + body copy.
   ========================================================= */
.ritual-v3-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;
  column-gap:clamp(38px,5vw,72px)!important;
  align-items:start!important;
}
.ritual-v3-heading{min-width:0}
.ritual-v3-intro{
  padding-top:42px!important;
  max-width:520px!important;
  justify-self:end!important;
}
.ritual-v3-intro p{
  font-size:13px!important;
  line-height:1.62!important;
}

.process-board.process-board-three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  padding-top:34px!important;
}
.process-board-three .process-tile{
  display:grid!important;
  grid-template-columns:94px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  column-gap:14px!important;
  align-items:center!important;
  min-height:152px!important;
  padding:13px 14px!important;
}
.process-board-three .process-visual{
  grid-column:1!important;
  grid-row:1!important;
  width:94px!important;
  height:112px!important;
  align-self:center!important;
}
.process-board-three .process-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  position:relative!important;
  z-index:3!important;
}
.process-board-three .process-copy small{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--gold2)!important;
  font-size:8px!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  font-weight:700!important;
}
.process-board-three .process-copy h3{
  display:block!important;
  margin:0 0 7px!important;
  color:#fff8e9!important;
  font:500 19px/1.12 var(--serif)!important;
  letter-spacing:-.015em!important;
}
.process-board-three .process-copy p{
  display:block!important;
  margin:0!important;
  color:rgba(246,240,228,.72)!important;
  font-size:11.5px!important;
  line-height:1.48!important;
}
html[data-theme='light'] .process-board-three .process-copy h3{color:#3f271f!important}
html[data-theme='light'] .process-board-three .process-copy p{color:#765f56!important}

@media(max-width:1050px) and (min-width:760px){
  .ritual-v3-copy{
    grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important;
    column-gap:34px!important;
  }
  .ritual-v3-intro{padding-top:38px!important;max-width:430px!important}
  .process-board.process-board-three{grid-template-columns:1fr!important;gap:10px!important}
  .process-board-three .process-tile{grid-template-columns:112px minmax(0,1fr)!important;min-height:136px!important}
  .process-board-three .process-visual{width:112px!important;height:104px!important}
}
@media(max-width:759px){
  .ritual-v3-copy{grid-template-columns:1fr!important;gap:0!important}
  .ritual-v3-intro{padding-top:18px!important;max-width:760px!important;justify-self:start!important}
  .process-board.process-board-three{grid-template-columns:1fr!important;gap:10px!important;padding-top:26px!important}
  .process-board-three .process-tile{grid-template-columns:92px minmax(0,1fr)!important;min-height:128px!important;padding:12px!important}
  .process-board-three .process-visual{width:92px!important;height:96px!important}
  .process-board-three .process-copy h3{font-size:18px!important}
  .process-board-three .process-copy p{font-size:11px!important}
}

/* =========================================================
   v9.26 — Process layout correction
   Editorial copy belongs directly BELOW the headline.
   The three process steps are equal, square-ish cards in one horizontal row.
   ========================================================= */
.ritual-v3-copy{
  display:block!important;
  max-width:820px!important;
}
.ritual-v3-heading{max-width:720px!important}
.ritual-v3-intro{
  display:grid!important;
  gap:12px!important;
  padding-top:22px!important;
  max-width:760px!important;
  justify-self:auto!important;
}
.ritual-v3-intro p{
  max-width:760px!important;
  font-size:13px!important;
  line-height:1.64!important;
}

.process-board.process-board-three{
  width:min(1040px,100%)!important;
  margin:34px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  padding:0!important;
  align-items:stretch!important;
}
.process-board-three .process-tile{
  aspect-ratio:1 / 1!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:14px!important;
  border-radius:22px!important;
}
.process-board-three .process-visual{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.55 / 1!important;
  flex:0 0 auto!important;
  margin:0 0 14px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.process-board-three .process-copy{
  display:block!important;
  width:100%!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.process-board-three .process-copy small{
  margin:0 0 6px!important;
  font-size:8px!important;
}
.process-board-three .process-copy h3{
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.1!important;
}
.process-board-three .process-copy p{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.48!important;
}
.process-board-three .process-board-caption{
  grid-column:1/-1!important;
  margin:4px 0 0!important;
  text-align:center!important;
}

@media(max-width:900px){
  .ritual-v3-copy{max-width:760px!important}
  .process-board.process-board-three{
    width:min(680px,100%)!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .process-board-three .process-tile{
    aspect-ratio:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center!important;
  }
  .process-board-three .process-visual{
    width:150px!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
  }
}
@media(max-width:560px){
  .process-board-three .process-tile{
    grid-template-columns:108px minmax(0,1fr)!important;
    padding:12px!important;
  }
  .process-board-three .process-visual{width:108px!important}
  .process-board-three .process-copy h3{font-size:18px!important}
  .process-board-three .process-copy p{font-size:10.8px!important}
}


/* =========================================================
   v9.27 — Ritual section clarity correction
   1) Intro copy shares the exact editorial measure of the headline.
   2) Three process steps stack vertically as readable sequence cards.
   3) Step number is sufficient: no redundant “BƯỚC MỘT/Hai/Ba”.
   ========================================================= */
.ritual-v3-copy{
  display:block!important;
  width:100%!important;
  max-width:660px!important;
}
.ritual-v3-heading{
  width:100%!important;
  max-width:660px!important;
}
.ritual-v3-heading h2{
  width:100%!important;
  max-width:660px!important;
}
.ritual-v3-intro{
  width:100%!important;
  max-width:660px!important;
  padding-top:22px!important;
  gap:12px!important;
}
.ritual-v3-intro p{
  width:100%!important;
  max-width:660px!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.64!important;
}

.process-board.process-board-three{
  width:min(760px,100%)!important;
  margin:34px auto 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:13px!important;
  padding:0!important;
  align-items:stretch!important;
}
.process-board-three .process-tile{
  aspect-ratio:auto!important;
  min-height:158px!important;
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  padding:14px 18px!important;
  border-radius:22px!important;
}
.process-board-three .process-visual{
  display:block!important;
  width:132px!important;
  height:126px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  grid-column:1!important;
  grid-row:1!important;
  border-radius:17px!important;
}
.process-board-three .process-copy{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  grid-column:2!important;
  grid-row:1!important;
}
.process-board-three .process-copy small{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--gold2)!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:700!important;
}
.process-board-three .process-copy h3{
  display:block!important;
  margin:0 0 8px!important;
  color:#fff8e9!important;
  font:500 23px/1.12 var(--serif)!important;
  letter-spacing:-.018em!important;
}
.process-board-three .process-copy p{
  display:block!important;
  margin:0!important;
  max-width:520px!important;
  color:rgba(246,240,228,.76)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.process-board-three .process-board-caption{
  grid-column:1!important;
  margin:3px 0 0!important;
  text-align:center!important;
  font-size:11px!important;
}
html[data-theme='light'] .process-board-three .process-copy h3{color:#3f271f!important}
html[data-theme='light'] .process-board-three .process-copy p{color:#765f56!important}

@media(max-width:760px){
  .ritual-v3-copy,.ritual-v3-heading,.ritual-v3-heading h2,.ritual-v3-intro,.ritual-v3-intro p{max-width:100%!important}
  .process-board.process-board-three{width:100%!important;gap:10px!important}
  .process-board-three .process-tile{
    grid-template-columns:108px minmax(0,1fr)!important;
    min-height:138px!important;
    gap:14px!important;
    padding:12px 14px!important;
  }
  .process-board-three .process-visual{width:108px!important;height:108px!important}
  .process-board-three .process-copy h3{font-size:20px!important}
  .process-board-three .process-copy p{font-size:12px!important;line-height:1.5!important}
}
@media(max-width:520px){
  .process-board-three .process-tile{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .process-board-three .process-visual{width:88px!important;height:94px!important}
  .process-board-three .process-copy small{font-size:10px!important}
  .process-board-three .process-copy h3{font-size:18px!important;margin-bottom:6px!important}
  .process-board-three .process-copy p{font-size:11px!important}
}

/* =========================================================
   v9.28 — FINAL RITUAL TWO-BLOCK COMPOSITION
   Left: editorial headline + intro copy, same measure.
   Right: compact vertical 01/02/03 process cards.
   ========================================================= */
@media (min-width: 861px){
  .ritual-v2-grid.ritual-v3{
    display:grid!important;
    grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr)!important;
    gap:clamp(42px,5vw,68px)!important;
    align-items:start!important;
  }
  .ritual-v3-copy{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .ritual-v3-heading,
  .ritual-v3-heading h2,
  .ritual-v3-intro,
  .ritual-v3-intro p{
    width:100%!important;
    max-width:620px!important;
  }
  .ritual-v3-intro{
    padding-top:22px!important;
  }

  .process-board.process-board-three{
    grid-column:2!important;
    width:100%!important;
    max-width:520px!important;
    margin:28px 0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
    padding:0!important;
    align-self:start!important;
  }
  .process-board-three .process-tile{
    min-height:124px!important;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center!important;
    padding:11px 14px!important;
    border-radius:20px!important;
  }
  .process-board-three .process-visual{
    width:104px!important;
    height:100px!important;
    margin:0!important;
    border-radius:15px!important;
  }
  .process-board-three .process-copy small{
    margin:0 0 5px!important;
    font-size:10px!important;
  }
  .process-board-three .process-copy h3{
    margin:0 0 6px!important;
    font-size:19px!important;
    line-height:1.12!important;
  }
  .process-board-three .process-copy p{
    max-width:none!important;
    font-size:11.5px!important;
    line-height:1.48!important;
  }
  .process-board-three .process-board-caption{
    margin:2px 0 0!important;
    text-align:left!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
}

@media (max-width: 860px){
  .ritual-v2-grid.ritual-v3{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .ritual-v3-copy,
  .ritual-v3-heading,
  .ritual-v3-heading h2,
  .ritual-v3-intro,
  .ritual-v3-intro p{
    width:100%!important;
    max-width:660px!important;
  }
  .process-board.process-board-three{
    grid-column:1!important;
    width:min(620px,100%)!important;
    max-width:620px!important;
    margin:0!important;
  }
}

/* =========================================================
   v9.29 — small polish pass, preserving v9.28 layout
   1) Process caption centered to its right-hand process block.
   2) Promise rail: softer radius, true dark-red -> Madame Red gradient.
   3) Each promise is optically centered; short dividers sit between items.
   ========================================================= */
.process-board-three .process-board-caption{
  width:100%!important;
  text-align:center!important;
  justify-self:center!important;
}
@media (min-width:861px){
  .process-board-three .process-board-caption{
    text-align:center!important;
    margin:4px auto 0!important;
  }
}

.promise-rail{
  border-radius:26px!important;
  background:linear-gradient(112deg,#2f0c0a 0%,#46100c 34%,#641b14 68%,#832719 100%)!important;
  border-color:rgba(232,207,134,.24)!important;
  box-shadow:0 22px 48px rgba(25,4,3,.20),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme='light'] .promise-rail{
  background:linear-gradient(112deg,#fffaf2 0%,#f8eadb 54%,#f2ddca 100%)!important;
  border-color:rgba(131,39,25,.14)!important;
}
.promise-rail article{
  position:relative!important;
  border-right:0!important;
  grid-template-columns:50px minmax(0,240px)!important;
  gap:12px!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.promise-rail article::after{
  content:'';
  position:absolute;
  right:0;
  top:50%;
  width:1px;
  height:38px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,transparent,rgba(232,207,134,.34) 22%,rgba(232,207,134,.34) 78%,transparent);
}
html[data-theme='light'] .promise-rail article::after{
  background:linear-gradient(180deg,transparent,rgba(131,39,25,.22) 22%,rgba(131,39,25,.22) 78%,transparent);
}
.promise-rail article>div{
  width:100%!important;
  max-width:240px!important;
  text-align:center!important;
  justify-self:center!important;
}
.promise-rail i{
  width:46px!important;
  height:46px!important;
  font-size:36px!important;
  justify-self:center!important;
}
.promise-rail b,.promise-rail span{
  max-width:240px!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:650px){
  .promise-rail{border-radius:24px!important}
  .promise-rail article{
    grid-template-columns:44px minmax(0,220px)!important;
  }
  .promise-rail article>div,.promise-rail b,.promise-rail span{max-width:220px!important}
  .promise-rail i{width:40px!important;height:40px!important;font-size:32px!important}
  .promise-rail article::after{height:34px}
}

/* =========================================================
   v9.31 — Home polish requested after About update
   Keep the existing marquee/process layout; fix alignment + theme response.
   ========================================================= */
/* Brand promise: left-align icon + copy as one unit, keep separators clear. */
.promise-rail article{
  width:340px!important;
  min-width:340px!important;
  grid-template-columns:30px minmax(0,267px)!important;
  gap:8px!important;
  justify-content:start!important;
  align-items:center!important;
  text-align:left!important;
  padding:0 18px!important;
}
.promise-rail article>div{
  width:100%!important;
  max-width:267px!important;
  justify-self:start!important;
  text-align:left!important;
}
.promise-rail i{
  width:30px!important;
  height:38px!important;
  font-size:30px!important;
  justify-self:start!important;
  place-items:center!important;
}
.promise-rail b,.promise-rail span{
  max-width:267px!important;
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
.promise-rail b{white-space:nowrap!important}
.promise-rail span{white-space:normal!important;line-height:1.28!important}
.promise-rail article::after{right:0!important;height:34px!important}
@media(max-width:650px){
  .promise-rail article{
    width:310px!important;
    min-width:310px!important;
    grid-template-columns:28px minmax(0,242px)!important;
    gap:7px!important;
    padding:0 16px!important;
  }
  .promise-rail article>div,.promise-rail b,.promise-rail span{max-width:242px!important}
  .promise-rail i{width:28px!important;height:34px!important;font-size:27px!important}
}

/* Process visuals: gold/cream in red mode; Madame Red family in light mode. */
html[data-theme='light'] .process-board-three .process-board-caption,
html[data-theme='light'] .process-board-three .process-copy small{
  color:var(--accent-ui)!important;
}
html[data-theme='light'] .process-board-three .pot-body,
html[data-theme='light'] .process-board-three .pot-lid,
html[data-theme='light'] .process-board-three .pot-lid::after,
html[data-theme='light'] .process-board-three .pot-handle,
html[data-theme='light'] .process-board-three .bowl-rim,
html[data-theme='light'] .process-board-three .bowl-body{
  border-color:var(--accent-ui)!important;
}
html[data-theme='light'] .process-board-three .micro-steam i{
  border-left-color:rgba(131,39,25,.58)!important;
}
html[data-theme='light'] .process-board-three .vacuum-pouch{
  border-color:rgba(131,39,25,.58)!important;
  background:linear-gradient(160deg,rgba(131,39,25,.035),rgba(131,39,25,.01))!important;
}
html[data-theme='light'] .process-board-three .seal-bar{
  background:var(--accent-ui)!important;
  box-shadow:0 0 13px rgba(131,39,25,.28)!important;
}
html[data-theme='light'] .process-board-three .pouch-mark,
html[data-theme='light'] .process-board-three .snow-mark{
  color:var(--accent-ui)!important;
}
html[data-theme='light'] .process-board-three .frost-dots i{
  background:rgba(131,39,25,.48)!important;
  box-shadow:0 0 12px rgba(131,39,25,.22)!important;
}
html[data-theme='light'] .process-board-three .table-line{
  background:rgba(131,39,25,.28)!important;
}

/* =========================================================
   v9.32 — Home editorial consistency + theme-aware accents
   ========================================================= */
/* One body scale for the four editorial Home chapters. Previous late-stage
   overrides had pushed Curated and Kitchen-to-Home down to 13px. */
.business-lines .section-summary-single,
.curated .section-summary-small,
.ritual-v3-intro p,
.about-teaser-copy>p:not(.eyebrow){
  font-size:15px!important;
  line-height:1.66!important;
}
@media(max-width:650px){
  .business-lines .section-summary-single,
  .curated .section-summary-small,
  .ritual-v3-intro p,
  .about-teaser-copy>p:not(.eyebrow){font-size:14px!important}
}

/* Eyebrows must follow the theme: gold on Madame Red, Madame Red on light. */
.finale .eyebrow{color:var(--accent-ui)!important}

/* Process graphic and caption follow the same semantic accent token. */
.process-board-three .process-board-caption,
.process-board-three .process-copy small{color:var(--accent-ui)!important}
.process-board-three .pot-body,
.process-board-three .pot-lid,
.process-board-three .pot-lid::after,
.process-board-three .pot-handle,
.process-board-three .vacuum-pouch,
.process-board-three .bowl-rim,
.process-board-three .bowl-body{border-color:var(--accent-ui)!important}
.process-board-three .seal-bar{background:var(--accent-ui)!important;box-shadow:0 0 13px color-mix(in srgb,var(--accent-ui) 55%,transparent)!important}
.process-board-three .snow-mark,
.process-board-three .pack-snow,
.process-board-three .pouch-mark{color:var(--accent-ui)!important}
.process-board-three .micro-steam i{border-left-color:color-mix(in srgb,var(--accent-ui) 68%,transparent)!important}

/* =========================================================
   MdN v10.0 — Menu Architecture + Catering + Contact
   ========================================================= */
.menu-architecture-hero .content-shell{max-width:980px}
.menu-architecture-hero p:last-child{max-width:820px}
.menu-search-band{padding-top:32px;padding-bottom:30px}
.menu-search-large{display:block;max-width:920px;margin:0 auto}
.menu-search-large>span{display:block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ui)}
.menu-search-large input{width:100%;min-height:58px;padding:0 22px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--text);font:500 16px var(--sans);outline:none;box-shadow:0 18px 44px rgba(34,6,4,.08)}
.menu-search-large input:focus{border-color:var(--accent-ui);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-ui) 16%,transparent),0 18px 44px rgba(34,6,4,.08)}
.menu-section-head{max-width:820px;margin-bottom:30px}
.menu-section-head h2{font:500 clamp(34px,3.7vw,52px)/1.02 var(--serif);letter-spacing:-.035em;margin:9px 0 0}
.menu-section-head h2 em{color:var(--accent-display);font-weight:500}
.category-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.category-tile{position:relative;min-height:142px;padding:22px;text-align:left;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--card) 90%,transparent),color-mix(in srgb,var(--accent-ui) 15%,transparent));color:var(--text);cursor:pointer;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s}
.category-tile::after{content:'';position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.03) 62%,transparent 75%);transition:transform .7s ease}
.category-tile:hover,.category-tile:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent-ui) 48%,var(--line));box-shadow:0 18px 40px rgba(34,6,4,.16);outline:none}
.category-tile:hover::after,.category-tile:focus-visible::after{transform:translateX(130%)}
.category-tile span{display:block;font:500 23px var(--serif);color:var(--accent-ui);margin-bottom:20px}
.category-tile b{display:block;font-size:13px;line-height:1.45;letter-spacing:.035em;text-transform:uppercase}
.menu-curated-grid .product-card small,.product-card .product-copy small{text-transform:uppercase}
.menu-center-action{display:flex;justify-content:center;margin-top:30px}
.full-menu-section[hidden]{display:none!important}
.menu-sort{display:grid;gap:7px;min-width:275px}
.menu-sort span{font-size:9px;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.menu-sort select,.menu-filter-grid select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);padding:0 13px;font:600 11px var(--sans)}
.menu-filter-panel{margin:0 0 24px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--card) 88%,transparent);overflow:hidden}
.menu-filter-panel summary{cursor:pointer;padding:15px 18px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ui);list-style:none}
.menu-filter-panel summary::-webkit-details-marker{display:none}
.menu-filter-panel summary::after{content:'+';float:right;font-size:18px;font-weight:400}
.menu-filter-panel[open] summary::after{content:'−'}
.menu-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.menu-filter-grid label{display:grid;gap:6px;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.result-meta{min-height:24px;margin:4px 0 18px;color:var(--muted);font-size:12px}
.product-card .add-link{font-weight:700}
.accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.accessory-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.accessory-card h3{grid-column:1;margin:0;font:500 20px/1.15 var(--serif)}
.accessory-card span{grid-column:1;font-size:11px;color:var(--muted)}
.accessory-card button{grid-row:1 / span 2;grid-column:2;align-self:center}

.occasion-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.occasion-tile{min-height:115px;border:1px solid var(--line);border-radius:22px;padding:20px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--accent-ui) 14%,var(--card)));color:var(--text);cursor:pointer;transition:.25s}
.occasion-tile:hover,.occasion-tile.is-active{transform:translateY(-2px);border-color:var(--accent-ui);box-shadow:0 16px 36px rgba(34,6,4,.14)}
.occasion-tile b{font-size:13px;line-height:1.4;letter-spacing:.035em;text-transform:uppercase}
.gift-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.gift-type-grid button{min-height:54px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);font:700 11px var(--sans);letter-spacing:.03em;padding:0 18px;cursor:pointer;transition:.2s}
.gift-type-grid button:hover,.gift-type-grid button.is-active{background:var(--accent-ui);color:var(--action-text);border-color:var(--accent-ui)}
.gift-results-section .product-grid:empty::after{content:'Chọn một dịp hoặc loại ở phía trên để xem những lựa chọn phù hợp.';display:block;grid-column:1/-1;padding:42px 18px;text-align:center;border:1px dashed var(--line);border-radius:20px;color:var(--muted);font-size:13px}

.catering-v10-hero .prose-shell{max-width:900px}
.catering-v10-hero .catering-hero-lead{margin-top:22px;color:var(--text);font-size:18px;line-height:1.5}
.catering-v10-hero .catering-hero-lead strong{font-weight:650}
.service-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-format-grid article,.catering-capabilities article{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--card)}
.service-format-grid span,.catering-capabilities span{display:block;color:var(--accent-ui);font-size:10px;font-weight:700;letter-spacing:.12em}
.service-format-grid h3,.catering-capabilities h3{font:500 26px/1.08 var(--serif);margin:12px 0 9px}
.service-format-grid strong{display:block;margin-bottom:9px;font-size:13px;line-height:1.45;color:var(--text)}
.service-format-grid p,.catering-capabilities p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.catering-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catering-capabilities article{min-height:300px;display:flex;flex-direction:column}
.catering-capabilities p{margin-top:auto;padding-top:18px}
.catering-team-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:stretch}
.team-founder{position:relative;overflow:hidden;border-radius:26px;min-height:560px;background:#2f0c0a;color:#fff8ed}
.team-founder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.team-founder::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(47,12,10,.92) 3%,rgba(47,12,10,.25) 66%,rgba(47,12,10,.05))}
.team-founder>div{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.team-founder small,.team-service-pair small{font-size:9px;letter-spacing:.12em;color:var(--gold2);font-weight:700}
.team-founder h3{font:500 34px/1 var(--serif);margin:10px 0 14px}.team-founder h3 em{color:var(--gold2);font-weight:500}
.team-founder p{font-size:12.5px;line-height:1.62;color:rgba(255,248,237,.77);max-width:620px}
.team-service-pair{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.team-service-pair article{display:grid;grid-template-columns:56px 1fr;align-content:center;column-gap:15px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--card)}
.team-initial{grid-row:1 / span 4;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font:500 18px var(--serif);color:var(--accent-ui)}
.team-service-pair small,.team-service-pair h3,.team-service-pair strong,.team-service-pair p{grid-column:2}
.team-service-pair h3{font:500 25px/1.05 var(--serif);margin:7px 0 6px}.team-service-pair strong{font-size:13px;color:var(--accent-ui)}.team-service-pair p{margin:8px 0 0;font-size:11.5px;line-height:1.55;color:var(--muted)}
.partner-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.partner-wall span{min-height:86px;display:grid;place-items:center;text-align:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);font-weight:650;font-size:13px;line-height:1.35}
.catering-process{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center}
.catering-process article{min-height:260px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--card)}
.catering-process>i{font-style:normal;color:var(--accent-ui);font-size:22px}
.catering-process span{font:500 30px var(--serif);color:var(--accent-ui)}.catering-process small{display:block;margin:11px 0 8px;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.catering-process h3{font:500 21px/1.08 var(--serif);margin:0 0 10px}.catering-process p{font-size:11.5px;line-height:1.55;color:var(--muted);margin:0}
.catering-proof-strip{padding:18px 0;background:linear-gradient(110deg,#2f0c0a,#832719);color:#fff8ed}
.catering-proof-strip .content-shell{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.catering-proof-strip .content-shell>div{padding:13px 18px;border-right:1px solid rgba(232,207,134,.24)}.catering-proof-strip .content-shell>div:last-child{border-right:0}
.catering-proof-strip b{display:block;font:500 25px var(--serif);color:var(--gold2)}.catering-proof-strip span{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:rgba(255,248,237,.73)}
.catering-final-cta{text-align:center}.catering-final-cta .content-shell{max-width:840px}.catering-final-cta h2{font:500 clamp(38px,4vw,56px)/1 var(--serif);margin:12px 0 20px}.catering-final-cta h2 em{color:var(--accent-display);font-weight:500}.catering-final-cta p{max-width:730px;margin:0 auto 10px;color:var(--muted);line-height:1.65}.catering-final-cta .cta-lead{color:var(--text);font-weight:650}.catering-final-cta .button{margin-top:18px}

.contact-info-panel h1 em{color:var(--accent-display);font-weight:500}.contact-intro span{font-weight:400}

/* cart cross-sell for non-food additions */
.cart-accessory-crosssell{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.cart-accessory-crosssell>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}.cart-accessory-crosssell h3{margin:0;font:500 20px var(--serif)}.cart-accessory-crosssell small{color:var(--muted);font-size:9px}
.cart-accessory-list{display:grid;gap:8px}.cart-accessory-item{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.cart-accessory-item button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:7px 11px;font:700 10px var(--sans);cursor:pointer}

@media(max-width:1050px){
  .category-tile-grid,.occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catering-capabilities{grid-template-columns:1fr}
  .catering-capabilities article{min-height:0}
  .catering-process{grid-template-columns:1fr 1fr;gap:12px}.catering-process>i{display:none}
  .catering-proof-strip .content-shell{grid-template-columns:repeat(3,minmax(0,1fr))}.catering-proof-strip .content-shell>div:nth-child(3){border-right:0}
}
@media(max-width:820px){
  .category-tile-grid,.occasion-tile-grid,.gift-type-grid,.service-format-grid,.accessory-grid{grid-template-columns:1fr}
  .category-tile{min-height:100px}.category-tile span{margin-bottom:10px}
  .menu-filter-grid{grid-template-columns:1fr}
  .menu-sort{width:100%;min-width:0}
  .catering-team-layout{grid-template-columns:1fr}.team-founder{min-height:500px}.team-service-pair{grid-template-rows:auto}
  .partner-wall{grid-template-columns:1fr 1fr}
  .catering-proof-strip .content-shell{grid-template-columns:1fr 1fr}.catering-proof-strip .content-shell>div{border-right:0;border-bottom:1px solid rgba(232,207,134,.18)}
}
@media(max-width:620px){
  .catering-process{grid-template-columns:1fr}.catering-process article{min-height:0}
  .partner-wall{grid-template-columns:1fr}
  .team-founder{min-height:470px}.team-founder>div{left:20px;right:20px;bottom:20px}.team-founder h3{font-size:29px}
  .team-service-pair article{grid-template-columns:44px 1fr;padding:17px}.team-initial{width:42px;height:42px;font-size:15px}
  .catering-proof-strip .content-shell{grid-template-columns:1fr}
}
.contact-intro-secondary{margin-top:-6px}

/* =========================================================
   v10.1 — browse density / filters / catering refinements
   ========================================================= */
/* Search aligns with the same content-shell measure and is slightly slimmer. */
.menu-search-band .content-shell{display:block}
.menu-search-large{max-width:none;margin:0}
.menu-search-large>span{font-size:11px;margin-bottom:8px}
.menu-search-large input{min-height:50px;padding:0 18px;border-radius:15px;font-size:15px;box-shadow:0 12px 30px rgba(34,6,4,.07)}

/* Category / occasion tiles: compact by default, clear color state on hover. */
.category-tile{min-height:106px;padding:16px 18px;border-radius:18px}
.category-tile span{font-size:19px;margin-bottom:12px}
.category-tile b{font-size:12px;line-height:1.35}
.category-tile:hover,.category-tile:focus-visible{
  background:linear-gradient(135deg,#2f0c0a 0%,#832719 72%,#9d392b 100%);
  color:#fff8ed;border-color:rgba(232,207,134,.62);box-shadow:0 18px 38px rgba(34,6,4,.22)
}
.category-tile:hover span,.category-tile:focus-visible span{color:var(--gold2)}
html[data-theme='light'] .category-tile:hover,html[data-theme='light'] .category-tile:focus-visible{color:#fff8ed}

.occasion-tile{min-height:86px;padding:15px 18px;border-radius:18px;position:relative;overflow:hidden}
.occasion-tile::after{content:'';position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.03) 62%,transparent 75%);transition:transform .7s ease}
.occasion-tile:hover,.occasion-tile:focus-visible,.occasion-tile.is-active{background:linear-gradient(135deg,#2f0c0a 0%,#832719 74%,#9d392b 100%);color:#fff8ed;border-color:rgba(232,207,134,.62);box-shadow:0 16px 34px rgba(34,6,4,.20);outline:none}
.occasion-tile:hover::after,.occasion-tile:focus-visible::after{transform:translateX(130%)}
.occasion-tile b{font-size:12px;position:relative;z-index:1}

/* Full menu/filter: larger type, and the custom-select menu must be allowed to escape the panel. */
.menu-sort span{font-size:11px}
.menu-sort select,.menu-filter-grid select{min-height:48px;font-size:13px}
.menu-filter-panel{overflow:visible}
.menu-filter-panel summary{font-size:13px;padding:16px 18px}
.menu-filter-grid{gap:14px;padding:2px 18px 18px}
.menu-filter-grid label{gap:8px;font-size:11px;line-height:1.35}
.menu-filter-grid .custom-select{z-index:4}
.menu-filter-grid .custom-select.is-open{z-index:140}
.menu-filter-grid .custom-select-trigger{min-height:48px;font-size:13px;padding:0 14px;background:var(--card)}
.menu-filter-grid .custom-select-option{font-size:13px;min-height:44px}
.menu-filter-grid .custom-select-menu{z-index:150;max-height:300px}
.menu-all-entry{padding-top:28px!important;padding-bottom:54px!important}

/* Catering visual hierarchy */
.catering-v10-hero h1 span,.catering-v10-hero h1 em{display:block}
.catering-v10-hero h1 em{color:var(--accent-display);font-style:italic;font-weight:500}
.catering-formats-section .section-head>p,.catering-team-section .section-head>p,.catering-partner-section .section-head>p{font-size:12.5px;line-height:1.58}
.catering-team-section .section-head h2{margin-top:12px;line-height:1.08}
.catering-team-section .section-head{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
.catering-partner-section .section-head>p{align-self:start;margin-top:42px}

.partner-wall{gap:9px}
.partner-wall .partner-logo{position:relative;min-height:70px;border-radius:16px;overflow:hidden;transition:transform .24s,border-color .24s,box-shadow .24s,background .24s;letter-spacing:.01em}
.partner-wall .partner-logo::after{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.05) 39%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.04) 62%,transparent 76%);transition:transform .65s ease}
.partner-wall .partner-logo:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent-ui) 46%,var(--line));box-shadow:0 15px 32px rgba(34,6,4,.14);background:color-mix(in srgb,var(--card) 83%,var(--accent-ui) 17%)}
.partner-wall .partner-logo:hover::after{transform:translateX(135%)}
.partner-vietjet{font:700 23px/1 var(--sans);font-style:italic}.partner-vietjet span{font-size:.7em;margin-left:3px;color:var(--accent-ui)}
.partner-bidv{font:700 24px/1 var(--sans);letter-spacing:.06em!important}.partner-vcb{font:700 16px/1 var(--sans)}
.partner-vingroup{font:700 17px/1 var(--serif);letter-spacing:.08em!important}.partner-fpt{font:800 25px/1 var(--sans);letter-spacing:.08em!important}
.partner-hmu,.partner-buddhist,.partner-neutral{font-size:11px!important;letter-spacing:.055em!important}

/* Calendar popover should visually belong to the field that opened it. */
.field-row label{min-width:0}
.field-row label>.date-popover{width:100%;max-width:100%;min-width:0;box-sizing:border-box}

@media(max-width:820px){
  .category-tile,.occasion-tile{min-height:82px}
  .menu-filter-grid .custom-select-menu{position:relative;top:6px;margin-bottom:6px}
  .catering-team-section .section-head{grid-template-columns:1fr}
  .catering-partner-section .section-head>p{margin-top:16px}
}
.field-row>label{position:relative}
.catering-team-section .section-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}
.catering-team-section .section-head>p{margin-top:44px}

/* =========================================================
   v10.2 — browse density, stable dropdown flow, Catering polish
   ========================================================= */
/* Món cho bữa nhà: compact 5-up taxonomy. */
.category-tile-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.category-tile{min-height:72px;padding:11px 13px;border-radius:15px}
.category-tile span{font-size:15px;margin-bottom:6px;color:var(--accent-ui)}
.category-tile b{font-size:10.5px;line-height:1.25;letter-spacing:.025em}
.category-tile:hover,.category-tile:focus-visible{
  background:linear-gradient(115deg,var(--gold2) 0%,var(--gold) 62%,#e5c468 100%);
  color:#4b100d;border-color:transparent;box-shadow:0 14px 32px rgba(34,6,4,.18)
}
.category-tile:hover span,.category-tile:focus-visible span{color:#6b211a}
html[data-theme='light'] .category-tile:hover,html[data-theme='light'] .category-tile:focus-visible{color:#4b100d}

/* Tighten the transition from taxonomy -> full listing. */
.menu-discovery{padding-bottom:20px!important}
.menu-all-entry{padding-top:0!important;padding-bottom:18px!important}
.full-menu-section{padding-top:34px!important}

/* Sort: plain-case, intentionally smaller than filter controls. */
.menu-sort{min-width:235px}
.menu-sort span{font-size:10px}
.menu-sort .custom-select-trigger{min-height:40px;font-size:11px!important;font-weight:500;padding:0 12px}
.menu-sort .custom-select-option{font-size:11px!important;font-weight:400;min-height:34px;padding:7px 9px}

/* Dropdowns must participate in document flow. This prevents them from
   covering the filter copy or footer when opened near the bottom of a page. */
.menu-sort .custom-select-menu,
.menu-filter-grid .custom-select-menu{
  position:relative!important;left:auto!important;right:auto!important;top:5px!important;
  max-height:240px;margin-bottom:6px;box-shadow:0 12px 28px rgba(30,5,3,.16)
}
.menu-filter-panel[open]{padding-bottom:2px}
.menu-filter-grid{align-items:start}
.menu-filter-grid .custom-select.is-open{z-index:auto}

/* Mâm lễ: six compact occasion entries on desktop; gold selected/hover state. */
.occasion-tile-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.occasion-tile{min-height:68px;padding:10px 12px;border-radius:15px}
.occasion-tile b{font-size:10.5px;line-height:1.25;letter-spacing:.02em}
.occasion-tile:hover,.occasion-tile:focus-visible,.occasion-tile.is-active{
  background:linear-gradient(115deg,var(--gold2) 0%,var(--gold) 62%,#e5c468 100%);
  color:#4b100d;border-color:transparent;box-shadow:0 14px 30px rgba(34,6,4,.16)
}
html[data-theme='light'] .occasion-tile:hover,html[data-theme='light'] .occasion-tile:focus-visible,html[data-theme='light'] .occasion-tile.is-active{color:#4b100d}

/* Catering: body copy should remain readable, not footnote-sized. */
.catering-formats-section .section-head>p,
.catering-team-section .section-head>p,
.catering-partner-section .section-head>p{font-size:14px;line-height:1.65}
.service-format-grid article p{font-size:13.5px;line-height:1.6}
.team-founder p,.team-service-pair article p{font-size:13.5px!important;line-height:1.62!important}
.catering-process p{font-size:13px;line-height:1.58}

/* Partner wall: more logos per row, compact cards, real marks where an
   identifiable organisation exists. Generic partner categories remain neutral. */
.partner-wall{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.partner-wall .partner-logo{min-height:74px;padding:11px 13px;border-radius:15px;display:flex;align-items:center;justify-content:center}
.partner-wall .partner-logo img{display:block;max-width:88%;max-height:46px;width:auto;height:auto;object-fit:contain;filter:saturate(.92);position:relative;z-index:1}
.partner-wall .partner-logo:hover img{transform:scale(1.035);filter:saturate(1.05)}
.partner-wall .partner-logo img{transition:transform .24s,filter .24s}
.partner-wall .partner-neutral{flex-direction:column;gap:5px;font-size:10px!important;line-height:1.25;text-transform:uppercase;letter-spacing:.045em!important}
.partner-symbol{font:500 19px/1 var(--serif);color:var(--accent-ui);position:relative;z-index:1}
.partner-wall .partner-neutral b{font-size:9.5px;line-height:1.25;position:relative;z-index:1}

/* CTA: deliberate line break + shine on hover. */
.catering-final-cta h2 span,.catering-final-cta h2 em{display:block}
.catering-final-cta p{font-size:14px;line-height:1.65}
.catering-final-cta .button-gold{position:relative;overflow:hidden;transition:transform .24s,box-shadow .24s,filter .24s}
.catering-final-cta .button-gold::before{content:'';position:absolute;inset:0;transform:translateX(-140%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.48) 50%,rgba(255,255,255,.04) 62%,transparent 76%);transition:transform .68s ease}
.catering-final-cta .button-gold:hover,.catering-final-cta .button-gold:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(55,9,6,.22);filter:brightness(1.04);outline:none}
.catering-final-cta .button-gold:hover::before,.catering-final-cta .button-gold:focus-visible::before{transform:translateX(140%)}

@media(max-width:1180px){
  .category-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .partner-wall{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
  .category-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-tile,.occasion-tile{min-height:66px}
}

/* =========================================================
   v10.3 — compact browse labels / true overlay dropdowns / partner labels
   ========================================================= */
/* Category heading treatment requested: keep structure, accent only “bắt đầu”. */
.menu-discovery .menu-section-head h2 em{color:var(--accent-display);font-style:italic;font-weight:500}
.category-tile b{font-size:11.5px;line-height:1.28}
.occasion-tile b{font-size:11.5px;line-height:1.28}

/* Filter menus should overlay, not increase panel height. The important part is
   stacking the entire results content above footer/content below, and using a
   fully opaque menu surface so no footer copy can show through. */
.full-menu-section>.content-shell,
.gift-results-section>.content-shell{z-index:90}
.menu-filter-panel{position:relative;overflow:visible!important}
.menu-sort .custom-select,
.menu-filter-grid .custom-select{position:relative;z-index:5}
.menu-sort .custom-select.is-open,
.menu-filter-grid .custom-select.is-open{z-index:500!important}
.menu-sort .custom-select-menu,
.menu-filter-grid .custom-select-menu{
  position:absolute!important;
  left:0!important;right:0!important;top:calc(100% + 7px)!important;
  margin:0!important;
  z-index:520!important;
  max-height:260px;
  overflow:auto;
  background:#6b211a!important;
  box-shadow:0 22px 44px rgba(30,5,3,.34)!important;
}
html[data-theme='light'] .menu-sort .custom-select-menu,
html[data-theme='light'] .menu-filter-grid .custom-select-menu{
  background:#fffaf1!important;
  box-shadow:0 22px 44px rgba(75,16,13,.20)!important;
}

/* Catering intro/partner copy: one more readable step. */
.catering-formats-section .section-head>p,
.catering-partner-section .section-head>p{font-size:15px;line-height:1.66}

/* Logos retain compact wall but now every actual logo gets a readable name below. */
.partner-wall .partner-logo{
  flex-direction:column;
  gap:7px;
  min-height:94px;
  text-align:center;
}
.partner-wall .partner-logo img{max-height:42px;max-width:86%}
.partner-wall .partner-logo>b{
  position:relative;z-index:1;
  display:block;
  font-size:10px;
  line-height:1.2;
  font-weight:600;
  color:var(--muted);
}
.partner-wall .partner-neutral{
  justify-content:center;
  padding-inline:18px;
}
.partner-wall .partner-neutral b{
  width:100%;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:.015em!important;
  text-transform:none;
  color:var(--text);
}

@media(max-width:650px){
  .menu-sort .custom-select-menu,
  .menu-filter-grid .custom-select-menu{position:absolute!important;top:calc(100% + 6px)!important}
  .category-tile b,.occasion-tile b{font-size:11px}
}

/* ===== v10.4 refinements ===== */
/* Keep the all-menu CTA visually attached to category discovery. */
.menu-discovery{padding-bottom:10px!important}
.menu-all-entry{padding-top:0!important;padding-bottom:12px!important}
.menu-results-actions{gap:10px;flex-wrap:wrap}
.back-to-categories{min-width:170px}

/* Sorting: all three values use one neutral text scale/case. */
.menu-sort .custom-select-trigger,
.menu-sort .custom-select-option{
  font-size:10px!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:0!important;
  line-height:1.35!important;
}
.menu-sort .custom-select-trigger{min-height:39px}
.menu-sort .custom-select-option{min-height:32px;padding:7px 10px}

/* Gift filter simplified: remaining four filters share the row evenly. */
.gift-results-section .menu-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Partner logos: the two tall/circular marks need more visual scale than wide wordmarks. */
.partner-wall .partner-logo img[alt="Đại học Y Hà Nội"],
.partner-wall .partner-logo img[alt="Giáo hội Phật giáo Việt Nam"]{
  max-height:58px;
  max-width:74%;
}
.partner-wall .partner-logo:has(img[alt="Đại học Y Hà Nội"]),
.partner-wall .partner-logo:has(img[alt="Giáo hội Phật giáo Việt Nam"]){min-height:108px}

@media(max-width:820px){
  .gift-results-section .menu-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .gift-results-section .menu-filter-grid{grid-template-columns:1fr}
}

/* ===== v10.5 refinements ===== */
/* Compact catalogue navigation controls: present but deliberately secondary. */
.menu-utility-action{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:58px;
  margin:12px 0 18px;
}
.menu-utility-pill{
  position:relative;
  overflow:hidden;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--accent-ui) 28%,var(--line));
  background:color-mix(in srgb,var(--card) 94%,transparent);
  color:var(--text);
  font:600 10px/1 var(--sans);
  letter-spacing:.015em;
  cursor:pointer;
  transition:transform .22s,border-color .22s,box-shadow .22s,color .22s,background .22s;
}
.menu-utility-pill::before{
  content:'';position:absolute;inset:0;transform:translateX(-135%);
  background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.04) 62%,transparent 76%);
  transition:transform .65s ease;
}
.menu-utility-pill:hover,.menu-utility-pill:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(232,207,134,.72);
  background:linear-gradient(115deg,var(--gold2),var(--gold));
  color:var(--red-deep);
  box-shadow:0 10px 22px rgba(34,6,4,.15);
  outline:none;
}
.menu-utility-pill:hover::before,.menu-utility-pill:focus-visible::before{transform:translateX(135%)}
.menu-results-actions{justify-content:flex-end;margin-top:24px;margin-bottom:38px}
.menu-results-actions .button{min-height:36px;padding-inline:14px;font-size:10px}
.menu-results-actions .back-to-categories,.gift-back-action .menu-utility-pill{margin-left:auto}
.gift-back-action{display:flex;justify-content:flex-end;margin-top:24px;margin-bottom:36px}
.menu-all-entry{padding-bottom:32px!important}
.gift-results-section{padding-bottom:70px!important}

/* Partner wall: one fixed logo zone + one fixed label zone gives a clean common baseline. */
.partner-wall .partner-logo{
  min-height:112px;
  display:grid!important;
  grid-template-rows:64px 30px;
  align-items:center;
  justify-items:center;
  gap:6px;
  padding:10px 12px 8px;
}
.partner-wall .partner-logo img{
  align-self:center;
  justify-self:center;
  max-height:52px;
  max-width:88%;
}
.partner-wall .partner-logo>b{
  align-self:start;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  min-height:28px;
  margin:0;
  text-align:center;
  font-size:10px;
  line-height:1.25;
}
.partner-wall .partner-logo img[alt="FPT"]{max-height:62px;max-width:96%}
.partner-wall .partner-logo img[alt="Đại học Y Hà Nội"],
.partner-wall .partner-logo img[alt="Giáo hội Phật giáo Việt Nam"]{
  max-height:62px;
  max-width:78%;
  background:transparent!important;
}
.partner-wall .partner-logo:has(img[alt="Đại học Y Hà Nội"]),
.partner-wall .partner-logo:has(img[alt="Giáo hội Phật giáo Việt Nam"]){min-height:112px}
.partner-wall .partner-neutral{
  grid-template-rows:1fr;
  min-height:112px;
  padding:14px 20px;
}
.partner-wall .partner-neutral b{
  align-self:center;
  min-height:0;
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--text);
  text-wrap:balance;
}

/* Closing catering copy should read as two broad lines, not a narrow paragraph. */
.catering-final-cta .content-shell{max-width:1120px}
.catering-final-cta p{max-width:1040px;font-size:14px;line-height:1.62;text-wrap:balance}

@media(max-width:820px){
  .menu-utility-action{min-height:50px;margin:8px 0 14px}
  .partner-wall .partner-logo{min-height:106px;grid-template-rows:58px 30px}
  .catering-final-cta p{max-width:680px}
}


/* =========================================================
   v10.6 — compact catalogue utility labels / v9.6 hero depth /
   translucent partner wall
   ========================================================= */
/* Catalogue secondary controls: same typographic scale as XEM THÊM MÓN. */
.menu-utility-pill{
  font-family:var(--sans);
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}

/* Restore the deeper v9.6 red ONLY on the Home hero. Do not propagate to sections below. */
html:not([data-theme='light']) .hero{
  background-color:#682119!important;
  background-image:linear-gradient(180deg,#682119 0%,#70251c 62%,#6e251c 100%)!important;
}
html:not([data-theme='light']) .hero-video{opacity:.38}
html:not([data-theme='light']) .hero-wash{
  background:radial-gradient(circle at 58% 43%,rgba(232,207,134,.18),transparent 34%),linear-gradient(90deg,rgba(41,8,7,.72) 0%,rgba(71,18,14,.50) 31%,rgba(91,29,22,.12) 62%,rgba(40,8,7,.50) 100%)!important;
}

/* Partner wall: translucent white cards in BOTH themes to separate logos from the page surface. */
.partner-wall .partner-logo{
  background:rgba(255,255,255,.52)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:0 12px 30px rgba(35,7,5,.10);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.partner-wall .partner-logo>b,
.partner-wall .partner-neutral b{color:#3c2822!important}
.partner-wall .partner-logo:hover,
.partner-wall .partner-logo:focus-within{
  background:rgba(255,255,255,.72)!important;
  border-color:rgba(232,207,134,.78)!important;
  box-shadow:0 16px 36px rgba(35,7,5,.16);
}

/* =========================================================
   v10.7 — Deep Hanoi red system in red mode
   #832719 remains the Madame Red brand anchor; darker tones
   provide depth rather than replacing the brand colour.
   ========================================================= */
html:not([data-theme='light']){
  --page:#682119;
  --surface:#70251c;
  --surface-alt:#6e251c;
  --surface-soft:#5d1914;
  --surface-strong:#3d0e0b;
  --panel:#571712;
  --red-dark:#4a100d;
  --red-deep:#2f0c0a;
  --header-bg:#682119;
}
html:not([data-theme='light']) body{
  background-color:#682119!important;
  background-image:linear-gradient(180deg,#682119 0%,#70251c 22%,#6e251c 44%,#832719 68%,#5a1712 100%)!important;
}
html:not([data-theme='light']) .page-layer{background:transparent!important}
html:not([data-theme='light']) .site-header.is-scrolled,
html:not([data-theme='light']) .site-header.is-internal{
  background:linear-gradient(180deg,#682119 0%,#50130f 100%)!important;
  border-color:rgba(232,207,134,.30)!important;
}
/* Home keeps its section-to-section gradient rhythm, now using the deeper family. */
html:not([data-theme='light']) .business-lines{background:linear-gradient(180deg,#682119 0%,#832719 58%,#42100c 100%)!important}
html:not([data-theme='light']) .curated{background:linear-gradient(180deg,#42100c 0%,#682119 44%,#832719 100%)!important}
html:not([data-theme='light']) .ritual{background:linear-gradient(180deg,#832719 0%,#682119 50%,#42100c 100%)!important}
html:not([data-theme='light']) .about-teaser{background:linear-gradient(180deg,#42100c 0%,#682119 45%,#832719 100%)!important}
html:not([data-theme='light']) .finale{background:linear-gradient(180deg,#832719 0%,#682119 55%,#42100c 100%)!important}
/* Internal pages inherit the deep red field without introducing pale red blocks. */
html:not([data-theme='light']) .internal-main,
html:not([data-theme='light']) .internal-hero,
html:not([data-theme='light']) .internal-section,
html:not([data-theme='light']) .surface-soft,
html:not([data-theme='light']) .surface-strong-section,
html:not([data-theme='light']) .contact-main-only{background:transparent!important}
html:not([data-theme='light']) .site-footer{background:#3d0e0b!important}

/* XEM THÊM MÓN: gold-forward secondary action with the same light sweep language as Home CTA. */
[data-home-load-more]{
  position:relative;
  overflow:hidden;
  border-color:rgba(232,207,134,.70)!important;
  color:var(--gold2)!important;
  background:rgba(232,207,134,.055)!important;
  transition:transform .24s,box-shadow .24s,filter .24s,background .24s,color .24s,border-color .24s;
}
[data-home-load-more]::before{
  content:'';position:absolute;inset:0;transform:translateX(-135%);
  background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.05) 38%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.05) 62%,transparent 76%);
  transition:transform .68s ease;
}
[data-home-load-more]:hover,[data-home-load-more]:focus-visible{
  background:linear-gradient(115deg,var(--gold2),var(--gold))!important;
  color:var(--red-deep)!important;
  border-color:transparent!important;
  transform:translateY(-2px);
  box-shadow:0 13px 30px rgba(31,5,3,.22),0 0 0 1px rgba(232,207,134,.18);
  outline:none;
}
[data-home-load-more]:hover::before,[data-home-load-more]:focus-visible::before{transform:translateX(135%)}
html[data-theme='light'] [data-home-load-more]{color:#832719!important;border-color:rgba(131,39,25,.38)!important;background:rgba(131,39,25,.025)!important}
html[data-theme='light'] [data-home-load-more]:hover,html[data-theme='light'] [data-home-load-more]:focus-visible{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:transparent!important}

/* Partner captions are organisation labels: keep the whole wall visually consistent. */
.partner-wall .partner-logo>b,
.partner-wall .partner-neutral b{text-transform:uppercase!important}

/* =========================================================
   v10.8 — RESPONSIVE / MOBILE-WEB-APP HARDENING
   Mobile-first QA layer. Keeps approved visual language, fixes
   safe areas, touch targets, iOS form zoom, modal/dropdown fit,
   tablet density and long-page navigation.
   ========================================================= */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:96px;
}
body{min-height:100dvh;overscroll-behavior-x:none}
button,a,input,select,textarea,.custom-select-trigger,.custom-select-option{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
img{height:auto}
.menu-discovery,.full-menu-section,.gift-results-section,.catering-team-section,.catering-partner-section{scroll-margin-top:96px}

/* Dropdowns remain overlays, but flip above the trigger if the viewport has
   insufficient space below. */
.custom-select.open-up .custom-select-menu{
  top:auto!important;
  bottom:calc(100% + 7px)!important;
}
.date-popover.open-up{
  top:auto!important;
  bottom:calc(100% + 8px)!important;
}
.custom-select-menu,.date-popover{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Installed/PWA mode: protect content from iPhone/iPad safe areas. */
@supports (padding: max(0px)){
  .site-footer{padding-bottom:max(30px,calc(22px + env(safe-area-inset-bottom)))}
  .feedback-modal{padding-top:max(16px,env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}
  .mobile-checkout{
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
  }
}

/* Tablet portrait/compact landscape: avoid oversized discovery cards. */
@media (min-width:680px) and (max-width:900px){
  .category-tile-grid,.occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .category-tile,.occasion-tile{min-height:78px!important;padding:14px 16px!important}
  .category-tile span{font-size:18px!important;margin-bottom:8px!important}
  .category-tile b,.occasion-tile b{font-size:11.5px!important}
  .partner-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .service-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:820px){
  html{scroll-padding-top:calc(82px + env(safe-area-inset-top,0px))}
  .menu-discovery,.full-menu-section,.gift-results-section,.catering-team-section,.catering-partner-section{scroll-margin-top:calc(82px + env(safe-area-inset-top,0px))}
  .site-header{
    top:0!important;left:0!important;right:0!important;
    height:calc(68px + env(safe-area-inset-top,0px))!important;
    padding:env(safe-area-inset-top,0px) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))!important;
    border-radius:0!important;
  }
  .main-nav{
    top:calc(68px + env(safe-area-inset-top,0px))!important;
    left:max(10px,env(safe-area-inset-left,0px))!important;
    right:max(10px,env(safe-area-inset-right,0px))!important;
    max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:12px!important;
    border-radius:16px!important;
    background:#55150f!important;
  }
  html[data-theme='light'] .main-nav{background:#fffaf1!important}
  .main-nav a{min-height:48px!important;padding:0 10px;border-radius:10px}
  .main-nav a:active{background:color-mix(in srgb,var(--accent-ui) 12%,transparent)}
  .internal-main{padding-top:calc(68px + env(safe-area-inset-top,0px))!important}
  .contact-main-only{padding-top:calc(96px + env(safe-area-inset-top,0px))!important}
  .hero-layout{padding-top:calc(94px + env(safe-area-inset-top,0px))!important}

  /* Modal/product detail becomes an app-like sheet on small tablets/phones. */
  #productModal{padding:0;align-items:stretch}
  #productModal .modal-panel{width:min(720px,100%)!important;max-height:100dvh!important;border-radius:20px!important}
  #productModal .modal-actions{position:sticky!important;bottom:0!important;z-index:12;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line)}

  /* Checkout fields stack on tablet before they become cramped. */
  .field-row{grid-template-columns:1fr!important}
  .checkout-layout{grid-template-columns:1fr!important}
  .order-summary{position:static!important}
}

@media (max-width:650px){
  :root{--mobile-gutter:16px}
  .content-shell,.prose-shell{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .section{padding:58px 0!important}
  .internal-section{padding:46px 0!important}
  .internal-hero{padding:44px 0 30px!important}
  .eyebrow{font-size:10px!important;letter-spacing:.16em!important}

  /* Header: keep the brand readable and every primary control tappable. */
  .brand-mark{width:38px!important;height:38px!important;font-size:15px!important}
  .brand-type strong{font-size:15px!important;white-space:nowrap}
  .header-actions{gap:7px!important}
  .cart-pill,.menu-toggle{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;display:grid!important;place-items:center!important}
  .cart-pill{position:relative}
  .cart-pill b{position:absolute;right:-4px;top:-5px;width:20px!important;height:20px!important;font-size:9px}
  .cart-icon{width:19px!important;height:19px!important}
  .menu-toggle{display:grid!important}

  /* Home hero: retain cinema, remove needless vertical cost on phone. */
  .hero-layout{width:calc(100% - 32px)!important;padding-bottom:48px!important}
  .hero h1{font-size:clamp(52px,14.2vw,66px)!important;line-height:.88!important;margin:20px 0!important}
  .hero-lead{font-size:15px!important;line-height:1.58!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:22px!important}
  .hero-actions .button{width:100%;min-width:0;min-height:46px;padding-inline:10px;font-size:11px}
  .hero-stage{height:350px!important;min-height:0!important;margin-top:2px!important}
  .hero-photo-core{left:1%!important;top:5%!important;width:98%!important;height:88%!important}
  .promise-rail{margin-top:-18px!important;margin-bottom:-12px!important}
  .business-lines{padding-top:76px!important}

  /* Home content hierarchy. */
  .section-head h2,.menu-section-head h2{font-size:clamp(34px,10vw,43px)!important;line-height:1.02!important}
  .line-card{min-height:250px}
  .line-card h3{font-size:26px!important}
  .line-card p{font-size:12px!important}
  .curated-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .product-card{border-radius:16px!important}
  .product-img{height:132px!important}
  .product-copy{padding:11px!important}
  .product-copy small{font-size:8px!important;line-height:1.25}
  .product-copy h3{font-size:18px!important;min-height:39px!important;margin:6px 0!important}
  .product-foot{padding:0 10px 10px!important;gap:6px!important}
  .product-foot span{font-size:10px!important;line-height:1.25}
  .add-link{min-height:40px!important;padding:0 10px!important;font-size:10px!important;white-space:nowrap}

  /* Menu discovery/filter: readable but compact, no iOS zoom. */
  .menu-search-band{padding-top:20px!important;padding-bottom:22px!important}
  .menu-search-large>span{font-size:10px!important}
  .menu-search-large input{min-height:48px!important;font-size:16px!important;border-radius:14px!important}
  .menu-section-head{margin-bottom:20px!important}
  .category-tile-grid,.occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .category-tile,.occasion-tile{min-height:72px!important;padding:12px 13px!important;border-radius:15px!important}
  .category-tile span{font-size:17px!important;margin-bottom:7px!important}
  .category-tile b,.occasion-tile b{font-size:10.5px!important;line-height:1.28!important}
  .menu-all-entry{padding-bottom:18px!important}
  .menu-utility-action{min-height:44px!important;margin:5px 0 12px!important}
  .menu-utility-pill{min-height:34px!important;font-size:9px!important;padding-inline:12px!important}
  .menu-toolbar{gap:10px!important;margin-bottom:16px!important}
  .menu-sort{min-width:0!important;width:100%!important}
  .menu-filter-panel{margin-bottom:18px!important;border-radius:15px!important}
  .menu-filter-panel summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 14px!important;font-size:11px!important}
  .menu-filter-panel summary::after{float:none}
  .menu-filter-grid,.gift-results-section .menu-filter-grid{grid-template-columns:1fr!important;padding:0 12px 12px!important;gap:9px!important}
  .menu-filter-grid label{font-size:10px!important;gap:5px!important}
  .custom-select-trigger,.custom-select-option,.field-stack input,.field-stack textarea,.contact-form-panel input,.contact-form-panel textarea,.modal-select,.modal-note{font-size:16px!important}
  .custom-select-trigger{min-height:46px!important}
  .custom-select-option{min-height:44px!important;padding:10px 12px!important}
  .custom-select-menu{max-height:min(44dvh,300px)!important;border-radius:13px!important}
  .result-meta{font-size:12px!important;margin-bottom:14px!important}
  .menu-results-actions,.gift-back-action{margin-top:18px!important;margin-bottom:24px!important}

  /* Catering: scan-friendly vertical content and logo wall. */
  .catering-v10-hero .catering-hero-lead{font-size:16px!important;line-height:1.55!important}
  .service-format-grid{grid-template-columns:1fr!important;gap:10px!important}
  .service-format-grid article{padding:18px!important;border-radius:18px!important}
  .service-format-grid h3{font-size:24px!important}
  .service-format-grid p{font-size:14px!important}
  .catering-team-layout{gap:12px!important}
  .team-founder{min-height:420px!important;border-radius:20px!important}
  .team-founder>div{left:18px!important;right:18px!important;bottom:18px!important}
  .team-founder h3{font-size:28px!important}
  .team-founder p,.team-service-pair article p{font-size:13px!important;line-height:1.55!important}
  .team-service-pair article{padding:16px!important;border-radius:18px!important}
  .partner-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .partner-wall .partner-logo,.partner-wall .partner-neutral{min-height:104px!important}
  .partner-wall .partner-logo{grid-template-rows:55px 31px!important;padding:9px 8px 7px!important}
  .partner-wall .partner-logo>b{font-size:9px!important;line-height:1.2!important}
  .partner-wall .partner-neutral b{font-size:10.5px!important;letter-spacing:.04em!important}
  .catering-process{grid-template-columns:1fr!important;gap:10px!important}
  .catering-process article{min-height:0!important;padding:18px!important}
  .catering-final-cta h2{font-size:clamp(35px,10vw,44px)!important}
  .catering-final-cta p{font-size:14px!important;text-wrap:pretty}

  /* About page: image heights and text blocks suited to a phone viewport. */
  .about-founder-image img{height:min(58dvh,430px)!important;object-position:center 18%}
  .about-story-image img,.about-today-image img{height:310px!important}
  .gallery-grid{gap:8px!important}
  .gallery-grid img{height:165px!important;border-radius:14px!important}
  .about-media-card{padding:17px!important;border-radius:16px!important}
  .about-media-card h3{font-size:20px!important;margin-top:15px!important}
  .about-ending-actions .button{min-height:44px}

  /* Forms/contact/checkout: 16px input text avoids Safari auto-zoom. */
  .contact-layout{gap:22px!important}
  .contact-form-panel,.checkout-card,.order-summary{padding:18px!important;border-radius:17px!important}
  .contact-form-panel label,.field-stack label{font-size:14px!important}
  .field-stack input,.field-stack textarea,.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel .custom-select-trigger{font-size:16px!important}
  .fulfilment{gap:7px!important}
  .fulfilment button{min-height:54px!important;font-size:12px!important;padding:0 8px!important}
  .field-row{gap:12px!important}
  .date-popover{width:100%!important;max-width:100%!important;padding:10px!important;border-radius:14px!important}
  .date-head button{min-width:40px;min-height:40px}
  .date-day{min-height:38px!important}
  .address-manager-head{gap:8px!important}
  .address-add{min-height:40px;padding:5px 0!important}
  .payment-option{min-height:48px}
  .summary-items{padding-inline:10px!important}
  .summary-line{column-gap:8px!important;row-gap:7px!important}
  .summary-copy b{font-size:13px!important}
  .summary-copy small{font-size:11px!important}
  .summary-price{font-size:12px!important}
  .mobile-checkout{z-index:900!important;min-height:58px;padding:7px 8px 7px 13px!important;box-shadow:0 14px 36px rgba(20,3,2,.28);backdrop-filter:blur(12px)}
  .mobile-checkout .button{min-height:44px!important}
  .toast{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;max-width:calc(100% - 32px);white-space:normal;text-align:center}

  /* Product modal: full-screen sheet, square media, sticky purchase action. */
  #productModal .modal-panel{
    width:100%!important;height:100dvh!important;max-height:100dvh!important;
    border-radius:0!important;overflow:auto!important;
    padding-top:env(safe-area-inset-top,0px)!important;
  }
  #productModal .modal-close{position:fixed!important;top:calc(10px + env(safe-area-inset-top,0px))!important;right:max(12px,env(safe-area-inset-right,0px))!important;width:42px!important;height:42px!important;z-index:3010!important}
  #productModal .product-modal-media{padding:0!important}
  #productModal .product-modal-gallery{aspect-ratio:1!important}
  #productModal .product-modal-image{height:auto!important;min-height:0!important;aspect-ratio:1!important}
  #productModal .product-modal-image img{height:100%!important;object-fit:cover}
  #productModal .product-modal-scroll{padding:20px 16px 22px!important}
  #productModal .product-modal-copy h2{font-size:32px!important}
  #productModal .modal-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important;gap:10px!important}
  #productModal .modal-actions .button{min-height:46px!important;font-size:11px!important;padding-inline:13px!important}
  .choice-chip{min-height:42px!important}
  .feedback-card{width:min(430px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;padding:24px 18px!important;border-radius:18px!important}
  .remove-confirm-actions .button{min-height:46px}

  /* Footer and confirmation page. */
  .site-footer{padding-top:42px!important;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .footer-grid p,.footer-grid a{font-size:13px!important}
  .confirm-wrap{padding-left:12px!important;padding-right:12px!important;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}
  .confirm-head{padding:24px 17px 20px!important}
  .confirm-head h1{font-size:36px!important}
  .confirm-card{padding:18px!important}
  .confirm-line,.confirm-meta>div,.confirm-totals>div{gap:10px}
  .confirm-line strong,.confirm-meta b{overflow-wrap:anywhere;text-align:right}
}

@media (max-width:380px){
  .brand-type strong{font-size:14px!important}
  .brand{gap:7px!important}
  .header-actions{gap:5px!important}
  .hero-actions{grid-template-columns:1fr!important}
  .hero-stage{height:320px!important}
  .product-foot{flex-direction:column;align-items:stretch!important}
  .product-foot .add-link{width:100%}
  .partner-wall .partner-logo>b{font-size:8.5px!important}
  .summary-line{grid-template-columns:20px 44px minmax(0,1fr)!important}
}

@media (max-width:340px){
  .brand-type{display:none!important}
  .category-tile-grid,.occasion-tile-grid{grid-template-columns:1fr!important}
  .product-grid,.curated-grid{grid-template-columns:1fr!important}
}

/* Short landscape phones: menu must stay usable and hero should not monopolize height. */
@media (max-height:560px) and (orientation:landscape){
  .main-nav{max-height:calc(100dvh - 68px)!important}
  .hero-layout{min-height:auto!important;padding-top:82px!important;padding-bottom:28px!important;grid-template-columns:1fr 1fr!important;align-items:center!important}
  .hero-copy{grid-column:1!important}.hero-stage{grid-column:2!important;height:280px!important;margin:0!important}
  .hero h1{font-size:50px!important}
  .promise-rail{margin-top:0!important}
}
@media (max-width:650px){
  .theme-toggle{display:grid!important;place-items:center;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border-radius:50%!important}
  .theme-icons,.theme-icons svg{width:18px!important;height:18px!important}
}

/* =========================================================
   v10.9 — Optional customer account layer
   Guest commerce remains the default; account adds convenience.
   ========================================================= */
.account-pill{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:var(--text);background:rgba(255,255,255,.035);font-size:10px;font-weight:700;letter-spacing:.035em;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.account-pill:hover{transform:translateY(-1px);border-color:rgba(232,207,134,.52);background:rgba(232,207,134,.09)}
.account-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(232,207,134,.14);color:var(--gold2);font:600 12px/1 var(--sans)}
.account-avatar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
html[data-theme='light'] .account-pill{background:rgba(255,255,255,.32)}
html[data-theme='light'] .account-avatar{background:rgba(131,39,25,.08);color:var(--red2)}

.product-card{position:relative}
.favorite-toggle{position:absolute;z-index:5;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.34);background:rgba(47,12,10,.58);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;color:#fff8eb;box-shadow:0 6px 20px rgba(22,3,2,.16);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.favorite-toggle svg{width:18px;height:18px;fill:transparent;stroke:currentColor;stroke-width:1.7;transition:fill .2s ease,transform .2s ease}
.favorite-toggle:hover{transform:translateY(-1px) scale(1.04);border-color:rgba(232,207,134,.72);color:var(--gold2)}
.favorite-toggle.is-active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#52150f;border-color:transparent}
.favorite-toggle.is-active svg{fill:currentColor;stroke:currentColor;transform:scale(1.04)}
html[data-theme='light'] .favorite-toggle{background:rgba(255,250,241,.88);color:#832719;border-color:rgba(131,39,25,.16)}
html[data-theme='light'] .favorite-toggle.is-active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#52150f}
.modal-favorite{margin:-2px 0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);min-height:36px;padding:0 12px;font-size:11px;font-weight:600;cursor:pointer;transition:.2s}
.modal-favorite svg{width:16px;height:16px;fill:transparent;stroke:currentColor;stroke-width:1.8}
.modal-favorite:hover,.modal-favorite.is-active{color:var(--gold2);border-color:rgba(232,207,134,.55);background:rgba(232,207,134,.06)}
.modal-favorite.is-active svg{fill:currentColor}
html[data-theme='light'] .modal-favorite:hover,html[data-theme='light'] .modal-favorite.is-active{color:var(--red2);border-color:rgba(131,39,25,.28);background:rgba(131,39,25,.05)}

.account-main{min-height:100vh}
.account-hero .prose-shell{max-width:920px}
.account-hero h1 em{color:var(--accent-display);font-style:italic;font-weight:500}
.account-section{padding-top:44px}
.account-guest-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,.8fr);gap:clamp(36px,6vw,86px);align-items:start;max-width:1120px;margin:0 auto}
.account-benefits h2,.account-auth-card h2,.account-panel-head h2,.account-profile-card h2{font:500 clamp(30px,3vw,44px)/1.04 var(--serif);letter-spacing:-.03em;margin:10px 0 20px}
.account-benefit-list{border-top:1px solid var(--line);margin-top:28px}
.account-benefit-list article{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.account-benefit-list article>b{font:500 24px/1 var(--serif);color:var(--accent-ui)}
.account-benefit-list h3{margin:0 0 5px;font-size:15px}
.account-benefit-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.account-auth-card{border:1px solid rgba(232,207,134,.18);background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-radius:26px;padding:28px;box-shadow:0 22px 60px rgba(26,4,3,.16)}
html[data-theme='light'] .account-auth-card{background:rgba(255,255,255,.54);border-color:rgba(131,39,25,.12)}
.account-auth-card h2{font-size:32px;margin-top:0;margin-bottom:8px}
.account-auth-lead{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 20px}
.social-auth-stack{display:grid;gap:10px}
.social-auth{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);display:flex;align-items:center;justify-content:center;gap:11px;font:600 13px var(--sans);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.social-auth:hover{transform:translateY(-1px);border-color:rgba(232,207,134,.46);background:rgba(255,255,255,.08)}
.social-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#333;font-weight:700}
.social-auth.facebook .social-mark{background:#1877f2;color:#fff;font-size:18px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.auth-divider::before,.auth-divider::after{content:'';height:1px;background:var(--line);flex:1}
.account-local-form{display:grid;gap:13px}
.account-local-form label{display:grid;gap:7px;font-size:11px;font-weight:600;color:var(--muted)}
.account-local-form input{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 14px;font:400 15px var(--sans)}
.account-privacy-note{font-size:10px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.account-guest-link{display:inline-flex;margin-top:18px;font-size:11px;color:var(--accent-ui);font-weight:700}
.account-dashboard{max-width:1180px;margin:0 auto}
.account-profile-card{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 26px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.045)}
html[data-theme='light'] .account-profile-card{background:rgba(255,255,255,.42)}
.account-profile-main{display:flex;align-items:center;gap:18px}
.profile-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#4f140f;font:600 28px/1 var(--serif);flex:none}
.account-profile-card h2{font-size:30px;margin:4px 0 7px}
.profile-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.account-logout{border:0;background:none;color:var(--muted);font:600 11px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.account-tabs{display:flex;gap:8px;overflow:auto;padding:24px 0 12px;scrollbar-width:none}
.account-tabs::-webkit-scrollbar{display:none}
.account-tabs button{flex:none;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 11px var(--sans);cursor:pointer;white-space:nowrap}
.account-tabs button.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold));color:#4e140f;border-color:transparent}
.account-panel{padding:26px 0 50px}
.account-panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.account-panel-head h2{margin:7px 0 0}
.account-order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.account-order{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.035)}
.account-order-head{display:flex;justify-content:space-between;gap:18px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.account-order-head small{color:var(--muted);font-size:10px}.account-order-head h3{font:500 21px/1 var(--serif);margin:4px 0 0}.account-order-head strong{color:var(--accent-ui);font-size:14px}
.account-order-items{display:grid;gap:5px;padding:13px 0;font-size:11px;color:var(--muted)}
.account-order-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}
.account-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.account-empty{border:1px dashed var(--line);border-radius:20px;padding:30px;text-align:center;max-width:650px;margin:20px auto}
.account-empty b{font:500 23px var(--serif)}.account-empty p{color:var(--muted);font-size:12px;line-height:1.6;margin:8px auto 18px;max-width:480px}

@media(max-width:980px){
  .account-label{display:none}.account-pill{width:40px;padding:0;justify-content:center}.account-avatar{width:26px;height:26px}
  .account-guest-grid{grid-template-columns:1fr;max-width:720px}.account-benefits{order:2}.account-auth-card{order:1}
  .account-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .account-section{padding-top:20px}.account-auth-card{padding:20px;border-radius:20px}.account-auth-card h2{font-size:28px}
  .account-profile-card{align-items:flex-start;padding:18px}.profile-avatar{width:52px;height:52px;font-size:23px}.account-profile-card h2{font-size:24px}.account-logout{margin-left:auto}
  .account-order-list{grid-template-columns:1fr}.account-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .favorite-toggle{width:34px;height:34px;top:8px;right:8px}
}
@media(max-width:380px){.account-profile-main{gap:10px}.profile-avatar{width:44px;height:44px}.profile-meta{display:grid;gap:3px}.account-auth-card{padding:17px}.account-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1180px){.account-label{display:none}.account-pill{width:40px;padding:0;justify-content:center}}

/* =========================================================
   v10.10 — customer account polish + responsive audit
   ========================================================= */
/* Desktop header: cart + account labels carry equal visual weight. */
@media(min-width:1181px){
  .header-actions .cart-pill span,.header-actions .account-label{font-size:12px!important;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}
  .header-actions .account-pill{font-size:12px!important}
}
/* Tablet and below: simplify both controls together, never one text + one icon. */
@media(max-width:1180px){
  .header-actions .account-label,.header-actions .cart-pill span{display:none!important}
  .header-actions .account-pill,.header-actions .cart-pill{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;display:grid!important;place-items:center!important}
  .header-actions .cart-pill{position:relative}
}

.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:18px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.035)}
.auth-mode-tabs button{height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:700 13px var(--sans);cursor:pointer;transition:.2s ease}
.auth-mode-tabs button.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold));color:#4e140f;box-shadow:0 8px 20px rgba(28,4,2,.12)}
html[data-theme='light'] .auth-mode-tabs{background:rgba(131,39,25,.035)}
.account-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-switch-link{display:block;margin:14px auto 0;padding:3px 0;border:0;background:none;color:var(--accent-ui);font:600 11px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.social-register-note{margin:12px 0 2px;padding:10px 12px;border-radius:12px;background:rgba(232,207,134,.08);border:1px solid rgba(232,207,134,.18);color:var(--muted);font-size:11px;line-height:1.55}
html[data-theme='light'] .social-register-note{background:rgba(131,39,25,.045);border-color:rgba(131,39,25,.12)}
.account-register-form{margin-top:2px}
.account-order-list>.account-empty{grid-column:1/-1;width:min(100%,650px);justify-self:center}

/* Tablet account UI: one clear auth column, touch-friendly fields. */
@media(max-width:980px){
  .account-guest-grid{grid-template-columns:1fr;max-width:740px}
  .account-auth-card{width:100%}
  .account-tabs{padding-top:20px}
  .account-tabs button{min-height:44px;padding-inline:17px;font-size:12px}
  .account-empty{width:min(100%,650px)}
}
@media(max-width:720px){
  .account-hero .prose-shell{max-width:none}
  .account-auth-card{padding:20px}
  .auth-mode-tabs button{height:44px;font-size:13px}
  .account-local-form input{height:50px;font-size:16px}
  .account-local-form label{font-size:12px}
  .social-auth{height:50px;font-size:13px}
  .account-form-row{grid-template-columns:1fr;gap:13px}
  .account-profile-card{flex-wrap:wrap;gap:14px}
  .account-profile-main{min-width:0;flex:1 1 100%}
  .account-logout{margin-left:70px}
  .profile-meta{font-size:11px;overflow-wrap:anywhere}
  .account-panel{padding-top:18px}
  .account-panel-head h2{font-size:30px}
  .account-empty{margin:12px auto;padding:24px 18px}
}
@media(max-width:480px){
  .account-section .content-shell{width:min(100% - 24px,var(--content))}
  .account-auth-card{padding:17px;border-radius:18px}
  .account-benefit-list article{grid-template-columns:36px 1fr;gap:10px}
  .account-benefit-list article>b{font-size:21px}
  .account-benefit-list h3{font-size:14px}
  .account-benefit-list p{font-size:12px}
  .account-profile-card{padding:16px;border-radius:19px}
  .account-profile-main{gap:11px}
  .profile-avatar{width:46px;height:46px;font-size:20px}
  .account-profile-card h2{font-size:22px;overflow-wrap:anywhere}
  .account-logout{margin-left:57px}
  .account-tabs{margin-inline:-2px;gap:6px}
  .account-tabs button{font-size:11px;padding-inline:13px}
  .account-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-empty b{font-size:21px}
}
@media(max-width:340px){
  .account-auth-card{padding:14px}
  .auth-mode-tabs{padding:4px;gap:4px}
  .auth-mode-tabs button{font-size:12px}
  .social-auth{font-size:12px;gap:8px}
  .account-product-grid{grid-template-columns:1fr}
  .account-tabs button{font-size:10px;padding-inline:11px}
}

/* =========================================================
   v10.11 — account authentication/profile/address + diet label
   ========================================================= */
.diet-choice .diet-chip{pointer-events:none;cursor:default;min-width:74px;justify-content:center;display:inline-flex;align-items:center}

.account-profile-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.account-edit-profile{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);min-height:38px;padding:0 13px;border-radius:999px;font:600 11px var(--sans);cursor:pointer;transition:.22s}
.account-edit-profile:hover{border-color:var(--gold2);color:var(--gold2);background:rgba(232,207,134,.08)}
html[data-theme='light'] .account-edit-profile{background:rgba(255,255,255,.42)}
.account-settings-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:18px;align-items:start}
.account-profile-form,.account-address-panel{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);padding:22px}
html[data-theme='light'] .account-profile-form,html[data-theme='light'] .account-address-panel{background:rgba(255,255,255,.42)}
.account-profile-form{display:grid;gap:14px}
.account-profile-form h3,.account-address-panel h3{font:500 24px/1.1 var(--serif);margin:0}
.account-profile-form label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--muted)}
.account-profile-form input{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 14px;font:400 15px var(--sans)}
.account-address-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.account-address-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.account-add-address{border:0;background:transparent;color:var(--accent-ui);font:700 12px var(--sans);cursor:pointer;padding:6px 0;white-space:nowrap}
.account-address-list{display:grid;border-top:1px solid var(--line)}
.account-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.account-address-row.is-selected .address-text b{color:var(--accent-ui)}
.account-address-empty{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

@media(max-width:900px){
  .account-settings-grid{grid-template-columns:1fr}
  .account-profile-actions{width:100%;justify-content:flex-start;margin-left:70px}
}
@media(max-width:650px){
  .account-profile-actions{margin-left:57px;gap:8px}
  .account-edit-profile,.account-logout{font-size:11px}
  .account-profile-form,.account-address-panel{padding:17px;border-radius:18px}
  .account-profile-form input{height:50px;font-size:16px}
  .account-address-head{display:grid;gap:5px}
  .account-add-address{justify-self:start}
  .account-address-row{grid-template-columns:1fr}
  .account-address-row .address-actions{justify-content:flex-end}
}
@media(max-width:380px){
  .account-profile-actions{margin-left:0;width:100%}
  .account-edit-profile{flex:1 1 auto}
}
.account-profile-actions .account-logout{margin-left:0!important}

/* =========================================================
   v10.13 — password recovery + account form responsive polish
   ========================================================= */
.login-help-row{display:flex;justify-content:flex-end;margin-top:-4px}
.forgot-password-link{border:0;background:none;padding:2px 0;color:var(--accent-ui);font:600 11px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.forgot-password-link:hover,.forgot-password-link:focus-visible{color:var(--gold2);outline:none}
html[data-theme='light'] .forgot-password-link:hover,html[data-theme='light'] .forgot-password-link:focus-visible{color:var(--red2)}
.forgot-password-pane{min-width:0}
.forgot-password-head{margin:2px 0 18px}
.forgot-password-head .eyebrow{margin-bottom:8px}
.forgot-password-head h3{font:500 30px/1.06 var(--serif);letter-spacing:-.025em;margin:0 0 8px;color:var(--text)}
.forgot-password-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:420px}
.password-reset-form{margin-top:0}
.password-reset-prototype-note{margin:2px 0 0;padding:10px 12px;border:1px solid rgba(232,207,134,.18);border-radius:12px;background:rgba(232,207,134,.07);color:var(--muted);font-size:10px;line-height:1.5}
html[data-theme='light'] .password-reset-prototype-note{background:rgba(131,39,25,.045);border-color:rgba(131,39,25,.12)}

@media(max-width:980px){
  .forgot-password-head{max-width:560px}
}
@media(max-width:720px){
  .login-help-row{margin-top:-2px}
  .forgot-password-link{font-size:12px;min-height:36px;display:inline-flex;align-items:center}
  .forgot-password-head h3{font-size:28px}
  .forgot-password-head p{font-size:12px}
  .password-reset-prototype-note{font-size:11px;padding:11px 12px}
}
@media(max-width:480px){
  .forgot-password-head{margin-bottom:15px}
  .forgot-password-head h3{font-size:26px}
  .forgot-password-pane .button-full{min-height:50px}
  .forgot-password-pane .auth-switch-link{min-height:40px;display:flex;align-items:center;justify-content:center}
}
@media(max-width:340px){
  .forgot-password-head h3{font-size:24px}
  .password-reset-prototype-note{font-size:10px}
}

/* =========================================================
   v10.14 EXPERIMENT — MdN layered phở hero
   Replaces the old cropped photo-float blobs with one coherent
   photographic composition. Motion is intentionally restrained.
   ========================================================= */
.hero-pho-stage{
  isolation:isolate;
  overflow:visible;
  transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.2,.8,.2,1);
}
.hero-pho-stage .stage-ring,
.hero-pho-stage .steam,
.hero-pho-stage .hero-photo-core,
.hero-pho-stage .photo-float{display:none!important}
.hero-pho-halo{
  width:92%;left:4%;top:9%;opacity:.72;
  background:radial-gradient(ellipse at 50% 58%,rgba(232,207,134,.27) 0%,rgba(201,164,77,.14) 34%,rgba(131,39,25,.08) 57%,transparent 73%);
  filter:blur(28px);
  animation:phoHaloBreath 8.8s ease-in-out infinite;
}
.hero-pho-aura{
  position:absolute;z-index:2;left:8%;right:8%;bottom:5%;height:45%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(18,4,3,.46),rgba(18,4,3,.12) 48%,transparent 72%);
  filter:blur(20px);opacity:.58;pointer-events:none;
}
.hero-pho-layer{position:absolute;display:block;max-width:none;pointer-events:none;user-select:none;transform-origin:50% 72%;will-change:transform,opacity}
.hero-pho-ingredients{
  z-index:5;width:63%;height:auto;left:18.5%;top:-10%;
  filter:drop-shadow(0 18px 22px rgba(26,5,3,.26));
  animation:phoIngredients 10.8s ease-in-out infinite alternate;
}
.hero-pho-garnish{
  z-index:6;width:54%;height:auto;left:23%;top:-5%;opacity:.82;
  filter:drop-shadow(0 12px 14px rgba(25,5,3,.18));
  animation:phoGarnish 12.6s ease-in-out -3.2s infinite alternate;
}
.hero-pho-bowl{
  z-index:8;width:106%;height:auto;left:-3%;bottom:-2%;
  filter:drop-shadow(0 34px 30px rgba(21,3,2,.44));
  animation:phoBowlBreath 9.4s ease-in-out infinite;
}
.hero-pho-steam{
  z-index:10;width:76%;height:auto;left:12%;top:-16%;opacity:.60;mix-blend-mode:screen;
  filter:blur(.15px) saturate(.88);
  animation:phoSteamDrift 7.8s ease-in-out -1.8s infinite;
}
.hero-pho-glow{
  position:absolute;z-index:11;left:30%;top:43%;width:41%;height:28%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,230,174,.11),transparent 70%);filter:blur(17px);pointer-events:none;
  animation:phoGlow 6.8s ease-in-out infinite;
}
@keyframes phoBowlBreath{
  0%,100%{transform:translate3d(0,1px,0) rotate(-.12deg) scale(1)}
  50%{transform:translate3d(0,-3px,0) rotate(.10deg) scale(1.003)}
}
@keyframes phoIngredients{
  0%{transform:translate3d(-2px,3px,0) rotate(-.18deg)}
  50%{transform:translate3d(3px,-4px,0) rotate(.14deg)}
  100%{transform:translate3d(0,-1px,0) rotate(-.08deg)}
}
@keyframes phoGarnish{
  0%{transform:translate3d(2px,-1px,0) rotate(.18deg);opacity:.76}
  52%{transform:translate3d(-3px,4px,0) rotate(-.22deg);opacity:.86}
  100%{transform:translate3d(1px,-3px,0) rotate(.08deg);opacity:.80}
}
@keyframes phoSteamDrift{
  0%{transform:translate3d(-2px,8px,0) scale(.99);opacity:.38}
  42%{transform:translate3d(2px,-3px,0) scale(1.006);opacity:.64}
  100%{transform:translate3d(5px,-14px,0) scale(1.012);opacity:.24}
}
@keyframes phoHaloBreath{50%{transform:scale(1.025);opacity:.86}}
@keyframes phoGlow{50%{transform:scale(1.05);opacity:.68}}
html[data-theme='light'] .hero-pho-aura{opacity:.20}
html[data-theme='light'] .hero-pho-bowl{filter:drop-shadow(0 30px 26px rgba(91,42,26,.18))}
html[data-theme='light'] .hero-pho-steam{opacity:.43;mix-blend-mode:normal}
@media(max-width:1180px){
  .hero-pho-ingredients{width:65%;left:17.5%;top:-7%}
  .hero-pho-garnish{width:57%;left:21.5%;top:-2%}
  .hero-pho-bowl{width:108%;left:-4%;bottom:0}
  .hero-pho-steam{width:78%;left:11%;top:-12%}
}
@media(max-width:820px){
  .hero-pho-stage{overflow:hidden}
  .hero-pho-ingredients{width:55%;left:22.5%;top:-23%}
  .hero-pho-garnish{width:48%;left:26%;top:-18%;opacity:.76}
  .hero-pho-bowl{width:84%;left:8%;bottom:-7%}
  .hero-pho-steam{width:64%;left:18%;top:-26%;opacity:.50}
}
@media(max-width:650px){
  .hero-pho-ingredients{width:58%;left:21%;top:-18%}
  .hero-pho-garnish{width:51%;left:24.5%;top:-13%;opacity:.70}
  .hero-pho-bowl{width:92%;left:4%;bottom:-8%}
  .hero-pho-steam{width:68%;left:16%;top:-21%;opacity:.45}
}
@media(prefers-reduced-motion:reduce){
  .hero-pho-halo,.hero-pho-ingredients,.hero-pho-garnish,.hero-pho-bowl,.hero-pho-steam,.hero-pho-glow{animation:none!important}
  .hero-pho-stage{transform:none!important;transition:none!important}
}

/* v10.14b — independently floating transparent phở elements */
.hero-pho-stage .hero-pho-ingredients,
.hero-pho-stage .hero-pho-garnish{display:none!important}
.hero-pho-cluster{z-index:5;width:43%;height:auto;left:28.5%;top:10%;filter:drop-shadow(0 14px 18px rgba(24,4,3,.23));animation:phoCluster 11.8s ease-in-out -2s infinite alternate}
.hero-pho-float{filter:drop-shadow(0 12px 15px rgba(25,5,3,.20));transform-origin:50% 55%}
.hero-pho-quay{z-index:6;width:21%;left:11%;top:9%;animation:phoFloatA 10.4s ease-in-out -1.6s infinite alternate}
.hero-pho-beef{z-index:6;width:20%;right:10%;top:12%;animation:phoFloatB 12.2s ease-in-out -4s infinite alternate}
.hero-pho-onion{z-index:6;width:16%;left:17%;top:38%;opacity:.90;animation:phoFloatC 11.4s ease-in-out -5.6s infinite alternate}
.hero-pho-coriander{z-index:7;width:10.5%;left:11%;top:29%;animation:phoFloatB 9.8s ease-in-out -2.5s infinite alternate}
.hero-pho-chili{z-index:9;width:7.2%;right:18%;top:39%;animation:phoFloatA 8.9s ease-in-out -6.1s infinite alternate}
.hero-pho-basil{z-index:7;width:8.5%;right:12%;top:31%;animation:phoFloatC 10.7s ease-in-out -3.8s infinite alternate}
.hero-pho-lime{z-index:9;width:12%;right:2.5%;top:54%;animation:phoFloatB 12.8s ease-in-out -7.2s infinite alternate}
.hero-pho-bowl{width:90%;left:5%;bottom:0}
.hero-pho-steam{width:80%;left:10%;top:-12%;opacity:.50}
@keyframes phoCluster{
  0%{transform:translate3d(-1px,3px,0) rotate(-.12deg)}
  50%{transform:translate3d(2px,-3px,0) rotate(.10deg)}
  100%{transform:translate3d(-2px,-1px,0) rotate(-.06deg)}
}
@keyframes phoFloatA{
  0%{transform:translate3d(-2px,2px,0) rotate(-.28deg)}
  50%{transform:translate3d(3px,-3px,0) rotate(.20deg)}
  100%{transform:translate3d(0,-1px,0) rotate(-.10deg)}
}
@keyframes phoFloatB{
  0%{transform:translate3d(2px,-1px,0) rotate(.22deg)}
  50%{transform:translate3d(-3px,3px,0) rotate(-.24deg)}
  100%{transform:translate3d(1px,-2px,0) rotate(.10deg)}
}
@keyframes phoFloatC{
  0%{transform:translate3d(0,3px,0) rotate(-.20deg)}
  48%{transform:translate3d(2px,-2px,0) rotate(.18deg)}
  100%{transform:translate3d(-2px,-1px,0) rotate(-.08deg)}
}
@media(max-width:1180px){
  .hero-pho-cluster{width:45%;left:27.5%;top:12%}
  .hero-pho-quay{width:20%;left:9%;top:12%}.hero-pho-beef{width:19%;right:8%;top:15%}
  .hero-pho-onion{left:15%;top:40%}.hero-pho-coriander{left:8%;top:31%}.hero-pho-chili{right:16%;top:41%}.hero-pho-basil{right:9%;top:34%}.hero-pho-lime{right:1%;top:55%}
  .hero-pho-bowl{width:92%;left:4%}
}
@media(max-width:820px){
  .hero-pho-cluster{width:38%;left:31%;top:6%}
  .hero-pho-quay{width:18%;left:14%;top:12%}.hero-pho-beef{width:17%;right:13%;top:15%}
  .hero-pho-onion{width:13%;left:19%;top:35%}.hero-pho-coriander{width:8%;left:13%;top:29%}.hero-pho-chili{width:6%;right:20%;top:37%}.hero-pho-basil{width:7%;right:15%;top:30%}.hero-pho-lime{width:10%;right:7%;top:51%}
  .hero-pho-bowl{width:78%;left:11%;bottom:-5%}.hero-pho-steam{width:66%;left:17%;top:-17%}
}
@media(max-width:650px){
  .hero-pho-cluster{width:42%;left:29%;top:8%}
  .hero-pho-quay{width:20%;left:10%;top:14%}.hero-pho-beef{width:19%;right:10%;top:17%}
  .hero-pho-onion{width:14%;left:15%;top:39%}.hero-pho-coriander{width:9%;left:10%;top:31%}.hero-pho-chili{width:7%;right:17%;top:40%}.hero-pho-basil{width:8%;right:11%;top:33%}.hero-pho-lime{width:11%;right:3%;top:54%}
  .hero-pho-bowl{width:84%;left:8%;bottom:-7%}.hero-pho-steam{width:70%;left:15%;top:-14%;opacity:.42}
}
@media(prefers-reduced-motion:reduce){
  .hero-pho-cluster,.hero-pho-float{animation:none!important}
}


/* =========================================================
   v10.15 SAPO THEME ADAPTER
   Initial package intentionally ships without editorial/dish imagery.
   Product imagery can be enabled later from Theme settings and is served
   from Sapo product CDN, not bundled in the theme ZIP.
   ========================================================= */

.site-header{grid-template-columns:235px 1fr 260px}
.search-link{width:42px;height:42px;border:1px solid currentColor;border-radius:999px;display:grid;place-items:center;flex:none}
.search-link svg{width:18px;height:18px}
.mdn-media-placeholder{position:relative;overflow:hidden;min-height:220px;border:1px solid rgba(232,207,134,.18);border-radius:20px;background:radial-gradient(circle at 25% 20%,rgba(232,207,134,.10),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.008));}
.mdn-media-placeholder:before,.mdn-media-placeholder:after{content:'MN';position:absolute;font:500 clamp(46px,7vw,92px)/1 var(--serif);color:rgba(232,207,134,.075);letter-spacing:-.06em}
.mdn-media-placeholder:before{left:8%;bottom:7%}.mdn-media-placeholder:after{content:'MADAME NHUNG';font:600 9px/1 var(--sans);letter-spacing:.22em;right:7%;top:8%;color:rgba(232,207,134,.18)}
html[data-theme='light'] .mdn-media-placeholder{background:radial-gradient(circle at 25% 20%,rgba(131,39,25,.08),transparent 28%),linear-gradient(135deg,rgba(131,39,25,.035),rgba(255,255,255,.28));border-color:rgba(131,39,25,.12)}
.mdn-media-placeholder--line{position:absolute;inset:0;min-height:0;border:0;border-radius:0;z-index:0;background:radial-gradient(circle at 68% 18%,rgba(232,207,134,.15),transparent 28%),linear-gradient(145deg,#5d1712,#34100d)}
.line-card>.mdn-media-placeholder--line+.line-card-copy{z-index:4}
.line-card>.mdn-media-placeholder--line~.line-card-copy{position:absolute}
.line-card:has(.mdn-media-placeholder--line):after{background:linear-gradient(0deg,rgba(46,11,9,.97) 0%,rgba(46,11,9,.70) 54%,rgba(46,11,9,.22) 100%)}
.mdn-product-media{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.mdn-product-media img{width:100%;height:100%;object-fit:cover}.mdn-product-media.is-placeholder{display:grid;place-items:center}.mdn-product-media.is-placeholder:after{content:'MN';font:500 54px var(--serif);color:rgba(232,207,134,.16)}
.mdn-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.mdn-product-card{display:flex;flex-direction:column;gap:14px;padding:12px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025);min-width:0}.mdn-product-card-copy{display:flex;flex-direction:column;gap:8px;padding:2px 3px 6px;flex:1}.mdn-product-card-copy small{color:var(--accent-ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.mdn-product-card-copy h3{font:500 22px/1.08 var(--serif);margin:0}.mdn-product-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.mdn-product-card-foot strong{font-size:13px}.mdn-product-card-foot .button{min-height:38px;padding:0 14px;font-size:10px}
.mdn-collection-head{padding:150px 0 60px;background:var(--surface-strong)}.mdn-collection-head h1,.mdn-page-head h1{font:500 clamp(48px,6vw,82px)/.95 var(--serif);letter-spacing:-.045em;margin:0}.mdn-collection-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:24px 0}.mdn-search-form{display:flex;gap:8px;min-width:min(100%,460px);flex:1}.mdn-search-form input,.mdn-select{min-height:46px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 16px}.mdn-search-form input{flex:1;min-width:0}.mdn-tag-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 26px}.mdn-tag-list a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:10px}.mdn-tag-list a.is-active{background:var(--accent-ui);color:var(--red-deep)}
.mdn-empty{padding:30px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.mdn-pagination{display:flex;justify-content:center;margin-top:34px}.mdn-pagination a,.mdn-pagination span{margin:0 4px}
.mdn-product-page{padding:150px 0 90px}.mdn-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:56px}.mdn-product-gallery{display:grid;gap:12px}.mdn-product-main-media{min-height:520px}.mdn-product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.mdn-product-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:10px}.mdn-product-info .eyebrow{margin-bottom:14px}.mdn-product-info h1{font:500 clamp(42px,5vw,68px)/.95 var(--serif);letter-spacing:-.04em;margin:0 0 18px}.mdn-product-price{font-size:22px;font-weight:700;color:var(--accent-ui);margin:0 0 24px}.mdn-product-description{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:28px}.mdn-buy-form{display:grid;gap:15px}.mdn-buy-form label{font-size:10px;font-weight:700;letter-spacing:.1em}.mdn-buy-form select,.mdn-buy-form input[type=number]{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:0 14px}.mdn-buy-row{display:grid;grid-template-columns:1fr 100px;gap:10px}.mdn-stock{font-size:11px;color:var(--muted)}
.mdn-cart-page{padding:145px 0 90px}.mdn-cart-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px}.mdn-cart-list,.mdn-cart-summary,.mdn-cart-details{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:22px}.mdn-cart-item{display:grid;grid-template-columns:1fr 90px 110px auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.mdn-cart-item:last-child{border-bottom:0}.mdn-cart-item h3{font:500 20px var(--serif);margin:0 0 5px}.mdn-cart-item small{color:var(--muted)}.mdn-cart-item input{width:80px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);padding:0 10px}.mdn-cart-summary{position:sticky;top:104px;height:max-content}.mdn-summary-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0}.mdn-summary-line.is-total{font-size:20px;border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.mdn-cart-details{margin-top:18px}.mdn-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mdn-field{display:grid;gap:6px}.mdn-field.is-wide{grid-column:1/-1}.mdn-field label{font-size:10px;font-weight:700;letter-spacing:.08em}.mdn-field input,.mdn-field select,.mdn-field textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);padding:10px 12px}.mdn-field textarea{min-height:90px;resize:vertical}.mdn-cart-actions{display:grid;gap:10px;margin-top:18px}.mdn-remove{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.mdn-page-head{padding:150px 0 48px;background:var(--surface-strong)}.mdn-page-body{padding:60px 0 90px}.mdn-rte{max-width:820px}.mdn-rte p,.mdn-rte li{line-height:1.75;color:var(--muted)}
.mdn-contact-native .contact-form{display:grid;gap:13px}.mdn-contact-native .contact-form input,.mdn-contact-native .contact-form textarea,.mdn-contact-native .contact-form select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);padding:12px 14px}.mdn-contact-native .contact-form textarea{min-height:150px}.mdn-form-success{padding:14px;border:1px solid rgba(78,150,90,.35);border-radius:12px;margin-bottom:14px}.mdn-form-errors{padding:14px;border:1px solid rgba(201,80,70,.35);border-radius:12px;margin-bottom:14px}
.mdn-home-cart-empty{font-size:11px;color:rgba(246,240,228,.62);padding:14px 0}.hero-cart-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(246,240,228,.12)}.hero-cart-item b{font-size:11px}.hero-cart-item span{font-size:10px;opacity:.72}.hero-cart-total{margin-top:10px}
@media(max-width:1050px){.mdn-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mdn-product-layout{grid-template-columns:1fr}.mdn-cart-layout{grid-template-columns:1fr}.mdn-cart-summary{position:static}.site-header{grid-template-columns:210px 1fr 230px}}
@media(max-width:820px){.mdn-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mdn-product-main-media{min-height:360px}.mdn-cart-item{grid-template-columns:1fr 72px}.mdn-cart-item>strong,.mdn-cart-item>.mdn-remove{grid-column:auto}.mdn-form-grid{grid-template-columns:1fr}.mdn-field.is-wide{grid-column:auto}.search-link{display:none}}
@media(max-width:520px){.mdn-product-grid{grid-template-columns:1fr}.mdn-product-page,.mdn-cart-page{padding-top:120px}.mdn-product-layout{gap:28px}.mdn-product-main-media{min-height:300px}.mdn-cart-item{grid-template-columns:1fr}.mdn-cart-item input{width:100%}}


/* =========================================================
   v10.15.6 — Sapo functional audit: routes / menu / cart / account / contact
   ========================================================= */
.category-tile-grid a.category-tile{display:block;text-decoration:none;color:inherit}
.menu-search-large{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.menu-search-large>span{grid-column:1/-1}
.menu-search-large input{width:100%;min-width:0}
.mdn-menu-search-submit{min-height:50px}
.mdn-live-menu-section{padding-top:30px!important}
.mdn-live-menu-head{align-items:end}
.mdn-live-menu-head .mdn-collection-tools{margin:0;justify-content:flex-end}
.mdn-search-form-large{max-width:780px;margin-bottom:28px}.mdn-search-result-meta{margin:20px 0;color:var(--muted)}.mdn-search-empty{margin-top:22px}

/* Header account: preserve the v10.14 account control without crowding desktop nav. */
.site-header{grid-template-columns:225px 1fr auto}.header-actions{min-width:0}.account-pill{text-decoration:none}.account-pill .account-label{white-space:nowrap}
@media(min-width:1181px){.header-actions{gap:8px}.cart-pill{padding-inline:12px}.account-pill{padding-inline:10px}}

/* Contact native Sapo form uses the exact v10.14 typographic containers. */
.contact-page .contact-layout{align-items:start}.contact-page .contact-info-panel h1{font:500 clamp(45px,5vw,72px)/.98 var(--serif);letter-spacing:-.04em;margin:12px 0 24px}.contact-page .contact-info-panel h1 em{display:block}.contact-page .contact-intro{font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--muted)}.contact-page .contact-list{font-family:var(--sans)}.contact-page .contact-form-panel form,.contact-page .contact-form-panel select,.contact-page .contact-form-panel input,.contact-page .contact-form-panel textarea,.contact-page .contact-form-panel button{font-family:var(--sans)}

/* Native Sapo cart, retaining approved MdN checkout UX. */
.mdn-cart-page-v2 .checkout-layout{width:min(1160px,100%)}
.mdn-cart-page-v2 .checkout-flow{display:grid;gap:24px}
.mdn-cart-page-v2 .mdn-delivery-address-fields{display:grid;gap:14px}
.mdn-cart-page-v2 .order-summary{min-width:0}
.mdn-order-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.mdn-order-summary-head h2{margin:5px 0 0}.mdn-order-summary-head>a{font-size:11px;color:var(--accent-ui);font-weight:700}
.mdn-native-cart-line{grid-template-columns:24px 44px minmax(0,1fr)!important;grid-template-areas:'remove thumb copy' '. qty price';gap:8px 10px!important}
.mdn-native-cart-line .summary-remove{grid-area:remove}.mdn-native-cart-line .mdn-cart-thumb{grid-area:thumb;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;font:500 16px var(--serif);color:var(--accent-ui);background:rgba(255,255,255,.035)}.mdn-native-cart-line .summary-copy{grid-area:copy;min-width:0}.mdn-native-cart-line .summary-copy a{text-decoration:none;color:inherit}.mdn-native-cart-line .qty{grid-area:qty;justify-self:start}.mdn-native-cart-line .qty input{width:42px;height:28px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);text-align:center;padding:0;font:600 12px var(--sans)}.mdn-native-cart-line .summary-price{grid-area:price;justify-self:end;align-self:center;font-weight:700}.mdn-native-cart-line .qty input::-webkit-outer-spin-button,.mdn-native-cart-line .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mdn-native-cart-line .qty input[type=number]{-moz-appearance:textfield}
.mdn-cart-total{padding-top:14px!important;margin-top:4px;border-top:1px solid var(--line);font-size:16px!important}.mdn-cart-total strong{color:var(--accent-ui)}.mdn-cart-actions{display:grid;gap:9px}.mdn-cart-empty{max-width:760px;margin:auto}.mdn-cart-empty h2{font:500 34px var(--serif);margin-top:0}.field-note{color:var(--muted);font-size:11px!important;line-height:1.55}

/* Native account pages. */
.account-tabs a{flex:none;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 11px var(--sans);white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none}.account-tabs a.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold));color:#4e140f;border-color:transparent}.account-profile-actions>a{font:600 11px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:4px}.account-profile-actions>a:first-child{color:var(--accent-ui);text-decoration:none}.account-order.is-cancelled{opacity:.7;border-style:dashed}.account-order a{color:inherit;text-decoration:none}.mdn-default-address-panel{padding-top:12px}.account-address-panel p{color:var(--muted);font-size:13px;line-height:1.65;margin:8px 0 0}.account-page-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:20px}.mdn-account-single-card{max-width:560px;margin:0 auto}.mdn-address-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mdn-address-default{flex:none;padding:6px 9px;border-radius:999px;background:rgba(232,207,134,.12);color:var(--accent-ui);font-size:10px;font-weight:700}.mdn-address-edit{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.mdn-address-edit summary{cursor:pointer;color:var(--accent-ui);font-weight:700;font-size:12px}.mdn-address-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.mdn-address-form-grid label{display:grid;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}.mdn-address-form-grid input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--text);padding:0 13px;font:400 15px var(--sans)}.mdn-form-wide{grid-column:1/-1}.mdn-checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.mdn-checkbox input{width:18px;height:18px;min-height:0}.mdn-form-actions{display:flex;gap:9px}.mdn-address-delete-form{margin-top:13px}.mdn-address-delete{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font:600 11px var(--sans);cursor:pointer}.mdn-order-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.mdn-order-addresses{display:grid;gap:14px}.mdn-order-table{margin-top:15px;border-top:1px solid var(--line)}.mdn-order-table-head,.mdn-order-table-row{display:grid;grid-template-columns:minmax(0,1fr) 50px 100px 110px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.mdn-order-table-head{font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:700}.mdn-order-table-row a{color:inherit}.mdn-order-table-row strong{text-align:right}.mdn-order-totals{display:grid;gap:9px;margin-top:18px}.mdn-order-totals>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.mdn-order-totals .is-total{border-top:1px solid var(--line);padding-top:13px;font-size:16px}.mdn-order-totals .is-total strong{color:var(--accent-ui)}

@media(max-width:900px){.mdn-address-cards{grid-template-columns:1fr}.mdn-order-detail-grid{grid-template-columns:1fr}.mdn-order-addresses{grid-template-columns:1fr 1fr}.menu-search-large{grid-template-columns:1fr}.menu-search-large>span{grid-column:auto}.mdn-menu-search-submit{width:100%}}
@media(max-width:650px){.account-page-actions{align-items:stretch;flex-direction:column}.account-page-actions .button{width:100%}.mdn-address-form-grid{grid-template-columns:1fr}.mdn-form-wide{grid-column:auto}.mdn-form-actions{display:grid}.mdn-order-addresses{grid-template-columns:1fr}.mdn-order-table-head{display:none}.mdn-order-table-row{grid-template-columns:1fr auto;grid-template-areas:'name total' 'qty price';gap:5px 12px}.mdn-order-table-row>span:nth-child(1){grid-area:name}.mdn-order-table-row>span:nth-child(2){grid-area:qty}.mdn-order-table-row>span:nth-child(3){grid-area:price}.mdn-order-table-row>strong{grid-area:total}.contact-page .contact-info-panel h1{font-size:42px}}

/* v10.15.6 audit polish: native cart policy + always-visible account entry. */
.mdn-native-policy{display:flex;align-items:flex-start;gap:9px;margin:14px 0 8px;font:500 11px/1.55 var(--sans);color:var(--muted)}.mdn-native-policy input{flex:none;margin-top:2px}.mdn-native-policy a{color:var(--accent-ui);text-decoration:underline;text-underline-offset:3px}.mdn-payment-next-note{margin:0 0 14px}.account-pill{display:inline-flex}

/* =========================================================
   v10.15.7 — UX FIDELITY LOCK
   v10.14 is the customer-facing contract; Sapo is backend only.
   These rules intentionally override earlier adapter experiments.
   ========================================================= */

/* Header: no standalone search. Preserve original theme/account/cart controls. */
.site-header{grid-template-columns:225px 1fr auto}
.search-link{display:none!important}
.header-actions{gap:9px}
.theme-toggle,.account-pill,.cart-pill{flex:none}
.cart-icon{display:block!important;width:18px;height:18px;flex:none}
.account-pill{display:inline-flex!important}

/* Exact approved Contact scale. */
.contact-page .contact-info-panel h1{
  font:500 clamp(42px,4.3vw,60px)/.98 var(--serif)!important;
  letter-spacing:-.035em!important;
  margin:10px 0 18px!important;
  max-width:650px;
}
.contact-page .contact-info-panel h1 em{display:block}

/* Menu Master product surface: five cards per desktop row, same v10.14 card language. */
.menu-architecture-page .product-grid,
.gift-results-section .product-grid,
.curated-grid.mdn-product-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
.mdn-master-product-card{position:relative}
.mdn-master-product-card .product-open{display:block;text-decoration:none;color:inherit;cursor:pointer}
.mdn-product-image-placeholder{height:155px!important;display:grid;place-items:center;background:radial-gradient(circle at 68% 22%,rgba(232,207,134,.12),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border-bottom:1px solid var(--line)}
.mdn-product-image-placeholder span{font:500 36px/1 var(--serif);letter-spacing:-.04em;color:rgba(232,207,134,.18)}
html[data-theme='light'] .mdn-product-image-placeholder{background:radial-gradient(circle at 68% 22%,rgba(131,39,25,.08),transparent 34%),linear-gradient(145deg,rgba(131,39,25,.03),rgba(255,255,255,.4))}
html[data-theme='light'] .mdn-product-image-placeholder span{color:rgba(131,39,25,.17)}
.favorite-toggle{z-index:3}
.favorite-toggle svg path{fill:transparent;stroke:currentColor;stroke-width:1.55;transition:fill .18s ease,transform .18s ease}
.favorite-toggle.is-active svg path{fill:currentColor}
.favorite-toggle.is-active svg{transform:scale(1.04)}
.mdn-master-menu-empty,.mdn-gift-empty,.mdn-curated-empty{grid-column:1/-1}
.mdn-master-menu-empty[hidden],.mdn-gift-empty[hidden]{display:none!important}
.menu-results-actions{margin-top:20px}

/* The approved in-page menu search/filter experience must never resemble a standalone search result page. */
.menu-search-large{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.menu-search-large>span{grid-column:auto!important}
.menu-search-large input{min-height:52px}
.menu-filter-grid .custom-select,.menu-sort .custom-select{width:100%}
.menu-sort{min-width:210px}
.mdn-master-holding-page .internal-hero .button{margin-top:22px}

/* Native select/date widgets remain only as form state; branded controls own the visible UX. */
.native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important}
.custom-select{font-family:var(--sans)}
.custom-select-trigger{font-family:var(--sans)!important}
.custom-select-option{font-family:var(--sans)!important}
.date-input{font-family:var(--sans)!important;cursor:pointer}

/* Cart — approved hierarchy and automatic interaction. */
.mdn-cart-page-v3 .checkout-layout{width:min(1160px,100%);grid-template-columns:minmax(0,650px) 360px;gap:32px}
.mdn-cart-page-v3 .checkout-flow{display:grid;gap:24px}
.mdn-cart-page-v3 .checkout-card,.mdn-cart-page-v3 .order-summary{border:1px solid rgba(242,228,183,.28);border-radius:18px;padding:23px;box-shadow:0 9px 24px rgba(29,5,3,.07)}
html[data-theme='light'] .mdn-cart-page-v3 .checkout-card,html[data-theme='light'] .mdn-cart-page-v3 .order-summary{border-color:rgba(75,16,13,.20);box-shadow:0 9px 22px rgba(75,16,13,.055)}
.mdn-cart-page-v3 .order-summary{position:sticky;top:98px;min-width:0}
.mdn-cart-page-v3 .recipient-fields{grid-template-columns:1fr!important}
.mdn-general-note{margin-top:16px}
.mdn-master-cart-line{
  grid-template-columns:22px 54px minmax(0,1fr) auto!important;
  grid-template-areas:'remove thumb copy price' '. thumb qty price';
  gap:7px 10px!important;
  align-items:center!important;
}
.mdn-master-cart-line .summary-remove{grid-area:remove;align-self:start;color:var(--muted);text-decoration:none;font-size:18px;line-height:1}
.mdn-master-cart-line .mdn-cart-thumb{grid-area:thumb;width:54px;height:54px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;background:radial-gradient(circle at 68% 22%,rgba(232,207,134,.10),transparent 35%),rgba(255,255,255,.025)}
.mdn-master-cart-line .mdn-cart-thumb span{font:500 18px/1 var(--serif);color:rgba(232,207,134,.34)}
.mdn-master-cart-line .summary-copy{grid-area:copy;min-width:0}
.mdn-master-cart-line .summary-copy b{font-size:13px}
.mdn-master-cart-line .summary-copy a{text-decoration:none;color:inherit}
.mdn-master-cart-line .summary-copy small{font-size:11px;line-height:1.4}
.mdn-master-cart-line .qty{grid-area:qty;justify-self:start;margin-top:2px}
.mdn-master-cart-line .qty button{width:30px;height:30px}
.mdn-master-cart-line .qty input{width:40px;height:30px;min-height:30px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);text-align:center;padding:0;font:600 12px var(--sans)}
.mdn-master-cart-line .qty input::-webkit-outer-spin-button,.mdn-master-cart-line .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mdn-master-cart-line .qty input[type=number]{-moz-appearance:textfield}
.mdn-master-cart-line .summary-price{grid-area:price;justify-self:end;align-self:center;font-size:12px;font-weight:700;white-space:nowrap}
.mdn-cart-page-v3 .summary-meta{margin:20px 0;gap:12px}
.mdn-cart-page-v3 .summary-meta>div{font-size:13px}
.mdn-cart-page-v3 .mdn-cart-total{padding-top:14px!important;margin-top:4px;border-top:1px solid var(--line);font-size:16px!important}
.mdn-cart-page-v3 .mdn-cart-total strong{color:var(--accent-ui)}
.mdn-cart-page-v3 .address-manager-head>span{font-size:13px;letter-spacing:.02em;color:var(--muted)}
.mdn-cart-page-v3 .address-add{font-weight:700}
.mdn-cart-page-v3 .mdn-cart-sync-status{min-height:17px;margin:8px 0 0;text-align:center}

@media(max-width:1180px){
  .menu-architecture-page .product-grid,.gift-results-section .product-grid,.curated-grid.mdn-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .menu-architecture-page .product-grid,.gift-results-section .product-grid,.curated-grid.mdn-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .mdn-cart-page-v3 .checkout-layout{grid-template-columns:1fr;max-width:720px;margin:auto}
  .mdn-cart-page-v3 .order-summary{position:static}
}
@media(max-width:650px){
  .menu-architecture-page .product-grid,.gift-results-section .product-grid,.curated-grid.mdn-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .mdn-product-image-placeholder{height:125px!important}
  .contact-page .contact-info-panel h1{font-size:42px!important}
  .mdn-master-cart-line{grid-template-columns:20px 48px minmax(0,1fr)!important;grid-template-areas:'remove thumb copy' '. thumb qty' '. . price'}
  .mdn-master-cart-line .mdn-cart-thumb{width:48px;height:48px}
  .mdn-master-cart-line .summary-price{justify-self:start}
}
@media(max-width:420px){
  .menu-architecture-page .product-grid,.gift-results-section .product-grid,.curated-grid.mdn-product-grid{grid-template-columns:1fr!important}
}

/* Multi-variant quick add — keeps the approved "+ Thêm" flow in context. */
.mdn-quick-add-card{width:min(480px,calc(100vw - 30px));text-align:left;padding:28px}
.mdn-quick-add-card h3{font:500 30px/1.05 var(--serif);margin:8px 0 20px}
.mdn-quick-variant-list{display:grid;gap:8px}
.mdn-quick-variant{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font:500 13px/1.35 var(--sans);cursor:pointer;transition:.18s}
.mdn-quick-variant:hover,.mdn-quick-variant:focus-visible{outline:none;border-color:var(--gold2);transform:translateY(-1px)}
.mdn-quick-variant strong{color:var(--accent-ui);white-space:nowrap;font-size:12px}
.mdn-quick-detail{display:inline-block;margin-top:16px;color:var(--muted);font:600 11px/1.4 var(--sans);text-decoration:underline;text-underline-offset:4px}

/* =========================================================
   v10.15.9 — fidelity restoration: motion, founder placement, Catering
   ========================================================= */
/* Homepage About block: match v10.14 composition and scale exactly. */
.about-teaser-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(46px,6vw,76px);align-items:center}
.photo-stack.photo-stack-single{display:block;min-width:0;width:100%;max-width:480px;justify-self:center}
.photo-stack.photo-stack-single img{display:block;width:100%;height:clamp(455px,43vw,565px);margin:0;border-radius:28px;object-fit:cover;object-position:center 28%}
.about-teaser .about-teaser-copy{min-width:0;max-width:none}
.about-teaser .proof-row b{font-size:clamp(27px,2.55vw,36px)}
.about-teaser .proof-row b.proof-media{font-size:clamp(21px,2vw,27px)}
.about-teaser .proof-row span{font-size:13px;line-height:1.46}

/* Ambient canvas stays visible over every page while remaining non-interactive. */
#ambientParticles{display:block!important;visibility:visible!important}

/* Catering team headline follows the approved deliberate two-line composition. */
.catering-team-heading>span{display:block}
.catering-team-heading>span:last-child{white-space:normal}

/* Founder is an editorial profile, not a boxed card. */
.team-founder.team-founder-editorial{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(0,1.22fr);gap:clamp(22px,3vw,38px);align-items:center;min-height:0!important;background:transparent!important;color:var(--text)!important;border:0!important;border-radius:0!important;overflow:visible!important;padding:0!important;box-shadow:none!important}
.team-founder.team-founder-editorial::before,.team-founder.team-founder-editorial::after{display:none!important}
.team-founder.team-founder-editorial>img{position:relative!important;inset:auto!important;width:100%!important;height:clamp(310px,31vw,440px)!important;object-fit:cover!important;object-position:center 28%!important;border-radius:24px!important;opacity:1!important;filter:none!important}
.team-founder.team-founder-editorial>.team-founder-copy{position:static!important;inset:auto!important;padding:0!important;background:none!important;color:inherit!important}
.team-founder.team-founder-editorial small{color:var(--accent-ui)!important}
.team-founder.team-founder-editorial h3{color:var(--text)!important;margin:10px 0 14px!important}
.team-founder.team-founder-editorial h3 em{color:var(--accent-display)!important}
.team-founder.team-founder-editorial p{color:var(--muted)!important;margin:0!important}

/* Until actual partner logos are supplied, use clean typographic cards — no empty media slab. */
.partner-wall .partner-logo.partner-text-only{display:flex!important;align-items:center!important;justify-content:center!important;grid-template-rows:none!important;min-height:78px!important;padding:12px 14px!important}
.partner-wall .partner-logo.partner-text-only>b{margin:0!important;color:var(--text)!important;text-align:center!important;font-size:10.5px!important;line-height:1.3!important}
html[data-theme='light'] .partner-wall .partner-logo.partner-text-only>b{color:#3c2822!important}

/* No full-screen loader on internal navigation. Sapo still performs a normal page request,
   but cached CSS/JS and persistent visual motion make transitions feel immediate. */
.loader{display:none!important}

@media(max-width:980px){
  .about-teaser-grid{grid-template-columns:1fr}
  .photo-stack.photo-stack-single{order:2}
  .photo-stack.photo-stack-single img{height:min(68vw,520px)}
  .team-founder.team-founder-editorial{grid-template-columns:1fr}
  .team-founder.team-founder-editorial>img{height:min(72vw,500px)!important;max-width:520px}
}
@media(max-width:650px){
  .photo-stack.photo-stack-single img{height:102vw;max-height:500px}
  .about-teaser .proof-row b{font-size:30px}
  .about-teaser .proof-row b.proof-media{font-size:24px}
  .about-teaser .proof-row span{font-size:13px}
  .team-founder.team-founder-editorial>img{height:112vw!important;max-height:470px}
}



/* =========================================================
   v10.15.9 — ABOUT fidelity reset from canonical v10.14 source
   IMPORTANT: these values intentionally mirror the About-only
   CSS embedded in ve-chung-toi/index.html of v10.14, then apply
   only the user's explicit refinements from the 2026-08-12 review.
   ========================================================= */

/* Keep all About section kickers on one consistent typographic scale. */
.about-page .eyebrow{
  font-size:12px!important;
  line-height:1.3!important;
  letter-spacing:.2em!important;
  font-weight:700!important;
}

/* Accent/italic language exactly as approved. */
.about-page .internal-hero h1 em,
.about-page .prose h2 em,
.about-page .about-philosophy h2 em,
.about-page .about-ending h2 em,
.about-page .about-media-head h2 em{
  color:var(--accent-display)!important;
  font-style:italic!important;
  font-weight:500!important;
}

/* Hero — exact v10.14 composition: "làm nghề" accented on line 1,
   "bằng sự tận tâm" accented on its own second line. */
.about-hero h1{max-width:820px!important}
.about-hero-heading-line{display:block!important;white-space:nowrap!important}
.about-hero h1 em{font-style:italic!important;color:var(--accent-display)!important;font-weight:500!important}
.about-hero-copy{display:grid!important;gap:12px!important;margin-top:18px!important;max-width:760px!important}
.about-hero-copy p{margin:0!important;font-size:16px!important;line-height:1.68!important;color:var(--muted)!important}

/* Founder — restore the original two-column proportions and hierarchy. */
.about-founder-grid{
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;
  align-items:start!important;
  gap:clamp(42px,5vw,72px)!important;
}
.about-founder-image{position:sticky!important;top:118px!important}
.about-founder-image img{height:min(72vh,700px)!important;min-height:520px!important;object-fit:cover!important}
.about-founder-copy h2{margin-bottom:20px!important}
.about-founder-copy h2 span,.about-founder-copy h2 em{display:block!important}
.about-founder-copy h2 span{
  font:500 clamp(32px,3vw,42px)/1.05 var(--serif)!important;
}
.about-founder-name{
  color:var(--accent-display)!important;
  font-style:italic!important;
  font-weight:500!important;
  white-space:nowrap!important;
  font-size:clamp(48px,4.7vw,62px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.about-founder-copy>p{font-size:15px!important;line-height:1.72!important;margin:0 0 13px!important;color:var(--muted)!important}

/* Gallery heading sits lower exactly as the source version. */
.about-gallery-section .section-head{margin-bottom:24px!important}
.about-gallery-section .section-head h2{margin-top:18px!important}

/* Story — restore large headline / smaller narrative balance. */
.about-story-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;
  gap:clamp(42px,6vw,80px)!important;
  align-items:center!important;
}
.about-story-copy h2{
  font:500 clamp(38px,3.7vw,54px)/1.05 var(--serif)!important;
  letter-spacing:-.03em!important;
}
.about-story-copy>p{font-size:15px!important;line-height:1.72!important;margin:0 0 13px!important;color:var(--muted)!important}
.about-story-image img{height:520px!important}

/* Philosophy — headline typography and approved pullquote order/emphasis. */
.about-philosophy{max-width:900px!important}
.about-philosophy h2,.about-ending h2{
  font:500 clamp(38px,4vw,56px)/1.02 var(--serif)!important;
  letter-spacing:-.035em!important;
  margin:8px 0 22px!important;
}
.about-philosophy-body{max-width:760px!important;display:grid!important;gap:10px!important}
.about-philosophy-body p{font-size:16px!important;line-height:1.72!important;color:var(--muted)!important;margin:0!important}
.about-pullquote{
  margin:34px 0 0!important;
  padding:24px 0 5px!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  font:500 clamp(27px,3vw,40px)/1.18 var(--serif)!important;
  letter-spacing:-.025em!important;
  color:var(--accent-display)!important;
}

/* Today — user asked this headline one step larger while keeping body smaller. */
.about-today-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
  gap:clamp(42px,6vw,80px)!important;
}
.about-today-grid .prose h2{
  font:500 clamp(38px,3.7vw,54px)/1.03 var(--serif)!important;
  letter-spacing:-.03em!important;
  margin:8px 0 18px!important;
}
.about-today-grid .prose>p{font-size:15px!important;line-height:1.7!important;margin:0 0 13px!important;color:var(--muted)!important}
.about-today-grid .prose>p strong{color:var(--text)!important;font-weight:600!important}
.about-principle{
  margin-top:22px!important;
  padding:18px 20px!important;
  border-radius:16px!important;
  background:linear-gradient(115deg,var(--gold2),var(--gold))!important;
  color:var(--red-deep)!important;
  font:500 clamp(27px,2.5vw,34px)/1.15 var(--serif)!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}
.about-today-image img{height:510px!important}
html[data-theme='light'] .about-principle{color:#4b100d!important}

/* Media — explicit line break + original 4-column boxed cards. */
.about-media-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(400px,1fr)!important;
  column-gap:clamp(42px,6vw,86px)!important;
  align-items:start!important;
}
.about-media-title span,.about-media-title em{display:block!important}
.about-media-head>p{
  margin-top:42px!important;
  justify-self:end!important;
  max-width:620px!important;
  font-size:15px!important;
  line-height:1.72!important;
  color:var(--muted)!important;
  text-wrap:pretty;
}
.about-media-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:20px!important;
}
.about-media-grid.about-media-more{margin-top:12px!important}
.about-media-grid[hidden]{display:none!important}
.about-media-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:205px!important;
  padding:20px 20px 18px!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:var(--panel)!important;
  color:inherit!important;
  overflow:hidden!important;
  text-decoration:none!important;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease!important;
}
.about-media-card::before{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.035) 40%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.035) 60%,transparent 75%);transition:transform .7s ease}
.about-media-card:hover,.about-media-card:focus-visible{transform:translateY(-3px);border-color:rgba(232,207,134,.44)!important;box-shadow:0 16px 38px rgba(28,4,3,.12);outline:none}
.about-media-card:hover::before,.about-media-card:focus-visible::before{transform:translateX(135%)}
.about-media-meta{display:flex!important;gap:12px!important;justify-content:space-between!important;align-items:flex-start!important;color:var(--accent-ui)!important;font-size:10px!important;line-height:1.35!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.about-media-meta strong{font-size:10px!important;line-height:1.35!important;letter-spacing:.05em!important;color:var(--accent-ui)!important}
.about-media-meta span{white-space:nowrap!important;color:var(--muted)!important}
.about-media-card h3{font:500 21px/1.24 var(--serif)!important;letter-spacing:-.015em!important;margin:20px 30px 0 0!important}
.about-media-link{position:absolute!important;right:18px!important;bottom:17px!important;font-size:22px!important;color:var(--accent-ui)!important}
.about-media-actions{display:flex!important;justify-content:center!important;margin-top:26px!important}

/* Ending — reproduce the original centred editorial CTA exactly. */
.about-ending{max-width:1160px!important;text-align:center!important}
.about-ending h2{font-size:clamp(38px,4.1vw,56px)!important;white-space:nowrap!important;margin:0 auto!important}
.about-ending-actions{display:flex!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:30px!important}
.about-ending-button{position:relative!important;overflow:hidden!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(232,207,134,.46)!important;color:inherit!important;transition:transform .25s,box-shadow .25s,filter .25s,border-color .25s,color .25s,background .25s!important}
.about-ending-button::before{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.05) 62%,transparent 76%);transition:transform .72s ease}
.about-ending-button:hover,.about-ending-button:focus-visible{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:transparent!important;transform:translateY(-2px);box-shadow:0 14px 34px rgba(55,9,6,.22);outline:none}
.about-ending-button:hover::before,.about-ending-button:focus-visible::before{transform:translateX(135%)}
html[data-theme='light'] .about-ending-button{background:rgba(255,255,255,.16)!important;border-color:rgba(131,39,25,.24)!important;color:var(--red-dark)!important}

/* Contact — restore the canonical body scale the migration had reduced. */
.contact-page .contact-intro{
  font-size:17px!important;
  line-height:1.72!important;
  color:var(--muted)!important;
  max-width:590px!important;
}

/* Catering ending — force the canonical large display size above later generic overrides. */
.catering-final-cta h2{
  font:500 clamp(38px,4vw,56px)/1 var(--serif)!important;
  margin:12px 0 20px!important;
  letter-spacing:-.03em!important;
}
.catering-final-cta h2 span,.catering-final-cta h2 em{display:block!important}
.catering-final-cta h2 em{color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}

@media(max-width:1080px){
  .about-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .about-founder-grid{grid-template-columns:.9fr 1.1fr!important;gap:34px!important}
  .about-founder-image{position:static!important}
}
@media(max-width:820px){
  .about-founder-grid,.about-story-grid,.about-today-grid{grid-template-columns:1fr!important}
  .about-founder-image{order:1}.about-founder-copy{order:2}
  .about-founder-image img{height:560px!important;min-height:0!important}
  .about-story-image{order:1}.about-story-copy{order:2}
  .about-story-image img,.about-today-image img{height:440px!important}
  .about-media-head{grid-template-columns:1fr!important;gap:0!important}
  .about-media-head>p{margin-top:18px!important;justify-self:start!important;max-width:720px!important}
  .about-ending h2{white-space:normal!important}
}
@media(max-width:620px){
  .about-hero-heading-line{white-space:normal!important}
  .about-hero-copy p,.about-founder-copy>p,.about-story-copy>p,.about-today-grid .prose>p{font-size:14px!important}
  .about-founder-copy h2 span{font-size:34px!important}
  .about-founder-name{font-size:clamp(36px,10vw,44px)!important}
  .about-founder-image img{height:430px!important}
  .about-story-image img,.about-today-image img{height:340px!important}
  .about-philosophy-body p{font-size:14px!important}
  .about-media-grid{grid-template-columns:1fr!important}
  .about-media-card{min-height:170px!important}
  .about-pullquote{font-size:30px!important}
  .about-ending h2{font-size:36px!important}
  .contact-page .contact-intro{font-size:17px!important}
  .catering-final-cta h2{font-size:clamp(35px,10vw,44px)!important}
}

/* Preserve the original image geometry even before editorial imagery is uploaded. */
.about-gallery-section .gallery-grid>.mdn-media-placeholder{min-height:0;height:100%;border-radius:18px}
.about-gallery-section .gallery-grid>.mdn-media-placeholder:first-child{grid-row:1/3}
.about-story-image .mdn-media-placeholder{height:520px;min-height:520px}
.about-today-image .mdn-media-placeholder{height:510px;min-height:510px}
@media(max-width:820px){
  .about-gallery-section .gallery-grid>.mdn-media-placeholder:first-child{grid-row:auto}
  .about-story-image .mdn-media-placeholder,.about-today-image .mdn-media-placeholder{height:440px;min-height:440px}
}
@media(max-width:620px){
  .about-page .eyebrow{font-size:10px!important;letter-spacing:.16em!important}
  .about-story-image .mdn-media-placeholder,.about-today-image .mdn-media-placeholder{height:340px;min-height:340px}
}


/* v10.15.10 — fidelity repairs from base review */
.film-preview{cursor:pointer}
.hero-copy .film-preview{margin-top:18px}
.modal{position:fixed;inset:0;display:none;z-index:140;align-items:center;justify-content:center;padding:20px}.modal.is-open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(18,4,3,.76);backdrop-filter:blur(2px)}
.film-panel{position:relative;z-index:2;width:min(980px,92vw);border-radius:24px;overflow:hidden;border:1px solid rgba(232,207,134,.22);background:#2f0c0a;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.film-panel video{display:block;width:100%;height:min(72vh,640px);object-fit:cover}.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(47,12,10,.66);color:#fff8ed;font:400 28px/1 var(--sans);cursor:pointer;z-index:3}
.film-caption{position:absolute;left:28px;bottom:24px;z-index:3;color:#fff8ed;max-width:360px}.film-caption small{display:block;color:var(--gold2);font-size:10px;letter-spacing:.16em;margin-bottom:10px}.film-caption h2{margin:0;font:500 clamp(34px,5vw,58px)/.94 var(--serif);letter-spacing:-.035em}
.about-today-section h2{font-size:clamp(34px,3.35vw,46px)!important;line-height:1.04!important;margin-bottom:12px!important}
.about-principle{font-size:18px!important;padding:14px 18px!important;margin-top:18px!important;max-width:420px}
.about-media-title span,.about-media-title em{display:block}
.about-media-head{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)!important;column-gap:clamp(34px,5vw,80px)!important}
.about-media-head>p{font-size:13px!important;line-height:1.62!important;max-width:460px!important;margin-top:34px!important}
.about-media-grid.about-media-more[hidden]{display:none!important}
.about-ending{max-width:1160px!important}.about-ending h2{font:500 clamp(34px,3.8vw,52px)/1.02 var(--serif)!important}
.catering-team-heading>span,.catering-team-heading>em{display:block}.catering-team-heading>em{font-style:italic;color:var(--accent-display);font-weight:500}
/* Remove editorial split override; founder card must be image with text overlay. */
.team-founder.team-founder-editorial,.team-founder.team-founder-editorial>img,.team-founder.team-founder-editorial>.team-founder-copy{all:unset}
.partner-wall .partner-logo img[alt="FPT"]{max-height:68px!important;max-width:98%!important}
.partner-wall .partner-logo img[alt="Đại học Y Hà Nội"],.partner-wall .partner-logo img[alt="Giáo hội Phật giáo Việt Nam"]{max-height:66px!important;max-width:78%!important;background:transparent!important}
.partner-wall .partner-logo:has(img[alt="Đại học Y Hà Nội"]),.partner-wall .partner-logo:has(img[alt="Giáo hội Phật giáo Việt Nam"]){min-height:116px!important}
.partner-wall .partner-logo{min-height:112px!important}
@media(max-width:820px){.about-media-head{grid-template-columns:1fr!important}.about-media-head>p{margin-top:18px!important;max-width:720px!important}.film-preview{display:grid!important}}

/* v10.15.11 — minor review fixes */
.film-panel{width:min(1160px,95vw)!important}
.film-panel video{height:min(78vh,760px)!important}
.film-caption{left:34px!important;bottom:30px!important;max-width:480px!important}
.film-caption h2{font-size:clamp(36px,4.9vw,62px)!important;line-height:.94!important}
.film-caption h2 span,.film-caption h2 em{display:block}
.film-caption h2 em{margin-top:5px;color:var(--gold2);font-style:italic;font-weight:500;letter-spacing:-.03em}
.catering-final-cta h2{font-size:clamp(48px,5.4vw,76px)!important;line-height:.96!important;letter-spacing:-.04em!important}
@media(max-width:620px){.film-panel{width:96vw!important}.film-panel video{height:min(72vh,620px)!important}.film-caption{left:22px!important;bottom:22px!important}.film-caption h2{font-size:clamp(34px,10.8vw,50px)!important}.catering-final-cta h2{font-size:clamp(42px,11vw,58px)!important}}

/* v10.16.0 — Menu Master data layer */
.mdn-master-product-card .product-open{font:inherit;width:100%;border:0;background:transparent;text-align:left;padding:0;color:inherit}
.mdn-quick-desc{font-size:13px;line-height:1.58;color:var(--muted);margin:8px 0 16px;max-width:620px}
.mdn-quick-variant:disabled{opacity:.45;cursor:not-allowed}
.mdn-resolve-page{display:none!important}


/* v10.16.1 — Master modal + cart safety + fidelity fixes */
/* Film preview label must follow theme rather than stay pale gold on light. */
html[data-theme='light'] .film-preview-copy small{color:var(--accent-ui)!important}
html[data-theme='light'] .film-preview-copy b{color:var(--text)!important}
html[data-theme='light'] .film-preview-copy span{color:var(--muted)!important;opacity:1}

/* Mini cart hierarchy: line price belongs to metadata scale, not headline scale. */
.hero-cart-item{align-items:flex-start}
.hero-cart-item>div{min-width:0}.hero-cart-item b{display:block;line-height:1.28}.hero-cart-item span{display:block;margin-top:3px;line-height:1.35}
.hero-cart-item>strong{font-size:10px!important;line-height:1.35!important;font-weight:600!important;white-space:nowrap;color:var(--gold2)}
html[data-theme='light'] .hero-cart-item>strong{color:var(--accent-ui)}

/* Group discovery: keep ten groups but restore a more editorial image/card entry instead of bare buttons. */
.mdn-category-visual-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.category-tile.mdn-category-visual{display:grid!important;grid-template-rows:108px auto!important;min-height:224px!important;padding:0!important;overflow:hidden!important;border-radius:20px!important;text-align:left!important;align-content:start!important}
.mdn-category-media{position:relative;display:block;width:100%;height:108px;overflow:hidden;background:radial-gradient(circle at 72% 26%,rgba(232,207,134,.24),transparent 25%),linear-gradient(135deg,#3b0e0b,#832719 68%,#a44836);border-bottom:1px solid rgba(232,207,134,.15)}
.mdn-category-media::before,.mdn-category-media::after{content:'';position:absolute;border:1px solid rgba(232,207,134,.22);border-radius:50%}.mdn-category-media::before{width:72px;height:72px;right:16px;bottom:-26px}.mdn-category-media::after{width:40px;height:40px;right:34px;bottom:-10px}.mdn-category-media i{position:absolute;left:14px;top:13px;font:500 27px/1 var(--serif);font-style:normal;color:var(--gold2);opacity:.96}
.mdn-cat-02{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.24),transparent 24%),linear-gradient(145deg,#274338,#4e7460)}
.mdn-cat-03{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.24),transparent 24%),linear-gradient(145deg,#4b1712,#8c2a1d)}
.mdn-cat-04{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.22),transparent 24%),linear-gradient(145deg,#40582f,#718652)}
.mdn-cat-05{background:radial-gradient(circle at 72% 25%,rgba(255,247,215,.24),transparent 24%),linear-gradient(145deg,#72521f,#ad8740)}
.mdn-cat-06{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.22),transparent 24%),linear-gradient(145deg,#493027,#795047)}
.mdn-cat-07{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.24),transparent 24%),linear-gradient(145deg,#39202d,#75445d)}
.mdn-cat-08{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.22),transparent 24%),linear-gradient(145deg,#775242,#b98469)}
.mdn-cat-09{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.22),transparent 24%),linear-gradient(145deg,#59331e,#98633e)}
.mdn-cat-10{background:radial-gradient(circle at 72% 25%,rgba(232,207,134,.22),transparent 24%),linear-gradient(145deg,#303331,#5b625c)}
.mdn-category-copy{display:block;padding:15px 16px 17px}.mdn-category-copy b{display:block;font-size:11.5px!important;line-height:1.28!important;min-height:30px}.mdn-category-copy small{display:block;margin-top:8px;font-size:10px;line-height:1.5;color:var(--muted);font-weight:400}
.category-tile.mdn-category-visual:hover .mdn-category-copy small,.category-tile.mdn-category-visual:focus-visible .mdn-category-copy small{color:rgba(255,248,237,.72)}
html[data-theme='light'] .mdn-category-media{filter:saturate(.82) brightness(1.05)}

/* Large product detail modal: fixed media, independently scrollable information, sticky total action. */
.mdn-master-product-modal .modal-panel{width:min(1320px,96vw)!important;max-height:none!important;height:min(800px,92vh)!important;overflow:hidden!important;border-radius:28px!important}
.mdn-master-product-modal .product-modal-grid{display:grid!important;grid-template-columns:minmax(520px,56%) minmax(420px,44%)!important;height:100%!important;min-height:0!important}
.mdn-master-product-modal .product-modal-media{min-width:0;height:100%;background:linear-gradient(145deg,#3e100d,#732117)}
.mdn-master-product-modal .product-modal-gallery{position:relative;height:100%;min-height:0}
.mdn-master-product-modal .product-modal-image{height:100%!important;min-height:0!important;position:relative;overflow:hidden}
.mdn-master-product-modal .product-modal-image img{width:100%;height:100%;object-fit:cover;display:block}
.mdn-product-modal-placeholder{background:radial-gradient(circle at 52% 40%,rgba(232,207,134,.13),transparent 24%),linear-gradient(145deg,#3a0d0b,#702117)}
.mdn-modal-art{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:12px;color:rgba(232,207,134,.75)}.mdn-modal-art span{font:500 clamp(72px,10vw,150px)/.9 var(--serif);letter-spacing:-.08em;opacity:.18}.mdn-modal-art small{font-size:9px;letter-spacing:.22em;opacity:.55}
.pm-gallery-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(46,11,9,.46);color:#fff8ed;font-size:25px;display:grid;place-items:center;cursor:pointer}.pm-gallery-nav.prev{left:18px}.pm-gallery-nav.next{right:18px}.pm-gallery-nav:disabled{opacity:.28;cursor:default}.pm-dots{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:7px}.pm-dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.38)}.pm-dots button.is-active{background:var(--gold2);transform:scale(1.25)}
.mdn-master-product-modal .product-modal-copy{padding:0!important;min-height:0;height:100%;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;background:var(--panel)}
.mdn-master-product-modal .product-modal-scroll{padding:38px 40px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(232,207,134,.42) transparent}
.pm-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.pm-title-row h2{margin-bottom:4px!important}.modal-favorite{position:static!important;margin-top:2px;flex:none}
.pm-price-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.pm-price-row small,.modal-total small{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);margin-bottom:4px}.pm-price-row strong,.modal-total strong{font:600 22px/1.1 var(--serif);color:var(--accent-display)}
.pm-qty{display:flex;align-items:center;gap:11px}.pm-qty button{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:17px;cursor:pointer}.pm-qty span{min-width:20px;text-align:center;font-size:12px;font-weight:650}
.modal-info-block{padding:17px 0 5px}.modal-info-block h4{font:600 12px/1.3 var(--sans);margin:0 0 8px}.modal-info-block p{font-size:12.5px!important;line-height:1.68!important;margin:0 0 8px!important}.modal-info-block #pmInfoExtra{font-size:10.5px!important;color:var(--muted);line-height:1.55!important}
.choice{margin-top:18px!important}.choice>label{font-size:9px!important;letter-spacing:.13em}.choice-chip-group{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{min-height:36px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:600 10px/1.2 var(--sans);cursor:pointer}.choice-chip:hover:not(:disabled){border-color:rgba(232,207,134,.58)}.choice-chip.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold));border-color:transparent;color:var(--red-deep)}.choice-chip:disabled{opacity:.28;cursor:not-allowed}
.modal-select,.modal-note{width:100%;border:1px solid var(--line)!important;background:var(--input-bg,var(--panel))!important;color:var(--text)!important;border-radius:13px!important;font:400 12px var(--sans)!important}.modal-select{min-height:44px;padding:0 13px}.modal-note{min-height:82px;padding:12px 13px;resize:vertical}
.mdn-master-product-modal .modal-actions{margin:0!important;padding:18px 40px 20px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}.mdn-master-product-modal .modal-actions .button{min-width:230px}.mdn-master-product-modal .modal-actions .button:disabled{opacity:.48;cursor:not-allowed}

/* Cart: a broader right menu block; image + metadata have more breathing room. */
.mdn-cart-page-v3 .checkout-layout{width:min(1260px,100%)!important;grid-template-columns:minmax(0,1fr) minmax(430px,470px)!important;gap:34px!important}
.mdn-master-cart-line{grid-template-columns:22px 66px minmax(0,1fr) auto!important;grid-template-areas:'remove thumb copy price' '. thumb qty qty'!important;column-gap:11px!important;row-gap:8px!important;align-items:center!important}
.mdn-master-cart-line .summary-remove{grid-area:remove!important;align-self:center!important;justify-self:center!important;width:22px!important;height:32px!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:18px!important;cursor:pointer!important;padding:0!important}
.mdn-master-cart-line .summary-remove:hover{color:var(--accent-ui)!important}.mdn-cart-thumb{grid-area:thumb!important;width:66px!important;height:66px!important;border-radius:14px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:rgba(232,207,134,.08)!important}.mdn-cart-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mdn-cart-thumb span{font:500 20px var(--serif);opacity:.3}
.mdn-master-cart-line .summary-copy{grid-area:copy!important;min-width:0}.mdn-master-cart-line .summary-copy b{font-size:11.5px!important;line-height:1.25!important}.mdn-master-cart-line .summary-copy small{display:block!important;font-size:9.5px!important;line-height:1.42!important;margin-top:2px!important;color:var(--muted)!important}.mdn-master-cart-line .summary-price{grid-area:price!important;align-self:center!important;font-size:10.5px!important;font-weight:650!important;white-space:nowrap!important;color:var(--text)!important}
.mdn-master-cart-line .qty{grid-area:qty!important;justify-self:start!important;gap:5px!important}.mdn-master-cart-line .qty button{width:25px!important;height:25px!important;border-radius:50%!important}.mdn-master-cart-line .qty input{width:32px!important;height:25px!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important;font-size:10px!important;padding:0!important;color:var(--text)!important;-moz-appearance:textfield}.mdn-master-cart-line .qty input::-webkit-outer-spin-button,.mdn-master-cart-line .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mdn-cart-remove-modal .feedback-card{max-width:460px}.mdn-cart-remove-modal .feedback-card h3{font:500 30px/1.05 var(--serif);margin:8px 0 10px}.mdn-cart-remove-modal .feedback-card p:not(.eyebrow){font-size:13px;line-height:1.6;color:var(--muted)}.mdn-cart-remove-modal .remove-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.mdn-cart-remove-modal .mdn-keep-item{box-shadow:0 10px 24px rgba(45,8,6,.15)}.mdn-cart-remove-modal .mdn-remove-item{opacity:.78}

/* Gift page must never show a Sapo-combo merely because it is structurally a combo. */
.mdn-gift-empty{max-width:760px;margin-inline:auto}

@media(max-width:1180px){.mdn-category-visual-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.mdn-master-product-modal .product-modal-grid{grid-template-columns:minmax(440px,52%) minmax(390px,48%)!important}.mdn-cart-page-v3 .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(390px,430px)!important}}
@media(max-width:900px){.mdn-category-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mdn-master-product-modal .modal-panel{height:min(900px,94vh)!important;overflow:auto!important}.mdn-master-product-modal .product-modal-grid{grid-template-columns:1fr!important;height:auto!important}.mdn-master-product-modal .product-modal-media{height:42vh;min-height:320px}.mdn-master-product-modal .product-modal-copy{height:auto!important}.mdn-master-product-modal .product-modal-scroll{max-height:none!important;overflow:visible!important}.mdn-cart-page-v3 .checkout-layout{grid-template-columns:1fr!important}.order-summary{position:static!important;max-width:none!important}}
@media(max-width:620px){.mdn-category-visual-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}.category-tile.mdn-category-visual{min-height:196px!important;grid-template-rows:88px auto!important}.mdn-category-media{height:88px}.mdn-category-copy{padding:12px}.mdn-category-copy b{font-size:10.5px!important}.mdn-category-copy small{font-size:9px}.mdn-master-product-modal .modal-panel{width:96vw!important;border-radius:22px!important}.mdn-master-product-modal .product-modal-media{height:34vh;min-height:250px}.mdn-master-product-modal .product-modal-scroll{padding:28px 20px 22px}.mdn-master-product-modal .modal-actions{padding:14px 20px 16px!important;align-items:stretch!important;flex-direction:column!important}.mdn-master-product-modal .modal-actions .button{width:100%;min-width:0}.pm-gallery-nav{width:36px;height:36px}.mdn-master-cart-line{grid-template-columns:20px 58px minmax(0,1fr)!important;grid-template-areas:'remove thumb copy' '. thumb price' '. . qty'!important}.mdn-cart-thumb{width:58px!important;height:58px!important}.mdn-master-cart-line .summary-price{justify-self:start!important}}


/* v10.16.3 — reviewed menu/modal/about/gift fidelity */
.mdn-category-copy b{font-size:13px!important;line-height:1.3!important;min-height:34px!important;letter-spacing:.005em}
.mdn-category-copy small{font:400 11px/1.55 var(--sans)!important;color:var(--muted)}
.about-media-title>span,.about-media-title>em{display:block!important}
.about-media-title>span em{color:var(--accent-display);font-style:italic;font-weight:500}
.about-media-disclosure{margin-top:26px}.about-media-disclosure>summary{list-style:none;cursor:pointer;width:max-content;margin:0 auto}.about-media-disclosure>summary::-webkit-details-marker{display:none}.about-media-disclosure .media-less-label{display:none}.about-media-disclosure[open] .media-more-label{display:none}.about-media-disclosure[open] .media-less-label{display:inline}.about-media-disclosure .about-media-more{margin-top:18px}
#productModal .pm-title-row{display:block!important;padding-right:36px}
#productModal .modal-favorite{position:static!important;margin:10px 0 2px!important;display:inline-flex!important;min-height:38px!important;padding:0!important;border:0!important;background:transparent!important;gap:9px!important;color:var(--muted)!important;font:500 12px/1 var(--sans)!important}
#productModal .modal-favorite svg{width:24px!important;height:24px!important;stroke-width:1.6!important}
#productModal .modal-favorite.is-active{color:var(--accent-display)!important}
#productModal .pm-price-row small,#productModal .modal-total small,#productModal .choice>label{font:600 11px/1.2 var(--sans)!important;letter-spacing:.1em!important}
#productModal .pm-price-row strong,#productModal .modal-total strong{font:600 21px/1.15 var(--sans)!important;letter-spacing:-.02em!important;color:var(--accent-display)!important}
#productModal .choice-chip{min-height:40px!important;padding:8px 13px!important;border-radius:8px!important;font:500 13px/1.25 var(--sans)!important;letter-spacing:0!important}
#productModal .choice-chip:disabled{opacity:.26!important}
#productModal .choice{margin-top:20px!important}
.pm-choice-tools{display:flex;justify-content:flex-end;margin:10px 0 -2px}.pm-choice-tools button{border:0;background:transparent;color:var(--accent-ui);font:600 11px/1.2 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:5px 0}
#productModal .modal-actions{position:static!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:17px 40px 19px!important;left:auto!important;right:auto!important;transform:none!important;overflow:hidden!important}
#productModal .modal-total{min-width:0;display:grid;grid-template-columns:auto;align-content:center}
#pmSelectionHint{display:block;margin-top:5px;font:400 11px/1.35 var(--sans);color:var(--muted);white-space:normal;max-width:260px}
#pmSelectionHint[hidden]{display:none!important}
@media(max-width:620px){.mdn-category-copy b{font-size:11.5px!important}.mdn-category-copy small{font-size:10px!important}#productModal .modal-actions{padding:14px 20px 16px!important}}


/* =========================================================
   v10.16.4 — fidelity, accessible modal, gifts, cart/order flow
   ========================================================= */
/* About media: two deliberate lines, closer columns, same body scale as narrative. */
.about-media-head{grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr)!important;column-gap:clamp(24px,3vw,46px)!important}
.about-media-title{font-size:clamp(36px,3.7vw,54px)!important;line-height:1.02!important}
.about-media-title>span{display:block!important;white-space:nowrap!important}
.about-media-title>em{display:block!important;color:var(--accent-display)!important;font-style:italic!important}
.about-media-head>p{font-size:15px!important;line-height:1.68!important;max-width:520px!important;margin-top:38px!important;justify-self:start!important}
.about-media-grid{margin-top:18px!important}.about-media-card.is-media-extra[hidden]{display:none!important}.about-media-actions{display:flex!important;justify-content:center!important;margin-top:26px!important}.about-media-actions .button{margin-inline:auto!important}

/* Category discovery: smaller colour header, larger legible group title/body. */
.category-tile.mdn-category-visual{grid-template-rows:76px auto!important;min-height:206px!important}
.mdn-category-media{height:76px!important}.mdn-category-media i{left:14px!important;top:12px!important;font-size:19px!important}.mdn-category-media::before{width:58px!important;height:58px!important;bottom:-27px!important}.mdn-category-media::after{width:31px!important;height:31px!important;bottom:-10px!important}
.mdn-category-copy{padding:16px 16px 18px!important}.mdn-category-copy b{font-size:16.5px!important;line-height:1.25!important;min-height:42px!important;font-weight:600!important}.mdn-category-copy small{font:400 13px/1.56 var(--sans)!important;color:var(--muted)!important}

/* Modal header hierarchy. */
#pmGroup{display:grid!important;gap:3px!important;margin-bottom:7px!important}#pmGroup span{display:block!important}#pmGroup span+span{font-size:.93em!important;opacity:.9}
#productModal .product-modal-copy{min-width:0!important;overflow:hidden!important}
#productModal .product-modal-scroll{padding:36px 38px 26px!important}
#productModal .product-modal-copy h2{font-size:clamp(34px,3.1vw,44px)!important;margin:5px 0 0!important}
#productModal .modal-favorite{position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important;margin:12px 0 5px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;color:var(--muted)!important}
#productModal .modal-favorite svg{display:block!important;width:28px!important;height:28px!important;min-width:28px!important;fill:transparent!important;stroke:currentColor!important;stroke-width:1.65!important}
#productModal .modal-favorite span{font:600 10px/1 var(--sans)!important;letter-spacing:.13em!important;text-transform:uppercase!important}.modal-favorite.is-active{color:var(--accent-display)!important;background:transparent!important}
#productModal .pm-price-row{align-items:center!important;padding:19px 0 18px!important;margin-bottom:15px!important}.pm-price-row>div:first-child{display:grid;align-content:center}.pm-price-row strong{font:600 26px/1.08 var(--sans)!important}.pm-qty{align-items:center!important}.pm-qty span{font-size:15px!important;font-weight:600!important;line-height:31px!important}.pm-qty button{width:33px!important;height:33px!important}
#productModal .pm-price-row small,#productModal .modal-total small,#productModal .choice>label{font:600 12.5px/1.2 var(--sans)!important;letter-spacing:.09em!important}
#productModal .modal-info-block{padding:16px 0 3px!important}#productModal .modal-info-block h4{font:600 15px/1.35 var(--sans)!important;margin-bottom:9px!important}#productModal .modal-info-block p{font:400 15px/1.7 var(--sans)!important;color:var(--muted)!important}#productModal .modal-info-block #pmInfoExtra{font:400 13.5px/1.6 var(--sans)!important}
#productModal .choice{margin-top:19px!important;gap:8px!important}#productModal .choice-chip-group{gap:8px!important}.choice-chip{min-height:39px!important;padding:7px 12px!important;border-radius:11px!important;font:400 14.5px/1.25 var(--sans)!important;letter-spacing:0!important}.choice-chip:disabled{opacity:1!important;cursor:pointer!important}.modal-select,.modal-note{font:400 15px/1.45 var(--sans)!important;border-radius:12px!important}.modal-select{min-height:46px!important}.modal-note{min-height:88px!important}
#productModal .modal-actions{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:17px 38px 19px!important;overflow:hidden!important}.mdn-master-product-modal .modal-actions .button{min-width:220px!important;max-width:100%!important}.modal-total{min-width:0!important;overflow:hidden!important}.modal-total strong{font:600 23px/1.12 var(--sans)!important}.modal-total #pmSelectionHint{font-size:12px!important;max-width:none!important}

/* Gift occasions: taller visual boxes ready for muted imagery; selection stays in filter controls. */
.occasion-tile-grid{gap:12px!important}.occasion-tile.mdn-occasion-visual{min-height:148px!important;padding:0!important;display:grid!important;grid-template-rows:96px auto!important;overflow:hidden!important;border-radius:20px!important;text-align:left!important}.occasion-art{position:relative;display:block;background:linear-gradient(145deg,#40100d,#79221a);overflow:hidden}.occasion-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 22%,rgba(232,207,134,.25),transparent 28%),linear-gradient(120deg,rgba(0,0,0,.05),rgba(0,0,0,.35))}.occasion-art i{position:absolute;left:15px;bottom:12px;font:500 18px/1 var(--serif);font-style:normal;color:var(--gold2)}.mdn-occasion-visual>b{display:block;padding:13px 16px 15px;font-size:12.5px!important;line-height:1.3!important;position:relative;z-index:1}.occasion-tile.mdn-occasion-visual:hover,.occasion-tile.mdn-occasion-visual:focus-visible,.occasion-tile.mdn-occasion-visual.is-active{background:var(--card)!important;color:var(--text)!important}.occasion-tile.mdn-occasion-visual.is-active{border-color:var(--accent-ui)!important;box-shadow:0 14px 28px rgba(48,7,5,.15)!important}.gift-results-section .section-head h2 em{color:var(--accent-display)!important;font-style:italic!important}

/* Catering CTA: one measured step down from 16.3. */
.catering-final-cta h2{font-size:clamp(44px,4.8vw,66px)!important;line-height:.98!important}

/* Header always displays real Sapo cart count. */
.cart-pill [data-cart-count]{display:grid}

/* Cart line: canonical name on top, then remove / image / selected metadata / price aligned through centre. */
.mdn-cart-page-v3 .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(450px,500px)!important}
.mdn-master-cart-line{display:grid!important;grid-template-columns:24px 72px minmax(0,1fr) auto!important;grid-template-areas:'title title title title' 'remove thumb copy price' 'remove thumb qty price'!important;column-gap:12px!important;row-gap:7px!important;padding:0 0 14px!important;align-items:center!important}
.mdn-master-cart-line .summary-title{grid-area:title!important;font:600 15px/1.28 var(--sans)!important;margin:0 0 2px!important}.summary-title a{color:inherit!important}
.mdn-master-cart-line .summary-remove{grid-area:remove!important;align-self:center!important;justify-self:center!important;width:24px!important;height:72px!important;font-size:20px!important}.mdn-cart-thumb{grid-area:thumb!important;width:72px!important;height:72px!important}.mdn-master-cart-line .summary-copy{grid-area:copy!important;align-self:center!important}.mdn-master-cart-line .summary-copy small{display:grid!important;grid-template-columns:auto 1fr!important;gap:5px!important;font:400 11.5px/1.45 var(--sans)!important;margin:1px 0!important}.mdn-master-cart-line .summary-copy small span{font-weight:600!important;color:var(--text)!important}.mdn-master-cart-line .summary-price{grid-area:price!important;align-self:center!important;font:600 15px/1.25 var(--sans)!important}.mdn-master-cart-line .qty{grid-area:qty!important;align-self:center!important}.mdn-master-cart-line .qty input{font-size:12px!important}.summary-items{gap:14px!important}
.order-summary h2{font-size:25px!important}.order-summary .button[data-place-order]{font-size:13px!important}

/* Order confirmation / success view. */
.order-confirm-modal .feedback-card{max-width:500px}.order-confirm-modal h3{font:500 32px/1.05 var(--serif);margin:8px 0 12px}.order-confirm-modal p:not(.eyebrow){font-size:14px;line-height:1.6;color:var(--muted)}.order-confirm-modal .remove-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.mdn-order-success{padding:150px 0 90px;min-height:100vh}.confirm-head{text-align:center;max-width:800px;margin:0 auto 42px}.confirm-head small{font-size:10px;letter-spacing:.15em;color:var(--accent-ui);font-weight:700}.confirm-head h1{font:500 clamp(48px,5vw,70px)/.98 var(--serif);margin:10px 0 16px}.confirm-head p{font-size:16px;line-height:1.7;color:var(--muted);max-width:670px;margin:0 auto 15px}.confirm-head>b{display:inline-block;color:var(--accent-ui);font-size:13px}.confirm-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;max-width:1120px;margin:auto}.confirm-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.confirm-card h2{font:500 27px var(--serif);margin:0 0 18px}.confirm-items{display:grid;gap:12px}.confirm-line{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.confirm-line b{display:block;font-size:13px}.confirm-line small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.confirm-line strong{font-size:13px;white-space:nowrap}.confirm-totals{display:grid;gap:10px;margin-top:20px}.confirm-totals>div,.confirm-meta>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.confirm-totals .is-total{padding-top:12px;border-top:1px solid var(--line);font-size:15px;color:var(--accent-ui)}.confirm-meta{display:grid;gap:12px}.confirm-meta span{color:var(--muted)}.confirm-meta b{text-align:right}.confirm-actions{display:grid;gap:9px;margin-top:26px}.button-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle;margin-right:7px}

@media(max-width:1050px){.about-media-title>span{white-space:normal!important}.about-media-head{grid-template-columns:1fr!important}.about-media-head>p{margin-top:16px!important}.confirm-grid{grid-template-columns:1fr}.mdn-cart-page-v3 .checkout-layout{grid-template-columns:1fr!important}}
@media(max-width:620px){.category-tile.mdn-category-visual{grid-template-rows:64px auto!important;min-height:190px!important}.mdn-category-media{height:64px!important}.mdn-category-copy b{font-size:14.5px!important}.mdn-category-copy small{font-size:12px!important}.occasion-tile.mdn-occasion-visual{min-height:132px!important;grid-template-rows:82px auto!important}#productModal .product-modal-scroll{padding:28px 20px 22px!important}#productModal .modal-actions{grid-template-columns:1fr!important;padding:14px 20px 16px!important}.mdn-master-cart-line{grid-template-columns:22px 62px minmax(0,1fr)!important;grid-template-areas:'title title title' 'remove thumb copy' 'remove thumb price' '. thumb qty'!important}.mdn-cart-thumb{width:62px!important;height:62px!important}.mdn-master-cart-line .summary-price{justify-self:start!important}.mdn-order-success{padding-top:115px}.confirm-head h1{font-size:44px}}


/* v10.16.5 — targeted fidelity/data/cart repair */
/* About media: CSS-only disclosure, so it cannot be broken by an unrelated JS runtime error. */
.about-media-toggle-input:not(:checked)~#aboutMediaGrid .is-media-extra{display:none!important}
.about-media-toggle-input:checked~#aboutMediaGrid .is-media-extra{display:flex!important}
.about-media-actions{display:flex!important;justify-content:center!important;align-items:center!important;margin-top:26px!important}
.about-media-collapse{display:none!important}.about-media-toggle-input:checked~.about-media-actions .about-media-expand{display:none!important}.about-media-toggle-input:checked~.about-media-actions .about-media-collapse{display:inline-flex!important}
.about-principle{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
/* Modal breadcrumb back to the approved single-line category • subgroup treatment. */
#productModal #pmGroup{display:block!important;white-space:normal!important}.pm-group-sep{display:inline!important;margin:0 .28em;color:var(--accent-ui)!important}
/* Invalid combinations stay visibly blocked; customer's higher-level choice is never silently removed. */
#productModal .choice-chip:disabled{opacity:.32!important;cursor:not-allowed!important;filter:saturate(.45)!important;transform:none!important;box-shadow:none!important}
/* Keep the sticky total/action physically inside the right information column. */
#productModal .product-modal-copy{min-width:0!important;max-width:100%!important;overflow:hidden!important;position:relative!important}
#productModal .modal-actions{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) minmax(210px,250px)!important;overflow:hidden!important}
#productModal .modal-actions .button{width:100%!important;min-width:0!important;max-width:250px!important;justify-self:end!important}
#productModal #pmPrice{font:600 clamp(24px,2.1vw,31px)/1.1 var(--sans)!important}
#productModal #pmTotal{font:650 clamp(25px,2.25vw,33px)/1.08 var(--sans)!important}
#productModal .modal-total{min-width:0!important;max-width:100%!important}
/* Set composition in the same scrollable information column. */
.modal-components{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.modal-components h4{margin:0 0 10px;font:600 14px/1.3 var(--sans);color:var(--text)}.modal-components ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.modal-components li{display:flex;justify-content:space-between;gap:14px;font-size:14px;line-height:1.48;color:var(--muted)}.modal-components li span{color:var(--text)}.modal-components li b{font-weight:600;white-space:nowrap}
/* Gift occasion tiles return to compact text boxes with selected gold gradient + shimmer. */
.occasion-tile-grid{gap:10px!important}.occasion-tile-grid .occasion-tile{position:relative!important;overflow:hidden!important;min-height:78px!important;padding:14px 16px!important;display:grid!important;place-items:center!important;text-align:center!important;border-radius:17px!important;background:var(--card)!important;color:var(--text)!important}
.occasion-tile-grid .occasion-tile b{font-size:12px!important;line-height:1.3!important;position:relative;z-index:2}
.occasion-tile-grid .occasion-tile:after{content:'';position:absolute;inset:0;transform:translateX(-135%);background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.04) 38%,rgba(255,255,255,.45) 50%,rgba(255,255,255,.04) 62%,transparent 76%);transition:transform .65s ease}.occasion-tile-grid .occasion-tile:hover:after,.occasion-tile-grid .occasion-tile:focus-visible:after{transform:translateX(135%)}
.occasion-tile-grid .occasion-tile:hover,.occasion-tile-grid .occasion-tile:focus-visible,.occasion-tile-grid .occasion-tile.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:transparent!important;box-shadow:0 12px 26px rgba(50,8,5,.18)!important;outline:none!important}
.gift-results-section .menu-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* Cart: canonical concise option line + corrected visual hierarchy. */
.mdn-master-cart-line .summary-title{font-size:16.5px!important}.mdn-master-cart-line .summary-copy .summary-selection{font-size:12.5px!important;line-height:1.55!important;color:var(--muted)!important}.mdn-master-cart-line .summary-price{font-size:16.5px!important;font-weight:650!important;color:var(--text)!important}.mdn-policy-error{display:block;color:#c9342d!important;font-size:11.5px!important;line-height:1.4;margin:-7px 0 12px}.mdn-policy-error[hidden]{display:none!important}
.confirm-meta>div{font-size:11px!important;text-transform:none!important;letter-spacing:0!important}.confirm-meta span,.confirm-meta b{text-transform:none!important;letter-spacing:0!important}.confirm-meta b{font-size:11px!important;font-weight:500!important}
.confirm-line b{font-size:14px!important}.confirm-line small{font-size:11.5px!important}.confirm-line strong{font-size:14px!important}
/* CTA back down one notch from the previous oversized pass. */
.catering-final-cta h2{font-size:clamp(36px,3.7vw,52px)!important}
@media(max-width:620px){#productModal .modal-actions{grid-template-columns:1fr!important}#productModal .modal-actions .button{max-width:none!important}.gift-results-section .menu-filter-grid{grid-template-columns:1fr!important}.occasion-tile-grid .occasion-tile{min-height:70px!important}}

.about-media-toggle-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}


/* =========================================================
   v10.16.6 — modal light theme, phone account, cart hierarchy
   ========================================================= */
/* Product detail modal: taller/narrower, full image visible, unified light-mode surface. */
#productModal .modal-panel{width:min(1120px,94vw)!important;height:min(820px,92vh)!important;max-height:92vh!important;border-radius:24px!important;background:var(--panel)!important}
#productModal .product-modal-grid{height:100%!important;grid-template-columns:minmax(420px,48%) minmax(0,52%)!important}
#productModal .product-modal-media{height:100%!important;padding:0!important;background:linear-gradient(145deg,#3e100d,#732117)!important;overflow:hidden!important}
#productModal .product-modal-gallery{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;border-radius:0!important}
#productModal .product-modal-image{width:100%!important;height:100%!important;border-radius:0!important;background:transparent!important}
#productModal .product-modal-image img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
#productModal .mdn-modal-art{background:radial-gradient(circle at 65% 20%,rgba(232,207,134,.14),transparent 30%),linear-gradient(145deg,#3e100d,#732117)!important}
html[data-theme='light'] #productModal .product-modal-media{background:linear-gradient(145deg,#f2e1ce,#e8d1b7)!important}
html[data-theme='light'] #productModal .mdn-modal-art{color:rgba(131,39,25,.62)!important;background:radial-gradient(circle at 65% 20%,rgba(201,164,77,.18),transparent 30%),linear-gradient(145deg,#f5e8d8,#ead5bd)!important}
html[data-theme='light'] #productModal .product-modal-copy,html[data-theme='light'] #productModal .modal-actions{background:#fffaf2!important}
#productModal .product-modal-scroll{height:calc(100% - 104px)!important;padding:38px 38px 148px!important}
#productModal .modal-actions{min-height:104px!important;padding:17px 38px 19px!important;background:var(--panel)!important}

/* Taxonomy: category then subgroup on the next line, no bullet. */
#pmGroup.pm-taxonomy{display:grid!important;gap:3px!important;white-space:normal!important;margin-bottom:7px!important}
#pmGroup .pm-category-line,#pmGroup .pm-subgroup-line{display:block!important}
#pmGroup .pm-subgroup-line{font-size:.94em!important;color:var(--muted)!important;letter-spacing:.08em!important}
.pm-group-sep{display:none!important}

/* Favorite is a real compact button. */
#productModal .modal-favorite{display:inline-flex!important;align-items:center!important;gap:8px!important;width:auto!important;min-height:38px!important;padding:7px 12px!important;margin:13px 0 4px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(255,255,255,.025)!important;color:var(--muted)!important;box-shadow:none!important}
#productModal .modal-favorite svg{width:21px!important;height:21px!important;min-width:21px!important}
#productModal .modal-favorite span{font:600 10px/1 var(--sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important}
#productModal .modal-favorite:hover,#productModal .modal-favorite.is-active{border-color:var(--accent-ui)!important;color:var(--accent-display)!important;background:rgba(232,207,134,.08)!important}
html[data-theme='light'] #productModal .modal-favorite{background:rgba(131,39,25,.025)!important}
html[data-theme='light'] #productModal .modal-favorite:hover,html[data-theme='light'] #productModal .modal-favorite.is-active{background:rgba(131,39,25,.07)!important}

/* Readability for an older customer base. */
#productModal .pm-price-row small,#productModal .modal-total small,#productModal .choice>label{font-size:13.5px!important}
#productModal .pm-price-row strong{font-size:30px!important;font-weight:700!important;color:var(--text)!important}
#productModal .modal-total strong{font-size:30px!important;font-weight:700!important;color:var(--text)!important}
#productModal .modal-info-block h4{font-size:16px!important}
#productModal .modal-info-block p{font-size:16px!important;line-height:1.72!important}
#productModal .modal-info-block #pmInfoExtra{font-size:15px!important;line-height:1.65!important}
#productModal .choice>label{font-weight:600!important}
#productModal .choice-chip{font-size:15.5px!important;min-height:41px!important;padding:8px 13px!important;border-radius:12px!important;font-weight:400!important}
#productModal .modal-select,#productModal .modal-note{font-size:16px!important}

/* Cart item: price on the right; quantity directly underneath it. */
.mdn-master-cart-line{grid-template-columns:24px 72px minmax(0,1fr) minmax(100px,auto)!important;grid-template-areas:'title title title title' 'remove thumb copy price' 'remove thumb copy qty'!important;align-items:center!important}
.mdn-master-cart-line .summary-price{grid-area:price!important;justify-self:end!important;align-self:end!important;font-size:16.5px!important;font-weight:650!important}
.mdn-master-cart-line .qty{grid-area:qty!important;justify-self:end!important;align-self:start!important;margin-top:4px!important}
.mdn-master-cart-line .qty input{border:0!important;background:transparent!important;font-size:13px!important;font-weight:600!important;width:34px!important}
.mdn-master-cart-line .summary-remove{align-self:center!important}
.mdn-cart-page-v3 .summary-meta>div{font-size:14.5px!important}.mdn-cart-page-v3 .summary-meta strong{font-size:16.5px!important;font-weight:650!important}.mdn-cart-page-v3 .summary-meta .summary-total strong{font-size:20px!important}

/* Order success: grouped canonical dishes and larger totals. */
.confirm-items{display:grid!important;gap:0!important}.confirm-group{padding:14px 0;border-bottom:1px solid var(--line)}.confirm-group:last-child{border-bottom:0}.confirm-group-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.confirm-group-head b,.confirm-group-head strong{font:600 15.5px/1.4 var(--sans)!important}.confirm-group-lines{display:grid;gap:3px;margin-top:6px}.confirm-group-lines small{font:400 12px/1.5 var(--sans);color:var(--muted)}
.confirm-totals>div{font-size:14px!important}.confirm-totals>div b{font-size:16.5px!important}.confirm-totals .is-total b{font-size:22px!important}

/* Account phone-first forms and branded validation. */
.mdn-account-client-error{margin:0;padding:10px 12px;border-radius:10px;background:rgba(201,52,45,.08);border:1px solid rgba(201,52,45,.24);color:#c9342d;font:500 12.5px/1.5 var(--sans)}.mdn-account-client-error[hidden]{display:none!important}
.account-local-form input[type='tel']{font-variant-numeric:tabular-nums}

@media(max-width:920px){#productModal .modal-panel{width:min(720px,96vw)!important;height:auto!important;max-height:94vh!important;overflow:auto!important}#productModal .product-modal-grid{grid-template-columns:1fr!important;height:auto!important}#productModal .product-modal-media{height:42vh!important;min-height:320px!important}#productModal .product-modal-scroll{height:auto!important;padding:28px 22px 24px!important}#productModal .modal-actions{min-height:0!important}.mdn-master-cart-line{grid-template-columns:22px 62px minmax(0,1fr) auto!important}}
@media(max-width:620px){#productModal .product-modal-media{height:36vh!important;min-height:270px!important}.mdn-master-cart-line{grid-template-columns:22px 58px minmax(0,1fr)!important;grid-template-areas:'title title title' 'remove thumb copy' 'remove thumb price' '. thumb qty'!important}.mdn-master-cart-line .summary-price,.mdn-master-cart-line .qty{justify-self:start!important}}


/* =========================================================
   v10.16.7 — catering continuity, persistent nav, wider modal,
   progressive gift reveal, Sapo social-login bridge
   ========================================================= */
/* Current destination remains underlined, not hover-only. */
.main-nav a.is-active::after,.main-nav a[aria-current='page']::after{right:0!important;background:var(--accent-ui)!important;height:2px!important}

/* Catering heading: line 1 continues through “Dịch vụ được”; line 2 is the continuation. */
.catering-team-heading>span{display:block!important}
.catering-team-heading>span em{display:inline!important;color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}
.catering-team-heading>em.display-line{display:block!important;color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}
.catering-team-section .team-founder small,.catering-team-section .team-service-pair small{color:var(--accent-ui)!important}
html[data-theme='light'] .catering-team-section .team-founder small,html[data-theme='light'] .catering-team-section .team-service-pair small{color:var(--accent-ui)!important}
.partner-wall .partner-logo img[alt='Vingroup']{max-height:66px!important;max-width:94%!important;object-fit:contain!important}

/* Product modal: wider and shorter so the complete image remains visible; both arrows stay symmetric. */
#productModal .modal-panel{width:min(1320px,96vw)!important;height:min(750px,90vh)!important;max-height:90vh!important;border-radius:24px!important;overflow:hidden!important}
#productModal .product-modal-grid{grid-template-columns:minmax(0,52%) minmax(0,48%)!important;height:100%!important}
#productModal .product-modal-media{min-width:0!important;height:100%!important;overflow:hidden!important}
#productModal .product-modal-gallery{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;overflow:hidden!important}
#productModal .product-modal-image{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:24px!important;box-sizing:border-box!important;overflow:hidden!important}
#productModal .product-modal-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important}
#productModal .pm-gallery-nav{display:grid!important;visibility:visible!important;opacity:.94!important;z-index:12!important;top:50%!important;width:44px!important;height:44px!important}
#productModal .pm-gallery-nav.prev{left:18px!important;right:auto!important}
#productModal .pm-gallery-nav.next{right:18px!important;left:auto!important}
#productModal .pm-gallery-nav:disabled{opacity:.42!important;display:grid!important;visibility:visible!important}
#productModal .product-modal-scroll{height:calc(100% - 106px)!important;padding:34px 34px 142px!important}
#productModal .modal-actions{min-height:106px!important;padding:17px 34px 19px!important}
#pmGroup .pm-subgroup-line{font-style:italic!important;color:var(--accent-display)!important;letter-spacing:.04em!important;text-transform:none!important}

/* Sapo Social Login bridge: visible MdN buttons, but disabled until the real app/provider control exists. */
.mdn-sapo-social-bridge{margin-bottom:2px}.mdn-sapo-social-bridge .social-auth.is-disabled{opacity:.54;cursor:not-allowed;transform:none!important}.mdn-social-status{display:block;text-align:center;font:400 10.5px/1.45 var(--sans);color:var(--muted);padding:2px 8px 0}.mdn-account-backend-note{font-size:12px!important;line-height:1.55!important}

/* Gift landing is occasions-first; results are truly absent until an occasion is selected. */
.gift-results-section[hidden]{display:none!important}

@media(max-width:1040px){#productModal .modal-panel{width:min(900px,96vw)!important;height:min(780px,92vh)!important}#productModal .product-modal-grid{grid-template-columns:minmax(0,49%) minmax(0,51%)!important}}
@media(max-width:920px){#productModal .modal-panel{width:min(720px,96vw)!important;height:auto!important;max-height:94vh!important;overflow:auto!important}#productModal .product-modal-grid{grid-template-columns:1fr!important;height:auto!important}#productModal .product-modal-media{height:42vh!important;min-height:320px!important}#productModal .product-modal-image{padding:16px!important}#productModal .product-modal-scroll{height:auto!important;padding:28px 22px 24px!important}#productModal .modal-actions{min-height:0!important}}


/* =========================================================
   v10.16.8 — exact catering line, primary-version UX,
   uppercase taxonomy, native Sapo account correction
   ========================================================= */
/* Do not let “kinh nghiệm.” orphan. The approved desktop composition is exactly two lines. */
.catering-team-section .section-head{grid-template-columns:minmax(0,1.58fr) minmax(250px,.42fr)!important;column-gap:30px!important}
.catering-team-section .section-head>p{max-width:360px!important}
.catering-team-heading{font-size:clamp(32px,3.15vw,46px)!important;line-height:1.07!important}
.catering-team-heading .catering-team-line1{display:block!important;white-space:nowrap!important}
.catering-team-heading .catering-team-line1 em,.catering-team-heading .catering-team-line2{color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}
.catering-team-heading .catering-team-line1 em{display:inline!important}
.catering-team-heading .catering-team-line2{display:block!important;white-space:nowrap!important}

/* Product taxonomy: two clean uppercase lines, no bullet/dot. */
#pmGroup .pm-category-line,#pmGroup .pm-subgroup-line{display:block!important;text-transform:uppercase!important}
#pmGroup .pm-category-line{font-style:normal!important;color:var(--accent-ui)!important}
#pmGroup .pm-subgroup-line{font-style:italic!important;color:var(--accent-display)!important;letter-spacing:.075em!important;margin-top:4px!important}

/* Variant order is more legible; disabled lower choices stay visible so the relationship is obvious. */
#productModal .choice-chip:disabled{opacity:.28!important;filter:saturate(.55)}
#productModal .choice-chip-group{align-items:stretch!important}

/* Login/register now use the fields native Sapo actually authenticates. */
.account-local-form input[type='email']{font-variant-numeric:normal}
.mdn-social-status{max-width:430px;margin-inline:auto}

@media(max-width:1260px){
  .catering-team-section .section-head{grid-template-columns:1fr!important}
  .catering-team-section .section-head>p{margin-top:20px!important;max-width:680px!important}
  .catering-team-heading .catering-team-line1,.catering-team-heading .catering-team-line2{white-space:normal!important}
}

/* =========================================================
   v10.16.9 — flush pass: catering scale, taxonomy filters,
   visible feedback, gift disclosure, grouped cart/order
   ========================================================= */
/* Catering: all editorial section headlines use one scale. The team heading
   is allowed to breathe inside its own column; never extend into body copy. */
.catering-v10-page .catering-formats-section .section-head h2,
.catering-v10-page .catering-team-section .section-head h2,
.catering-v10-page .catering-partner-section .section-head h2,
.catering-v10-page .internal-section .menu-section-head h2{
  font:500 clamp(36px,4vw,54px)/1.03 var(--serif)!important;
  letter-spacing:-.035em!important;
}
.catering-team-section .section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important;
  gap:clamp(34px,4vw,60px)!important;
  align-items:start!important;
}
.catering-team-section .section-head>div{min-width:0!important}
.catering-team-section .section-head>p{
  margin-top:44px!important;
  max-width:520px!important;
  justify-self:end!important;
  font-size:15px!important;
  line-height:1.66!important;
}
.catering-team-heading{font-size:clamp(36px,4vw,54px)!important;line-height:1.03!important;text-wrap:balance!important;max-width:780px!important}
.catering-team-heading>span,.catering-team-heading>em{display:block!important;white-space:normal!important}
.catering-team-heading>em{color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}
.catering-final-cta h2{font-size:clamp(46px,5vw,70px)!important;line-height:.97!important;letter-spacing:-.042em!important}

/* Four exact menu filters: Danh mục -> Nhóm món -> Chế độ ăn -> Nguyên liệu. */
.full-menu-section .menu-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Success toast sits high enough to be noticed above mobile browser chrome/cart UI. */
.toast{
  bottom:max(72px,calc(env(safe-area-inset-bottom,0px) + 58px))!important;
  z-index:9999!important;
  padding:12px 18px!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.35!important;
  box-shadow:0 14px 38px rgba(24,4,3,.28)!important;
  max-width:min(620px,calc(100vw - 32px))!important;
  white-space:normal!important;
  text-align:center!important;
}

/* Gift page: keep the original occasions-first composition but show the
   filter/result area from the start with a clear empty-state instruction. */
.gift-results-section{display:block!important;padding-top:58px!important}
.gift-results-section[hidden]{display:block!important}
.gift-results-section .section-head{margin-bottom:22px!important}
.gift-results-section .result-meta{margin-top:16px!important;margin-bottom:18px!important;font-size:13.5px!important;line-height:1.55!important}
.gift-results-section .product-grid:empty::after{content:'Chọn một dịp hoặc loại ở phía trên để xem những lựa chọn phù hợp.'!important}
.occasion-tile-grid{margin-top:24px!important}
.occasion-tile-grid .occasion-tile{min-height:78px!important;padding:14px 16px!important}

/* Customer-facing set composition: decimals are converted to actual gram
   quantities when the child SKU has a known base weight; raw fractions never show. */
.modal-components ul{display:grid!important;gap:8px!important;padding:0!important;margin:12px 0 0!important;list-style:none!important}
.modal-components li{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important;align-items:baseline!important;padding:8px 0!important;border-bottom:1px solid var(--line)!important}
.modal-components li:last-child{border-bottom:0!important}
.modal-components li>b{font:650 13.5px/1.4 var(--sans)!important;color:var(--accent-ui)!important;white-space:nowrap!important}
.modal-components li>span{font:500 14px/1.5 var(--sans)!important;color:var(--text)!important}
.modal-components li>small{font:500 12px/1.45 var(--sans)!important;color:var(--muted)!important;white-space:nowrap!important}

/* Cart: one visual box per canonical dish; each sellable variant remains an
   independent functional line inside that box. */
.order-summary-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;margin-bottom:16px!important}
.order-summary-head h2{margin:0!important}
.mdn-clear-cart{flex:none!important;min-height:34px!important;font-size:9.5px!important;padding:0 12px!important;color:var(--muted)!important}
.mdn-cart-dish-group{border:1px solid var(--line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--card) 94%,transparent)!important;padding:14px!important;margin-bottom:12px!important}
.mdn-cart-dish-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:14px!important;padding:0 2px 10px!important;border-bottom:1px solid var(--line)!important}
.mdn-cart-dish-head h3{margin:0!important;font:600 17px/1.25 var(--sans)!important;color:var(--text)!important}
.mdn-cart-dish-head span{font:500 10.5px/1.3 var(--sans)!important;color:var(--muted)!important;white-space:nowrap!important}
.mdn-cart-dish-group .mdn-master-cart-line{border:0!important;border-radius:0!important;background:transparent!important;padding:13px 0!important;margin:0!important;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important}
.mdn-cart-dish-group .mdn-master-cart-line:last-child{border-bottom:0!important;padding-bottom:3px!important}
.mdn-master-cart-line .summary-selection{font-size:12.5px!important;line-height:1.55!important;color:var(--muted)!important}

/* Success/detail quantities read in natural order: N × version/diet/portion. */
.confirm-group-lines small{font-size:12.5px!important;line-height:1.55!important}

@media(max-width:1050px){
  .catering-team-section .section-head{grid-template-columns:1fr!important;gap:10px!important}
  .catering-team-section .section-head>p{margin-top:16px!important;justify-self:start!important;max-width:720px!important}
  .full-menu-section .menu-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .catering-team-heading,.catering-v10-page .catering-team-section .section-head h2{font-size:clamp(34px,9.5vw,44px)!important}
  .catering-final-cta h2{font-size:clamp(42px,11vw,58px)!important}
  .full-menu-section .menu-filter-grid{grid-template-columns:1fr!important}
  .order-summary-head{align-items:flex-start!important;flex-direction:column!important}
  .mdn-clear-cart{align-self:flex-start!important}
  .mdn-cart-dish-group{padding:11px!important;border-radius:16px!important}
}
/* About today principle is a centered statement, not a left-aligned badge. */
.about-today-section .about-principle{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.modal-components .component-qty{grid-column:1!important}.modal-components .component-name{grid-column:2!important}.modal-components .component-name-wide{grid-column:1/3!important}.modal-components .component-amount,.modal-components li>small{grid-column:3!important;justify-self:end!important}


/* =======================================================================
   MdN v10.16.10 — authoritative fidelity pass
   Keep these rules last: they intentionally replace earlier exploratory
   overrides without changing the approved v10.14 information architecture.
   ======================================================================= */

/* Catering: exact three fixed lines, same headline scale as other editorial heads. */
.catering-v10-page .catering-team-section .section-head{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;column-gap:34px!important;align-items:start!important}
.catering-v10-page .catering-team-section .section-head>div{min-width:0!important}
.catering-team-heading{font-size:clamp(36px,4vw,54px)!important;line-height:1.03!important;letter-spacing:-.035em!important;max-width:800px!important;text-wrap:initial!important}
.catering-team-heading .catering-team-fixed-line{display:block!important;white-space:nowrap!important}
.catering-team-heading .catering-team-fixed-line em,.catering-team-heading .catering-team-accent{color:var(--accent-display)!important;font-style:italic!important;font-weight:500!important}
.catering-team-heading .catering-team-fixed-line em{display:inline!important}
.catering-final-cta h2{font-size:clamp(52px,5.6vw,78px)!important;line-height:.97!important;letter-spacing:-.04em!important}
@media(max-width:1120px){.catering-v10-page .catering-team-section .section-head{grid-template-columns:1fr!important}.catering-team-heading{max-width:none!important}.catering-team-heading .catering-team-fixed-line{white-space:normal!important}}
@media(max-width:620px){.catering-final-cta h2{font-size:clamp(46px,12vw,64px)!important}}

/* Menu controls: larger sort choices; product option text one step smaller than v10.16.9. */
.menu-sort .custom-select-trigger,.menu-sort .custom-select-option,.menu-sort select{font-size:14.5px!important;line-height:1.35!important;font-weight:500!important}
.menu-sort .custom-select-trigger{min-height:44px!important}
.menu-sort .custom-select-option{min-height:38px!important;padding:9px 11px!important}
#productModal .choice-chip{font-size:14.5px!important;min-height:39px!important;padding:7px 12px!important;font-weight:400!important}
#productModal .pm-subgroup-line{text-transform:uppercase!important;font-style:italic!important}

/* Gift occasions: headline typography, centered and stronger like Menu category titles. */
.occasion-tile{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.occasion-tile b{font:600 clamp(19px,1.55vw,24px)/1.08 var(--serif)!important;letter-spacing:-.025em!important;text-align:center!important;max-width:92%!important}

/* Mooncake gift configurator: readable mix-and-match instead of abbreviation chips. */
.pm-mooncake-builder{display:grid;gap:14px;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.pm-mooncake-builder[hidden]{display:none!important}
.pm-mooncake-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.pm-mooncake-head label,.pm-mooncake-extras>label{font:700 11px/1.2 var(--sans);letter-spacing:.12em;color:var(--muted)}
.pm-mooncake-head p{margin:5px 0 0;font:400 13.5px/1.5 var(--sans);color:var(--muted)}
.pm-mooncake-head strong{font:650 17px/1.2 var(--sans);white-space:nowrap;color:var(--accent-display)}
.pm-mooncake-options{display:grid;gap:7px}
.pm-mooncake-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.pm-mooncake-option>span{font:400 14.5px/1.35 var(--sans)}
.pm-mooncake-stepper{display:grid;grid-template-columns:30px 28px 30px;align-items:center;text-align:center}
.pm-mooncake-stepper button{width:30px;height:30px;border:0;border-radius:9px;background:var(--surface-soft);color:var(--text);font-size:18px}
.pm-mooncake-stepper button:disabled{opacity:.28}
.pm-mooncake-stepper b{font:650 14px var(--sans)}
.pm-mooncake-extras{display:grid;gap:7px;padding-top:4px}
.pm-mooncake-extras small{font:400 11.5px/1.45 var(--sans);color:var(--muted)}
.pm-mooncake-status{margin:0;font:600 12.5px/1.45 var(--sans);color:var(--accent-display)}
.pm-mooncake-status.is-warning{color:#c65b44}

/* Cart: text-first, grouped, compact and scrollable; thumbnails deliberately removed. */
.order-summary .summary-items{max-height:min(62vh,680px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-right:8px!important;scrollbar-gutter:stable!important}
.mdn-cart-thumb{display:none!important}
.mdn-master-cart-line{grid-template-columns:24px minmax(0,1fr) minmax(104px,auto)!important;grid-template-areas:'title title title' 'remove copy price' 'remove copy qty'!important;column-gap:12px!important}
.mdn-master-cart-line .summary-remove{grid-area:remove!important;align-self:center!important}
.mdn-master-cart-line .summary-copy{grid-area:copy!important}
.mdn-master-cart-line .summary-price{grid-area:price!important;justify-self:end!important}
.mdn-master-cart-line .qty{grid-area:qty!important;justify-self:end!important}
@media(max-width:620px){.order-summary .summary-items{max-height:520px!important}.mdn-master-cart-line{grid-template-columns:22px minmax(0,1fr)!important;grid-template-areas:'title title' 'remove copy' '. price' '. qty'!important}.mdn-master-cart-line .summary-price,.mdn-master-cart-line .qty{justify-self:start!important}}

/* Success page: delivery info uses same readable body scale; sublines align with dish name. */
.confirm-meta>div{font-size:13.5px!important;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important}
.confirm-meta span,.confirm-meta b{font-size:13.5px!important;text-transform:none!important;letter-spacing:0!important}
.confirm-meta b{font-weight:500!important}
.confirm-group-head{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:0 7px!important;align-items:baseline!important}
.confirm-group-head .confirm-prefix{grid-column:1;font:600 15.5px/1.4 var(--sans)!important;white-space:nowrap}
.confirm-group-head b{grid-column:2;font:600 15.5px/1.4 var(--sans)!important}
.confirm-group-head strong{grid-column:3;font:600 15.5px/1.4 var(--sans)!important;white-space:nowrap}
.confirm-group-lines{display:grid!important;gap:4px!important;margin-top:7px!important}
.confirm-group-lines small{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:0 7px!important;font:400 13px/1.5 var(--sans)!important;color:var(--muted)!important}
.confirm-group-lines small>span{grid-column:1}
.confirm-group-lines small>b{grid-column:2;font:400 13px/1.5 var(--sans)!important;color:var(--muted)!important}

/* Account: Facebook is only shown if a real legacy provider is injected. */
[data-sapo-social-provider="facebook"][hidden]{display:none!important}

/* =======================================================================
   MdN v10.17 — authoritative storefront correction pass
   ======================================================================= */
/* Home taxonomy hover: gold surface requires dark text, including body copy. */
.category-tile.mdn-category-visual:hover,
.category-tile.mdn-category-visual:focus-visible{
  background:linear-gradient(115deg,var(--gold2),var(--gold),#e5c468)!important;
  color:#2f0c0a!important;
}
.category-tile.mdn-category-visual:hover .mdn-category-copy,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy,
.category-tile.mdn-category-visual:hover .mdn-category-copy b,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy b,
.category-tile.mdn-category-visual:hover .mdn-category-copy small,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy small{color:#2f0c0a!important}

/* Gift occasion typography: requested editorial size + fixed line breaks from markup. */
.occasion-tile-grid .occasion-tile{
  min-height:112px!important;
  padding:16px 18px!important;
  background:color-mix(in srgb,var(--card) 94%,transparent)!important;
}
.occasion-tile-grid .occasion-tile b{
  font:600 16.5px/1.12 var(--serif)!important;
  letter-spacing:-.028em!important;
  text-transform:none!important;
  color:var(--gold2)!important;
  max-width:100%!important;
}
html[data-theme='light'] .occasion-tile-grid .occasion-tile b{color:var(--red2)!important}
.occasion-tile-grid .occasion-tile:hover,
.occasion-tile-grid .occasion-tile:focus-visible,
.occasion-tile-grid .occasion-tile.is-active{
  background:color-mix(in srgb,var(--card) 88%,var(--accent-ui) 12%)!important;
  color:inherit!important;
  border-color:var(--accent-ui)!important;
}
.occasion-tile-grid .occasion-tile:hover b,
.occasion-tile-grid .occasion-tile:focus-visible b,
.occasion-tile-grid .occasion-tile.is-active b{color:var(--gold2)!important}
html[data-theme='light'] .occasion-tile-grid .occasion-tile:hover b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:focus-visible b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile.is-active b{color:var(--red2)!important}

/* Option / note typography. Textarea remains user-resizable; its dimensions are not forced larger. */
#productModal .modal-select,
#productModal .modal-note{font:400 14.5px/1.45 var(--sans)!important}
#productModal .modal-note{resize:vertical!important}

/* Product cards hydrate the Sapo product image when resolver returns one. */
.mdn-master-product-card [data-mdn-card-image] img{
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important
}

/* Mooncake mix-and-match pricing. */
.pm-mooncake-option>span small{
  display:inline;font:500 11.5px/1.3 var(--sans);color:var(--muted);white-space:nowrap
}

/* Cart: no card per dish. One hairline between dish groups; variants stay compact inside. */
.mdn-cart-dish-group{
  border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;
  background:transparent!important;padding:11px 0!important;margin:0!important
}
.mdn-cart-dish-group:last-child{border-bottom:0!important}
.mdn-cart-dish-head{padding:0 0 4px!important;border:0!important}
.mdn-cart-dish-head h3{font:650 14.5px/1.3 var(--sans)!important;color:var(--text)!important}
.mdn-cart-dish-head span{display:none!important}
.mdn-cart-dish-group .mdn-master-cart-line{
  border:0!important;background:transparent!important;padding:4px 0 7px!important;margin:0!important
}
.mdn-cart-dish-group .mdn-master-cart-line:last-child{padding-bottom:7px!important}
.mdn-master-cart-line{
  grid-template-columns:22px minmax(0,1fr) auto!important;
  grid-template-areas:'remove copy price' '. copy qty'!important;
  column-gap:8px!important;row-gap:2px!important
}
.mdn-master-cart-line .summary-title{display:none!important}
.mdn-master-cart-line .summary-copy{align-self:start!important}
.mdn-master-cart-line .summary-selection{font:650 14px/1.35 var(--sans)!important;color:var(--text)!important}
.mdn-master-cart-line .summary-price{font:650 14px/1.35 var(--sans)!important;color:var(--text)!important;justify-self:end!important}
.mdn-master-cart-line .qty{justify-self:end!important;display:flex!important;align-items:center!important;gap:2px!important}
.mdn-master-cart-line .qty button{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border-radius:8px!important}
.mdn-master-cart-line .qty input{width:28px!important;min-width:28px!important;height:24px!important;padding:0!important;text-align:center!important;font-size:12.5px!important}
.mdn-cart-empty .button-red,
html[data-theme='light'] .mdn-cart-empty .button-red{background:var(--red2)!important;color:#fff8ed!important;border-color:var(--red2)!important}

/* Approved animated phở composition from the static prototype. Keep authoritative + cache-busted. */
#hero[data-mdn-hero-version='10.18'] .hero-layout{
  grid-template-columns:minmax(330px,39%) minmax(0,61%)!important;
  gap:clamp(18px,2vw,34px)!important;overflow:visible!important
}
#hero[data-mdn-hero-version='10.18'] .hero-copy{grid-column:1!important;position:relative!important;z-index:18!important}
#hero[data-mdn-hero-version='10.18']>.hero-video{
  display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important;opacity:.30!important;pointer-events:none!important
}
.hero-stage.hero-pho-layered{
  grid-column:2!important;position:relative!important;display:block!important;visibility:visible!important;
  align-self:center;justify-self:stretch;height:min(700px,74vh)!important;min-height:560px!important;
  overflow:visible!important;isolation:isolate;transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.2,.8,.2,1)
}
.hero-pho-layered .hero-pho-halo{
  display:block!important;position:absolute!important;z-index:1;left:-4%;top:16%;width:72%;height:62%;
  border-radius:50%;opacity:.34!important;filter:blur(34px);
  background:radial-gradient(ellipse at 50% 58%,rgba(232,207,134,.20),rgba(201,164,77,.08) 43%,transparent 72%);
  animation:none!important
}
.hero-pho-composition{
  display:block!important;visibility:visible!important;position:absolute!important;z-index:5;
  left:-6%;top:-2%;width:87%;height:100%;pointer-events:none;transform-origin:50% 68%
}
.hero-pho-composition img{position:absolute!important;display:block!important;visibility:visible!important;max-width:none!important;user-select:none;pointer-events:none}
.hero-pho-bowl-v22{
  z-index:10;width:102%;left:-8%;bottom:-2%;
  filter:saturate(1.03) contrast(1.10) brightness(1.00) sepia(.02) drop-shadow(0 36px 42px rgba(20,3,2,.35));
  transform-origin:50% 82%;animation:pho23Bowl 10.8s ease-in-out infinite!important
}
.hero-pho-steam-v22{
  z-index:13;width:42%;left:20%;top:8%;opacity:.18!important;
  filter:saturate(.86) contrast(1.03) brightness(1.10);mix-blend-mode:screen;
  animation:pho23Steam 9.3s ease-in-out -2.4s infinite!important
}
.hero-pho-splash-v22{
  z-index:14;width:109%;left:-11%;top:0%;opacity:.98!important;
  filter:saturate(1.04) contrast(1.04) brightness(.99) drop-shadow(0 16px 24px rgba(25,5,3,.18));
  transform-origin:50% 64%;animation:pho23Splash 10.2s ease-in-out -1.2s infinite!important
}
.hero-pho-float-v22{z-index:16;filter:saturate(1.03) contrast(1.04) brightness(1.00) drop-shadow(0 11px 16px rgba(22,4,3,.18));transform-origin:50% 55%}
.pho-v22-beef{width:18%;left:29%;top:18%;animation:pho23FlowA 7.4s ease-in-out -3.4s infinite!important}
.pho-v22-quay{width:23%;left:57%;top:5%;animation:pho23FlowB 8.2s ease-in-out -5.1s infinite!important}
.pho-v22-onion{width:12.5%;left:10%;top:31%;opacity:.84;animation:pho23FlowC 7.6s ease-in-out -2.1s infinite!important}
.pho-v22-coriander{width:8.8%;left:6%;top:17%;animation:pho23FlowB 7.3s ease-in-out -6.2s infinite!important}
.pho-v22-chili{width:6.6%;left:73%;top:21%;animation:pho23FlowA 7.1s ease-in-out -1.7s infinite!important}
.pho-v22-basil{width:8%;left:76%;top:31%;opacity:.86;animation:pho23FlowC 7.8s ease-in-out -4.8s infinite!important}
.pho-v22-lime{width:10.8%;left:67%;top:52%;animation:pho23FlowB 8.4s ease-in-out -7s infinite!important}
.pho-v22-rare{z-index:15;width:17%;left:21%;top:14%;opacity:.95;filter:saturate(1.00) contrast(1.02) brightness(.99) drop-shadow(0 10px 15px rgba(22,4,3,.18));animation:pho23FlowRare 6.8s ease-in-out -2.8s infinite!important}
.pho-v22-beef2{width:15%;left:56%;top:33%;animation:pho23FlowB 7s ease-in-out -4.1s infinite!important}
.pho-v22-onion2{width:10%;left:42%;top:9%;opacity:.68;animation:pho23FlowC 7.2s ease-in-out -3.5s infinite!important}
.pho-v22-coriander2{width:7.2%;left:49%;top:20%;opacity:.80;animation:pho23FlowA 6.9s ease-in-out -5.4s infinite!important}
.hero-pho-layered .hero-cart{
  display:block!important;position:absolute!important;z-index:40!important;top:45%!important;
  right:clamp(-10px,.2vw,6px)!important;transform:none!important;width:min(292px,24vw)!important
}
@keyframes pho23Bowl{0%,100%{transform:translate3d(0,2px,0) scale(1)}50%{transform:translate3d(0,-8px,0) scale(1.012)}}
@keyframes pho23Splash{0%,100%{transform:translate3d(0,3px,0) rotate(-.35deg) scale(.992);opacity:.92}50%{transform:translate3d(4px,-18px,0) rotate(.85deg) scale(1.05);opacity:1}}
@keyframes pho23Steam{0%,100%{transform:translate3d(0,7px,0) scale(.972);opacity:.10}48%{transform:translate3d(3px,-24px,0) scale(1.08);opacity:.24}}
@keyframes pho23FlowA{0%,100%{transform:translate3d(-3px,4px,0) rotate(-1.4deg)}50%{transform:translate3d(10px,-14px,0) rotate(1.45deg)}}
@keyframes pho23FlowB{0%,100%{transform:translate3d(3px,3px,0) rotate(1.1deg)}50%{transform:translate3d(-9px,-14px,0) rotate(-1.35deg)}}
@keyframes pho23FlowC{0%,100%{transform:translate3d(-3px,0,0) rotate(-1deg)}50%{transform:translate3d(7px,-10px,0) rotate(1.1deg)}}
@keyframes pho23FlowRare{0%,100%{transform:translate3d(-3px,2px,0) rotate(-1.1deg)}50%{transform:translate3d(7px,-9px,0) rotate(1.05deg)}}
@media(max-width:1180px){
  .hero-layout{grid-template-columns:minmax(310px,39%) minmax(0,61%)!important}
  .hero-stage.hero-pho-layered{height:min(650px,70vh)!important;min-height:520px!important}
  .hero-pho-composition{width:90%!important;left:-6%!important}
  .hero-pho-bowl-v22{width:100%;left:-7%;bottom:-2%}.hero-pho-splash-v22{width:106%;left:-10%;top:3%}
  .hero-pho-layered .hero-cart{display:block!important;width:250px!important;right:-2px!important;top:48%!important}
}
@media(max-width:820px){
  .hero-layout{grid-template-columns:1fr!important}.hero-copy,.hero-stage.hero-pho-layered{grid-column:1!important}
  .hero-stage.hero-pho-layered{height:530px!important;min-height:0!important;margin-top:4px!important}
  .hero-pho-composition{left:-2%!important;top:-1%!important;width:96%!important;height:95%!important}
  .hero-pho-bowl-v22{width:104%;left:-6%;bottom:-2%}.hero-pho-splash-v22{width:106%;left:-8%;top:2%}
  .hero-pho-layered .hero-cart{display:block!important;width:240px!important;right:1%!important;top:50%!important}
}
@media(max-width:650px){
  .hero-stage.hero-pho-layered{height:490px!important}.hero-pho-composition{left:-3%!important;top:-1%!important;width:102%!important;height:93%!important}
  .hero-pho-bowl-v22{width:107%;left:-8%;bottom:-2%}.hero-pho-splash-v22{width:110%;left:-10%;top:2%}
  .hero-pho-layered .hero-cart{display:block!important;width:min(230px,66vw)!important;right:0!important;top:54%!important}.pho-v22-quay{width:23%;left:50%}
}
@media(prefers-reduced-motion:reduce){.hero-stage.hero-pho-layered{transform:none!important;transition:none!important}}


/* =======================================================================
   MdN v10.18 — final authoritative QA overrides
   ======================================================================= */
/* Hero: cache-busted v10.18 marker + CDN fallback. */
#hero[data-mdn-hero-version='10.18'] .hero-pho-guaranteed{
  position:absolute!important;z-index:4!important;left:-4%!important;top:4%!important;width:76%!important;height:auto!important;
  display:block!important;visibility:visible!important;object-fit:contain!important;pointer-events:none!important;user-select:none!important;
  opacity:0!important;transform-origin:50% 70%;filter:drop-shadow(0 28px 38px rgba(20,3,2,.28));
  transition:opacity .3s ease!important
}
#hero[data-mdn-hero-version='10.18'].mdn-hero-layer-fallback .hero-pho-guaranteed{opacity:1!important;animation:mdnHeroFallbackFloat 8s ease-in-out infinite!important}
#hero[data-mdn-hero-version='10.18'].mdn-hero-layer-fallback .hero-pho-composition{opacity:0!important}
@keyframes mdnHeroFallbackFloat{0%,100%{transform:translate3d(0,2px,0) scale(1)}50%{transform:translate3d(4px,-10px,0) scale(1.015)}}

/* Explicitly keep a gentle phở motion even when the OS/browser requests Reduced Motion.
   Other site animation still follows the global accessibility rule. */
@media(prefers-reduced-motion:reduce){
  #hero[data-mdn-hero-version='10.18']>.hero-video{display:block!important;animation:none!important}
  #hero[data-mdn-hero-version='10.18'] .hero-pho-bowl-v22{animation-name:pho23Bowl!important;animation-duration:14s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .hero-pho-splash-v22{animation-name:pho23Splash!important;animation-duration:13s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .hero-pho-steam-v22{animation-name:pho23Steam!important;animation-duration:12s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .pho-v22-beef,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-chili,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-coriander2{animation-name:pho23FlowA!important;animation-duration:12s!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .pho-v22-quay,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-coriander,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-lime,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-beef2{animation-name:pho23FlowB!important;animation-duration:13s!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .pho-v22-onion,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-basil,
  #hero[data-mdn-hero-version='10.18'] .pho-v22-onion2{animation-name:pho23FlowC!important;animation-duration:13s!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'] .pho-v22-rare{animation-name:pho23FlowRare!important;animation-duration:12s!important;animation-iteration-count:infinite!important}
  #hero[data-mdn-hero-version='10.18'].mdn-hero-layer-fallback .hero-pho-guaranteed{animation-name:mdnHeroFallbackFloat!important;animation-duration:12s!important;animation-iteration-count:infinite!important}
}

/* Menu category tiles: gold hover/active surface always carries dark readable copy. */
.category-tile.mdn-category-visual:hover,
.category-tile.mdn-category-visual:focus-visible,
.category-tile.mdn-category-visual.is-active{background:linear-gradient(115deg,var(--gold2),var(--gold),#e5c468)!important;color:#2f0c0a!important}
.category-tile.mdn-category-visual:hover .mdn-category-copy,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy,
.category-tile.mdn-category-visual.is-active .mdn-category-copy,
.category-tile.mdn-category-visual:hover .mdn-category-copy b,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy b,
.category-tile.mdn-category-visual.is-active .mdn-category-copy b,
.category-tile.mdn-category-visual:hover .mdn-category-copy small,
.category-tile.mdn-category-visual:focus-visible .mdn-category-copy small,
.category-tile.mdn-category-visual.is-active .mdn-category-copy small{color:#2f0c0a!important}

/* Sort controls: match the larger editorial menu typography. */
.menu-sort{min-width:245px!important;gap:8px!important}
.menu-sort>span{font:700 12.5px/1.2 var(--sans)!important;letter-spacing:.09em!important;color:var(--muted)!important}
.menu-sort .custom-select-trigger{min-height:46px!important;font:600 14.5px/1.25 var(--sans)!important;padding:0 14px!important}
.menu-sort .custom-select-option{min-height:38px!important;font:500 13.5px/1.3 var(--sans)!important;padding:8px 11px!important}

/* Mâm lễ & Thực quà: 3x2 readable occasion grid, uppercase editorial names, gold active state. */
.occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.occasion-tile-grid .occasion-tile{
  min-height:118px!important;padding:20px 22px!important;border-radius:20px!important;
  display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;text-align:left!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--red2) 13%,var(--card)))!important;
  color:var(--gold2)!important
}
.occasion-tile-grid .occasion-tile b{
  font:700 20px/1.06 var(--sans)!important;letter-spacing:.015em!important;text-transform:uppercase!important;color:var(--gold2)!important;max-width:100%!important
}
html[data-theme='light'] .occasion-tile-grid .occasion-tile{color:var(--red2)!important;background:linear-gradient(145deg,#fffaf2,#f2e5d2)!important}
html[data-theme='light'] .occasion-tile-grid .occasion-tile b{color:var(--red2)!important}
.occasion-tile-grid .occasion-tile:hover,
.occasion-tile-grid .occasion-tile:focus-visible,
.occasion-tile-grid .occasion-tile.is-active,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:hover,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:focus-visible,
html[data-theme='light'] .occasion-tile-grid .occasion-tile.is-active{
  background:linear-gradient(115deg,var(--gold2),var(--gold),#e5c468)!important;border-color:var(--gold2)!important;color:#2f0c0a!important;box-shadow:0 16px 32px rgba(34,6,4,.16)!important
}
.occasion-tile-grid .occasion-tile:hover b,
.occasion-tile-grid .occasion-tile:focus-visible b,
.occasion-tile-grid .occasion-tile.is-active b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:hover b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:focus-visible b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile.is-active b{color:#2f0c0a!important}
@media(max-width:820px){.occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.occasion-tile-grid .occasion-tile b{font-size:18px!important}}
@media(max-width:520px){.occasion-tile-grid{grid-template-columns:1fr!important}.occasion-tile-grid .occasion-tile{min-height:96px!important}.occasion-tile-grid .occasion-tile b{font-size:18px!important}}

/* Cart: one dish heading, then every variant stays on ONE compact row: remove | variant | qty | price. */
.mdn-cart-dish-group{padding:12px 0!important}
.mdn-cart-dish-head{padding:0 0 7px!important}
.mdn-cart-dish-head h3{font:700 15px/1.3 var(--sans)!important}
.mdn-cart-dish-group .mdn-master-cart-line{
  display:grid!important;grid-template-columns:18px minmax(0,1fr) auto minmax(92px,auto)!important;
  grid-template-areas:'remove copy qty price'!important;align-items:center!important;column-gap:9px!important;row-gap:0!important;
  padding:7px 0!important;border-bottom:0!important
}
.mdn-master-cart-line .summary-title,.mdn-master-cart-line .mdn-cart-thumb{display:none!important}
.mdn-master-cart-line .summary-remove{grid-area:remove!important;width:18px!important;height:24px!important;min-width:18px!important;align-self:center!important;justify-self:start!important;font-size:17px!important;line-height:1!important;padding:0!important}
.mdn-master-cart-line .summary-copy{grid-area:copy!important;align-self:center!important;min-width:0!important}
.mdn-master-cart-line .summary-selection{display:block!important;font:650 14px/1.3 var(--sans)!important;color:var(--text)!important;white-space:normal!important;margin:0!important}
.mdn-master-cart-line .qty{grid-area:qty!important;justify-self:end!important;align-self:center!important;display:flex!important;gap:1px!important;margin:0!important;white-space:nowrap!important}
.mdn-master-cart-line .qty button{width:22px!important;height:22px!important;min-width:22px!important;border-radius:7px!important;padding:0!important;font-size:13px!important}
.mdn-master-cart-line .qty input{width:24px!important;min-width:24px!important;height:22px!important;border:0!important;background:transparent!important;padding:0!important;text-align:center!important;font:600 12px/1 var(--sans)!important}
.mdn-master-cart-line .summary-price{grid-area:price!important;justify-self:end!important;align-self:center!important;font:700 14px/1.3 var(--sans)!important;color:var(--text)!important;white-space:nowrap!important;margin:0!important}
.mdn-native-policy{display:flex!important;align-items:flex-start!important;gap:8px!important;margin:26px 0 22px!important;padding-top:4px!important;line-height:1.5!important}
.order-summary .button[data-place-order]{font:700 13.5px/1.2 var(--sans)!important;letter-spacing:.05em!important;text-transform:uppercase!important;min-height:48px!important}
@media(max-width:620px){
  .mdn-cart-dish-group .mdn-master-cart-line{grid-template-columns:17px minmax(0,1fr) auto minmax(82px,auto)!important;grid-template-areas:'remove copy qty price'!important;column-gap:6px!important}
  .mdn-master-cart-line .summary-selection{font-size:12.5px!important}.mdn-master-cart-line .summary-price{font-size:12.5px!important}
}

/* Contact success is modal-only; no inline success/error-looking empty boxes after a successful post. */
.mdn-contact-success-modal .feedback-card{max-width:480px!important}.mdn-contact-success-modal .feedback-card h3{font:500 31px/1.05 var(--serif)!important;margin:8px 0 12px!important}.mdn-contact-success-modal .feedback-card p:not(.eyebrow){font-size:14px!important;line-height:1.6!important;color:var(--muted)!important}

/* =======================================================================
   MdN v10.19 — authoritative fixes after staging audit
   ======================================================================= */

/* HERO GUARANTEE: the inline composite is visible and gently animated by default.
   Multi-layer animation fades in only after JS verifies the three key assets loaded. */
#hero[data-mdn-hero-version='10.19'] .hero-layout{
  grid-template-columns:minmax(330px,39%) minmax(0,61%)!important;
  gap:clamp(18px,2vw,34px)!important;overflow:visible!important
}
#hero[data-mdn-hero-version='10.19'] .hero-copy{grid-column:1!important;position:relative!important;z-index:18!important}
#hero[data-mdn-hero-version='10.19']>.hero-video{
  display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important;opacity:.30!important;pointer-events:none!important
}
#hero[data-mdn-hero-version='10.19'] .hero-pho-guaranteed{
  position:absolute!important;z-index:4!important;left:-4%!important;top:4%!important;width:76%!important;height:auto!important;
  display:block!important;visibility:visible!important;object-fit:contain!important;pointer-events:none!important;user-select:none!important;
  opacity:1!important;transform-origin:50% 70%;filter:drop-shadow(0 28px 38px rgba(20,3,2,.28));
  transition:opacity .4s ease!important;animation:mdnHeroFallbackFloat 8s ease-in-out infinite!important
}
#hero[data-mdn-hero-version='10.19'] .hero-pho-composition{
  opacity:0!important;transition:opacity .4s ease!important
}
#hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .hero-pho-guaranteed{opacity:0!important}
#hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .hero-pho-composition{opacity:1!important}
#hero[data-mdn-hero-version='10.19'].mdn-hero-layer-fallback .hero-pho-guaranteed{opacity:1!important}
#hero[data-mdn-hero-version='10.19'].mdn-hero-layer-fallback .hero-pho-composition{opacity:0!important}
@media(max-width:1180px){
  #hero[data-mdn-hero-version='10.19'] .hero-layout{grid-template-columns:minmax(310px,39%) minmax(0,61%)!important}
  #hero[data-mdn-hero-version='10.19'] .hero-pho-guaranteed{width:80%!important;left:-2%!important;top:7%!important}
}
@media(max-width:820px){
  #hero[data-mdn-hero-version='10.19'] .hero-layout{grid-template-columns:1fr!important}
  #hero[data-mdn-hero-version='10.19'] .hero-copy,#hero[data-mdn-hero-version='10.19'] .hero-stage{grid-column:1!important}
  #hero[data-mdn-hero-version='10.19'] .hero-pho-guaranteed{width:91%!important;left:0!important;top:3%!important}
}
@media(max-width:650px){
  #hero[data-mdn-hero-version='10.19'] .hero-pho-guaranteed{width:98%!important;left:-3%!important;top:2%!important}
}
/* The hero itself keeps gentle motion even when the global accessibility rule reduces other animation. */
@media(prefers-reduced-motion:reduce){
  #hero[data-mdn-hero-version='10.19']>.hero-video{display:block!important;animation:none!important}
  #hero[data-mdn-hero-version='10.19'] .hero-pho-guaranteed{animation:mdnHeroFallbackFloat 12s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .hero-pho-bowl-v22{animation:pho23Bowl 14s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .hero-pho-splash-v22{animation:pho23Splash 13s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .hero-pho-steam-v22{animation:pho23Steam 12s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-beef,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-chili,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-coriander2{animation:pho23FlowA 12s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-quay,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-coriander,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-lime,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-beef2{animation:pho23FlowB 13s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-onion,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-basil,
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-onion2{animation:pho23FlowC 13s ease-in-out infinite!important}
  #hero[data-mdn-hero-version='10.19'].mdn-hero-layers-ready .pho-v22-rare{animation:pho23FlowRare 12s ease-in-out infinite!important}
}

/* Film popup can swap its local lightweight preview for a YouTube iframe on demand. */
.film-media{position:absolute;inset:0;width:100%;height:100%;background:#120302}
.film-media>video,.film-media>.film-iframe{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border:0!important}
.film-iframe{background:#000}

/* Contact success: exactly three readable lines; both close controls sit above all modal layers. */
.mdn-contact-success-modal .feedback-card{z-index:3!important;overflow:visible!important}
.mdn-contact-success-modal .feedback-card h3{margin:0 0 15px!important}
.mdn-contact-success-modal .feedback-card h3 span{display:block!important;white-space:nowrap!important}
.mdn-contact-success-modal .feedback-card p{margin:0 0 22px!important}
.mdn-contact-success-modal .feedback-close,
.mdn-contact-success-modal [data-contact-success-close]{position:relative;z-index:6;pointer-events:auto!important;cursor:pointer!important}
.mdn-contact-success-modal .feedback-close{position:absolute!important;right:12px!important;top:10px!important}

/* Product modal: price and compact quantity stepper share the same visual baseline. */
#productModal .pm-price-row{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important}
#productModal .pm-price-row>div:first-child{display:flex!important;flex-direction:column!important;justify-content:flex-end!important}
#productModal .pm-qty{display:flex!important;align-items:center!important;align-self:flex-end!important;margin:0 0 1px!important;height:34px!important}
#productModal .pm-qty button{width:30px!important;height:30px!important;min-width:30px!important}
#productModal .pm-qty span{min-width:25px!important;line-height:30px!important}

/* Top navigation: active indicator is editorial-thin, not a heavy bar. */
.main-nav a.is-active::after,.main-nav a[aria-current='page']::after{height:1px!important}

/* Menu toolbar: selected sort value is readable; reset stays immediately beside it. */
.menu-toolbar-actions{display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important}
.menu-sort .custom-select-trigger{font:650 16px/1.25 var(--sans)!important}
.menu-sort .custom-select-option{font-size:14.5px!important}
.menu-reset-button{min-height:46px!important;padding:0 16px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:transparent!important;color:var(--text)!important;font:700 12px/1 var(--sans)!important;letter-spacing:.06em!important;cursor:pointer!important}
.menu-reset-button:hover,.menu-reset-button:focus-visible{background:var(--gold2)!important;color:var(--red-deep)!important;border-color:var(--gold2)!important;outline:none!important}
@media(max-width:650px){.menu-toolbar-actions{justify-content:flex-start!important}.menu-sort{min-width:min(100%,245px)!important}.menu-reset-button{min-height:44px!important}}

/* Mâm lễ & Thực quà: exactly six occasions on one desktop row, same typography language as menu categories. */
.occasion-tile-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important}
.occasion-tile-grid .occasion-tile{
  min-height:94px!important;padding:14px 10px!important;border-radius:17px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--red2) 10%,var(--card)))!important;
  color:var(--gold2)!important
}
.occasion-tile-grid .occasion-tile b{
  display:block!important;margin:0 auto!important;max-width:100%!important;
  font:700 16.5px/1.18 var(--sans)!important;letter-spacing:.015em!important;text-transform:uppercase!important;color:var(--gold2)!important
}
html[data-theme='light'] .occasion-tile-grid .occasion-tile{background:linear-gradient(145deg,#fffaf2,#f2e5d2)!important;color:var(--red2)!important}
html[data-theme='light'] .occasion-tile-grid .occasion-tile b{color:var(--red2)!important}
.occasion-tile-grid .occasion-tile:hover,
.occasion-tile-grid .occasion-tile:focus-visible,
.occasion-tile-grid .occasion-tile.is-active,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:hover,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:focus-visible,
html[data-theme='light'] .occasion-tile-grid .occasion-tile.is-active{
  background:linear-gradient(115deg,var(--gold2),var(--gold),#e5c468)!important;border-color:var(--gold2)!important;color:#2f0c0a!important;box-shadow:0 12px 24px rgba(34,6,4,.14)!important
}
.occasion-tile-grid .occasion-tile:hover b,
.occasion-tile-grid .occasion-tile:focus-visible b,
.occasion-tile-grid .occasion-tile.is-active b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:hover b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile:focus-visible b,
html[data-theme='light'] .occasion-tile-grid .occasion-tile.is-active b{color:#2f0c0a!important}
@media(max-width:1100px){.occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){.occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.occasion-tile-grid .occasion-tile b{font-size:15.5px!important}}

/* Empty cart CTA follows the page theme: gold on red, red on beige. */
html:not([data-theme='light']) .mdn-cart-empty .button-red{background:linear-gradient(115deg,var(--gold2),var(--gold))!important;color:var(--red-deep)!important;border-color:var(--gold2)!important}
html[data-theme='light'] .mdn-cart-empty .button-red{background:var(--red2)!important;color:#fff8ed!important;border-color:var(--red2)!important}

/* Cart: tighten dish/variant rhythm and keep each row in copy | quantity | price | remove order. */
.mdn-cart-dish-group{padding:8px 0!important}
.mdn-cart-dish-head{padding:0 0 3px!important;margin:0!important}
.mdn-cart-dish-head h3{margin:0!important;font:700 15px/1.25 var(--sans)!important}
.mdn-cart-dish-group .mdn-master-cart-line{
  grid-template-columns:minmax(0,1fr) auto minmax(92px,auto) 18px!important;
  grid-template-areas:'copy qty price remove'!important;
  column-gap:8px!important;padding:3px 0!important;min-height:30px!important
}
.mdn-master-cart-line .summary-copy{grid-area:copy!important}
.mdn-master-cart-line .qty{grid-area:qty!important}
.mdn-master-cart-line .summary-price{grid-area:price!important}
.mdn-master-cart-line .summary-remove{grid-area:remove!important;justify-self:end!important}
.mdn-master-cart-line .summary-selection{line-height:1.28!important}
.mdn-master-cart-line .summary-selection.is-data-warning{font-weight:500!important;color:var(--muted)!important;font-style:italic!important}
@media(max-width:620px){
  .mdn-cart-dish-group .mdn-master-cart-line{grid-template-columns:minmax(0,1fr) auto minmax(78px,auto) 16px!important;grid-template-areas:'copy qty price remove'!important;column-gap:5px!important}
}

/* Order-success variants: reserve a real qty column so variant text aligns under the dish title. */
.confirm-group-lines small{grid-template-columns:42px minmax(0,1fr)!important;gap:0 8px!important;padding-left:0!important}
.confirm-group-lines small>span{text-align:right!important;padding-right:1px!important;white-space:nowrap!important}
.confirm-group-lines small>b{text-align:left!important}
/* Contact close stacking correction: backdrop remains behind the card; X and Đóng remain clickable. */
.mdn-contact-success-modal .feedback-backdrop{position:absolute!important;z-index:0!important;pointer-events:auto!important}
.mdn-contact-success-modal .feedback-card>.feedback-close,
.mdn-contact-success-modal .feedback-card>button[data-contact-success-close]{z-index:7!important;pointer-events:auto!important;cursor:pointer!important}

/* =========================================================
   MdN v10.20 — approved hero + UI corrections
   ========================================================= */
body[data-mdn-build="10.20"] .hero{isolation:isolate}
body[data-mdn-build="10.20"] .hero-video-v1020{display:block!important;visibility:visible!important;opacity:.34!important;z-index:0!important;animation:none!important}
body[data-mdn-build="10.20"] .hero:before{content:"";position:absolute;inset:-8%;z-index:0;pointer-events:none;background:radial-gradient(circle at 68% 35%,rgba(232,207,134,.16),transparent 27%),radial-gradient(circle at 40% 70%,rgba(145,52,35,.20),transparent 34%);animation:mdnHeroAmbient1020 13s ease-in-out infinite alternate}
@keyframes mdnHeroAmbient1020{from{transform:translate3d(-1%,1%,0) scale(1)}to{transform:translate3d(2%,-1.5%,0) scale(1.035)}}
body[data-mdn-build="10.20"] .hero-wash,body[data-mdn-build="10.20"] .hero-vignette{z-index:1}
body[data-mdn-build="10.20"] .hero-layout{position:relative;z-index:2;grid-template-columns:minmax(330px,39%) minmax(0,61%)!important}
body[data-mdn-build="10.20"] .hero-stage.hero-pho-layered{position:relative!important;overflow:visible!important;isolation:isolate}
body[data-mdn-build="10.20"] .hero-pho-approved-fallback{position:absolute;z-index:4;left:-4%;top:0;width:82%;height:auto;display:block!important;visibility:visible!important;opacity:1;pointer-events:none;user-select:none;filter:drop-shadow(0 30px 35px rgba(20,3,2,.27));transition:opacity .55s ease;animation:mdnFallbackFloat1020 9s ease-in-out infinite alternate}
body[data-mdn-build="10.20"] .mdn-hero-layers-ready .hero-pho-approved-fallback{opacity:0}
@keyframes mdnFallbackFloat1020{from{transform:translate3d(0,3px,0)}to{transform:translate3d(0,-7px,0)}}
body[data-mdn-build="10.20"] .hero-pho-composition{opacity:1!important;visibility:visible!important;display:block!important}
body[data-mdn-build="10.20"] .hero-pho-composition img{display:block!important;visibility:visible!important}
@media(prefers-reduced-motion:reduce){body[data-mdn-build="10.20"] .hero-video-v1020{display:block!important}body[data-mdn-build="10.20"] .hero-pho-approved-fallback{animation:mdnFallbackFloat1020 12s ease-in-out infinite alternate!important}body[data-mdn-build="10.20"] .hero-pho-bowl-v22{animation:pho23Bowl 14s ease-in-out infinite!important}body[data-mdn-build="10.20"] .hero-pho-splash-v22{animation:pho23Splash 14s ease-in-out infinite!important}body[data-mdn-build="10.20"] .hero-pho-steam-v22{animation:pho23Steam 13s ease-in-out infinite!important}}
@media(max-width:820px){body[data-mdn-build="10.20"] .hero-layout{grid-template-columns:1fr!important}body[data-mdn-build="10.20"] .hero-pho-approved-fallback{left:2%;width:92%}}

/* Occasion tiles: one row on desktop, headline typography = Playfair heading family. */
body[data-mdn-build="10.20"] .occasion-tile-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important}
body[data-mdn-build="10.20"] .occasion-tile-grid .occasion-tile{min-height:104px!important;padding:14px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
body[data-mdn-build="10.20"] .occasion-tile-grid .occasion-tile b{font:600 clamp(17px,1.3vw,21px)/1.06 var(--serif)!important;letter-spacing:-.018em!important;text-transform:uppercase!important;text-align:center!important}
@media(max-width:1100px){body[data-mdn-build="10.20"] .occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){body[data-mdn-build="10.20"] .occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body[data-mdn-build="10.20"] .occasion-tile-grid .occasion-tile b{font-size:17px!important}}

/* Contact success — controls must always be clickable. */
body[data-mdn-build="10.20"] .mdn-contact-success-modal{z-index:99999!important;pointer-events:auto!important}
body[data-mdn-build="10.20"] .mdn-contact-success-modal .feedback-backdrop{z-index:0!important;pointer-events:auto!important}
body[data-mdn-build="10.20"] .mdn-contact-success-modal .feedback-card{position:relative!important;z-index:2!important;pointer-events:auto!important;max-width:470px!important}
body[data-mdn-build="10.20"] .mdn-contact-success-modal button{pointer-events:auto!important;cursor:pointer!important}
body[data-mdn-build="10.20"] .mdn-contact-thanks{display:grid;gap:2px;margin:2px 0 14px;text-align:center;font:500 31px/1.06 var(--serif)}
body[data-mdn-build="10.20"] .mdn-contact-success-modal p{text-align:center;margin:0 0 22px!important}

/* Multi-add-on selector + realtime grand total. */
body[data-mdn-build="10.20"] .pm-extra-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
body[data-mdn-build="10.20"] .pm-extra-add-button{border:1px solid var(--line);border-radius:12px;padding:0 13px;background:transparent;color:var(--accent-ui);font:700 10px var(--sans);letter-spacing:.04em;cursor:pointer;white-space:nowrap}
body[data-mdn-build="10.20"] .pm-extra-selected{display:grid;gap:7px;margin-top:9px}
body[data-mdn-build="10.20"] .pm-extra-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:8px}
body[data-mdn-build="10.20"] .pm-extra-line>span{font:500 12px/1.4 var(--sans)}
body[data-mdn-build="10.20"] .pm-extra-line>span small{color:var(--muted)}
body[data-mdn-build="10.20"] .pm-extra-stepper{display:flex;align-items:center;gap:5px}
body[data-mdn-build="10.20"] .pm-extra-stepper button{width:25px;height:25px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;cursor:pointer}
body[data-mdn-build="10.20"] .pm-extra-stepper b{min-width:16px;text-align:center;font-size:11px}
body[data-mdn-build="10.20"] .pm-extra-stepper .pm-extra-remove{border:0;color:var(--muted);font-size:14px}
@media(max-width:620px){body[data-mdn-build="10.20"] .pm-extra-add-row{grid-template-columns:1fr}body[data-mdn-build="10.20"] .pm-extra-add-button{min-height:38px}}

/* Order success alignment: hanging qty, names/variants share exact text axis. */
body[data-mdn-build="10.20"] .confirm-group-head{grid-template-columns:34px minmax(0,1fr) auto!important;column-gap:4px!important}
body[data-mdn-build="10.20"] .confirm-group-lines small{grid-template-columns:34px minmax(0,1fr)!important;column-gap:4px!important;padding-left:0!important}
body[data-mdn-build="10.20"] .confirm-group-head .confirm-prefix,body[data-mdn-build="10.20"] .confirm-group-lines small>span{text-align:left!important;padding:0!important;white-space:nowrap!important}
body[data-mdn-build="10.20"] .confirm-group-head b,body[data-mdn-build="10.20"] .confirm-group-lines small>b{text-align:left!important}
body[data-mdn-build="10.20"] .confirm-totals .is-total{display:flex!important;align-items:baseline!important;font-weight:800!important}
body[data-mdn-build="10.20"] .confirm-totals .is-total span,body[data-mdn-build="10.20"] .confirm-totals .is-total b{font-size:22px!important;font-weight:800!important;color:var(--accent-ui)!important}


/* =========================================================
   MdN v10.21.1 SAFE HOTFIX — no inline/base64 hero assets.
   Single approved composite + independent steam + CSS ambient.
   ========================================================= */
body[data-mdn-build="10.21.1"] .hero{position:relative;isolation:isolate}
body[data-mdn-build="10.21.1"] .hero-video-v1020{display:block!important;visibility:visible!important;opacity:.22!important;z-index:0!important}
body[data-mdn-build="10.21.1"] .mdn-safe-hero-stage{position:relative!important;overflow:visible!important;isolation:isolate}
body[data-mdn-build="10.21.1"] .mdn-safe-hero-ambient{position:absolute;z-index:1;inset:7% 10% 9% -10%;border-radius:48% 52% 50% 44%;background:radial-gradient(circle at 48% 48%,rgba(232,207,134,.25),rgba(201,164,77,.10) 34%,rgba(131,39,25,.16) 58%,transparent 74%);filter:blur(24px);opacity:.78;animation:mdnSafeAmbient10211 9s ease-in-out infinite alternate;pointer-events:none}
body[data-mdn-build="10.21.1"] .mdn-safe-pho-wrap{position:absolute;z-index:5;left:-6%;top:-3%;width:88%;height:100%;pointer-events:none;transform-origin:50% 70%;animation:mdnSafePhoFloat10211 8.5s ease-in-out infinite alternate}
body[data-mdn-build="10.21.1"] .mdn-safe-pho{position:absolute;display:block!important;visibility:visible!important;opacity:1!important;width:100%;height:auto;left:0;bottom:-2%;max-width:none;filter:drop-shadow(0 34px 38px rgba(20,3,2,.32));pointer-events:none;user-select:none}
body[data-mdn-build="10.21.1"] .mdn-safe-steam{position:absolute;display:block!important;visibility:visible!important;z-index:2;width:44%;height:auto;left:18%;top:4%;opacity:.20;mix-blend-mode:screen;filter:brightness(1.08);animation:mdnSafeSteam10211 7.2s ease-in-out infinite;pointer-events:none;user-select:none}
body[data-mdn-build="10.21.1"] .mdn-safe-hero-stage .hero-cart{position:absolute!important;z-index:40!important;top:45%!important;right:clamp(-10px,.2vw,6px)!important;width:min(292px,24vw)!important}
@keyframes mdnSafePhoFloat10211{0%{transform:translate3d(0,4px,0) rotate(-.25deg)}100%{transform:translate3d(4px,-10px,0) rotate(.35deg)}}
@keyframes mdnSafeSteam10211{0%,100%{transform:translate3d(0,12px,0) scale(.96);opacity:.10}50%{transform:translate3d(5px,-24px,0) scale(1.08);opacity:.24}}
@keyframes mdnSafeAmbient10211{0%{transform:translate3d(-2%,2%,0) scale(.96);opacity:.56}100%{transform:translate3d(3%,-3%,0) scale(1.07);opacity:.86}}
@media(max-width:1180px){body[data-mdn-build="10.21.1"] .mdn-safe-pho-wrap{width:92%;left:-4%}body[data-mdn-build="10.21.1"] .mdn-safe-hero-stage .hero-cart{width:250px!important;right:-2px!important;top:48%!important}}
@media(max-width:820px){body[data-mdn-build="10.21.1"] .mdn-safe-pho-wrap{width:96%;left:0;top:-1%}body[data-mdn-build="10.21.1"] .mdn-safe-hero-stage .hero-cart{width:240px!important;right:1%!important;top:50%!important}}
@media(max-width:650px){body[data-mdn-build="10.21.1"] .mdn-safe-pho-wrap{width:103%;left:-3%}body[data-mdn-build="10.21.1"] .mdn-safe-hero-stage .hero-cart{width:min(230px,66vw)!important;right:0!important;top:54%!important}}
@media(prefers-reduced-motion:reduce){body[data-mdn-build="10.21.1"] .mdn-safe-pho-wrap{animation:mdnSafePhoFloat10211 14s ease-in-out infinite alternate!important}body[data-mdn-build="10.21.1"] .mdn-safe-steam{animation:mdnSafeSteam10211 12s ease-in-out infinite!important}body[data-mdn-build="10.21.1"] .mdn-safe-hero-ambient{animation:mdnSafeAmbient10211 16s ease-in-out infinite alternate!important}}


/* =========================================================
   MdN v10.21.2 — SAFE VISUAL CORRECTIONS
   Baseline: v10.21.1 SAFE. No large base64 in CSS.
   ========================================================= */

/* HERO: approved pho is embedded directly in HTML; no Sapo asset_url dependency. */
body[data-mdn-build="10.21.2"] #hero{position:relative;isolation:isolate;overflow:hidden}
body[data-mdn-build="10.21.2"] #hero::after{
  content:"";position:absolute;z-index:1;inset:-18% -12% -18% 28%;pointer-events:none;
  background:
    radial-gradient(circle at 38% 42%,rgba(232,207,134,.18),transparent 24%),
    radial-gradient(circle at 66% 55%,rgba(155,44,32,.22),transparent 31%),
    radial-gradient(circle at 48% 72%,rgba(232,207,134,.10),transparent 28%);
  filter:blur(24px);opacity:.72;
  animation:mdnHeroAmbient10212 12s ease-in-out infinite alternate;
}
body[data-mdn-build="10.21.2"] #hero .hero-layout{
  position:relative;z-index:4;
  grid-template-columns:minmax(330px,39%) minmax(0,61%)!important;
  gap:clamp(18px,2vw,32px)!important;
}
body[data-mdn-build="10.21.2"] .mdn-hero-stage-v10212{
  grid-column:2!important;position:relative!important;overflow:visible!important;
  height:min(700px,74vh)!important;min-height:560px!important;isolation:isolate;
}
body[data-mdn-build="10.21.2"] .mdn-hero-ambient-v10212{
  position:absolute;z-index:1;left:-5%;top:12%;width:78%;height:68%;border-radius:50%;
  background:radial-gradient(ellipse at 52% 56%,rgba(232,207,134,.21),rgba(201,164,77,.08) 42%,transparent 72%);
  filter:blur(30px);opacity:.72;pointer-events:none;animation:mdnHeroHalo10212 8.5s ease-in-out infinite alternate;
}
body[data-mdn-build="10.21.2"] .mdn-inline-pho-wrap-v10212{
  position:absolute;z-index:8;left:-4%;top:-5%;width:78%;height:102%;
  pointer-events:none;transform-origin:50% 72%;
  animation:mdnPhoFloat10212 8.2s ease-in-out infinite alternate;
}
body[data-mdn-build="10.21.2"] .mdn-inline-pho-v10212{
  position:absolute;display:block!important;visibility:visible!important;opacity:1!important;
  width:100%;height:auto;left:0;bottom:-1%;max-width:none;
  filter:drop-shadow(0 34px 40px rgba(20,3,2,.34));
}
body[data-mdn-build="10.21.2"] .mdn-css-steam-v10212{
  position:absolute;z-index:12;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,250,238,.24) 0%,rgba(255,250,238,.10) 42%,transparent 70%);
  filter:blur(18px);mix-blend-mode:screen;opacity:.2;
}
body[data-mdn-build="10.21.2"] .mdn-css-steam-v10212.steam-a{width:18%;height:34%;left:30%;top:8%;animation:mdnSteamA10212 7s ease-in-out infinite}
body[data-mdn-build="10.21.2"] .mdn-css-steam-v10212.steam-b{width:15%;height:29%;left:42%;top:3%;animation:mdnSteamB10212 8.4s ease-in-out -2.3s infinite}
body[data-mdn-build="10.21.2"] .mdn-css-steam-v10212.steam-c{width:13%;height:26%;left:22%;top:14%;animation:mdnSteamB10212 7.6s ease-in-out -4.2s infinite}

/* Mini cart: higher, further right, wider and scrollable. */
body[data-mdn-build="10.21.2"] .hero-cart-v10212{
  position:absolute!important;z-index:40!important;top:17%!important;right:-3.5%!important;
  width:min(345px,28vw)!important;max-height:460px!important;padding:16px 17px!important;
}
body[data-mdn-build="10.21.2"] .hero-cart-v10212 .hero-cart-items{
  min-height:0!important;max-height:255px!important;overflow-y:auto!important;overflow-x:hidden!important;
  display:block!important;padding:8px 7px 8px 0!important;scrollbar-width:thin;
}
body[data-mdn-build="10.21.2"] .hero-mini-group{padding:8px 0;border-bottom:1px solid rgba(242,228,183,.12)}
body[data-mdn-build="10.21.2"] .hero-mini-group:last-child{border-bottom:0}
body[data-mdn-build="10.21.2"] .hero-mini-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}
body[data-mdn-build="10.21.2"] .hero-mini-group-head b{font:700 12px/1.3 var(--sans);color:inherit}
body[data-mdn-build="10.21.2"] .hero-mini-group-head span{font:700 10px/1 var(--sans);color:var(--gold2);white-space:nowrap}
body[data-mdn-build="10.21.2"] .hero-mini-variants{display:grid;gap:2px}
body[data-mdn-build="10.21.2"] .hero-mini-variant{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:baseline;
  padding:2px 0;font:500 10px/1.35 var(--sans)
}
body[data-mdn-build="10.21.2"] .hero-mini-variant>span{min-width:0;color:rgba(246,240,228,.70)}
body[data-mdn-build="10.21.2"] .hero-mini-variant>em{font-style:normal;color:rgba(246,240,228,.72);white-space:nowrap}
body[data-mdn-build="10.21.2"] .hero-mini-variant>strong{font-size:10px;color:var(--gold2);white-space:nowrap}
html[data-theme='light'] body[data-mdn-build="10.21.2"] .hero-mini-variant>span,
html[data-theme='light'] body[data-mdn-build="10.21.2"] .hero-mini-variant>em{color:var(--muted)}
html[data-theme='light'] body[data-mdn-build="10.21.2"] .hero-mini-group-head span,
html[data-theme='light'] body[data-mdn-build="10.21.2"] .hero-mini-variant>strong{color:var(--red2)}
@media(min-width:821px) and (max-width:1180px){
  body[data-mdn-build="10.21.2"] .hero-cart-v10212{display:block!important;width:300px!important;right:-1%!important;top:18%!important}
  body[data-mdn-build="10.21.2"] #hero .hero-layout{grid-template-columns:minmax(300px,40%) minmax(0,60%)!important}
  body[data-mdn-build="10.21.2"] .mdn-inline-pho-wrap-v10212{width:82%;left:-3%}
}
@media(max-width:820px){
  body[data-mdn-build="10.21.2"] #hero .hero-layout{grid-template-columns:1fr!important}
  body[data-mdn-build="10.21.2"] .hero-copy,
  body[data-mdn-build="10.21.2"] .mdn-hero-stage-v10212{grid-column:1!important}
  body[data-mdn-build="10.21.2"] .mdn-hero-stage-v10212{height:500px!important;min-height:0!important}
  body[data-mdn-build="10.21.2"] .mdn-inline-pho-wrap-v10212{width:96%;left:1%;top:-2%}
  body[data-mdn-build="10.21.2"] .hero-cart-v10212{display:none!important}
}

/* Contact success typography: fixed two-line Playfair headline. */
body[data-mdn-build="10.21.2"] .mdn-contact-success-modal .mdn-contact-thanks{
  margin:4px auto 18px;text-align:center;font-family:var(--serif)!important;color:var(--text)
}
body[data-mdn-build="10.21.2"] .mdn-contact-success-modal .mdn-contact-thanks strong{
  display:block!important;font:600 clamp(30px,4vw,43px)/1.02 var(--serif)!important;
  letter-spacing:-.035em!important;white-space:nowrap!important
}
body[data-mdn-build="10.21.2"] .mdn-contact-success-modal .feedback-card p{font-size:15px!important;line-height:1.55!important}
body[data-mdn-build="10.21.2"] .mdn-contact-success-modal .feedback-close,
body[data-mdn-build="10.21.2"] .mdn-contact-success-modal [data-contact-success-close]{pointer-events:auto!important;cursor:pointer!important;z-index:20!important}

/* Lựa chọn thêm: rollback to the clean single-select appearance. */
body[data-mdn-build="10.21.2"] .pm-extras-choice-v10212{margin-top:14px!important}
body[data-mdn-build="10.21.2"] .pm-extras-choice-v10212>label{margin-bottom:2px}
body[data-mdn-build="10.21.2"] .pm-extras-choice-v10212 .custom-select{width:100%}
body[data-mdn-build="10.21.2"] .pm-extras-choice-v10212 .custom-select-trigger{min-height:42px!important}

/* Mâm lễ & Thực quà: same heading family, all six on one centered row. */
body[data-mdn-build="10.21.2"] .occasion-tile-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important}
body[data-mdn-build="10.21.2"] .occasion-tile-grid .occasion-tile{
  min-height:96px!important;padding:12px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important
}
body[data-mdn-build="10.21.2"] .occasion-tile-grid .occasion-tile b{
  font:600 clamp(18px,1.35vw,22px)/1.06 var(--serif)!important;
  letter-spacing:-.02em!important;text-transform:uppercase!important;text-align:center!important
}
@media(max-width:1100px){body[data-mdn-build="10.21.2"] .occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){body[data-mdn-build="10.21.2"] .occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Cart: dish total in heading, variants closer to dish name, borderless compact quantity. */
body[data-mdn-build="10.21.2"] .order-summary-head{row-gap:3px!important}
body[data-mdn-build="10.21.2"] .order-summary-head .mdn-cart-breakdown{
  grid-column:1/-1;margin:1px 0 3px;font:500 11px/1.45 var(--sans);color:var(--muted)
}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-group{padding:5px 0!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-head{padding:0!important;margin:0 0 1px!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-head h3{font:700 15px/1.25 var(--sans)!important;margin:0!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-head h3 span{font-weight:700;color:var(--accent-ui)}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-group .mdn-master-cart-line{
  grid-template-columns:minmax(0,1fr) auto minmax(88px,auto) 16px!important;
  grid-template-areas:'copy qty price remove'!important;column-gap:6px!important;
  padding:2px 0!important;min-height:27px!important;border-bottom:0!important
}
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .summary-selection{font-size:13px!important;line-height:1.2!important}
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .qty{
  display:flex!important;align-items:center!important;gap:1px!important;border:0!important;background:transparent!important
}
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .qty button,
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .qty input{
  border:0!important;background:transparent!important;box-shadow:none!important
}
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .qty button{width:19px!important;height:22px!important;min-width:19px!important;padding:0!important;border-radius:0!important}
body[data-mdn-build="10.21.2"] .mdn-master-cart-line .qty input{width:24px!important;min-width:24px!important;height:22px!important;padding:0!important}
@media(max-width:620px){
  body[data-mdn-build="10.21.2"] .mdn-cart-dish-group .mdn-master-cart-line{
    grid-template-columns:minmax(0,1fr) auto minmax(78px,auto) 15px!important;column-gap:4px!important
  }
}

/* Clear-cart popup: no extra eyebrow heading. */
body[data-mdn-build="10.21.2"] #clearCartConfirmModal .feedback-card h3{margin-top:0!important}

/* Order success: parent prefix close to name; child lines begin under the dish name. */
body[data-mdn-build="10.21.2"] .confirm-group-head{
  display:grid!important;grid-template-columns:max-content minmax(0,1fr) auto!important;
  column-gap:6px!important;align-items:baseline!important
}
body[data-mdn-build="10.21.2"] .confirm-group-head .confirm-prefix{white-space:nowrap!important;text-align:left!important;padding:0!important}
body[data-mdn-build="10.21.2"] .confirm-group-lines{margin-top:4px!important;gap:2px!important}
body[data-mdn-build="10.21.2"] .confirm-group-lines small{
  display:block!important;padding-left:42px!important;font:400 13px/1.48 var(--sans)!important;color:var(--muted)!important
}
body[data-mdn-build="10.21.2"] .confirm-group-lines small>b{font:400 13px/1.48 var(--sans)!important;color:var(--muted)!important}

@keyframes mdnPhoFloat10212{0%{transform:translate3d(-2px,5px,0) rotate(-.35deg)}100%{transform:translate3d(5px,-11px,0) rotate(.4deg)}}
@keyframes mdnHeroAmbient10212{0%{transform:translate3d(-2%,2%,0) scale(.96)}100%{transform:translate3d(3%,-2%,0) scale(1.06)}}
@keyframes mdnHeroHalo10212{0%{transform:translate3d(-2%,3%,0) scale(.96);opacity:.52}100%{transform:translate3d(3%,-3%,0) scale(1.07);opacity:.82}}
@keyframes mdnSteamA10212{0%,100%{transform:translate3d(0,14px,0) scale(.9);opacity:.08}50%{transform:translate3d(6px,-24px,0) scale(1.12);opacity:.23}}
@keyframes mdnSteamB10212{0%,100%{transform:translate3d(2px,10px,0) scale(.92);opacity:.06}50%{transform:translate3d(-5px,-28px,0) scale(1.08);opacity:.19}}
@media(prefers-reduced-motion:reduce){
  body[data-mdn-build="10.21.2"] .mdn-inline-pho-wrap-v10212{animation:mdnPhoFloat10212 14s ease-in-out infinite alternate!important}
  body[data-mdn-build="10.21.2"] #hero::after{animation:mdnHeroAmbient10212 18s ease-in-out infinite alternate!important}
}

/* v10.21.2 QA final: keep cart header summary on its own compact row. */
body[data-mdn-build="10.21.2"] .order-summary-head{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;
}
body[data-mdn-build="10.21.2"] .order-summary-head>h2{grid-column:1!important;grid-row:1!important;margin:0!important}
body[data-mdn-build="10.21.2"] .order-summary-head>[data-clear-cart]{grid-column:2!important;grid-row:1!important}
body[data-mdn-build="10.21.2"] .order-summary-head .mdn-cart-breakdown{grid-column:1/-1!important;grid-row:2!important}

/* v10.21.2 final tuning from user review. */
body[data-mdn-build="10.21.2"] .mdn-external-pho-v10212{
  position:absolute;display:block!important;visibility:visible!important;opacity:1!important;
  width:100%;height:auto;left:0;bottom:-1%;max-width:none;z-index:-1;
  filter:drop-shadow(0 34px 40px rgba(20,3,2,.34));pointer-events:none;user-select:none;
}
body[data-mdn-build="10.21.2"] .hero-cart-v10212{
  top:9%!important;right:-7%!important;width:min(365px,29vw)!important;max-height:390px!important;
}
body[data-mdn-build="10.21.2"] .hero-cart-v10212 .hero-cart-items{
  max-height:195px!important;
}
body[data-mdn-build="10.21.2"] .hero-mini-group{padding:6px 0!important}
body[data-mdn-build="10.21.2"] .hero-mini-group-head{margin-bottom:2px!important}
body[data-mdn-build="10.21.2"] .hero-mini-variants{gap:1px!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-group{padding:3px 0!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-head{margin-bottom:0!important}
body[data-mdn-build="10.21.2"] .mdn-cart-dish-group .mdn-master-cart-line{padding:1px 0!important;min-height:25px!important}
@media(min-width:821px) and (max-width:1180px){
  body[data-mdn-build="10.21.2"] .hero-cart-v10212{width:320px!important;right:-3%!important;top:10%!important;max-height:380px!important}
  body[data-mdn-build="10.21.2"] .hero-cart-v10212 .hero-cart-items{max-height:190px!important}
}


/* v10.21.3 — layered hero + mini cart corrections */
body[data-mdn-build="10.21.3"] #hero{position:relative;isolation:isolate;overflow:hidden}
body[data-mdn-build="10.21.3"] #hero .hero-layout{grid-template-columns:minmax(340px,36%) minmax(0,64%)!important;align-items:center!important}
body[data-mdn-build="10.21.3"] .mdn-hero-stage-v10213{position:relative!important;height:min(680px,72vh)!important;min-height:560px!important;overflow:visible!important;isolation:isolate}
body[data-mdn-build="10.21.3"] .mdn-hero-ambient-v10213{display:none}
body[data-mdn-build="10.21.3"] .mdn-pho-fallback-v10213{display:none}
body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{position:absolute;z-index:2;left:-7%;top:-2%;width:106%;height:102%;pointer-events:none;filter:saturate(1.12) contrast(1.03)}
body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213 img{user-select:none;-webkit-user-drag:none}
body[data-mdn-build="10.21.3"] .hero-pho-bowl-v22{width:102%!important;left:-3%!important;bottom:-4%!important;filter:saturate(1.1) contrast(1.03) brightness(1.02)!important;animation:pho23Bowl 14s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .hero-pho-splash-v22{width:106%!important;left:-8%!important;top:2%!important;opacity:.95!important;animation:pho23Splash 13s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .hero-pho-steam-v22{width:56%!important;left:16%!important;top:-3%!important;opacity:.62!important;animation:pho23Steam 12s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-rare{width:28%!important;left:40%!important;top:15%!important;animation:pho23Rare 8.8s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-beefmain{width:18%!important;left:56%!important;top:18%!important;animation:pho23BeefA 10.4s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-beeffat{width:17%!important;left:27%!important;top:24%!important;animation:pho23BeefB 9.8s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-quay{width:23%!important;left:50%!important;top:2%!important;animation:pho23Quay 10.6s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-onion{width:19%!important;left:63%!important;top:10%!important;animation:pho23HerbA 8.6s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-coriander{width:17%!important;left:20%!important;top:17%!important;animation:pho23HerbB 8.9s ease-in-out infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-basil{width:18%!important;left:68%!important;top:35%!important;animation:pho23HerbA 9.4s ease-in-out -1s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-chili{width:12%!important;left:22%!important;top:40%!important;animation:pho23HerbB 9.1s ease-in-out -1.2s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-lime{width:14%!important;left:8%!important;top:36%!important;animation:pho23HerbA 9.7s ease-in-out -2s infinite!important}
body[data-mdn-build="10.21.3"] .hero-cart-v10213{display:block!important;position:absolute!important;z-index:30!important;right:-2%!important;top:22%!important;width:330px!important;max-height:420px!important;background:rgba(110,39,31,.52)!important;border-color:rgba(242,228,183,.22)!important}
body[data-mdn-build="10.21.3"] .hero-cart-v10213 .hero-cart-items{max-height:220px!important;overflow-y:auto!important;scrollbar-width:thin!important;scrollbar-color:rgba(232,207,134,.45) transparent!important}
body[data-mdn-build="10.21.3"] .hero-mini-group{padding:6px 0!important;border-bottom:1px solid rgba(242,228,183,.10)!important}
body[data-mdn-build="10.21.3"] .hero-mini-group:last-child{border-bottom:0!important}
body[data-mdn-build="10.21.3"] .hero-mini-group-head{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:12px!important;margin-bottom:2px!important}
body[data-mdn-build="10.21.3"] .hero-mini-group-head b{font:700 12px/1.32 var(--sans)!important}
body[data-mdn-build="10.21.3"] .hero-mini-group-head span{font:700 11px/1 var(--sans)!important;color:var(--gold2)!important;white-space:nowrap!important}
body[data-mdn-build="10.21.3"] .hero-mini-variants{display:grid!important;gap:1px!important}
body[data-mdn-build="10.21.3"] .hero-mini-variant{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:baseline!important;font-size:10px!important;line-height:1.35!important}
body[data-mdn-build="10.21.3"] .hero-mini-variant>span{min-width:0!important;color:rgba(246,240,228,.72)!important}
body[data-mdn-build="10.21.3"] .hero-mini-variant>em{font-style:normal!important;color:rgba(246,240,228,.72)!important;white-space:nowrap!important}
body[data-mdn-build="10.21.3"] .hero-mini-variant>strong,body[data-mdn-build="10.21.3"] .hero-cart-total strong{font-size:10px!important;color:var(--gold2)!important;white-space:nowrap!important;text-align:right!important;min-width:88px!important}
body[data-mdn-build="10.21.3"] .hero-cart-total{display:grid!important;grid-template-columns:1fr auto!important;align-items:baseline!important;column-gap:8px!important}
body[data-mdn-build="10.21.3"] .hero-cart-total span{justify-self:start!important}
body[data-mdn-build="10.21.3"] .mdn-contact-success-modal .mdn-contact-thanks{font:600 clamp(28px,3.4vw,42px)/1.08 var(--serif)!important;letter-spacing:-.03em!important}
body[data-mdn-build="10.21.3"] .mdn-contact-success-modal .mdn-contact-thanks strong{display:block!important;font:600 clamp(28px,3.4vw,42px)/1.08 var(--serif)!important}
body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile b{font:600 22px/1.08 var(--serif)!important;letter-spacing:.01em!important;text-transform:uppercase!important}
body[data-mdn-build="10.21.3"] .pm-extras-choice-v10212 .custom-select-trigger{min-height:42px!important;border-radius:16px!important;background:rgba(255,255,255,.04)!important}
body[data-mdn-build="10.21.3"] .mdn-cart-breakdown{display:none!important}
body[data-mdn-build="10.21.3"] .confirm-summary-total strong,body[data-mdn-build="10.21.3"] .confirm-total strong{font-size:inherit!important;font-weight:700!important}
body[data-mdn-build="10.21.3"] .product-img img{object-fit:cover!important;object-position:center center!important;width:100%!important;height:100%!important}
@media(max-width:1180px){body[data-mdn-build="10.21.3"] #hero .hero-layout{grid-template-columns:minmax(300px,40%) minmax(0,60%)!important}body[data-mdn-build="10.21.3"] .hero-cart-v10213{width:308px!important;right:-1%!important;top:24%!important}}
@media(max-width:820px){body[data-mdn-build="10.21.3"] #hero .hero-layout{grid-template-columns:1fr!important}body[data-mdn-build="10.21.3"] .mdn-hero-stage-v10213{grid-column:1!important;height:510px!important;min-height:0!important}body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{left:-3%!important;top:0!important;width:104%!important;height:95%!important}body[data-mdn-build="10.21.3"] .mdn-pho-fallback-v10213{display:none}body[data-mdn-build="10.21.3"] .hero-cart-v10213{display:none!important}}


/* v12.2 — Mâm lễ & Thực quà: ô "dịp" nhỏ lại một bậc, vẫn 6 ô một hàng. */
body[data-mdn-build="10.21.3"] .occasion-tile-grid{gap:8px!important}
body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile{min-height:76px!important;padding:10px 8px!important;border-radius:14px!important}
body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile b{font:600 16px/1.06 var(--serif)!important;letter-spacing:.01em!important;text-transform:uppercase!important}
@media(max-width:1180px){
  body[data-mdn-build="10.21.3"] .occasion-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile b{font-size:15px!important}
}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .occasion-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile{min-height:68px!important}
  body[data-mdn-build="10.21.3"] .occasion-tile-grid .occasion-tile b{font-size:14px!important}
}

/* v12.3 — Ảnh món lấp kín khối trái của popup chi tiết (bỏ viền thụt trên/trái/phải). */
body[data-mdn-build="10.21.3"] #productModal .product-modal-image,
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-image{
  padding:0!important;display:block!important;width:100%!important;height:100%!important;
  overflow:hidden!important;border-radius:0!important}
body[data-mdn-build="10.21.3"] #productModal .product-modal-image img,
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-image img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;display:block!important}
body[data-mdn-build="10.21.3"] #productModal .product-modal-media,
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-media{
  padding:0!important;overflow:hidden!important}

/* =========================================================
   v12.4 — sửa theo phản hồi 13/08
   ========================================================= */

/* 1. Popup "Cảm ơn bạn đã gửi thông tin": tách dòng phụ xuống thấp hơn. */
body[data-mdn-build="10.21.3"] .mdn-contact-success-modal .mdn-contact-thanks{margin-bottom:14px!important}
body[data-mdn-build="10.21.3"] .mdn-contact-success-modal .feedback-card p{margin:14px 0 24px!important}

/* 3. Mobile: popup thành trang toàn màn hình, nút bấm đủ lớn cho ngón tay. */
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{
    width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    border-radius:0!important;overflow:hidden!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-grid{
    grid-template-columns:1fr!important;grid-template-rows:34vh minmax(0,1fr)!important;
    height:100dvh!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-scroll{
    padding:18px 18px 20px!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .pm-price-row{
    margin:0 -18px 4px!important;padding:12px 18px 10px!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions{
    padding:12px 18px calc(12px + env(safe-area-inset-bottom))!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions .button{
    min-height:48px!important}
  body[data-mdn-build="10.21.3"] .pm-qty button,
  body[data-mdn-build="10.21.3"] .choice,
  body[data-mdn-build="10.21.3"] .modal-select{min-height:44px!important}
  /* iOS Safari tự phóng to khi focus input dưới 16px. */
  body[data-mdn-build="10.21.3"] input,
  body[data-mdn-build="10.21.3"] select,
  body[data-mdn-build="10.21.3"] textarea{font-size:16px!important}
}

/* =========================================================
   v12.5 — popup món: cột phải cuộn tự nhiên, không khoá dải giá
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-copy{
  display:flex!important;flex-direction:column!important;min-height:0!important;position:relative!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-scroll{
  flex:1 1 auto!important;min-height:0!important;
  overflow-y:auto!important;padding-bottom:24px!important}
/* Hàng THÀNH TIỀN cuộn cùng nội dung như cũ — chỉ giữ khoảng thở. */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .pm-price-row{
  position:static!important;margin:0 0 6px!important;padding:0 0 12px!important;
  background:none!important;box-shadow:none!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important}
/* Chữ cuộn lên mờ dần ở mép trên thay vì cắt cụt. */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-scroll{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 10px),transparent 100%)!important;
          mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 10px),transparent 100%)!important}
/* Khối đáy cao đúng bằng nội dung, có viền tách. */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions{
  flex:0 0 auto!important;position:relative!important;min-height:0!important;
  padding:14px 34px 16px!important;background:var(--panel)!important;
  border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total strong{
  font-size:24px!important;line-height:1.1!important}

/* Select: mỏng, hợp tông, bỏ mũi tên mặc định của trình duyệt. */
body[data-mdn-build="10.21.3"] select,
body[data-mdn-build="10.21.3"] .modal-select select,
body[data-mdn-build="10.21.3"] .need-field select{
  -webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;
  width:100%!important;min-height:44px!important;padding:10px 40px 10px 14px!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;border-radius:12px!important;
  background-color:color-mix(in srgb,var(--panel) 84%,transparent)!important;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px)!important;
  background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;
  color:var(--text)!important;font:500 15px/1.3 var(--sans)!important;
  box-shadow:none!important;cursor:pointer!important}
body[data-mdn-build="10.21.3"] select:focus{
  outline:none!important;border-color:color-mix(in srgb,var(--gold,#c9a44d) 70%,transparent)!important}
body[data-mdn-build="10.21.3"] select option{
  background:var(--panel)!important;color:var(--text)!important}

/* =========================================================
   v12.6 — tablet & mobile
   ========================================================= */
@media(max-width:1024px){
  body[data-mdn-build="10.21.3"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}
@media(max-width:720px){
  /* Hai món một hàng thay vì một món chiếm cả hàng. */
  body[data-mdn-build="10.21.3"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-card h3{font-size:15px!important;line-height:1.2!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-card small{font-size:10px!important;letter-spacing:.1em!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-img{aspect-ratio:1!important;height:auto!important;min-height:0!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-foot{flex-wrap:wrap!important;gap:6px!important;font-size:13px!important}
  body[data-mdn-build="10.21.3"] .product-grid .add-link{min-height:38px!important;font-size:13px!important}

  /* Giỏ hàng: danh sách món lên trước, thông tin đơn xuống sau. */
  body[data-mdn-build="10.21.3"] .checkout-layout{
    display:flex!important;flex-direction:column!important;gap:14px!important}
  body[data-mdn-build="10.21.3"] .checkout-layout>.order-summary{order:1!important;width:100%!important}
  body[data-mdn-build="10.21.3"] .checkout-layout>.checkout-flow{order:2!important;width:100%!important}
  body[data-mdn-build="10.21.3"] .checkout-layout>.order-summary{
    position:static!important;top:auto!important;max-height:none!important}
}

/* =========================================================
   v12.7 — mobile & tablet theo phản hồi 13/08
   ========================================================= */
@media(max-width:720px){
  /* Hero: nút CTA về giữa. */
  body[data-mdn-build="10.21.3"] .hero .hero-actions,
  body[data-mdn-build="10.21.3"] .hero-copy .hero-actions{
    justify-content:center!important;align-items:center!important}
  body[data-mdn-build="10.21.3"] .hero-copy{text-align:center!important}
  body[data-mdn-build="10.21.3"] .hero-copy .film-card{margin-left:auto!important;margin-right:auto!important}

  /* Trang chủ bớt dài: nén chiều cao mỗi khối. */
  body[data-mdn-build="10.21.3"] .internal-section,
  body[data-mdn-build="10.21.3"] main>section{
    padding-top:34px!important;padding-bottom:34px!important;min-height:0!important}
  body[data-mdn-build="10.21.3"] main>section[class*="full"],
  body[data-mdn-build="10.21.3"] main>section[class*="story"]{height:auto!important}

  /* Tiêu đề dài không bị ngắt dòng xấu như bản desktop. */
  body[data-mdn-build="10.21.3"] h1,
  body[data-mdn-build="10.21.3"] h2,
  body[data-mdn-build="10.21.3"] .prose-shell h1,
  body[data-mdn-build="10.21.3"] .prose-shell h2{
    text-wrap:balance!important;hyphens:none!important;overflow-wrap:break-word!important}
  body[data-mdn-build="10.21.3"] h1 br,
  body[data-mdn-build="10.21.3"] h2 br{display:none!important}

  /* Thẻ món gọn lại: ảnh 4:3, chữ sát giá hơn. */
  body[data-mdn-build="10.21.3"] .product-grid .product-img{aspect-ratio:4/3!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-copy{padding:8px 10px 4px!important;gap:2px!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-copy h3{margin:0!important}
  body[data-mdn-build="10.21.3"] .product-grid .product-foot{padding:4px 10px 10px!important;margin-top:0!important}

  /* Popup món: dấu chấm phân cách nhỏ lại, nút +/- bo góc chứ không tròn dẹt. */
  body[data-mdn-build="10.21.3"] .pm-taxonomy{font-size:10px!important;letter-spacing:.12em!important;line-height:1.4!important}
  body[data-mdn-build="10.21.3"] .pm-dots{gap:6px!important}
  body[data-mdn-build="10.21.3"] .pm-dots button,
  body[data-mdn-build="10.21.3"] .pm-dots span{width:6px!important;height:6px!important;min-width:0!important;min-height:0!important}
  body[data-mdn-build="10.21.3"] .pm-qty{gap:6px!important}
  body[data-mdn-build="10.21.3"] .pm-qty button{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    border-radius:10px!important;padding:0!important;aspect-ratio:auto!important;flex:0 0 38px!important}

  /* Popup mở ra không còn khoảng trắng thừa trên đầu. */
  body[data-mdn-build="10.21.3"] .modal.is-open .modal-panel{margin-top:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-close{top:10px!important;right:10px!important}

  /* Trang tài khoản: các khối canh giữa. */
  body[data-mdn-build="10.21.3"] .address-manager,
  body[data-mdn-build="10.21.3"] .address-manager-head,
  body[data-mdn-build="10.21.3"] .address-list{
    width:100%!important;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
  body[data-mdn-build="10.21.3"] .address-manager-head{
    display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;text-align:center!important}
}


/* =========================================================
   v12.9 — HERO: bát xuống, nước & khói lên, topping tản ra và CHUYỂN ĐỘNG
   Sáu keyframes dưới đây (BeefA/BeefB/Rare/Quay/HerbA/HerbB) được CSS gọi
   từ bản 10.21.3 nhưng chưa bao giờ tồn tại, nên mọi topping đứng im.
   ========================================================= */
@keyframes pho23BeefA{0%,100%{transform:translate3d(-6px,6px,0) rotate(-2deg)}50%{transform:translate3d(12px,-16px,0) rotate(2.2deg)}}
@keyframes pho23BeefB{0%,100%{transform:translate3d(7px,4px,0) rotate(1.8deg)}50%{transform:translate3d(-11px,-15px,0) rotate(-2.1deg)}}
@keyframes pho23Rare {0%,100%{transform:translate3d(-4px,3px,0) rotate(-1.2deg)}50%{transform:translate3d(9px,-12px,0) rotate(1.3deg)}}
@keyframes pho23Quay {0%,100%{transform:translate3d(4px,-3px,0) rotate(2.4deg)}50%{transform:translate3d(-8px,-18px,0) rotate(-2.6deg)}}
@keyframes pho23HerbA{0%,100%{transform:translate3d(-5px,5px,0) rotate(-3deg)}50%{transform:translate3d(9px,-13px,0) rotate(3.2deg)}}
@keyframes pho23HerbB{0%,100%{transform:translate3d(6px,4px,0) rotate(2.6deg)}50%{transform:translate3d(-10px,-12px,0) rotate(-3deg)}}

/* Bát dịch xuống và nhỏ lại một bậc. */
body[data-mdn-build="10.21.3"] .hero-pho-bowl-v22{
  width:94%!important;left:2%!important;bottom:-13%!important}
/* Tia nước dùng và hơi khói dâng lên trên. */
body[data-mdn-build="10.21.3"] .hero-pho-splash-v22{
  width:104%!important;left:-6%!important;top:-8%!important;opacity:.92!important}
body[data-mdn-build="10.21.3"] .hero-pho-steam-v22{
  width:62%!important;left:14%!important;top:-16%!important;opacity:.58!important}

/* Topping rải rộng ra, không dồn một cụm; mỗi lớp một nhịp riêng. */
body[data-mdn-build="10.21.3"] .pho-v22-beef{
  width:17%!important;left:24%!important;top:10%!important;
  animation:pho23BeefA 10.4s ease-in-out -0.8s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-beef2{
  width:16%!important;left:70%!important;top:26%!important;
  animation:pho23BeefB 11.6s ease-in-out -3.1s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-rare{
  width:25%!important;left:44%!important;top:22%!important;
  animation:pho23Rare 8.8s ease-in-out -1.6s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-quay{
  width:21%!important;left:60%!important;top:-2%!important;
  animation:pho23Quay 10.6s ease-in-out -2.4s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-onion{
  width:16%!important;left:78%!important;top:12%!important;
  animation:pho23HerbA 8.6s ease-in-out -0.4s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-onion2{
  width:13%!important;left:33%!important;top:44%!important;
  animation:pho23HerbB 9.9s ease-in-out -4.2s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-coriander{
  width:15%!important;left:14%!important;top:22%!important;
  animation:pho23HerbB 8.9s ease-in-out -2.9s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-coriander2{
  width:13%!important;left:66%!important;top:46%!important;
  animation:pho23HerbA 10.8s ease-in-out -5.5s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-basil{
  width:16%!important;left:82%!important;top:38%!important;
  animation:pho23HerbA 9.4s ease-in-out -1.1s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-chili{
  width:11%!important;left:19%!important;top:44%!important;
  animation:pho23HerbB 9.1s ease-in-out -1.2s infinite!important}
body[data-mdn-build="10.21.3"] .pho-v22-lime{
  width:13%!important;left:6%!important;top:38%!important;
  animation:pho23FlowC 9.7s ease-in-out -2s infinite!important}

/* Đăng nhập / đăng ký: Google + Facebook cùng một hàng. */
body[data-mdn-build="10.21.3"] .mdn-sapo-social{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:14px 0 4px!important}
body[data-mdn-build="10.21.3"] .mdn-sapo-social>*{margin:0!important;width:100%!important}
body[data-mdn-build="10.21.3"] .mdn-sapo-social a,
body[data-mdn-build="10.21.3"] .mdn-sapo-social button,
body[data-mdn-build="10.21.3"] .mdn-sapo-social>div{
  width:100%!important;max-width:none!important;min-height:44px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important}
@media(max-width:420px){body[data-mdn-build="10.21.3"] .mdn-sapo-social{grid-template-columns:1fr!important}}

/* Báo lỗi đăng nhập: nhỏ, đậm, đỏ, không khung. */
body[data-mdn-build="10.21.3"] .mdn-form-errors,
body[data-mdn-build="10.21.3"] .mdn-account-client-error{
  border:0!important;background:none!important;padding:0!important;margin:6px 0 10px!important;
  font:700 13px/1.4 var(--sans)!important;color:#e0483a!important;box-shadow:none!important}
body[data-mdn-build="10.21.3"] .mdn-form-errors *{font:inherit!important;color:inherit!important;margin:0!important}

/* =========================================================
   v13.1 — bát nhỏ thêm một bậc + giữ nút menu trên mobile
   ========================================================= */
body[data-mdn-build="10.21.3"] .hero-pho-bowl-v22{
  width:88%!important;left:5%!important;bottom:-11%!important}


/* =========================================================
   v13.3 — HEADER MOBILE
   .site-header là GRID cố định: grid-template-columns:235px 1fr 235px.
   Trên màn 390px, riêng hai cột biên đã 470px, nên cụm nút bên phải bị đẩy
   ra ngoài khung — nút mở menu là phần tử cuối nên biến mất hẳn. Mọi thuộc
   tính flex đặt lên nó trước đây đều vô tác dụng vì nó là grid item.
   Cách sửa: dưới 1080px chuyển header sang flex.
   ========================================================= */
@media(max-width:1080px){
  body[data-mdn-build="10.21.3"] .site-header{
    display:flex!important;grid-template-columns:none!important;
    align-items:center!important;gap:8px!important;
    left:0!important;right:0!important;top:0!important;padding:0 12px!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand{
    grid-column:auto!important;flex:0 1 auto!important;min-width:0!important;overflow:hidden!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand .brand-type strong{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
  body[data-mdn-build="10.21.3"] .site-header>.header-actions{
    grid-column:auto!important;flex:0 0 auto!important;margin-left:auto!important;
    display:flex!important;flex-wrap:nowrap!important;gap:6px!important;align-items:center!important}
  body[data-mdn-build="10.21.3"] .menu-toggle{
    display:grid!important;place-items:center!important;
    flex:0 0 40px!important;width:40px!important;height:40px!important;
    order:99!important;visibility:visible!important;opacity:1!important}
}
@media(max-width:820px){
  /* Nhường chỗ: hai nút kia chỉ còn biểu tượng. */
  body[data-mdn-build="10.21.3"] .site-header .brand-type small{display:none!important}
  body[data-mdn-build="10.21.3"] .site-header .account-pill .account-label{display:none!important}
  body[data-mdn-build="10.21.3"] .site-header .cart-pill span{display:none!important}
  body[data-mdn-build="10.21.3"] .site-header .account-pill,
  body[data-mdn-build="10.21.3"] .site-header .cart-pill{
    width:40px!important;min-width:40px!important;padding:0!important;
    display:grid!important;place-items:center!important;border-radius:50%!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand{max-width:46vw!important}
}
@media(max-width:420px){
  body[data-mdn-build="10.21.3"] .site-header{gap:4px!important;padding:0 8px!important}
  body[data-mdn-build="10.21.3"] .site-header .theme-toggle,
  body[data-mdn-build="10.21.3"] .site-header .account-pill,
  body[data-mdn-build="10.21.3"] .site-header .cart-pill,
  body[data-mdn-build="10.21.3"] .menu-toggle{
    width:36px!important;min-width:36px!important;height:36px!important;flex-basis:36px!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand{max-width:40vw!important}
}

/* =========================================================
   v13.4 — header dán sát mép trên, không còn "viên thuốc" nổi
   Trong file có ba thế hệ quy tắc chồng nhau: bản gốc để header nổi
   (top:14px, left/right:18px, bo tròn), hai bản sau kéo về top:0 full width.
   Tuỳ độ rộng cửa sổ mà bản nào thắng, nên có lúc thấy nội dung trang lòi ra
   phía trên header. Khoá lại một kiểu duy nhất ở mọi độ rộng.
   ========================================================= */
body[data-mdn-build="10.21.3"] .site-header{
  top:0!important;left:0!important;right:0!important;
  border-radius:0!important;border-left:0!important;border-right:0!important;
  border-top:0!important;margin:0!important}
body[data-mdn-build="10.21.3"] .site-header:not(.is-scrolled):not(.is-internal){
  background:linear-gradient(to bottom,rgba(46,11,9,.92),rgba(46,11,9,.55) 70%,transparent)!important;
  backdrop-filter:blur(10px)!important}
body[data-mdn-build="10.21.3"] .site-header.is-scrolled,
body[data-mdn-build="10.21.3"] .site-header.is-internal{
  background:var(--header-bg)!important;backdrop-filter:blur(18px)!important;
  box-shadow:0 10px 30px rgba(35,10,7,.18)!important}



/* =========================================================
   v13.7 — hero mobile: kéo BÁT PHỞ lên gần khối chữ.
   Thứ tự DOM: .hero-copy trước, .hero-stage (chứa bát) sau. Ở bản trước tôi
   đặt margin-top âm cho .hero-copy — việc đó đẩy CHỮ lên và làm khoảng cách
   tới bát RỘNG THÊM. Đúng ra phải kéo .hero-stage lên.
   ========================================================= */
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] #hero .hero-layout{row-gap:0!important;gap:0!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy{
    margin-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1{margin-bottom:6px!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy p{margin-bottom:10px!important}
  body[data-mdn-build="10.21.3"] #hero .hero-actions{margin-top:12px!important}
  body[data-mdn-build="10.21.3"] #hero .film-card,
  body[data-mdn-build="10.21.3"] #hero .film-preview{margin-top:12px!important;margin-bottom:0!important}
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{
    margin-top:-6vh!important;padding-top:0!important}
}
@media(max-width:520px){
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{margin-top:-9vh!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1{
    font-size:clamp(34px,11vw,52px)!important;line-height:1.02!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy p{font-size:14px!important;line-height:1.5!important}
}

/* =========================================================
   v13.9 — popup món: khoá lại chiều cao khung.
   Ở v12.5 tôi đặt height:auto cho vùng cuộn và chuyển cột phải sang flex.
   Khung popup vì thế phình theo nội dung, thành một mảng nền lớn phủ kín màn
   thay vì một cửa sổ. Ở đây khoá chiều cao khung và bắt lưới bên trong bám
   theo, để vùng cuộn co lại đúng phần còn dư.
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{
  height:min(780px,90vh)!important;max-height:90vh!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-grid{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-media,
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-copy{
  min-height:0!important;height:100%!important;overflow:hidden!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-backdrop{
  background:rgba(20,4,3,.62)!important;backdrop-filter:blur(3px)!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{
    height:100dvh!important;max-height:100dvh!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-grid{
    grid-template-columns:1fr!important;grid-template-rows:32vh minmax(0,1fr)!important}
}

/* =========================================================
   v14.0 — theo phản hồi 13/08 (chiều)
   ========================================================= */

/* 1. Nút "Quản lý địa chỉ" bị lệch khỏi khung viền của chính nó. */
body[data-mdn-build="10.21.3"] .account-profile-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:14px!important;flex-wrap:wrap!important}
body[data-mdn-build="10.21.3"] .account-edit-profile{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 20px!important;line-height:1!important;min-height:42px!important;
  border:1px solid color-mix(in srgb,var(--gold,#c9a44d) 55%,transparent)!important;
  border-radius:999px!important;text-decoration:none!important;white-space:nowrap!important}

/* 2. Thẻ món: tên món sát giá và nút Thêm hơn. */
body[data-mdn-build="10.21.3"] .product-card .product-copy{padding-bottom:4px!important}
body[data-mdn-build="10.21.3"] .product-card .product-copy h3{margin-bottom:0!important}
body[data-mdn-build="10.21.3"] .product-card .product-foot{
  margin-top:2px!important;padding-top:6px!important}

/* 3. Đăng ký chỉ còn Google/Facebook — canh giữa cho gọn. */
body[data-mdn-build="10.21.3"] .mdn-social-only{
  margin:12px 0 0!important;opacity:.75!important;font-size:13.5px!important}

/* =========================== MOBILE =========================== */
@media(max-width:820px){
  /* 4. Hero: tiêu đề canh trái và to hơn. */
  body[data-mdn-build="10.21.3"] #hero .hero-copy{text-align:left!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy .eyebrow,
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1,
  body[data-mdn-build="10.21.3"] #hero .hero-copy p{text-align:left!important}
  body[data-mdn-build="10.21.3"] #hero .hero-actions{justify-content:flex-start!important}
  body[data-mdn-build="10.21.3"] #hero .film-preview,
  body[data-mdn-build="10.21.3"] #hero .film-card{margin-left:0!important;margin-right:auto!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1{
    font-size:clamp(46px,14vw,72px)!important;line-height:.98!important;letter-spacing:-.03em!important}

  /* 5. Kéo bát phở lên gần khối chữ hơn nữa. */
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{margin-top:-14vh!important}

  /* 6. Phần giới thiệu ở các trang trong nhỏ đi một bậc. */
  body[data-mdn-build="10.21.3"] .internal-hero .prose-shell p,
  body[data-mdn-build="10.21.3"] .internal-hero p,
  body[data-mdn-build="10.21.3"] .menu-architecture-hero p,
  body[data-mdn-build="10.21.3"] .internal-section>.content-shell>p{
    font-size:14px!important;line-height:1.55!important}
  body[data-mdn-build="10.21.3"] .internal-hero h1{
    font-size:clamp(30px,8vw,42px)!important;line-height:1.06!important}

  /* 7. Trang Liên hệ: khung form tràn và lệch phải. */
  body[data-mdn-build="10.21.3"] .contact-form-panel,
  body[data-mdn-build="10.21.3"] .contact-form{
    width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
    padding:16px!important;box-sizing:border-box!important}
  body[data-mdn-build="10.21.3"] .contact-grid,
  body[data-mdn-build="10.21.3"] .contact-layout{
    display:block!important;width:100%!important;max-width:100%!important}
  body[data-mdn-build="10.21.3"] .contact-form input,
  body[data-mdn-build="10.21.3"] .contact-form select,
  body[data-mdn-build="10.21.3"] .contact-form textarea{
    width:100%!important;max-width:100%!important;box-sizing:border-box!important}
}
@media(max-width:520px){
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{margin-top:-17vh!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1{font-size:clamp(48px,15vw,76px)!important}
}

/* 8. Popup món trên mobile: dán mép trên, đáy gọn thành MỘT dòng. */
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal{
    align-items:flex-start!important;justify-content:center!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{
    height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .product-modal-grid{
    height:100dvh!important;grid-template-rows:30vh minmax(0,1fr)!important}
  /* Đáy: THÀNH TIỀN bên trái, nút THÊM bên phải, cùng một hàng. */
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions{
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:space-between!important;gap:12px!important;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom))!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total{
    flex:0 0 auto!important;display:flex!important;flex-direction:column!important;
    align-items:flex-start!important;gap:0!important;margin:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total small{
    font-size:10px!important;letter-spacing:.1em!important;opacity:.7!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total strong{
    font-size:20px!important;line-height:1.1!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions .button{
    flex:0 0 auto!important;width:auto!important;min-width:120px!important;
    padding:0 22px!important;min-height:46px!important;margin:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal #pmSelectionHint{display:none!important}
  /* (đã bỏ mẹo font-size:0 + ::after 'THÊM' — nó cộng thêm một chữ THÊM nữa
     bên cạnh <span class="mdn-add-short">, làm nút dài ra và xuống hai dòng) */
}

/* =========================================================
   v14.0 — phản hồi 13/08 (chiều)
   ========================================================= */

/* 1. Thẻ món: tên món sát giá và nút Thêm hơn. */
body[data-mdn-build="10.21.3"] .product-card .product-copy{
  padding-bottom:2px!important;gap:2px!important}
body[data-mdn-build="10.21.3"] .product-card .product-copy h3{margin:0!important}
body[data-mdn-build="10.21.3"] .product-card .product-foot{
  margin-top:0!important;padding-top:6px!important}

/* 2. Trang tài khoản: nút Quản lý địa chỉ về đúng hàng với Đăng xuất. */
body[data-mdn-build="10.21.3"] .account-profile-card{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:space-between!important;gap:14px!important}
body[data-mdn-build="10.21.3"] .account-profile-actions{
  display:flex!important;align-items:center!important;gap:14px!important;
  flex:0 0 auto!important;margin-left:auto!important}
body[data-mdn-build="10.21.3"] .account-profile-actions .account-edit-profile{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:40px!important;padding:0 18px!important;border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--gold,#c9a44d) 55%,transparent)!important;
  white-space:nowrap!important;line-height:1!important;text-decoration:none!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .account-profile-card{justify-content:center!important;text-align:center!important}
  body[data-mdn-build="10.21.3"] .account-profile-actions{margin-left:0!important;width:100%!important;justify-content:center!important}
}

/* 3. Trang liên hệ: khung form bớt to và thôi lệch phải. */
body[data-mdn-build="10.21.3"] .contact-layout{
  align-items:start!important;justify-content:center!important;margin-inline:auto!important}
body[data-mdn-build="10.21.3"] .contact-form-panel{
  max-width:560px!important;width:100%!important;margin-inline:auto!important}
body[data-mdn-build="10.21.3"] .contact-form-panel .contact-form{padding:22px!important}
@media(max-width:900px){
  body[data-mdn-build="10.21.3"] .contact-layout{
    display:flex!important;flex-direction:column!important;gap:18px!important}
  body[data-mdn-build="10.21.3"] .contact-info-panel,
  body[data-mdn-build="10.21.3"] .contact-form-panel{width:100%!important;max-width:none!important}
}

/* =============== chỉ áp cho mobile =============== */
@media(max-width:820px){
  /* 4. Hero: tiêu đề canh trái, to hơn. */
  body[data-mdn-build="10.21.3"] #hero .hero-copy{text-align:left!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy .eyebrow,
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1,
  body[data-mdn-build="10.21.3"] #hero .hero-copy p{text-align:left!important}
  body[data-mdn-build="10.21.3"] #hero .hero-actions{justify-content:flex-start!important}
  body[data-mdn-build="10.21.3"] #hero .film-preview,
  body[data-mdn-build="10.21.3"] #hero .film-card{margin-left:0!important;margin-right:auto!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy h1{
    font-size:clamp(46px,14vw,74px)!important;line-height:.98!important;letter-spacing:-.03em!important}

  /* 5. Kéo bát phở lên gần khối chữ hơn nữa. */
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{margin-top:-14vh!important}

  /* 6. Đoạn giới thiệu các trang trong nhỏ đi một bậc. */
  body[data-mdn-build="10.21.3"] .internal-hero p,
  body[data-mdn-build="10.21.3"] .prose-shell p,
  body[data-mdn-build="10.21.3"] .internal-section .section-intro p{
    font-size:14px!important;line-height:1.55!important}
  body[data-mdn-build="10.21.3"] .internal-hero h1{font-size:clamp(30px,8vw,42px)!important}


  /* 8. Khối đáy popup: một hàng — thành tiền trái, nút THÊM phải. */
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions{
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:space-between!important;gap:12px!important;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom))!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total{
    flex:0 1 auto!important;display:flex!important;flex-direction:column!important;
    align-items:flex-start!important;gap:0!important;margin:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total small{
    font-size:10px!important;letter-spacing:.12em!important;opacity:.75!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-total strong{
    font-size:20px!important;line-height:1.1!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions .button{
    flex:0 0 auto!important;width:auto!important;min-width:120px!important;
    min-height:44px!important;padding:0 22px!important;white-space:nowrap!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions #pmSelectionHint,
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-actions .pm-selection-hint{
    display:none!important}
}
body[data-mdn-build="10.21.3"] .mdn-add-short{display:none}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .mdn-add-long{display:none!important}
  body[data-mdn-build="10.21.3"] .mdn-add-short{display:inline!important;letter-spacing:.08em!important}
}

/* =========================================================
   v14.1 — logo mới + phản hồi mobile
   ========================================================= */

/* --- Logo: một ảnh cho nền tối, một cho nền sáng, đổi theo theme --- */
body[data-mdn-build="10.21.3"] .brand .brand-orbit{display:none!important}
body[data-mdn-build="10.21.3"] .mdn-brand-img{
  display:block;height:44px;width:auto;max-width:100%;object-fit:contain}
body[data-mdn-build="10.21.3"] .mdn-brand-img-light{display:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] .mdn-brand-img-dark{display:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] .mdn-brand-img-light{display:block}
body[data-mdn-build="10.21.3"] .site-header .brand{
  display:flex!important;align-items:center!important;gap:0!important;overflow:visible!important}
body[data-mdn-build="10.21.3"] .site-footer .brand{display:flex!important;align-items:center!important}
body[data-mdn-build="10.21.3"] .site-footer .mdn-brand-img{height:56px}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:34px}
  body[data-mdn-build="10.21.3"] .site-header>.brand{max-width:52vw!important}
  body[data-mdn-build="10.21.3"] .site-footer .mdn-brand-img{height:46px}
}
@media(max-width:420px){
  body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:30px}
}

/* --- Nút hero in hoa --- */
body[data-mdn-build="10.21.3"] #hero .hero-actions .button{
  text-transform:uppercase!important;letter-spacing:.08em!important}

/* --- Trang liên hệ: canh giữa thật sự (khung là grid nên phải đặt cột) --- */
body[data-mdn-build="10.21.3"] .contact-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;justify-items:stretch!important;max-width:1080px!important;
  margin-left:auto!important;margin-right:auto!important}
body[data-mdn-build="10.21.3"] .contact-form-panel{justify-self:stretch!important;max-width:none!important}
@media(max-width:900px){
  body[data-mdn-build="10.21.3"] .contact-layout{
    grid-template-columns:minmax(0,1fr)!important;max-width:620px!important}
}

@media(max-width:820px){
  /* --- Hero mobile: hạ cụm visual để không đè chữ; kéo topping về gần bát. --- */
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{margin-top:-10vh!important}
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
    inset:2% -16% -4% -16%!important;width:132%!important;height:104%!important;
    object-position:center 48%!important;opacity:.38!important;
    -webkit-mask-image:radial-gradient(ellipse 70% 64% at 52% 55%,#000 48%,rgba(0,0,0,.7) 72%,transparent 100%)!important;
    mask-image:radial-gradient(ellipse 70% 64% at 52% 55%,#000 48%,rgba(0,0,0,.7) 72%,transparent 100%)!important}
  body[data-mdn-build="10.21.3"] #hero .hero-pho-splash-v22{top:3%!important}
  body[data-mdn-build="10.21.3"] #hero .hero-pho-steam-v22{top:-2%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-beef{top:23%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-beef2{top:37%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-rare{top:29%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-quay{top:14%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-onion{top:25%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-onion2{top:48%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-coriander{top:32%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-coriander2{top:50%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-basil{top:45%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-chili{top:49%!important}
  body[data-mdn-build="10.21.3"] #hero .pho-v22-lime{top:44%!important}

  /* --- Danh mục & nhóm món to hơn, nút yêu thích cùng hàng --- */
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .pm-title-row>div{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;
    gap:8px 12px!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .pm-taxonomy{
    font-size:12.5px!important;line-height:1.35!important;letter-spacing:.1em!important;
    flex:1 1 auto!important;margin:0!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-favorite{
    order:2!important;flex:0 0 auto!important;margin:0!important;
    height:34px!important;padding:0 12px!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .pm-title-row h2{
    flex:1 1 100%!important;order:3!important;margin-top:2px!important}
}

/* --- Chấm tròn của thư viện ảnh: chỉ hiện khi có từ 2 ảnh --- */
body[data-mdn-build="10.21.3"] .pm-dots:not(.has-many){display:none!important}

/* =========================================================
   v14.2 — logo lớn hơn, popup gọn, trang liên hệ canh giữa
   ========================================================= */

/* --- Logo lớn hơn để đọc được chữ "Madame Nhung" --- */
body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:58px!important}
body[data-mdn-build="10.21.3"] .site-footer .mdn-brand-img{height:72px!important}
@media(max-width:1080px){
  body[data-mdn-build="10.21.3"] .site-header{height:82px!important}
  body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:54px!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand{max-width:62vw!important}
  body[data-mdn-build="10.21.3"] .main-nav{top:86px!important}
}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .site-header{
    height:calc(84px + env(safe-area-inset-top,0px))!important}
  body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:52px!important}
  body[data-mdn-build="10.21.3"] .site-footer .mdn-brand-img{height:62px!important}
  body[data-mdn-build="10.21.3"] .main-nav{top:calc(88px + env(safe-area-inset-top,0px))!important}
}
@media(max-width:420px){
  body[data-mdn-build="10.21.3"] .site-header .mdn-brand-img{height:46px!important}
  body[data-mdn-build="10.21.3"] .site-header>.brand{max-width:56vw!important}
}

/* --- Google + Facebook luôn cùng một hàng, kể cả màn hẹp nhất --- */
body[data-mdn-build="10.21.3"] .mdn-sapo-social{
  grid-template-columns:1fr 1fr!important;gap:8px!important}
@media(max-width:420px){
  body[data-mdn-build="10.21.3"] .mdn-sapo-social{grid-template-columns:1fr 1fr!important;gap:6px!important}
  body[data-mdn-build="10.21.3"] .mdn-sapo-social a,
  body[data-mdn-build="10.21.3"] .mdn-sapo-social button,
  body[data-mdn-build="10.21.3"] .mdn-sapo-social>div{
    min-height:42px!important;font-size:13px!important}
}

/* --- Trang liên hệ: ép khối ra chính giữa --- */
body[data-mdn-build="10.21.3"] .contact-layout{
  width:100%!important;max-width:1060px!important;
  margin-left:auto!important;margin-right:auto!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  justify-content:center!important;justify-items:stretch!important}
@media(max-width:900px){
  body[data-mdn-build="10.21.3"] .contact-layout{
    grid-template-columns:minmax(0,1fr)!important;max-width:600px!important;
    margin-left:auto!important;margin-right:auto!important}
  body[data-mdn-build="10.21.3"] .contact-info-panel,
  body[data-mdn-build="10.21.3"] .contact-form-panel{
    width:100%!important;margin-left:auto!important;margin-right:auto!important}
}

@media(max-width:820px){


}

/* =========================================================
   v14.3 — POPUP MÓN TRÊN MOBILE: khối cuối cùng, ưu tiên cao nhất.
   Lý do các lần trước không ăn: trong file có luật
     #productModal .modal-actions .button{width:100%!important;...}
   dùng SELECTOR ID, thắng mọi luật của tôi vốn chỉ dùng class. Khối này
   dùng đúng #productModal nên mới đè được.
   ========================================================= */
@media(max-width:820px){
  html body[data-mdn-build="10.21.3"] #productModal{
    padding:0!important;margin:0!important;display:block!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-panel{
    position:fixed!important;inset:0!important;
    width:100vw!important;height:100dvh!important;
    max-width:none!important;max-height:none!important;min-height:0!important;
    margin:0!important;border:0!important;border-radius:0!important;
    display:flex!important;flex-direction:column!important;overflow:hidden!important}
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-grid{
    flex:1 1 auto!important;min-height:0!important;height:auto!important;
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;grid-template-rows:none!important}
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-media{
    flex:0 0 20vh!important;height:20vh!important;min-height:0!important;width:100%!important}
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-copy{
    flex:1 1 auto!important;min-height:0!important;height:auto!important;width:100%!important;
    display:flex!important;flex-direction:column!important}
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    flex:1 1 auto!important;min-height:0!important;height:auto!important;
    overflow-y:auto!important;padding:16px 18px 18px!important;
    -webkit-mask-image:none!important;mask-image:none!important}

  /* Đáy: một hàng. Thành tiền trái, nút ôm sát chữ bên phải. */
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions{
    flex:0 0 auto!important;position:relative!important;
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    align-items:center!important;justify-content:space-between!important;
    gap:12px!important;width:100%!important;height:auto!important;min-height:0!important;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom))!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions .modal-total{
    flex:0 1 auto!important;min-width:0!important;margin:0!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions .modal-total small{
    font-size:10px!important;letter-spacing:.14em!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions .modal-total strong{
    font-size:22px!important;line-height:1.15!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions #pmSelectionHint{display:none!important}
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions .button,
  html body[data-mdn-build="10.21.3"] #productModal .modal-actions #pmAdd{
    flex:0 0 auto!important;
    width:auto!important;min-width:0!important;max-width:none!important;
    justify-self:auto!important;align-self:center!important;
    padding:0 24px!important;height:46px!important;min-height:46px!important;
    font:700 14px/46px var(--sans)!important;letter-spacing:.1em!important;
    white-space:nowrap!important;border-radius:999px!important;
    display:inline-block!important;text-align:center!important}
}

/* v14.3.2 — restore native email registration alongside Sapo social login. */
body[data-mdn-build="10.21.3"] .account-local-form label>small{font:400 10px/1.2 var(--sans);color:var(--muted);margin-left:4px}

/* =========================================================
   v14.3.4 — account workspace / 2-level address modal
   ========================================================= */
.mdn-account-v1434 .account-profile-actions{margin-left:auto}
.mdn-account-v1434 .account-logout-wrap a{color:var(--muted);font:600 11px var(--sans);text-decoration:underline;text-underline-offset:4px;transition:.2s}
.mdn-account-v1434 .account-logout-wrap a:hover{color:var(--accent-ui)}
.account-workspace{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:clamp(24px,4vw,52px);align-items:start;padding-top:28px}
.account-workspace-nav{position:sticky;top:92px;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}
html[data-theme='light'] .account-workspace-nav{background:rgba(255,255,255,.42)}
.account-workspace-nav button{width:100%;min-height:58px;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--muted);padding:10px 13px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;text-align:left;cursor:pointer;transition:.2s}
.account-workspace-nav button span{font:500 12px/1 var(--serif);color:var(--accent-ui)}
.account-workspace-nav button b{font:600 12px/1.25 var(--sans);color:inherit}
.account-workspace-nav button:hover{border-color:rgba(232,207,134,.25);background:rgba(232,207,134,.05);color:var(--text)}
.account-workspace-nav button.is-active{border-color:rgba(232,207,134,.34);background:linear-gradient(135deg,rgba(232,207,134,.16),rgba(255,255,255,.035));color:var(--text);box-shadow:inset 3px 0 0 var(--accent-ui)}
.account-workspace-content{min-width:0}
.account-workspace-content>.account-panel{padding:4px 0 54px}
.account-workspace-content>.account-panel[hidden]{display:none!important}
.mdn-account-info-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);padding:22px;margin-bottom:28px}
html[data-theme='light'] .mdn-account-info-card{background:rgba(255,255,255,.42)}
.mdn-account-info-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.mdn-account-info-head h3,.mdn-address-section-head h3{font:500 25px/1.1 var(--serif);margin:5px 0 0}
.mdn-account-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:18px}
.mdn-account-info-grid>div{display:grid;gap:5px;min-width:0}
.mdn-account-info-grid span{font:600 10px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mdn-account-info-grid b{font:600 13px/1.45 var(--sans);overflow-wrap:anywhere}
.mdn-account-info-grid small{font:400 10px/1.45 var(--sans);color:var(--muted)}
.mdn-address-section-head{margin:3px 0 15px}
.mdn-account-address-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mdn-account-address-cards .account-address-panel{margin:0;display:flex;flex-direction:column;min-height:170px}
.mdn-account-address-actions{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.mdn-account-address-actions .mdn-address-delete-form{margin:0}
.mdn-account-address-actions .mdn-address-delete{border:0;background:transparent;padding:6px 0;color:var(--muted);font:600 11px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mdn-account-address-actions .mdn-address-delete:hover{color:var(--accent-ui)}
.mdn-address-default{flex:none;border:1px solid rgba(232,207,134,.35);border-radius:999px;padding:5px 9px;color:var(--accent-ui);font:700 9px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.mdn-favorite-storage-note{margin:18px 0 0;padding:11px 13px;border:1px solid rgba(232,207,134,.16);border-radius:12px;background:rgba(232,207,134,.05);color:var(--muted);font-size:10px;line-height:1.55}
.mdn-account-favorite-card .favorite-toggle.is-active{color:var(--accent-ui)}

.mdn-account-address-modal{z-index:10050}
.mdn-account-address-card{width:min(680px,calc(100vw - 30px));max-height:min(86vh,760px);overflow:auto;padding:28px;border-radius:24px;scrollbar-width:thin;scrollbar-color:rgba(232,207,134,.62) transparent}
.mdn-account-address-card::-webkit-scrollbar{width:5px}
.mdn-account-address-card::-webkit-scrollbar-track{background:transparent}
.mdn-account-address-card::-webkit-scrollbar-thumb{background:rgba(232,207,134,.62);border-radius:999px}
.mdn-account-address-card .address-modal-head{padding-right:30px;margin-bottom:20px}
.mdn-account-address-card .address-modal-head h3{font:500 31px/1.05 var(--serif);letter-spacing:-.02em;margin:5px 0 8px}
.mdn-account-address-card .address-modal-head>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.mdn-account-address-form{display:grid;gap:13px}
.mdn-account-address-form>label,.mdn-account-address-form .account-form-row>label{display:grid;gap:7px;color:var(--muted);font:600 11px/1.3 var(--sans)}
.mdn-account-address-form input:not([type='checkbox']),.mdn-account-address-form select{width:100%;height:49px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:0 13px;font:400 14px var(--sans);outline:none}
.mdn-account-address-form input:focus,.mdn-account-address-form select:focus{border-color:rgba(232,207,134,.65);box-shadow:0 0 0 3px rgba(232,207,134,.07)}
.mdn-account-address-form select{appearance:auto}
.mdn-account-address-form .mdn-checkbox{display:flex;align-items:center;gap:9px;min-height:32px;color:var(--text)}
.mdn-account-address-form .mdn-checkbox input{width:16px;height:16px;accent-color:var(--accent-ui)}
.mdn-account-address-form .mdn-form-actions{display:flex;gap:10px;padding-top:4px}
.mdn-address-migration-note{margin:0;padding:9px 11px;border-radius:10px;background:rgba(232,207,134,.055);color:var(--muted);font-size:10px;line-height:1.5}

@media(max-width:900px){
  .account-workspace{grid-template-columns:1fr;gap:18px}
  .account-workspace-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr));padding:7px}
  .account-workspace-nav button{min-height:52px;grid-template-columns:1fr;text-align:center;gap:4px;padding:8px}
  .account-workspace-nav button span{font-size:10px}.account-workspace-nav button b{font-size:11px}
  .account-workspace-nav button.is-active{box-shadow:inset 0 -3px 0 var(--accent-ui)}
}
@media(max-width:700px){
  .mdn-account-v1434 .account-profile-card{display:grid;grid-template-columns:1fr}
  .mdn-account-v1434 .account-profile-actions{margin-left:63px!important;width:auto!important}
  .mdn-account-info-grid,.mdn-account-address-cards{grid-template-columns:1fr}
  .mdn-account-info-head{display:grid}.mdn-account-info-head .button{justify-self:start}
  .mdn-account-address-card{padding:22px 17px;border-radius:20px}
  .mdn-account-address-card .address-modal-head h3{font-size:27px}
  .mdn-account-address-form .account-form-row{grid-template-columns:1fr}
  .mdn-account-address-form .mdn-form-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .account-workspace-nav{grid-template-columns:1fr;gap:4px}
  .account-workspace-nav button{grid-template-columns:26px 1fr;text-align:left;min-height:46px}
  .account-workspace-nav button.is-active{box-shadow:inset 3px 0 0 var(--accent-ui)}
  .mdn-account-v1434 .account-profile-actions{margin-left:0!important}
  .mdn-account-address-form .mdn-form-actions{grid-template-columns:1fr}
}


/* =========================================================
   v14.3.5 — account polish / compact address form / mobile
   ========================================================= */
.mdn-account-v1435 .account-workspace-nav button b{font-size:13px!important;letter-spacing:.055em;text-transform:uppercase}
.mdn-account-v1435 .account-workspace-nav button.is-active,.mdn-account-v1435 .account-workspace-nav button.is-active b,.mdn-account-v1435 .account-workspace-nav button.is-active span{color:var(--accent-ui)!important}
.mdn-account-v1435 .mdn-panel-title-only{justify-content:center!important;text-align:center;margin-bottom:24px}
.mdn-account-v1435 .mdn-panel-title-only h2{width:100%;margin:0;font:500 clamp(24px,2.4vw,34px)/1.15 var(--serif)}
.mdn-account-v1435 .mdn-panel-title-with-action{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:16px;text-align:center}
.mdn-account-v1435 .mdn-panel-title-with-action h2{grid-column:1/-1}
.mdn-account-v1435 .mdn-panel-title-with-action>.button,.mdn-account-v1435 .mdn-panel-title-with-action>a{grid-column:2;grid-row:1;justify-self:end}
.mdn-account-v1435 .mdn-address-list-box{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);padding:22px}
html[data-theme='light'] .mdn-account-v1435 .mdn-address-list-box{background:rgba(255,255,255,.42)}
.mdn-account-v1435 .mdn-address-section-head{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.mdn-account-v1435 .mdn-address-lines{display:grid;gap:5px;margin-top:8px!important}
.mdn-account-v1435 .mdn-address-lines span{display:block}
.mdn-account-v1435 .mdn-address-edit-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:.2s}
.mdn-account-v1435 .mdn-address-edit-icon:hover{color:var(--accent-ui);border-color:var(--accent-ui)}
.mdn-account-v1435 .mdn-address-edit-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mdn-account-v1435 .mdn-account-address-actions{justify-content:flex-start}
.mdn-account-v1435 .mdn-account-address-card{overflow-x:hidden!important}
.mdn-account-v1435 .mdn-account-address-card .address-modal-head{padding-right:30px;margin-bottom:18px;text-align:center}
.mdn-account-v1435 .mdn-account-address-card .address-modal-head h3{margin:0}
.mdn-account-v1435 .mdn-account-address-form>label,.mdn-account-v1435 .mdn-account-address-form .account-form-row>label{font-size:12px!important;font-weight:700!important;letter-spacing:.085em!important;text-transform:uppercase;color:var(--text)}
.mdn-account-v1435 .mdn-account-address-form .mdn-phone-error{font:500 10px/1.45 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:#e8b17f;margin-top:1px}
.mdn-account-v1435 .mdn-account-address-form input:not([type='checkbox']),.mdn-account-v1435 .mdn-account-address-form select{min-width:0;max-width:100%}
.mdn-account-v1435 .mdn-account-address-form .mdn-form-actions{justify-content:center!important;align-items:center;padding-top:9px}
.mdn-account-v1435 .mdn-account-address-form .mdn-form-actions .button{min-width:145px}
.mdn-account-v1435 .mdn-account-address-form .mdn-checkbox{font-size:11px!important;letter-spacing:0!important;text-transform:none!important;font-weight:500!important}
.mdn-account-v1435 .mdn-favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mdn-account-v1435 .mdn-favorites-grid .product-card{min-width:0}
.mdn-account-v1435 .mdn-favorites-grid .product-copy{padding:12px 12px 9px!important}
.mdn-account-v1435 .mdn-favorites-grid .product-copy small{font-size:9px!important;line-height:1.25!important;margin-bottom:4px!important}
.mdn-account-v1435 .mdn-favorites-grid .product-copy h3{font-size:17px!important;line-height:1.12!important;margin:0!important}
.mdn-account-v1435 .mdn-favorites-grid .product-foot{padding:9px 12px 12px!important}
@media(max-width:900px){
 .mdn-account-v1435 .account-workspace-nav button b{font-size:12px!important}
 .mdn-account-v1435 .mdn-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .mdn-account-v1435 .account-workspace{gap:14px}
 .mdn-account-v1435 .account-workspace-nav{grid-template-columns:1fr!important;gap:5px;border-radius:16px}
 .mdn-account-v1435 .account-workspace-nav button{grid-template-columns:26px 1fr!important;text-align:left!important;min-height:48px!important}
 .mdn-account-v1435 .account-workspace-nav button.is-active{box-shadow:inset 3px 0 0 var(--accent-ui)!important}
 .mdn-account-v1435 .mdn-panel-title-only{margin-bottom:18px}
 .mdn-account-v1435 .mdn-panel-title-with-action{grid-template-columns:1fr!important}
 .mdn-account-v1435 .mdn-panel-title-with-action h2,.mdn-account-v1435 .mdn-panel-title-with-action>.button,.mdn-account-v1435 .mdn-panel-title-with-action>a{grid-column:1;grid-row:auto;justify-self:center}
 .mdn-account-v1435 .mdn-account-address-form .account-form-row{grid-template-columns:1fr!important}
 .mdn-account-v1435 .mdn-account-address-form .mdn-form-actions{display:flex!important;flex-wrap:wrap!important}
 .mdn-account-v1435 .mdn-account-address-form .mdn-form-actions .button{min-width:130px}
 .mdn-account-v1435 .mdn-address-list-box,.mdn-account-v1435 .mdn-account-info-card{padding:16px;border-radius:18px}
}
@media(max-width:520px){
 .mdn-account-v1435 .mdn-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .mdn-account-v1435 .mdn-favorites-grid .product-copy{padding:9px 9px 7px!important}
 .mdn-account-v1435 .mdn-favorites-grid .product-copy h3{font-size:15px!important}
 .mdn-account-v1435 .mdn-favorites-grid .product-foot{padding:7px 9px 10px!important}
 .mdn-account-v1435 .mdn-account-address-form .mdn-form-actions{gap:8px}
 .mdn-account-v1435 .mdn-account-address-form .mdn-form-actions .button{width:auto!important;min-width:118px!important;padding-left:16px!important;padding-right:16px!important}
}


/* =========================================================
   v14.3.6 — native Sapo address contract / order history /
   product modal below fixed header. Desktop pages outside
   account are intentionally untouched.
   ========================================================= */

/* Account order list — desktop table, mobile cards without horizontal scroll. */
.mdn-account-v1436 .mdn-account-orders-table{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.025)}
.mdn-account-v1436 .mdn-orders-head,.mdn-account-v1436 .mdn-orders-row{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(90px,.7fr) minmax(190px,1.7fr) minmax(105px,.8fr) minmax(125px,1fr) minmax(120px,1fr);align-items:center;gap:14px;padding:14px 16px}
.mdn-account-v1436 .mdn-orders-head{background:rgba(232,207,134,.07);border-bottom:1px solid var(--line);font:700 9px/1.25 var(--sans);letter-spacing:.08em;color:var(--muted)}
.mdn-account-v1436 .mdn-orders-row{font:500 11px/1.45 var(--sans);border-bottom:1px solid var(--line)}
.mdn-account-v1436 .mdn-orders-row:last-child{border-bottom:0}
.mdn-account-v1436 .mdn-orders-row>div{min-width:0;overflow-wrap:anywhere}
.mdn-account-v1436 .mdn-order-link{color:var(--accent-ui);font-weight:700;text-decoration:none}
.mdn-account-v1436 .mdn-order-link:hover{text-decoration:underline;text-underline-offset:3px}
.mdn-account-v1436 .mdn-order-address-cell{color:var(--muted)}
.mdn-status{display:inline-flex;align-items:center;min-height:25px;padding:5px 8px;border-radius:999px;border:1px solid rgba(232,207,134,.28);color:var(--text);font:700 9px/1.15 var(--sans);white-space:normal}
.mdn-status.is-success{border-color:rgba(56,170,115,.35);color:#66c99a}.mdn-status.is-warn{border-color:rgba(228,156,6,.36);color:#e8b25b}.mdn-status.is-danger{border-color:rgba(202,23,14,.42);color:#f08f87}

/* Native Sapo Web address form. Keep modal centered; all validation is inline. */
.mdn-account-v1436 .mdn-account-address-card{overflow-x:hidden!important}
.mdn-account-v1436 .mdn-sapo-native-address-form{min-width:0}
.mdn-account-v1436 .mdn-sapo-native-address-form select,.mdn-account-v1436 .mdn-sapo-native-address-form input{min-width:0!important}
.mdn-account-v1436 .mdn-sapo-native-address-form .mdn-field-error{display:block;margin-top:1px;color:#e8b17f;font:500 10px/1.45 var(--sans)!important;letter-spacing:0!important;text-transform:none!important}
.mdn-account-v1436 .mdn-sapo-native-address-form .mdn-field-error[hidden]{display:none!important}
.mdn-account-v1436 .mdn-checkbox.is-current-default{opacity:.72}
.mdn-account-v1436 .mdn-address-delete{border:0;background:transparent;padding:6px 0;color:var(--muted);font:600 11px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mdn-account-v1436 .mdn-address-delete:hover{color:var(--accent-ui)}

/* Favorites on account use the exact full product modal. The backdrop covers
   the page BELOW the fixed site header instead of slicing through it. */
body[data-mdn-build="10.21.3"] .mdn-master-product-modal{top:84px!important;bottom:0!important;left:0!important;right:0!important;height:auto!important}
body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{max-height:calc(100vh - 104px)!important}
@media(max-width:1080px){
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal{top:82px!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{max-height:calc(100vh - 98px)!important}
}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal{top:calc(84px + env(safe-area-inset-top,0px))!important}
  body[data-mdn-build="10.21.3"] .mdn-master-product-modal .modal-panel{max-height:calc(100vh - 100px - env(safe-area-inset-top,0px))!important}
}

/* Order detail from Sapo Web order object. */
.mdn-order-detail-page .account-page-actions{margin-bottom:18px}
.mdn-order-status-strip{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.mdn-order-status-strip>div{flex:1 1 190px;display:grid;gap:7px;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}
.mdn-order-status-strip>div>span{font:700 9px/1.2 var(--sans);letter-spacing:.09em;color:var(--muted)}
.mdn-order-info-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}
.mdn-order-info-grid .account-address-panel{margin:0;min-width:0}
.mdn-order-info-grid h3{font:500 21px/1.15 var(--serif);margin:4px 0 8px}
.mdn-order-info-grid p{font-size:11px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.mdn-order-lines{margin:0}
.mdn-order-section-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.mdn-order-section-head h2{font:500 28px/1.1 var(--serif);margin:0}
.mdn-order-detail-table .mdn-order-table-head,.mdn-order-detail-table .mdn-order-table-row{grid-template-columns:minmax(280px,2fr) minmax(100px,.7fr) minmax(85px,.55fr) minmax(110px,.75fr)}
.mdn-order-product-cell{display:flex;align-items:center;gap:12px;min-width:0}
.mdn-order-thumb{width:54px;height:54px;border-radius:10px;overflow:hidden;flex:none;background:var(--surface-soft)}
.mdn-order-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mdn-order-product-cell>div{display:grid;gap:3px;min-width:0}
.mdn-order-product-cell small{font:500 9px/1.35 var(--sans);color:var(--muted)}

@media(max-width:900px){
  .mdn-account-v1436 .mdn-orders-head{display:none}
  .mdn-account-v1436 .mdn-account-orders-table{display:grid;gap:10px;border:0;background:transparent;overflow:visible}
  .mdn-account-v1436 .mdn-orders-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;padding:0;overflow:hidden;background:rgba(255,255,255,.025)}
  .mdn-account-v1436 .mdn-orders-row>div{display:grid;gap:5px;padding:11px 12px;border-bottom:1px solid var(--line)}
  .mdn-account-v1436 .mdn-orders-row>div:nth-last-child(-n+2){border-bottom:0}
  .mdn-account-v1436 .mdn-orders-row>div:before{content:attr(data-label);font:700 8px/1.2 var(--sans);letter-spacing:.08em;color:var(--muted)}
  .mdn-account-v1436 .mdn-order-address-cell{grid-column:1/-1}
  .mdn-order-info-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .mdn-account-v1436 .mdn-orders-row{grid-template-columns:1fr}
  .mdn-account-v1436 .mdn-orders-row>div,.mdn-account-v1436 .mdn-orders-row>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .mdn-account-v1436 .mdn-orders-row>div:last-child{border-bottom:0}
  .mdn-account-v1436 .mdn-order-address-cell{grid-column:auto}
  .mdn-order-detail-table .mdn-order-table-head{display:none}
  .mdn-order-detail-table .mdn-order-table-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;border-bottom:1px solid var(--line);padding:0!important}
  .mdn-order-detail-table .mdn-order-table-row>div{padding:10px 8px;display:grid;gap:4px}
  .mdn-order-detail-table .mdn-order-table-row>div:before{content:attr(data-label);font:700 8px/1.2 var(--sans);letter-spacing:.08em;color:var(--muted)}
  .mdn-order-detail-table .mdn-order-product-cell{grid-column:1/-1;display:flex!important}
  .mdn-order-detail-table .mdn-order-product-cell:before{display:none}
}


/* MdN v14.3.7 account/menu/contact polish */
html[data-theme='light'] .site-header{
  background:linear-gradient(180deg,rgba(255,248,235,.96) 0%,rgba(243,230,207,.93) 100%)!important;
  border-color:rgba(126,76,43,.16)!important;
  box-shadow:0 14px 38px rgba(114,73,42,.12)!important;
}
html[data-theme='light'] .site-header::before,
html[data-theme='light'] .site-header::after{background:transparent!important}
html[data-theme='light'] .hero-cart,
html[data-theme='light'] .hero-cart-v10213,
html[data-theme='light'] .checkout-card,
html[data-theme='light'] .order-summary,
html[data-theme='light'] .contact-info-panel,
html[data-theme='light'] .contact-form-panel{
  background:linear-gradient(180deg,rgba(255,252,246,.84) 0%,rgba(246,235,216,.76) 100%)!important;
  border-color:rgba(125,74,40,.18)!important;
  box-shadow:0 14px 34px rgba(111,69,40,.10)!important;
}
html[data-theme='light'] .hero-cart-head small,
html[data-theme='light'] .hero-mini-group-head span,
html[data-theme='light'] .hero-mini-variant>strong,
html[data-theme='light'] .hero-cart-total strong{color:#8b4d2d!important}
html[data-theme='light'] .hero-mini-variant>span,
html[data-theme='light'] .hero-mini-variant>em{color:#7e6152!important}

/* tighter grouped lines inside “Thực đơn của tôi” */
.order-summary .mdn-cart-dish-head{padding:0 0 4px!important;margin:0!important}
.order-summary .mdn-cart-dish-group{padding:7px 0!important}
.order-summary .mdn-cart-dish-group .mdn-master-cart-line{padding:1px 0!important;min-height:0!important;row-gap:2px!important}
.order-summary .mdn-master-cart-line .summary-selection{line-height:1.18!important;margin:0!important}
.order-summary .mdn-master-cart-line .qty{margin-top:0!important}

/* account modal / delete confirmation overlay */
body.mdn-feedback-open .site-header{opacity:0!important;pointer-events:none!important;transform:translateY(-18px)!important}
.feedback-modal .feedback-backdrop{background:rgba(46,12,9,.74)!important;backdrop-filter:blur(11px)!important}
.feedback-modal .feedback-card{z-index:4005!important}

/* contact page back to wider / slightly smaller balanced layout */
body[data-mdn-build="10.21.3"] .contact-main-only{padding-top:132px!important;padding-bottom:72px!important}
body[data-mdn-build="10.21.3"] .contact-layout{grid-template-columns:minmax(0,1fr) minmax(430px,1.03fr)!important;gap:28px!important;align-items:start!important;max-width:1120px!important;margin:0 auto!important}
body[data-mdn-build="10.21.3"] .contact-info-panel,
body[data-mdn-build="10.21.3"] .contact-form-panel{padding:22px 24px!important;border-radius:22px!important}
body[data-mdn-build="10.21.3"] .contact-page .contact-info-panel h1{font:500 clamp(38px,4.2vw,56px)/1.01 var(--serif)!important;letter-spacing:-.035em!important;margin:8px 0 14px!important;max-width:560px!important}
body[data-mdn-build="10.21.3"] .contact-page .contact-info-panel h1 em{display:block!important}
body[data-mdn-build="10.21.3"] .contact-page .contact-intro{font-size:13.5px!important;line-height:1.62!important;max-width:520px!important}
body[data-mdn-build="10.21.3"] .contact-list{margin-top:22px!important}
body[data-mdn-build="10.21.3"] .contact-list>div{padding:12px 0!important;grid-template-columns:112px 1fr!important}
body[data-mdn-build="10.21.3"] .contact-list dt{font-size:11px!important}
body[data-mdn-build="10.21.3"] .contact-list dd{font-size:15px!important;line-height:1.45!important}
body[data-mdn-build="10.21.3"] .contact-form-panel .support-kicker{font-size:17px!important;line-height:1.32!important;margin-top:4px!important}
body[data-mdn-build="10.21.3"] .contact-form-panel .contact-form{padding:0!important;gap:12px!important}
body[data-mdn-build="10.21.3"] .contact-form-panel label{font-size:13px!important;gap:6px!important}
body[data-mdn-build="10.21.3"] .contact-form-panel input,
body[data-mdn-build="10.21.3"] .contact-form-panel textarea,
body[data-mdn-build="10.21.3"] .contact-form-panel .custom-select-trigger,
body[data-mdn-build="10.21.3"] .contact-form-panel .custom-select-option{font-size:15px!important}
body[data-mdn-build="10.21.3"] .contact-form-panel textarea{min-height:176px!important}
@media(max-width:920px){
  body[data-mdn-build="10.21.3"] .contact-layout{grid-template-columns:1fr!important;max-width:none!important}
}

/* order detail keeps left menu and profile block */
.mdn-order-detail-page .account-workspace-content>.account-panel{padding-top:0!important}
.mdn-order-detail-page .account-workspace-nav button.is-active,
.mdn-order-detail-page .account-workspace-nav button.is-active b,
.mdn-order-detail-page .account-workspace-nav button.is-active span{color:var(--accent-ui)!important}

/* favorites grid on account */
.mdn-account-v1436 .mdn-favorites-grid .product-open{display:block!important;text-decoration:none!important;color:inherit!important}
.mdn-account-v1436 .mdn-favorites-grid .product-open button{border:0;background:transparent;padding:0}


/* MdN v14.3.8 — targeted follow-up fixes */
html[data-theme='light'] .site-header,
html[data-theme='light'] .site-header.is-scrolled,
html[data-theme='light'] .site-header.is-internal{
  background:#f2e3cf!important;
  background-image:linear-gradient(180deg,#f8efe2 0%,#ead6bd 100%)!important;
  color:#5a231b!important;
  border-color:rgba(102,64,41,.18)!important;
  box-shadow:0 10px 30px rgba(92,58,36,.12)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html[data-theme='light'] .site-header .account-pill,
html[data-theme='light'] .site-header .cart-pill,
html[data-theme='light'] .site-header .theme-toggle{color:#5a231b!important}
html[data-theme='light'] .site-header .account-pill{background:rgba(255,255,255,.34)!important}

/* variant rows under one dish: intentionally very compact */
.order-summary .mdn-cart-dish-group{padding:4px 0!important;margin:0 0 5px!important}
.order-summary .mdn-cart-dish-head{padding:0!important;margin:0 0 1px!important}
.order-summary .mdn-cart-dish-head h3{line-height:1.15!important}
.order-summary .mdn-cart-dish-group .mdn-master-cart-line{
  grid-template-columns:minmax(0,1fr) auto minmax(88px,auto) 16px!important;
  grid-template-areas:'copy qty price remove'!important;
  column-gap:5px!important;
  row-gap:0!important;
  align-items:center!important;
  min-height:24px!important;
  padding:0!important;
  margin:0!important;
  border-bottom:0!important;
}
.order-summary .mdn-master-cart-line .summary-copy{align-self:center!important;line-height:1.1!important}
.order-summary .mdn-master-cart-line .summary-selection{font-size:12.5px!important;line-height:1.12!important;margin:0!important;padding:0!important}
.order-summary .mdn-master-cart-line .qty{align-self:center!important;margin:0!important;height:22px!important}
.order-summary .mdn-master-cart-line .qty button,
.order-summary .mdn-master-cart-line .qty input{height:20px!important;min-height:20px!important}
.order-summary .mdn-master-cart-line .summary-price{align-self:center!important;line-height:1.1!important}
.order-summary .mdn-master-cart-line .summary-remove{align-self:center!important;height:20px!important;min-height:20px!important}
@media(max-width:620px){
  .order-summary .mdn-cart-dish-group .mdn-master-cart-line{grid-template-columns:minmax(0,1fr) auto minmax(76px,auto) 14px!important;column-gap:4px!important;min-height:23px!important}
}


/* MdN v14.3.9 — focused UI + native account delete stabilization */
:root{--mdn-header-bottom:84px}

/* Light/be theme: the HOME header is beige from the first painted frame, not translucent over the red hero. */
html[data-theme='light'] body[data-mdn-build="10.21.3"] .site-header,
html[data-theme='light'] body[data-mdn-build="10.21.3"] .site-header:not(.is-scrolled):not(.is-internal),
html[data-theme='light'] body[data-mdn-build="10.21.3"] .site-header.is-scrolled,
html[data-theme='light'] body[data-mdn-build="10.21.3"] .site-header.is-internal{
  background:#f3e3ca!important;
  background-image:linear-gradient(180deg,#f8eddb 0%,#efd9b9 56%,#e6cba4 100%)!important;
  color:#5a231b!important;
  border-bottom:1px solid rgba(93,55,34,.18)!important;
  box-shadow:0 8px 24px rgba(90,54,33,.11)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Product backdrop and account address/delete backdrops touch the exact lower edge of the fixed header. */
body[data-mdn-build="10.21.3"] #productModal,
body[data-mdn-build="10.21.3"] .mdn-master-product-modal{
  top:var(--mdn-header-bottom)!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  height:auto!important;
}
.mdn-account-address-modal,.mdn-address-delete-modal{
  top:var(--mdn-header-bottom)!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  height:auto!important;
}
body.mdn-feedback-open .site-header{opacity:1!important;pointer-events:auto!important;transform:none!important}
.mdn-account-address-modal .feedback-backdrop,.mdn-address-delete-modal .feedback-backdrop{inset:0!important}

/* Address dropdown content matches text-field content size. */
.mdn-account-v1436 .mdn-account-address-form input:not([type='checkbox']),
.mdn-account-v1436 .mdn-account-address-form .custom-select-trigger,
.mdn-account-v1436 .mdn-account-address-form .custom-select-option{
  font:400 14.5px/1.35 var(--sans)!important;
}
.mdn-account-v1436 .mdn-account-address-form .custom-select-trigger{min-height:49px!important;padding:0 13px!important}

/* Favorites: four compact, proportionally smaller cards per row on desktop. */
@media(min-width:1051px){
  .mdn-account-v1436 .mdn-favorites-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-card{border-radius:13px!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-img{aspect-ratio:4/3!important;height:auto!important;min-height:0!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-copy{padding:9px 10px 5px!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-copy small{font-size:8px!important;line-height:1.15!important;margin-bottom:2px!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-copy h3{font-size:15.5px!important;line-height:1.08!important;min-height:33px!important;margin:4px 0!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-foot{padding:5px 10px 9px!important;gap:5px!important}
  .mdn-account-v1436 .mdn-favorites-grid .product-foot span{font-size:10.5px!important}
  .mdn-account-v1436 .mdn-favorites-grid .add-link{min-height:31px!important;padding:0 9px!important;font-size:10.5px!important}
  .mdn-account-v1436 .mdn-favorites-grid .favorite-toggle{width:31px!important;height:31px!important;top:7px!important;right:7px!important}
  .mdn-account-v1436 .mdn-favorites-grid .favorite-toggle svg{width:16px!important;height:16px!important}
}
@media(min-width:701px) and (max-width:1050px){.mdn-account-v1436 .mdn-favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Theme-matched thin scrollbars for time dropdowns and the cart item list. */
.custom-select-menu,
.order-summary .summary-items,
.mdn-account-address-card,
#productModal .product-modal-scroll{
  scrollbar-width:thin!important;
  scrollbar-color:rgba(232,207,134,.68) rgba(255,255,255,.035)!important;
}
.custom-select-menu::-webkit-scrollbar,
.order-summary .summary-items::-webkit-scrollbar,
.mdn-account-address-card::-webkit-scrollbar,
#productModal .product-modal-scroll::-webkit-scrollbar{width:6px!important;height:6px!important}
.custom-select-menu::-webkit-scrollbar-track,
.order-summary .summary-items::-webkit-scrollbar-track,
.mdn-account-address-card::-webkit-scrollbar-track,
#productModal .product-modal-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.035)!important;border-radius:999px!important}
.custom-select-menu::-webkit-scrollbar-thumb,
.order-summary .summary-items::-webkit-scrollbar-thumb,
.mdn-account-address-card::-webkit-scrollbar-thumb,
#productModal .product-modal-scroll::-webkit-scrollbar-thumb{background:rgba(232,207,134,.68)!important;border-radius:999px!important;border:1px solid rgba(75,16,13,.12)!important}
html[data-theme='light'] .custom-select-menu,
html[data-theme='light'] .order-summary .summary-items,
html[data-theme='light'] .mdn-account-address-card,
html[data-theme='light'] #productModal .product-modal-scroll{scrollbar-color:rgba(139,77,45,.58) rgba(131,39,25,.045)!important}
html[data-theme='light'] .custom-select-menu::-webkit-scrollbar-track,
html[data-theme='light'] .order-summary .summary-items::-webkit-scrollbar-track,
html[data-theme='light'] .mdn-account-address-card::-webkit-scrollbar-track,
html[data-theme='light'] #productModal .product-modal-scroll::-webkit-scrollbar-track{background:rgba(131,39,25,.045)!important}
html[data-theme='light'] .custom-select-menu::-webkit-scrollbar-thumb,
html[data-theme='light'] .order-summary .summary-items::-webkit-scrollbar-thumb,
html[data-theme='light'] .mdn-account-address-card::-webkit-scrollbar-thumb,
html[data-theme='light'] #productModal .product-modal-scroll::-webkit-scrollbar-thumb{background:rgba(139,77,45,.58)!important;border-color:rgba(255,255,255,.5)!important}

.mdn-address-delete-modal .mdn-delete-address-error{color:#e8b17f;font:600 11px/1.45 var(--sans);margin:12px 0 0}
html[data-theme='light'] .mdn-address-delete-modal .mdn-delete-address-error{color:#9b2c20}


/* MdN v14.3.12 — customer order overview layout */
.mdn-order-detail-page .mdn-order-overview-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  margin:0 0 16px!important;
}
.mdn-order-detail-page .mdn-order-overview-grid>.account-address-panel,
.mdn-order-detail-page .mdn-order-overview-stack>.account-address-panel{margin:0!important;min-width:0!important}
.mdn-order-detail-page .mdn-order-overview-stack{display:grid!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;min-width:0!important}
.mdn-order-detail-page .mdn-order-overview-address{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
.mdn-order-detail-page .mdn-order-overview-grid .eyebrow{margin:0 0 8px!important;font-size:9px!important;letter-spacing:.12em!important}
.mdn-order-detail-page .mdn-order-overview-grid h3{font:500 20px/1.18 var(--serif)!important;margin:0 0 8px!important;overflow-wrap:anywhere!important}
.mdn-order-detail-page .mdn-order-overview-grid p{font-size:11.5px!important;line-height:1.55!important;margin:0 0 6px!important;color:var(--muted)!important;overflow-wrap:anywhere!important}
.mdn-order-detail-page .mdn-order-note-copy{white-space:pre-line!important}
.mdn-order-detail-page .mdn-order-payment-status-box,
.mdn-order-detail-page .mdn-order-shipping-status-box,
.mdn-order-detail-page .mdn-order-payment-method-box{display:flex!important;flex-direction:column!important;justify-content:center!important}
.mdn-order-detail-page .mdn-order-overview-grid .mdn-status{width:max-content;max-width:100%!important}
.mdn-order-detail-page .mdn-order-note-attributes{display:grid!important;gap:5px!important;margin-top:9px!important;padding-top:9px!important;border-top:1px solid var(--line)!important}
.mdn-order-detail-page .mdn-order-note-attributes>div{display:grid!important;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr)!important;gap:8px!important;align-items:start!important}
.mdn-order-detail-page .mdn-order-note-attributes span{font:700 8.5px/1.3 var(--sans)!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--muted)!important}
.mdn-order-detail-page .mdn-order-note-attributes b{font:600 10.5px/1.4 var(--sans)!important;color:var(--text)!important;overflow-wrap:anywhere!important}
.mdn-order-detail-page .mdn-order-tracking{display:flex!important;gap:8px!important;align-items:baseline!important;flex-wrap:wrap!important;margin-top:8px!important;font-size:10px!important}
.mdn-order-detail-page .mdn-order-tracking span{color:var(--muted)!important}
@media(max-width:980px){
  .mdn-order-detail-page .mdn-order-overview-grid{grid-template-columns:1fr 1fr!important}
  .mdn-order-detail-page .mdn-order-overview-address{grid-column:1/-1!important}
}
@media(max-width:650px){
  .mdn-order-detail-page .mdn-order-overview-grid{grid-template-columns:1fr!important;gap:10px!important}
  .mdn-order-detail-page .mdn-order-overview-address{grid-column:auto!important}
  .mdn-order-detail-page .mdn-order-overview-stack{gap:10px!important}
}

/* =========================================================
   v14.4 — con dấu tròn thay chữ "MN" ở mini cart
   ========================================================= */
body[data-mdn-build="10.21.3"] .hero-cart-head .mdn-seal{
  display:grid!important;place-items:center!important;
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  border:0!important;background:none!important;padding:0!important;margin:0!important;
  font-size:0!important;line-height:0!important;border-radius:50%!important;overflow:hidden!important}
body[data-mdn-build="10.21.3"] .mdn-seal-img{
  display:block;width:100%;height:100%;object-fit:contain}
body[data-mdn-build="10.21.3"] .mdn-seal-light{display:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] .mdn-seal-dark{display:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] .mdn-seal-light{display:block}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .hero-cart-head .mdn-seal{
    width:38px!important;height:38px!important;flex-basis:38px!important}
}

/* v14.5 — form địa chỉ trong trang giỏ (bản dùng sổ địa chỉ tài khoản) */
body[data-mdn-build="10.21.3"] #mdnCartAddressModal .address-form{
  display:grid!important;gap:12px!important;margin-top:14px!important}
body[data-mdn-build="10.21.3"] #mdnCartAddressModal .address-form label{
  display:grid!important;gap:6px!important;font:600 11px/1.2 var(--sans)!important;
  letter-spacing:.12em!important;text-transform:uppercase!important}
body[data-mdn-build="10.21.3"] #mdnCartAddressModal .address-form input,
body[data-mdn-build="10.21.3"] #mdnCartAddressModal .address-form select{
  font:400 15px/1.3 var(--sans)!important;text-transform:none!important;letter-spacing:0!important}

body[data-mdn-build="10.21.3"] .address-row .address-edit{
  font:600 11px/1 var(--sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  opacity:.75!important;text-decoration:none!important;align-self:center!important}

/* =========================================================
   v14.6 — sổ địa chỉ ở trang giỏ: bố cục hàng ngang
   Markup mới khác markup cũ nên luật cũ bóp chiều rộng khối chữ, khiến địa chỉ
   vỡ mỗi dòng một chữ. Khai báo lại rõ ràng cho cấu trúc mới.
   ========================================================= */
body[data-mdn-build="10.21.3"] .address-list .address-row{
  display:flex!important;align-items:center!important;gap:12px!important;
  width:100%!important;padding:12px 0!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important}
body[data-mdn-build="10.21.3"] .address-list .address-choice{
  display:flex!important;align-items:flex-start!important;gap:10px!important;
  flex:1 1 auto!important;min-width:0!important;margin:0!important;cursor:pointer!important}
body[data-mdn-build="10.21.3"] .address-list .address-choice input[type=radio]{
  flex:0 0 auto!important;margin-top:4px!important}
body[data-mdn-build="10.21.3"] .address-list .address-text{
  display:block!important;flex:1 1 auto!important;min-width:0!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
body[data-mdn-build="10.21.3"] .address-list .address-text strong{
  display:block!important;font:600 15px/1.3 var(--serif)!important;margin-bottom:2px!important}
body[data-mdn-build="10.21.3"] .address-list .address-text small{
  display:block!important;font:400 13px/1.45 var(--sans)!important;opacity:.8!important;
  white-space:normal!important;text-transform:none!important;letter-spacing:0!important}
body[data-mdn-build="10.21.3"] .address-list .address-actions{
  display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important}
body[data-mdn-build="10.21.3"] .address-icon-btn{
  display:grid!important;place-items:center!important;
  width:34px!important;height:34px!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--line) 65%,transparent)!important;
  border-radius:10px!important;background:transparent!important;
  color:inherit!important;cursor:pointer!important;opacity:.8!important}
body[data-mdn-build="10.21.3"] .address-icon-btn:hover{opacity:1!important}
body[data-mdn-build="10.21.3"] .address-icon-btn svg{
  width:17px!important;height:17px!important;fill:none!important;
  stroke:currentColor!important;stroke-width:1.7!important;
  stroke-linecap:round!important;stroke-linejoin:round!important}
body[data-mdn-build="10.21.3"] .address-icon-btn.is-danger:hover{
  color:#e0483a!important;border-color:#e0483a!important}
@media(max-width:520px){
  body[data-mdn-build="10.21.3"] .address-list .address-row{
    flex-wrap:wrap!important;align-items:flex-start!important}
  body[data-mdn-build="10.21.3"] .address-list .address-actions{margin-left:auto!important}
}

/* =========================================================
   v14.7 — chống vỡ dấu tiếng Việt ở tiêu đề
   Triệu chứng: "điề`u", "muố´n" — dấu tách rời khỏi chữ. Xảy ra khi
   Playfair Display chưa tải xong (hoặc tải lỗi) và trình duyệt lùi về một
   font không dựng được tổ hợp dấu tiếng Việt. Ép trình duyệt dùng bộ dấu
   dựng sẵn và không tự tổng hợp kiểu chữ.
   ========================================================= */
body[data-mdn-build="10.21.3"] h1,
body[data-mdn-build="10.21.3"] h2,
body[data-mdn-build="10.21.3"] h3,
body[data-mdn-build="10.21.3"] .display-line,
body[data-mdn-build="10.21.3"] .hero-hanoi-line{
  font-synthesis:none;
  font-variant-ligatures:common-ligatures;
  font-feature-settings:"ccmp" 1,"mark" 1,"mkmk" 1;
  text-rendering:optimizeLegibility}

/* =========================================================
   v14.8 — form địa chỉ ở trang giỏ + hộp thoại xóa cho dễ nhìn
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-card{
  max-width:520px!important;width:min(520px,92vw)!important;text-align:left!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form{
  display:grid!important;gap:12px!important;margin-top:16px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form label{
  display:grid!important;gap:6px!important;
  font:600 10.5px/1.2 var(--sans)!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;opacity:.85!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form input,
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select{
  font:400 15px/1.3 var(--sans)!important;letter-spacing:0!important;
  text-transform:none!important;min-height:44px!important;width:100%!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form .mdn-addr-default{
  display:flex!important;align-items:center!important;gap:8px!important;
  text-transform:none!important;letter-spacing:.02em!important;font-size:13px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form .mdn-addr-default input{
  width:auto!important;min-height:0!important}



/* Hộp thoại xóa: cân đối, nút nguy hiểm rõ ràng */
body[data-mdn-build="10.21.3"] .mdn-cart-address-delete .feedback-card{
  max-width:440px!important;width:min(440px,92vw)!important;
  text-align:left!important;padding:26px 26px 22px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-delete h3{
  font:600 24px/1.2 var(--serif)!important;margin:6px 0 10px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-del-target{
  font:400 14px/1.5 var(--sans)!important;opacity:.8!important;margin:0 0 18px!important}
body[data-mdn-build="10.21.3"] .button.button-danger{
  background:#b3372a!important;border:1px solid #b3372a!important;color:#fff!important;
  padding:0 22px!important;border-radius:999px!important;font-weight:600!important}
body[data-mdn-build="10.21.3"] .button.button-danger:hover{
  background:#8f2b21!important;border-color:#8f2b21!important}
@media(max-width:520px){
  
  
}

/* =========================================================
   v15.0 — nút tròn chọn địa chỉ hiện rõ
   Radio vẫn nằm trong markup nhưng bị luật chung của theme ẩn đi (appearance
   none mà không vẽ lại), nên không biết địa chỉ nào đang chọn. Vẽ lại tay.
   ========================================================= */
body[data-mdn-build="10.21.3"] .address-list .address-choice{
  display:flex!important;align-items:flex-start!important;gap:12px!important;
  flex:1 1 auto!important;min-width:0!important;cursor:pointer!important}
body[data-mdn-build="10.21.3"] .address-list .address-choice input[type=radio]{
  -webkit-appearance:none!important;appearance:none!important;
  flex:0 0 20px!important;width:20px!important;height:20px!important;
  margin:2px 0 0!important;padding:0!important;border-radius:50%!important;
  border:1.5px solid color-mix(in srgb,var(--gold,#c9a44d) 60%,transparent)!important;
  background:transparent!important;display:inline-grid!important;place-items:center!important;
  position:relative!important;opacity:1!important;visibility:visible!important;
  cursor:pointer!important;transition:border-color .15s ease!important}
body[data-mdn-build="10.21.3"] .address-list .address-choice input[type=radio]::after{
  content:'';width:10px;height:10px;border-radius:50%;
  background:var(--gold,#c9a44d);transform:scale(0);transition:transform .15s ease}
body[data-mdn-build="10.21.3"] .address-list .address-choice input[type=radio]:checked{
  border-color:var(--gold,#c9a44d)!important}
body[data-mdn-build="10.21.3"] .address-list .address-choice input[type=radio]:checked::after{
  transform:scale(1)}
body[data-mdn-build="10.21.3"] .address-list .address-row.is-selected{
  border-color:color-mix(in srgb,var(--gold,#c9a44d) 45%,transparent)!important;
  background:color-mix(in srgb,var(--gold,#c9a44d) 7%,transparent)!important}
body[data-mdn-build="10.21.3"] .address-list .address-row{
  padding:12px 14px!important;border-radius:14px!important;
  border:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  margin-bottom:10px!important}

/* =========================================================
   v15.1 — HERO: video nền chạy lại + bát và topping nhỏ lại
   Thẻ <video class="hero-video-v1020"> vẫn nằm trong trang, nhưng các luật
   bật nó chỉ viết cho build 10.20 và 10.21.1 — bản này là 10.21.3 nên không
   luật nào khớp, video coi như tắt. Bật lại cho đúng build.
   ========================================================= */


body[data-mdn-build="10.21.3"] #hero .hero-wash,
body[data-mdn-build="10.21.3"] #hero .hero-vignette{z-index:1!important}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{z-index:2!important}
body[data-mdn-build="10.21.3"] #hero .hero-layout{position:relative!important;z-index:3!important}

/* Bát và toàn bộ lớp topping nhỏ lại ~12%. Thu ở lớp bọc, không đụng transform
   của từng lớp — transform là thứ animation đang dùng. */
body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
  transform:scale(.88)!important;transform-origin:50% 88%!important}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
    transform:scale(.92)!important;transform-origin:50% 92%!important}
}

/* =========================================================
   v15.1 — HỘP THOẠI ĐỊA CHỈ: dựng lại theo mẫu cũ
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-card{
  width:min(470px,92vw)!important;max-width:470px!important;
  padding:30px 30px 28px!important;border-radius:22px!important;
  background:var(--panel)!important;text-align:left!important;
  max-height:88vh!important;overflow-y:auto!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-modal-head{margin-bottom:4px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-modal-head h3{
  font:600 30px/1.15 var(--serif)!important;margin:6px 0 8px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-modal-head small{
  display:block!important;font:400 13px/1.5 var(--sans)!important;opacity:.72!important;
  text-transform:none!important;letter-spacing:0!important;margin-bottom:6px!important}

body[data-mdn-build="10.21.3"] .mdn-cart-address-form{gap:16px!important;margin-top:18px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form label{
  gap:8px!important;font:600 13px/1.2 var(--sans)!important;
  letter-spacing:.01em!important;text-transform:none!important;opacity:1!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form input[type=text],
body[data-mdn-build="10.21.3"] .mdn-cart-address-form input[type=tel],
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select{
  min-height:50px!important;padding:0 16px!important;border-radius:12px!important;
  background:color-mix(in srgb,var(--panel) 62%,#000 8%)!important;
  border:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  font:400 15px/50px var(--sans)!important;color:var(--text)!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select{
  padding-right:44px!important;line-height:normal!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form input:focus,
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select:focus{
  outline:none!important;border-color:color-mix(in srgb,var(--gold,#c9a44d) 65%,transparent)!important}
/* Danh sách xổ xuống của trình duyệt phải đục, không cho nhìn xuyên qua */
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select option{
  background:#4a1512!important;color:#f6ecdc!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] .mdn-cart-address-form select option{
  background:#fdf6ea!important;color:#3c2822!important}

body[data-mdn-build="10.21.3"] .mdn-cart-address-form .mdn-addr-default{
  flex-direction:row!important;align-items:center!important;gap:10px!important;
  font:400 13px/1.4 var(--sans)!important;opacity:.85!important;margin-top:-2px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form .mdn-addr-default input{
  -webkit-appearance:none!important;appearance:none!important;
  width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px!important;
  border-radius:5px!important;padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--gold,#c9a44d) 60%,transparent)!important;
  background:transparent!important;display:grid!important;place-items:center!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form .mdn-addr-default input:checked{
  background:var(--gold,#c9a44d)!important;border-color:var(--gold,#c9a44d)!important}





body[data-mdn-build="10.21.3"] .mdn-addr-hint{
  font:400 12px/1.55 var(--sans)!important;opacity:.62!important;
  margin:2px 0 4px!important;text-transform:none!important;letter-spacing:0!important}

/* =========================================================
   v15.2 — hộp thoại địa chỉ: rộng hơn, 2 cột, canh giữa
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal{
  display:grid!important;place-items:center!important;padding:20px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-card{
  width:min(760px,94vw)!important;max-width:760px!important;
  padding:34px 38px 30px!important;border-radius:22px!important;
  max-height:90vh!important;overflow-y:auto!important;overflow-x:hidden!important;
  margin:0!important;text-align:center!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-modal-head h3{
  font:600 32px/1.15 var(--serif)!important;margin:0 0 4px!important;text-align:center!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .mdn-cart-address-form{
  text-align:left!important;margin-top:22px!important;gap:16px!important}
body[data-mdn-build="10.21.3"] .mdn-addr-row{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
body[data-mdn-build="10.21.3"] .mdn-addr-row>label{margin:0!important;min-width:0!important}
/* select cùng cỡ chữ với ô nhập */
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select{
  font:400 15px/normal var(--sans)!important;height:50px!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-form select option{font-size:15px!important}



/* bỏ đường kẻ thừa dưới "Địa chỉ đã lưu" */
body[data-mdn-build="10.21.3"] .address-manager-head{
  border:0!important;padding-bottom:0!important;margin-bottom:10px!important;
  justify-content:flex-end!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-cart-address-modal{padding:12px!important}
  body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-card{
    width:100%!important;padding:24px 20px 22px!important;max-height:92vh!important}
  body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-modal-head h3{font-size:26px!important}
  body[data-mdn-build="10.21.3"] .mdn-addr-row{grid-template-columns:1fr!important;gap:14px!important}
  
  
  
}

/* =========================================================
   v15.2 — hero: bát to thêm 5% và dịch sang trái
   ========================================================= */
body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
  transform:translateX(-4%) scale(.93)!important;transform-origin:50% 88%!important}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
    transform:translateX(-2%) scale(.97)!important;transform-origin:50% 92%!important}
}


/* =========================================================
   v15.9 CLEAN — one hero-video rule for current build only
   ========================================================= */
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
  display:block;visibility:visible;position:absolute;inset:-3% -5% -2% -5%;
  width:110%;height:105%;object-fit:cover;object-position:center 46%;
  opacity:.42;z-index:0;pointer-events:none;
  mix-blend-mode:normal;filter:saturate(1.03) brightness(1.10) contrast(1.03);
  animation:none;border-radius:42%;
  -webkit-mask-image:radial-gradient(ellipse 64% 62% at 52% 52%,#000 50%,rgba(0,0,0,.72) 70%,transparent 100%);
  mask-image:radial-gradient(ellipse 64% 62% at 52% 52%,#000 50%,rgba(0,0,0,.72) 70%,transparent 100%);
}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
  opacity:.30;filter:saturate(.96) brightness(1.08) contrast(1.02);
}
body[data-mdn-build="10.21.3"] #hero .hero-wash,
body[data-mdn-build="10.21.3"] #hero .hero-vignette{z-index:1}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{z-index:2}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.stage-halo{z-index:1}
body[data-mdn-build="10.21.3"] #hero .hero-pho-composition-v10213{z-index:2}
body[data-mdn-build="10.21.3"] #hero .hero-cart-v10213{z-index:30}
body[data-mdn-build="10.21.3"] #hero .hero-layout{position:relative;z-index:3}


/* v15.9 CLEAN — cart-address actions and summary */
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions{
  display:flex!important;justify-content:center!important;align-items:center!important;
  gap:12px!important;max-width:430px!important;margin:16px auto 0!important;
  flex-direction:row!important;
}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions .button{
  flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:50px!important;
  padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap!important;line-height:1.2!important;font-size:14px!important;
}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions .button-outline{order:1!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions .button-gold{order:2!important}
body[data-mdn-build="10.21.3"] .mdn-cart-address-delete .address-form-actions{
  display:flex!important;gap:10px!important;justify-content:flex-end!important;margin-top:8px!important;
}
body[data-mdn-build="10.21.3"] .address-default-badge{font:600 10px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ui);padding:7px 9px;border:1px solid color-mix(in srgb,var(--accent-ui) 38%,transparent);border-radius:999px}
body[data-mdn-build="10.21.3"] .mdn-summary-final{gap:5px!important;margin:13px 0!important}
body[data-mdn-build="10.21.3"] .mdn-summary-final>div{border:0!important;padding:4px 0!important;margin:0!important}
body[data-mdn-build="10.21.3"] .mdn-summary-final .summary-total span,
body[data-mdn-build="10.21.3"] .mdn-summary-final .summary-total strong{color:var(--accent-ui)!important;font-weight:700!important}
@media(max-width:560px){
  body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions{flex-direction:row!important;gap:8px!important}
  body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions .button{width:auto!important;font-size:12.5px!important;padding:0 10px!important}
}


/* v15.9.1 — position only: add-address action on the same row as heading */
.mdn-cart-page-v3 .checkout-card-address .address-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.mdn-cart-page-v3 .checkout-card-address .address-title-row .address-add{flex:0 0 auto}

/* =========================================================
   v16.0 — ba việc: video nền hiện ra, popup phim phủ kín, hero mobile
   ========================================================= */

/* --- 1. VIDEO NỀN ---------------------------------------------------------
   Luật cho video đã đúng, nhưng nó nằm ở z-index 0 TRONG stage, mà hai lớp
   sau nó trong DOM lại vẽ đè lên:
     .mdn-hero-ambient-v10213  z-index 0, đứng sau video -> thắng khi bằng điểm
     .mdn-pho-fallback-v10213  z-index 1, ảnh bát tĩnh opacity .22
   Chính ảnh tĩnh này là "bát phở mờ phía sau" mà bạn nhìn thấy.
   Nâng video lên trên hai lớp đó, và tắt hẳn ảnh tĩnh. */
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
  z-index:2!important;opacity:.5!important;display:block!important;visibility:visible!important}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.mdn-hero-ambient-v10213{
  z-index:0!important}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.mdn-pho-fallback-v10213{
  display:none!important}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.stage-halo{z-index:1!important}
body[data-mdn-build="10.21.3"] #hero .hero-pho-composition-v10213{z-index:3!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
  opacity:.36!important}

/* --- 2. POPUP THƯỚC PHIM: phủ kín, không cắt ngang thanh menu -------------- */
body[data-mdn-build="10.21.3"] #filmModal{
  position:fixed!important;inset:0!important;z-index:9000!important;
  display:none;place-items:center!important;padding:24px!important}
body[data-mdn-build="10.21.3"] #filmModal.is-open{display:grid!important}
body[data-mdn-build="10.21.3"] #filmModal>.modal-backdrop{
  position:fixed!important;inset:0!important;z-index:0!important;
  background:rgba(18,4,3,.86)!important;backdrop-filter:blur(4px)!important}
body[data-mdn-build="10.21.3"] #filmModal>.modal-panel{
  position:relative!important;z-index:1!important;margin:0!important}
/* Khi popup mở thì thanh menu nằm dưới lớp phủ */
body[data-mdn-build="10.21.3"].no-scroll .site-header{z-index:50!important}

/* --- 3. HERO MOBILE: hạ cụm bát + topping, thôi đè vào chữ ----------------- */
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] #hero .hero-copy{position:relative!important;z-index:6!important}
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{
    margin-top:-2vh!important;height:430px!important}
  body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
    transform:translate(-1%,10%) scale(.9)!important;transform-origin:50% 100%!important}
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.hero-video-v1020{
    inset:6% -12% -6% -12%!important;width:124%!important;height:100%!important;opacity:.44!important}
}
@media(max-width:520px){
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{
    margin-top:-1vh!important;height:390px!important}
  body[data-mdn-build="10.21.3"] .hero-pho-composition-v10213{
    transform:translate(0,13%) scale(.94)!important;transform-origin:50% 100%!important}
}

/* v16.1 — quầng sáng sau bát dịu lại; đây là thứ còn tạo cảm giác "bát mờ mờ"
   sau khi ảnh tĩnh pho-approved đã tắt. */
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213>.stage-halo{opacity:.18!important}

/* v16.2 — nhãn nút hộp thoại địa chỉ */
body[data-mdn-build="10.21.3"] .mdn-cart-address-modal .address-form-actions .button,
body[data-mdn-build="10.21.3"] .account-address-modal .address-form-actions .button{
  letter-spacing:.14em!important;font-weight:700!important}

/* v16.2 — trang Chính sách hoạt động */
body[data-mdn-build="10.21.3"] .mdn-policy h2{
  font:600 24px/1.25 var(--serif)!important;margin:34px 0 12px!important;
  padding-top:18px!important;
  border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent)!important}
body[data-mdn-build="10.21.3"] .mdn-policy h2:first-child{border-top:0!important;padding-top:0!important;margin-top:0!important}
body[data-mdn-build="10.21.3"] .mdn-policy .mdn-policy-num{
  color:var(--gold,#c9a44d)!important;margin-right:6px!important;font-variant-numeric:tabular-nums!important}
body[data-mdn-build="10.21.3"] .mdn-policy p{
  font:400 15px/1.75 var(--sans)!important;margin:0 0 12px!important;opacity:.88!important}
body[data-mdn-build="10.21.3"] .mdn-policy .mdn-policy-kv{
  margin:0 0 6px!important;opacity:1!important}
body[data-mdn-build="10.21.3"] .mdn-policy .mdn-policy-kv b{
  font-weight:600!important;opacity:.72!important;margin-right:4px!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-policy h2{font-size:20px!important;margin-top:26px!important}
  body[data-mdn-build="10.21.3"] .mdn-policy p{font-size:14px!important;line-height:1.7!important}
}


/* =========================================================
   v16.5 — VIDEO NỀN PHỦ KÍN HERO, KHÔNG BO TRÒN, KHÔNG MẶT NẠ
   Hai lượt trước vẫn ra hình tròn vì khối luật v16.3 còn nguyên trong file,
   mang border-radius:42% và mask radial-gradient(ellipse ...). Khối đó đã bị
   xóa hẳn. Ở đây khai báo lại một lần, không bo góc, không mặt nạ.
   ========================================================= */
body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg,
body[data-mdn-build="10.21.3"] #hero .mdn-hero-ytbg{
  position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100%!important;height:100%!important;
  z-index:1!important;overflow:hidden!important;pointer-events:none!important;
  opacity:.38!important;
  border-radius:0!important;clip-path:none!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  filter:saturate(1.02) brightness(1.05) contrast(1.02)!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .mdn-hero-ytbg{
  opacity:.24!important;filter:saturate(.96) brightness(1.1) contrast(1.02)!important}

body[data-mdn-build="10.21.3"] #hero .mdn-hero-ytbg-frame{
  position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:100vw!important;height:56.25vw!important;
  min-height:100%!important;min-width:177.78%!important;
  border:0!important;border-radius:0!important;display:block!important;pointer-events:none!important}

/* Lớp phủ đỏ mỏng hơn để thấy video, và một lớp tối riêng sau khối chữ */
body[data-mdn-build="10.21.3"] #hero>.hero-wash{z-index:2!important;opacity:.8!important}
body[data-mdn-build="10.21.3"] #hero>.hero-vignette{z-index:3!important}
body[data-mdn-build="10.21.3"] #hero .mdn-hero-stage-v10213{z-index:4!important}
body[data-mdn-build="10.21.3"] #hero .hero-layout{position:relative!important;z-index:5!important}
body[data-mdn-build="10.21.3"] #hero .hero-copy{position:relative!important}
body[data-mdn-build="10.21.3"] #hero .hero-copy::before{
  content:'';position:absolute;z-index:-1;inset:-10% -18% -12% -40%;
  background:radial-gradient(120% 100% at 26% 50%,rgba(38,8,6,.9) 0%,rgba(38,8,6,.66) 44%,transparent 76%);
  pointer-events:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy::before{
  background:radial-gradient(120% 100% at 26% 50%,rgba(246,240,228,.94) 0%,rgba(246,240,228,.72) 44%,transparent 76%)}

@media(max-width:820px){
  body[data-mdn-build="10.21.3"] #hero .mdn-hero-ytbg{opacity:.3!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy::before{inset:-8% -14% -10% -14%}
}

/* v16.5 — video nền đậm hơn */
body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{
  opacity:.62!important;
  filter:saturate(1.06) brightness(1.06) contrast(1.05)!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.62) 16%,#000 34%,#000 100%)!important;
          mask-image:linear-gradient(90deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.62) 16%,#000 34%,#000 100%)!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{opacity:.42!important}
/* lớp phủ đỏ nhẹ tay lại để video lộ ra */
body[data-mdn-build="10.21.3"] #hero>.hero-wash{opacity:.70!important}
/* giữ chữ đọc rõ trên nền video đậm hơn */
body[data-mdn-build="10.21.3"] #hero .hero-copy{position:relative!important}
body[data-mdn-build="10.21.3"] #hero .hero-copy::before{
  content:'';position:absolute;z-index:-1;inset:-10% -16% -12% -34%;
  background:radial-gradient(115% 100% at 20% 50%,rgba(40,9,7,.86) 0%,rgba(40,9,7,.55) 48%,transparent 80%);
  pointer-events:none}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy::before{
  background:radial-gradient(115% 100% at 20% 50%,rgba(246,240,228,.92) 0%,rgba(246,240,228,.66) 48%,transparent 80%)}
@media(max-width:820px){
  body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{opacity:.52!important}
  body[data-mdn-build="10.21.3"] #hero .hero-copy::before{inset:-8% -12% -10% -12%}
}

/* =========================================================
   v16.6 — video đậm thêm + bỏ quầng mờ quanh khối chữ
   Quầng đó là lớp radial-gradient tôi thêm ở v16.5 để giữ chữ đọc rõ; mép
   gradient lộ thành một vòng sáng quanh khối "Đánh thức". Bỏ hẳn, thay bằng
   đổ bóng chữ và làm dịu video ở dải bên trái — không có mép nên không có quầng.
   ========================================================= */
body[data-mdn-build="10.21.3"] #hero .hero-copy::before{content:none!important;display:none!important}

body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{
  opacity:.74!important;
  filter:saturate(1.08) brightness(1.05) contrast(1.06)!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.70) 18%,#000 36%,#000 100%)!important;
          mask-image:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.70) 18%,#000 36%,#000 100%)!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{opacity:.5!important}
body[data-mdn-build="10.21.3"] #hero>.hero-wash{opacity:.62!important}

/* Giữ chữ đọc rõ bằng đổ bóng mềm, không dùng lớp nền nên không tạo viền. */
body[data-mdn-build="10.21.3"] #hero .hero-copy .eyebrow{
  text-shadow:0 1px 10px rgba(24,5,4,.75)!important}
body[data-mdn-build="10.21.3"] #hero .hero-copy h1{
  text-shadow:0 2px 26px rgba(24,5,4,.72),0 1px 4px rgba(24,5,4,.5)!important}
body[data-mdn-build="10.21.3"] #hero .hero-copy .hero-lead,
body[data-mdn-build="10.21.3"] #hero .hero-copy p{
  text-shadow:0 1px 14px rgba(24,5,4,.72)!important}
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy .eyebrow,
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy h1,
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy .hero-lead,
html[data-theme='light'] body[data-mdn-build="10.21.3"] #hero .hero-copy p{
  text-shadow:0 1px 12px rgba(252,246,236,.85)!important}

@media(max-width:820px){
  body[data-mdn-build="10.21.3"] #hero>.mdn-hero-ytbg{
    opacity:.62!important;
    -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,#000 28%,#000 100%)!important;
            mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,#000 28%,#000 100%)!important}
}

/* =========================================================
   v16.7 — trả lại z-index cho thanh menu
   Ở v16.0 tôi hạ header xuống z-index 50 khi body có .no-scroll, để lớp phủ
   của popup Thước phim che được menu. Nhưng .no-scroll được thêm bởi MỌI
   popup — kể cả popup món — nên mở một món là header tụt xuống dưới các lớp
   khác và thẻ món trồi lên trên menu. #filmModal đã ở z-index 9000 nên tự nó
   che được header rồi, không cần hạ header nữa.
   ========================================================= */
body[data-mdn-build="10.21.3"].no-scroll .site-header{z-index:100!important}
body[data-mdn-build="10.21.3"] .product-grid,
body[data-mdn-build="10.21.3"] .product-card,
body[data-mdn-build="10.21.3"] .menu-filter-grid{z-index:auto!important}
body[data-mdn-build="10.21.3"] .site-header{z-index:100!important}
/* Popup món phải nằm trên header */
body[data-mdn-build="10.21.3"] #productModal{z-index:3000!important}
body[data-mdn-build="10.21.3"] #productModal .modal-backdrop{
  position:fixed!important;inset:0!important}

/* =========================================================
   v16.7 — mini cart hạ xuống ngang dòng "một Hà Nội"
   ========================================================= */
/* Khối được định vị tuyệt đối theo top:22% — hạ xuống ngang dòng "một Hà Nội" */
@media(min-width:1081px){
  body[data-mdn-build="10.21.3"] #hero .hero-cart-v10213{top:34%!important}
}
@media(max-width:1080px) and (min-width:821px){
  body[data-mdn-build="10.21.3"] #hero .hero-cart-v10213{top:36%!important}
}

/* =========================================================
   v16.8 — thanh công cụ thực đơn: ô tìm kiếm cạnh ô sắp xếp
   ========================================================= */
body[data-mdn-build="10.21.3"] .menu-toolbar-actions{
  display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
body[data-mdn-build="10.21.3"] .menu-search-inline{
  position:relative!important;display:flex!important;align-items:center!important;
  flex:1 1 240px!important;min-width:200px!important;max-width:320px!important}
body[data-mdn-build="10.21.3"] .menu-search-inline .menu-search-icon{
  position:absolute!important;left:13px!important;width:16px!important;height:16px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;
  stroke-linecap:round!important;opacity:.6!important;pointer-events:none!important}
body[data-mdn-build="10.21.3"] .menu-search-inline input{
  width:100%!important;min-height:42px!important;padding:0 14px 0 36px!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 60%,transparent)!important;
  font:400 14px/42px var(--sans)!important;color:var(--text)!important;
  text-transform:none!important;letter-spacing:0!important}
body[data-mdn-build="10.21.3"] .menu-search-inline input:focus{
  outline:none!important;border-color:color-mix(in srgb,var(--gold,#c9a44d) 60%,transparent)!important}
body[data-mdn-build="10.21.3"] .menu-search-inline input::-webkit-search-cancel-button{
  -webkit-appearance:none;appearance:none}
body[data-mdn-build="10.21.3"] .menu-reset-icon{
  width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:50%!important;
  font-size:0!important;letter-spacing:0!important;
  border:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important;
  background:transparent!important;color:inherit!important}
body[data-mdn-build="10.21.3"] .menu-reset-icon svg{
  width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body[data-mdn-build="10.21.3"] .menu-reset-icon:hover{
  border-color:color-mix(in srgb,var(--gold,#c9a44d) 60%,transparent)!important}
body[data-mdn-build="10.21.3"] .visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;white-space:nowrap!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .menu-toolbar-actions{width:100%!important}
  body[data-mdn-build="10.21.3"] .menu-search-inline{flex:1 1 100%!important;max-width:none!important;order:1!important}
  body[data-mdn-build="10.21.3"] .menu-sort{order:2!important;flex:1 1 auto!important}
  body[data-mdn-build="10.21.3"] .menu-reset-icon{order:3!important}
}

/* =========================================================
   v16.8 — form nhập địa chỉ cho khách chưa đăng nhập
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-guest-address{display:grid!important;gap:14px!important}
body[data-mdn-build="10.21.3"] .mdn-guest-note{
  font:400 13px/1.5 var(--sans)!important;opacity:.72!important;margin:0!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address label{
  display:grid!important;gap:7px!important;min-width:0!important;
  font:600 13px/1.2 var(--sans)!important;text-transform:none!important;letter-spacing:.01em!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address label i{
  font-style:normal!important;font-weight:400!important;opacity:.55!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address input,
body[data-mdn-build="10.21.3"] .mdn-guest-address select{
  min-height:48px!important;padding:0 15px!important;border-radius:12px!important;
  border:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 62%,#000 8%)!important;
  font:400 15px/48px var(--sans)!important;color:var(--text)!important;
  text-transform:none!important;letter-spacing:0!important;width:100%!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address select{line-height:normal!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address input:focus,
body[data-mdn-build="10.21.3"] .mdn-guest-address select:focus{
  outline:none!important;border-color:color-mix(in srgb,var(--gold,#c9a44d) 65%,transparent)!important}
body[data-mdn-build="10.21.3"] .mdn-guest-address .is-invalid{
  border-color:#e0483a!important;background:color-mix(in srgb,#e0483a 8%,transparent)!important}
body[data-mdn-build="10.21.3"] .address-error{
  display:block!important;border:0!important;background:none!important;padding:0!important;
  margin:10px 0 0!important;font:700 13px/1.45 var(--sans)!important;color:#e0483a!important}
@media(max-width:720px){
  body[data-mdn-build="10.21.3"] .mdn-guest-address .mdn-addr-row{
    grid-template-columns:1fr!important;gap:14px!important}
}

/* =========================================================
   v16.9 — thanh công cụ thực đơn: bốn thứ thẳng một hàng
   .menu-sort là grid hai dòng (nhãn "SẮP XẾP" trên, select dưới) nên cao hơn
   ô tìm kiếm và nút đặt lại — ba control lệch nhau ba mức, cộng thêm khối
   tiêu đề canh flex-end nên thành bốn mức. Cho nhãn nằm ngang, ép cả ba
   control cùng chiều cao 44px và canh giữa theo trục dọc.
   ========================================================= */
body[data-mdn-build="10.21.3"] .full-menu-section .section-head{
  align-items:center!important;gap:24px!important;flex-wrap:wrap!important}
body[data-mdn-build="10.21.3"] .full-menu-section .menu-toolbar-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:10px!important;flex-wrap:nowrap!important;flex:1 1 auto!important}

body[data-mdn-build="10.21.3"] .full-menu-section .menu-sort{
  display:flex!important;align-items:center!important;gap:9px!important;
  min-width:0!important;width:auto!important;flex:0 1 auto!important}
body[data-mdn-build="10.21.3"] .full-menu-section .menu-sort span{
  flex:0 0 auto!important;white-space:nowrap!important;line-height:1!important;
  font-size:9px!important;letter-spacing:.13em!important}
body[data-mdn-build="10.21.3"] .full-menu-section .menu-sort select{
  height:44px!important;min-height:44px!important;line-height:normal!important;
  min-width:196px!important;margin:0!important}

body[data-mdn-build="10.21.3"] .full-menu-section .menu-search-inline{
  flex:0 1 300px!important;min-width:190px!important;max-width:300px!important;margin:0!important}
body[data-mdn-build="10.21.3"] .full-menu-section .menu-search-inline input{
  height:44px!important;min-height:44px!important;line-height:44px!important;margin:0!important}

body[data-mdn-build="10.21.3"] .full-menu-section .menu-reset-icon{
  width:44px!important;height:44px!important;min-width:44px!important;
  flex:0 0 44px!important;margin:0!important;align-self:center!important}

@media(max-width:900px){
  body[data-mdn-build="10.21.3"] .full-menu-section .section-head{
    align-items:flex-start!important;gap:18px!important}
  body[data-mdn-build="10.21.3"] .full-menu-section .menu-toolbar-actions{
    flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important}
  body[data-mdn-build="10.21.3"] .full-menu-section .menu-search-inline{
    flex:1 1 100%!important;max-width:none!important}
  body[data-mdn-build="10.21.3"] .full-menu-section .menu-sort{flex:1 1 auto!important}
  body[data-mdn-build="10.21.3"] .full-menu-section .menu-sort select{
    min-width:0!important;width:100%!important}
}

/* =========================================================
   v16.9 — không nhắc lỗi địa chỉ khi chưa cần
   Luật .address-error{display:block!important} tôi thêm ở v16.8 đè lên cả
   thuộc tính [hidden] của HTML, nên dòng đỏ hiện thường trực dù khách đã có
   địa chỉ. [hidden] phải thắng.
   ========================================================= */
body[data-mdn-build="10.21.3"] .address-error[hidden],
body[data-mdn-build="10.21.3"] [data-address-error][hidden]{display:none!important}


/* =========================================================
   v16.10 — configured pack display (Mooncake boxes)
   Keep underlying Sapo component lines; present them as one customer-facing pack.
   ========================================================= */
.order-summary .mdn-cart-pack-group{padding:10px 0 8px!important}
.order-summary .mdn-pack-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'copy copy' 'sub tools'!important;column-gap:12px!important;row-gap:5px!important;align-items:center!important;padding:0 0 9px!important;margin:0 0 2px!important;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important}
.order-summary .mdn-pack-head-copy{display:contents!important}
.order-summary .mdn-pack-head-copy h3{grid-area:copy!important;font:700 15px/1.3 var(--sans)!important;margin:0!important;color:var(--text)!important;white-space:nowrap!important;min-width:0!important}
.order-summary .mdn-pack-head-copy small{grid-area:sub!important;display:block!important;margin:0!important;font:500 10.5px/1.35 var(--sans)!important;color:var(--muted)!important;min-width:0!important}
.order-summary .mdn-pack-head-tools{grid-area:tools!important;display:flex!important;align-items:center!important;justify-self:end!important;gap:8px!important}
.order-summary .mdn-pack-stepper{display:flex!important;align-items:center!important;gap:4px!important}
.order-summary .mdn-pack-stepper button{width:22px!important;height:22px!important;border:1px solid var(--line)!important;border-radius:7px!important;background:transparent!important;color:var(--text)!important;padding:0!important;display:grid!important;place-items:center!important;font:600 13px/1 var(--sans)!important}
.order-summary .mdn-pack-stepper button:disabled{opacity:.35!important;cursor:not-allowed!important}
.order-summary .mdn-pack-stepper b{min-width:18px!important;text-align:center!important;font:650 12px/1 var(--sans)!important;color:var(--text)!important}
.order-summary .mdn-pack-total{font:700 14px/1.3 var(--sans)!important;color:var(--text)!important;white-space:nowrap!important}
.order-summary .mdn-pack-remove{width:20px!important;height:20px!important;border:0!important;background:transparent!important;color:var(--muted)!important;padding:0!important;font:500 18px/1 var(--sans)!important;cursor:pointer!important}
.order-summary .mdn-pack-remove:hover{color:var(--accent-ui)!important}
.order-summary .mdn-pack-box-line{display:none!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'copy price'!important;column-gap:12px!important;align-items:center!important;padding:7px 0!important;min-height:0!important;border-bottom:1px solid color-mix(in srgb,var(--line) 48%,transparent)!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line:last-child{border-bottom:0!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line .summary-remove,
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line .qty.compact{display:none!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line .summary-copy{grid-area:copy!important;min-width:0!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line .summary-selection{display:flex!important;align-items:baseline!important;gap:8px!important;margin:0!important;font:500 12px/1.35 var(--sans)!important;color:var(--text)!important}
.order-summary .mdn-pack-choice-name{min-width:0!important}
.order-summary .mdn-pack-choice-qty{font:600 10.5px/1.2 var(--sans)!important;color:var(--muted)!important;white-space:nowrap!important}
.order-summary .mdn-cart-pack-group .mdn-pack-choice-line .summary-price{grid-area:price!important;justify-self:end!important;align-self:center!important;margin:0 28px 0 0!important;font:650 12.5px/1.2 var(--sans)!important;color:var(--text)!important;white-space:nowrap!important}
@media(max-width:620px){
  .order-summary .mdn-pack-head{grid-template-columns:1fr!important;grid-template-areas:'copy' 'sub' 'tools'!important;gap:7px!important}
  .order-summary .mdn-pack-head-copy h3{white-space:normal!important}
  .order-summary .mdn-pack-head-tools{justify-content:flex-end!important;width:100%!important}
  .order-summary .mdn-pack-total{margin-left:auto!important}
  .order-summary .mdn-cart-pack-group .mdn-pack-choice-line{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'copy price'!important}
  .order-summary .mdn-cart-pack-group .mdn-pack-choice-line .summary-price{margin-right:28px!important}
}

/* v16.11 — stable configured-pack instances. Actual Sapo SKU lines stay in the
   form as a hidden source pool; customer-facing pack rows are virtual. */
.order-summary .mdn-pack-source-pool{display:none!important}
.order-summary .mdn-pack-choice-virtual{display:grid!important}
.order-summary .mdn-pack-residual-group .mdn-pack-residual-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;align-items:center!important;padding:6px 0!important}
.order-summary .mdn-pack-residual-group .mdn-residual-count{min-width:18px;text-align:center;font:650 12px/1 var(--sans);color:var(--text)}

/* =========================================================
   v16.10.2.3 — mobile product modal sizing polish
   - On mobile, product image area occupies ~1/3 of the screen.
   - Description + main ingredients use the same font size as variant/portion text.
   ========================================================= */
@media(max-width:650px){
  body[data-mdn-build="10.21.3"] #productModal .modal-panel{
    height:min(92vh,860px)!important;
    max-height:92vh!important;
    overflow:hidden!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-grid{
    grid-template-columns:1fr!important;
    grid-template-rows:33vh minmax(0,1fr)!important;
    height:100%!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-media{
    height:33vh!important;
    min-height:33vh!important;
    max-height:33vh!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-gallery,
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image{
    height:100%!important;
    min-height:100%!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image{
    padding:10px!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-copy{
    min-height:0!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    height:calc(100% - 92px)!important;
    max-height:none!important;
    padding:22px 20px 8px!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .modal-actions{
    min-height:92px!important;
    padding:14px 20px 18px!important;
  }
  body[data-mdn-build="10.21.3"] #productModal #pmDesc,
  body[data-mdn-build="10.21.3"] #productModal #pmInfoExtra,
  body[data-mdn-build="10.21.3"] #productModal .modal-info-block p{
    font-size:14.5px!important;
    line-height:1.68!important;
  }
}

/* =========================================================
   v16.10.2.4 — mobile product modal image fill + 2/5 screen
   ========================================================= */
@media(max-width:650px){
  body[data-mdn-build="10.21.3"] #productModal .product-modal-grid{
    grid-template-rows:40svh minmax(0,1fr)!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-media{
    height:40svh!important;
    min-height:40svh!important;
    max-height:40svh!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image,
  body[data-mdn-build="10.21.3"] #productModal .product-modal-gallery{
    height:100%!important;
    min-height:100%!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image{
    padding:0!important;
    overflow:hidden!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-image img,
  body[data-mdn-build="10.21.3"] #productModal .product-modal-gallery img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
  body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    padding-top:18px!important;
  }
}

/* =========================================================
   v16.10.2.5 — true mobile modal hero area
   Fix: previous 20vh rule for <=820px was still winning on many phones/tablets.
   Make the media block occupy ~2/5 of the viewport and force image fill.
   ========================================================= */
@media(max-width:820px){
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-media{
    flex:0 0 40svh!important;
    height:40svh!important;
    min-height:40svh!important;
    max-height:40svh!important;
    width:100%!important;
    overflow:hidden!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-gallery,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-image,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-image #pmImage,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-image .mdn-modal-art{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-image{
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-image img,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-gallery img,
  html body[data-mdn-build="10.21.3"] #productModal img#pmImage{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-copy{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
  }
}

/* =========================================================
   v16.10.2.6 — editorial italic typography consistency
   Playfair Display Italic is loaded natively; use the lighter 400 cut
   consistently for accent phrases instead of mixed 500/browser <em> synthesis.
   ========================================================= */
body[data-mdn-build="10.21.3"] .hero h1 .hero-hanoi-line,
body[data-mdn-build="10.21.3"] .section-head h2 em,
body[data-mdn-build="10.21.3"] .menu-section-head h2 em,
body[data-mdn-build="10.21.3"] .ritual-v2-copy h2 em,
body[data-mdn-build="10.21.3"] .about-teaser h2 em,
body[data-mdn-build="10.21.3"] .finale h2 em,
body[data-mdn-build="10.21.3"] .catering-v10-hero h1 em,
body[data-mdn-build="10.21.3"] .catering-final-cta h2 em,
body[data-mdn-build="10.21.3"] .catering-team-heading em,
body[data-mdn-build="10.21.3"] .contact-info-panel h1 em,
body[data-mdn-build="10.21.3"] .account-hero h1 em,
body[data-mdn-build="10.21.3"] .about-page .internal-hero h1 em,
body[data-mdn-build="10.21.3"] .about-page .prose h2 em,
body[data-mdn-build="10.21.3"] .about-page .about-philosophy h2 em,
body[data-mdn-build="10.21.3"] .about-page .about-ending h2 em,
body[data-mdn-build="10.21.3"] .about-page .about-media-head h2 em,
body[data-mdn-build="10.21.3"] .about-founder-name,
body[data-mdn-build="10.21.3"] .gift-results-section .section-head h2 em,
body[data-mdn-build="10.21.3"] .film-caption h2 em{
  font-family:'Playfair Display','Noto Serif','Times New Roman',serif!important;
  font-style:italic!important;
  font-weight:400!important;
  font-synthesis:none!important;
  font-optical-sizing:auto;
  letter-spacing:-.025em;
}

/* Hero keeps its approved scale/line break; only the italic face is normalized. */
body[data-mdn-build="10.21.3"] .hero h1 .hero-hanoi-line{
  line-height:.93!important;
}

/* =========================================================
   v16.10.2.8 — mobile modal dropdown layering + tighter mobile card titles
   - Ensure "Lựa chọn thêm" dropdown opens above the media layer on mobile.
   - Tighten long product-card titles on mobile so line spacing feels editorial.
   ========================================================= */
@media(max-width:820px){
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-media{
    position:relative!important;
    z-index:1!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-copy,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    position:relative!important;
    z-index:6!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    overflow-y:auto!important;
    overflow-x:visible!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .choice,
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice,
  html body[data-mdn-build="10.21.3"] #productModal .custom-select{
    position:relative!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice,
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select{
    z-index:20!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select.is-open{
    z-index:120!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select-menu{
    z-index:121!important;
    max-height:min(240px,32vh)!important;
    overflow:auto!important;
  }

  /* Product cards on mobile: long names should stack more tightly. */
  html body[data-mdn-build="10.21.3"] .product-copy h3,
  html body[data-mdn-build="10.21.3"] .mdn-master-product-card .product-copy h3{
    line-height:1.08!important;
    letter-spacing:-.018em!important;
  }
}

@media(max-width:650px){
  html body[data-mdn-build="10.21.3"] .product-copy h3,
  html body[data-mdn-build="10.21.3"] .mdn-master-product-card .product-copy h3{
    line-height:1.04!important;
    min-height:0!important;
  }
}

/* =========================================================
   v16.10.2.9 — mobile modal select direction + card taxonomy tightening
   - In the product modal on mobile, the add-on select should always open downward
     so it does not run into the image stage above.
   - Tighten multiline taxonomy / category captions on product cards.
   ========================================================= */
@media(max-width:820px){
  /* Modal: keep the add-on dropdown opening downward on mobile. */
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-copy,
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    overflow:visible!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select{
    z-index:220!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select.is-open{
    z-index:260!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select-menu,
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select.open-up .custom-select-menu{
    top:calc(100% + 7px)!important;
    bottom:auto!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* Product-card taxonomy lines: tighter multiline rhythm. */
  html body[data-mdn-build="10.21.3"] .product-copy small,
  html body[data-mdn-build="10.21.3"] .mdn-master-product-card .product-copy small{
    display:block!important;
    line-height:1.04!important;
    letter-spacing:.14em!important;
    margin:0 0 6px!important;
    text-wrap:pretty!important;
  }
}

@media(max-width:650px){
  html body[data-mdn-build="10.21.3"] .product-copy small,
  html body[data-mdn-build="10.21.3"] .mdn-master-product-card .product-copy small{
    line-height:1.02!important;
    margin:0 0 5px!important;
  }
}


/* =========================================================
   v16.10.3 — mobile modal scroll recovery + in-flow extras dropdown
   ========================================================= */
@media(max-width:820px){
  /* Restore a real scroll container. Body is intentionally locked while modal is open. */
  html body[data-mdn-build="10.21.3"] #productModal .modal-panel{
    overflow:hidden!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-copy{
    position:relative!important;
    z-index:6!important;
    overflow:hidden!important;
    min-height:0!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .product-modal-scroll{
    position:relative!important;
    z-index:6!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }

  /* Only the add-on selector becomes an in-flow dropdown on mobile.
     It expands downward and pushes Note/remaining fields down instead of overlaying the image. */
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice,
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select{
    position:relative!important;
    z-index:auto!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select.is-open{
    z-index:auto!important;
  }
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select-menu,
  html body[data-mdn-build="10.21.3"] #productModal .pm-extras-choice .custom-select.open-up .custom-select-menu{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:6px!important;
    bottom:auto!important;
    width:100%!important;
    max-height:min(250px,34svh)!important;
    margin:0 0 8px!important;
    overflow-y:auto!important;
    transform:none!important;
    z-index:auto!important;
  }

  /* Keep long category labels compact on mobile. */
  html body[data-mdn-build="10.21.3"] .product-copy small,
  html body[data-mdn-build="10.21.3"] .mdn-master-product-card .product-copy small{
    line-height:1.02!important;
  }
}

/* =========================================================
   v16.10.3.2 — draggable icon-only quick contact CTA
   ========================================================= */
.mdn-contact-fab{
  position:fixed;right:18px;bottom:22px;z-index:5200;
  font-family:var(--sans);color:var(--text);touch-action:none;
  user-select:none;-webkit-user-select:none
}
.mdn-contact-fab>summary{
  list-style:none;width:50px;height:50px;border-radius:50%;cursor:grab;
  display:grid;place-items:center;border:1px solid rgba(232,207,134,.42);
  background:linear-gradient(145deg,#7b241b,#4b100d);color:#f2e4b7;
  box-shadow:0 12px 32px rgba(38,5,4,.24);transition:transform .18s ease,box-shadow .18s ease;
  touch-action:none
}
.mdn-contact-fab>summary:active{cursor:grabbing}
.mdn-contact-fab>summary::-webkit-details-marker{display:none}
.mdn-contact-fab>summary:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(38,5,4,.3)}
.mdn-contact-fab>summary svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mdn-contact-fab[open]>summary{opacity:0;pointer-events:none}
.mdn-contact-fab-panel{
  position:absolute;right:0;bottom:0;width:max-content;padding:0!important;
  display:flex;align-items:center;justify-content:flex-end;gap:9px;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important
}
.mdn-contact-fab.is-left-side .mdn-contact-fab-panel{left:0;right:auto;justify-content:flex-start}
.mdn-contact-fab-iconbtn{
  width:48px;height:48px;min-width:48px;border-radius:50%;
  display:grid;place-items:center;padding:0;border:1px solid rgba(232,207,134,.40);
  background:linear-gradient(145deg,#7b241b,#4b100d);color:#f2e4b7;
  box-shadow:0 11px 28px rgba(38,5,4,.24);text-decoration:none;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
.mdn-contact-fab-iconbtn:hover,.mdn-contact-fab-iconbtn:focus-visible{
  transform:translateY(-2px);border-color:rgba(232,207,134,.78);box-shadow:0 15px 32px rgba(38,5,4,.30);outline:none
}
.mdn-contact-fab-iconbtn svg{width:21px;height:21px;display:block}
.mdn-contact-messenger svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.mdn-contact-facebook svg{fill:currentColor;stroke:none}
.mdn-contact-phone svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mdn-contact-fab-close{font:400 29px/1 var(--sans)!important}
html[data-theme='light'] .mdn-contact-fab>summary,
html[data-theme='light'] .mdn-contact-fab-iconbtn{
  background:linear-gradient(145deg,#fff8ed,#ecd7bd);color:#7b241b;border-color:rgba(123,36,27,.22)
}
@media(max-width:820px){
  .mdn-contact-fab{right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:5200}
  .mdn-contact-fab>summary{width:46px;height:46px}
  .mdn-contact-fab-iconbtn{width:44px;height:44px;min-width:44px}
  .mdn-contact-fab-iconbtn svg{width:19px;height:19px}
  .mdn-contact-fab-close{font-size:27px!important}
}
@media print{.mdn-contact-fab{display:none!important}}


/* =========================================================
   v16.10.4 — Sapo image uploader framework
   Uploaded editorial/category images live in Sapo theme settings.
   No image binaries are bundled into this release.
   ========================================================= */
body[data-mdn-build="10.21.3"] .mdn-category-media>img,
body[data-mdn-build="10.21.3"] .occasion-art>img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;display:block!important;
}
body[data-mdn-build="10.21.3"] .mdn-category-media:has(>img)::before,
body[data-mdn-build="10.21.3"] .mdn-category-media:has(>img)::after{display:none!important}
body[data-mdn-build="10.21.3"] .mdn-category-media:has(>img)::after{display:block!important;content:''!important;position:absolute!important;inset:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(32,5,4,.05),rgba(32,5,4,.38))!important}
body[data-mdn-build="10.21.3"] .mdn-category-media:has(>img)>i{z-index:2!important;text-shadow:0 2px 10px rgba(0,0,0,.35)}
body[data-mdn-build="10.21.3"] .occasion-art>img{z-index:0!important}
body[data-mdn-build="10.21.3"] .occasion-art:before{z-index:1!important}
body[data-mdn-build="10.21.3"] .occasion-art>i{z-index:2!important}
body[data-mdn-build="10.21.3"] .about-story-image>img,
body[data-mdn-build="10.21.3"] .about-today-image>img{width:100%!important;height:100%!important;min-height:430px;object-fit:cover!important;display:block!important}
@media(max-width:820px){
 body[data-mdn-build="10.21.3"] .about-story-image>img,
 body[data-mdn-build="10.21.3"] .about-today-image>img{min-height:320px}
}

/* =========================================================
   v16.10.4.2 — home business-line image readability
   Keep the upper image clear; fade starts only above the copy and becomes
   strong under the text instead of tinting the whole photograph.
   ========================================================= */
body[data-mdn-build="10.21.3"] .business-lines .line-card:after{
  inset:28% 0 0!important;
  background:linear-gradient(to bottom,
    rgba(46,11,9,0) 0%,
    rgba(46,11,9,.08) 18%,
    rgba(46,11,9,.42) 42%,
    rgba(46,11,9,.78) 66%,
    rgba(46,11,9,.94) 84%,
    rgba(46,11,9,.98) 100%)!important;
}

/* =========================================================
   v16.10.4.4 — signature card click surface hardening
   ========================================================= */
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .mdn-master-product-card .product-open{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
  display:block!important;
  width:100%!important;
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .product-open .product-img,
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .product-open .product-copy{
  pointer-events:none!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .favorite-toggle,
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .product-foot,
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .add-link{
  position:relative!important;
  z-index:5!important;
}

/* =========================================================
   v16.10.4.5 — signature card positioning + homepage modal flow
   ========================================================= */
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .mdn-master-product-card{
  position:relative!important;
  overflow:hidden!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .favorite-toggle{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  z-index:8!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .product-foot{
  position:relative!important;
  z-index:4!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .add-link{
  position:relative!important;
  z-index:5!important;
}
@media(max-width:650px){
  body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .favorite-toggle{
    top:8px!important;
    right:8px!important;
  }
}

/* =========================================================
   v16.10.4.6 — whole signature card is the detail click surface
   ========================================================= */
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .mdn-master-product-card{
  cursor:pointer!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .favorite-toggle,
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] .add-link{
  cursor:pointer!important;
}

/* =========================================================
   v16.10.4.7 — stable signature navigation bridge
   Signature detail surface is a native link; menu page auto-opens the product
   modal and returns to homepage when modal is dismissed.
   ========================================================= */
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] a.product-open{
  display:block!important;width:100%!important;color:inherit!important;text-decoration:none!important;
  cursor:pointer!important;position:relative!important;z-index:2!important;
}
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] a.product-open .product-img,
body[data-mdn-build="10.21.3"] [data-mdn-signature-grid] a.product-open .product-copy{
  pointer-events:auto!important;
}
