/* Удобный интернет-магазин */

/* Виджет */
.vit-pb-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:12px; width:100%; }
.vit-layout-above { flex-direction:column; align-items:flex-start; }
.vit-layout-below { flex-direction:column-reverse; align-items:flex-start; }
.vit-layout-left  { flex-direction:row; }
.vit-layout-right { flex-direction:row-reverse; }
.vit-price { display:inline-block; line-height:1.2; }
.vit-btn {
    display:inline-flex; align-items:center; gap:6px;
    cursor:pointer; border:none; outline:none; font-family:inherit;
    line-height:1; white-space:nowrap; text-decoration:none;
    transition:background-color .2s, filter .2s, transform .1s;
}
.vit-btn:hover  { filter:brightness(1.1); }
.vit-btn:active { transform:scale(.97); }
.vit-btn.vit-added { opacity:.8; cursor:default; }
.vit-qty-field::-webkit-outer-spin-button,
.vit-qty-field::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* Toast */
.vit-toast {
    display:none; position:fixed; bottom:24px; right:24px;
    background:#2c2c2c; color:#fff; padding:14px 20px; border-radius:8px;
    box-shadow:0 4px 20px rgba(0,0,0,.3); z-index:99999;
    font-size:15px; max-width:320px; flex-direction:column; gap:8px;
    animation:vitFadeIn .3s ease;
}
.vit-toast.show { display:flex; }
.vit-toast-link { color:#7ec8e3; font-size:13px; }
.vit-toast-link:hover { color:#fff; }
@keyframes vitFadeIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }

/* Иконка корзины в хедере */
.vit-hcart-link {
    display:inline-flex; align-items:center; gap:6px;
    text-decoration:none; transition:color .2s;
}
.vit-hcart-link:hover { text-decoration:none; }
.vit-hcart-icon-wrap { position:relative; display:inline-flex; align-items:center; }
.vit-cart-count {
    position:absolute; top:-8px; right:-10px;
    background:#e84f3c; color:#fff; border-radius:50%;
    min-width:18px; height:18px; font-size:11px; font-weight:700;
    display:inline-flex; align-items:center; justify-content:center;
    padding:0 3px; pointer-events:none;
}
.vit-hcart-total { font-weight:600; white-space:nowrap; }

/* Страница корзины */
.vit-cart-page { max-width:860px; width:100%; }
.vit-cart-empty {
    padding:60px 0; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center; width:100%;
}
.vit-back-btn {
    display:inline-block !important; margin-top:16px; padding:16px 48px;
    background:#009688 !important; color:#fff !important; border-radius:6px;
    text-decoration:none !important; font-size:18px; font-weight:600; transition:background .2s;
}
.vit-back-btn:hover { background:#00796b !important; color:#fff !important; }

.vit-cart-table { width:100%; border-collapse:collapse; margin-bottom:32px; }
.vit-cart-table th, .vit-cart-table td { padding:12px 10px; border-bottom:1px solid #eee; vertical-align:middle; text-align:left; }
.vit-cart-table thead th { background:#f7f7f7; font-weight:600; }
.vit-cart-table tfoot td { background:#f7f7f7; }

.vit-qty-wrap { display:flex; align-items:center; gap:4px; }
.vit-qty-btn {
    width:30px !important; height:30px !important; background:#6DBF40 !important; border:none !important; color:#fff !important;
    border-radius:4px !important; cursor:pointer !important; font-size:18px !important; font-weight:700 !important;
    display:flex !important; align-items:center !important; justify-content:center !important; transition:background .15s;
}
.vit-qty-btn:hover { background:#5aaa30 !important; }
.vit-qty-input { width:52px; text-align:center; border:1px solid #ddd; border-radius:4px; padding:4px; font-size:15px; }
.vit-remove-btn { background:none; border:none; color:#c0392b; cursor:pointer; font-size:18px; padding:4px 8px; border-radius:4px; }
.vit-remove-btn:hover { background:#fdecea; }

/* Форма заказа */
.vit-order-form {
    background:#f9f9f9; border:1px solid #eee; border-radius:8px;
    padding:28px 32px; max-width:560px; margin-top:24px;
}
.vit-order-form h3 { margin-top:0; }
.vit-order-note { color:#666; font-size:14px; margin-bottom:20px; }
.vit-form-row { margin-bottom:16px; }
.vit-form-row label { display:block; font-weight:600; margin-bottom:5px; font-size:14px; }
.vit-form-row input, .vit-form-row textarea {
    width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:6px;
    font-size:15px; font-family:inherit; box-sizing:border-box; transition:border-color .15s;
}
.vit-form-row input:focus, .vit-form-row textarea:focus { border-color:#009688; outline:none; }
.req { color:#e84f3c; }

.vit-submit-btn {
    background:#009688 !important; color:#fff !important; border:none !important; border-radius:6px !important;
    padding:16px 48px !important; font-size:18px !important; font-weight:600 !important; cursor:pointer !important;
    transition:background .2s; font-family:inherit;
}
.vit-submit-btn:hover    { background:#00796b !important; }
.vit-submit-btn:disabled { background:#aaa !important; cursor:default; }

.vit-order-result { margin-top:16px; padding:12px 16px; border-radius:6px; display:none; font-weight:500; }
.vit-order-result.success { background:#eafaf1; color:#1e8449; border:1px solid #a9dfbf; display:block; }
.vit-order-result.error   { background:#fdecea; color:#c0392b; border:1px solid #f5b7b1; display:block; }

@media (max-width:600px) {
    .vit-cart-table th:nth-child(2), .vit-cart-table td:nth-child(2) { display:none; }
    .vit-order-form { padding:20px 16px; }
    .vit-toast { left:12px; right:12px; bottom:12px; }
}
