/* ============================================================
   Чекаут 2026 «Японская точность» — редизайн v3 (с нуля).
   Грузится ПОСЛЕ webflow и перекрывает его каскад. Всё скоплено
   под .cc-checkout-section / .cc-checkout — остальной сайт не задет.
   Токены (--s*, --t-*, --ink*, --line, --accent, --r*, --tr, --mono)
   объявлены в chaster-2026.css (:root). Токена --s7 НЕ существует.
   ============================================================ */

/* ---------- каркас страницы ---------- */
.cc-checkout-section{background:var(--bg-alt);padding:var(--s6) 0 var(--s20);min-height:60vh}
.cc-checkout-section .crumbs{margin-bottom:var(--s5)}
.cc-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s8)}
.cc-title{font-size:clamp(26px,3vw,var(--t-2xl));font-weight:700;letter-spacing:-.015em;margin:0}
.cc-back{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:var(--t-xs);
  letter-spacing:.05em;color:var(--ink-2);text-decoration:none;transition:color var(--tr)}
.cc-back:hover{color:var(--accent)}
.cc-back svg{width:15px;height:15px}

/* сетка: этапы слева, квитанция справа */
.cc-checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--s6) var(--s10);align-items:start}
.cc-steps{display:flex;flex-direction:column;gap:var(--s5);min-width:0}

/* ---------- карточка этапа ---------- */
.cc-step{background:var(--bg);border:1px solid var(--line);border-radius:var(--r2)}
.cc-step-head{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s6);border-bottom:1px solid var(--line)}
.cc-step-head h2{margin:0;font-size:var(--t-l);font-weight:700;letter-spacing:-.01em}
.cc-step-num{flex:0 0 auto;width:32px;height:32px;border:1.5px solid var(--ink);border-radius:var(--r1);
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:12px;
  letter-spacing:.04em;color:var(--ink);transition:background var(--tr),border-color var(--tr),color var(--tr)}
.cc-step-num::before{content:attr(data-n)}
.cc-step.is-done .cc-step-num{background:var(--accent);border-color:var(--accent);color:#fff}
.cc-step.is-done .cc-step-num::before{content:"✓"}
.cc-step-state{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent);
  opacity:0;transition:opacity var(--tr)}
.cc-step-state::before{content:"ГОТОВО"}
.cc-step.is-done .cc-step-state{opacity:1}
.cc-step-body{padding:var(--s6)}

/* ---------- поля ---------- */
.cc-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-2);margin-bottom:7px}
.cc-checkout .cart-input-watch{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);
  padding:0 var(--s4);height:48px;font-family:var(--sans);font-size:var(--t-base);color:var(--ink);
  transition:border-color var(--tr),box-shadow var(--tr);box-shadow:none;margin:0}
