/**
 * DedeBuy editorial minimal theme — white logo, black type, warm clay accent
 */

:root {
	--wf-main-rgb: 166, 124, 82;
	--wf-main-color: #a67c52;
	--wf-secondary-color: #171717;
	--dedebuy-primary-dark: #8b6340;
	--dedebuy-secondary: #404040;
	--dedebuy-secondary-rgb: 64, 64, 64;
	--dedebuy-lavender: #eceae6;
	--dedebuy-peach: #f5f0ea;
	--dedebuy-cream: #fafaf8;
	--dedebuy-cream-deep: #f3f2ef;
	--dedebuy-text-muted: #6b6b6b;
	--dedebuy-surface: #ffffff;
	--dedebuy-radius: 12px;
	--dedebuy-radius-lg: 16px;
	--dedebuy-radius-pill: 999px;
	--dedebuy-shadow: 0 2px 16px rgba(23, 23, 23, 0.06);
	--dedebuy-shadow-soft: 0 8px 28px rgba(23, 23, 23, 0.08);
	--dedebuy-font-heading: "Rubik", system-ui, sans-serif;
	--dedebuy-font-body: "Nunito Sans", system-ui, sans-serif;
	--dedebuy-font-display: "Rubik", system-ui, sans-serif;
	--dedebuy-transition: 200ms ease-out;
	--dedebuy-accent: #d4af37;
	--dedebuy-teal: #171717;
	--dedebuy-border: rgba(23, 23, 23, 0.08);
}

body.dedebuy-theme {
	font-family: var(--dedebuy-font-body);
	color: var(--wf-secondary-color);
	background: var(--dedebuy-cream);
}

body.dedebuy-theme a {
	color: var(--wf-main-color);
	transition: color var(--dedebuy-transition);
}

body.dedebuy-theme a:hover {
	color: var(--dedebuy-primary-dark);
}

/* ---- Icons ---- */
.dedebuy-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--dedebuy-surface);
	color: var(--wf-secondary-color);
	border: 1px solid var(--dedebuy-border);
	box-shadow: var(--dedebuy-shadow);
}

.dedebuy-icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

/* ---- Header ---- */
.dedebuy-brand__name {
	font-family: var(--dedebuy-font-heading);
	font-weight: 600;
	color: var(--wf-secondary-color);
	letter-spacing: -0.02em;
}

.dedebuy-nav__list a {
	font-weight: 600;
	color: var(--wf-secondary-color);
	transition: color var(--dedebuy-transition);
	cursor: pointer;
}

.dedebuy-nav__list > li > a:hover {
	color: var(--wf-main-color);
}

.dedebuy-header-cart,
.dedebuy-header-account {
	cursor: pointer;
	transition: color var(--dedebuy-transition);
	color: var(--wf-secondary-color);
}

.dedebuy-header-cart:hover,
.dedebuy-header-account:hover {
	color: var(--wf-main-color);
}

.dedebuy-header-cart__count {
	background: var(--wf-secondary-color);
	color: #fff;
}

/* ---- Buttons ---- */
.dedebuy-btn {
	font-family: var(--dedebuy-font-body);
	font-weight: 700;
	border-radius: var(--dedebuy-radius-pill);
	cursor: pointer;
	transition: transform var(--dedebuy-transition), box-shadow var(--dedebuy-transition), background var(--dedebuy-transition);
}

.dedebuy-btn--primary {
	background: var(--wf-secondary-color);
	box-shadow: 0 4px 14px rgba(23, 23, 23, 0.18);
	color: #fff;
}

.dedebuy-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--dedebuy-shadow-soft);
	color: #fff;
	background: #000;
}

.dedebuy-btn--light {
	background: #fff;
	color: var(--wf-secondary-color);
	border: 1px solid var(--dedebuy-border);
}

.dedebuy-btn--light:hover {
	color: var(--wf-main-color);
	box-shadow: var(--dedebuy-shadow);
}

/* ---- Hero ---- */
.dedebuy-hero {
	border-radius: 0;
	margin-bottom: 0;
}

.dedebuy-hero__overlay {
	background: linear-gradient(105deg, rgba(23, 23, 23, 0.55) 0%, rgba(23, 23, 23, 0.2) 100%);
}

.dedebuy-hero__bg--placeholder {
	background: linear-gradient(135deg, var(--dedebuy-peach) 0%, var(--dedebuy-lavender) 100%);
}

.dedebuy-hero__eyebrow {
	background: rgba(255, 255, 255, 0.92);
	color: var(--wf-secondary-color);
	backdrop-filter: blur(4px);
}

.dedebuy-hero__title {
	font-family: var(--dedebuy-font-heading);
	font-weight: 600;
}

.dedebuy-hero__dot {
	cursor: pointer;
	transition: opacity var(--dedebuy-transition), background var(--dedebuy-transition);
}

/* ---- Trust bar ---- */
.dedebuy-trust {
	background: var(--dedebuy-surface);
	border-bottom: 1px solid var(--dedebuy-border);
}

