/* Phase 2 site-wide marketplace layer. Stored page content and business logic remain unchanged. */
body.cft-marketplace-site-shell {
	--cft-pink: #e91e63;
	--cft-pink-dark: #cf1554;
	--cft-pink-pale: #fff0f5;
	--cft-ink: #29262d;
	--cft-muted: #6f6b73;
	--cft-line: #e5e2e7;
	--cft-soft: #f7f7f7;
	background: var(--cft-soft) !important;
	color: var(--cft-ink) !important;
}

body.cft-marketplace-site-shell > .cft-shared-header,
body.cft-marketplace-site-shell > .cft-shared-footer,
body.cft-marketplace-site-shell #site-header,
body.cft-marketplace-site-shell .page-header,
body.cft-marketplace-site-shell #right-sidebar,
body.cft-marketplace-site-shell #footer,
body.cft-marketplace-site-shell #footer-widgets {
	display: none !important;
}

body.cft-marketplace-site-shell .cft-packed-app .cft-packed-legacy-guard,
body.cft-marketplace-site-shell .cft-packed-footer .cft-packed-legacy-guard {
	all: unset !important;
	display: contents !important;
}

body.cft-marketplace-site-shell #outer-wrap,
body.cft-marketplace-site-shell #wrap,
body.cft-marketplace-site-shell #main,
body.cft-marketplace-site-shell #content-wrap,
body.cft-marketplace-site-shell #primary,
body.cft-marketplace-site-shell .content-area {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.cft-marketplace-site-shell .single-page-article,
body.cft-marketplace-site-shell .entry,
body.cft-marketplace-site-shell .entry-content {
	margin: 0 !important;
}

body.cft-marketplace-site-shell .cft-packed-footer {
	margin-top: 0 !important;
}

/* Native WooCommerce customer surfaces. */
body.cft-marketplace-site-shell.woocommerce-cart .cft-cart-shell,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell {
	width: min(1180px, calc(100% - 40px)) !important;
	margin: 0 auto !important;
	padding-top: 30px !important;
	padding-bottom: 70px !important;
}

body.cft-marketplace-site-shell.woocommerce-cart .page-head,
body.cft-marketplace-site-shell.woocommerce-checkout .page-head {
	border: 1px solid #ffd0df !important;
	border-radius: 18px !important;
	background: linear-gradient(110deg, #ffe4ed, #fff7fa) !important;
	color: var(--cft-ink) !important;
}

body.cft-marketplace-site-shell .woocommerce {
	color: var(--cft-ink) !important;
	font-family: Inter, Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.cft-marketplace-site-shell .woocommerce-message,
body.cft-marketplace-site-shell .woocommerce-info,
body.cft-marketplace-site-shell .woocommerce-error {
	border: 1px solid var(--cft-line) !important;
	border-left: 4px solid var(--cft-pink) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--cft-ink) !important;
	box-shadow: 0 3px 12px rgba(30, 20, 30, .04) !important;
}

body.cft-marketplace-site-shell .woocommerce a.button,
body.cft-marketplace-site-shell .woocommerce button.button,
body.cft-marketplace-site-shell .woocommerce input.button,
body.cft-marketplace-site-shell .woocommerce #respond input#submit,
body.cft-marketplace-site-shell .woocommerce .button.alt,
body.cft-marketplace-site-shell .wc-block-components-button {
	min-height: 42px !important;
	border: 1px solid var(--cft-pink) !important;
	border-radius: 9px !important;
	background: var(--cft-pink) !important;
	color: #fff !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

body.cft-marketplace-site-shell .woocommerce a.button:hover,
body.cft-marketplace-site-shell .woocommerce button.button:hover,
body.cft-marketplace-site-shell .woocommerce input.button:hover,
body.cft-marketplace-site-shell .woocommerce .button.alt:hover,
body.cft-marketplace-site-shell .wc-block-components-button:hover {
	background: var(--cft-pink-dark) !important;
}

body.cft-marketplace-site-shell .woocommerce input.input-text,
body.cft-marketplace-site-shell .woocommerce textarea,
body.cft-marketplace-site-shell .woocommerce select,
body.cft-marketplace-site-shell .select2-selection,
body.cft-marketplace-site-shell .wc-block-components-text-input input,
body.cft-marketplace-site-shell .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	min-height: 44px !important;
	border: 1px solid var(--cft-line) !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: var(--cft-ink) !important;
	box-shadow: none !important;
}

body.cft-marketplace-site-shell .woocommerce input.input-text:focus,
body.cft-marketplace-site-shell .woocommerce textarea:focus,
body.cft-marketplace-site-shell .woocommerce select:focus,
body.cft-marketplace-site-shell .select2-container--focus .select2-selection {
	border-color: var(--cft-pink) !important;
	box-shadow: 0 0 0 3px rgba(233, 30, 99, .13) !important;
}

body.cft-marketplace-site-shell .woocommerce table.shop_table,
body.cft-marketplace-site-shell .woocommerce-checkout-review-order,
body.cft-marketplace-site-shell .woocommerce-billing-fields,
body.cft-marketplace-site-shell .woocommerce-shipping-fields,
body.cft-marketplace-site-shell #payment,
body.cft-marketplace-site-shell .wc-block-components-sidebar-layout > div {
	border: 1px solid var(--cft-line) !important;
	border-radius: 15px !important;
	background: #fff !important;
	box-shadow: 0 4px 16px rgba(30, 20, 30, .05) !important;
}

body.cft-marketplace-site-shell .woocommerce table.shop_table {
	overflow: hidden !important;
}

body.cft-marketplace-site-shell .woocommerce table.shop_table th,
body.cft-marketplace-site-shell .woocommerce table.shop_table td {
	padding: 14px !important;
	border-color: var(--cft-line) !important;
}

body.cft-marketplace-site-shell .woocommerce table.shop_table thead th {
	background: #f6f4f6 !important;
	color: var(--cft-muted) !important;
	font-size: 11px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.cft-marketplace-site-shell #payment {
	padding: 18px !important;
}

body.cft-marketplace-site-shell #payment ul.payment_methods {
	border-color: var(--cft-line) !important;
}

/* The stored checkout already provides padded customer-detail cards.
   Keep one panel boundary instead of nesting an unpadded rounded panel
   around the billing/shipping fields. */
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details > .col-1,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details > .col-2 {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	padding: 20px !important;
}

body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .woocommerce-billing-fields,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .woocommerce-shipping-fields,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .woocommerce-additional-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .form-row,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .woocommerce-input-wrapper {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details input.input-text,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details textarea,
body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details .select2-container {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	max-width: 100% !important;
}

/* The address disclosure is a native checkbox with one clickable label.
   Reset only this control: gateway radios and other opt-ins stay untouched. */
body.cft-marketplace-site-shell.woocommerce-checkout #ship-to-different-address {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

body.cft-marketplace-site-shell.woocommerce-checkout #ship-to-different-address label {
	display: flex !important;
	align-items: center !important;
	gap: 12px;
	min-height: 44px;
	margin: 0 !important;
	padding: 6px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--cft-ink) !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer;
}

