/* Pure Stitch — brand theme (cream, black, warm gold) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Manrope:wght@400;500;600;700&display=swap');

:root {
	--ps-cream: #F9F5F2;
	--ps-cream-deep: #EFE7E0;
	--ps-cream-alt: #E6DCD2;
	--ps-ink: #000000;
	--ps-ink-soft: rgba(0, 0, 0, 0.62);
	--ps-ink-muted: rgba(0, 0, 0, 0.42);
	--ps-gold: #B89D81;
	--ps-gold-deep: #9A8268;
	--ps-gold-soft: #C9B39A;
	--ps-border: rgba(0, 0, 0, 0.12);
	--ps-surface: rgba(0, 0, 0, 0.04);
}

body {
	background: var(--ps-cream) !important;
}

body,
input,
select,
textarea {
	color: var(--ps-ink-soft) !important;
	font-family: 'Manrope', 'Helvetica Neue', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	color: var(--ps-ink) !important;
}

h1 {
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

a:hover {
	color: var(--ps-gold-deep) !important;
}

strong, b {
	color: var(--ps-ink) !important;
}

h1.major:after {
	background-image: linear-gradient(to right, var(--ps-gold), var(--ps-ink)) !important;
}

/* Surfaces */
.wrapper.alt {
	background-color: var(--ps-cream-deep) !important;
}

.wrapper.style1 {
	background-color: var(--ps-cream) !important;
}

.wrapper.style1-alt {
	background-color: var(--ps-cream-deep) !important;
}

.wrapper.style2 {
	background-color: var(--ps-cream-alt) !important;
}

.wrapper.style2-alt {
	background-color: var(--ps-cream-deep) !important;
}

.wrapper.style3 {
	background-color: #F3EBE4 !important;
}

.wrapper.style3-alt {
	background-color: var(--ps-cream-deep) !important;
}

/* Light sticky top bar (replaces left sidebar) */
#sidebar,
#header.topbar-header {
	display: block !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	height: auto !important;
	min-height: 6.25rem;
	padding: 0.45rem 1.75rem !important;
	background: rgba(249, 245, 242, 0.94) !important;
	border-bottom: 1px solid var(--ps-border) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
	overflow: visible !important;
	text-align: center !important;
	z-index: 10000 !important;
	line-height: normal !important;
}

#sidebar > .inner {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	opacity: 1 !important;
	transform: none !important;
	width: 100% !important;
	padding: 0 !important;
}

#header.topbar-header > nav {
	flex: none !important;
	text-align: inherit !important;
	border-top: 0 !important;
}

#sidebar .topbar-nav,
#header.topbar-header .topbar-nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	width: 100%;
	max-width: 75em;
	margin: 0 auto;
}

#sidebar .topbar-nav .nav-left,
#sidebar .topbar-nav .nav-right,
#header.topbar-header .topbar-nav .nav-left,
#header.topbar-header .topbar-nav .nav-right {
	display: flex;
	align-items: center;
	gap: 0.15rem 1.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

#sidebar .topbar-nav .nav-left,
#header.topbar-header .topbar-nav .nav-left {
	justify-content: flex-end;
}

#sidebar .topbar-nav .nav-right,
#header.topbar-header .topbar-nav .nav-right {
	justify-content: flex-start;
}

#sidebar .topbar-nav .auth-nav,
#header.topbar-header .topbar-nav .auth-nav {
	list-style: none;
	display: contents !important;
}

.nav-cart-badge {
	display: none;
	margin-left: 0.35em;
	padding: 0.1em 0.45em;
	font-size: 0.75em;
	line-height: 1.4;
	border-radius: 0.25em;
	background: var(--ps-gold);
	color: #000;
	vertical-align: middle;
}

#sidebar .topbar-nav > ul > li,
#header.topbar-header .topbar-nav > ul > li {
	margin: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

#sidebar .topbar-logo,
#header.topbar-header .topbar-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	line-height: 0;
	padding: 0.15rem 0.5rem;
}

#sidebar .topbar-logo img,
#header.topbar-header .topbar-logo img {
	display: block;
	height: 5.75rem;
	width: auto;
	max-width: 260px;
	object-fit: contain;
}

#sidebar nav a,
#sidebar .topbar-nav a:not(.topbar-logo),
#header.topbar-header .topbar-nav a:not(.topbar-logo),
#header.topbar-header > nav > ul > li a {
	border: 0 !important;
	color: var(--ps-ink) !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.2 !important;
	height: auto !important;
	padding: 0.55rem 0 !important;
	position: relative;
	text-decoration: none;
	background: none !important;
}

#sidebar nav a:before,
#sidebar nav a:after {
	display: none !important;
}

#sidebar nav a:hover,
#sidebar nav a.active,
#header.topbar-header .topbar-nav a:hover,
#header.topbar-header .topbar-nav a.active {
	color: var(--ps-gold-deep) !important;
}

