/*
Theme Name: Astra Child
Template: astra
*/

:root {
    --ast-global-color-5: transparent;
}

body {
    color: var(--muted)!important; /* Override inline css */
}

/* Header */
.ast-above-header.ast-above-header-bar {
    background-color: transparent;
}

.main-header-bar-wrap {
    border-bottom: 1px solid #e0e0e0;
}

header {
    position: relative;
    z-index: 9;
}

/* CONTACT FORM TEXT FIELDS (Name, Email, Message) */

.wpforms-container,
.forminator-custom-form .forminator-error-message {
    color: var(--muted);
}

.forminator-custom-form label {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 3px;
}

.forminator-custom-form input,
.forminator-custom-form textarea {
    border: 1px solid var(--sand);
    background-color: transparent!important; /* Override inline css */
    color: var(--ink);
    transition: border-color 0.1s ease-in-out;
    width: 100%;
}

.forminator-custom-form input:hover,
.forminator-custom-form textarea:hover {
    outline: none;
    border-color: var(--accent);
}

body.woocommerce-js .forminator-custom-form input:focus,
body.woocommerce-js .forminator-custom-form textarea:focus {
    border-color: var(--accent);
    outline: 0;
    border-style: solid;
    background: transparent;
}

.forminator-custom-form input::placeholder,
.forminator-custom-form textarea::placeholder {
    opacity: 1;
}

.forminator-custom-form label .forminator-required {
    display: none;
}

.forminator-custom-form input[type="file"] {
    padding: 1.5rem;
    border-style: dashed;
    font-size: 0;
}

.forminator-custom-form input:not(:placeholder-shown),
.forminator-custom-form textarea:not(:placeholder-shown) {
    color: var(--ink);
}

body.woocommerce-js .forminator-custom-form textarea {
    resize: none;
    min-height: 140px; /* Bugfix: forminator setting is broken */
}

input[type="file"]::file-selector-button {
  display: none;
}

.forminator-custom-form input[type="file"]::before {
    content: var(--file-name, "Lohista fail siia või klõpsa");
    width: 100%;
    position: relative;
    display: block;
    height: 1rem;
    font-size: 1rem;
    line-height: 1rem;
    text-align: center;
}

.forminator-custom-form input[type="file"]::-webkit-file-upload-button {
  display: none;
}

.forminator-custom-form input[type="file"] {
    cursor: pointer;
}

.forminator-custom-form input,
.forminator-custom-form textarea {
    position: relative;
    z-index: 5; /* Lifts the input field above the label */
}

.forminator-custom-form .forminator-button-submit {
    color: var(--warm);
    padding: 1rem 1.5rem;
    border-width: 2px;
    border-color: var(--bark);
    border-style: solid;
    background-color: var(--bark);
    align-self: start;
    width: 100%;
    border-radius: 2px;
}

.forminator-custom-form .forminator-button-submit:hover,
.forminator-custom-form .forminator-button-submit:focus-visible {
    color: var(--warm);
    text-decoration: none;
    border-color: var(--bark);
    opacity: 80%;
}

.forminator-button-submit .btn-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.5);
  border-top-color: #fff;
  border-radius: 50%;
  animation: btn-spin 0.8s linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}

@keyframes btn-spin {
  to { transform: rotate(360deg); }
}

.forminator-button-submit.loading .btn-spinner {
  display: inline-block;
}

.forminator-button-submit.loading {
  opacity: 0.75;
  pointer-events: none;
  cursor: not-allowed;
}

ul.forminator-uploaded-files {
    margin: 0;
    list-style: none;
}

ul.forminator-uploaded-files li {
    padding: 1rem;
    margin-top: 1rem;
    border: 1px solid var(--sand);
    background-color: transparent;
    color: var(--ink);
}

ul.forminator-uploaded-files li .forminator-uploaded-file--content {
    display: flex;
    align-items: center;
}

ul.forminator-uploaded-files li .forminator-uploaded-file--text {
    display: inline-block;
}

ul.forminator-uploaded-files li .forminator-uploaded-file--title {
    margin: 0;
}

ul.forminator-uploaded-files li .forminator-uploaded-file--size {
    display: none;
}

ul.forminator-uploaded-files li .forminator-icon-file {
    display: none;
}

ul.forminator-uploaded-files li .forminator-button-delete {
    background: transparent;
    color: var(--bark);
    padding: 0.5rem;
    vertical-align: middle;
    margin-left: auto;
}

ul.forminator-uploaded-files li .forminator-button-delete:hover {
    opacity: 0.8;
}

/* Checkout page */

.woocommerce-page.woocommerce-checkout #payment div.form-row {
    padding: 0!important; /* Override inline css */
}

body.woocommerce-page.woocommerce-checkout form #order_review_heading,
body.woocommerce-page.woocommerce-checkout form #order_review {
    clear: none;
    width: 100%;
    float: none;
    border: none!important; /* Override inline css */
}

form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading),
form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
    padding: 0!important; /* Override inline css */
}

@media screen and (min-width: 922px) {
    .woocommerce-js #customer_details,
    .woocommerce-js .checkout-sidebar {
        width: 40%;
    }
}

.woocommerce-js .checkout-sidebar,
.woocommerce-js #customer_details {
    padding: 1.5rem;
    border: 1px solid var(--sand);
    background: white;
    float: right;
    margin-right: 0;
    clear: right;
}

.checkout-sidebar .secondary-button {
    width: 100%;
    margin-top: 1rem;
    line-height: 2;
}

/* CHECKOUT FORM FIELDS - match contact page style */
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select {
    border: 1px solid var(--accent);
    background-color: white;
    color: #2d2d2d;
    transition: box-shadow 0.1s ease-in-out;
}

