:root {
	--amigo-black: #111111;
	--amigo-gold: #b58a3b;
	--amigo-cream: #f7f1e7;
	--amigo-white: #ffffff;
	--amigo-card-bg: #ffffff;
	--amigo-charcoal: #2a2a2a;
	--amigo-border: #e4dccf;
	--amigo-radius: 12px;
	--amigo-shadow: 0 8px 24px rgba(17, 17, 17, 0.05);
	--amigo-page-bg: #fffdf9;
	--amigo-muted: #6f6a63;
	--amigo-header-bg: #ffffff;
	--amigo-footer-bg: #fbf7f0;
	--amigo-footer-text: #2a2a2a;
	--amigo-footer-muted: #6f6a63;
	--amigo-footer-heading: #111111;
	--amigo-footer-accent: #b58a3b;
	--amigo-footer-border: #e4dccf;
	--amigo-button-text: #111111;
	--amigo-primary-button-bg: #b58a3b;
	--amigo-secondary-button-border: #b58a3b;
	--amigo-secondary-button-text: #2a2a2a;
	--amigo-button-radius: 999px;
	--amigo-section-space: 56px;
	--amigo-content-width: 1400px;
	--amigo-header-spacing: 24px;
	--amigo-product-gap: 12px;
	--amigo-category-gap: 14px;
	--amigo-hero-height: 370px;
	--amigo-hero-text-fr: 39fr;
	--amigo-hero-image-fr: 61fr;
	--amigo-category-height: 130px;
	--amigo-category-text-width: 43%;
	--amigo-category-text-fr: 43fr;
	--amigo-category-image-fr: 57fr;
	--amigo-showroom-height: 142px;
	--amigo-product-image-height: 140px;
	--amigo-hero-radius: 6px;
	--amigo-header-cta-height: 44px;
	--amigo-header-cta-padding: 24px;
	--amigo-header-cta-radius: 10px;
	--amigo-header-cta-font-size: 14px;
	--amigo-header-cta-bg: #b58a3b;
	--amigo-header-cta-text: #111111;
	--amigo-header-height: 76px;
	--amigo-footer-column-gap: 32px;
	--amigo-footer-padding: 24px;
	--amigo-footer-heading-size: 16px;
	--amigo-footer-body-size: 14px;
	--amigo-type-hero: clamp(2.25rem, 4vw, 4rem);
	--amigo-type-section-heading: clamp(1.875rem, 3vw, 3rem);
	--amigo-type-card-heading: clamp(1.15rem, 1.5vw, 1.625rem);
	--amigo-type-product-title: 20px;
	--amigo-body-size: 16px;
	--amigo-navigation-size: 16px;
	--amigo-space-xs: 0.5rem;
	--amigo-space-sm: 0.875rem;
	--amigo-space-md: 1.25rem;
	--amigo-space-lg: 2rem;
	--amigo-space-xl: clamp(3rem, 7vw, 6rem);
	--amigo-font-heading: Georgia, "Times New Roman", serif;
	--amigo-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
	background: var(--amigo-page-bg);
	color: var(--amigo-charcoal);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--amigo-black);
	line-height: 1.2;
}

body.amigo-use-custom-typography {
	font-family: var(--amigo-body-font, var(--amigo-font-body));
	font-size: var(--amigo-body-size);
}

body.amigo-use-custom-typography h1,
body.amigo-use-custom-typography h2,
body.amigo-use-custom-typography h3,
body.amigo-use-custom-typography h4,
body.amigo-use-custom-typography h5,
body.amigo-use-custom-typography h6 {
	font-family: var(--amigo-heading-font, var(--amigo-font-heading));
}

.site-header,
[data-device="desktop"] .ct-header {
	background: var(--amigo-header-bg);
}

.site-header a,
.ct-header a {
	text-underline-offset: 0.25em;
}

[data-device="desktop"] .ct-header [data-row] > div {
	padding-inline: var(--amigo-header-spacing);
}

[data-device="desktop"] .ct-header [data-row] {
	background: var(--amigo-header-bg);
}

