/* ============================================================
   Damcart — WooCommerce skin
   Styles WooCommerce's default markup to match the brand.
   ============================================================ */

.wc-wrap{padding-top:clamp(32px,4vw,52px);padding-bottom:clamp(56px,8vw,104px);}
.wc-inner{width:100%;}

/* breadcrumb */
.woocommerce-breadcrumb{font-size:13px;color:var(--fg-2);margin-bottom:20px;}
.woocommerce-breadcrumb a{color:var(--fg-2);}
.woocommerce-breadcrumb a:hover{color:var(--accent);}

/* shop header */
.woocommerce-products-header{margin-bottom:8px;}
.woocommerce-products-header__title,.page-title{font-family:var(--font-display)!important;font-weight:500!important;font-size:clamp(34px,4.6vw,62px)!important;letter-spacing:-0.018em;line-height:1.02;margin:0 0 10px!important;}
.term-description{color:var(--fg-1);max-width:60ch;margin-bottom:18px;}

.woocommerce-result-count{color:var(--fg-2);font-size:14px;margin:0 0 26px;}
.woocommerce-ordering select,.woocommerce select,.orderby{
	padding:11px 36px 11px 14px;border:1px solid var(--hairline-strong);border-radius:var(--r-sm);
	background:var(--bg-1);font-size:14px;font-family:var(--font-sans);color:var(--fg-0);appearance:none;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23857D6D' stroke-width='1.8'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 12px center;
}
.woocommerce-ordering{margin-bottom:30px;}

/* product grid */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px) clamp(16px,1.8vw,26px);margin:0;padding:0;list-style:none;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;text-align:left;}
.woocommerce ul.products li.product a img,.woocommerce ul.products li.product img{
	margin:0 0 0 0;border-radius:var(--r-md);aspect-ratio:5/6;object-fit:cover;width:100%;background:var(--bg-2);
	transition:transform var(--dur-slow) var(--ease-out);
}
.woocommerce ul.products li.product{position:relative;}
.woocommerce ul.products li.product:hover img{transform:scale(1.045);}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block;overflow:hidden;border-radius:var(--r-md);}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--font-display)!important;font-size:19px!important;font-weight:500!important;
	letter-spacing:-0.01em;line-height:1.15;color:var(--fg-0);padding:16px 2px 2px!important;margin:0;
}
.woocommerce ul.products li.product .price{
	color:var(--fg-0)!important;font-family:var(--font-sans)!important;font-weight:600!important;font-size:16px!important;
	display:block;padding:0 2px;margin-top:2px;font-variant-numeric:tabular-nums;
}
.woocommerce ul.products li.product .price del{color:var(--fg-3)!important;font-weight:400;margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--accent)!important;}

/* sale + featured badge */
.woocommerce span.onsale{
	background:var(--accent)!important;color:#fff!important;border-radius:var(--r-xs);min-height:auto;min-width:auto;
	font-family:var(--font-sans);font-weight:600;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
	padding:6px 11px;line-height:1;top:12px;left:12px;right:auto;margin:0;position:absolute;}

/* add-to-cart buttons in loop */
.woocommerce ul.products li.product .button,
.woocommerce a.added_to_cart{
	margin-top:12px;display:inline-flex;align-items:center;justify-content:center;
}