body.woocommerce-checkout .input-text:hover,
body.woocommerce-checkout select:hover {
    outline: none;
    box-shadow: 0 0 0 1px var(--accent);
    border-color: var(--accent);
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus {
    box-shadow: 0 0 0 1px var(--accent);
    border-color: var(--accent)!important; /* Override inline css */
    border-style: solid!important; /* Override inline css */
}

.woocommerce-js form .form-row.woocommerce-validated .select2-container,
.woocommerce-js form .form-row.woocommerce-validated input.input-text,
.woocommerce-js form .form-row.woocommerce-validated select {
    border-color: var(--accent)!important; /* Override inline css */
}

body.woocommerce-checkout .input-text::placeholder {
    opacity: 1;
}

body.woocommerce-checkout #payment ul.payment_methods li input {
    margin: 0 5px 0 0;
}

.woocommerce-billing-fields > label {
    margin-top: 10px;
    display: block;
}

.woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 10px;
}

body.woocommerce-checkout .woocommerce-billing-fields h3 {
    padding: 0!important; /* Override inline css */
    border: 0!important; /* Override inline css */
    text-align: left;
    font-weight: bold;
    color: var(--bark);
    font-family: "Inter";
    font-size: 16px !important;
}

body.woocommerce-checkout .product-thumbnail img {
    border-radius: 0.5rem;
    margin-right: 0.5rem;
}

body.woocommerce-checkout .product-name .product-quantity {
    display: none;
}

body.woocommerce-page.woocommerce-checkout form #order_review td.product-name,
body.woocommerce.woocommerce-checkout form #order_review td.product-name {
    flex-wrap: nowrap;
}

body.woocommerce-checkout .product-name-wrapper {
    width: 100%;
    display: flex;
    align-items: center;
}

/* Checkout order received */

body.woocommerce-page.woocommerce-checkout .woocommerce-order-details h2,
body.woocommerce-page.woocommerce-checkout .woocommerce-customer-details h2,
body.woocommerce-page.woocommerce-checkout .mc-shipping-block-info h2 {
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    background: white;
}

body.woocommerce-page.woocommerce-checkout .woocommerce-order-details table,
body.woocommerce-page.woocommerce-checkout .woocommerce-customer-details address {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    background: white;
}

.woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title,
.woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title {
    background: white;
}

body.woocommerce-page.woocommerce-checkout .mc-shipping-block-info {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

body.woocommerce-page.woocommerce-checkout  .mc-shipping-block-info h2 {
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: var(--ast-border-color);
    margin-bottom: 0;
    padding: 1em;
    font-size: 1.3rem;
}

body.woocommerce-page.woocommerce-checkout .woocommerce-customer-details h3 {
    display: inline-block;
}

body.woocommerce-page.woocommerce-checkout .woocommerce-column--shipping-address {
    display: none;
}

body.woocommerce-page.woocommerce-checkout .woocommerce-column--billing-address {
    width: 100%;
}

/* Changes text selection (highlight) colour across the page */
::selection {
    background-color: #c4c4c4 !important;
    color: inherit !important; /* Preserves the text's original colour */
}

/* Same for the Safari browser */
::-moz-selection {
    background-color: #c4c4c4 !important;
    color: inherit !important;
}

.woocommerce-js ul.products li.product.product-category a img {
    filter: brightness(0.8);
}

/* Removes white bar and enlarges text */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 10;
    padding: 0;
    font-weight: 700;
    font-size: 24px;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    background: none;
    background-color: transparent;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5), 0 0 20px rgb(0 0 0);
    font-size: 1.75rem;
    text-transform: uppercase !important; /* Override inline css */
    margin-bottom: 65%;
}

.woocommerce ul.products li.product.product-category a:hover .woocommerce-loop-category__title {
    background-color: transparent;
}

/* Sets the container background to grey (#EDEDED) */
body .ast-woocommerce-container {
    background-color: #EDEDED;
}

body.ast-separate-container .ast-article-post,
body.ast-separate-container .ast-article-single {
    padding: 0 20px;
}

/* Hides product count ("10 Products") - optional */
.woocommerce ul.products li.product.product-category .count {
    display: none;
}

/* Container setup so that positioning works */
.woocommerce ul.products li.product.product-category a {
    position: relative;
    overflow: hidden;
    display: block;
}

/* Slight zoom effect on hover */
.woocommerce ul.products li.product.product-category:hover img {
    transform: scale(1.05);
    filter: brightness(1);
}

/* Makes the image zoom smooth and slow */
.woocommerce ul.products li.product.product-category img {
    transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
    will-change: transform;
}

/* 1. On large screens (desktop) remove padding and force 1200px width */
@media (min-width: 1201px) {
    body .ast-woocommerce-container,
    body.archive.woocommerce #primary {
        max-width: 1200px;
        width: 1200px;
        padding-left: 0;
        padding-right: 0;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Removes product count and sorting controls */
body .woocommerce-result-count,
body .woocommerce-ordering {
    display: none;
}

/* 1. Remove white box and excess space around the heading */
body .ast-container .ast-archive-description,
body .woocommerce-products-header,
body header.woocommerce-products-header {
    background: transparent;
    background-color: transparent;
    padding: 0;
    margin-bottom: 40px;
    border: none;
    box-shadow: none;
    text-align: left;
}

/* 2. Existing heading code with minor adjustments (margins) */
body.archive .ast-archive-description .ast-archive-title,
body h1.ast-archive-title {
    font-weight: 500;
    color: #333;
    font-size: 34px;
}

/* Section subheading and divider styles */
.products-divider {
    width: 100%;
    clear: both;
    margin-top: 40px; /* Gap between categories and the heading */
    margin-bottom: 40px; /* Gap between the heading and products */
    border-top: 1px solid #e2e2e2; /* Optional thin line */
    padding-top: 40px;
}

h2.products-subheading {
    font-size: 34px;
    font-weight: 500;
    text-align: left;
}

/* MINIMALIST PRODUCT CARD DESIGN */

/* 1. General cleanup: remove shadows and borders */
.ast-woocommerce-container ul.products li.product {
    background: transparent;
    overflow: visible;
}

/* PRODUCT NAME AND PRICES (Updated: lighter font) */

/* 1. Increase product name size and alignment */
body .ast-woocommerce-container ul.products a.ast-loop-product__link {
    font-size: 24px;
    text-decoration: none;
    color: #333;
}

.woocommerce ul.products li.product:hover a.ast-loop-product__link h2 {
    text-decoration: underline;
}

/* 2. Price container setup */
.woocommerce ul.products li.product .price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    color: #2d2d2d;
    font-weight: 500;
    margin-top: -10px;
}

