/*
 * GoAroma visual layer (cache-busted stylesheet for theme 0.1.7).
 * Loaded after the reusable Visible Shop styles so WooCommerce behaviour and
 * accessibility stay shared while the storefront gets its own identity.
 */

:root {
	--ga-orange: #f2a72f;
	--ga-orange-dark: #d88a10;
	--ga-green: #79a952;
	--ga-green-dark: #527c34;
	--ga-ink: #202426;
	--ga-muted: #697075;
	--ga-cream: #fbf7ee;
	--ga-paper: #ffffff;
	--ga-line: #e8e2d7;
	--ga-radius: 20px;
	--ga-shadow: 0 18px 55px rgba(48, 38, 20, .10);
	--vd-primary: var(--ga-orange);
	--vd-accent: var(--ga-green);
	--vd-hot: var(--ga-green);
}

body.visible-goaroma {
	background: var(--ga-paper);
	color: var(--ga-ink);
	font-family: "Avenir Next", Avenir, Montserrat, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

body.visible-goaroma .vd-container {
	width: min(1240px, calc(100% - 48px)) !important;
}

body.visible-goaroma a {
	color: inherit;
}

body.visible-goaroma .vd-announcement {
	min-height: 38px;
	padding: 9px 20px;
	background: var(--ga-ink) !important;
	color: #fff !important;
	font-size: 12px;
	letter-spacing: .035em;
}

body.visible-goaroma .vd-announcement-items {
	display: flex;
	justify-content: center;
	gap: clamp(18px, 5vw, 64px);
}

body.visible-goaroma .vd-announcement-icon {
	display: none;
}

body.visible-goaroma .vd-site-header {
	box-shadow: 0 8px 30px rgba(32, 36, 38, .07);
}

body.visible-goaroma .vd-header-main,
body.visible-goaroma .vd-header-grid {
	background: #fff !important;
}

body.visible-goaroma .vd-header-grid {
	min-height: 94px;
}

body.visible-goaroma .vd-brand,
body.visible-goaroma .vd-brand-logo,
body.visible-goaroma .custom-logo-link {
	width: 172px;
	min-width: 172px;
	max-width: 172px;
	height: 76px;
	overflow: visible;
}

body.visible-goaroma .vd-brand-logo img,
body.visible-goaroma .custom-logo {
	width: auto !important;
	max-width: 168px !important;
	height: 72px !important;
	max-height: 72px !important;
	object-fit: contain;
}

body.visible-goaroma .vd-search-form,
body.visible-goaroma .vd-header-search-shortcode input[type="search"] {
	min-height: 50px;
	border: 1px solid var(--ga-line) !important;
	border-radius: 999px !important;
	background: #f8f7f4 !important;
	box-shadow: none !important;
}

body.visible-goaroma .vd-search-form button,
body.visible-goaroma .vd-header-search-shortcode button,
body.visible-goaroma .vwps-submit {
	border-radius: 999px !important;
	background: var(--ga-green) !important;
	color: #fff !important;
}

body.visible-goaroma .vd-account-link,
body.visible-goaroma .vd-cart-link {
	border: 1px solid var(--ga-line);
	border-radius: 999px;
	padding: 0 14px;
	background: #fff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

body.visible-goaroma .vd-cart-link {
	border-color: var(--ga-orange) !important;
	background: var(--ga-orange) !important;
	color: #241d12 !important;
}

body.visible-goaroma a.vd-cart-link .vd-cart-count {
	border-color: #fff !important;
	background: var(--ga-green) !important;
	color: #fff !important;
	box-shadow: 0 5px 14px rgba(55, 91, 35, .28);
}

body.visible-goaroma .vd-category-nav {
	background: var(--ga-orange) !important;
	border: 0;
}

body.visible-goaroma .vd-category-nav a {
	color: var(--ga-ink) !important;
}

body.visible-goaroma .vd-category-nav .vd-container {
	min-height: 48px;
}

body.visible-goaroma .vd-category-menu,
body.visible-goaroma .vd-category-nav .vd-container > a {
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
}

body.visible-goaroma .vd-category-nav .vd-container > a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 20px;
	text-decoration: none;
}

body.visible-goaroma .vd-category-nav a:hover,
body.visible-goaroma .vd-category-nav a:focus-visible {
	background: rgba(255, 255, 255, .22);
}

.ga-hero {
	position: relative;
	overflow: hidden;
	min-height: 610px;
	background:
		linear-gradient(90deg, rgba(22, 28, 27, .88) 0%, rgba(22, 28, 27, .68) 47%, rgba(22, 28, 27, .10) 80%),
		var(--ga-hero-image) center/cover no-repeat;
	color: #fff;
}

.ga-hero::after {
	position: absolute;
	right: -100px;
	bottom: -180px;
	width: 520px;
	height: 520px;
	border: 110px solid rgba(242, 167, 47, .18);
	border-radius: 50%;
	content: "";
}

.ga-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr);
	align-items: center;
	gap: 60px;
	min-height: 610px;
	padding-block: 72px;
}

