/* A warm, editorial entrance to Foodo. */
.hero--editorial{width:calc(100% - 40px);max-width:1370px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:10px;padding:40px 48px 26px;background:#f7ede3;border:1px solid #eddfd2;border-radius:28px;isolation:isolate;overflow:hidden}
.hero--editorial::before{content:"";position:absolute;right:-150px;top:-160px;width:740px;height:740px;border-radius:50%;background:radial-gradient(circle at 55% 50%,#f3ccb875,#f3ccb815 65%,transparent 66%);z-index:-1;pointer-events:none}
.hero--editorial .hero-copy{padding:4px 0 28px;position:relative;z-index:2;min-width:0}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:9px;font-weight:750;letter-spacing:1.3px;border:1px solid #d6c5c0;border-radius:30px;padding:6px 11px;color:#633f53;background:#fff9f155}
.hero-kicker>span{font-size:17px;line-height:1;color:#b3493a}
.hero--editorial h1{font-size:clamp(49px,5.45vw,77px);font-weight:800;line-height:1.03;letter-spacing:-3px;margin:22px 0 18px;color:#45233d}
.hero--editorial h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500;font-size:1.12em;line-height:1.09;letter-spacing:-3.5px;color:#e45242;position:relative;display:inline-block}
.hero--editorial h1 em::after{content:"";position:absolute;left:4px;right:-6px;bottom:-4px;height:10px;border-top:2px solid #e4524266;border-radius:50%;transform:rotate(-3deg)}
.hero--editorial .hero-copy>p{font-size:14px;line-height:1.8;color:#77676c;max-width:350px;margin-top:20px}
.hero-shortcuts{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.hero-shortcuts button{display:inline-flex;align-items:center;gap:7px;min-height:41px;border:1px solid #d4c3be;background:#fff9f060;border-radius:100px;padding:8px 12px;font-size:11px;font-weight:650;color:#45233d;transition:background .2s,transform .2s,border-color .2s}
.hero-shortcuts button:hover{background:#fff;border-color:#a88192;transform:translateY(-2px)}
.hero-shortcuts .icon{width:15px;height:15px}.hero-shortcuts button>span:last-child{font-size:14px;color:#9f7c85;margin-left:2px}
.hero-promise{display:flex;align-items:center;gap:8px;margin-top:21px;font-size:10px;color:#79656e}.hero-promise strong{font-weight:650;color:#4e3548}.hero-promise-mark{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#52734b;background:#e1e7d4;font-size:12px}
.hero-collage{position:relative;min-width:0;height:455px;align-self:center;margin-top:-12px}
.hero-orbit{position:absolute;inset:1% -1% 4% 3%;border:1px solid #c08a7135;border-radius:50%;transform:rotate(-25deg)}
.hero-orbit::after{content:"";position:absolute;inset:22px;border:1px dashed #b982692e;border-radius:50%}
.hero-feature{margin:0;background:#fffaf4;padding:9px;border:1px solid #e8d2c3;box-shadow:0 22px 40px -20px #54302755;position:absolute;transition:transform .35s ease;will-change:auto}
.hero-feature img{width:100%;height:100%;object-fit:cover}.hero-feature figcaption{display:flex;align-items:center;justify-content:space-between;color:#45233d;padding:12px 11px 7px}.hero-feature figcaption strong{display:block;font-size:14px;line-height:1.4;font-weight:750}.hero-feature figcaption small{display:block;font-size:9px;color:#88717b;line-height:1.7}
.hero-feature-main{top:24px;left:17%;width:73%;transform:rotate(5deg);border-radius:160px 160px 22px 22px;padding-bottom:5px;z-index:2}.hero-feature-main>img{height:315px;border-radius:150px 150px 14px 14px;object-position:53% 50%}.hero-photo-heart{font-size:25px;line-height:1;color:#e45242}
.hero-feature-small{left:-3%;bottom:115px;width:43%;transform:rotate(-10deg);border-radius:16px;z-index:3}.hero-feature-small>img{height:135px;border-radius:9px}.hero-feature-small figcaption{padding:9px 5px 4px}.hero-feature-small figcaption strong{font-size:11px}.hero-feature-small figcaption small{font-size:8px}
.hero-local-seal{position:absolute;right:-3%;top:-7px;width:107px;height:107px;background:#e2e7c7;color:#405238;border-radius:50%;border:5px solid #f6ecdf;outline:1px solid #b7bc9266;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(13deg);box-shadow:0 9px 22px #3b432315}
.hero-local-seal span{font-size:8px;letter-spacing:1px;font-weight:650;line-height:1.4}.hero-local-seal strong{font-size:31px;font-family:Georgia,serif;line-height:1.2;font-weight:500}
.hero-handwritten{position:absolute;bottom:1px;right:4%;font-family:Georgia,serif;font-style:italic;color:#8c615a;font-size:21px;line-height:1.12;transform:rotate(-7deg);text-align:center;z-index:2}
.hero-handwritten svg{position:absolute;width:62px;height:40px;left:-54px;top:17px;transform:rotate(125deg);fill:none;stroke:#a47c68;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-spark{position:absolute;width:38px;height:38px;fill:none;stroke:#cf7661;stroke-width:1.9;stroke-linecap:round}.hero-spark-top{left:3%;top:44px;transform:rotate(8deg)}.hero-spark-bottom{right:-2%;bottom:71px;width:24px;height:24px;color:#4e623b}
.hero--editorial .discovery-box{position:relative;grid-column:1/-1;inset:auto;padding:7px 23px 12px;margin:0;background:#fffcf9;border:1px solid #e6d5c8;border-radius:16px;box-shadow:0 10px 25px #67412708;z-index:5}
.hero--editorial .search-form{grid-template-columns:1fr 1.45fr auto;margin:12px 0;gap:20px}.hero--editorial .search-form label>.icon{width:22px;height:22px;color:#9b776f}.hero--editorial .field-label{color:#977c77;font-size:8px;letter-spacing:1.1px}.hero--editorial .search-form select,.hero--editorial .search-form input{font-size:13px;min-height:32px}.hero--editorial .find-button{background:#482340;border-radius:10px;min-height:50px;padding:14px 22px;box-shadow:0 5px 12px #48234015}.hero--editorial .find-button:hover{background:#623357}.hero--editorial .search-note{font-size:9px;color:#8b7a7c}.hero--editorial .restaurant-field{border-left-color:#e7dbd1}
.hero-feature [data-hero-google]:empty{display:none}.hero-feature .google-rating{margin:3px 4px 5px;padding:5px 7px;gap:4px;font-size:9px}.hero-feature .google-rating strong{font-size:11px}.hero-feature .google-rating .google-attribution{font-size:12px}.hero-feature .google-rating .icon{display:none}.hero-feature-small .google-rating{margin:2px 0;font-size:8px}.hero-feature-small .google-rating .google-attribution{width:100%;margin:0}
@media(min-width:1400px){.hero--editorial{padding:48px 60px 28px;column-gap:52px}.hero-collage{height:500px}.hero-feature-main>img{height:350px}.hero-feature-small>img{height:155px}.hero-feature-main{top:28px;width:70%}.hero-local-seal{right:2%;top:4px}.hero-handwritten{bottom:12px;right:11%}}
@media(max-width:1050px){.hero--editorial{padding:30px 30px 23px;column-gap:16px}.hero--editorial h1{font-size:58px}.hero-collage{height:422px}.hero-feature-main{width:77%;left:15%}.hero-feature-main>img{height:275px}.hero-feature-small{width:46%;bottom:115px}.hero-feature-small>img{height:123px}.hero-handwritten{font-size:18px;right:1%;bottom:8px}.hero-local-seal{width:92px;height:92px;right:-4%;top:2px}.hero-local-seal strong{font-size:27px}.hero-local-seal span{font-size:7px}.hero--editorial .search-form{gap:15px}.hero--editorial .find-button{padding:13px 17px}.hero-shortcuts{gap:6px}.hero-shortcuts button{font-size:10px;padding:8px 10px}}
@media(max-width:760px){.hero--editorial{width:calc(100% - 28px);padding:28px 24px 22px;grid-template-columns:1fr;gap:0;border-radius:24px}.hero--editorial .hero-copy{padding:0;max-width:490px}.hero--editorial h1{font-size:63px;margin:19px 0 16px}.hero--editorial .hero-copy>p{max-width:420px;font-size:14px}.hero-shortcuts{margin-top:18px;gap:8px}.hero-shortcuts button{font-size:11px;padding:9px 13px}.hero-promise{margin-top:17px}.hero-collage{width:100%;max-width:420px;height:355px;justify-self:center;margin:20px 0 21px}.hero-feature-main{width:64%;left:26%;top:7px}.hero-feature-main>img{height:245px}.hero-feature-small{left:0;width:43%;bottom:110px}.hero-feature-small>img{height:126px}.hero-local-seal{right:0;top:-2px}.hero-spark-top{left:7%;top:21px;width:32px}.hero-handwritten{right:0;bottom:1px;font-size:17px}.hero--editorial .discovery-box{padding:5px 15px 13px;border-radius:14px}.hero--editorial .search-form{grid-template-columns:1fr;gap:11px;margin:10px 0}.hero--editorial .restaurant-field{border-left:0;padding-left:0;border-top:1px solid #e7dbd1;padding-top:10px}.hero--editorial .search-form select,.hero--editorial .search-form input{font-size:16px;min-height:34px}.hero--editorial .find-button{justify-content:space-between;min-height:48px}.hero--editorial .search-note{font-size:9px;align-items:start}.hero--editorial .search-note .icon{margin-top:2px}.hero--editorial::before{right:-400px;top:150px}.hero--editorial h1 br:nth-child(2){display:initial}.hero--editorial h1 em{display:inline-block}}
@media(max-width:420px){.hero--editorial{padding:23px 19px 18px}.hero-kicker{font-size:8px;letter-spacing:1px;padding:5px 9px}.hero--editorial h1{font-size:55px;letter-spacing:-2.5px}.hero--editorial h1 em{letter-spacing:-2.7px}.hero--editorial .hero-copy>p{font-size:12px;line-height:1.75;margin-top:18px}.hero-shortcuts{gap:5px}.hero-shortcuts button{font-size:10px;padding:8px 10px;gap:5px}.hero-shortcuts .icon{width:14px;height:14px}.hero-shortcuts button>span:last-child{margin:0}.hero-promise{font-size:9px}.hero-collage{height:309px;margin:20px 0}.hero-feature-main{width:70%;left:23%;top:6px}.hero-feature-main>img{height:208px}.hero-feature-main figcaption strong{font-size:12px}.hero-feature-small{width:46%;bottom:100px;left:-3%}.hero-feature-small>img{height:107px}.hero-feature-small figcaption strong{font-size:10px}.hero-local-seal{height:81px;width:81px;right:-4%;top:-7px}.hero-local-seal strong{font-size:24px}.hero-local-seal span{font-size:6px}.hero-handwritten{right:-2%;bottom:-5px;font-size:15px}.hero-spark-top{width:26px;left:3%;top:14px}.hero-spark-bottom{width:19px;bottom:36px}.hero--editorial .discovery-box{padding:5px 12px 12px}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.hero-collage{animation:hero-reveal .65s ease-out both}.hero-collage{animation-delay:.1s}.hero-feature-main:hover{transform:rotate(3deg) translateY(-3px)}.hero-feature-small:hover{transform:rotate(-7deg) translateY(-3px)}@keyframes hero-reveal{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){.hero-feature,.hero-shortcuts button{transition:none}}
/* Hero offers slider */
.hero-offers{grid-column:1/-1;margin-top:18px;position:relative;z-index:4;min-width:0}
.hero-offers-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.hero-offers-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.3px;color:#b3493a}
.hero-offers-head h2{font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(20px,2.2vw,26px);color:#45233d;margin:4px 0 0;letter-spacing:-.4px}
.hero-offers-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.hero-offers-all{font-size:13px;font-weight:700;color:#482340;text-decoration:none;margin-right:6px}.hero-offers-all:hover{color:#ce302e}
.hero-offers-btn{width:38px;height:38px;border-radius:50%;border:1px solid #dcc9bd;background:#fffcf9;color:#482340;font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.hero-offers-btn[data-slide="pause"]{font-size:10px;letter-spacing:-1px}
.hero-offers-btn:hover{background:#482340;color:#fff}.hero-offers-btn:focus-visible,.hero-offers-track:focus-visible,.hero-offer-hit:focus-visible{outline:3px solid #fa4c49;outline-offset:3px}
.hero-offers-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px;border-radius:16px}
.hero-offers-track::-webkit-scrollbar{display:none}
.hero-offer{position:relative;scroll-snap-align:start;background:#fff;border:1px solid #eadbd0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 22px #6741270d;transition:transform .25s ease,box-shadow .25s ease}
.hero-offer:hover{transform:translateY(-3px);box-shadow:0 14px 30px #67412718}
.hero-offer-hit{position:absolute;inset:0;z-index:3;background:none;border:0;border-radius:16px;cursor:pointer}
.hero-offer-image{position:relative;height:118px;overflow:hidden;background:#f3e6dc}
.hero-offer-image .restaurant-photo-wrap,.hero-offer-image img{width:100%;height:100%;object-fit:cover}
.hero-offer-tag{position:absolute;top:10px;left:10px;background:#fa4c49;color:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:4px 9px;border-radius:20px;box-shadow:0 3px 10px #ce302e40}
.hero-offer-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.hero-offer-source{font-size:10px;font-weight:700;letter-spacing:.4px;color:#8a7480;text-transform:uppercase}
.hero-offer-body h3{font-family:Manrope,sans-serif;font-weight:800;font-size:16px;line-height:1.25;color:#30252e;margin:0}
.hero-offer-price{font-weight:800;color:#ce302e;font-size:14px}
.hero-offer-place{font-size:12px;color:#766e74;margin:2px 0 0;line-height:1.4}.hero-offer-place strong{color:#482340}
.hero-offer-rating{position:relative;z-index:4}.hero-offer-rating .google-rating{margin:2px 0 0;padding:3px 7px;font-size:10px;display:inline-flex}.hero-offer-rating .google-rating strong{font-size:12px}.hero-offer-rating .google-attribution{font-size:10px;margin-left:2px}
.hero-offer-cta{margin-top:auto;padding-top:6px;font-size:12px;font-weight:750;color:#482340}.hero-offer:hover .hero-offer-cta{color:#ce302e}
.hero-offers-dots{display:flex;justify-content:center;gap:6px;margin-top:4px}.hero-offers-dots span{width:6px;height:6px;border-radius:6px;background:#dcc4b6;transition:width .3s,background .3s}.hero-offers-dots span.active{width:20px;background:#482340}
@media(max-width:1050px){.hero-offers-track{grid-auto-columns:calc((100% - 32px)/3)}}
@media(max-width:760px){.hero-offers-track{grid-auto-columns:calc((100% - 16px)/2)}.hero-offers-all{display:none}.hero-offers-head h2{font-size:19px}}
@media(max-width:420px){.hero-offers-track{grid-auto-columns:82%}.hero-offers-btn{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.hero-offer,.hero-offers-dots span{transition:none}.hero-offer:hover{transform:none}}
/* Hero ratings float as chips on the photos so captions keep their designed position and stay readable. */
.hero-feature [data-hero-google]{position:absolute;z-index:4}
.hero-feature-main [data-hero-google]{right:30px;bottom:72px}
.hero-feature-small [data-hero-google]{left:16px;top:16px}
.hero-feature [data-hero-google] .google-rating{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:4px;margin:0;padding:5px 9px;background:#fffcf9f2;border:1px solid #ead9cd;border-radius:999px;box-shadow:0 6px 16px #3a1f2a26;font-size:10px;color:#30252e;white-space:nowrap}
.hero-feature [data-hero-google] .google-rating strong{font-size:12px}
.hero-feature [data-hero-google] .google-rating .google-attribution{width:auto;margin:0 0 0 2px;font-size:10px}
.hero-feature [data-hero-google] .google-providers{display:none}
/* Mobile browsers otherwise widen the layout viewport to fit off-screen carousel cards. */
.hero-offers-track{contain:paint}
@media(max-width:580px){.offer-grid,.catering-grid{contain:paint}}
@media(max-width:760px){.hero-feature-main [data-hero-google]{right:10px;bottom:58px}.hero-feature-small [data-hero-google]{left:10px;top:10px}.hero-feature [data-hero-google] .google-rating{padding:3px 7px;font-size:8.5px;gap:3px}.hero-feature [data-hero-google] .google-rating strong{font-size:10px}.hero-feature [data-hero-google] .google-rating .google-attribution{font-size:8.5px}}
@media(max-width:760px){.hero-feature-main [data-hero-google] .google-rating{flex-wrap:wrap;max-width:112px;border-radius:12px;row-gap:1px}.hero-feature-main [data-hero-google] .google-rating .google-attribution{width:100%;margin:0}}
@media(max-width:760px){.hero-feature-main [data-hero-google]{bottom:70px}}
/* Seal text (replaces the catalogue count) */
.hero-local-seal strong.hero-seal-text{font-size:19px;font-style:italic;line-height:1.05;margin:3px 0;letter-spacing:0}
@media(max-width:1050px){.hero-local-seal strong.hero-seal-text{font-size:16px}}
@media(max-width:420px){.hero-local-seal strong.hero-seal-text{font-size:14px}}
/* Final audit fixes: contrast and focus visibility */
.hero--editorial .field-label{color:#6f666d}
.hero--editorial .search-note{color:#6f666d}
.hero-offer-source{color:#6f666d}
.hero-feature figcaption small{color:#6f666d}
.hero-offer-tag{background:#ce302e}
.hero-offers-btn:focus-visible,.hero-offers-track:focus-visible{outline:3px solid #ce302e;outline-offset:3px}
.hero-offer-hit:focus-visible{outline:3px solid #ce302e;outline-offset:-3px}
.hero-offers-btn[hidden]{display:none}
.hero-offers-note{margin:4px 0 0;font-size:12px;color:#6f666d}
.hero-offer-cond{font-size:11px;font-weight:600;color:#6f3b2f}
/* Generic hero photos: subjects are centred */
.hero-feature-main>img,.hero-feature-small>img{object-position:50% 50%}
