/* MonkeyWurx homepage/section layout patterns. Built on tokens.css custom properties. */

.mw-section {
	max-width: var(--mw-content-max);
	margin-inline: auto;
	padding-inline: var(--mw-space-5);
}

/* Trust bar */
.mw-trust-bar {
	background-color: var(--mw-surface);
	border-bottom: 1px solid var(--mw-border-color);
}
.mw-trust-bar .wp-block-group {
	max-width: var(--mw-content-max);
	margin-inline: auto;
	padding: var(--mw-space-2) var(--mw-space-5);
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mw-space-5);
}
.mw-trust-bar p {
	margin: 0;
	font-size: var(--mw-text-small);
	color: var(--mw-text-muted);
	letter-spacing: 0.02em;
}

/* Hero */
/* .entry-content prefix matches Kadence's `.entry-content .alignfull` specificity (0,2,0),
   which otherwise zeroes out horizontal padding on full-width group blocks. */
.entry-content .mw-hero {
	background-color: var(--mw-surface);
	padding: var(--mw-space-9) var(--mw-space-5);
	text-align: center;
}
.mw-hero h1 {
	max-width: 900px;
	margin-inline: auto;
}
.mw-hero p.mw-hero-sub {
	max-width: 620px;
	margin: var(--mw-space-4) auto 0;
	font-size: var(--mw-text-h3);
	color: var(--mw-text-muted);
}
.mw-hero .wp-block-buttons {
	justify-content: center;
	margin-top: var(--mw-space-6);
}
.mw-hero-placeholder {
	width: 100%;
	max-width: 900px;
	aspect-ratio: 16 / 7;
	margin: 0 auto var(--mw-space-6);
	border-radius: var(--mw-radius-card);
	border: 1px dashed var(--mw-border-color);
	background-color: var(--mw-card);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--mw-space-3);
	color: var(--mw-text-muted);
	font-size: var(--mw-text-small);
}
.mw-hero-placeholder::before,
.mw-tile-placeholder::before {
	content: "";
	display: block;
	width: 64px;
	height: 64px;
	background-image: url('../img/placeholder-photo.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.6;
}

/* Promise strip */
.mw-promise-strip {
	padding: var(--mw-space-7) var(--mw-space-5);
	gap: var(--mw-space-5) !important;
}
.mw-promise-item {
	text-align: center;
	flex: 1;
}
.mw-promise-item .mw-icon-placeholder {
	width: 48px;
	height: 48px;
	margin: 0 auto var(--mw-space-3);
	border-radius: 50%;
	background-color: var(--mw-accent);
	color: var(--mw-on-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mw-font-heading);
	font-size: 20px;
}
.mw-promise-item h3 {
	font-size: var(--mw-text-body);
	margin: 0;
}

/* Featured collections grid */
.entry-content .mw-collections-grid {
	padding: var(--mw-space-7) var(--mw-space-5);
}
.mw-collections-grid h2 {
	text-align: center;
	margin-bottom: var(--mw-space-6);
}
.mw-collection-tile {
	background-color: var(--mw-card);
	border: 1px solid var(--mw-border-color);
	border-radius: var(--mw-radius-card);
	overflow: hidden;
	text-align: center;
	transition: transform var(--mw-transition);
}
.mw-collection-tile:hover {
	transform: translateY(-4px);
}
.mw-collection-tile a {
	display: block;
	padding: var(--mw-space-6) var(--mw-space-3);
	text-decoration: none;
	color: var(--mw-text);
}
.mw-collection-tile .mw-tile-placeholder {
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--mw-radius-card);
	background-color: var(--mw-surface);
	margin-bottom: var(--mw-space-3);
	display: flex;
	align-items: center;
	justify-content: center;
}
.mw-collection-tile h3 {
	font-family: var(--mw-font-body);
	font-weight: 600;
	font-size: var(--mw-text-body);
	margin: 0;
}

