/* Stranieri brand layer — fonts site-wide, editorial single product page. Colours stay with the theme. */

:root {
	--str-display: 'Regalia Display', 'Cinzel', Georgia, serif;
	--str-text: 'Regalia Text', 'Cormorant Garamond', Georgia, serif;
	--str-line: #EBEFF5;
	--str-ink: #14181F;
	--str-muted: #6B7280;
}

/* ---------- Typography ---------- */

body,
body :where(p, a, span, li, td, th, label, input, select, textarea, button, div, strong, em, bdi, small, del, ins, blockquote) {
	font-family: var(--str-text) !important;
}

body { font-size: 17px; }
body :where(p, li, td) { font-size: max(1em, 16px); }

/* Large headings: elegant serif (replaces Bodoni) */
body :where(h1, h2, h3),
body :where(h1, h2, h3) :where(a, span) {
	font-family: var(--str-text) !important;
	letter-spacing: -0.01em !important;
}

/* Small headings, titles, menus, buttons, labels: Regalia Display small caps */
body :where(h4, h5, h6),
body :where(h4, h5, h6) :where(a, span),
body .mfn-header-tmpl :where(.mfn-header-menu, .mfn-menu-li, .menu-text, .mfn-header-promo-bar, .mfn-header-promo-bar *),
body .mfn-header-menu > li > a,
body .mfn-header-menu > li > a *,
body :where(.button, button, input[type="submit"], .single_add_to_cart_button, .checkout-button, .wc-block-components-button),
body :where(.button, button) *,
body ul.products li.product .title,
body ul.products li.product .title a,
body .mfn-woocommerce-tabs-nav a,
body .mfn-vr label,
body .mfn-vr-labels a,
body .woocommerce-breadcrumb,
body .woocommerce-breadcrumb a,
body .mfn-footer-tmpl :where(h4, h5, h6, .title) {
	font-family: var(--str-display) !important;
}

body :where(h4, h5, h6) { letter-spacing: 0.04em !important; }

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

.single-product .mfn-single-product-tmpl-builder > .mcb-section:first-child .section_wrapper {
	align-items: stretch;
}

/* Images column: full-width stacked photos */
.single-product .mcb-wrap:has(.column_product_images) > .mcb-wrap-inner {
	padding-right: 0 !important;
	border-width: 0 !important;
}
.single-product .mfn-product-gallery-grid {
	columns: 1 !important;
	column-count: 1 !important;
	display: block !important;
}
.single-product .mfn-product-gallery-grid .mfn-product-gg-img {
	width: 100% !important;
	margin: 0 0 4px !important;
	break-inside: avoid;
}
.single-product .mfn-product-gallery-grid img {
	width: 100%;
	height: auto;
	display: block;
}
.single-product .mfn-product-images-wrapper .onsale,
.single-product .mfn-product-images-wrapper .mfn-new-badge,
.single-product .mfn-product-images-wrapper .mfn-badge {
	background: transparent !important;
	color: var(--str-ink) !important;
	border: 1px solid var(--str-ink);
	border-radius: 0 !important;
	font-family: var(--str-display) !important;
	font-size: 11px !important;
	letter-spacing: 0.12em;
	padding: 2px 8px !important;
	line-height: 1.6 !important;
}

/* Info column: sticky, centred, quiet */
.single-product .mcb-wrap:has(.column_product_title) > .mcb-wrap-inner {
	position: sticky;
	top: 110px;
	align-self: flex-start;
	padding: 48px 40px 24px !important;
	text-align: center;
}
.admin-bar.single-product .mcb-wrap:has(.column_product_title) > .mcb-wrap-inner { top: 142px; }
.single-product .mcb-wrap:has(.column_product_title) {
	display: flex;
	align-self: stretch;
}
.single-product .mcb-wrap:has(.column_product_title) .mcb-column-inner {
	max-width: 440px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-product .column_product_title .title {
	font-family: var(--str-display) !important;
	font-size: 17px !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	margin: 0 0 6px !important;
}
.single-product .column_product_price .price,
.single-product .column_product_price .price * {
	font-family: var(--str-text) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--str-ink) !important;
}
.single-product .column_product_price .mcb-column-inner { margin-bottom: 18px !important; }
.single-product .column_product_short_description {
	color: var(--str-muted);
	font-size: 16px;
	line-height: 1.55;
}
.single-product .column_product_short_description .mcb-column-inner { margin-bottom: 22px !important; }

