/**
 * 29ICE WooCommerce Layout — woo-layout.css v3
 * Styles WC native templates. Does NOT override
 * cart or checkout (those use native WC templates).
 */

/* ── Force full width ── */
.woocommerce,.woocommerce-page{width:100%;}
.ice-woo-content{width:100%;}

/* ── WC loop grid ── */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin:0;padding:0;
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  float:none;width:100%;margin:0;
}
@media(max-width:960px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr;}}

/* ── Result count + ordering ── */
.woocommerce .woocommerce-result-count{font-size:13px;color:var(--muted);margin:0;float:none;line-height:2.4;}
.woocommerce .woocommerce-ordering{float:none;margin:0;}
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--border);border-radius:100px;
  padding:9px 16px;font-size:13px;font-family:inherit;
  background:var(--card-bg);color:var(--text);
}

/* ── WC buttons global ── */
.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit{
  background:var(--btn-fill-bg)!important;color:var(--btn-fill-fg)!important;
  border:none!important;border-radius:var(--r-xs)!important;
  padding:12px 24px!important;
  font-family:'Bricolage Grotesque',sans-serif!important;font-size:14px!important;font-weight:700!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--btn-fill-hover)!important;color:var(--btn-fill-hover-fg)!important;
}

/* ── Cart & checkout use native WC templates ─ styled here ── */

/* Cart table */
.woocommerce table.shop_table{border-collapse:collapse;width:100%;border:1px solid var(--border);border-radius:var(--r-xs);overflow:hidden;}
.woocommerce table.shop_table th{background:var(--section-bg);padding:14px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--text);vertical-align:middle;}
.woocommerce table.shop_table tr:last-child td{border-bottom:none;}
.woocommerce table.shop_table .product-name a{color:var(--heading);font-weight:500;}
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:var(--heading);}
/* Product thumbnail in cart */
.woocommerce td.product-thumbnail img{width:80px;height:80px;object-fit:cover;border-radius:var(--r-xs);background:var(--img-bg);}
/* Qty input */
.woocommerce .quantity .qty{border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 12px;font-size:14px;background:var(--card-bg);color:var(--text);font-family:inherit;}

/* Cart totals */
.woocommerce .cart-collaterals,.woocommerce-page .cart-collaterals{width:100%;clear:both;}
.woocommerce .cart_totals,.woocommerce-page .cart_totals{float:none;width:100%;}
.woocommerce .cart_totals h2{font-size:18px;margin-bottom:16px;}
.woocommerce .cart_totals table{border:1px solid var(--border);border-radius:var(--r-xs);overflow:hidden;}
.woocommerce .cart_totals .wc-proceed-to-checkout{padding:12px 0;}
.woocommerce .cart_totals .wc-proceed-to-checkout a.button{display:block;width:100%;text-align:center;padding:15px!important;}

/* WC checkout form fields */
.woocommerce form .form-row{margin-bottom:16px;}
.woocommerce form .form-row label{font-size:13px;font-weight:500;color:var(--text);display:block;margin-bottom:6px;}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select{
  width:100%;border:1px solid var(--border);border-radius:var(--r-sm);
  padding:12px 14px;font-size:13px;font-family:inherit;
  background:var(--card-bg);color:var(--text);
  transition:border-color .15s;
}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus{border-color:var(--gold);outline:none;}
.woocommerce form .form-row.woocommerce-validated .input-text{border-color:var(--success);}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--sale);}

/* Payment methods */
#payment{background:none;padding:0;border:none;}
#payment ul.payment_methods{margin:0;padding:0;}
#payment ul.payment_methods li{
  padding:16px;margin-bottom:8px;
  background:var(--section-bg);border:1.5px solid var(--border);border-radius:var(--r-sm);
  list-style:none;
}
#payment ul.payment_methods li input[type="radio"]{accent-color:var(--gold);}
#payment ul.payment_methods li label{font-size:14px;font-weight:500;color:var(--heading);cursor:pointer;margin-left:6px;}
#payment div.payment_box{
  background:var(--card-bg);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:14px;margin-top:10px;
  font-size:13px;color:var(--muted);
}

/* Terms */
.woocommerce-terms-and-conditions-wrapper{
  font-size:13px;color:var(--muted);
  padding:14px;background:var(--section-bg);
  border-radius:var(--r-sm);margin-bottom:16px;
  border:1px solid var(--hairline);
}
.woocommerce-terms-and-conditions-wrapper a{color:var(--gold);}
.woocommerce-privacy-policy-text{font-size:12px;color:var(--muted);margin-bottom:12px;}
.woocommerce-privacy-policy-text a{color:var(--gold);}