/* How it works */
.entry-content .mw-how-it-works {
	background-color: var(--mw-surface);
	padding: var(--mw-space-7) var(--mw-space-5);
}
.mw-how-it-works h2 {
	text-align: center;
	margin-bottom: var(--mw-space-6);
}
.mw-step {
	text-align: center;
	flex: 1;
}
.mw-step .mw-step-number {
	width: 40px;
	height: 40px;
	margin: 0 auto var(--mw-space-3);
	border-radius: 50%;
	border: 2px solid var(--mw-accent);
	color: var(--mw-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mw-font-heading);
	font-size: var(--mw-text-h3);
}
.mw-step h3 {
	font-size: var(--mw-text-body);
	margin: 0 0 var(--mw-space-1);
}
.mw-step p {
	font-size: var(--mw-text-small);
	color: var(--mw-text-muted);
	margin: 0;
}

/* Generic banner (Design Studio / For Business / Workshop Story) */
.entry-content .mw-banner {
	padding: var(--mw-space-7) var(--mw-space-5);
	text-align: center;
}
.mw-banner h2 {
	margin-bottom: var(--mw-space-3);
}
.mw-banner p {
	max-width: 620px;
	margin: 0 auto var(--mw-space-5);
	color: var(--mw-text-muted);
}
.mw-banner--studio { background-color: var(--mw-card); }
.mw-banner--business { background-color: var(--mw-surface); }
.mw-banner--story { background-color: var(--mw-bg); }

/* Simple content pages (Collections index, For Business, Design Studio, Our Story) */
.entry-content .mw-page-hero {
	background-color: var(--mw-surface);
	padding: var(--mw-space-8) var(--mw-space-5);
	text-align: center;
}
.mw-page-hero p {
	max-width: 620px;
	margin: var(--mw-space-3) auto 0;
	color: var(--mw-text-muted);
}
.entry-content .mw-page-body {
	padding: var(--mw-space-7) var(--mw-space-5);
}
.mw-page-body h2 {
	max-width: var(--mw-content-max);
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-bottom: var(--mw-space-6);
}
/* Plain prose blocks (paragraphs, lists) inside .mw-page-body don't get
   Gutenberg's automatic content-width constraint under Kadence — Kadence
   doesn't populate --wp--style--global--content-size, so it resolves to
   nothing. Constrain explicitly instead of relying on it. */
.mw-page-body > .wp-block-group__inner-container > p,
.mw-page-body > .wp-block-group__inner-container > ul,
.mw-page-body > .wp-block-group__inner-container > ol,
.mw-page-body p,
.mw-page-body ul,
.mw-page-body ol {
	max-width: var(--mw-content-max);
	margin-left: auto;
	margin-right: auto;
}
.mw-segment-list {
	gap: var(--mw-space-4) !important;
	flex-wrap: wrap;
}
.mw-segment-list .wp-block-column {
	background-color: var(--mw-card);
	border: 1px solid var(--mw-border-color);
	border-radius: var(--mw-radius-card);
	padding: var(--mw-space-4);
	text-align: center;
	font-weight: 600;
}
.mw-placeholder-note {
	max-width: var(--mw-content-max);
	margin-left: auto;
	margin-right: auto;
	border: 1px dashed var(--mw-border-color);
	border-radius: var(--mw-radius-card);
	background-color: var(--mw-card);
	padding: var(--mw-space-5);
	color: var(--mw-text-muted);
	font-size: var(--mw-text-small);
	text-align: center;
}

