/* TRASAGA COMMERCE */

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .checkout-page-title,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	font-family: var(--trasaga-font);
}

.woocommerce-cart .cart_totals,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--trasaga-white);
}

.woocommerce table.shop_table {
	border-color: var(--trasaga-border) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--trasaga-border) !important;
	padding: 16px 12px !important;
}

.woocommerce-cart .product-name a,
.woocommerce-checkout-review-order-table .product-name {
	color: var(--trasaga-ink) !important;
	font-weight: 500;
}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	color: var(--trasaga-ink) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	border: 1px solid var(--trasaga-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--trasaga-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	color: var(--trasaga-ink) !important;
	font-size: .82rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 14px 18px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--trasaga-mist);
	font-weight: 600;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border-radius: 0 !important;
	border-color: var(--trasaga-border) !important;
	font-size: .92rem;
}

.woocommerce form .form-row label {
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--trasaga-warm);
}

.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--trasaga-taupe) !important;
	background: var(--trasaga-mist) !important;
}

.woocommerce-privacy-policy-text {
	font-size: .82rem;
	color: var(--trasaga-warm);
}

#payment {
	background: var(--trasaga-mist) !important;
	border-radius: 0 !important;
}

.woocommerce #payment ul.payment_methods {
	border-bottom-color: var(--trasaga-border) !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--trasaga-ink);
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order {
	padding: 16px 32px !important;
}

.woocommerce .woocommerce-result-count {
	font-size: .72rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--trasaga-taupe);
}

