.moralo-vehiculos {
	--moralo-blue: #0b5ea8;
	--moralo-blue-2: #1683d8;
	--moralo-ink: #142033;
	--moralo-muted: #667085;
	--moralo-line: #d9e2ec;
	--moralo-soft: #f4f8fb;
	--moralo-card: #ffffff;
	color: var(--moralo-ink);
	font-family: inherit;
}

.moralo-vehiculos *,
.moralo-vehiculos *::before,
.moralo-vehiculos *::after {
	box-sizing: border-box;
}

.moralo-container {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.moralo-kicker {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 5px 10px;
	border-radius: 999px;
	background: #eaf3ff;
	color: var(--moralo-blue);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.moralo-archive-head {
	padding: 34px 0 18px;
}

.moralo-archive-head h1,
.moralo-summary h1 {
	margin: 0;
	letter-spacing: 0;
	font-style: normal !important;
	color: var(--moralo-ink) !important;
}

.moralo-archive-head h1 {
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1;
	font-weight: 900;
}

.moralo-archive-head p {
	max-width: 720px;
	margin: 10px 0 0;
	color: var(--moralo-muted);
	font-size: 16px;
}

.moralo-filter {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	padding: 20px;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid var(--moralo-line);
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(20, 32, 51, 0.08);
}

.moralo-filter-title {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--moralo-line);
}

.moralo-filter-title strong {
	font-size: 18px;
	font-weight: 900;
	color: var(--moralo-ink);
}

.moralo-filter-title span {
	color: var(--moralo-muted);
	font-size: 14px;
}

.moralo-filter label,
.moralo-filter-field,
.moralo-field {
	display: grid !important;
	gap: 7px;
	font-size: 14px;
	font-weight: 800;
	color: var(--moralo-ink) !important;
}

.moralo-filter label span,
.moralo-filter-field span {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	color: var(--moralo-ink) !important;
	font-style: normal !important;
}

.moralo-filter input,
.moralo-filter select,
.moralo-vehicle-form input,
.moralo-vehicle-form select,
.moralo-vehicle-form textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--moralo-line);
	border-radius: 10px;
	background: #fff;
	color: var(--moralo-ink);
	font: inherit;
	font-weight: 700;
	box-shadow: none;
}

.moralo-filter input::placeholder,
.moralo-vehicle-form input::placeholder,
.moralo-vehicle-form textarea::placeholder {
	color: #8a96a8;
}

.moralo-filter input:focus,
.moralo-filter select:focus,
.moralo-vehicle-form input:focus,
.moralo-vehicle-form select:focus,
.moralo-vehicle-form textarea:focus {
	outline: none;
	border-color: var(--moralo-blue);
	box-shadow: 0 0 0 3px rgba(11, 94, 168, .12);
}

.moralo-filter-actions,
.moralo-card-actions,
.moralo-actions,
.moralo-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
}

.moralo-filter-actions {
	align-self: end;
}

.moralo-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--moralo-blue);
	border-radius: 10px;
	background: var(--moralo-blue);
	color: #fff !important;
	font-weight: 900;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .15s ease, filter .15s ease;
}

.moralo-button:hover {
	color: #fff !important;
	filter: brightness(0.95);
	transform: translateY(-1px);
}

.moralo-button-light {
	background: #fff;
	color: var(--moralo-blue) !important;
}

.moralo-button-light:hover {
	color: var(--moralo-blue) !important;
}

.moralo-button-whatsapp {
	background: #128c7e;
	border-color: #128c7e;
}

.moralo-results-bar {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 8px 0 16px;
	color: var(--moralo-muted);
}

.moralo-results-bar strong {
	color: var(--moralo-blue);
	font-size: 24px;
}

.moralo-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	padding-bottom: 28px;
}

.moralo-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--moralo-line);
	border-radius: 16px;
	box-shadow: 0 18px 42px rgba(20, 32, 51, 0.08);
	transition: transform .18s ease, box-shadow .18s ease;
}

.moralo-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 54px rgba(20, 32, 51, 0.12);
}

.moralo-card-image,
.moralo-gallery-main {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	background: var(--moralo-soft);
	color: var(--moralo-muted);
	overflow: hidden;
}

.moralo-card-image img,
.moralo-gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.moralo-status {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 5px 11px;
	border-radius: 999px;
	background: #eaf3ff;
	color: var(--moralo-blue);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.moralo-card-image .moralo-status {
	position: absolute;
	left: 12px;
	top: 12px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 20px rgba(20, 32, 51, .14);
}

.moralo-card-vendido .moralo-status {
	background: #f1f3f5;
	color: #667085;
}

.moralo-card-reservado .moralo-status {
	background: #fff4de;
	color: #9a5b00;
}

.moralo-card-body {
	display: grid;
	gap: 10px;
	padding: 18px;
}

.moralo-card h2 {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0;
	font-weight: 900;
	font-style: normal !important;
}

.moralo-card h2 a {
	color: var(--moralo-ink);
	text-decoration: none;
}

.moralo-card-motor {
	margin: -4px 0 0;
	color: var(--moralo-muted);
	font-size: 14px;
	font-weight: 800;
}

.moralo-price {
	margin: 0;
	color: var(--moralo-blue);
	font-size: 28px;
	line-height: 1;
	font-weight: 950;
}

.moralo-specs,
.moralo-summary-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--moralo-muted);
	font-size: 14px;
}

.moralo-specs li,
.moralo-summary-specs li {
	padding: 6px 9px;
	background: var(--moralo-soft);
	border-radius: 999px;
	font-weight: 800;
}

.moralo-pagination {
	display: flex;
	gap: 8px;
	justify-content: center;
	padding: 10px 0 36px;
}

.moralo-pagination .page-numbers {
	padding: 8px 11px;
	border: 1px solid var(--moralo-line);
	border-radius: 8px;
	text-decoration: none;
}

.moralo-pagination .current {
	background: var(--moralo-blue);
	color: #fff;
	border-color: var(--moralo-blue);
}

.moralo-single {
	padding: 28px 0 48px;
}

.moralo-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.75fr);
	gap: 26px;
	align-items: start;
}

.moralo-gallery,
.moralo-summary,
.moralo-detail-section {
	background: #fff;
	border: 1px solid var(--moralo-line);
	border-radius: 16px;
	box-shadow: 0 14px 36px rgba(20, 32, 51, 0.06);
}

.moralo-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 8px;
	padding: 10px;
}

.moralo-gallery-thumbs img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 8px;
}

.moralo-summary {
	display: grid;
	gap: 16px;
	padding: 24px;
	position: sticky;
	top: 24px;
}

.moralo-detail-section {
	margin-top: 22px;
	padding: 24px;
}

.moralo-detail-section h2 {
	margin: 0 0 16px;
	font-size: 22px;
	letter-spacing: 0;
	font-style: normal !important;
	color: var(--moralo-ink) !important;
}

.moralo-detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.moralo-detail-grid div {
	padding: 13px;
	background: var(--moralo-soft);
	border-radius: 12px;
}

