/* ============================================================
   House of Meera — hybrid classic adapters
   PHP templates own structure; theme.json remains editor-facing.
   ============================================================ */

html,
body.hom-hybrid-classic {
	padding: 0 !important;
	margin: 0;
}

body.hom-hybrid-classic {
	--hom-header-h: 70px;
}

.hom-hybrid-classic #primary {
	margin: 0;
	max-width: none;
}

.hom-hybrid-classic .site-header {
	top: 0;
}

.main-nav-menu,
.mobile-nav-menu,
.footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-nav-menu {
	display: flex;
	gap: 1.9rem;
}

.mobile-nav-menu {
	display: contents;
}

.footer-menu {
	display: flex;
	flex-direction: column;
	gap: .55rem;
}

.admin-bar.hom-hybrid-classic .site-header {
	top: 32px;
}

.hom-classic-home .products .product-grid,
.hom-classic-home .collections .collection-mosaic {
	width: 100%;
	max-width: none;
}

.hom-classic-home .product-card h3 a,
.hom-classic-home .new-feature h3 a {
	color: inherit;
	text-decoration: none;
}

.hom-classic-home .new-feature figure a {
	display: block;
}

.hom-classic-home .new-feature figure img {
	width: 100%;
}

.hom-classic-home .product-card img,
.hom-classic-home .new-feature img {
	height: auto;
}

/* Gutenberg-owned homepage.
   Content-only locking keeps the prototype composition intact while allowing
   editors to change copy, links and media directly in the page editor. */
.hom-editable-home,
.hom-editable-home > * {
	margin-block-start: 0;
}

.hom-editable-home .wp-block-group {
	margin-block-start: 0;
}

.hom-editable-home p {
	margin-top: 0;
}

.hom-editable-home .hero {
	min-height: 100svh;
	padding: 0;
	align-items: flex-end;
	justify-content: stretch;
}

.hom-editable-home .hero .wp-block-cover__inner-container {
	display: flex;
	width: 100%;
	min-height: 100svh;
	align-items: flex-end;
	color: inherit;
}

.hom-editable-home .hero-plate {
	width: min(640px, calc(100% - 2rem));
}

.hom-editable-home .hero-sub {
	margin-top: 1.1rem;
}

.hom-editable-home .hero-actions {
	margin-top: 1.9rem;
}

.hom-editable-home .hero-actions .wp-block-button__link {
	padding: .9rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--navy-900);
	color: var(--ivory-50);
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.hom-editable-home .hero-actions .hom-link-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	flex-direction: row;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gold-700);
	white-space: nowrap;
}

.hom-editable-home .hero-actions .hom-link-button .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: .45rem;
	transition: transform .25s ease;
}

.hom-editable-home .hero-actions .hom-link-button .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.hom-editable-home .section-head p {
	margin-top: .8rem;
}

.hom-editable-home .section-head--row .hom-heading-link {
	margin-top: 0;
}

.hom-editable-home .about-cols {
	margin-bottom: 0;
}

.hom-editable-home .about-cols p {
	margin-top: 0;
}

.hom-editable-home .new-feature p {
	margin-top: .5rem;
}

.hom-editable-home .new-item p {
	margin-top: .2rem;
}

.hom-editable-home .contact-lead {
	margin-top: 1rem;
}

.hom-editable-home .contact-list {
	margin-top: 2.2rem;
}

.hom-empty-state {
	padding: 2rem;
	border: 1px dashed var(--gold-500);
	background: var(--sand-100);
	color: var(--ink-soft);
}

.classic-content {
	width: min(var(--shell), 100% - 2.5rem);
	margin-inline: auto;
}