body.cft-marketplace-site-shell.woocommerce-checkout #ship-to-different-address-checkbox {
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	position: static !important;
	float: none !important;
	order: -1;
	flex: 0 0 20px;
	width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	accent-color: var(--cft-pink-dark);
	cursor: pointer;
}

body.cft-marketplace-site-shell.woocommerce-checkout #ship-to-different-address label span {
	flex: 1 1 auto;
	min-width: 0;
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
}

body.cft-marketplace-site-shell.woocommerce-checkout #ship-to-different-address-checkbox:focus-visible {
	outline: 3px solid #1f6feb !important;
	outline-offset: 3px !important;
}

/* My Account. */
.cft-total-update-status {
	padding: 12px 16px;
	margin: 0 0 12px;
	border: 1px solid #e5e2e7;
	border-radius: 9px;
	background: #fff0f5;
	color: #29262d;
	font-size: 14px;
	line-height: 1.5;
}
.cft-total-update-status[hidden] { display: none !important; }

body.cft-marketplace-site-shell.woocommerce-checkout .woocommerce form .form-row label:not(.checkbox) {
	font-size: 13px !important;
	line-height: 1.5 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body.cft-marketplace-site-shell.woocommerce-checkout .woocommerce-checkout-review-order-table .amount {
	font-variant-numeric: tabular-nums;
}

body.cft-marketplace-site-shell.woocommerce-account #customer_login > div > h2 {
	font-size: clamp(24px, 3vw, 32px) !important;
	line-height: 1.25 !important;
}

body.cft-marketplace-site-shell.woocommerce-account #primary {
	width: min(1060px, calc(100% - 40px)) !important;
	margin: 0 auto !important;
	padding: 42px 0 72px !important;
}

body.cft-marketplace-site-shell.woocommerce-account .entry-content > .woocommerce {
	padding: 26px !important;
	border: 1px solid var(--cft-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 8px 26px rgba(30, 20, 30, .07) !important;
}

body.cft-marketplace-site-shell.woocommerce-account .woocommerce h2,
body.cft-marketplace-site-shell.woocommerce-account .woocommerce h3 {
	color: var(--cft-ink) !important;
}

body.cft-marketplace-site-shell.woocommerce-account .u-column1,
body.cft-marketplace-site-shell.woocommerce-account .u-column2 {
	padding: 22px !important;
	border: 1px solid var(--cft-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
}

body.cft-marketplace-site-shell.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 14px !important;
	border: 1px solid var(--cft-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
}

body.cft-marketplace-site-shell.woocommerce-account .woocommerce-MyAccount-navigation li {
	border: 0 !important;
}

body.cft-marketplace-site-shell.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block !important;
	padding: 10px 12px !important;
	border-radius: 8px !important;
	color: var(--cft-ink) !important;
}

body.cft-marketplace-site-shell.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--cft-pink-pale) !important;
	color: var(--cft-pink-dark) !important;
}

