/**
 * Pure Sips Water – WooCommerce Styles
 * Covers: archive, single product (upper + lower), cart, checkout, account
 * @package PureSipsWater
 */

/* ════════════════════════════════════════════
   GLOBAL WC RESETS
════════════════════════════════════════════ */
.woocommerce-page .page-hero { display: block; }
.woocommerce-page .entry-header { display: none; }

/* ════════════════════════════════════════════
   PRODUCT ARCHIVE GRID
════════════════════════════════════════════ */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 25px;
    margin: 0;
}
.woocommerce ul.products li.product {
    background: var(--psw-white);
    border-radius: var(--psw-radius-lg);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    transition: var(--psw-transition);
    border: 1px solid var(--psw-border);
    padding: 0; float: none; width: auto; margin: 0;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: var(--psw-shadow-lg);
}
.woocommerce ul.products li.product a img {
    border-radius: 0; margin: 0; width: 100%; height: 200px; object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 15px 15px 5px;
    font-size: 1rem;
    font-family: var(--psw-font-heading);
    color: var(--psw-dark);
}
.woocommerce ul.products li.product .price {
    padding: 0 15px 10px;
    color: var(--psw-primary);
    font-weight: 700;
    font-size: 1.1rem;
}
.woocommerce ul.products li.product .button {
    margin: 5px 15px 15px;
    display: block;
    width: calc(100% - 30px);
    text-align: center;
    background: linear-gradient(135deg, var(--psw-primary), var(--psw-primary-dark));
    color: white;
    border-radius: 8px;
    padding: 10px 15px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: var(--psw-transition);
    font-family: var(--psw-font-body);
    font-size: .9rem;
}
.woocommerce ul.products li.product .button:hover {
    opacity: .9; transform: translateY(-1px);
}

/* ════════════════════════════════════════════
   SINGLE PRODUCT — BREADCRUMB BAR
════════════════════════════════════════════ */
.psw-breadcrumb-bar {
    background: var(--psw-light);
    border-bottom: 1px solid var(--psw-border);
    padding: 12px 0;
}
.psw-breadcrumb-bar .woocommerce-breadcrumb {
    font-size: .85rem;
    color: var(--psw-gray);
    margin: 0;
}
.psw-breadcrumb-bar .woocommerce-breadcrumb a {
    color: var(--psw-primary);
}
.psw-breadcrumb-bar .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* ════════════════════════════════════════════
   SINGLE PRODUCT — UPPER SECTION  (img2)
════════════════════════════════════════════ */
.psw-product-upper {
    background: var(--psw-white);
    padding: 50px 0 60px;
}

/* 2-column grid */
.psw-product-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

/* ── Gallery column ── */
.psw-gallery-col {}
.psw-gallery-inner {}

/* WooCommerce gallery overrides */
.psw-gallery-inner .woocommerce-product-gallery {
    position: relative;
    border-radius: var(--psw-radius-lg);
    overflow: hidden;
    box-shadow: 0 4px 30px rgba(0,119,182,.10);
}
.psw-gallery-inner .woocommerce-product-gallery__wrapper img {
    border-radius: var(--psw-radius-lg);
    object-fit: contain;
    max-height: 480px;
    width: 100%;
}
/* Thumbnails row */
.psw-gallery-inner .flex-control-thumbs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding: 0;
}
.psw-gallery-inner .flex-control-thumbs li {
    list-style: none;
    width: 72px;
    height: 72px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--psw-transition);
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.psw-gallery-inner .flex-control-thumbs li:hover,
.psw-gallery-inner .flex-control-thumbs li.flex-active {
    border-color: var(--psw-primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,119,182,.20);
}
.psw-gallery-inner .flex-control-thumbs li img {
    width: 100%; height: 100%; object-fit: cover;
}
/* Sale badge */
.psw-gallery-inner .onsale {
    position: absolute;
    top: 16px; left: 16px;
    background: linear-gradient(135deg, #ff5858, #ff3131);
    color: white;
    font-size: .75rem;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 50px;
    letter-spacing: .5px;
    text-transform: uppercase;
    z-index: 5;
    box-shadow: 0 4px 14px rgba(255,49,49,.35);
}
/* Zoom icon */
.psw-gallery-inner .woocommerce-product-gallery__trigger {
    position: absolute;
    bottom: 16px; right: 16px;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(4px);
    width: 38px; height: 38px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: var(--psw-dark);
    font-size: .75rem;
    z-index: 5;
    box-shadow: 0 2px 12px rgba(0,0,0,.12);
    transition: var(--psw-transition);
    border: 1px solid var(--psw-border);
}
.psw-gallery-inner .woocommerce-product-gallery__trigger:hover {
    background: var(--psw-primary); color: white; border-color: var(--psw-primary);
}

/* ── Summary column ── */
.psw-summary-col {}
.psw-summary-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Title */
.psw-summary-inner .product_title {
    font-family: var(--psw-font-heading);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--psw-dark);
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 12px;
}