.classic-entry {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.classic-entry__header {
	max-width: 860px;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.classic-entry__meta {
	margin-top: .75rem;
	color: var(--ink-soft);
	font-size: .85rem;
}

.classic-entry__content {
	max-width: 860px;
}

.classic-entry__content > * + * {
	margin-top: 1.25rem;
}

.classic-entry__content > .alignwide {
	width: min(var(--shell), calc(100vw - 2.5rem));
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.classic-entry__content > .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.classic-loop {
	display: grid;
	gap: 0;
}

.classic-loop article {
	padding-block: clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid var(--line);
}

.classic-loop h2 {
	font-size: clamp(1.6rem, 3vw, 2.35rem);
}

.classic-loop h2 a {
	color: var(--navy-900);
	text-decoration: none;
}

.classic-loop .entry-summary {
	max-width: 68ch;
	margin-top: .85rem;
	color: var(--ink-soft);
}

.classic-pagination {
	padding-top: 2rem;
}

.classic-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
}

.classic-pagination .page-numbers {
	display: grid;
	min-width: 42px;
	min-height: 42px;
	place-items: center;
	padding: .45rem .75rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	text-decoration: none;
}

.classic-pagination .current {
	border-color: var(--navy-900);
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-search-page-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .75rem;
	max-width: 720px;
	margin-top: 1.5rem;
}

.hom-search-page-form input {
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .8rem 1.1rem;
	background: var(--white);
}

.hom-service-pattern > main,
.hom-service-pattern .hom-pattern {
	padding-top: var(--hom-header-h);
}

.hom-service-pattern .inner-page {
	padding-top: 0;
}

.hom-commerce-page {
	padding-top: var(--hom-header-h);
	background: var(--white);
}

.hom-commerce-page .hom-shop-notices {
	width: min(var(--shell), 100% - 2.5rem);
	margin-inline: auto;
	padding: 0;
}

.hom-shop-hero {
	min-height: 435px;
	display: flex;
	align-items: stretch;
	background: var(--sand-100);
}

.hom-shop-hero > .shell {
	display: flex;
	flex-direction: column;
	padding-block: clamp(2.6rem, 5vw, 4.8rem) clamp(2.8rem, 5vw, 4.5rem);
}

.hom-shop-hero .breadcrumb {
	margin-bottom: clamp(2.2rem, 4vw, 3.5rem);
	font-size: .94rem;
}

.hom-shop-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(260px, .8fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	margin-top: auto;
}

.hom-shop-hero__copy {
	max-width: 700px;
}

.hom-shop-hero__copy .page-kicker {
	margin-bottom: 1rem;
	font-size: .78rem;
	letter-spacing: .18em;
}

.hom-shop-hero__copy h1 {
	max-width: 11ch;
	color: var(--navy-900);
	font-size: clamp(3.4rem, 5.3vw, 4.7rem);
	font-weight: 760;
	letter-spacing: -.038em;
	line-height: 1.01;
	text-wrap: balance;
}

.hom-shop-hero__lead {
	max-width: 62ch;
	margin-top: 1.35rem;
	color: var(--ink-soft);
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.65;
}

.hom-shop-hero__note {
	justify-self: end;
	margin-bottom: .35rem;
	color: var(--gold-700);
	font-size: .9rem;
	line-height: 1.5;
	text-align: right;
}

.hom-shop-categories {
	background: var(--white);
}

.hom-shop-categories .category-chips {
	gap: .65rem;
	padding-block: 1.35rem;
}

.hom-shop-categories .category-chip {
	padding: .74rem 1.25rem;
	border-color: var(--line);
	background: transparent;
	color: var(--ink-soft);
	font-size: .9rem;
}

.hom-shop-categories .category-chip:hover,
.hom-shop-categories .category-chip.is-active {
	border-color: var(--navy-900);
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-shop-catalogue {
	padding-block: clamp(3.5rem, 6vw, 5.6rem) clamp(5rem, 8vw, 8rem);
}

.hom-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-bottom: 1.35rem;
	border-bottom: 1px solid var(--line);
}

.hom-shop-count {
	color: var(--ink-soft);
	font-size: 1rem;
}

.hom-shop-toolbar__actions,
.hom-shop-ordering {
	display: flex;
	align-items: center;
	gap: .65rem;
}

.hom-shop-ordering > span {
	color: var(--ink-soft);
	font-size: .82rem;
	font-weight: 650;
}

.hom-shop-ordering .woocommerce-ordering {
	float: none;
	margin: 0;
}

.hom-shop-ordering select {
	min-width: 180px;
	height: 46px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: 0 2.6rem 0 1rem;
	background-color: var(--white);
	color: var(--navy-900);
	font-size: .92rem;
}

.hom-shop-catalogue__layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(2.6rem, 5vw, 4.3rem);
	align-items: start;
	padding-top: 2rem;
}

.filters-panel {
	position: sticky;
	top: calc(var(--hom-header-h) + 1.5rem);
	align-self: start;
	background: var(--white);
}

.hom-filter-head {
	display: none;
}

.hom-shop-filter-form fieldset {
	min-width: 0;
	margin: 0;
	padding-inline: 0;
	border: 0;
}

.hom-shop-filter-form .filter-group {
	padding-block: 1.25rem;
}

.hom-shop-filter-form .filter-group:first-of-type {
	padding-top: 0;
}

.hom-shop-filter-form .filter-group legend {
	width: 100%;
	margin-bottom: .85rem;
	color: var(--navy-900);
	font-size: .8rem;
	font-weight: 760;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.hom-shop-filter-form .filter-option {
	gap: .7rem;
	min-height: 34px;
	padding-block: .25rem;
	font-size: .9rem;
}

.hom-shop-filter-form .filter-option input {
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid #738092;
	border-radius: 3px;
	accent-color: var(--navy-900);
}

.hom-shop-filter-form .filter-option span:last-child {
	margin-left: auto;
	color: #6d7c91;
}

.hom-filter-actions {
	display: grid;
	justify-items: start;
	gap: .85rem;
	padding-top: 1.25rem;
}

.hom-filter-actions .btn {
	display: none;
}

.hom-filter-actions .filter-clear {
	margin: 0;
}

.catalog-meta {
	margin-bottom: 1.25rem;
	font-size: .9rem;
}

.hom-shop-results {
	min-width: 0;
}

.hom-commerce-page ul.products {
	clear: both;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2.4rem, 4vw, 3.4rem) clamp(1.1rem, 2vw, 1.8rem);
	margin: 0;
	padding: 0;
}

.hom-commerce-page ul.products::before,
.hom-commerce-page ul.products::after {
	display: none;
}

.hom-commerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	text-align: left;
}

.hom-shop-product article {
	height: 100%;
}

.hom-commerce-page .catalog-media {
	overflow: hidden;
	border-radius: var(--radius-md);
	background: var(--sand-200);
}

.hom-commerce-page .catalog-media > a {
	display: block;
}

/* ---------- Product-card purchase actions ---------- */
.product-card figure,
.hom-commerce-page .catalog-media {
	position: relative;
}

.hom-card-actions {
	position: absolute;
	right: .7rem;
	bottom: .7rem;
	left: .7rem;
	z-index: 3;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: .5rem;
	opacity: 1;
	transform: none;
}

.hom-card-actions--single {
	grid-template-columns: minmax(0, 1fr);
}

.hom-card-action {
	min-width: 0;
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	padding: .7rem 1rem;
	font-size: .78rem;
	font-weight: 760;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		color 180ms ease,
		transform 180ms var(--ease-out);
}