/* Variations: label buttons in a row */
.single-product .mfn-variations-wrapper { text-align: left; }
.single-product .mfn-vr { margin-bottom: 14px; }
.single-product .mfn-vr label {
	display: block;
	font-size: 11px !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--str-muted);
	margin-bottom: 8px;
	text-align: left;
}
.single-product ul.mfn-vr-labels {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
	gap: 6px;
	width: 100% !important;
	margin: 0 !important;
}
.single-product ul.mfn-vr-labels li { margin: 0 !important; width: auto !important; }
.single-product ul.mfn-vr-labels li a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 !important;
	border: 1px solid var(--str-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--str-ink) !important;
	font-size: 13px !important;
	letter-spacing: 0.08em;
	position: relative;
	overflow: hidden;
}
.single-product ul.mfn-vr-labels li a:hover { border-color: var(--str-ink) !important; }
.single-product ul.mfn-vr-labels li.active a { border: 1px solid var(--str-ink) !important; box-shadow: inset 0 0 0 1px var(--str-ink); }
.single-product ul.mfn-vr-labels li.stranieri-oos a { color: #B8BEC7 !important; }
.single-product ul.mfn-vr-labels li.stranieri-oos a::after {
	content: '';
	position: absolute;
	left: -10%;
	top: 50%;
	width: 120%;
	border-top: 1px solid #B8BEC7;
	transform: rotate(-38deg);
}
.single-product ul.mfn-vr-color li a { border-radius: 50% !important; }
.single-product .mfn-reset-variations { font-size: 12px; }

/* Add to bag: full width, black, square; wishlist heart beside it */
.single-product form.cart .quantity { display: none !important; }
.single-product .mfn-product-add-to-cart form.cart,
.single-product .mfn-product-add-to-cart .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 8px;
	align-items: stretch;
	width: 100%;
}
.single-product .mfn-product-add-to-cart form.variations_form { display: block !important; }
.single-product .single_add_to_cart_button {
	flex: 1 1 auto;
	width: 100% !important;
	height: 52px;
	margin: 0 !important;
	border-radius: 0 !important;
	background: var(--str-ink) !important;
	color: #fff !important;
	font-size: 13px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase;
}
.single-product .single_add_to_cart_button:hover { background: #000 !important; }
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled { opacity: 0.55 !important; cursor: not-allowed; }
.single-product .mfn-product-add-to-cart .mfn-wish-button {
	flex: 0 0 52px;
	width: 52px !important;
	height: 52px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--str-line);
	border-radius: 0 !important;
	background: #fff;
}
.single-product .woocommerce-variation-price,
.single-product .woocommerce-variation-availability { display: none; }

/* Details under the button */
.single-product .stranieri-fit-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 12px 0 16px;
	font-size: 13px;
	color: var(--str-muted);
	text-align: left;
}
.single-product .stranieri-size-link {
	color: var(--str-ink) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	margin-left: auto;
}
.single-product ul.stranieri-notes {
	list-style: none;
	margin: 0 0 18px !important;
	padding: 0;
	text-align: left;
	font-size: 13px;
	color: var(--str-muted);
}
.single-product ul.stranieri-notes li { margin: 0 0 6px; padding-left: 18px; position: relative; }
.single-product ul.stranieri-notes li::before {
	content: '';
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #9CA3AF;
}
.single-product ul.stranieri-notes li.stranieri-note-low::before { background: #DC2626; }

/* Tabs as quiet inline dropdown links */
.single-product .column_product_tabs .mcb-column-inner { margin-top: 4px !important; }
.single-product .mfn-woocommerce-tabs { text-align: left; border-top: 1px solid var(--str-line); padding-top: 6px; }
.single-product ul.mfn-woocommerce-tabs-nav {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 10px;
	border: 0 !important;
	margin: 0 !important;
}
.single-product ul.mfn-woocommerce-tabs-nav li { margin: 0 !important; }
.single-product ul.mfn-woocommerce-tabs-nav li a {
	padding: 10px 0 !important;
	border: 0 !important;
	font-size: 12px !important;
	letter-spacing: 0.06em;
	color: var(--str-muted) !important;
	background: transparent !important;
}
.single-product ul.mfn-woocommerce-tabs-nav li a::after {
	content: '\203A';
	display: inline-block;
	margin-left: 5px;
	transform: rotate(90deg);
	transition: transform .2s;
}
.single-product ul.mfn-woocommerce-tabs-nav li.active a { color: var(--str-ink) !important; }
.single-product ul.mfn-woocommerce-tabs-nav li.active a::after { transform: rotate(-90deg); }
.single-product .mfn-woocommerce-tabs-content {
	padding: 10px 0 0 !important;
	font-size: 15px;
	line-height: 1.6;
	color: #525864;
}
.single-product .mfn-woocommerce-tabs-content .section_wrapper,
.single-product .mfn-woocommerce-tabs-content .the_content_wrapper { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.single-product .mfn-woocommerce-tabs-content .mcb-section { padding: 0 !important; }
.stranieri-size-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 8px 0; }
.stranieri-size-table th, .stranieri-size-table td { border-bottom: 1px solid var(--str-line); padding: 6px 4px; text-align: center; }
.stranieri-muted { color: var(--str-muted); font-size: 14px; }

/* Related: "More for you" */
.single-product .column_product_related .mfn-related > .title,
.single-product .column_product_related .mfn-related > h2,
.single-product .column_product_related .mfn-related > h5 {
	font-family: var(--str-display) !important;
	font-size: 16px !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase;
	margin-bottom: 20px !important;
}
.single-product .column_product_related ul.products li.product .title,
.single-product .column_product_related ul.products li.product .title a {
	font-size: 13px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ---------- Tablet / mobile ---------- */

@media (max-width: 959px) {
	.single-product .mcb-wrap:has(.column_product_title) > .mcb-wrap-inner {
		position: static;
		padding: 28px 16px 8px !important;
	}
	.single-product .mfn-product-gallery-grid {
		display: flex !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 0;
	}
	.single-product .mfn-product-gallery-grid::-webkit-scrollbar { display: none; }
	.single-product .mfn-product-gallery-grid .mfn-product-gg-img {
		flex: 0 0 100%;
		scroll-snap-align: start;
		margin: 0 !important;
	}
}