/* Rating row */
.psw-rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.psw-rating-row .woocommerce-product-rating {
    display: flex; align-items: center; gap: 8px;
}
.psw-rating-row .star-rating {
    font-size: 1rem;
    color: var(--psw-warning);
}
.psw-rating-row .woocommerce-review-link {
    font-size: .85rem;
    color: var(--psw-gray);
}

/* Price block */
.psw-price-block {
    margin-bottom: 18px;
}
.psw-price-block p.price,
.psw-price-block span.price {
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    color: var(--psw-primary) !important;
    font-family: var(--psw-font-heading);
    line-height: 1;
}
.psw-price-block del {
    color: var(--psw-gray) !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    margin-right: 8px;
}
.psw-price-block ins {
    text-decoration: none !important;
}

/* Availability */
.psw-availability {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    font-size: .9rem;
}
.psw-avail-label {
    font-weight: 600;
    color: var(--psw-dark);
}
.psw-badge-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 50px;
    font-weight: 700;
    font-size: .82rem;
    letter-spacing: .3px;
}
.psw-badge-instock {
    background: rgba(16,185,129,.10);
    color: #059669;
    border: 1px solid rgba(16,185,129,.25);
}
.psw-badge-outstock {
    background: rgba(239,68,68,.08);
    color: #dc2626;
    border: 1px solid rgba(239,68,68,.20);
}

/* Short description */
.psw-short-desc {
    font-size: .95rem;
    color: var(--psw-text);
    line-height: 1.75;
    margin-bottom: 20px;
}
.psw-short-desc p { margin: 0; }

/* Separator */
.psw-sep {
    border: none;
    border-top: 1px solid var(--psw-border);
    margin: 20px 0;
}

/* Cart zone: quantity + add to cart */
.psw-cart-zone {
    margin-bottom: 16px;
}
.psw-cart-zone form.cart {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
/* Quantity wrapper */
.psw-cart-zone .quantity {
    display: flex;
    align-items: center;
    gap: 0;
    border: 2px solid var(--psw-border);
    border-radius: 50px;
    overflow: hidden;
    background: var(--psw-white);
}
.psw-cart-zone .quantity input[type="number"] {
    width: 52px;
    height: 46px;
    border: none;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: var(--psw-dark);
    background: transparent;
    -moz-appearance: textfield;
    font-family: var(--psw-font-body);
}
.psw-cart-zone .quantity input::-webkit-inner-spin-button,
.psw-cart-zone .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; }
/* +/- buttons injected by JS */
.psw-cart-zone .quantity .qty-btn {
    width: 38px; height: 46px;
    border: none;
    background: transparent;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--psw-primary);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: var(--psw-transition);
    line-height: 1;
}
.psw-cart-zone .quantity .qty-btn:hover {
    background: var(--psw-primary); color: white;
}
/* Add to cart button */
.psw-cart-zone .single_add_to_cart_button,
.psw-cart-zone button[type="submit"] {
    flex: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(135deg, var(--psw-primary) 0%, var(--psw-primary-dark) 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 13px 28px !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    font-family: var(--psw-font-body) !important;
    cursor: pointer !important;
    transition: var(--psw-transition) !important;
    letter-spacing: .3px;
    white-space: nowrap;
    box-shadow: 0 4px 18px rgba(0,119,182,.25);
}
.psw-cart-zone .single_add_to_cart_button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(0,119,182,.40) !important;
}
/* Cart icon before button text */
.psw-cart-zone .single_add_to_cart_button::before {
    content: '';
    display: inline-block;
    width: 18px; height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    flex-shrink: 0;
}