/* 4. Original price */
.woocommerce ul.products li.product .price del {
    color: var(--accent);
    font-size: 24px;
    order: 2;
    font-weight: 400;
    opacity: 0.6;
}

/* --- SALE BADGE FINAL FIX --- */

/* 1. HIDE DUPLICATE (Astra "Sale" badge) */
body .ast-onsale-card {
    display: none;
}

/* 2. SET ANCHOR (Image wrapper) */
.ast-woocommerce-container ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    overflow: hidden;
}

/* 3. STYLE THE ONLY REMAINING BADGE (With percentage) */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    /* Show it explicitly */
    display: block !important; /* Override inline css */
    visibility: visible !important; /* Override inline css */
    opacity: 1 !important; /* Override inline css */

    /* Design */
    background-color: var(--bark); /* Grey background */
    color: var(--warm);
    font-size: 12px;
    font-weight: 700; /* Slightly bolder so the red reads well */
    padding: 0.5rem 0.75rem!important;
    border-radius: 0.25rem;
    line-height: 1 !important; /* Override inline css */

    /* Reset Astra overrides */
    min-height: 0 !important; /* Override inline css */
    min-width: 0;
    width: auto;
    height: auto;
    margin: 0;

    /* POSITIONING (Bottom-left of image) */
    position: absolute;
    z-index: 10;
    top: 10px;
    bottom: auto;
    left: 10px;
    right: auto;
}

/* Removes forced uppercase on category names (TOPS -> Tops) */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title,
.ast-woocommerce-container ul.products li.product.product-category .woocommerce-loop-category__title {
    text-transform: none;
}

/* REDUCING SPACING BETWEEN PRODUCTS */

/* 1. Reduces horizontal and vertical gap between images */
.ast-woocommerce-container ul.products,
.woocommerce ul.products {
    grid-column-gap: 10px; /* Change this number to adjust spacing */
    grid-row-gap: 0;
    display: grid;
}

/* 2. Removes excess space below the product card */
.ast-woocommerce-container ul.products li.product,
.woocommerce ul.products li.product {
    margin-bottom: 10px;
    padding-bottom: 0;
}

/* 3. Removes space between the image and title */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    margin-bottom: 5px;
    display: block;
}

/* HIDE DUPLICATE HEADING (Everywhere EXCEPT the 'riided' parent category) */

/* Using :not() selector to exclude the 'riided' page */
body.tax-product_cat:not(.term-riided) .ast-archive-description,
body.tax-product_cat:not(.term-riided) .woocommerce-products-header {
    display: none;
}

/* SHOW ONLY OURS (Our PHP one) */
.subcategory-header .subcategory-title {
    display: block;
}

h1.subcategory-title {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 34px;
    font-weight: 500;
    margin-bottom: 40px;
}

/* SHOPIFY-STYLE BREADCRUMB */

.subcategory-header .woocommerce-breadcrumb {
    font-size: 15px;
    font-weight: 500;

    /* This line creates the gap with the heading: */
    margin-bottom: 40px;
}

.subcategory-header .woocommerce-breadcrumb a:hover {
    opacity: 0.8; /* Slightly lighter on hover */
}

/* Separator (Arrow ›) */
.woocommerce-js .woocommerce-breadcrumb .breadcrumb-separator {
    color: var(--accent);
    font-size: 20px;
    margin: 0 5px;
    line-height: 1;
    position: relative;
}

.woocommerce-js .woocommerce-breadcrumb,
.woocommerce-js .woocommerce-breadcrumb a {
    color: var(--muted);
}

.ast-separate-container .ast-woocommerce-container {
    padding: 0;
}

/* --- SINGLE PRODUCT PAGE LAYOUT --- */

.woocommerce-js .elementor-products-grid .cross-sells ul.products.elementor-grid li.product {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px;
}

.woocommerce-js .cross-sells ul.products li.product a img {
    width: 60px;
    height: auto;
    border-radius: 0.25rem;
}

.woocommerce-js ul.products li.product a img {
    border-radius: 0.25rem;
}

.woocommerce-js .cross-sells ul.products li.product .price,
.woocommerce-js .cross-sells ul.products li.product .price del {
    font-size: 1rem;
    justify-content: start;
}

.woocommerce-js .cross-sells ul.products li.product .onsale {
    display: none!important;
}

.woocommerce-js .cross-sells ul.products li.product .astra-shop-thumbnail-wrap {
    flex: 0 0 auto;
}

/* .compatible-products-wrap {
    margin-top: 30px;
    border-top: 1px solid #e2e2e2;
    padding-top: 20px;
}

.compatible-products-wrap h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px;
}

.compatible-product-item {

}

.compatible-product-item img {

}

.compatible-product-title {
    display: block;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    color: #333;
}

.compatible-product-title:hover {
    text-decoration: underline;
}

.compatible-product-item a:hover ~ .compatible-product-info .compatible-product-title {
    text-decoration: underline;
}

.compatible-product-price {
    font-size: 14px;
} */

/* 1. Add space below the header */
.single-product .site-content {
    padding-top: 50px;
    margin-top: 0;
}

/* --- BREADCRUMB ON PRODUCT PAGE (FIXED: UNIFORM COLOUR) --- */

/* 1. HIDE DUPLICATES */
/* .woocommerce-breadcrumb:not(.product-breadcrumb-header .woocommerce-breadcrumb),
.ast-breadcrumbs-wrapper {
    display: none;
} */

/* 2. LAYOUT (Left of image) */
.product-breadcrumb-header {
    width: 100%;
    margin-bottom: 50px;
    margin-top: 0;
		margin-left: 5px;
    display: block;
    text-align: left;
}

