/* ==========================================================================
   American Trends — WooCommerce overrides
   Add-to-cart button, quantity, cart, checkout, my-account, mini-cart badge.
   ========================================================================== */

/* ---------- Cart badge in nav ---------- */
.nav__cart {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    opacity: 0.8;
    transition: opacity 0.3s var(--ease), color 0.3s var(--ease);
    position: relative;
}
.nav__cart:hover { opacity: 1; color: var(--accent); }
.nav__cart svg { width: 20px; height: 20px; }
.nav__cart-count {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--accent);
    color: #FFFFFF;
    font-family: var(--font-mono);
    font-size: 10px;
    line-height: 18px;
    text-align: center;
    border-radius: 9px;
}

/* ---------- Single product: add to cart form ---------- */
.woocommerce .product form.cart,
.woocommerce-page .product form.cart,
form.cart {
    margin: 32px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: stretch;
}
.quantity {
    display: flex;
    align-items: center;
    border: 1px solid var(--line-2);
    background: var(--bg-2);
    height: 50px;
}
.quantity input[type="number"],
.quantity input.qty {
    width: 60px;
    height: 50px;
    border: none;
    background: transparent;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 14px;
    color: var(--fg);
    -moz-appearance: textfield;
}
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Add-to-cart button = editorial .btn--accent look */
.single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    padding: 16px 28px !important;
    height: 50px;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    border: 1px solid var(--accent) !important;
    background: var(--accent) !important;
    color: #FFFFFF !important;
    transition: background 0.4s var(--ease), color 0.4s var(--ease), border-color 0.4s var(--ease) !important;
    border-radius: 0 !important;
    line-height: 1 !important;
    cursor: pointer;
    text-shadow: none !important;
    box-shadow: none !important;
}
.single_add_to_cart_button::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce input.button::after { content: "→"; font-family: var(--font-body); font-size: 14px; }

.single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: transparent !important;
    color: var(--accent) !important;
}
.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce input.button.alt:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* "Added to cart" view cart notice */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: var(--accent) !important;
    background: var(--bg-2) !important;
    padding: 16px 20px !important;
    border-radius: 0 !important;
    font-family: var(--font-body);
    color: var(--fg) !important;
    list-style: none;
    margin: 0 0 24px !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--accent) !important; }
.woocommerce-error { border-top-color: #8B2114 !important; background: #FCF1EE !important; }
.woocommerce-error::before { color: #8B2114 !important; }
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
    background: transparent !important;
    border-color: var(--accent) !important;
    color: var(--accent) !important;
    padding: 8px 14px !important;
    height: auto !important;
}

/* ---------- Cart page ---------- */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content { padding-top: clamp(120px, 14vw, 160px); }

.woocommerce table.shop_table {
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    margin: 0 0 32px !important;
    font-family: var(--font-body) !important;
}
.woocommerce table.shop_table th {
    background: var(--bg-2) !important;
    color: var(--fg-muted) !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 16px 18px !important;
    border: none !important;
    border-bottom: 1px solid var(--line) !important;
}
.woocommerce table.shop_table td {
    padding: 18px !important;
    border: none !important;
    border-bottom: 1px solid var(--line) !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce table.shop_table .product-name a {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--fg);
}
.woocommerce table.shop_table .product-thumbnail img {
    width: 80px !important;
    border: 1px solid var(--line);
}
.woocommerce table.cart .product-remove a {
    color: var(--fg-dim) !important;
    font-size: 18px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 0 !important;
    border: 1px solid var(--line) !important;
}
.woocommerce table.cart .product-remove a:hover {
    background: var(--fg) !important;
    color: var(--bg) !important;
    border-color: var(--fg) !important;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cart_totals table {
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
}
.woocommerce .cart-collaterals .cart_totals h2 {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 28px !important;
    padding: 18px 20px !important;
    background: var(--bg-2) !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--line) !important;
}
.woocommerce .cart-collaterals .cart_totals .shop_table td,
.woocommerce .cart-collaterals .cart_totals .shop_table th {
    padding: 14px 20px !important;
}

/* Coupon input */
.woocommerce .coupon {
    display: flex !important;
    gap: 8px;
    align-items: stretch;
    flex-wrap: wrap;
}
.woocommerce .coupon input.input-text {
    height: 50px;
    padding: 0 16px !important;
    background: var(--bg-2) !important;
    border: 1px solid var(--line-2) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    min-width: 180px;
}

/* Quantity in cart table */
.woocommerce .quantity .qty { width: 56px !important; }

/* ---------- Checkout page ---------- */
.woocommerce-checkout #customer_details {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    margin-bottom: 40px;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 { width: 100% !important; max-width: none !important; float: none !important; }
.woocommerce-checkout .col2-set { display: block; }
.woocommerce-checkout-review-order {
    border: 1px solid var(--line);
}
.woocommerce-checkout-review-order table.shop_table {
    border: none !important;
    margin: 0 !important;
}
.woocommerce-checkout-review-order .shop_table thead th { background: var(--bg-2) !important; }
#ship-to-different-address { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; }

/* Form fields */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
    padding: 0 !important;
    margin: 0 0 18px !important;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--fg-muted) !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    padding: 14px 16px !important;
    background: var(--bg-2) !important;
    border: 1px solid var(--line) !important;
    color: var(--fg) !important;
    border-radius: 0 !important;
    width: 100% !important;
    transition: border-color 0.3s var(--ease), background 0.3s var(--ease) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    outline: none !important;
    border-color: var(--accent) !important;
    background: var(--bg) !important;
}
.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select { box-shadow: none !important; }