[data-device="desktop"] .ct-header [data-row="middle"] > .ct-container {
	height: var(--amigo-header-height);
	min-height: var(--amigo-header-height);
}

[data-device="desktop"] [class*="header-menu"] .menu > li > .ct-menu-link {
	font-size: clamp(14px, 0.82rem + 0.1vw, var(--amigo-navigation-size));
	font-weight: 600;
	white-space: nowrap;
}

body.amigo-use-custom-typography [data-device="desktop"] [class*="header-menu"] .menu > li > .ct-menu-link {
	font-family: var(--amigo-navigation-font, var(--amigo-font-body));
	font-size: var(--amigo-navigation-size);
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
}

body.amigo-use-custom-typography .mobile-menu .ct-menu-link {
	font-family: var(--amigo-navigation-font, var(--amigo-font-body));
	font-size: var(--amigo-navigation-size);
	font-weight: 600;
	line-height: 1.3;
}

.site-header a:hover,
.site-header a:focus-visible,
.ct-header a:hover,
.ct-header a:focus-visible {
	color: var(--amigo-gold);
}

[data-device="desktop"] [class*="header-menu"] .menu > .current-menu-item > .ct-menu-link,
[data-device="desktop"] [class*="header-menu"] .menu > .current-menu-ancestor > .ct-menu-link {
	box-shadow: inset 0 -2px var(--amigo-gold);
	color: var(--amigo-gold);
}

[data-device="desktop"] [class*="header-menu"] .sub-menu {
	padding: 0.65rem;
	border: 1px solid var(--amigo-border);
	border-radius: min(var(--amigo-radius), 14px);
	background: var(--amigo-header-bg);
	box-shadow: 0 16px 38px rgba(17, 17, 17, 0.12);
}

[data-device="desktop"] [class*="header-menu"] .sub-menu .ct-menu-link {
	min-height: 42px;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	color: var(--amigo-charcoal);
	font-size: 0.94rem;
	line-height: 1.3;
}

[data-device="desktop"] [class*="header-menu"] .sub-menu .ct-menu-link:hover,
[data-device="desktop"] [class*="header-menu"] .sub-menu .ct-menu-link:focus-visible {
	background: var(--amigo-cream);
	color: var(--amigo-gold);
}