.product-breadcrumb-header .woocommerce-breadcrumb {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.product-breadcrumb-header .woocommerce-breadcrumb a {
    text-decoration: none;
    transition: opacity 0.2s ease;
}

/* On hover make slightly transparent so it's clear it's a link */
.product-breadcrumb-header .woocommerce-breadcrumb a:hover {
    opacity: 0.8;
}

/* 5. SEPARATOR (Arrow ›) - Also dark to match the set */
/* .product-breadcrumb-header .woocommerce-breadcrumb .breadcrumb-separator {
    font-size: 20px;
    margin: 0 10px;
    line-height: 1;
    position: relative;
    top: -1px;
} */

/* --- SINGLE PRODUCT PAGE DESIGN V2 (FIXED) --- */

/* 1. REMOVING DUPLICATES (THE MAGIC) */

/* a) Hide ALL cart forms in this area... */
.entry-summary form.cart {
    display: none;
}

/* b) ...but show ONLY the one inside our PHP wrapper */
.entry-summary .cart-button-wrapper form.cart {
    display: block;
    margin-top: 20px;
}

/* c) Hide the duplicate descriptions at the bottom (Tabs) */
.woocommerce-tabs,
.product-tabs-wrapper,
#tab-description {
    display: none;
}

/* 2. HEADING */
body.woocommerce-js .product_title.entry-title {
    font-size: 38px;
    line-height: 1.2;
    margin-bottom: 10px;
    text-align: left;
    font-weight: 500;
}

/* 3. PRICE */
body.woocommerce-js .price {
    padding: 10px 0;
}

.woocommerce-js div.product p.price ins,
.woocommerce-js div.product span.price ins,
.woocommerce-js ul.products li.product .price ins {
    font-weight: 500;
}

body.woocommerce-js .price,
body.woocommerce-js .compatible-product-price {
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

body.woocommerce-js .price ins bdi,
body.woocommerce-js .compatible-product-price ins bdi {
    color: var(--muted);
    text-decoration: none;
    order: 1;
    background: transparent;
}

body.woocommerce-js .price del {
    font-size: 26px;
}

body.woocommerce-js .price del,
body.woocommerce-js .compatible-product-price del {
    color: var(--accent);
    margin-left: 10px;
    order: 2;
}

.woocommerce-js div.product p.price del,
.woocommerce-js div.product span.price del {
    opacity: 1;
}

body.woocommerce-js .price del bdi {
    color: var(--accent);
}

body.woocommerce-js .price bdi {
    color: var(--muted);
    font-weight: 400;
}

/* 4. DESCRIPTION (Text) */
.product-description {
    margin-bottom: 35px;
    font-size: 16px;
}

.product-description p {
    margin-bottom: 25px;
}

/* 5. BUTTON DESIGN (Wide and black) */

body.single-product #main .ast-woocommerce-container button.single_add_to_cart_button {
    width: 100%;
}

.woocommerce-js .button {
    line-height: 2!important; /* Override inline css */
    text-transform: none!important; /* Override inline css */
}

.woocommerce-js button.button.disabled:hover {
    color: white!important; /* Override inline css */
}

.woocommerce-js button.button.disabled {
    background: var(--bark)!important; /* Override inline css */
}

/* body.single-product #main .ast-woocommerce-container button.single_add_to_cart_button,
body.woocommerce .ast-container .woocommerce-message a.button,
.ast-container .wc-proceed-to-checkout a.button,
.woocommerce-page.woocommerce-checkout #payment button,
.woocommerce.woocommerce-checkout #payment button,
.woocommerce form.checkout_coupon .button,
body.woocommerce-js .woocommerce-notices-wrapper a,
.woocommerce-js a.button { // selector for almost all buttons
    border-radius: 6px;
    padding: 16px 26px;
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
    transition: box-shadow 0.1s ease;
    text-decoration: none!important; // Override inline css
    border-color: #333;
    background-color: #333;
    color: #fff;
    text-decoration: none;
    line-height: 1;
} */

.woocommerce-js a.button {
    border-radius: 2px;
    text-align: center;
}

.woocommerce form.checkout_coupon .button {
    padding: 6px 26px;
    line-height: 1;
}

.woocommerce .checkout_coupon.woocommerce-form-coupon {
    display: flex;
    gap: 10px;
}

.woocommerce-js .product:has(.quantity input[type=hidden]) .button.single_add_to_cart_button {
    margin-left: 0;
    margin-right: 1rem;
}

/* body.single-product #main .ast-woocommerce-container button.single_add_to_cart_button:hover,
body.woocommerce .ast-container .woocommerce-message a.button:hover,
.ast-container .wc-proceed-to-checkout a.button:hover,
.woocommerce-page.woocommerce-checkout #payment button:hover,
.woocommerce.woocommerce-checkout #payment button:hover,
.woocommerce form.checkout_coupon .button:hover,
body.woocommerce-js .woocommerce-notices-wrapper a:hover,
.woocommerce-js a.button:hover {
    background-color: #333;
    color: #fff;
    box-shadow: 0 0 0 1px #333;
} */

.woocommerce-js a.button:hover {
    text-decoration: none;
}

/* body.single-product button.single_add_to_cart_button:hover {
    transform: scale(1.01);
} */

/* 6. HIDE EXCESS ELEMENTS (Quantity and Meta) */
.quantity,
.woocommerce-variation-add-to-cart .quantity {
    display: none !important; /* Override inline css */
}

body.single-product .product_meta {
    display: none;
}

/* --- HIDE SALE BADGE ON MAIN PRODUCT ONLY --- */

/* Hides the badge attached to the main product container in Astra theme (floating badge) */
/* Using "div.product" so it doesn't affect "li.product" (related products) */
.single-product div.product > .onsale,
.single-product .ast-article-single > .onsale {
    display: none;
}

/* --- "YOU MAY ALSO LIKE" HEADING SIZE --- */

.related.products > h2 {
    font-size: 26px;
    font-weight: 500;
}

/* --- REMOVE GALLERY HOVER AND MAGNIFIER --- */

/* 1. Hide the magnifier icon from the corner */
body .woocommerce-product-gallery__trigger {
    display: none;
}

.woocommerce-js div.product div.images .woocommerce-product-gallery__wrapper a {
    cursor: default;
}

