
/**
 * Motorit Platform Polish V3.0
 */

body.motorit-platform-polish-v3{
	--motorit-polish-primary:#0597b1;
	--motorit-polish-dark:#047b91;
	--motorit-polish-accent:#38b6ff;
	--motorit-polish-text:#102033;
	--motorit-polish-muted:#65758a;
	--motorit-polish-border:#dbe7ef;
	--motorit-polish-soft:#f5f9fb;
	--motorit-polish-success:#15803d;
	--motorit-polish-danger:#b91c1c;
	--motorit-polish-warning:#a16207;
	--motorit-polish-info:#0369a1;
	--motorit-polish-radius-sm:12px;
	--motorit-polish-radius:18px;
	--motorit-polish-radius-lg:24px;
	--motorit-polish-shadow:0 14px 36px rgba(15,23,42,.08);
	--motorit-polish-shadow-hover:0 20px 48px rgba(15,23,42,.12);
	--motorit-polish-title-xl:clamp(32px,5vw,58px);
	--motorit-polish-title-lg:clamp(27px,3.2vw,42px);
	--motorit-polish-title-md:clamp(22px,2.3vw,30px);
	--motorit-polish-body:15px;
	--motorit-polish-small:13px;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.motorit-polish-sr-only{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}

/* Shared interaction behaviour */
body.motorit-platform-polish-v3 :where(
	a,
	button,
	input,
	select,
	textarea,
	[role="button"]
){
	transition:
		background-color .18s ease,
		border-color .18s ease,
		color .18s ease,
		box-shadow .18s ease,
		transform .18s ease,
		opacity .18s ease;
}

body.motorit-platform-polish-v3 :where(
	a,
	button,
	input,
	select,
	textarea,
	[tabindex]:not([tabindex="-1"]),
	[role="button"]
):focus-visible{
	outline:3px solid rgba(56,182,255,.50)!important;
	outline-offset:3px!important;
	box-shadow:0 0 0 5px rgba(56,182,255,.14)!important;
}

body.motorit-platform-polish-v3 :where(button,[role="button"]):active{
	transform:translateY(0) scale(.985);
}

/* Conservative typography alignment */
body.motorit-platform-polish-v3 :where(
	.motorit-page-title,
	.motorit-section-title,
	.mcv8-hero h1
){
	letter-spacing:-.035em;
	text-wrap:balance;
}

body.motorit-platform-polish-v3 :where(
	.motorit-page-subtitle,
	.motorit-section-copy,
	.motorit-empty-copy
){
	color:var(--motorit-polish-muted);
	line-height:1.65;
}

/* Premium card motion */
@media(hover:hover){
	body.motorit-platform-polish-v3 :where(
		.motorit-feature-card-v4,
		.motorit-latest-card-v4,
		.motorit-compare-card,
		.motorit-garage-card,
		.motorit-tool-card-v4,
		.motorit-news-card-v4,
		.motorit-mini-why-card-v4,
		.motorit-step-card-v4
	):hover{
		transform:translateY(-3px);
		box-shadow:var(--motorit-polish-shadow-hover);
	}
}

/* Unified status badge language */
.motorit-status,
[data-motorit-status]{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:7px!important;
	min-height:28px!important;
	padding:5px 10px!important;
	border:1px solid transparent!important;
	border-radius:999px!important;
	font-size:12px!important;
	font-weight:900!important;
	line-height:1!important;
	letter-spacing:.01em!important;
	text-transform:none!important;
	white-space:nowrap!important;
}

.motorit-status::before,
[data-motorit-status]::before{
	content:"";
	width:7px;
	height:7px;
	border-radius:50%;
	background:currentColor;
	box-shadow:0 0 0 3px rgba(255,255,255,.58);
}

.motorit-status-live,
[data-motorit-status="live"],
[data-motorit-status="active"],
[data-motorit-status="approved"]{
	background:#ecfdf3!important;
	border-color:#bbf7d0!important;
	color:#15803d!important;
}

.motorit-status-pending,
[data-motorit-status="pending"],
[data-motorit-status="review"],
[data-motorit-status="awaiting"]{
	background:#fffbeb!important;
	border-color:#fde68a!important;
	color:#a16207!important;
}

.motorit-status-draft,
[data-motorit-status="draft"],
[data-motorit-status="inactive"]{
	background:#f1f5f9!important;
	border-color:#cbd5e1!important;
	color:#475569!important;
}

.motorit-status-sold,
[data-motorit-status="sold"],
[data-motorit-status="removed"],
[data-motorit-status="cancelled"]{
	background:#fff1f2!important;
	border-color:#fecdd3!important;
	color:#be123c!important;
}

.motorit-status-premium,
[data-motorit-status="premium"],
[data-motorit-status="featured"]{
	background:#eefcff!important;
	border-color:#bae6fd!important;
	color:#0369a1!important;
}

/* Unified toast system */
.motorit-polish-toast-stack{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:2147483000;
	display:grid;
	gap:10px;
	width:min(380px,calc(100vw - 28px));
	pointer-events:none;
}

.motorit-polish-toast{
	display:grid;
	grid-template-columns:38px minmax(0,1fr) auto;
	align-items:center;
	gap:12px;
	min-height:64px;
	padding:12px 13px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:17px;
	background:#102033;
	color:#fff;
	box-shadow:0 20px 48px rgba(15,23,42,.25);
	opacity:0;
	transform:translateY(16px) scale(.98);
	pointer-events:auto;
	transition:opacity .22s ease,transform .22s ease;
}

.motorit-polish-toast.is-visible{
	opacity:1;
	transform:translateY(0) scale(1);
}

.motorit-polish-toast-icon{
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border-radius:12px;
	background:rgba(255,255,255,.12);
	font-size:18px;
	font-weight:950;
}

.motorit-polish-toast-copy strong{
	display:block;
	margin-bottom:2px;
	font-size:14px;
	line-height:1.25;
}

.motorit-polish-toast-copy span{
	display:block;
	color:rgba(255,255,255,.76);
	font-size:12px;
	line-height:1.45;
}

.motorit-polish-toast-close{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	padding:0;
	border:0;
	border-radius:10px;
	background:transparent;
	color:#fff;
	font-size:20px;
	cursor:pointer;
}

.motorit-polish-toast.is-success .motorit-polish-toast-icon{background:rgba(34,197,94,.22)}
.motorit-polish-toast.is-error .motorit-polish-toast-icon{background:rgba(239,68,68,.24)}
.motorit-polish-toast.is-warning .motorit-polish-toast-icon{background:rgba(245,158,11,.24)}
.motorit-polish-toast.is-info .motorit-polish-toast-icon{background:rgba(56,182,255,.24)}

/* Unified modal system */
.motorit-polish-modal-lock{
	overflow:hidden!important;
}

.motorit-polish-modal-backdrop{
	position:fixed;
	inset:0;
	z-index:2147483100;
	display:grid;
	place-items:center;
	padding:20px;
	background:rgba(7,24,39,.56);
	backdrop-filter:blur(7px);
	-webkit-backdrop-filter:blur(7px);
	opacity:0;
	transition:opacity .2s ease;
}

.motorit-polish-modal-backdrop.is-visible{
	opacity:1;
}

.motorit-polish-modal{
	width:min(520px,100%);
	max-height:min(760px,calc(100vh - 40px));
	overflow:auto;
	border:1px solid rgba(255,255,255,.68);
	border-radius:24px;
	background:#fff;
	box-shadow:0 30px 90px rgba(15,23,42,.30);
	transform:translateY(16px) scale(.98);
	transition:transform .22s ease;
}

.motorit-polish-modal-backdrop.is-visible .motorit-polish-modal{
	transform:translateY(0) scale(1);
}

.motorit-polish-modal-head{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:start;
	gap:16px;
	padding:22px 22px 0;
}

.motorit-polish-modal-title{
	margin:0;
	color:var(--motorit-polish-text);
	font-size:24px;
	font-weight:950;
	line-height:1.18;
	letter-spacing:-.025em;
}

.motorit-polish-modal-close{
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	padding:0;
	border:1px solid var(--motorit-polish-border);
	border-radius:12px;
	background:#fff;
	color:#475569;
	font-size:22px;
	cursor:pointer;
}

.motorit-polish-modal-body{
	padding:16px 22px 20px;
	color:var(--motorit-polish-muted);
	font-size:15px;
	line-height:1.65;
}

.motorit-polish-modal-actions{
	display:flex;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:10px;
	padding:0 22px 22px;
}

.motorit-polish-modal-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 18px;
	border:1px solid var(--motorit-polish-border);
	border-radius:13px;
	background:#fff;
	color:var(--motorit-polish-text);
	font:inherit;
	font-weight:900;
	cursor:pointer;
}

