/* ============================================================
   Squishyuy — WooCommerce overrides
   Product cards, shop grid, single product, cart, checkout
   ============================================================ */

/* ---------- Strip Woo defaults we don't want ---------- */
.woocommerce-breadcrumb {
    font-size: var(--sy-fs-xs);
    color: var(--sy-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--sy-sp-6);
}
.woocommerce-breadcrumb a { color: var(--sy-text-muted); }
.woocommerce-breadcrumb a:hover { color: var(--sy-accent); }
.woocommerce-result-count {
    color: var(--sy-text-muted);
    font-size: var(--sy-fs-sm);
}

/* ---------- Shop page wrapper ---------- */
.woocommerce.archive .squishyuy-container,
.woocommerce-page.archive .squishyuy-container {
    padding-block: var(--sy-sp-10);
}
.woocommerce-products-header {
    text-align: center;
    margin-bottom: var(--sy-sp-10);
}
.woocommerce-products-header__title {
    font-size: var(--sy-fs-3xl);
    letter-spacing: -0.02em;
    margin: 0;
}

/* ---------- Product grid ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: var(--sy-sp-6);
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: var(--sy-surface);
    border-radius: var(--sy-r-lg);
    overflow: hidden;
    border: 1px solid transparent;
    transition: transform var(--sy-dur) var(--sy-ease), box-shadow var(--sy-dur) var(--sy-ease), border-color var(--sy-dur) var(--sy-ease);
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--sy-shadow-md);
    border-color: var(--sy-border-soft);
}
.woocommerce ul.products li.product > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* Product media (square) */
.squishyuy-product-card__media {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--sy-bg-alt);
    overflow: hidden;
}
.squishyuy-product-card__media img,
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: transform 500ms var(--sy-ease);
}
.woocommerce ul.products li.product:hover .squishyuy-product-card__media img { transform: scale(1.04); }

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: var(--sy-sp-4) var(--sy-sp-4) 0 !important;
    font-size: var(--sy-fs-base) !important;
    font-weight: 600 !important;
    line-height: 1.4;
    color: var(--sy-text);
    margin: 0 !important;
    min-height: 3.2em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Price */
.woocommerce ul.products li.product .price {
    padding: var(--sy-sp-1) var(--sy-sp-4) var(--sy-sp-4);
    color: var(--sy-text) !important;
    font-weight: 700 !important;
    font-size: var(--sy-fs-md) !important;
    margin: 0 !important;
}
.woocommerce ul.products li.product .price del {
    color: var(--sy-text-muted);
    font-weight: 500;
    margin-right: var(--sy-sp-2);
    opacity: 0.8;
}
.woocommerce ul.products li.product .price ins {
    background: transparent;
    color: var(--sy-sale) !important;
    text-decoration: none;
    font-weight: 700;
}

/* Star ratings */
.woocommerce .star-rating {
    margin: 0 var(--sy-sp-4) var(--sy-sp-2);
    color: var(--sy-accent);
    font-size: 0.85rem;
}

/* Add to cart on grid */
.woocommerce ul.products li.product .button {
    display: block;
    margin: 0 var(--sy-sp-4) var(--sy-sp-4);
    padding: 0.625rem 1rem !important;
    background: var(--sy-primary) !important;
    color: #fff !important;
    border-radius: var(--sy-r-pill) !important;
    font-size: var(--sy-fs-xs) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
    transition: background var(--sy-dur) var(--sy-ease);
}
.woocommerce ul.products li.product .button:hover {
    background: var(--sy-primary-hover) !important;
}
.woocommerce ul.products li.product .added_to_cart {
    margin: 0 var(--sy-sp-4) var(--sy-sp-4);
    font-size: var(--sy-fs-xs);
    color: var(--sy-success);
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--sy-fs-sm) !important; }
}

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul {
    border: 0 !important;
    display: flex;
    gap: var(--sy-sp-2);
    justify-content: center;
    margin-top: var(--sy-sp-12) !important;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    width: 40px; height: 40px;
    border-radius: var(--sy-r-pill) !important;
    display: inline-grid; place-items: center;
    background: var(--sy-surface);
    color: var(--sy-text) !important;
    padding: 0 !important;
    font-weight: 600;
    border: 1px solid var(--sy-border-soft) !important;
    transition: all var(--sy-dur) var(--sy-ease);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--sy-primary) !important;
    color: #fff !important;
    border-color: var(--sy-primary) !important;
}

