/* =====================================================
   FOUL BALL FINDS — WooCommerce overrides
   ===================================================== */

/* ── General WC form fields ──────────────────────────── */
.woocommerce-form-row,
.woocommerce form .form-row {
    margin-bottom: 1.25rem;
}
.woocommerce form .form-row label {
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    display: block;
    margin-bottom: .4rem;
    color: var(--fbf-navy);
}
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    width: 100%;
    border: 1px solid rgba(10,27,60,.22);
    padding: .6rem .875rem;
    font-size: .9375rem;
    font-family: var(--fbf-font-body);
    outline: none;
    transition: border-color .15s;
    background: #fff;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--fbf-red);
}
.woocommerce form .form-row.woocommerce-invalid input { border-color: var(--fbf-red); }
.woocommerce form .form-row .required { color: var(--fbf-red); }

/* ── Notices ──────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-family: var(--fbf-font-mono);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: .75rem 1rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--fbf-red);
    background: rgba(198,32,43,.07);
    list-style: none;
}
.woocommerce-info { border-color: var(--fbf-navy); background: rgba(10,27,60,.05); }
.woocommerce-message { border-color: #16a34a; background: rgba(22,163,74,.06); }
.woocommerce-message a,
.woocommerce-info a { color: var(--fbf-red); text-decoration: underline; }

/* ── Quantity input ───────────────────────────────────── */
.quantity {
    display: flex;
    align-items: center;
    border: 1px solid rgba(10,27,60,.2);
    width: fit-content;
}
.quantity .qty {
    width: 3rem;
    text-align: center;
    border: none;
    outline: none;
    font-family: var(--fbf-font-mono);
    font-size: .875rem;
    -moz-appearance: textfield;
}
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }

/* ── Add to cart button (WC default) ─────────────────── */
.woocommerce .single_add_to_cart_button,
.woocommerce button.button,
.woocommerce a.button {
    background: var(--fbf-red) !important;
    color: var(--fbf-cream) !important;
    font-family: var(--fbf-font-mono) !important;
    font-size: .75rem !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    padding: .75rem 1.5rem !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background .15s, transform .15s;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
    background: #a8161f !important;
    transform: translateY(-2px);
}
.woocommerce button.button.alt,
.woocommerce a.button.alt { background: var(--fbf-navy) !important; }
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover { background: var(--fbf-navy-light) !important; }

/* ── Single product add-to-cart area ─────────────────── */
.woocommerce .single_add_to_cart_button {
    flex: 1;
    margin-top: 0 !important;
}
form.cart {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-top: 1.75rem;
    flex-wrap: wrap;
}

/* ── Variations ──────────────────────────────────────── */
.woocommerce .variations {
    width: 100%;
    margin-top: 1.5rem;
    border-collapse: collapse;
}
.woocommerce .variations td,
.woocommerce .variations th {
    padding: .25rem 0 .75rem;
    vertical-align: middle;
}
.woocommerce .variations label {
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .14em;
}
.woocommerce .variations select {
    border: 1px solid rgba(10,27,60,.2);
    padding: .4rem .5rem;
    font-family: var(--fbf-font-body);
    font-size: .875rem;
    outline: none;
}
.woocommerce .reset_variations {
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #9ca3af;
    margin-top: .25rem;
    display: inline-block;
    text-decoration: underline;
}

/* ── Cart totals ──────────────────────────────────────── */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.25rem;
}
.cart_totals table th,
.cart_totals table td {
    padding: .625rem 0;
    border-bottom: 1px solid rgba(10,27,60,.1);
    font-size: .875rem;
}
.cart_totals table th {
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    text-align: left;
    width: 40%;
}
.cart_totals .order-total td,
.cart_totals .order-total th {
    font-weight: 700;
    font-size: 1rem;
    border-bottom: none;
    padding-top: 1rem;
}

/* ── Order review table (checkout) ──────────────────── */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.25rem;
    font-size: .875rem;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: .625rem 0;
    border-bottom: 1px solid rgba(10,27,60,.1);
}
.woocommerce-checkout-review-order-table th {
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    text-align: left;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-weight: 700;
    border-bottom: none;
}

/* ── Payment methods ─────────────────────────────────── */
#payment { margin-top: 1.5rem; }
#payment .payment_methods { list-style: none; }
#payment .payment_methods li {
    padding: .75rem 0;
    border-bottom: 1px solid rgba(10,27,60,.1);
}
#payment .payment_methods label {
    font-family: var(--fbf-font-mono);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
}
#payment .place-order { margin-top: 1.25rem; }

/* ── Pagination ──────────────────────────────────────── */
.woocommerce-pagination ul { list-style: none; display: flex; gap: .5rem; justify-content: center; margin-top: 3rem; }
.woocommerce-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(10,27,60,.2);
    font-family: var(--fbf-font-mono);
    font-size: .75rem;
    transition: all .15s;
}
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover { background: var(--fbf-navy); color: var(--fbf-cream); border-color: var(--fbf-navy); }

/* ── Star rating ──────────────────────────────────────── */
.star-rating { color: var(--fbf-red); }

/* ── Sorting select ──────────────────────────────────── */
.woocommerce-ordering select {
    border: 1px solid rgba(10,27,60,.2);
    padding: .4rem 2rem .4rem .75rem;
    font-family: var(--fbf-font-mono);
    font-size: .625rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    outline: none;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230a1b3c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;
}

/* ── Account nav ──────────────────────────────────────── */
.woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: .5rem .75rem;
    font-family: var(--fbf-font-mono);
    font-size: .6875rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(245,240,230,.7);
    transition: color .15s, background .15s;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a { color: var(--fbf-cream); background: rgba(245,240,230,.08); }
