/* Shop & Get Local 1.15.4: organic hero image and fluid section divider.
   Presentation-only patch; independent of the discovery/approval business logic. */
.hero.hero-140 { position:relative; isolation:isolate; overflow:hidden; background:#063f32; }
.hero-140 .shell.hero-140-grid { position:relative; z-index:1; }
.hero-140 .hero-140-photo { position:relative; overflow:hidden; background:#064435; isolation:isolate; }
/* Only the photo is curved/faded; the promo coupon remains above it, fully legible. */
@media (min-width:850px) {
 .hero-140 .hero-140-photo picture {
   position:absolute; inset:0; display:block; overflow:hidden;
   border-radius:0 16% 32% 0 / 0 24% 48% 0;
   -webkit-mask-image:linear-gradient(to right,#000 0%,#000 73%,rgba(0,0,0,.85) 84%,transparent 100%);
   mask-image:linear-gradient(to right,#000 0%,#000 73%,rgba(0,0,0,.85) 84%,transparent 100%);
 }
 .hero-140 .hero-140-photo picture img {
   width:100%;height:100%;object-fit:cover!important;object-position:64% center!important;
 }
 .hero-140 .hero-1153-stamp {z-index:5;right:clamp(22px,2vw,38px);top:clamp(18px,2vw,30px);}
 .hero-140 .shell.hero-140-grid {padding-bottom:26px;}
}
/* White negative-space wave creates a graceful transition to category browsing. */
.hero.hero-140::after {
 content:"";position:absolute;z-index:4;bottom:-1px;left:0;right:0;height:clamp(22px,3.5vw,58px);
 background:url('/assets/hero-wave-1154.svg') center bottom / 100% 100% no-repeat;
 pointer-events:none;
}
@media (min-width:850px) and (max-width:1150px) {
 .hero-140 .hero-140-photo picture {
   border-radius:0 12% 26% 0 / 0 20% 42% 0;
   -webkit-mask-image:linear-gradient(to right,#000 0%,#000 79%,transparent 100%);
   mask-image:linear-gradient(to right,#000 0%,#000 79%,transparent 100%);
 }
 .hero-140 .hero-1153-stamp {right:20px;max-width:32%;transform:rotate(-4deg);}
}
@media (max-width:849px) {
 /* Keep the phone collage full-width and readable; only soften the lower divider. */
 .hero-140 .hero-140-photo picture { border-radius:0; mask-image:none; -webkit-mask-image:none; }
 .hero-140 .hero-140-photo img {object-fit:cover!important;object-position:center center!important;}
 .hero.hero-140::after {height:clamp(15px,4vw,28px);}
 .hero-140 .hero-copy {padding-bottom:calc(35px + 13px);}
}
@media (prefers-reduced-motion: reduce) { .hero.hero-140::after {transition:none;} }
