/* Общая рамка, цвета и шапка конфигуратора. */
.wpc { --green:#79c84a; --green-dark:#58a92d; --ink:#202124; --muted:#73767c; --line:#e8e9eb; --soft:#f7f8f7; max-width:1540px; margin:0 auto; padding:28px 22px 64px; color:var(--ink); font-family:inherit; }
.wpc * { box-sizing:border-box; }
.wpc__hero { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:28px; padding:34px 38px; border-radius:28px; background:linear-gradient(130deg,#182018 0%,#263723 62%,#78c84a 160%); color:#fff; overflow:hidden; position:relative; }
.wpc__hero:after { content:""; position:absolute; width:320px; height:320px; right:-100px; top:-140px; border-radius:50%; border:70px solid rgba(255,255,255,.06); }
.wpc__hero h1 { margin:7px 0 10px; font-size:clamp(30px,4vw,52px); line-height:1; color:#fff; }
.wpc__hero p { margin:0; max-width:720px; font-size:16px; line-height:1.55; color:rgba(255,255,255,.76); }
.wpc__eyebrow { color:#a9e985; font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.wpc__hero-note { min-width:230px; padding:18px 20px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); position:relative; z-index:1; }
.wpc__hero-note strong,.wpc__hero-note span { display:block; }
.wpc__hero-note span { margin-top:5px; color:#c6edb0; }
.wpc__utility { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:-14px 4px 22px; color:var(--muted); font-size:12px; }
.wpc__save-status { margin-right:auto; }
.wpc__share { padding:8px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--green-dark); cursor:pointer; font:600 12px inherit; }
.wpc__share-feedback { min-width:110px; color:var(--green-dark); }
.wpc-notice { margin:0 0 18px; padding:13px 16px; border-left:4px solid var(--green); border-radius:9px; background:#f0f9eb; line-height:1.45; }
.wpc-notice.is-warning { border-color:#d8a426; background:#fff7df; }
.wpc-notice.is-error { border-color:#c74a4a; background:#fff0f0; }
/* Три колонки: фильтры, рабочая область и навигация по шагам. */
.wpc__layout { display:grid; grid-template-columns:255px minmax(0,1fr) 245px; grid-template-areas:"filters workspace steps"; gap:22px; align-items:start; }
.wpc__filters { grid-area:filters; min-width:0; }
.wpc__workspace { grid-area:workspace; min-width:0; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 10px 35px rgba(20,30,20,.05); overflow:hidden; }
.wpc__steps { grid-area:steps; position:sticky; top:94px; display:flex; flex-direction:column; padding:12px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 35px rgba(20,30,20,.05); }
.wpc__steps-title { padding:8px 10px 12px; font-size:16px; font-weight:800; }
.wpc-step { display:flex; gap:10px; align-items:center; width:100%; padding:10px 8px; border:0; border-radius:13px; color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.wpc-step:hover { background:var(--soft); }
.wpc-step.is-active { color:var(--ink); background:#eef8e9; }
.wpc-step__number { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid #d9dcda; border-radius:50%; font-size:12px; font-weight:700; }
.wpc-step.is-active .wpc-step__number,.wpc-step.is-done .wpc-step__number { border-color:var(--green); background:var(--green); color:#fff; }
.wpc-step__copy { min-width:0; display:block; }
.wpc-step__copy strong,.wpc-step__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wpc-step__copy strong { font-size:13px; color:inherit; }
.wpc-step__copy small { margin-top:2px; font-size:10px; color:#a0a3a5; }

/* Обычные фильтры каталога; технически несовместимые варианты сюда сервер уже не отдаёт. */
.wpc-filter-panel { position:sticky; top:94px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 35px rgba(20,30,20,.05); }
.wpc-filter-panel__title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 18px 15px; }
.wpc-filter-panel__title strong { font-size:17px; }
.wpc-filter-panel__title button { padding:0; border:0; background:transparent; color:var(--green-dark); font-size:12px; cursor:pointer; }
.wpc-mobile-filters-toggle { display:none; }
.wpc-mobile-filters-toggle__arrow { transition:transform .2s ease; }
.wpc-filter-panel.is-mobile-open .wpc-mobile-filters-toggle__arrow { transform:rotate(180deg); }
.wpc-filter-panel__hint { margin:0; padding:0 18px 20px; color:var(--muted); font-size:13px; line-height:1.5; }
.wpc-filter { border-top:1px solid var(--line); }
.wpc-filter__toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding:14px 18px; border:0; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.wpc-filter__toggle span { color:#aaa; transition:transform .2s ease; }
.wpc-filter.is-open .wpc-filter__toggle span { transform:rotate(180deg); }
.wpc-filter__body { display:none; max-height:250px; overflow:auto; padding:0 18px 14px; }
.wpc-filter.is-open .wpc-filter__body { display:block; }
.wpc-price-filter { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.wpc-price-filter label { color:var(--muted); font-size:11px; }
.wpc-price-filter input { width:100%; margin-top:4px; padding:9px 8px; border:1px solid #ddd; border-radius:8px; color:var(--ink); font:13px inherit; }
.wpc-filter__option { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:8px; padding:6px 0; cursor:pointer; font-size:13px; }
.wpc-filter__option input { position:absolute; opacity:0; pointer-events:none; }
.wpc-filter__mark { display:grid; place-items:center; width:17px; height:17px; border:1px solid #cfd2cf; border-radius:4px; background:#fff; }
.wpc-filter__option input:checked + .wpc-filter__mark { border-color:var(--green); background:var(--green); }
.wpc-filter__option input:checked + .wpc-filter__mark:after { content:"✓"; color:#fff; font-size:12px; }
.wpc-filter__option small { color:#aaa; }
.wpc-filter-panel__count { padding:14px 18px; border-top:1px solid var(--line); color:var(--green-dark); font-size:13px; font-weight:700; }

.wpc__heading { display:flex; justify-content:space-between; gap:20px; padding:26px 28px 21px; border-bottom:1px solid var(--line); }
.wpc__counter { color:var(--green-dark); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.wpc__heading h2 { margin:5px 0; font-size:28px; line-height:1.15; }
.wpc__heading p { margin:0; color:var(--muted); line-height:1.45; }
.wpc__reset { align-self:flex-start; padding:9px 12px; border:0; background:transparent; color:#999; cursor:pointer; white-space:nowrap; }
.wpc__reset:hover { color:#d23f3f; }
.wpc__content { min-height:500px; padding:24px; background:#fbfcfb; }
.wpc-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--muted); font-size:12px; }
.wpc-catalog-toolbar label { display:flex; align-items:center; gap:9px; }
.wpc-catalog-toolbar select { min-width:190px; padding:9px 34px 9px 11px; border:1px solid #dfe2df; border-radius:9px; background:#fff; color:var(--ink); font:600 13px inherit; cursor:pointer; }
.wpc-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; margin:24px 0 6px; }
.wpc-pagination button { display:grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border:1px solid #dfe2df; border-radius:9px; background:#fff; color:var(--ink); font:700 13px inherit; cursor:pointer; }
.wpc-pagination button:hover:not(:disabled) { border-color:var(--green); color:var(--green-dark); }
.wpc-pagination button.is-active { border-color:var(--green); background:var(--green); color:#fff; }
.wpc-pagination button:disabled { opacity:.35; cursor:not-allowed; }
.wpc-pagination > span { padding:0 2px; color:var(--muted); }
.wpc-platforms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:800px; margin:34px auto; }
.wpc-platform { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:240px; padding:30px; border:2px solid var(--line); border-radius:24px; background:#fff; text-align:left; cursor:pointer; transition:.2s ease; }
.wpc-platform:hover,.wpc-platform.is-selected { transform:translateY(-3px); border-color:var(--green); box-shadow:0 18px 40px rgba(70,130,40,.13); }
.wpc-platform__mark { display:grid; place-items:center; width:96px; height:64px; margin-bottom:32px; border-radius:16px; background:#161a16; color:#fff; font-weight:900; letter-spacing:.06em; }
.wpc-platform strong { font-size:22px; }
.wpc-platform small { margin-top:8px; color:var(--muted); font-size:14px; }
.wpc-platform__check { display:none; position:absolute; right:20px; top:20px; width:30px; height:30px; border-radius:50%; background:var(--green); color:#fff; place-items:center; }
.wpc-platform.is-selected .wpc-platform__check { display:grid; }

/* Карточки намеренно похожи на каталог: фото отдельно, название больше не лежит на изображении. */
.wpc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 14px; }
.wpc-card { display:flex; min-width:0; flex-direction:column; padding:0 0 14px; overflow:hidden; border:1px solid transparent; border-radius:13px; background:#fff; transition:.18s ease; }
.wpc-card:hover,.wpc-card.is-selected { border-color:#dfe5dc; box-shadow:0 9px 26px rgba(30,55,20,.08); }
.wpc-card.is-selected { box-shadow:0 0 0 2px var(--green),0 9px 26px rgba(30,55,20,.1); }
.wpc-card__image { display:grid; place-items:center; width:100%; height:205px; padding:16px; overflow:hidden; background:#fff; }
.wpc-card__image img { display:block; width:100%; height:100%; object-fit:contain; }
.wpc-card__image.is-empty { background:#f7f8f7; }
.wpc-no-thumb { display:block; width:64%; height:64%; color:#cfd5cf; fill:currentColor; }
.wpc-card__main { display:flex; flex:1; min-width:0; flex-direction:column; padding:0 14px; }
.wpc-card__price { min-height:28px; font-size:21px; font-weight:800; line-height:1.2; }
.wpc-card__name { display:-webkit-box; min-height:62px; margin-top:7px; overflow:hidden; color:var(--ink); font-size:14px; font-weight:600; line-height:1.45; text-decoration:none; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.wpc-card__name:hover { color:var(--green-dark); }
.wpc-card__stock { margin-top:8px; color:var(--green-dark); font-size:12px; }
.wpc-card__stock span { display:inline-grid; place-items:center; width:16px; height:16px; margin-right:4px; border:1px solid var(--green); border-radius:50%; font-size:10px; }
.wpc-card__features { display:flex; flex-direction:column; gap:4px; min-height:48px; margin-top:10px; color:var(--ink); font-size:11px; }
.wpc-card__features span { display:flex; justify-content:space-between; gap:8px; min-width:0; }
.wpc-card__features small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.wpc-card__actions { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:13px; }
.wpc-card__select { flex:1; min-height:40px; padding:10px 12px; border:0; border-radius:9px; background:var(--green); color:#fff; font:700 13px inherit; cursor:pointer; }
.wpc-card__select:hover { background:var(--green-dark); }
.wpc-card.is-selected .wpc-card__select { background:#202620; }
.wpc-quantity { display:flex; align-items:center; min-height:40px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; }
.wpc-quantity[hidden] { display:none; }
.wpc-quantity button { width:30px; height:38px; border:0; background:#fff; cursor:pointer; font-size:18px; }
.wpc-quantity button:disabled { color:#bbb; cursor:not-allowed; }
.wpc-quantity span { min-width:24px; text-align:center; font-size:13px; font-weight:700; }

.wpc__footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding:20px 28px; border-top:1px solid var(--line); background:#fff; }
.wpc-button { justify-self:end; min-width:155px; padding:14px 20px; border:0; border-radius:12px; background:var(--green); color:#fff; font:700 14px inherit; cursor:pointer; }
.wpc-button:hover:not(:disabled) { background:var(--green-dark); }
.wpc-button:disabled { opacity:.45; cursor:not-allowed; }
.wpc-button--ghost { justify-self:start; border:1px solid var(--line); background:#fff; color:var(--ink); }
.wpc-button--ghost:hover:not(:disabled) { background:var(--soft); }
.wpc__total { text-align:center; }
.wpc__total small,.wpc__total strong { display:block; }
.wpc__total small { color:var(--muted); font-size:11px; }
.wpc__total strong { margin-top:2px; font-size:21px; }
.wpc-loading,.wpc-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:400px; text-align:center; color:var(--muted); }
.wpc-loading span { width:42px; height:42px; border:3px solid #dfe3df; border-top-color:var(--green); border-radius:50%; animation:wpc-spin .8s linear infinite; }
.wpc-empty strong { color:var(--ink); font-size:20px; }
.wpc-empty p { max-width:520px; }
.wpc-empty button { padding:10px 17px; border:0; border-radius:10px; background:var(--green); color:#fff; cursor:pointer; }
.wpc-empty__reasons { width:min(650px,100%); margin:10px 0 20px; padding:0; list-style:none; text-align:left; }
.wpc-empty__reasons li { display:flex; justify-content:space-between; gap:18px; padding:9px 11px; border-bottom:1px solid var(--line); color:#555; }
.wpc-empty__reasons b { color:var(--ink); }
@keyframes wpc-spin { to { transform:rotate(360deg); } }

.wpc-summary { max-width:900px; margin:0 auto; border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.wpc-summary__row { display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px 18px; border-bottom:1px solid var(--line); }
.wpc-summary__image { display:grid; place-items:center; width:68px; height:68px; overflow:hidden; border-radius:10px; background:#f7f8f7; color:#cfd5cf; font-size:22px; font-weight:900; text-decoration:none; }
.wpc-summary__image img { display:block; width:100%; height:100%; padding:5px; object-fit:contain; mix-blend-mode:multiply; }
.wpc-summary__image .wpc-no-thumb { width:58%; height:58%; }
.wpc-summary__index { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#eff1ef; font-weight:800; }
.wpc-summary__row small,.wpc-summary__row strong { display:block; }
.wpc-summary__row small { margin-bottom:3px; color:var(--muted); font-size:11px; }
.wpc-summary__row strong { font-size:14px; }
.wpc-summary__row b { white-space:nowrap; }
.wpc-summary__copy > a { color:var(--ink); text-decoration:none; }
.wpc-summary__copy > a:hover { color:var(--green-dark); }
.wpc-summary__features { display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:7px; color:#555; font-size:11px; }
.wpc-summary__features small { display:inline; margin:0 3px 0 0; }
.wpc-summary__price { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.wpc-summary__price button { padding:0; border:0; background:transparent; color:var(--green-dark); cursor:pointer; font-size:11px; }
.wpc-summary__service { grid-template-columns:72px minmax(0,1fr) auto; background:#f0f9eb; }
.wpc-summary__service .wpc-summary__index { background:var(--green); color:#fff; }
.wpc-summary__totals { padding:14px 20px; }
.wpc-summary__totals > div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:6px 0; }
.wpc-summary__grand { margin-top:8px; padding-top:14px!important; border-top:1px solid var(--line); font-size:18px; }
.wpc-summary__grand strong { font-size:25px; }
.wpc-summary__actions { display:flex; align-items:center; gap:16px; padding:0 20px 20px; }
.wpc-summary__actions .wpc-button { flex:0 0 auto; }
.wpc-summary__actions span { color:var(--muted); font-size:11px; line-height:1.4; }

/* Поп-ап выбранной комплектующей и её основных характеристик. */
.wpc-modal[hidden] { display:none; }
.wpc-modal { position:fixed; z-index:10050; inset:0; display:grid; place-items:center; padding:20px; }
.wpc-modal__backdrop { position:absolute; inset:0; background:rgba(14,18,14,.62); backdrop-filter:blur(3px); }
.wpc-modal__dialog { position:relative; width:min(560px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:30px; border-radius:22px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.wpc-modal__close { position:absolute; right:16px; top:13px; width:36px; height:36px; border:0; border-radius:50%; background:#f3f4f3; color:#777; cursor:pointer; font-size:24px; }
.wpc-modal__check { display:grid; place-items:center; width:44px; height:44px; margin-bottom:14px; border-radius:50%; background:var(--green); color:#fff; font-size:22px; }
.wpc-modal__eyebrow { color:var(--green-dark); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.wpc-modal h3 { margin:7px 42px 18px 0; font-size:23px; line-height:1.3; }
.wpc-modal__product { display:grid; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:18px; padding:16px; border-radius:15px; background:var(--soft); }
.wpc-modal__image { display:grid; place-items:center; width:130px; height:115px; overflow:hidden; border-radius:10px; background:#fff; }
.wpc-modal__image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.wpc-modal__product > div > strong { display:block; margin-bottom:10px; font-size:22px; }
.wpc-modal__features { display:flex; flex-direction:column; gap:6px; }
.wpc-modal__features span { display:flex; justify-content:space-between; gap:12px; font-size:12px; }
.wpc-modal__features small { color:var(--muted); }
.wpc-modal__actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
.wpc-modal__actions .wpc-button { justify-self:stretch; width:100%; }
.wpc-modal-open { overflow:hidden; }
.wpc-cart-modal .wpc-modal__dialog { width:min(680px,100%); }
.wpc-cart-modal__items { max-height:300px; overflow:auto; border:1px solid var(--line); border-radius:13px; }
.wpc-cart-modal__item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px; border-bottom:1px solid var(--line); }
.wpc-cart-modal__item:last-child { border-bottom:0; }
.wpc-cart-modal__item strong,.wpc-cart-modal__item small { display:block; }
.wpc-cart-modal__item strong { font-size:13px; line-height:1.35; }
.wpc-cart-modal__item small { margin-top:4px; color:var(--muted); }
.wpc-cart-modal__item > b { flex:0 0 auto; white-space:nowrap; }
.wpc-cart-modal__total { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:12px; padding:13px 14px; border-radius:10px; background:#f0f9eb; }
.wpc-cart-modal__warning { color:#8a5b00; font-size:12px; line-height:1.5; }

/* Адаптив. На узком экране десять ступенек в один столбец никто бы нам не простил. */
@media (max-width:1100px) {
  .wpc__layout { grid-template-columns:225px minmax(0,1fr); grid-template-areas:"filters steps" "filters workspace"; }
  .wpc__steps { position:static; flex-direction:row; overflow-x:auto; border-radius:16px; }
  .wpc__steps-title { display:none; }
  .wpc-step { flex:0 0 120px; padding:8px; }
  .wpc-step__copy small { display:none; }
  .wpc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:950px) {
  .wpc__layout { grid-template-columns:1fr; grid-template-areas:"steps" "filters" "workspace"; }
  .wpc-filter-panel { position:static; }
  .wpc-filter-panel__title { padding:15px 16px; }
  .wpc-filter-panel [data-filters] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wpc-filter-panel__hint,.wpc-filter-panel__count { grid-column:1 / -1; }
  .wpc-filter { border-right:1px solid var(--line); }
  .wpc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .wpc { padding:14px 10px 40px; }
  .wpc__hero { align-items:stretch; flex-direction:column; padding:25px 22px; border-radius:20px; }
  .wpc__hero-note { min-width:0; }
  .wpc__utility { align-items:stretch; flex-direction:column; margin:-8px 2px 16px; }
  .wpc__share { width:100%; }
  .wpc__share-feedback { min-width:0; }
  .wpc__workspace { border-radius:17px; }
  .wpc__heading { padding:22px 18px 18px; }
  .wpc__heading h2 { font-size:23px; }
  .wpc__reset { font-size:12px; }
  .wpc-filter-panel__title { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .wpc-mobile-filters-toggle { display:flex; grid-column:1 / -1; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:4px; padding:11px 14px!important; border:1px solid #dfe8da!important; border-radius:10px; background:#f3faef!important; font-weight:700; }
  /* На мобильном фильтры закрыты, пока человек сам не попросит их показать. */
  .wpc-filter-panel [data-filters] { display:none; }
  .wpc-filter-panel.is-mobile-open [data-filters] { display:block; }
  .wpc__content { min-height:400px; padding:14px 10px; }
  .wpc-catalog-toolbar { align-items:stretch; flex-direction:column; }
  .wpc-catalog-toolbar label { justify-content:space-between; }
  .wpc-catalog-toolbar select { min-width:0; width:62%; }
  .wpc-pagination { gap:5px; margin-top:18px; }
  .wpc-pagination button { min-width:34px; height:36px; padding:0 8px; }
  .wpc-platforms,.wpc-grid { grid-template-columns:1fr; }
  .wpc-platforms { margin:8px auto; }
  .wpc-platform { min-height:190px; padding:24px; }
  .wpc-platform__mark { margin-bottom:24px; }
  .wpc-card { display:grid; grid-template-columns:120px minmax(0,1fr); padding:0; }
  .wpc-card__image { width:120px; height:180px; padding:10px; }
  .wpc-card__main { min-width:0; padding:12px 10px 11px 0; }
  .wpc-card__price { font-size:18px; }
  .wpc-card__name { min-height:57px; font-size:13px; }
  .wpc-card__features { min-height:0; }
  .wpc-card__features span:nth-child(n+3) { display:none; }
  .wpc__footer { position:sticky; bottom:calc(74px + env(safe-area-inset-bottom)); z-index:8; grid-template-columns:auto 1fr; padding:12px; box-shadow:0 -8px 24px rgba(0,0,0,.08); }
  .wpc__total { grid-column:1 / -1; grid-row:1; }
  .wpc-button { min-width:0; width:100%; grid-row:2; }
  .wpc-summary__row { grid-template-columns:58px minmax(0,1fr); gap:10px; padding:12px 10px; }
  .wpc-summary__image { width:56px; height:56px; }
  .wpc-summary__price { grid-column:2; align-items:flex-start; flex-direction:row; justify-content:space-between; }
  .wpc-summary__service { grid-template-columns:58px minmax(0,1fr); }
  .wpc-summary__service > b { grid-column:2; }
  .wpc-summary__actions { align-items:stretch; flex-direction:column; }
  .wpc-modal__dialog { padding:24px 18px 18px; border-radius:18px; }
  .wpc-modal h3 { font-size:19px; }
  .wpc-modal__product { grid-template-columns:90px minmax(0,1fr); gap:12px; padding:12px; }
  .wpc-modal__image { width:90px; height:90px; }
  .wpc-modal__actions { grid-template-columns:1fr; }
}
