/* Mae Mae’s — theme layer.
   Only markup without a source equivalent, plus functional state rules. */

[hidden] {
	display: none !important;
}

/* ---------- Clickable cursor ---------- */
a[href],
button:not(:disabled),
[role="button"]:not([aria-disabled="true"]),
[data-nav-target],
[data-journal-open],
[data-journal-back],
[data-journal-edit],
[data-journal-close],
[data-cart-open],
[data-cart-close],
[data-cat-filter],
[role="tab"],
summary,
label[for],
select,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="checkbox"],
input[type="radio"],
input[type="file"],
.theme-attr-pill,
.theme-thumb,
.theme-cat-pill,
.theme-service-card,
.theme-faq-toggle,
[data-faq-toggle],
.faq-toggle,
.theme-card-link,
.add_to_cart_button,
.single_add_to_cart_button,
label {
	cursor: pointer;
}

button:disabled,
[aria-disabled="true"],
.single_add_to_cart_button.button:disabled,
.add_to_cart_button.button:disabled {
	cursor: not-allowed;
}

/* ---------- Header states ---------- */
.site-header.is-solid {
	background-color: hsl(var(--background));
	border-bottom: 1px solid hsl(var(--border));
}

.site-header .site-logo-text {
	line-height: 1;
}

.site-header img.theme-header-logo {
	height: 3rem;
	width: auto;
	max-width: none;
}

@media (min-width: 1024px) {
	.site-header img.theme-header-logo {
		height: var(--logo-height, 4rem);
	}
}

/* ---------- Hero ---------- */
.theme-hero-overlay {
	background: linear-gradient(
		180deg,
		hsl(var(--video-overlay) / 0.62) 0%,
		hsl(var(--video-overlay) / 0.58) 45%,
		hsl(var(--video-overlay) / 0.72) 100%
	);
}

.hero-delay-1 {
	--hero-delay: 120ms;
}

.hero-delay-2 {
	--hero-delay: 260ms;
}

.hero-delay-3 {
	--hero-delay: 400ms;
}

/* Hero content: lock Lovable sizes so tablet/desktop do not inherit mobile button width. */
#home h1 {
	font-size: 3rem;
	line-height: 0.95;
	letter-spacing: 0;
	max-width: 64rem;
	margin-left: auto;
	margin-right: auto;
}

#home [data-theme-hero-text] {
	margin-top: 1.75rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 42rem;
	font-size: 17px;
	line-height: 1.625;
}

#home .theme-hero-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 2.5rem;
}

#home .theme-arrow-btn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: auto;
	max-width: 100%;
	text-align: left;
	padding-left: 1.5rem;
	padding-right: 0.5rem;
}

#home .theme-arrow-btn .theme-arrow-icon {
	position: relative;
	right: auto;
	top: auto;
	transform: none;
}

@media (min-width: 640px) {
	#home h1 {
		font-size: 3.75rem;
	}

	#home [data-theme-hero-text] {
		font-size: 19px;
	}

	#home .theme-hero-actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 1rem;
	}

	#home .theme-arrow-btn {
		width: auto;
		justify-content: flex-start;
		text-align: left;
		padding-left: 1.5rem;
		padding-right: 0.5rem;
	}

	#home .theme-arrow-btn .theme-arrow-icon {
		position: relative;
		right: auto;
		top: auto;
		transform: none;
	}
}

@media (min-width: 1024px) {
	#home h1 {
		font-size: 4.5rem;
	}
}

@media (max-width: 639px) {
	#home .theme-arrow-btn {
		width: 100%;
		justify-content: center;
		text-align: center;
		padding-left: 3.25rem;
		padding-right: 3.25rem;
	}

	#home .theme-arrow-btn .theme-arrow-icon {
		position: absolute;
		right: 0.5rem;
		top: 50%;
		transform: translateY(-50%);
	}
}

/* ---------- Marquee ---------- */
.theme-marquee-text {
	font-size: clamp(1.2rem, 3vw, 2.4rem);
}

.theme-marquee-dot {
	width: clamp(7px, 0.7vw, 12px);
	height: clamp(7px, 0.7vw, 12px);
}

