/* Phone review refinements — 2026-08-22 */

/* Make the sticky pickup band fully opaque while keeping the light gradient. */
.schedule-bar{
  background:linear-gradient(90deg,#a8ddf2 0%,#efc2df 34%,#f5b28f 67%,#f7c95b 100%)!important;
}
.schedule-bar__inner{font-size:.96rem!important}
.schedule-bar__date{font-size:1.09rem!important}

/* Solid header while scrolling; larger logo footprint, smaller friendly menu control. */
.site-header{
  background:var(--cream)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.brand{width:232px!important}
.menu-button{
  width:38px!important;
  height:38px!important;
  padding:7px 6px!important;
  gap:3px!important;
  box-shadow:3px 4px 0 rgba(23,39,123,.18)!important;
}
.menu-button span{height:4px!important}

/* Tighter hero crop: larger plate with a little more head space than foot space. */
.hero-photo-final img{
  transform:scale(1.38);
  transform-origin:52% 44%;
  object-position:52% 44%!important;
}

/* Keep links that behave as buttons visually button-like. */
.order-tab__button,
.order-tab__button *,
.primary-button,
.primary-button *{
  text-decoration:none!important;
}

/* Button typography: +3px from the prior pass. */
.order-tab__word{
  font-size:.97rem!important;
  line-height:1!important;
}
.primary-button{
  font-size:1.1875rem!important;
}

/* Keep the coded shadow visibly attached to the viewport edge. */
.order-tab__button{
  box-shadow:-5px 6px 0 rgba(23,39,123,.17), 8px 6px 0 rgba(23,39,123,.17)!important;
}
.order-tab__button:hover{
  box-shadow:-6px 7px 0 rgba(23,39,123,.17), 8px 7px 0 rgba(23,39,123,.17)!important;
}

/* Global typography calibration from the phone review: display subheads down ~2pt, body copy up ~1pt. */
.hero__copy h1{font-size:clamp(2.5rem,12.4vw,4.35rem)!important}
.product-copy h2{font-size:clamp(1.9rem,8.7vw,3.45rem)!important}
.bundle-copy h2{font-size:clamp(2.55rem,11.6vw,4.85rem)!important}
.sweet-card__copy h2{font-size:clamp(1.88rem,7.7vw,3.35rem)!important}
.section-heading h2,
.pickup-copy h2,
.ingredients-section h2,
.big-orders-section h2{font-size:clamp(2.2rem,9.6vw,4.55rem)!important}
.order-callout h2{font-size:clamp(2.25rem,9.6vw,4.45rem)!important}
.how-grid h3{font-size:1.58rem!important}
.market-grid h3{font-size:1.68rem!important}

.hero__copy p{font-size:1.12rem!important}
.product-copy p{font-size:1.09rem!important}
.bundle-copy p{font-size:1.15rem!important}
.sweet-card__copy p{font-size:1.09rem!important}
.order-callout p{font-size:1.17rem!important}
.section-heading>p:last-child,
.pickup-copy>p:last-child{font-size:1.12rem!important}
.how-grid p{font-size:1.07rem!important}
.market-grid p{font-size:1.07rem!important}
.ingredients-section p:not(.eyebrow){font-size:1.09rem!important}

/* Dinner + Something Sweet is a menu item, not a section heading: photo, subhead, body copy. */
.bundle-section{background:var(--cream)!important}
.bundle-grid{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:16px!important;
}
.bundle-photo{order:1;width:100%!important}
.bundle-copy{order:2;max-width:34rem!important}
.bundle-copy h2{
  font-size:clamp(1.9rem,8.7vw,3.45rem)!important;
  line-height:1!important;
  margin:0 0 10px!important;
  max-width:none!important;
}
.bundle-copy p{
  font-size:1.09rem!important;
  line-height:1.35!important;
  margin:0!important;
}

/* Pull the sections together; previous spacing felt too floaty on the phone. */
.section-pad{padding-block:42px!important}
.section-pad--tight{padding-block:30px 36px!important}
.sweets-section{padding-top:42px!important}

/* Keep in-page menu/footer jumps below the sticky pickup band + header so section art starts visibly. */
main section[id]{scroll-margin-top:188px}

/* Landing preorder state — coupon/special-offer style interruption. */
.order-modal{
  inset:0!important;
  z-index:140!important;
  display:grid!important;
  place-items:center!important;
  padding:22px 18px!important;
}
.order-modal__scrim{
  background:rgba(82,101,230,.78)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.order-modal__card{
  width:min(86vw,470px)!important;
  max-height:91svh!important;
  overflow:auto!important;
  background:var(--cream)!important;
  border-radius:32px!important;
  padding:28px 28px 30px!important;
  box-shadow:0 18px 42px rgba(23,39,123,.24)!important;
  transform:translateY(18px) scale(.985)!important;
  transition:transform .22s ease!important;
}
.order-modal[aria-hidden='false'] .order-modal__card{transform:none!important}
.landing-modal__top{
  position:relative;
  min-height:112px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.landing-modal__logo{
  width:min(72%,260px);
  height:auto;
  filter:none!important;
}
.order-modal__close{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto;
  width:40px!important;
  height:40px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--blue)!important;
  color:var(--cream)!important;
  box-shadow:3px 4px 0 rgba(23,39,123,.17)!important;
  font-family:Arial,sans-serif!important;
  font-size:0!important;
  line-height:1!important;
}
.order-modal__close::before,
.order-modal__close::after{
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  top:50%;
  height:4px;
  margin-top:-2px;
  border-radius:999px;
  background:currentColor;
}
.order-modal__close::before{transform:rotate(45deg)}
.order-modal__close::after{transform:rotate(-45deg)}
.landing-state[hidden]{display:none!important}
.landing-state__image{
  margin:0 0 18px;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:18px;
  background:var(--blue);
}
.landing-state__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Keep the open-state card compact enough to fit comfortably on small phones. */
.landing-state[data-landing-state='open'] .landing-state__image{display:none!important}
.order-modal .landing-state h2{
  margin:0 0 17px!important;
  font-family:var(--display)!important;
  font-size:clamp(2.55rem,12vw,4rem)!important;
  font-weight:400!important;
  line-height:.92!important;
  letter-spacing:-.02em!important;
  color:var(--ink)!important;
}
.landing-pickup,
.landing-current{
  margin:0 0 20px!important;
  font-family:var(--display)!important;
  font-size:1.3rem!important;
  font-weight:700!important;
  line-height:1.14!important;
  color:#df0878!important;
}
.landing-current{margin-bottom:10px!important}
.landing-state--status .landing-pickup{margin-bottom:0!important}
.landing-cta{
  width:100%;
  min-height:56px;
  margin-top:7px;
  padding:0 16px;
  border:1.5px solid rgba(255,255,255,.9);
  border-radius:18px 18px 0 0;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  font-family:Arial,sans-serif;
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:0 5px 0 rgba(23,39,123,.15);
}
.landing-cta__spark{font-size:1.05rem;line-height:1}
.landing-keep-looking{
  display:block;
  width:max-content;
  margin:26px auto 0;
  color:var(--ink);
  font-family:var(--body);
  font-size:1rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.landing-state--status{padding:6px 0 0}

/* On touch devices, give the stars a quick wiggle every few seconds instead of relying on hover. */
@keyframes rise-star-mobile{
  0%,82%,100%{transform:rotate(0deg) scale(1)}
  86%{transform:rotate(-12deg) scale(1.08)}
  91%{transform:rotate(10deg) scale(.98)}
  96%{transform:rotate(-5deg) scale(1.03)}
}
@media (hover:none) and (pointer:coarse){
  .order-tab__spark{animation:rise-star-mobile 4.6s ease-in-out infinite}
}

@media(max-width:430px){
  .brand{width:228px!important}
  .menu-button{width:36px!important;height:36px!important;padding:6px 5px!important}
  /* Align the close control with the visual center of the Rise wordmark. */
  .menu-drawer__close{top:66px!important}
  .section-pad{padding-block:32px!important}
  .section-pad--tight{padding-block:26px 30px!important}
  .sweets-section{padding-top:32px!important}
  .order-modal{padding:18px 16px!important}
  .order-modal__card{width:min(88vw,390px)!important;padding:24px 24px 28px!important;border-radius:30px!important}
  .landing-modal__top{min-height:96px;margin-bottom:14px}
  .landing-modal__logo{width:min(73%,235px)}
  .order-modal__close{width:38px!important;height:38px!important}
  .landing-state__image{margin-bottom:16px}
  .landing-cta{font-size:1.14rem;min-height:54px}
}

@media(min-width:700px){
  .section-pad{padding-block:58px!important}
  .section-pad--tight{padding-block:40px 46px!important}
}

@media(prefers-reduced-motion:reduce){
  .order-tab__spark{animation:none!important}
}

/* Make the neighborhood map self-explanatory even when the basemap labels are subtle. */
.map-preview .rise-map-link::before,
.map-preview .rise-map-link::after{
  position:absolute;
  z-index:2;
  padding:6px 9px;
  border-radius:999px;
  box-shadow:0 3px 8px rgba(23,39,123,.15);
  font:700 11px/1.1 Arial,sans-serif;
  letter-spacing:.01em;
  white-space:nowrap;
}
.map-preview .rise-map-link::before{
  content:"Emmanuel — Salina";
  right:6%;
  top:51%;
  transform:translateY(-50%);
  background:var(--blue);
  color:#fff;
}
.map-preview .rise-map-link::after{
  content:"Ohio & Cloud Dillons";
  left:6%;
  top:26%;
  background:rgba(255,253,250,.95);
  color:var(--ink);
  border:1px solid rgba(23,39,123,.12);
}
.map-preview .leaflet-interactive{
  filter:drop-shadow(0 2px 4px rgba(23,39,123,.28));
  stroke-width:5!important;
}

/* Let the Kansas graphic read as a real section illustration, not a small icon. */
.ingredients-section .ingredients-mark--kansas{
  width:min(300px,74vw)!important;
  justify-self:start!important;
  margin:0!important;
}
.ingredients-section .ingredients-mark--kansas img{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media(max-width:430px){
  .map-preview .rise-map-link::before{right:4%;top:53%;font-size:10px;padding:5px 7px}
  .map-preview .rise-map-link::after{left:4%;top:22%;font-size:9px;padding:5px 7px}
  .ingredients-section .ingredients-mark--kansas{width:min(264px,70vw)!important;justify-self:start!important;margin:0!important}
}

/* QA fix: keep Leaflet/CARTO layers inside the map card so labels never escape over modals. */
.map-preview{
  isolation:isolate!important;
  z-index:0!important;
  contain:paint;
}
.map-preview .rise-map-link{z-index:3!important}
.map-preview .rise-map-attribution{z-index:4!important}
.order-modal{z-index:10000!important}
.menu-drawer{z-index:9000!important}

/* Make the Kansas illustration fill the mobile content width instead of floating like an icon. */
.ingredients-section .ingredients-mark--kansas{
  width:100%!important;
  max-width:420px!important;
  justify-self:start!important;
  margin:0!important;
}
.ingredients-section .ingredients-mark--kansas img{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
@media(max-width:430px){
  .ingredients-section .ingredients-mark--kansas{
    width:100%!important;
    max-width:none!important;
  }
}
