/* Выпуск S: форма запроса с сохранёнными параметрами. Сначала телефон: одна колонка, поля и чипы не меньше 44 px; на компьютере — сетка в две колонки.
   Шрифт не уменьшается. Поле «Своя» раскрывается при выборе (без JavaScript — через :has, со скриптом — классом). */
.mp-store .mp-rq { display:flex; flex-direction:column; gap:.9rem; max-width:52rem; }
.mp-store .mp-rq h1 { margin:0; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.2; }
.mp-store .mp-rq-lead { margin:0; color:var(--mp-muted); max-width:44rem; }
.mp-store .mp-rq-purpose { margin:0; padding:.6rem .8rem; border-radius:.6rem; background:#f7f2e6; color:#5a4410; }
.mp-store .mp-rq-off { margin:0; padding:.8rem 1rem; border-radius:.6rem; background:#fdecec; color:#7a1d1d; }
.mp-store .mp-rq-ok { margin:0; padding:.8rem 1rem; border-radius:.6rem; background:#e3f2e8; color:#1d5b36; }
.mp-store .mp-rq-errors { padding:.8rem 1rem; border-radius:.6rem; background:#fdecec; color:#7a1d1d; }
.mp-store .mp-rq-errors ul { margin:.3rem 0 0; padding-left:1.2rem; }
.mp-store .mp-rq-errors p { margin:.3rem 0 0; }
.mp-store .mp-rq-form { display:flex; flex-direction:column; gap:.9rem; }
.mp-store .mp-rq-block { display:flex; flex-direction:column; gap:.7rem; padding:1rem; border:1px solid var(--mp-line); border-radius:.8rem; background:#fff; }
.mp-store .mp-rq-block h2 { margin:0; font-size:1.1rem; }
.mp-store .mp-rq-more > summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
.mp-store .mp-rq-more[open] > summary { margin-bottom:.2rem; }
.mp-store .mp-rq-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:.7rem; }
@media (min-width:640px) { .mp-store .mp-rq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.mp-store .mp-rq-field { display:flex; flex-direction:column; gap:.3rem; min-width:0; margin:0; padding:0; border:0; }
.mp-store .mp-rq-field > span, .mp-store .mp-rq-field > legend { font-weight:650; }
.mp-store .mp-rq-field small { color:var(--mp-muted); font-weight:400; }
.mp-store .mp-rq-field input[type=text], .mp-store .mp-rq-field input[type=tel], .mp-store .mp-rq-field input[type=email], .mp-store .mp-rq-field select, .mp-store .mp-rq-field textarea {
  width:100%; min-height:46px; padding:.55rem .75rem; border:1px solid #c5cfdb; border-radius:.6rem; font:inherit; background:#fff; color:var(--mp-ink); }
.mp-store .mp-rq-field textarea { min-height:5.5rem; resize:vertical; }
.mp-store .mp-rq-field [aria-invalid="true"], .mp-store .mp-rq-chipset[aria-invalid="true"] .mp-rq-chip span { border-color:#b3261e; }
.mp-store .mp-rq-file input[type=file] { min-height:46px; padding:.5rem 0; font:inherit; max-width:100%; }
.mp-store .mp-rq-err { margin:0; color:#b3261e; font-size:.9rem; }
.mp-store .mp-rq-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.mp-store .mp-rq-chip { position:relative; }
.mp-store .mp-rq-chip input { position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.mp-store .mp-rq-chip span { display:inline-flex; align-items:center; min-height:44px; padding:.35rem .9rem; border:1px solid #c5cfdb; border-radius:999px; background:#fff; white-space:nowrap; }
.mp-store .mp-rq-chip input:checked + span { background:#e8f0fd; border-color:var(--mp-blue); color:#0d3f91; font-weight:650; }
.mp-store .mp-rq-chip input:focus-visible + span { outline:2px solid var(--mp-blue); outline-offset:2px; }
.mp-store .mp-rq-custom, .mp-store .mp-rq-other { display:none; flex-direction:column; gap:.3rem; margin-top:.5rem; max-width:18rem; }
.mp-store .mp-rq-custom input, .mp-store .mp-rq-other select { min-height:46px; padding:.55rem .75rem; border:1px solid #c5cfdb; border-radius:.6rem; font:inherit; background:#fff; }
.mp-store .mp-rq-custom small { color:var(--mp-muted); font-size:.85rem; }
.mp-store .mp-rq-chipset:has(input[value="custom"]:checked) .mp-rq-custom, .mp-store .mp-rq-custom.is-open { display:flex; }
.mp-store .mp-rq-chipset:has(input[value="other"]:checked) .mp-rq-other, .mp-store .mp-rq-other.is-open { display:flex; }
/* контакт: одно выбранное поле. Без :has и без JavaScript оба поля остаются видны (сервер принимает любой один корректный контакт) */
.mp-store .mp-rq-contact { display:flex; flex-direction:column; gap:.6rem; }
.mp-store .mp-rq-contact:has(input[value="phone"]:checked) .mp-rq-contact-email, .mp-store .mp-rq-contact.is-phone .mp-rq-contact-email { display:none; }
.mp-store .mp-rq-contact:has(input[value="email"]:checked) .mp-rq-contact-phone, .mp-store .mp-rq-contact.is-email .mp-rq-contact-phone { display:none; }
.mp-store .mp-rq-contact .mp-rq-field { max-width:24rem; }
.mp-store .mp-rq-check { display:flex; align-items:flex-start; gap:.6rem; min-height:44px; cursor:pointer; }
.mp-store .mp-rq-check input { width:1.3rem; height:1.3rem; margin-top:.15rem; flex:none; }
.mp-store .mp-rq-help { padding:.5rem .7rem; border-radius:.6rem; background:#f2f6fb; }
.mp-store .mp-rq-hint { margin:0; color:var(--mp-muted); font-size:.92rem; }
.mp-store .mp-rq-item { margin:0; }
.mp-store .mp-rq-qty input { max-width:14rem; }
.mp-store .mp-rq-submit { align-self:flex-start; min-height:48px; padding:.6rem 1.4rem; }
.mp-store .mp-rq-submit[disabled] { opacity:.55; cursor:not-allowed; }
.mp-store .mp-rq-note { margin:0; color:var(--mp-muted); font-size:.9rem; }
.mp-store .mp-rq-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.mp-store .mp-rq-summary { display:grid; grid-template-columns:minmax(0,1fr); gap:.1rem; margin:0; padding:.4rem 1rem; border:1px solid var(--mp-line); border-radius:.8rem; background:#fff; }
.mp-store .mp-rq-summary > div { display:grid; grid-template-columns:minmax(8rem,12rem) minmax(0,1fr); gap:.6rem; padding:.45rem 0; border-top:1px solid #edf0f3; }
.mp-store .mp-rq-summary > div:first-child { border-top:0; }
.mp-store .mp-rq-summary dt { color:var(--mp-muted); }
.mp-store .mp-rq-summary dd { margin:0; overflow-wrap:anywhere; }
.mp-store .mp-rq-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.mp-store .mp-rq-actions .mp-button { min-height:46px; }
@media (max-width:520px) {
  .mp-store .mp-rq-block { padding:.85rem; }
  .mp-store .mp-rq-summary > div { grid-template-columns:minmax(0,1fr); gap:.1rem; }
  .mp-store .mp-rq-submit { align-self:stretch; }
}
/* группы «Скотч и клейкие ленты» (и в каталоге, и на форме) */
.mp-store .mp-cl-groups { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.mp-store .mp-cl-group-root { font-weight:700; margin-right:.3rem; color:var(--mp-ink); }
.mp-store .mp-cl-group { display:inline-flex; align-items:center; min-height:40px; padding:.3rem .85rem; border:1px solid var(--mp-line); border-radius:999px; background:#fff; color:var(--mp-ink); }
.mp-store .mp-cl-group.is-on { background:var(--mp-ink); color:#fff; border-color:var(--mp-ink); }
.mp-store .mp-cl-group-short { display:none; }
@media (max-width:820px) {
  .mp-store .mp-cl-group { min-height:44px; }
  .mp-store .mp-cl-groups { flex-wrap:nowrap; overflow-x:auto; gap:.35rem; scrollbar-width:none; min-width:0; max-width:100%; }
  .mp-store .mp-cl-groups::-webkit-scrollbar { display:none; }
  .mp-store .mp-cl-groups > a { flex:none; }
  .mp-store .mp-cl-group { padding:.3rem .75rem; }
  .mp-store .mp-cl-group-root.has-short { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:.3rem .75rem; border:1px solid var(--mp-line); border-radius:999px; background:#fff; font-weight:400; }
  .mp-store .mp-cl-group-root.has-short[aria-current="page"] { background:var(--mp-ink); color:#fff; border-color:var(--mp-ink); }
  .mp-store .mp-cl-group-root.has-short .mp-cl-group-full { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .mp-store .mp-cl-group-root.has-short .mp-cl-group-short { display:inline; }
}