.hom-card-action--cart {
	width: 48px;
	padding: 0;
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-card-action--cart svg {
	width: 20px;
	height: 20px;
}

.hom-card-action--buy,
.hom-card-action--primary {
	background: var(--gold-400);
	color: var(--navy-950);
}

.hom-card-action:hover {
	transform: translateY(-2px);
}

.hom-card-action--cart:hover,
.hom-card-action--cart:focus-visible {
	background: var(--navy-800);
	color: var(--white);
}

.hom-card-action--buy:hover,
.hom-card-action--buy:focus-visible,
.hom-card-action--primary:hover,
.hom-card-action--primary:focus-visible {
	background: var(--white);
	color: var(--navy-950);
}

.hom-card-action.loading {
	pointer-events: none;
}

.hom-card-action.loading svg {
	opacity: .2;
}

.hom-card-action.loading::after {
	width: 14px;
	height: 14px;
	position: absolute;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	content: "";
	animation: hom-card-action-spin .7s linear infinite;
}

.hom-card-actions .added_to_cart {
	display: none;
}

@keyframes hom-card-action-spin {
	to { transform: rotate(360deg); }
}

.hom-commerce-page .catalog-media:has(.hom-card-actions):has(.hom-product-placeholder)::after {
	top: .8rem;
	bottom: auto;
}

@media (hover: hover) and (pointer: fine) {
	.hom-card-actions {
		opacity: 0;
		transform: translateY(10px);
		pointer-events: none;
		transition:
			opacity 220ms ease,
			transform 300ms var(--ease-out);
	}

	.product-card:hover .hom-card-actions,
	.product-card:focus-within .hom-card-actions,
	.catalog-card:hover .hom-card-actions,
	.catalog-card:focus-within .hom-card-actions {
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
}

.hom-commerce-page .catalog-media:has(.hom-product-placeholder)::after,
.hom-product-image__frame:has(.hom-product-placeholder)::after {
	position: absolute;
	right: .8rem;
	bottom: .8rem;
	z-index: 1;
	border: 1px solid rgba(244, 240, 230, .55);
	border-radius: 999px;
	padding: .4rem .65rem;
	background: rgba(20, 36, 58, .88);
	color: var(--ivory-50);
	content: "Image coming soon";
	font-size: .58rem;
	font-weight: 700;
	letter-spacing: .075em;
	line-height: 1;
	text-transform: uppercase;
	pointer-events: none;
}

.hom-commerce-page ul.products li.product .catalog-media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	margin: 0;
	border-radius: 0;
	background: var(--sand-200);
	object-fit: cover;
	transition: transform .75s var(--ease-out);
}

.hom-commerce-page ul.products li.product:hover .catalog-media img {
	transform: scale(1.035);
}

.hom-commerce-page .hom-product-badge {
	top: .75rem;
	left: .75rem;
	border-radius: 999px;
	padding: .42rem .7rem;
	font-size: .64rem;
	font-weight: 760;
	line-height: 1;
}

.hom-product-badge--dark {
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-product-badge--gold {
	background: var(--gold-400);
	color: var(--navy-950);
}

.hom-product-badge--light {
	background: var(--white);
	color: var(--navy-900);
}

.hom-commerce-page .catalog-body {
	padding-top: .85rem;
}

.hom-commerce-page .catalog-category {
	color: var(--gold-700);
	font-size: .68rem;
	font-weight: 760;
	letter-spacing: .1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.hom-commerce-page .catalog-title {
	margin-top: .32rem;
	font-size: 1rem;
	font-weight: 720;
	letter-spacing: -.012em;
	line-height: 1.35;
}

.hom-commerce-page .catalog-title a {
	text-decoration: none;
}

.hom-commerce-page .catalog-price {
	margin-top: .35rem;
	color: var(--ink-soft);
	font-size: .9rem;
}

.hom-commerce-page .catalog-price .amount {
	color: var(--navy-900);
	font-weight: 700;
}

.hom-commerce-page .catalog-price .hom-price-prefix {
	color: var(--ink-soft);
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.hom-commerce-page .woocommerce-pagination {
	margin-top: 3.5rem;
}

.hom-commerce-page .woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: .45rem;
	border: 0;
}

.hom-commerce-page .woocommerce-pagination ul.page-numbers li {
	border: 0;
}

.hom-commerce-page .woocommerce-pagination .page-numbers a,
.hom-commerce-page .woocommerce-pagination .page-numbers span {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 50%;
}

.hom-commerce-page .woocommerce-pagination .page-numbers .current,
.hom-commerce-page .woocommerce-pagination .page-numbers a:hover {
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-filter-backdrop {
	display: none;
}

/* Editorial single-product page. */
.hom-single-product-page {
	overflow: clip;
}

.hom-product-notices {
	position: relative;
	z-index: 2;
}

.hom-product-notices:empty {
	display: none;
}

.hom-product-main {
	padding-block: clamp(1.4rem, 3vw, 2.5rem) clamp(2.5rem, 4vw, 4rem);
	background: var(--white);
}

.hom-product-breadcrumb {
	margin-bottom: clamp(1.5rem, 3vw, 2.4rem);
	color: var(--ink-soft);
	font-size: .86rem;
}

.hom-product-breadcrumb a {
	color: var(--ink-soft);
	text-decoration: none;
}

.hom-product-breadcrumb a:hover {
	color: var(--navy-900);
}

.hom-product-breadcrumb > span {
	display: inline-block;
	margin-inline: .55rem;
	color: var(--gold-500);
}

.hom-product-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(370px, .88fr);
	gap: clamp(3rem, 6.5vw, 6.8rem);
	align-items: start;
}

.hom-product-gallery {
	min-width: 0;
}

.hom-product-gallery.has-thumbnails {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

.hom-product-thumbnails {
	display: flex;
	flex-direction: column;
	gap: .7rem;
}

.hom-product-thumbnail {
	position: relative;
	overflow: hidden;
	padding: 0;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	background: var(--sand-100);
	transition: border-color .2s ease, opacity .2s ease;
}

.hom-product-thumbnail::after {
	position: absolute;
	inset: 0;
	border: 2px solid transparent;
	border-radius: inherit;
	content: "";
	pointer-events: none;
	transition: border-color .2s ease;
}

.hom-product-thumbnail:hover {
	opacity: .82;
}

.hom-product-thumbnail.is-active::after {
	border-color: var(--gold-500);
}

.hom-product-thumbnail:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 3px;
}

.hom-product-thumbnail img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.hom-product-image {
	position: relative;
	margin: 0;
}

.hom-product-image__frame {
	position: relative;
	overflow: hidden;
	border-radius: clamp(16px, 2vw, var(--radius-lg));
	background: var(--sand-100);
}

.hom-product-image__frame img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: opacity .18s ease, transform .35s var(--ease-out);
}

.hom-product-image__frame img.is-changing {
	opacity: .35;
	transform: scale(.995);
}

.hom-product-image figcaption {
	margin-top: .72rem;
	color: var(--ink-soft);
	font-size: .72rem;
	letter-spacing: .02em;
}

.hom-product-status {
	position: absolute;
	z-index: 1;
	top: 1rem;
	left: 1rem;
	border-radius: 999px;
	padding: .52rem .82rem;
	font-size: .64rem;
	font-weight: 760;
	letter-spacing: .055em;
	line-height: 1;
	text-transform: uppercase;
}

.hom-product-status--dark {
	background: var(--navy-900);
	color: var(--ivory-50);
}

.hom-product-status--gold {
	background: var(--gold-400);
	color: var(--navy-950);
}

.hom-product-status--light {
	background: var(--white);
	color: var(--navy-900);
}

.hom-product-summary {
	min-width: 0;
}

.hom-product-summary__inner {
	position: sticky;
	top: calc(var(--hom-header-h) + 1.6rem);
}

.hom-product-summary .page-kicker {
	margin-bottom: .75rem;
	font-size: .72rem;
	letter-spacing: .14em;
}

.hom-product-summary h1 {
	max-width: 12ch;
	color: var(--navy-900);
	font-size: clamp(2.55rem, 4.2vw, 4.1rem);
	font-weight: 750;
	letter-spacing: -.042em;
	line-height: 1.02;
	text-wrap: balance;
}

.hom-product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .38rem;
	margin-top: 1.15rem;
	color: var(--navy-900);
	font-size: 1.55rem;
	line-height: 1.4;
}

.hom-product-price .amount {
	color: var(--navy-900);
	font-weight: 720;
}

.hom-product-price del {
	color: var(--ink-soft);
	font-size: .9em;
	opacity: .72;
}

.hom-product-price ins {
	text-decoration: none;
}

.hom-product-price .hom-price-prefix {
	color: var(--gold-700);
	font-size: .7rem;
	font-weight: 760;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hom-product-summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: .8rem 0 0 !important;
	color: var(--ink-soft);
	font-size: .78rem;
}

.hom-product-summary .woocommerce-product-rating .star-rating {
	margin: 0;
	color: var(--gold-700);
}

.hom-product-summary .woocommerce-review-link {
	color: var(--ink-soft);
	text-decoration-color: var(--gold-400);
	text-underline-offset: 3px;
}

.hom-product-intro {
	max-width: 49ch;
	margin-top: 1rem;
	color: var(--ink-soft);
	font-size: 1rem;
	line-height: 1.7;
}

.hom-product-intro p {
	margin: 0;
}

.hom-product-purchase {
	margin-top: 1.7rem;
}

.hom-product-purchase form.cart {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: .75rem;
	margin: 0 !important;
}

.hom-product-purchase form.cart::before,
.hom-product-purchase form.cart::after {
	display: none !important;
}

.hom-product-purchase form.cart:not(:has(.quantity)) {
	grid-template-columns: minmax(0, 1fr);
}

.hom-product-purchase form.cart .group_table {
	grid-column: 1 / -1;
	width: 100%;
	margin-bottom: 1rem;
}

.hom-product-purchase .quantity {
	display: flex;
	width: 96px;
	min-height: 50px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--white);
}