.moralo-detail-grid dt {
	margin-bottom: 4px;
	color: var(--moralo-muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.moralo-detail-grid dd {
	margin: 0;
	font-weight: 900;
}

.moralo-env-badge img {
	max-width: 96px;
	height: auto;
	margin-top: 16px;
}

.moralo-notice {
	padding: 12px 14px;
	margin: 0 0 16px;
	border: 1px solid var(--moralo-line);
	border-radius: 10px;
	background: var(--moralo-soft);
}

.moralo-notice-success {
	border-color: #9ed6b4;
	background: #effaf3;
}

.moralo-notice-error,
.moralo-notice-restricted {
	border-color: #f0b4b4;
	background: #fff2f2;
}

.moralo-empty {
	padding: 22px;
	border: 1px solid var(--moralo-line);
	border-radius: 14px;
	background: #fff;
	font-weight: 800;
}

@media (max-width: 1020px) {
	.moralo-filter,
	.moralo-grid,
	.moralo-detail-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.moralo-single-layout {
		grid-template-columns: 1fr;
	}

	.moralo-summary {
		position: static;
	}
}

@media (max-width: 640px) {
	.moralo-container {
		width: min(100% - 20px, 1180px);
	}

	.moralo-filter,
	.moralo-grid,
	.moralo-detail-grid,
	.moralo-gallery-thumbs {
		grid-template-columns: 1fr;
	}

	.moralo-filter-title {
		display: grid;
	}

	.moralo-card-actions .moralo-button,
	.moralo-actions .moralo-button,
	.moralo-form-actions .moralo-button,
	.moralo-filter-actions .moralo-button {
		width: 100%;
	}
}


/* Moralo Vehículos 2.0.5 - diseño visual concesionario */
.moralo-vehiculos svg {
	width: 1.1em;
	height: 1.1em;
	fill: currentColor;
	flex: 0 0 auto;
}

.moralo-archive {
	background: linear-gradient(180deg, #f5f9ff 0, #fff 280px);
	padding-bottom: 36px;
}

.moralo-archive-head {
	padding: 42px 0 22px;
}

.moralo-archive-head h1 {
	text-transform: uppercase;
	color: #0c233f !important;
}

.moralo-filter {
	border: 0;
	border-top: 4px solid var(--moralo-blue);
	border-radius: 18px;
	box-shadow: 0 20px 60px rgba(17, 44, 78, .10);
}

.moralo-filter-title strong {
	text-transform: uppercase;
}

.moralo-grid {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	align-items: stretch;
}

.moralo-card {
	border-radius: 8px;
	border: 1px solid #dce6f0;
	box-shadow: 0 14px 34px rgba(19, 42, 70, .10);
	background: #fff;
}

.moralo-card-media {
	position: relative;
	background: #f2f6fb;
}

.moralo-card-image {
	aspect-ratio: 1.27 / 1;
	border-radius: 0;
	text-decoration: none;
}

.moralo-card-image img {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1.02);
	transition: opacity .25s ease, transform .35s ease;
}

.moralo-card-image img.is-active,
.moralo-card-image img:first-child:last-of-type {
	opacity: 1;
	transform: scale(1);
}

.moralo-card-image .moralo-status {
	left: 12px;
	top: 12px;
	border-radius: 4px;
	background: var(--moralo-blue);
	color: #fff;
	box-shadow: none;
}

.moralo-photo-count {
	position: absolute;
	left: 12px;
	top: 12px;
	display: inline-flex;
	gap: 4px;
	align-items: center;
	padding: 5px 8px;
	border-radius: 5px;
	background: rgba(13, 30, 48, .82);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	transform: translateY(34px);
}

.moralo-card-nav {
	position: absolute;
	top: 50%;
	z-index: 4;
	width: 34px;
	height: 44px;
	border: 0;
	background: rgba(11, 94, 168, .88);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	opacity: 0;
	transition: opacity .18s ease;
}

.moralo-card:hover .moralo-card-nav {
	opacity: 1;
}

.moralo-card-prev {
	left: 0;
}

.moralo-card-next {
	right: 0;
}

.moralo-card-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	display: flex;
	height: 4px;
	background: rgba(255,255,255,.65);
}

.moralo-card-dots span {
	flex: 1;
	background: rgba(11,94,168,.2);
}

.moralo-card-dots span.is-active {
	background: var(--moralo-blue);
}

.moralo-card-body {
	padding: 22px 18px 20px;
}

.moralo-card h2 {
	font-size: 22px;
	line-height: 1.05;
	text-transform: uppercase;
	min-height: 48px;
}

.moralo-card h2 a:hover {
	color: var(--moralo-blue);
}

.moralo-price {
	color: var(--moralo-blue);
	font-weight: 950;
}

.moralo-card .moralo-price {
	display: inline-flex;
	width: fit-content;
	margin: 2px 0 8px;
	padding: 10px 18px 10px 14px;
	background: linear-gradient(135deg, var(--moralo-blue) 0%, var(--moralo-blue-2) 100%);
	color: #fff;
	font-size: 20px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

.moralo-card-spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px 14px;
	margin: 10px 0 4px;
	padding: 16px 0 0;
	border-top: 1px solid #d7e0ea;
	list-style: none;
}

.moralo-card-spec-grid li {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 9px;
	color: #34465d;
	font-size: 13px;
	font-weight: 700;
}

.moralo-card-spec-grid svg {
	color: var(--moralo-blue);
	font-size: 17px;
}

.moralo-card-spec-grid span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.moralo-card-actions {
	margin-top: 14px;
}

.moralo-card-actions .moralo-button {
	min-height: 42px;
	border-radius: 6px;
}

.moralo-button-whatsapp {
	gap: 7px;
}

.moralo-single {
	background: #fff;
}

.moralo-single-hero {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	align-items: start;
	margin-bottom: 22px;
}

.moralo-single-title h1 {
	margin: 10px 0 0;
	color: #050f1c !important;
	font-size: clamp(30px, 4vw, 48px);
	font-style: italic !important;
	font-weight: 950;
	text-transform: none;
}

.moralo-price-flag {
	margin: 0;
	padding: 18px 34px 18px 42px;
	background: linear-gradient(135deg, var(--moralo-blue), var(--moralo-blue-2));
	color: #fff !important;
	font-size: clamp(26px, 3vw, 34px);
	clip-path: polygon(18px 0, 100% 0, 100% 100%, 0 100%);
	box-shadow: 0 14px 28px rgba(11, 94, 168, .2);
}

.moralo-single-layout {
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.7fr);
}

.moralo-gallery {
	overflow: hidden;
	border-radius: 4px;
	box-shadow: none;
}

.moralo-gallery-main {
	border-radius: 4px;
	aspect-ratio: 16 / 10;
}

.moralo-gallery-thumbs {
	grid-template-columns: repeat(5, minmax(70px, 1fr));
	padding: 12px 0 0;
	background: #fff;
}

.moralo-gallery-thumbs button {
	padding: 0;
	border: 3px solid transparent;
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
	overflow: hidden;
}

.moralo-gallery-thumbs button.is-active {
	border-color: var(--moralo-blue);
}

.moralo-summary {
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(19, 42, 70, .11);
	gap: 14px;
}

.moralo-summary h2 {
	margin: 0;
	color: #0b1e33;
	font-size: 18px;
	text-transform: uppercase;
}

.moralo-contact-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 5px;
	background: #fff;
	color: #132238;
	text-decoration: none !important;
	font-weight: 850;
	box-shadow: 0 7px 20px rgba(16, 35, 56, .12);
	border: 1px solid #e5ecf4;
}

.moralo-contact-button:hover {
	transform: translateY(-1px);
}

.moralo-contact-whatsapp svg {
	color: #24c45a;
	font-size: 24px;
}

.moralo-contact-phone {
	background: var(--moralo-blue);
	color: #fff !important;
}

.moralo-contact-phone svg {
	color: #fff;
}

.moralo-contact-mail {
	color: var(--moralo-blue) !important;
}

.moralo-summary-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid #e2eaf2;
	padding-top: 14px;
}

.moralo-summary-specs li {
	display: flex;
	align-items: center;
	gap: 7px;
	border-radius: 7px;
	background: #f5f8fc;
	color: #34465d;
}

.moralo-summary-specs svg {
	color: var(--moralo-blue);
}

.moralo-features-section h2,
.moralo-detail-section h2,
.moralo-related h2 {
	text-transform: uppercase;
	font-size: 24px;
	color: #07111e !important;
}

.moralo-icon-detail-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 30px;
}

.moralo-icon-detail-grid div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
	background: transparent;
	border-radius: 0;
	border-bottom: 1px solid #d6dfe8;
}

.moralo-icon-detail-grid dt {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: #7b8796;
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
}

.moralo-icon-detail-grid dt svg {
	color: var(--moralo-blue);
	font-size: 24px;
}

.moralo-icon-detail-grid dd {
	text-align: right;
	color: #050f1c;
	font-size: 15px;
	font-weight: 950;
}

.moralo-features-section {
	border-bottom: 4px solid var(--moralo-blue);
}

.moralo-finance-contact {
	display: grid;
	grid-template-columns: minmax(280px, .85fr) minmax(280px, 1.15fr);
	gap: 20px;
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.moralo-finance-box,
.moralo-help-box {
	background: #fff;
	border: 1px solid #d7e0ea;
	border-radius: 6px;
	box-shadow: 0 14px 34px rgba(19,42,70,.08);
	padding: 24px;
}

.moralo-finance-box header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: -24px -24px 20px;
	padding: 14px 20px;
	background: var(--moralo-blue);
	color: #fff;
	border-radius: 6px 6px 0 0;
}

.moralo-finance-box header h2 {
	margin: 0;
	color: #fff !important;
	font-style: italic !important;
	text-transform: none;
}

.moralo-finance-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.moralo-finance-grid label {
	display: grid;
	gap: 7px;
	font-size: 13px;
	font-weight: 700;
}

.moralo-finance-grid input {
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid #d7e0ea;
	border-radius: 8px;
	font: inherit;
}

.moralo-finance-calc {
	width: 100%;
	margin-top: 16px;
}

.moralo-finance-result {
	margin: 16px 0 0;
	padding: 13px;
	background: #f3f8ff;
	border-radius: 8px;
	font-weight: 900;
}

.moralo-finance-result strong {
	color: var(--moralo-blue);
}

.moralo-help-box h2 {
	margin-top: 0;
	color: var(--moralo-blue) !important;
	font-style: italic !important;
	text-align: center;
	text-transform: none;
}

