/* Menu catalogue: product-led campaign cards and a thumbnail category rail. */
.campaign-menu{padding:54px 0 64px;overflow:visible}
.menu-wrap{max-width:1240px;padding:0 28px}
.menu-intro{padding-bottom:32px;text-align:left}
.menu-intro .menu-eyebrow{margin-bottom:12px;font-size:9px}
.menu-intro h2{font-size:clamp(48px,5vw,66px);line-height:.98}
.menu-intro h2 br{display:none}
.menu-intro h2 span{display:inline-block;margin-left:.12em}
.menu-intro>p:last-of-type{font-size:14px;margin-top:12px}
.menu-intro .intro-doodle{right:16px;top:37px;font-size:45px}
.menu-toolbar{display:block;position:sticky;top:79px;z-index:12;padding:0;border:0;border-radius:14px;background:#fff7e8;color:#143c2f;box-shadow:0 5px 14px #08271d30;scroll-margin-top:96px}
.category-rail{display:flex;align-items:center;gap:6px;padding:0 12px}
.rail-arrow{border:1px solid #17452e42;background:transparent;color:#143c2f;border-radius:50%;width:34px;height:34px;flex:0 0 34px;font-family:Arial,sans-serif;font-size:28px;font-weight:400;line-height:1;display:grid;place-items:center;padding:0 0 3px;cursor:pointer}
.rail-arrow:hover:not(:disabled){background:#e9edda;border-color:#143c2f}
.rail-arrow:disabled{opacity:.25;cursor:default}
.menu-tabs{position:relative;display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none;scroll-snap-type:x proximity;padding:0;margin:0}
.menu-tabs::-webkit-scrollbar{display:none}
.menu-tabs button{flex:0 0 calc(100% / 6);min-width:122px;height:116px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 9px 9px;background:none;color:#143c2f;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:13px;line-height:1.1;scroll-snap-align:start;white-space:nowrap}
.menu-tabs button img{width:90px;height:61px;object-fit:contain;filter:drop-shadow(0 3px 2px #2222);transition:transform .2s}
.category-mix{position:relative;display:block;width:90px;height:61px}
.menu-tabs button .category-mix img{position:absolute;width:65px;height:58px;left:-5px;bottom:2px;transform:rotate(-9deg)}
.menu-tabs button .category-mix img+img{left:31px;bottom:-3px;transform:rotate(7deg)}
.menu-tabs button[data-menu-filter=drink] img{width:55px}
.menu-tabs button:hover{transform:none;background:#f6ead7;color:#a72e1d}
.menu-tabs button:hover img{transform:translateY(-3px)}
.menu-tabs button[aria-pressed=true]{background:#f7ead5;color:#bb351f;border-color:#c73b23}
.menu-tabs button:focus-visible,.rail-arrow:focus-visible{outline:2px solid #c73b23;outline-offset:-5px}
.menu-results-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0 20px;scroll-margin-top:205px}
.menu-results-bar h3{font-family:var(--display);font-size:30px;line-height:1.05;font-weight:400;letter-spacing:-.01em;margin:0 0 7px}
.campaign-status{height:auto;pointer-events:auto;padding:0;margin:0;color:#d5dec7;font-size:11px;line-height:1.4;letter-spacing:0}
.menu-search{width:272px;flex:0 0 272px;padding:12px 16px;border:1px solid #f9efd249;border-radius:40px;margin:0;gap:10px;background:#234b3a}
.menu-search input{font-size:12px}
.campaign-grid{gap:18px;align-items:stretch}
.campaign-card{border-radius:14px;box-shadow:0 3px 8px #06281f30;background:#214b38;border:1px solid #ffffff15}
.campaign-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #06281f55}
.campaign-art{height:250px;flex:none}
.campaign-art:before{width:300px;height:300px;border-width:50px;right:-70px;top:-105px;opacity:.16}
.campaign-art:after{height:72px;bottom:-16px}
.campaign-card .campaign-art .art-headline{left:23px;top:24px;max-width:55%;font-size:40px;line-height:.96;transform:rotate(-4deg);z-index:3}
.campaign-card[data-id=taxi] .art-headline{font-size:34px}
.campaign-card .campaign-product{width:87%;height:96%;right:-6%;bottom:1px;object-fit:contain;object-position:bottom}
.campaign-card.shape-tall .campaign-product{width:69%;height:108%;right:-2%;bottom:0}
.campaign-card[data-id=pom] .campaign-product{width:48%;height:88%;right:1%;bottom:3px}
.campaign-card[data-id=chicken] .campaign-product{width:80%;height:81%;right:-3%;bottom:3px}
.campaign-card[data-id=which] .campaign-product{width:79%;height:82%;right:-1%;bottom:6px}
.campaign-card[data-id=fries] .campaign-product{width:55%;height:94%;right:2%;bottom:3px}
.campaign-card.shape-drink .campaign-product{width:50%;height:96%;right:4%;bottom:1px}
.campaign-card .campaign-stamp{top:15px;right:17px;width:62px;height:62px;font-size:12px;padding:9px;line-height:1;overflow-wrap:anywhere}
.campaign-card .art-signature{left:22px;bottom:13px;font-size:28px;line-height:1;display:flex;align-items:center;gap:7px}
.signature-heart{font-family:Arial,sans-serif;font-size:24px;transform:rotate(-12deg)}
.campaign-card .full-logo{width:113px;height:39px;padding:5px 7px;border-radius:6px;background:#fff7e8}
.full-logo svg{display:block;width:100%;height:100%;mix-blend-mode:multiply}
.campaign-copy{padding:18px 21px 17px;min-height:152px;display:flex;flex-direction:column;align-items:stretch;gap:9px}
.card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.campaign-copy h3{font-size:25px;line-height:1.05;margin:0;flex:1;min-width:0;overflow-wrap:normal}
.card-price{font-size:25px;flex:none}
.card-price.pending{font-size:10px}
.campaign-copy>p{font-size:12px;line-height:1.5;max-width:95%;margin:0;color:#e4e9d8}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:5px;min-height:44px}
.card-action{background:#fff1d6;color:#123c2f;font-family:var(--display);font-weight:400;font-size:16px;min-height:43px;padding:10px 17px;gap:17px;margin:0;flex:none}
.card-action span{font-family:Arial,sans-serif;font-size:23px;font-weight:400}
.card-menu-number{font-size:10px;color:#c2d2b9;letter-spacing:.04em}
.card-variants{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;color:#e4e9d8}
.card-variants>span{border:1px solid #f1ebce38;border-radius:6px;padding:6px 8px;line-height:1.3}
.card-variants b{margin-left:4px;font-weight:600;color:#fff1d6}
.campaign-grid .campaign-card.no-photo .campaign-art .art-headline{left:24px;right:auto;top:46px;max-width:65%;font-size:41px;text-align:left;line-height:.98}
.brand-art{position:absolute;width:137px;height:137px;right:20px;bottom:28px;border-radius:50%;background:#fff7e8;padding:9px;transform:rotate(9deg);box-shadow:0 8px 0 #0a302c10}
.brand-art svg{width:100%;height:100%;mix-blend-mode:multiply;display:block;border-radius:50%;overflow:hidden}
.no-photo .campaign-stamp{display:none}
.detail-visual .brand-art{position:relative;right:auto;bottom:auto;width:150px;height:150px}
.combo-banner{margin-top:26px;border-radius:14px;min-height:310px;padding:32px 40px}
.combo-banner h3{font-size:54px}
@media(max-width:899px){.menu-toolbar{top:67px}}
@media(max-width:1000px){.menu-tabs button{flex-basis:calc(100% / 5);min-width:115px}.campaign-card .campaign-art .art-headline{font-size:34px}.campaign-card[data-id=taxi] .art-headline{font-size:29px}.campaign-grid .campaign-card.no-photo .campaign-art .art-headline{font-size:34px;max-width:62%}.brand-art{width:111px;height:111px;right:13px}.campaign-copy{padding:17px}.campaign-copy h3,.card-price{font-size:22px}.card-variants{font-size:9px}.card-variants>span{padding:5px}.card-action{font-size:14px;gap:10px;padding:10px 13px}.menu-intro .intro-doodle{display:none}}
@media(max-width:760px){.campaign-menu{padding-top:36px}.menu-wrap{padding:0 16px}.menu-intro{padding-bottom:24px}.menu-intro h2{font-size:48px}.menu-intro h2 br{display:block}.menu-intro h2 span{margin-left:0}.menu-intro .menu-eyebrow{font-size:8px;letter-spacing:.08em;max-width:290px;line-height:1.5}.menu-intro>p:last-of-type{font-size:13px}.menu-toolbar{top:67px;scroll-margin-top:80px;border-radius:10px;margin:0 -5px}.category-rail{padding:0 5px;gap:2px}.rail-arrow{width:28px;height:28px;flex-basis:28px;font-size:24px}.menu-tabs button{min-width:91px;flex-basis:25%;height:94px;font-size:11px;padding:9px 5px 8px;gap:5px}.menu-tabs button img{width:72px;height:49px}.menu-results-bar{align-items:stretch;flex-direction:column;gap:14px;padding:23px 0 17px}.menu-results-bar h3{font-size:27px}.menu-search{flex:initial;width:100%;padding:11px 14px}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-art{height:220px}.campaign-card .campaign-art .art-headline{font-size:28px;left:17px;top:21px}.campaign-grid .campaign-card.no-photo .campaign-art .art-headline{font-size:29px;left:17px;max-width:68%}.campaign-card .campaign-stamp{width:47px;height:47px;font-size:10px;top:12px;right:10px;padding:5px}.campaign-card .art-signature{left:16px;bottom:12px;font-size:24px}.campaign-card .full-logo{width:96px;height:34px}.campaign-copy>p{font-size:11px;max-width:100%}.campaign-copy{min-height:165px;gap:9px;padding:16px}.card-heading{flex-wrap:wrap;gap:7px}.campaign-copy h3{flex-basis:100%;font-size:22px}.card-price{font-size:22px}.card-footer{gap:8px;align-items:flex-end}.card-variants{font-size:9px;gap:4px}.card-variants>span{border:0;padding:0}.card-variants b{margin-left:2px}.card-action{font-size:14px;padding:9px 13px;gap:12px}.card-menu-number{font-size:9px}.brand-art{width:86px;height:86px;right:13px;bottom:25px;padding:6px}.campaign-card[data-id=taxi] .art-headline{font-size:25px}.combo-banner{padding:28px;grid-template-columns:1fr}.combo-banner-art{height:245px}}
@media(max-width:560px){.campaign-grid{grid-template-columns:1fr;gap:16px}.campaign-art{height:244px}.campaign-card .campaign-art .art-headline{font-size:36px;left:21px;top:23px}.campaign-card[data-id=taxi] .art-headline{font-size:29px}.campaign-card .campaign-stamp{width:54px;height:54px;top:15px;right:15px;font-size:11px}.campaign-copy{min-height:149px;padding:17px 18px}.card-heading{flex-wrap:nowrap;align-items:baseline}.campaign-copy h3{flex-basis:auto;font-size:24px}.card-price{font-size:24px}.campaign-copy>p{font-size:12px}.card-action{font-size:16px;padding:10px 16px}.card-variants{font-size:10px}.card-variants>span{border:1px solid #f1ebce38;padding:5px 7px}.campaign-grid .campaign-card.no-photo .campaign-art .art-headline{font-size:36px;left:21px;top:43px;max-width:63%}.brand-art{width:118px;height:118px;right:15px;bottom:30px;padding:8px}.campaign-card .full-logo{width:103px;height:36px}.campaign-card .art-signature{left:20px;font-size:26px}.menu-tabs button{flex-basis:33.333%}}
@media(max-width:360px){.menu-intro h2{font-size:43px}.campaign-art{height:225px}.campaign-card .campaign-art .art-headline,.campaign-grid .campaign-card.no-photo .campaign-art .art-headline{font-size:31px}.campaign-card[data-id=taxi] .art-headline{font-size:26px}.campaign-copy h3,.card-price{font-size:21px}.card-action{font-size:14px;gap:9px;padding:10px 13px}.brand-art{width:100px;height:100px}.menu-tabs button{min-width:85px}.campaign-copy{padding:16px}.card-variants{font-size:9px}}
@media(prefers-reduced-motion:reduce){.menu-tabs button img,.campaign-card{transition:none}.menu-tabs button:hover img,.campaign-card:hover{transform:none}}
