/**
 * JerseyDo - WooCommerce Style Overrides
 * Clean, minimal styling for WooCommerce pages
 * @package JerseyDo
 */

/* === Product Tabs === */
.woocommerce-tabs {
    border-top: 1px solid var(--jd-gray-200);
}

.woocommerce-tabs .tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--jd-gray-200);
    margin-bottom: var(--jd-space-xl);
}

.woocommerce-tabs .tabs li {
    margin: 0;
}

.woocommerce-tabs .tabs li a {
    display: block;
    padding: var(--jd-space-md) var(--jd-space-lg);
    font-size: var(--jd-text-sm);
    font-weight: 500;
    color: var(--jd-gray-500);
    border-bottom: 2px solid transparent;
    transition: all var(--jd-transition);
}

.woocommerce-tabs .tabs li a:hover {
    color: var(--jd-black);
}

.woocommerce-tabs .tabs li.active a {
    color: var(--jd-black);
    border-bottom-color: var(--jd-black);
}

.woocommerce-tabs .panel {
    max-width: var(--jd-container-narrow);
}

.woocommerce-tabs .panel h2 {
    font-size: var(--jd-text-xl);
    margin-bottom: var(--jd-space-lg);
}

.woocommerce-tabs .panel p {
    line-height: 1.8;
}

/* === Variation Form === */
.variations_form .variations {
    margin-bottom: var(--jd-space-lg);
}

.variations_form .variations tr {
    display: flex;
    flex-direction: column;
    gap: var(--jd-space-xs);
    margin-bottom: var(--jd-space-md);
}

.variations_form .variations .label {
    font-size: var(--jd-text-sm);
    font-weight: 600;
}

.variations_form .variations .label label {
    font-weight: 600;
}

.variations_form .variations select {
    width: 100%;
    max-width: 300px;
    padding: 10px 14px;
    border: 1.5px solid var(--jd-gray-300);
    border-radius: var(--jd-radius-sm);
    font-size: var(--jd-text-sm);
    background: var(--jd-white);
    cursor: pointer;
    transition: border-color var(--jd-transition);
}

.variations_form .variations select:focus {
    outline: none;
    border-color: var(--jd-black);
}

/* === Quantity Input === */
.quantity {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid var(--jd-gray-300);
    border-radius: var(--jd-radius-sm);
    overflow: hidden;
}

.quantity .qty {
    width: 50px;
    text-align: center;
    border: none;
    padding: 10px 0;
    font-size: var(--jd-text-sm);
    font-weight: 500;
    -moz-appearance: textfield;
}

.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* === Add to Cart Button === */
.single_add_to_cart_button,
button.single_add_to_cart_button {
    background: var(--jd-black) !important;
    color: var(--jd-white) !important;
    padding: 14px 32px !important;
    font-size: var(--jd-text-sm) !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--jd-radius-sm) !important;
    cursor: pointer;
    transition: background var(--jd-transition) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.single_add_to_cart_button:hover {
    background: var(--jd-gray-800) !important;
}

.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled {
    background: var(--jd-gray-300) !important;
    cursor: not-allowed;
}

/* === Cart form layout === */
.cart {
    display: flex;
    align-items: center;
    gap: var(--jd-space-md);
    flex-wrap: wrap;
}

/* === Price Display === */
.woocommerce-Price-amount {
    font-weight: 600;
}

del .woocommerce-Price-amount {
    color: var(--jd-gray-400);
    font-weight: 400;
}

ins {
    text-decoration: none;
}

ins .woocommerce-Price-amount {
    color: var(--jd-error);
}

/* === Cart Page === */
.woocommerce-cart-form table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form th {
    text-align: left;
    font-size: var(--jd-text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--jd-gray-400);
    padding: var(--jd-space-md) 0;
    border-bottom: 1px solid var(--jd-gray-200);
}

.woocommerce-cart-form td {
    padding: var(--jd-space-lg) 0;
    border-bottom: 1px solid var(--jd-gray-100);
    vertical-align: middle;
}

.woocommerce-cart-form .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--jd-radius-sm);
}

.woocommerce-cart-form .product-name a {
    font-weight: 500;
    font-size: var(--jd-text-sm);
}

.woocommerce-cart-form .product-remove a {
    color: var(--jd-gray-400);
    font-size: var(--jd-text-lg);
}

.woocommerce-cart-form .product-remove a:hover {
    color: var(--jd-error);
}

.woocommerce-cart-form .actions .button {
    background: var(--jd-black);
    color: var(--jd-white);
    padding: 10px 20px;
    font-size: var(--jd-text-sm);
    font-weight: 500;
    border: none;
    border-radius: var(--jd-radius-sm);
    cursor: pointer;
}

/* Cart totals */
.cart_totals {
    max-width: 480px;
    margin-left: auto;
    padding: var(--jd-space-xl);
    background: var(--jd-gray-50);
    border-radius: var(--jd-radius-md);
}

.cart_totals h2 {
    font-size: var(--jd-text-xl);
    margin-bottom: var(--jd-space-lg);
}

.cart_totals table {
    width: 100%;
}

.cart_totals th,
.cart_totals td {
    padding: var(--jd-space-sm) 0;
    font-size: var(--jd-text-sm);
}

.cart_totals th {
    text-align: left;
    font-weight: 500;
    color: var(--jd-gray-500);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: var(--jd-text-lg);
    font-weight: 700;
    padding-top: var(--jd-space-md);
    border-top: 1px solid var(--jd-gray-200);
}