/* Select2 */
.select2-container--default .select2-selection--single {
    height: 50px !important;
    border: 1px solid var(--line) !important;
    background: var(--bg-2) !important;
    border-radius: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
    color: var(--fg) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-family: var(--font-body);
    font-size: 15px;
}

/* Order review totals */
.woocommerce-checkout-review-order #order_review_heading {
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    font-size: 24px !important;
    padding: 18px 20px !important;
    background: var(--bg-2) !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    text-transform: none !important;
}

/* Place order button = full width accent */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    width: 100% !important;
    height: 56px !important;
    justify-content: center;
}

/* ---------- My account ---------- */
.woocommerce-account .site-content { padding-top: clamp(120px, 14vw, 160px); }
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    border: 1px solid var(--line);
}
.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid var(--line);
}
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 14px 18px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--fg-muted);
    transition: all 0.3s var(--ease);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
    background: var(--bg-2);
    color: var(--accent);
}

/* ---------- Pagination ---------- */
.at-pagination { margin-top: clamp(40px, 5vw, 64px); display: flex; justify-content: center; }
.at-pagination ul { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0; }
.at-pagination li { display: inline-flex; }
.at-pagination a,
.at-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.14em;
    border: 1px solid var(--line-2);
    color: var(--fg-muted);
    transition: all 0.3s var(--ease);
}
.at-pagination a:hover,
.at-pagination .current {
    background: var(--fg);
    color: var(--bg);
    border-color: var(--fg);
}

/* ---------- Generic WooCommerce notices wrapper ---------- */
.woocommerce-notices-wrapper { margin-top: clamp(120px, 14vw, 160px); padding: 0 var(--gutter); max-width: var(--container); margin-left: auto; margin-right: auto; width: 100%; box-sizing: border-box; }

/* ---------- Page content padding for cart/checkout/myaccount ---------- */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content,
.woocommerce .site-content .container { padding-bottom: clamp(40px, 6vw, 80px); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .woocommerce-checkout #customer_details { grid-template-columns: 1fr; gap: 32px; }
    .woocommerce table.shop_table .product-thumbnail { display: none; }
}
@media (max-width: 768px) {
    .woocommerce table.shop_table { font-size: 14px !important; }
    .woocommerce table.shop_table td { padding: 12px !important; }
    .woocommerce-cart-form__cart-item .product-name { font-size: 14px !important; }
    .woocommerce-cart .coupon { flex-direction: column; align-items: stretch; }
    .woocommerce-cart .coupon button { width: 100%; }
    .single_add_to_cart_button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button { width: 100%; justify-content: center; }
    form.cart { flex-direction: column; }
    .quantity { width: 100%; justify-content: center; }
}