.motorit-polish-modal-button.is-primary{
	border-color:var(--motorit-polish-primary);
	background:var(--motorit-polish-primary);
	color:#fff;
}

.motorit-polish-modal-button.is-danger{
	border-color:var(--motorit-polish-danger);
	background:var(--motorit-polish-danger);
	color:#fff;
}

/* Premium reusable empty state */
.motorit-polish-empty{
	display:grid;
	place-items:center;
	min-height:260px;
	padding:42px 24px;
	border:1px dashed #cbdbe2;
	border-radius:22px;
	background:linear-gradient(180deg,#fff 0%,#f8fcfd 100%);
	text-align:center;
}

.motorit-polish-empty-icon{
	display:grid;
	place-items:center;
	width:64px;
	height:64px;
	margin-bottom:16px;
	border-radius:20px;
	background:#e9f8fb;
	color:var(--motorit-polish-primary);
	font-size:28px;
	font-weight:950;
}

.motorit-polish-empty h2,
.motorit-polish-empty h3{
	margin:0 0 8px;
	color:var(--motorit-polish-text);
	font-size:24px;
	line-height:1.15;
}

.motorit-polish-empty p{
	max-width:600px;
	margin:0 0 20px;
	color:var(--motorit-polish-muted);
	font-size:14px;
	line-height:1.65;
}

.motorit-polish-empty a,
.motorit-polish-empty button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:0 17px;
	border:0;
	border-radius:13px;
	background:var(--motorit-polish-primary);
	color:#fff!important;
	font:inherit;
	font-weight:900;
	text-decoration:none!important;
	cursor:pointer;
}