.moralo-section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 18px;
	margin: 28px 0 16px;
	padding-bottom: 10px;
	border-bottom: 4px solid var(--moralo-blue);
}

.moralo-section-head h2 {
	margin: 0;
}

.moralo-section-head a {
	color: var(--moralo-blue);
	font-weight: 900;
}

.moralo-related-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.moralo-single-hero,
	.moralo-finance-contact {
		grid-template-columns: 1fr;
	}
	.moralo-price-flag {
		width: fit-content;
	}
	.moralo-icon-detail-grid,
	.moralo-related-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.moralo-card-nav {
		opacity: 1;
	}
	.moralo-summary-specs,
	.moralo-finance-grid {
		grid-template-columns: 1fr;
	}
	.moralo-single-title h1 {
		font-size: 30px;
	}
}


/* ===== 2.0.6 polish ===== */
.moralo-card-image img,
.moralo-gallery-main img,
.moralo-gallery-thumbs img,
.moralo-card-spec-grid svg,
.moralo-summary-specs svg,
.moralo-icon-detail-grid dt svg,
.moralo-contact-button svg,
.moralo-button svg,
.moralo-photo-count svg,
.moralo-finance-box header svg,
.moralo-card-noimage svg {
	display: inline-block;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	vertical-align: middle;
}
.moralo-card-spec-grid svg,
.moralo-summary-specs svg,
.moralo-icon-detail-grid dt svg,
.moralo-contact-button svg,
.moralo-button svg,
.moralo-photo-count svg,
.moralo-finance-box header svg,
.moralo-card-noimage svg {
	fill: currentColor;
	stroke: none;
}

.moralo-filter {
	padding: 22px;
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.moralo-filter-actions {
	grid-column: span 2;
	justify-content: flex-start;
	gap: 12px;
}
.moralo-filter-actions .moralo-button { min-width: 128px; justify-content: center; }

.moralo-grid {
	align-items: stretch;
}
.moralo-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #d7e2ee;
	box-shadow: 0 14px 34px rgba(21,42,71,.08);
}
.moralo-card-media {
	background: linear-gradient(180deg, #edf4fb 0%, #f7fbff 100%);
}
.moralo-card-image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.moralo-card-image::after {
	content: '';
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(10,20,35,.28) 100%);
	pointer-events: none;
}
.moralo-card-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease, opacity .25s ease;
}
.moralo-card:hover .moralo-card-image img.is-active { transform: scale(1.04); }
.moralo-card-noimage {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #7f90a6;
	font-size: 15px;
	font-weight: 800;
	background: linear-gradient(180deg, #eef4fa 0%, #dde7f2 100%);
}
.moralo-card-noimage svg { width: 28px; height: 28px; }
.moralo-photo-count,
.moralo-status {
	z-index: 2;
}
.moralo-card-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 18px 16px;
}
.moralo-card h2 {
	min-height: 58px;
	margin-bottom: 8px;
	font-size: clamp(22px, 1.7vw, 27px);
	line-height: 1.08;
	text-transform: uppercase;
}
.moralo-card .moralo-price {
	margin-bottom: 12px;
	font-size: 28px;
	font-weight: 950;
}
.moralo-card-spec-grid {
	gap: 12px 16px;
	padding-top: 14px;
}
.moralo-card-spec-grid li {
	align-items: flex-start;
	gap: 10px;
}
.moralo-spec-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: rgba(11, 94, 168, .09);
	color: var(--moralo-blue);
	flex: 0 0 30px;
}
.moralo-spec-icon svg { width: 16px; height: 16px; }
.moralo-spec-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}
.moralo-spec-copy small {
	display: block;
	color: #7b8796;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.moralo-spec-copy strong {
	display: block;
	color: #223247;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.moralo-card-actions { margin-top: auto; padding-top: 12px; }
.moralo-card-actions .moralo-button {
	flex: 1 1 0;
	justify-content: center;
	min-height: 44px;
	padding-inline: 14px;
}

.moralo-summary-specs li {
	padding: 10px 12px;
	min-height: 44px;
}
.moralo-summary-specs span { font-weight: 800; }
.moralo-icon-detail-grid dt svg { width: 20px; height: 20px; }

.moralo-finance-grid-simple {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.moralo-finance-grid-simple label:first-child { grid-column: 1 / -1; }
.moralo-finance-grid-simple input[readonly] {
	background: #eef4fa;
	color: #214568;
	cursor: default;
}
.moralo-finance-note {
	margin: 12px 0 0;
	color: #607187;
	font-size: 13px;
	font-weight: 700;
}
.moralo-finance-result {
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: 12px;
	background: #eef4fa;
}
.moralo-finance-result strong { font-size: 28px; }

@media (max-width: 980px) {
	.moralo-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.moralo-filter-actions { grid-column: 1 / -1; }
	.moralo-finance-grid-simple { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.moralo-card-body { padding: 16px; }
	.moralo-card h2 { min-height: 0; font-size: 24px; }
	.moralo-card .moralo-price { font-size: 24px; }
	.moralo-card-spec-grid { grid-template-columns: 1fr; }
	.moralo-filter { grid-template-columns: 1fr; }
}


/* ===== 2.0.7 premium cards and finance refinements ===== */
.moralo-filter-title {
	align-items: center;
	background: linear-gradient(90deg, rgba(11,94,168,.08), rgba(255,255,255,0));
	margin: -8px -8px 4px;
	padding: 12px 14px;
	border-radius: 12px;
}
.moralo-filter-field span { letter-spacing: .01em; }
.moralo-filter select,
.moralo-filter input {
	border-color: #cdd9e7;
	background: #fff;
}
.moralo-results-bar {
	padding-left: 2px;
	font-weight: 700;
}

.moralo-card {
	position: relative;
	background: #fff;
}
.moralo-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--moralo-blue), var(--moralo-blue-2));
	z-index: 3;
}
.moralo-card .moralo-status {
	left: 14px;
	top: 14px;
	min-height: 30px;
	padding: 7px 12px;
	border-radius: 7px;
	background: var(--moralo-blue) !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.14);
}
.moralo-card-vendido .moralo-status {
	background: #f28c00 !important;
}
.moralo-card-reservado .moralo-status {
	background: #d48a00 !important;
}
.moralo-card-vendido .moralo-card-media::after {
	content: 'VENDIDO';
	position: absolute;
	top: 23px;
	right: -44px;
	width: 170px;
	padding: 9px 0;
	text-align: center;
	transform: rotate(45deg);
	background: #f28c00;
	color: #fff;
	font-weight: 950;
	font-size: 13px;
	letter-spacing: .06em;
	z-index: 4;
	box-shadow: 0 12px 24px rgba(0,0,0,.16);
}
.moralo-card-media { position: relative; }
.moralo-photo-count {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 3;
	padding: 6px 9px;
	border-radius: 8px;
	background: rgba(6,17,31,.78);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}
.moralo-card-dots {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;
	display: flex;
	gap: 3px;
	z-index: 4;
}
.moralo-card-dots span {
	flex: 1;
	height: 4px;
	border-radius: 999px;
	background: rgba(255,255,255,.75);
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.moralo-card-dots span.is-active {
	background: var(--moralo-blue-2);
	transform: scaleY(1.35);
}
.moralo-card-nav {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 34px;
	height: 44px;
	transform: translateY(-50%);
	border: 0;
	border-radius: 9px;
	background: rgba(6,17,31,.58);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transition: opacity .18s ease, background .18s ease;
}
.moralo-card:hover .moralo-card-nav { opacity: 1; }
.moralo-card-prev { left: 10px; }
.moralo-card-next { right: 10px; }
.moralo-card-nav:hover { background: var(--moralo-blue); }

.moralo-card-spec-grid {
	border-top: 1px solid #dbe5ef;
	padding-top: 16px;
	margin-top: 4px;
}
.moralo-card-spec-grid li {
	min-height: 36px;
}
.moralo-spec-copy strong {
	max-width: 120px;
}
.moralo-card-actions .moralo-button {
	border-radius: 8px;
	font-size: 14px;
	box-shadow: 0 8px 20px rgba(11,94,168,.14);
}

.moralo-single-hero {
	border-radius: 18px;
	background: linear-gradient(90deg, #ffffff 0%, #f1f7fd 100%);
	border: 1px solid #d9e4ef;
	padding: 18px 20px;
	margin-bottom: 22px;
}
.moralo-price-flag {
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%);
	padding: 14px 22px 14px 30px !important;
}

.moralo-finance-box header {
	border-radius: 10px 10px 0 0;
}
.moralo-finance-grid-simple label:first-child input {
	font-weight: 950;
	font-size: 18px;
}
.moralo-finance-grid-simple input:not([readonly]) {
	background: #fff;
	border-color: #c9d7e6;
}
.moralo-finance-result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 15px;
}
.moralo-finance-result strong {
	color: var(--moralo-blue);
	white-space: nowrap;
}
.moralo-help-box {
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.moralo-related {
	margin-top: 28px;
}
.moralo-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--moralo-blue);
}
.moralo-section-head h2 {
	margin: 0;
}
.moralo-section-head a {
	font-weight: 900;
	color: var(--moralo-blue);
	text-decoration: none;
}

