/*
 * Claud Design live bridge.
 * Loaded last so the WooCommerce and Elementor output follows the final
 * handoff language from /Claud Design without breaking dynamic store data.
 */

body.graffiti-attire,
body.ga-dark-poetic {
	background: var(--ga-black);
	color: var(--ga-bone);
	font-family: var(--ga-mono);
}

body.graffiti-attire h1,
body.graffiti-attire h2,
body.graffiti-attire h3,
body.graffiti-attire h4,
body.graffiti-attire .entry-title,
body.graffiti-attire .woocommerce-loop-product__title {
	font-family: var(--ga-heading);
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.ga-header .ga-logo img {
	height: 30px;
	max-width: none;
}

.ga-header .ga-utils .ga-cart-count {
	background: var(--ga-red);
	border-radius: 999px;
	color: var(--ga-white);
	display: inline-flex;
	font-size: 9px;
	height: 16px;
	justify-content: center;
	line-height: 16px;
	min-width: 16px;
	padding: 0 4px;
}

.ga-shop-archive__breadcrumb {
	margin: 18px auto;
	max-width: var(--ga-maxw);
	padding: 0 var(--ga-gutter);
	width: 100%;
}

.ga-shop-archive .ga-page-head {
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.96), rgba(5, 5, 5, 0.78)),
		url("../claud/wall-bg.webp") center / cover;
}

.ga-shop-archive__hero-line {
	align-items: flex-end;
	display: flex;
	gap: 30px;
	justify-content: space-between;
}

.ga-shop-archive__hero-line svg {
	color: var(--ga-red);
	flex: 0 0 84px;
	max-width: 84px;
}

.ga-shop-archive .ga-heading-xl {
	font-size: clamp(3.5rem, 7vw, 4.5rem);
	margin: 10px 0 16px;
}

.ga-shop-archive .ga-body {
	max-width: 440px;
}

.ga-filterbar a.ga-chip {
	text-decoration: none;
}

.ga-shop-archive__loop {
	padding: 40px var(--ga-gutter) 76px;
}

.ga-shop-archive__toolbar {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 0 auto 28px;
	max-width: var(--ga-maxw);
}

.woocommerce .ga-shop-archive__loop ul.products,
.woocommerce .ga-shop-products-shortcode ul.products,
.woocommerce .ga-pro-product__related ul.products {
	display: grid !important;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto;
	max-width: var(--ga-maxw);
	width: 100%;
}

.woocommerce .ga-shop-archive__loop ul.products.columns-1,
.woocommerce .ga-shop-products-shortcode ul.products.columns-1,
.woocommerce .ga-pro-product__related ul.products.columns-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.woocommerce .ga-shop-archive__loop ul.products.columns-2,
.woocommerce .ga-shop-products-shortcode ul.products.columns-2,
.woocommerce .ga-pro-product__related ul.products.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce .ga-shop-archive__loop ul.products.columns-3,
.woocommerce .ga-shop-products-shortcode ul.products.columns-3,
.woocommerce .ga-pro-product__related ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.woocommerce .ga-shop-archive__loop ul.products.columns-4,
.woocommerce .ga-shop-products-shortcode ul.products.columns-4,
.woocommerce .ga-pro-product__related ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce .ga-shop-archive__loop ul.products.columns-5,
.woocommerce .ga-shop-products-shortcode ul.products.columns-5,
.woocommerce .ga-pro-product__related ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.woocommerce .ga-shop-archive__loop ul.products.columns-6,
.woocommerce .ga-shop-products-shortcode ul.products.columns-6,
.woocommerce .ga-pro-product__related ul.products.columns-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

/*
 * Elementor Products / Archive Products widgets must own their layout.
 * The theme keeps the card styling, but the Elementor sidebar controls decide
 * column counts through Elementor's own classes/generated CSS. WooCommerce's
 * columns-* class can be stale inside Elementor, so it is deliberately ignored.
 */