.mobile-menu .ct-menu-link {
	min-height: 44px;
	font-size: 16px;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.amigo-category-card {
	overflow: hidden;
	border: 1px solid var(--amigo-border);
	border-radius: var(--amigo-radius);
	background: var(--amigo-white);
	box-shadow: var(--amigo-shadow);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within,
.wc-block-grid__product:hover,
.wc-block-grid__product:focus-within,
.amigo-category-card:hover,
.amigo-category-card:focus-within {
	transform: translateY(-3px);
	box-shadow: var(--amigo-shadow);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
	padding-inline: var(--amigo-space-md);
}

button,
.button,
.wp-element-button,
.amigo-enquiry-button {
	border-radius: var(--amigo-button-radius);
	font-weight: 700;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.amigo-product-enquiries {
	display: flex;
	flex-wrap: wrap;
	gap: var(--amigo-space-sm);
	margin-block: var(--amigo-space-lg);
}

.amigo-enquiry-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.7rem 1.2rem;
	border: 2px solid var(--amigo-black);
	background: var(--amigo-black);
	color: var(--amigo-white);
	line-height: 1.2;
	text-decoration: none;
}

.amigo-enquiry-button:hover,
.amigo-enquiry-button:focus-visible {
	border-color: var(--amigo-gold);
	background: var(--amigo-gold);
	color: var(--amigo-black);
}

.amigo-enquiry-button--call {
	border-color: var(--amigo-gold);
	background: var(--amigo-gold);
	color: var(--amigo-black);
}

.amigo-enquiry-button--message {
	border-color: var(--amigo-black);
	background: transparent;
	color: var(--amigo-black);
}

.amigo-enquiry-button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
}

.amigo-showroom {
	padding: var(--amigo-space-xl) clamp(1rem, 5vw, 4rem);
	border-radius: var(--amigo-radius);
	background: var(--amigo-cream);
}

.site-footer,
.ct-footer {
	border-top: 1px solid var(--amigo-footer-border);
	background: var(--amigo-footer-bg);
	color: var(--amigo-footer-text);
}

.ct-footer {
	color: var(--amigo-footer-text);
}

.ct-footer [data-row] {
	border-color: var(--amigo-footer-border);
}

.ct-footer [data-row] > div {
	padding-block: min(var(--container-spacing), var(--amigo-footer-padding));
}

.ct-footer [data-row="bottom"] > div {
	padding-block: min(var(--container-spacing), clamp(12px, calc(var(--amigo-footer-padding) * 0.58), 16px));
}

.ct-footer [data-row] [data-column] {
	align-items: flex-start;
}

.ct-footer :where(p, li) {
	font-size: var(--amigo-footer-body-size);
	line-height: 1.55;
}

.ct-footer .widget-title,
.ct-footer h2,
.ct-footer h3 {
	margin-bottom: 0.7rem;
	color: var(--amigo-footer-heading);
	font-size: var(--amigo-footer-heading-size);
	line-height: 1.25;
}

.ct-footer a {
	color: var(--amigo-footer-text);
	text-decoration-color: transparent;
	text-underline-offset: 0.25em;
}

.ct-footer a:hover,
.ct-footer a:focus-visible {
	color: var(--amigo-footer-accent);
	text-decoration-color: currentColor;
}

.ct-footer .ct-footer-copyright {
	color: var(--amigo-footer-muted);
}

.ct-footer :where(.custom-logo, .site-logo-container img),
.amigo-footer-widgets :where(.custom-logo, .site-logo-container img) {
	width: auto;
	max-width: min(100%, 150px);
	max-height: 64px;
	object-fit: contain;
}

.ct-footer :where(.ct-social-box, .wp-block-social-links),
.amigo-footer-widgets :where(.ct-social-box, .wp-block-social-links) {
	gap: 0.5rem;
	margin-block: 0.4rem 0;
	padding: 0;
}

.ct-footer .wp-block-social-links :where(.wp-social-link, .wp-block-social-link-anchor, svg, path),
.amigo-footer-widgets .wp-block-social-links :where(.wp-social-link, .wp-block-social-link-anchor, svg, path) {
	opacity: 1;
	filter: none;
}

.ct-footer .wp-block-social-links .wp-block-social-link-anchor,
.amigo-footer-widgets .wp-block-social-links .wp-block-social-link-anchor {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	opacity: 1;
	filter: none;
}

.ct-footer .wp-block-social-links .wp-block-social-link-anchor svg,
.amigo-footer-widgets .wp-block-social-links .wp-block-social-link-anchor svg {
	fill: currentColor;
	opacity: 1;
	filter: none;
}

.ct-footer .ct-social-box,
.amigo-footer-widgets .ct-social-box {
	--theme-icon-color: var(--amigo-footer-accent);
	--theme-icon-hover-color: var(--amigo-footer-accent);
}

.ct-footer .ct-social-box :where(a, .ct-icon-container, svg),
.ct-footer .ct-social-box :where(a, .ct-icon-container, svg):hover,
.amigo-footer-widgets .ct-social-box :where(a, .ct-icon-container, svg),
.amigo-footer-widgets .ct-social-box :where(a, .ct-icon-container, svg):hover {
	opacity: 1;
	filter: none;
}

.ct-footer :where(.wp-block-social-link-anchor, .ct-social-box a):focus-visible,
.amigo-footer-widgets :where(.wp-block-social-link-anchor, .ct-social-box a):focus-visible {
	outline: 2px solid var(--amigo-footer-accent);
	outline-offset: 3px;
}

.ct-footer [data-row="bottom"] [data-column="start"] {
	justify-content: flex-start;
	text-align: start;
}

.ct-footer [data-row="bottom"] [data-column="end"] {
	justify-content: flex-end;
	margin-inline-start: auto;
	text-align: end;
}

.amigo-footer-widgets {
	border-top: 1px solid var(--amigo-footer-border);
	background: var(--amigo-footer-bg);
	color: var(--amigo-footer-text);
}

.amigo-footer-widgets__inner {
	display: grid;
	grid-template-columns: repeat(var(--amigo-footer-columns, 5), minmax(0, 1fr));
	gap: var(--amigo-footer-column-gap);
	width: min(calc(100% - 48px), var(--amigo-content-width));
	margin-inline: auto;
	padding-block: var(--amigo-footer-padding);
}

.amigo-footer-widgets__inner--columns-1 {
	--amigo-footer-columns: 1;
}

.amigo-footer-widgets__inner--columns-2 {
	--amigo-footer-columns: 2;
}

.amigo-footer-widgets__inner--columns-3 {
	--amigo-footer-columns: 3;
}

.amigo-footer-widgets__inner--columns-4 {
	--amigo-footer-columns: 4;
}

.amigo-footer-widgets__inner--columns-5 {
	--amigo-footer-columns: 5;
}

.amigo-footer-widgets__column {
	align-self: start;
	min-width: 0;
	font-size: var(--amigo-footer-body-size);
	line-height: 1.5;
}

.amigo-footer-widgets :where(.widget-title, h2, h3) {
	margin-bottom: 0.7rem;
	color: var(--amigo-footer-heading);
	font-size: var(--amigo-footer-heading-size);
	font-weight: 700;
	line-height: 1.25;
}

.amigo-footer-widgets :where(p, li) {
	color: var(--amigo-footer-text);
}

.amigo-footer-widgets a {
	color: var(--amigo-footer-text);
	text-underline-offset: 0.22em;
}

.amigo-footer-widgets a:hover,
.amigo-footer-widgets a:focus-visible {
	color: var(--amigo-footer-accent);
}

.amigo-footer-widgets .widget {
	margin: 0;
}

.amigo-footer-widgets .widget + .widget {
	margin-top: clamp(10px, calc(var(--amigo-footer-padding) * 0.5), 14px);
}

.ct-footer .ct-widget:not(:first-child) {
	margin-top: min(var(--widgets-gap, 12px), clamp(10px, calc(var(--amigo-footer-padding) * 0.5), 14px));
}

.amigo-header-quote {
	display: none !important;
}

@media (min-width: 1400px) {
	.amigo-header-quote {
		display: flex !important;
		flex: 0 0 auto;
		align-self: center;
		width: auto;
		height: auto !important;
		min-height: 0 !important;
		max-height: var(--amigo-header-cta-height);
	}

	.amigo-header-quote > .ct-menu-link {
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: auto;
		min-width: 0;
		height: var(--amigo-header-cta-height);
		min-height: var(--amigo-header-cta-height);
		max-height: 46px;
		padding-inline: var(--amigo-header-cta-padding) !important;
		padding-block: 0 !important;
		border: 1px solid var(--amigo-header-cta-bg);
		border-radius: var(--amigo-header-cta-radius);
		background: var(--amigo-header-cta-bg);
		color: var(--amigo-header-cta-text);
		font-size: var(--amigo-header-cta-font-size);
		line-height: 1;
		white-space: nowrap;
	}
}

@media (max-width: 1023px) {
	.amigo-footer-widgets__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(calc(100% - 40px), var(--amigo-content-width));
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.amigo-use-custom-typography .mobile-menu .ct-menu-link {
		font-size: max(14px, calc(var(--amigo-navigation-size) - 1px));
	}
}

@media (max-width: 689px) {
	.amigo-footer-widgets__inner {
		grid-template-columns: 1fr;
		width: min(calc(100% - 32px), var(--amigo-content-width));
	}

	.amigo-product-enquiries {
		flex-direction: column;
	}

	.amigo-enquiry-button {
		width: 100%;
	}

	.ct-footer [data-row="bottom"] [data-column="start"],
	.ct-footer [data-row="bottom"] [data-column="end"] {
		justify-content: center;
		margin-inline: 0;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product,
	.wc-block-grid__product,
	.amigo-category-card,
	button,
	.button,
	.wp-element-button,
	.amigo-enquiry-button {
		transition: none;
	}
}