.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--jd-black) !important;
    color: var(--jd-white) !important;
    padding: 14px !important;
    font-size: var(--jd-text-base) !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--jd-radius-sm) !important;
    margin-top: var(--jd-space-lg);
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--jd-gray-800) !important;
}

/* === Checkout Page === */
.woocommerce-checkout h3 {
    font-size: var(--jd-text-xl);
    margin-bottom: var(--jd-space-lg);
}

.woocommerce-checkout .form-row {
    margin-bottom: var(--jd-space-md);
}

.woocommerce-checkout .form-row label {
    display: block;
    font-size: var(--jd-text-sm);
    font-weight: 500;
    margin-bottom: var(--jd-space-xs);
}

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--jd-gray-300);
    border-radius: var(--jd-radius-sm);
    font-size: var(--jd-text-sm);
    transition: border-color var(--jd-transition);
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
    outline: none;
    border-color: var(--jd-black);
}

.woocommerce-checkout .form-row.woocommerce-invalid .input-text {
    border-color: var(--jd-error);
}

#order_review_heading {
    margin-top: var(--jd-space-2xl);
}

#place_order {
    background: var(--jd-black) !important;
    color: var(--jd-white) !important;
    padding: 16px 32px !important;
    font-size: var(--jd-text-base) !important;
    font-weight: 600 !important;
    width: 100%;
    border: none !important;
    border-radius: var(--jd-radius-sm) !important;
    cursor: pointer;
    margin-top: var(--jd-space-lg);
}

#place_order:hover {
    background: var(--jd-gray-800) !important;
}

/* === Order Review Table === */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: var(--jd-space-sm) 0;
    font-size: var(--jd-text-sm);
    border-bottom: 1px solid var(--jd-gray-100);
}

/* === Payment Methods === */
.woocommerce-checkout-payment ul.payment_methods {
    list-style: none;
    padding: 0;
}

.woocommerce-checkout-payment .wc_payment_method {
    padding: var(--jd-space-md);
    border: 1px solid var(--jd-gray-200);
    border-radius: var(--jd-radius-sm);
    margin-bottom: var(--jd-space-sm);
}

.woocommerce-checkout-payment .wc_payment_method label {
    font-weight: 500;
    cursor: pointer;
}

.woocommerce-checkout-payment .payment_box {
    padding: var(--jd-space-md);
    font-size: var(--jd-text-sm);
    color: var(--jd-gray-600);
}

/* === My Account === */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    border: 1px solid var(--jd-gray-200);
    border-radius: var(--jd-radius-md);
    overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: var(--jd-space-md) var(--jd-space-lg);
    font-size: var(--jd-text-sm);
    border-bottom: 1px solid var(--jd-gray-100);
    transition: background var(--jd-transition);
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--jd-gray-50);
    color: var(--jd-black);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--jd-gray-50);
    font-weight: 600;
}

/* === Notices === */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    padding: var(--jd-space-md) var(--jd-space-lg) !important;
    margin-bottom: var(--jd-space-lg) !important;
    border-radius: var(--jd-radius-sm) !important;
    font-size: var(--jd-text-sm) !important;
    list-style: none !important;
}

.woocommerce-message {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-left: 3px solid var(--jd-success) !important;
    color: #166534 !important;
}

.woocommerce-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    border-left: 3px solid var(--jd-info) !important;
    color: #1e40af !important;
}

.woocommerce-error {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    border-left: 3px solid var(--jd-error) !important;
    color: #991b1b !important;
}

.woocommerce-message a,
.woocommerce-info a {
    font-weight: 600;
}

/* === Ordering Dropdown === */
.woocommerce-ordering select {
    padding: 8px 14px;
    border: 1.5px solid var(--jd-gray-300);
    border-radius: var(--jd-radius-sm);
    font-size: var(--jd-text-sm);
    background: var(--jd-white);
    cursor: pointer;
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--jd-black);
}

/* === Result Count === */
.woocommerce-result-count {
    font-size: var(--jd-text-sm);
    color: var(--jd-gray-400);
    margin: 0;
}

/* === Related Products === */
.related.products {
    padding-top: var(--jd-space-2xl);
    border-top: 1px solid var(--jd-gray-200);
}

.related.products h2 {
    font-size: var(--jd-text-2xl);
    margin-bottom: var(--jd-space-xl);
}

/* === Reviews === */
#reviews #comments {
    margin-bottom: var(--jd-space-2xl);
}

#reviews .comment-text {
    padding: var(--jd-space-lg);
    border: 1px solid var(--jd-gray-100);
    border-radius: var(--jd-radius-md);
    margin-bottom: var(--jd-space-md);
}

#reviews .comment-text .meta {
    font-size: var(--jd-text-sm);
    color: var(--jd-gray-500);
    margin-bottom: var(--jd-space-sm);
}

#reviews #review_form textarea {
    width: 100%;
    padding: var(--jd-space-md);
    border: 1.5px solid var(--jd-gray-300);
    border-radius: var(--jd-radius-sm);
    font-size: var(--jd-text-sm);
    resize: vertical;
    min-height: 120px;
}

#reviews #review_form textarea:focus {
    outline: none;
    border-color: var(--jd-black);
}

/* === Responsive === */
@media (max-width: 768px) {
    .woocommerce-cart-form .product-thumbnail {
        display: none;
    }

    .cart_totals {
        max-width: 100%;
    }

    .woocommerce-tabs .tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