.dedebuy-trust__title {
	font-family: var(--dedebuy-font-heading);
	color: var(--wf-secondary-color);
}

.dedebuy-trust__text {
	color: var(--dedebuy-text-muted);
}

/* ---- Steps ---- */
.dedebuy-steps__eyebrow {
	background: rgba(23, 23, 23, 0.06);
	color: var(--wf-secondary-color);
}

.dedebuy-steps__title {
	font-family: var(--dedebuy-font-heading);
}

.dedebuy-step-card {
	border: 1px solid var(--dedebuy-border);
	transition: box-shadow var(--dedebuy-transition), transform var(--dedebuy-transition);
	cursor: default;
}

.dedebuy-step-card:hover {
	box-shadow: var(--dedebuy-shadow-soft);
	transform: translateY(-3px);
}

.dedebuy-step-card__num {
	background: var(--wf-secondary-color);
	font-family: var(--dedebuy-font-heading);
}

/* ---- CTA ---- */
.dedebuy-cta {
	margin: 3rem 0;
	border-radius: var(--dedebuy-radius-lg);
	background: var(--wf-secondary-color);
	border: none;
}

.dedebuy-cta__overlay {
	background: rgba(0, 0, 0, 0.15);
}

.dedebuy-cta__title {
	font-family: var(--dedebuy-font-heading);
}

/* ---- Cards & content ---- */
.dedebuy-post-card,
.dedebuy-woo ul.products li.product {
	border: 1px solid var(--dedebuy-border);
	transition: box-shadow var(--dedebuy-transition), transform var(--dedebuy-transition);
	cursor: pointer;
}

.dedebuy-post-card:hover {
	box-shadow: var(--dedebuy-shadow-soft);
	transform: translateY(-2px);
}

.dedebuy-post-card__title a {
	color: var(--wf-secondary-color);
	transition: color var(--dedebuy-transition);
}

.dedebuy-post-card__title a:hover {
	color: var(--wf-main-color);
}

/* ---- Footer ---- */
.dedebuy-footer {
	background: var(--wf-secondary-color);
	color: rgba(255, 255, 255, 0.78);
	border-top: none;
}

.dedebuy-footer-widget__title {
	color: #fff;
	font-family: var(--dedebuy-font-heading);
}

.dedebuy-footer-nav__list a {
	color: rgba(255, 255, 255, 0.72);
	transition: color var(--dedebuy-transition);
	cursor: pointer;
}

.dedebuy-footer-nav__list a:hover {
	color: #fff;
}

.dedebuy-footer__tagline {
	color: rgba(255, 255, 255, 0.65);
}

.dedebuy-footer__copy a {
	color: #fff;
	font-weight: 600;
}

/* ---- WooCommerce ---- */
.dedebuy-woo ul.products li.product {
	border: 1px solid var(--dedebuy-border);
	cursor: pointer;
}

.dedebuy-woo ul.products li.product:hover {
	box-shadow: var(--dedebuy-shadow-soft);
	transform: translateY(-3px);
}

.dedebuy-woo ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--wf-secondary-color);
	font-weight: 700;
}

.woocommerce div.product .product_title {
	font-family: var(--dedebuy-font-heading);
}

.woocommerce a.button,
.woocommerce button.button {
	background: var(--wf-secondary-color) !important;
	border-radius: var(--dedebuy-radius-pill) !important;
	font-family: var(--dedebuy-font-body) !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: transform var(--dedebuy-transition), box-shadow var(--dedebuy-transition) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
	transform: translateY(-1px);
	box-shadow: var(--dedebuy-shadow-soft) !important;
	background: #000 !important;
}

.dedebuy-difficulty-badge--beginner {
	background: rgba(23, 23, 23, 0.06);
	color: var(--dedebuy-secondary);
}

.dedebuy-difficulty-badge--easy {
	background: rgba(166, 124, 82, 0.12);
	color: var(--dedebuy-primary-dark);
}

.dedebuy-difficulty-badge--intermediate {
	background: rgba(23, 23, 23, 0.1);
	color: var(--wf-secondary-color);
}

/* ---- Focus & accessibility ---- */
:focus-visible {
	outline: 2px solid var(--wf-main-color);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ---- Mobile nav: full-bleed dropdown ---- */
@media (max-width: 991px) {
	.dedebuy-nav {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		margin: 0 !important;
		border-left: none;
		border-right: none;
		box-sizing: border-box;
	}

	.dedebuy-nav__list {
		align-items: stretch !important;
		width: 100%;
		box-sizing: border-box;
	}

	.dedebuy-nav__list li {
		width: 100%;
	}

	.dedebuy-nav__list a {
		display: block;
		width: 100%;
		padding: 0.9rem 0;
		border-bottom: 1px solid var(--dedebuy-border);
		box-sizing: border-box;
	}

	.dedebuy-nav__list li:last-child a {
		border-bottom: none;
	}

	.dedebuy-hero {
		border-radius: 0;
	}
}