@media (max-width: 640px) {
	.moralo-card-nav { opacity: 1; }
	.moralo-card-actions { gap: 8px; }
	.moralo-finance-result { display: block; }
	.moralo-finance-result strong { display: block; margin-top: 4px; }
	.moralo-single-hero { display: grid; gap: 12px; }
}


/* ===== 2.0.8 compact cards + mini related ===== */
.moralo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.moralo-card {
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
}
.moralo-card-image {
	aspect-ratio: 4 / 2.8;
}
.moralo-card-noimage {
	font-size: 14px;
}
.moralo-card-body {
	padding: 14px 14px 14px;
	gap: 0;
}
.moralo-card h2 {
	font-size: 19px;
	min-height: 66px;
	margin-bottom: 4px;
}
.moralo-card .moralo-price {
	font-size: 18px;
	padding: 8px 14px 8px 11px;
	margin: 0 0 8px;
}
.moralo-card-spec-grid {
	gap: 8px 10px;
	padding-top: 10px;
	margin: 8px 0 0;
}
.moralo-card-spec-grid li {
	align-items: center;
	gap: 8px;
}
.moralo-spec-icon {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	background: rgba(11,94,168,.08);
	color: var(--moralo-blue);
}
.moralo-spec-icon svg,
.moralo-summary-icon svg,
.moralo-contact-button svg,
.moralo-icon-detail-grid dt svg,
.moralo-photo-count svg,
.moralo-card-noimage svg,
.moralo-finance-box header svg,
.moralo-button svg {
	width: 15px !important;
	height: 15px !important;
	display: block;
	color: currentColor;
}
.moralo-spec-icon svg path,
.moralo-summary-icon svg path,
.moralo-contact-button svg path,
.moralo-icon-detail-grid dt svg path,
.moralo-photo-count svg path,
.moralo-card-noimage svg path,
.moralo-finance-box header svg path,
.moralo-button svg path {
	fill: currentColor !important;
	stroke: currentColor !important;
	stroke-width: 0;
}
.moralo-spec-copy small {
	font-size: 10px;
	letter-spacing: .04em;
}
.moralo-spec-copy strong {
	font-size: 12px;
	white-space: normal;
	line-height: 1.15;
}
.moralo-card-actions {
	margin-top: auto;
	padding-top: 10px;
}
.moralo-card-actions .moralo-button {
	min-height: 40px;
	font-size: 14px;
	padding-inline: 12px;
}
.moralo-photo-count {
	gap: 4px;
	padding: 6px 8px;
	font-size: 12px;
}

.moralo-summary-specs {
	gap: 8px;
}
.moralo-summary-specs li {
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
}
.moralo-summary-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	background: rgba(11,94,168,.08);
	border-radius: 999px;
	color: var(--moralo-blue);
}
.moralo-summary-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.moralo-summary-copy small {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	color: #7b8796;
}
.moralo-summary-copy strong {
	font-size: 14px;
	font-weight: 900;
	color: #223247;
	line-height: 1.15;
}

.moralo-finance-grid label {
	gap: 6px;
}
.moralo-finance-label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: #284865;
}
.moralo-finance-grid-simple {
	grid-template-columns: repeat(2, minmax(0,1fr));
}
.moralo-finance-grid-simple label:first-child {
	grid-column: 1 / -1;
}

.moralo-related {
	padding-top: 10px;
}
.moralo-related-grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 240px);
	grid-template-columns: none;
	gap: 14px;
	overflow-x: auto;
	padding-bottom: 6px;
	scroll-snap-type: x proximity;
}
.moralo-related-grid .moralo-card {
	scroll-snap-align: start;
	border-radius: 12px;
}
.moralo-related-grid .moralo-card-image {
	aspect-ratio: 4 / 2.6;
}
.moralo-related-grid .moralo-card-body {
	padding: 12px;
}
.moralo-related-grid .moralo-card h2 {
	font-size: 16px;
	min-height: 44px;
}
.moralo-related-grid .moralo-card .moralo-price {
	font-size: 16px;
	padding: 7px 12px 7px 10px;
}
.moralo-related-grid .moralo-card-spec-grid {
	grid-template-columns: 1fr;
	gap: 7px;
}
.moralo-related-grid .moralo-spec-copy small { font-size: 9px; }
.moralo-related-grid .moralo-spec-copy strong { font-size: 11px; }
.moralo-related-grid .moralo-card-actions .moralo-button {
	font-size: 13px;
	min-height: 36px;
}

@media (max-width: 1200px) {
	.moralo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.moralo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.moralo-grid { grid-template-columns: 1fr; }
	.moralo-finance-grid-simple { grid-template-columns: 1fr; }
	.moralo-summary-specs { grid-template-columns: 1fr 1fr; }
}


/* ===== 2.0.9 citroen-style polish ===== */
.moralo-vehiculos {
	--moralo-blue: #6998AD;
	--moralo-blue-2: #83AEC0;
	--moralo-ink: #183042;
	--moralo-muted: #687888;
	--moralo-line: #d5e0e7;
	--moralo-soft: #f3f7fa;
}
.moralo-container {
	width: min(1440px, 85vw);
}
.moralo-icon-char {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 15px;
}
.moralo-hero-banner {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 20px;
	padding: 28px 34px;
	margin: 24px 0 22px;
	background: linear-gradient(135deg, rgba(105,152,173,.12), rgba(131,174,192,.26));
	border: 1px solid rgba(105,152,173,.28);
	border-radius: 24px;
}
.moralo-hero-banner::before,
.moralo-hero-banner::after {
	content: '';
	position: absolute;
	border-radius: 999px;
	background: rgba(105,152,173,.12);
	pointer-events: none;
}
.moralo-hero-banner::before { width: 220px; height: 220px; right: -70px; top: -90px; }
.moralo-hero-banner::after { width: 160px; height: 160px; left: -50px; bottom: -80px; }
.moralo-hero-copy,
.moralo-single-title { position: relative; z-index: 1; }
.moralo-hero-badge {
	position: relative;
	z-index: 1;
	padding: 16px 18px;
	min-width: 200px;
	border-radius: 18px;
	background: rgba(255,255,255,.7);
	color: var(--moralo-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: right;
	backdrop-filter: blur(6px);
}
.moralo-hero-badge strong { display: block; font-size: 22px; text-transform: uppercase; color: var(--moralo-blue); }
.moralo-archive-head { padding: 0; }
.moralo-single-hero { margin-top: 24px; margin-bottom: 22px; }
.moralo-single-title h1 { margin-top: 8px; }
.moralo-kicker { background: rgba(105,152,173,.12); }

.moralo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.moralo-card { height: 100%; }
.moralo-card-body {
	display: flex;
	flex-direction: column;
	padding: 14px;
}
.moralo-card h2 {
	font-size: 16px;
	line-height: 1.12;
	min-height: 54px;
	margin-bottom: 4px;
}
.moralo-card .moralo-price {
	font-size: 16px;
	padding: 7px 12px 7px 10px;
	margin: 2px 0 8px;
}
.moralo-card-spec-grid {
	gap: 7px 10px;
	padding-top: 10px;
	margin-top: 8px;
}
.moralo-card-spec-grid li { align-items: flex-start; }
.moralo-spec-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	border-radius: 999px;
	background: rgba(105,152,173,.12);
	color: var(--moralo-blue);
}
.moralo-spec-copy small {
	font-size: 9px;
	line-height: 1;
	color: #768596;
}
.moralo-spec-copy strong {
	font-size: 11px;
	line-height: 1.16;
	color: #203447;
}
.moralo-card-actions {
	margin-top: auto;
	padding-top: 10px;
	align-items: stretch;
}
.moralo-card-actions .moralo-button {
	flex: 1 1 0;
	min-width: 0;
	min-height: 38px;
	padding: 8px 10px;
	font-size: 13px;
	white-space: nowrap;
	border-radius: 10px;
}
.moralo-card-actions .moralo-button-whatsapp { gap: 6px; }
.moralo-photo-count {
	right: 10px;
	top: 10px;
	padding: 5px 8px;
	font-size: 12px;
	background: rgba(17,31,46,.66);
	backdrop-filter: blur(4px);
}
.moralo-card-noimage {
	color: #75869a;
	gap: 8px;
}