.elementor-widget-wc-archive-products ul.products,
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-woocommerce-archive-products ul.products,
.elementor-products-grid ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.elementor-grid-1 ul.products,
.elementor-grid-1 .woocommerce ul.products {
	grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.elementor-grid-2 ul.products,
.elementor-grid-2 .woocommerce ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.elementor-grid-3 ul.products,
.elementor-grid-3 .woocommerce ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.elementor-grid-4 ul.products,
.elementor-grid-4 .woocommerce ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.elementor-grid-5 ul.products,
.elementor-grid-5 .woocommerce ul.products {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.elementor-grid-6 ul.products,
.elementor-grid-6 .woocommerce ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: transparent;
	border: 0;
	color: inherit;
	float: none !important;
	margin: 0 !important;
	overflow: visible;
	padding: 0 !important;
	width: auto !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.woocommerce ul.products li.product .ga-loop-product-media {
	aspect-ratio: 1 / 1;
	background-color: var(--ga-charcoal);
	background-image: url("../claud/card-wall.webp");
	background-position: center;
	background-size: cover;
	margin: 0 0 14px;
	overflow: hidden;
	position: relative;
}

.woocommerce ul.products li.product .ga-loop-product-media > img {
	height: 100% !important;
	inset: 0;
	margin: 0 !important;
	object-fit: contain;
	object-position: center;
	position: absolute;
	width: 100% !important;
}

.woocommerce ul.products li.product .ga-loop-product-media > .ga-loop-product-hover-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	inset: 0;
	position: absolute;
}

.ga-catalogue-fit-cover.woocommerce ul.products li.product .ga-loop-product-media > img,
.ga-catalogue-fit-cover .woocommerce ul.products li.product .ga-loop-product-media > img {
	object-fit: cover;
}

.ga-catalogue-fit-top.woocommerce ul.products li.product .ga-loop-product-media > img,
.ga-catalogue-fit-top .woocommerce ul.products li.product .ga-loop-product-media > img {
	object-fit: cover;
	object-position: center top;
}

.woocommerce ul.products li.product .ga-product-badge,
.woocommerce ul.products li.product .onsale {
	background: var(--ga-red);
	border-radius: 0;
	color: var(--ga-white);
	font-family: var(--ga-mono);
	font-size: 9px;
	font-weight: 700;
	left: 12px;
	letter-spacing: 0.14em;
	line-height: 1;
	min-height: 0;
	min-width: 0;
	padding: 8px 11px;
	position: absolute;
	text-transform: uppercase;
	top: 12px;
	z-index: 4;
}

.ga-catalogue-badge-hidden .woocommerce ul.products li.product .ga-product-badge {
	display: none !important;
}

.ga-catalogue-badge-below .woocommerce ul.products li.product .ga-product-badge--below {
	display: inline-flex;
	left: auto !important;
	margin: -4px auto 12px;
	max-width: calc(100% - 24px);
	position: static !important;
	top: auto !important;
	width: fit-content;
	z-index: auto;
}

@media (max-width: 767px) {
	.ga-catalogue-badge-mobile-hidden .woocommerce ul.products li.product .ga-product-badge--overlay {
		display: none !important;
	}
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #cfc8bc;
	font-family: var(--ga-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products li.product .price {
	color: var(--ga-muted-2);
	display: block;
	font-family: var(--ga-mono);
	font-size: 12px;
	font-weight: 400;
	margin-top: 6px;
	padding: 0;
}

.woocommerce ul.products li.product .button {
	background: var(--ga-red);
	border: 1px solid var(--ga-red);
	border-radius: 0;
	color: var(--ga-white);
	display: inline-flex;
	font-family: var(--ga-mono);
	font-size: 10px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.16em;
	margin: 14px 0 0;
	padding: 12px 18px;
	text-transform: uppercase;
	width: 100%;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--ga-red-hover);
	border-color: var(--ga-red-hover);
	color: var(--ga-white);
}

.ga-pro-product__shell {
	margin: 0 auto;
	max-width: var(--ga-maxw);
	padding: 26px var(--ga-gutter) 86px;
}

.ga-pro-product__breadcrumb {
	color: var(--ga-faint);
	font-family: var(--ga-mono);
	font-size: 10px;
	letter-spacing: 0.16em;
	margin-bottom: 26px;
	text-transform: uppercase;
}

.ga-pro-product__main.ga-pdp {
	gap: 48px;
}

.ga-pro-gallery__main.ga-gallery__main {
	aspect-ratio: 1 / 1;
	background-color: var(--ga-charcoal);
	background-image: url("../claud/card-wall.webp");
	background-position: center;
	background-size: cover;
	margin-bottom: 12px;
}

.ga-pro-gallery__stage-button {
	align-items: center;
	background: transparent;
	border: 0;
	cursor: zoom-in;
	display: block;
	height: 100%;
	inset: 0;
	justify-content: center;
	padding: 0;
	position: absolute;
	width: 100%;
}

.ga-pro-gallery__image,
.ga-gallery__main img {
	height: 100%;
	object-fit: contain;
	transition: transform 180ms ease, filter 180ms ease;
	width: 100%;
}

.ga-pro-gallery__stage-button:hover .ga-pro-gallery__image,
.ga-pro-gallery__stage-button:focus-visible .ga-pro-gallery__image {
	filter: brightness(1.04);
	transform: scale(1.018);
}

.ga-pro-gallery__stage-button::after {
	align-items: center;
	background: rgba(5, 5, 5, 0.72);
	border: 1px solid var(--ga-border);
	color: var(--ga-bone);
	content: "+";
	display: flex;
	font-family: var(--ga-mono);
	font-size: 20px;
	height: 42px;
	justify-content: center;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 42px;
	z-index: 4;
}

.ga-pro-gallery__thumbs.ga-gallery__thumbs {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ga-pro-gallery__thumb.ga-thumb {
	background: var(--ga-charcoal);
	border: 1px solid var(--ga-border);
	cursor: pointer;
	overflow: hidden;
	padding: 0;
}

.ga-pro-gallery__thumb.ga-thumb.is-active {
	border-color: var(--ga-red);
}

.ga-pro-gallery__thumb.ga-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ga-pro-gallery__nav {
	align-items: center;
	background: rgba(5, 5, 5, 0.72);
	border: 1px solid var(--ga-border);
	color: var(--ga-bone);
	cursor: pointer;
	display: flex;
	font-size: 34px;
	height: 48px;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	z-index: 5;
}

.ga-pro-gallery__nav--prev {
	left: 14px;
}

.ga-pro-gallery__nav--next {
	right: 14px;
}

.ga-pro-product__title {
	font-size: clamp(3.25rem, 6vw, 4.6rem);
	line-height: 0.92;
	margin: 10px 0 14px;
}

.ga-pro-product__excerpt,
.ga-product-shortcode-excerpt {
	color: var(--ga-muted);
	font-family: var(--ga-mono);
	font-size: 13px;
	line-height: 1.85;
	max-width: 440px;
}

.ga-pro-product__buy-box {
	background: transparent;
	border: 0;
	margin-bottom: 20px;
	padding: 0;
}

.ga-pro-product__buy-box table.variations select,
.ga-pro-product__buy-box .quantity .qty,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty {
	background: var(--ga-panel);
	border: 1px solid var(--ga-border);
	border-radius: 0;
	color: var(--ga-bone);
	font-family: var(--ga-mono);
	min-height: 50px;
}

.ga-pro-product__buy-box .single_add_to_cart_button,
.woocommerce div.product form.cart .button {
	background: var(--ga-red);
	border: 1px solid var(--ga-red);
	border-radius: 0;
	color: var(--ga-white);
	font-family: var(--ga-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	min-height: 50px;
	text-transform: uppercase;
}

.ga-pro-product__trust {
	margin-top: 30px;
}

.ga-pro-product__trust li {
	background: transparent;
	border-color: var(--ga-border);
	color: var(--ga-muted);
	font-size: 10px;
	letter-spacing: 0.14em;
	padding: 14px 10px;
}

.woocommerce div.product .ga-pro-product__tabs .woocommerce-tabs ul.tabs {
	border-bottom-color: var(--ga-hairline);
}

.woocommerce div.product .ga-pro-product__tabs .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--ga-hairline);
}

.woocommerce div.product .ga-pro-product__tabs .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border-color: var(--ga-red);
}

.woocommerce div.product .ga-pro-product__tabs .woocommerce-tabs ul.tabs li a {
	color: #cfc8bc;
	font-family: var(--ga-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
}

.woocommerce div.product .ga-pro-product__tabs .woocommerce-tabs ul.tabs li.active a {
	color: var(--ga-bone);
}

.woocommerce .ga-pro-product__related ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: none;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header {
	display: none;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	margin: 0 auto 80px;
	max-width: var(--ga-maxw);
	padding: 40px var(--ga-gutter) 0;
	width: 100%;
}

.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-checkout form.checkout {
	background: transparent;
	border: 0;
	padding: 0;
}

.woocommerce-cart table.cart,
.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--ga-bone);
	font-family: var(--ga-mono);
}

