/* ============================================================
   Vogevalor — WooCommerce stylesheet
   ============================================================ */

.vv-woo-wrap { padding-block: clamp(48px, 6vw, 88px); }

/* ---------- Breadcrumbs ---------- */
.vv-breadcrumb {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--vv-stone);
	margin-bottom: 32px;
}
.vv-crumb-sep { margin-inline: 8px; opacity: 0.5; }
.vv-breadcrumb a:hover { color: var(--vv-clay); }

/* ---------- Shop loop ---------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2.5vw, 32px);
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	float: none;
	width: auto !important;
	margin: 0;
	list-style: none;
}
.woocommerce ul.products li.product .vv-loop-thumb {
	overflow: hidden;
	background: var(--vv-cream);
}
.woocommerce ul.products li.product .vv-loop-thumb img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	margin: 0;
	transition: transform 0.7s var(--vv-ease);
}
.woocommerce ul.products li.product:hover .vv-loop-thumb img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--vv-font-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding-top: 12px;
}
.woocommerce ul.products li.product .price {
	font-size: 14px;
	font-weight: 600;
	color: var(--vv-ink);
}
.woocommerce ul.products li.product .price del { color: var(--vv-stone); font-weight: 400; margin-right: 8px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--vv-clay); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: inline-flex;
	margin-top: 10px;
	padding: 12px 22px;
	background: var(--vv-ink);
	color: var(--vv-bone);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-radius: 0;
	transition: background 0.3s var(--vv-ease);
}
.woocommerce ul.products li.product .button:hover { background: var(--vv-clay); color: var(--vv-bone); }
.woocommerce ul.products li.product .added_to_cart { background: transparent; color: var(--vv-ink); padding: 12px 0; }

/* badges */
.vv-badge, .woocommerce span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 6px 12px;
	background: var(--vv-ink);
	color: var(--vv-bone);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	border-radius: 0;
	min-height: 0;
	line-height: 1;
}
.vv-badge--new { left: auto; right: 12px; background: var(--vv-bone); color: var(--vv-ink); }
.woocommerce ul.products li.product { position: relative; }

/* result count + ordering */
.woocommerce .woocommerce-result-count { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--vv-stone); }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--vv-border);
	background: transparent;
	padding: 10px 14px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	border-radius: 0;
}

/* ---------- Single product ---------- */
.woocommerce div.product .product_title {
	font-family: var(--vv-font-display);
	font-weight: 300;
	font-size: clamp(36px, 5vw, 56px);
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
	font-family: var(--vv-font-display);
	font-size: 30px;
	color: var(--vv-ink);
}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; color: var(--vv-clay); }
.woocommerce div.product .woocommerce-product-details__short-description { color: rgba(23,20,16,0.7); line-height: 1.7; }
.vv-size-guide-link { font-size: 12px; margin: 0 0 12px; }
.vv-size-guide-link a { text-decoration: underline; text-underline-offset: 3px; color: var(--vv-stone); }
.vv-size-guide-link a:hover { color: var(--vv-clay); }

.woocommerce div.product form.cart .quantity input.qty {
	border: 1px solid var(--vv-border);
	background: transparent;
	padding: 14px 8px;
	width: 76px;
	border-radius: 0;
	font-family: inherit;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background: var(--vv-ink);
	color: var(--vv-bone);
	border-radius: 0;
	padding: 18px 40px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	transition: background 0.3s var(--vv-ease);
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { background: var(--vv-clay); }

/* variation swatches / selects */
.woocommerce div.product form.cart table.variations select {
	border: 1px solid var(--vv-border);
	background: transparent;
	padding: 12px 14px;
	border-radius: 0;
	font-family: inherit;
}
.woocommerce div.product form.cart table.variations th.label { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; }

/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	border-bottom: 1px solid var(--vv-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 14px 20px;
	color: var(--vv-stone);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--vv-ink); box-shadow: inset 0 -2px 0 var(--vv-clay); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.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 .panel {
	border: 0;
	box-shadow: none;
	padding: 24px 0;
}

/* product meta */
.woocommerce .product_meta { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vv-stone); }
.woocommerce .product_meta a { color: var(--vv-ink); }

/* related */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells > h2 {
	font-family: var(--vv-font-display);
	font-weight: 300;
	font-size: 36px;
	margin: 64px 0 24px;
}

/* ---------- Cart ---------- */
.vv-ship-bar { margin-bottom: 24px; }
.vv-ship-bar__label { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; margin: 0 0 8px; color: rgba(23,20,16,0.7); }
.vv-ship-bar__label strong { color: var(--vv-clay); }
.vv-ship-bar__track { height: 4px; background: rgba(23,20,16,0.1); border-radius: 999px; overflow: hidden; }
.vv-ship-bar__fill { display: block; height: 100%; background: var(--vv-clay); transition: width 0.5s var(--vv-ease); }

.woocommerce table.shop_table {
	border: 1px solid var(--vv-border);
	border-radius: 0;
}
.woocommerce table.shop_table th { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.woocommerce table.shop_table td { border-top: 1px solid var(--vv-border); }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-family: var(--vv-font-display);
	font-weight: 300;
	font-size: 32px;
}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--vv-ink);
	color: var(--vv-bone);
	border-radius: 0;
	padding: 14px 26px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: background 0.3s var(--vv-ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--vv-clay);
	color: var(--vv-bone);
}
.woocommerce a.checkout-button.button.alt,
.woocommerce #place_order {
	width: 100%;
	padding: 18px;
	font-size: 12px;
	letter-spacing: 0.25em;
}

/* ---------- Notices ---------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border-top-color: var(--vv-clay);
	background: var(--vv-cream);
	color: var(--vv-ink);
	border-radius: 0;
}
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--vv-clay); }

/* ---------- Forms (checkout / account) ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--vv-border);
	background: transparent;
	padding: 14px 16px;
	border-radius: 0;
	font-family: inherit;
	font-size: 15px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { outline: none; border-color: var(--vv-ink); }
.woocommerce form .form-row label { font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; }

.woocommerce h2, .woocommerce h3 { font-family: var(--vv-font-display); font-weight: 300; }
.woocommerce-checkout h3#order_review_heading { font-size: 28px; }

/* ---------- Mini cart ---------- */
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total { border-top: 1px solid var(--vv-border); }

/* ---------- My account ---------- */
.woocommerce .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	border: 1px solid var(--vv-border);
}
.woocommerce .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 14px 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--vv-border);
}
.woocommerce .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce .woocommerce-MyAccount-navigation ul li a:hover { background: var(--vv-ink); color: var(--vv-bone); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
