/*
 Theme Name:   BeautyFinderr Astra Child
 Theme URI:    https://beautyfinderr.com
 Description:  Premium beauty product discovery and review theme — BeautyFinderr. Discover. Review. Upgrade.
 Author:       BeautyFinderr
 Template:     astra
 Version:      3.0.0
 Text Domain:  beautyfinder-child
*/

/* ==========================================================================
   1. TOKENS
   ========================================================================== */
:root{
	--mf-white:#FFFFFF;
	--mf-black:#111111;
	--mf-charcoal:#1A1A1A;
	--mf-orange:#C2387E; /* legacy token: only Airlift's stale critical CSS still reads it */
	--mf-pink:#FEC5E5;
	--mf-pink-dark:#F9A8D4;
	--mf-pink-soft:#FFF0F8;
	--mf-ink:#C2387E;
	--mf-ink-dark:#9D2463;
	--mf-orange-dark:#9D2463;
	--mf-gray-light:#F7F5F2;
	--mf-gray:#666666;
	--mf-border:#EAEAEA;
	--mf-cream:#F7F5F2;

	--mf-wrap:1180px;
	--mf-radius:10px;
	--mf-radius-lg:18px;
	--mf-shadow:0 2px 10px rgba(17,17,17,.05);
	--mf-shadow-md:0 10px 30px rgba(17,17,17,.10);
	--mf-shadow-lg:0 24px 60px rgba(17,17,17,.16);

	--mf-sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--mf-display:'Playfair Display',Georgia,serif;
	--mf-script:'Caveat',cursive;
}

/* ==========================================================================
   2. BASE
   ========================================================================== */
