/*
Theme Name: MP Storefront
Theme URI: https://shop.measuredpleasure.com
Description: Measured Pleasure child theme of Storefront. Brand tokens from app/globals.css, header links back to the main site, the same legal block as the main footer.
Author: Measured Pleasure
Template: storefront
Version: 1.0.0
Text Domain: mp-storefront
*/

:root {
	--mp-ink: #1a1a1a; --mp-ink-2: #4a4a4a;
	--mp-muted: #6b6259; --mp-taupe: #6e5c49;
	--mp-cream: #f0ebe3; --mp-paper: #faf7f2; --mp-white: #ffffff;
	--mp-line: #e0d8ce; --mp-line-strong: #d4c4b0;
	--mp-rose: #9b3d56;
	--mp-success: #2f6b3a; --mp-error: #9a2f2f;
	--mp-font-ui: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mp-font-read: 'Spectral', Georgia, serif;
	--mp-r-control: 4px; --mp-r-card: 8px; --mp-r-container: 16px; --mp-r-pill: 999px;
	--mp-shadow-card: 0 1px 3px rgb(26 26 26 / .06), 0 4px 12px rgb(26 26 26 / .04);
	--mp-shadow-lift: 0 8px 24px rgb(26 26 26 / .10);
	--mp-gutter: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body, body.woocommerce, body.woocommerce-page {
	background: var(--mp-paper);
	color: var(--mp-ink);
	font-family: var(--mp-font-ui);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .site-title, .entry-title, .product_title {
	font-family: var(--mp-font-ui);
	color: var(--mp-ink);
	font-weight: 600;
	letter-spacing: -.01em;
}
.entry-content, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel, .page .entry-content p, .page .entry-content li {
	font-family: var(--mp-font-read);
	font-size: 17px;
	line-height: 1.7;
	color: var(--mp-ink);
}
a { color: var(--mp-rose); text-underline-offset: 3px; }
a:hover { color: var(--mp-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--mp-ink); outline-offset: 3px; }

.col-full { max-width: 1120px; padding-left: var(--mp-gutter); padding-right: var(--mp-gutter); margin-left: auto; margin-right: auto; }
img { max-width: 100%; height: auto; }

/* ---------- header ---------- */
.site-header { background: var(--mp-paper); border-bottom: 1px solid var(--mp-line); padding: 0; margin: 0; }
.mp-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 12px 0; }
.mp-header__brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--mp-ink); }
.mp-header__brand img { width: 40px; height: 40px; display: block; border-radius: 9px; }
.mp-header__name { font: 600 15px/1.2 var(--mp-font-ui); color: var(--mp-ink); }
.mp-header__name small { display: block; font: 600 11px/1.2 var(--mp-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--mp-taupe); margin-top: 2px; }
.mp-header__links { display: flex; flex-wrap: wrap; gap: 4px 4px; list-style: none; margin: 0; padding: 0; }
.mp-header__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--mp-ink-2); text-decoration: none; font: 500 14px/1 var(--mp-font-ui); }
.mp-header__links a:hover { color: var(--mp-rose); }
.mp-header__cart a { font-weight: 600; color: var(--mp-ink); }
.mp-shipsline { background: var(--mp-cream); color: var(--mp-taupe); font: 600 11px/1.2 var(--mp-font-ui); letter-spacing: .1em; text-transform: uppercase; text-align: center; padding: 8px var(--mp-gutter); border-bottom: 1px solid var(--mp-line); }
.site-header .site-branding, .site-header .site-search, .site-header .main-navigation, .storefront-handheld-footer-bar, .site-header-cart { display: none !important; }
.storefront-breadcrumb { padding: 12px 0; margin: 0; font-size: 13px; color: var(--mp-muted); }
.storefront-breadcrumb a { color: var(--mp-ink-2); }

/* ---------- content ---------- */
.site-content { padding-top: 24px; }
.content-area, .site-main { max-width: 100%; }
.hentry .entry-header { margin-bottom: 16px; }
.entry-title, .woocommerce-products-header__title { font-size: clamp(26px, 5vw, 38px); line-height: 1.15; }