/* 3. Just in case, hide the zoomed image layer */
.zoomImg {
    display: none!important; /* Override inline css */
}
/* --- OPTIMISED PRODUCT GALLERY --- */

/* 1. HIDE EXCESS DOTS */
.flex-direction-nav li,
.flex-direction-nav li * {
    visibility: hidden;
    line-height: 0;
}

/* 2. ARROWS (General style and position) */
.woocommerce-product-gallery { position: relative; }

.woocommerce-js div.product div.images img {
    border-radius: 0.25rem;
}

.flex-direction-nav a {
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-190%);
    width: 35px;
    height: 35px;
    background-color: #EDEDED;
    border-radius: 50%;
    opacity: 1;
    z-index: 100;
    font-size: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.flex-direction-nav a.flex-prev,
.flex-direction-nav a.flex-next { visibility: visible; }

.flex-direction-nav a.flex-prev { left: 20px; }
.flex-direction-nav a.flex-next { right: 20px; }

/* 3. ICONS AND HOVER */
.flex-direction-nav a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transition: transform 0.2s ease-in-out;
}

.flex-direction-nav a.flex-prev::before { transform: rotate(-135deg); margin-left: 4px; }
.flex-direction-nav a.flex-next::before { transform: rotate(45deg); margin-left: -2px; }


.flex-direction-nav a.flex-prev:hover::before { transform: rotate(-135deg) scale(1.1); }
.flex-direction-nav a.flex-next:hover::before { transform: rotate(45deg) scale(1.1); }

/* 4. THUMBNAILS */
.flex-control-nav.flex-control-thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow: auto!important;
}

.flex-control-nav.flex-control-thumbs li {
    max-width: 80px;
    flex-shrink: 0;
    margin: 0!important;
}

ol.flex-control-thumbs::before, ol.flex-control-thumbs::after {
    content: '' !important;
    flex: 1 !important;
}

body .ast-container  div.product div.images .flex-control-thumbs li img {
    border: 2px solid transparent;
    transition: opacity 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
    opacity: 1;
    border-radius: 0.25rem;
}

body .ast-container div.product div.images .flex-control-thumbs li img.flex-active {
    border-color: var(--muted);
}

body .ast-container div.product div.images .flex-control-thumbs li img:hover { opacity: 0.7; }

/* --- COMPATIBLE PRODUCTS DESIGN --- */

/* .compatible-products-wrap {
    margin-top: 30px;
    border-top: 1px solid #e2e2e2;
    padding-top: 20px;
}

.compatible-products-wrap h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px;
}

.compatible-product-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px;
    border-radius: 4px;
}

.compatible-product-item img {
    width: 60px;
    height: auto;
    border-radius: 2px;
}

.compatible-product-title {
    display: block;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    color: #333;
}

.compatible-product-title:hover {
    text-decoration: underline;
}

.compatible-product-item a:hover ~ .compatible-product-info .compatible-product-title {
    text-decoration: underline;
}

.compatible-product-price {
    font-size: 14px;
} */

/* --- PRODUCT DESCRIPTION LINK STYLES --- */

/* 1. Base link style */
.product-description a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px; /* Creates a small gap between the text and the underline */
    transition: all 0.2s ease-in-out;
    color: #626262;
}

/* 2. Link hover (on mouse-over) */
.product-description a:hover {
    color: #333;
}

/* --- STOCK STATUS AND OUT-OF-STOCK DESIGN --- */

/* 1. Hide "Availability: In stock" text */
.summary :not(.cart-button-wrapper).out-of-stock,
.ast-stock-detail {
    display: none;
}

/* 2. Remove hover effect on disabled add-to-cart button */
body.single-product button.single_add_to_cart_button.disabled:hover,
body.single-product button.single_add_to_cart_button[disabled]:hover {
    transform: none;
}

/* --- SIMPLE PRODUCT "SOLD OUT" BUTTON (FIXED) --- */

/* 2. Style the BOTTOM text (the one inside a separate box) */
/* Specifically targeting what is inside .cart-button-wrapper or another div */
.product .summary.entry-summary div .stock.out-of-stock {
    display: block !important;
    text-align: center;
    border-radius: 6px;
    padding: 10px 0;
    position: relative;
    color: #fff;
    background: #333;
    opacity: 0.5;
    cursor: not-allowed;
}

/* =========================================
   1. REMOVE UNDERLINES FROM LINKS (GLOBAL)
   ========================================= */
a:focus,
.elementor-widget-text-editor a:hover {
    text-decoration: none;
}

.site-navigation a:hover {
    text-decoration: underline;
}

.main-header-menu .sub-menu {
    background-color: #ededed;
}

.ast-builder-menu-1 .sub-menu {
    border: 0;
}

.ast-desktop .main-header-menu.ast-menu-shadow .sub-menu {
    box-shadow: 0px 0px 5px 0px rgba(51, 51, 51, 0.2);
    margin-top: -25px;
    margin-left: 10px;
}

.ast-desktop .main-header-menu.ast-menu-shadow .sub-menu a.menu-link {
    padding-top: 8px;
    padding-bottom: 8px;
}

/* =========================================
   2. ZOOM BOX (FOR CALL TO ACTION WIDGET)
   ========================================= */
/* Use class name: zoom-box */



/* Hover effect: scale image by 3% */
.zoom-box:hover .elementor-cta__bg {
    transform: scale(1.03);
}

/* Second image on hover */

.product-thumbnail-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    line-height: 0;
}

.product-thumbnail-wrap img {
    transition: opacity 0.4s ease;
    width: 100%;
    height: auto;
}

.product-thumbnail-wrap .second-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.woocommerce ul.products li.product:hover .product-thumbnail-wrap .second-image {
    opacity: 1;
}

.woocommerce ul.products li.product:hover .product-thumbnail-wrap .wp-post-image {
    opacity: 0;
}

/* Footer */

h2.widget-title {
    font-size: 24px!important; /* Override inline css */
    color: #626262!important; /* Override inline css */
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
    align-items: start!important; /* Override inline css */
    padding: 0 20px;
}

.ast-footer-social-1-wrap .ast-social-color-type-custom .ast-builder-social-element:hover svg
{
    fill: #333!important; /* Override inline css */
    transform: scale(1.1);
}

