/* ==========================================================================
   HFT "My Favorites" confirmation modal (SOW #5).
   Mirrors the mini-cart popup, parked under the header heart icon.
   ========================================================================== */
.hft-favmc{
	position:fixed; top:84px; right:24px; z-index:99990;
	width:340px; max-width:calc(100vw - 32px); box-sizing:border-box;
	padding:16px 16px 14px; background:#fff;
	border:1px solid var(--hft-line,#E9E0D4); border-radius:var(--hft-r-md,16px);
	box-shadow:0 22px 48px -20px rgba(18,48,90,.45), 0 4px 12px -6px rgba(18,48,90,.18);
	font-family:var(--hft-font-body,"Nunito Sans",sans-serif) !important; color:var(--hft-ink,#231F20) !important;
	opacity:0; transform:translateY(-10px); transition:opacity .22s ease, transform .22s ease; pointer-events:none;
}
.hft-favmc.is-open{ opacity:1; transform:translateY(0); pointer-events:auto; }

.hft-favmc .hft-favmc-close{
	position:absolute; top:8px; right:8px; width:30px !important; height:30px !important;
	min-width:0 !important; max-width:30px !important; padding:0 !important; margin:0 !important;
	display:flex !important; align-items:center; justify-content:center;
	border:0 !important; background:transparent !important; border-radius:999px !important;
	color:var(--hft-muted,#93A0AD) !important; -webkit-text-fill-color:currentColor !important;
	box-shadow:none !important; line-height:1 !important; cursor:pointer;
	transition:background-color .15s ease, color .15s ease;
}
.hft-favmc .hft-favmc-close:hover,
.hft-favmc .hft-favmc-close:focus-visible{
	background:rgba(27,67,125,.10) !important; color:var(--hft-navy,#1B437D) !important;
	-webkit-text-fill-color:var(--hft-navy,#1B437D) !important; outline:none;
}
.hft-favmc .hft-favmc-close svg{ width:15px !important; height:15px !important; display:block !important; color:inherit !important; }
.hft-favmc .hft-favmc-close svg path{ stroke:currentColor !important; }

.hft-favmc-added{
	display:flex; align-items:center; gap:9px; padding-right:28px;
	font-family:var(--hft-font-display,"Fredoka",sans-serif) !important; font-weight:600; font-size:16px;
	color:var(--hft-navy,#1B437D) !important; line-height:1.2;
}
.hft-favmc-heart{
	flex:0 0 auto; width:22px; height:22px; display:flex; align-items:center; justify-content:center;
	background:var(--hft-cta,#D6337B); color:#fff !important; border-radius:999px;
}
.hft-favmc-heart svg{ width:14px; height:14px; display:block; flex:0 0 auto; }

.hft-favmc-item{ display:flex; align-items:center; gap:11px; margin-top:12px; }
.hft-favmc-item[hidden]{ display:none; }
.hft-favmc .hft-favmc-thumb{
	flex:0 0 auto; width:46px; height:46px; object-fit:cover; border-radius:10px;
	border:1px solid var(--hft-line,#E9E0D4); background:var(--hft-cream,#FBF5EC);
}
.hft-favmc-name{
	font-size:14px; font-weight:700; line-height:1.35; color:var(--hft-ink,#231F20) !important;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.hft-favmc-summary{ margin-top:12px; padding-top:11px; border-top:1px solid var(--hft-cream-200,#EEE6DA); }
.hft-favmc-count{
	font-size:12.5px; font-weight:700; letter-spacing:.01em; text-transform:uppercase;
	color:var(--hft-muted,#93A0AD) !important;
}
.hft-favmc-actions{ display:flex; gap:10px; margin-top:14px; }
.hft-favmc .hft-favmc-btn{
	flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 14px;
	border-radius:var(--hft-r-pill,999px); font-family:var(--hft-font-body,"Nunito Sans",sans-serif) !important;
	font-weight:800 !important; font-size:14px; line-height:1; text-align:center; text-decoration:none !important;
	text-transform:none !important; box-sizing:border-box; cursor:pointer;
	transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.hft-favmc .hft-favmc-btn--cta{
	background:var(--hft-cta,#D6337B) !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
	border:2px solid var(--hft-cta,#D6337B) !important;
	box-shadow:var(--hft-sh-btn,0 12px 26px -14px rgba(214,51,123,.75));
}
.hft-favmc .hft-favmc-btn--cta:hover,
.hft-favmc .hft-favmc-btn--cta:focus-visible{
	background:var(--hft-cta-hover,#B62A67) !important; border-color:var(--hft-cta-hover,#B62A67) !important;
	color:#fff !important; -webkit-text-fill-color:#fff !important; outline:none;
}

@media (max-width:600px){
	.hft-favmc{ top:12px; right:12px; left:12px; width:auto; max-width:none; }
}
@media (prefers-reduced-motion: reduce){
	.hft-favmc{ transition:opacity .01s linear; transform:none; }
	.hft-favmc.is-open{ transform:none; }
}
