/* Примерная стоимость доставки (28.09.2026): блоки [data-sk-delivery], скрипт /js/sk-delivery.js */
.skd { margin: 18px 0; padding: 16px 18px; background: #fffdf8; border: 1px solid #e7dfcc; border-radius: 16px; color: var(--navy-800, #1b2f5c); font-size: 0.95rem; line-height: 1.45; }
.skd-h, .skd-det > summary { display: flex; align-items: center; gap: 10px; font-family: var(--font-head, Georgia, serif); font-size: 1.12rem; color: var(--navy-800, #1b2f5c); }
.skd-h svg, .skd-det > summary svg { flex: 0 0 26px; width: 26px; height: 26px; fill: none; stroke: var(--gold-500, #c8a04b); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.skd-h b, .skd-det > summary b { font-weight: 600; }
.skd-det > summary { cursor: pointer; list-style: none; }
.skd-det > summary::-webkit-details-marker { display: none; }
.skd-det > summary::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--gold-500, #c8a04b); border-bottom: 2px solid var(--gold-500, #c8a04b); transform: rotate(45deg); transition: transform .2s ease; }
.skd-det[open] > summary::after { transform: rotate(-135deg); }
.skd-det[open] > summary { margin-bottom: 4px; }
.skd-f { margin-top: 12px; }
.skd-lbl { display: block; font-size: 0.8rem; color: var(--muted, #6b7488); margin-bottom: 5px; }
.skd-in { display: flex; gap: 8px; }
.skd-in input { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #d9d0bb; border-radius: 12px; font: inherit; font-size: 1rem; letter-spacing: 0.06em; color: var(--navy-800, #1b2f5c); background: #fff; }
.skd-in input:focus { outline: none; border-color: var(--gold-500, #c8a04b); box-shadow: 0 0 0 3px rgba(200, 160, 75, 0.2); }
.skd-in button, .skd-chat { flex: 0 0 auto; height: 44px; padding: 0 18px; border: 0; border-radius: 12px; background: var(--navy-800, #1b2f5c); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.skd-in button:hover, .skd-chat:hover { background: var(--navy-900, #14264f); }
.skd-chat { height: 36px; padding: 0 14px; font-size: 0.85rem; background: #fff; color: var(--navy-800, #1b2f5c); border: 1px solid #d9d0bb; }
.skd-chat:hover { background: #faf6ee; }
.skd-in--city { position: relative; display: block; }
.skd-in--city input { width: 100%; padding-left: 42px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8a04b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 1 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") no-repeat 13px 50% / 19px 19px; letter-spacing: 0; }
.skd-idx { display: inline-block; margin-top: 6px; font-size: 0.8rem; color: var(--muted, #6b7488); }
.skd-res { margin-top: 10px; }
.skd-where { margin: 0 0 6px; font-size: 0.82rem; color: var(--muted, #6b7488); }
.skd-list { list-style: none; margin: 0; padding: 0; }
.skd-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #efe7d4; }
.skd-row:first-child { border-top: 0; }
.skd-dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: #c8a04b; }
.skd-pochta .skd-dot { background: #0055a6; }
.skd-cdek .skd-dot { background: #1ab248; }
.skd-yandex .skd-dot { background: #fc3f1d; }
.skd-ask .skd-dot { background: #d6cbb0; }
.skd-name { flex: 1 1 auto; min-width: 0; }
.skd-name b { font-weight: 600; }
.skd-name small { display: block; font-size: 0.8rem; color: var(--muted, #6b7488); }
.skd-price { flex: 0 0 auto; font-weight: 700; white-space: nowrap; color: var(--navy-900, #14264f); }
.skd-note { margin: 12px 0 0; padding: 10px 12px; background: #faf6ee; border-radius: 10px; font-size: 0.84rem; color: #3a4666; }
.skd-note b { color: var(--navy-800, #1b2f5c); }
.skd-wait, .skd-err { margin: 6px 0 0; font-size: 0.88rem; color: var(--muted, #6b7488); }
.skd-err { color: #a12a20; }
.skd.is-loading .skd-wait::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 8px; vertical-align: -1px; border-radius: 50%; border: 2px solid rgba(200, 160, 75, 0.3); border-top-color: #c8a04b; animation: skd-spin .8s linear infinite; }
@keyframes skd-spin { to { transform: rotate(360deg); } }
@media (max-width: 480px) { .skd { padding: 14px; } .skd-in button { padding: 0 14px; } }

/* ---------- Шаг «Адрес» (28.09.2026): карточки «Получатель» / «Куда доставить», адрес с подсказками ---------- */
.skco.address_block { max-width: none; }
.skco-card { margin: 0 0 18px; padding: 20px 22px 22px; background: #fffdf8; border: 1px solid #e7dfcc; border-radius: 18px; }
.skco-h { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-family: var(--font-head, Georgia, serif); font-size: 1.35rem; font-weight: 600; color: var(--navy-800, #1b2f5c); }
.skco-n { flex: 0 0 30px; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, #e8cf8a, #c8a04b); color: var(--navy-900, #14264f); font: 700 0.95rem/1 var(--font-body, Inter, Arial, sans-serif); }
.skco-sub { margin: -6px 0 14px; font-size: 0.9rem; color: var(--muted, #6b7488); }
.skco-grid { display: grid; grid-template-columns: 1fr; gap: 2px 18px; }
@media (min-width: 640px) { .skco-grid { grid-template-columns: 1fr 1fr; } .skco-f--street { grid-column: 1 / -1; } }
.skco .control-group { margin: 0 0 12px; }
.skco .control-label label { font-weight: 600; font-size: 0.88rem; color: var(--navy-800, #1b2f5c); }
.skco .control-label label span { color: #c8a04b; }
.skco-fh { display: block; margin-top: 5px; font-size: 0.8rem; color: var(--muted, #6b7488); }
.skco-fh a { color: inherit; }
/* адрес одной строкой */
.skco-addr { margin-bottom: 6px; }
.skco-addr > label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 0.88rem; color: var(--navy-800, #1b2f5c); }
.skco-addr > label span { color: #c8a04b; }
.skco-addr-box { position: relative; }
#comjshop .skco .skco-addr-box input.form-control, .skco-addr-box input { height: 50px; padding-left: 44px !important; font-size: 1rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8a04b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 1 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") no-repeat 14px 50% / 20px 20px; }
.skco-addr.is-error .skco-addr-box input { border-color: #d9534f; box-shadow: 0 0 0 3px rgba(217, 83, 79, 0.15); }
.skco-addr.is-error [data-skco-msg] { color: #a12a20; }
.skco-list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid #e7dfcc; border-radius: 14px; box-shadow: 0 14px 34px rgba(20, 38, 79, 0.16); max-height: 320px; overflow: auto; }
.skco-list li { padding: 10px 12px; border-radius: 10px; cursor: pointer; font-size: 0.93rem; line-height: 1.35; color: var(--navy-800, #1b2f5c); }
.skco-list li small { display: block; margin-top: 2px; font-size: 0.78rem; color: #b08a37; }
.skco-list li:hover, .skco-list li.is-active { background: #faf6ee; }
.skco-picked { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 8px 0 0; padding: 8px 12px; background: #f3f7ef; border: 1px solid #d8e6cf; border-radius: 10px; font-size: 0.86rem; color: #2e4f22; }
.skco-picked button, .skco-manual { padding: 0; border: 0; background: none; font: inherit; font-size: 0.85rem; color: var(--navy-800, #1b2f5c); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.skco-manual { margin: 4px 0 2px; }
/* поля адреса: при подсказках свёрнуты, раскрываются кнопкой или если адрес не выбран */
.skco-parts.is-auto { display: none; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e7dfcc; }
.skco-parts.is-auto.is-open { display: grid; }
.skco-card .skd { margin: 16px 0 0; background: #fff; }
.skco .box_button .controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.skco .requiredtext { font-size: 0.8rem; color: var(--muted, #6b7488); }
@media (max-width: 480px) { .skco-card { padding: 16px 14px 18px; border-radius: 16px; } .skco-h { font-size: 1.2rem; } }

/* ---------- Шаги оформления «Адрес - Способ оплаты - Подтвердить заказ» (28.09.2026) ----------
   Раньше высота «таблетки» зависела от длины надписи и ширины экрана (одна в 1 строку, другая в 2) -
   теперь сетка из равных ячеек: одинаковая ширина и высота у всех шагов на любом экране. */
#jshop_menu_order { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; flex-wrap: nowrap; align-items: stretch; }
#jshop_menu_order .jshop_order_step { display: flex !important; min-width: 0 !important; }
#jshop_menu_order .jshop_order_step > span { flex: 1 1 auto; min-height: 54px; padding: 8px 14px; line-height: 1.2; text-wrap: balance; }
@media (max-width: 640px) {
  #jshop_menu_order { gap: 6px; }
  #jshop_menu_order .jshop_order_step > span { flex-direction: column; justify-content: center; gap: 5px; min-height: 68px; padding: 8px 4px; font-size: 0.76rem; text-align: center; border-radius: 16px; }
  #jshop_menu_order .jshop_order_step > span::before { flex: 0 0 24px; width: 24px; height: 24px; font-size: 0.75rem; }
}

/* ---------- Пустая корзина (28.09.2026) ---------- */
.sk-cart-empty { max-width: 620px; margin: 24px auto 40px; padding: 36px 28px 32px; text-align: center; background: #fffdf8; border: 1px solid #e7dfcc; border-radius: 22px; color: var(--navy-800, #1b2f5c); }
.sk-cart-empty-ico { width: 68px; height: 68px; margin: 0 auto 12px; display: block; fill: none; stroke: var(--gold-500, #c8a04b); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sk-cart-empty h2 { margin: 0 0 10px; font-family: var(--font-head, Georgia, serif); font-size: 1.7rem; font-weight: 600; color: var(--navy-800, #1b2f5c); }
.sk-cart-empty p { margin: 0 auto 22px; max-width: 470px; font-size: 1rem; line-height: 1.55; color: #3a4666; }
.sk-cart-empty-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.sk-cart-empty-btns .btn { min-width: 200px; }
@media (max-width: 480px) { .sk-cart-empty { padding: 28px 18px 24px; border-radius: 18px; } .sk-cart-empty h2 { font-size: 1.4rem; } .sk-cart-empty-btns .btn { flex: 1 1 100%; } }
/* Самовывоз для Ростова-на-Дону и области (29.09.2026) */
.skd-pickup { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 12px; padding: 12px 14px; border: 1px solid rgba(200, 160, 75, 0.55); border-radius: 14px; background: linear-gradient(135deg, rgba(232, 207, 138, 0.28), rgba(255, 253, 248, 0.9)); }
.skd-pickup svg { flex: 0 0 24px; width: 24px; height: 24px; margin-top: 1px; fill: none; stroke: var(--gold-600, #a8822f); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.skd-pickup p { margin: 0; font-size: 0.9rem; line-height: 1.45; color: #3a4666; }
.skd-pickup b { color: var(--navy-800, #1b2f5c); }