/* Place order */
#place_order{
  width:100%;background:var(--btn-fill-bg)!important;color:var(--btn-fill-fg)!important;
  border:none!important;border-radius:var(--r-xs)!important;padding:16px!important;
  font-family:'Bricolage Grotesque',sans-serif!important;font-size:15px!important;font-weight:700!important;
  margin-top:14px;cursor:pointer!important;
}
#place_order:hover{background:var(--btn-fill-hover)!important;color:var(--btn-fill-hover-fg)!important;}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--border);padding:0;margin:0 0 24px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:14px;font-weight:600;color:var(--muted);padding:12px 22px;display:block;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--heading);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--gold);}
.woocommerce div.product .woocommerce-tabs .panel{padding:24px 0;font-size:14px;color:var(--muted);line-height:1.75;}

/* Reviews */
#reviews #comments ol.commentlist li{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:12px;list-style:none;}
#reviews .star-rating span::before{color:var(--gold);}

/* Account */
.woocommerce-MyAccount-navigation{background:var(--section-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:20px;}
.woocommerce-MyAccount-navigation ul{margin:0;padding:0;}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:9px 12px;font-size:13px;color:var(--muted);border-radius:var(--r-sm);transition:background .15s,color .15s;}
.woocommerce-MyAccount-navigation ul li a:hover,.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--card-bg);color:var(--gold);}


/* =========================================================
   29ICE — NATIVE WOOCOMMERCE SINGLE PRODUCT PAGE
   Add this section at the end of woo-layout.css
========================================================= */

/* Main product-page container */
.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 64px;
    width: min(100% - 48px, 1360px);
    margin: 40px auto 80px;
    align-items: start;
}

/* Product gallery */
.single-product div.product .woocommerce-product-gallery {
    width: 100%;
    margin: 0;
    float: none;
    position: relative;
}

.single-product
div.product
.woocommerce-product-gallery
.woocommerce-product-gallery__wrapper {
    margin: 0;
}

