/* Scoped, normal-flow language row: no added width inside existing navigation. */
.sachun-language-bar{box-sizing:border-box;width:100%;background:#f8f4ef;color:#4b2930;border-bottom:1px solid #e5dcd5;font:12px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;position:relative;z-index:2}
.sachun-language-bar *{box-sizing:border-box}
.sachun-language-inner{max-width:1280px;margin:0 auto;padding:5px 20px;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.sachun-language-options{display:flex;align-items:center;gap:4px;flex-shrink:0}
.sachun-language-options button{appearance:none;margin:0;min-height:32px;min-width:40px;padding:5px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#641021;font:600 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap;box-shadow:none;letter-spacing:normal;text-transform:none}
.sachun-language-options button:hover{background:#ece2de}
.sachun-language-options button[aria-pressed="true"]{background:#641021;color:#fff}
.sachun-language-options button:focus-visible{outline:2px solid #641021;outline-offset:2px}
.sachun-language-notice{max-width:560px;overflow-wrap:anywhere}
.sachun-language-notice[hidden]{display:none!important}
@media(max-width:600px){.sachun-language-inner{padding:5px 12px;gap:4px 10px}.sachun-language-options button{min-height:36px}.sachun-language-notice{flex:1 1 100%;text-align:right;font-size:11px}}
@media print{.sachun-language-bar{display:none!important}}

/* Allow translated card copy to wrap within the original mobile grid. */
html[lang="en"] .category-card,html[lang="zh-CN"] .category-card{min-width:0;overflow-wrap:anywhere}

/* Warm ripple accent: retain every original wine/brown brand colour. */
.hero .hero-shade { overflow:hidden; pointer-events:none; }
.hero .hero-shade::before,.hero .hero-shade::after {
 content:"";position:absolute;pointer-events:none;transform-origin:80% 65%;
}
.hero .hero-shade::before {
 inset:-30% -20% -35% 28%;
 background:radial-gradient(ellipse at 85% 70%,transparent 0 29%,rgba(255,224,203,.03) 30%,rgba(255,224,203,.25) 31%,rgba(255,224,203,.03) 32%,transparent 34% 40%,rgba(255,224,203,.02) 41%,rgba(255,224,203,.19) 42%,rgba(255,224,203,.02) 43%,transparent 45% 51%,rgba(255,224,203,.02) 52%,rgba(255,224,203,.14) 53%,rgba(255,224,203,.02) 54%,transparent 56%);
 opacity:.85;animation:sachun-water-flow 12s ease-in-out infinite alternate;
}
.hero .hero-shade::after {
 inset:-20% -30% -30% 45%;
 background:linear-gradient(125deg,transparent 35%,rgba(255,224,203,.07) 48%,transparent 62%);
 animation:sachun-water-light 17s ease-in-out infinite alternate;
}
@keyframes sachun-water-flow {from{transform:translate3d(-3%,2%,0) rotate(-6deg) scale(.97)}to{transform:translate3d(4%,-3%,0) rotate(4deg) scale(1.10)}}
@keyframes sachun-water-light {from{transform:translate3d(2%,-1%,0);opacity:.45}to{transform:translate3d(-3%,2%,0);opacity:.85}}
@media(max-width:700px){.hero .hero-shade::before{inset:-10% -65% -30% 15%;opacity:.65;animation-duration:14s}.hero .hero-shade::after{display:none}}
@media(prefers-reduced-motion:reduce){.hero .hero-shade::before,.hero .hero-shade::after,.hero .scroll-cue i::after{animation:none!important;transform:none!important}}
@media print{.hero .hero-shade::before,.hero .hero-shade::after{display:none}}