body{
	font-family:var(--mf-sans);
	color:var(--mf-black);
	background:var(--mf-white);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
body h1,body h2,body h3,body h4,body h5,body h6{
	font-family:var(--mf-sans);
	color:var(--mf-black);
	letter-spacing:-.01em;
}
a{ color:var(--mf-ink); text-decoration:none; transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
a:hover,a:focus{ color:var(--mf-ink-dark); }
img{ max-width:100%; height:auto; display:block; }

.mf-wrap{ width:100%; max-width:var(--mf-wrap); margin:0 auto; padding:0 24px; }
.mf-section{ padding:68px 0; }
.mf-section-tight{ padding:28px 0; }
.mf-section-alt{ background:var(--mf-gray-light); }

/* Astra container neutralisation — every template here draws its own .mf-wrap,
   so Astra's boxed grey container would double the frame. */
body, body.ast-separate-container{ background:#fff; }
#content > .ast-container{ max-width:none; width:100%; padding:0; margin:0; display:block; }
#content{ padding:0; }

/* Section headings */
.mf-head-row{
	display:flex; align-items:flex-end; justify-content:space-between;
	gap:24px; flex-wrap:wrap; margin-bottom:28px;
}
.mf-h2{
	font-family:var(--mf-display);
	font-size:clamp(28px,3.4vw,40px);
	font-weight:800; line-height:1.1; margin:0 0 6px; letter-spacing:-.01em;
}
.mf-h2 .accent{ color:var(--mf-ink); }
.mf-sub{ color:var(--mf-gray); font-size:15.5px; margin:0; }
.mf-link-arrow{
	display:inline-flex; align-items:center; gap:7px;
	font-weight:700; font-size:14.5px; color:var(--mf-ink);
}
.mf-link-arrow svg{ transition:transform .25s ease; }
.mf-link-arrow:hover svg{ transform:translateX(4px); }

/* ==========================================================================
   3. BUTTONS
   ========================================================================== */
.mf-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:9px;
	background:var(--mf-pink); color:#111!important;
	font-family:var(--mf-sans); font-weight:700; font-size:14.5px; line-height:1;
	padding:13px 24px; border-radius:999px; border:none; cursor:pointer;
	box-shadow:0 4px 14px rgba(236,72,153,.25);
	transition:background .22s ease,transform .22s ease,box-shadow .22s ease;
	text-align:center;
}
.mf-btn:hover,.mf-btn:focus{
	background:var(--mf-pink-dark); color:#111!important;
	transform:translateY(-2px); box-shadow:0 8px 22px rgba(236,72,153,.34);
}
.mf-btn:active{ transform:translateY(0); }
.mf-btn svg{ transition:transform .22s ease; flex:none; }
.mf-btn:hover svg{ transform:translateX(3px); }
.mf-btn-sm{ padding:10px 19px; font-size:13.5px; }
.mf-btn-lg{ padding:17px 32px; font-size:16px; }
.mf-btn-block{ display:flex; width:100%; }
.mf-btn-ghost{
	background:transparent; color:var(--mf-black)!important;
	border:1.5px solid var(--mf-border); box-shadow:none;
}
.mf-btn-ghost:hover{ background:var(--mf-black); color:#fff!important; border-color:var(--mf-black); box-shadow:none; }

.mf-icon-btn{
	display:inline-grid; place-items:center;
	width:38px; height:38px; border-radius:50%;
	background:transparent; border:none; cursor:pointer; color:var(--mf-black);
	transition:background .2s ease,color .2s ease;
}
.mf-icon-btn:hover{ background:var(--mf-gray-light); color:var(--mf-ink); }

/* ==========================================================================
   4. HEADER
   ========================================================================== */
.mf-header{
	position:sticky; top:0; z-index:200;
	background:#fff; border-bottom:1px solid var(--mf-border);
}
/* The header spans wider than the content grid, matching the design. */
.mf-header .mf-wrap{ max-width:1340px; padding:0 40px; }
.mf-header-inner{
	display:flex; align-items:center; gap:30px;
	min-height:76px;
}

/* Logo */
.mf-logo{ display:flex; align-items:center; gap:10px; flex:none; }
.mf-logo-mark{ display:none; }
.mf-logo-name{
	display:block; font-family:var(--mf-display);
	font-size:27px; font-weight:800; letter-spacing:-.02em;
	color:var(--mf-black); line-height:1.05; white-space:nowrap;
}
.mf-logo-name span{ color:var(--mf-ink); }
.mf-logo-tag{
	display:block; font-size:8.5px; font-weight:700; letter-spacing:.17em;
	text-transform:uppercase; color:var(--mf-gray); margin-top:3px;
	font-family:var(--mf-sans);
}
.mf-logo-light .mf-logo-name{ color:#fff; }
.mf-logo-light .mf-logo-tag{ color:rgba(255,255,255,.55); }

/* Nav */
.mf-nav{ margin-right:auto; min-width:0; }
.mf-menu{
	display:flex; align-items:center; gap:19px; flex-wrap:nowrap;
	list-style:none; margin:0; padding:0;
}
.mf-menu > li > a{ white-space:nowrap; font-size:15px; }
.mf-menu li{ position:relative; }
.mf-menu a{
	display:block; font-size:14.5px; font-weight:600; color:var(--mf-charcoal);
	padding:6px 0; position:relative;
}
.mf-menu a::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
	background:var(--mf-pink-dark); transform:scaleX(0); transform-origin:left;
	transition:transform .25s ease;
}
.mf-menu a:hover{ color:var(--mf-ink); }
.mf-menu a:hover::after{ transform:scaleX(1); }
.mf-menu .current-menu-item>a,
.mf-menu .current_page_item>a,
.mf-menu .current-menu-parent>a{ color:var(--mf-ink); }
.mf-menu .current-menu-item>a::after,
.mf-menu .current_page_item>a::after{ transform:scaleX(1); }

/* Submenus */
.mf-menu .sub-menu{
	position:absolute; top:calc(100% + 12px); left:-14px; min-width:210px;
	background:#fff; border:1px solid var(--mf-border); border-radius:12px;
	box-shadow:var(--mf-shadow-md); padding:8px; list-style:none; margin:0;
	opacity:0; visibility:hidden; transform:translateY(8px);
	transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.mf-menu li:hover>.sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.mf-menu .sub-menu a{ padding:9px 12px; border-radius:8px; font-weight:600; font-size:14px; }
.mf-menu .sub-menu a::after{ display:none; }
.mf-menu .sub-menu a:hover{ background:var(--mf-gray-light); }

.mf-header-actions{ display:flex; align-items:center; gap:14px; flex:none; }
.mf-header-cta{
	white-space:nowrap; font-size:14.5px; padding:14px 26px;
	box-shadow:none;
}
.mf-header-cta:hover{ box-shadow:0 8px 22px rgba(236,72,153,.3); }
/* Plain magnifier, no button chrome — matches the header design. */
#mf-search-toggle{ width:26px; height:26px; padding:0; background:none; }
#mf-search-toggle:hover{ background:none; color:var(--mf-ink); }
.mf-burger{ display:none; }

/* Search panel */
.mf-search-panel{ border-top:1px solid var(--mf-border); background:#fff; padding:16px 0; }
.mf-search-panel form{ display:flex; align-items:center; gap:12px; }
.mf-search-panel svg{ color:var(--mf-gray); flex:none; }
.mf-search-panel input{
	flex:1; border:none; outline:none; font-family:var(--mf-sans);
	font-size:16px; padding:8px 0; background:transparent; color:var(--mf-black);
}

/* Mobile nav */
.mf-mobile-nav{
	background:#fff; border-bottom:1px solid var(--mf-border);
	padding:16px 24px 22px;
}
.mf-mobile-menu{ list-style:none; margin:0 0 16px; padding:0; }
.mf-mobile-menu li{ border-bottom:1px solid var(--mf-border); }
.mf-mobile-menu a{ display:block; padding:12px 2px; font-weight:700; font-size:15px; color:var(--mf-charcoal); }
.mf-mobile-menu .sub-menu{ list-style:none; margin:0 0 8px 14px; padding:0; border:none; }
.mf-mobile-menu .sub-menu li{ border:none; }
.mf-mobile-menu .sub-menu a{ padding:8px 2px; font-weight:500; font-size:14px; color:var(--mf-gray); }

/* ==========================================================================
   5. HERO — photo on the right, copy on the light left, as in the design
   ========================================================================== */
.mf-hero{
	position:relative; overflow:hidden;
	background:var(--mf-cream);
	border-bottom:1px solid var(--mf-border);
}
.mf-hero-media{
	position:absolute; top:0; right:0; bottom:0; width:62%; z-index:1;
}
.mf-hero-media img{
	width:100%; height:100%; object-fit:cover; object-position:66% 30%;
}
/* Soft fade from the page colour into the photo. */
.mf-hero-media::before{
	content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
	background:linear-gradient(90deg, var(--mf-cream) 0%, rgba(247,245,242,.72) 11%, rgba(247,245,242,0) 30%);
}
.mf-hero-grid{
	position:relative; z-index:3;
	display:flex; align-items:center; min-height:660px;
}
.mf-hero-copy{ max-width:560px; padding:60px 0; }

.mf-hero h1{
	font-family:var(--mf-display);
	font-size:clamp(46px,5.4vw,80px); font-weight:800; line-height:1.02;
	letter-spacing:-.02em; margin:0 0 22px; color:var(--mf-black);
}
.mf-hero h1 .line2{ display:block; color:var(--mf-ink); }
.mf-hero .lead{
	font-size:19px; color:#2F2F2F; max-width:470px; margin:0 0 30px; line-height:1.5;
}

.mf-hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.mf-hero .mf-btn-lg{ padding:17px 34px; font-size:17px; }
.mf-hero .mf-btn-ghost{ background:rgba(255,255,255,.9); border:1.5px solid var(--mf-black); }

/* Trust bar — icon above label, thin dividers, as in the design */
.mf-trustbar{
	display:flex; flex-wrap:wrap; gap:0; list-style:none; margin:40px 0 0; padding:0;
}
.mf-trustbar li{
	display:flex; flex-direction:column; align-items:center; gap:8px;
	padding:0 22px; text-align:center;
	font-size:14px; font-weight:500; line-height:1.3; color:var(--mf-black);
	border-left:1px solid rgba(17,17,17,.12);
}
.mf-trustbar li:first-child{ padding-left:0; border-left:none; }
.mf-trustbar .ico{ color:var(--mf-black); display:grid; place-items:center; }

/* Handwritten "Discover / Review / Upgrade" over the photo */
.mf-hero-script{
	position:absolute; z-index:4; right:4%; top:7%;
	transform:rotate(-8deg);
	font-family:var(--mf-script); font-size:clamp(34px,3.6vw,54px); font-weight:600;
	line-height:1.05; color:#fff; pointer-events:none;
	text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.mf-hero-script span{ display:block; }
.mf-hero-script .heart{ display:block; margin:8px 0 0 52px; color:#fff; }

/* ==========================================================================
   6. CATEGORY STRIP
   ========================================================================== */
.mf-catstrip{ padding:34px 0 30px; background:#fff; }
.mf-catstrip-list{
	display:grid; grid-template-columns:repeat(8,1fr); gap:12px;
	list-style:none; margin:0; padding:0;
}
.mf-catstrip-list a{
	display:flex; flex-direction:column; align-items:center; gap:12px;
	color:var(--mf-black); text-align:center;
}
.mf-catstrip-ico{
	display:grid; place-items:center; width:90px; height:90px; border-radius:50%;
	background:var(--mf-gray-light); color:var(--mf-charcoal);
	transition:background .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease;
}
.mf-catstrip-list a:hover .mf-catstrip-ico{
	background:var(--mf-pink); color:#111;
	transform:translateY(-5px); box-shadow:0 12px 26px rgba(236,72,153,.3);
}
.mf-catstrip-label{ font-size:12.5px; font-weight:700; line-height:1.3; }
.mf-catstrip-list a:hover .mf-catstrip-label{ color:var(--mf-ink); }

/* ==========================================================================
   6b. BEAUTY CATEGORY CARDS
   ========================================================================== */
.mf-cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.mf-cat-card{
	display:flex; flex-direction:column; background:#fff; color:inherit;
	border:1px solid var(--mf-border); border-radius:16px; overflow:hidden;
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.mf-cat-card:hover{ transform:translateY(-5px); box-shadow:var(--mf-shadow-md); border-color:#DCD8D2; color:inherit; }
.mf-cat-media{ display:block; aspect-ratio:16/8; overflow:hidden; background:var(--mf-gray-light); }
.mf-cat-media img{ width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.mf-cat-card:hover .mf-cat-media img{ transform:scale(1.06); }
.mf-cat-body{ display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.mf-cat-top{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.mf-cat-ico{
	display:grid; place-items:center; width:34px; height:34px; border-radius:10px; flex:none;
	background:#FFF0F8; color:var(--mf-ink);
}
.mf-cat-name{ font-size:19px; font-weight:800; letter-spacing:-.01em; color:var(--mf-black); }
.mf-cat-desc{ font-size:14px; color:var(--mf-gray); line-height:1.55; flex:1; }
.mf-cat-foot{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	margin-top:18px; padding-top:14px; border-top:1px solid var(--mf-border);
}
.mf-cat-count{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--mf-gray); }
.mf-cat-arrow{
	display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
	background:var(--mf-gray-light); color:var(--mf-ink);
	transition:background .25s ease, color .25s ease, transform .25s ease;
}
.mf-cat-card:hover .mf-cat-arrow{ background:var(--mf-pink); color:#111; transform:translateX(3px); }

/* ==========================================================================
   6c. TIKTOK CARDS
   ========================================================================== */
.mf-tiktok-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.mf-tiktok-card{
	display:flex; flex-direction:column; color:inherit;
	background:#fff; border:1px solid var(--mf-border); border-radius:14px; overflow:hidden;
	transition:transform .3s ease, box-shadow .3s ease;
}
.mf-tiktok-card:hover{ transform:translateY(-5px); box-shadow:var(--mf-shadow-md); color:inherit; }
.mf-tiktok-media{
	position:relative; display:block; aspect-ratio:9/13; overflow:hidden; background:#fff;
}
.mf-tiktok-media img{ width:100%; height:100%; object-fit:contain; padding:14px; mix-blend-mode:multiply; }
.mf-tiktok-play{
	position:absolute; left:12px; bottom:12px;
	display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
	background:rgba(17,17,17,.88); color:#fff; backdrop-filter:blur(4px);
}
.mf-tiktok-body{ display:flex; flex-direction:column; gap:5px; padding:14px 15px 17px; flex:1; }
.mf-tiktok-cat{
	font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--mf-ink);
}
.mf-tiktok-body strong{ font-size:14px; font-weight:800; line-height:1.3; color:var(--mf-black); }
.mf-tiktok-hook{ font-size:12.5px; color:var(--mf-gray); line-height:1.5; flex:1; }
.mf-tiktok-more{
	display:inline-flex; align-items:center; gap:6px; margin-top:6px;
	font-size:12px; font-weight:800; color:var(--mf-ink);
}
.mf-tiktok-card:hover .mf-tiktok-more svg{ transform:translateX(3px); }
.mf-tiktok-more svg{ transition:transform .2s ease; }

/* ==========================================================================
   6d. BEST OF CARDS
   ========================================================================== */
.mf-bestof-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mf-bestof-card{
	position:relative; display:block; aspect-ratio:3/4; border-radius:16px; overflow:hidden;
	color:#fff; transition:transform .35s ease, box-shadow .35s ease;
}
.mf-bestof-card:hover{ transform:translateY(-5px); box-shadow:var(--mf-shadow-lg); color:#fff; }
.mf-bestof-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.mf-bestof-card:hover img{ transform:scale(1.07); }
.mf-bestof-overlay{
	position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
	gap:6px; padding:22px;
	background:linear-gradient(180deg, rgba(17,17,17,0) 35%, rgba(17,17,17,.82) 100%);
}
.mf-bestof-overlay strong{ font-size:18px; font-weight:800; line-height:1.25; color:#fff; }
.mf-bestof-desc{ font-size:13px; color:rgba(255,255,255,.78); line-height:1.5; }
.mf-bestof-more{
	display:inline-flex; align-items:center; gap:7px; margin-top:8px;
	font-size:12.5px; font-weight:800; color:var(--mf-ink);
}
.mf-bestof-card:hover .mf-bestof-more svg{ transform:translateX(4px); }
.mf-bestof-more svg{ transition:transform .22s ease; }

/* ==========================================================================
   6e. NEWSLETTER
   ========================================================================== */
.mf-newsletter{
	display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap;
	background:var(--mf-gray-light); border:1px solid var(--mf-border);
	border-radius:22px; padding:44px 48px;
}
.mf-newsletter-copy h2{
	font-family:var(--mf-display); font-size:clamp(24px,2.8vw,32px);
	font-weight:800; margin:0 0 8px; letter-spacing:-.01em;
}
.mf-newsletter-copy p{ font-size:15px; color:var(--mf-gray); margin:0; max-width:420px; }
.mf-newsletter-form{ display:flex; gap:10px; flex-wrap:wrap; }
.mf-newsletter-form input{
	min-width:270px; padding:15px 20px; border-radius:999px;
	border:1.5px solid var(--mf-border); background:#fff;
	font-family:var(--mf-sans); font-size:15px; color:var(--mf-black); outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.mf-newsletter-form input:focus{ border-color:var(--mf-pink-dark); box-shadow:0 0 0 3px rgba(236,72,153,.12); }

/* ==========================================================================
   7. PRODUCT CARDS
   ========================================================================== */
.mf-products-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

/* Empty state shown until a product image is uploaded to the post */
.mf-noimg{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
	width:100%; height:100%; min-height:120px;
	background:
		repeating-linear-gradient(45deg, #FBFAF8 0 10px, #F4F1ED 10px 20px);
	color:var(--mf-gray); text-align:center;
}
.mf-noimg svg{ color:#D8CFC4; }
.mf-noimg > span{
	font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
	line-height:1.4; color:#A89C8E;
}

/* Card meta additions for the beauty catalogue */
.mf-card-cat{
	display:block; font-size:11.5px; font-weight:600; color:var(--mf-gray);
	margin:-2px 0 8px;
}
.mf-rating-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:9px; }
.mf-rating-row .cnt{ font-size:11.5px; font-weight:600; color:var(--mf-gray); }
.mf-product-foot{ margin-bottom:12px; }
.mf-price{ font-size:13.5px; font-weight:800; color:var(--mf-black); }
.mf-product-actions{ display:flex; flex-direction:column; gap:8px; margin-top:auto; }
.mf-amazon-btn-sm{ font-size:13px!important; padding:12px 18px!important; }

.mf-product-card{
	display:flex; flex-direction:column;
	background:#fff; border:1px solid var(--mf-border); border-radius:var(--mf-radius);
	overflow:hidden; transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.mf-product-card:hover{
	transform:translateY(-5px); box-shadow:var(--mf-shadow-md); border-color:#DCD8D2;
}
.mf-product-media{
	position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#fff;
}
.mf-product-media img{
	width:100%; height:100%; object-fit:contain; padding:12px;
	transition:transform .5s ease; mix-blend-mode:multiply;
}
.mf-product-card:hover .mf-product-media img{ transform:scale(1.06); }

.mf-tag{
	position:absolute; top:11px; left:11px;
	background:var(--mf-pink); color:#111;
	font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
	padding:5px 10px; border-radius:5px; line-height:1;
}

.mf-product-body{ padding:15px 15px 17px; display:flex; flex-direction:column; flex:1; }
.mf-product-body h3{ font-size:15.5px; font-weight:800; line-height:1.3; margin:0 0 8px; }
.mf-product-body h3 a{ color:var(--mf-black); }
.mf-product-body h3 a:hover{ color:var(--mf-ink); }
.mf-product-body p{ font-size:13.5px; color:var(--mf-gray); margin:0 0 15px; line-height:1.5; flex:1; }

/* Rating */
.mf-rating{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:9px; }
.mf-stars{ display:inline-flex; gap:1px; color:var(--mf-ink); line-height:0; }
.mf-stars i{ display:inline-flex; }
.mf-stars i.on svg{ fill:currentColor; }
.mf-stars i.half svg{ fill:currentColor; opacity:.5; }
.mf-stars i.off{ color:#D8D4CE; }
.mf-rating .num{ font-size:13.5px; font-weight:800; color:var(--mf-black); }
.mf-rating .cnt{ font-size:11.5px; color:var(--mf-gray); font-weight:600; }
.mf-rating-note{ color:var(--mf-ink); display:inline-flex; }

/* ==========================================================================
   8. BANNERS
   ========================================================================== */
.mf-banner-row{ display:grid; grid-template-columns:1.32fr 1fr; gap:18px; }

.mf-banner{
	position:relative; overflow:hidden; border-radius:var(--mf-radius-lg);
	min-height:232px; display:flex; align-items:center;
}

/* Dark banner with photo */
.mf-banner-dark{ background:var(--mf-charcoal); color:#fff; }
.mf-banner-dark::before{
	content:""; position:absolute; inset:0;
	background-image:var(--bg); background-size:cover; background-position:center 28%;
	opacity:.85;
}
.mf-banner-dark::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(90deg,#141414 0%,rgba(20,20,20,.92) 38%,rgba(20,20,20,.28) 72%,rgba(20,20,20,.5) 100%);
}
.mf-banner-dark .mf-banner-copy{ position:relative; z-index:2; padding:40px 42px; max-width:60%; }
.mf-banner-dark h3{
	font-size:clamp(28px,3.2vw,40px); font-weight:800; line-height:1.02;
	color:#fff!important; margin:0 0 12px; letter-spacing:-.02em;
}
.mf-banner-dark h3 span{ color:var(--mf-ink); }
.mf-banner-dark p{ font-size:14.5px; color:rgba(255,255,255,.8); margin:0 0 20px; }

.mf-banner-icons{
	position:absolute; right:34px; bottom:26px; z-index:3;
	display:flex; gap:26px; list-style:none; margin:0; padding:0;
}
.mf-banner-icons li{
	display:flex; flex-direction:column; align-items:center; gap:6px;
	color:var(--mf-ink); font-size:9.5px; font-weight:800; letter-spacing:.08em;
	text-transform:uppercase; line-height:1.25; text-align:center;
}
.mf-banner-icons span{ color:#fff; }

/* Soft / TikTok banner */
.mf-banner-soft{ background:#FDEEE3; color:var(--mf-black); }
.mf-banner-soft .mf-banner-copy{ position:relative; z-index:3; padding:34px 0 34px 34px; max-width:57%; }
.mf-banner-brand{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.mf-banner-brand svg{ color:var(--mf-black); }
.mf-banner-brand strong{ font-size:21px; font-weight:800; letter-spacing:-.01em; }
.mf-banner-soft p{ font-size:13.5px; color:#4A4A4A; margin:0 0 18px; line-height:1.5; }

.mf-banner-phone{
	position:absolute; right:8%; bottom:-14px; z-index:2;
	width:126px; aspect-ratio:9/17; border-radius:18px; overflow:hidden;
	border:5px solid #141414; background:#141414;
	box-shadow:var(--mf-shadow-lg); transform:rotate(4deg);
}
.mf-banner-phone img{ width:100%; height:100%; object-fit:cover; }

.mf-banner-script{
	position:absolute; right:10px; top:24px; z-index:3;
	font-family:var(--mf-script); font-size:23px; font-weight:700; line-height:1;
	color:var(--mf-black); transform:rotate(-8deg); text-align:center; pointer-events:none;
}

/* ==========================================================================
   9. LATEST REVIEWS
   ========================================================================== */
.mf-posts-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.mf-post-card{
	background:#fff; border:1px solid var(--mf-border); border-radius:var(--mf-radius);
	overflow:hidden; transition:transform .28s ease,box-shadow .28s ease;
}
.mf-post-card:hover{ transform:translateY(-4px); box-shadow:var(--mf-shadow-md); }
.mf-post-media{ position:relative; display:block; aspect-ratio:16/11; overflow:hidden; background:#fff; }
.mf-post-media img{
	width:100%; height:100%; object-fit:contain; padding:10px;
	transition:transform .5s ease; mix-blend-mode:multiply;
}
.mf-post-card:hover .mf-post-media img{ transform:scale(1.06); }
.mf-post-body{ padding:14px 15px 17px; }
.mf-post-body h3{ font-size:14.5px; font-weight:800; line-height:1.32; margin:0 0 6px; }
.mf-post-body h3 a{ color:var(--mf-black); }
.mf-post-body h3 a:hover{ color:var(--mf-ink); }
.mf-post-body p{ font-size:12.5px; color:var(--mf-gray); margin:0 0 10px; line-height:1.5; }
.mf-post-more{
	display:inline-flex; align-items:center; gap:6px;
	font-size:12.5px; font-weight:800; color:var(--mf-ink);
}
.mf-post-card:hover .mf-post-more svg{ transform:translateX(3px); }
.mf-post-more svg{ transition:transform .22s ease; }

/* ==========================================================================
   10. FOOTER
   ========================================================================== */
.mf-footer{ background:var(--mf-charcoal); color:rgba(255,255,255,.7); padding:56px 0 0; }
.mf-footer-grid{
	display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px;
}
.mf-footer-brand>p{ font-size:14px; line-height:1.65; margin:16px 0 18px; max-width:330px; color:rgba(255,255,255,.62); }
.mf-footer-badges{ display:flex; gap:18px; flex-wrap:wrap; }
.mf-footer-badges span{
	display:inline-flex; align-items:center; gap:7px;
	font-size:12px; font-weight:700; color:rgba(255,255,255,.8);
}
.mf-footer-badges svg{ color:var(--mf-ink); }

.mf-footer-col h4{
	font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
	color:#fff!important; margin:0 0 16px;
}
.mf-footer-col ul{ list-style:none; margin:0; padding:0; }
.mf-footer-col li{ margin-bottom:10px; }
.mf-footer-col a{ font-size:14px; font-weight:500; color:rgba(255,255,255,.66); }
.mf-footer-col a:hover{ color:var(--mf-ink); }

.mf-footer-social{ display:flex; gap:9px; margin-bottom:16px; }
.mf-footer-social a{
	display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
	background:rgba(255,255,255,.08); color:#fff!important;
}
.mf-footer-social a:hover{ background:var(--mf-pink); color:#111; transform:translateY(-3px); }
.mf-footer-note{ font-size:11.5px; line-height:1.6; color:rgba(255,255,255,.45); margin:0; }

.mf-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:18px 0; }
.mf-footer-bottom .mf-wrap{
	display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
	font-size:12.5px; color:rgba(255,255,255,.45);
}

/* ==========================================================================
   11. INNER PAGES — shared
   ========================================================================== */
.mf-page-hero{
	background:var(--mf-gray-light); border-bottom:1px solid var(--mf-border);
	padding:48px 0 40px;
}
.mf-page-hero .mf-eyebrow{
	display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.16em;
	text-transform:uppercase; color:var(--mf-ink); margin-bottom:12px;
}
.mf-page-hero h1{ font-size:clamp(30px,4.4vw,46px); font-weight:800; margin:0 0 10px; }
.mf-page-hero .meta{ color:var(--mf-gray); font-size:14px; font-weight:600; margin:0; }

/* Legal pages */
.mf-legal-hero{
	background:radial-gradient(800px 380px at 82% -10%,rgba(236,72,153,.10),transparent 62%),var(--mf-gray-light);
	border-bottom:1px solid var(--mf-border); padding:44px 0 42px;
}
.mf-legal-hero-inner{ display:flex; gap:22px; align-items:flex-start; }
.mf-legal-icon{
	display:grid; place-items:center; width:64px; height:64px; border-radius:18px; flex:none;
	background:#fff; color:var(--mf-ink); box-shadow:var(--mf-shadow-md);
}
.mf-legal-hero .mf-eyebrow{
	display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.15em;
	text-transform:uppercase; color:var(--mf-ink); margin-bottom:8px;
}
.mf-legal-hero h1{ font-size:clamp(28px,4vw,42px); font-weight:800; margin:0 0 14px; }
.mf-legal-badges{ display:flex; gap:10px; flex-wrap:wrap; }
.mf-legal-badges span{
	display:inline-flex; align-items:center; gap:7px;
	background:#fff; border:1px solid var(--mf-border); border-radius:999px;
	padding:6px 13px; font-size:12.5px; font-weight:700; color:var(--mf-gray);
}
.mf-legal-badges svg{ color:var(--mf-ink); }
.mf-legal-badges a{ color:var(--mf-ink); }

.mf-legal-layout{ display:grid; grid-template-columns:262px 1fr; gap:52px; padding-top:44px; padding-bottom:80px; align-items:start; }
.mf-legal-side{ position:sticky; top:92px; display:flex; flex-direction:column; gap:16px; }
.mf-legal-toc{
	background:#fff; border:1px solid var(--mf-border);
	border-radius:14px; padding:20px; box-shadow:var(--mf-shadow);
	max-height:60vh; overflow-y:auto;
}
.mf-legal-other{
	background:var(--mf-gray-light); border-radius:14px; padding:20px;
}
.mf-legal-other h4{
	font-size:11.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
	color:var(--mf-gray); margin:0 0 12px;
}
.mf-legal-other ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
.mf-legal-other a{
	display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:9px;
	font-size:13.5px; font-weight:600; color:var(--mf-charcoal);
}
.mf-legal-other a svg{ color:var(--mf-ink); flex:none; }
.mf-legal-other a:hover{ background:#fff; color:var(--mf-ink); }

.mf-legal-cta{
	margin-top:44px; padding:28px 30px; border-radius:var(--mf-radius-lg);
	background:var(--mf-charcoal); color:#fff;
	display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.mf-legal-cta h3{ font-size:19px; font-weight:800; color:#fff!important; margin:0 0 5px; }
.mf-legal-cta p,.mf-legal-content .mf-legal-cta p{ font-size:15px; color:#fff!important; opacity:.92; margin:0; }
.mf-legal-toc h4{
	font-size:11.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
	color:var(--mf-gray); margin:0 0 12px;
}
.mf-legal-toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.mf-legal-toc li{ counter-increment:toc; }
.mf-legal-toc a{
	display:flex; gap:9px; padding:8px 9px; border-radius:8px;
	font-size:13.5px; font-weight:600; color:var(--mf-charcoal); line-height:1.35;
}
.mf-legal-toc a::before{ content:counter(toc); font-weight:800; color:var(--mf-ink); }
.mf-legal-toc a:hover{ background:var(--mf-gray-light); color:var(--mf-ink); }

.mf-legal-content{ max-width:740px; }
.mf-legal-content h2{ scroll-margin-top:96px; font-size:22px; font-weight:800; margin:38px 0 14px; }
.mf-legal-content h2:first-of-type{ margin-top:0; }
.mf-legal-content p,.mf-legal-content li{ color:#3A3A3A; font-size:15.5px; line-height:1.75; }
.mf-legal-content p{ margin:0 0 15px; }
.mf-legal-content ul{ margin:0 0 20px; padding-left:20px; }
.mf-legal-content li{ margin-bottom:6px; }
.mf-legal-note{
	background:var(--mf-gray-light); border-left:3px solid var(--mf-pink-dark);
	border-radius:0 12px 12px 0; padding:16px 20px; margin:22px 0;
	font-size:14.5px; color:#3A3A3A; line-height:1.65;
}

/* ==========================================================================
   12. CONTACT
   ========================================================================== */
.mf-contact-hero{ background:var(--mf-gray-light); padding:56px 0 0; text-align:center; }
.mf-contact-hero h1{ font-size:clamp(32px,4.6vw,50px); font-weight:800; margin:12px 0 14px; }
.mf-contact-hero h1 span{ color:var(--mf-ink); }
.mf-contact-hero>.mf-wrap>p{ color:var(--mf-gray); font-size:16px; max-width:540px; margin:0 auto; }

.mf-contact-layout{
	display:grid; grid-template-columns:.85fr 1.15fr;
	border-radius:var(--mf-radius-lg); overflow:hidden;
	box-shadow:var(--mf-shadow-lg); margin-top:-44px; position:relative; z-index:2;
}
.mf-contact-side{ background:var(--mf-charcoal); color:#fff; padding:42px 36px; }
.mf-contact-side h3{ font-size:20px; font-weight:800; color:#fff!important; margin:0 0 8px; }
.mf-contact-side>p{ font-size:14px; color:rgba(255,255,255,.6); margin:0 0 28px; }
.mf-contact-item{ display:flex; gap:13px; margin-bottom:22px; }
.mf-contact-item .ico{
	display:grid; place-items:center; width:40px; height:40px; border-radius:10px;
	background:rgba(236,72,153,.16); color:var(--mf-ink); flex:none;
}
.mf-contact-item h5{ font-size:14px; font-weight:800; color:#fff!important; margin:0 0 2px; }
.mf-contact-item p{ font-size:13.5px; color:rgba(255,255,255,.58); margin:0; }
.mf-contact-social{ display:flex; gap:9px; margin-top:30px; }
.mf-contact-social a{
	display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
	background:rgba(255,255,255,.08); color:#fff!important;
}
.mf-contact-social a:hover{ background:var(--mf-pink); color:#111; transform:translateY(-3px); }

.mf-contact-form{ background:#fff; padding:42px 40px; }
.mf-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mf-field{ margin-bottom:18px; }
.mf-field label{ display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.mf-field input,.mf-field select,.mf-field textarea{
	width:100%; padding:13px 15px; border:1.5px solid var(--mf-border); border-radius:10px;
	font-family:var(--mf-sans); font-size:15px; line-height:1.45; background:#fff; color:var(--mf-black);
	outline:none; transition:border-color .2s ease,box-shadow .2s ease;
	box-sizing:border-box;
}
.mf-field select{
	height:auto; min-height:50px;
	-webkit-appearance:none; -moz-appearance:none; appearance:none;
	padding-right:42px; cursor:pointer;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
}
.mf-field textarea{ min-height:126px; resize:vertical; }
.mf-field input:focus,.mf-field select:focus,.mf-field textarea:focus{
	border-color:var(--mf-pink-dark); box-shadow:0 0 0 3px rgba(236,72,153,.13);
}
.mf-hp{ position:absolute!important; left:-9999px!important; }
.mf-form-notice{ padding:13px 16px; border-radius:10px; font-size:14px; font-weight:700; margin-bottom:20px; }
.mf-form-notice.success{ background:#E9F9EE; color:#1B7A3B; }
.mf-form-notice.error{ background:#FDECEC; color:#C12A2A; }

.mf-faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mf-faq-item{ background:#fff; border:1px solid var(--mf-border); border-radius:12px; padding:22px; }
.mf-faq-item h4{ font-size:15.5px; font-weight:800; margin:0 0 7px; }
.mf-faq-item p{ font-size:14px; color:var(--mf-gray); margin:0; line-height:1.6; }

/* ==========================================================================
   12b. PRODUCT REVIEW PAGE
   ========================================================================== */
.mf-breadcrumb{ border-bottom:1px solid var(--mf-border); padding:12px 0; font-size:13px; color:var(--mf-gray); }
.mf-breadcrumb .mf-wrap{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.mf-breadcrumb a{ color:var(--mf-gray); font-weight:600; }
.mf-breadcrumb a:hover{ color:var(--mf-ink); }
.mf-breadcrumb .current{ color:var(--mf-black); font-weight:700; }

.mf-review-hero{ background:var(--mf-gray-light); border-bottom:1px solid var(--mf-border); padding:40px 0 44px; }
.mf-review-hero-grid{ display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start; }
.mf-review-intro .mf-eyebrow{
	display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.15em;
	text-transform:uppercase; color:var(--mf-ink); margin-bottom:10px;
}
.mf-review-intro h1{ font-size:clamp(27px,3.6vw,40px); font-weight:800; line-height:1.15; margin:0 0 14px; }
.mf-review-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.mf-review-meta .cnt{ font-size:13px; color:var(--mf-gray); font-weight:600; }
.mf-note-chip{
	display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--mf-border);
	border-radius:999px; padding:6px 13px; font-size:12.5px; font-weight:700; color:var(--mf-ink);
}
.mf-review-lead{ font-size:16.5px; color:#3A3A3A; margin:0 0 18px; max-width:600px; line-height:1.6; }
.mf-review-facts{ display:flex; gap:22px; flex-wrap:wrap; font-size:13px; color:var(--mf-gray); }
.mf-review-facts strong{ display:block; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mf-black); margin-bottom:2px; }

.mf-review-card{
	background:#fff; border:1px solid var(--mf-border); border-radius:var(--mf-radius-lg);
	padding:18px; box-shadow:var(--mf-shadow); position:sticky; top:90px;
}
.mf-review-img{ aspect-ratio:1/1; background:#fff; border-radius:10px; overflow:hidden; margin-bottom:14px; }
.mf-review-img img{ width:100%; height:100%; object-fit:contain; padding:8px; mix-blend-mode:multiply; }
.mf-review-nolink{
	display:block; text-align:center; padding:12px; border-radius:999px;
	background:var(--mf-gray-light); color:var(--mf-gray); font-size:13px; font-weight:700;
}
.mf-review-disclosure{ font-size:11px; color:var(--mf-gray); text-align:center; margin:10px 0 0; line-height:1.5; }

.mf-review-body{ padding-top:44px; padding-bottom:76px; max-width:900px; }

.mf-proscons{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:36px; }
.mf-pros,.mf-cons{ border-radius:var(--mf-radius); padding:22px 24px; border:1px solid var(--mf-border); }
.mf-pros{ background:#F2FBF5; border-color:#CDEBD8; }
.mf-cons{ background:#FDF5F3; border-color:#F2DAD3; }
.mf-pros h3,.mf-cons h3{ display:flex; align-items:center; gap:8px; font-size:15px; font-weight:800; margin:0 0 12px; }
.mf-pros h3{ color:#1B7A3B!important; }
.mf-cons h3{ color:#C1532A!important; }
.mf-pros ul,.mf-cons ul{ margin:0; padding-left:18px; }
.mf-pros li,.mf-cons li{ font-size:14.5px; line-height:1.6; margin-bottom:7px; color:#3A3A3A; }

.mf-review-content h2{
	scroll-margin-top:90px; font-size:23px; font-weight:800; margin:36px 0 14px;
	padding-top:18px; border-top:1px solid var(--mf-border);
}
.mf-review-content h2:first-child{ border-top:none; padding-top:0; margin-top:0; }
.mf-review-content p,.mf-review-content li{ font-size:16px; line-height:1.75; color:#333; }
.mf-review-content p{ margin:0 0 15px; }
.mf-review-content ul{ margin:0 0 20px; padding-left:20px; }
.mf-review-content li{ margin-bottom:7px; }
.mf-review-content strong{ color:var(--mf-black); }

/* ---------- Affiliate disclosure ---------- */
.mf-disclosure{
	display:flex; gap:14px; align-items:flex-start;
	background:#FFF5FA; border:1px solid #F9CFE4;
	border-left:3px solid var(--mf-pink-dark);
	border-radius:0 12px 12px 0; padding:16px 20px; margin:0 0 30px;
}
.mf-disclosure-ico{
	display:grid; place-items:center; width:34px; height:34px; border-radius:9px; flex:none;
	background:#fff; color:var(--mf-ink); border:1px solid #F9CFE4;
}
.mf-disclosure p{
	margin:0; font-size:13.5px; line-height:1.6; color:#4A4038;
}
.mf-disclosure strong{ color:var(--mf-black); }
.mf-disclosure a{ font-weight:700; text-decoration:underline; }

@media (max-width:680px){
	.mf-disclosure{ padding:14px 16px; gap:11px; }
	.mf-disclosure p{ font-size:12.5px; }
}

/* ---------- Amazon CTA ---------- */
.mf-amazon-btn{
	display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
	background:linear-gradient(180deg,#FFD9EE 0%,var(--mf-pink) 55%,var(--mf-pink-dark) 100%);
	color:#111!important; font-family:var(--mf-sans); font-weight:800; font-size:15px; line-height:1;
	padding:16px 24px; border-radius:999px; border:none; cursor:pointer; text-align:center;
	box-shadow:0 6px 18px rgba(236,72,153,.32);
	transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.mf-amazon-btn:hover,.mf-amazon-btn:focus{
	color:#fff!important; transform:translateY(-2px);
	box-shadow:0 12px 28px rgba(236,72,153,.42); filter:brightness(1.04);
}
.mf-amazon-btn svg{ transition:transform .2s ease; flex:none; }
.mf-amazon-btn:hover svg{ transform:translateX(4px); }
.mf-amazon-note{
	font-size:11px; line-height:1.55; color:var(--mf-gray);
	text-align:center; margin:10px 0 0;
}

/* Compact variant — review sidebar */
.mf-amazon-card .mf-amazon-btn{ font-size:14px; padding:14px 20px; }

/* Full-width banner variant */
.mf-amazon-banner{
	display:grid; grid-template-columns:280px 1fr; gap:26px; align-items:center;
	margin-top:44px; padding:26px 30px;
	border:1px solid var(--mf-border); border-radius:var(--mf-radius-lg);
	background:linear-gradient(135deg,#FFF5FA 0%,#FFFFFF 62%);
	box-shadow:var(--mf-shadow);
}
.mf-amazon-media{
	aspect-ratio:1/1; background:#fff; border-radius:12px; overflow:hidden;
	border:1px solid var(--mf-border);
}
.mf-amazon-media img{
	width:100%; height:100%; object-fit:contain; padding:10px; mix-blend-mode:multiply;
}
.mf-amazon-eyebrow{
	display:inline-flex; align-items:center; gap:7px;
	font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
	color:var(--mf-ink); margin-bottom:8px;
}
.mf-amazon-banner h3{ font-size:20px; font-weight:800; margin:0 0 8px; line-height:1.25; }
.mf-amazon-banner .mf-rating{ margin-bottom:9px; }
.mf-amazon-desc{ font-size:14.5px; color:var(--mf-gray); margin:0 0 16px; line-height:1.55; }
.mf-amazon-banner .mf-amazon-btn{ max-width:330px; }
.mf-amazon-banner .mf-amazon-note{ text-align:left; max-width:420px; }

@media (max-width:680px){
	.mf-amazon-banner{ grid-template-columns:1fr; gap:18px; padding:22px; text-align:center; }
	.mf-amazon-media{ max-width:340px; margin:0 auto; }
	.mf-amazon-banner .mf-amazon-btn{ max-width:none; }
	.mf-amazon-banner .mf-amazon-note{ text-align:center; max-width:none; }
}

/* Review article components (written into post content) */
.mf-review-content .mf-verdict{
	background:#FFF5FA; border:1px solid #F9CFE4; border-left:4px solid var(--mf-pink-dark);
	border-radius:0 14px 14px 0; padding:20px 24px; margin:0 0 28px;
}
.mf-review-content .mf-verdict p{ margin:0; font-size:16.5px; color:#2F2F2F; }
.mf-review-content .mf-verdict strong{ color:var(--mf-ink); }
.mf-review-content ul.mf-feature-grid{
	list-style:none; padding:0; margin:0 0 24px;
	display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
.mf-review-content ul.mf-feature-grid li{
	margin:0; padding:14px 16px 14px 42px; position:relative;
	background:var(--mf-gray-light); border:1px solid var(--mf-border); border-radius:12px;
	font-size:15px; line-height:1.5;
}
.mf-review-content ul.mf-feature-grid li::before{
	content:""; position:absolute; left:16px; top:19px; width:14px; height:14px; border-radius:50%;
	background:var(--mf-pink); box-shadow:inset 0 0 0 4px #FFD9EC;
}
.mf-review-content .mf-proscons{ margin:6px 0 28px; }
.mf-review-content .mf-proscons h3{ margin-top:0; }
@media (max-width:680px){
	.mf-review-content ul.mf-feature-grid{ grid-template-columns:1fr; }
}
.mf-related{ margin-top:52px; padding-top:38px; border-top:1px solid var(--mf-border); }
.mf-related .mf-h2{ margin-bottom:22px; }
.mf-products-grid-4{ grid-template-columns:repeat(4,1fr); }

@media (max-width:960px){
	.mf-review-hero-grid{ grid-template-columns:1fr; gap:28px; }
	.mf-review-card{ position:static; max-width:340px; }
	.mf-products-grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px){
	.mf-proscons{ grid-template-columns:1fr; }
}

/* ==========================================================================
   12c. ARCHIVE / CATEGORY / SEARCH
   ========================================================================== */
.mf-archive-hero{
	background:var(--mf-gray-light); border-bottom:1px solid var(--mf-border);
	padding:42px 0 38px;
}
.mf-archive-hero .mf-eyebrow{
	display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.15em;
	text-transform:uppercase; color:var(--mf-ink); margin-bottom:10px;
}
.mf-archive-hero h1{ font-size:clamp(30px,4.2vw,44px); font-weight:800; margin:0 0 12px; }
.mf-archive-hero h1 .accent{ color:var(--mf-ink); }
.mf-archive-desc{ max-width:620px; }
.mf-archive-desc p{ font-size:16px; color:#3A3A3A; margin:0; line-height:1.6; }
.mf-archive-count{
	font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	color:var(--mf-gray); margin:14px 0 0;
}

.mf-subcats{ display:flex; flex-wrap:wrap; gap:9px; list-style:none; margin:20px 0 0; padding:0; }
.mf-subcats a{
	display:inline-flex; align-items:center; gap:8px;
	background:#fff; border:1px solid var(--mf-border); border-radius:999px;
	padding:8px 15px; font-size:13.5px; font-weight:700; color:var(--mf-charcoal);
}
.mf-subcats a span{
	background:var(--mf-gray-light); border-radius:999px; padding:1px 7px;
	font-size:11px; font-weight:800; color:var(--mf-gray);
}
.mf-subcats a:hover{ background:var(--mf-pink); border-color:var(--mf-pink-dark); color:#111; transform:translateY(-2px); }
.mf-subcats a:hover span{ background:rgba(255,255,255,.22); color:#fff; }

.mf-archive-body{ padding-top:40px; padding-bottom:76px; }
.mf-card-brand{
	display:block; font-size:10.5px; font-weight:800; letter-spacing:.12em;
	text-transform:uppercase; color:var(--mf-ink); margin-bottom:5px;
}

.mf-empty{
	text-align:center; padding:70px 20px; background:var(--mf-gray-light);
	border-radius:var(--mf-radius-lg); color:var(--mf-gray);
}
.mf-empty svg{ color:var(--mf-ink); margin:0 auto 14px; }
.mf-empty h2{ font-size:22px; font-weight:800; margin:0 0 8px; }
.mf-empty p{ margin:0 0 20px; font-size:15px; }

/* Pagination */
.navigation.pagination{ margin-top:42px; }
.navigation.pagination .nav-links{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.navigation.pagination .page-numbers{
	display:grid; place-items:center; min-width:40px; height:40px; padding:0 12px;
	border:1px solid var(--mf-border); border-radius:10px; background:#fff;
	font-size:14px; font-weight:700; color:var(--mf-charcoal);
}
.navigation.pagination .page-numbers:hover{ border-color:var(--mf-pink-dark); color:var(--mf-ink); }
.navigation.pagination .page-numbers.current{ background:var(--mf-pink); border-color:var(--mf-pink-dark); color:#111; }

/* ==========================================================================
   12d. 404
   ========================================================================== */
.mf-404-hero{
	background:var(--mf-cream);
	border-bottom:1px solid var(--mf-border); padding:64px 0 70px; overflow:hidden;
}
.mf-404-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.mf-404-code{
	display:block; font-family:var(--mf-display); font-size:clamp(72px,10vw,130px);
	font-weight:900; line-height:.9; color:var(--mf-ink); letter-spacing:-.03em; margin-bottom:10px;
}
.mf-404-copy h1{
	font-family:var(--mf-display);
	font-size:clamp(32px,4.2vw,52px); font-weight:800; line-height:1.05; margin:0 0 16px;
}
.mf-404-copy h1 span{ color:var(--mf-ink); }
.mf-404-copy > p{ font-size:17px; color:#3A3A3A; max-width:500px; margin:0 0 28px; line-height:1.6; }

.mf-404-search{
	display:flex; align-items:center; gap:12px; background:#fff;
	border:1.5px solid var(--mf-border); border-radius:999px; padding:6px 6px 6px 18px;
	max-width:500px; margin-bottom:22px;
	transition:border-color .2s ease,box-shadow .2s ease;
}
.mf-404-search:focus-within{ border-color:var(--mf-pink-dark); box-shadow:0 0 0 3px rgba(236,72,153,.12); }
.mf-404-search svg{ color:var(--mf-gray); flex:none; }
.mf-404-search input{
	flex:1; border:none; outline:none; background:transparent;
	font-family:var(--mf-sans); font-size:15px; padding:10px 0; color:var(--mf-black);
}
.mf-404-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.mf-404-actions .mf-btn-ghost{ background:#fff; border:1.5px solid var(--mf-black); }

/* Editorial photo with the brand's handwritten line, echoing the homepage hero. */
.mf-404-art{
	position:relative; aspect-ratio:4/5; border-radius:22px; overflow:hidden;
	box-shadow:var(--mf-shadow-md);
}
.mf-404-art img{ width:100%; height:100%; object-fit:cover; }
.mf-404-script{
	position:absolute; right:8%; bottom:10%; transform:rotate(-8deg);
	font-family:var(--mf-script); font-size:clamp(30px,3vw,44px); font-weight:600;
	line-height:1.05; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.35);
}

@media (max-width:960px){
	.mf-404-grid{ grid-template-columns:1fr; gap:34px; }
	.mf-404-art{ aspect-ratio:16/10; }
}

/* ==========================================================================
   13. REVEAL ANIMATION
   ========================================================================== */
.mf-reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1); }
.mf-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
	.mf-reveal{ opacity:1; transform:none; transition:none; }
	*{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
}

/* ==========================================================================
   14. RESPONSIVE
   ========================================================================== */
/* The nav carries ten items — tighten progressively before it can wrap. */
@media (max-width:1400px){
	.mf-header-inner{ gap:22px; }
	.mf-menu{ gap:15px; }
	.mf-menu > li > a{ font-size:14px; }
	.mf-header-cta{ font-size:13.5px; padding:12px 20px; }
}
@media (max-width:1220px){
	.mf-header-inner{ gap:16px; }
	.mf-menu{ gap:12px; }
	.mf-menu > li > a{ font-size:12.5px; }
	.mf-logo-name{ font-size:23px; }
	.mf-header-cta{ font-size:12.5px; padding:10px 16px; }
	.mf-header-cta span{ display:none; }
	.mf-header-cta::before{ content:"Find Your Favorite"; }
}

@media (max-width:1100px){
	.mf-menu{ gap:11px; }
	.mf-menu > li > a{ font-size:12.5px; }
	.mf-catstrip-list{ grid-template-columns:repeat(4,1fr); gap:18px; row-gap:24px; }
	.mf-products-grid{ grid-template-columns:repeat(3,1fr); }
	.mf-posts-grid{ grid-template-columns:repeat(3,1fr); }
	.mf-tiktok-grid{ grid-template-columns:repeat(3,1fr); }
	.mf-bestof-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:1100px){
	.mf-cat-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:960px){
	.mf-newsletter{ padding:34px 28px; }
	.mf-newsletter-form{ width:100%; }
	.mf-newsletter-form input{ flex:1; min-width:0; }
}

@media (max-width:680px){
	.mf-cat-grid{ grid-template-columns:1fr; }
	.mf-tiktok-grid{ grid-template-columns:repeat(2,1fr); }
	.mf-bestof-grid{ grid-template-columns:1fr; }
	.mf-hero-ctas{ flex-direction:column; align-items:stretch; }
	.mf-hero-ctas .mf-btn{ width:100%; }
}

@media (max-width:960px){
	.mf-nav{ display:none; }
	.mf-burger{ display:inline-grid; }
	.mf-header-cta{ display:none; }
	.mf-header-actions{ margin-left:auto; }

	/* Mobile hero: photo on top, copy below — TikTok traffic lands here. */
	.mf-hero{ display:flex; flex-direction:column; }
	.mf-hero-media{ position:relative; width:100%; height:420px; }
	.mf-hero-media img{ object-position:63% 22%; }
	.mf-hero-media::before{
		background:linear-gradient(180deg, rgba(247,245,242,0) 62%, var(--mf-cream) 100%);
	}
	.mf-hero-grid{ min-height:0; }
	.mf-hero-copy{ max-width:none; padding:10px 0 44px; }
	.mf-hero .lead{ font-size:17px; }
	.mf-hero-script{ right:5%; top:8%; font-size:30px; }

	.mf-banner-row{ grid-template-columns:1fr; }
	.mf-banner-dark .mf-banner-copy{ max-width:100%; padding:32px 28px 78px; }
	.mf-banner-icons{ right:auto; left:28px; bottom:22px; }
	.mf-banner-soft .mf-banner-copy{ max-width:60%; padding:28px 0 28px 28px; }

	.mf-footer-grid{ grid-template-columns:1fr 1fr; gap:30px; }
	.mf-legal-layout{ grid-template-columns:1fr; gap:28px; }
	.mf-legal-side{ position:static; }
	.mf-legal-toc{ max-height:none; }
	.mf-contact-layout{ grid-template-columns:1fr; margin-top:-28px; }
	.mf-faq-grid{ grid-template-columns:1fr; }
}

@media (max-width:680px){
	.mf-section{ padding:46px 0; }
	.mf-catstrip-list{ grid-template-columns:repeat(3,1fr); }
	.mf-catstrip-ico{ width:74px; height:74px; }
	.mf-products-grid,.mf-posts-grid{ grid-template-columns:1fr 1fr; gap:14px; }
	.mf-trustbar{ justify-content:space-between; }
	.mf-trustbar li{ font-size:12.5px; padding:0 10px; }
	.mf-banner-phone{ width:96px; right:4%; }
	.mf-banner-script{ font-size:17px; right:4px; }
	.mf-banner-soft .mf-banner-copy{ max-width:64%; }
	.mf-form-row{ grid-template-columns:1fr; }
	.mf-contact-form,.mf-contact-side{ padding:30px 24px; }
	.mf-footer-grid{ grid-template-columns:1fr; }
	.mf-footer-bottom .mf-wrap{ justify-content:center; text-align:center; }
}

@media (max-width:460px){
	.mf-products-grid,.mf-posts-grid{ grid-template-columns:1fr; }
	.mf-catstrip-list{ grid-template-columns:repeat(2,1fr); }
	.mf-logo-name{ font-size:20px; }
}

/* =====================================================================
 * Best Of guides (/best/ and /best/<slug>/)
 * ===================================================================== */
.mf-guide-hero{ background:var(--mf-cream); border-bottom:1px solid var(--mf-border); }
.mf-guide-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; padding-top:48px; padding-bottom:48px; }
.mf-guide-hero .mf-eyebrow{ display:inline-block; color:var(--mf-ink); font-weight:800; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:12px; }
.mf-guide-hero h1{ font-family:var(--mf-display); font-size:clamp(32px,4.4vw,52px); font-weight:700; line-height:1.1; margin:0 0 18px; }
.mf-guide-hero h1 .accent{ color:var(--mf-ink); font-style:italic; }
.mf-guide-intro p{ font-size:16.5px; line-height:1.75; color:#444; margin:0 0 12px; }
.mf-guide-meta{ display:flex; flex-wrap:wrap; gap:18px; margin:18px 0 0; font-size:13.5px; font-weight:700; color:var(--mf-black); }
.mf-guide-meta span{ display:inline-flex; align-items:center; gap:6px; }
.mf-guide-meta svg{ color:var(--mf-ink); }
.mf-guide-hero-media{ border-radius:var(--mf-radius-lg); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--mf-shadow-md); }
.mf-guide-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }

.mf-guide-body{ padding-top:34px; padding-bottom:80px; }
.mf-guide-disclosure{ font-size:13px; color:var(--mf-gray); background:#fff; border:1px dashed var(--mf-border); border-radius:var(--mf-radius); padding:10px 14px; margin:0 0 30px; }
.mf-guide-disclosure a{ color:var(--mf-ink); }

.mf-guide-glance{ border:1px solid var(--mf-border); border-radius:var(--mf-radius-lg); padding:26px 28px; margin-bottom:44px; box-shadow:var(--mf-shadow); }
.mf-guide-glance h2{ font-size:22px; font-weight:800; margin:0 0 14px; }
.mf-guide-glance ol{ list-style:none; margin:0; padding:0; counter-reset:glance; }
.mf-guide-glance li{ counter-increment:glance; display:grid; grid-template-columns:28px minmax(0,1.1fr) minmax(0,1.6fr) auto; gap:14px; align-items:center; padding:11px 0; border-top:1px solid var(--mf-border); font-size:14.5px; }
.mf-guide-glance li:first-child{ border-top:0; }
.mf-guide-glance li::before{ content:counter(glance); width:26px; height:26px; border-radius:50%; background:var(--mf-black); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.mf-glance-award{ font-weight:800; color:var(--mf-ink); font-size:13px; }
.mf-glance-name{ color:var(--mf-black); font-weight:600; text-decoration:none; }
.mf-glance-name:hover{ color:var(--mf-ink); }
.mf-glance-buy{ font-size:12.5px; font-weight:800; color:#111!important; background:var(--mf-pink); padding:7px 13px; border-radius:999px; text-decoration:none; white-space:nowrap; }
.mf-glance-buy:hover{ background:var(--mf-pink-dark); }

.mf-guide-picks{ display:flex; flex-direction:column; gap:28px; }
.mf-pick{ display:grid; grid-template-columns:300px 1fr; gap:32px; border:1px solid var(--mf-border); border-radius:var(--mf-radius-lg); padding:24px; background:#fff; scroll-margin-top:100px; transition:box-shadow .25s ease; }
.mf-pick:hover{ box-shadow:var(--mf-shadow-md); }
.mf-pick-media{ position:relative; display:block; border-radius:var(--mf-radius); overflow:hidden; background:var(--mf-cream); aspect-ratio:1/1; }
.mf-pick-media img,.mf-pick-media .mf-noimg{ width:100%; height:100%; object-fit:cover; }
.mf-pick-num{ position:absolute; top:12px; left:12px; width:38px; height:38px; border-radius:50%; background:var(--mf-black); color:#fff; font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center; }
.mf-pick-award{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mf-ink); background:#FFF0F8; padding:5px 11px; border-radius:999px; margin-bottom:10px; }
.mf-pick-body .mf-card-brand{ display:block; }
.mf-pick-body h2{ font-size:24px; font-weight:800; line-height:1.25; margin:4px 0 10px; }
.mf-pick-body h2 a{ color:var(--mf-black); text-decoration:none; }
.mf-pick-body h2 a:hover{ color:var(--mf-ink); }
.mf-pick-why{ font-size:15.5px; line-height:1.7; color:#444; margin:0 0 14px; }
.mf-pick-fit{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 18px; }
.mf-pick-fit div{ background:var(--mf-cream); border-radius:var(--mf-radius); padding:12px 14px; }
.mf-pick-fit dt{ font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.mf-pick-fit div:first-child dt{ color:#1C8A4A; }
.mf-pick-fit div:last-child dt{ color:#B3261E; }
.mf-pick-fit dd{ margin:0; font-size:13.5px; line-height:1.55; color:#444; }
.mf-pick-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.mf-pick-actions .mf-btn-ghost{ border:1.5px solid var(--mf-black); }

.mf-guide-pairs{ margin-top:50px; }
.mf-guide-pairs h2,.mf-guide-more h2{ font-size:26px; font-weight:800; margin:0 0 18px; }
.mf-pairs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.mf-pair{ display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:center; border:1px solid var(--mf-border); border-radius:var(--mf-radius-lg); padding:16px; }
.mf-pair-media{ border-radius:var(--mf-radius); overflow:hidden; aspect-ratio:1/1; background:var(--mf-cream); display:block; }
.mf-pair-media img,.mf-pair-media .mf-noimg{ width:100%; height:100%; object-fit:cover; }
.mf-pair h3{ font-size:16.5px; margin:2px 0 6px; }
.mf-pair h3 a{ color:var(--mf-black); text-decoration:none; }
.mf-pair p{ font-size:14px; color:#555; margin:0; line-height:1.6; }

.mf-guide-content{ max-width:780px; margin:56px auto 0; }
.mf-guide-more{ margin-top:64px; }
.mf-bestof-grid-3{ grid-template-columns:repeat(3,1fr); }

@media (max-width:960px){
	.mf-guide-hero-grid{ grid-template-columns:1fr; gap:28px; padding-top:32px; padding-bottom:32px; }
	.mf-pick{ grid-template-columns:1fr; gap:18px; padding:18px; }
	.mf-pick-media{ aspect-ratio:4/3; }
	.mf-pairs-grid{ grid-template-columns:1fr; }
	.mf-bestof-grid-3{ grid-template-columns:repeat(2,1fr); }
	.mf-guide-glance li{ grid-template-columns:28px 1fr auto; }
	.mf-glance-award{ grid-column:2 / 4; grid-row:1; }
	.mf-glance-name{ grid-column:2; grid-row:2; }
	.mf-glance-buy{ grid-column:3; grid-row:2; }
	.mf-guide-glance li::before{ grid-row:1 / 3; }
}
@media (max-width:600px){
	.mf-pick-fit{ grid-template-columns:1fr; }
	.mf-bestof-grid-3{ grid-template-columns:1fr; }
	.mf-guide-glance{ padding:20px 16px; }
}
.mf-pick-actions .mf-btn,.mf-pick-actions .mf-amazon-btn{ width:auto; flex:0 0 auto; margin:0; min-height:46px; padding-left:22px; padding-right:22px; }
@media (max-width:600px){ .mf-pick-actions .mf-btn,.mf-pick-actions .mf-amazon-btn{ flex:1 1 100%; justify-content:center; } }

/* =====================================================================
 * Whole featured images in pink frames (2026-09-18)
 * Featured images are the user's own ~2:1 banners: every image box now
 * follows the image's own shape instead of cropping or letterboxing it.
 * ===================================================================== */
.mf-feature-frame{
	margin:0 0 30px; padding:7px; border-radius:22px;
	background:linear-gradient(135deg,var(--mf-pink) 0%,#FFF5FA 45%,var(--mf-pink-dark) 100%);
	box-shadow:0 18px 44px rgba(236,72,153,.16),0 2px 6px rgba(17,17,17,.05);
}
.mf-feature-frame img{ display:block; width:100%; height:auto; border-radius:16px; border:3px solid #fff; }

.mf-product-media,.mf-post-media,.mf-pick-media,.mf-pair-media{
	aspect-ratio:auto; background:none; padding:5px; border-radius:16px;
	background:linear-gradient(135deg,var(--mf-pink) 0%,#FFF5FA 50%,var(--mf-pink-dark) 100%);
}
.mf-product-card .mf-product-media{ margin:10px 10px 0; }
.mf-product-media img,.mf-post-media img,.mf-pick-media img,.mf-pair-media img{
	display:block; width:100%; height:auto; object-fit:initial; padding:0; mix-blend-mode:normal;
	border-radius:12px; border:2px solid #fff;
}
.mf-product-media .mf-noimg,.mf-post-media .mf-noimg,.mf-pick-media .mf-noimg,.mf-pair-media .mf-noimg{ aspect-ratio:2/1; border-radius:12px; min-height:0; }
.mf-product-media .mf-tag{ top:14px; left:14px; }
.mf-pick-num{ top:14px; left:14px; }
@media (max-width:960px){ .mf-pick-media{ aspect-ratio:auto; } }

/* Amazon box: just the image - no white box, no border, no padding. */
.mf-amazon-media{ aspect-ratio:auto; background:none; border:0; border-radius:12px; align-self:center; }
.mf-amazon-media img{ display:block; width:100%; height:auto; object-fit:initial; padding:0; mix-blend-mode:normal; border-radius:12px; }
.mf-amazon-media .mf-noimg{ aspect-ratio:2/1; min-height:0; border-radius:12px; }

/* Image logo (2026-09-18) - transparent WebP, 647x180 source (2.5x of 72px). */
.mf-logo-img{ display:block; height:72px; width:auto; max-width:none; }
.mf-logo-card{ display:inline-flex; background:#fff; border-radius:16px; padding:12px 18px; box-shadow:0 8px 24px rgba(0,0,0,.25); margin-bottom:18px; }
.mf-logo-card .mf-logo-img{ height:62px; }
@media (max-width:1180px){ .mf-header .mf-logo-img{ height:54px!important; } }
@media (max-width:600px){ .mf-header .mf-logo-img{ height:40px!important; } .mf-header .mf-logo{ flex:0 1 auto; min-width:0; } }

/* Burger: just the icon - no circle, whatever state Astra's button styles are in. */
.mf-burger,.mf-burger:hover,.mf-burger:focus,.mf-burger:active{ background:none!important; border:0!important; box-shadow:none!important; border-radius:0!important; color:var(--mf-black)!important; }
.mf-burger:focus-visible{ outline:2px solid var(--mf-ink); outline-offset:4px; }

/* Blog product call-to-action ([mf_product id="..."]) */
.mf-review-content .mf-blog-cta{ margin:36px 0; }
.mf-review-content .mf-blog-cta .mf-amazon-banner{ margin-top:0; }
.mf-blog-cta-label{ display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--mf-ink); background:var(--mf-pink-soft); border:1px solid #F9CFE4; border-radius:999px; padding:5px 12px; margin:0 0 10px; }
.mf-review-content .mf-blog-cta-review{ margin:10px 0 0; font-size:14px; font-weight:700; text-align:right; }
.mf-review-content .mf-blog-cta-review a{ color:var(--mf-ink); }

/* =====================================================================
 * About page
 * ===================================================================== */
.mf-about-hero{ padding-bottom:64px; }
.mf-about-hero h1 span{ color:var(--mf-ink); }
.mf-about-hero>.mf-wrap>p{ max-width:640px; }
.mf-about-body{ padding-top:56px; padding-bottom:80px; }
.mf-about-body h2{ font-family:var(--mf-display); font-size:clamp(26px,3vw,34px); font-weight:700; margin:0 0 14px; }
.mf-about-body p{ color:#4A4A4A; font-size:16px; line-height:1.75; }
.mf-about-lead{ margin:0 0 22px; }

.mf-about-intro{ display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:center; margin-bottom:64px; }
.mf-about-stats{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mf-about-stats div{ background:var(--mf-pink-soft); border:1px solid #F9CFE4; border-radius:18px; padding:22px 18px; text-align:center; }
.mf-about-stats strong{ display:block; font-family:var(--mf-display); font-size:38px; line-height:1; color:var(--mf-ink); margin-bottom:8px; }
.mf-about-stats span{ font-size:13px; font-weight:700; color:var(--mf-black); }

.mf-about-section{ margin-bottom:64px; }
.mf-about-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.mf-about-step{ background:#fff; border:1px solid var(--mf-border); border-radius:18px; padding:24px 20px; box-shadow:var(--mf-shadow); }
.mf-about-step .num{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--mf-pink); color:var(--mf-black); font-weight:800; margin-bottom:14px; }
.mf-about-step h3{ font-size:17px; font-weight:800; margin:0 0 8px; }
.mf-about-step p{ font-size:14.5px; margin:0; line-height:1.65; }

.mf-about-two{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:64px; }
.mf-about-card{ border-radius:22px; padding:32px; }
.mf-about-dont{ background:#1A1A1A; color:#fff; }
.mf-about-dont h2{ color:#fff; }
.mf-about-dont ul{ list-style:none; margin:0; padding:0; }
.mf-about-dont li{ position:relative; padding:0 0 16px 34px; color:rgba(255,255,255,.82); font-size:15px; line-height:1.65; }
.mf-about-dont li strong{ color:#fff; }
.mf-about-dont li::before{ content:"\00D7"; position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; background:var(--mf-pink); color:var(--mf-black); font-weight:800; display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; }
.mf-about-money{ background:var(--mf-pink-soft); border:1px solid #F9CFE4; }
.mf-about-money a{ color:var(--mf-ink); font-weight:700; }

.mf-about-cta{ text-align:center; background:linear-gradient(135deg,var(--mf-pink) 0%,#FFF5FA 55%,var(--mf-pink-dark) 100%); border-radius:24px; padding:48px 24px; }
.mf-about-cta p{ max-width:520px; margin:0 auto 22px; color:#333; }
.mf-about-cta-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.mf-about-cta .mf-btn-ghost{ background:#fff; border:1.5px solid var(--mf-black); }

@media (max-width:960px){
	.mf-about-intro,.mf-about-two{ grid-template-columns:1fr; gap:28px; }
	.mf-about-steps{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
	.mf-about-steps{ grid-template-columns:1fr; }
	.mf-about-card{ padding:24px 20px; }
}
