/* TRASAGA CATALOG — density lock. UI recedes. Product leads. */

:root {
	--trasaga-page: #faf9f6;
	--trasaga-plate: #f3f1ec;
	--trasaga-text: #111111;
	--trasaga-text-2: #555555;
	--trasaga-text-3: #888888;
	--trasaga-line: #e5e1d8;
	--trasaga-radius-cta: 2px;
	--trasaga-radius-add: 999px;
	--trasaga-space-1: 4px;
	--trasaga-space-2: 8px;
	--trasaga-space-3: 12px;
	--trasaga-space-4: 16px;
	--trasaga-space-5: 20px;
	--trasaga-space-6: 24px;
	--trasaga-space-7: 32px;
	--trasaga-space-8: 40px;
	--trasaga-space-9: 48px;
	--trasaga-space-10: 64px;
	--trasaga-ease: 180ms ease;
	--trasaga-ease-img: 380ms ease;
}

html,
body,
#wrapper,
#main,
.page-wrapper,
.header,
.header-wrapper,
.header-main,
.header:not(.transparent),
body.trasaga-site .header-wrapper {
	background: var(--trasaga-page) !important;
	box-shadow: none !important;
}

body,
button,
input,
select,
textarea,
.nav > li > a,
.header-nav > li > a {
	font-family: var(--trasaga-font) !important;
	color: var(--trasaga-text-2);
	line-height: 1.5;
}

h1, h2, h3, h4,
.product_title,
.trasaga-story__copy h2,
.trasaga-feature-copy h2 {
	color: var(--trasaga-text) !important;
}

/* —— Header —— */
.header-main {
	min-height: 72px;
	height: 72px;
}

.header-main #logo img {
	max-height: 36px !important;
}

.header-nav-main.nav {
	gap: 0;
}

.header-nav-main.nav > li > a {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--trasaga-text) !important;
	padding: 0 12px !important;
}

.header-nav-main.nav > li > a:hover,
.header-nav-main.nav > li.active > a,
.header-nav-main.nav > li.current-menu-item > a {
	color: var(--trasaga-text) !important;
}

.header-nav-main.nav-line-bottom > li > a:before,
.header-nav-main.nav-line-grow > li > a:before {
	background: var(--trasaga-action) !important;
	height: 1px !important;
}

.header-nav i,
.header-nav svg,
.header-button,
.header-search-form-icon,
.account-item a,
.header-cart-link {
	color: var(--trasaga-text) !important;
}

.header-nav .icon-search,
.header-nav .icon-user,
.header-nav .icon-shopping-bag,
.header-nav .icon-shopping-cart {
	font-size: 18px !important;
}

/* —— Announcement —— */
body .trasaga-offer,
body .trasaga-offer .col-inner,
body .trasaga-offer p {
	background: #111111 !important;
	color: #ffffff !important;
	opacity: 1 !important;
}

body .trasaga-offer p {
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}

body .trasaga-offer .col-inner {
	padding-top: 11px !important;
	padding-bottom: 11px !important;
}

/* —— Buttons —— */
.button,
.trasaga-btn-shop,
.single_add_to_cart_button,
.checkout-button,
#place_order {
	border-radius: var(--trasaga-radius-cta) !important;
	box-shadow: none !important;
	min-height: 46px;
	transition: background var(--trasaga-ease), border-color var(--trasaga-ease) !important;
}

.woocommerce .products .product-small.box,
.product-small,
.product-small .col-inner,
.box-image {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.woocommerce .products .product-small .box-image {
	aspect-ratio: 4 / 5;
	background: var(--trasaga-plate) !important;
	background-color: var(--trasaga-plate) !important;
	overflow: hidden !important;
}

.woocommerce .products .product-small .box-image img {
	transition: transform var(--trasaga-ease-img) !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 7% !important;
	box-sizing: border-box !important;
}

.woocommerce .products .product-small:hover .box-image img {
	transform: scale(1.025) !important;
}

.woocommerce .products .box-text {
	padding: 12px 2px 0 !important;
	text-align: left !important;
}

.woocommerce .products .product-title a,
.woocommerce .products .woocommerce-loop-product__title a {
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	color: var(--trasaga-text) !important;
}

.woocommerce .products .price {
	margin-top: 6px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--trasaga-text) !important;
}

