/*
Theme Name: D4U Marketplace
Description: Visual de marketplace (D4U Club) sobre Twenty Twenty-Five.
Author: D4U
Template: twentytwentyfive
Version: 0.1.0
Text Domain: d4u-marketplace
*/

:root {
	--d4u-radius: 16px;
	--d4u-radius-sm: 12px;
	--d4u-shadow-soft: var(--wp--preset--shadow--soft, 0 1px 2px rgba(17, 18, 20, 0.08), 0 6px 18px rgba(17, 18, 20, 0.10));
	--d4u-shadow-lifted: var(--wp--preset--shadow--lifted, 0 10px 25px rgba(17, 18, 20, 0.14), 0 2px 6px rgba(17, 18, 20, 0.10));
}

body {
	background: var(--wp--preset--color--off-white, #faf8f2);
}

a {
	text-decoration: none;
}

/* Header (marketplace) */
.d4u-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(17, 18, 20, 0.08);
}

.d4u-header__inner {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	max-width: 1320px;
	margin: 0 auto;
	padding: 12px 20px;
}

.d4u-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1;
	background: var(--wp--preset--color--charcoal, #111214);
	padding: 8px 12px;
	border-radius: 999px;
	box-shadow: var(--d4u-shadow-soft);
}

.d4u-logo img {
	display: block;
	height: 30px;
	width: auto;
}

.d4u-header .wp-block-search {
	flex: 1 1 520px;
}

.d4u-header .wp-block-search__inside-wrapper {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: 999px;
	padding: 6px;
	box-shadow: var(--d4u-shadow-soft);
	gap: 8px;
}

.d4u-header .wp-block-search__input {
	border: 0;
	background: transparent;
	padding: 10px 12px;
	outline: none;
}

.d4u-header .wp-block-search__button {
	margin: 0;
	border: 0;
	border-radius: 999px;
	padding: 10px 12px;
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff;
}

.d4u-header__actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.d4u-header__actions .wc-block-mini-cart,
.d4u-header__actions .wc-block-customer-account {
	margin: 0;
}

.d4u-header__actions .wc-block-mini-cart__button,
.d4u-header__actions .wc-block-customer-account__button {
	border-radius: 999px;
	padding: 8px 10px;
	border: 1px solid rgba(17, 18, 20, 0.10);
	background: #ffffff;
	box-shadow: var(--d4u-shadow-soft);
}

@media (max-width: 782px) {
	.d4u-header__inner {
		flex-wrap: wrap;
	}

	.d4u-header .wp-block-search {
		order: 3;
		flex: 1 1 100%;
	}
}

/* Hero search (homepage content) */
.d4u-hero-search {
	margin-top: 18px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.20);
	border-radius: 999px;
	padding: 10px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	align-items: center;
	max-width: 760px;
}

.d4u-hero-search input[type="search"] {
	width: 100%;
	border: 0;
	background: transparent;
	color: #ffffff;
	padding: 12px 14px;
	outline: none;
}

.d4u-hero-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.78);
}

