/*
 * Mozhi & Miles — WooCommerce: single product, product details, pre-launch CTA/notice,
 * and the Cart / Checkout / Order-confirmation blocks used in launch mode.
 * Logical properties only.
 */

/* ---------- Pre-launch notice (after a redirect from cart/checkout) ---------- */

.mm-site-notice {
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--forest);
	text-align: center;
	font-weight: 700;
	padding: 0.75rem var(--wp--preset--spacing--40);
}

.mm-site-notice p {
	margin: 0;
}

.mm-coming-soon {
	display: inline-block;
	padding: 0.2rem 0.75rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--forest);
	font-family: var(--wp--preset--font-family--lato);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
}

/* ---------- Single product ---------- */

.mm-product {
	padding-block-start: var(--wp--preset--spacing--40);
}

.mm-product__crumbs {
	font-size: var(--wp--preset--font-size--small);
	margin-block-end: var(--wp--preset--spacing--40);
}

.mm-product__crumbs a {
	color: var(--wp--preset--color--ink);
}

.mm-product__top {
	gap: var(--wp--preset--spacing--60);
}

/* Gallery: mm/product-gallery (styles in mm-core/assets/blocks.css) — product art is never recoloured. */

/* Tier label above the title */
.mm-product__tier {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mm-product__tier a {
	color: var(--wp--preset--color--coral-deep);
	text-decoration: none;
}

.mm-product__title {
	font-size: var(--wp--preset--font-size--x-large);
	margin-block: 0.4rem 0.6rem;
}

.mm-product__price {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--wp--preset--color--forest);
}

.mm-product__excerpt {
	font-size: var(--wp--preset--font-size--medium);
}

/* Waitlist / free CTA in place of Add to cart */
.mm-product-cta {
	margin-block-start: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--mm-card-radius);
	background: color-mix(in srgb, var(--wp--preset--color--mint) 40%, var(--wp--preset--color--cream));
}

.mm-product-cta__lead {
	margin-block: 0 1rem;
}

.mm-product-cta .mm-form--waitlist .mm-form__fields {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.mm-product-cta--free p:last-child {
	margin-block-end: 0;
}

/* Details */
.mm-product__details {
	margin-block-start: var(--wp--preset--spacing--60);
}

.mm-product-info__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 var(--wp--preset--spacing--40);
}

.mm-product-info__facts > div {
	flex: 1 1 200px;
	padding: 0.9rem 1.1rem;
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--wp--preset--shadow--card);
}

.mm-product-info__facts dt {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--coral-deep);
}

.mm-product-info__facts dd {
	margin: 0.2rem 0 0;
	font-family: var(--wp--preset--font-family--lora);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	color: var(--wp--preset--color--forest);
}

.mm-product-info__section {
	padding-block: var(--wp--preset--spacing--30);
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--sage) 80%, transparent);
}

.mm-product-info__section h2 {
	font-size: var(--wp--preset--font-size--large);
	margin-block: 0.5rem 0.75rem;
}

.mm-product-info__list {
	margin: 0;
	padding-inline-start: 1.25rem;
}

.mm-product-info__list li {
	margin-block-end: 0.35rem;
}

.mm-product-info__list li::marker {
	color: var(--wp--preset--color--coral);
}

.mm-product-info__note {
	font-size: var(--wp--preset--font-size--small);
	font-style: italic;
}

.mm-product-info__license blockquote {
	margin: 0;
	padding: 1rem 1.25rem;
	border-inline-start: 3px solid var(--wp--preset--color--mint);
	border-radius: 0 12px 12px 0;
	background: color-mix(in srgb, var(--wp--preset--color--sage) 30%, var(--wp--preset--color--cream));
	font-size: var(--wp--preset--font-size--small);
}

.mm-product-info__license blockquote p {
	margin-block: 0 0.5rem;
}

.mm-product-info__license blockquote p:last-child {
	margin-block-end: 0;
}

/* ---------- Launch mode: Cart / Checkout / Order confirmation blocks ---------- */

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--forest) !important;
	color: var(--wp--preset--color--white) !important;
	font-weight: 700;
}

.wc-block-components-button:not(.is-link):hover {
	background: #0a3627 !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-textarea,
.wc-blocks-components-select__select {
	border-radius: 10px !important;
	border-color: var(--wp--preset--color--taupe) !important;
	background: #fff !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
	outline: 3px solid var(--wp--preset--color--forest);
	outline-offset: 1px;
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
	font-family: var(--wp--preset--font-family--lora) !important;
	color: var(--wp--preset--color--forest);
}

.wc-block-components-product-name {
	color: var(--wp--preset--color--forest);
	font-weight: 700;
}

.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar {
	padding-block-start: 0;
}

.wc-block-components-totals-wrapper,
.wc-block-components-order-summary {
	border-color: color-mix(in srgb, var(--wp--preset--color--sage) 80%, transparent) !important;
}

.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary {
	margin-block-end: var(--wp--preset--spacing--40);
}

.woocommerce-order-downloads,
.wc-block-order-confirmation-downloads {
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--mm-card-radius);
	background: color-mix(in srgb, var(--wp--preset--color--mint) 30%, var(--wp--preset--color--cream));
}

/* Checkout header (distraction-free) */
.mm-header--checkout {
	padding-block: 0.75rem;
	border-block-end: 1px solid color-mix(in srgb, var(--wp--preset--color--sage) 70%, transparent);
}

.mm-header--checkout .mm-logo img {
	inline-size: 64px;
	block-size: 64px;
}

.mm-header__back {
	margin: 0;
	font-weight: 700;
}
