@import 'variables.css';

/* Стили для формы быстрой покупки */
.quick-buy__product {
    background: #f8f9fa;
    border-radius: 8px;
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    border: 1px solid var(--border-color);
}

.quick-buy__product-title {
    margin: 0 0 var(--spacing-sm) 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--text-color);
}

.quick-buy__product-price {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--primary-color);
}

.quick-buy__product-old-price {
    font-size: var(--font-size-sm);
    color: #6c757d;
    text-decoration: line-through;
    margin-left: var(--spacing-sm);
}

/* Стили для формы */
.form-group {
    margin-bottom: var(--spacing-md);
}

.form-label {
    display: block;
    margin-bottom: var(--spacing-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-color);
    font-size: var(--font-size-xs);
}

.form-input,
.form-textarea {
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: var(--font-size-base);
    font-family: var(--font-family);
    transition: var(--transition-default);
    background: var(--bg-color);
    color: var(--text-color);
}

.form-input:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(43, 107, 77, 0.1);
}

.form-textarea {
    resize: vertical;
    min-height: 80px;
}

.form-error {
    color: #dc3545;
    font-size: var(--font-size-xs);
    margin-top: var(--spacing-xs);
    display: none;
}

.form-error.show {
    display: block;
}

/* Стили для чекбокса */
.form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-md);
    cursor: pointer;
    font-size: var(--font-size-xs);
    line-height: 1.4;
}

.form-checkbox input[type="checkbox"] {
    display: none;
}

.form-checkbox__mark {
    width: 20px;
    height: 20px;
    border: 2px solid var(--border-color);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-default);
    flex-shrink: 0;
    margin-top: 2px;
}

.form-checkbox input[type="checkbox"]:checked + .form-checkbox__mark {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.form-checkbox input[type="checkbox"]:checked + .form-checkbox__mark::after {
    content: '✓';
    color: white;
    font-size: 12px;
    font-weight: bold;
}

.form-checkbox__text {
    color: var(--text-color);
}

.form-link {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition-default);
}

.form-link:hover {
    text-decoration: underline;
    color: #1d4d36;
}

/* Стили для кнопок */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-lg);
    border: none;
    border-radius: 8px;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    font-family: var(--font-family);
    cursor: pointer;
    transition: var(--transition-default);
    text-decoration: none;
    min-width: 120px;
}

.btn--primary {
    background: var(--primary-color);
    color: white;
}

.btn--primary:hover {
    background: #1d4d36;
}

.btn--primary:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

.btn--secondary {
    background: #6c757d;
    color: white;
}

.btn--secondary:hover {
    background: #545b62;
}

.btn__spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Адаптивность */
@media (max-width: 768px) {
    .quick-buy__product {
        padding: var(--spacing-sm);
    }

    .form-group {
        margin-bottom: var(--spacing-sm);
    }

    .form-input,
    .form-textarea {
        padding: var(--spacing-sm) var(--spacing-sm);
        font-size: var(--font-size-xs);
    }

    .btn {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-xs);
        min-width: 100px;
    }
}