.ga-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 690px;
}

.ga-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--ga-green-dark);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.ga-eyebrow::before {
	width: 28px;
	height: 2px;
	background: currentColor;
	content: "";
}

.ga-hero .ga-eyebrow {
	color: #d9f1c7;
}

.ga-hero h1 {
	max-width: 680px;
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 6.2vw, 84px);
	font-weight: 900;
	letter-spacing: -.055em;
	line-height: .96;
}

.ga-hero-copy > p:not(.ga-hero-note) {
	max-width: 610px;
	margin: 25px 0 30px;
	color: rgba(255, 255, 255, .86);
	font-size: 19px;
	line-height: 1.6;
}

.ga-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ga-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .025em;
	text-decoration: none !important;
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.ga-button:hover {
	transform: translateY(-2px);
}

.ga-button-primary {
	background: var(--ga-orange);
	color: #241d12 !important;
	box-shadow: 0 12px 28px rgba(242, 167, 47, .28);
}

.ga-button-ghost {
	border-color: rgba(255, 255, 255, .45);
	color: #fff !important;
}

.ga-hero-note {
	margin: 18px 0 0;
	color: rgba(255, 255, 255, .65);
	font-size: 12px;
}

.ga-hero-art {
	position: relative;
	z-index: 1;
	min-height: 430px;
}

.ga-bottle {
	position: absolute;
	bottom: 28px;
	width: 118px;
	height: 270px;
	border: 2px solid rgba(255, 255, 255, .35);
	border-radius: 28px 28px 36px 36px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .35), rgba(255, 255, 255, .07) 45%, rgba(121, 169, 82, .42));
	box-shadow: inset 0 0 30px rgba(255, 255, 255, .16), 0 30px 60px rgba(0, 0, 0, .25);
	transform: rotate(-5deg);
}

.ga-bottle::before {
	position: absolute;
	top: -55px;
	left: 27px;
	width: 62px;
	height: 64px;
	border-radius: 12px 12px 5px 5px;
	background: linear-gradient(90deg, #171b1b, #4b4e4d, #111);
	content: "";
}

.ga-bottle::after {
	position: absolute;
	top: 78px;
	left: 14px;
	right: 14px;
	height: 92px;
	border-radius: 9px;
	background: rgba(255, 255, 255, .88) url("../img/goaroma/logo.png") center/72% auto no-repeat;
	content: "";
}

.ga-bottle-one { left: 4%; }
.ga-bottle-two { right: 8%; bottom: 48px; transform: rotate(8deg) scale(.84); filter: hue-rotate(42deg); }
.ga-bottle-three { left: 37%; bottom: 2px; z-index: 2; transform: rotate(1deg) scale(1.12); filter: hue-rotate(-38deg); }

.ga-trust {
	position: relative;
	z-index: 3;
	margin-top: -1px;
	background: #fff;
	border-bottom: 1px solid var(--ga-line);
}

.ga-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ga-trust-item {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 100px;
	padding: 18px 24px;
	border-right: 1px solid var(--ga-line);
}

.ga-trust-item:last-child { border-right: 0; }

.ga-trust-icon {
	display: grid;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: #eff6e9;
	color: var(--ga-green-dark);
	font-size: 13px;
	font-weight: 900;
}

.ga-trust-item strong,
.ga-trust-item small {
	display: block;
}

.ga-trust-item strong { font-size: 14px; line-height: 1.25; }
.ga-trust-item small { margin-top: 3px; color: var(--ga-muted); font-size: 11px; line-height: 1.35; }

.ga-section {
	padding: 88px 0;
	background: #fff;
}

.ga-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 34px;
}

