/* WooCommerce Overrides — Dark Gothic */

/* Shop Page Layout */
.hsfh-shop-page { background: var(--black); padding: 40px 0 80px; min-height: 80vh; }
.hsfh-shop-page .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.hsfh-shop-title { font-family: var(--font-display); font-size: 2.4rem; color: var(--gold); margin: 0 0 8px; }
.hsfh-shop-count { color: var(--smoke); font-size: .9rem; margin-bottom: 24px; }
.hsfh-shop-controls { display: flex; justify-content: flex-end; margin-bottom: 24px; }
.hsfh-shop-controls .woocommerce-ordering select { background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment); padding: 8px 12px; font-family: var(--font-body); }
.hsfh-no-products { color: var(--smoke); font-size: 1.1rem; text-align: center; padding: 60px 0; }

.woocommerce .products,
.woocommerce ul.products,
.hsfh-shop-page .products,
.hsfh-shop-page ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 28px !important; list-style: none !important; padding: 0 !important; }

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.hsfh-shop-page ul.products li.product,
body.woocommerce ul.products li.product {
    background: var(--stone); border: 1px solid var(--dark-gray); padding: 0; margin: 0 !important;
    transition: all .4s; overflow: hidden; width: 100% !important; float: none !important;
    max-width: 100% !important;
}
.woocommerce ul.products li.product:hover { border-color: var(--gold-muted); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.5); }
.woocommerce ul.products li.product a img,
.hsfh-shop-page ul.products li.product a img { margin: 0 !important; width: 100% !important; height: auto !important; }

/* Kill WooCommerce ghost grid elements */
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; content: none !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading); font-size: 1rem; color: var(--parchment);
    letter-spacing: 1px; text-transform: uppercase; padding: 14px 14px 4px;
}
.hs-scent-notes { display: block; padding: 0 14px; font-size: .8rem; color: var(--smoke); }
.woocommerce ul.products li.product .price { padding: 4px 14px 14px; color: var(--gold); font-family: var(--font-heading); font-weight: 700; }

.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    background: var(--hell-red) !important; color: #fff !important; border: none;
    font-family: var(--font-heading); font-size: .8rem; letter-spacing: 1.5px; text-transform: uppercase;
    padding: 12px 24px; cursor: pointer; transition: all .3s; border-radius: 0;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
    background: #ff2222 !important; box-shadow: 0 0 15px rgba(215,25,25,.5); transform: translateY(-2px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt {
    background: var(--gold) !important; color: var(--black) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
    background: var(--cream) !important;
}

/* Single Product */
.woocommerce div.product { color: var(--parchment); }
.woocommerce div.product .product_title { font-family: var(--font-display); font-size: 2.2rem; color: var(--gold); }
.woocommerce div.product p.price { font-family: var(--font-heading); font-size: 1.6rem; color: var(--gold); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--parchment); line-height: 1.8; }

/* Custom Single Product Template */
.hsfh-single-product { background: var(--black); padding: 40px 0 80px; min-height: 80vh; }
.hsfh-single-product .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.hsfh-breadcrumb { font-size: .85rem; color: var(--smoke); padding: 0 0 24px; }
.hsfh-breadcrumb a { color: var(--gold-muted); text-decoration: none; }
.hsfh-breadcrumb a:hover { color: var(--gold); }
.hsfh-breadcrumb span { color: var(--parchment); }

.hsfh-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.hsfh-product-gallery { position: relative; }
.hsfh-product-main-img { width: 100%; border: 1px solid var(--dark-gray); }
.hsfh-product-placeholder { width: 100%; padding: 200px 0; text-align: center; background: var(--charcoal); color: var(--smoke); font-size: 1.2rem; }
.hsfh-product-thumbs { display: flex; gap: 8px; margin-top: 12px; }
.hsfh-thumb { width: 80px; height: 80px; overflow: hidden; border: 1px solid var(--dark-gray); cursor: pointer; transition: border-color .3s; }
.hsfh-thumb:hover { border-color: var(--gold); }
.hsfh-thumb img { width: 100%; height: 100%; object-fit: cover; }

.hsfh-product-title { font-family: var(--font-display); font-size: 2.2rem; color: var(--gold); margin: 0 0 8px; line-height: 1.2; }
.hsfh-scent-tagline { color: var(--smoke); font-style: italic; font-size: 1rem; margin: 0 0 16px; }
.hsfh-product-price { font-family: var(--font-heading); font-size: 1.8rem; color: var(--gold); margin-bottom: 16px; }
.hsfh-product-price del { color: var(--smoke); font-size: 1.2rem; }
.hsfh-product-price ins { text-decoration: none; color: var(--hell-red); }
.hsfh-short-desc { color: var(--parchment); line-height: 1.8; margin-bottom: 20px; }