/* Cart page */


body.woocommerce-cart .ast-container article {
    padding: 0;
}

body.woocommerce-cart .cart-layout {
    flex-direction: column;
    display: flex;
    align-items: flex-start;
    gap: 3rem;
}

body.woocommerce-cart .cart-layout .woocommerce-cart-form,
body.woocommerce-cart .cart-layout .cart-collaterals {
    flex: 1;
    padding: 1.5rem;
    border: 1px solid var(--sand);
    background: white;
    width: 100%;
}

body.woocommerce-cart .cart-layout .woocommerce-cart-form table thead {
    display: none;
}

body.woocommerce-cart .cart-layout .cart_totals {
    width: 100%;
    float: none;
    border: 0;
    padding: 0;
}

body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals > h2 {
    /* background: none;
    border: 0;
    text-align: left;
    font-weight: bold;
    color: var(--bark);
    font-size: 16px;
    font-family: "Inter";
    padding: 0 0 0.5rem 0;
    margin: 0; */
    display: none;
}

body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals tr td {
    padding: 0.5rem 0;
    border: 0;
}

body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals tr.shipping th {
    text-align: left;
    font-weight: bold;
    color: var(--bark);
}

body.woocommerce-cart .cart-layout .woocommerce-shipping-destination {
    margin-top: 1rem;
}


body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals table,
body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals td,
body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals th {
    border: 0;
    padding-left: 0;
    padding-right: 0;
}

body.woocommerce-cart .cart-layout .cart-collaterals .cart_totals th,
body.woocommerce-cart table.shop_table .woocommerce-Price-amount {
    font-weight: bold;
}

body.woocommerce-cart .cart-layout a.checkout-button,
body.woocommerce-cart .cart-layout .cart_totals.calculated_shipping {
    margin: 0;
    padding: 10px 20px;
}

body.woocommerce-cart .cart-layout .product-thumbnail img {
    border-radius: 0.5rem;
    margin-right: 0.5rem;
}

body.woocommerce-cart .cart-layout .woocommerce-cart-form .shop_table {
    margin-bottom: 0;
}

body.woocommerce-cart .cart-layout .woocommerce-cart-form .shop_table th {
    font-weight: 700;
    font-size: 1rem;
    text-transform: capitalize;
    padding: 0.5rem;
}

body.woocommerce-cart .cart-layout .woocommerce-cart-form .shop_table td {
    vertical-align: middle;
    align-items: center;
    padding: 1.5rem 0.5rem;
}

@media screen and (min-width: 922px) {
    body.woocommerce-cart .cart-layout {
        flex-direction: row;
    }
}

/* Fix cart page woocommerce responsive rules */
body.woocommerce-cart .cart-layout .shop_table_responsive tbody th,
body.woocommerce-cart .cart-layout .shop_table_responsive tbody td {
    display: table-cell;
}

body.woocommerce-cart .cart-layout .shop_table_responsive tr td::before {
    display: none;
}

body.woocommerce-cart .cart-layout .shop_table_responsive tr td {
    text-align: left!important;  /* Override important css rule */
}

body.woocommerce-cart .cart-layout .cart_totals tr.cart-subtotal > td,
body.woocommerce-cart .cart-layout .cart_totals tr.order-total > td,
body.woocommerce-cart .cart-layout .shop_table_responsive tr td.product-price {
    text-align: right!important;  /* Override important css rule */
}

body.woocommerce-cart .cart-layout .cart_totals tr.cart-subtotal {
    display: none;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    margin-bottom: 0;
}

body.woocommerce-cart #content table.cart .product-thumbnail {
    display: inline;
}

body.woocommerce-cart #content table.cart td,
body.woocommerce-cart #content table.cart td {
    display: table-cell;
}

body.woocommerce-cart #content table.cart td.product-info {
    display: flex;
}

body.woocommerce-cart table.shop_table_responsive tr {
    display: table-row;
}

body.woocommerce-cart table.shop_table_responsive tr.cart_item:not(:first-child) {
    border-top: 1px solid var(--sand);
}

body.woocommerce-cart  table.shop_table_responsive thead,
body.woocommerce-cart table.shop_table_responsive thead {
    display: table-header-group;
}

/* Cart page heading */
.woocommerce-page h1.entry-title {
    font-size: 40px!important; /* Override inline css */
}

/* Remove card/box styling */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart table.cart {
    background: none;
    border: none;
    box-shadow: none;
}

/* Table layout — flat and borderless */
.woocommerce-cart table.cart {
    border-collapse: collapse;
    width: 100%;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
    border: none;
    background: none;
}
.woocommerce-cart table.cart thead,
.woocommerce-cart table.cart thead tr {
    background: none;
    background-color: transparent;
}

/* Headers — small uppercase */
.woocommerce-cart table.cart thead th {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 400;
    color: #666;
    padding-top: 0;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
}
.woocommerce-cart table.cart thead th.product-info { text-align: left; }
.woocommerce-cart table.cart thead th.product-price { text-align: right; }

/* Horizontal rule rows (header and footer) */
.woocommerce-cart table.cart .cart-header-rule td,
.woocommerce-cart table.cart .cart-footer-rule td {
    padding: 0;
}
.woocommerce-cart table.cart .cart-header-rule hr,
.woocommerce-cart table.cart .cart-footer-rule hr {
    margin: 0;
}

/* Row spacing — more whitespace */
.woocommerce-cart table.cart .woocommerce-cart-form__cart-item td {
    padding-top: 24px;
    padding-bottom: 24px;
    vertical-align: top;
}

/* Remove column */
.woocommerce-cart table.cart td.product-remove {
    width: 1%;
    white-space: nowrap;
    padding-right: 16px;
}

/* Remove link — subtle */
.woocommerce-cart table.cart a.remove {
    display: block;
    font-size: 18px;
    color: #999 !important;
    line-height: 1;
}
.woocommerce-cart table.cart a.remove:hover {
    color: #333 !important;
    background: none;
}