/* buttons (global Woo) */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button{
	background:var(--ink);color:var(--bg-0);border-radius:var(--r-sm);font-family:var(--font-sans);
	font-weight:600;font-size:14px;letter-spacing:0.01em;padding:13px 22px;border:1px solid transparent;
	transition:background var(--dur-fast),color var(--dur-fast);text-transform:none;line-height:1;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce .button:hover,.woocommerce #respond input#submit:hover{background:#000;color:var(--bg-0);}
.woocommerce .button.btn-ghost{background:transparent!important;color:var(--fg-0)!important;border-color:var(--hairline-strong)!important;}
.woocommerce .button.btn-ghost:hover{background:var(--ink)!important;color:var(--bg-0)!important;border-color:var(--ink)!important;}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button{background:var(--accent)!important;color:#fff!important;}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce .single_add_to_cart_button:hover{background:var(--accent-deep)!important;}
.woocommerce .button.added::after{margin-left:8px;}

/* single product */
.single-product div.product{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(28px,5vw,72px);align-items:start;}
.single-product div.product .woocommerce-product-gallery{margin:0;float:none;width:auto;position:sticky;top:104px;}
.single-product div.product .woocommerce-product-gallery img{border-radius:var(--r-lg);}
.single-product div.product .summary{margin:0;float:none;width:auto;}
.single-product .product_title{font-family:var(--font-display)!important;font-weight:500!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.04;letter-spacing:-0.02em;margin:6px 0 16px!important;}
.single-product .summary .price{color:var(--fg-0)!important;font-family:var(--font-sans)!important;font-weight:600!important;font-size:26px!important;margin-bottom:20px;font-variant-numeric:tabular-nums;}
.single-product .summary .price del{color:var(--fg-3)!important;font-weight:400;font-size:20px;}
.single-product .summary .price ins{text-decoration:none;color:var(--accent)!important;}
.single-product .woocommerce-product-details__short-description{color:var(--fg-1);font-size:17px;line-height:1.62;margin-bottom:24px;}
.woocommerce div.product form.cart{margin-bottom:26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.woocommerce .quantity .qty{
	width:78px;padding:13px 10px;border:1px solid var(--hairline-strong);border-radius:var(--r-sm);
	background:var(--bg-1);font-size:15px;text-align:center;font-family:var(--font-sans);
}
.woocommerce div.product form.cart .button{padding:15px 30px;font-size:15px;}
.woocommerce .product_meta{font-size:13px;color:var(--fg-2);border-top:1px solid var(--hairline);padding-top:18px;margin-top:6px;}
.woocommerce .product_meta>span{display:block;margin-bottom:7px;}
.woocommerce .product_meta a{color:var(--fg-1);}

/* tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:48px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--hairline);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--hairline);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;padding:0;margin:0 24px 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-2);padding:14px 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--fg-0);box-shadow:inset 0 -2px 0 var(--accent);}
.woocommerce div.product .woocommerce-tabs .panel{padding-top:24px;color:var(--fg-1);font-size:16px;line-height:1.65;}
.woocommerce div.product .woocommerce-tabs h2{font-family:var(--font-display);font-weight:500;font-size:26px;}

/* related / upsells */
.woocommerce .related.products,.woocommerce .upsells.products{grid-column:1/-1;margin-top:56px;}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2,.products>h2{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,3vw,36px);margin-bottom:28px;letter-spacing:-0.02em;}

/* cart */
.woocommerce table.shop_table{border:1px solid var(--hairline);border-radius:var(--r-lg);border-collapse:separate;overflow:hidden;}
.woocommerce table.shop_table th{font-family:var(--font-sans);font-weight:600;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-2);padding:16px;}
.woocommerce table.shop_table td{padding:18px 16px;border-top:1px solid var(--hairline-soft);}
.woocommerce table.cart img{width:72px;border-radius:var(--r-sm);}
.woocommerce .product-name a{font-family:var(--font-display);font-size:18px;color:var(--fg-0);}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .cart_totals{width:100%;}
.woocommerce .cart_totals h2{font-family:var(--font-display);font-weight:500;font-size:24px;margin-bottom:12px;}
.woocommerce .cart .actions .coupon .input-text{width:180px;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--accent)!important;color:#fff!important;font-size:15px;padding:16px;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--accent-deep)!important;}

/* checkout */
.woocommerce-checkout h3{font-family:var(--font-display);font-weight:500;font-size:24px;margin-bottom:14px;}
.woocommerce form .form-row label{font-size:13.5px;font-weight:600;color:var(--fg-1);margin-bottom:6px;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .input-text,
.select2-container--default .select2-selection--single{
	padding:13px 14px;border:1px solid var(--hairline-strong)!important;border-radius:var(--r-sm)!important;
	background:var(--bg-1);font-size:15px;color:var(--fg-0);min-height:auto;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft);}
.woocommerce-checkout #payment{background:var(--bg-1);border:1px solid var(--hairline);border-radius:var(--r-lg);}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--hairline);}
.woocommerce-checkout #payment div.payment_box{background:var(--bg-2);}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--bg-2);}
.woocommerce #payment #place_order,.woocommerce-checkout #place_order{background:var(--accent)!important;color:#fff!important;width:100%;padding:17px;font-size:16px;}
.woocommerce #payment #place_order:hover{background:var(--accent-deep)!important;}
.woocommerce-order{max-width:760px;}
.woocommerce ul.order_details{background:var(--bg-1);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:24px;}
.woocommerce ul.order_details li{border-color:var(--hairline);}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
	border-top:0;border-radius:var(--r-sm);padding:14px 16px 14px 44px;font-size:14.5px;background:var(--bg-2);color:var(--fg-1);
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent);}
.woocommerce-message{box-shadow:inset 3px 0 0 var(--signal);}
.woocommerce-info{box-shadow:inset 3px 0 0 var(--accent);}
.woocommerce-error{background:rgba(190,90,58,.08);box-shadow:inset 3px 0 0 var(--accent);color:var(--accent-deep);}
.woocommerce-error::before{color:var(--accent);}

/* form-row links / star ratings */
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--accent);}

/* responsive */
@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);}}
@media(max-width:820px){
	.single-product div.product{grid-template-columns:1fr;}
	.single-product div.product .woocommerce-product-gallery{position:static;}
}
@media(max-width:720px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}}