/* ---------- cards and buttons ---------- */
ul.products li.product, .woocommerce-cart-form, .cart_totals, #order_review, .woocommerce-checkout #customer_details, .woocommerce div.product div.summary, .woocommerce-message, .woocommerce-info {
	border-radius: var(--mp-r-container);
}
ul.products li.product {
	background: var(--mp-white);
	box-shadow: var(--mp-shadow-card);
	padding: 12px;
	margin-bottom: 20px;
	text-align: left;
}
ul.products li.product img { border-radius: var(--mp-r-card); }
ul.products li.product .woocommerce-loop-product__title { font: 600 15px/1.35 var(--mp-font-ui); color: var(--mp-ink); padding: 8px 0 4px; }
.price, .amount, .woocommerce-Price-amount { color: var(--mp-ink) !important; font-weight: 600; }
.price del, .price del .amount { color: var(--mp-muted) !important; font-weight: 400; }

button, .button, input[type="submit"], .added_to_cart, a.button.alt, button.button.alt, input.button.alt, #place_order {
	background: var(--mp-ink) !important;
	color: var(--mp-cream) !important;
	border: 1.5px solid var(--mp-ink) !important;
	border-radius: var(--mp-r-pill) !important;
	min-height: 44px;
	padding: 12px 22px !important;
	font: 600 15px/1.2 var(--mp-font-ui) !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
button:hover, .button:hover, input[type="submit"]:hover, #place_order:hover { background: var(--mp-rose) !important; border-color: var(--mp-rose) !important; color: var(--mp-white) !important; }
#place_order { width: 100%; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], select, textarea, .select2-container .select2-selection--single {
	border: 1px solid var(--mp-line-strong);
	border-radius: var(--mp-r-control);
	background: var(--mp-white);
	min-height: 44px;
	padding: 8px 12px;
	font: 400 16px/1.4 var(--mp-font-ui);
	color: var(--mp-ink);
	box-shadow: none;
	max-width: 100%;
}
label { font: 500 14px/1.4 var(--mp-font-ui); color: var(--mp-ink-2); }

.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--mp-cream); color: var(--mp-ink); border-top-color: var(--mp-rose); border-radius: var(--mp-r-card); }
.woocommerce-error { border-top-color: var(--mp-error); }

.woocommerce-checkout #payment { background: var(--mp-white); border-radius: var(--mp-r-container); box-shadow: var(--mp-shadow-card); }
.woocommerce-checkout #payment div.payment_box { background: var(--mp-cream); color: var(--mp-ink-2); border-radius: var(--mp-r-card); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-terms-and-conditions-wrapper { font-family: var(--mp-font-ui); font-size: 14px; }
.woocommerce table.shop_table { border-radius: var(--mp-r-card); border-color: var(--mp-line); background: var(--mp-white); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { word-break: break-word; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--mp-r-container); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 22px; }
table { display: block; max-width: 100%; overflow-x: auto; }

/* ---------- footer ---------- */
.site-footer { background: var(--mp-cream); color: var(--mp-muted); border-top: 1px solid var(--mp-line); padding: 32px 0 24px; margin-top: 40px; }
.site-footer a { color: var(--mp-ink-2); }
.mp-footer__links { display: flex; flex-wrap: wrap; gap: 4px 4px; list-style: none; margin: 0 0 24px; padding: 0; }
.mp-footer__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px 0 0; font: 500 14px/1 var(--mp-font-ui); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(26 26 26 / .35); }
.mp-footer__links a:hover { color: var(--mp-rose); }
.mp-entity { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 16px 40px; font: 400 13px/1.7 var(--mp-font-ui); color: var(--mp-muted); text-align: left; }
.mp-entity p { margin: 0; }
.mp-entity p.mp-entity__h { margin: 0 0 6px; font: 600 11px/1.2 var(--mp-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--mp-taupe); }
.mp-entity a { color: var(--mp-ink-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(26 26 26 / .35); }
.mp-entity a:hover { color: var(--mp-rose); text-decoration-color: currentColor; }
.mp-footer__small { margin: 20px 0 0; font: 400 12px/1.6 var(--mp-font-ui); color: var(--mp-muted); }

@media (min-width: 768px) {
	.mp-header { padding: 16px 0; }
	.mp-header__brand img { width: 48px; height: 48px; }
	ul.products li.product { padding: 16px; }
}

/* full width content, no sidebar */
.mp-no-sidebar .content-area { width: 100% !important; float: none !important; margin-right: 0 !important; }
.mp-no-sidebar #secondary, .widget-area { display: none !important; }