/* Product info cell — thumbnail beside name */
.woocommerce-cart table.cart td.product-info {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.woocommerce-cart table.cart td.product-info .product-thumbnail img {
    width: 80px;
    height: auto;
}
.woocommerce-cart table.cart td.product-info .product-name-wrap {
    flex: 1;
}

/* .woocommerce-cart table.cart td.product-info .product-name-wrap a {
    color: #626262;
}

.woocommerce-cart table.cart td.product-info .product-name-wrap a:hover {
    color: #333;
    text-decoration: underline;
} */

body.woocommerce-js a,
body.woocommerce-js .footer-widget-area a {
    color: var(--muted);
}

body.woocommerce-js a:hover {
    color: var(--ink);
    text-decoration: underline;
}

body.woocommerce-js footer a:hover {
    color: var(--warm);
    text-decoration: underline;
}

/* Price cell — right-aligned */
.woocommerce-cart table.cart td.product-price {
    text-align: right;
    white-space: nowrap;
}

/* Hide the actions row (contains only hooks/nonce) */
.woocommerce-cart table.cart tr.cart-bottom-actions {
    display: none;
}

/* ── Checkout: Shipping method cards ──────────────────── */

ul#shipping_method.woocommerce-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

ul#shipping_method.woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    background: #ffffff;
    cursor: pointer;
    text-indent: 0!important; /* Override inline css */
    padding-left: 10px!important; /* Override inline css */
    transition: all 300ms;
    padding: 0.5rem 0.5rem!important; /* Override inline css */
}

ul#shipping_method.woocommerce-shipping-methods li:not(:last-child) {
    border-bottom: 1px solid var(--sand);
}

ul#shipping_method.woocommerce-shipping-methods li:hover {
    background-color: var(--warm);;
}

ul#shipping_method.woocommerce-shipping-methods label {
    cursor: pointer;
    font-size: 15px;
    color: #333;
    flex-grow: 1;
    text-align: left;
    padding-left: 10px;
}

ul#shipping_method.woocommerce-shipping-methods label .woocommerce-Price-amount {
    font-weight: 700;
    white-space: nowrap;
    font-size: 15px;
}

.woocommerce-shipping-totals.shipping > th {
    font-weight: 700;
    font-size: 16px;
    padding-bottom: 12px;
    color: #333;
}

body.woocommerce-page.woocommerce-checkout form #order_review tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-page.woocommerce-checkout form #order_review_heading {
    text-align: left;
    font-weight: bold;
    color: var(--bark);
    font-family: "Inter";
    font-size: 16px!important; /* Override inline css */
}

body.woocommerce-page.woocommerce-checkout form #order_review tr.order-total > th,
body.woocommerce-page.woocommerce-checkout form #order_review tr.order-total > td .woocommerce-Price-amount {
    font-weight: bold;
}

.woocommerce-page.woocommerce-checkout form #order_review th.product-name,
.woocommerce-page.woocommerce-checkout form #order_review th.product-total {
    display: none;
}

@media screen and (min-width: 450px) {
    .makecommerce-shipping-container .mcSelectContainer {
        max-width: 320px!important; /* Override inline css */
        padding: 0!important; /* Override inline css */
    }
}

li.wc_payment_method.payment_method_makecommerce label {
    text-align: center;
    width: 100%;
}

.makecommerce-payment-methods .payment-method {
    border-radius: 0!important; /* Override inline css */
    box-shadow: none!important; /* Override inline css */
    border: 1px solid var(--sand);
}


.makecommerce-payment-methods .payment-method-selected {
    border: 1px solid var(--bark);
}

.makecommerce-payment-methods .payment-method:hover {
    border-color: var(--bark);
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box,
.woocommerce.woocommerce-checkout #payment div.payment_box {
    background: white;
    border: 1px solid var(--sand);
}

.makecommerce-payment-methods .form-select {
    border-radius: 0;
}

.p-AccordionItem.p-AccordionItem--selected {
    border-radius: 0;
}

.makecommerce-payment-methods #makecommerce_customer_country_picker {
    display: none;
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box fieldset,
.woocommerce.woocommerce-checkout #payment div.payment_box fieldset {
    border: 0;
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box:before,
.woocommerce.woocommerce-checkout #payment div.payment_box:before {
    border-bottom-color: white;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-page.woocommerce-checkout form #order_review td,
.woocommerce-page.woocommerce-checkout form #order_review th,
.woocommerce.woocommerce-checkout form #order_review td,
.woocommerce.woocommerce-checkout form #order_review th {
    border: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Select2 component global settings */

.select2-container {
    width: 312px;
}

body.woocommerce-js .woocommerce ul#shipping_method li label {
    display: flex;
    justify-content: space-between;
}

.free-shipping-label {
    font-weight: bold;
    letter-spacing: 0.8px;
}

/* Global checkbox element */

body input[type=checkbox],
.woocommerce-js form .form-row .input-checkbox {
    font: inherit;
    color: var(--bark);
    width: 1.15rem!important;/* Override inline css */
    height: 1.15rem!important;/* Override inline css */
    border: .15rem solid var(--bark)!important;/* Override inline css */
    border-radius: .15rem;
    transform: translateY(-.075rem);
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff!important;/* Override inline css */
    margin: 0 5px 0 0!important;/* Override inline css */
    display: inline-grid;
    place-content: center;
    vertical-align: middle !important;/* Override inline css */
}

body input[type=checkbox]:checked:before {
    transform: scale(1);
}

body input[type=checkbox]:before {
    content: "";
    width: .65rem;
    height: .65rem;
    transform: scale(0);
    transition: .12s transform ease-in-out;
    box-shadow: inset 1rem 1rem var(--bark);
    display: block;
}

/* Global radio button */

body.woocommerce-page input[type="radio"]
 {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid var(--bark);
    border-radius: 50%;
    background-color: #fff;
    margin: 0 5px 0 0;
    cursor: pointer;
    position: relative;
    transition: border-color 0.15s;
    vertical-align: middle;
}

body.woocommerce-page input[type="radio"]:checked {
    border-color: var(--bark);
}

body.woocommerce-page input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bark);
}

