﻿/* === mmm.css === */
/* Mann Mohini Jewels design system */
:root {
	--mm-maroon: #0f1b5c;
	--mm-maroon-2: #22318a;
	--mm-gold: #b8893b;
	--mm-gold-2: #d4a95a;
	--mm-cream: #fbf6ec;
	--mm-champagne: #f1e5d0;
	--mm-soft: #f1eee6;
	--mm-emerald: #14503a;
	--mm-sage: #dfe8d8;
	--mm-ink: #1b1f3b;
	--mm-muted: #6b6f8a;
	--mm-radius: 18px;
	--mm-font-head: 'Cormorant Garamond', Georgia, serif;
	--mm-font-body: 'Jost', system-ui, sans-serif;
}

html { scroll-behavior: auto; }
body {
	font-family: var(--mm-font-body);
	color: var(--mm-ink);
	background: var(--mm-cream);
}
h1, h2, h3, h4, .mm-serif { font-family: var(--mm-font-head); color: var(--mm-maroon); letter-spacing: .01em; }

/* ---------- Buttons (from the design sheet) ---------- */
.mm-btn,
.elementor-button.mm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	font-family: var(--mm-font-body); font-weight: 500; font-size: 15px; line-height: 1;
	padding: 16px 34px; border-radius: 999px; border: 1.5px solid var(--mm-maroon);
	text-decoration: none; cursor: pointer; transition: all .25s ease;
}
.mm-btn--primary { background: var(--mm-maroon); color: #fff !important; }
.mm-btn--primary:hover { background: var(--mm-gold); border-color: var(--mm-gold); color: #fff !important; }
.mm-btn--outline { background: transparent; color: var(--mm-maroon) !important; }
.mm-btn--outline:hover { background: var(--mm-maroon); color: #fff !important; }
.mm-btn--soft { background: var(--mm-soft); border-color: transparent; color: var(--mm-maroon) !important; justify-content: space-between; min-width: 220px; }
.mm-btn--soft:hover { background: var(--mm-champagne); }
.mm-btn--sm { padding: 11px 22px; font-size: 13px; }
.mm-arrow { font-style: normal; transition: transform .25s ease; }
.mm-btn:hover .mm-arrow { transform: translateX(4px); }

/* slide-to-go hero pill */
.mm-slide {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 34px;
	background: var(--mm-maroon); color: #fff !important; text-decoration: none;
	padding: 8px 8px 8px 34px; border-radius: 999px; font-weight: 500; font-size: 15px;
	transition: background .25s;
}
.mm-slide b { display: inline-flex; background: #fff; color: var(--mm-maroon); border: 1.5px solid #000; border-radius: 999px; padding: 12px 22px; letter-spacing: 2px; font-weight: 600; transition: all .25s; }
.mm-slide:hover { background: var(--mm-maroon-2); }
.mm-slide:hover b { background: var(--mm-gold); color: #fff; border-color: var(--mm-gold); padding-right: 30px; }

.mm-buy-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.mm-text-link { color: var(--mm-maroon); border-bottom: 1.5px solid var(--mm-maroon); text-decoration: none; padding-bottom: 2px; }
.mm-text-link:hover { color: var(--mm-gold); border-color: var(--mm-gold); }

/* round icon buttons + square quick action */
.mm-fab {
	position: fixed; right: 20px; z-index: 999; width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 6px 18px rgba(15,27,92,.25);
	transition: transform .25s, opacity .25s;
}
.mm-fab:hover { transform: translateY(-3px); color: #fff; }
.mm-fab--wa { bottom: 20px; background: #25d366; }
.mm-fab--top { bottom: 84px; background: var(--mm-maroon); opacity: 0; pointer-events: none; }
.mm-fab--top.is-visible { opacity: 1; pointer-events: auto; }
.mm-square { display: inline-flex; width: 56px; height: 56px; border-radius: 14px; background: var(--mm-maroon); color: #fff; align-items: center; justify-content: center; font-size: 26px; }

/* option pills / filters */
.mm-pills { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.mm-pills [data-filter], .mm-pill {
	background: var(--mm-soft); color: var(--mm-maroon); border: 0; border-radius: 999px;
	padding: 14px 30px; font-family: var(--mm-font-body); font-size: 15px; cursor: pointer; transition: all .2s;
}
.mm-pills [data-filter]:hover { background: var(--mm-champagne); }
.mm-pills [data-filter].is-active { background: var(--mm-maroon); color: #fff; }

/* toggle (income/expense style) */
.mm-toggle { display: inline-flex; background: var(--mm-soft); border-radius: 14px; padding: 6px; gap: 6px; }
.mm-toggle span { padding: 12px 28px; border-radius: 10px; color: var(--mm-maroon); cursor: pointer; }
.mm-toggle span.is-active { background: var(--mm-maroon); color: #fff; }

/* ---------- Announcement + trust ---------- */
.mm-announce { background: var(--mm-maroon); color: #f6e7c8; text-align: center; font-size: 13px; letter-spacing: .08em; padding: 9px 12px; }
.mm-announce b { color: var(--mm-gold-2); font-weight: 500; }
.mm-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; text-align: center; }
.mm-trust div { font-size: 14px; color: var(--mm-maroon); }
.mm-trust svg { display: block; margin: 0 auto 10px; stroke: var(--mm-gold); }
@media (max-width: 767px) { .mm-trust { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Cards ---------- */
.mm-card { background: var(--mm-soft); border-radius: var(--mm-radius); overflow: hidden; transition: transform .3s, box-shadow .3s; }
.mm-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15,27,92,.12); }
.mm-cat { position: relative; display: block; border-radius: var(--mm-radius); overflow: hidden; aspect-ratio: 3 / 4; color: #fff; text-decoration: none; }
.mm-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.mm-cat:hover img { transform: scale(1.06); }
.mm-cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(60,10,25,.78)); }
.mm-cat span { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 2; display: flex; justify-content: space-between; align-items: center; font-family: var(--mm-font-head); font-size: 26px; }
.mm-occ { background: var(--mm-soft); border-radius: var(--mm-radius); padding: 26px; min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; transition: all .3s; }
.mm-occ:hover { background: var(--mm-maroon); }
.mm-occ:hover h3, .mm-occ:hover p, .mm-occ:hover .mm-occ-arrow { color: #fff; }
.mm-occ h3 { margin: 0; font-size: 30px; }
.mm-occ p { margin: 4px 0 0; color: var(--mm-muted); font-size: 14px; }
.mm-occ-arrow { font-size: 26px; color: var(--mm-maroon); text-align: right; }

/* ---------- WooCommerce product grid ---------- */
.woocommerce ul.products li.product { background: var(--mm-soft); border-radius: var(--mm-radius); padding: 0 0 24px; overflow: hidden; text-align: center; transition: transform .3s, box-shadow .3s; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15,27,92,.12); }
.woocommerce ul.products li.product img { margin: 0 0 16px; aspect-ratio: 3 / 4; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--mm-font-head); font-size: 22px; color: var(--mm-maroon); padding: 0 16px; }
.woocommerce ul.products li.product .button { margin-top: 10px; }
.woocommerce span.onsale { display: none; }

/* ---------- Single product ---------- */
.mm-spec { list-style: none; padding: 0; margin: 18px 0; }
.mm-spec li { padding: 10px 0; border-bottom: 1px solid var(--mm-champagne); display: flex; justify-content: space-between; gap: 16px; font-size: 14px; }
.mm-spec li b { color: var(--mm-maroon); font-weight: 500; }

/* ---------- Footer ---------- */
.mm-footer a { color: #f1e5d0; text-decoration: none; }
.mm-footer a:hover { color: var(--mm-gold-2); }
.mm-footer h4 { color: var(--mm-gold-2); font-family: var(--mm-font-head); font-size: 22px; }
.mm-footer ul { list-style: none; padding: 0; margin: 0; }
.mm-footer li { margin: 8px 0; font-size: 14px; }
.mm-market-logos { display: flex; flex-wrap: wrap; gap: 10px; }
.mm-market-logos span { border: 1px solid rgba(241,229,208,.4); border-radius: 999px; padding: 6px 16px; font-size: 13px; color: #f1e5d0; }

/* ---------- Layout helpers ---------- */
.mm-kicker { text-transform: uppercase; letter-spacing: .28em; font-size: 12px; color: var(--mm-gold); }
.mm-orn { color: var(--mm-gold); letter-spacing: .4em; }
.mm-reveal { animation: mmFade .9s ease both; }
@keyframes mmFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* Full-bleed Elementor sections (inner containers stay boxed) */
.elementor .e-con.e-parent { --container-max-width: 100%; max-width: 100%; }
.elementor .e-con.e-parent > .e-con.e-child { max-width: var(--content-width, 1240px); }
.elementor .e-con.e-parent > .e-con-inner { max-width: 100%; }
body { overflow-x: hidden; }
#content > .ast-container { max-width: 100% !important; padding: 0 !important; margin: 0 !important; display: block !important; }
#content #primary { width: 100% !important; margin: 0 !important; padding: 0 !important; }
#secondary { display: none !important; }

/* Hide default page titles and cart bits Astra/Woo may render */
.page .entry-header, .woocommerce-products-header__title.page-title { display: none; }
.ast-cart-menu-wrap, .woocommerce-cart-form, .widget_shopping_cart { display: none !important; }

/* === mmh.css === */
/* Mann Mohini header: floating pill + mega menu */
.mmh { --bt: 46px; --adm: 0px; --bar-h: 64px; font-family: var(--mm-font-body); }
body.admin-bar .mmh { --adm: 32px; }

.mmh-announce { height: 34px; display: flex; align-items: center; justify-content: center; background: var(--mm-maroon); color: #f1e3c4; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; padding: 0 12px; text-align: center; }
.mmh-announce b { color: var(--mm-gold-2); font-weight: 500; }
.mmh-spacer { height: 88px; }

/* pill navbar */
.mmh-bar {
	position: fixed; z-index: 100; left: 50%; transform: translateX(-50%);
	top: calc(var(--bt) + var(--adm));
	width: min(1240px, calc(100vw - 32px)); height: var(--bar-h);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: 0 12px 0 32px; border-radius: 999px;
	background: rgba(255, 252, 246, .92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	border: 1px solid rgba(184, 137, 59, .28); box-shadow: 0 10px 34px rgba(15, 27, 92, .10);
}
.mmh-logo { font-family: var(--mm-font-head); font-size: 34px; font-weight: 600; letter-spacing: .14em; color: var(--mm-maroon) !important; text-decoration: none; line-height: 1; }
.mmh-nav ul { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.mmh-top {
	display: inline-flex; align-items: center; gap: 7px; background: none; border: 0; cursor: pointer;
	font: 500 14px/1 var(--mm-font-body); color: var(--mm-ink) !important; padding: 12px 18px; border-radius: 999px;
	text-decoration: none; transition: background .2s, color .2s;
}
.mmh-top:hover, .mmh-top[aria-expanded="true"] { background: var(--mm-soft); color: var(--mm-maroon) !important; }
.mmh-chev { transition: transform .25s; }
.mmh-top[aria-expanded="true"] .mmh-chev { transform: rotate(180deg); }
.mmh-actions { display: flex; align-items: center; gap: 8px; }
.mmh-icon { width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: var(--mm-maroon); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s; }
.mmh-icon:hover { background: var(--mm-soft); }
.mmh-cta { padding: 13px 24px !important; }
.mmh-burger { display: none; flex-direction: column; gap: 5px; }
.mmh-burger span { display: block; width: 20px; height: 1.6px; background: var(--mm-maroon); border-radius: 2px; }

/* backdrop */
.mmh-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(10, 16, 50, .28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; pointer-events: none; transition: opacity .28s; }
.mmh.is-open .mmh-backdrop { opacity: 1; pointer-events: auto; }

/* mega panels */
.mmh-mega {
	position: fixed; z-index: 95; left: 50%; top: calc(var(--bt) + var(--adm) + var(--bar-h) + 12px);
	width: min(1140px, calc(100vw - 32px)); transform: translate(-50%, 10px); opacity: 0; visibility: hidden;
	background: #fffdf8; border-radius: 26px; border: 1px solid rgba(184, 137, 59, .22);
	box-shadow: 0 30px 70px rgba(10, 18, 70, .22); transition: opacity .25s, transform .25s, visibility .25s;
}
.mmh-mega[hidden] { display: block; }
.mmh-mega.is-open { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.mmh-mega:not(.mmh-mega--occ) { display: grid; grid-template-columns: 270px 1fr; overflow: hidden; }

.mmh-rail { background: var(--mm-cream); padding: 30px 22px 26px 28px; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid rgba(184, 137, 59, .18); }
.mmh-rail-h { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--mm-gold); margin: 14px 0 6px 14px; }
.mmh-rail-h:first-child { margin-top: 0; }
.mmh-rail-item { display: flex; align-items: center; justify-content: space-between; text-align: left; width: 100%; border: 0; background: transparent; cursor: pointer; padding: 13px 14px; border-radius: 14px; font: 500 15px/1.2 var(--mm-font-body); color: #262b52; transition: background .2s, color .2s; }
.mmh-rail-item svg { opacity: 0; transform: translateX(-4px); transition: all .2s; }
.mmh-rail-item:hover { background: #fff; }
.mmh-rail-item.is-active { background: var(--mm-maroon); color: #fff; }
.mmh-rail-item.is-active svg { opacity: 1; transform: none; }
.mmh-rail-all { margin: auto 0 0 14px; padding-top: 18px; font-size: 13px; color: var(--mm-maroon) !important; text-decoration: none; border-bottom: 1px solid transparent; align-self: flex-start; }
.mmh-rail-all:hover { border-color: var(--mm-maroon); }

.mmh-panes { padding: 30px 36px 32px; min-height: 380px; }
.mmh-pane { display: none; }
.mmh-pane.is-active { display: block; animation: mmFade .35s ease both; }
.mmh-pane-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 22px; }
.mmh-pane-kicker { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--mm-gold); }
.mmh-pane-head h3, .mmh-occ-head h3 { margin: 4px 0 4px; font-size: 38px; line-height: 1.05; }
.mmh-pane-head p { margin: 0; color: var(--mm-muted); font-size: 14px; }
.mmh-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.mmh-card { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--mm-ink) !important; }
.mmh-card-img { display: block; aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; background: var(--mm-soft); }
.mmh-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mmh-card:hover .mmh-card-img img { transform: scale(1.06); }
.mmh-card-t { font-family: var(--mm-font-head); font-size: 20px; line-height: 1.15; color: var(--mm-maroon); }
.mmh-card-go { font-size: 12.5px; color: var(--mm-gold); }
.mmh-soon { grid-column: 1 / -1; padding: 40px; text-align: center; border-radius: 18px; background: var(--mm-cream); color: var(--mm-muted); font-size: 14px; }

/* occasions */
.mmh-mega--occ { padding: 30px 34px 34px; }
.mmh-occ-head { margin-bottom: 22px; }
.mmh-occ-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mmh-occ-card { position: relative; display: block; aspect-ratio: 4 / 3.3; border-radius: 20px; overflow: hidden; text-decoration: none; }
.mmh-occ-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.mmh-occ-card:hover img { transform: scale(1.06); }
.mmh-occ-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8, 14, 56, .82)); }
.mmh-occ-t { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 18px; color: #fff; display: flex; flex-direction: column; gap: 3px; }
.mmh-occ-t b { font: 600 30px/1 var(--mm-font-head); }
.mmh-occ-t em { font-style: normal; font-size: 13px; color: #f1e3c4; }

/* search overlay */
.mmh-search { position: fixed; inset: 0; z-index: 200; background: rgba(251, 246, 236, .97); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.mmh-search[hidden] { display: flex; }
.mmh-search.is-open { opacity: 1; visibility: visible; }
.mmh-search form { width: min(760px, 100%); }
.mmh-search-field { display: flex; gap: 12px; margin-top: 14px; align-items: center; background: #fff; border: 1.5px solid var(--mm-maroon); border-radius: 999px; padding: 8px 8px 8px 28px; }
.mmh-search-field input[type=search] { flex: 1; border: 0; outline: 0; background: transparent; font: 400 20px var(--mm-font-body); color: var(--mm-ink); min-width: 0; box-shadow: none; }
.mmh-search-close { position: absolute; top: 24px; right: 28px; font-size: 40px; line-height: 1; background: none; border: 0; color: var(--mm-maroon); cursor: pointer; }

/* mobile drawer */
.mmh-drawer { position: fixed; z-index: 210; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); background: var(--mm-cream); padding: 22px 26px 30px; overflow-y: auto; transform: translateX(105%); transition: transform .35s ease; box-shadow: -20px 0 60px rgba(10, 18, 70, .2); }
.mmh-drawer.is-open { transform: none; }
.mmh-drawer-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.mmh-drawer-close { font-size: 38px; line-height: 1; background: none; border: 0; color: var(--mm-maroon); cursor: pointer; }
.mmh-acc-h { display: flex; width: 100%; justify-content: space-between; align-items: center; background: none; border: 0; border-bottom: 1px solid rgba(184, 137, 59, .25); padding: 18px 0; font: 600 26px var(--mm-font-head); color: var(--mm-maroon); cursor: pointer; }
.mmh-acc-h.is-open .mmh-chev { transform: rotate(180deg); }
.mmh-acc-b { display: none; padding: 8px 0 12px; }
.mmh-acc-b.is-open { display: block; }
.mmh-acc-b a { display: block; padding: 10px 6px; font-size: 15px; color: var(--mm-ink) !important; text-decoration: none; }
.mmh-acc-link { display: block; padding: 18px 0; border-bottom: 1px solid rgba(184, 137, 59, .25); font: 600 26px var(--mm-font-head); color: var(--mm-maroon) !important; text-decoration: none; }

@media (max-width: 900px) {
	.mmh-nav, .mmh-cta { display: none; }
	.mmh-burger { display: inline-flex; }
	.mmh-bar { padding-left: 24px; }
	.mmh-mega { display: none !important; }
	.mmh-logo { font-size: 30px; }
}
@media (max-width: 520px) { .mmh-announce { font-size: 10.5px; letter-spacing: .08em; } }
@media (prefers-reduced-motion: reduce) { .mmh * { transition: none !important; animation: none !important; } }


.mmh-icon svg { width: 20px !important; height: 20px !important; flex: none; display: block; }
.mmh-chev { width: 11px !important; height: 11px !important; flex: none; }
.mmh-rail-item svg { width: 12px !important; height: 12px !important; flex: none; }
.mmh-occ-card img { object-position: center 18%; }
.mmh-bar button, .mmh-drawer button { box-shadow: none; }

/* === mmhero.css === */
/* Homepage hero: emerald stage, copy left, rotating model photo right that melts into the background. */
body.home .mmh-spacer { height: 0; }
@property --c1 { syntax: '<color>'; inherits: true; initial-value: #123f31; }
@property --c2 { syntax: '<color>'; inherits: true; initial-value: #0a281f; }
@property --c3 { syntax: '<color>'; inherits: true; initial-value: #061a14; }
.mmhero { --c1: #123f31; --c2: #0a281f; --c3: #061a14; position: relative; width: 100%; overflow: hidden; color: #fff; background: radial-gradient(90% 120% at 18% 40%, var(--c1) 0%, var(--c2) 55%, var(--c3) 100%); transition: --c1 1.4s ease, --c2 1.4s ease, --c3 1.4s ease; }
/* backdrop follows the photo: emerald, royal navy, maroon, antique gold, plum */
.mmhero[data-tone='1'] { --c1: #1b2f8a; --c2: #0f1d5e; --c3: #080f38; }
.mmhero[data-tone='2'] { --c1: #74202f; --c2: #4a1220; --c3: #2b0913; }
.mmhero[data-tone='3'] { --c1: #85601a; --c2: #54390f; --c3: #33220a; }
.mmhero[data-tone='4'] { --c1: #52276f; --c2: #341749; --c3: #1e0c2d; }
.mmhero-inner { position: relative; max-width: 1400px; margin: 0 auto; min-height: clamp(600px, calc(100svh - 110px), 760px); padding: 118px 24px 44px; display: flex; align-items: center; }
.mmhero-copy { position: relative; z-index: 3; width: min(620px, 52%); display: flex; flex-direction: column; gap: 22px; }
.mmhero-title { margin: 0; font: 500 clamp(42px, 5vw, 76px)/1.05 var(--mm-font-head); color: #fff; letter-spacing: -.005em; }
.mmhero-title em { font-style: normal; color: #d9ac4f; }
.mmhero-sub { margin: 0; font: 300 clamp(17px, 1.6vw, 21px)/1.65 var(--mm-font-body); color: rgba(255, 255, 255, .9); max-width: 44ch; }
.mmhero-cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 4px; }
.mmhero-btn { display: inline-flex; align-items: center; gap: 12px; padding: 18px 36px; background: #b8893b; color: #fff !important; font: 500 15px/1 var(--mm-font-body); letter-spacing: .16em; text-transform: uppercase; text-decoration: none; border-radius: 3px; transition: background .25s, transform .25s; }
.mmhero-btn:hover { background: #cf9f4a; transform: translateY(-2px); }
.mmhero-btn i { font-style: normal; font-size: 16px; }
.mmhero-look, .mmhero-look b, .mmhero-look em { text-decoration: none !important; }
.mmhero-look { display: flex; flex-direction: column; gap: 3px; text-decoration: none; min-width: 0; max-width: 250px; border-left: 1px solid rgba(217, 172, 79, .55); padding-left: 16px; }
.mmhero-look em { font-style: normal; font: 500 12px var(--mm-font-body); letter-spacing: .24em; text-transform: uppercase; color: #d9ac4f; }
.mmhero-look b { font: 500 18px/1.25 var(--mm-font-head); color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.mmhero-look:hover b { color: #d9ac4f; }

.mmhero-trust { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 18px 26px; }
.mmhero-trust li { display: flex; align-items: center; gap: 10px; color: #d9ac4f; }
.mmhero-trust span { font: 400 13.5px/1.35 var(--mm-font-body); color: rgba(255, 255, 255, .8); letter-spacing: .02em; }

/* photo */
.mmhero-photo { position: absolute; top: 96px; right: 0; bottom: 0; width: clamp(440px, 46vw, 720px); z-index: 1; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28%), linear-gradient(to bottom, transparent 0, #000 46px); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent 0, #000 28%), linear-gradient(to bottom, transparent 0, #000 46px); mask-composite: intersect; }
.mmhero .mmhero-photo .mmhero-slide { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: 50% 3%; transform-origin: 50% 0; opacity: 0; transform: scale(1.04); transition: opacity 1.4s ease, transform 7s ease-out; }
.mmhero .mmhero-photo .mmhero-slide.is-on { opacity: 1; transform: scale(1); }
.mmhero-ctrl { position: absolute; right: 28px; bottom: 30px; z-index: 4; display: flex; align-items: center; gap: 10px; }
.mmhero-count { font: 400 14px var(--mm-font-body); letter-spacing: .12em; color: rgba(255, 255, 255, .8); margin-right: 8px; }
.mmhero-count b { font-weight: 500; color: #fff; }
.mmhero-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .55); background: rgba(6, 26, 20, .35); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0 0 3px; transition: background .2s, border-color .2s; }
.mmhero-arrow:hover { background: #b8893b; border-color: #b8893b; }
.mmhero-bar { position: absolute; left: 28%; right: 0; bottom: 0; height: 3px; z-index: 4; background: rgba(255, 255, 255, .12); }
.mmhero-bar i { display: block; height: 100%; width: 100%; background: #d9ac4f; transform: scaleX(0); transform-origin: left; }
.mmhero-bar.is-run i { animation: mmheroFill 5s linear forwards; }
@keyframes mmheroFill { to { transform: scaleX(1); } }

/* compact hero above product listings */
.mmhero-kicker { display: inline-flex; align-items: center; gap: 12px; font: 500 14px/1 var(--mm-font-body); letter-spacing: .3em; text-transform: uppercase; color: #d9ac4f; }
.mmhero-kicker::before { content: ''; width: 30px; height: 1px; background: currentColor; }
/* same full-size stage as the homepage hero */
.mmhero--page .mmhero-copy { gap: 20px; }
.mmhero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; max-width: 520px; }
.mmhero-chips a { padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 99px; color: #fff !important; font: 400 14.5px var(--mm-font-body); letter-spacing: .04em; text-decoration: none !important; transition: background .2s, border-color .2s; }
.mmhero-chips a:hover { border-color: #d9ac4f; }
.mmhero-chips a.is-on { background: #b8893b; border-color: #b8893b; }
.elementor .mmpage-hero, .elementor .mmpage-hero > .e-con-inner, .elementor .mmpage-hero .elementor-widget, .elementor .mmpage-hero .elementor-widget-container, .elementor .mmpage-hero .elementor-shortcode { --content-width: 100%; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; align-self: stretch !important; flex: 1 1 100%; }
.elementor .mmpage-hero { display: block !important; }

/* category photo tiles (fixed by the client; keep as is) */
.mmhero-tilesec { background: var(--v-ivory, #faf3e6); padding: 0 24px; }
.mmhero-tiles { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(9, 1fr); gap: 10px; padding: 24px 0; border-top: 1px solid rgba(15, 27, 92, .12); border-bottom: 1px solid rgba(15, 27, 92, .12); }
.mmhero-tile { display: flex; flex-direction: column; align-items: center; gap: 10px; text-decoration: none; }
.mmhero-tile span { width: clamp(66px, 7vw, 96px); aspect-ratio: 1; border-radius: 50%; background-size: cover; background-position: center; background-color: var(--mm-soft, #f1eee6); outline: 1px solid var(--v-gold, #c9a050); outline-offset: 4px; transition: transform .35s; }
.mmhero-tile:hover span { transform: scale(1.06); }
.mmhero-tile b { font: 500 14px var(--mm-font-body); color: var(--mm-maroon, #0f1b5c); text-align: center; letter-spacing: .02em; }

@media (max-width: 1000px) { .mmhero-title { font-size: clamp(38px, 6vw, 56px); } .mmhero-tiles { grid-template-columns: repeat(5, 1fr); row-gap: 20px; } .mmhero-copy { width: min(480px, 52%); } }
@media (max-width: 800px) {
	.mmhero--page .mmhero-inner { padding-top: 0; }
	.mmhero-inner { display: block; padding: 0 0 34px; min-height: 0; }
	.mmhero-photo { position: relative; top: auto; width: 100%; height: clamp(360px, 112vw, 560px); margin-top: 92px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 40px, #000 62%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 40px, #000 62%, transparent 100%); -webkit-mask-composite: source-over; mask-composite: add; }
	.mmhero-bar { left: 0; }
	.mmhero-copy { width: 100%; padding: 6px 22px 0; margin-top: -30px; }
	.mmhero-ctrl { right: 16px; bottom: 44px; }
	.mmhero-look { max-width: none; }
	.mmhero-trust { gap: 16px 20px; }
}
@media (max-width: 560px) { .mmhero-tiles { grid-template-columns: repeat(3, 1fr); } }
@media (prefers-reduced-motion: reduce) { .mmhero .mmhero-photo .mmhero-slide { transition: opacity .8s; transform: none !important; } }
/* === mmt.css === */
/* Site-wide type scale (loaded last, wins over every section stylesheet).
   Body 16px | page title 26-34px | section headings 24-32px | sub-headings 18-22px | card titles 16-19px | lead text 17-20px.
   Header design is untouched; the hero headline keeps its own size. */
:root { --mmt-h1: clamp(32px, 3vw, 44px); --mmt-h2: clamp(28px, 2.8vw, 40px); --mmt-h3: clamp(19px, 1.5vw, 24px); --mmt-card: clamp(17px, 1.3vw, 20px); }
body #content h1:not(.mmhero-title), body .elementor-location-single h1, body #content .elementor-widget-theme-post-title h1 { font-size: var(--mmt-h1) !important; line-height: 1.2 !important; }
body #content h2, body #content h2 .elementor-heading-title, body #content .mmv-sec .mm-h2 .elementor-heading-title, body #content .elementor-widget-heading h2.elementor-heading-title,
body .elementor-location-footer h2, body footer h2, body .mmf h2 { font-size: var(--mmt-h2) !important; line-height: 1.18 !important; }
body #content h3, body #content summary, body .elementor-location-footer h3 { font-size: var(--mmt-h3) !important; line-height: 1.25 !important; }
body #content h4 { font-size: 16px !important; }
body #content .mmx-pbody h3, body #content .mmx-ccard h3, body #content .mmx-wcard h3, body #content .mmx-lcard h3,
body #content h2.woocommerce-loop-product__title, body #content .woocommerce-loop-product__title, body #content ul.products li.product h2, body #content ul.products li.product h3 { font-size: var(--mmt-card) !important; line-height: 1.3 !important; }
body #content .mmp-lead, body #content .mmp-story p:first-of-type { font-size: clamp(16px, 1.3vw, 19px) !important; line-height: 1.7 !important; }
body #content .mmp-num { font-size: clamp(34px, 3.4vw, 46px) !important; }
body #content .mmv-arch-t b { font-size: clamp(20px, 1.8vw, 26px); }
body #content .mmv-occ-list em { font-size: clamp(18px, 1.7vw, 24px); }
body #content .mmv-occ-list b { font-size: clamp(20px, 1.9vw, 27px); }
body #content .mmb-gift-t b, body #content .mma-seller-t b { font-size: clamp(18px, 1.5vw, 22px); }
body #content .mmv-sec .mmx-ccard::before { font-size: clamp(36px, 3.6vw, 50px); }
body #content .mmx-banner-in h2 em, body #content .mmu-enq-l h2 em, body #content h2 em, body footer h2 em { font-size: inherit; }
body .mmf-logo { font-size: 34px !important; }
body #content .price, body #content .amount { font-size: inherit; }

/* rails of tall photo cards must never be stretched to the tallest neighbour */
body #content .mmx-rail:has(> .mmx-reel), body #content .mmx-rail:has(> .mmx-ocard) { align-items: flex-start; }
body #content .mmx-rail > .mmx-reel, body #content .mmx-rail > .mmx-ocard { align-self: flex-start; flex: none; }
body #content .mmx-reel { height: auto; max-height: none; }
body #content .mmx-rail { padding-bottom: 14px; }
body #content .mmx-limg, body #content .mmx-style-img, body #content .mmr-look-img { align-self: start; }
html, html body { scroll-behavior: auto !important; }
body #content .mmx-ocard-t b, body #content .mmx-style-l, body #content .mmx-reel figcaption, body #content .mmb-filters-t, body #content .mmb-filter-h b { font-size: clamp(16px, 1.3vw, 20px) !important; }
body #content .mmx-ocard-t em { font-size: 14px; }
body #content .mmx-values b, body #content .mmx-help b { font-size: clamp(16px, 1.3vw, 19px); }
body #content .mmp-tab, body #content .mmsg-tab { font-size: 15px; }
body #content .mmp-row b { font-size: clamp(16px, 1.3vw, 19px) !important; }
body #content .mmp-row span, body #content .mmp-row p { font-size: 15px; }

/* page-title bands and hero-like headers are larger than ordinary headings */
body #content .mmv-first h1, body #content .mmv-band h1, body #content .mmv-first .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(38px, 4.6vw, 64px) !important; line-height: 1.08 !important; }
body #content .mmv-first .mm-h2 h1, body #content .mmv-first h1 .mm-hl { font-size: inherit !important; }
body #content .mmv-first .mmx-kchip, body #content .mmv-band .mmx-kchip { font-size: 13px; }
body #content .mmv-first p, body #content .mmv-band p { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.7; }
body #content .mmpx-title { font-size: clamp(32px, 3.2vw, 46px) !important; line-height: 1.12 !important; }
body #content .mmpx-sub { font-size: clamp(16.5px, 1.3vw, 19px); }
/* === mmx.css === */
/* Homepage sections - upGrad rhythm, Mann Mohini palette */
.mm-h2 .elementor-heading-title { font-family: var(--mm-font-head) !important; font-weight: 600 !important; font-size: clamp(30px, 3.6vw, 48px) !important; line-height: 1.1 !important; color: var(--mm-ink) !important; }
.mm-h2 .elementor-heading-title .mm-hl, .mmx-help h2 em, .mmx-banner h2 em { font-style: italic; color: var(--mm-gold); font-weight: 600; }
.mm-h2--light .elementor-heading-title { color: #fff !important; }
.mm-h2--light .elementor-heading-title .mm-hl { color: var(--mm-gold-2); }
.mmx-kchip { display: inline-block; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; background: var(--mm-maroon); color: #fff; padding: 8px 16px; border-radius: 999px; }
.mmx-kchip--soft { background: var(--mm-soft); color: var(--mm-maroon); }
.mmx-kchip--light { background: rgba(255, 255, 255, .16); color: #fff; border: 1px solid rgba(255, 255, 255, .35); }
.mmx-center { text-align: center; margin-top: 8px; }
.mm-btn--light { background: #fff; color: var(--mm-maroon) !important; border-color: #fff; }
.mm-btn--light:hover { background: var(--mm-gold); border-color: var(--mm-gold); color: #fff !important; }

/* values strip */
.mmx-values { text-align: center; }
.mmx-values-t { font: 500 clamp(17px, 1.7vw, 21px) var(--mm-font-body); color: #9a9db3; margin-bottom: 26px; }
.mmx-values-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 46px; }
.mmx-value { display: inline-flex; align-items: center; gap: 12px; color: var(--mm-maroon); font: 500 15px var(--mm-font-body); }
.mmx-value svg { color: var(--mm-gold); width: 26px !important; height: 26px !important; }

/* rails and arrows */
.mmx-railwrap { position: relative; }
.mmx-arrows { position: absolute; right: 0; top: -84px; display: flex; gap: 10px; }
.mmx-arrow { width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--mm-maroon); background: #fff; color: var(--mm-maroon); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: all .25s; }
.mmx-arrow:hover { background: var(--mm-maroon); color: #fff; }
.mmx-arrow svg { width: 20px !important; height: 20px !important; }
.mmx-railwrap--dark .mmx-arrow { background: transparent; border-color: rgba(255, 255, 255, .5); color: #fff; }
.mmx-railwrap--dark .mmx-arrow:hover { background: var(--mm-gold); border-color: var(--mm-gold); }
.mmx-rail { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 2px 10px; }
.mmx-rail::-webkit-scrollbar { display: none; }
.mmx-rail > * { scroll-snap-align: start; flex: none; }

/* product cards */
.mmx-pcard { width: 340px; background: #fff; border: 1px solid #eadfd2; border-radius: 22px; padding: 12px; display: flex; flex-direction: column; transition: box-shadow .3s, transform .3s; }
.mmx-pcard:hover { box-shadow: 0 18px 44px rgba(15, 27, 92, .12); transform: translateY(-3px); }
.mmx-pimg { position: relative; display: block; aspect-ratio: 4 / 4.4; border-radius: 16px; background-size: cover; background-position: center; background-color: var(--mm-soft); }
.mmx-tag { position: absolute; left: 12px; top: 12px; background: rgba(255, 252, 246, .95); color: var(--mm-maroon); font: 500 12px var(--mm-font-body); padding: 7px 13px; border-radius: 999px; }
.mmx-pbody { padding: 16px 8px 8px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.mmx-pbody h3 { margin: 0; font-size: 24px; line-height: 1.15; }
.mmx-pbody h3 a { color: var(--mm-maroon) !important; text-decoration: none; }
.mmx-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.mmx-meta li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: #4f5470; }
.mmx-meta svg { color: var(--mm-gold); width: 18px !important; height: 18px !important; flex: none; }
.mmx-pbtns { display: flex; gap: 10px; margin-top: auto; padding-top: 6px; flex-wrap: wrap; }
.mmx-pbtns .mm-btn { flex: 1; min-width: 0; padding-left: 14px; padding-right: 14px; }
.mmx-soon { pointer-events: none; min-width: 0 !important; justify-content: center !important; }
.mmx-pcard--more { align-items: center; justify-content: center; text-align: center; background: var(--mm-cream); border-style: dashed; border-color: var(--mm-gold); padding: 30px; }
.mmx-pcard--more > div { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mmx-pcard--more svg { color: var(--mm-gold); width: 34px !important; height: 34px !important; }
.mmx-pcard--more h3 { margin: 0; font-size: 26px; }
.mmx-pcard--more p { margin: 0 0 6px; color: var(--mm-muted); font-size: 14px; }

/* occasion cards */
.mmx-ocard { position: relative; width: 340px; aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; background-size: cover; background-position: center 20%; text-decoration: none; display: block; transition: transform .35s; }
.mmx-ocard::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(8, 14, 56, .85)); }
.mmx-ocard:hover { transform: translateY(-4px); }
.mmx-ocard-t { position: absolute; z-index: 2; left: 22px; right: 70px; bottom: 20px; color: #fff; display: flex; flex-direction: column; gap: 4px; }
.mmx-ocard-t b { font: 600 30px/1 var(--mm-font-head); }
.mmx-ocard-t em { font-style: normal; font-size: 13px; color: #f1e3c4; }
.mmx-go { position: absolute; z-index: 2; right: 18px; bottom: 18px; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--mm-maroon); display: inline-flex; align-items: center; justify-content: center; transition: all .25s; }
.mmx-go svg { width: 20px !important; height: 20px !important; }
.mmx-ocard:hover .mmx-go { background: var(--mm-gold); color: #fff; }

/* complete the look */
.mmx-look { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mmx-lcard { background: #fff; border: 1px solid #eadfd2; border-radius: 22px; padding: 14px 14px 26px; }
.mmx-limg { aspect-ratio: 4 / 3.1; border-radius: 16px; background-size: 210%; background-color: var(--mm-soft); margin-bottom: 18px; }
.mmx-lcard h3 { margin: 0 8px 10px; font-size: 28px; }
.mmx-lcard ul { margin: 0 8px; padding-left: 18px; color: #4f5470; font-size: 14px; line-height: 1.9; }
.mmx-lcard li::marker { color: var(--mm-gold); }

/* banner */
.mmx-banner { position: relative; min-height: 460px; border-radius: 30px; overflow: hidden; background-size: cover; background-position: center 30%; display: flex; align-items: center; isolation: isolate; }
.mmx-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 14, 56, .88) 0%, rgba(8, 14, 56, .55) 48%, rgba(8, 14, 56, .1) 100%); }
.mmx-banner-in { padding: 50px clamp(26px, 5vw, 70px); max-width: 640px; color: #fff; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.mmx-banner h2 { margin: 0; color: #fff !important; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.05; }
.mmx-banner h2 em { color: var(--mm-gold-2); }
.mmx-banner p { margin: 0; color: #f1e3c4; font-size: 16px; line-height: 1.7; }

/* style tiles */
.mmx-styles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.mmx-style { display: block; text-decoration: none; }
.mmx-style-img { display: block; aspect-ratio: 1 / 1; border-radius: 20px; background-size: cover; background-position: center 25%; transition: transform .4s, box-shadow .4s; }
.mmx-style:hover .mmx-style-img { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(15, 27, 92, .16); }
.mmx-style-l { display: flex; justify-content: space-between; align-items: center; padding: 12px 6px 0; font: 600 22px var(--mm-font-head); color: var(--mm-maroon); }
.mmx-style-l svg { width: 20px !important; height: 20px !important; color: var(--mm-gold); transition: transform .25s; }
.mmx-style:hover .mmx-style-l svg { transform: translateX(4px); }

/* where to buy + craft cards */
.mmx-where, .mmx-craft { display: grid; gap: 20px; }
.mmx-where { grid-template-columns: repeat(3, 1fr); }
.mmx-craft { grid-template-columns: repeat(4, 1fr); }
.mmx-wcard, .mmx-ccard { background: var(--mm-cream); border: 1px solid #eadfd2; border-radius: 22px; padding: 28px 26px 30px; }
.mmx-wcard h3, .mmx-ccard h3 { margin: 16px 0 8px; font-size: 26px; line-height: 1.12; }
.mmx-wcard p, .mmx-ccard p { margin: 0; color: #4f5470; font-size: 14px; line-height: 1.7; }
.mmx-wic { display: inline-flex; width: 52px; height: 52px; border-radius: 50%; background: var(--mm-maroon); color: var(--mm-gold-2); align-items: center; justify-content: center; }
.mmx-wic svg { width: 24px !important; height: 24px !important; }

/* dark lookbook */
.mmx-reel { position: relative; margin: 0; width: 260px; aspect-ratio: 9 / 15; border-radius: 22px; overflow: hidden; background-size: cover; background-position: center 22%; }
.mmx-reel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(5, 8, 30, .85)); }
.mmx-reel figcaption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; color: #fff; font: 600 22px var(--mm-font-head); }

/* faq */
.mmx-faq { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.mmx-faq details { background: #fff; border: 1px solid #eadfd2; border-radius: 18px; padding: 0 26px; transition: box-shadow .25s; }
.mmx-faq details[open] { box-shadow: 0 14px 34px rgba(15, 27, 92, .08); border-color: var(--mm-gold); }
.mmx-faq summary { list-style: none; cursor: pointer; padding: 22px 0; font: 600 23px var(--mm-font-head); color: var(--mm-maroon); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.mmx-faq summary::-webkit-details-marker { display: none; }
.mmx-faq summary i { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--mm-soft); position: relative; }
.mmx-faq summary i::before, .mmx-faq summary i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.6px; background: var(--mm-maroon); transform: translate(-50%, -50%); }
.mmx-faq summary i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .25s; }
.mmx-faq details[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.mmx-faq details p { margin: 0 0 24px; color: #4f5470; font-size: 15px; line-height: 1.8; }

/* help strip */
.mmx-help { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; background: var(--mm-champagne); border-radius: 30px; padding: clamp(28px, 4vw, 54px); }
.mmx-help > div:first-child { display: flex; flex-direction: column; gap: 12px; max-width: 620px; align-items: flex-start; }
.mmx-help h2 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; }
.mmx-help p { margin: 0; color: #4f5470; }
.mmx-help-btns { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 1000px) {
	.mmx-look, .mmx-where { grid-template-columns: 1fr; }
	.mmx-craft, .mmx-styles { grid-template-columns: repeat(2, 1fr); }
	.mmx-arrows { position: static; justify-content: flex-end; margin-bottom: 14px; }
}
@media (max-width: 560px) {
	.mmx-pcard, .mmx-ocard { width: 82vw; }
	.mmx-reel { width: 62vw; }
	.mmx-craft { grid-template-columns: 1fr; }
	.mmx-banner::before { background: linear-gradient(180deg, rgba(8, 14, 56, .5), rgba(8, 14, 56, .9)); }
	.mmx-banner { align-items: flex-end; }
}

/* === mmr.css === */
/* ==========================================================================
   Mann Mohini refinement layer - international-grade polish.
   Loaded last; it tightens type, shapes, spacing and motion across the site.
   ========================================================================== */
:root {
	--mm-font-body: 'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mm-gold-text: #8a6422;           /* AA-contrast gold for small text on light backgrounds */
	--mm-hair: rgba(15, 27, 92, .10);  /* hairline borders */
	--mm-radius: 12px;
}
body { font-family: var(--mm-font-body); font-weight: 400; font-size: 16px; line-height: 1.65; letter-spacing: .005em; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { font-weight: 500; letter-spacing: 0; }

/* focus + selection */
:focus-visible { outline: 2px solid var(--mm-gold); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--mm-maroon); color: #fff; }

/* ---------- type scale ---------- */
.mm-h2 .elementor-heading-title { font-weight: 500 !important; font-size: clamp(36px, 4.4vw, 60px) !important; line-height: 1.04 !important; letter-spacing: -.005em; }
.mm-h2 .elementor-heading-title .mm-hl { font-weight: 500; }

/* section label: hairline + tracked caps instead of filled chip */
.mmx-kchip, .mmx-kchip--soft { display: inline-flex; align-items: center; gap: 14px; background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0; font: 500 12px/1 var(--mm-font-body); letter-spacing: .3em; text-transform: uppercase; color: var(--mm-gold-text) !important; }
.mmx-kchip::before { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.mmx-kchip--light { color: var(--mm-gold-2) !important; }
.mmh-pane-kicker, .mmh-rail-h, .mmhero-kicker { color: var(--mm-gold-text); }
.mmhero-kicker { color: var(--mm-gold-2); }
.mmh-card-go { color: var(--mm-gold-text); }
.mmx-values-t { letter-spacing: .04em; font-weight: 400; }

/* ---------- buttons: quieter, more precise ---------- */
.mm-btn { font-family: var(--mm-font-body); font-weight: 500; letter-spacing: .04em; padding: 16px 32px; }
.mm-btn--sm { padding: 13px 24px; font-size: 13.5px; letter-spacing: .05em; }
.mm-btn--primary { box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset; }
.mmr-textlink { display: inline-block; font-size: 13.5px; letter-spacing: .04em; color: var(--mm-maroon) !important; border-bottom: 1px solid rgba(15, 27, 92, .35); padding-bottom: 2px; text-decoration: none; transition: color .2s, border-color .2s; }
.mmr-textlink:hover { color: var(--mm-gold-text) !important; border-color: var(--mm-gold-text); }

/* ---------- shapes: hairlines over shadows, smaller radii ---------- */
.mmx-pcard { border: 1px solid var(--mm-hair); border-radius: 14px; padding: 10px 10px 8px; box-shadow: none; }
.mmx-pcard:hover { box-shadow: 0 22px 50px -24px rgba(15, 27, 92, .35); transform: translateY(-2px); }
.mmx-pimg { border-radius: 9px; aspect-ratio: 4 / 4.8; overflow: hidden; }
.mmx-pimg .mmr-swap, .woocommerce ul.products li.product .mmr-swap { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .55s ease; border-radius: inherit; }
.mmx-pcard:hover .mmr-swap { opacity: 1; }
.mmx-tag { border-radius: 4px; letter-spacing: .08em; font-size: 11px; text-transform: uppercase; padding: 6px 10px; background: rgba(255, 255, 255, .94); color: var(--mm-maroon); }
.mmx-pbody { padding: 18px 8px 10px; gap: 10px; }
.mmx-pbody h3 { font-weight: 500; font-size: 26px; }
.mmx-meta li { font-size: 13.5px; color: var(--mm-muted); }
.mmx-pbtns { flex-direction: column; align-items: stretch; gap: 14px; padding-top: 10px; }
.mmx-pbtns .mm-btn { flex: none; width: 100%; }
.mmx-pbtns .mmr-textlink { align-self: center; }
.mmx-ocard, .mmx-lcard, .mmx-wcard, .mmx-ccard { border-radius: 14px; }
.mmx-limg, .mmx-style-img { border-radius: 10px; }
.mmx-style-img { aspect-ratio: 4 / 5; }
.mmx-reel { border-radius: 14px; }
.mmx-banner, .mmx-help { border-radius: 20px; }
.mmx-lcard, .mmx-wcard, .mmx-ccard { border: 1px solid var(--mm-hair); background: #fff; }
.mmx-wcard, .mmx-ccard { background: var(--mm-cream); }
.mmx-faq details { border-radius: 12px; border: 1px solid var(--mm-hair); }
.mmx-faq details[open] { border-color: rgba(184, 137, 59, .6); box-shadow: none; }
.mmx-arrow { width: 44px; height: 44px; border-width: 1px; }
.mmx-style-l { font-weight: 500; }
.mmhero { border-radius: 0 0 36px 36px; }

/* ---------- section rhythm: more air ---------- */
[data-elementor-type="wp-page"] > .e-con:not(:first-child) { --padding-top: clamp(64px, 8vw, 120px); --padding-bottom: clamp(64px, 8vw, 120px); }
.mmx-values-row { gap: 16px 56px; }
.mmx-rail { gap: 24px; }

/* ---------- reveal on scroll ---------- */
.mmr-js .mmr-rv { opacity: 0; transform: translateY(24px); transition: opacity .9s cubic-bezier(.2, .7, .2, 1), transform .9s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--mmr-d, 0ms); }
.mmr-js .mmr-rv.mmr-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .mmr-js .mmr-rv { opacity: 1; transform: none; transition: none; } }

/* ---------- shop the look ---------- */
.mmr-look { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.mmr-look-img { position: relative; aspect-ratio: 4 / 5; border-radius: 16px; background-size: cover; background-position: center; }
.mmr-look-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.mmr-look-copy h2 { margin: 0; font-size: clamp(36px, 4.4vw, 58px); line-height: 1.04; font-weight: 500; }
.mmr-look-copy h2 em { color: var(--mm-gold); font-style: italic; }
.mmr-look-copy p { margin: 0; color: var(--mm-muted); max-width: 46ch; }
.mmr-dot { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; z-index: 3; }
.mmr-dot::before { content: ''; position: absolute; inset: -14px; }              /* larger invisible tap target */
.mmr-dot i { position: absolute; inset: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: 0 0 0 1px rgba(15, 27, 92, .35), 0 2px 8px rgba(8, 14, 56, .35); transition: transform .25s; }
.mmr-dot i::after { content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .75); animation: mmrPulse 2.8s ease-out infinite; }
.mmr-dot:hover i, .mmr-dot:focus-visible i { transform: scale(1.35); }
@keyframes mmrPulse { from { transform: scale(.7); opacity: .9; } to { transform: scale(1.7); opacity: 0; } }
.mmr-tip { position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translate(-50%, 6px); width: 200px; background: #fff; border-radius: 8px; padding: 10px 12px; opacity: 0; visibility: hidden; transition: all .25s; box-shadow: 0 14px 34px rgba(8, 14, 56, .3); display: flex; flex-direction: column; gap: 2px; pointer-events: none; }
.mmr-tip b { font: 500 18px/1.1 var(--mm-font-head); color: var(--mm-maroon); }
.mmr-tip em { font-style: normal; font-size: 12px; color: var(--mm-muted); }
.mmr-dot:hover .mmr-tip, .mmr-dot:focus-visible .mmr-tip { opacity: 1; visibility: visible; transform: translate(-50%, 0); }.mmr-product { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; width: min(420px, 100%); padding: 10px 18px 10px 10px; border: 1px solid var(--mm-hair); border-radius: 12px; text-decoration: none; background: #fff; transition: border-color .25s, box-shadow .25s; }
.mmr-product:hover { border-color: var(--mm-gold); box-shadow: 0 16px 34px -20px rgba(15, 27, 92, .4); }
.mmr-product-img { width: 64px; height: 76px; border-radius: 8px; background-size: cover; background-position: center; }
.mmr-product-t { display: flex; flex-direction: column; gap: 2px; }
.mmr-product-t b { font: 500 20px/1.15 var(--mm-font-head); color: var(--mm-maroon); }
.mmr-product-t em { font-style: normal; font-size: 12.5px; color: var(--mm-muted); }
.mmr-product-go { color: var(--mm-maroon); font-size: 20px; }

/* ---------- product page ---------- */
.single-product .woocommerce-breadcrumb { font-size: 12.5px; letter-spacing: .06em; color: var(--mm-muted); margin: 0 0 8px; }
.single-product .woocommerce-breadcrumb a { color: var(--mm-muted); text-decoration: none; }
.single-product .woocommerce-breadcrumb a:hover { color: var(--mm-maroon); }
.single-product .woocommerce-product-gallery { position: sticky !important; top: 118px; align-self: flex-start; }
.single-product .woocommerce-product-gallery__image img { border-radius: 12px; }
.single-product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 12px !important; }
.single-product .flex-control-thumbs li { width: 100% !important; float: none !important; }
.single-product .flex-control-thumbs img { border-radius: 8px; opacity: .6; transition: opacity .2s; cursor: pointer; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
.single-product .product_title { font-weight: 500 !important; letter-spacing: -.005em; line-height: 1.04 !important; }
.mmr-reassure { list-style: none; margin: 4px 0 6px; padding: 18px 0; border-top: 1px solid var(--mm-hair); border-bottom: 1px solid var(--mm-hair); display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mmr-reassure li { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: 12.5px; line-height: 1.35; color: var(--mm-muted); }
.mmr-reassure svg { color: var(--mm-gold-text); width: 24px !important; height: 24px !important; }
.mmr-acc details { border-bottom: 1px solid var(--mm-hair); }
.mmr-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 20px 0; font: 500 24px var(--mm-font-head); color: var(--mm-maroon); }
.mmr-acc summary::-webkit-details-marker { display: none; }
.mmr-acc summary i { position: relative; width: 16px; height: 16px; flex: none; }
.mmr-acc summary i::before, .mmr-acc summary i::after { content: ''; position: absolute; left: 0; top: 50%; width: 16px; height: 1.4px; background: var(--mm-maroon); transition: transform .25s; }
.mmr-acc summary i::after { transform: rotate(90deg); }
.mmr-acc details[open] summary i::after { transform: rotate(0); }
.mmr-acc-b { padding: 0 0 22px; color: var(--mm-muted); font-size: 15px; line-height: 1.8; }
.mmr-acc-b p { margin: 0 0 12px; }
.mmr-acc-b ul:not(.mm-spec) { padding-left: 18px; }
.mmr-acc-b li::marker { color: var(--mm-gold); }
.mmr-sticky { display: none; }
@media (max-width: 900px) {
	.single-product .woocommerce-product-gallery { position: static; }
	.mmr-look { grid-template-columns: 1fr; }
	.mmr-sticky { position: fixed; z-index: 120; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--mm-hair); }
	.mmr-sticky-t { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
	.mmr-sticky-t b { font: 500 17px var(--mm-font-head); color: var(--mm-maroon); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.mmr-sticky-t em { font-style: normal; font-size: 11.5px; color: var(--mm-muted); }
	.mmr-sticky .mm-btn { flex: none; }
	.single-product .mm-fab--wa { bottom: 84px; }
	.single-product .mm-fab--top { bottom: 148px; }
}

/* ---------- shop archive cards ---------- */
.woocommerce ul.products li.product { background: transparent; border-radius: 0; padding: 0 0 10px; text-align: left; overflow: visible; box-shadow: none !important; transform: none !important; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { position: relative; display: block; }
.woocommerce ul.products li.product img { border-radius: 10px; margin: 0 0 16px; transition: transform .7s; }
.woocommerce ul.products li.product .mmr-swap { top: 0; bottom: auto; height: auto; aspect-ratio: 3 / 4; }
.woocommerce ul.products li.product:hover .mmr-swap { opacity: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 500; font-size: 24px; padding: 0; line-height: 1.15; }
.woocommerce ul.products li.product .mm-btn { margin-top: 12px; }

/* ---------- footer ---------- */
.mmf { background: #0a1240; color: #d9dcec; }
.mmf a { color: #d9dcec; text-decoration: none; transition: color .2s; }
.mmf a:hover { color: var(--mm-gold-2); }
.mmf-in { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.mmf-top { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; padding: 80px 0 64px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.mmf-top h2 { margin: 0 0 10px; color: #fff; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; font-weight: 500; }
.mmf-top h2 em { color: var(--mm-gold-2); }
.mmf-top p { margin: 0; color: #aeb3d0; max-width: 46ch; }
.mmf-form { display: flex; gap: 10px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: 6px 6px 6px 24px; }
.mmf-form input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: #fff; font: 400 15px var(--mm-font-body); box-shadow: none; }
.mmf-form input::placeholder { color: #98a0c4; }
.mmf-form button { border: 0; border-radius: 999px; background: var(--mm-gold); color: #fff; font: 500 14px var(--mm-font-body); letter-spacing: .05em; padding: 14px 26px; cursor: pointer; transition: background .2s; }
.mmf-form button:hover { background: var(--mm-gold-2); }
.mmf-cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 48px; padding: 64px 0 56px; }
.mmf-logo { font: 600 44px/1 var(--mm-font-head); letter-spacing: .14em; color: var(--mm-gold-2); }
.mmf-cols p { color: #aeb3d0; font-size: 14.5px; max-width: 34ch; }
.mmf h4 { margin: 0 0 18px; font: 500 12px var(--mm-font-body); letter-spacing: .28em; text-transform: uppercase; color: var(--mm-gold-2); }
.mmf ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 14.5px; }
.mmf-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.mmf-tags span { border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; padding: 7px 14px; font-size: 12.5px; color: #d9dcec; }
.mmf-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 24px 0 34px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: #98a0c4; }
@media (max-width: 900px) { .mmf-top { grid-template-columns: 1fr; padding: 56px 0 44px; } .mmf-cols { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 520px) { .mmf-cols { grid-template-columns: 1fr; } .mmf-form { flex-direction: column; border-radius: 22px; padding: 10px; } .mmf-form input { padding: 12px 14px; } .mmf-form button { width: 100%; } }

/* archive header polish */
.mmr-archive-h { text-align: center; }

.mmf-msg { margin: 12px 4px 0; font-size: 14px; }
.mmf-msg--ok { color: #9fe0b8; }
.mmf-msg--err { color: #ffb4b4; }

/* === mmb.css === */
/* Benchmarked features: filters, wishlist, guides, gift tiles, stylist help, search suggestions */

/* ---------- announcement rotator ---------- */
.mmh-announce { position: relative; overflow: hidden; }
.mmh-msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(8px); transition: opacity .5s, transform .5s; pointer-events: none; padding: 0 12px; text-align: center; }
.mmh-msg.is-on { opacity: 1; transform: none; pointer-events: auto; }
.mmh-msg a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(241, 227, 196, .5); }
.mmh-msg a:hover { color: var(--mm-gold-2); }
.mmh-msg b { color: var(--mm-gold-2); font-weight: 500; }

/* ---------- header wishlist ---------- */
.mmh-wish { position: relative; }
.mmh-wish svg { width: 21px !important; height: 21px !important; }
.mmh-badge { position: absolute; top: 4px; right: 3px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--mm-gold); color: #fff; font: 600 10.5px/17px var(--mm-font-body); font-style: normal; text-align: center; }
.mmh-badge[hidden] { display: none; }

/* ---------- hearts ---------- */
.mmb-heart { position: absolute; z-index: 5; top: 20px; right: 20px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); color: var(--mm-maroon); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; box-shadow: 0 4px 14px rgba(8, 14, 56, .18); transition: transform .2s, background .2s, color .2s; }
.mmb-heart:hover { transform: scale(1.08); }
.mmb-heart svg { width: 20px !important; height: 20px !important; }
.mmb-heart.is-on { background: var(--mm-maroon); color: #fff; }
.mmb-heart.is-on svg { fill: currentColor; }
.mmx-pcard { position: relative; }
.woocommerce ul.products li.product .mmb-heart { top: 12px; right: 12px; }
.mmb-wish-btn { display: inline-flex; align-items: center; gap: 10px; background: none; border: 0; padding: 4px 0; font: 500 14px var(--mm-font-body); letter-spacing: .03em; color: var(--mm-maroon); cursor: pointer; }
.mmb-wish-btn svg { width: 20px !important; height: 20px !important; }
.mmb-wish-btn.is-on svg { fill: var(--mm-maroon); }
.mmb-wish-btn:hover { color: var(--mm-gold-text); }

/* ---------- wishlist drawer ---------- */
.mmb-wl { position: fixed; z-index: 230; top: 0; right: 0; bottom: 0; width: min(400px, 100vw); background: var(--mm-cream); padding: 22px 24px 30px; overflow-y: auto; transform: translateX(105%); transition: transform .35s ease; box-shadow: -20px 0 60px rgba(8, 14, 56, .25); }
.mmb-wl-scrim { position: fixed; inset: 0; z-index: 225; background: rgba(10, 16, 50, .35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .3s; }
body.mmb-wl-open .mmb-wl { transform: none; }
body.mmb-wl-open .mmb-wl-scrim { opacity: 1; pointer-events: auto; }
.mmb-wl-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.mmb-wl-top h3 { margin: 0; font-size: 32px; }
.mmb-wl-close { font-size: 36px; line-height: 1; background: none; border: 0; color: var(--mm-maroon); cursor: pointer; }
.mmb-wl-item { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--mm-hair); }
.mmb-wl-img { width: 72px; height: 88px; border-radius: 8px; background-size: cover; background-position: center; }
.mmb-wl-t { display: block; font: 500 20px/1.15 var(--mm-font-head); color: var(--mm-maroon) !important; text-decoration: none; margin-bottom: 6px; }
.mmb-wl-rm { background: none; border: 0; font-size: 26px; line-height: 1; color: var(--mm-muted); cursor: pointer; }
.mmb-wl-empty { color: var(--mm-muted); font-size: 15px; }

/* ---------- shop layout: filters + grid ---------- */
.mmb-filters { position: sticky; top: 112px; background: #fff; border: 1px solid var(--mm-hair); border-radius: 14px; padding: 22px 22px 26px; }
.mmb-f-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.mmb-f-head b { font: 500 26px var(--mm-font-head); color: var(--mm-maroon); }
.mmb-clear { background: none; border: 0; color: var(--mm-gold-text); font: 500 13px var(--mm-font-body); text-decoration: underline; cursor: pointer; padding: 0; }
.mmb-f-close, .mmb-f-apply, .mmb-scrim { display: none; }
.mmb-g { border-top: 1px solid var(--mm-hair); }
.mmb-g summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 16px 0; font: 500 12.5px var(--mm-font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--mm-ink); }
.mmb-g summary::-webkit-details-marker { display: none; }
.mmb-g summary i { position: relative; width: 12px; height: 12px; }
.mmb-g summary i::before, .mmb-g summary i::after { content: ''; position: absolute; left: 0; top: 50%; width: 12px; height: 1.3px; background: currentColor; }
.mmb-g summary i::after { transform: rotate(90deg); transition: transform .2s; }
.mmb-g[open] summary i::after { transform: rotate(0); }
.mmb-g-b { display: grid; gap: 4px; padding-bottom: 14px; }
.mmb-opt { display: flex; align-items: center; gap: 12px; padding: 7px 0; cursor: pointer; font-size: 15px; color: #3b4062; }
.mmb-opt input { position: absolute; opacity: 0; pointer-events: none; }
.mmb-box { width: 18px; height: 18px; border: 1.5px solid #b9bdd2; border-radius: 4px; flex: none; position: relative; transition: all .15s; }
.mmb-opt input:checked + .mmb-box { background: var(--mm-maroon); border-color: var(--mm-maroon); }
.mmb-opt input:checked + .mmb-box::after { content: ''; position: absolute; left: 5px; top: 1.5px; width: 5px; height: 10px; border: solid #fff; border-width: 0 1.8px 1.8px 0; transform: rotate(45deg); }
.mmb-opt input:focus-visible + .mmb-box { outline: 2px solid var(--mm-gold); outline-offset: 2px; }
.mmb-lbl { flex: 1; }
.mmb-opt em { font-style: normal; font-size: 12.5px; color: var(--mm-muted); }
.mmb-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 4px 0 16px; border-bottom: 1px solid var(--mm-hair); }
.mmb-count { font-size: 15px; color: var(--mm-muted); }
.mmb-count b { color: var(--mm-maroon); font-weight: 600; }
.mmb-sort-l { display: inline-flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--mm-muted); }
.mmb-sort { border: 1px solid var(--mm-hair); border-radius: 999px; background: #fff; padding: 10px 38px 10px 18px; font: 500 14px var(--mm-font-body); color: var(--mm-maroon); cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%230f1b5c' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.mmb-filter-btn { display: none; align-items: center; gap: 8px; border: 1px solid var(--mm-maroon); background: transparent; color: var(--mm-maroon); border-radius: 999px; padding: 10px 18px; font: 500 14px var(--mm-font-body); cursor: pointer; }
.mmb-active { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0 4px; min-height: 8px; }
.mmb-chip { border: 0; background: var(--mm-soft); color: var(--mm-maroon); border-radius: 999px; padding: 8px 8px 8px 16px; font: 500 13px var(--mm-font-body); cursor: pointer; }
.mmb-chip i { font-style: normal; display: inline-block; width: 20px; text-align: center; }
.mmb-empty { text-align: center; padding: 60px 20px; }
.mmb-empty[hidden] { display: none; }
.mmb-empty h3 { margin: 0 0 6px; font-size: 32px; }
.mmb-empty p { color: var(--mm-muted); margin: 0 0 18px; }
.mmb-seo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: start; }
.mmb-seo-t h2 { margin: 14px 0 14px; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.06; }
.mmb-seo-t h2 em { color: var(--mm-gold); }
.mmb-seo-t p { color: var(--mm-muted); max-width: 52ch; }

/* ---------- gift + guide cards ---------- */
.mmb-gifts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mmb-gift { position: relative; aspect-ratio: 3 / 4; border-radius: 14px; overflow: hidden; background-size: cover; background-position: center 20%; text-decoration: none; display: block; transition: transform .35s; }
.mmb-gift::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(8, 14, 56, .85)); }
.mmb-gift:hover { transform: translateY(-4px); }
.mmb-gift-t { position: absolute; z-index: 2; left: 20px; right: 70px; bottom: 18px; color: #fff; display: flex; flex-direction: column; gap: 3px; }
.mmb-gift-t b { font: 500 28px/1 var(--mm-font-head); }
.mmb-gift-t em { font-style: normal; font-size: 13px; color: #f1e3c4; }
.mmb-gift .mmx-go { right: 16px; bottom: 16px; }
.mmb-gift:hover .mmx-go { background: var(--mm-gold); color: #fff; }
.mmb-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mmb-guide-c { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; background: var(--mm-cream); border: 1px solid var(--mm-hair); border-radius: 14px; padding: 28px 26px 30px; text-decoration: none; transition: border-color .25s, transform .3s; }
.mmb-guide-c:hover { border-color: var(--mm-gold); transform: translateY(-3px); }
.mmb-guide-c h3 { margin: 14px 0 4px; font-size: 28px; }
.mmb-guide-c p { margin: 0 0 12px; color: var(--mm-muted); font-size: 15px; }

/* ---------- guide page ---------- */
.mmb-guide { max-width: 900px; margin: 0 auto; display: grid; gap: 80px; }
.mmb-guide section { scroll-margin-top: 130px; }
.mmb-guide h2 { margin: 14px 0 12px; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; }
.mmb-guide h2 em { color: var(--mm-gold); }
.mmb-guide p { color: var(--mm-muted); max-width: 62ch; }
.mmb-table { border: 1px solid var(--mm-hair); border-radius: 14px; overflow: hidden; margin-top: 22px; background: #fff; }
.mmb-table > div { display: grid; grid-template-columns: 130px 220px 1fr; gap: 18px; padding: 18px 24px; border-top: 1px solid var(--mm-hair); align-items: baseline; }
.mmb-table > div:first-child { border-top: 0; }
.mmb-table b { font: 500 24px var(--mm-font-head); color: var(--mm-maroon); }
.mmb-table span { font-weight: 500; }
.mmb-table em { font-style: normal; color: var(--mm-muted); font-size: 15px; }
.mmb-tips { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.mmb-tip { background: var(--mm-cream); border: 1px solid var(--mm-hair); border-radius: 14px; padding: 24px; }
.mmb-tip h3 { margin: 0 0 6px; font-size: 26px; }
.mmb-tip p { margin: 0; font-size: 15px; }
.mmb-steps { margin: 22px 0 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 12px; }
.mmb-steps li { counter-increment: s; display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--mm-hair); border-radius: 12px; padding: 16px 20px; color: #3b4062; }
.mmb-steps li::before { content: counter(s); width: 34px; height: 34px; border-radius: 50%; background: var(--mm-maroon); color: var(--mm-gold-2); display: inline-flex; align-items: center; justify-content: center; font: 500 18px var(--mm-font-head); }

/* ---------- stylist help ---------- */
.mmb-stylist { display: grid; grid-template-columns: 26px 1fr auto; gap: 14px; align-items: center; padding: 16px 20px; border: 1px solid var(--mm-hair); border-radius: 12px; text-decoration: none; background: #fff; transition: border-color .25s; margin: 6px 0; }
.mmb-stylist:hover { border-color: var(--mm-gold); }
.mmb-stylist svg { color: var(--mm-gold-text); width: 24px !important; height: 24px !important; }
.mmb-stylist span { display: flex; flex-direction: column; line-height: 1.3; }
.mmb-stylist b { font-weight: 500; color: var(--mm-maroon); }
.mmb-stylist em { font-style: normal; font-size: 13px; color: var(--mm-muted); }
.mmb-stylist i { font-style: normal; color: var(--mm-maroon); font-size: 18px; }

/* ---------- recently viewed ---------- */
.mmb-recent-rail { display: flex; gap: 18px; overflow-x: auto; padding: 4px 2px 10px; scrollbar-width: none; }
.mmb-recent-rail::-webkit-scrollbar { display: none; }
.mmb-rc { flex: none; width: 200px; text-decoration: none; }
.mmb-rc-img { display: block; aspect-ratio: 4 / 5; border-radius: 10px; background-size: cover; background-position: center; margin-bottom: 10px; }
.mmb-rc-t { display: block; font: 500 19px/1.15 var(--mm-font-head); color: var(--mm-maroon); }

/* ---------- search suggestions ---------- */
.mmb-suggest { margin-top: 14px; display: grid; gap: 4px; }
.mmb-sg { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 8px; border-radius: 12px; text-decoration: none; color: var(--mm-maroon) !important; transition: background .2s; }
.mmb-sg:hover { background: #fff; }
.mmb-sg-img { width: 56px; height: 68px; border-radius: 8px; background-size: cover; background-position: center; background-color: var(--mm-soft); }
.mmb-sg-t { font: 500 22px/1.15 var(--mm-font-head); }
.mmb-sg-none { padding: 14px 8px; color: var(--mm-muted); }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
	.mmb-gifts { grid-template-columns: repeat(2, 1fr); }
	.mmb-guides { grid-template-columns: 1fr; }
	.mmb-seo, .mmb-tips { grid-template-columns: 1fr; }
	.mmb-table > div { grid-template-columns: 1fr; gap: 4px; }
	.mmb-filter-btn { display: inline-flex; }
	.mmb-filters { position: fixed; z-index: 240; top: 0; left: 0; bottom: 0; width: min(360px, 88vw); border-radius: 0 16px 16px 0; overflow-y: auto; transform: translateX(-105%); transition: transform .35s ease; }
	body.mmb-f-open .mmb-filters { transform: none; }
	.mmb-f-close { display: inline-block; font-size: 32px; line-height: 1; background: none; border: 0; color: var(--mm-maroon); cursor: pointer; }
	.mmb-f-apply { display: inline-flex; width: 100%; margin-top: 18px; }
	.mmb-scrim { display: block; position: fixed; inset: 0; z-index: 235; background: rgba(10, 16, 50, .4); opacity: 0; pointer-events: none; transition: opacity .3s; }
	body.mmb-f-open .mmb-scrim { opacity: 1; pointer-events: auto; }
	.mmb-sort-l span { display: none; }
}
@media (max-width: 560px) { .mmb-gifts { grid-template-columns: 1fr 1fr; gap: 12px; } .mmb-gift-t b { font-size: 22px; } .mmb-gift-t { right: 56px; left: 14px; } }

.mmf-pop { padding: 8px 0 30px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 34px; }
.mmf-pop h4 { margin-bottom: 14px; }
.mmf-pop .mmf-tags a span:hover { border-color: var(--mm-gold-2); color: var(--mm-gold-2); }

/* === mmo.css === */
/* ==========================================================================
   Motion layer. Every rule that hides content lives under .mmo-js, which is only
   set when the visitor has not asked for reduced motion.
   ========================================================================== */

/* ---------- scroll progress ---------- */
.mmo-progress { position: fixed; z-index: 300; top: 0; left: 0; right: 0; height: 3px; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, var(--mm-gold), var(--mm-gold-2), var(--mm-gold)); pointer-events: none; }

/* ---------- headings: word mask rise ---------- */
.mow { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.mow-i { display: inline-block; }
.mmo-js .mow-i { transform: translateY(112%) rotate(3deg); transform-origin: left bottom; transition: transform .95s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 70ms); }
.mmo-js .mo-in .mow-i { transform: none; }

/* kicker hairline draws itself */
.mmo-js .mmx-kchip::before { transform: scaleX(0); transform-origin: left; transition: transform .9s cubic-bezier(.2, .8, .2, 1) .1s; }
.mmo-js .mmx-kchip.mo-in::before, .mmo-js .mo-in .mmx-kchip::before { transform: scaleX(1); }

/* ---------- image curtains (jewellery-box lid) ---------- */
.mmo-js .mo-cur { clip-path: inset(100% 0 0 0 round 14px); transition: clip-path 1.15s cubic-bezier(.7, 0, .2, 1); transition-delay: calc(var(--ci, 0) * 90ms); will-change: clip-path; }
.mmo-js .mo-cur.mo-in { clip-path: inset(0 0 0 0 round 14px); will-change: auto; }
.mmo-js .mmx-banner.mo-cur { clip-path: inset(0 100% 0 0 round 20px); }
.mmo-js .mmx-banner.mo-cur.mo-in { clip-path: inset(0 0 0 0 round 20px); }

/* ---------- parallax hooks ---------- */
.mmx-reel { will-change: transform; }
[data-mmo-par] { transition: none !important; }

/* ---------- marquee (CSS animation â€” compositor thread, no RAF) ---------- */
.mmo-marquee { position: relative; overflow: hidden; padding: 34px 0; display: grid; gap: 6px; border-block: 1px solid var(--mm-hair); background: #fff; }
.mmo-mrow { overflow: hidden; white-space: nowrap; }
.mmo-mtrack { display: inline-flex; align-items: center; gap: 40px; padding-left: 40px; will-change: transform; animation: mm-scroll var(--mm-dur, 18s) linear infinite; }
.mmo-mrow.is-outline .mmo-mtrack { animation-direction: reverse; }
@keyframes mm-scroll { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-25%, 0, 0); } }
.mmo-mw { font: 500 clamp(52px, 8vw, 120px)/1.05 var(--mm-font-head); letter-spacing: -.01em; }
.mmo-mrow.is-solid .mmo-mw { color: var(--mm-maroon); }
.mmo-mrow.is-outline .mmo-mw { color: transparent; -webkit-text-stroke: 1.2px var(--mm-gold); font-style: italic; }
.mmo-gem { flex: none; width: clamp(26px, 3vw, 44px) !important; height: auto !important; color: var(--mm-gold); }

/* ---------- scroll-lit statement ---------- */
.mmo-statement { position: relative; max-width: 1000px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 30px 0; }
.mmo-statement p { margin: 0; font: 500 clamp(30px, 4.4vw, 62px)/1.18 var(--mm-font-head); color: var(--mm-maroon); }
.mmo-js .mos-w { opacity: .16; transition: opacity .25s linear; }
.mmo-orn { color: var(--mm-gold); }
.mmo-orn path { stroke-dasharray: 1; }
.mmo-js .mmo-orn path { stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s cubic-bezier(.4, 0, .2, 1); }
.mmo-js .mo-in .mmo-orn path, .mmo-js .mmo-orn.mo-in path { stroke-dashoffset: 0; }

/* ---------- sparkles ---------- */
.mo-spark-host { position: relative; }
.mo-spark { position: absolute; z-index: 1; width: var(--s, 12px); height: var(--s, 12px); background: var(--mm-gold-2); clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%); opacity: 0; pointer-events: none; animation: mmoTwinkle var(--d, 3.2s) ease-in-out var(--dl, 0s) infinite; }
@keyframes mmoTwinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 45% { opacity: .95; transform: scale(1) rotate(45deg); } 70% { opacity: .2; transform: scale(.6) rotate(90deg); } }

/* ---------- card tilt + sheen ---------- */
.mmx-pcard, .woocommerce ul.products li.product { transform-style: preserve-3d; }
.mmo-tilting { transition: transform .12s ease-out !important; }
.mmo-tilt-rest { transition: transform .6s cubic-bezier(.2, .8, .2, 1) !important; }
.mmx-pimg::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; background: radial-gradient(240px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .38), transparent 60%); transition: opacity .3s; }
.mmx-pcard:hover .mmx-pimg::after { opacity: 1; }

/* ---------- button shine ---------- */
.mm-btn--primary, .mm-btn--light { position: relative; overflow: hidden; isolation: isolate; }
.mm-btn--primary::after, .mm-btn--light::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .38), transparent); transform: skewX(-18deg); }
.mm-btn--primary:hover::after, .mm-btn--light:hover::after { animation: mmoShine .9s ease; }
@keyframes mmoShine { to { left: 130%; } }
.mmo-mag { transition: transform .35s cubic-bezier(.2, .8, .2, 1); }

/* ---------- cursor ring ---------- */
.mmo-cur-ring, .mmo-cur-dot { position: fixed; z-index: 400; top: 0; left: 0; pointer-events: none; opacity: 0; transition: opacity .3s; }
.mmo-cur-on .mmo-cur-ring, .mmo-cur-on .mmo-cur-dot { opacity: 1; }
.mmo-cur-ring { width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; border: 1.2px solid var(--mm-gold); display: flex; align-items: center; justify-content: center; font: 500 11px var(--mm-font-body); letter-spacing: .14em; text-transform: uppercase; color: transparent; transition: width .3s, height .3s, margin .3s, background .3s, color .2s, opacity .3s; mix-blend-mode: normal; }
.mmo-cur-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: var(--mm-gold); }
.mmo-cur-link .mmo-cur-ring { width: 56px; height: 56px; margin: -28px 0 0 -28px; background: rgba(184, 137, 59, .12); }
.mmo-cur-media .mmo-cur-ring { width: 84px; height: 84px; margin: -42px 0 0 -42px; background: rgba(15, 27, 92, .82); border-color: transparent; color: #fff; }
.mmo-cur-media .mmo-cur-dot { opacity: 0; }

/* ---------- wishlist heart pop ---------- */
.mmb-heart.is-pop, .mmb-wish-btn.is-pop svg { animation: mmoPop .6s cubic-bezier(.2, 1.4, .3, 1); }
@keyframes mmoPop { 0% { transform: scale(1); } 35% { transform: scale(1.35); } 100% { transform: scale(1); } }

@media (hover: none), (pointer: coarse) { .mmo-cur-ring, .mmo-cur-dot { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.mo-spark, .mmo-cur-ring, .mmo-cur-dot, .mmo-progress { display: none !important; }
	.mmo-mtrack { animation: none !important; }
	.mm-btn--primary:hover::after { animation: none; }
}

/* the header keeps its original look: no shine sweep or overlay effects inside it */
.mmh .mm-btn--primary::after, .mmh .mm-btn--light::after { display: none; }
.mmh .mm-btn--primary { overflow: visible; }

/* custom cursor ring removed by request: never shown */
.mmo-cur-ring, .mmo-cur-dot { display: none !important; }

/* === mmc.css === */
/* CaratLane-inspired body sections: calm, image-led, generous white space. Header and hero are not styled here. */

/* featured cards row */
.mmc-feat { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mmc-fc { display: grid; grid-template-columns: 112px 1fr; gap: 20px; align-items: center; padding: 14px; border: 1px solid var(--mm-hair); border-radius: 12px; background: #fff; text-decoration: none; transition: border-color .25s, box-shadow .3s, transform .3s; }
.mmc-fc:hover { border-color: rgba(184, 137, 59, .7); box-shadow: 0 20px 40px -26px rgba(15, 27, 92, .4); transform: translateY(-2px); }
.mmc-fimg { display: block; aspect-ratio: 1 / 1.1; border-radius: 8px; background-size: cover; background-position: center 22%; background-color: var(--mm-soft); }
.mmc-ft { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mmc-ft em { font-style: normal; font: 500 11px var(--mm-font-body); letter-spacing: .24em; text-transform: uppercase; color: var(--mm-gold-text); }
.mmc-ft b { font: 500 23px/1.12 var(--mm-font-head); color: var(--mm-maroon); }
.mmc-ft i { font-style: normal; font-size: 13.5px; color: var(--mm-muted); margin-top: 4px; }

/* collection diptych: two panels, edge to edge */
.mmc-di { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.mmc-dp { position: relative; display: block; aspect-ratio: 4 / 4.4; background-size: cover; background-position: center; text-decoration: none; overflow: hidden; }
.mmc-dp::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 14, 56, 0) 45%, rgba(8, 14, 56, .82) 100%); }
.mmc-dp::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(255, 255, 255, 0); transition: border-color .4s, inset .4s; pointer-events: none; }
.mmc-dp:hover::after { border-color: rgba(255, 255, 255, .55); inset: 22px; }
.mmc-dt { position: absolute; z-index: 2; left: clamp(24px, 4vw, 56px); right: 24px; bottom: clamp(26px, 4vw, 52px); color: #fff; display: flex; flex-direction: column; gap: 8px; max-width: 460px; }
.mmc-dt em { font-style: normal; font: 500 11.5px var(--mm-font-body); letter-spacing: .3em; text-transform: uppercase; color: var(--mm-gold-2); }
.mmc-dt b { font: 500 clamp(36px, 4.4vw, 60px)/1.02 var(--mm-font-head); }
.mmc-dt span { font-size: 15px; line-height: 1.6; color: #dfe2f2; font-weight: 300; }
.mmc-dt i { font-style: normal; margin-top: 8px; font-size: 14px; letter-spacing: .06em; border-bottom: 1px solid rgba(255, 255, 255, .6); align-self: flex-start; padding-bottom: 3px; }

@media (max-width: 1000px) { .mmc-feat { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .mmc-di { grid-template-columns: 1fr; } .mmc-dp { aspect-ratio: 4 / 4.6; } }

/* === mmu.css === */
/* ==========================================================================
   upGrad / Unischolars skin for everything below the header and hero.
   Loaded last. It does not style .mmh (header) or .mmhero / .mmtag (hero).
   ========================================================================== */

/* ---------- section label: dark filled chip (upGrad "TRENDING COURSES") ---------- */
.mmx-kchip, .mmx-kchip--soft { display: inline-block; gap: 0; background: var(--mm-maroon) !important; color: #fff !important; padding: 8px 14px !important; border-radius: 6px; font: 500 11.5px/1 var(--mm-font-body); letter-spacing: .14em; text-transform: uppercase; }
.mmx-kchip::before, .mmx-kchip--soft::before { display: none !important; }
.mmx-kchip--light { background: rgba(255, 255, 255, .16) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .4) !important; }
.mmf-top .mmx-kchip { background: rgba(255, 255, 255, .14) !important; }

/* ---------- headings: modest size, highlighted phrase in the accent colour ---------- */
.mm-h2 .elementor-heading-title { font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.16 !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.mm-h2 .elementor-heading-title .mm-hl { color: var(--mm-gold) !important; font-style: normal !important; font-weight: 500; }
.mm-h2--light .elementor-heading-title .mm-hl { color: var(--mm-gold-2) !important; }
.mmx-help h2 em, .mmx-banner h2 em, .mmb-seo-t h2 em, .mmb-guide h2 em, .mmx-enq h2 em, .mmu-enq h2 em { font-style: normal !important; color: var(--mm-gold) !important; }
.mmx-banner h2 em { color: var(--mm-gold-2) !important; }

/* ---------- section rhythm: tighter, alternating white / tint ---------- */
[data-elementor-type="wp-page"] > .e-con:not(:first-child) { --padding-top: clamp(48px, 5.5vw, 76px); --padding-bottom: clamp(48px, 5.5vw, 76px); }
.mmx-values-t { color: #8b8fa8; font-weight: 500; letter-spacing: .01em; }

/* ---------- cards: upGrad course card ---------- */
.mmx-pcard { border: 1px solid #e3e6f0; border-radius: 16px; padding: 12px; box-shadow: none; }
.mmx-pcard:hover { box-shadow: 0 16px 36px -22px rgba(15, 27, 92, .35); transform: translateY(-3px); }
.mmx-pimg { border-radius: 10px; aspect-ratio: 4 / 4.2; }
.mmx-tag { border-radius: 6px; background: #fff; letter-spacing: .06em; }
.mmx-pbody h3 { font-size: 24px; }
.mmx-pbtns { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 10px; }
.mmx-pbtns .mm-btn { flex: 1 1 100%; width: auto; }
.mmx-pbtns .mmr-textlink { flex: 1 1 100%; text-align: center; align-self: center; }
.mmx-ocard, .mmb-gift, .mmx-reel, .mmx-lcard, .mmx-wcard, .mmx-ccard, .mmb-guide-c { border-radius: 16px; }
.mmx-style-img { border-radius: 16px; aspect-ratio: 1 / 1; }
.mmx-banner { border-radius: 24px; }
.mmx-help { border-radius: 24px; background: #f4f5fb; }

/* ---------- Unischolars six-step journey ---------- */
.mmu-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mmu-step { position: relative; background: #fff; border: 1px solid #e3e6f0; border-radius: 18px; padding: 28px 26px 26px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; transition: box-shadow .3s, transform .3s, border-color .3s; }
.mmu-step:hover { box-shadow: 0 18px 40px -24px rgba(15, 27, 92, .35); transform: translateY(-3px); border-color: rgba(184, 137, 59, .6); }
.mmu-num { position: absolute; top: 22px; right: 24px; font: 500 15px var(--mm-font-body); letter-spacing: .1em; color: #c3c7da; }
.mmu-step h3 { margin: 16px 0 4px; font-size: 28px; }
.mmu-step p { margin: 0 0 16px; color: var(--mm-muted); font-size: 15px; line-height: 1.65; flex: 1; }

/* ---------- popular searches chips ---------- */
.mmu-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.mmu-chip { display: inline-flex; align-items: center; padding: 12px 22px; border-radius: 999px; background: #f4f5fb; color: var(--mm-maroon) !important; font: 500 14.5px var(--mm-font-body); text-decoration: none; border: 1px solid transparent; transition: all .2s; }
.mmu-chip:hover { background: #fff; border-color: var(--mm-maroon); transform: translateY(-2px); }

/* ---------- enquiry card ---------- */
.mmu-enq { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 5vw, 72px); align-items: center; background: #f4f5fb; border-radius: 28px; padding: clamp(28px, 5vw, 64px); }
.mmu-enq-l { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.mmu-enq h2 { margin: 0; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.1; font-weight: 500; }
.mmu-enq p { margin: 0; color: var(--mm-muted); max-width: 44ch; }
.mmu-ticks { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 12px; }
.mmu-ticks li { position: relative; padding-left: 32px; color: #3b4062; font-size: 15px; }
.mmu-ticks li::before { content: ''; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--mm-maroon); }
.mmu-ticks li::after { content: ''; position: absolute; left: 7px; top: 5px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.mmu-form { position: relative; background: #fff; border-radius: 22px; padding: clamp(22px, 3vw, 36px); display: grid; gap: 16px; box-shadow: 0 24px 60px -34px rgba(15, 27, 92, .4); }
.mmu-form label { display: grid; gap: 7px; font: 500 13px var(--mm-font-body); letter-spacing: .04em; color: #3b4062; }
.mmu-form input, .mmu-form select, .mmu-form textarea { width: 100%; border: 1px solid #d7dbea; border-radius: 12px; padding: 14px 16px; font: 400 15px var(--mm-font-body); color: var(--mm-ink); background: #fff; box-shadow: none; transition: border-color .2s; }
.mmu-form input:focus, .mmu-form select:focus, .mmu-form textarea:focus { border-color: var(--mm-maroon); outline: none; }
.mmu-row { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }
.mmu-form .mm-btn { width: 100%; }
.mmu-msg { margin: 0; font-size: 14px; }
.mmu-msg--ok { color: #1c7a4a; }
.mmu-msg--err { color: #b3261e; }

/* ---------- footer: multi-column, Unischolars-style ---------- */
.mmf-cols { grid-template-columns: 1.4fr repeat(4, 1fr); gap: 36px; }
.mmf-cols h4 { margin-bottom: 16px; }
.mmf-contact p { margin: 0 0 8px; color: #aeb3d0; font-size: 14.5px; }
.mmf-contact a { color: #fff; }

@media (max-width: 1000px) {
	.mmu-steps { grid-template-columns: 1fr 1fr; }
	.mmu-enq { grid-template-columns: 1fr; }
	.mmf-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) { .mmu-steps { grid-template-columns: 1fr; } .mmu-row { grid-template-columns: 96px 1fr; } .mmf-cols { grid-template-columns: 1fr; } }

/* === mmv.css === */
/* ==========================================================================
   JEWEL TONES & TEMPLE GOLD
   Colour-blocked sections in the jewellery's own colours (navy, emerald, maroon),
   lattice + grain textures, gold-foil highlights, temple-arch frames.
   Everything is scoped to .mmv-sec / .mmf / .mmv-* so the header and hero are untouched.
   ========================================================================== */
:root {
	--v-navy: #0a1240; --v-navy2: #131f6b;
	--v-emerald: #0b3d34; --v-emerald2: #10574a;
	--v-maroon: #4a0f22; --v-maroon2: #701934;
	--v-ivory: #faf3e6; --v-blush: #f6e5da;
	--v-gold: #c9a050; --v-goldl: #f1d48b; --v-goldd: #8a6422;
	--v-foil: linear-gradient(115deg, #a87c2a 0%, #f6dc99 28%, #c9a050 52%, #fbe9b8 74%, #a87c2a 100%);
	--v-jali: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 84 84'%3E%3Cg fill='none' stroke='%23C9A050' stroke-opacity='.17'%3E%3Cpath d='M42 5l10 23 23 10-23 10-10 23-10-23L9 38l23-10z'/%3E%3Ccircle cx='42' cy='38' r='5'/%3E%3Cpath d='M0 0l9 9M84 0l-9 9M0 84l9-9M84 84l-9-9'/%3E%3C/g%3E%3C/svg%3E");
	--v-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .42 0 0 0 0 .2 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ---------- colour blocks ---------- */
.mmv-sec { position: relative; isolation: isolate; overflow: hidden; }
.mmv-sec > * { position: relative; z-index: 1; }
.mmv-navy    { background-color: var(--v-navy) !important;    background-image: var(--v-jali), radial-gradient(900px 420px at 88% -10%, rgba(52, 72, 200, .35), transparent 62%), radial-gradient(700px 400px at 0% 110%, rgba(201, 160, 80, .14), transparent 60%) !important; }
.mmv-emerald { background-color: var(--v-emerald) !important; background-image: var(--v-jali), radial-gradient(900px 440px at 12% -10%, rgba(30, 140, 110, .38), transparent 62%), radial-gradient(700px 400px at 100% 110%, rgba(201, 160, 80, .14), transparent 60%) !important; }
.mmv-maroon  { background-color: var(--v-maroon) !important;  background-image: var(--v-jali), radial-gradient(900px 440px at 90% -10%, rgba(190, 50, 90, .35), transparent 62%), radial-gradient(700px 400px at 0% 110%, rgba(201, 160, 80, .14), transparent 60%) !important; }
.mmv-ivory   { background-color: var(--v-ivory) !important;   background-image: var(--v-grain), radial-gradient(800px 380px at 100% 0%, rgba(201, 160, 80, .12), transparent 60%) !important; }
.mmv-blush   { background-color: var(--v-blush) !important;   background-image: var(--v-grain), radial-gradient(800px 380px at 0% 0%, rgba(201, 100, 110, .10), transparent 60%) !important; }
.mmv-dark  { --fg: #fff; --fg2: #c9cee8; --card: rgba(255, 255, 255, .055); --line: rgba(201, 160, 80, .38); --accent: var(--v-goldl); }
.mmv-light { --fg: #1b1f3b; --fg2: #5d6280; --card: #fff; --line: rgba(15, 27, 92, .13); --accent: var(--v-goldd); }

/* small gold diamond marking the top edge of each block */
.mmv-sec::before { content: ''; position: absolute; z-index: 3; top: -1px; left: 50%; width: 15px; height: 15px; transform: translate(-50%, -50%) rotate(45deg); background: var(--v-gold); box-shadow: 0 0 0 5px rgba(201, 160, 80, .22); }
.mmv-sec.mmv-first::before { display: none; }

/* ---------- headings + labels ---------- */
.mmv-sec .mm-h2 .elementor-heading-title { color: var(--fg) !important; font-size: clamp(34px, 4.6vw, 62px) !important; line-height: 1.04 !important; font-weight: 500 !important; letter-spacing: -.005em !important; }
.mmv-sec .mm-h2 .elementor-heading-title .mm-hl { font-style: italic !important; font-weight: 500 !important; color: transparent !important; background: var(--v-foil); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; animation: mmvFoil 9s linear infinite; }
.mmv-light .mm-h2 .elementor-heading-title .mm-hl { background-image: linear-gradient(115deg, #6f4c12 0%, #b8862c 30%, #8a6422 55%, #d0a24a 78%, #6f4c12 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; }
@keyframes mmvFoil { from { background-position: 0% 0; } to { background-position: 220% 0; } }
.mmv-sec .mmx-kchip, .mmv-sec .mmx-kchip--soft, .mmv-sec .mmx-kchip--light { display: inline-flex; align-items: center; gap: 14px; background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0; color: var(--accent) !important; font: 500 12px/1 var(--mm-font-body); letter-spacing: .34em; text-transform: uppercase; }
.mmv-sec .mmx-kchip::before, .mmv-sec .mmx-kchip::after { content: ''; display: block !important; width: 7px; height: 7px; background: currentColor; transform: rotate(45deg); opacity: .9; transform-origin: center; }
.mmv-sec .mmx-kchip::before { transform: rotate(45deg) !important; }

/* ---------- 1. values ribbon ---------- */
.mmv-sec .mmx-values-t { color: var(--v-goldl); font: 500 12px var(--mm-font-body); letter-spacing: .34em; text-transform: uppercase; }
.mmv-sec .mmx-value { color: #fff; }
.mmv-sec .mmx-value svg { color: var(--v-goldl); }
.mmv-sec .mmx-values-row { gap: 16px 54px; }
.mmv-sec .mmx-value + .mmx-value { position: relative; }
.mmv-sec .mmx-value + .mmx-value::before { content: ''; position: absolute; left: -29px; top: 50%; width: 6px; height: 6px; background: var(--v-gold); transform: translateY(-50%) rotate(45deg); opacity: .8; }

/* ---------- 2. temple arches ---------- */
.mmv-arches { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 44px); align-items: end; padding-top: 18px; }
.mmv-arch { position: relative; display: block; text-decoration: none; color: var(--fg); }
.mmv-arch--2 { transform: translateY(-34px); }
.mmv-arch-img { display: block; aspect-ratio: 3 / 4.2; border-radius: 999px 999px 14px 14px; background-size: cover; background-position: center; background-color: #e9dcc4; box-shadow: 0 30px 60px -34px rgba(10, 18, 64, .55); transition: transform .7s cubic-bezier(.2, .8, .2, 1); position: relative; }
.mmv-arch--2 .mmv-arch-img { aspect-ratio: 3 / 4.7; }
.mmv-arch::before { content: ''; position: absolute; z-index: 0; inset: -12px -12px auto -12px; height: calc(100% - 118px); border: 1px solid var(--v-gold); border-radius: 999px 999px 18px 18px; opacity: .8; transition: inset .5s, opacity .5s; pointer-events: none; }
.mmv-arch:hover::before { inset: -18px -18px auto -18px; opacity: 1; }
.mmv-arch:hover .mmv-arch-img { transform: scale(1.02); }
.mmv-arch-t { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 22px 8px 0; }
.mmv-arch-t em { font: italic 500 24px var(--mm-font-head); color: var(--v-goldd); font-style: italic; }
.mmv-arch-t b { font: 500 clamp(28px, 3vw, 40px)/1.05 var(--mm-font-head); color: var(--v-navy); }
.mmv-arch-t span { color: var(--fg2); font-size: 15px; max-width: 30ch; }
.mmv-arch-t i { font-style: normal; margin-top: 8px; font-size: 14px; letter-spacing: .06em; color: var(--v-navy); border-bottom: 1px solid var(--v-gold); padding-bottom: 3px; }

/* ---------- 3. product cards: arch images, glass on dark ---------- */
.mmv-sec .mmx-pcard { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 12px 12px 8px; }
.mmv-dark .mmx-pcard { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mmv-sec .mmx-pimg { border-radius: 999px 999px 12px 12px; aspect-ratio: 4 / 4.9; }
.mmv-sec .mmx-tag { background: rgba(10, 18, 64, .85); color: var(--v-goldl); border-radius: 999px; left: 50%; top: auto; bottom: 12px; transform: translateX(-50%); }
.mmv-sec .mmx-pbody h3 a { color: var(--fg) !important; }
.mmv-sec .mmx-pbody { text-align: center; align-items: center; }
.mmv-sec .mmx-meta li { color: var(--fg2); justify-content: center; }
.mmv-sec .mmx-meta svg { color: var(--accent); }
.mmv-sec .mmx-pbtns .mmr-textlink { color: var(--fg) !important; border-color: var(--line); }
.mmv-dark .mm-btn--primary { background: linear-gradient(115deg, #b8862c, #f1d48b 50%, #b8862c); border-color: transparent; color: var(--v-navy) !important; }
.mmv-dark .mm-btn--primary:hover { filter: brightness(1.08); color: var(--v-navy) !important; }
.mmv-dark .mm-btn--outline { color: #fff !important; border-color: rgba(255, 255, 255, .5); }
.mmv-dark .mm-btn--outline:hover { background: #fff; color: var(--v-navy) !important; }
.mmv-sec .mmx-arrow { background: transparent; border-color: var(--line); color: var(--fg); }
.mmv-dark .mmx-arrow:hover { background: var(--v-gold); border-color: var(--v-gold); color: var(--v-navy); }
.mmv-sec .mmx-pcard--more { background: transparent; border: 1px dashed var(--v-gold); }
.mmv-sec .mmx-pcard--more h3 { color: var(--fg); } .mmv-sec .mmx-pcard--more p { color: var(--fg2); }

/* ---------- 4. occasions split ---------- */
.mmv-occ { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 6vw, 96px); align-items: center; }
.mmv-occ-list { list-style: none; margin: 0; padding: 0; }
.mmv-occ-list li { border-bottom: 1px solid var(--line); }
.mmv-occ-list a { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 18px; padding: 26px 6px; text-decoration: none; color: var(--fg); transition: padding .35s, color .3s; }
.mmv-occ-list em { font: italic 500 clamp(34px, 4vw, 54px)/1 var(--mm-font-head); color: transparent; -webkit-text-stroke: 1px var(--v-goldd); transition: color .3s; }
.mmv-occ-list b { display: block; font: 500 clamp(32px, 4vw, 56px)/1.05 var(--mm-font-head); color: var(--v-navy); transition: color .3s; }
.mmv-occ-list small { display: block; margin-top: 4px; font-size: 15px; color: var(--fg2); }
.mmv-occ-list i { font-style: normal; font-size: 26px; color: var(--v-goldd); opacity: 0; transform: translateX(-10px); transition: all .3s; }
.mmv-occ-list a.is-on, .mmv-occ-list a:hover { padding-left: 22px; }
.mmv-occ-list a.is-on em, .mmv-occ-list a:hover em { color: var(--v-goldd); }
.mmv-occ-list a.is-on i, .mmv-occ-list a:hover i { opacity: 1; transform: none; }
.mmv-occ-stage { position: relative; aspect-ratio: 3 / 4; border-radius: 999px 999px 18px 18px; overflow: hidden; box-shadow: 0 40px 70px -40px rgba(10, 18, 64, .6); outline: 1px solid var(--v-gold); outline-offset: 12px; }
.mmv-occ-stage i { position: absolute; inset: 0; background-size: cover; background-position: center 20%; opacity: 0; transform: scale(1.08); transition: opacity .7s ease, transform 1.4s ease; }
.mmv-occ-stage i.is-on { opacity: 1; transform: scale(1); }

/* ---------- 5. journey as a string of pearls ---------- */
.mmv-sec .mmu-steps { position: relative; grid-template-columns: repeat(6, 1fr); gap: 14px; padding-top: 56px; }
.mmv-sec .mmu-steps::before { content: ''; position: absolute; top: 20px; left: 4%; right: 4%; height: 2px; background: linear-gradient(90deg, transparent, var(--v-gold) 8%, var(--v-goldl) 50%, var(--v-gold) 92%, transparent); border-radius: 2px; }
.mmv-sec .mmu-step { background: transparent; border: 0; border-radius: 0; padding: 0 6px; align-items: center; text-align: center; box-shadow: none !important; transform: none !important; }
.mmv-sec .mmu-step::before { content: ''; position: absolute; top: -48px; left: 50%; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%; background: radial-gradient(circle at 32% 28%, #fff 0%, #f4ecdc 38%, #cdbb9a 100%); box-shadow: 0 8px 18px rgba(0, 0, 0, .35), 0 0 0 4px rgba(201, 160, 80, .28); }
.mmv-sec .mmu-num { position: absolute; top: -48px; left: 50%; right: auto; width: 34px; height: 34px; margin-left: -17px; display: flex; align-items: center; justify-content: center; font: 600 12px var(--mm-font-body); letter-spacing: .04em; color: #6b5220; z-index: 2; }
.mmv-sec .mmu-step .mmx-wic { background: var(--card); border: 1px solid var(--line); color: var(--v-goldl); width: 60px; height: 60px; }
.mmv-sec .mmu-step h3 { color: var(--fg); margin: 16px 0 6px; font-size: 30px; }
.mmv-sec .mmu-step p { color: var(--fg2); font-size: 14.5px; }
.mmv-sec .mmu-step .mm-btn { border: 0; background: none; padding: 4px 0; color: var(--v-goldl) !important; border-bottom: 1px solid rgba(241, 212, 139, .55); border-radius: 0; font-size: 13.5px; }
.mmv-sec .mmu-step .mm-btn:hover { color: #fff !important; border-color: #fff; background: none; }

/* ---------- 6. complete the look: circular loupes ---------- */
.mmv-sec .mmx-look { gap: clamp(20px, 3vw, 44px); }
.mmv-sec .mmx-lcard { background: transparent; border: 0; padding: 0; text-align: center; display: flex; flex-direction: column; align-items: center; }
.mmv-sec .mmx-limg { width: min(100%, 300px); aspect-ratio: 1 / 1; border-radius: 50%; margin: 0 0 22px; background-size: 250%; box-shadow: 0 0 0 8px var(--v-ivory), 0 0 0 9px var(--v-gold), 0 30px 50px -28px rgba(10, 18, 64, .55); }
.mmv-sec .mmx-lcard h3 { color: var(--v-navy); font-size: 34px; margin: 0 0 8px; }
.mmv-sec .mmx-lcard ul { list-style: none; padding: 0; margin: 0; color: var(--fg2); font-size: 15px; line-height: 1.9; }
.mmv-sec .mmx-lcard li::marker { content: ''; }
.mmv-sec .mmx-lcard li::before { content: '\2726 '; color: var(--v-goldd); font-size: 11px; margin-right: 6px; }

/* ---------- 7. banner ---------- */
.mmv-sec .mmx-banner { border-radius: 999px 999px 24px 24px / 220px 220px 24px 24px; min-height: 520px; border: 1px solid var(--v-gold); outline: 1px solid rgba(201, 160, 80, .5); outline-offset: 10px; }
.mmv-sec .mmx-banner-in { padding-top: 96px; }

/* ---------- 8. popular searches ---------- */
.mmv-sec .mmu-chip { background: transparent; border: 1px solid rgba(138, 100, 34, .45); color: var(--v-navy) !important; }
.mmv-sec .mmu-chip:hover { background: var(--v-navy); color: var(--v-goldl) !important; border-color: var(--v-navy); }

/* ---------- 9. style mosaic ---------- */
.mmv-sec .mmx-styles { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; gap: 16px; }
.mmv-sec .mmx-style { position: relative; border-radius: 16px; overflow: hidden; min-height: 0; }
.mmv-sec .mmx-style:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.mmv-sec .mmx-style:nth-child(6) { grid-column: span 2; }
.mmv-sec .mmx-style-img { position: absolute; inset: 0; aspect-ratio: auto; border-radius: 0; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.mmv-sec .mmx-style:hover .mmx-style-img { transform: scale(1.07); box-shadow: none; }
.mmv-sec .mmx-style::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(10, 18, 64, .82)); pointer-events: none; }
.mmv-sec .mmx-style-l { position: absolute; z-index: 2; left: 20px; right: 20px; bottom: 16px; padding: 0; color: #fff; font-size: 28px; }
.mmv-sec .mmx-style-l svg { color: var(--v-goldl); }

/* ---------- 10. gifts ---------- */
.mmv-sec .mmb-gift { border-radius: 999px 999px 16px 16px; aspect-ratio: 3 / 4.2; outline: 1px solid var(--v-gold); outline-offset: 8px; }
.mmv-sec .mmb-gift-t { left: 0; right: 0; text-align: center; align-items: center; bottom: 26px; }
.mmv-sec .mmb-gift .mmx-go { display: none; }
.mmv-sec .mmb-gifts { gap: clamp(20px, 2.6vw, 36px); padding: 8px; }

/* ---------- 11. lookbook ---------- */
.mmv-sec .mmx-reel { border-radius: 999px 999px 18px 18px; outline: 1px solid rgba(201, 160, 80, .5); outline-offset: 8px; margin-top: 8px; }
.mmv-sec .mmx-reel figcaption { text-align: center; }

/* ---------- 12. craft: big gold numerals ---------- */
.mmv-sec .mmx-craft { counter-reset: c; gap: 0; border-top: 1px solid var(--line); }
.mmv-sec .mmx-ccard { counter-increment: c; background: transparent; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 30px 26px 8px; position: relative; }
.mmv-sec .mmx-ccard:first-child { border-left: 0; }
.mmv-sec .mmx-ccard::before { content: '0' counter(c); display: block; font: italic 500 clamp(60px, 6vw, 92px)/1 var(--mm-font-head); background: var(--v-foil); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.mmv-light .mmx-ccard::before { background-image: linear-gradient(115deg, #6f4c12, #d0a24a 50%, #6f4c12); -webkit-background-clip: text; background-clip: text; }
.mmv-sec .mmx-ccard .mmx-wic { display: none; }
.mmv-sec .mmx-ccard h3 { color: var(--fg); margin-top: 10px; }
.mmv-sec .mmx-ccard p { color: var(--fg2); }

/* ---------- 13. where to buy + guides: glass cards with a gold top edge ---------- */
.mmv-sec .mmx-wcard, .mmv-sec .mmb-guide-c { background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--v-gold); border-radius: 16px; }
.mmv-dark .mmx-wcard, .mmv-dark .mmb-guide-c { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mmv-sec .mmx-wcard h3, .mmv-sec .mmb-guide-c h3 { color: var(--fg); }
.mmv-sec .mmx-wcard p, .mmv-sec .mmb-guide-c p { color: var(--fg2); }
.mmv-sec .mmx-wic { background: var(--v-navy); color: var(--v-goldl); }
.mmv-dark .mmx-wic { background: rgba(201, 160, 80, .18); }
.mmv-sec .mmr-textlink { color: var(--fg) !important; border-color: var(--line); }
.mmv-sec .mmb-guide-c:hover { border-color: var(--v-gold); }

/* ---------- 14. enquiry ---------- */
.mmv-sec .mmu-enq { background: var(--v-maroon); background-image: var(--v-jali), radial-gradient(700px 360px at 100% 0%, rgba(190, 50, 90, .35), transparent 62%); border-radius: 28px; outline: 1px solid var(--v-gold); outline-offset: -14px; color: #fff; }
.mmv-sec .mmu-enq h2 { color: #fff; } .mmv-sec .mmu-enq h2 em { background: var(--v-foil); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-style: italic !important; }
.mmv-sec .mmu-enq p, .mmv-sec .mmu-ticks li { color: #dfe2f2; }
.mmv-sec .mmu-enq .mmx-kchip { color: var(--v-goldl) !important; }
.mmv-sec .mmu-form .mm-btn--primary { background: var(--v-maroon); color: #fff !important; }
.mmv-sec .mmu-form .mm-btn--primary:hover { background: var(--v-gold); color: var(--v-navy) !important; }

/* ---------- 15. faq ---------- */
.mmv-sec .mmx-faq details { background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
.mmv-sec .mmx-faq details[open] { border-color: var(--v-gold); box-shadow: 0 20px 40px -30px rgba(10, 18, 64, .5); }
.mmv-sec .mmx-faq summary { color: var(--fg); }
.mmv-sec .mmx-faq details p { color: var(--fg2); }
.mmv-sec .mmx-faq summary i { background: var(--v-navy); }
.mmv-sec .mmx-faq summary i::before, .mmv-sec .mmx-faq summary i::after { background: var(--v-goldl); }

/* ---------- 16. help strip ---------- */
.mmv-sec .mmx-help { background: transparent; border: 1px solid var(--line); border-radius: 24px; padding: clamp(28px, 4vw, 56px); outline: 1px solid rgba(201, 160, 80, .35); outline-offset: -10px; }
.mmv-sec .mmx-help h2 { color: var(--fg); } .mmv-sec .mmx-help h2 em { background: var(--v-foil); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-style: italic !important; }
.mmv-sec .mmx-help p { color: var(--fg2); }

/* ---------- inner pages: shared hero band + product page ---------- */
.mmv-band { text-align: center; }
.mmv-band .mm-h2 .elementor-heading-title { text-align: center; }
.mmv-sec .elementor-widget-text-editor, .mmv-sec .elementor-widget-text-editor p { color: var(--fg2) !important; }
.mmv-sec .mmb-filters { background: var(--card); border-color: var(--line); }
.mmv-sec .mmb-seo-t p { color: var(--fg2); }
.mmv-sec .mmb-guide h2, .mmv-sec .mmb-seo-t h2 { color: var(--fg); }
.mmv-sec .mmb-guide p { color: var(--fg2); }

/* ---------- footer ---------- */
.mmf { background-color: var(--v-navy); background-image: var(--v-jali), radial-gradient(900px 400px at 15% 0%, rgba(52, 72, 200, .3), transparent 62%); position: relative; }
.mmf::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--v-foil); }
.mmf-logo { background: var(--v-foil); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mmf h4 { color: var(--v-goldl); }
.mmf-top h2 em { background: var(--v-foil); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: italic; }
.mmf-form button { background: linear-gradient(115deg, #b8862c, #f1d48b 50%, #b8862c); color: var(--v-navy); font-weight: 600; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.mmv-sec .mmu-steps { grid-template-columns: repeat(3, 1fr); row-gap: 70px; }
	.mmv-sec .mmu-steps::before { display: none; }
	.mmv-sec .mmx-craft { grid-template-columns: 1fr 1fr; }
	.mmv-sec .mmx-ccard:nth-child(odd) { border-left: 0; }
	.mmv-sec .mmx-styles { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; }
}
@media (max-width: 860px) {
	.mmv-arches { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; gap: 60px; }
	.mmv-arch--2 { transform: none; }
	.mmv-occ { grid-template-columns: 1fr; }
	.mmv-occ-stage { max-width: 420px; margin: 0 auto; order: -1; }
	.mmv-sec .mmu-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) { .mmv-sec .mmu-steps { grid-template-columns: 1fr; } .mmv-sec .mmx-craft { grid-template-columns: 1fr; } .mmv-sec .mmx-ccard { border-left: 0; border-top: 1px solid var(--line); } .mmv-sec .mmx-banner { border-radius: 200px 200px 20px 20px / 140px 140px 20px 20px; } }
@media (prefers-reduced-motion: reduce) { .mmv-sec .mm-h2 .elementor-heading-title .mm-hl { animation: none; } }

/* === mma.css === */
/* Trusted seller on Amazon: logo in buttons, badges, seller cards. Header and hero are not styled here. */

/* ---------- logo: inherits the button text colour; official artwork swaps in automatically ---------- */
.mm-buylbl { display: inline-flex; align-items: center; white-space: nowrap; }
.mm-az { display: inline-flex; align-items: center; vertical-align: middle; margin-left: 7px; line-height: 1; }
.mm-az svg { display: block; height: 22px; width: auto; transform: translateY(3px); }
.mm-az img { display: block; height: 22px; width: auto; }
.mm-btn--sm .mm-az svg, .mm-btn--sm .mm-az img { height: 19px; }
.mm-az--lg svg, .mm-az--lg img { height: 30px; transform: none; }
.mm-az--xl svg, .mm-az--xl img { height: 48px; transform: none; }
.mm-az--foot svg, .mm-az--foot img { height: 26px; transform: none; }
.mm-az { margin-left: 7px; }
.mm-az--lg, .mm-az--xl, .mm-az--foot { margin-left: 0; }

/* official artwork: dark file on light backgrounds, light file on dark backgrounds */
.mm-az-l { display: none; }
.mm-btn--primary .mm-az-d { display: none; }
.mm-btn--primary .mm-az-l { display: block; }
.mmv-dark .mm-btn--primary .mm-az-d { display: block; }
.mmv-dark .mm-btn--primary .mm-az-l { display: none; }
.mmv-dark .mm-btn--outline .mm-az-d { display: none; }
.mmv-dark .mm-btn--outline .mm-az-l { display: block; }
.mmf .mm-az-d, .mmx-value--az .mm-az-d { display: none; }
.mmf .mm-az-l, .mmx-value--az .mm-az-l { display: block; }
.mm-btn--outline .mm-az { color: inherit; }

/* ---------- caption under the card button ---------- */
.mm-seller-note { display: block; flex: 1 1 100%; order: 2; text-align: center; font: 500 12px var(--mm-font-body); letter-spacing: .04em; color: var(--fg2, #6b6f8a); margin-top: -2px; }
.mm-seller-note::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; background: var(--v-gold, #c9a050); transform: rotate(45deg) translateY(-1px); }
.mmx-pbtns .mmr-textlink { order: 3; }

/* ---------- values strip badge ---------- */
.mmx-value--az { border: 1px solid rgba(201, 160, 80, .65); border-radius: 999px; padding: 10px 20px 10px 18px; background: rgba(255, 255, 255, .06); gap: 12px; }
.mmx-value--az .mm-az { margin-left: 0; color: #fff; }
.mmx-value--az span { color: #fff; font-weight: 500; }
.mmx-value--az + .mmx-value::before { display: none; }

/* ---------- where-to-buy: big seller card ---------- */
.mma-seller { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(20px, 3vw, 40px); align-items: center; background: var(--card, #fff); border: 1px solid var(--line, rgba(15, 27, 92, .13)); border-top: 3px solid var(--v-gold, #c9a050); border-radius: 20px; padding: clamp(22px, 3vw, 36px); margin-bottom: 22px; box-shadow: 0 24px 50px -36px rgba(10, 18, 64, .5); }
.mma-seller-logo { background: #fff; color: #232f3e; border: 1px solid rgba(15, 27, 92, .12); border-radius: 16px; padding: 20px 30px; display: flex; align-items: center; justify-content: center; }
.mma-seller-t { display: flex; flex-direction: column; gap: 6px; }
.mma-seller-t em { font-style: normal; font: 500 11.5px var(--mm-font-body); letter-spacing: .3em; text-transform: uppercase; color: var(--v-goldd, #8a6422); }
.mma-seller-t b { font: 500 clamp(26px, 3vw, 38px)/1.1 var(--mm-font-head); color: var(--fg, #1b1f3b); }
.mma-seller-t span { color: var(--fg2, #5d6280); font-size: 15px; max-width: 54ch; }

/* ---------- product page seller card ---------- */
.mma-card { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; margin: 4px 0 6px; padding: 14px 18px; background: #fff; border: 1px solid rgba(15, 27, 92, .13); border-left: 3px solid var(--v-gold, #c9a050); border-radius: 12px; }
.mma-card-logo { color: #232f3e; display: flex; align-items: center; padding-right: 16px; border-right: 1px solid rgba(15, 27, 92, .12); }
.mma-card-t { display: flex; flex-direction: column; line-height: 1.3; }
.mma-card-t b { font-weight: 500; color: var(--v-navy, #0a1240); font-size: 15px; }
.mma-card-t em { font-style: normal; font-size: 12.5px; color: #6b6f8a; }
.mma-check { position: relative; width: 26px; height: 26px; border-radius: 50%; background: var(--v-gold, #c9a050); }
.mma-check::after { content: ''; position: absolute; left: 9px; top: 5px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.2px 2.2px 0; transform: rotate(45deg); }

/* ---------- footer ---------- */
.mmf-az { display: inline-flex; align-items: center; gap: 12px; margin-top: 6px; padding: 10px 18px; border: 1px solid rgba(201, 160, 80, .5); border-radius: 999px; color: #fff; font-size: 13.5px; background: rgba(255, 255, 255, .05); }
.mmf-az .mm-az { color: #fff; }
.mmf-legal { margin: 0; padding: 0 0 30px; max-width: 920px; font-size: 12px; line-height: 1.7; color: #8f97bd; }

@media (max-width: 860px) { .mma-seller { grid-template-columns: 1fr; text-align: left; } .mma-seller .mm-btn { justify-self: start; } }
@media (max-width: 520px) { .mma-card { grid-template-columns: auto 1fr; } .mma-check { display: none; } .mma-card-logo { padding-right: 12px; } }

/* === mmp.css === */
/* Product story + style guide */
.mmp-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 96px); align-items: center; }
.mmp-arches { position: relative; height: clamp(420px, 44vw, 600px); }
.mmp-arch { position: absolute; background-size: cover; background-position: center; border-radius: 999px 999px 16px 16px; box-shadow: 0 40px 70px -40px rgba(10, 18, 64, .6); outline: 1px solid var(--v-gold, #c9a050); outline-offset: 10px; }
.mmp-arch--a { left: 0; top: 0; width: 58%; height: 84%; }
.mmp-arch--b { right: 0; bottom: 0; width: 46%; height: 62%; }
.mmp-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mmp-copy h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; color: var(--fg, #1b1f3b); }
.mmp-lead { font: italic 500 clamp(21px, 2vw, 27px)/1.4 var(--mm-font-head); color: var(--v-goldd, #8a6422); margin: 0; }
.mmp-copy p { margin: 0; color: var(--fg2, #5d6280); max-width: 52ch; }
.mmp-occ { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mmp-occ span { font: 500 11.5px var(--mm-font-body); letter-spacing: .26em; text-transform: uppercase; color: var(--v-goldd, #8a6422); margin-right: 6px; }
.mmp-occ a { padding: 9px 18px; border-radius: 999px; border: 1px solid var(--line, rgba(15,27,92,.15)); font-size: 13.5px; text-decoration: none; color: var(--fg, #1b1f3b) !important; transition: all .2s; }
.mmp-occ a:hover { background: var(--mm-maroon); color: #fff !important; border-color: var(--mm-maroon); }
.mmp-hl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 64px; border-top: 1px solid var(--line, rgba(15,27,92,.13)); }
.mmp-hl-c { padding: 30px 26px 8px; border-left: 1px solid var(--line, rgba(15,27,92,.13)); }
.mmp-hl-c:first-child { border-left: 0; padding-left: 0; }
.mmp-num { display: block; font: italic 500 clamp(52px, 5vw, 76px)/1 var(--mm-font-head); color: transparent; background: linear-gradient(115deg, #6f4c12, #d0a24a 50%, #6f4c12); -webkit-background-clip: text; background-clip: text; }
.mmp-hl-c h3 { margin: 10px 0 6px; font-size: 25px; color: var(--fg, #1b1f3b); }
.mmp-hl-c p { margin: 0; color: var(--fg2, #5d6280); font-size: 14.5px; }
.mmp-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-top: 56px; }
.mmp-shot { aspect-ratio: 4 / 5; border-radius: 14px; background-size: cover; background-position: center 20%; transition: transform .5s, box-shadow .4s; display: block; }
.mmp-shot:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -26px rgba(10, 18, 64, .5); }

/* style guide */
.mmp-sg { max-width: 1080px; margin: 0 auto; }
.mmp-tabs { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 40px; }
.mmp-tab { border: 1px solid var(--line, rgba(15,27,92,.15)); background: transparent; color: var(--fg, #1b1f3b); border-radius: 999px; padding: 13px 26px; font: 500 15px var(--mm-font-body); cursor: pointer; transition: all .2s; }
.mmp-tab:hover { border-color: var(--v-gold, #c9a050); }
.mmp-tab.is-on { background: var(--mm-maroon); color: #fff; border-color: var(--mm-maroon); }
.mmp-pane { display: none; }
.mmp-pane.is-on { display: block; animation: mmFade .4s ease both; }
.mmp-pane h2 { margin: 0 0 6px; font-size: clamp(36px, 4.4vw, 58px); color: var(--fg, #1b1f3b); text-align: center; }
.mmp-intro { text-align: center; color: var(--fg2, #5d6280); max-width: 60ch; margin: 0 auto 34px; }
.mmp-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mmp-row { display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; row-gap: 4px; align-items: start; background: #fff; border: 1px solid var(--line, rgba(15,27,92,.13)); border-top: 3px solid var(--v-gold, #c9a050); border-radius: 16px; padding: 22px 22px 24px; }
.mmp-row .mmx-wic { grid-row: 1 / span 2; }
.mmp-row b { font: 500 25px/1.1 var(--mm-font-head); color: var(--mm-maroon); }
.mmp-row > span:last-child { color: #4f5470; font-size: 15px; line-height: 1.65; }
.mmp-pick { text-align: center; font-size: 30px; margin: 44px 0 16px; color: var(--fg, #1b1f3b); }
.mmp-picks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mmp-pick-c { text-decoration: none; text-align: center; }
.mmp-pick-c span { display: block; aspect-ratio: 4 / 5; border-radius: 999px 999px 12px 12px; background-size: cover; background-position: center; margin-bottom: 10px; outline: 1px solid var(--v-gold, #c9a050); outline-offset: 6px; }
.mmp-pick-c b { font: 500 19px/1.2 var(--mm-font-head); color: var(--mm-maroon); }
.mmp-tips { margin-top: 56px; background: var(--v-navy, #0a1240); color: #fff; border-radius: 22px; padding: clamp(26px, 4vw, 48px); }
.mmp-tips h3 { margin: 0 0 16px; font-size: 34px; color: var(--v-goldl, #f1d48b); }
.mmp-tips ul { margin: 0; padding-left: 20px; display: grid; gap: 12px; color: #d9dcec; }
.mmp-tips li::marker { color: var(--v-gold, #c9a050); }
.mmp-tips b { color: #fff; }

@media (max-width: 1000px) { .mmp-story { grid-template-columns: 1fr; } .mmp-arches { max-width: 460px; margin: 0 auto; width: 100%; } .mmp-hl { grid-template-columns: 1fr 1fr; } .mmp-hl-c:nth-child(odd) { border-left: 0; padding-left: 0; } .mmp-rows { grid-template-columns: 1fr; } .mmp-picks { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .mmp-hl { grid-template-columns: 1fr; } .mmp-hl-c { border-left: 0; border-top: 1px solid var(--line, rgba(15,27,92,.13)); padding-left: 0; } }

/* ---------- stop sections stretching ---------- */
.mmx-rail > * { max-width: 340px; }
.woocommerce-product-gallery { max-width: 100%; }
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img { max-height: 78vh; width: 100%; object-fit: cover; }
.single-product .flex-control-thumbs { display: flex !important; overflow-x: auto; gap: 10px; scrollbar-width: thin; padding-bottom: 6px; }
.single-product .flex-control-thumbs li { flex: 0 0 76px; width: 76px !important; }
.mmv-sec .mmx-styles { grid-auto-rows: clamp(150px, 17vw, 240px); }
.mmv-sec .mmx-reel { max-height: 460px; }
.mmv-sec .mmx-banner { min-height: clamp(360px, 40vw, 520px); }
.mmv-sec .mmx-look { align-items: start; }
.mmv-sec .mmx-limg { max-width: 300px; }
.mmb-gift { max-height: 520px; }
.mmx-ocard, .mmv-arch-img { max-height: 560px; }
.mmv-arches { max-width: 1100px; margin: 0 auto; }
.mmr-look-img { max-height: 640px; }
.mmx-faq { max-width: 860px; }
@media (max-width: 700px) { .mmx-rail > * { max-width: 82vw; } .mmv-sec .mmx-reel { max-height: 380px; } }
/* === mml.css === */
/* Product listing: arch-framed photographs, quiet typography, one clear action. Applies to every WooCommerce product grid. */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 54px 30px !important; margin: 0 !important; padding: 8px 26px 12px 8px !important; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; display: flex; flex-direction: column; align-items: center; text-align: center; container-type: inline-size; position: relative; }
.woocommerce ul.products li.product:hover { transform: none; }

/* photograph */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; width: 100%; aspect-ratio: 3 / 4; margin: 0 0 30px !important; overflow: hidden; border-radius: 999px 999px 20px 20px; background: #f1e8d6; outline: 1px solid rgba(184, 137, 59, .6); outline-offset: 8px; transition: outline-offset .45s ease, box-shadow .45s ease; }
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap { outline-offset: 12px; box-shadow: 0 34px 50px -34px rgba(15, 27, 92, .55); }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a { display: block; width: 100%; height: 100%; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 30%; margin: 0 !important; border-radius: 0 !important; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img { transform: scale(1.06); }
.woocommerce ul.products li.product .mmr-swap { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto !important; background-size: cover; background-position: 50% 30%; opacity: 0; transition: opacity .6s ease; }
.woocommerce ul.products li.product:hover .mmr-swap { opacity: 1; }
.woocommerce ul.products li.product .ast-on-card-button, .woocommerce ul.products li.product .ast-shop-product-out-of-stock, .woocommerce ul.products li.product .onsale { display: none !important; }
.woocommerce ul.products li.product .mmb-heart { top: calc(133.33cqw - 66px); right: 6px; width: 38px; height: 38px; }

/* text */
.woocommerce ul.products li.product .astra-shop-summary-wrap { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 0 6px; }
.woocommerce ul.products li.product .ast-woo-product-category { font: 500 11px/1 var(--mm-font-body); letter-spacing: .26em; text-transform: uppercase; color: #8a6422; margin: 0 0 12px; }
.woocommerce ul.products li.product .ast-loop-product__link { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 0 14px !important; padding: 0 !important; font-family: var(--mm-font-head) !important; font-weight: 500 !important; color: var(--mm-maroon, #0f1b5c); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; transition: color .25s; }
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { color: #8a6422; }
.woocommerce ul.products li.product .astra-shop-summary-wrap > .mm-btn, .woocommerce ul.products li.product .astra-shop-summary-wrap .price, .woocommerce ul.products li.product .astra-shop-summary-wrap .star-rating { display: none !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap::before { content: '\2726'; order: 3; color: #b8893b; font-size: 11px; margin-bottom: 14px; }
.woocommerce ul.products li.product .astra-shop-summary-wrap > * { order: 1; }
.woocommerce ul.products li.product .astra-shop-summary-wrap > .ast-loop-product__link { order: 2; }

/* action row */
.mml-act { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; margin-top: -2px; }
.mml-buy { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 22px; min-width: 0; max-width: 100%; border: 1px solid #0f1b5c; border-radius: 99px; background: transparent; color: #0f1b5c !important; font: 500 13px/1 var(--mm-font-body); letter-spacing: .03em; text-decoration: none !important; transition: background .3s, color .3s, border-color .3s, transform .3s; white-space: nowrap; }
.mml-buy .mm-az svg { height: 15px; width: auto; vertical-align: -3px; }
.mml-buy .mm-az img { height: 15px; width: auto; }
.mml-buy:hover { background: #0f1b5c; color: #fff !important; transform: translateY(-2px); }
.mml-view { font: 400 12.5px var(--mm-font-body); color: #6b6f8a !important; letter-spacing: .06em; text-decoration: none !important; border-bottom: 1px solid transparent; padding-bottom: 2px; transition: color .2s, border-color .2s; }
.mml-view:hover { color: #8a6422 !important; border-color: #b8893b; }
.woocommerce ul.products li.product .astra-shop-summary-wrap + .mml-act { }

/* pagination */
.woocommerce nav.woocommerce-pagination { margin: 56px 0 8px; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { width: 42px; height: 42px; line-height: 42px; padding: 0 !important; border-radius: 50%; border: 1px solid rgba(15, 27, 92, .2) !important; font-size: 14px; background: transparent !important; color: #0f1b5c !important; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: #0f1b5c !important; color: #fff !important; border-color: #0f1b5c !important; }

@media (max-width: 1200px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 46px 24px !important; } }
@media (max-width: 820px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 38px 14px !important; padding: 6px 6px 0 !important; }
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { outline-offset: 5px; margin-bottom: 22px !important; }
	.mml-buy { padding: 11px 14px; font-size: 12px; }
	.woocommerce ul.products li.product .mmb-heart { width: 34px; height: 34px; top: calc(133.33cqw - 56px); }
}
@media (hover: none) { .woocommerce ul.products li.product .mmr-swap { display: none; } }
/* ---------- more life ---------- */
.woocommerce ul.products { counter-reset: mml; }
.woocommerce ul.products li.product { isolation: isolate; counter-increment: mml; --tone: #145a43; animation: mmlIn .8s cubic-bezier(.2, .7, .2, 1) backwards; }
.woocommerce ul.products li.product:nth-child(5n+2) { --tone: #1b2f8a; }
.woocommerce ul.products li.product:nth-child(5n+3) { --tone: #74202f; }
.woocommerce ul.products li.product:nth-child(5n+4) { --tone: #c9a050; }
.woocommerce ul.products li.product:nth-child(5n+5) { --tone: #52276f; }
.woocommerce ul.products li.product:nth-child(4n+2) { animation-delay: .08s; }
.woocommerce ul.products li.product:nth-child(4n+3) { animation-delay: .16s; }
.woocommerce ul.products li.product:nth-child(4n+4) { animation-delay: .24s; }
@keyframes mmlIn { from { opacity: 0; transform: translateY(34px); } }

/* a jewel-toned arch peeks out behind every photograph, changing colour card by card */
.woocommerce ul.products li.product::before { content: ''; position: absolute; z-index: -1; left: 34px; right: -22px; top: 32px; aspect-ratio: 3 / 4; border-radius: 999px 999px 20px 20px; background: linear-gradient(160deg, var(--tone), color-mix(in srgb, var(--tone) 55%, #000)); opacity: .92; transition: transform .55s cubic-bezier(.2, .7, .2, 1), opacity .4s; }
.woocommerce ul.products li.product:hover::before { transform: translate(10px, 10px); opacity: 1; }
/* big outlined numeral */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::before { content: counter(mml, decimal-leading-zero); position: absolute; z-index: 3; top: 34%; left: 14px; font: italic 500 54px/1 var(--mm-font-head); color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .85); text-shadow: 0 2px 14px rgba(0, 0, 0, .25); pointer-events: none; opacity: .0; transform: translateX(-10px); transition: opacity .4s, transform .5s; }
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::before { opacity: 1; transform: none; }

/* glossy tilt (driven by mml.js) */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s ease-out, outline-offset .45s ease, box-shadow .45s ease; will-change: transform; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after { content: ''; position: absolute; inset: 0; z-index: 2; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 30%), rgba(255, 255, 255, .34), transparent 60%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::after { opacity: 1; }

/* type chip + peek */
.mml-tag { position: absolute; z-index: 4; left: 50%; bottom: 16px; transform: translateX(-50%); padding: 6px 14px; border-radius: 99px; background: rgba(255, 255, 255, .92); color: #0f1b5c; font: 500 10.5px/1 var(--mm-font-body); letter-spacing: .18em; text-transform: uppercase; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .45); transition: opacity .3s, transform .4s; white-space: nowrap; }
.woocommerce ul.products li.product:hover .mml-tag { opacity: 0; transform: translate(-50%, 10px); }
.mml-peek { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; padding: 46px 16px 18px; display: flex; flex-direction: column; align-items: center; gap: 4px; background: linear-gradient(to top, rgba(8, 14, 56, .92), rgba(8, 14, 56, .55) 60%, transparent); color: #fff; transform: translateY(101%); transition: transform .5s cubic-bezier(.2, .7, .2, 1); pointer-events: none; }
.mml-peek em { font: 500 10px/1 var(--mm-font-body); letter-spacing: .28em; text-transform: uppercase; color: #e3b95c; font-style: normal; }
.mml-peek b { font: 500 17px/1.2 var(--mm-font-head); }
.woocommerce ul.products li.product:hover .mml-peek { transform: none; }

/* colour dots */
.mml-dots { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -2px 0 12px; }
.mml-dots i { width: 13px; height: 13px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(15, 27, 92, .18), 0 0 0 3px #faf3e6, 0 0 0 4px rgba(184, 137, 59, .55); margin: 0 2px; transition: transform .25s; }
.woocommerce ul.products li.product:hover .mml-dots i { transform: translateY(-2px); }
.mml-dots em { font: 400 11px var(--mm-font-body); color: #6b6f8a; font-style: normal; margin-left: 4px; }

/* button with attitude */
.mml-buy { position: relative; overflow: hidden; }
.mml-buy::before { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .5) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s; }
.mml-buy:hover::before { transform: translateX(120%); }
.woocommerce ul.products li.product:hover .mml-buy { background: #b8893b; border-color: #b8893b; color: #fff !important; box-shadow: 0 14px 24px -14px rgba(184, 137, 59, .9); }
.woocommerce ul.products li.product .astra-shop-summary-wrap::before { transition: transform .6s; }
.woocommerce ul.products li.product:hover .astra-shop-summary-wrap::before { transform: rotate(180deg) scale(1.4); }

@media (max-width: 820px) { .woocommerce ul.products li.product::before { left: 20px; right: -10px; top: 18px; } .mml-peek { display: none; } .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::before { display: none; } }
@media (prefers-reduced-motion: reduce) { .woocommerce ul.products li.product { animation: none; } .woocommerce ul.products li.product .astra-shop-thumbnail-wrap { transform: none !important; } }
/* === mmj.css === */
/* The Mann Journal: blog index + reading layout */
.mmj-index { background: var(--v-ivory, #faf3e6); padding: 64px 24px 80px; }
.mmj-grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 58px 34px; }
.mmj-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mmj-card { display: flex; flex-direction: column; align-items: center; text-align: center; container-type: inline-size; position: relative; isolation: isolate; --tone: #145a43; }
.mmj-card:nth-child(5n+2) { --tone: #1b2f8a; } .mmj-card:nth-child(5n+3) { --tone: #74202f; } .mmj-card:nth-child(5n+4) { --tone: #c9a050; } .mmj-card:nth-child(5n+5) { --tone: #52276f; }
.mmj-card::before { content: ''; position: absolute; z-index: -1; left: 30px; right: -18px; top: 26px; aspect-ratio: 4 / 5; border-radius: 999px 999px 22px 22px; background: linear-gradient(160deg, var(--tone), color-mix(in srgb, var(--tone) 55%, #000)); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.mmj-card:hover::before { transform: translate(8px, 8px); }
.mmj-card .ph { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: 999px 999px 22px 22px; overflow: hidden; background: #f1e8d6; outline: 1px solid rgba(184, 137, 59, .65); outline-offset: 8px; margin-bottom: 30px; }
.mmj-card .ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 26%; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.mmj-card:hover .ph img { transform: scale(1.06); }
.mmj-card .cat { font: 500 11.5px/1 var(--mm-font-body); letter-spacing: .26em; text-transform: uppercase; color: #8a6422; margin-bottom: 12px; }
.mmj-card h3 { margin: 0 0 12px; font: 500 21px/1.25 var(--mm-font-head); } .mmj-card h3 a { color: #0f1b5c; text-decoration: none; } .mmj-card h3 a:hover { color: #8a6422; }
.mmj-card p { margin: 0 0 14px; font: 300 15px/1.65 var(--mm-font-body); color: #4f5470; max-width: 34ch; }
.mmj-card .go { color: #0f1b5c; font: 500 13.5px var(--mm-font-body); letter-spacing: .05em; text-decoration: none; border-bottom: 1px solid rgba(184, 137, 59, .7); padding-bottom: 3px; }
.mmj-card .go i { font-style: normal; display: inline-block; transition: transform .3s; } .mmj-card .go:hover i { transform: translateX(5px); }
.mmj-pages { display: flex; justify-content: center; gap: 8px; margin-top: 56px; }
.mmj-pages a, .mmj-pages .cur { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(15, 27, 92, .2); color: #0f1b5c; text-decoration: none; font-size: 14px; }
.mmj-pages .cur, .mmj-pages a:hover { background: #0f1b5c; color: #fff; border-color: #0f1b5c; }

/* single guide */
body.single-post .site-content { padding-top: 120px; background: radial-gradient(60% 40% at 90% 0%, rgba(217, 172, 79, .2), transparent 70%), radial-gradient(50% 40% at 0% 20%, rgba(229, 138, 168, .16), transparent 70%), #faf3e6; }
body.single-post #secondary { display: none !important; }
body.single-post .site-content .ast-container { display: block !important; max-width: 100% !important; padding: 0 !important; }
body.single-post #content #primary, body.single-post.ast-separate-container #content #primary, body.single-post.ast-right-sidebar #content #primary { width: 100% !important; max-width: 860px !important; margin: 0 auto !important; float: none !important; padding: 0 22px 40px !important; float: none !important; }
body.single-post .ast-article-single, body.single-post .ast-separate-container .ast-article-single, body.single-post.ast-separate-container .ast-article-post, body.single-post article.post { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
body.single-post .site-content { display: block; }
.mmj-hero { max-width: 500px; margin: 0 auto 38px; }
.mmj-hero img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 24%; border-radius: 999px 999px 26px 26px; outline: 1px solid rgba(184, 137, 59, .7); outline-offset: 9px; box-shadow: 0 40px 60px -40px rgba(15, 27, 92, .55); display: block; }
body.single-post .entry-header { text-align: center; margin-bottom: 26px; }
body.single-post .entry-title { font-family: var(--mm-font-head); font-weight: 500; color: #0f1b5c; }
body.single-post .entry-meta, body.single-post .ast-single-post-order .entry-meta { display: none; }
body.single-post .post-thumb-img-content, body.single-post .ast-blog-featured-section { display: block; max-width: 520px; margin: 0 auto 34px; }
body.single-post .post-thumb-img-content img, body.single-post .ast-blog-featured-section img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 24%; border-radius: 999px 999px 26px 26px; outline: 1px solid rgba(184, 137, 59, .7); outline-offset: 9px; box-shadow: 0 40px 60px -40px rgba(15, 27, 92, .55); }
.mmj-by { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 28px; } .mmj-by .av { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #0f1b5c; color: #e3b95c; font: 500 20px var(--mm-font-head); }
.mmj-by b { display: block; font: 600 13.5px var(--mm-font-body); color: #0f1b5c; } .mmj-by em { font-style: normal; font-size: 12.5px; color: #6b6f8a; }
body.single-post .entry-content { font: 300 18px/1.85 var(--mm-font-body); color: #333857; }
body.single-post .entry-content p { margin: 0 0 20px; }
body.single-post .entry-content .mmj-lead { font: italic 500 22px/1.55 var(--mm-font-head); color: #0f1b5c; border-left: 3px solid #b8893b; padding-left: 20px; }
body.single-post .entry-content h2 { margin: 46px 0 14px; font: 500 30px/1.2 var(--mm-font-head); color: #0f1b5c; }
body.single-post .entry-content h2::before { content: '\2726'; color: #b8893b; font-size: 15px; margin-right: 12px; vertical-align: 5px; }
body.single-post .entry-content h3 { margin: 26px 0 8px; font: 600 17px var(--mm-font-body); color: #74202f; letter-spacing: .02em; }
body.single-post .entry-content a { color: #8a6422; text-decoration: underline; text-underline-offset: 3px; }
body.single-post .entry-content ul { padding-left: 0; list-style: none; display: grid; gap: 10px; margin: 0 0 22px; }
body.single-post .entry-content ul li { position: relative; padding: 12px 16px 12px 40px; background: rgba(255, 255, 255, .75); border: 1px solid rgba(15, 27, 92, .09); border-radius: 14px; font-size: 16.5px; line-height: 1.6; }
body.single-post .entry-content ul li::before { content: '\2726'; position: absolute; left: 15px; top: 12px; color: #b8893b; font-size: 13px; }
.mmj-fig { margin: 30px 0; text-align: center; } .mmj-fig img { width: 100%; max-width: 520px; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 24%; border-radius: 26px; outline: 1px solid rgba(184, 137, 59, .6); outline-offset: 8px; }
.mmj-fig figcaption { margin-top: 18px; font: italic 500 16px var(--mm-font-head); color: #6b6f8a; }
.mmj-cta { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; margin: 54px 0 20px; padding: 28px; border-radius: 28px; color: #fff; background: radial-gradient(120% 100% at 0% 0%, #1f34a0 0%, #0f1b5c 55%, #081040 100%); box-shadow: 0 34px 50px -34px rgba(8, 16, 64, .8); }
.mmj-cta .ph { display: block; aspect-ratio: 3 / 4; border-radius: 999px 999px 16px 16px; overflow: hidden; outline: 1px solid rgba(227, 185, 92, .8); outline-offset: 6px; } .mmj-cta .ph img { width: 100%; height: 100%; object-fit: cover; }
.mmj-cta .k { font: 500 11.5px var(--mm-font-body); letter-spacing: .26em; text-transform: uppercase; color: #e3b95c; } .mmj-cta h3 { margin: 6px 0 10px; font: 500 28px/1.15 var(--mm-font-head); color: #fff; } .mmj-cta p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, .85); }
.mmj-cta .acts { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; } .mmj-cta .mml-buy { background: linear-gradient(120deg, #f6d98c, #e2b04e 50%, #b8893b); border-color: transparent; color: #0f1b5c !important; font-weight: 600; } .mmj-cta .mml-view { color: #e8cf94 !important; }
.mmj-more { margin-top: 60px; } .mmj-more h2 { text-align: center; } .mmj-more .mmj-grid { gap: 40px 22px; } .mmj-more .mmj-card h3 { font-size: 17px; } .mmj-more .mmj-card p { display: none; } .mmj-more .all { text-align: center; margin-top: 34px; }

@media (max-width: 900px) { .mmj-grid, .mmj-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 16px; } .mmj-cta { grid-template-columns: 1fr; text-align: center; } .mmj-cta .ph { max-width: 220px; margin: 0 auto; } .mmj-cta .acts { justify-content: center; } }
@media (max-width: 560px) { .mmj-grid, .mmj-grid--3 { grid-template-columns: 1fr; } body.single-post .entry-content { font-size: 17px; } }
body.single-post #content #primary { background: transparent !important; box-shadow: none !important; }

/* === mmpx.css === */
/* Product page top: trendy, colourful, built to convert. */
.mmpx { --tone1: #145a43; --tone2: #0a3a2a; position: relative; padding: 108px 24px 0; overflow: hidden; background:
	radial-gradient(60% 50% at 8% 8%, rgba(229, 138, 168, .22), transparent 70%), radial-gradient(50% 45% at 96% 30%, rgba(217, 172, 79, .28), transparent 70%), radial-gradient(60% 50% at 40% 100%, rgba(31, 122, 82, .12), transparent 70%), #faf3e6; }
.mmpx[data-tone='1'] { --tone1: #1b2f8a; --tone2: #0d1a55; }
.mmpx[data-tone='2'] { --tone1: #74202f; --tone2: #45101d; }
.mmpx::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cpath d='M44 10l5.2 13.2L62 28l-12.8 4.8L44 46l-5.2-13.2L26 28l12.8-4.8z' fill='none' stroke='%23b8893b' stroke-opacity='.13'/%3E%3C/svg%3E"); pointer-events: none; }
.mmpx-crumb, .mmpx-grid { position: relative; max-width: 1240px; margin: 0 auto; }
.mmpx-crumb { font-size: 12.5px; color: #6b6f8a; margin-bottom: 22px; }
.mmpx-crumb a { color: #6b6f8a; text-decoration: none; } .mmpx-crumb a:hover { color: #8a6422; }
.mmpx-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 76px); align-items: start; padding-bottom: 64px; }

/* gallery */
.mmpx-left { display: grid; gap: 44px; align-content: start; min-width: 0; }
.mmpx-gal { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 20px; }
.mmpx-gal[data-n='1'] { grid-template-columns: minmax(0, 1fr); }
.mmpx-thumbs { align-self: start; display: flex; flex-direction: column; gap: 12px; max-height: 560px; overflow: auto; scrollbar-width: none; padding: 4px; }
.mmpx-thumbs::-webkit-scrollbar { display: none; }
.mmpx-th { flex: none; width: 70px; height: 84px; padding: 0; border: 0; border-radius: 999px 999px 10px 10px; overflow: hidden; background: #f1e8d6; cursor: pointer; opacity: .7; outline: 1px solid rgba(15, 27, 92, .15); outline-offset: 3px; transition: opacity .25s, outline-color .25s, transform .3s; }
.mmpx-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mmpx-th:hover { opacity: 1; transform: translateY(-2px); }
.mmpx-th.is-on { opacity: 1; outline: 2px solid #b8893b; }
.mmpx-stage { position: relative; align-self: start; }
.mmpx-arch { position: absolute; left: 26px; right: -24px; top: 26px; bottom: -8px; border-radius: 999px 999px 26px 26px; background: linear-gradient(160deg, var(--tone1), var(--tone2)); z-index: 0; }
.mmpx-frame { position: relative; z-index: 1; aspect-ratio: 4 / 5; border-radius: 999px 999px 26px 26px; overflow: hidden; background: #f1e8d6; outline: 1px solid rgba(184, 137, 59, .7); outline-offset: 9px; box-shadow: 0 40px 60px -40px rgba(15, 27, 92, .6); cursor: zoom-in; }
.mmpx-img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 24%; opacity: 0; transition: opacity .55s ease, transform .5s ease-out; transform-origin: var(--zx, 50%) var(--zy, 50%); }
.mmpx-img.is-on { opacity: 1; }
.mmpx-frame:hover .mmpx-img.is-on { transform: scale(1.35); }
.mmpx-count { position: absolute; z-index: 3; left: 50%; bottom: 20px; transform: translateX(-50%); padding: 6px 14px; border-radius: 99px; background: rgba(255, 255, 255, .92); font: 500 11.5px var(--mm-font-body); letter-spacing: .14em; color: #0f1b5c; box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .5); }
.mmpx-zoom, .mmpx-nav { position: absolute; z-index: 3; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; box-sizing: border-box; padding: 0 !important; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .94); color: #0f1b5c; cursor: pointer; display: grid; place-items: center; box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .5); transition: transform .25s, background .25s, color .25s; }
.mmpx-zoom { right: 8px; top: 30%; } .mmpx-nav { top: 46%; font-size: 26px; line-height: 1; padding-bottom: 4px !important; }
.mmpx-prev { left: -12px; } .mmpx-next { right: -12px; }
.mmpx-zoom:hover, .mmpx-nav:hover { background: #b8893b; color: #fff; transform: scale(1.08); }

/* info */
.mmpx-info { display: flex; flex-direction: column; gap: 18px; padding-top: 6px; }
.mmpx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mmpx-chips a, .mmpx-type { padding: 7px 14px; border-radius: 99px; font: 500 11.5px/1 var(--mm-font-body); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.mmpx-type { background: #0f1b5c; color: #fff; }
.mmpx-chips a { border: 1px solid rgba(184, 137, 59, .8); color: #8a6422; background: rgba(255, 255, 255, .55); transition: background .25s, color .25s, transform .25s; }
.mmpx-chips a:hover { background: #b8893b; color: #fff; transform: translateY(-2px); }
.mmpx-title { margin: 0; font-family: var(--mm-font-head); font-weight: 500; color: #0f1b5c; letter-spacing: -.005em; }
.mmpx-sub { margin: 0; font: 300 16.5px/1.7 var(--mm-font-body); color: #4f5470; max-width: 52ch; }
.mmpx-cols, .mmpx-inc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 13.5px; color: #4f5470; }
.mmpx .k { font: 500 11px var(--mm-font-body); letter-spacing: .22em; text-transform: uppercase; color: #8a6422; margin-right: 4px; }
.mmpx-cols .sw { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 6px; border-radius: 99px; background: #fff; border: 1px solid rgba(15, 27, 92, .12); }
.mmpx-cols .sw i { width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }

/* buy area */
.mmpx-cta { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.mmpx-buy { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 14px; flex: 1; padding: 20px 30px; border-radius: 99px; background: linear-gradient(120deg, #f6d98c 0%, #e2b04e 45%, #b8893b 100%); color: #0f1b5c !important; font: 600 16.5px/1 var(--mm-font-body); letter-spacing: .02em; text-decoration: none !important; box-shadow: 0 22px 34px -18px rgba(184, 137, 59, .95), inset 0 1px 0 rgba(255, 255, 255, .6); transition: transform .3s, box-shadow .3s; animation: mmpxPulse 3.2s ease-in-out infinite; }
.mmpx-buy .mm-az svg, .mmpx-buy .mm-az img { height: 20px; width: auto; vertical-align: -4px; }
.mmpx-buy i { font-style: normal; font-size: 20px; transition: transform .3s; }
.mmpx-buy::before { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .65) 50%, transparent 70%); transform: translateX(-130%); animation: mmpxShine 3.2s ease-in-out infinite; }
.mmpx-buy:hover { transform: translateY(-3px); box-shadow: 0 30px 40px -18px rgba(184, 137, 59, 1), inset 0 1px 0 rgba(255, 255, 255, .6); }
.mmpx-buy:hover i { transform: translateX(6px); }
@keyframes mmpxShine { 0%, 55% { transform: translateX(-130%); } 80%, 100% { transform: translateX(130%); } }
@keyframes mmpxPulse { 0%, 100% { box-shadow: 0 22px 34px -18px rgba(184, 137, 59, .95), 0 0 0 0 rgba(226, 176, 78, .5), inset 0 1px 0 rgba(255, 255, 255, .6); } 50% { box-shadow: 0 22px 34px -18px rgba(184, 137, 59, .95), 0 0 0 12px rgba(226, 176, 78, 0), inset 0 1px 0 rgba(255, 255, 255, .6); } }
.mmpx-round .mmb-wish-btn, .mmpx-share { width: 58px; height: 58px; padding: 0; border-radius: 50%; border: 1px solid rgba(15, 27, 92, .25); background: #fff; color: #74202f; display: grid; place-items: center; cursor: pointer; transition: transform .25s, background .25s, color .25s, border-color .25s; }
.mmpx-round .mmb-wish-btn span { display: none; } .mmpx-round .mmb-wish-btn svg { width: 24px; height: 24px; }
.mmpx-share { color: #0f1b5c; }
.mmpx-round .mmb-wish-btn:hover, .mmpx-share:hover { background: #0f1b5c; color: #fff; border-color: #0f1b5c; transform: translateY(-3px); }
.mmpx-round .mmb-wish-btn.is-on { background: #74202f; color: #fff; border-color: #74202f; }
.mmpx-amz { font-size: 12.5px; color: #6b6f8a; margin-top: -6px; } .mmpx-amz b { color: #0f1b5c; }
.mmpx-perks { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mmpx-perks li { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .8); border: 1px solid rgba(15, 27, 92, .09); transition: transform .3s, box-shadow .3s; }
.mmpx-perks li:hover { transform: translateY(-3px); box-shadow: 0 18px 26px -18px rgba(15, 27, 92, .5); }
.mmpx-perks li > span { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.mmpx-perks .p1 > span { background: linear-gradient(140deg, #1f7a52, #0f4a32); } .mmpx-perks .p2 > span { background: linear-gradient(140deg, #a8324a, #5a1424); }
.mmpx-perks .p3 > span { background: linear-gradient(140deg, #2a45b4, #0f1b5c); } .mmpx-perks .p4 > span { background: linear-gradient(140deg, #e2b04e, #a9782b); }
.mmpx-perks b { display: block; font: 600 13.5px/1.2 var(--mm-font-body); color: #0f1b5c; } .mmpx-perks em { display: block; font-style: normal; font-size: 12px; line-height: 1.35; color: #6b6f8a; margin-top: 3px; }

/* scrolling ribbon */
.mmpx-ribbon { position: relative; margin: 0 -24px; overflow: hidden; background: linear-gradient(90deg, #0f1b5c, #1b2f8a 50%, #0f1b5c); border-block: 1px solid rgba(217, 172, 79, .6); }
.mmpx-ribbon > div { display: flex; width: max-content; animation: mmpxRun 38s linear infinite; }
.mmpx-ribbon span { flex: none; padding: 15px 34px; font: 500 12.5px var(--mm-font-body); letter-spacing: .24em; text-transform: uppercase; color: #e8cf94; white-space: nowrap; }
@keyframes mmpxRun { to { transform: translateX(-50%); } }

/* lightbox + sticky bar */
.mmpx-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(8, 14, 56, .94); display: grid; place-items: center; padding: 30px; }
.mmpx-lb[hidden] { display: none; } .mmpx-lb img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 12px; }
.mmpx-lbx { position: absolute; top: 18px; right: 22px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #faf3e6; color: #0f1b5c; font-size: 28px; line-height: 1; cursor: pointer; }
.mmpx-sticky { position: fixed; left: 50%; bottom: 18px; z-index: 9980; transform: translate(-50%, 140%); display: flex; align-items: center; gap: 22px; padding: 10px 10px 10px 28px; border-radius: 99px; background: rgba(15, 27, 92, .96); color: #fff; box-shadow: 0 24px 40px -16px rgba(8, 14, 56, .7); border: 1px solid rgba(217, 172, 79, .7); transition: transform .5s cubic-bezier(.2, 1, .3, 1); backdrop-filter: blur(8px); }
.mmpx-sticky.is-on { transform: translate(-50%, 0); }
.mmpx-sticky b { font: 500 17px var(--mm-font-head); max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mmpx-buy--sm { flex: none; padding: 13px 24px; font-size: 14px; animation: none; box-shadow: none; }

@media (max-width: 900px) {
	.mmpx { padding-top: 112px; }
	.mmpx-grid { grid-template-columns: minmax(0, 1fr); }
	.mmpx-gal { grid-template-columns: minmax(0, 1fr); }
	.mmpx-thumbs { flex-direction: row; order: 2; max-height: none; overflow-x: auto; }
	.mmpx-arch { left: 16px; right: -10px; }
	.mmpx-prev { left: 6px; } .mmpx-next { right: 6px; }
	.mmpx-sticky { display: none; }
	.mmpx-perks { grid-template-columns: 1fr 1fr; }
	.mmpx-cta { flex-wrap: wrap; } .mmpx-buy { flex: 1 1 100%; order: -1; }
}
@media (prefers-reduced-motion: reduce) { .mmpx-buy, .mmpx-buy::before, .mmpx-ribbon > div { animation: none; } }
/* fillers under the gallery */
.mmpx-gh { margin-bottom: 16px; } .mmpx-gh h2 { margin: 6px 0 0; font-family: var(--mm-font-head); font-weight: 500; color: #0f1b5c; }
.mmpx-guide { position: relative; padding: 30px 28px 26px; border-radius: 26px; color: #fff; background: radial-gradient(120% 100% at 0% 0%, #1f34a0 0%, #0f1b5c 55%, #081040 100%); box-shadow: 0 34px 50px -34px rgba(8, 16, 64, .8); overflow: hidden; }
.mmpx-guide::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M30 8l3.5 9L43 20.5l-9.500 3.500L30 34l-3.500-10L17 20.500l9.500-3.500z' fill='none' stroke='%23d9ac4f' stroke-opacity='.14'/%3E%3C/svg%3E"); pointer-events: none; }
.mmpx-guide .k { color: #e3b95c; } .mmpx-guide h2 { color: #fff; }
.mmpx-guide > * { position: relative; }
.mmpx-gt { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.mmpx-gt button { padding: 8px 15px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; font: 400 12.5px var(--mm-font-body); cursor: pointer; transition: background .25s, border-color .25s, color .25s; }
.mmpx-gt button:hover { border-color: #e3b95c; } .mmpx-gt button.is-on { background: #e3b95c; border-color: #e3b95c; color: #0f1b5c; font-weight: 600; }
.mmpx-gp { display: none; } .mmpx-gp.is-on { display: block; animation: mmpxFade .5s ease; }
@keyframes mmpxFade { from { opacity: 0; transform: translateY(8px); } }
.mmpx-gp .lead { margin: 0 0 16px; font: italic 500 18px/1.4 var(--mm-font-head); color: #f3d488; }
.mmpx-gp .rows { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mmpx-gp .r { display: flex; gap: 12px; padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .1); }
.mmpx-gp .r > span { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(227, 185, 92, .18); color: #e3b95c; }
.mmpx-gp .r b { display: block; font: 600 13.5px var(--mm-font-body); color: #fff; margin-bottom: 3px; } .mmpx-gp .r em { display: block; font-style: normal; font-size: 12.5px; line-height: 1.5; color: rgba(255, 255, 255, .78); }
.mmpx-guide .more { display: inline-block; margin-top: 18px; color: #e3b95c !important; font-size: 13.5px; text-decoration: none; border-bottom: 1px solid rgba(227, 185, 92, .5); padding-bottom: 2px; }
.mmpx-match .mmpx-mt { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mmpx-match a { text-decoration: none; text-align: center; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.mmpx-match .ph { display: block; width: 100%; aspect-ratio: 3 / 4; border-radius: 999px 999px 16px 16px; overflow: hidden; outline: 1px solid rgba(184, 137, 59, .6); outline-offset: 6px; background: #f1e8d6; transition: outline-offset .4s, transform .5s; }
.mmpx-match .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s; }
.mmpx-match a:hover .ph { outline-offset: 10px; } .mmpx-match a:hover .ph img { transform: scale(1.07); }
.mmpx-match b { font: 500 16px/1.25 var(--mm-font-head); color: #0f1b5c; margin-top: 4px; }
.mmpx-care { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 20px; border-radius: 22px; background: rgba(255, 255, 255, .7); border: 1px dashed rgba(184, 137, 59, .6); }
.mmpx-care div { text-align: center; } .mmpx-care span { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #0f1b5c; color: #e3b95c; margin-bottom: 8px; }
.mmpx-care b { display: block; font: 600 13.5px var(--mm-font-body); color: #0f1b5c; } .mmpx-care em { display: block; font-style: normal; font-size: 12px; color: #6b6f8a; margin-top: 3px; line-height: 1.4; }
@media (max-width: 900px) { .mmpx-gp .rows { grid-template-columns: 1fr; } .mmpx-match .mmpx-mt { gap: 12px; } }
/* full-width band under both columns */
.mmpx-band { position: relative; max-width: 1240px; margin: 0 auto; padding: 8px 0 64px; display: grid; gap: 46px; }
.mmpx-band .mmpx-gh { text-align: center; } .mmpx-band .mmpx-gh h2 { margin-top: 8px; }
.mmpx-band .mmpx-match .mmpx-mt { grid-template-columns: repeat(4, 1fr); gap: 34px; max-width: 1080px; margin: 0 auto; }
.mmpx-band .mmpx-care { max-width: 900px; width: 100%; margin: 0 auto; }
@media (max-width: 900px) { .mmpx-band .mmpx-match .mmpx-mt { grid-template-columns: repeat(2, 1fr); gap: 22px 14px; } .mmpx-care { grid-template-columns: 1fr; } }
/* === mmgift.css === */
/* "Delivering happiness" gift pop-up, bottom left. */
.mmgift { position: fixed; left: 18px; bottom: 18px; z-index: 9990; display: flex; align-items: center; gap: 4px; padding: 6px 22px 6px 6px; border-radius: 22px; color: #fff; background:
	radial-gradient(120% 140% at 0% 0%, #1f34a0 0%, #0f1b5c 55%, #081040 100%); border: 1px solid rgba(217, 172, 79, .75);
	box-shadow: 0 0 0 4px rgba(250, 243, 230, .9), 0 24px 44px -16px rgba(8, 16, 64, .65); max-width: calc(100vw - 36px); transform: translateX(-130%); opacity: 0; transition: transform .8s cubic-bezier(.2, 1.1, .3, 1), opacity .5s; overflow: visible; }
.mmgift[hidden] { display: none; }
.mmgift.is-on { transform: none; opacity: 1; }
.mmgift::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M22 5l2.6 6.6L31 14l-6.4 2.4L22 23l-2.6-6.6L13 14l6.4-2.4z' fill='none' stroke='%23d9ac4f' stroke-opacity='.16'/%3E%3C/svg%3E"); pointer-events: none; }
.mmgift::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .16) 50%, transparent 65%); background-size: 260% 100%; animation: mmgSheen 5.5s ease-in-out 1.5s infinite; pointer-events: none; }
@keyframes mmgSheen { 0% { background-position: 130% 0; } 55%, 100% { background-position: -130% 0; } }
.mmgift-x { position: absolute; top: -9px; right: -9px; z-index: 5; width: 26px; height: 26px; padding: 0; border-radius: 50%; border: 0; background: #faf3e6; color: #0f1b5c; font: 500 17px/1 Arial, sans-serif; cursor: pointer; box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .5); transition: transform .2s, background .2s; }
.mmgift-x:hover { transform: rotate(90deg) scale(1.08); background: #fff; }

.mmgift-stage { position: relative; flex: none; width: 118px; height: 112px; z-index: 2; }
.mmgift-glow { position: absolute; left: 50%; top: 46%; width: 96px; height: 96px; margin: -48px 0 0 -48px; border-radius: 50%; background: radial-gradient(circle, rgba(243, 212, 136, .55), transparent 68%); opacity: .35; animation: mmgGlow 7s ease-in-out infinite; }
@keyframes mmgGlow { 0%, 28% { opacity: .25; transform: scale(.8); } 38% { opacity: 1; transform: scale(1.35); } 62% { opacity: .5; transform: scale(1); } 100% { opacity: .25; transform: scale(.8); } }
.mmgift-box { position: absolute; left: -1px; top: 0; overflow: visible; animation: mmgDrop 1s cubic-bezier(.3, 1.4, .5, 1) both; transform-origin: 50% 100%; }
@keyframes mmgDrop { 0% { transform: translateY(-46px) scale(.8, 1.12); opacity: 0; } 55% { transform: translateY(0) scale(1.08, .92); opacity: 1; } 100% { transform: none; } }
.mmgift-band { stroke-dasharray: 100; animation: mmgBand 7s ease-in-out infinite; }
@keyframes mmgBand { 0% { stroke-dashoffset: 100; } 14%, 100% { stroke-dashoffset: 0; } }
.mmgift-lid { transform-box: fill-box; transform-origin: 8% 100%; animation: mmgLid 7s cubic-bezier(.3, 1.2, .5, 1) infinite; }
@keyframes mmgLid { 0%, 24% { transform: none; } 27% { transform: translateY(-2px) rotate(-1.5deg); } 29% { transform: translateY(0) rotate(1.5deg); } 33% { transform: translateY(-26px) rotate(-16deg); } 62% { transform: translateY(-26px) rotate(-16deg); } 72% { transform: none; } 100% { transform: none; } }
.mmgift-bow { transform-box: fill-box; transform-origin: 50% 90%; animation: mmgBow 7s ease-in-out infinite; }
@keyframes mmgBow { 0%, 6% { transform: scale(0); } 13% { transform: scale(1.25); } 17%, 100% { transform: scale(1); } }
.mmgift-body { transform-box: fill-box; transform-origin: 50% 100%; animation: mmgBody 7s ease-in-out infinite; }
@keyframes mmgBody { 0%, 24% { transform: none; } 26% { transform: scale(1.03, .97); } 30% { transform: scale(.98, 1.03); } 34%, 100% { transform: none; } }
.mmgift-spark path { transform-box: fill-box; transform-origin: center; animation: mmgTwinkle 2.4s ease-in-out infinite; opacity: 0; }
.mmgift-spark .s2 { animation-delay: .8s; } .mmgift-spark .s3 { animation-delay: 1.5s; }
@keyframes mmgTwinkle { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1.1) rotate(45deg); } }

/* confetti + hearts burst from the open box */
.mmgift-c { position: absolute; left: 50%; top: 44%; width: 7px; height: 11px; margin: -5px 0 0 -3px; background: var(--c); border-radius: 1.5px; opacity: 0; animation: mmgConf 7s cubic-bezier(.2, .7, .3, 1) var(--d) infinite; z-index: 3; }
.mmgift-c.is-dot { width: 7px; height: 7px; border-radius: 50%; }
@keyframes mmgConf { 0%, 31% { opacity: 0; transform: translate(0, 0) scale(.2) rotate(0); } 34% { opacity: 1; } 56% { opacity: 1; transform: translate(var(--x), var(--y)) rotate(var(--r)) scale(1); } 68% { opacity: 0; transform: translate(calc(var(--x) * 1.12), calc(var(--y) + 34px)) rotate(calc(var(--r) * 1.5)) scale(.9); } 100% { opacity: 0; } }
.mmgift-h { position: absolute; left: 50%; top: 40%; width: 15px; height: 14px; margin: -7px 0 0 -7px; fill: #e5566e; opacity: 0; z-index: 3; animation: mmgHeart 7s ease-out var(--d) infinite; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3)); }
@keyframes mmgHeart { 0%, 33% { opacity: 0; transform: translate(0, 0) scale(.3); } 40% { opacity: 1; } 70% { opacity: 0; transform: translate(var(--hx), -72px) scale(1.15); } 100% { opacity: 0; } }

.mmgift-copy { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 4px; padding-left: 2px; }
.mmgift-copy b { font: 500 20px/1.1 var(--mm-font-head, 'Cormorant Garamond', serif); letter-spacing: .01em; background: linear-gradient(100deg, #fff 0%, #f3d488 45%, #fff 90%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: mmgText 5s ease-in-out infinite; }
@keyframes mmgText { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.mmgift-copy span { font: 400 13px/1.2 var(--mm-font-body, 'Jost', sans-serif); letter-spacing: .14em; text-transform: uppercase; color: #e8cf94; white-space: nowrap; }
.mmgift-heart { font-style: normal; display: inline-block; letter-spacing: 0; margin-left: 2px; animation: mmgBeat 1.15s ease-in-out infinite; transform-origin: 50% 60%; }
@keyframes mmgBeat { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.3); } 28% { transform: scale(1); } 42% { transform: scale(1.22); } 56% { transform: scale(1); } }

body.single-product .mmgift { bottom: 18px; }
@media (max-width: 720px) {
	.mmgift { left: 10px; bottom: 12px; padding-right: 16px; }
	.mmgift-stage { width: 92px; height: 88px; }
	.mmgift-box { width: 94px; height: 88px; }
	.mmgift-copy b { font-size: 17px; }
	.mmgift-copy span { font-size: 11px; letter-spacing: .1em; }
	body.single-product .mmgift { bottom: 92px; }
}
@media (prefers-reduced-motion: reduce) {
	.mmgift, .mmgift-box, .mmgift-lid, .mmgift-bow, .mmgift-body, .mmgift-band, .mmgift-glow, .mmgift-copy b, .mmgift-heart, .mmgift::after { animation: none !important; transition: opacity .3s; }
	.mmgift { transform: none; }
	.mmgift-lid { transform: translateY(-22px) rotate(-14deg); }
	.mmgift-c, .mmgift-h { display: none; }
	.mmgift-spark path { opacity: 1; animation: none; }
}
/* === mmbz.css === */
/* ---- header: blue "we ship internationally" box with a buzzing red bell (replaces the heart) ---- */
.mmh-ship { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 11px; background: linear-gradient(135deg, #2a45b4, #1b2f8a); color: #fff !important; text-decoration: none !important; font: 500 11.5px/1.1 var(--mm-font-body, sans-serif); letter-spacing: .01em; box-shadow: 0 8px 18px -10px rgba(27, 47, 138, .9), inset 0 1px 0 rgba(255, 255, 255, .25); white-space: nowrap; transition: transform .25s, box-shadow .25s; }
.mmh-ship:hover { transform: translateY(-2px); box-shadow: 0 14px 22px -12px rgba(27, 47, 138, 1), inset 0 1px 0 rgba(255, 255, 255, .25); }
.mmh-ship .bell { position: relative; flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #e0263a; transform-origin: 50% 12%; animation: mmzBuzz 2.6s ease-in-out infinite; }
.mmh-ship .bell::after { content: ''; position: absolute; top: -2px; right: -2px; width: 9px; height: 9px; border-radius: 50%; background: #e0263a; box-shadow: 0 0 0 0 rgba(224, 38, 58, .7); animation: mmzPing 2.6s ease-out infinite; }
@keyframes mmzBuzz { 0%, 58%, 100% { transform: rotate(0); } 62% { transform: rotate(16deg) translateX(1px); } 66% { transform: rotate(-16deg) translateX(-1px); } 70% { transform: rotate(13deg); } 74% { transform: rotate(-13deg); } 78% { transform: rotate(9deg); } 82% { transform: rotate(-9deg); } 86% { transform: rotate(4deg); } 90% { transform: rotate(0); } }
@keyframes mmzPing { 0%, 55% { box-shadow: 0 0 0 0 rgba(224, 38, 58, .7); } 90%, 100% { box-shadow: 0 0 0 9px rgba(224, 38, 58, 0); } }
@media (max-width: 1360px) { .mmh-ship .t-full { display: none; } }
.mmh-top, .mmh-cta, .mmh-cta span { white-space: nowrap !important; }
@media (min-width: 1361px) and (max-width: 1500px) { .mmh-ship .t { font-size: 11px; } .mmh-ship { padding-right: 10px; } }
.mmh-ship .t-short { display: none; }
@media (max-width: 1360px) { .mmh-ship .t-short { display: inline; } }
@media (max-width: 480px) { .mmh-ship { padding: 4px 9px 4px 4px; gap: 6px; } .mmh-ship .t { font-size: 10.5px; } .mmh-ship .bell { width: 22px; height: 22px; } }
@media (prefers-reduced-motion: reduce) { .mmh-ship .bell, .mmh-ship .bell::after { animation: none; } }
.mmb-heart, .mmb-wl, .mmb-wl-scrim, .mmh-wish, .mmb-wish-btn { display: none !important; }

/* ---- international shipping & business page ---- */
.mmz { background: #faf3e6; }
.mmz-sec { padding: clamp(56px, 7vw, 100px) 24px; position: relative; }
.mmz-in { max-width: 1200px; margin: 0 auto; } .mmz-narrow { max-width: 820px; }
.mmz-hd { text-align: center; max-width: 720px; margin: 0 auto 46px; }
.mmz .k { font: 500 12.5px var(--mm-font-body); letter-spacing: .28em; text-transform: uppercase; color: #8a6422; }
.mmz-hd h2 { margin: 12px 0 12px; font: 500 clamp(30px, 3.2vw, 46px)/1.12 var(--mm-font-head); color: #0f1b5c; } .mmz-hd h2 em, .mmz-side h2 em { font-style: italic; color: #b8893b; }
.mmz-hd p { margin: 0; font: 300 18px/1.7 var(--mm-font-body); color: #4f5470; }
.mmz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; counter-reset: s; }
.mmz-steps li { position: relative; text-align: center; padding: 42px 26px 30px; border-radius: 26px 26px 20px 20px; background: #fff; border: 1px solid rgba(15, 27, 92, .09); box-shadow: 0 30px 40px -34px rgba(15, 27, 92, .5); transition: transform .35s, box-shadow .35s; }
.mmz-steps li:hover { transform: translateY(-6px); }
.mmz-steps .n { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #b8893b; color: #fff; font: 600 16px var(--mm-font-body); box-shadow: 0 0 0 5px #faf3e6; }
.mmz-steps .ic { display: inline-grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(140deg, #2a45b4, #0f1b5c); color: #e3b95c; margin-bottom: 16px; }
.mmz-steps h3, .mmz-cards h3 { margin: 0 0 8px; font: 500 22px/1.2 var(--mm-font-head) !important; color: #0f1b5c; } .mmz-steps p, .mmz-cards p { margin: 0; font: 300 16px/1.65 var(--mm-font-body); color: #4f5470; }
.mmz-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 46px; border-radius: 24px; overflow: hidden; background: radial-gradient(120% 100% at 0% 0%, #1f34a0, #0f1b5c 55%, #081040); color: #fff; }
.mmz-facts div { padding: 30px 28px; display: grid; gap: 4px; justify-items: center; text-align: center; border-right: 1px solid rgba(217, 172, 79, .3); } .mmz-facts div:last-child { border: 0; }
.mmz-facts span { color: #e3b95c; } .mmz-facts b { font: 500 20px var(--mm-font-head); } .mmz-facts em { font-style: normal; font-size: 14px; color: rgba(255, 255, 255, .8); line-height: 1.5; }
.mmz-biz { background: linear-gradient(180deg, #faf3e6, #f6e6ea 60%, #faf3e6); }
.mmz-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.mmz-cards article { padding: 30px 24px; border-radius: 999px 999px 20px 20px; background: #fff; border: 1px solid rgba(184, 137, 59, .5); text-align: center; transition: transform .35s, box-shadow .35s; padding-top: 54px; }
.mmz-cards article:hover { transform: translateY(-6px); box-shadow: 0 30px 40px -30px rgba(15, 27, 92, .5); }
.mmz-cards article > span { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; margin-bottom: 14px; color: #fff; background: linear-gradient(140deg, #1f7a52, #0f4a32); }
.mmz-cards article:nth-child(2) > span { background: linear-gradient(140deg, #a8324a, #5a1424); } .mmz-cards article:nth-child(3) > span { background: linear-gradient(140deg, #e2b04e, #a9782b); } .mmz-cards article:nth-child(4) > span { background: linear-gradient(140deg, #2a45b4, #0f1b5c); }
.mmz-form { background: radial-gradient(120% 100% at 100% 0%, #1f34a0, #0f1b5c 55%, #081040); color: #fff; }
.mmz-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(30px, 5vw, 70px); align-items: start; }
.mmz-side .k { color: #e3b95c; } .mmz-side h2 { margin: 12px 0 14px; font: 500 clamp(30px, 3.2vw, 44px)/1.12 var(--mm-font-head); color: #fff; } .mmz-side h2 em { color: #e3b95c; }
.mmz-side p { font: 300 18px/1.7 var(--mm-font-body); color: rgba(255, 255, 255, .85); } .mmz-side ul { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; } .mmz-side li { padding-left: 26px; position: relative; color: #f3e2b4; } .mmz-side li::before { content: '\2726'; position: absolute; left: 0; color: #e3b95c; }
.mmz-formbox { display: grid; gap: 16px; padding: clamp(24px, 3vw, 40px); border-radius: 26px; background: #faf3e6; color: #0f1b5c; box-shadow: 0 40px 60px -34px rgba(0, 0, 0, .7); }
.mmz-formbox .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mmz-formbox label { display: grid; gap: 6px; font: 500 13px var(--mm-font-body); color: #0f1b5c; }
.mmz-formbox input, .mmz-formbox select, .mmz-formbox textarea { width: 100%; padding: 13px 14px; border: 1px solid rgba(15, 27, 92, .2); border-radius: 12px; background: #fff; font: 400 15px var(--mm-font-body); color: #0f1b5c; }
.mmz-formbox input:focus, .mmz-formbox select:focus, .mmz-formbox textarea:focus { outline: 2px solid #b8893b; outline-offset: 1px; }
.mmz-send { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 17px 30px; border: 0; border-radius: 99px; cursor: pointer; background: linear-gradient(120deg, #f6d98c, #e2b04e 50%, #b8893b); color: #0f1b5c; font: 600 15px var(--mm-font-body); box-shadow: 0 20px 30px -18px rgba(184, 137, 59, .95); transition: transform .3s; } .mmz-send:hover { transform: translateY(-3px); } .mmz-send i { font-style: normal; }
.mmz-msg { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 14px; } .mmz-msg.ok { background: #dff3e4; color: #17603a; } .mmz-msg.err { background: #fde3e3; color: #8a1c1c; }
.mmz-faq details { border-bottom: 1px solid rgba(15, 27, 92, .15); padding: 4px 0; } .mmz-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font: 500 21px/1.3 var(--mm-font-head) !important; color: #0f1b5c; }
.mmz-faq summary::-webkit-details-marker { display: none; } .mmz-faq summary i { flex: none; width: 14px; height: 14px; position: relative; } .mmz-faq summary i::before, .mmz-faq summary i::after { content: ''; position: absolute; left: 0; right: 0; top: 6px; height: 2px; background: #b8893b; transition: transform .3s; } .mmz-faq summary i::after { transform: rotate(90deg); } .mmz-faq details[open] summary i::after { transform: rotate(0); }
.mmz-faq details p { margin: 0 0 18px; font: 300 17px/1.75 var(--mm-font-body); color: #4f5470; }
.mmz-close { text-align: center; padding: 26px 20px; background: linear-gradient(90deg, #0f1b5c, #1b2f8a 50%, #0f1b5c); color: #e8cf94; font: 500 14px var(--mm-font-body); letter-spacing: .24em; text-transform: uppercase; }
@media (max-width: 900px) { .mmz-steps, .mmz-cards, .mmz-facts, .mmz-split { grid-template-columns: 1fr; } .mmz-facts div { border-right: 0; border-bottom: 1px solid rgba(217, 172, 79, .3); } .mmz-formbox .row { grid-template-columns: 1fr; } .mmz-cards article { border-radius: 28px; padding-top: 30px; } }

/* ---- fairy dust canvas ---- */
canvas.mmfairy { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 99990; }
.mmz-note { margin-top: 22px; padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .1); border: 1px dashed rgba(227, 185, 92, .6); font-size: 15px !important; color: #f3e2b4 !important; }

/* keep the whole header on one line between the burger breakpoint (900px) and wide desktop */
@media (min-width: 901px) and (max-width: 1280px) {
	.mmh-nav ul { gap: 0 !important; }
	.mmh-top { padding: 12px 10px !important; font-size: 13.5px !important; }
	.mmh-cta { padding: 11px 16px !important; }
	.mmh-actions { gap: 8px !important; }
}
@media (min-width: 901px) and (max-width: 1120px) {
	.mmh-top { padding: 12px 7px !important; font-size: 13px !important; }
	.mmh-ship { padding: 5px 9px 5px 5px; gap: 6px; } .mmh-ship .t { font-size: 10.5px; }
	.mmh-cta { padding: 10px 13px !important; font-size: 13px !important; }
}
@media (min-width: 901px) and (max-width: 1040px) { .mmh-nav li:has(> a[href*='/journal/']) { display: none; } .mmh-top { padding: 12px 6px !important; } .mmh-actions { gap: 6px !important; } }