.moralo-summary-specs li,
.moralo-icon-detail-grid dt,
.moralo-contact-button,
.moralo-finance-box header,
.moralo-button,
.moralo-related-link { color: inherit; }
.moralo-summary-icon,
.moralo-icon-detail-grid dt svg,
.moralo-contact-button .moralo-icon-char,
.moralo-finance-box header .moralo-icon-char,
.moralo-button .moralo-icon-char,
.moralo-card-noimage .moralo-icon-char,
.moralo-photo-count .moralo-icon-char {
	color: var(--moralo-blue);
}
.moralo-summary-icon,
.moralo-contact-button .moralo-icon-char,
.moralo-finance-box header .moralo-icon-char,
.moralo-button .moralo-icon-char,
.moralo-photo-count .moralo-icon-char,
.moralo-card-noimage .moralo-icon-char {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.moralo-summary-icon {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 999px;
	background: rgba(105,152,173,.12);
}
.moralo-summary-copy small {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #7a8795;
}
.moralo-summary-copy strong {
	font-size: 13px;
	color: #203447;
}

.moralo-related-grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(190px, 220px);
	grid-template-columns: none;
	gap: 14px;
	overflow-x: auto;
	padding-bottom: 8px;
	scroll-snap-type: x proximity;
}
.moralo-related-card {
	border: 1px solid var(--moralo-line);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(24,48,66,.08);
	scroll-snap-align: start;
}
.moralo-related-thumb {
	display: block;
	aspect-ratio: 4 / 2.8;
	background: #e8eef3;
}
.moralo-related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.moralo-related-body { padding: 12px; }
.moralo-related-body h3 {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.2;
	min-height: 36px;
}
.moralo-related-body h3 a { color: var(--moralo-ink); text-decoration: none; }
.moralo-related-price {
	margin: 0 0 8px;
	color: var(--moralo-blue);
	font-size: 17px;
	font-weight: 900;
}
.moralo-related-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 800;
	color: var(--moralo-blue);
	text-decoration: none;
}
.moralo-related-link::after { content: '→'; }

.moralo-results-bar { margin-bottom: 14px; }
.moralo-results-bar strong { color: var(--moralo-blue); }

@media (max-width: 1280px) {
	.moralo-container { width: min(1280px, calc(100% - 28px)); }
	.moralo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.moralo-hero-banner { grid-template-columns: 1fr; }
	.moralo-hero-badge { text-align: left; min-width: 0; }
	.moralo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.moralo-container { width: calc(100% - 22px); }
	.moralo-grid { grid-template-columns: 1fr; }
	.moralo-card-actions { flex-direction: column; }
	.moralo-card-actions .moralo-button { width: 100%; }
}


/* ===== 2.0.10 fine tuning ===== */
.moralo-card-nav { display: none !important; }
.moralo-single-hero {
	grid-template-columns: 1fr auto;
	gap: 14px;
	padding: 10px 0 6px;
	margin-bottom: 14px;
}
.moralo-single-title h1 {
	font-size: clamp(26px, 3.2vw, 42px);
	line-height: 1.05;
}
.moralo-price-flag {
	padding: 14px 26px 14px 34px;
	font-size: clamp(24px, 2.8vw, 32px);
}
.moralo-gallery-main {
	aspect-ratio: 16 / 8.7;
	max-height: 520px;
	background: linear-gradient(180deg, #edf3f7 0%, #d7e1e9 100%);
}
.moralo-gallery-main.is-empty {
	aspect-ratio: 16 / 5.8;
	max-height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6f8092;
	font-size: 16px;
	font-weight: 800;
}
.moralo-gallery-main.is-empty span { display: inline-flex; align-items: center; gap: 8px; }
.moralo-related {
	padding-top: 4px;
}
.moralo-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 220px));
	justify-content: center;
	gap: 16px;
	overflow: visible;
	padding-bottom: 0;
}
.moralo-related-card {
	width: 220px;
}
.moralo-related-thumb {
	aspect-ratio: 4 / 2.45;
}
.moralo-related-body h3 {
	font-size: 14px;
	min-height: 34px;
}
.moralo-related-price {
	font-size: 16px;
}
@media (max-width: 960px) {
	.moralo-single-hero { grid-template-columns: 1fr; }
	.moralo-price-flag { justify-self: start; }
	.moralo-gallery-main { aspect-ratio: 16 / 9.5; }
	.moralo-gallery-main.is-empty { aspect-ratio: 16 / 7; max-height: 220px; }
	.moralo-related-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
	.moralo-related-card { width: auto; }
}


/* ===== 2.0.11 visual fixes ===== */
.moralo-card-image::after {
	display: none !important;
}
.moralo-photo-count {
	left: auto !important;
	right: 12px !important;
	bottom: 12px !important;
	top: auto !important;
	transform: none !important;
	padding: 6px 9px !important;
	border-radius: 999px !important;
	background: rgba(9, 23, 39, .76) !important;
	backdrop-filter: blur(2px);
	z-index: 6;
}
.moralo-card-dots {
	left: 14px;
	right: 14px;
	bottom: 6px;
}
.moralo-single-hero {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 4px 0 2px !important;
	margin-bottom: 10px !important;
	align-items: end;
}
.moralo-single-title {
	padding-right: 12px;
}
.moralo-single-title h1 {
	margin-top: 6px;
	font-size: clamp(24px, 3vw, 40px);
}
.moralo-price-flag {
	box-shadow: none !important;
}
.moralo-gallery-main.is-empty {
	aspect-ratio: auto !important;
	height: 180px !important;
	min-height: 180px !important;
	max-height: 180px !important;
	border-radius: 8px;
}
.moralo-gallery-main.is-empty span {
	font-size: 15px;
}
@media (max-width: 960px) {
	.moralo-single-hero {
		grid-template-columns: 1fr;
		align-items: start;
	}
	.moralo-price-flag {
		justify-self: start;
	}
	.moralo-gallery-main.is-empty {
		height: 150px !important;
		min-height: 150px !important;
		max-height: 150px !important;
	}
}


/* ===== 2.0.12 visual fixes ===== */
.moralo-container {
	width: min(1380px, calc(100% - 34px));
}
.moralo-button,
.moralo-card-actions .moralo-button {
	font-size: 17px;
	letter-spacing: 0;
	text-shadow: none !important;
	filter: none !important;
}
.moralo-button:hover,
.moralo-card-actions .moralo-button:hover {
	filter: none !important;
	opacity: 1 !important;
	box-shadow: 0 10px 24px rgba(11,94,168,.18);
	transform: translateY(-1px);
}
.moralo-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
.moralo-card-body {
	padding: 16px 16px 18px;
}
.moralo-card h2 {
	font-size: 18px !important;
	line-height: 1.16 !important;
	min-height: 66px;
}
.moralo-card .moralo-price {
	font-size: 17px;
}
.moralo-card-spec-grid {
	gap: 9px 12px;
}
.moralo-spec-copy small {
	font-size: 11px !important;
	line-height: 1.2;
}
.moralo-spec-copy strong {
	font-size: 15px !important;
	line-height: 1.24;
}
.moralo-card-actions {
	gap: 10px;
}
.moralo-photo-count {
	left: auto !important;
	right: 12px !important;
	bottom: 12px !important;
	top: auto !important;
	transform: none !important;
	padding: 7px 10px !important;
	min-width: auto !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	background: rgba(11, 22, 39, .78) !important;
	color: #fff !important;
	border-radius: 999px !important;
	z-index: 6;
	box-shadow: 0 10px 18px rgba(0,0,0,.18);
}
.moralo-photo-count svg,
.moralo-photo-count img {
	display: none !important;
}
.moralo-card-image::after {
	display: none !important;
}

.moralo-single-hero {
	margin-top: 16px !important;
	margin-bottom: 16px !important;
	padding: 12px 16px !important;
	background: linear-gradient(135deg, rgba(105,152,173,.10), rgba(105,152,173,.05)) !important;
	border: 1px solid rgba(105,152,173,.16) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.moralo-single-title h1 {
	font-size: clamp(28px, 3.3vw, 46px) !important;
	line-height: 1.05 !important;
	margin-top: 6px !important;
}
.moralo-price-flag {
	align-self: center;
}
.moralo-gallery {
	padding: 0;
	background: #fff !important;
}
.moralo-gallery-main {
	aspect-ratio: 16 / 9 !important;
	max-height: 560px;
	min-height: 360px;
	background: #edf3f8;
}
.moralo-gallery-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 240px;
	min-height: 240px;
	max-height: 240px;
	border-radius: 12px;
	background: linear-gradient(180deg, #eef4f8 0%, #e5edf4 100%);
	color: #5f7084;
	font-weight: 800;
	font-style: italic;
}
.moralo-gallery-empty span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.moralo-hero-banner {
	position: relative;
	overflow: hidden;
	grid-template-columns: minmax(0,1.1fr) 260px;
	align-items: center;
	padding: 28px 34px !important;
	background:
		linear-gradient(rgba(20,32,51,.68), rgba(20,32,51,.62)),
		radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 35%),
		linear-gradient(135deg, #7a9cad 0%, #5f8294 100%) !important;
		color: #fff;
	}
.moralo-hero-banner::before,
.moralo-hero-banner::after {
	background: rgba(255,255,255,.08) !important;
}
.moralo-hero-copy {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}
.moralo-kicker {
	background: rgba(255,255,255,.18) !important;
	color: #fff !important;
}
.moralo-archive-head h1 {
	color: #fff !important;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.02;
}
.moralo-archive-head p {
	margin: 14px auto 0;
	max-width: 760px;
	color: rgba(255,255,255,.88) !important;
	font-size: 18px;
}
.moralo-hero-badge {
	background: rgba(255,255,255,.92) !important;
}

.moralo-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 250px));
	justify-content: center;
	gap: 18px;
}
.moralo-related-card {
	max-width: 250px;
}