body.is-preload #sidebar > .inner,
body.is-preload #sidebar nav ul li {
	opacity: 1 !important;
	transform: none !important;
}

/* Remove left sidebar page offset; topbar clearance is for content only */
#sidebar + #wrapper,
#header.topbar-header + #wrapper {
	margin-left: 0 !important;
	padding-top: 7rem !important;
}

#sidebar + #wrapper + #footer {
	margin-left: 0 !important;
	padding-top: 0 !important;
}

#header.topbar-header + #wrapper > .wrapper > .inner {
	margin: 0 auto;
}

#footer {
	background: var(--ps-ink) !important;
	padding: 0 !important;
}

#footer > .inner {
	padding: 2.25rem 1.5rem 1.75rem !important;
	max-width: 75em;
	margin: 0 auto;
	text-align: center;
}

#footer .footer-contact {
	margin: 0 0 1.25rem;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7);
}

#footer .footer-contact .footer-company {
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin: 0 0 0.4rem;
	color: #fff !important;
}

#footer .footer-contact p {
	margin: 0.15rem 0;
}

#footer .footer-contact a {
	color: rgba(255, 255, 255, 0.7);
	border-bottom: 1px solid transparent;
	text-decoration: none;
}

#footer .footer-contact a:hover {
	color: var(--ps-gold);
	border-bottom-color: var(--ps-gold);
}

#footer .menu {
	justify-content: center;
	flex-wrap: wrap;
}

#footer .menu,
#footer .menu a,
#footer .menu li {
	color: rgba(255, 255, 255, 0.55) !important;
}

#footer .menu a:hover {
	color: var(--ps-gold) !important;
}

/* Buttons */
.button {
	border-color: var(--ps-ink) !important;
	color: var(--ps-ink) !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.8em !important;
	font-weight: 600 !important;
}

.button:hover {
	background: var(--ps-ink) !important;
	border-color: var(--ps-ink) !important;
	color: var(--ps-cream) !important;
}

.button.primary {
	background: var(--ps-ink) !important;
	border-color: var(--ps-ink) !important;
	color: var(--ps-cream) !important;
}

.button.primary:hover {
	background: var(--ps-gold) !important;
	border-color: var(--ps-gold) !important;
	color: var(--ps-ink) !important;
}

/* Forms & boxes */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
	background: #fff !important;
	border-color: var(--ps-border) !important;
	color: var(--ps-ink) !important;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--ps-gold) !important;
	box-shadow: 0 0 0 1px var(--ps-gold) !important;
}

.box {
	background: #fff !important;
	border-color: var(--ps-border) !important;
}

label {
	color: var(--ps-ink-muted) !important;
}

/* Spotlights — full-width, no empty right gap */
.spotlights > section {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--ps-cream) !important;
}

.spotlights > section > .image {
	width: 42% !important;
	flex: 0 0 42% !important;
	max-width: none !important;
	min-height: 22.5em;
}

.spotlights > section > .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.spotlights > section > .image:before {
	background: rgba(249, 245, 242, 0.55) !important;
}

.spotlights > section > .content {
	width: auto !important;
	flex: 1 1 auto !important;
	max-width: none !important;
	background: var(--ps-cream) !important;
	padding-left: 3.5em !important;
	padding-right: 3.5em !important;
}

.spotlights > section:nth-child(2) {
	background: var(--ps-cream-deep) !important;
}

.spotlights > section:nth-child(2) > .content {
	background: var(--ps-cream-deep) !important;
}

.spotlights > section:nth-child(3) {
	background: var(--ps-cream-alt) !important;
}

.spotlights > section:nth-child(3) > .content {
	background: var(--ps-cream-alt) !important;
}

@media screen and (max-width: 980px) {
	.spotlights > section > .image {
		width: 100% !important;
		flex: none !important;
		min-height: 40vh;
	}

	.spotlights > section > .content {
		width: 100% !important;
		padding-left: 2em !important;
		padding-right: 2em !important;
	}
}

/* Features / icons */
.features section .icon {
	color: var(--ps-gold) !important;
	border-color: var(--ps-gold) !important;
}

.features section h3 {
	color: var(--ps-ink) !important;
}

/* Contact list */
.contact .icon,
ul.icons a {
	color: var(--ps-ink-soft) !important;
	border-color: var(--ps-border) !important;
}

ul.icons a:hover {
	color: var(--ps-gold-deep) !important;
	border-color: var(--ps-gold) !important;
}

/* Tables */
table tbody tr {
	border-color: var(--ps-border) !important;
}

table thead {
	border-bottom-color: var(--ps-border) !important;
}

table th {
	color: var(--ps-ink) !important;
}