.hom-product-purchase .quantity .qty {
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0 .55rem;
	border: 0;
	border-radius: inherit;
	background: transparent;
	color: var(--navy-900);
	font: inherit;
	font-weight: 650;
	text-align: center;
}

.hom-product-purchase .quantity .qty:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 3px;
}

.hom-product-purchase .single_add_to_cart_button,
.hom-product-purchase .hom-enquiry-actions .button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: .8rem 1.35rem !important;
	border: 1px solid var(--navy-900) !important;
	border-radius: 999px !important;
	background: var(--navy-900) !important;
	color: var(--ivory-50) !important;
	box-shadow: none !important;
	font-size: .9rem !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
	text-decoration: none;
	transition: transform .22s var(--ease-out), background-color .22s ease, box-shadow .22s ease;
}

.hom-product-purchase .single_add_to_cart_button:hover,
.hom-product-purchase .hom-enquiry-actions .button:hover {
	transform: translateY(-1px);
	background: var(--navy-800) !important;
	box-shadow: 0 5px 12px rgba(20, 41, 66, .16) !important;
}

.hom-product-purchase .single_add_to_cart_button:active,
.hom-product-purchase .hom-enquiry-actions .button:active {
	transform: translateY(0);
	box-shadow: none !important;
}

.hom-product-purchase .single_add_to_cart_button:focus-visible,
.hom-product-purchase .hom-enquiry-actions .button:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 3px;
}

