/* v0.1.60 — explicit destinations, card rows and a single iOS page scroller. */
#rndcc-app{scroll-margin-top:88px}
#rndcc-app .rndcc-field-error[hidden]{display:none!important}
#rndcc-app .rndcc-field-error{padding:12px 14px;border:1px solid #d58b70;border-radius:10px;background:#fff0ea;color:#8e3626;font-size:14px;line-height:1.6;margin:12px 0}
#rndcc-app .rndcc-date-control:has([aria-invalid=true]){border-color:#b3442f;background:#fff8f4}
#rndcc-app dialog:not([open]){display:none!important}
#rndcc-app .rndcc-notice-dialog .rndcc-btn{width:100%;margin-top:10px}
#rndcc-app #rndcc-otp-form{scroll-margin-top:88px}

/* Keep a reserved ratio while images load. Theme image height/margins cannot
   leave the media background showing as a strip below the photograph. */
#rndcc-app .rndcc-meal-card>.rndcc-meal-media{
 position:relative;display:block;aspect-ratio:16/9;width:100%;height:auto!important;
 min-height:0!important;flex:none;margin:0!important;padding:0!important;line-height:0;overflow:hidden;
}
#rndcc-app .rndcc-meal-card>.rndcc-meal-media>img,
#rndcc-app .rndcc-meal-card>.rndcc-meal-media>picture,
#rndcc-app .rndcc-meal-card>.rndcc-meal-media>picture>img{
 display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;
 max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
 border:0;object-fit:cover;object-position:center;
}
#rndcc-app .rndcc-meal-media>.rndcc-meal-fallback{position:absolute;inset:0;line-height:1}

@media(max-width:767px){
 #rndcc-app article.rndcc-day-card>.rndcc-day-locked{
  grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:center;
  width:100%;min-width:0;min-height:44px;padding:11px 14px;line-height:1.5;
  white-space:normal;overflow-wrap:normal;word-break:normal;
 }
 #rndcc-app article.rndcc-day-materials>a.rndcc-card-action{grid-row:3}
}

/* BeTheme sets overflow-x:hidden on html, body and its sliding-footer wrapper.
   That computes overflow-y:auto, creating nested scroll containers on iOS.
   Clip horizontal overflow without adding another scrolling area. The theme's
   intentional popup locks and native dialogs retain their original rules. */
@supports (overflow:clip){
 @media screen and (hover:none) and (pointer:coarse){
  html:has(#rndcc-app):not(.mfn-popup-browser-scroll-disabled):not(:has(dialog[open],body.side-slide-is-open,.mfp-wrap)){
   height:auto;min-height:100%;overflow-x:clip;overflow-y:visible;
  }
  html:not(.mfn-popup-browser-scroll-disabled):not(:has(dialog[open],body.side-slide-is-open,.mfp-wrap)) body:has(#rndcc-app){
   overflow-x:clip;overflow-y:visible;
  }
  html:not(.mfn-popup-browser-scroll-disabled):not(:has(dialog[open],body.side-slide-is-open,.mfp-wrap)) #Wrapper:has(#rndcc-app){
   display:flow-root;overflow-x:clip;overflow-y:visible;
  }
 }
}