.ga-section-heading h2,
.ga-story h2,
.ga-contact h2 {
	margin: 0;
	color: var(--ga-ink);
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.05;
}

.ga-section-heading > a {
	flex: 0 0 auto;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--ga-orange);
	font-size: 13px;
	font-weight: 900;
	text-decoration: none;
}

.ga-section-heading > a span { color: var(--ga-orange-dark); }

.ga-categories {
	background: var(--ga-cream);
}

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

.ga-category-card {
	position: relative;
	display: block;
	grid-column: span 4;
	overflow: hidden;
	min-height: 330px;
	border-radius: var(--ga-radius);
	background: #222;
	box-shadow: var(--ga-shadow);
	color: #fff !important;
	text-decoration: none !important;
}

.ga-category-card:nth-child(4),
.ga-category-card:nth-child(5) {
	grid-column: span 6;
	min-height: 290px;
}

.ga-category-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.ga-category-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(20, 23, 22, .86), rgba(20, 23, 22, .04) 68%);
	content: "";
}

.ga-category-card > span {
	position: absolute;
	z-index: 2;
	right: 24px;
	bottom: 22px;
	left: 24px;
}

.ga-category-card strong,
.ga-category-card small { display: block; }
.ga-category-card strong { font-size: 26px; font-weight: 900; letter-spacing: -.025em; }
.ga-category-card small { color: rgba(255, 255, 255, .72); font-size: 13px; }
.ga-category-card:hover img { transform: scale(1.05); }

.ga-products-sale {
	background: #fff7e7;
}

body.visible-goaroma .ga-product-grid,
body.visible-goaroma .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

body.visible-goaroma .vd-product-card,
body.visible-goaroma ul.products li.product {
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid var(--ga-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 10px 35px rgba(49, 39, 20, .06);
	transition: transform .25s ease, box-shadow .25s ease;
}

body.visible-goaroma .vd-product-card:hover,
body.visible-goaroma ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: var(--ga-shadow);
}

body.visible-goaroma .vd-product-image,
body.visible-goaroma ul.products li.product > a:first-child {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #f4f2ed;
}

body.visible-goaroma .vd-product-image img,
body.visible-goaroma ul.products li.product img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
}

body.visible-goaroma .vd-product-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
	padding: 19px;
}

body.visible-goaroma .vd-product-info h3,
body.visible-goaroma ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 8px;
	color: var(--ga-ink);
	font-size: 17px !important;
	font-weight: 900;
	line-height: 1.3;
}

body.visible-goaroma .vd-product-info h3 a { text-decoration: none; }

body.visible-goaroma .vd-price,
body.visible-goaroma ul.products li.product .price {
	margin: auto 0 14px;
	color: var(--ga-green-dark) !important;
	font-size: 16px !important;
	font-weight: 900;
}

body.visible-goaroma .vd-product-card .button,
body.visible-goaroma ul.products li.product .button,
body.visible-goaroma .single_add_to_cart_button,
body.visible-goaroma .checkout-button,
body.visible-goaroma button.button,
body.visible-goaroma input.button {
	min-height: 46px;
	padding: 12px 18px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ga-orange) !important;
	box-shadow: none !important;
	color: #241d12 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	text-align: center;
	text-transform: none !important;
}