/* ---------- Service gradients ---------- */
.theme-grad-1 { background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--sun))); }
.theme-grad-2 { background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--sun))); }
.theme-grad-3 { background: linear-gradient(135deg, hsl(var(--leaf)), hsl(var(--sun))); }
.theme-grad-4 { background: linear-gradient(135deg, hsl(var(--hot)), hsl(var(--sun))); }
.theme-grad-5 { background: linear-gradient(135deg, hsl(var(--volt)), hsl(var(--sun))); }
.theme-grad-6 { background: linear-gradient(135deg, hsl(var(--sun)), hsl(var(--sun))); }
.theme-grad-7 { background: linear-gradient(135deg, hsl(var(--flame)), hsl(var(--sun))); }
.theme-grad-8 { background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--sun))); }

.theme-glow-1 { background: hsl(var(--accent) / 0.3); }
.theme-glow-2 { background: hsl(var(--primary) / 0.3); }
.theme-glow-3 { background: hsl(var(--leaf) / 0.3); }
.theme-glow-4 { background: hsl(var(--hot) / 0.3); }
.theme-glow-5 { background: hsl(var(--volt) / 0.3); }
.theme-glow-6 { background: hsl(var(--sun) / 0.3); }
.theme-glow-7 { background: hsl(var(--flame) / 0.3); }
.theme-glow-8 { background: hsl(var(--accent) / 0.3); }

.theme-grad-a1 { background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--hot))); }
.theme-grad-a2 { background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--volt))); }
.theme-grad-a3 { background: linear-gradient(135deg, hsl(var(--leaf)), hsl(var(--sun))); }

.theme-grad-c1 { background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--sun))); }
.theme-grad-c2 { background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--volt))); }
.theme-grad-c3 { background: linear-gradient(135deg, hsl(var(--leaf)), hsl(var(--sun))); }
.theme-grad-c4 { background: linear-gradient(135deg, hsl(var(--hot)), hsl(var(--flame))); }

/* ---------- Service card tilt ---------- */
.theme-service-card {
	transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--tilt-lift, 0px));
	transition: transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.theme-service-card:hover {
	--tilt-lift: -10px;
}

/* ---------- CTA banner ---------- */
.theme-cta-shadow {
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.theme-cta-title {
	font-size: clamp(2rem, 5.4vw, 3.8rem);
}

/* ---------- Product cards ---------- */
.theme-product-card {
	position: relative;
}

.theme-product-card > .theme-card-link {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: auto;
	display: block;
}

.theme-product-card *:not(.theme-card-link) {
	pointer-events: none;
}

.theme-product-card .add_to_cart_button {
	position: relative;
	z-index: 3;
	pointer-events: auto;
}

.theme-card-actions {
	z-index: 3;
}

.theme-product-card__image-wrapper {
	position: relative;
}

.theme-related-item,
.theme-shop-item {
	min-width: 0;
	height: 100%;
}

/* ---------- Add-to-cart button states ---------- */
.single_add_to_cart_button.button:disabled,
.single_add_to_cart_button.button.disabled,
.add_to_cart_button.button:disabled,
.add_to_cart_button.button.disabled {
	cursor: not-allowed !important;
	opacity: 0.4 !important;
	pointer-events: none !important;
}

.single_add_to_cart_button.button:disabled:hover,
.single_add_to_cart_button.button.disabled:hover,
.add_to_cart_button.button:disabled:hover,
.add_to_cart_button.button.disabled:hover {
	opacity: 0.4 !important;
}

.ajax_add_to_cart.theme-btn-loading {
	opacity: 0.6 !important;
	pointer-events: none !important;
	cursor: wait !important;
}

.ajax_add_to_cart.loading::after,
.single-product .single_add_to_cart_button.loading::after {
	display: none !important;
}

body a.added_to_cart.wc-forward {
	display: none !important;
}

/* ---------- Quantity control ---------- */
.theme-quantity-wrapper input.theme-qty-input {
	width: 3rem;
	-moz-appearance: textfield;
	appearance: textfield;
	border: 0;
	background: transparent;
	color: hsl(var(--foreground));
}

.theme-quantity-wrapper input.theme-qty-input::-webkit-outer-spin-button,
.theme-quantity-wrapper input.theme-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ---------- Variation pills ---------- */
.theme-attr-pill.is-active {
	background-color: hsl(var(--primary));
	border-color: hsl(var(--primary));
	color: hsl(var(--primary-foreground));
}

/* ---------- FAQ accordion ---------- */
#faq .max-w-3xl {
	min-width: 0;
	max-width: min(48rem, 100%);
}

#faq .rounded-lg.border {
	max-width: 100%;
	overflow: hidden;
}

