@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

.mpc-catalog{
	--mpc-bg:#faf9f6;
	--mpc-surface:#ffffff;
	--mpc-ink:#161b26;
	--mpc-muted:#666f7d;
	--mpc-line:#e8e5de;
	--mpc-accent:#c31f39;
	--mpc-accent-dark:#96172c;
	--mpc-gold:#c9922f;
	--mpc-radius:16px;
	font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--mpc-ink);
	position:relative;
}
.mpc-catalog *{box-sizing:border-box;}
.mpc-catalog h3,.mpc-catalog h4{font-family:'Sora','Inter',sans-serif;}

/* Page shell */
body{margin:0;background:var(--mpc-bg,#faf9f6);}
.mpc-page{max-width:1180px;margin:0 auto;padding:0 20px 64px;}
.mpc-site-header{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:22px 20px;max-width:1180px;margin:0 auto;
}
.mpc-brand-mark{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:18px;color:var(--mpc-ink,#161b26);text-decoration:none;}
.mpc-brand-mark .mpc-dot{width:10px;height:10px;border-radius:50%;background:var(--mpc-accent,#c31f39);}
.mpc-site-nav a{color:var(--mpc-muted,#666f7d);text-decoration:none;font-size:14px;font-weight:500;}
.mpc-site-nav a:hover{color:var(--mpc-accent,#c31f39);}
.mpc-hero{padding:12px 0 36px;}
.mpc-hero h1{font-family:'Sora',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:800;margin:0 0 10px;line-height:1.15;}
.mpc-hero p{color:var(--mpc-muted,#666f7d);font-size:15.5px;margin:0 0 22px;max-width:520px;}
.mpc-search-bar{position:relative;max-width:420px;}
.mpc-search-bar input{
	width:100%;padding:12px 16px 12px 42px;border:1px solid var(--mpc-line,#e8e5de);border-radius:12px;
	font-family:inherit;font-size:14px;background:#fff;
}
.mpc-search-bar svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--mpc-muted,#666f7d);}
.mpc-site-footer{text-align:center;color:var(--mpc-muted,#666f7d);font-size:13px;padding:40px 20px 24px;}

/* Global search dropdown */
.mpc-global-results{
	position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;
	border:1px solid var(--mpc-line,#e8e5de);border-radius:12px;box-shadow:0 16px 32px -16px rgba(20,25,35,.25);
	overflow:hidden;z-index:20;
}
.mpc-global-result{
	display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
	padding:11px 16px;background:none;border:0;border-bottom:1px solid var(--mpc-line,#e8e5de);
	font-family:inherit;font-size:13.5px;text-align:left;cursor:pointer;color:var(--mpc-ink,#161b26);
}
.mpc-global-result:last-child{border-bottom:0;}
.mpc-global-result:hover{background:var(--mpc-bg,#faf9f6);}
.mpc-global-result small{color:var(--mpc-muted,#666f7d);font-weight:400;}
.mpc-global-result strong{color:var(--mpc-accent,#c31f39);white-space:nowrap;}
.mpc-global-empty{padding:14px 16px;font-size:13px;color:var(--mpc-muted,#666f7d);}

.mpc-model-card.mpc-highlight{box-shadow:0 0 0 3px var(--mpc-accent,#c31f39);}

/* Brand grid */
.mpc-brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px;margin:0 0 8px;}
.mpc-brand-tile{
	display:flex;flex-direction:column;align-items:center;gap:10px;
	background:var(--mpc-surface);border:1px solid var(--mpc-line);border-radius:var(--mpc-radius);
	padding:22px 12px 18px;cursor:pointer;
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	font-family:inherit;
}
.mpc-brand-tile:hover{transform:translateY(-4px);box-shadow:0 14px 28px -12px rgba(22,27,38,.18);border-color:var(--mpc-accent);}
.mpc-brand-tile:focus-visible{outline:2.5px solid var(--mpc-accent);outline-offset:3px;}
.mpc-brand-logo{
	width:68px;height:68px;display:flex;align-items:center;justify-content:center;
	border-radius:50%;background:linear-gradient(145deg,#f5eee4,#efe8dc);overflow:hidden;flex-shrink:0;
}
.mpc-brand-logo img{width:100%;height:100%;object-fit:contain;padding:10px;}
.mpc-brand-initial{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;color:var(--mpc-accent);}
.mpc-brand-name{font-weight:600;font-size:14px;text-align:center;line-height:1.25;}
.mpc-brand-count{font-size:11.5px;color:var(--mpc-muted);letter-spacing:.02em;}

/* Backdrop */
.mpc-backdrop{position:fixed;inset:0;background:rgba(18,20,28,.55);backdrop-filter:blur(2px);z-index:9998;opacity:0;transition:opacity .2s ease;}
.mpc-backdrop.is-visible{opacity:1;}

/* Modal panel */
.mpc-model-panel{
	display:none;
	position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);
	width:min(920px,92vw);max-height:86vh;
	background:var(--mpc-surface);border-radius:20px;box-shadow:0 30px 60px -20px rgba(10,12,20,.35);
	z-index:9999;flex-direction:column;overflow:hidden;
	opacity:0;transition:opacity .2s ease, transform .2s ease;
}
.mpc-model-panel:not([hidden]){display:flex;}
.mpc-model-panel.is-open{opacity:1;transform:translate(-50%,-50%);}
.mpc-panel-header{
	display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
	padding:22px 24px 14px;border-bottom:1px solid var(--mpc-line);flex-shrink:0;
}
.mpc-panel-header h3{margin:0 0 2px;font-size:22px;font-weight:700;}
.mpc-panel-sub{margin:0;font-size:13px;color:var(--mpc-muted);}
.mpc-close{
	background:var(--mpc-bg);border:1px solid var(--mpc-line);border-radius:50%;
	width:34px;height:34px;flex-shrink:0;cursor:pointer;font-size:14px;line-height:1;color:var(--mpc-ink);
	transition:background .15s ease, transform .15s ease;
}
.mpc-close:hover{background:var(--mpc-accent);color:#fff;transform:rotate(90deg);}
.mpc-close:focus-visible{outline:2.5px solid var(--mpc-accent);outline-offset:2px;}
.mpc-panel-search{padding:14px 24px 0;flex-shrink:0;}
.mpc-search-input{
	width:100%;padding:10px 14px;border:1px solid var(--mpc-line);border-radius:10px;
	font-family:inherit;font-size:14px;background:var(--mpc-bg);color:var(--mpc-ink);
}
.mpc-search-input:focus-visible{outline:2px solid var(--mpc-accent);outline-offset:1px;}

/* Model grid */
.mpc-model-grid{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;
	padding:18px 24px 26px;overflow-y:auto;
}
.mpc-model-card{
	background:var(--mpc-surface);border:1px solid var(--mpc-line);border-radius:14px;
	display:flex;flex-direction:column;transition:box-shadow .15s ease, border-color .15s ease;
}
.mpc-model-card:hover{box-shadow:0 10px 22px -14px rgba(22,27,38,.3);border-color:#d8d3c8;}
.mpc-model-photo{
	height:150px;width:100%;flex-shrink:0;
	background:repeating-linear-gradient(135deg,#f6f3ee,#f6f3ee 8px,#f1ede4 8px,#f1ede4 16px);
	display:flex;align-items:center;justify-content:center;overflow:hidden;color:#c8c0b0;
	border-radius:14px 14px 0 0;
}
.mpc-model-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mpc-model-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:6px;flex-grow:1;}
.mpc-model-body h4{margin:0;font-size:14.5px;font-weight:700;line-height:1.3;}
.mpc-model-specs{margin:0;padding-left:16px;font-size:11.5px;color:var(--mpc-muted);flex-grow:1;}
.mpc-model-specs li{margin-bottom:1px;}

/* Signature price tag */
.mpc-price-tag{
	align-self:flex-start;margin-top:auto;position:relative;
	display:inline-flex;align-items:center;font-family:'Sora',sans-serif;
	background:var(--mpc-accent);color:#fff;font-weight:700;font-size:13px;
	padding:6px 14px 6px 20px;border-radius:0 8px 8px 0;
	clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);
}
.mpc-price-tag::before{
	content:'';position:absolute;left:7px;top:50%;transform:translateY(-50%);
	width:4px;height:4px;border-radius:50%;background:#fff;
}
.mpc-no-results{grid-column:1/-1;text-align:center;color:var(--mpc-muted);padding:24px 0;font-size:14px;}

/* Mobile: full-screen modal */
@media(max-width:640px){
	.mpc-brand-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;}
	.mpc-brand-tile{padding:16px 8px 14px;}
	.mpc-brand-logo{width:52px;height:52px;}
	.mpc-model-panel{
		top:0;left:0;transform:translateY(4%);width:100vw;height:100vh;max-height:none;
		border-radius:0;
	}
	.mpc-model-panel.is-open{transform:translateY(0);}
	.mpc-model-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));}
	.mpc-model-photo{height:120px;}
}

@media (prefers-reduced-motion:reduce){
	.mpc-catalog *{transition:none !important;animation:none !important;}
}