/* ═══════════════════════════════════════════════════════════════════
   Yarovoy Variations — front.css
   !important используется для перебивания Elementor-дефолтов
   ═══════════════════════════════════════════════════════════════════ */

.yv-widget {
    --yv-active-border: #333;
    --yv-btn-color: #333;
    --yv-btn-fs: 13px;
    --yv-price-color: #333;
    --yv-price-fs: 16px;
    --yv-buy-bg: #DFCB7E;
    --yv-buy-color: #000;
    --yv-buy-bg-h: #000;
    --yv-buy-color-h: #FFD800;

    font-family: 'GothamPro', Arial, sans-serif !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.yv-widget *, .yv-widget *::before, .yv-widget *::after {
    box-sizing: border-box !important;
}

/* ─── Строки ──────────────────────────────────────────────────────── */

.yv-widget .yv-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.yv-widget .yv-row-top {
    margin-bottom: 8px !important;
}

/* ─── Кнопки вариаций (200 гр / 1 кг) ────────────────────────────── */

.yv-widget .yv-variations {
    display: flex !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.yv-widget button.yv-var-btn {
    background: #fff !important;
    border: 1px solid #ccc !important;
    color: var(--yv-btn-color) !important;
    font-size: var(--yv-btn-fs) !important;
    font-family: 'GothamPro', Arial, sans-serif !important;
    font-weight: 400 !important;
    padding: 6px 14px !important;
    cursor: pointer !important;
    transition: border-color 0.2s, background-color 0.2s, color 0.2s !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    outline: none !important;
    margin: 0 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    text-transform: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.yv-widget button.yv-var-btn:first-child {
    border-radius: 3px !important;
}

.yv-widget button.yv-var-btn:last-child {
    border-radius: 3px !important;
}

.yv-widget button.yv-var-btn:only-child {
    border-radius: 3px !important;
}

/* Активная вариация */
.yv-widget button.yv-var-btn.yv-active {
    border: 1px solid var(--yv-active-border) !important;
    background: var(--yv-active-bg) !important;
    color: var(--yv-active-color) !important;
    font-weight: 500 !important;
}

.yv-widget button.yv-var-btn:hover {
    border-color: var(--yv-active-border) !important;
    background: #fff !important;
    color: var(--yv-btn-color) !important;
}

.yv-widget button.yv-var-btn.yv-active:hover {
    background: var(--yv-active-bg) !important;
    color: var(--yv-active-color) !important;
}

/* ─── Цена ────────────────────────────────────────────────────────── */

.yv-widget .yv-price {
    color: var(--yv-price-color) !important;
    font-size: var(--yv-price-fs) !important;
    font-weight: 400 !important;
    font-family: 'GothamPro', Arial, sans-serif !important;
    white-space: nowrap !important;
    margin: 0 !important;
    margin-left: auto !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    background: transparent !important;
    border: none !important;
}

.yv-widget .yv-price del {
    display: none !important;
}

.yv-widget .yv-price ins {
    text-decoration: none !important;
    background: transparent !important;
}

.yv-widget .yv-price .woocommerce-Price-amount {
    font-size: inherit !important;
    color: inherit !important;
    font-family: inherit !important;
}

.yv-widget .yv-price .woocommerce-Price-currencySymbol {
    font-size: inherit !important;
    color: inherit !important;
}

/* ─── Количество ──────────────────────────────────────────────────── */

.yv-widget .yv-qty {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.yv-widget button.yv-qty-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: none !important;
    background: #f0ede5 !important;
    color: #333 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: Arial, sans-serif !important;
    box-shadow: none !important;
    outline: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
}

.yv-widget button.yv-qty-btn:hover {
    background: #e0ddd5 !important;
    color: #333 !important;
    border: none !important;
}

.yv-widget button.yv-qty-btn:active {
    background: #d0cdc5 !important;
}

.yv-widget .yv-qty-input {
    width: 32px !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-family: 'GothamPro', Arial, sans-serif !important;
    color: #333 !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    outline: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.3 !important;
}

.yv-widget .yv-qty-input::-webkit-inner-spin-button,
.yv-widget .yv-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ─── Кнопка «Купить» ─────────────────────────────────────────────── */

.yv-widget button.yv-buy-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: var(--yv-buy-bg) !important;
    color: var(--yv-buy-color) !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'GothamPro', Arial, sans-serif !important;
    cursor: pointer !important;
    transition: background 0.25s, color 0.25s !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    min-height: 0 !important;
    outline: none !important;
}

.yv-widget button.yv-buy-btn:hover {
    background: var(--yv-buy-bg-h) !important;
    color: var(--yv-buy-color-h) !important;
    border: none !important;
    box-shadow: none !important;
}

.yv-widget button.yv-buy-btn.yv-loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

.yv-widget button.yv-buy-btn.yv-added {
    background: #4caf50 !important;
    color: #fff !important;
}

.yv-widget .yv-cart-icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

/* ─── Адаптив ─────────────────────────────────────────────────────── */

@media (max-width: 480px) {
    .yv-widget button.yv-var-btn {
        padding: 5px 10px !important;
        font-size: 12px !important;
    }
    .yv-widget button.yv-buy-btn {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }
    .yv-widget button.yv-qty-btn {
        width: 28px !important;
        height: 28px !important;
        font-size: 16px !important;
    }
}