@media (max-width: 1200px) {
	.moralo-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 960px) {
	.moralo-hero-banner {
		grid-template-columns: 1fr;
	}
	.moralo-hero-badge {
		margin: 0 auto;
		text-align: center;
	}
	.moralo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.moralo-single-hero {
		grid-template-columns: 1fr;
	}
	.moralo-gallery-main {
		min-height: 280px;
	}
}
@media (max-width: 640px) {
	.moralo-container {
		width: min(100%, calc(100% - 20px));
	}
	.moralo-grid {
		grid-template-columns: 1fr;
	}
	.moralo-card h2 {
		font-size: 17px !important;
		min-height: auto;
	}
	.moralo-gallery-empty {
		height: 180px;
		min-height: 180px;
		max-height: 180px;
	}
}


/* ===== 2.0.13 final visual fixes ===== */
.moralo-single-layout > .moralo-gallery.moralo-gallery--empty {
	padding: 18px !important;
	height: auto !important;
	max-height: 270px !important;
	min-height: 0 !important;
	align-self: start !important;
	overflow: hidden;
}
.moralo-gallery.moralo-gallery--empty,
.moralo-gallery.moralo-gallery--empty * {
	aspect-ratio: auto !important;
}
.moralo-gallery.moralo-gallery--empty .moralo-gallery-empty {
	height: 210px !important;
	min-height: 210px !important;
	max-height: 210px !important;
	margin: 0 !important;
	border-radius: 10px;
}
.moralo-gallery.moralo-gallery--empty + .moralo-summary {
	align-self: start;
}

.moralo-grid {
	align-items: stretch !important;
}
.moralo-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.moralo-card-image {
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
}
.moralo-card-body {
	flex: 1 1 auto;
	display: grid !important;
	grid-template-rows: minmax(72px, auto) auto 1fr auto;
	align-content: start;
}
.moralo-card h2 {
	min-height: 72px !important;
	font-size: 17px !important;
	line-height: 1.15 !important;
	margin-bottom: 12px;
}
.moralo-card .moralo-price-row {
	margin-bottom: 10px;
}
.moralo-card-spec-grid {
	min-height: 194px;
	align-content: start;
}
.moralo-card-spec-grid li {
	min-height: 44px;
}
.moralo-spec-copy small {
	font-size: 10px !important;
	letter-spacing: .05em;
}
.moralo-spec-copy strong {
	font-size: 15px !important;
	line-height: 1.22 !important;
}
.moralo-card-actions {
	margin-top: 14px;
}
.moralo-card-actions .moralo-button {
	font-size: 16px !important;
	line-height: 1.1;
	text-shadow: none !important;
	filter: none !important;
	backface-visibility: hidden;
}
.moralo-card-actions .moralo-button:hover {
	text-shadow: none !important;
	filter: none !important;
}

.moralo-hero-banner {
	grid-template-columns: minmax(0,1fr) auto !important;
	align-items: center !important;
}
.moralo-hero-copy {
	margin: 0 auto !important;
	text-align: center !important;
}
.moralo-hero-badge {
	justify-self: end;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px;
	min-width: 0 !important;
	padding: 14px 18px !important;
	white-space: nowrap !important;
	text-align: right !important;
}
.moralo-hero-badge span {
	font-size: 14px;
	font-weight: 700;
	color: var(--moralo-ink);
}
.moralo-hero-badge strong {
	display: inline !important;
	font-size: 20px !important;
	line-height: 1 !important;
	margin: 0 !important;
}

@media (max-width: 960px) {
	.moralo-hero-banner {
		grid-template-columns: 1fr !important;
	}
	.moralo-hero-badge {
		justify-self: center;
		white-space: normal !important;
		text-align: center !important;
	}
	.moralo-card h2 {
		min-height: 64px !important;
	}
}
@media (max-width: 640px) {
	.moralo-single-layout > .moralo-gallery.moralo-gallery--empty {
		max-height: 220px !important;
	}
	.moralo-gallery.moralo-gallery--empty .moralo-gallery-empty {
		height: 170px !important;
		min-height: 170px !important;
		max-height: 170px !important;
	}
}


/* ===== 2.0.14 no-image single fix + badge refine ===== */
.moralo-single-layout--no-gallery {
	grid-template-columns: minmax(0,1fr) !important;
	gap: 0 !important;
}
.moralo-single-layout--no-gallery .moralo-summary {
	max-width: 420px;
	justify-self: end;
}
.moralo-no-photo-note {
	margin: 8px 0 18px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #f2f6fa;
	border: 1px solid #d7e2eb;
	color: #5b6f83;
	font-size: 14px;
	font-weight: 700;
}

.moralo-hero-badge {
	gap: 10px !important;
	padding: 10px 16px !important;
	white-space: nowrap !important;
	border-radius: 18px !important;
}
.moralo-hero-badge span,
.moralo-hero-badge strong {
	display: inline !important;
	margin: 0 !important;
	line-height: 1 !important;
}
.moralo-hero-badge strong {
	font-size: 18px !important;
}

.moralo-card h2 {
	font-size: 18px !important;
	line-height: 1.16 !important;
	min-height: 66px !important;
	max-height: 66px;
	overflow: hidden;
}
.moralo-card-spec-grid {
	min-height: 206px;
}
.moralo-card-spec-grid li {
	min-height: 46px;
}
.moralo-card-actions .moralo-button {
	font-size: 17px !important;
	font-weight: 800 !important;
}
@media (max-width: 960px) {
	.moralo-single-layout--no-gallery .moralo-summary {
		max-width: none;
		justify-self: stretch;
	}
	.moralo-hero-badge {
		white-space: normal !important;
	}
}

/* ===== 2.0.15 single banner compact + finance term select ===== */
.moralo-single-banner {
  margin-bottom: 24px;
  align-items: center;
}
.moralo-single-banner .moralo-hero-copy h1 {
  margin-bottom: 10px;
}
.moralo-single-banner .moralo-hero-copy p {
  max-width: 720px;
}
.moralo-single-banner .moralo-hero-badge {
  min-width: 220px;
}
.moralo-single .moralo-single-layout--no-gallery {
  grid-template-columns: 1fr;
}
.moralo-single .moralo-no-photo-note {
  margin-bottom: 16px;
}
.moralo-finance-grid-simple select.moralo-finance-term {
  width: 100%;
  min-height: 50px;
}
@media (max-width: 900px) {
  .moralo-single-banner {
    padding: 26px 22px;
  }
  .moralo-single-banner .moralo-hero-badge {
    min-width: 0;
    width: 100%;
  }
}

/* ===== 2.0.23 FIX ficha individual: placeholder "Sin imagen" en relacionados =====
   El placeholder .moralo-card-noimage era absoluto, pero en card-related.php
   su contenedor .moralo-related-thumb no estaba posicionado. En fichas individuales,
   los relacionados sin foto podían anclarse al documento y cubrir la parte superior
   como un bloque gigante azul. Este parche solo acota ese placeholder dentro
   de la miniatura de "También te puede interesar". */
.moralo-single .moralo-related-card,
.moralo-single .moralo-related-thumb {
	position: relative !important;
}

.moralo-single .moralo-related-thumb {
	display: block !important;
	overflow: hidden !important;
	isolation: isolate;
}

.moralo-single .moralo-related-thumb .moralo-card-noimage {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	z-index: 1 !important;
	border-radius: 0 !important;
}

.moralo-single .moralo-related-thumb img {
	position: relative !important;
	z-index: 2 !important;
}


/* ===== 2.0.24 FIX ficha individual: fotos de galería a tamaño real =====
   En el bloque histórico 2.0.6 se agrupó por error .moralo-gallery-main img
   y .moralo-gallery-thumbs img con iconos SVG, forzando imágenes a 18x18px.
   Este override final solo afecta a la galería de la ficha individual. */