/* Icon action buttons (wishlist/compare) */
.psw-icon-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.psw-icon-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border: 1.5px solid var(--psw-border);
    border-radius: 50px;
    background: transparent;
    color: var(--psw-gray);
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--psw-transition);
    font-family: var(--psw-font-body);
}
.psw-icon-btn:hover {
    border-color: var(--psw-primary);
    color: var(--psw-primary);
    background: rgba(0,119,182,.05);
}
.psw-icon-btn svg { flex-shrink: 0; }

/* Product meta */
.psw-product-meta {
    margin-bottom: 6px;
    font-size: .88rem;
}
.psw-product-meta .posted_in,
.psw-product-meta .tagged_as,
.psw-product-meta .sku_wrapper {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px;
    line-height: 1.6;
}
.psw-product-meta .posted_in strong,
.psw-product-meta .tagged_as strong,
.psw-product-meta .sku_wrapper strong {
    color: var(--psw-dark);
    font-weight: 700;
    margin-right: 2px;
    white-space: nowrap;
}
.psw-product-meta a {
    color: var(--psw-primary);
    font-weight: 600;
    font-size: .85rem;
}
.psw-product-meta a:hover { text-decoration: underline; }

/* Social share */
.psw-product-share {
    margin-bottom: 4px;
}

/* Trust badges list */
.psw-trust-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 14px;
    list-style: none;
    padding: 0;
    margin: 18px 0;
}
.psw-trust-badges li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .83rem;
    font-weight: 600;
    color: var(--psw-dark);
}
.psw-trust-badges li svg {
    color: var(--psw-primary);
    flex-shrink: 0;
}

/* Quick order row (WA + Call) */
.psw-quick-order-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.psw-btn-wa,
.psw-btn-call {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 50px;
    font-weight: 700;
    font-size: .88rem;
    cursor: pointer;
    transition: var(--psw-transition);
    text-decoration: none;
    font-family: var(--psw-font-body);
    letter-spacing: .2px;
}
.psw-btn-wa {
    background: #25D366;
    color: white;
    box-shadow: 0 4px 14px rgba(37,211,102,.30);
}
.psw-btn-wa:hover {
    background: #1ebe5d; color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(37,211,102,.40);
}
.psw-btn-call {
    background: transparent;
    color: var(--psw-dark);
    border: 2px solid var(--psw-border);
}
.psw-btn-call:hover {
    border-color: var(--psw-primary);
    color: var(--psw-primary);
    background: rgba(0,119,182,.05);
}

/* ════════════════════════════════════════════
   SINGLE PRODUCT — LOWER SECTION  (img1)
   Description / Reviews tabs
════════════════════════════════════════════ */
.psw-product-lower {
    background: #fafcff;
    border-top: 1px solid var(--psw-border);
    padding: 60px 0 80px;
}

/* Tab nav (Description / Reviews) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    border-bottom: 3px solid var(--psw-border);
    padding: 0;
    margin: 0 0 0 0;
    list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    position: relative;
    bottom: -3px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 14px 26px;
    font-weight: 700;
    font-size: .95rem;
    color: var(--psw-gray);
    font-family: var(--psw-font-body);
    letter-spacing: .2px;
    border-bottom: 3px solid transparent;
    transition: color .2s, border-color .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--psw-primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--psw-primary);
    border-bottom-color: var(--psw-primary);
}
/* No WooCommerce pseudo-element borders */
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* Tab panel */
.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--psw-white);
    border: 1px solid var(--psw-border);
    border-top: none;
    border-radius: 0 0 var(--psw-radius-lg) var(--psw-radius-lg);
    padding: 40px 45px;
    margin: 0;
}