.cc-checkout textarea.cart-input-watch{height:auto;padding:var(--s3) var(--s4);line-height:1.5;resize:vertical}
.cc-checkout .cart-input-watch::placeholder{color:var(--ink-3)}
.cc-checkout .cart-input-watch:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.cc-checkout .cart-input-watch[disabled]{background:var(--bg-alt);color:var(--ink-3);cursor:not-allowed}
.cc-field{margin-bottom:var(--s4)}
.cc-field:last-child{margin-bottom:0}
.cc-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s4)}
.cc-hint{font-size:var(--t-xs);color:var(--ink-3);margin-top:6px;line-height:1.45}
/* слот ошибки резервируем, чтобы строки не скакали */
.cc-checkout .help-block,.cc-checkout .help-block-error{display:block;min-height:1.1em;margin-top:4px;
  font-size:var(--t-xs);line-height:1.25;color:#D64545}
.cc-checkout .cart-input-watch.field-error,.cc-checkout .has-error .cart-input-watch{border-color:#D64545}

/* ---------- город: поле с иконкой + свой список подсказок ---------- */
.cc-city{position:relative}
.cc-city .form-group{margin-bottom:0}
.cc-city-icon{position:absolute;left:14px;top:24px;transform:translateY(-50%);color:var(--ink-3);pointer-events:none;z-index:2}
.cc-city-icon svg{width:17px;height:17px;display:block}
.cc-checkout .cc-city-input{padding-left:42px}
.cc-city-suggest{position:absolute;left:0;right:0;top:52px;z-index:40;display:none;background:var(--bg);
  border:1px solid var(--line);border-radius:var(--r2);box-shadow:0 14px 36px rgba(16,20,24,.15);
  max-height:320px;overflow-y:auto}
.cc-city-item{padding:11px var(--s4);font-size:var(--t-s);color:var(--ink);cursor:pointer;line-height:1.35}
.cc-city-item b{font-weight:600}
.cc-city-item span{color:var(--ink-3)}
.cc-city-item:hover{background:var(--accent-tint)}
.cc-city-item + .cc-city-item{border-top:1px solid var(--line)}
.cc-subhead{font-size:var(--t-s);font-weight:600;color:var(--ink-2)}

/* ---------- способ доставки: карточки-строки с радио и ценой ---------- */
.cc-checkout .block-delivery-cart-watch{margin-top:var(--s5)}
.cc-checkout .line-tab-delivery-cart-watch{display:flex;flex-direction:column;gap:var(--s3);margin-bottom:var(--s5)}
/* flex-direction/width/text-align перекрывают webflow (там column+center) */
.cc-checkout .tab-delivery-cart-watch{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  gap:var(--s4);cursor:pointer;text-decoration:none;text-align:left;width:100%;height:auto;
  border:1.5px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s5);background:var(--bg);
  transition:border-color var(--tr),background var(--tr)}
.cc-checkout .tab-delivery-cart-watch:hover{border-color:var(--ink-3)}
.cc-checkout .tab-delivery-cart-watch.active-tab-cart-watch{border-color:var(--accent);background:var(--accent-tint)}
/* способ недоступен для выбранного города (СДЭК не возит / нет отделения почты):
   вкладка гаснет и не кликается, вместо цены — «недоступно» */
.cc-checkout .tab-delivery-cart-watch.is-unavailable{opacity:.45;pointer-events:none}
.cc-checkout .tab-delivery-cart-watch.is-unavailable .cc-dprice{font-size:var(--t-xs);font-weight:500;color:var(--ink-3)}
.cc-dradio{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:#fff;
  position:relative;transition:border-color var(--tr)}
.cc-checkout .active-tab-cart-watch .cc-dradio{border-color:var(--accent)}
.cc-checkout .active-tab-cart-watch .cc-dradio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.cc-dicon{flex:0 0 auto;width:38px;height:38px;border-radius:var(--r1);background:var(--bg-alt);
  display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:background var(--tr),color var(--tr)}
.cc-checkout .active-tab-cart-watch .cc-dicon{background:#fff;color:var(--accent)}
.cc-dicon svg{width:20px;height:20px}
.cc-dbody{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.cc-dtitle{display:flex;align-items:center;gap:8px;font-weight:600;font-size:var(--t-base);color:var(--ink);line-height:1.2}
.cc-dtitle img{height:13px;width:auto;opacity:.9}
.cc-dsub{font-size:var(--t-xs);color:var(--ink-3)}
.cc-dprice{margin-left:auto;font-family:var(--mono);font-weight:600;font-size:var(--t-m);color:var(--ink);
  white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- панели доставки (ПВЗ карта/список · курьер адрес) ---------- */
.cc-checkout .block-tab-watch{display:none}
.cc-checkout .block-tab-watch.active-tab-watch{display:block}
.cc-checkout .block-tab-list-watch{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  margin-bottom:var(--s3);flex-wrap:wrap}
/* width:auto перекрывает фиксированную ширину webflow (иначе пустой «хвост» в рамке) */
.cc-checkout .wrap-list-tab-watch{display:inline-flex;width:auto;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.cc-checkout .link-list-watch{cursor:pointer;width:auto;flex:0 0 auto;padding:7px var(--s4);font-size:var(--t-s);color:var(--ink-2);
  background:var(--bg);transition:background var(--tr),color var(--tr)}
.cc-checkout .link-list-watch + .link-list-watch{border-left:1px solid var(--line)}
.cc-checkout .link-list-watch.active-tab-cart-watch{background:var(--ink);color:#fff}
.cc-checkout .block-pvz-watch{display:none}
.cc-checkout .block-pvz-watch.active-tab-watch{display:block}
.cc-map-wrap{position:relative}
.cc-checkout .map-watch{width:100%;height:400px;border:1px solid var(--line);border-radius:var(--r2);
  overflow:hidden;background:var(--bg-alt)}
.cc-map-hint{position:absolute;inset:1px;z-index:5;display:flex;align-items:center;justify-content:center;
  text-align:center;background:rgba(255,255,255,.85);border-radius:var(--r2);padding:var(--s6)}
.cc-map-hint div{max-width:36ch;font-size:var(--t-s);color:var(--ink-2);line-height:1.55}
.cc-checkout .pvz-all-watch{max-height:400px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r2)}
.cc-checkout .pvz-watch{display:block;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);cursor:pointer;
  transition:background var(--tr)}
.cc-checkout .pvz-watch:last-child{border-bottom:none}
.cc-checkout .pvz-watch:hover{background:var(--bg-alt)}
.cc-checkout .adress-pvz-watch{font-size:var(--t-s);color:var(--ink);font-weight:500}
.cc-checkout .mode-pvz-watch{font-size:var(--t-xs);color:var(--ink-3);margin-top:2px}
.cc-checkout .block-txt-none-pvz-watch{display:none;padding:var(--s4);color:var(--ink-3);font-size:var(--t-s)}
/* «Выбран: …» — акцентная плашка; пока пусто — серая подсказка */
.cc-checkout .choice-address-watch{margin-top:var(--s3);display:flex;gap:8px;align-items:baseline;
  border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r1);background:var(--bg);
  padding:var(--s3) var(--s4);font-size:var(--t-s);color:var(--ink-2);line-height:1.45}
.cc-checkout .choice-address-watch strong{color:var(--ink);font-weight:600;white-space:nowrap}
.cc-checkout [data-name=pvz-current]:empty::before{content:"пункт пока не выбран — кликните точку на карте или выберите из списка";color:var(--ink-3)}
.cc-checkout .blockaddress-cart-watch{margin-top:var(--s2)}

/* ---------- оплата: карточки-радио с иконками ---------- */
.cc-checkout .block-radio-watch{display:flex;flex-direction:column;gap:var(--s3)}
.cc-checkout .radio-field-pay-watch{display:flex;align-items:center;gap:var(--s4);cursor:pointer;margin:0;position:relative;
  border:1.5px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s5);background:var(--bg);
  transition:border-color var(--tr),background var(--tr)}
.cc-checkout .radio-field-pay-watch:hover{border-color:var(--ink-3)}
.cc-checkout .radio-field-pay-watch:has(.w--redirected-checked){border-color:var(--accent);background:var(--accent-tint)}
.cc-checkout .radio-btn-watch{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);
  background:#fff;position:relative;margin:0;transition:border-color var(--tr)}
.cc-checkout .radio-btn-watch.w--redirected-checked{border-color:var(--accent)}
.cc-checkout .radio-btn-watch.w--redirected-checked::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.cc-payicon{flex:0 0 auto;width:38px;height:38px;border-radius:var(--r1);background:var(--bg-alt);
  display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:background var(--tr),color var(--tr)}
.cc-checkout .radio-field-pay-watch:has(.w--redirected-checked) .cc-payicon{background:#fff;color:var(--accent)}
.cc-payicon svg{width:20px;height:20px}
.cc-checkout .radio-btn-pay-watch{font-size:var(--t-base);color:var(--ink);font-weight:500;margin:0}
.cc-step .hidden{display:none!important}
/* примечание «оплата при получении недоступна» — видно только при выбранной Почте
   (класс .active вешает script-guest.js на вкладке доставки data-id=3) */
.cc-note{display:none;font-size:var(--t-xs);color:var(--ink-3);margin-top:var(--s3);line-height:1.45}
.cc-note.active{display:block;color:var(--accent)}

/* ---------- промокод (скрыт, хуки живы) ---------- */
.cc-promo .block-promo-w{display:flex;gap:var(--s3);margin-top:var(--s4)}
.cc-promo .promo-btn-w{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 var(--s5);height:48px;
  border-radius:var(--r2);background:var(--ink);color:#fff;font-weight:600;cursor:pointer}

/* ---------- квитанция заказа (правая колонка) ---------- */
.cc-summary{position:sticky;top:88px;display:flex;flex-direction:column;gap:var(--s4)}
.cc-summary-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s6);
  display:flex;flex-direction:column;gap:var(--s5);box-shadow:0 10px 30px rgba(16,20,24,.06)}
.cc-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}
.cc-summary-title{font-size:var(--t-l);font-weight:700;letter-spacing:-.01em}
.cc-count{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap}

/* товары */
.cc-items{display:flex;flex-direction:column;max-height:390px;overflow-y:auto}
.cc-item{display:flex;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.cc-item:first-child{padding-top:0}
.cc-item:last-child{border-bottom:none;padding-bottom:0}
.cc-item-foto{flex:0 0 auto;width:72px;height:72px;border:1px solid var(--line);border-radius:var(--r1);
  background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px}
.cc-item-foto img{max-width:100%;max-height:100%;object-fit:contain}
.cc-item-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
.cc-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s2)}
.cc-item-name{font-size:var(--t-s);color:var(--ink);font-weight:500;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-item-del{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--ink-3);border-radius:var(--r1);transition:color var(--tr),background var(--tr)}
.cc-item-del:hover{color:#D64545;background:#FBEDED}
.cc-item-del svg{width:13px;height:13px}
.cc-item-one{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.cc-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:2px}
/* степпер количества */
.cc-qty{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r1);overflow:hidden}
.cc-qty .form-group{margin:0}
.cc-qty .help-block,.cc-qty .help-block-error{display:none!important;min-height:0!important;margin:0!important}
.cc-qty-btn{width:30px;height:32px;border:0;padding:0;background:var(--bg);cursor:pointer;color:var(--ink-2);
  font-family:var(--mono);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background var(--tr),color var(--tr)}