.moralo-single .moralo-gallery-main img {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.moralo-single .moralo-gallery-thumbs button {
	position: relative !important;
	display: block !important;
	min-height: 76px !important;
}

.moralo-single .moralo-gallery-thumbs img {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: 76px !important;
	min-width: 0 !important;
	min-height: 76px !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 6px !important;
}

@media (max-width: 700px) {
	.moralo-single .moralo-gallery-thumbs img {
		height: 58px !important;
		min-height: 58px !important;
	}
}

/* Moralo Vehiculos 2.0.25 - precio lateral + shortcodes grid/slider */
.moralo-summary-price-box {
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid rgba(11, 94, 168, 0.14);
	border-radius: 16px;
	background: linear-gradient(180deg, #f7fbff 0%, #eef5fb 100%);
	box-shadow: 0 10px 22px rgba(19, 46, 77, 0.06);
}
.moralo-summary-price-box small {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #6f8095;
}
.moralo-summary-price-box strong {
	display: block;
	font-size: clamp(26px, 2.7vw, 34px);
	line-height: 1;
	font-weight: 900;
	color: var(--moralo-blue);
}

.moralo-showcase {
	margin: 24px 0;
}
.moralo-showcase-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}
.moralo-showcase-head h2 {
	margin: 0;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 900;
	color: var(--moralo-ink);
}
.moralo-showcase-grid {
	display: grid;
	grid-template-columns: repeat(var(--moralo-grid-columns, 3), minmax(0, 1fr));
	gap: 22px;
}
.moralo-showcase-cell > * {
	height: 100%;
}
.moralo-showcase--slider {
	position: relative;
}
.moralo-showcase-navs {
	display: flex;
	align-items: center;
	gap: 10px;
}
.moralo-showcase-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(11, 94, 168, 0.18);
	border-radius: 999px;
	background: #ffffff;
	color: var(--moralo-blue);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
	box-shadow: 0 8px 22px rgba(19, 46, 77, 0.08);
}
.moralo-showcase-nav:hover {
	transform: translateY(-1px);
	background: var(--moralo-blue);
	color: #fff;
}
.moralo-showcase-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}
.moralo-showcase-viewport::-webkit-scrollbar {
	display: none;
}
.moralo-showcase-track {
	--moralo-slider-gap: 20px;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--moralo-slider-gap) * (var(--moralo-slider-visible, 4) - 1))) / var(--moralo-slider-visible, 4));
	gap: var(--moralo-slider-gap);
	align-items: stretch;
}
.moralo-showcase-slide {
	height: 100%;
	scroll-snap-align: start;
}
.moralo-showcase-slide > * {
	height: 100%;
}
.moralo-showcase--slider .moralo-related-card,
.moralo-showcase--slider .moralo-card {
	height: 100%;
}

@media (max-width: 1199px) {
	.moralo-showcase-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.moralo-showcase-track {
		grid-auto-columns: calc((100% - (var(--moralo-slider-gap) * 2)) / 3);
	}
}

@media (max-width: 991px) {
	.moralo-showcase-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.moralo-showcase-track {
		grid-auto-columns: calc((100% - var(--moralo-slider-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.moralo-summary-price-box strong {
		font-size: 28px;
	}
	.moralo-showcase-head {
		align-items: flex-start;
		flex-direction: column;
	}
	.moralo-showcase-grid {
		grid-template-columns: 1fr;
	}
	.moralo-showcase-track {
		grid-auto-columns: 88%;
	}
}

/* Moralo Vehiculos 2.0.26 - tarjeta compacta para home + panel de shortcodes */
.moralo-home-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 0;
	box-shadow: none;
	overflow: hidden;
}
.moralo-home-thumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 6.6;
	min-height: 128px;
	background: #f2f4f7;
	overflow: hidden;
	text-decoration: none;
}
.moralo-home-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 0.25s ease;
}
.moralo-home-card:hover .moralo-home-thumb img {
	transform: scale(1.035);
}
.moralo-home-photo-count {
	position: absolute;
	top: 10px;
	left: 10px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 8px;
	border-radius: 4px;
	background: rgba(11, 94, 168, 0.78);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}
.moralo-home-photo-count .moralo-icon-char {
	font-size: 12px;
	line-height: 1;
}
.moralo-home-noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	height: 100%;
	color: #9ca3af;
	font-size: 16px;
	font-weight: 500;
	background: #f1f2f4;
}
.moralo-home-car-shape {
	width: 58%;
	max-width: 230px;
	height: 86px;
	opacity: 0.36;
	background: currentColor;
	clip-path: polygon(8% 62%, 18% 45%, 36% 35%, 55% 35%, 69% 48%, 87% 52%, 94% 63%, 91% 72%, 82% 72%, 78% 61%, 72% 57%, 65% 59%, 61% 72%, 30% 72%, 26% 60%, 20% 56%, 14% 59%, 10% 72%, 5% 72%, 3% 68%);
}
.moralo-home-body {
	padding: 12px 0 0;
}
.moralo-home-title-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: start;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(19, 46, 77, 0.14);
}
.moralo-home-title-row h3 {
	margin: 0;
	font-size: 15px;
	line-height: 1.25;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--moralo-ink);
}
.moralo-home-title-row h3 a {
	color: inherit;
	text-decoration: none;
}
.moralo-home-title-row h3 a:hover {
	color: var(--moralo-blue);
}
.moralo-home-price {
	position: relative;
	margin: 0;
	padding: 10px 10px 10px 18px;
	min-width: 82px;
	text-align: right;
	background: #1682e3;
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}
.moralo-home-price::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 0;
	border-top: 32px solid #1682e3;
	border-left: 12px solid transparent;
}
.moralo-home-specs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 12px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	color: #7a7f87;
	font-size: 12px;
	line-height: 1.2;
}
.moralo-home-specs li {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
}
.moralo-home-specs li::before {
	content: '▸';
	font-size: 9px;
	color: #8b929b;
}
.moralo-showcase--home-compact,
.moralo-showcase .moralo-home-card {
	--moralo-home-card: 1;
}
.moralo-showcase--slider .moralo-home-card .moralo-home-thumb {
	aspect-ratio: 16 / 7.2;
}

.moralo-shortcode-admin-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 12px;
}
.moralo-shortcode-admin-card {
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	background: #fff;
}
.moralo-shortcode-admin-card h3 {
	margin: 0 0 8px;
}
.moralo-shortcode-admin-card p {
	margin: 0 0 10px;
	color: #646970;
}
.moralo-shortcode-admin-card code {
	display: block;
	padding: 10px 12px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #f6f7f7;
	white-space: normal;
	word-break: break-word;
	font-size: 12px;
}
.moralo-shortcode-admin-card .button {
	margin-top: 10px;
}
@media (max-width: 991px) {
	.moralo-shortcode-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.moralo-home-title-row { grid-template-columns: 1fr; }
	.moralo-home-price { width: fit-content; }
	.moralo-home-thumb { min-height: 170px; }
}

/* ===== 2.0.31 vehículos nuevos + cintas de estado ===== */
.moralo-card-vendido .moralo-card-media::after {
	content: none !important;
	display: none !important;
}
.moralo-card-media,
.moralo-card-image,
.moralo-related-thumb,
.moralo-home-thumb,
.moralo-gallery-main {
	position: relative;
	overflow: hidden;
}
.moralo-status-ribbon {
	position: absolute;
	top: 18px;
	left: -42px;
	z-index: 8;
	display: block;
	width: 155px;
	padding: 7px 0;
	transform: rotate(-45deg);
	text-align: center;
	background: #2f9d6a;
	color: #fff !important;
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 10px 20px rgba(0,0,0,.20);
	pointer-events: none;
}
.moralo-status-ribbon-reservado {
	background: #d48a00;
}
.moralo-status-ribbon-vendido {
	background: #e4572e;
}
.moralo-status-ribbon-disponible {
	background: #2f9d6a;
}
.moralo-status-ribbon-small {
	top: 15px;
	left: -44px;
	width: 145px;
	padding: 6px 0;
	font-size: 10px;
}
.moralo-vehicle-type-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 8px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(105,152,173,.12);
	color: var(--moralo-blue, #6998AD);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .05em;
	line-height: 1;
	text-transform: uppercase;
}
.moralo-vehicle-type-badge-home {
	margin-bottom: 6px;
	font-size: 10px;
}
.moralo-field-name-tipo_vehiculo select {
	font-weight: 800;
}
@media (max-width: 640px) {
	.moralo-status-ribbon {
		top: 16px;
		left: -46px;
		width: 150px;
		font-size: 10px;
	}
}