.hom-product-purchase .single_add_to_cart_button.disabled,
.hom-product-purchase .single_add_to_cart_button:disabled {
	cursor: not-allowed;
	opacity: .55;
	transform: none;
}

.hom-product-purchase .stock {
	grid-column: 1 / -1;
	margin: 0 0 .15rem;
	color: var(--ink-soft) !important;
	font-size: .82rem;
}

.hom-product-purchase .stock.in-stock {
	color: #426448 !important;
}

.hom-product-purchase .stock.out-of-stock {
	color: #8b4a40 !important;
}

.hom-product-purchase .hom-enquiry-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .7rem;
}

.hom-product-purchase .hom-enquiry-actions .hom-whatsapp-button {
	border-color: var(--line) !important;
	background: transparent !important;
	color: var(--navy-900) !important;
}

.hom-product-purchase .hom-enquiry-actions .hom-whatsapp-button:hover {
	border-color: var(--gold-500) !important;
	background: var(--sand-100) !important;
	box-shadow: none !important;
}

.hom-product-purchase .hom-enquiry-note {
	grid-column: 1 / -1;
	margin: .2rem 0 0;
	color: var(--ink-soft);
	font-size: .78rem;
	line-height: 1.55;
}

.hom-unavailable-link {
	display: inline-flex;
	gap: .35rem;
	margin-top: .9rem;
	color: var(--gold-700);
	font-size: .86rem;
	font-weight: 650;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.hom-product-purchase .variations {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0 0 1rem !important;
	border: 0 !important;
}

.hom-product-purchase .variations th,
.hom-product-purchase .variations td {
	display: block;
	padding: 0 0 .45rem !important;
	border: 0 !important;
	text-align: left;
}

.hom-product-purchase .variations label {
	color: var(--navy-900);
	font-size: .82rem;
	font-weight: 680;
}

.hom-product-purchase .variations select {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: .7rem 2.4rem .7rem .9rem;
	background: var(--white);
	color: var(--navy-900);
}

.hom-product-purchase .reset_variations {
	display: inline-block;
	margin-top: .5rem;
	color: var(--gold-700);
	font-size: .78rem;
}

.hom-product-purchase .single_variation_wrap {
	grid-column: 1 / -1;
}

.hom-product-purchase .woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: .75rem;
}

.hom-product-assurances {
	display: grid;
	gap: .58rem;
	margin-top: 1.5rem;
	padding-block: 1.2rem;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	color: var(--ink-soft);
	font-size: .82rem;
}

.hom-product-assurances p {
	display: flex;
	gap: .58rem;
	align-items: baseline;
	margin: 0;
}

.hom-product-assurances span {
	color: var(--gold-700);
	font-weight: 760;
}

.hom-product-details {
	margin-top: .35rem;
}

.hom-product-detail {
	border-bottom: 1px solid var(--line);
}

.hom-product-detail summary {
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: .8rem;
	color: var(--navy-900);
	font-size: .88rem;
	font-weight: 680;
	list-style: none;
	cursor: pointer;
}

.hom-product-detail summary::-webkit-details-marker {
	display: none;
}

.hom-product-detail summary:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 3px;
}

.hom-product-detail__icon {
	position: relative;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}

.hom-product-detail__icon::before,
.hom-product-detail__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 1px;
	background: var(--gold-700);
	content: "";
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.hom-product-detail__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.hom-product-detail[open] .hom-product-detail__icon::after {
	transform: translate(-50%, -50%) rotate(0);
}

.hom-product-detail__content {
	padding: 0 0 1.25rem;
	color: var(--ink-soft);
	font-size: .88rem;
	line-height: 1.65;
}

.hom-product-detail__content > h2:first-child {
	display: none;
}

.hom-product-detail__content > * {
	margin-top: 0;
}

.hom-product-detail__content > * + * {
	margin-top: .8rem;
}

.hom-product-detail__content ul,
.hom-product-detail__content ol {
	padding-left: 1.15rem;
}

.hom-product-detail__content table {
	width: 100%;
	border-collapse: collapse;
}

.hom-product-detail__content th,
.hom-product-detail__content td {
	padding: .55rem 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
}

.hom-product-detail__content th {
	color: var(--navy-900);
	font-weight: 650;
}

.hom-product-detail__content #reviews {
	color: inherit;
}

.hom-product-detail__content #review_form_wrapper {
	margin-top: 1rem;
}

.hom-product-detail__content .comment-form {
	display: grid;
	gap: .8rem;
}

.hom-product-detail__content .comment-form textarea,
.hom-product-detail__content .comment-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: .75rem .85rem;
	background: var(--white);
}

.hom-product-detail__content .form-submit input {
	min-height: 44px;
	border: 0;
	border-radius: 999px;
	padding: .65rem 1.15rem;
	background: var(--navy-900);
	color: var(--ivory-50);
	font-weight: 650;
}

.hom-product-meta {
	display: grid;
	gap: .42rem;
	margin-top: 1.2rem;
	color: var(--ink-soft);
	font-size: .72rem;
	line-height: 1.5;
}

.hom-product-meta p {
	display: grid;
	grid-template-columns: 82px 1fr;
	gap: .6rem;
	margin: 0;
}

.hom-product-meta span {
	color: var(--navy-900);
	font-weight: 680;
}

.hom-product-meta a {
	color: inherit;
	text-decoration-color: var(--gold-400);
	text-underline-offset: 3px;
}