/* Intro / brand hero */
#intro.wrapper.style1.fullscreen {
	background:
		linear-gradient(180deg, rgba(249, 245, 242, 0.88) 0%, rgba(249, 245, 242, 0.72) 45%, rgba(249, 245, 242, 0.92) 100%),
		url('../../images/pic04.jpg') center / cover no-repeat !important;
	position: relative;
}

#intro .inner {
	text-align: center;
	max-width: 42em;
	margin: 0 auto;
}

#intro .tagline {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--ps-gold-deep);
	margin-bottom: 0.85em;
}

#intro h1 {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	margin-bottom: 0.4em;
}

#intro p {
	max-width: 34em;
	margin-left: auto;
	margin-right: auto;
}

#intro .actions {
	justify-content: center;
}

/* Subtle motion */
@media (prefers-reduced-motion: no-preference) {
	#intro .tagline,
	#intro h1 {
		animation: psFadeUp 0.9s ease both;
	}

	#intro p,
	#intro .actions {
		animation: psFadeUp 0.9s ease 0.15s both;
	}

	.spotlights > section > .content,
	.features > section {
		transition: transform 0.35s ease, box-shadow 0.35s ease;
	}

	.features > section:hover {
		transform: translateY(-4px);
	}
}

@keyframes psFadeUp {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Product cards on cream theme */
.product-card h3,
.product-price,
.cart-summary .cart-total-label,
.checkout-split h2,
.checkout-order-id span,
.checkout-total {
	color: var(--ps-ink) !important;
}

.product-unit,
.cart-unit,
.checkout-note,
.checkout-order-id {
	color: var(--ps-ink-muted) !important;
}

.product-qty,
.cart-qty-input {
	background: #fff !important;
	border-color: var(--ps-border) !important;
	color: var(--ps-ink) !important;
}

.product-qty-row label {
	color: var(--ps-ink-muted) !important;
}

.nav-cart-badge,
#cart-toast {
	background: var(--ps-gold) !important;
	color: var(--ps-ink) !important;
}

.checkout-payment-status {
	border-color: rgba(184, 157, 129, 0.55) !important;
	background: rgba(184, 157, 129, 0.18) !important;
	color: var(--ps-ink-soft) !important;
}

.cart-summary {
	border-top-color: var(--ps-border) !important;
}

/* Keep top bar visible on all breakpoints (template hid #sidebar on small screens) */
@media screen and (max-width: 1280px) {
	#sidebar {
		display: block !important;
		height: auto !important;
		line-height: normal !important;
		overflow: visible !important;
		padding: 0.65rem 1.5rem !important;
		text-align: center !important;
		width: 100% !important;
		background: rgba(249, 245, 242, 0.94) !important;
	}

	#sidebar > .inner {
		display: block !important;
		height: auto !important;
		line-height: normal !important;
	}

	#sidebar nav ul li {
		height: auto !important;
		line-height: normal !important;
		margin: 0 !important;
	}

	#sidebar nav a {
		height: auto !important;
		line-height: normal !important;
	}

	#sidebar nav a:after {
		display: none !important;
	}
}

@media screen and (max-width: 980px) {
	#sidebar,
	#header.topbar-header {
		display: block !important;
		padding: 0.55rem 1rem !important;
		min-height: 4.25rem;
	}

	#sidebar .topbar-nav,
	#header.topbar-header .topbar-nav {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	#sidebar .topbar-logo,
	#header.topbar-header .topbar-logo {
		order: -1;
		justify-self: center;
	}

	#sidebar .topbar-logo img,
	#header.topbar-header .topbar-logo img {
		height: 3.75rem;
	}

	#sidebar .topbar-nav .nav-left,
	#sidebar .topbar-nav .nav-right,
	#header.topbar-header .topbar-nav .nav-left,
	#header.topbar-header .topbar-nav .nav-right {
		justify-content: center;
		gap: 0.75rem 1rem;
	}

	#sidebar + #wrapper,
	#header.topbar-header + #wrapper {
		padding-top: 7.5rem !important;
	}

	#sidebar + #wrapper + #footer {
		padding-top: 0 !important;
	}
}

#partners.wrapper {
	text-align: center;
}

.partner-cta {
	max-width: 42em;
	margin: 0 auto;
}

.partner-cta .tagline {
	display: block;
	margin: 0 0 0.6em;
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ps-gold-deep);
}

.partner-cta h2 {
	margin: 0 0 0.6em;
}

.partner-cta p {
	margin: 0 auto 1.5em;
}

.partner-cta .actions {
	justify-content: center;
}

@media screen and (max-width: 736px) {
	#sidebar,
	#header.topbar-header {
		display: block !important;
	}
}

@media screen and (max-width: 480px) {
	#sidebar nav a,
	#sidebar .topbar-nav a:not(.topbar-logo),
	#header.topbar-header .topbar-nav a:not(.topbar-logo) {
		font-size: 0.62rem !important;
		letter-spacing: 0.1em;
	}
}
