:root {
	--apd-dark: #2e2219;
	--apd-gold: #c28d4d;
	--apd-blue: #7eb0c6;
	--apd-sand: #d4b478;
	--apd-brown: #8d6b4e;
	--apd-sky: #5a8db0;
}

.apd-hero-section,
.apd-shop-hero {
	background:
		radial-gradient(circle at 80% 20%, rgba(126, 176, 198, .18), transparent 35%),
		linear-gradient(135deg, #100c09, var(--apd-dark));
	color: #fff;
	min-height: 520px;
	padding: clamp(70px, 10vw, 140px) 7%;
}

.apd-hero-section h1,
.apd-hero-section h2,
.apd-shop-hero h1 {
	color: #fff;
}

.apd-hero-section h1 {
	color: var(--apd-gold);
	font-size: clamp(14px, 2vw, 18px);
	letter-spacing: .18em;
}

.apd-hero-section h2 {
	font-size: clamp(44px, 7vw, 86px);
	line-height: .96;
	max-width: 900px;
}

.apd-hero-section p,
.apd-shop-hero p {
	color: #e9dfd5;
	font-size: 19px;
	max-width: 700px;
}

.apd-services-section,
.apd-shop-grid,
.apd-portfolio-section,
.apd-cta-section {
	padding: 80px 6%;
}

.apd-services-section,
.apd-shop-grid {
	background: #f5f0ea;
}

.apd-services-section h2,
.apd-portfolio-section h2,
.apd-cta-section h2 {
	color: var(--apd-dark);
	font-size: clamp(34px, 5vw, 58px);
}

.apd-starting-price {
	color: #765532;
	font-size: .72em;
	font-weight: 600;
}

.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid #e3d7ca;
	padding: 22px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 18px 45px rgba(46, 34, 25, .13);
	transform: translateY(-4px);
}

.woocommerce ul.products li.product .price {
	color: #8a571f;
}

.woocommerce a.button,
.apd-hero-section .elementor-button,
.apd-cta-section .elementor-button {
	background: var(--apd-gold);
	border-radius: 3px;
	color: #16100b;
	font-weight: 700;
}

.apd-portfolio-section {
	background: #fff;
}

.apd-portfolio-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.apd-portfolio-card {
	background: var(--apd-dark);
	color: #fff;
	overflow: hidden;
}

.apd-portfolio-card img {
	aspect-ratio: 1 / 1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.apd-portfolio-card-body {
	padding: 20px;
}

.apd-portfolio-card-body span {
	color: var(--apd-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
}

.apd-portfolio-card-body h3 {
	color: #fff;
	margin: 8px 0 0;
}

.apd-cta-section {
	background: var(--apd-sand);
	text-align: center;
}

.apd-cta-section p {
	color: var(--apd-dark);
	font-size: 18px;
}

@media (max-width: 780px) {
	.apd-portfolio-grid {
		grid-template-columns: 1fr;
	}
}
