/* FluuexQR v370 strict polish: targeted only; preserves existing ordering design. */
.fqoApp .fq336-menu-search,
.fqoApp .fq336-menu-search:focus-within{
  border:1px solid #dedee4!important;
  border-left:1px solid #dedee4!important;
  border-right:1px solid #dedee4!important;
  outline:0!important;
  box-shadow:0 6px 20px rgba(0,0,0,.035)!important;
  overflow:hidden!important;
}
.fqoApp .fq336-menu-search::before,
.fqoApp .fq336-menu-search::after{content:none!important;display:none!important}
.fqoApp .fq336-menu-search input,
.fqoApp .fq336-menu-search input:focus{
  border:0!important;border-left:0!important;border-right:0!important;outline:0!important;box-shadow:none!important;background:transparent!important
}
.fq370-order-success{display:grid;gap:10px;text-align:center;padding:8px 2px 2px}
.fq370-order-success .fq370-success-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#eaf8ef;color:#15803d;font-size:30px;font-weight:900}
.fq370-order-success h2{margin:0;font-size:26px;line-height:1.1}.fq370-order-success p{margin:0;color:#67676f}.fq370-saved{margin:4px auto 0;padding:10px 14px;border-radius:14px;background:#fff7dd;color:#704800;font-weight:900;width:max-content;max-width:100%}
.fq370-specials{margin:14px 20px 18px;padding:16px;border:1px solid #f4d7a0;border-radius:22px;background:linear-gradient(145deg,#fffaf0,#fff)}
.fq370-specials>div:first-child small{font-weight:900;letter-spacing:.1em;color:#b56b00}.fq370-specials h3{margin:3px 0 12px}.fq370-special-rail{display:flex;gap:10px;overflow:auto;scrollbar-width:none}.fq370-special-rail::-webkit-scrollbar{display:none}.fq370-special-rail article{min-width:min(290px,82vw);display:flex;gap:11px;align-items:center;border:1px solid #eee;border-radius:17px;background:#fff;padding:10px}.fq370-special-rail img{width:72px;height:72px;border-radius:13px;object-fit:cover}.fq370-special-rail span{display:grid;gap:3px}.fq370-special-rail small{color:#72727a}.fq370-special-rail em{font-style:normal;color:#a25d00;font-weight:800;font-size:12px}
.fq371-festival-host{position:relative!important;isolation:isolate}
/* v371: the festival teaser lives inside the promo banner instead of blocking food cards. */
.fq370-festival-teaser.fq371-festival-corner{position:absolute;right:10px;top:10px;bottom:auto;z-index:12;width:min(176px,46vw);background:rgba(23,17,30,.92);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:9px 30px 9px 10px;box-shadow:0 8px 24px rgba(0,0,0,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fq371CornerIn .34s cubic-bezier(.2,.9,.2,1)}
.fq370-festival-teaser.fq371-festival-corner a{color:inherit;text-decoration:none;display:grid;gap:1px;min-width:0}.fq370-festival-teaser.fq371-festival-corner small{color:#ffd56a;font-size:8px;line-height:1.2;font-weight:900;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fq370-festival-teaser.fq371-festival-corner b{font-size:13px;line-height:1.14;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fq370-festival-teaser.fq371-festival-corner span{color:#ede7f0;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fq370-festival-teaser.fq371-festival-corner .fq370-festival-x{position:absolute;right:5px;top:5px;width:22px;height:22px;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;font-size:15px;line-height:1;cursor:pointer}
/* One festive sentence enters from the right screen edge, crosses the full banner and disappears left. */
.fq371-festival-runner{--fq371-runner-duration:12s;position:absolute;left:0;right:0;bottom:17px;height:26px;z-index:11;overflow:hidden;pointer-events:none;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.fq371-festival-runner span{position:absolute;left:0;display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:none;white-space:nowrap;padding:5px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(80,17,84,.92),rgba(151,25,74,.94),rgba(168,83,8,.94));border:1px solid rgba(255,226,141,.58);box-shadow:0 5px 18px rgba(0,0,0,.22);color:#fff6cf;font-size:11px;font-weight:900;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.5);will-change:transform,opacity;animation:fq371FestivalRun var(--fq371-runner-duration) linear infinite}
.fqx370-festival-admin{margin-top:18px}.fqx370-runner-admin{margin:12px 0;padding:14px;border:1px dashed #e2c17b;border-radius:14px;background:#fffaf0}
@keyframes fq371CornerIn{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fq371FestivalRun{0%{opacity:0;transform:translateX(105vw)}4%{opacity:1}72%{opacity:1}82%{opacity:0;transform:translateX(calc(-100% - 30px))}100%{opacity:0;transform:translateX(calc(-100% - 30px))}}
@media(max-width:600px){.fq370-specials{margin:12px 14px 16px}.fq370-order-success h2{font-size:23px}.fq370-festival-teaser.fq371-festival-corner{right:8px;top:8px;width:min(158px,45vw);padding:8px 28px 8px 9px}.fq370-festival-teaser.fq371-festival-corner b{font-size:12px}.fq371-festival-runner{bottom:15px;height:24px}.fq371-festival-runner span{font-size:10px;padding:4px 9px}}
@media(prefers-reduced-motion:reduce){.fq371-festival-runner span{animation-duration:24s}.fq370-festival-teaser.fq371-festival-corner{animation:none}}
