/* KLC Jewels Storefront 0.6: unified, restrained boutique presentation. */
:root{--klcj-purple:#4e168a;--klcj-ink:#231b2a;--klcj-muted:#6e6674;--klcj-border:#e8e2eb;--klcj-paper:#fff}
body.woocommerce,body.woocommerce-page{background:#faf9fb;color:var(--klcj-ink)}
body.woocommerce .site,body.woocommerce-page .site{overflow-x:clip}
/* Header is theme-owned: tighten spacing without hiding navigation. */
body.woocommerce header .custom-logo,body.woocommerce-page header .custom-logo{max-height:100px;width:auto;object-fit:contain}
body.woocommerce .site-header,body.woocommerce-page .site-header{padding-top:12px;padding-bottom:12px}
body.woocommerce .woocommerce-breadcrumb{font-size:13px;color:var(--klcj-muted);margin-bottom:24px}
/* Product grids */
.woocommerce ul.products,.klcj-product-store ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;margin:28px 0 45px;padding:0;align-items:stretch}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product,.klcj-product-store ul.products li.product{float:none!important;clear:none!important;width:auto!important;margin:0!important;min-width:0;display:flex!important;flex-direction:column;align-items:stretch;text-align:left!important;background:#fff;border:1px solid var(--klcj-border);border-radius:14px;overflow:hidden;padding:0 0 16px!important;box-shadow:0 5px 20px rgba(35,27,42,.035)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none;min-width:0}
.woocommerce ul.products li.product img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:0!important;margin:0 0 14px!important;transition:transform .2s}
.woocommerce ul.products li.product a:hover img{transform:scale(1.025)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;line-height:1.45!important;font-weight:650!important;color:var(--klcj-ink);padding:0 16px!important;margin:0 0 8px!important;min-height:42px;overflow-wrap:anywhere}
.woocommerce ul.products li.product .price{display:block;font-size:16px!important;font-weight:700!important;color:var(--klcj-ink)!important;padding:0 16px!important;margin:0 0 15px!important}
.woocommerce ul.products li.product .button{display:block!important;align-self:stretch;margin:auto 16px 0!important;padding:12px 14px!important;width:auto!important;max-width:none!important;min-height:43px;box-sizing:border-box;text-align:center!important;background:var(--klcj-purple)!important;color:white!important;border:0!important;border-radius:8px!important;font-size:13px!important;line-height:1.4!important;font-weight:650!important;box-shadow:none!important}
.woocommerce ul.products li.product .button:hover{background:#37105f!important}
/* Product detail */
.woocommerce div.product{max-width:1320px;margin:0 auto 50px}
.woocommerce div.product div.images{margin-bottom:30px}
.woocommerce div.product div.images img{border-radius:12px!important;max-height:680px;object-fit:contain;background:#f5f1f3}
.woocommerce div.product .product_title{font-size:clamp(25px,2.6vw,38px)!important;line-height:1.2!important;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:25px!important;font-weight:750!important;color:var(--klcj-ink)!important;margin:12px 0 18px!important}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:15px;line-height:1.75;color:#514956;margin:0 0 20px;max-width:62ch}
.woocommerce div.product form.cart{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px!important}
.woocommerce div.product form.cart .quantity{float:none!important;margin:0!important}
.woocommerce div.product form.cart input.qty{height:46px;min-width:70px;border:1px solid var(--klcj-border);border-radius:8px}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:46px;padding:12px 26px!important;border-radius:8px!important;background:var(--klcj-purple)!important;color:#fff!important}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:24px;border-top:1px solid var(--klcj-border)}
.woocommerce div.product .woocommerce-tabs .panel{font-size:15px;line-height:1.8}
.woocommerce div.product .product_meta .posted_in{display:none!important}
.woocommerce div.product .related.products{clear:both;margin-top:46px}
.woocommerce div.product .related.products>h2{font-size:24px!important;margin-bottom:20px}
.klcj-price-unavailable{padding:12px 16px;border-radius:8px;background:#f8eef2;color:#7d2346}
/* Cart: correct reading order, reduce excessive wallet-button visual weight. */
.woocommerce-cart .woocommerce{max-width:1260px;margin:0 auto 55px}
.woocommerce-cart h1,.woocommerce-cart .entry-title{font-size:clamp(30px,3vw,44px)!important;margin:20px 0 26px}
.woocommerce-cart .wc-block-cart,.woocommerce-cart .woocommerce-cart-form{width:100%;max-width:100%}
.woocommerce-cart .wc-block-components-sidebar-layout{align-items:start;gap:32px}
.woocommerce-cart .wc-block-components-sidebar{background:#fff;border:1px solid var(--klcj-border);border-radius:12px;padding:22px!important}
.woocommerce-cart .wc-block-cart-items,.woocommerce-cart table.shop_table{background:#fff;border:1px solid var(--klcj-border);border-radius:12px;overflow:hidden}
.woocommerce-cart .wc-block-components-product-name{font-size:16px!important;line-height:1.4!important;font-weight:650}
.woocommerce-cart .wc-block-components-product-metadata{font-size:13px;color:var(--klcj-muted)}
.woocommerce-cart .wc-block-components-totals-wrapper{padding-top:14px;padding-bottom:14px}
.woocommerce-cart .wc-block-components-button,.woocommerce-cart .checkout-button{border-radius:8px!important;min-height:48px!important}
.woocommerce-cart .wc-block-components-express-payment,.woocommerce-cart .wc-block-components-express-payment__content{max-width:100%;overflow:hidden}
.woocommerce-cart .wc-block-components-express-payment button{min-height:42px!important;max-height:55px!important}
/* Standardized money presentation: CSS cannot correct currency-switcher output; fix configuration separately. */
.woocommerce .price,.woocommerce .amount{font-variant-numeric:tabular-nums}
@media(min-width:1050px){.woocommerce div.product div.images{width:48%!important}.woocommerce div.product div.summary{width:47%!important}.woocommerce-cart .wc-block-components-main{width:62%!important}.woocommerce-cart .wc-block-components-sidebar{width:34%!important}}
@media(max-width:1024px){.woocommerce ul.products,.klcj-product-store ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.woocommerce ul.products,.klcj-product-store ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;padding:0 11px!important}.woocommerce ul.products li.product .price{padding:0 11px!important}.woocommerce ul.products li.product .button{margin: auto 11px 0!important;font-size:12px!important;padding:11px 7px!important}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%!important;float:none!important}.woocommerce-cart .wc-block-components-main,.woocommerce-cart .wc-block-components-sidebar{width:100%!important}}
@media(max-width:400px){.woocommerce ul.products,.klcj-product-store ul.products{gap:10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px!important}}

/* v0.7: preserve portrait and landscape product photos without clipping */
body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .woocommerce-product-gallery__image { background:#f8f6f8; border-radius:14px; }
body.single-product div.product div.images .woocommerce-product-gallery__image a {display:flex;align-items:center;justify-content:center;min-height:0;}
body.single-product div.product div.images .woocommerce-product-gallery__image img,
body.single-product div.product div.images .wp-post-image {width:100%!important;height:auto!important;max-height:640px!important;object-fit:contain!important;object-position:center!important;margin:auto!important;}
body.single-product div.product .summary {align-self:start!important;}
body.single-product .woocommerce-product-gallery {margin-bottom:28px!important;}
.woocommerce ul.products li.product img {object-fit:contain!important;object-position:center!important;background:#f8f6f8!important;}
@media(max-width:767px){body.single-product div.product div.images .woocommerce-product-gallery__image img{max-height:470px!important;}}

/* v0.9 product detail refinement */
body.single-product .woocommerce-breadcrumb{font-size:12px!important;line-height:1.5;margin:0 0 20px!important;color:#777!important}
body.single-product .woocommerce-breadcrumb a{color:#6d6072!important;text-decoration:none}
body.single-product div.product div.images .woocommerce-product-gallery__wrapper{background:#f8f6f8!important;overflow:hidden;border-radius:16px}
body.single-product div.product div.images .woocommerce-product-gallery__image a{height:clamp(320px,39vw,570px)!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.single-product div.product div.images .woocommerce-product-gallery__image img,body.single-product div.product div.images img.wp-post-image{width:100%!important;height:100%!important;max-height:570px!important;object-fit:contain!important;object-position:center!important}
body.single-product div.product div.summary .price{font-size:27px!important;font-weight:700!important;letter-spacing:-.015em}
body.single-product div.product form.cart:not(.variations_form) .quantity{display:inline-flex!important;align-items:center!important;border:1px solid #ddd5e2!important;border-radius:10px!important;overflow:hidden;height:48px!important;background:#fff!important}
body.single-product div.product form.cart .quantity input.qty{width:48px!important;min-width:0!important;height:46px!important;border:0!important;border-radius:0!important;text-align:center!important;box-shadow:none!important;padding:0!important;appearance:textfield!important;-moz-appearance:textfield!important}
body.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button,body.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.single-product div.product form.cart .quantity .klcj-qty-step{border:0!important;background:#fff!important;color:#302238!important;width:38px!important;height:46px!important;font-size:21px!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;padding:0!important}
body.single-product div.product form.cart .quantity .klcj-qty-step:hover{background:#f4eef9!important}
body.single-product div.product form.cart .single_add_to_cart_button{min-height:48px!important;padding:12px 32px!important;font-weight:650!important}
@media(max-width:720px){body.single-product div.product div.images .woocommerce-product-gallery__image a{height:clamp(300px,90vw,460px)!important}}

/* v1.1: portrait photography gets an adaptive, edge-to-edge gallery rather than a fixed landscape frame. */
body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .woocommerce-product-gallery__image{background:transparent!important;border-radius:12px!important;}
body.single-product div.product div.images .woocommerce-product-gallery__image a{height:auto!important;min-height:0!important;display:block!important;text-align:center!important;background:transparent!important;}
body.single-product div.product div.images .woocommerce-product-gallery__image img,
body.single-product div.product div.images img.wp-post-image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:680px!important;object-fit:contain!important;margin:0 auto!important;border-radius:12px!important;}
body.single-product div.product div.images .woocommerce-product-gallery__image{display:flex!important;justify-content:center!important;}
body.single-product div.product div.images .woocommerce-product-gallery__image>a{width:fit-content!important;max-width:100%!important;}
body.single-product div.product div.images{display:flex;justify-content:center;}
body.single-product div.product div.images .woocommerce-product-gallery{width:100%!important;}
@media(max-width:720px){body.single-product div.product div.images .woocommerce-product-gallery__image img{max-height:520px!important;}}

/* v1.2.1 cart repair: counteract KLCJ legacy column-reverse and full-width overrides */
body.woocommerce-cart .wc-block-components-sidebar-layout{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr)!important;gap:28px!important;align-items:start!important;flex-flow:row nowrap!important;}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main{grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important;padding:0!important;}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar{grid-column:2!important;grid-row:1!important;width:auto!important;min-width:0!important;}
body.woocommerce-cart .wp-block-woocommerce-cart{max-width:1240px!important;margin:0 auto 55px!important;}
body.woocommerce-cart .wc-block-cart__submit-button{width:100%!important;justify-content:center!important;}
@media(max-width:900px){body.woocommerce-cart .wc-block-components-sidebar-layout{display:flex!important;flex-direction:column!important;}body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%!important;}}


/* KLC Jewels v1.4.3 — catalog layout: applies to shop, product archives and related grids. */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.single-product .related ul.products,
body.single-product .upsells ul.products {
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:26px 20px!important;align-items:stretch!important;clear:both!important;
 margin:24px 0 42px!important;padding:0!important;list-style:none!important;
}
body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after {content:none!important;display:none!important;}
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product,
body.single-product .related ul.products li.product,
body.single-product .upsells ul.products li.product {
 float:none!important;width:auto!important;min-width:0!important;margin:0!important;
 padding:0 0 16px!important;display:flex!important;flex-direction:column!important;
 background:#fff!important;border:1px solid #eee7f0!important;border-radius:15px!important;
 overflow:hidden!important;box-shadow:0 7px 24px rgba(45,21,65,.055)!important;
 transition:box-shadow .18s ease,transform .18s ease!important;text-align:left!important;
}
body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover {box-shadow:0 12px 32px rgba(45,21,65,.11)!important;transform:translateY(-2px);}
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related ul.products li.product a.woocommerce-LoopProduct-link {display:block!important;text-decoration:none!important;}
body.post-type-archive-product .woocommerce ul.products li.product img,
body.tax-product_cat .woocommerce ul.products li.product img,
body.tax-product_tag .woocommerce ul.products li.product img,
body.single-product .related ul.products li.product img,
body.single-product .upsells ul.products li.product img {
 width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;
 object-position:center!important;background:#f7f4f6!important;margin:0 0 14px!important;
 padding:8px!important;box-sizing:border-box!important;border-radius:0!important;transform:none!important;
}
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.single-product .related ul.products li.product .woocommerce-loop-product__title {
 font-size:15px!important;line-height:1.45!important;font-weight:650!important;
 padding:0 16px!important;margin:0 0 8px!important;min-height:44px!important;
 color:#25192e!important;text-align:left!important;overflow-wrap:break-word!important;
}
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.single-product .related ul.products li.product .price {
 font-size:17px!important;line-height:1.4!important;font-weight:700!important;
 color:#4e168a!important;text-align:left!important;padding:0 16px!important;margin:0 0 16px!important;
}
body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.single-product .related ul.products li.product .button {
 display:block!important;width:calc(100% - 32px)!important;box-sizing:border-box!important;
 align-self:center!important;margin:auto 16px 0!important;min-height:44px!important;
 padding:12px 14px!important;text-align:center!important;background:#58119b!important;
 border:0!important;border-radius:8px!important;color:#fff!important;font-size:13px!important;
 font-weight:650!important;line-height:20px!important;box-shadow:none!important;
}
body.post-type-archive-product .woocommerce ul.products li.product a.added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product a.added_to_cart {width:calc(100% - 32px)!important;box-sizing:border-box!important;margin:8px 16px 0!important;padding:9px!important;text-align:center!important;border-radius:8px!important;}
body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering {margin:0 0 16px!important;font-size:14px!important;color:#62576a!important;}
body.post-type-archive-product .woocommerce-ordering select {min-height:43px!important;padding:8px 36px 8px 12px!important;border:1px solid #ddd3e3!important;border-radius:9px!important;background:#fff!important;color:#2d2035!important;max-width:100%!important;}
body.post-type-archive-product .woocommerce-pagination ul.page-numbers {display:flex!important;justify-content:center!important;gap:7px!important;border:0!important;margin:16px auto 34px!important;}
body.post-type-archive-product .woocommerce-pagination ul.page-numbers li {border:0!important;}
body.post-type-archive-product .woocommerce-pagination .page-numbers a,
body.post-type-archive-product .woocommerce-pagination .page-numbers span {display:grid!important;place-items:center!important;min-width:39px!important;height:39px!important;padding:0 9px!important;border:1px solid #e6ddeb!important;border-radius:8px!important;background:#fff!important;color:#3c254b!important;}
body.post-type-archive-product .woocommerce-pagination .page-numbers .current {background:#58119b!important;color:#fff!important;}
@media(max-width:1050px){body.post-type-archive-product .woocommerce ul.products,body.tax-product_cat .woocommerce ul.products,body.tax-product_tag .woocommerce ul.products,body.single-product .related ul.products,body.single-product .upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:740px){body.post-type-archive-product .woocommerce ul.products,body.tax-product_cat .woocommerce ul.products,body.tax-product_tag .woocommerce ul.products,body.single-product .related ul.products,body.single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;padding:0 11px!important;}body.post-type-archive-product .woocommerce ul.products li.product .price,body.tax-product_cat .woocommerce ul.products li.product .price{padding:0 11px!important;font-size:15px!important;}body.post-type-archive-product .woocommerce ul.products li.product .button,body.tax-product_cat .woocommerce ul.products li.product .button{width:calc(100% - 22px)!important;margin:auto 11px 0!important;padding:10px 7px!important;}body.post-type-archive-product .woocommerce-result-count,body.post-type-archive-product .woocommerce-ordering{float:none!important;display:block!important;}}
@media(max-width:370px){body.post-type-archive-product .woocommerce ul.products,body.tax-product_cat .woocommerce ul.products{grid-template-columns:1fr!important;}}