#faq .faq-toggle,
#faq [data-faq-toggle] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	white-space: normal;
	overflow: hidden;
}

#faq .faq-toggle > span:first-child {
	min-width: 0;
	flex: 1 1 auto;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
}

#faq .faq-chevron {
	flex-shrink: 0;
}

.theme-faq-panel {
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: height 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-faq-panel.is-open {
	opacity: 1;
	height: auto;
}

/* ---------- Cart drawer ---------- */
#theme-cart-drawer {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity 350ms ease, transform 350ms cubic-bezier(0.22, 1, 0.36, 1), visibility 350ms;
}

body.cart-open #theme-cart-drawer {
	opacity: 1;
	visibility: visible;
	transform: none;
}

#theme-cart-overlay {
	position: fixed;
	inset: 0;
	z-index: 49;
	background-color: hsl(var(--foreground) / 0.6);
	opacity: 0;
	visibility: hidden;
	transition: opacity 300ms ease, visibility 300ms;
}

body.cart-open #theme-cart-overlay {
	opacity: 1;
	visibility: visible;
}

#theme-cart-drawer.is-updating > * {
	opacity: 0.6;
	pointer-events: none;
}

.theme-cart-count:empty {
	display: none;
}

/* ---------- Journal cards ---------- */
#theme-journal-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
}

@media (min-width: 768px) {
	#theme-journal-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

#theme-journal-grid > article {
	min-width: 0;
}

.theme-journal-card,
#theme-journal-grid button[data-journal-open] {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	text-align: left !important;
	white-space: normal !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	flex-direction: column !important;
	gap: 0 !important;
	padding: 0 !important;
	border-radius: 0.5rem;
	background: transparent;
}

#theme-journal-grid button[data-journal-open] img {
	display: block;
	width: 100%;
}

#theme-journal-grid button[data-journal-open] .font-display {
	white-space: normal;
	overflow-wrap: anywhere;
}

/* ---------- Journal views ---------- */
.theme-journal-field {
	width: 100%;
	border-radius: calc(var(--radius) - 8px);
	border: 1px solid hsl(var(--border));
	background-color: hsl(var(--background));
	padding: 0.75rem 1rem;
	font-size: 1rem;
	color: hsl(var(--foreground));
}

.journal-dialog {
	--muted-foreground: 19 22% 32%;
	--ring: 345 30% 35%;
	position: fixed;
	inset: 0;
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
	max-width: 100%;
	height: 100dvh;
	max-height: 100dvh;
	color: hsl(var(--foreground));
	background: hsl(var(--background));
	animation: journal-open 300ms ease both;
}

.journal-dialog::backdrop {
	background: hsl(var(--video-overlay) / 0.65);
}

.journal-dialog.is-closing {
	animation: journal-close 250ms ease both;
}

.journal-dialog .overflow-y-auto {
	overscroll-behavior: contain;
}

@keyframes journal-open {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes journal-close {
	from { opacity: 1; }
	to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.journal-dialog,
	.journal-dialog.is-closing {
		animation: none;
	}
}

/* ---------- Reveal fallbacks ---------- */
body.is-customizer [data-aos],
html.no-js [data-aos] {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	transition: none !important;
}

body.is-customizer .hero-reveal {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}

/* ---------- WordPress admin bar ---------- */
body.admin-bar .site-header {
	top: 32px;
}

body.admin-bar #theme-cart-drawer {
	top: 32px;
	height: calc(100% - 32px);
}

body.admin-bar section[id] {
	scroll-margin-top: calc(80px + 32px);
}

@media (min-width: 1024px) {
	body.admin-bar .theme-product-gallery {
		top: calc(7rem + 32px);
	}
}

@media screen and (max-width: 782px) {
	html #wpadminbar {
		position: fixed !important;
	}

	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar #theme-cart-drawer {
		top: 46px;
		height: calc(100% - 46px);
	}

	body.admin-bar section[id] {
		scroll-margin-top: calc(80px + 46px);
	}
}

