/* Kill GeneratePress grid layout on WooCommerce pages */
.woocommerce-page main.site-main,
.woocommerce-page main#main,
.woocommerce-page #main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/**
 * Herb Whisperer — WooCommerce Style Overrides (v2)
 *
 * Fixes: grid layout, sidebar squeeze, category cards, product cards,
 * cart, checkout — all matching HW brand design.
 *
 * Place in: wp-content/themes/herb-whisperer/css/hw-woocommerce.css
 *
 * @package HerbWhisperer
 */


/* ══════════════════════════════════════════════
   FORCE FULL-WIDTH ON SHOP PAGES (no sidebar)
   ══════════════════════════════════════════════ */

.woocommerce-page .site-content,
.woocommerce-page #content,
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.woocommerce-page .hw-site-main,
.woocommerce-page #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

/* Hide sidebar on WooCommerce pages */
.woocommerce-page #secondary,
.woocommerce-page .widget-area,
.woocommerce-page aside#secondary,
.woocommerce-page .sidebar {
    display: none !important;
}

/* GeneratePress containers */
body.woocommerce-page .inside-article,
body.woocommerce-page .entry-content,
body.woocommerce-page .site-main > .woocommerce,
body.woocommerce-page article .entry-content {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 2rem 1.5rem 3rem !important;
    box-sizing: border-box !important;
}

/* WooCommerce product list must fill its container */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Kill WooCommerce default float layout */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

/* Grid items must fill their cell */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* ══════════════════════════════════════════════
   SHOP PAGE TITLE & BREADCRUMBS
   ══════════════════════════════════════════════ */

.woocommerce-products-header__title,
.woocommerce-page .page-title,
.woocommerce-page .entry-title,
.woocommerce-page article .entry-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 2.2rem !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    font-weight: 700 !important;
}

.woocommerce .woocommerce-breadcrumb {
    font-size: 0.85rem;
    color: #8A8580;
    margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #00913A;
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: #006E2C;
}

/* Result count & ordering */
.woocommerce .woocommerce-result-count {
    font-size: 0.85rem;
    color: #8A8580;
}

.woocommerce .woocommerce-ordering select {
    border-radius: 4px;
    border: 1px solid #D4C1A6;
    font-size: 0.85rem;
    padding: 0.4rem 0.75rem;
}


/* ══════════════════════════════════════════════
   PRODUCT & CATEGORY GRID
   ══════════════════════════════════════════════ */

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 960px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 560px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════════
   CATEGORY FILTER PILLS
   ══════════════════════════════════════════════ */

.hw-shop-category-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #E8E0D4;
}

.hw-pill-label {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
    font-weight: 600;
    color: #755126;
    font-size: 0.9rem;
    margin-right: 0.25rem;
}

.hw-pill {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    border: 1px solid #D4C1A6;
    background: #FFFFFF;
    color: #2D2A26;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.hw-pill:hover {
    background: #EBEDDF;
    border-color: #00913A;
    color: #00913A;
}

.hw-pill--active {
    background: #00913A !important;
    color: #FFFFFF !important;
    border-color: #00913A !important;
}

.hw-pill-count {
    font-size: 0.75rem;
    opacity: 0.7;
}

.hw-pill--active .hw-pill-count {
    opacity: 0.9;
}

@media (max-width: 560px) {
    .hw-shop-category-pills {
        gap: 0.35rem;
    }
    .hw-pill {
        font-size: 0.8rem;
        padding: 0.3rem 0.7rem;
    }
}


/* ══════════════════════════════════════════════
   CATEGORY CARDS
   ══════════════════════════════════════════════ */

.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product,
.woocommerce-page ul.products li.product-category {
    background: #FFFFFF !important;
    border-radius: 8px !important;
    border: 1px solid rgba(212, 193, 166, 0.4) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    text-align: center !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product-category:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(117, 81, 38, 0.12) !important;
}