/* Unified form validation */
body.motorit-platform-polish-v3 form :where(input,select,textarea)[aria-invalid="true"],
body.motorit-platform-polish-v3 form .motorit-field-invalid{
	border-color:#ef4444!important;
	box-shadow:0 0 0 4px rgba(239,68,68,.10)!important;
	background-color:#fffafa!important;
}

.motorit-field-message{
	display:block;
	margin-top:6px;
	color:var(--motorit-polish-danger);
	font-size:12px;
	font-weight:800;
	line-height:1.45;
}

.motorit-field-message.is-success{
	color:var(--motorit-polish-success);
}

.motorit-form-summary{
	margin:0 0 18px;
	padding:14px 16px;
	border:1px solid #fecaca;
	border-radius:14px;
	background:#fff7f7;
	color:#991b1b;
	font-size:13px;
	font-weight:800;
	line-height:1.5;
}

body.motorit-platform-polish-v3 form :where(input,select,textarea):valid:not(:placeholder-shown):not([aria-invalid="true"]){
	border-color:rgba(5,151,177,.34);
}

/* Skeleton/loading utilities */
.motorit-polish-skeleton{
	position:relative!important;
	overflow:hidden!important;
	background:#eaf1f4!important;
	color:transparent!important;
	border-color:transparent!important;
	pointer-events:none!important;
	user-select:none!important;
}

