/**
 * gf-cart-add-to-cart.css
 *
 * Styles for the product form add-to-cart mode:
 *  - Inline notices (success, error, info)
 *  - Submit button loading state
 */

/* ── Notice base ─────────────────────────────────────────────────────────── */

.gf-cart-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
    margin: 0 0 16px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid transparent;
    animation: gfCartNoticeFadeIn 0.2s ease;
}

@keyframes gfCartNoticeFadeIn {
    from { opacity: 0; transform: translateY( -4px ); }
    to   { opacity: 1; transform: translateY( 0 ); }
}

/* ── Notice variants ─────────────────────────────────────────────────────── */

.gf-cart-notice--success {
    background-color: #f0fdf4;
    border-color: #86efac;
    color: #166534;
}

.gf-cart-notice--error {
    background-color: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}

.gf-cart-notice--info {
    background-color: #eff6ff;
    border-color: #93c5fd;
    color: #1e40af;
}

/* ── Notice icon ─────────────────────────────────────────────────────────── */

.gf-cart-notice__icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 1px;
}

.gf-cart-notice--success .gf-cart-notice__icon::before { content: '✓'; font-weight: bold; }
.gf-cart-notice--error   .gf-cart-notice__icon::before { content: '✕'; font-weight: bold; }
.gf-cart-notice--info    .gf-cart-notice__icon::before { content: 'ℹ'; }

/* ── Submit button loading state ─────────────────────────────────────────── */

.gform_submit_button.gf-cart-btn--loading,
input[type="submit"].gf-cart-btn--loading {
    opacity: 0.65;
    cursor: not-allowed;
    position: relative;
}