.d4u-hero-search button {
	border: 0;
	border-radius: 999px;
	padding: 12px 16px;
	font-weight: 700;
	background: var(--wp--preset--color--d4u-gold, #c9a24d);
	color: var(--wp--preset--color--charcoal, #111214);
	white-space: nowrap;
}

.d4u-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.d4u-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #ffffff;
	font-weight: 650;
	font-size: 0.95rem;
}

.d4u-chip:hover {
	background: rgba(255, 255, 255, 0.16);
}

/* Feature cards */
.d4u-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.d4u-feature {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	padding: 16px;
	box-shadow: var(--d4u-shadow-soft);
}

.d4u-feature__title {
	font-weight: 850;
	letter-spacing: -0.01em;
	margin-bottom: 6px;
	color: var(--wp--preset--color--charcoal, #111214);
}

.d4u-feature p {
	margin: 0;
	color: var(--wp--preset--color--muted, #6b7280);
}

@media (max-width: 782px) {
	.d4u-features {
		grid-template-columns: 1fr;
	}
}

/* WooCommerce grid/cards */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 22px 0 0 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	padding: 16px;
	box-shadow: var(--d4u-shadow-soft);
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: var(--d4u-shadow-lifted);
	border-color: rgba(17, 18, 20, 0.18);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: inherit;
}

.woocommerce ul.products li.product img {
	border-radius: var(--d4u-radius-sm);
	background: var(--wp--preset--color--off-white, #faf8f2);
	padding: 14px;
	width: 100%;
	height: 148px;
	object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	margin: 0;
	font-size: 1.06rem;
	line-height: 1.25;
	font-weight: 750;
	color: var(--wp--preset--color--charcoal, #111214);
}

.woocommerce ul.products li.product .price {
	margin: 0;
	color: var(--wp--preset--color--muted, #6b7280);
	font-weight: 650;
}

.woocommerce ul.products li.product .button,
.woocommerce .woocommerce-message .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 999px;
	font-weight: 750;
}

.woocommerce ul.products li.product .button {
	width: 100%;
	text-align: center;
	padding: 12px 14px;
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff;
	border: 0;
}

.woocommerce ul.products li.product .button:hover {
	background: #000000;
	color: #ffffff;
}

@media (max-width: 1100px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

/* WooCommerce Blocks (Product Collection / Grid blocks) */
.wc-block-product-template__responsive,
.wc-block-grid__products {
	list-style: none;
	padding: 0;
	margin: 22px 0 0 0;
	display: grid;
	gap: 18px;
}

.wc-block-product-template__responsive.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wc-block-product-template__responsive.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wc-block-product-template__responsive.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wc-block-grid.has-4-columns .wc-block-grid__products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wc-block-grid.has-3-columns .wc-block-grid__products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wc-block-grid.has-2-columns .wc-block-grid__products {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wc-block-product,
.wc-block-grid__product {
	margin: 0;
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	padding: 16px;
	box-shadow: var(--d4u-shadow-soft);
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wc-block-product:hover,
.wc-block-grid__product:hover {
	transform: translateY(-2px);
	box-shadow: var(--d4u-shadow-lifted);
	border-color: rgba(17, 18, 20, 0.18);
}

.wc-block-grid__product-link,
.wc-block-product a {
	color: inherit;
}

.wc-block-components-product-image,
.wc-block-grid__product-image {
	margin: 0;
}

.wc-block-components-product-image img,
.wc-block-grid__product-image img {
	border-radius: var(--d4u-radius-sm);
	background: var(--wp--preset--color--off-white, #faf8f2);
	padding: 14px;
	width: 100%;
	height: 148px;
	object-fit: contain !important;
}

.wc-block-product h2.wp-block-post-title,
.wc-block-grid__product-title {
	margin: 0;
	padding: 0;
	font-size: 1.06rem;
	line-height: 1.25;
	font-weight: 750;
	text-align: left !important;
	color: var(--wp--preset--color--charcoal, #111214);
}

.wc-block-product h2.wp-block-post-title a {
	color: inherit;
}

.wc-block-components-product-price,
.wc-block-grid__product-price {
	margin: 0;
	color: var(--wp--preset--color--muted, #6b7280);
	font-weight: 650;
}

.wc-block-components-product-button__button,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 12px 14px !important;
	border-radius: 999px;
	font-weight: 750;
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff !important;
	border: 0;
}

.wc-block-components-product-button__button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: #000000;
	color: #ffffff !important;
}

@media (max-width: 1100px) {
	.wc-block-product-template__responsive.columns-4,
	.wc-block-grid.has-4-columns .wc-block-grid__products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.wc-block-product-template__responsive.columns-4,
	.wc-block-product-template__responsive.columns-3,
	.wc-block-grid.has-4-columns .wc-block-grid__products,
	.wc-block-grid.has-3-columns .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.wc-block-product-template__responsive,
	.wc-block-grid__products {
		grid-template-columns: 1fr !important;
	}
}

/* WCFM stores: turn into cards */
#wcfmmp-stores-wrap ul.wcfmmp-store-wrap {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding: 0;
	margin: 22px 0 0 0;
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li {
	list-style: none;
	margin: 0 !important;
	width: auto !important;
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li .store-wrapper {
	border-radius: var(--d4u-radius);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	background: #ffffff;
	box-shadow: var(--d4u-shadow-soft);
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li .store-header {
	border-radius: 0;
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li .store-content {
	padding: 16px !important;
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li .store-footer {
	border-top: 1px solid var(--wp--preset--color--border, #e7e3d7);
	padding: 14px 16px !important;
}

#wcfmmp-stores-wrap ul.wcfmmp-store-wrap li .store-footer a.wcfmmp-visit-store {
	border-radius: 999px;
	padding: 10px 14px;
	font-weight: 750;
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff;
	border: 0 !important;
}

@media (max-width: 1100px) {
	#wcfmmp-stores-wrap ul.wcfmmp-store-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	#wcfmmp-stores-wrap ul.wcfmmp-store-wrap {
		grid-template-columns: 1fr;
	}
}

/* Job Manager */
ul.job_listings,
ul.job_listings li.job_listing {
	border: 0;
}

ul.job_listings li.job_listing {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	padding: 14px 16px;
	box-shadow: var(--d4u-shadow-soft);
	margin: 0 0 12px 0;
}

ul.job_listings li.job_listing a {
	color: inherit;
}

/* PMPro levels */
.pmpro_level {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	box-shadow: var(--d4u-shadow-soft);
	padding: 16px;
}

.pmpro_level .pmpro_btn,
.pmpro_btn,
input.pmpro_btn {
	border-radius: 999px;
	font-weight: 750;
}

/* WooCommerce: single product layout */
.woocommerce.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 28px;
	align-items: start;
}

.woocommerce.single-product div.product .woocommerce-product-gallery,
.woocommerce.single-product div.product .summary {
	float: none;
	width: auto;
}

.woocommerce.single-product div.product .woocommerce-product-gallery__wrapper img {
	border-radius: var(--d4u-radius);
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	padding: 14px;
	box-shadow: var(--d4u-shadow-soft);
}

.woocommerce.single-product div.product .product_title {
	margin-top: 0;
	font-weight: 850;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--charcoal, #111214);
}

.woocommerce.single-product .woocommerce-tabs ul.tabs {
	padding-left: 0;
}

.woocommerce.single-product .woocommerce-tabs ul.tabs li {
	border-radius: 999px 999px 0 0;
}

@media (max-width: 960px) {
	.woocommerce.single-product div.product {
		grid-template-columns: 1fr;
	}
}

/* WooCommerce Blocks: cart/checkout panels */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	border-radius: var(--d4u-radius);
	box-shadow: var(--d4u-shadow-soft);
	padding: 16px;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
	font-weight: 850;
	color: var(--wp--preset--color--charcoal, #111214);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	filter: grayscale(1);
	opacity: 0.9;
}

/* WooCommerce: single product purchase panel */
.d4u-purchase-panel {
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: var(--d4u-radius);
	border: 1px solid var(--wp--preset--color--border, #e7e3d7);
	background: #ffffff;
	box-shadow: var(--d4u-shadow-soft);
}

.d4u-purchase-panel__title {
	font-weight: 850;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--charcoal, #111214);
	margin-bottom: 10px;
}

.d4u-purchase-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.woocommerce .d4u-button {
	border-radius: 999px;
	font-weight: 750;
}

.woocommerce .d4u-button--primary {
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff;
	border: 0;
}

.woocommerce .d4u-button--primary:hover {
	background: #000000;
	color: #ffffff;
}

.woocommerce .d4u-button--ghost {
	background: transparent;
	border: 1px solid rgba(17, 18, 20, 0.14);
	color: var(--wp--preset--color--charcoal, #111214);
}

.woocommerce .d4u-button--ghost:hover {
	border-color: rgba(17, 18, 20, 0.24);
	color: var(--wp--preset--color--charcoal, #111214);
}

.d4u-purchase-panel .add_enquiry {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--charcoal, #111214);
	color: #ffffff;
	font-weight: 750;
	cursor: pointer;
}

.d4u-purchase-panel .add_enquiry:hover {
	background: #000000;
}

.d4u-purchase-panel p {
	margin: 0;
}

.d4u-purchase-panel .wcfm_enquiry_widget {
	margin: 0;
}

.d4u-purchase-panel .wcfm_enquiry_widget br {
	display: none;
}

.d4u-purchase-panel a.wcfm_catalog_enquiry {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	border-radius: 999px;
	font-weight: 750;
	text-decoration: none;
	border: 0;
	box-shadow: none;
}