.single-product
div.product
.woocommerce-product-gallery
.woocommerce-product-gallery__image {
    overflow: hidden;
    background: var(--img-bg, #f1efe9);
}

.single-product
div.product
.woocommerce-product-gallery
.woocommerce-product-gallery__image
img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Gallery thumbnails */
.single-product
div.product
.woocommerce-product-gallery
.flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.single-product
div.product
.woocommerce-product-gallery
.flex-control-thumbs
li {
    width: auto;
    margin: 0;
    float: none;
}

.single-product
div.product
.woocommerce-product-gallery
.flex-control-thumbs
img {
    width: 100%;
    height: auto;
    cursor: pointer;
    border: 1px solid transparent;
    background: var(--img-bg, #f1efe9);
}

.single-product
div.product
.woocommerce-product-gallery
.flex-control-thumbs
img.flex-active {
    border-color: var(--gold, #c8a96e);
}

/* Sale badge */
.single-product div.product .onsale {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 5;
    min-width: auto;
    min-height: auto;
    margin: 0;
    padding: 7px 12px;
    border-radius: 0;
    background: var(--sale, #d4483e);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Product information */
.single-product div.product .summary {
    width: 100%;
    margin: 0;
    padding: 12px 0 0;
    float: none;
    color: var(--text);
}

/* Product title */
.single-product div.product .product_title {
    margin: 0 0 14px;
    color: var(--heading);
    font-family: "Bricolage Grotesque", sans-serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.03em;
}

/* Rating */
.single-product div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
}

.single-product div.product .star-rating {
    color: var(--gold, #c8a96e);
}

.single-product div.product .woocommerce-review-link {
    color: var(--muted);
    font-size: 13px;
}

/* Product price */
.single-product div.product .summary .price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    color: var(--heading);
    font-size: 25px;
    font-weight: 600;
}

.single-product div.product .summary .price del {
    color: var(--muted);
    font-size: 17px;
    font-weight: 400;
    opacity: 1;
}

.single-product div.product .summary .price ins {
    color: var(--sale, #d4483e);
    text-decoration: none;
}

/* Short product description */
.single-product
div.product
.woocommerce-product-details__short-description {
    margin-bottom: 28px;
    color: var(--text);
    font-size: 15px;
    line-height: 1.7;
}

/* Variation table */
.single-product div.product form.cart .variations {
    width: 100%;
    margin: 0 0 20px;
    border: 0;
}

.single-product div.product form.cart .variations tbody,
.single-product div.product form.cart .variations tr,
.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td {
    display: block;
    width: 100%;
}

.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td {
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.single-product div.product form.cart .variations label {
    display: block;
    margin: 0 0 8px;
    color: var(--heading);
    font-size: 13px;
    font-weight: 600;
}

.single-product div.product form.cart .variations select {
    width: 100%;
    min-height: 48px;
    margin: 0 0 18px;
    padding: 0 42px 0 14px;
    border: 1px solid var(--border);
    border-radius: 0;
    background-color: var(--card-bg);
    color: var(--text);
    font: inherit;
}

.single-product div.product form.cart .reset_variations {
    display: inline-block;
    margin: -8px 0 16px;
    color: var(--muted);
    font-size: 12px;
    text-decoration: underline;
}

/* Variation price and availability */
.single-product div.product .single_variation_wrap {
    margin-bottom: 20px;
}

.single-product div.product .woocommerce-variation-price {
    margin-bottom: 14px;
}

.single-product div.product .woocommerce-variation-availability {
    margin-bottom: 14px;
}

/* Quantity and Add to Cart row */
.single-product div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin: 0 0 28px;
}

.single-product div.product form.cart .variations,
.single-product div.product form.cart .single_variation_wrap {
    flex-basis: 100%;
}

.single-product div.product form.cart .quantity {
    flex: 0 0 90px;
    margin: 0;
}

.single-product div.product form.cart .quantity .qty {
    width: 100%;
    min-height: 52px;
    padding: 0 8px;
    border: 1px solid var(--border);
    border-radius: 0;
    background: var(--card-bg);
    color: var(--heading);
    text-align: center;
}

/* Add to Cart button */
.single-product div.product .single_add_to_cart_button {
    flex: 1 1 220px;
    min-height: 52px;
    margin: 0;
    padding: 14px 24px;
    border: 1px solid var(--heading);
    border-radius: 0;
    background: var(--heading);
    color: var(--page-bg);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.single-product div.product .single_add_to_cart_button:hover,
.single-product div.product .single_add_to_cart_button:focus-visible {
    border-color: var(--gold, #c8a96e);
    background: var(--gold, #c8a96e);
    color: #171715;
}

.single-product div.product .single_add_to_cart_button:focus-visible {
    outline: 2px solid var(--gold, #c8a96e);
    outline-offset: 3px;
}

.single-product div.product .single_add_to_cart_button.disabled,
.single-product div.product .single_add_to_cart_button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

/* Dark-theme Add to Cart treatment */
[data-theme="dark"]
.single-product
div.product
.single_add_to_cart_button {
    border-color: var(--gold, #c8a96e);
    background: var(--gold, #c8a96e);
    color: #171715;
}

/* Product metadata */
.single-product div.product .product_meta {
    display: grid;
    gap: 7px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 12px;
}

.single-product div.product .product_meta a {
    color: var(--heading);
}

/* Tabs and lower product content */
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
    grid-column: 1 / -1;
    width: 100%;
}

/* Product tabs */
.single-product div.product .woocommerce-tabs {
    margin-top: 24px;
    padding-top: 40px;
    border-top: 1px solid var(--border);
}

.single-product div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin: 0 0 30px;
    padding: 0;
    border-bottom: 1px solid var(--border);
    list-style: none;
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
    position: relative;
    margin: 0;
    padding: 0 0 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--heading);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--gold, #c8a96e);
    content: "";
}

.single-product div.product .woocommerce-tabs .panel {
    margin: 0;
    color: var(--text);
    line-height: 1.75;
}

.single-product div.product .woocommerce-tabs .panel h2 {
    margin: 0 0 18px;
    color: var(--heading);
}

/* Related and upsell products */
.single-product div.product .related.products,
.single-product div.product .upsells.products {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--border);
}

.single-product div.product .related.products > h2,
.single-product div.product .upsells.products > h2 {
    margin: 0 0 28px;
    color: var(--heading);
    font-size: clamp(26px, 3vw, 38px);
}

/* Ensure lower sections are not restricted by the grid */
.single-product div.product::after {
    display: none;
}

/* Tablet */
@media (max-width: 1024px) {
    .single-product div.product {
        gap: 36px;
        width: min(100% - 32px, 960px);
    }

    .single-product div.product .product_title {
        font-size: clamp(30px, 4vw, 42px);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .single-product div.product {
        display: block;
        width: min(100% - 24px, 680px);
        margin-top: 24px;
        margin-bottom: 56px;
    }

    .single-product div.product .summary {
        margin-top: 28px;
        padding-top: 0;
    }

    .single-product
    div.product
    .woocommerce-product-gallery
    .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    .single-product div.product .product_title {
        font-size: 34px;
    }

    .single-product div.product form.cart {
        gap: 10px;
    }

    .single-product div.product form.cart .quantity {
        flex-basis: 80px;
    }

    .single-product div.product .single_add_to_cart_button {
        flex-basis: calc(100% - 90px);
    }

    .single-product div.product .woocommerce-tabs {
        margin-top: 48px;
        padding-top: 28px;
    }

    .single-product div.product .woocommerce-tabs ul.tabs {
        gap: 18px;
    }
}

/* Very small screens */
@media (max-width: 390px) {
    .single-product div.product form.cart .quantity,
    .single-product div.product .single_add_to_cart_button {
        flex-basis: 100%;
    }

    .single-product div.product .woocommerce-tabs ul.tabs {
        display: grid;
        gap: 12px;
    }

    .single-product div.product .woocommerce-tabs ul.tabs li {
        padding-bottom: 8px;
    }
}

/* Filter chip remove button */
.chip-x {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    padding: 2px;
}

.chip-x:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}