/* Loomi WooCommerce styling: shop, product, cart, checkout, account, notices, mini cart. */

.woo-main{padding-bottom:clamp(48px,7vw,96px)}
.woocommerce-breadcrumb{font-size:13px;color:var(--muted);padding:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce-breadcrumb a{text-decoration:none}
.bc-sep{opacity:.5}

/* Notices */
.woocommerce-notices-wrapper{margin:16px 0}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{list-style:none;margin:0 0 16px;padding:14px 18px;border-radius:var(--r);background:#fff;border-left:4px solid var(--ink);font-size:15px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.woocommerce-message{border-left-color:#1C6B3A}
.woocommerce-error{border-left-color:var(--accent)}
.woocommerce-message .button,.woocommerce-info .button{order:2;background:var(--ink);color:#fff;padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px}
.woocommerce-error li{margin:0}

/* Shop archive */
.shop-head{padding-bottom:12px}
.shop-head .h-page{margin-top:18px}
.term-desc{color:var(--muted);max-width:60ch;margin-top:12px}
.shop-bar{display:flex;flex-direction:column;gap:14px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px}
.chips-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips-scroll::-webkit-scrollbar{display:none}
.chips-scroll .chip{flex:none}
.chips-sm .chip span{padding:8px 15px;font-size:14px}
.shop-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.orderby{padding:10px 36px 10px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%231B1B1A' stroke-width='1.5'/></svg>") no-repeat right 14px center;appearance:none;font-weight:600;font-size:14px}
.shop-count{padding:16px 0 20px;font-size:14px;color:var(--muted)}
.woocommerce-result-count{margin:0}
ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 20px;margin:0 0 20px}
ul.products li.pitem{margin:0;min-width:0}
.woocommerce-no-products-found .woocommerce-info{justify-content:center;padding:40px}
.woocommerce-pagination{margin-top:44px}
.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.woocommerce-pagination .page-numbers{margin:0}

/* Single product */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-top:28px;align-items:start}
.single-product div.product>.woocommerce-notices-wrapper{grid-column:1/-1}
.single-product .gallery{position:relative;display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start}
.single-product .gallery .badge{top:14px;left:calc(84px + 28px)}
.g-thumbs{display:grid;gap:10px;position:sticky;top:calc(var(--header-h) + 20px)}
.g-thumb{display:block;width:100%;aspect-ratio:3/4;padding:0;border:1.5px solid transparent;border-radius:var(--r);overflow:hidden;background:var(--grey);opacity:.7;transition:all .2s}
.g-thumb img{width:100%;height:100%;object-fit:cover}
.g-thumb.is-on,.g-thumb:hover{border-color:var(--ink);opacity:1}
.g-main{position:relative;grid-column:2;grid-row:1}
.gallery:not(:has(.g-thumbs)){grid-template-columns:1fr}
.gallery:not(:has(.g-thumbs)) .g-main{grid-column:1}
.gallery:not(:has(.g-thumbs)) .badge{left:14px}
.g-slide{display:none;margin:0;background:var(--grey);border-radius:var(--r);overflow:hidden;aspect-ratio:3/4}
.g-slide.is-on{display:block}
.g-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.g-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease-out}
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(20,18,15,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-height:92vh;max-width:min(92vw,900px);width:auto;height:auto;object-fit:contain;border-radius:var(--r)}
.lb-x,.lb-nav{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lb-x{right:20px;top:20px}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-x:hover,.lb-nav:hover{background:rgba(255,255,255,.28)}

.summary.entry-summary{position:sticky;top:calc(var(--header-h) + 20px)}
.single-product .product_title{font-size:clamp(34px,3.8vw,56px);letter-spacing:-.03em;font-weight:800;line-height:.98;margin-bottom:14px}
.single-product .summary .price{font-size:22px;font-weight:600;margin:0 0 18px;display:block}
.single-product .summary .price del{color:var(--muted);font-weight:400;font-size:18px;margin-right:8px}
.single-product .summary .price ins{text-decoration:none;color:var(--accent)}
.woocommerce-product-details__short-description{color:var(--muted);margin-bottom:20px}
.woocommerce-product-rating{margin-bottom:10px}
.star-rating{display:inline-block;position:relative;height:1em;width:5.4em;line-height:1;font-size:14px;overflow:hidden;letter-spacing:.1em}
.star-rating::before{content:"\2605\2605\2605\2605\2605";color:var(--line);position:absolute;top:0;left:0}
.star-rating span{overflow:hidden;position:absolute;top:0;left:0;padding-top:1.5em;height:0}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";color:var(--ink);position:absolute;top:0;left:0}

/* Variations: size buttons */
table.variations{border:0;width:100%;margin:0 0 6px;border-collapse:collapse}
table.variations th,table.variations td{display:block;padding:0;text-align:left}
table.variations .label{font-weight:700;font-size:14px;padding-bottom:10px}
.size-select-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.size-buttons{display:flex;flex-wrap:wrap;gap:8px;transition:transform .2s}
.size-buttons.nudge{animation:nudge .5s}
@keyframes nudge{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.size-btn{min-width:56px;height:48px;padding:0 14px;border:1.5px solid var(--line);background:#fff;border-radius:var(--r);font-weight:600;transition:all .15s}
.size-btn:hover:not(:disabled){border-color:var(--ink)}
.size-btn.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.size-btn.is-out,.size-btn:disabled{color:#B5B0A6;background:repeating-linear-gradient(135deg,#fff 0 6px,#F1EEE8 6px 7px);cursor:not-allowed}
.reset_variations{display:none!important}
.single_variation_wrap .woocommerce-variation-price{display:none}
.woocommerce-variation-availability p{font-size:14px;color:var(--muted);margin:10px 0 0}
.woocommerce-variation-add-to-cart,form.cart:not(.variations_form){display:flex;gap:12px;align-items:stretch;margin-top:18px;flex-wrap:wrap}
form.cart .single_add_to_cart_button,.single_add_to_cart_button{flex:1;min-width:180px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:16px 28px;font-weight:600;font-size:16px;transition:background .2s}
.single_add_to_cart_button:hover{background:var(--accent)}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.4;cursor:not-allowed}
.single_add_to_cart_button.loading{opacity:.6;pointer-events:none}
.qty-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff;height:54px}
.qty-btn{width:44px;height:100%;background:none;border:0;display:flex;align-items:center;justify-content:center;border-radius:999px}
.qty-btn:hover{background:var(--paper)}
.qty-stepper .qty{width:44px;text-align:center;border:0;background:none;font-weight:600;font-size:16px;padding:0;-moz-appearance:textfield;appearance:textfield}
.qty-stepper .qty::-webkit-outer-spin-button,.qty-stepper .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product_meta{font-size:13px;color:var(--muted);margin-top:22px;display:grid;gap:4px}
.product_meta a{text-decoration:none}
.loomi-inline-error{margin-top:12px;flex-basis:100%}

/* Accordions */
.acc{margin-top:28px;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-weight:700;cursor:pointer}
.acc-item summary::-webkit-details-marker{display:none}
.acc-ico{transition:transform .25s}
.acc-item[open] .acc-ico{transform:rotate(45deg)}
.acc-body{padding:0 0 20px;color:#3A3833;font-size:15px}
.acc-body p:last-child{margin-bottom:0}
dl.fc{display:grid;grid-template-columns:90px 1fr;gap:10px 14px;margin:0}
dl.fc dt{font-weight:700}
dl.fc dd{margin:0}

/* Reviews */
.loomi-reviews{grid-column:1/-1;padding:28px 0;border-top:1px solid var(--line);margin-top:20px}
#reviews #comments h2,.woocommerce-Reviews-title{font-size:28px;margin-bottom:18px}
#reviews ol.commentlist{display:grid;gap:18px;margin:0 0 24px}
#reviews .comment_container{display:flex;gap:14px}
#reviews .avatar{border-radius:50%;width:44px;height:44px}
#review_form .comment-reply-title{font-family:var(--f-display);font-size:24px;font-weight:700;display:block;margin-bottom:12px}
#review_form input[type=text],#review_form input[type=email],#review_form textarea,#review_form select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff}
#review_form .form-submit input{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 26px;font-weight:600}

/* Related */
.related.products,.up-sells{grid-column:1/-1;padding-top:clamp(36px,5vw,72px);margin-top:20px;border-top:1px solid var(--line)}
.related>h2{font-size:clamp(30px,4vw,52px);margin-bottom:26px;letter-spacing:-.03em}

/* Sticky add bar */
.sticky-add{position:fixed;left:0;right:0;bottom:0;z-index:58;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));display:none;align-items:center;gap:14px;justify-content:space-between}
.sticky-info{display:grid;min-width:0;font-size:14px}
.sticky-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-info span{color:var(--muted)}
.sticky-info del{margin-right:6px}
.sticky-info ins{text-decoration:none;color:var(--accent)}
.sticky-add .btn{flex:none;padding:14px 22px}

/* Cart page */
.woocommerce-cart .entry-woo,.woocommerce-checkout .entry-woo,.woocommerce-account .entry-woo{max-width:none}
.woocommerce-cart-form{margin-bottom:28px}
.ship-bar{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-bottom:20px;font-size:14px}
.ship-bar p{margin:0 0 10px}
.ship-bar.is-done{border-color:#1C6B3A}
.ship-track{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.ship-fill{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .5s}
.ship-bar.is-done .ship-fill{background:#1C6B3A}
table.shop_table{width:100%;border-collapse:collapse;background:transparent}
table.shop_table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 10px;border-bottom:1px solid var(--ink)}
table.shop_table td{padding:18px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.shop_table .product-thumbnail img{width:84px;border-radius:var(--r)}
table.shop_table .product-name a{font-weight:600;text-decoration:none}
table.shop_table dl.variation{margin:6px 0 0;font-size:13px;color:var(--muted);display:flex;gap:6px}
table.shop_table dl.variation dt,table.shop_table dl.variation dd,table.shop_table dl.variation p{margin:0;display:inline}
table.shop_table a.remove{display:inline-flex;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;text-decoration:none;font-size:20px;line-height:1;color:var(--muted)}
table.shop_table a.remove:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
table.shop_table .actions{padding-top:22px}
table.shop_table .coupon{display:inline-flex;gap:8px;flex-wrap:wrap}
.coupon input,.woocommerce-cart-form input.qty:not(.qty-stepper .qty){padding:12px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff}
.button,button.button,input.button,a.button,.wc-forward,#place_order{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 26px;font-weight:600;font-size:15px;text-decoration:none;transition:background .2s;cursor:pointer}
.button:hover,a.button:hover,#place_order:hover{background:var(--accent);color:#fff}
.button.alt,.checkout-button,#place_order{background:var(--accent)}
.button.alt:hover,.checkout-button:hover,#place_order:hover{background:var(--ink)}
.button:disabled,.button.disabled{opacity:.5}
.cart-collaterals{display:flex;justify-content:flex-end}
.cart_totals{width:min(100%,460px);background:#fff;border-radius:var(--r);padding:26px}
.cart_totals h2{font-size:26px;margin-bottom:12px}
.cart_totals table th{text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink);border-bottom:1px solid var(--line);font-weight:600}
.cart_totals table td{text-align:right}
.cart_totals .order-total td,.cart_totals .order-total th{font-size:18px;font-weight:700}
.wc-proceed-to-checkout .checkout-button{display:flex;width:100%;margin-top:14px;padding:17px}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:14px;color:var(--muted)}
ul#shipping_method{display:grid;gap:6px;text-align:right}
.cart-empty{text-align:center;padding:48px 0 12px;font-size:20px;font-family:var(--f-display);font-weight:700}
.return-to-shop{text-align:center;margin-bottom:60px}

/* Checkout */
form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
form.checkout #customer_details{display:grid;gap:28px}
form.checkout #order_review_heading{display:none}
form.checkout #order_review{background:#fff;border-radius:var(--r);padding:26px;position:sticky;top:calc(var(--header-h) + 20px)}
.woocommerce-checkout h3{font-size:26px;margin-bottom:16px;letter-spacing:-.02em}
.woocommerce form .form-row{margin:0 0 14px;display:block}
.woocommerce form .form-row label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.woocommerce form .form-row .required{color:var(--accent);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;font-weight:400;font-size:16px;height:auto}
.select2-container .select2-selection--single{height:50px;display:flex;align-items:center}
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea:focus{border-color:var(--ink);outline:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 7px);float:left}
.woocommerce form .form-row-first{margin-right:14px}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{overflow:hidden}
#payment{background:transparent}
#payment ul.payment_methods{display:grid;gap:10px;margin:18px 0}
#payment .payment_box{background:var(--paper);padding:14px;border-radius:var(--r);font-size:14px;margin-top:8px}
#payment .payment_box p{margin:0}
#payment li label{font-weight:600;margin-left:6px}
.trust-note{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin:14px 0}
.woocommerce-checkout-review-order-table th{text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table .product-name{text-align:left;font-weight:500}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th{font-size:18px;font-weight:700}
#place_order{width:100%;padding:18px;font-size:16px}
.woocommerce-form-coupon-toggle{margin-bottom:12px}
.checkout_coupon{background:#fff;padding:18px;border-radius:var(--r);margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}

/* Order received */
.woocommerce-order{max-width:860px}
.woocommerce-thankyou-order-received{font-family:var(--f-display);font-size:30px;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}
ul.order_details{display:flex;gap:28px;flex-wrap:wrap;background:#fff;padding:22px;border-radius:var(--r);margin:0 0 28px}
ul.order_details li{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
ul.order_details li strong{display:block;font-size:17px;color:var(--ink);text-transform:none;letter-spacing:0;margin-top:4px}

/* My account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:560px}
.woocommerce-MyAccount-navigation ul{display:grid;gap:4px;border-top:1px solid var(--line)}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation .is-active a{color:var(--accent)}
.woocommerce-account h2{font-size:30px;margin-bottom:16px}
.woocommerce-form-login,.woocommerce-form-register{background:#fff;padding:26px;border-radius:var(--r);margin-bottom:20px}
.woocommerce-form__label-for-checkbox{display:flex;gap:8px;align-items:center;font-weight:400!important}
.u-columns{display:grid;gap:20px}
address{font-style:normal;line-height:1.7}
.woocommerce-Address{background:#fff;padding:20px;border-radius:var(--r)}

/* Mini cart */
.woocommerce-mini-cart{flex:1;overflow:auto;padding:6px 22px;margin:0}
.woocommerce-mini-cart-item{display:grid;grid-template-columns:76px 1fr 28px;gap:4px 14px;padding:16px 0;border-bottom:1px solid var(--line);position:relative;transition:opacity .2s}
.woocommerce-mini-cart-item.is-removing{opacity:.4}
.woocommerce-mini-cart-item a:not(.remove){font-weight:600;text-decoration:none;grid-column:2}
.woocommerce-mini-cart-item img{grid-row:1/4;grid-column:1;width:76px;border-radius:var(--r)}
.woocommerce-mini-cart-item .remove{grid-column:3;grid-row:1;display:flex;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);align-items:center;justify-content:center;text-decoration:none;font-size:18px;line-height:1;color:var(--muted)}
.woocommerce-mini-cart-item .remove:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce-mini-cart-item .variation{grid-column:2;margin:0;font-size:13px;color:var(--muted);display:flex;gap:4px;flex-wrap:wrap}
.woocommerce-mini-cart-item .variation dt,.woocommerce-mini-cart-item .variation dd,.woocommerce-mini-cart-item .variation p{display:inline;margin:0}
.woocommerce-mini-cart-item .quantity{grid-column:2;font-size:14px;color:var(--muted)}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding:16px 22px 6px;margin:0;font-size:17px;border-top:1px solid var(--line)}
.woocommerce-mini-cart__buttons{display:grid;gap:10px;padding:10px 22px 22px;margin:0}
.woocommerce-mini-cart__buttons .button{padding:15px}
.woocommerce-mini-cart__buttons .button:not(.checkout){background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.woocommerce-mini-cart__buttons .button:not(.checkout):hover{background:var(--ink);color:#fff}
.woocommerce-mini-cart__empty-message{padding:44px 22px 12px;text-align:center;font-size:18px;font-family:var(--f-display);font-weight:700;margin:0}
.mini-empty-cta{text-align:center;padding:0 22px 30px;margin:0}
.drawer-panel .ship-bar{margin:14px 22px 0}

@media (max-width:1100px){
	ul.products{grid-template-columns:repeat(3,1fr)}
	.single-product div.product{grid-template-columns:1fr}
	.summary.entry-summary{position:static}
	form.checkout{grid-template-columns:1fr}
	form.checkout #order_review{position:static}
}
@media (max-width:900px){
	.sticky-add:not([hidden]){display:flex}
	body.single-product{padding-bottom:78px}
	.single-product .gallery{grid-template-columns:1fr}
	.single-product .gallery .badge{left:14px}
	.g-thumbs{display:flex;position:static;grid-row:2;overflow-x:auto;gap:8px}
	.g-thumb{width:64px;flex:none}
	.g-main{grid-column:1;grid-row:1}
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media (max-width:640px){
	ul.products{grid-template-columns:repeat(2,1fr);gap:24px 12px}
	.shop-tools{flex-direction:column;align-items:stretch}
	.woocommerce-ordering select{width:100%}
	table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}
	table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;border:0;padding:6px 0;text-align:right}
	table.shop_table_responsive td::before{content:attr(data-title);font-weight:600;color:var(--muted);font-size:13px;margin-right:14px}
	table.shop_table_responsive thead{display:none}
	table.shop_table .product-thumbnail,table.shop_table .product-remove{display:none}
	table.shop_table_responsive td.actions::before{display:none}
	.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none;margin-right:0}
	.cart-collaterals{display:block}
	.lb-prev{left:8px}.lb-next{right:8px}
}