.woocommerce .products .price del {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--trasaga-text-3) !important;
	margin-left: .35em;
}

.woocommerce .products .price ins {
	color: var(--trasaga-text) !important;
	background: none !important;
}

.woocommerce .products .add-to-cart-button,
.woocommerce .products .add_to_cart_button,
.woocommerce .products .badge-container,
.woocommerce .products .onsale,
.woocommerce .products .yith-wcwl-add-to-wishlist,
.woocommerce .products .image-tools {
	display: none !important;
}

/* —— Width: use the viewport, do not sit in a 1100px well —— */
:root {
	--trasaga-page-gutter: clamp(40px, 4vw, 72px);
	--trasaga-content: min(calc(100% - (var(--trasaga-page-gutter) * 2)), 1680px);
}

@media (min-width: 850px) {
	/* One centered shell. Do not also shrink nested .row / .row-small (theme caps those at ~1170px and left-aligns them). */
	body.trasaga-shop .shop-page-title .page-title-inner,
	body.trasaga-shop .category-page-row,
	.page-id-99 .trasaga-shop-grid {
		max-width: 1680px !important;
		width: calc(100% - 96px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.trasaga-shop .category-page-row > .col,
	body.trasaga-shop .shop-container,
	body.trasaga-shop .products,
	body.trasaga-shop .products.row,
	body.trasaga-shop .products.row-small {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.trasaga-shop .shop-page-title,
	body.trasaga-shop .page-title-inner {
		padding-top: 20px !important;
		padding-bottom: 8px !important;
		min-height: 0 !important;
	}

	body.trasaga-shop h1.page-title,
	body.trasaga-shop .shop-page-title h1,
	body.trasaga-shop .shop-page-title .woocommerce-breadcrumb {
		font-family: var(--trasaga-display) !important;
		font-size: 36px !important;
	}

	body.trasaga-shop .products {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 48px 24px !important;
	}

	body.trasaga-shop .products .product {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.home .trasaga-shop-grid .products,
	.page-id-99 .trasaga-shop-grid .products {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 48px 24px !important;
	}
}

@media (min-width: 1024px) and (max-width: 1439px) {
	body.trasaga-shop .products,
	.page-id-99 .trasaga-shop-grid .products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 849px) {
	body.trasaga-shop .shop-page-title {
		padding: 10px 16px 0 !important;
		text-align: left !important;
	}

	body.trasaga-shop .shop-page-title .page-title-inner,
	body.trasaga-shop .category-page-row,
	body.trasaga-shop .category-page-row > .col,
	body.trasaga-shop .shop-container,
	body.trasaga-shop .products,
	body.trasaga-shop .products.row,
	body.trasaga-shop .products.row-small {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.trasaga-shop .category-page-row {
		padding: 0 16px 32px !important;
	}

	body.trasaga-shop .products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 28px 14px !important;
	}

	body.trasaga-shop .products .product,
	body.trasaga-shop .products .col {
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
		float: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body.trasaga-product .product-gallery-slider,
	body.trasaga-product .product-gallery-slider .flickity-viewport,
	body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image {
		height: min(58vh, 480px) !important;
		max-height: min(58vh, 480px) !important;
	}

	.woocommerce .products .product-title a {
		font-size: 13px !important;
	}
}

@media (min-width: 850px) {
	body.trasaga-shop .shop-page-title {
		max-width: none;
		padding: 24px 32px 8px;
	}
}

/* —— Shop by: editorial tiles, never tiny circles on desktop —— */
.page-id-99 .trasaga-shopby-wrap.section {
	padding: 72px 0 16px !important;
}

.trasaga-shopby {
	max-width: 880px !important;
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	padding: 0 !important;
}

.trasaga-shopby > .col,
.trasaga-shopby .col {
	padding: 0 6px !important;
}

.trasaga-shopby-card {
	display: block !important;
	text-align: center;
	text-decoration: none !important;
	color: var(--trasaga-text) !important;
}

.trasaga-shopby-card img {
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	aspect-ratio: 4 / 5 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center 28% !important;
	background: var(--trasaga-plate) !important;
	border: none !important;
	display: block !important;
}

.trasaga-shopby-card:hover img {
	transform: scale(1.02) !important;
}

.trasaga-shopby-card span {
	display: block;
	margin-top: 10px;
	font-size: 12px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--trasaga-text) !important;
}

.page-id-99 .trasaga-line-wrap.section {
	padding: 56px 0 8px !important;
	min-height: 0 !important;
}

.page-id-99 .trasaga-shop-head,
.page-id-99 .trasaga-shop-head .col-inner {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 48px 12px !important;
	text-align: left !important;
}

.page-id-99 .trasaga-shop-head h2,
.page-id-99 .trasaga-shop-head p:not(.trasaga-label) {
	display: none !important;
}

/* —— Labels —— */
.trasaga-label {
	color: var(--trasaga-text) !important;
	letter-spacing: .16em !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}

.trasaga-label::after {
	display: none !important;
}

/* —— Home hero: photography first, type restrained —— */
.page-id-99 .trasaga-hero.banner {
	height: min(62svh, 640px) !important;
	max-height: 640px;
}

.trasaga-hero h1 {
	font-size: clamp(2rem, 4.4vw, 3.1rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.08 !important;
}

.page-id-99 .trasaga-btn-shop.button,
.trasaga-hero-cta .button {
	min-height: 46px !important;
	padding: 12px 28px !important;
	font-size: 12px !important;
	letter-spacing: .14em !important;
	border-radius: 2px !important;
}

.page-id-99 .trasaga-pillars.section,
.page-id-99 .trasaga-concierge.section {
	padding-top: 48px !important;
	padding-bottom: 48px !important;
}

.trasaga-feature-copy {
	padding: 64px 72px !important;
}

.trasaga-feature-copy h2 {
	font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
	letter-spacing: -0.03em !important;
	max-width: 480px;
}

.trasaga-feature-copy p {
	max-width: 460px;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.trasaga-feature-media,
.trasaga-feature .ux_banner,
.trasaga-feature .banner {
	background: var(--trasaga-plate) !important;
}

/* —— PDP —— */
body.trasaga-product #accordion-description {
	display: none !important;
}

body.trasaga-product .trasaga-gallery-details {
	max-width: 720px;
	margin: 48px auto 24px;
	padding: 0 24px 8px;
	background: transparent;
	text-align: left;
	border-top: none;
}

body.trasaga-product .trasaga-gallery-details__body,
body.trasaga-product .trasaga-gallery-details__body p,
body.trasaga-product .trasaga-gallery-details__body li,
body.trasaga-product .trasaga-gallery-details__body strong {
	background: transparent !important;
}

body.trasaga-product .trasaga-gallery-details h2 {
	margin: 0 0 14px;
	font-family: var(--trasaga-font) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--trasaga-text) !important;
}

body.trasaga-product .trasaga-gallery-details h2 + .trasaga-gallery-details__body h2,
body.trasaga-product .trasaga-gallery-details__body h2 {
	font-family: var(--trasaga-display) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	margin: 0 0 12px !important;
}

body.trasaga-product .trasaga-gallery-details__body,
body.trasaga-product .trasaga-gallery-details__body p,
body.trasaga-product .trasaga-gallery-details__body li {
	font-size: 15px;
	line-height: 1.55;
	color: var(--trasaga-text-2);
}

body.trasaga-product .trasaga-gallery-details__body p {
	margin: 0 0 12px;
}

body.trasaga-product .trasaga-gallery-details__body ul {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

body.trasaga-product .trasaga-gallery-details__body li {
	padding: 12px 0;
	border-top: 1px solid var(--trasaga-line);
}

body.trasaga-product .trasaga-gallery-details__body li strong {
	display: block;
	margin-bottom: 4px;
	color: var(--trasaga-text);
	font-weight: 600;
}

body.trasaga-product .product-gallery-slider,
body.trasaga-product .product-gallery-slider .flickity-viewport {
	height: min(70vh, 680px) !important;
	max-height: min(70vh, 680px) !important;
	background: var(--trasaga-plate) !important;
}

body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image {
	height: min(70vh, 680px) !important;
	background: var(--trasaga-plate) !important;
}

body.trasaga-product .product-gallery-slider .woocommerce-product-gallery__image img {
	max-height: min(70vh, 680px) !important;
	width: 100% !important;
	object-fit: contain !important;
}

body.trasaga-product .product-gallery-slider .flickity-page-dots {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 14px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

body.trasaga-product .product-gallery-slider .flickity-page-dots .dot {
	width: 10px !important;
	height: 2px !important;
	margin: 0 3px !important;
	border-radius: 0 !important;
	background: rgba(18, 18, 18, .22) !important;
	opacity: 1 !important;
	box-shadow: none !important;
}

body.trasaga-product .product-gallery-slider .flickity-page-dots .dot.is-selected {
	width: 22px !important;
	background: var(--trasaga-ink) !important;
}

body.trasaga-product h1.product_title {
	font-family: var(--trasaga-display) !important;
	font-size: 26px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	margin: 0 0 16px !important;
}

body.trasaga-product .product-page-price,
body.trasaga-product .product-info p.price,
body.trasaga-product .product-info .price .amount,
body.trasaga-product .product-page-price .amount {
	font-size: 28px !important;
	font-weight: 600 !important;
	margin: 0 0 16px !important;
	color: var(--trasaga-text) !important;
}

body.trasaga-product .product-info .price del {
	font-size: 14px !important;
	color: var(--trasaga-text-3) !important;
}

body.trasaga-product .trasaga-color-switcher .color-swatch {
	width: 36px !important;
	height: 36px !important;
}

body.trasaga-product .single_add_to_cart_button,
body.trasaga-product .single_add_to_cart_button.button {
	height: 48px !important;
	min-height: 48px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
}

body.trasaga-product .trasaga-pdp-facts {
	margin: 20px 0 8px !important;
}

body.trasaga-product .trasaga-pdp-facts strong {
	font-size: 12px !important;
}

body.trasaga-product .trasaga-pdp-facts span {
	font-size: 11px !important;
}

body.trasaga-product .accordion-title,
body.trasaga-product .product-page-accordian .accordion-title,
body.trasaga-product .accordion-item .accordion-title {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: 50px !important;
	padding: 14px 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

body.trasaga-product .accordion-title .toggle,
body.trasaga-product .accordion-title button.toggle {
	order: 3 !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	float: none !important;
	margin: 0 0 0 auto !important;
	width: 20px;
	height: 20px;
	transform: none !important;
}

body.trasaga-product .accordion-title .icon-angle-down {
	display: inline-block;
	transform: rotate(-90deg);
}

body.trasaga-product .accordion-title.active .icon-angle-down,
body.trasaga-product .accordion-title[aria-expanded="true"] .icon-angle-down {
	transform: rotate(0deg);
}

body.trasaga-product .trasaga-story {
	content-visibility: auto;
	contain-intrinsic-size: auto 480px;
}

body.trasaga-product .trasaga-story__media {
	background: var(--trasaga-plate);
}

body.trasaga-product .trasaga-story {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

body.trasaga-product .trasaga-story__row {
	min-height: 0 !important;
}

body.trasaga-product .trasaga-story__media,
body.trasaga-product .trasaga-story__copy {
	min-height: 420px !important;
}

body.trasaga-product .trasaga-story__copy {
	padding: 56px 64px !important;
}

body.trasaga-product .trasaga-story__copy h2 {
	font-size: clamp(1.4rem, 2vw, 1.85rem) !important;
	margin-bottom: 14px !important;
}

body.trasaga-product .trasaga-story__copy p {
	max-width: 480px !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

body.trasaga-product .trasaga-dims {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: min(42vw, 480px);
	background: var(--trasaga-plate);
	content-visibility: auto;
	contain-intrinsic-size: auto 420px;
}

body.trasaga-product .trasaga-dims__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

body.trasaga-product .trasaga-dims__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 64px 72px;
	background: var(--trasaga-page);
}

body.trasaga-product .trasaga-dims dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 18px;
	margin: 18px 0 0;
}

body.trasaga-product .trasaga-dims dt {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--trasaga-text-3);
}

body.trasaga-product .trasaga-dims dd {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--trasaga-text);
}

body.trasaga-product .trasaga-dims h2 {
	font-family: var(--trasaga-display);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	margin: 0;
}

@media (max-width: 849px) {
	body.trasaga-product .trasaga-dims,
	body.trasaga-product .trasaga-story__row {
		grid-template-columns: 1fr;
	}

	body.trasaga-product .trasaga-story__copy,
	body.trasaga-product .trasaga-dims__copy,
	.trasaga-feature-copy {
		padding: 40px 20px !important;
	}

	body.trasaga-product h1.product_title {
		font-size: 20px !important;
	}
}

/* —— Bag confirm —— */
.trasaga-bag-toast {
	width: 290px;
	min-height: 42px;
	padding: 10px 16px !important;
	border-radius: 4px;
	font-size: 13px !important;
}

.trasaga-bag-sheet {
	width: min(400px, calc(100vw - 32px)) !important;
	border-radius: 4px;
}

.trasaga-bag-sheet__suggest img,
.trasaga-bag-sheet__ph {
	width: 76px !important;
	height: 76px !important;
}

.trasaga-bag-sheet__go {
	height: 42px !important;
	border-radius: 2px;
}

/* —— Footer —— */
.absolute-footer,
.footer-wrapper {
	display: none !important;
}

.trasaga-site-foot {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 40px var(--trasaga-page-gutter, 48px) 32px !important;
	background: var(--trasaga-page) !important;
	color: var(--trasaga-text-2) !important;
}

.trasaga-site-foot .trasaga-foot-grid {
	max-width: none;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-id-99 .trasaga-final.section {
	background: var(--trasaga-page) !important;
	padding: 32px 24px !important;
	min-height: 0 !important;
}

.related-products-wrapper,
.upsells-wrapper,
.trasaga-colours-wrap,
.trasaga-pillars {
	content-visibility: auto;
	contain-intrinsic-size: auto 360px;
}

/* —— Checkout: Flatsome already uses 7/5 columns. Do not float #order_review again. —— */
body.woocommerce-checkout .page-title-inner h1,
body.woocommerce-checkout .shop-page-title h1,
body.woocommerce-checkout .checkout-page-title .checkout-breadcrumbs {
	font-family: var(--trasaga-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	text-align: center !important;
}

body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .cart-container {
	overflow: visible !important;
}

@media (min-width: 900px) {
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-checkout .cart-container.container {
		max-width: 1180px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.woocommerce-checkout form.checkout > .row {
		display: flex !important;
		align-items: flex-start !important;
		gap: 48px !important;
		margin: 24px 0 64px !important;
	}

	body.woocommerce-checkout form.checkout > .row > .large-7,
	body.woocommerce-checkout form.checkout > .row > .large-5 {
		float: none !important;
		padding: 0 !important;
	}

	body.woocommerce-checkout form.checkout > .row > .large-7 {
		flex: 1 1 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	body.woocommerce-checkout form.checkout > .row > .large-5 {
		flex: 0 0 420px !important;
		width: 420px !important;
		max-width: 420px !important;
	}
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .checkout-sidebar,
body.woocommerce-checkout .col-inner.has-border {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
	font-family: var(--trasaga-display) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	margin: 0 0 16px !important;
}

body.woocommerce-checkout .col-inner.has-border {
	border: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #order_review,
body.woocommerce-checkout .checkout-sidebar {
	border: 1px solid var(--trasaga-line) !important;
	padding: 24px !important;
	background: #f6f5f1 !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout #order_review {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 10px 0 !important;
	font-size: 14px !important;
	word-break: break-word;
}

body.woocommerce-checkout #payment {
	background: transparent !important;
	margin: 16px 0 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--trasaga-line) !important;
}

body.woocommerce-checkout #payment .payment_method,
body.woocommerce-checkout #payment .wc_payment_method {
	margin: 0 0 10px !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-cart .checkout-button {
	display: block !important;
	width: 100% !important;
	height: 48px !important;
	font-size: 12px !important;
	letter-spacing: .14em !important;
	white-space: nowrap !important;
	line-height: 48px !important;
	padding: 0 16px !important;
}

.header .cart-item .ux-mini-cart-qty .ux-quantity,
.header .cart-item .ux-mini-cart-qty .quantity,
.header .cart-item .ux-mini-cart-qty .plus,
.header .cart-item .ux-mini-cart-qty .minus,
.header .cart-item .ux-mini-cart-qty .ux-quantity__button,
.header .cart-item .ux-mini-cart-qty input.qty {
	visibility: visible !important;
	opacity: 1 !important;
}

body.trasaga-shop .category-filtering,
body.trasaga-shop .filter-button,
body.trasaga-shop .shop-filter-toggle,
body.trasaga-shop .off-canvas-toggle:not(.header-cart-link),
body.trasaga-shop .widget_layered_nav,
body.trasaga-shop .widget_price_filter,
body.trasaga-shop #shop-sidebar,
body.trasaga-shop .shop-sidebar,
body.trasaga-shop .category-page-row .widget {
	display: none !important;
}

@media (min-width: 850px) {
	body.trasaga-product #reviews {
		display: grid;
		grid-template-columns: .32fr .68fr;
		gap: 40px;
		padding: 64px 40px;
		border-top: 1px solid var(--trasaga-line);
		background: var(--trasaga-page);
	}
}

.box,
.col-inner,
.banner,
.img.has-hover {
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce .products .product-small .box-image img,
	.button,
	.trasaga-bag-layer,
	.trasaga-bag-toast,
	.trasaga-bag-sheet {
		transition: none !important;
	}

	.related-products-wrapper,
	.upsells-wrapper,
	.trasaga-story,
	.trasaga-site-foot {
		content-visibility: visible;
	}
}

/* —— Hover bag: Flatsome widget list hides the name (absolute thumb + overflow) —— */
body .header .cart-item ul.product_list_widget li,
body .header .cart-item .woocommerce-mini-cart-item {
	position: relative !important;
	overflow: visible !important;
	min-height: 0 !important;
}

body .header .cart-item ul.product_list_widget li img,
body .header .cart-item .woocommerce-mini-cart-item img {
	position: absolute !important;
	left: 0 !important;
	top: 12px !important;
	float: none !important;
}

body .header .cart-item .trasaga-bag-item-name {
	display: block !important;
	position: static !important;
	color: #121212 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body .header .cart-item .ux-mini-cart-qty {
	margin-right: 0 !important;
}

body.woocommerce-cart td.product-name,
body.woocommerce-cart td.product-name a,
body.woocommerce-cart td.product-name .trasaga-bag-item-name {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--trasaga-text) !important;
}

@media (max-width: 849px) {
	body.trasaga-product .related-products-wrapper .products,
	body.trasaga-product .upsells .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.trasaga-shop .trasaga-shop-rail {
		gap: 0 22px !important;
		margin: 14px 0 22px !important;
		padding-bottom: 12px !important;
		overflow-x: auto;
		flex-wrap: nowrap !important;
		-webkit-overflow-scrolling: touch;
	}

	body.trasaga-shop .woocommerce-ordering,
	body.trasaga-shop .woocommerce-ordering select {
		display: none !important;
	}
}

@media (min-width: 850px) {
	body.trasaga-product .related-products-wrapper .products,
	body.trasaga-product .upsells .products {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 32px 20px !important;
		max-width: none !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.trasaga-product .related-products-wrapper .products .product,
	body.trasaga-product .upsells .products .product {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		padding: 0 !important;
	}
}