.hom-product-related {
	padding-block: clamp(1rem, 2vw, 1.75rem) clamp(4.5rem, 8vw, 7.5rem);
	border-top: 1px solid var(--line);
	background: var(--white);
}

.hom-product-related .related.products {
	padding-block: 0;
}

.hom-product-related .related.products > h2 {
	margin-bottom: clamp(1.8rem, 3vw, 2.6rem);
	color: var(--navy-900);
	font-size: clamp(2rem, 3.6vw, 3rem);
	font-weight: 740;
	letter-spacing: -.035em;
	line-height: 1.1;
}

.hom-product-related .related.products > h2::before {
	display: block;
	margin-bottom: .8rem;
	color: var(--gold-700);
	content: "CONTINUE THE EDIT";
	font-size: .68rem;
	font-weight: 760;
	letter-spacing: .14em;
}

.hom-product-related .products {
	margin-bottom: 0 !important;
}

.hom-content-page {
	padding-top: var(--hom-header-h);
}

.hom-content-page .hom-section {
	padding-inline: 0;
}

.hom-content-page .entry-content {
	width: min(var(--shell), 100% - 2.5rem);
	margin-inline: auto;
}

.hom-content-page .entry-content > * + * {
	margin-top: 1.25rem;
}

.contact-form-card .forminator-ui,
.form-card .forminator-ui {
	margin: 0 !important;
}

.contact-form-card .forminator-ui .forminator-row:not(.forminator-row-last),
.form-card .forminator-ui .forminator-row:not(.forminator-row-last) {
	margin-bottom: 1.1rem !important;
}

.contact-form-card .forminator-ui .forminator-label,
.form-card .forminator-ui .forminator-label {
	margin-bottom: .45rem !important;
	color: var(--navy-900) !important;
	font-size: .88rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
}

.contact-form-card .forminator-ui .forminator-required,
.form-card .forminator-ui .forminator-required {
	color: var(--gold-700) !important;
}

.contact-form-card .forminator-ui .forminator-input,
.contact-form-card .forminator-ui .forminator-textarea,
.form-card .forminator-ui .forminator-input,
.form-card .forminator-ui .forminator-textarea {
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	background: var(--white) !important;
	color: var(--ink) !important;
}

.contact-form-card .forminator-ui .forminator-input,
.form-card .forminator-ui .forminator-input {
	min-height: 52px !important;
	padding: .8rem 1rem !important;
	font-size: .98rem !important;
	line-height: 1.4 !important;
}

.contact-form-card .forminator-ui .forminator-textarea,
.form-card .forminator-ui .forminator-textarea {
	min-height: 150px !important;
	padding: .9rem 1rem !important;
	font-size: .98rem !important;
	line-height: 1.55 !important;
}

.contact-form-card .forminator-ui .forminator-input::placeholder,
.contact-form-card .forminator-ui .forminator-textarea::placeholder,
.form-card .forminator-ui .forminator-input::placeholder,
.form-card .forminator-ui .forminator-textarea::placeholder {
	color: var(--ink-soft) !important;
	opacity: 1;
}

.contact-form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"],
.form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
	min-height: 52px !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	background: var(--white) !important;
	box-shadow: none !important;
}

.contact-form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered,
.form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
	padding: .8rem 0 .8rem 1rem !important;
	color: var(--ink) !important;
	font-size: .98rem !important;
	line-height: 1.4 !important;
}

.contact-form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__arrow,
.form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__arrow {
	width: 48px !important;
	height: 50px !important;
	color: var(--gold-700) !important;
}

.contact-form-card .forminator-ui .forminator-input:hover,
.contact-form-card .forminator-ui .forminator-textarea:hover,
.contact-form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover,
.form-card .forminator-ui .forminator-input:hover,
.form-card .forminator-ui .forminator-textarea:hover,
.form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover {
	border-color: var(--gold-400) !important;
	background: var(--white) !important;
}

.contact-form-card .forminator-ui .forminator-input:focus,
.contact-form-card .forminator-ui .forminator-textarea:focus,
.contact-form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus,
.contact-form-card .forminator-ui .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"],
.form-card .forminator-ui .forminator-input:focus,
.form-card .forminator-ui .forminator-textarea:focus,
.form-card .forminator-ui .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus,
.form-card .forminator-ui .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"] {
	outline: none !important;
	border-color: var(--gold-500) !important;
	background: var(--white) !important;
	box-shadow: 0 0 0 3px rgba(178, 141, 60, .16) !important;
}

.contact-form-card .forminator-ui .forminator-row-last,
.form-card .forminator-ui .forminator-row-last {
	margin-top: 1.5rem !important;
	margin-bottom: 0 !important;
}

.contact-form-card .forminator-ui .forminator-button-submit,
.form-card .forminator-ui .forminator-button-submit {
	border-radius: 999px !important;
	background: var(--navy-900) !important;
	color: var(--ivory-50) !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}

.contact-form-card .forminator-ui .forminator-button-submit,
.form-card .forminator-ui .forminator-button-submit {
	min-height: 48px !important;
	padding: .8rem 1.4rem !important;
	font-size: .92rem !important;
	letter-spacing: .01em !important;
	transition: transform .25s var(--ease-out), background-color .25s ease, box-shadow .25s ease !important;
}

.contact-form-card .forminator-ui .forminator-button-submit:hover,
.form-card .forminator-ui .forminator-button-submit:hover {
	transform: translateY(-1px);
	background: var(--navy-800) !important;
	box-shadow: 0 4px 8px rgba(20, 41, 66, .18) !important;
}

.contact-form-card .forminator-ui .forminator-button-submit:active,
.form-card .forminator-ui .forminator-button-submit:active {
	transform: translateY(0);
	box-shadow: none !important;
}