/* ---------- Single product ---------- */
.single-product div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sy-sp-12);
    margin-block: var(--sy-sp-10);
}
.single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.single-product div.product .woocommerce-product-gallery img {
    border-radius: var(--sy-r-lg);
}
.single-product div.product .summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.single-product .product_title {
    font-size: var(--sy-fs-3xl);
    letter-spacing: -0.02em;
    margin-bottom: var(--sy-sp-3);
}
.single-product div.product p.price {
    color: var(--sy-text) !important;
    font-size: var(--sy-fs-2xl) !important;
    font-weight: 700;
    margin-bottom: var(--sy-sp-4) !important;
}
.single-product div.product p.price ins { color: var(--sy-sale) !important; background: transparent; text-decoration: none; }
.single-product div.product p.price del { color: var(--sy-text-muted); font-weight: 500; }

.woocommerce-product-details__short-description {
    color: var(--sy-text-muted);
    line-height: 1.7;
    margin-bottom: var(--sy-sp-6);
}

.single-product form.cart {
    display: flex;
    gap: var(--sy-sp-3);
    align-items: center;
    flex-wrap: wrap;
    padding: var(--sy-sp-5) 0;
    border-top: 1px solid var(--sy-border-soft);
    border-bottom: 1px solid var(--sy-border-soft);
    margin-bottom: var(--sy-sp-6);
}
.single-product .quantity input.qty {
    width: 80px;
    padding: 0.75rem;
    border: 1px solid var(--sy-border);
    border-radius: var(--sy-r-md);
    background: var(--sy-surface);
    text-align: center;
    font: inherit;
    font-weight: 600;
}
.single-product .single_add_to_cart_button {
    flex: 1;
    background: var(--sy-primary) !important;
    color: #fff !important;
    padding: 1rem 2rem !important;
    border-radius: var(--sy-r-pill) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: var(--sy-fs-sm) !important;
    border: 0 !important;
    transition: background var(--sy-dur) var(--sy-ease);
}
.single-product .single_add_to_cart_button:hover {
    background: var(--sy-primary-hover) !important;
}

.product_meta {
    font-size: var(--sy-fs-sm);
    color: var(--sy-text-muted);
}
.product_meta > span { display: block; margin-bottom: 4px; }
.product_meta a { color: var(--sy-text); }
.product_meta a:hover { color: var(--sy-accent); }

/* Tabs */
.woocommerce-tabs.wc-tabs-wrapper {
    margin-top: var(--sy-sp-12);
    grid-column: 1 / -1;
}
.woocommerce-tabs ul.tabs {
    display: flex;
    gap: var(--sy-sp-1);
    list-style: none;
    padding: 0 !important;
    margin: 0 0 var(--sy-sp-6) !important;
    border-bottom: 1px solid var(--sy-border-soft) !important;
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--sy-sp-3) var(--sy-sp-5) !important;
    color: var(--sy-text-muted) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--sy-fs-sm) !important;
    border-bottom: 2px solid transparent;
    transition: all var(--sy-dur) var(--sy-ease);
}
.woocommerce-tabs ul.tabs li.active a {
    color: var(--sy-text) !important;
    border-bottom-color: var(--sy-primary);
}

@media (max-width: 900px) {
    .single-product div.product { grid-template-columns: 1fr; }
}

/* ---------- Cart page ---------- */
.woocommerce-cart .squishyuy-container { padding-block: var(--sy-sp-10); }
.woocommerce table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 0 !important;
    background: var(--sy-surface);
    border-radius: var(--sy-r-lg);
    overflow: hidden;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-bottom: 1px solid var(--sy-border-soft) !important;
    padding: var(--sy-sp-4) !important;
}
.woocommerce table.shop_table th {
    background: var(--sy-bg-alt);
    font-size: var(--sy-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.woocommerce-cart .actions .button,
.woocommerce .button,
.woocommerce a.button.alt {
    border-radius: var(--sy-r-pill) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.woocommerce a.button.alt,
.woocommerce .button.alt,
.woocommerce-page #payment #place_order {
    background: var(--sy-primary) !important;
    color: #fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce .button.alt:hover {
    background: var(--sy-primary-hover) !important;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--sy-surface) !important;
    border-radius: var(--sy-r-md) !important;
    border-top: 0 !important;
    box-shadow: var(--sy-shadow-sm);
    padding: var(--sy-sp-4) var(--sy-sp-5) !important;
}
.woocommerce-message::before { color: var(--sy-success) !important; }
.woocommerce-info::before    { color: var(--sy-accent) !important; }
.woocommerce-error::before   { color: var(--sy-sale) !important; }

/* Checkout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { background: var(--sy-surface); padding: var(--sy-sp-6); border-radius: var(--sy-r-lg); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    padding: 0.75rem 1rem !important;
    border: 1px solid var(--sy-border) !important;
    border-radius: var(--sy-r-md) !important;
    background: var(--sy-bg-alt) !important;
    font: inherit;
}

/* ---------- Mini cart in header ---------- */
.widget_shopping_cart_content {
    font-size: var(--sy-fs-sm);
}