.hsfh-add-to-cart { margin-bottom: 24px; }
.hsfh-add-to-cart .quantity input { background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment); padding: 10px; width: 60px; text-align: center; }
.hsfh-add-to-cart button.single_add_to_cart_button {
    background: var(--hell-red) !important; color: #fff !important; border: none;
    font-family: var(--font-heading); font-size: .9rem; letter-spacing: 2px; text-transform: uppercase;
    padding: 14px 36px; cursor: pointer; transition: all .3s;
}
.hsfh-add-to-cart button.single_add_to_cart_button:hover {
    background: #ff2222 !important; box-shadow: 0 0 20px rgba(215,25,25,.5); transform: translateY(-2px);
}

.hsfh-scent-panel {
    background: var(--charcoal); border: 1px solid var(--dark-gray); padding: 24px; margin-bottom: 24px;
}
.hsfh-scent-panel h3 { font-family: var(--font-heading); font-size: 1rem; letter-spacing: 2px; color: var(--gold); margin: 0 0 16px; }
.hsfh-scent-panel table { width: 100%; border-collapse: collapse; }
.hsfh-scent-panel th { text-align: left; padding: 8px 12px; font-family: var(--font-heading); font-size: .8rem; letter-spacing: 1px; color: var(--gold); border-bottom: 1px solid var(--dark-gray); width: 35%; }
.hsfh-scent-panel td { padding: 8px 12px; font-size: .9rem; color: var(--parchment); border-bottom: 1px solid var(--dark-gray); }

.hsfh-product-meta { color: var(--smoke); font-size: .85rem; }
.hsfh-product-meta span { display: inline-block; margin-right: 16px; }
.hsfh-product-meta a { color: var(--gold-muted); }

.hsfh-full-description { background: var(--stone); border: 1px solid var(--dark-gray); padding: 40px; margin-top: 40px; color: var(--parchment); line-height: 1.8; }
.hsfh-full-description h2 { font-family: var(--font-heading); font-size: 1.2rem; letter-spacing: 2px; color: var(--gold); margin: 0 0 16px; }

.hsfh-reviews-section { margin-top: 40px; }

/* Old panel style kept for backwards compat */
.hs-product-details-panel {
    background: var(--charcoal); border: 1px solid var(--dark-gray); padding: 24px; margin-top: 24px;
}
.hs-product-details-panel h3 { font-family: var(--font-heading); font-size: 1rem; letter-spacing: 2px; margin-bottom: 16px; }
.hs-details-table { width: 100%; border-collapse: collapse; }
.hs-details-table th { text-align: left; padding: 8px 12px; font-family: var(--font-heading); font-size: .8rem; letter-spacing: 1px; color: var(--gold); border-bottom: 1px solid var(--dark-gray); width: 35%; }
.hs-details-table td { padding: 8px 12px; font-size: .9rem; color: var(--parchment); border-bottom: 1px solid var(--dark-gray); }

@media (max-width: 768px) {
    .hsfh-product-grid { grid-template-columns: 1fr; gap: 24px; }
    .hsfh-product-title { font-size: 1.6rem; }
    .hsfh-product-price { font-size: 1.4rem; }
}

/* Cart */
.woocommerce-cart .woocommerce { color: var(--parchment); }
.woocommerce table.shop_table { background: var(--stone); border: 1px solid var(--dark-gray); border-collapse: collapse; }
.woocommerce table.shop_table th { background: var(--charcoal); color: var(--gold); font-family: var(--font-heading); letter-spacing: 1px; border: 1px solid var(--dark-gray); padding: 12px; }
.woocommerce table.shop_table td { border: 1px solid var(--dark-gray); padding: 12px; color: var(--parchment); }
.woocommerce table.shop_table td.product-name a { color: var(--gold); }
.woocommerce .cart_totals h2 { font-family: var(--font-heading); color: var(--gold); letter-spacing: 2px; font-size: 1rem; text-transform: uppercase; }
.woocommerce .cart_totals .shop_table { background: var(--stone); }
.woocommerce .cart_totals .order-total .amount { color: var(--gold); font-family: var(--font-heading); font-size: 1.3rem; }
.woocommerce .coupon input.input-text { background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment); padding: 10px; font-family: var(--font-body); }
.woocommerce .coupon input.input-text:focus { border-color: var(--gold); outline: none; }
.woocommerce a.remove { color: var(--hell-red) !important; font-size: 1.4rem; }
.woocommerce a.remove:hover { background: var(--hell-red) !important; color: #fff !important; }
.woocommerce .quantity .qty { background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment); width: 60px; text-align: center; }

/* Block-based Cart */
.wc-block-cart { color: var(--parchment); }
.wc-block-cart .wc-block-cart__main { background: var(--stone); border: 1px solid var(--dark-gray); padding: 20px; }
.wc-block-cart .wc-block-cart__sidebar { background: var(--stone); border: 1px solid var(--dark-gray); padding: 20px; }
.wc-block-components-product-name { color: var(--gold) !important; }
.wc-block-components-product-metadata { color: var(--smoke); }
.wc-block-components-totals-item .wc-block-components-totals-item__value { color: var(--gold); }
.wc-block-components-quantity-selector input { background: var(--charcoal) !important; border-color: var(--dark-gray) !important; color: var(--parchment) !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: var(--charcoal) !important; color: var(--parchment) !important; border-color: var(--dark-gray) !important; }