.contact-form-card .forminator-ui .forminator-button-submit:focus-visible,
.form-card .forminator-ui .forminator-button-submit:focus-visible {
	outline: 2px solid var(--focus-ring) !important;
	outline-offset: 3px;
}

.contact-form-card .forminator-edit-module {
	margin-top: 1rem;
	font-size: .78rem;
	line-height: 1.4;
}

.contact-form-card .forminator-module-edit-link {
	color: var(--ink-soft);
	text-decoration-color: var(--gold-400);
	text-underline-offset: 3px;
}

@media (min-width: 640px) {
	.contact-form-card .forminator-ui .forminator-row,
	.form-card .forminator-ui .forminator-row {
		display: grid !important;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 1rem;
		margin-inline: 0 !important;
	}

	.contact-form-card .forminator-ui .forminator-row > .forminator-col,
	.form-card .forminator-ui .forminator-row > .forminator-col {
		min-width: 0;
		margin-bottom: 0 !important;
		padding-inline: 0 !important;
	}

	.contact-form-card .forminator-ui .forminator-row > .forminator-col-6,
	.form-card .forminator-ui .forminator-row > .forminator-col-6 {
		grid-column: span 6;
		width: auto !important;
		max-width: none !important;
		flex-basis: auto !important;
	}

	.contact-form-card .forminator-ui .forminator-row > .forminator-col-12,
	.contact-form-card .forminator-ui .forminator-row-last > .forminator-col,
	.form-card .forminator-ui .forminator-row > .forminator-col-12,
	.form-card .forminator-ui .forminator-row-last > .forminator-col {
		grid-column: 1 / -1;
	}
}

@media (max-width: 782px) {
	.admin-bar.hom-hybrid-classic .site-header {
		top: 46px;
	}
}

