/* =====================================================================
   LINCE — WOOCOMMERCE STYLES
   ===================================================================== */

/* ---------------------------------------------------------------- shop layout */
.woo-layout{ padding-bottom: 100px; }
.woo-layout__row{ display:flex; gap:48px; align-items:flex-start; padding-top: 40px; }
.woo-layout--with-sidebar .woo-main-col{ flex:1; min-width:0; }
.woo-sidebar{ width: 260px; flex-shrink:0; position:sticky; top: calc(var(--header-h) + 24px); }
.woo-sidebar .widget{ margin-bottom: 40px; padding-bottom:30px; border-bottom:1px solid var(--line); }
.woo-cat-list li{ margin-bottom:10px; }
.woo-cat-list a{ display:flex; justify-content:space-between; font-size:14.5px; color:var(--ink); padding: 4px 0; }
.woo-cat-list a:hover{ color: var(--bronze); }
.woo-cat-list a span{ font-family: var(--font-mono); color: var(--steel); font-size:12px; }
.woo-sidebar__close{ display:none; }
.woo-filter-open{ display:none; }

.shop-toolbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 32px; padding-bottom:20px; border-bottom:1px solid var(--line); font-family: var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; color: var(--steel); }
.shop-toolbar select{ background:none; border:none; color: var(--ink); font-family: var(--font-mono); font-size:12.5px; text-transform:uppercase; }
.woocommerce-ordering{ display:flex; align-items:center; }

ul.products{ display:grid !important; grid-template-columns: repeat(3, 1fr); gap: 34px 28px; list-style:none; margin:0; padding:0; }
ul.products li.product{ list-style:none; }

.woocommerce-pagination, .pagination{ margin-top:60px; display:flex; justify-content:center; }
.woocommerce-pagination ul, .pagination .nav-links{ display:flex; gap:10px; list-style:none; padding:0;}
.woocommerce-pagination a, .woocommerce-pagination span, .pagination .page-numbers{
	width:40px; height:40px; display:flex; align-items:center; justify-content:center;
	border-radius:50%; font-family: var(--font-mono); font-size:13px; border: 1px solid var(--line);
}
.woocommerce-pagination .current, .pagination .page-numbers.current{ background: var(--ink); color: var(--paper); border-color: var(--ink); }