/* ---------- WordPress core ---------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.page-title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	letter-spacing: 0;
}

.entry-content > * {
	max-width: 100%;
}

.entry-content a {
	color: hsl(var(--primary));
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---------- WooCommerce notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid hsl(var(--border));
	border-radius: calc(var(--radius) - 8px);
	background-color: hsl(var(--card));
	color: hsl(var(--foreground));
	padding: 1rem 1.25rem;
	margin: 0 0 1.5rem;
	list-style: none;
	font-size: 15px;
	line-height: 1.6;
}

.woocommerce-error {
	border-color: hsl(var(--destructive) / 0.5);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.single-product .woocommerce-message,
.single-product .woocommerce-info,
#theme-cart-drawer .woocommerce-message {
	display: none;
}

/* ---------- WooCommerce pagination ---------- */
.woocommerce-pagination ul {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border: 1px solid hsl(var(--border));
	border-radius: 9999px;
	color: hsl(var(--foreground));
	font-size: 15px;
	text-decoration: none;
}

.woocommerce-pagination ul li span.current {
	background-color: hsl(var(--primary));
	border-color: hsl(var(--primary));
	color: hsl(var(--primary-foreground));
}

/* ---------- Single product layout ---------- */
.single-product .theme-product-layout {
	min-width: 0;
}

.single-product .theme-product-gallery,
.single-product .theme-product-info {
	min-width: 0;
	max-width: 100%;
}

.single-product .theme-product-thumbnails {
	flex-wrap: wrap;
	max-width: 100%;
}

.single-product .theme-product-info .button,
.single-product .theme-product-info .single_add_to_cart_button {
	float: none;
	margin: 0;
	background-image: none;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
}

.single-product .theme-product-info a.button.single_add_to_cart_button,
.single-product .theme-product-info button.single_add_to_cart_button {
	background-color: hsl(var(--primary));
	color: hsl(var(--primary-foreground));
	border-color: hsl(var(--primary));
}

.single-product .theme-product-info a.theme-buy-now {
	background-color: transparent;
	color: hsl(var(--foreground));
}

.single-product .theme-product-info .price,
.single-product .theme-product-info .woocommerce-Price-amount,
.single-product .theme-product-info .woocommerce-product-details__short-description p {
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	line-height: inherit;
	background: none;
}

.single-product .theme-product-info .theme-product-price {
	margin: 0 0 1.75rem;
	padding: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	color: hsl(var(--foreground) / 0.9);
}

.single-product .theme-product-info .theme-product-description {
	margin: 0 0 2rem;
	padding: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.625;
	color: hsl(var(--foreground) / 0.75);
	white-space: pre-line;
}

.single-product .theme-product-info form.cart,
.single-product .theme-product-info .theme-variations-form {
	display: block;
	margin: 0;
	padding: 0;
}

.single-product .theme-product-info .theme-product-quantity {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 1.5rem;
}

.single-product .theme-product-info .theme-product-quantity-label {
	margin: 0 0 0.625rem;
	padding: 0;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.5;
	text-transform: uppercase;
	color: hsl(var(--foreground) / 0.55);
}

.single-product .theme-quantity-wrapper {
	display: inline-flex;
	align-items: center;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 1px solid hsl(var(--foreground) / 0.2);
	border-radius: 9999px;
	background: transparent;
}

.single-product .theme-quantity-wrapper .theme-qty-minus,
.single-product .theme-quantity-wrapper .theme-qty-plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.625rem 1rem;
	border: 0;
	background: transparent;
	color: inherit;
	line-height: 1;
	cursor: pointer;
}

.single-product .theme-quantity-wrapper input.theme-qty-input,
.single-product .theme-quantity-wrapper input.qty {
	box-sizing: border-box;
	width: 4.75rem;
	min-width: 4.75rem;
	height: auto;
	margin: 0;
	padding: 0.625rem 0.25rem;
	border: 0;
	background: transparent;
	color: hsl(var(--foreground));
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	box-shadow: none;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.single-product .theme-product-info .posted_in,
.single-product .theme-product-info .product_meta,
.single-product .theme-product-info .woocommerce-variation-price,
.single-product .theme-product-info .woocommerce-variation-availability,
.single-product .theme-product-info .woocommerce-variation-description {
	display: none;
}

.theme-attr-select-hidden {
	display: none !important;
}

.single-product .variations.shop_attributes tbody,
.single-product .variations tbody tr,
.single-product .variations tbody td {
	display: block;
	width: 100%;
}

.single-product .variations tbody td.label {
	padding-bottom: 0.25rem;
}

.single-product .variations tbody td.value {
	padding-top: 0;
}

.single-product .variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
}

.single-product .variations td.label label {
	display: block;
	font-size: 15px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: hsl(var(--foreground) / 0.55);
	margin-bottom: 0.5rem;
}