@media (max-width: 820px) {
	.hom-product-main {
		padding-block: 1.2rem 3rem;
	}

	.hom-product-breadcrumb {
		margin-bottom: 1.35rem;
	}

	.hom-product-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.4rem;
	}

	.hom-product-gallery.has-thumbnails {
		display: flex;
		flex-direction: column;
		gap: .8rem;
	}

	.hom-product-thumbnails {
		order: 2;
		flex-direction: row;
		gap: .6rem;
		padding: .2rem;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.hom-product-thumbnail {
		width: 64px;
		flex: 0 0 64px;
	}

	.hom-product-image {
		order: 1;
	}

	.hom-product-image figcaption {
		display: none;
	}

	.hom-product-summary__inner {
		position: static;
	}

	.hom-product-summary h1 {
		max-width: 14ch;
	}

	.hom-shop-hero {
		min-height: 0;
	}

	.hom-shop-hero > .shell {
		padding-block: 2.4rem 3.2rem;
	}

	.hom-shop-hero .breadcrumb {
		margin-bottom: 2.6rem;
	}

	.hom-shop-hero__layout {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.hom-shop-hero__copy h1 {
		font-size: clamp(3rem, 12vw, 4.1rem);
	}

	.hom-shop-hero__note {
		justify-self: start;
		margin: 0;
		text-align: left;
	}

	.hom-shop-categories .category-chips {
		width: 100%;
		padding-inline: max(1.25rem, calc((100vw - var(--shell)) / 2));
	}

	.hom-shop-catalogue__layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.hom-shop-toolbar .filter-toggle {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: .65rem 1rem;
		border-color: var(--navy-900);
		border-radius: 999px;
		background: var(--navy-900);
		color: var(--ivory-50);
	}

	.filters-panel {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: calc(var(--z-menu) + 1);
		display: flex;
		width: min(390px, 92vw);
		height: 100dvh;
		max-height: 100dvh;
		padding: 0;
		overflow: hidden;
		overscroll-behavior: contain;
		border-radius: 0 var(--radius-md) var(--radius-md) 0;
		box-shadow: 8px 0 8px rgba(14, 28, 46, .12);
		visibility: hidden;
		transform: translate3d(-102%, 0, 0);
		transition:
			transform .3s cubic-bezier(.4, 0, 1, 1),
			visibility 0s linear .3s;
	}

	.filters-panel.is-open {
		display: flex;
		visibility: visible;
		transform: translate3d(0, 0, 0);
		transition:
			transform .38s var(--ease-out),
			visibility 0s linear 0s;
	}

	.hom-shop-filter-form {
		display: flex;
		flex: 1;
		flex-direction: column;
		min-width: 0;
		min-height: 0;
	}

	.hom-filter-head {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin: 0;
		padding: max(1rem, env(safe-area-inset-top)) 1.25rem 1rem;
		border-bottom: 1px solid var(--line);
		background: var(--white);
	}

	.hom-filter-head h2 {
		font-size: 1.25rem;
	}

	.hom-filter-head button {
		display: grid;
		width: 40px;
		height: 40px;
		place-items: center;
		border-radius: 50%;
		color: var(--navy-900);
		font-size: 1.65rem;
		line-height: 1;
	}

	.hom-filter-scroll {
		flex: 1 1 auto;
		min-height: 0;
		padding: .25rem 1.25rem 1.5rem;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior-y: contain;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.hom-filter-actions {
		position: relative;
		flex: 0 0 auto;
		grid-template-columns: 1fr;
		justify-items: stretch;
		margin: 0;
		padding: 1rem 1.25rem max(1rem, env(safe-area-inset-bottom));
		border-top: 1px solid var(--line);
		background: var(--white);
	}

	.hom-filter-actions .btn {
		display: inline-flex;
	}

	.hom-filter-actions .filter-clear {
		justify-self: center;
	}

	.hom-filter-backdrop {
		position: fixed;
		inset: 0;
		z-index: var(--z-menu);
		display: block;
		background: rgba(14, 28, 46, .24);
		-webkit-backdrop-filter: blur(0) saturate(100%);
		backdrop-filter: blur(0) saturate(100%);
		opacity: 0;
		pointer-events: none;
		transition:
			opacity .28s ease,
			-webkit-backdrop-filter .32s var(--ease-out),
			backdrop-filter .32s var(--ease-out);
	}

	.hom-filter-backdrop.is-visible {
		-webkit-backdrop-filter: blur(10px) saturate(82%);
		backdrop-filter: blur(10px) saturate(82%);
		opacity: 1;
		pointer-events: auto;
	}

	.hom-commerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
	.filters-panel {
		opacity: 0;
		transform: none;
		transition: opacity .15s ease, visibility 0s linear .15s;
	}

	.filters-panel.is-open {
		opacity: 1;
		transform: none;
		transition: opacity .15s ease, visibility 0s linear 0s;
	}

	.hom-filter-backdrop {
		transition: opacity .15s ease;
	}
}

@media (max-width: 820px) and (prefers-reduced-transparency: reduce) {
	.hom-filter-backdrop,
	.hom-filter-backdrop.is-visible {
		background: rgba(14, 28, 46, .62);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (max-width: 640px) {
	body.hom-hybrid-classic {
		--hom-header-h: 62px;
	}

	.hom-product-main {
		padding-block: 1rem 2.5rem;
	}

	.hom-product-main > .shell {
		width: min(var(--shell), 100% - 2rem);
	}

	.hom-product-breadcrumb {
		font-size: .78rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.hom-product-image__frame {
		border-radius: var(--radius-md);
	}

	.hom-product-status {
		top: .75rem;
		left: .75rem;
		padding: .46rem .68rem;
		font-size: .58rem;
	}

	.hom-product-layout {
		gap: 2rem;
	}

	.hom-product-summary .page-kicker {
		margin-bottom: .6rem;
	}

	.hom-product-summary h1 {
		font-size: clamp(2.45rem, 12vw, 3.35rem);
	}

	.hom-product-price {
		margin-top: .9rem;
		font-size: 1.35rem;
	}

	.hom-product-intro {
		margin-top: .8rem;
		font-size: .94rem;
		line-height: 1.62;
	}

	.hom-product-purchase {
		margin-top: 1.4rem;
	}

	.hom-product-purchase .hom-enquiry-actions {
		grid-template-columns: 1fr;
	}

	.hom-product-purchase .hom-enquiry-note {
		grid-column: auto;
	}

	.hom-product-related {
		padding-block: 1rem 5rem;
	}

	.hom-product-related .related.products > h2 {
		font-size: 2rem;
	}

	.hom-search-page-form {
		grid-template-columns: 1fr;
	}

	.hom-editable-home .hero,
	.hom-editable-home .hero .wp-block-cover__inner-container {
		min-height: 88svh !important;
	}

	.hom-editable-home .hero-plate {
		width: calc(100% - 2rem);
	}

	.hom-shop-hero > .shell {
		padding-block: 2rem 2.8rem;
	}

	.hom-shop-hero .breadcrumb {
		margin-bottom: 2.2rem;
	}

	.hom-shop-hero__copy .page-kicker {
		margin-bottom: .8rem;
	}

	.hom-shop-hero__copy h1 {
		font-size: clamp(2.75rem, 14vw, 3.65rem);
	}

	.hom-shop-hero__lead {
		margin-top: 1rem;
		font-size: 1rem;
		line-height: 1.6;
	}

	.hom-shop-categories .category-chips {
		padding-block: 1rem;
	}

	.hom-shop-categories .category-chip {
		padding: .65rem 1rem;
		font-size: .84rem;
	}

	.hom-shop-catalogue {
		padding-block: 2.8rem 5rem;
	}

	.hom-shop-toolbar {
		align-items: flex-end;
	}

	.hom-shop-toolbar__actions {
		gap: .45rem;
	}

	.hom-shop-ordering > span {
		display: none;
	}

	.hom-shop-ordering select {
		min-width: 0;
		max-width: 138px;
		height: 44px;
		padding-left: .8rem;
		font-size: .84rem;
	}

	.hom-shop-catalogue__layout {
		padding-top: 1.5rem;
	}

	.catalog-meta {
		margin-bottom: 1rem;
	}

	.catalog-meta p:first-child {
		display: none;
	}

	.hom-commerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem .75rem;
	}

	.hom-commerce-page .catalog-media {
		border-radius: var(--radius-sm);
	}

	.hom-commerce-page .hom-product-badge {
		top: .55rem;
		left: .55rem;
		padding: .36rem .55rem;
		font-size: .56rem;
	}

	.hom-commerce-page .catalog-category {
		font-size: .6rem;
	}

	.hom-commerce-page .catalog-title {
		font-size: .9rem;
	}

	.hom-commerce-page .catalog-price {
		font-size: .82rem;
	}
}

@media (min-width: 641px) and (max-width: 960px) {
	.hom-commerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px), (hover: none) {
	.hom-card-actions {
		right: .45rem;
		bottom: .45rem;
		left: .45rem;
		grid-template-columns: 44px minmax(0, 1fr);
		gap: .35rem;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	.hom-card-actions--single {
		grid-template-columns: minmax(0, 1fr);
	}

	.hom-card-action {
		min-height: 44px;
		padding: .6rem .7rem;
		font-size: .7rem;
	}

	.hom-card-action--cart {
		width: 44px;
		padding: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hom-card-actions,
	.hom-card-action {
		transition: none;
	}
}