.woocommerce-info, .woocommerce-message, .woocommerce-error{
	list-style:none; background: var(--paper-dim); border-left:3px solid var(--bronze); padding: 16px 22px;
	border-radius: var(--radius-s); margin-bottom: 30px; font-size:14.5px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.woocommerce-error{ border-color:#b3543f; }
.woocommerce-message .button, .woocommerce-info .button{
	background: var(--ink); color: var(--paper); padding:10px 18px; border-radius:999px; font-size:13px;
}

/* ---------------------------------------------------------------- single product */
.single-product-shell{ padding-top: 34px; }
.single-product-grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:64px; margin-bottom: 90px; }

.woocommerce-product-gallery{ position: sticky; top: calc(var(--header-h) + 24px); }
.woocommerce-product-gallery__wrapper{ border-radius: var(--radius-l); overflow:hidden; background: var(--paper-dim); }
.woocommerce-product-gallery__image img{ width:100%; height:auto; display:block; }
.flex-control-thumbs{ display:flex; gap:12px; margin-top:14px; list-style:none; padding:0; }
.flex-control-thumbs li{ width: 84px; }
.flex-control-thumbs img{ border-radius: var(--radius-s); opacity:0.55; transition: opacity .3s; cursor:pointer; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover{ opacity:1; outline:1px solid var(--bronze); }

.single-product-summary__title{ font-size: clamp(28px, 3.6vw, 40px); margin: 8px 0 14px; line-height:1.1; }
.single-product-summary__rating{ margin-bottom:14px; }
.star-rating{ color: var(--bronze); font-size:14px; }
.single-product-summary__price{ font-family: var(--font-mono); font-size: 26px; color: var(--ink); margin-bottom:22px; }
.single-product-summary__price del{ font-size:16px; color: var(--steel); opacity:.6; margin-right:10px; }
.single-product-summary__price ins{ text-decoration:none; }
.single-product-summary__excerpt{ color: var(--steel); font-size:15.5px; margin-bottom:26px; max-width:520px; }
.single-product-summary__excerpt p{ margin-bottom:0.8em; }

.spec-sheet{ border-top:1px solid var(--line); margin-bottom: 30px; }
.spec-row{ display:flex; justify-content:space-between; padding: 13px 0; border-bottom:1px solid var(--line); font-size:14px; }
.spec-row__label{ color: var(--steel); }
.spec-row__value{ font-family: var(--font-mono); color: var(--ink); text-align:right; }

.single-product-summary__cart{ margin-bottom: 30px; }
.single-product-summary__cart .quantity{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding: 4px 6px; margin-right:14px; vertical-align:middle; }
.single-product-summary__cart .qty{ width:44px; border:none; background:none; text-align:center; font-family:var(--font-mono); }
.single-product-summary__cart .single_add_to_cart_button{
	background: var(--ink); color: var(--paper); border-radius:999px; padding:17px 34px; font-weight:600; font-size:14.5px;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.single-product-summary__cart .single_add_to_cart_button:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(36,40,44,0.25); }
.single-product-summary__cart form.cart{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; }

.single-product-summary__trust{ display:flex; flex-direction:column; gap:14px; padding-top: 26px; border-top:1px solid var(--line); }
.trust-item{ display:flex; align-items:center; gap:12px; font-size:13.5px; color: var(--steel); }

.single-product-tabs{ margin-bottom: 90px; }
.woocommerce-tabs ul.tabs{ display:flex; gap:34px; border-bottom:1px solid var(--line); margin-bottom:34px; list-style:none; padding:0; }
.woocommerce-tabs ul.tabs li{ padding-bottom:14px; font-family: var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; color: var(--steel); position:relative; cursor:pointer; }
.woocommerce-tabs ul.tabs li.active{ color: var(--ink); }
.woocommerce-tabs ul.tabs li.active::after{ content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background: var(--bronze); }
.woocommerce-tabs ul.tabs li a{ display:block; }
.woocommerce-Tabs-panel table.shop_attributes{ width:100%; border-collapse:collapse; }
.woocommerce-Tabs-panel table.shop_attributes th, .woocommerce-Tabs-panel table.shop_attributes td{ padding:12px 0; border-bottom:1px solid var(--line); text-align:left; font-size:14px; }
.woocommerce-Tabs-panel table.shop_attributes th{ color:var(--steel); font-weight:500; width:220px; }

.single-product-related{ padding-top: 20px; border-top:1px solid var(--line); }
.related.products > h2{ font-size: clamp(26px,3.4vw,36px); margin-bottom: 40px; }
.related.products ul.products{ grid-template-columns: repeat(3,1fr); }

/* ---------------------------------------------------------------- cart & checkout */
.woocommerce-cart-form table.shop_table, .woocommerce-checkout-review-order-table{ width:100%; border-collapse:collapse; margin-bottom: 30px; }
.woocommerce-cart-form table.shop_table th{ text-align:left; padding:14px 10px; font-family: var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; color: var(--steel); border-bottom:1px solid var(--ink); }
.woocommerce-cart-form table.shop_table td{ padding: 20px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.product-thumbnail img{ width:88px; border-radius: var(--radius-s); }
.product-remove a{ font-size:20px; color: var(--steel); }
td.actions .button, .wc-proceed-to-checkout .checkout-button, #place_order{
	background: var(--ink); color: var(--paper) !important; border-radius:999px; padding:15px 30px; font-weight:600; font-size:14px; display:inline-block;
}
.coupon{ display:flex; gap:10px; align-items:center; }
.coupon input#coupon_code{ border:1px solid var(--line); border-radius:999px; padding:12px 18px; }
.coupon button{ border:1px solid var(--ink); border-radius:999px; padding:12px 22px; }

.cart_totals, .cart-collaterals{ background: var(--paper-dim); border-radius: var(--radius-l); padding: 34px; }
.cart_totals h2{ font-size:20px; margin-bottom:20px; }
.cart_totals table{ width:100%; }
.cart_totals table th, .cart_totals table td{ padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.order-total .amount{ font-family: var(--font-mono); font-size:19px; }

.woocommerce-checkout .form-row label{ font-size:13px; color: var(--steel); margin-bottom:6px; display:block; }
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout select, .woocommerce-checkout textarea,
.woocommerce-cart-form input.qty, .quantity input.qty{
	width:100%; border:1px solid var(--line); border-radius: var(--radius-s); padding: 13px 16px; background: var(--paper); font-size:14.5px;
}
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus{ border-color: var(--bronze); outline:none; }
#payment{ background: var(--paper-dim); border-radius: var(--radius-l); padding: 6px 26px; margin-top: 30px; }
#payment .payment_box{ font-size:14px; color: var(--steel); }

/* ---------------------------------------------------------------- my account */
.woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:6px; }
.woocommerce-MyAccount-navigation a{ display:block; padding: 12px 16px; border-radius: var(--radius-s); font-size:14.5px; }
.woocommerce-MyAccount-navigation .is-active a{ background: var(--ink); color: var(--paper); }
.woocommerce-MyAccount-content{ padding-top: 14px; }
.account-orders-table th, .account-orders-table td{ padding:12px; border-bottom:1px solid var(--line); }

/* mini cart widget (drawer) */
.widget_shopping_cart_content .woocommerce-mini-cart{ list-style:none; padding:0; margin:0; }
.widget_shopping_cart_content .woocommerce-mini-cart-item{ display:flex; gap:14px; padding: 18px 0; border-bottom:1px solid var(--line); position:relative; }
.widget_shopping_cart_content .woocommerce-mini-cart-item img{ width:64px; border-radius: var(--radius-s); }
.widget_shopping_cart_content .quantity{ font-family: var(--font-mono); font-size:13px; color: var(--steel); display:block; margin-top:4px; }
.widget_shopping_cart_content .remove{ position:absolute; top:16px; right:0; color: var(--steel); }
.widget_shopping_cart_content .total{ margin: 20px 0; font-family: var(--font-mono); font-size:16px; display:flex; justify-content:space-between; padding-top:16px; border-top:1px solid var(--ink); }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:12px; }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a{ text-align:center; padding: 15px; border-radius:999px; font-size:14px; font-weight:600; }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a.wc-forward{ border:1px solid var(--ink); }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a.checkout{ background: var(--ink); color: var(--paper); }
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message{ color: var(--steel); padding: 20px 0; }

/* price filter widget */
.price_slider_wrapper .ui-slider{ height:3px; background: var(--line); border:none; margin: 20px 0 14px; }
.price_slider_wrapper .ui-slider-range{ background: var(--bronze); }
.price_slider_wrapper .ui-slider-handle{ width:14px; height:14px; background: var(--ink); border-radius:50%; top:-6px; border:2px solid var(--paper); }
.price_slider_amount{ display:flex; align-items:center; justify-content:space-between; font-family: var(--font-mono); font-size:13px; }
.price_slider_amount button{ border:1px solid var(--ink); border-radius:999px; padding:8px 16px; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1080px){
	.single-product-grid{ grid-template-columns:1fr; }
	.woocommerce-product-gallery{ position:static; }
}
@media (max-width: 900px){
	.woo-layout__row{ flex-direction:column; }
	.woo-sidebar{
		position:fixed; top:0; right:0; bottom:0; width: min(86vw,360px); background: var(--paper);
		transform: translateX(100%); transition: transform .45s var(--ease); z-index:1400; padding: 90px 30px 30px; overflow-y:auto;
	}
	.woo-sidebar.is-open{ transform: translateX(0); }
	.woo-sidebar__close{ display:block; position:absolute; top:24px; right:24px; font-size:26px; }
	.woo-filter-open{ display:flex; align-items:center; gap:8px; margin-bottom:26px; font-family:var(--font-mono); font-size:13px; text-transform:uppercase; border:1px solid var(--line); border-radius:999px; padding:12px 20px; }
	ul.products, .related.products ul.products{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px){
	ul.products, .related.products ul.products{ grid-template-columns: 1fr; }
	.woocommerce-tabs ul.tabs{ flex-wrap:wrap; gap:18px; }
}