/* Product archives and product pages retain native WooCommerce behavior. */
body.cft-marketplace-site-shell.post-type-archive-product #primary,
body.cft-marketplace-site-shell.tax-product_cat #primary,
body.cft-marketplace-site-shell.single-product #primary {
	width: min(1240px, calc(100% - 40px)) !important;
	margin: 0 auto !important;
	padding: 36px 0 72px !important;
}

body.cft-marketplace-site-shell ul.products li.product,
body.cft-marketplace-site-shell div.product .woocommerce-product-gallery,
body.cft-marketplace-site-shell div.product .summary {
	border: 1px solid var(--cft-line) !important;
	border-radius: 15px !important;
	background: #fff !important;
	box-shadow: 0 4px 16px rgba(30, 20, 30, .05) !important;
}

body.cft-marketplace-site-shell ul.products li.product {
	overflow: hidden !important;
}

body.cft-marketplace-site-shell div.product .summary {
	padding: 24px !important;
}

body.cft-marketplace-site-shell .price { color: var(--cft-pink) !important; }

/* Existing custom information pages keep their content and gain a common canvas. */
body.cft-marketplace-site-shell .cft-faq-shell,
body.cft-marketplace-site-shell .cft-about,
body.cft-marketplace-site-shell .cft-contact {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.cft-marketplace-site-shell .cft-faq-shell a,
body.cft-marketplace-site-shell .cft-about a,
body.cft-marketplace-site-shell .cft-contact a {
	text-decoration-thickness: 1px !important;
}

body.cft-marketplace-site-shell .cft-faq-shell button,
body.cft-marketplace-site-shell .cft-about-cta-btn,
body.cft-marketplace-site-shell .cft-contact-cta a {
	border-radius: 9px !important;
}

/* Standard content, policy, search and error pages. */
body.cft-marketplace-site-shell:not(.woocommerce-page):not(.page-id-605):not(.page-id-205):not(.page-id-925):not(.page-id-608):not(.page-id-213) #primary {
	width: min(920px, calc(100% - 40px)) !important;
	margin: 0 auto !important;
	padding: 42px 0 72px !important;
}

body.cft-marketplace-site-shell:not(.woocommerce-page):not(.page-id-605):not(.page-id-205):not(.page-id-925):not(.page-id-608):not(.page-id-213) .entry {
	padding: clamp(24px, 4vw, 46px) !important;
	border: 1px solid var(--cft-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 8px 26px rgba(30, 20, 30, .06) !important;
}

body.cft-marketplace-site-shell .entry h1,
body.cft-marketplace-site-shell .entry h2,
body.cft-marketplace-site-shell .entry h3 {
	color: var(--cft-ink) !important;
	letter-spacing: -.02em !important;
}

body.cft-marketplace-site-shell .entry h1 {
	font-size: clamp(32px, 5vw, 48px) !important;
	line-height: 1.05 !important;
}

body.cft-marketplace-site-shell .entry a { color: var(--cft-pink-dark); }

body.cft-marketplace-site-shell .entry blockquote {
	border-color: var(--cft-pink) !important;
	background: var(--cft-pink-pale) !important;
}

body.cft-marketplace-site-shell .searchform input[type="text"],
body.cft-marketplace-site-shell input[type="search"] {
	border: 1px solid var(--cft-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
}

@media (max-width: 780px) {
	body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details > .col-1,
	body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell #customer_details > .col-2 {
		padding: 16px !important;
	}

	body.cft-marketplace-site-shell.woocommerce-cart .cft-cart-shell,
	body.cft-marketplace-site-shell.woocommerce-checkout .cft-checkout-shell,
	body.cft-marketplace-site-shell.woocommerce-account #primary,
	body.cft-marketplace-site-shell.post-type-archive-product #primary,
	body.cft-marketplace-site-shell.tax-product_cat #primary,
	body.cft-marketplace-site-shell.single-product #primary,
	body.cft-marketplace-site-shell:not(.woocommerce-page):not(.page-id-605):not(.page-id-205):not(.page-id-925):not(.page-id-608):not(.page-id-213) #primary {
		width: min(100% - 28px, 680px) !important;
		padding-top: 22px !important;
	}

	body.cft-marketplace-site-shell.woocommerce-account .entry-content > .woocommerce {
		padding: 18px !important;
	}

	body.cft-marketplace-site-shell .woocommerce .col2-set .col-1,
	body.cft-marketplace-site-shell .woocommerce .col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		margin-bottom: 16px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.cft-marketplace-site-shell * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