.woocommerce table.shop_table th {
	border-bottom: 1px solid var(--ga-hairline);
	color: var(--ga-faint);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td {
	border-color: #1a1714;
	color: var(--ga-muted);
}

.woocommerce table.shop_table .product-name a {
	color: var(--ga-bone);
	font-family: var(--ga-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.woocommerce table.cart img {
	background-color: var(--ga-charcoal);
	background-image: url("../claud/card-wall.webp");
	height: 84px;
	object-fit: contain;
	width: 84px;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
	background: var(--ga-panel);
	border: 1px solid var(--ga-border-2);
	border-radius: 0;
	padding: 28px;
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
	color: var(--ga-bone);
	font-family: var(--ga-heading);
	font-size: 26px;
	font-weight: 400;
	text-transform: uppercase;
}

.woocommerce form .form-row label {
	color: var(--ga-faint);
	font-family: var(--ga-mono);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	background: var(--ga-panel);
	border: 1px solid var(--ga-border);
	border-radius: 0;
	color: var(--ga-bone);
	font-family: var(--ga-mono);
	min-height: 48px;
	padding: 12px 14px;
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-checkout #payment #place_order {
	background: var(--ga-red);
	border: 1px solid var(--ga-red);
	border-radius: 0;
	color: var(--ga-white);
	font-family: var(--ga-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-checkout #payment #place_order:hover {
	background: var(--ga-red-hover);
	border-color: var(--ga-red-hover);
	color: var(--ga-white);
}

.ga-commerce-page-head {
	background: var(--ga-black);
}

.ga-commerce-page-head__line {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
}

.ga-commerce-page-head .ga-heading-xl {
	font-size: clamp(3rem, 6vw, 4rem);
}

.ga-el-claud-lookbook-intro {
	text-align: center;
}

.ga-el-claud-lookbook-intro > .elementor-container {
	max-width: 760px;
}

.ga-el-claud-lookbook-gallery {
	padding-top: 0;
}

.ga-lookbook-masonry {
	display: grid;
	gap: 14px;
	grid-auto-rows: 150px;
	grid-template-columns: repeat(6, 1fr);
}

.ga-lookbook-masonry__item {
	background: var(--ga-charcoal);
	overflow: hidden;
	position: relative;
}

.ga-lookbook-masonry__item--wide {
	grid-column: span 4;
	grid-row: span 3;
}

.ga-lookbook-masonry__item--tall {
	grid-column: span 2;
	grid-row: span 3;
}

.ga-lookbook-masonry__item--studio,
.ga-lookbook-masonry__item--quote {
	grid-column: span 2;
	grid-row: span 2;
}

.ga-lookbook-masonry__item--studio-wide {
	grid-column: span 3;
	grid-row: span 2;
}

.ga-lookbook-masonry__item img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ga-lookbook-masonry__item--studio img,
.ga-lookbook-masonry__item--studio-wide img {
	object-fit: contain;
	padding: 10px;
}

.ga-lookbook-masonry__item > div {
	background: linear-gradient(0deg, rgba(10, 9, 8, 0.82), rgba(10, 9, 8, 0) 72%);
	bottom: 0;
	left: 0;
	padding: 24px;
	position: absolute;
	right: 0;
}

.ga-lookbook-masonry__item strong {
	color: var(--ga-bone);
	display: block;
	font-family: var(--ga-marker);
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}

.ga-lookbook-masonry__item span {
	color: #bdb6aa;
	display: block;
	font-family: var(--ga-mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	margin-top: 8px;
	text-transform: uppercase;
}

.ga-lookbook-masonry__item--quote {
	background: var(--ga-red);
	display: flex;
	align-items: center;
	padding: 26px;
}

.ga-lookbook-masonry__item--quote p {
	color: #160c0b;
	font-family: var(--ga-marker);
	font-size: 22px;
	line-height: 1.1;
	margin: 0;
}

.ga-el-claud-manifesto-hero {
	background-color: var(--ga-black);
	background-image:
		linear-gradient(90deg, var(--ga-black) 8%, rgba(5, 5, 5, 0.6) 48%, rgba(5, 5, 5, 0.2) 100%),
		url("../claud/hero-wide.webp");
	background-position: center 28%;
	background-size: cover;
	min-height: 540px;
}

.ga-el-claud-manifesto-hero > .elementor-container {
	align-items: center;
	min-height: 540px;
}

.ga-el-claud-manifesto-body {
	text-align: center;
}

.ga-manifesto-body__intro {
	margin: 0 auto 58px;
	max-width: 900px;
}

.ga-manifesto-body__intro h2 {
	color: var(--ga-bone);
	font-family: var(--ga-heading);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.1;
	margin: 0 0 24px;
	text-transform: uppercase;
}

.ga-manifesto-body__intro p {
	color: var(--ga-muted);
	font-family: var(--ga-mono);
	font-size: 14px;
	line-height: 2;
	margin: 0 auto 28px;
	max-width: 820px;
}

.ga-manifesto-body__intro svg {
	color: var(--ga-red);
}

.ga-manifesto-principles {
	background: var(--ga-washed);
	border-bottom: 1px solid var(--ga-border-2);
	border-top: 1px solid var(--ga-border-2);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: left;
}

.ga-manifesto-principles article {
	border-right: 1px solid var(--ga-border-2);
	padding: 48px 34px;
}

.ga-manifesto-principles article:last-child {
	border-right: 0;
}

.ga-manifesto-principles strong {
	color: var(--ga-red);
	display: block;
	font-family: var(--ga-heading);
	font-size: 42px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 14px;
}

.ga-manifesto-principles h3 {
	color: var(--ga-bone);
	font-family: var(--ga-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.ga-manifesto-principles p {
	color: var(--ga-muted-2);
	font-family: var(--ga-mono);
	font-size: 12px;
	line-height: 1.85;
	margin: 0;
}

.ga-el-section.ga-el-lookbook-page-gallery,
.ga-el-section.ga-el-manifesto-page-body {
	padding-bottom: 86px;
	padding-top: 72px;
}

@media (max-width: 980px) {
	.woocommerce .ga-shop-archive__loop ul.products,
	.woocommerce .ga-shop-products-shortcode ul.products,
	.woocommerce .ga-pro-product__related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-widget-wc-archive-products ul.products,
	.elementor-widget-woocommerce-products ul.products,
	.elementor-widget-woocommerce-archive-products ul.products,
	.elementor-products-grid ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-grid-tablet-1 ul.products { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
	.elementor-grid-tablet-2 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.elementor-grid-tablet-3 ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.elementor-grid-tablet-4 ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

	.ga-shop-archive__hero-line,
	.ga-pro-product__main.ga-pdp {
		grid-template-columns: 1fr;
	}

	.ga-shop-archive__hero-line {
		align-items: flex-start;
		flex-direction: column;
	}

	.ga-lookbook-masonry,
	.ga-manifesto-principles {
		grid-template-columns: 1fr;
	}

	.ga-lookbook-masonry__item,
	.ga-lookbook-masonry__item--wide,
	.ga-lookbook-masonry__item--tall,
	.ga-lookbook-masonry__item--studio,
	.ga-lookbook-masonry__item--quote,
	.ga-lookbook-masonry__item--studio-wide {
		grid-column: span 1;
		grid-row: span 2;
	}
}

@media (max-width: 640px) {
	.ga-shop-archive__loop,
	.ga-pro-product__shell,
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce {
		padding-left: 18px;
		padding-right: 18px;
	}

	.woocommerce .ga-shop-archive__loop ul.products,
	.woocommerce .ga-shop-products-shortcode ul.products,
	.woocommerce .ga-pro-product__related ul.products {
		grid-template-columns: 1fr;
	}

	.elementor-widget-wc-archive-products ul.products,
	.elementor-widget-woocommerce-products ul.products,
	.elementor-widget-woocommerce-archive-products ul.products,
	.elementor-products-grid ul.products {
		grid-template-columns: 1fr;
	}

	.elementor-grid-mobile-1 ul.products { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
	.elementor-grid-mobile-2 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.elementor-grid-mobile-3 ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

	.ga-shop-archive__toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.ga-pro-product__trust {
		grid-template-columns: 1fr;
	}
}

/*
 * Final Elementor product-grid guard.
 * Elementor writes column choices to wrapper classes or generated CSS.
 * WooCommerce columns-* classes are not used here because they often remain
 * at columns-3 while Elementor's control has been changed.
 */
.elementor-widget ul.products,
.elementor-widget .woocommerce ul.products,
[data-widget_type*="woocommerce-products"] ul.products,
[data-widget_type*="wc-archive-products"] ul.products,
ul.products.elementor-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.elementor-widget.elementor-grid-1 ul.products,
.elementor-widget .elementor-grid-1 ul.products {
	grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.elementor-widget.elementor-grid-2 ul.products,
.elementor-widget .elementor-grid-2 ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.elementor-widget.elementor-grid-3 ul.products,
.elementor-widget .elementor-grid-3 ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.elementor-widget.elementor-grid-4 ul.products,
.elementor-widget .elementor-grid-4 ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.elementor-widget.elementor-grid-5 ul.products,
.elementor-widget .elementor-grid-5 ul.products {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.elementor-widget.elementor-grid-6 ul.products,
.elementor-widget .elementor-grid-6 ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

@media (max-width: 980px) {
	.elementor-widget ul.products,
	.elementor-widget .woocommerce ul.products,
	[data-widget_type*="woocommerce-products"] ul.products,
	[data-widget_type*="wc-archive-products"] ul.products,
	ul.products.elementor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-widget.elementor-grid-tablet-1 ul.products,
	.elementor-widget .elementor-grid-tablet-1 ul.products {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.elementor-widget.elementor-grid-tablet-2 ul.products,
	.elementor-widget .elementor-grid-tablet-2 ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.elementor-widget.elementor-grid-tablet-3 ul.products,
	.elementor-widget .elementor-grid-tablet-3 ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.elementor-widget.elementor-grid-tablet-4 ul.products,
	.elementor-widget .elementor-grid-tablet-4 ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.elementor-widget ul.products,
	.elementor-widget .woocommerce ul.products,
	[data-widget_type*="woocommerce-products"] ul.products,
	[data-widget_type*="wc-archive-products"] ul.products,
	ul.products.elementor-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.elementor-widget.elementor-grid-mobile-1 ul.products,
	.elementor-widget .elementor-grid-mobile-1 ul.products {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.elementor-widget.elementor-grid-mobile-2 ul.products,
	.elementor-widget .elementor-grid-mobile-2 ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.elementor-widget.elementor-grid-mobile-3 ul.products,
	.elementor-widget .elementor-grid-mobile-3 ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