.motorit-polish-skeleton::after{
	content:"";
	position:absolute;
	inset:0;
	transform:translateX(-100%);
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
	animation:motorit-polish-skeleton 1.25s infinite;
}

@keyframes motorit-polish-skeleton{
	100%{transform:translateX(100%)}
}

.motorit-polish-loading-card{
	display:grid;
	grid-template-rows:190px auto;
	overflow:hidden;
	border:1px solid var(--motorit-polish-border);
	border-radius:22px;
	background:#fff;
	box-shadow:var(--motorit-polish-shadow);
}

.motorit-polish-loading-card-body{
	display:grid;
	gap:10px;
	padding:18px;
}

.motorit-polish-loading-line{
	height:13px;
	border-radius:999px;
}

.motorit-polish-loading-line.is-title{width:74%;height:19px}
.motorit-polish-loading-line.is-short{width:42%}

/* Image loading */
body.motorit-platform-polish-v3 img[data-motorit-polish-image]{
	opacity:0;
	transition:opacity .3s ease,transform .24s ease;
}

body.motorit-platform-polish-v3 img[data-motorit-polish-image].is-loaded{
	opacity:1;
}

body.motorit-platform-polish-v3 img[data-motorit-polish-image].is-failed{
	opacity:.24;
}

body.motorit-platform-polish-v3 :where(
	.motorit-feature-image-v4,
	.motorit-latest-image-v4,
	.motorit-compare-image,
	.motorit-garage-card-image
){
	background:linear-gradient(100deg,#edf4f6 20%,#f7fbfc 40%,#edf4f6 60%);
	background-size:220% 100%;
	animation:motorit-polish-image-shimmer 1.3s linear infinite;
}

body.motorit-platform-polish-v3 :where(
	.motorit-feature-image-v4,
	.motorit-latest-image-v4,
	.motorit-compare-image,
	.motorit-garage-card-image
).is-image-ready{
	animation:none;
	background:#edf4f6;
}

@keyframes motorit-polish-image-shimmer{
	to{background-position:-220% 0}
}

/* Busy button state */
body.motorit-platform-polish-v3 [aria-busy="true"]{
	position:relative;
	cursor:wait!important;
	pointer-events:none!important;
	opacity:.78!important;
}

body.motorit-platform-polish-v3 [aria-busy="true"]::after{
	content:"";
	width:15px;
	height:15px;
	margin-left:9px;
	border:2px solid currentColor;
	border-right-color:transparent;
	border-radius:50%;
	animation:motorit-polish-spin .65s linear infinite;
}

@keyframes motorit-polish-spin{
	to{transform:rotate(360deg)}
}

/* Icon safety and consistency */
body.motorit-platform-polish-v3 :where(
	.motorit-icon,
	[data-motorit-icon]
){
	display:inline-grid;
	place-items:center;
	flex:0 0 auto;
	width:1.2em;
	height:1.2em;
	line-height:1;
	font-style:normal;
	font-weight:900;
	vertical-align:-.12em;
}

body.motorit-platform-polish-v3 :where(
	button,
	a,
	[role="button"]
) > :where(svg,.motorit-icon,[data-motorit-icon]){
	flex:0 0 auto;
}

/* Better mobile tap targets */
@media(max-width:700px){
	body.motorit-platform-polish-v3 :where(
		button,
		[role="button"],
		.motorit-compare-button,
		.motorit-garage-save-button
	){
		min-height:44px;
	}

	.motorit-polish-toast-stack{
		right:14px;
		bottom:14px;
	}

	.motorit-polish-toast{
		grid-template-columns:36px minmax(0,1fr) auto;
	}

	.motorit-polish-modal-actions{
		display:grid;
		grid-template-columns:1fr;
	}

	.motorit-polish-modal-button{
		width:100%;
	}
}

/* Accessibility: honour reduced motion */
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto!important}

	body.motorit-platform-polish-v3 *,
	body.motorit-platform-polish-v3 *::before,
	body.motorit-platform-polish-v3 *::after{
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important;
		scroll-behavior:auto!important;
	}
}