/* Description tab inner styles (img1 layout) */
.woocommerce div.product .woocommerce-Tabs-panel--description h2 {
    display: none; /* WC auto-adds "Description" heading – hide if preferred */
}
/* Description body text */
.woocommerce div.product .woocommerce-Tabs-panel--description p {
    color: var(--psw-text);
    font-size: 1rem;
    line-height: 1.85;
    margin-bottom: 22px;
}
/* Bold brand name inline */
.woocommerce div.product .woocommerce-Tabs-panel--description strong {
    color: var(--psw-dark);
}
/* Section headings inside description (e.g. "Preparation and Usage", "Storage") */
.woocommerce div.product .woocommerce-Tabs-panel--description h3 {
    font-family: var(--psw-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--psw-dark);
    margin: 32px 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--psw-border);
}
.woocommerce div.product .woocommerce-Tabs-panel--description h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--psw-dark);
    margin: 20px 0 6px;
}
/* Lists inside description */
.woocommerce div.product .woocommerce-Tabs-panel--description ul {
    padding-left: 22px;
    list-style: disc;
    margin-bottom: 20px;
}
.woocommerce div.product .woocommerce-Tabs-panel--description ul li {
    color: var(--psw-text);
    font-size: .95rem;
    line-height: 1.7;
    margin-bottom: 6px;
}

/* Reviews tab */
.woocommerce div.product .woocommerce-Tabs-panel--reviews #reviews {
    max-width: 720px;
}
.woocommerce #reviews #comments ol.commentlist {
    margin: 0; padding: 0; list-style: none;
}
.woocommerce #reviews #comments ol.commentlist li {
    background: var(--psw-light);
    border-radius: var(--psw-radius);
    border: 1px solid var(--psw-border);
    padding: 22px 26px;
    margin-bottom: 16px;
}
.woocommerce #reviews #comments ol.commentlist li .star-rating {
    font-size: .9rem;
    color: var(--psw-warning);
    margin-bottom: 8px;
}
.woocommerce #reviews #comments ol.commentlist li .description p {
    margin: 0;
    color: var(--psw-text);
    font-size: .95rem;
    line-height: 1.7;
}
.woocommerce #reviews #comments ol.commentlist li .woocommerce-review__author {
    font-weight: 700; color: var(--psw-dark); font-size: .9rem;
}
.woocommerce #reviews #comments ol.commentlist li .woocommerce-review__dash { margin: 0 5px; }
.woocommerce #reviews #comments ol.commentlist li time { font-size: .8rem; color: var(--psw-gray); }

/* Review form */
#review_form .comment-reply-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--psw-dark);
    margin-bottom: 18px;
    font-family: var(--psw-font-heading);
}
#review_form p { margin-bottom: 16px; }
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--psw-border);
    border-radius: var(--psw-radius);
    font-family: var(--psw-font-body);
    font-size: .95rem;
    color: var(--psw-dark);
    background: var(--psw-white);
    transition: border-color .2s;
    outline: none;
}
#review_form input:focus,
#review_form textarea:focus {
    border-color: var(--psw-primary);
    box-shadow: 0 0 0 3px rgba(0,119,182,.10);
}
#review_form textarea { min-height: 100px; resize: vertical; }
#review_form #submit {
    background: linear-gradient(135deg, var(--psw-primary), var(--psw-primary-dark));
    color: white;
    border: none;
    border-radius: 50px;
    padding: 13px 32px;
    font-weight: 700;
    font-size: .95rem;
    cursor: pointer;
    transition: var(--psw-transition);
    font-family: var(--psw-font-body);
}
#review_form #submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,119,182,.35);
}

/* Related / upsell products */
.related.products,
.up-sells.products {
    margin-top: 70px;
}
.related.products h2,
.up-sells.products h2 {
    font-family: var(--psw-font-heading);
    font-size: 1.6rem;
    color: var(--psw-dark);
    margin-bottom: 28px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--psw-border);
}

