/* ПитомЧик v79.5.9 — исправление прокрутки, переходной вёрстки и размеров request.html. */

/* При открытом выборе даты/времени фон не должен прокручиваться. */
html.request-picker-open,
body.request-picker-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.request-picker-open{
  touch-action:none!important;
}
body.request-page .request-picker-overlay{
  overscroll-behavior:contain!important;
  touch-action:none!important;
}
body.request-page .request-picker-panel{
  max-height:min(620px,calc(100dvh - 24px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}

/* «Вернуться назад» — компактная служебная кнопка на всех разрешениях. */
body.request-page .request-back{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  min-height:38px!important;
  align-self:flex-start!important;
  justify-self:start!important;
  margin:0 0 14px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:.84rem!important;
  line-height:1.15!important;
  box-shadow:0 5px 13px rgba(22,54,35,.07)!important;
  white-space:nowrap!important;
}

/* Общая компактность формы. */
body.request-page .request-hero{
  padding:24px 0 14px!important;
}
body.request-page .request-main{
  padding-top:14px!important;
}
body.request-page .request-form-panel,
body.request-page .request-info-card,
body.request-page .request-footer-help{
  padding:20px!important;
  border-radius:22px!important;
}
body.request-page .request-form{
  gap:12px!important;
}
body.request-page .request-form-grid,
body.request-page .request-address-grid{
  gap:12px!important;
}
body.request-page .request-selected-item{
  margin-bottom:14px!important;
  padding:12px!important;
  border-radius:17px!important;
}
body.request-page .delivery-fields{
  gap:12px!important;
  padding:14px!important;
  border-radius:18px!important;
}
body.request-page .delivery-total-card,
body.request-page .delivery-benefit,
body.request-page .request-address-section,
body.request-page .payment-fields,
body.request-page .cash-change-panel{
  padding:14px!important;
  border-radius:16px!important;
}
body.request-page .request-field textarea{
  min-height:96px!important;
}
body.request-page .payment-method-option span{
  min-height:68px!important;
  padding:12px 13px!important;
  border-radius:14px!important;
}
body.request-page .request-consent{
  padding:12px!important;
  border-radius:14px!important;
}
body.request-page .request-form-actions .button,
body.request-page .request-footer-actions .button{
  min-height:44px!important;
  padding:9px 15px!important;
}

/* 721–1044 px: полностью одноколоночная устойчивая вёрстка. */
@media (max-width:1044px){
  body.request-page .request-hero-grid,
  body.request-page .request-layout{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  body.request-page .request-hero-grid > div:not(.account-context-nav),
  body.request-page .request-side-card{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }
  body.request-page .request-hero-grid > div:not(.account-context-nav){
    padding:18px 20px!important;
    border-radius:20px!important;
  }
  body.request-page .request-side-card{
    padding:18px 20px!important;
    border-radius:20px!important;
  }
  body.request-page .request-side-icon{
    width:46px!important;
    height:46px!important;
    margin-bottom:10px!important;
    border-radius:14px!important;
  }
  body.request-page .request-side-meta{
    margin-top:12px!important;
  }
  body.request-page .request-info-stack{
    position:static!important;
    width:100%!important;
  }
  body.request-page .request-form-panel{
    width:100%!important;
    min-width:0!important;
  }
  body.request-page .delivery-order-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  body.request-page .delivery-order-grid > *{
    min-width:0!important;
    width:100%!important;
  }
  body.request-page .delivery-benefit{
    grid-column:auto!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:6px!important;
    align-items:start!important;
  }
  body.request-page .delivery-benefit strong,
  body.request-page .delivery-benefit span{
    width:auto!important;
    max-width:none!important;
    writing-mode:horizontal-tb!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  body.request-page .quantity-stepper{
    max-width:224px!important;
  }
}

/* Телефоны и небольшие планшеты. */
@media (max-width:720px){
  body.request-page .request-hero{
    padding-top:14px!important;
  }
  body.request-page .request-hero-grid > div:not(.account-context-nav),
  body.request-page .request-side-card,
  body.request-page .request-form-panel,
  body.request-page .request-info-card,
  body.request-page .request-footer-help{
    padding:15px!important;
    border-radius:18px!important;
  }
  body.request-page .request-hero h1{
    margin-bottom:8px!important;
    font-size:clamp(1.72rem,8vw,2.35rem)!important;
    line-height:1.08!important;
  }
  body.request-page .request-lead{
    margin:0!important;
    font-size:.91rem!important;
    line-height:1.48!important;
  }
  body.request-page .request-side-card h2{
    font-size:1.42rem!important;
  }
  body.request-page .request-side-card > p:not(.eyebrow),
  body.request-page .request-side-meta span{
    font-size:.86rem!important;
  }
  body.request-page .request-selected-item{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:10px!important;
  }
  body.request-page .request-selected-item img{
    width:78px!important;
    height:72px!important;
    border-radius:12px!important;
  }
  body.request-page .request-selected-item strong{
    font-size:1rem!important;
  }
  body.request-page .delivery-fields,
  body.request-page .delivery-total-card,
  body.request-page .delivery-benefit,
  body.request-page .request-address-section,
  body.request-page .payment-fields,
  body.request-page .cash-change-panel{
    padding:12px!important;
    border-radius:14px!important;
  }
  body.request-page .quantity-stepper{
    grid-template-columns:42px minmax(64px,1fr) 42px!important;
    max-width:190px!important;
    gap:6px!important;
  }
  body.request-page .quantity-stepper-button{
    min-width:42px!important;
    min-height:42px!important;
    border-radius:12px!important;
    font-size:1.25rem!important;
  }
  body.request-page .quantity-stepper input{
    height:42px!important;
    font-size:1rem!important;
  }
  body.request-page .delivery-total-card strong{
    font-size:1.34rem!important;
  }
  body.request-page .payment-method-option span{
    min-height:0!important;
  }
}

/* ПК: переопределяем старые крупные правила v79.2.11/v79.2.12. */
@media (min-width:1045px){
  body.request-page .request-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;
    column-gap:20px!important;
    row-gap:14px!important;
    align-items:stretch!important;
  }
  body.request-page .request-layout{
    grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;
    column-gap:20px!important;
    row-gap:18px!important;
  }
  body.request-page .request-hero-grid > div:not(.account-context-nav){
    min-height:0!important;
    padding:22px 24px!important;
    border-radius:22px!important;
    justify-content:center!important;
  }
  body.request-page .request-hero h1{
    margin-bottom:9px!important;
    font-size:clamp(2.25rem,3.35vw,3.2rem)!important;
    line-height:1.04!important;
  }
  body.request-page .request-lead{
    font-size:.95rem!important;
    line-height:1.5!important;
  }
  body.request-page .request-side-card{
    min-height:0!important;
    padding:20px 22px!important;
    border-radius:22px!important;
  }
  body.request-page .request-side-icon{
    width:48px!important;
    height:48px!important;
    margin-bottom:11px!important;
    border-radius:14px!important;
  }
  body.request-page .request-side-card h2{
    margin-bottom:8px!important;
    font-size:1.55rem!important;
  }
  body.request-page .request-side-card > p:not(.eyebrow),
  body.request-page .request-side-meta span{
    font-size:.86rem!important;
    line-height:1.42!important;
  }
  body.request-page .request-side-meta{
    gap:5px!important;
    margin-top:11px!important;
  }
  body.request-page .delivery-order-grid{
    grid-template-columns:minmax(150px,.48fr) minmax(220px,1fr)!important;
    gap:12px!important;
  }
  body.request-page .delivery-benefit{
    grid-column:1/-1!important;
    grid-template-columns:minmax(170px,.48fr) minmax(0,1.52fr)!important;
    gap:12px!important;
  }
}