/* ===== 2.0.32 vehicle types + premium banners + contact form ===== */
.moralo-hero-banner,
.moralo-single-banner {
	background:
		linear-gradient(135deg, rgba(20, 34, 50, .92), rgba(60, 91, 109, .86)),
		radial-gradient(circle at 14% 88%, rgba(255,255,255,.16), transparent 18%),
		radial-gradient(circle at 92% 10%, rgba(255,255,255,.14), transparent 20%),
		linear-gradient(135deg, #31485a 0%, #6998AD 100%) !important;
	color: #fff !important;
	box-shadow: 0 18px 48px rgba(22, 42, 58, .16);
}
.moralo-hero-banner h1,
.moralo-single-banner h1,
.moralo-archive-head h1 {
	color: #fff !important;
	text-shadow: 0 2px 18px rgba(0,0,0,.22);
}
.moralo-single-banner h1 {
	font-style: normal !important;
	font-weight: 900 !important;
}
.moralo-hero-banner p,
.moralo-single-banner p,
.moralo-archive-head p {
	color: rgba(255,255,255,.92) !important;
}
.moralo-hero-badge {
	background: rgba(255,255,255,.94) !important;
	color: #19364a !important;
}
.moralo-hero-badge strong {
	color: var(--moralo-blue) !important;
}
.moralo-archive-head .moralo-hero-badge strong {
	font-size: 16px !important;
}
.moralo-archive-head .moralo-hero-badge {
	max-width: 430px;
	white-space: normal !important;
	text-align: right !important;
}
.moralo-help-box {
	background:
		linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}
.moralo-contact-quick-actions {
	margin-bottom: 18px;
}
.moralo-contact-form {
	display: grid;
	gap: 12px;
	margin-top: 12px;
}
.moralo-contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.moralo-contact-form label {
	display: grid;
	gap: 6px;
	font-size: 13px;
	font-weight: 800;
	color: var(--moralo-ink);
}
.moralo-contact-form input,
.moralo-contact-form textarea {
	width: 100%;
	border: 1px solid var(--moralo-line);
	border-radius: 10px;
	padding: 11px 12px;
	font: inherit;
	font-weight: 700;
	background: #fff;
}
.moralo-contact-form textarea {
	resize: vertical;
	min-height: 105px;
}
.moralo-privacy-check {
	display: flex !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}
.moralo-privacy-check input {
	width: auto;
	min-height: 0;
}
.moralo-contact-submit {
	justify-content: center;
	width: 100%;
	min-height: 48px;
}
.moralo-contact-message {
	margin: 8px 0 14px;
	padding: 12px 14px;
	border-radius: 10px;
	font-weight: 800;
}
.moralo-contact-message-ok {
	background: #e9f8ef;
	color: #166534;
	border: 1px solid #bfe8ca;
}
.moralo-contact-message-error {
	background: #fff1f2;
	color: #9f1239;
	border: 1px solid #fecdd3;
}
@media (max-width: 760px) {
	.moralo-contact-grid {
		grid-template-columns: 1fr;
	}
	.moralo-archive-head .moralo-hero-badge {
		text-align: center !important;
	}
}


/* ===== 2.0.33 external contact form integration ===== */
.moralo-external-contact-form {
	margin-top: 18px;
}
.moralo-external-contact-form form {
	margin: 0;
}
.moralo-external-contact-form input,
.moralo-external-contact-form select,
.moralo-external-contact-form textarea {
	max-width: 100%;
}


/* ===== 2.0.34 Fluent Forms visual integration in vehicle ficha ===== */
.moralo-vehiculos .moralo-external-contact-form {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(105, 152, 173, .22);
}
.moralo-vehiculos .moralo-external-contact-form .fluentform,
.moralo-vehiculos .moralo-external-contact-form .frm-fluent-form,
.moralo-vehiculos .moralo-external-contact-form form {
	margin: 0 !important;
	font-family: inherit !important;
	color: var(--moralo-ink, #183042) !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-group,
.moralo-vehiculos .moralo-external-contact-form .ff-t-container,
.moralo-vehiculos .moralo-external-contact-form .ff-column-container {
	margin-bottom: 14px !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-t-container,
.moralo-vehiculos .moralo-external-contact-form .ff-column-container,
.moralo-vehiculos .moralo-external-contact-form .ff_columns_total_2 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-t-cell,
.moralo-vehiculos .moralo-external-contact-form .ff-column {
	width: auto !important;
	padding: 0 !important;
}
.moralo-vehiculos .moralo-external-contact-form label,
.moralo-vehiculos .moralo-external-contact-form .ff-el-input--label,
.moralo-vehiculos .moralo-external-contact-form .ff-el-input--label label,
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-check-label,
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-check-label span,
.moralo-vehiculos .moralo-external-contact-form .ff_t_c {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--moralo-ink, #183042) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	text-shadow: none !important;
	box-shadow: none !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-input--label {
	margin-bottom: 6px !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-control,
.moralo-vehiculos .moralo-external-contact-form input[type="text"],
.moralo-vehiculos .moralo-external-contact-form input[type="email"],
.moralo-vehiculos .moralo-external-contact-form input[type="tel"],
.moralo-vehiculos .moralo-external-contact-form textarea,
.moralo-vehiculos .moralo-external-contact-form select {
	width: 100% !important;
	min-height: 48px !important;
	border: 1px solid var(--moralo-line, #d5e0e7) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	background: #fff !important;
	background-color: #fff !important;
	color: var(--moralo-ink, #183042) !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-text-fill-color: var(--moralo-ink, #183042) !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-control:focus,
.moralo-vehiculos .moralo-external-contact-form input:focus,
.moralo-vehiculos .moralo-external-contact-form textarea:focus,
.moralo-vehiculos .moralo-external-contact-form select:focus {
	border-color: var(--moralo-blue, #6998AD) !important;
	box-shadow: 0 0 0 3px rgba(105, 152, 173, .18) !important;
}
.moralo-vehiculos .moralo-external-contact-form textarea,
.moralo-vehiculos .moralo-external-contact-form textarea.ff-el-form-control {
	min-height: 120px !important;
	resize: vertical !important;
}
.moralo-vehiculos .moralo-external-contact-form ::placeholder {
	color: #8797a7 !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #8797a7 !important;
}
.moralo-vehiculos .moralo-external-contact-form input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	min-height: 17px !important;
	padding: 0 !important;
	margin: 0 8px 0 0 !important;
	accent-color: var(--moralo-blue, #6998AD);
	box-shadow: none !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-check,
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-check-label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 6px !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-form-check-label a,
.moralo-vehiculos .moralo-external-contact-form a {
	color: #d93b63 !important;
	font-weight: 800 !important;
	text-decoration: underline;
}
.moralo-vehiculos .moralo-external-contact-form .ff-btn-submit,
.moralo-vehiculos .moralo-external-contact-form button[type="submit"],
.moralo-vehiculos .moralo-external-contact-form input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 150px !important;
	min-height: 48px !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 13px 30px !important;
	background: var(--moralo-blue, #6998AD) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-shadow: none !important;
	box-shadow: 0 10px 24px rgba(105, 152, 173, .22) !important;
	cursor: pointer !important;
	-webkit-text-fill-color: #fff !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff_submit_btn_wrapper,
.moralo-vehiculos .moralo-external-contact-form .ff_submit_btn_wrapper_custom {
	margin-top: 10px !important;
	text-align: right !important;
}
.moralo-vehiculos .moralo-external-contact-form .ff-el-section-break,
.moralo-vehiculos .moralo-external-contact-form .ff-el-section-title,
.moralo-vehiculos .moralo-external-contact-form .ff-el-section-title h3,
.moralo-vehiculos .moralo-external-contact-form .ff-el-section-break p {
	color: var(--moralo-ink, #183042) !important;
	background: transparent !important;
	text-shadow: none !important;
}
.moralo-vehiculos .moralo-external-contact-form .error,
.moralo-vehiculos .moralo-external-contact-form .ff-el-is-error .text-danger,
.moralo-vehiculos .moralo-external-contact-form .ff-el-is-error label {
	color: #b4233c !important;
}
@media (max-width: 760px) {
	.moralo-vehiculos .moralo-external-contact-form .ff-t-container,
	.moralo-vehiculos .moralo-external-contact-form .ff-column-container,
	.moralo-vehiculos .moralo-external-contact-form .ff_columns_total_2 {
		grid-template-columns: 1fr !important;
	}
	.moralo-vehiculos .moralo-external-contact-form .ff_submit_btn_wrapper,
	.moralo-vehiculos .moralo-external-contact-form .ff_submit_btn_wrapper_custom {
		text-align: stretch !important;
	}
	.moralo-vehiculos .moralo-external-contact-form .ff-btn-submit,
	.moralo-vehiculos .moralo-external-contact-form button[type="submit"],
	.moralo-vehiculos .moralo-external-contact-form input[type="submit"] {
		width: 100% !important;
	}
}