.cc-qty-btn:hover{background:var(--accent-tint);color:var(--accent)}
.cc-checkout .cart-quality-watch{width:40px;height:32px;border:0;border-left:1px solid var(--line);
  border-right:1px solid var(--line);border-radius:0;text-align:center;padding:0;margin:0;background:var(--bg);
  font-family:var(--mono);font-size:var(--t-s);color:var(--ink);-moz-appearance:textfield;box-shadow:none}
.cc-checkout .cart-quality-watch:focus{outline:none;background:var(--accent-tint)}
.cc-checkout .cart-quality-watch::-webkit-outer-spin-button,
.cc-checkout .cart-quality-watch::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cc-item-sum{font-family:var(--mono);font-weight:600;font-size:var(--t-s);color:var(--ink);
  white-space:nowrap;font-variant-numeric:tabular-nums}

/* итоги */
.cc-totals{display:flex;flex-direction:column;gap:var(--s2);border-top:1px solid var(--line);padding-top:var(--s4)}
.cc-total-row{display:flex;align-items:baseline;justify-content:space-between;font-size:var(--t-s);color:var(--ink-2)}
.cc-num{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-grand{display:flex;align-items:baseline;justify-content:space-between;border-top:1px dashed var(--ink-3);padding-top:var(--s4)}
.cc-grand-lbl{font-weight:700;font-size:var(--t-base)}
.cc-grand-num{font-family:var(--mono);font-weight:700;font-size:var(--t-xl);letter-spacing:-.01em;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap}

/* кнопка + оферта */
.cc-checkout .block-btn-cart-watch{margin:0}
.cc-checkout .cc-submit{display:block;width:100%;text-align:center;border:0;cursor:pointer;
  height:56px;border-radius:var(--r2);background:var(--accent);color:#fff;font-family:var(--sans);
  font-weight:700;font-size:var(--t-base);letter-spacing:.01em;
  transition:filter var(--tr),transform var(--tr),box-shadow var(--tr)}
.cc-checkout .cc-submit:hover{filter:brightness(1.07);box-shadow:0 8px 22px rgba(37,57,127,.28)}
.cc-checkout .cc-submit:active{transform:translateY(1px)}
.cc-oferta{font-size:var(--t-xs);color:var(--ink-3);line-height:1.5}
.cc-oferta a{color:var(--accent)}

/* доверие под карточкой */
.cc-trust{display:flex;flex-direction:column;gap:10px;border:1px dashed var(--line);border-radius:var(--r2);
  padding:var(--s4) var(--s5)}
.cc-trust-row{display:flex;align-items:center;gap:10px;font-size:var(--t-xs);color:var(--ink-2)}
.cc-trust-row svg{flex:0 0 auto;width:16px;height:16px;color:var(--accent)}

/* ---------- мобильная CTA-панель ---------- */
.cc-mbar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;align-items:center;gap:var(--s4);
  background:var(--bg);border-top:1px solid var(--line);
  padding:10px var(--s4) calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 26px rgba(16,20,24,.09);transform:translateY(0);transition:transform .25s ease}