/* ════════════════════════════════════════════
   CART
════════════════════════════════════════════ */
.woocommerce-cart .woocommerce-cart-form {
    background: var(--psw-white);
    border: 1px solid var(--psw-border);
    border-radius: var(--psw-radius-lg);
    overflow: hidden;
    margin-bottom: 30px;
}
.woocommerce-cart table.cart th {
    background: var(--psw-primary); color: white;
    padding: 15px 20px; font-weight: 700;
}
.woocommerce-cart table.cart td {
    padding: 15px 20px; border-bottom: 1px solid var(--psw-border);
}
.woocommerce-cart .cart_totals {
    background: var(--psw-white);
    border: 1px solid var(--psw-border);
    border-radius: var(--psw-radius-lg);
    padding: 30px;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: linear-gradient(135deg, var(--psw-primary), var(--psw-primary-dark));
    border-radius: 50px; font-weight: 700;
    padding: 14px 30px; border: none; color: white;
    transition: var(--psw-transition);
}
.woocommerce a.button.alt:hover {
    opacity: .9; transform: translateY(-1px); color: white;
}

/* ════════════════════════════════════════════
   CHECKOUT
════════════════════════════════════════════ */
.woocommerce-checkout #customer_details {
    background: var(--psw-white);
    border: 1px solid var(--psw-border);
    border-radius: var(--psw-radius-lg);
    padding: 30px; margin-bottom: 30px;
}
.woocommerce #payment {
    background: var(--psw-white);
    border: 1px solid var(--psw-border);
    border-radius: var(--psw-radius-lg);
    padding: 25px;
}
.woocommerce #payment #place_order {
    background: linear-gradient(135deg, var(--psw-primary), var(--psw-primary-dark));
    border-radius: 50px; font-weight: 700;
    font-size: 1rem; padding: 15px 35px;
    border: none; width: 100%; color: white;
    cursor: pointer; transition: var(--psw-transition);
}
.woocommerce #payment #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,119,182,.4);
}

/* ════════════════════════════════════════════
   NOTICES
════════════════════════════════════════════ */
.woocommerce-notices-wrapper .woocommerce-message {
    background: var(--psw-success); color: white;
    border: none; border-radius: var(--psw-radius);
    padding: 15px 20px;
}
.woocommerce-notices-wrapper .woocommerce-message a { color: white; text-decoration: underline; }
.woocommerce-notices-wrapper .woocommerce-error { border-radius: var(--psw-radius); }

/* ════════════════════════════════════════════
   MY ACCOUNT
════════════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--psw-primary);
    border-radius: var(--psw-radius-lg);
    padding: 20px; margin-bottom: 30px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: rgba(255,255,255,.8); display: block;
    padding: 10px 15px; border-radius: 8px;
    transition: var(--psw-transition); font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(255,255,255,.15); color: white;
}

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width: 991px) {
    .psw-product-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .psw-gallery-inner .woocommerce-product-gallery__wrapper img {
        max-height: 380px;
    }
}

@media (max-width: 768px) {
    /* Archive grid → 2 columns */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        float: none !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important; float: none !important;
        margin: 0 !important; clear: none !important;
    }

    .psw-product-upper { padding: 30px 0 40px; }

    .psw-summary-inner .product_title { font-size: 1.55rem; }

    .psw-cart-zone form.cart { flex-direction: column; align-items: stretch; }
    .psw-cart-zone .quantity { justify-content: center; }
    .psw-cart-zone .single_add_to_cart_button { width: 100%; justify-content: center; }

    .psw-trust-badges { grid-template-columns: 1fr; }

    .psw-quick-order-row { flex-direction: column; }
    .psw-btn-wa, .psw-btn-call { justify-content: center; }

    .woocommerce div.product .woocommerce-tabs .panel { padding: 24px 20px; }

    .woocommerce-cart table.cart { display: block; overflow-x: auto; }
}

@media (max-width: 480px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    .psw-price-block p.price,
    .psw-price-block span.price { font-size: 1.8rem !important; }
}