.ga-story {
	padding: 96px 0;
	background: var(--ga-ink);
	color: #fff;
}

.ga-story-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(48px, 8vw, 110px);
}

.ga-story-image {
	position: relative;
	padding: clamp(22px, 4vw, 48px);
	overflow: hidden;
	border-radius: var(--ga-radius);
	background:
		radial-gradient(circle at 88% 12%, rgba(242, 167, 47, .18) 0 72px, transparent 73px),
		#fff8e8;
}

.ga-story-image::before {
	position: absolute;
	top: -22px;
	right: 22px;
	bottom: 22px;
	left: -22px;
	border: 2px solid var(--ga-orange);
	border-radius: var(--ga-radius);
	content: "";
}

.ga-story-image img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 500 / 456;
	object-fit: contain;
}

.ga-story .ga-eyebrow { color: #c5e8aa; }
.ga-story h2 { color: #fff; }
.ga-story-copy > p { margin: 24px 0; color: rgba(255, 255, 255, .72); font-size: 18px; }
.ga-story ul { display: grid; gap: 9px; margin: 0 0 28px; padding: 0; list-style: none; }
.ga-story li::before { margin-right: 9px; color: var(--ga-orange); content: "✓"; font-weight: 900; }

.ga-contact {
	padding: 70px 0;
	background: var(--ga-green);
}

.ga-contact-inner {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	align-items: center;
	gap: 60px;
}

.ga-contact .ga-eyebrow { color: #26351d; }
.ga-contact h2 { max-width: 700px; }
.ga-contact p { max-width: 650px; margin: 14px 0 0; color: rgba(25, 34, 20, .76); }
.ga-contact-links { display: grid; justify-items: start; gap: 7px; }
.ga-contact-links a { font-size: 19px; font-weight: 900; text-decoration: none; }
.ga-contact-links small { margin-top: 6px; color: rgba(25, 34, 20, .72); }

body.visible-goaroma .vd-site-footer.ga-footer {
	padding: 0;
	background: #171a1b !important;
	color: rgba(255, 255, 255, .72) !important;
}

.ga-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr .8fr .8fr;
	gap: 80px;
	padding-block: 70px;
}

.ga-footer h2 { margin: 0 0 16px; color: #fff; font-size: 15px; text-transform: uppercase; }
.ga-footer section > a { display: block; margin: 5px 0; color: rgba(255, 255, 255, .76); text-decoration: none; }
.ga-footer-brand > img:first-child { width: 150px; height: auto; filter: drop-shadow(0 5px 18px rgba(0, 0, 0, .22)); }
.ga-footer-brand p { max-width: 430px; }
.ga-payment-logo { width: min(300px, 100%); height: auto; margin-top: 12px; }
.ga-footer .vd-footer-menu { margin: 0; padding: 0; list-style: none; }
.ga-footer .vd-footer-menu a { color: rgba(255, 255, 255, .76); text-decoration: none; }

body.visible-goaroma .vd-footer-bottom {
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: #111314 !important;
	color: rgba(255, 255, 255, .56) !important;
	font-size: 12px;
}

/* WooCommerce archives and product detail pages. */
body.visible-goaroma.woocommerce .vd-site-main,
body.visible-goaroma.woocommerce-page .vd-site-main {
	background: var(--ga-cream);
}

body.visible-goaroma .vd-woocommerce-shell,
body.visible-goaroma .woocommerce-notices-wrapper,
body.visible-goaroma .woocommerce-breadcrumb,
body.visible-goaroma .woocommerce-products-header {
	width: min(1240px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

body.visible-goaroma .woocommerce-breadcrumb {
	padding-top: 34px;
	color: var(--ga-muted);
	font-size: 12px;
}

body.visible-goaroma .woocommerce-products-header__title,
body.visible-goaroma .product_title,
body.visible-goaroma .entry-title {
	color: var(--ga-ink) !important;
	font-weight: 900 !important;
	letter-spacing: -.035em;
}

body.visible-goaroma div.product {
	padding: 38px;
	border: 1px solid var(--ga-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--ga-shadow);
}

body.visible-goaroma div.product .woocommerce-product-gallery img {
	border-radius: 16px;
}

body.visible-goaroma div.product p.price,
body.visible-goaroma div.product span.price {
	color: var(--ga-green-dark) !important;
	font-weight: 900;
}

body.visible-goaroma div.product table.variations select,
body.visible-goaroma .quantity .qty,
body.visible-goaroma .woocommerce form .form-row input.input-text,
body.visible-goaroma .woocommerce form .form-row textarea,
body.visible-goaroma .select2-container .select2-selection {
	min-height: 48px;
	border: 1px solid var(--ga-line) !important;
	border-radius: 12px !important;
	background: #fff;
}

body.visible-goaroma .woocommerce-message,
body.visible-goaroma .woocommerce-info {
	border-top-color: var(--ga-green);
	border-radius: 14px;
	background: #f3f8ef;
}

@media (max-width: 1100px) {
	.ga-hero-grid { grid-template-columns: minmax(0, 1fr) 310px; }
	.ga-hero-art { transform: scale(.82); transform-origin: center right; }
	.ga-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ga-trust-item:nth-child(2) { border-right: 0; }
	.ga-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--ga-line); }
	body.visible-goaroma .ga-product-grid,
	body.visible-goaroma .products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 800px) {
	body.visible-goaroma .vd-container { width: min(100% - 28px, 720px) !important; }
	body.visible-goaroma .vd-announcement { display: block !important; }
	body.visible-goaroma .vd-announcement-items { justify-content: flex-start; overflow: hidden; white-space: nowrap; }
	body.visible-goaroma .vd-announcement-item:not(:first-child) { display: none; }
	body.visible-goaroma .vd-header-grid { grid-template-columns: 96px minmax(0, 1fr) 44px 76px 44px !important; }
	body.visible-goaroma .vd-brand,
	body.visible-goaroma .vd-brand-logo,
	body.visible-goaroma .custom-logo-link { width: 92px; min-width: 92px; max-width: 92px; height: 55px; }
	body.visible-goaroma .vd-brand-logo img,
	body.visible-goaroma .custom-logo { max-width: 92px !important; height: 52px !important; max-height: 52px !important; }
	body.visible-goaroma .vd-menu-toggle { border-radius: 50%; background: var(--ga-ink); }
	.ga-hero,
	.ga-hero-grid { min-height: 620px; }
	.ga-hero-grid { grid-template-columns: 1fr; padding-block: 62px; }
	.ga-hero-art { display: none; }
	.ga-category-card,
	.ga-category-card:nth-child(4),
	.ga-category-card:nth-child(5) { grid-column: span 6; min-height: 280px; }
	.ga-category-card:last-child { grid-column: 4 / span 6; }
	body.visible-goaroma .ga-product-grid,
	body.visible-goaroma .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ga-story-grid,
	.ga-contact-inner { grid-template-columns: 1fr; }
	.ga-story-image { max-width: 580px; }
	.ga-footer-grid { grid-template-columns: 1fr 1fr; gap: 45px; }
	.ga-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
	body.visible-goaroma .vd-container { width: calc(100% - 24px) !important; }
	.ga-hero { background-position: 62% center; }
	.ga-hero h1 { font-size: 45px; }
	.ga-hero-copy > p:not(.ga-hero-note) { font-size: 16px; }
	.ga-hero-actions { align-items: stretch; flex-direction: column; }
	.ga-button { width: 100%; }
	.ga-trust-grid { grid-template-columns: 1fr; }
	.ga-trust-item { min-height: 82px; border-right: 0; border-bottom: 1px solid var(--ga-line); }
	.ga-trust-item:last-child { border-bottom: 0; }
	.ga-section { padding: 62px 0; }
	.ga-section-heading { align-items: start; flex-direction: column; margin-bottom: 24px; }
	.ga-section-heading h2,
	.ga-story h2,
	.ga-contact h2 { font-size: 34px; }
	.ga-category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.ga-category-card,
	.ga-category-card:nth-child(4),
	.ga-category-card:nth-child(5),
	.ga-category-card:last-child { grid-column: auto; min-height: 220px; }
	.ga-category-card:last-child { grid-column: 1 / -1; }
	.ga-category-card > span { right: 16px; bottom: 15px; left: 16px; }
	.ga-category-card strong { font-size: 20px; }
	.ga-category-card small { display: none; }
	body.visible-goaroma .ga-product-grid,
	body.visible-goaroma .products { gap: 10px !important; }
	body.visible-goaroma .vd-product-info { padding: 13px; }
	body.visible-goaroma .vd-product-info h3 { font-size: 14px !important; }
	body.visible-goaroma .vd-product-card .button { padding: 10px 8px !important; font-size: 11px !important; }
	.ga-story { padding: 70px 0; }
	.ga-story-image::before { display: none; }
	.ga-story-copy > p { font-size: 16px; }
	.ga-footer-grid { grid-template-columns: 1fr; gap: 34px; padding-block: 52px; }
	.ga-footer-brand { grid-column: auto; }
	body.visible-goaroma div.product { padding: 18px; border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.ga-button,
	.ga-category-card img,
	body.visible-goaroma .vd-product-card,
	body.visible-goaroma ul.products li.product { transition: none; }
}

/* WooCommerce's standard loop wraps image, name and price in the same link. */
body.visible-goaroma ul.products li.product > a.woocommerce-loop-product__link {
	display: flex !important;
	flex: 1;
	flex-direction: column;
	overflow: visible !important;
	aspect-ratio: auto !important;
	background: #fff;
	color: var(--ga-ink);
	text-decoration: none;
}

body.visible-goaroma ul.products li.product > a.woocommerce-loop-product__link img {
	flex: none;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

body.visible-goaroma ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.6em;
	margin: 0 !important;
	padding: 16px 18px 6px !important;
	overflow: visible;
}

body.visible-goaroma ul.products li.product .price {
	margin: auto 0 0 !important;
	padding: 0 18px 16px;
}

body.visible-goaroma ul.products li.product > .button {
	margin: 0 18px 18px !important;
}

body.visible-goaroma .vd-product-archive-hero {
	background:
		linear-gradient(90deg, rgba(17, 14, 9, .88), rgba(17, 14, 9, .58) 52%, rgba(17, 14, 9, .2)),
		var(--vd-archive-hero, url("../img/goaroma/aromabg.jpg")) center / cover no-repeat !important;
}

/* Functional WooCommerce pages use calm, image-free hero treatments. */
body.visible-goaroma.woocommerce-cart .vd-page-hero {
	background:
		radial-gradient(circle at 82% 52%, rgba(255, 255, 255, .5) 0 84px, transparent 85px),
		radial-gradient(circle at 91% 18%, rgba(82, 124, 52, .22) 0 54px, transparent 55px),
		linear-gradient(112deg, #fff8e8 0%, #f7c86f 58%, #f2a72f 100%) !important;
}

body.visible-goaroma.woocommerce-cart .vd-page-hero h1 {
	color: #241d12 !important;
	text-shadow: none !important;
}

body.visible-goaroma.woocommerce-account .vd-page-hero {
	background:
		radial-gradient(circle at 84% 34%, rgba(242, 167, 47, .95) 0 70px, transparent 71px),
		radial-gradient(circle at 92% 82%, rgba(255, 255, 255, .14) 0 112px, transparent 113px),
		linear-gradient(112deg, #263f28 0%, #527c34 58%, #79a755 100%) !important;
}

body.visible-goaroma.woocommerce-account .vd-page-hero h1 {
	color: #fff !important;
	text-shadow: none !important;
}

body.visible-goaroma.woocommerce-checkout .vd-page-hero {
	background:
		radial-gradient(circle at 84% 30%, rgba(255, 255, 255, .35) 0 70px, transparent 71px),
		radial-gradient(circle at 92% 80%, rgba(121, 169, 82, .24) 0 110px, transparent 111px),
		linear-gradient(112deg, #fff8e8 0%, #f6d38e 58%, #79a952 100%) !important;
}

body.visible-goaroma.woocommerce-checkout .vd-page-hero h1 {
	color: #241d12 !important;
	text-shadow: none !important;
}

body.visible-goaroma.woocommerce-cart .vd-page-hero::after,
body.visible-goaroma.woocommerce-account .vd-page-hero::after,
body.visible-goaroma.woocommerce-checkout .vd-page-hero::after {
	display: none !important;
}

/* Keep product-builder choices aligned in cart and checkout item metadata. */
body.visible-goaroma.woocommerce-cart dl.variation,
body.visible-goaroma.woocommerce-checkout dl.variation {
	display: grid !important;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 3px 7px;
	width: 100%;
	margin: 9px 0 0 !important;
}

body.visible-goaroma.woocommerce-cart dl.variation dt,
body.visible-goaroma.woocommerce-cart dl.variation dd,
body.visible-goaroma.woocommerce-checkout dl.variation dt,
body.visible-goaroma.woocommerce-checkout dl.variation dd {
	float: none !important;
	clear: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.35;
}

body.visible-goaroma.woocommerce-cart dl.variation dt,
body.visible-goaroma.woocommerce-checkout dl.variation dt {
	font-weight: 900;
}

body.visible-goaroma.woocommerce-cart dl.variation dd,
body.visible-goaroma.woocommerce-checkout dl.variation dd {
	font-weight: 700;
}

body.visible-goaroma.woocommerce-cart dl.variation dd p,
body.visible-goaroma.woocommerce-checkout dl.variation dd p {
	margin: 0 !important;
	font: inherit;
	line-height: inherit;
}

/* Align shipping method controls, labels, prices and pickup guidance. */
body.visible-goaroma.woocommerce-cart #shipping_method,
body.visible-goaroma.woocommerce-checkout #shipping_method {
	display: grid !important;
	gap: 14px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.visible-goaroma.woocommerce-cart #shipping_method li,
body.visible-goaroma.woocommerce-checkout #shipping_method li {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 5px 9px;
	align-items: start;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.visible-goaroma.woocommerce-cart #shipping_method li > input,
body.visible-goaroma.woocommerce-checkout #shipping_method li > input {
	grid-column: 1;
	grid-row: 1;
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

body.visible-goaroma.woocommerce-cart #shipping_method li > label,
body.visible-goaroma.woocommerce-checkout #shipping_method li > label {
	display: grid !important;
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: minmax(0, 1fr) max-content;
	gap: 10px;
	align-items: baseline;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	line-height: 1.4;
	text-align: left;
}

body.visible-goaroma.woocommerce-cart #shipping_method li > label .woocommerce-Price-amount,
body.visible-goaroma.woocommerce-checkout #shipping_method li > label .woocommerce-Price-amount {
	justify-self: end;
	white-space: nowrap;
}

body.visible-goaroma.woocommerce-cart #shipping_method li > br,
body.visible-goaroma.woocommerce-checkout #shipping_method li > br {
	display: none !important;
}

body.visible-goaroma.woocommerce-cart #shipping_method .shipping_pickup_cart,
body.visible-goaroma.woocommerce-checkout #shipping_method .shipping_pickup_cart,
body.visible-goaroma.woocommerce-cart #shipping_method .service-point-selector-error,
body.visible-goaroma.woocommerce-checkout #shipping_method .service-point-selector-error {
	grid-column: 2;
	margin: 0 !important;
	color: #666;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	text-align: left;
}

/* Give shipping methods the full summary width instead of squeezing them beside the heading. */
body.visible-goaroma.woocommerce-cart .cart_totals table,
body.visible-goaroma.woocommerce-cart .cart_totals table > tbody,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table > thead,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table > tbody,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table > tfoot {
	display: grid !important;
	width: 100% !important;
}

body.visible-goaroma.woocommerce-cart .cart_totals table tr,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content;
	width: 100% !important;
}

body.visible-goaroma.woocommerce-cart .cart_totals table tr > th,
body.visible-goaroma.woocommerce-cart .cart_totals table tr > td,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr > th,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr > td {
	display: block !important;
	width: auto !important;
	min-width: 0;
}

body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	width: 100%;
}

body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > th,
body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > td,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
}