/* Product Detail Page enhancements */
.mw-pdp-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mw-space-2);
	margin: var(--mw-space-3) 0;
}
.mw-badge {
	display: inline-block;
	background-color: var(--mw-surface);
	border: 1px solid var(--mw-border-color);
	border-radius: 999px;
	padding: var(--mw-space-1) var(--mw-space-3);
	font-size: var(--mw-text-small);
	color: var(--mw-text-muted);
}
.mw-pdp-turnaround {
	font-size: var(--mw-text-small);
	color: var(--mw-text-muted);
	margin: 0 0 var(--mw-space-2);
}
.mw-pdp-proof-note {
	font-size: var(--mw-text-small);
	color: var(--mw-accent-2);
	background-color: var(--mw-surface);
	border-radius: var(--mw-radius-card);
	padding: var(--mw-space-3);
	margin: 0 0 var(--mw-space-3);
}
.mw-pdp-accordion {
	max-width: var(--mw-content-max);
	margin-inline: auto;
	border-top: 1px solid var(--mw-border-color);
	padding: var(--mw-space-3) var(--mw-space-5);
	font-size: var(--mw-text-small);
	color: var(--mw-text-muted);
}
.mw-pdp-accordion summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--mw-text);
	font-family: var(--mw-font-body);
}
.mw-pdp-accordion p {
	margin: var(--mw-space-2) 0 0;
}
.mw-pdp-accordion a {
	color: var(--mw-accent-2);
}

/* Footer widget columns (top footer row, dark background) */
.site-top-footer-wrap .widget_custom_html ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-top-footer-wrap .widget_custom_html li {
	margin-bottom: var(--mw-space-2);
	font-size: var(--mw-text-small);
}
.site-top-footer-wrap .widget_custom_html .textwidget {
	font-size: var(--mw-text-small);
	line-height: 1.6;
}
.site-top-footer-wrap .widget-title {
	font-family: var(--mw-font-body);
	font-size: var(--mw-text-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: var(--mw-space-3);
}
.site-top-footer-wrap .mw-footer-newsletter {
	margin-top: var(--mw-space-3);
	display: flex;
	flex-wrap: wrap;
	gap: var(--mw-space-2);
}
.site-top-footer-wrap .mw-footer-newsletter input[type="email"] {
	flex: 1 1 140px;
	min-width: 0;
	padding: var(--mw-space-2) var(--mw-space-3);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--mw-radius-button);
	background: rgba(255, 255, 255, 0.08);
	color: inherit;
	font-size: var(--mw-text-small);
}
.site-top-footer-wrap .mw-footer-newsletter input[type="email"]::placeholder {
	color: inherit;
	opacity: 0.6;
}
.site-top-footer-wrap .widget_custom_html button {
	padding: var(--mw-space-2) var(--mw-space-4);
	border: 1px solid currentColor;
	border-radius: var(--mw-radius-button);
	background: transparent;
	color: inherit;
	font-size: var(--mw-text-small);
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--mw-transition), color var(--mw-transition);
}
.site-top-footer-wrap .widget_custom_html button:hover {
	background-color: var(--mw-card);
	color: var(--mw-text);
}

/* Footer utility links */
.mw-footer-links {
	margin-top: var(--mw-space-2);
	font-size: var(--mw-text-small);
}
.mw-footer-links a {
	color: var(--mw-text-muted);
}
.mw-footer-links a:hover {
	color: var(--mw-accent-2);
}

/* 404 */
.mw-404 {
	text-align: center;
	padding: var(--mw-space-9) var(--mw-space-5);
}
.mw-404 h1 {
	font-size: var(--mw-text-h2);
	margin-bottom: var(--mw-space-3);
}
.mw-404 p {
	max-width: 500px;
	margin: 0 auto var(--mw-space-6);
	color: var(--mw-text-muted);
}
.mw-404-mascot {
	width: 96px;
	height: 96px;
	margin: 0 auto var(--mw-space-6);
	border-radius: 50%;
	background-color: var(--mw-card);
	border: 1px dashed var(--mw-border-color);
	display: flex;
	align-items: center;
	justify-content: center;
}
.mw-404-mascot::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	background-image: url('../img/placeholder-photo.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.6;
}

@media (max-width: 782px) {
	.mw-promise-strip,
	.mw-how-it-works .wp-block-columns {
		flex-direction: column;
	}
}