.cc-mbar.is-off{transform:translateY(120%)}
.cc-mbar-total{display:flex;flex-direction:column;gap:1px;min-width:0}
.cc-mbar-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}
.cc-mbar-sum{font-family:var(--mono);font-weight:700;font-size:var(--t-m);color:var(--ink);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.cc-mbar-btn{flex:1 1 auto;height:48px;border:0;border-radius:var(--r2);background:var(--accent);color:#fff;
  font-family:var(--sans);font-weight:700;font-size:var(--t-s);cursor:pointer}

/* ---------- пустая корзина ---------- */
.cc-empty{display:flex;flex-direction:column;align-items:center;gap:var(--s4);text-align:center;
  padding:var(--s20) var(--s4)}
.cc-empty-kicker{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.cc-empty-title{font-size:var(--t-xl);font-weight:700;letter-spacing:-.01em}
.cc-empty-text{color:var(--ink-2);max-width:44ch;line-height:1.5}
.cc-empty-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--s8);
  margin-top:var(--s2);border-radius:var(--r2);background:var(--accent);color:#fff;font-weight:600;
  text-decoration:none;transition:filter var(--tr)}
.cc-empty-btn:hover{filter:brightness(1.07)}

/* ---------- модалка «Подождите» ---------- */
#pause.light-modal-txt-watch{position:fixed;inset:0;z-index:300;display:none;background:rgba(16,20,24,.45)}
#pause.light-modal-txt-watch .modal-txt-watch{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
#pause .win-txt-watch{background:var(--bg);border-radius:var(--r2);padding:var(--s5) var(--s8);font-weight:600;color:var(--ink)}

/* ---------- адаптив ---------- */
@media (max-width:1120px){
  .cc-checkout{grid-template-columns:minmax(0,1fr) 356px;gap:var(--s5) var(--s6)}
}
@media (max-width:980px){
  .cc-checkout{grid-template-columns:minmax(0,1fr)}
  .cc-summary{position:static}
  .cc-items{max-height:none;overflow:visible}
  .cc-mbar{display:flex}
  .cc-checkout-section{padding-bottom:calc(var(--s20) + 64px)}
}
@media (max-width:640px){
  .cc-head{margin-bottom:var(--s6)}
  .cc-step-head{padding:var(--s4)}
  .cc-step-head h2{font-size:var(--t-m)}
  .cc-step-body{padding:var(--s4)}
  .cc-fields-2{grid-template-columns:1fr}
  .cc-checkout .map-watch,.cc-checkout .pvz-all-watch{height:300px;max-height:300px}
  .cc-dprice{font-size:var(--t-base)}
  .cc-summary-card{padding:var(--s5)}
}
@media (max-width:420px){
  .cc-dicon{display:none}
  .cc-payicon{display:none}
}