body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > th,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th {
	padding-bottom: 8px !important;
}

body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > td,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
	padding-top: 0 !important;
}

body.visible-goaroma.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > td::before,
body.visible-goaroma.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td::before {
	display: none !important;
}

/* Keep the classic checkout summary beside the customer form instead of below it. */
@media (min-width: 981px) {
	body.visible-goaroma.woocommerce-checkout form.checkout {
		grid-template-areas:
			"customer heading"
			"customer review";
		grid-template-rows: auto auto;
		row-gap: 0 !important;
	}

	body.visible-goaroma.woocommerce-checkout form.checkout #customer_details {
		grid-area: customer;
	}

	body.visible-goaroma.woocommerce-checkout form.checkout #order_review_heading {
		grid-area: heading;
	}

	body.visible-goaroma.woocommerce-checkout form.checkout #order_review {
		grid-area: review;
		align-self: start;
	}
}

/* Give the cart checkout action an explicit, accessible hover state. */
body.visible-goaroma.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.visible-goaroma.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited {
	border: 2px solid var(--ga-orange) !important;
	background: var(--ga-orange) !important;
	color: #241d12 !important;
}

body.visible-goaroma.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.visible-goaroma.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
	border-color: var(--ga-green-dark) !important;
	background: var(--ga-green-dark) !important;
	color: #fff !important;
}