.woocommerce-ordering select {
	border-radius: 0 !important;
	border-color: var(--trasaga-border) !important;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.woocommerce div.product form.cart .quantity input.qty {
	border-radius: 0 !important;
	border-color: var(--trasaga-border) !important;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce a.button.wc-backward {
	border-radius: 0 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: .72rem;
}

.woocommerce-cart .cart-empty {
	color: var(--trasaga-warm);
	font-size: 1rem;
}

/*
 * Product gallery — leave Flatsome/Flickity alone.
 * Earlier aspect-ratio + absolute img + flex thumb overrides
 * collapsed vertical thumbs (height 0) and made slides flash white.
 * Only light polish: no theme-color letterbox, no equal-height stretch.
 */
body.trasaga-product .product-main > .row,
body.trasaga-product .product-container > .row,
body.trasaga-product div.product > .row {
	align-items: flex-start !important;
}

body.trasaga-product .product-gallery,
body.trasaga-product .product-info,
body.trasaga-product .product-gallery.col,
body.trasaga-product .product-info.col {
	height: auto !important;
	min-height: 0 !important;
	align-self: flex-start !important;
}

body.trasaga-product .product-gallery,
body.trasaga-product .woocommerce-product-gallery,
body.trasaga-product .product-gallery-slider,
body.trasaga-product .product-gallery-slider .flickity-viewport,
body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image,
body.trasaga-product .product-thumbnails,
body.trasaga-product .product-thumbnails .col,
body.trasaga-product .product-thumbnails a {
	background: #fff !important;
	background-color: #fff !important;
}

/* Natural image flow — do not absolute-position slides (breaks Flickity + lazy load) */
body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image img,
body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image > a img {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	display: block !important;
	object-fit: contain !important;
	object-position: center center !important;
	background: #fff !important;
}

body.trasaga-product .product-thumbnails img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
	background: #fff !important;
}

/* Related / upsells strip — same 1:1.2 fill, no letterboxing */
body.single-product .related-products-wrapper .box-image,
body.single-product .upsells-wrapper .box-image,
body.single-product .related .box-image,
body.single-product .upsells .box-image {
	padding-top: 120% !important;
	background: #fff !important;
	background-color: #fff !important;
	overflow: hidden !important;
}

body.single-product .related-products-wrapper .box-image .image-cover,
body.single-product .upsells-wrapper .box-image .image-cover,
body.single-product .related .box-image .image-cover,
body.single-product .upsells .box-image .image-cover {
	padding-top: 0 !important;
	position: absolute !important;
	inset: 0 !important;
	height: 100% !important;
	width: 100% !important;
	background: transparent !important;
}

body.single-product .related-products-wrapper .box-image img,
body.single-product .upsells-wrapper .box-image img,
body.single-product .related .box-image img,
body.single-product .upsells .box-image img,
body.single-product .related-products-wrapper .box-image .back-image,
body.single-product .upsells-wrapper .box-image .back-image {
	object-fit: cover !important;
	object-position: center center !important;
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

body.single-product .related-products-wrapper .product-small.box,
body.single-product .upsells-wrapper .product-small.box,
body.single-product .related .product-small.box,
body.single-product .upsells .product-small.box {
	background: transparent !important;
}

/* —— Shop archive ——
 * Flatsome uses flex-row: left = breadcrumb + Filter, right = sort.
 * Do not center or force ordering to width:100% — that breaks the bar.
 */
body.trasaga-shop .shop-page-title,
body.trasaga-shop .woocommerce-products-header {
	padding: 0 !important;
	text-align: left !important;
	background: transparent !important;
}

body.trasaga-shop .shop-page-title .page-title-inner,
body.trasaga-shop .page-title-inner {
	padding: 28px 0 22px !important;
	text-align: left !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px 24px;
}

body.trasaga-shop .shop-page-title .flex-col.flex-grow {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 18px 28px !important;
	text-align: left !important;
	width: auto !important;
	flex: 1 1 auto !important;
}

body.trasaga-shop .shop-page-title .flex-col.flex-grow > .is-small {
	font-size: inherit !important;
	margin: 0 !important;
}

body.trasaga-shop .shop-page-title .woocommerce-breadcrumb,
body.trasaga-shop .shop-page-title .woocommerce-breadcrumb a {
	font-size: clamp(1.55rem, 2.6vw, 2.1rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	text-transform: none !important;
	color: var(--trasaga-ink) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.15 !important;
}

body.trasaga-shop .shop-page-title .woocommerce-breadcrumb .breadcrumb-delimiter,
body.trasaga-shop .shop-page-title .woocommerce-breadcrumb .separator {
	display: none !important;
}

body.trasaga-shop .shop-page-title h1,
body.trasaga-shop .woocommerce-products-header__title,
body.trasaga-shop h1.page-title,
body.trasaga-shop .page-title h1 {
	font-size: clamp(1.55rem, 2.6vw, 2.1rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	text-transform: none !important;
	color: var(--trasaga-ink) !important;
	margin: 0 !important;
}

body.trasaga-shop .woocommerce-result-count {
	display: none !important;
}

body.trasaga-shop .shop-page-title .flex-col:not(.flex-grow) {
	flex: 0 0 auto !important;
	text-align: right !important;
	margin-left: auto !important;
}

body.trasaga-shop .woocommerce-ordering {
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	text-align: left !important;
	display: block !important;
}

body.trasaga-shop .woocommerce-ordering select,
body.trasaga-shop .woocommerce-ordering .orderby {
	border: 1px solid var(--trasaga-border) !important;
	border-radius: 0 !important;
	background: var(--trasaga-white) !important;
	color: var(--trasaga-ink) !important;
	font-size: .72rem !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	padding: 11px 40px 11px 14px !important;
	min-width: 210px;
	width: auto !important;
	height: auto !important;
	min-height: 44px !important;
	line-height: 1.35 !important;
	opacity: 1 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23121212' d='M1.4 0L6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 10px 7px !important;
	box-shadow: none !important;
}

body.trasaga-shop .category-filtering,
body.trasaga-shop .filter-button,
body.trasaga-shop .shop-filter-toggle {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	margin: 0 !important;
	font-size: .72rem !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: var(--trasaga-ink) !important;
	white-space: nowrap;
}

body.trasaga-shop .products .product-title a,
body.trasaga-shop .products .woocommerce-loop-product__title a {
	font-size: .88rem !important;
	font-weight: 500 !important;
	letter-spacing: .01em !important;
	line-height: 1.35 !important;
	color: var(--trasaga-ink) !important;
}

body.trasaga-shop .products .price {
	font-size: .88rem !important;
	color: var(--trasaga-ink) !important;
	margin-top: 6px !important;
}

body.trasaga-shop .products .yith-wcwl-add-to-wishlist,
body.trasaga-shop .products .wishlist-button,
body.trasaga-shop .products .image-tools,
body.trasaga-shop .products .badge-container .onsale {
	display: none !important;
}

body.trasaga-shop .products .box-text {
	padding: 14px 2px 28px !important;
	text-align: left !important;
}

/* —— Product page —— */
body.trasaga-product .product-info > .product_title,
body.trasaga-product h1.product-title,
body.trasaga-product h1.product_title {
	font-size: clamp(1.45rem, 2.6vw, 1.85rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	color: var(--trasaga-ink) !important;
	margin-bottom: 12px !important;
}

body.trasaga-product .product-info > .price,
body.trasaga-product p.price {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: var(--trasaga-ink) !important;
	margin: 16px 0 8px !important;
}

body.trasaga-product .product-short-description,
body.trasaga-product .woocommerce-product-details__short-description {
	font-size: .95rem;
	line-height: 1.65;
	color: var(--trasaga-warm);
	max-width: 28rem;
}

body.trasaga-product .product-gallery .image-tools,
body.trasaga-product .product-gallery .yith-wcwl-add-to-wishlist,
body.trasaga-product .wishlist-icon,
body.trasaga-product .product-info .yith-wcwl-add-to-wishlist {
	display: none !important;
}

/* Color switcher — quiet luxury */
body.trasaga-product .trasaga-color-switcher {
	margin: 20px 0 18px !important;
}

body.trasaga-product .trasaga-color-switcher .color-label {
	font-size: .68rem !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	color: var(--trasaga-taupe) !important;
	margin-bottom: 12px !important;
}

body.trasaga-product .trasaga-color-switcher .color-swatch {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	margin-right: 12px !important;
	box-shadow: none !important;
	border: 1px solid rgba(18, 18, 18, .12) !important;
}

body.trasaga-product .trasaga-color-switcher .color-swatch::before {
	inset: -4px !important;
	border-color: rgba(18, 18, 18, .18) !important;
}

body.trasaga-product .trasaga-color-switcher .color-swatch.active {
	box-shadow:
		0 0 0 2px #fff,
		0 0 0 3px var(--trasaga-ink) !important;
}

body.trasaga-product .trasaga-color-switcher .color-swatch::after {
	display: none !important;
}

/* Size buttons — sharp, not pills */
body.trasaga-product .trasaga-size-selector {
	margin: 8px 0 22px !important;
}

body.trasaga-product .trasaga-size-selector .size-label {
	display: block !important;
	font-size: .68rem !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--trasaga-taupe) !important;
	margin-bottom: 12px !important;
}

body.trasaga-product .trasaga-size-selector .size-options {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

body.trasaga-product .trasaga-size-selector .size-btn {
	min-width: 48px !important;
	height: 44px !important;
	padding: 0 14px !important;
	border-radius: 0 !important;
	border: 1px solid var(--trasaga-border) !important;
	background: var(--trasaga-white) !important;
	color: var(--trasaga-ink) !important;
	font-size: .78rem !important;
	font-weight: 500 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease !important;
	box-shadow: none !important;
}

body.trasaga-product .trasaga-size-selector .size-btn:hover {
	border-color: var(--trasaga-ink) !important;
}

body.trasaga-product .trasaga-size-selector .size-btn.active {
	background: var(--trasaga-ink) !important;
	border-color: var(--trasaga-ink) !important;
	color: #fff !important;
}

body.trasaga-product .trasaga-size-selector .size-btn.disabled {
	opacity: .35 !important;
	cursor: not-allowed !important;
	text-decoration: line-through !important;
}

/* Hide native size selects visually; keep in DOM for WooCommerce JS */
body.trasaga-has-size-buttons table.variations {
	margin-bottom: 0 !important;
}

body.trasaga-has-size-buttons table.variations select {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.trasaga-has-size-buttons table.variations .label,
body.trasaga-has-size-buttons table.variations .reset_variations {
	display: none !important;
}

body.trasaga-product .single_add_to_cart_button.button {
	width: 100% !important;
	max-width: 100% !important;
	padding: 16px 28px !important;
	margin-top: 8px !important;
	background: var(--trasaga-black) !important;
	border-color: var(--trasaga-black) !important;
}

body.trasaga-product .single_add_to_cart_button.button:hover {
	background: var(--trasaga-accent-dark) !important;
	border-color: var(--trasaga-accent-dark) !important;
}

body.trasaga-product .product-section-title,
body.trasaga-product .related-products-wrapper > h3,
body.trasaga-product .upsells-wrapper > h3,
body.trasaga-product .product-section-title-related,
body.trasaga-product .product-section-title-upsell {
	font-size: .78rem !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--trasaga-ink) !important;
	padding: 48px 0 20px !important;
	border-top: 1px solid var(--trasaga-border);
	margin-top: 24px !important;
}

body.trasaga-product .related-products-wrapper .product-title a,
body.trasaga-product .upsells-wrapper .product-title a {
	font-size: .82rem !important;
	font-weight: 500 !important;
}

body.trasaga-product .related-products-wrapper .yith-wcwl-add-to-wishlist,
body.trasaga-product .related-products-wrapper .wishlist-button,
body.trasaga-product .related-products-wrapper .image-tools,
body.trasaga-product .upsells-wrapper .yith-wcwl-add-to-wishlist,
body.trasaga-product .upsells-wrapper .image-tools {
	display: none !important;
}

body.trasaga-product .accordion-title,
body.trasaga-product .product-page-accordian .accordion-title {
	font-size: .72rem !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	color: var(--trasaga-ink) !important;
}

body.trasaga-product .woocommerce-tabs ul.tabs {
	display: none !important;
}

/* END TRASAGA COMMERCE */
