/* Страница заказа (/shiny/zakaz/…) и личный кабинет (/kabinet/). Светлые, как каталог. */
.cab-wrap { max-width: 760px; }
.cab h1 { font-family: Montserrat, sans-serif; font-size: clamp(24px, 3.4vw, 32px); margin: 6px 0 16px; color: #16181c; }
.cab h2 { font-family: Montserrat, sans-serif; font-size: 18px; margin: 0 0 12px; color: #16181c; }
.cab a { color: #e3002d; }
.cab-card { background: #fff; border: 1px solid #e3e5e8; border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; color: #23262b; }
.cab-ok { display: flex; gap: 12px; align-items: flex-start; background: #eaf8ef; border: 1px solid #b8e6c8; border-radius: 12px;
          padding: 14px 16px; margin: 4px 0 14px; color: #1d3b28; font-size: 15px; line-height: 1.5; }
.cab-ok i { color: #1e9e58; font-size: 22px; margin-top: 1px; }
.cab-ok b { display: block; font-size: 17px; margin-bottom: 2px; }

.cab-order { display: flex; gap: 14px; align-items: center; }
.cab-order img { width: 84px; height: 84px; object-fit: contain; flex: none; }
.cab-order .nm { font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.cab-order .mt { font-size: 14px; color: #555a62; line-height: 1.55; }
.cab-order .mt b { color: #16181c; }
.cab-cancel { background: #fff4f6; border-color: #ffd4dd; }

.cab-steps { list-style: none; margin: 0 0 14px; padding: 16px 18px; background: #fff; border: 1px solid #e3e5e8; border-radius: 12px; }
.cab-steps li { display: flex; gap: 12px; align-items: flex-start; position: relative; padding-bottom: 16px; color: #8b8f96; }
.cab-steps li:last-child { padding-bottom: 0; }
.cab-steps li:not(:last-child)::before { content: ''; position: absolute; left: 13px; top: 28px; bottom: 2px; width: 2px; background: #e3e5e8; }
.cab-steps li.done:not(:last-child)::before { background: #1e9e58; }
.cab-steps .dot { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #d4d7dc; background: #fff; display: flex;
                  align-items: center; justify-content: center; font-size: 13px; font-weight: 700; position: relative; z-index: 1; }
.cab-steps li.done .dot { background: #1e9e58; border-color: #1e9e58; color: #fff; }
.cab-steps li.now .dot { border-color: #e3002d; color: #e3002d; box-shadow: 0 0 0 4px rgba(227, 0, 45, .12); }
.cab-steps .tx { padding-top: 3px; font-size: 15px; }
.cab-steps li.done .tx, .cab-steps li.now .tx { color: #16181c; }
.cab-steps .tx small { display: block; font-size: 13.5px; color: #555a62; margin-top: 3px; line-height: 1.45; }

.cab-max { display: flex; align-items: center; gap: 14px; text-decoration: none; border-radius: 12px; padding: 14px 16px;
           background: linear-gradient(135deg, #3f37c9, #7b3fe4); color: #fff !important; }
.cab-max .lg { flex: none; width: 46px; height: 46px; border-radius: 12px; background: #fff; color: #4b36d6; font: 800 13px/46px Montserrat, sans-serif; text-align: center; }
.cab-max b { display: block; font-size: 17px; }
.cab-max small { display: block; font-size: 13px; opacity: .9; line-height: 1.4; margin-top: 2px; }
.cab-max > i { margin-left: auto; }
.cab-tg { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; font-size: 14.5px; text-decoration: none; color: #229ed9 !important; font-weight: 600; }
.cab-tg i { font-size: 18px; }
.cab-mail { margin-top: 16px; background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.cab-mail label { display: block; font-size: 13px; color: #8b8f96; margin-bottom: 6px; }
.cab-mail div { display: flex; gap: 8px; }
.cab-mail input { flex: 1; min-width: 0; height: 44px; border: 1px solid #dcdfe3; border-radius: 8px; padding: 0 12px; font-size: 16px; color: #16181c; background: #fff; }
.cab-mail button { height: 44px; border: 0; border-radius: 8px; padding: 0 16px; background: #16181c; color: #fff; font-weight: 700; cursor: pointer; }
.cab-mail .err { color: #e3002d; font-size: 13.5px; margin: 6px 0 0; }
.cab-on { font-size: 15px; color: #1d3b28; }
.cab-on i { color: #1e9e58; margin-right: 6px; }
.cab-note { font-size: 13px; color: #8b8f96; margin: 12px 0 0; }
.cab-pick p { margin: 0; font-size: 14.5px; line-height: 1.6; }
.cab-pick .cab-promo { margin-top: 8px; color: #16181c; }
.cab-promo i { color: #e3002d; margin-right: 6px; }
.cab-more { font-size: 14.5px; color: #555a62; margin: 6px 0 30px; }

/* ---- Кабинет ---- */
.cab-login { max-width: 460px; }
.cab-login form { background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; margin: 0; }
.cab-login input { width: 100%; box-sizing: border-box; height: 48px; border: 1px solid #dcdfe3; border-radius: 8px; padding: 0 14px; font-size: 17px; color: #16181c; background: #fff; }
.cab-btn { display: block; width: 100%; height: 48px; border: 0; border-radius: 8px; background: #e3002d; color: #fff; font-weight: 700; font-size: 16px; cursor: pointer; margin-top: 10px; }
.cab-btn.dark { background: #16181c; }
.cab-or { display: flex; align-items: center; gap: 10px; color: #8b8f96; font-size: 13px; margin: 18px 0; }
.cab-or::before, .cab-or::after { content: ''; flex: 1; height: 1px; background: #e3e5e8; }
.cab-err { color: #e3002d; font-size: 14px; margin: 8px 0 0; }
.cab-wait { font-size: 14.5px; color: #555a62; line-height: 1.55; }

.cab-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.cab-head h1 { margin: 0; }
.cab-head a { font-size: 14px; color: #8b8f96 !important; }
.cab-hi { color: #555a62; margin: 0 0 16px; font-size: 15px; }
.cab-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.cab-tile { background: #fff; border: 1px solid #e3e5e8; border-radius: 12px; padding: 14px; text-decoration: none; color: #23262b !important; }
.cab-tile .k { font-size: 12.5px; color: #8b8f96; }
.cab-tile .v { font: 800 24px/1.2 Montserrat, sans-serif; color: #16181c; margin-top: 4px; }
.cab-tile .s { font-size: 12px; color: #8b8f96; margin-top: 2px; }
.cab-tile.pts .v { color: #e3002d; }
.cab-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 0 0 12px; padding-bottom: 2px; }
.cab-tabs a { flex: none; padding: 9px 14px; border-radius: 20px; border: 1px solid #dcdfe3; background: #fff; color: #23262b !important; text-decoration: none; font-size: 14px; }
.cab-tabs a.on { background: #16181c; border-color: #16181c; color: #fff !important; }
.cab-list .it { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eef0f2; font-size: 14.5px; line-height: 1.5; }
.cab-list .it:last-child { border-bottom: 0; padding-bottom: 0; }
.cab-list .it:first-child { padding-top: 0; }
.cab-list .it img { width: 56px; height: 56px; object-fit: contain; flex: none; }
.cab-list .it .r { margin-left: auto; text-align: right; white-space: nowrap; font-weight: 700; color: #16181c; }
.cab-list .it .g { color: #8b8f96; font-size: 13px; }
.cab-list .pl { color: #1e9e58; } .cab-list .mn { color: #e3002d; }
.cab-st { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 6px; background: #f1f2f4; color: #23262b; }
.cab-st.arrived { background: #fff3d6; color: #8a5a00; } .cab-st.done { background: #eaf8ef; color: #1d6b3d; } .cab-st.new, .cab-st.ordered { background: #e8f1fd; color: #1f5fa8; }
.cab-empty { color: #8b8f96; font-size: 14.5px; }
.cab-bot { display: flex; gap: 10px; align-items: center; font-size: 14.5px; }
@media (max-width: 520px) {
    .cab-tiles { grid-template-columns: 1fr 1fr; }
    .cab-tile .v { font-size: 21px; }
    .cab-order img { width: 64px; height: 64px; }
}

/* Вход / регистрация */
.cab-mode { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e6e8eb; margin: -4px 0 16px; }
.cab-mode a { text-align: center; padding: 10px 6px 12px; font-weight: 700; font-size: 15.5px; color: #555a62 !important; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.cab-mode a.on { color: #16181c !important; border-bottom-color: #e3002d; }
.cab-via { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 10px 0 8px; font-size: 14.5px; color: #555a62; }
.cab-via label { display: inline-flex; gap: 6px; align-items: center; color: #16181c; cursor: pointer; }
.cab-via input { width: 18px !important; height: 18px !important; accent-color: #e3002d; margin: 0; }
.cab-login input[type=email] { margin-top: 2px; }

/* Хранение — карточки как бирка комплекта */
.cab-sets { display: grid; gap: 12px; }
.cab-set { border: 1px solid #e3e5e8; border-radius: 12px; padding: 14px 16px; background: #fff; }
.cab-set.late { border-color: #ffc2cf; background: #fffafb; }
.cab-set-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.cab-set .num { font: 800 30px/1 Montserrat, sans-serif; color: #16181c; }
.cab-set .num small { display: block; font: 600 11.5px/1.2 Inter, 'Segoe UI', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #8b8f96; margin-bottom: 4px; }
.cab-st.late { background: #ffe3e9; color: #b0002a; }
.cab-set-tyre { display: flex; gap: 12px; align-items: center; margin: 14px 0 10px; }
.cab-set-tyre > i { width: 42px; height: 42px; border-radius: 50%; background: #f1f2f4; display: flex; align-items: center; justify-content: center; font-size: 19px; flex: none; }
.cab-set-tyre i.w { color: #1e9bf0; } .cab-set-tyre i.s { color: #f5a524; } .cab-set-tyre i.a { color: #7c5cff; }
.cab-set-tyre b { display: block; font-size: 16px; color: #16181c; }
.cab-set-tyre span { font-size: 13.5px; color: #555a62; }
.cab-set dl { display: grid; grid-template-columns: auto 1fr; gap: 5px 14px; margin: 0; font-size: 14px; }
.cab-set dt { color: #8b8f96; }
.cab-set dd { margin: 0; color: #16181c; }
.cab-set dd.pl { color: #1e9e58; } .cab-set dd.mn { color: #e3002d; font-weight: 700; }
.cab-set-warn { margin: 10px 0 0; font-size: 13.5px; color: #b0002a; }
.cab-set-act { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.cab-set-act a { flex: 1 1 auto; text-align: center; padding: 10px 12px; border-radius: 8px; border: 1px solid #dcdfe3; text-decoration: none; font-size: 14px; font-weight: 600; color: #16181c !important; }
.cab-set-act a.pri { background: #e3002d; border-color: #e3002d; color: #fff !important; }
/* ============ Тёмная тема (по умолчанию на сайте) ============
   Всё выше — светлая версия; здесь те же блоки в палитре сайта:
   фон #0a0a0a, карточки #151515, тонкие светлые рамки, красный #ff003c. */
html[data-theme="dark"] .cab h1, html[data-theme="dark"] .cab h2 { color: #f0f0f0; }
html[data-theme="dark"] .cab a { color: #ff5c7f; }
html[data-theme="dark"] .cab-card, html[data-theme="dark"] .cab-steps, html[data-theme="dark"] .cab-tile, html[data-theme="dark"] .cab-set {
  background: #151515; border-color: rgba(255,255,255,.09); color: #e6e6e6; }
html[data-theme="dark"] .cab-ok { background: rgba(33,194,107,.1); border-color: rgba(33,194,107,.35); color: #d4f5e2; }
html[data-theme="dark"] .cab-cancel, html[data-theme="dark"] .cab-set.late { background: rgba(255,0,60,.08); border-color: rgba(255,0,60,.35); }
html[data-theme="dark"] .cab-order .nm, html[data-theme="dark"] .cab-order .mt b, html[data-theme="dark"] .cab-list .it .r,
html[data-theme="dark"] .cab-tile .v, html[data-theme="dark"] .cab-set .num, html[data-theme="dark"] .cab-set-tyre b, html[data-theme="dark"] .cab-set dd,
html[data-theme="dark"] .cab-steps li.done .tx, html[data-theme="dark"] .cab-steps li.now .tx, html[data-theme="dark"] .cab-via label { color: #f0f0f0; }
html[data-theme="dark"] .cab-order .mt, html[data-theme="dark"] .cab-steps .tx small, html[data-theme="dark"] .cab-hi, html[data-theme="dark"] .cab-more,
html[data-theme="dark"] .cab-pick p, html[data-theme="dark"] .cab-wait, html[data-theme="dark"] .cab-set-tyre span, html[data-theme="dark"] .cab-via { color: #b5b5b5; }
html[data-theme="dark"] .cab-note, html[data-theme="dark"] .cab-list .it .g, html[data-theme="dark"] .cab-tile .k, html[data-theme="dark"] .cab-tile .s,
html[data-theme="dark"] .cab-set dt, html[data-theme="dark"] .cab-set .num small, html[data-theme="dark"] .cab-steps li, html[data-theme="dark"] .cab-empty,
html[data-theme="dark"] .cab-mail label, html[data-theme="dark"] .cab-or { color: #8f8f8f; }
html[data-theme="dark"] .cab-steps li:not(:last-child)::before { background: rgba(255,255,255,.12); }
html[data-theme="dark"] .cab-steps .dot { background: #151515; border-color: rgba(255,255,255,.2); }
html[data-theme="dark"] .cab-steps li.now .dot { border-color: #ff003c; color: #ff5c7f; box-shadow: 0 0 0 4px rgba(255,0,60,.18); }
html[data-theme="dark"] .cab-list .it { border-bottom-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .cab-or::before, html[data-theme="dark"] .cab-or::after, html[data-theme="dark"] .cab-mode { background: none; border-color: rgba(255,255,255,.1); }
html[data-theme="dark"] .cab-or::before, html[data-theme="dark"] .cab-or::after { background: rgba(255,255,255,.1); }
html[data-theme="dark"] .cab-mode a { color: #9a9a9a !important; }
html[data-theme="dark"] .cab-mode a.on { color: #f0f0f0 !important; border-bottom-color: #ff003c; }
html[data-theme="dark"] .cab-mail input, html[data-theme="dark"] .cab-login input {
  background: #0f0f0f; border-color: rgba(255,255,255,.14); color: #f0f0f0; }
html[data-theme="dark"] .cab-mail button, html[data-theme="dark"] .cab-btn.dark { background: #f0f0f0; color: #0a0a0a; }
html[data-theme="dark"] .cab-btn { background: #ff003c; }
html[data-theme="dark"] .cab-tabs a { background: #151515; border-color: rgba(255,255,255,.12); color: #d6d6d6 !important; }
html[data-theme="dark"] .cab-tabs a.on { background: #ff003c; border-color: #ff003c; color: #fff !important; }
html[data-theme="dark"] .cab-tile.pts .v { color: #ff5c7f; }
html[data-theme="dark"] .cab-st { background: rgba(255,255,255,.08); color: #e6e6e6; }
html[data-theme="dark"] .cab-st.arrived { background: rgba(255,176,32,.16); color: #ffc75a; }
html[data-theme="dark"] .cab-st.done { background: rgba(33,194,107,.16); color: #5fe09a; }
html[data-theme="dark"] .cab-st.new, html[data-theme="dark"] .cab-st.packing, html[data-theme="dark"] .cab-st.transit, html[data-theme="dark"] .cab-st.ordered { background: rgba(77,171,247,.16); color: #7cc3ff; }
html[data-theme="dark"] .cab-st.late { background: rgba(255,0,60,.16); color: #ff7a93; }
html[data-theme="dark"] .cab-set-tyre > i { background: rgba(255,255,255,.06); }
html[data-theme="dark"] .cab-set dd.pl, html[data-theme="dark"] .cab-list .pl, html[data-theme="dark"] .cab-on { color: #5fe09a; }
html[data-theme="dark"] .cab-set dd.mn, html[data-theme="dark"] .cab-list .mn, html[data-theme="dark"] .cab-set-warn, html[data-theme="dark"] .cab-err { color: #ff7a93; }
html[data-theme="dark"] .cab-set-act a { border-color: rgba(255,255,255,.16); color: #f0f0f0 !important; }
html[data-theme="dark"] .cab-set-act a.pri { background: #ff003c; border-color: #ff003c; color: #fff !important; }
html[data-theme="dark"] .cab-pick .cab-promo, html[data-theme="dark"] .cab-head a { color: #d6d6d6 !important; }
html[data-theme="dark"] .cab-tg { color: #4cb9f0 !important; }
html[data-theme="dark"] .cab-order img, html[data-theme="dark"] .cab-list .it img { background: #fff; border-radius: 8px; }
/* Шаги «собирается» и «в пути» — как «принят» (светлая тема) */
.cab-st.packing, .cab-st.transit { background: #e8f1fd; color: #1f5fa8; }