/* Category & product images */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product-category a img,
.woocommerce ul.products li.product img,
.woocommerce ul.products li img {
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 220px !important;
    max-height: 220px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Placeholder images (no image set) */
.woocommerce ul.products li.product a img.woocommerce-placeholder,
.woocommerce ul.products li.product-category a img.woocommerce-placeholder {
    height: 220px !important;
    object-fit: contain !important;
    background: #f5f3ef;
    padding: 2rem !important;
}

/* Category titles */
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 1rem 0.75rem !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Category count */
.woocommerce ul.products li.product-category h2 .count,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count {
    display: block !important;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-size: 0.8rem !important;
    color: #8A8580 !important;
    font-weight: 400 !important;
    margin-top: 0.25rem !important;
    background: none !important;
}


/* ══════════════════════════════════════════════
   PRODUCT CARDS
   ══════════════════════════════════════════════ */

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2:not(.woocommerce-loop-category__title) {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    color: #2D2A26 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 1rem 1rem 0.25rem !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

/* Product price */
.woocommerce ul.products li.product .price {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    color: #00913A !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    padding: 0 1rem 0.5rem !important;
    margin: 0 !important;
    text-align: left !important;
}

.woocommerce ul.products li.product .price del {
    color: #8A8580 !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: #00913A !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background: #E1743F !important;
    color: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    padding: 0.25rem 0.6rem !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
    top: 0.75rem !important;
    left: 0.75rem !important;
    right: auto !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.button {
    background: #00913A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    padding: 0.6rem 1rem !important;
    margin: auto 1rem 1rem !important;
    display: inline-block !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: background 0.2s ease !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: #006E2C !important;
}

/* Star ratings */
.woocommerce ul.products li.product .star-rating {
    margin: 0.25rem 1rem !important;
    font-size: 0.8rem !important;
}


/* ══════════════════════════════════════════════
   SINGLE PRODUCT PAGE
   ══════════════════════════════════════════════ */

.woocommerce div.product {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.woocommerce div.product .product_title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.5rem !important;
}

.woocommerce div.product p.price {
    font-size: 1.5rem !important;
    color: #00913A !important;
    font-weight: 700 !important;
    margin-bottom: 1.5rem !important;
}

/* Single product add to cart */
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
    background: #00913A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 0.75rem 2rem !important;
    text-transform: none !important;
    transition: background 0.2s ease !important;
}

.woocommerce div.product form.cart .button:hover {
    background: #006E2C !important;
}

/* Quantity input */
.woocommerce div.product form.cart .quantity input {
    border: 1px solid #D4C1A6;
    border-radius: 4px;
    padding: 0.5rem;
    width: 60px;
    text-align: center;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #EBEDDF !important;
    padding: 0 !important;
    margin: 2rem 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-weight: 600 !important;
    color: #8A8580 !important;
    padding: 0.75rem 1.25rem !important;
    font-size: 0.95rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #00913A !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #00913A !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 1.5rem 0 !important;
    font-size: 1rem;
    line-height: 1.7;
}

/* Related products */
.woocommerce div.product .related.products h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* PayPal buttons on product pages */
.woocommerce div.product .ppc-button-wrapper {
    max-width: 400px;
    margin-top: 1rem;
}


/* ══════════════════════════════════════════════
   CART PAGE
   ══════════════════════════════════════════════ */

.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.woocommerce table.shop_table {
    border: 1px solid #E8E0D4 !important;
    border-radius: 8px !important;
    overflow: hidden;
    border-collapse: separate !important;
}

.woocommerce table.shop_table th {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-weight: 600;
    color: #755126;
    background: #FDFCF9;
    border-bottom: 1px solid #E8E0D4 !important;
    padding: 1rem !important;
}

.woocommerce table.shop_table td {
    padding: 1rem !important;
    border-bottom: 1px solid #f0ebe3 !important;
    vertical-align: middle;
}

.woocommerce table.shop_table td.product-name a {
    color: #2D2A26;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce table.shop_table td.product-name a:hover {
    color: #00913A;
}

/* Cart totals */
.woocommerce .cart_totals h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 1.3rem !important;
}

/* Proceed to checkout */
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
    background: #00913A !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    padding: 0.85rem 2rem !important;
    text-transform: none !important;
    transition: background 0.2s ease !important;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
    background: #006E2C !important;
}

/* Coupon */
.woocommerce .coupon input {
    border: 1px solid #D4C1A6 !important;
    border-radius: 4px !important;
    padding: 0.5rem 0.75rem !important;
}

.woocommerce .coupon button {
    background: #755126 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0.55rem 1rem !important;
    font-weight: 600 !important;
}

.woocommerce .coupon button:hover {
    background: #5A3E1D !important;
}


/* ══════════════════════════════════════════════
   CHECKOUT PAGE
   ══════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.woocommerce-checkout h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #755126 !important;
    font-size: 1.4rem !important;
    margin-bottom: 1rem !important;
}

.woocommerce form .form-row label {
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
    font-weight: 600;
    color: #2D2A26;
    font-size: 0.9rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 1px solid #D4C1A6 !important;
    border-radius: 4px !important;
    padding: 0.6rem 0.75rem !important;
    font-size: 0.95rem !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: #00913A !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 145, 58, 0.12);
}

/* Order review */
.woocommerce-checkout-review-order-table {
    border: 1px solid #E8E0D4 !important;
    border-radius: 8px !important;
    overflow: hidden;
}

/* Place order */
.woocommerce #place_order {
    background: #00913A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 0.85rem 2rem !important;
    text-transform: none !important;
    width: 100% !important;
    transition: background 0.2s ease !important;
}

.woocommerce #place_order:hover {
    background: #006E2C !important;
}

/* Payment box */
.woocommerce-checkout #payment {
    background: #FDFCF9 !important;
    border-radius: 8px !important;
    border: 1px solid #E8E0D4 !important;
    padding: 1.5rem !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #E8E0D4 !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
}


/* ══════════════════════════════════════════════
   MY ACCOUNT PAGE
   ══════════════════════════════════════════════ */

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #E8E0D4;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 0.75rem 1rem;
    color: #2D2A26;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #EBEDDF;
    color: #00913A;
}


/* ══════════════════════════════════════════════
   NOTICES & MESSAGES
   ══════════════════════════════════════════════ */

.woocommerce-message {
    border-top-color: #00913A !important;
    background: #f0f8f3 !important;
}

.woocommerce-message::before {
    color: #00913A !important;
}

.woocommerce-info {
    border-top-color: #755126 !important;
    background: #FDFCF9 !important;
}

.woocommerce-error {
    border-top-color: #E1743F !important;
    background: #fef5f2 !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
    background: #00913A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    padding: 0.5rem 1rem !important;
    text-transform: none !important;
}


/* ══════════════════════════════════════════════
   REMOVE SIDEBAR WIDGETS ON SHOP PAGES
   ══════════════════════════════════════════════ */

.woocommerce-page .widget_search,
.woocommerce-page .widget_recent_entries,
.woocommerce-page .widget_recent_comments,
.woocommerce-page .widget_archive,
.woocommerce-page .widget_categories,
.woocommerce-page .widget_meta {
    display: none !important;
}