/* Global woocommerce required tag */

body.woocommerce-js form .form-row .required {
    color: #626262;
}

/* Global woocommerce notices */

body .ast-container .woocommerce-message:focus-visible {
    outline: 0;
}

.woocommerce-notices-wrapper {
    max-width: min(100%, 1140px);
    width: 100%;
    margin: 0 auto;
}

.woocommerce-notices-wrapper > ul,
.woocommerce-notices-wrapper > .woocommerce-message {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding: 1rem;
    background: white;
}

.woocommerce-notices-wrapper > ul::before,
.woocommerce-notices-wrapper > .woocommerce-message::before {
    position: relative;
    top: unset;
    left: unset;
    margin-right: 0.5rem;
}

.woocommerce-notices-wrapper > .woocommerce-message a {
    margin-left: auto;
    text-align: center;
}

.woocommerce-notices-wrapper > ul > li {
    align-items: center;
    display: flex;
    justify-content: space-between;
    flex: 1;
}

.woocommerce-error {
    color: var(--muted)!important;
    border: 1px solid var(--sand);
    border-left-width: 4px;
    border-left-color: #A8525A;
    background-color: white;
}

.woocommerce-error::before {
    color: #A8525A;
}

.woocommerce-message,
.woocommerce-info {
    color: var(--muted)!important;
    border: 1px solid var(--sand);
    border-left-width: 4px;
    border-left-color: var(--bark);
    background-color: white;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--bark);
}

/* Global Badge */

.badge {
    background: var(--bark);
    color: var(--warm);
    font-size: 9px;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -5px;
    right: -7px;
    font-weight: 500;
}

/* Remove "rubber band" or "overscroll bounce" effect on Apple devices  */
html, body, div#page {
    overscroll-behavior: none;
    background-color: var(--warm);
}

/* Global html elements */

body .elementor hr {
    background: var(--sand);
    margin-bottom: 1rem;
}

/* Sold out badge */

.woocommerce-js div.product .out-of-stock {
    color: var(--warm);
    background-color: #A8525A;
    font-size: 12px;
    font-weight: 700; /* Slightly bolder so the red reads well */
    padding: 0.5rem 0.75rem!important;
    border-radius: 0.25rem;
    line-height: 1;
    display: inline-block;
}

/* Category filters: product-category-filters.php */

.cpf-filters { font-family: inherit; }

.cpf-remove {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    opacity: 0.7;
}

/* Each attribute group */
.cpf-fieldset {
    border: none;
    padding: 0 0 1.5rem;
    margin: 0;
}

.cpf-fieldset legend {
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0;
    margin-bottom: 0.75rem;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* The pill row container */
.cpf-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Hide the actual checkbox */
.cpf-checkbox-label input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* The pill itself */
.cpf-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    background: white;
    border: 1px solid var(--sand);
    border-radius: 2px;
    color: var(--muted);
    transition: all 0.15s ease;
    user-select: none;
    line-height: 1.2;
}

.cpf-checkbox-label:hover {
    border-color: var(--bark);
    color: var(--bark);
}

/* Active/checked state */
.cpf-checkbox-label:has(input:checked) {
    border-color: var(--bark);
    background-color: var(--sand);
    color: var(--bark);
}

/* Fallback for browsers without :has() support */
.cpf-checkbox-label input:checked + span {
    color: var(--bark);
    font-weight: 500;
}

.cpf-count {
    font-style: normal;
    font-size: 0.8rem;
    margin-left: 0.15rem;
}

.cpf-checkbox-label:has(input:checked) .cpf-count {
    color: var(--bark);
}

/* Action buttons */
.cpf-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* Categories: product-categories.php */

.subcategory-products-container .product-category {
    display: none !important;
}

.subcategory-products-container .woocommerce-loop-product__title {
    font-size: 1.5rem!important;
}

.subcategory-product-toggle {
    margin: 30px 0;
}

.subcategory-toggle-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 2rem;
    padding-top: 2rem;
}

.subcat-toggle-btn {
    padding: 0.5rem 1rem;
    background: white;
    border: 1px solid var(--sand);
    border-radius: 2px;
    color: var(--muted);
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.subcat-toggle-btn:hover {
    border-color: var(--bark);
    color: var(--bark);
    background: white;
}

.subcat-toggle-btn.active {
    border-color: var(--bark);
    background-color: var(--sand);
    color: var(--bark);
}

.subcat-products-panel {
    display: none;
    animation: fadeIn 0.4s ease;
}

.subcat-products-panel.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Pagination */

.woocommerce .woocommerce-pagination {
    text-align: center;
}

.woocommerce .woocommerce-pagination ul.page-numbers li,
.woocommerce-page .woocommerce-pagination ul.page-numbers li {
    border-color: var(--sand);
    border-radius: 5px;
    background-color: white;
}

.woocommerce .woocommerce-pagination ul.page-numbers li:hover,
.woocommerce-page .woocommerce-pagination ul.page-numbers li:hover {
    border-color: var(--bark)!important;
}

.woocommerce .woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-page .woocommerce-pagination ul.page-numbers li a:hover {
    background-color: white;
    color: var(--bark);
}

.woocommerce nav.woocommerce-pagination ul li a:focus {
    background-color: white;
    color: var(--bark);
}

.woocommerce nav.woocommerce-pagination ul li:has(.current) {
    border: none;
}

.woocommerce .woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-page .woocommerce-pagination ul.page-numbers li span.current {
    background-color: var(--bark);
    border: 1px solid var(--bark);
    border-radius: 5px;
}

ul.page-numbers a.prev.page-numbers svg.icon {
    margin-left: -.2rem;
    transform: rotate(90deg);
}

ul.page-numbers a.next.page-numbers svg.icon {
    margin-right: -.2rem;
    transform: rotate(-90deg);
}

ul.page-numbers a.prev.page-numbers:hover svg.icon {
    transform: rotate(90deg);
}

ul.page-numbers a.next.page-numbers:hover svg.icon {
    transform: rotate(-90deg);
}

/* Hide Google Captcha */

.grecaptcha-badge {
    visibility: hidden;
}