/* Checkout */
.woocommerce-checkout .woocommerce { color: var(--parchment); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
    background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment);
    padding: 10px 14px; font-family: var(--font-body); font-size: .95rem;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
    border-color: var(--gold); outline: none;
}
.woocommerce form .form-row label { color: var(--parchment); font-family: var(--font-heading); font-size: .8rem; letter-spacing: 1px; }
.woocommerce #order_review_heading { font-family: var(--font-heading); color: var(--gold); letter-spacing: 2px; font-size: 1rem; text-transform: uppercase; }
.woocommerce .woocommerce-checkout-review-order-table { background: var(--stone); }
.woocommerce .woocommerce-checkout-payment { background: var(--stone) !important; border: 1px solid var(--dark-gray); }
.woocommerce .woocommerce-checkout-payment .payment_methods li { background: var(--charcoal); border: 1px solid var(--dark-gray); margin-bottom: 8px; padding: 12px; }
.woocommerce .woocommerce-checkout-payment .payment_methods li label { color: var(--parchment); }
.woocommerce .woocommerce-checkout-payment .payment_box { background: var(--stone) !important; color: var(--smoke); }

/* Block-based Checkout */
.wc-block-checkout { color: var(--parchment); }
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea {
    background: var(--charcoal) !important; border-color: var(--dark-gray) !important; color: var(--parchment) !important;
}
.wc-block-checkout .wc-block-components-text-input label { color: var(--smoke) !important; }
.wc-block-checkout .wc-block-components-text-input input:focus { border-color: var(--gold) !important; }
.wc-block-checkout__actions .wc-block-components-button { background: var(--gold) !important; color: var(--black) !important; font-family: var(--font-heading); letter-spacing: 2px; }
.wc-block-checkout__actions .wc-block-components-button:hover { background: var(--cream) !important; }
.wc-block-checkout .wc-block-components-order-summary { background: var(--stone); border: 1px solid var(--dark-gray); }
.wc-block-checkout .wc-block-components-totals-wrapper { border-color: var(--dark-gray); }

/* My Account */
.woocommerce-account .woocommerce { color: var(--parchment); }
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--stone); border: 1px solid var(--dark-gray); padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block; padding: 14px 20px; color: var(--parchment); font-family: var(--font-heading); font-size: .85rem;
    letter-spacing: 1px; text-transform: uppercase; border-bottom: 1px solid var(--dark-gray); transition: all .3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--charcoal); color: var(--gold); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--charcoal); color: var(--gold); border-left: 3px solid var(--gold); }
.woocommerce-account .woocommerce-MyAccount-content { color: var(--parchment); }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--gold); }
.woocommerce-account .woocommerce-MyAccount-content table { background: var(--stone); border: 1px solid var(--dark-gray); }
.woocommerce-account .woocommerce-MyAccount-content table th { background: var(--charcoal); color: var(--gold); }
.woocommerce-account .woocommerce-MyAccount-content table td { border: 1px solid var(--dark-gray); }

/* Login/Register Form */
.woocommerce form.login, .woocommerce form.register {
    background: var(--stone); border: 1px solid var(--dark-gray); padding: 30px;
}
.woocommerce form.login p, .woocommerce form.register p { color: var(--parchment); }
.woocommerce form.login label, .woocommerce form.register label { color: var(--parchment); }
.woocommerce form.lost_reset_password p { color: var(--parchment); }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text { background: var(--charcoal); border: 1px solid var(--dark-gray); color: var(--parchment); }
.woocommerce .star-rating span::before { color: var(--gold); }
.woocommerce .star-rating::before { color: var(--dark-gray); }

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb { color: var(--smoke); font-size: .85rem; padding: 16px 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gold-muted); }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
    background: var(--stone); border-color: var(--dark-gray); color: var(--parchment);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--gold); color: var(--black); border-color: var(--gold); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    background: var(--stone); border-top-color: var(--gold); color: var(--parchment);
}
.woocommerce-message::before { color: var(--gold); }
.woocommerce-info::before { color: var(--gold); }
.woocommerce-error::before { color: var(--hell-red); }

/* Select2 dropdowns (WooCommerce checkout) */
.select2-container--default .select2-selection--single { background: var(--charcoal); border-color: var(--dark-gray); color: var(--parchment); height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--parchment); line-height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px; }
.select2-dropdown { background: var(--charcoal); border-color: var(--dark-gray); }
.select2-results__option { color: var(--parchment); padding: 8px 12px; }
.select2-results__option--highlighted { background: var(--gold) !important; color: var(--black) !important; }
.select2-search--dropdown .select2-search__field { background: var(--stone); border-color: var(--dark-gray); color: var(--parchment); }