.single-product .single_variation_wrap .woocommerce-variation-price {
	font-size: 20px;
	font-weight: 500;
	color: hsl(var(--foreground) / 0.9);
	margin-bottom: 1rem;
}

/* ---------- Cart / account width parity ---------- */
body.woocommerce-cart .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-checkout .entry-content {
	max-width: 100%;
}

/* ---------- Checkout block ---------- */
body.woocommerce-checkout {
	overflow-x: hidden;
}

body.woocommerce-checkout .wc-block-checkout {
	display: block;
	max-width: none;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	min-width: 0;
	width: 100%;
	max-width: none;
}

@media (min-width: 768px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
		align-items: start;
	}

	body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-notice-banner {
		grid-column: 1 / -1;
	}
}

body.woocommerce-checkout .wc-block-components-notice-banner {
	grid-column: 1 / -1;
	border-radius: calc(var(--radius) - 8px);
	border-color: hsl(var(--border));
	background-color: hsl(var(--card));
	color: hsl(var(--foreground));
	font-size: 15px;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	width: 100% !important;
	max-width: none !important;
	border: 1px solid hsl(var(--border)) !important;
	border-radius: calc(var(--radius) - 8px) !important;
	background-color: hsl(var(--background)) !important;
	color: hsl(var(--foreground)) !important;
	font-family: 'Nunito Sans', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus {
	border-color: hsl(var(--primary)) !important;
	outline: none !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-textarea textarea::placeholder {
	color: hsl(var(--foreground) / 0.55) !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-sidebar {
	background-color: hsl(var(--linen));
	border: 1px solid hsl(var(--foreground) / 0.1);
	border-radius: 1rem;
	padding: 1.75rem;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background-color: hsl(var(--primary)) !important;
	color: hsl(var(--primary-foreground)) !important;
	border: 1px solid hsl(var(--primary)) !important;
	border-radius: 9999px !important;
	font-family: 'Nunito Sans', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	height: 3rem !important;
	text-transform: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	background-color: hsl(var(--primary)) !important;
	opacity: 0.92;
}

body.woocommerce-checkout .wc-block-checkout h2,
body.woocommerce-checkout .wc-block-components-title {
	font-family: 'Fraunces', Georgia, serif !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	color: hsl(var(--foreground)) !important;
}

body.woocommerce-checkout .wc-block-cart-items__row,
body.woocommerce-checkout .wc-block-components-order-summary-item {
	border-color: hsl(var(--foreground) / 0.1);
}

body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
	font-size: 15px;
}

/* ---------- Thank you page ---------- */
body.theme-thankyou-page {
	overflow-x: hidden;
}

body.theme-thankyou-page .woocommerce-order {
	font-size: 16px;
	color: hsl(var(--foreground));
}

body.theme-thankyou-page .woocommerce-order h2,
body.theme-thankyou-page .woocommerce-order-details__title,
body.theme-thankyou-page .woocommerce-column__title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-size: 1.5rem;
	color: hsl(var(--foreground));
	padding: 0 0 1rem 0;
}

body.theme-thankyou-page .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

body.theme-thankyou-page .woocommerce-order-overview li {
	border: 0;
	padding: 0;
	font-size: 15px;
	text-transform: none;
}

body.theme-thankyou-page .woocommerce-order-overview li strong {
	display: block;
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.15rem;
	margin-top: 0.25rem;
}

body.theme-thankyou-page .woocommerce-order-details table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin-bottom: 2rem;
}

body.theme-thankyou-page .woocommerce-order-details th,
body.theme-thankyou-page .woocommerce-order-details td {
	padding: 0.75rem 0;
	border-bottom: 1px solid hsl(var(--border));
	font-size: 15px;
}

body.theme-thankyou-page .woocommerce-order-details tfoot th {
	text-align: left;
}

body.theme-thankyou-page .woocommerce-order-details tfoot td {
	text-align: right;
}

body.theme-thankyou-page .woocommerce-customer-details {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

body.theme-thankyou-page .woocommerce-customer-details address {
	max-width: 480px;
	overflow-wrap: break-word;
	font-style: normal;
	font-size: 15px;
	line-height: 1.7;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	#theme-cart-drawer,
	#theme-cart-overlay,
	.theme-faq-panel,
	.theme-service-card {
		transition: none !important;
	}
}