/* Keep checkout comfortably single-column on tablets as well as phones. */
@media (max-width: 980px) {
	body.visible-goaroma.woocommerce-checkout .woocommerce,
	body.visible-goaroma.woocommerce-checkout form.checkout,
	body.visible-goaroma .wp-block-woocommerce-checkout .wc-block-checkout,
	body.visible-goaroma .wc-block-components-sidebar-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.visible-goaroma.woocommerce-checkout form.checkout #customer_details,
	body.visible-goaroma.woocommerce-checkout form.checkout #order_review_heading,
	body.visible-goaroma.woocommerce-checkout form.checkout #order_review {
		grid-column: 1 !important;
	}
}

/* Do not turn the document into a scroll container: it breaks sticky headers on mobile. */
@media (max-width: 700px) {
	html,
	body.visible-goaroma {
		overflow-x: clip !important;
	}

	body.visible-goaroma.admin-bar #wpadminbar {
		position: fixed !important;
	}

	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content;
		gap: 12px;
		align-items: center;
		justify-self: stretch !important;
		text-align: right !important;
		white-space: normal !important;
	}

	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form td.product-subtotal::before {
		justify-self: start;
	}

	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form td.product-subtotal .woocommerce-Price-amount {
		justify-self: end;
		white-space: nowrap;
	}

	body.visible-goaroma.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) {
		grid-template-columns: max-content minmax(0, 1fr) !important;
		gap: 12px;
		align-items: start;
	}

	body.visible-goaroma.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) > th,
	body.visible-goaroma.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) > td {
		width: auto !important;
		min-width: 0;
	}

	body.visible-goaroma.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) > td {
		overflow-wrap: anywhere;
		text-align: right !important;
	}

	body.visible-goaroma.woocommerce-cart .cart_totals tr.order-total td small {
		display: block;
		margin-top: 4px;
	}

	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form .product-name,
	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form dl.variation,
	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form dl.variation dd,
	body.visible-goaroma.woocommerce-cart .woocommerce-cart-form dl.variation dd p,
	body.visible-goaroma.woocommerce-cart .cart_totals #shipping_method label {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}
