/* TD Car Manager – sicher gekapselte Designwerte.
 * Diese Datei verändert ausschließlich Darstellungseigenschaften innerhalb
 * der Plugin-Container. Das Grundlayout bleibt in frontend.css definiert.
 */
.tcm-inventory,
.tcm-single-vehicle-page,
.tcm-inquiry-modal {
	font-family: var(--tcm-fe-font);
	font-size: var(--tcm-fe-base-size);
	line-height: var(--tcm-fe-line-height);
	color: var(--tcm-fe-text);
}

/* Fahrzeugübersicht */
.tcm-inventory {
	background: var(--tcm-fe-inventory-bg);
}
.tcm-inventory .tcm-inventory-title {
	font-size: var(--tcm-fe-heading-size);
	font-weight: var(--tcm-fe-heading-weight);
	color: var(--tcm-fe-inventory-heading);
}
.tcm-inventory .tcm-inventory-kicker,
.tcm-inventory .tcm-inventory-count {
	color: var(--tcm-fe-inventory-muted);
}
.tcm-inventory .tcm-inventory-filters {
	background: var(--tcm-fe-filter-bg);
	border-color: var(--tcm-fe-filter-border);
	border-radius: var(--tcm-fe-card-radius);
	box-shadow: var(--tcm-fe-shadow);
	padding: var(--tcm-fe-card-padding);
}
.tcm-inventory .tcm-inventory-filters input,
.tcm-inventory .tcm-inventory-filters select {
	background: var(--tcm-fe-input-bg);
	border-color: var(--tcm-fe-input-border);
	border-radius: var(--tcm-fe-input-radius);
	color: var(--tcm-fe-text);
}
.tcm-inventory .tcm-inventory-filters input:focus,
.tcm-inventory .tcm-inventory-filters select:focus {
	border-color: var(--tcm-fe-input-focus);
}
.tcm-inventory .tcm-vehicle-grid {
	gap: var(--tcm-fe-inventory-grid-gap);
}
.tcm-inventory .tcm-vehicle-card {
	background: var(--tcm-fe-inventory-card-bg);
	border-color: var(--tcm-fe-inventory-card-border);
	border-radius: var(--tcm-fe-inventory-card-radius);
	box-shadow: var(--tcm-fe-inventory-card-shadow);
}
.tcm-inventory .tcm-vehicle-card-image {
	height: var(--tcm-fe-inventory-image-height);
}
.tcm-inventory .tcm-vehicle-card-image,
.tcm-inventory .tcm-vehicle-card-image-link,
.tcm-inventory .tcm-vehicle-card-image img {
	border-radius: var(--tcm-fe-inventory-image-radius);
}
.tcm-inventory .tcm-vehicle-card-content {
	padding: var(--tcm-fe-inventory-content-padding);
}
.tcm-inventory .tcm-vehicle-card-title,
.tcm-inventory .tcm-vehicle-card-title a {
	font-size: var(--tcm-fe-inventory-title-size);
	color: var(--tcm-fe-inventory-card-title);
}
.tcm-inventory .tcm-vehicle-card-name {
	min-height: var(--tcm-fe-inventory-title-height);
}
.tcm-inventory .tcm-vehicle-card-price {
	font-size: var(--tcm-fe-inventory-price-size);
	color: var(--tcm-fe-inventory-card-price);
}
.tcm-inventory .tcm-vehicle-card-subtitle,
.tcm-inventory .tcm-vehicle-card-vat {
	color: var(--tcm-fe-inventory-card-subtitle);
}
.tcm-inventory .tcm-vehicle-card-data-item {
	min-height: var(--tcm-fe-inventory-data-height);
	background: var(--tcm-fe-inventory-data-bg);
	border-color: var(--tcm-fe-inventory-data-border);
	border-radius: var(--tcm-fe-inventory-data-radius);
	color: var(--tcm-fe-inventory-data-text);
	font-size: var(--tcm-fe-inventory-data-text-size);
}
.tcm-inventory .tcm-vehicle-card-data-icon {
	font-size: var(--tcm-fe-inventory-data-icon-size);
	color: var(--tcm-fe-inventory-icon);
}
.tcm-inventory .tcm-card-badges .tcm-vehicle-status,
.tcm-inventory .tcm-card-image-count {
	background: var(--tcm-fe-inventory-badge-bg);
	color: var(--tcm-fe-inventory-badge-text);
}
.tcm-inventory .tcm-vehicle-card-button {
	min-height: var(--tcm-fe-inventory-button-height);
	background: var(--tcm-fe-inventory-button-bg);
	color: var(--tcm-fe-inventory-button-text);
	border-radius: var(--tcm-fe-button-radius);
	font-size: var(--tcm-fe-button-size);
	font-weight: var(--tcm-fe-button-weight);
}
.tcm-inventory .tcm-vehicle-card-button:hover,
.tcm-inventory .tcm-vehicle-card-button:focus-visible {
	background: var(--tcm-fe-inventory-button-hover);
	color: var(--tcm-fe-inventory-button-text);
}

/* Fahrzeugdetailseite */
.tcm-single-vehicle-page {
	background: var(--tcm-fe-page-bg);
	color: var(--tcm-fe-text);
}
.tcm-single-vehicle-page .tcm-price-car-title {
	font-size: var(--tcm-fe-heading-size);
	font-weight: var(--tcm-fe-heading-weight);
	color: var(--tcm-fe-price-card-title);
}
/* Eine zentrale Regel für eigenständige Bereichsüberschriften der Detailseite.
 * Accordion-Titel werden separat über --tcm-fe-accordion-title gesteuert.
 */
.tcm-single-vehicle-page :is(
	.tcm-section-head h2,
	.tcm-description-card > h2,
	.tcm-details-section > h2,
	.tcm-equipment-section > h2,
	.tcm-similar-section > h2
) {
	font-size: var(--tcm-fe-detail-section-size);
	font-weight: var(--tcm-fe-detail-section-weight);
	line-height: var(--tcm-fe-detail-section-line-height);
	margin-bottom: var(--tcm-fe-detail-section-margin-bottom);
	color: var(--tcm-fe-detail-section-heading);
}
.tcm-single-vehicle-page .tcm-hero-price {
	background: var(--tcm-fe-price-card-bg);
	border-color: var(--tcm-fe-price-card-border);
	border-radius: var(--tcm-fe-price-card-radius);
	padding: var(--tcm-fe-price-card-padding);
	box-shadow: var(--tcm-fe-price-card-shadow);
	color: var(--tcm-fe-price-card-text);
}
.tcm-single-vehicle-page .tcm-price-label { color: var(--tcm-fe-price-card-label); }
.tcm-single-vehicle-page .tcm-price { color: var(--tcm-fe-price-area-text); }
.tcm-single-vehicle-page .tcm-price-note { color: var(--tcm-fe-price-note); }
.tcm-single-vehicle-page .tcm-price-benefit { color: var(--tcm-fe-price-benefit); }
.tcm-single-vehicle-page .tcm-price-benefit::before { color: var(--tcm-fe-price-check); }
.tcm-single-vehicle-page .tcm-price-divider { border-color: var(--tcm-fe-price-divider); }
.tcm-single-vehicle-page .tcm-offer-fact {
	background: var(--tcm-fe-price-tile-bg);
	border-color: var(--tcm-fe-price-tile-border);
	border-radius: var(--tcm-fe-price-tile-radius);
}
.tcm-single-vehicle-page .tcm-offer-fact-icon { color: var(--tcm-fe-price-tile-icon); }
.tcm-single-vehicle-page .tcm-offer-fact-label { color: var(--tcm-fe-price-tile-label); }
.tcm-single-vehicle-page .tcm-offer-fact-value { color: var(--tcm-fe-price-tile-value); }
.tcm-single-vehicle-page .tcm-price-btn,
.tcm-single-vehicle-page .tcm-inquiry-open {
	min-height: var(--tcm-fe-button-height);
	background: var(--tcm-fe-price-primary-bg);
	color: var(--tcm-fe-price-primary-text);
	border-radius: var(--tcm-fe-button-radius);
	font-size: var(--tcm-fe-button-size);
	font-weight: var(--tcm-fe-button-weight);
}
.tcm-single-vehicle-page .tcm-price-btn:hover,
.tcm-single-vehicle-page .tcm-inquiry-open:hover {
	background: var(--tcm-fe-price-primary-hover);
}
.tcm-single-vehicle-page .tcm-expose-button {
	background: var(--tcm-fe-price-secondary-bg);
	color: var(--tcm-fe-price-secondary-text);
	border-color: var(--tcm-fe-price-secondary-border);
	border-radius: var(--tcm-fe-button-radius);
}
.tcm-single-vehicle-page .tcm-seller-card {
	background: var(--tcm-fe-contact-card-bg);
	border-color: var(--tcm-fe-contact-card-border);
	border-radius: var(--tcm-fe-contact-card-radius);
	padding: var(--tcm-fe-contact-card-padding);
}
.tcm-single-vehicle-page .tcm-seller-card-kicker { color: var(--tcm-fe-contact-kicker); }
.tcm-single-vehicle-page .tcm-seller-card .tcm-contact-name { color: var(--tcm-fe-contact-name); }
.tcm-single-vehicle-page .tcm-seller-card .tcm-contact-position { color: var(--tcm-fe-contact-position); }
.tcm-single-vehicle-page .tcm-seller-card .tcm-contact-link {
	min-height: var(--tcm-fe-contact-button-height);
	background: var(--tcm-fe-contact-button-bg);
	border-color: var(--tcm-fe-contact-button-border);
	border-radius: var(--tcm-fe-contact-button-radius);
	color: var(--tcm-fe-contact-button-text);
}
.tcm-single-vehicle-page .tcm-collapse-card {
	background: var(--tcm-fe-accordion-bg);
	border-color: var(--tcm-fe-accordion-border);
	border-radius: var(--tcm-fe-accordion-radius);
}
.tcm-single-vehicle-page .tcm-collapse-toggle {
	padding: var(--tcm-fe-accordion-padding);
	color: var(--tcm-fe-accordion-title);
}
.tcm-single-vehicle-page .tcm-collapse-inner {
	background: var(--tcm-fe-accordion-content-bg);
}
.tcm-single-vehicle-page .tcm-details-section,
.tcm-single-vehicle-page .tcm-equipment-section,
.tcm-single-vehicle-page .tcm-description-section,
.tcm-single-vehicle-page .tcm-similar-section {
	margin-top: var(--tcm-fe-section-space);
}

/* Anfrageformular */
.tcm-inquiry-modal .tcm-inquiry-dialog {
	background: var(--tcm-fe-card-bg);
	border-color: var(--tcm-fe-border);
	border-radius: var(--tcm-fe-card-radius);
	box-shadow: var(--tcm-fe-shadow);
	padding: var(--tcm-fe-card-padding);
}
.tcm-inquiry-modal input,
.tcm-inquiry-modal select,
.tcm-inquiry-modal textarea {
	background: var(--tcm-fe-input-bg);
	border-color: var(--tcm-fe-input-border);
	border-radius: var(--tcm-fe-input-radius);
	color: var(--tcm-fe-text);
}

/* Fahrzeugbeschreibung – separat im Designmanager steuerbar */
.tcm-single-vehicle-page .tcm-description-section .tcm-collapse-inner,
.tcm-single-vehicle-page .tcm-description-card {
	background: var(--tcm-fe-description-bg) !important;
}
.tcm-single-vehicle-page .tcm-description-section .tcm-collapse-inner,
.tcm-single-vehicle-page .tcm-description-section .tcm-collapse-inner p,
.tcm-single-vehicle-page .tcm-description-section .tcm-collapse-inner li,
.tcm-single-vehicle-page .tcm-description-prose,
.tcm-single-vehicle-page .tcm-description-prose p,
.tcm-single-vehicle-page .tcm-description-prose li {
	color: var(--tcm-fe-description-text) !important;
	font-size: var(--tcm-fe-description-size) !important;
	line-height: var(--tcm-fe-description-line-height) !important;
}
.tcm-single-vehicle-page .tcm-description-section .tcm-collapse-inner,
.tcm-single-vehicle-page .tcm-description-card {
	padding: var(--tcm-fe-description-padding) !important;
}
.tcm-single-vehicle-page .tcm-description-prose h1,
.tcm-single-vehicle-page .tcm-description-prose h2,
.tcm-single-vehicle-page .tcm-description-prose h3,
.tcm-single-vehicle-page .tcm-description-prose h4,
.tcm-single-vehicle-page .tcm-description-prose h5,
.tcm-single-vehicle-page .tcm-description-prose h6,
.tcm-single-vehicle-page .tcm-description-prose strong {
	color: var(--tcm-fe-description-heading) !important;
}
.tcm-single-vehicle-page .tcm-description-prose a {
	color: var(--tcm-fe-description-link) !important;
}

/* ==========================================================
   Accordion-Inhalte – mehr Abstand zwischen Überschrift und Kacheln
   ========================================================== */
.tcm-single-vehicle-page .tcm-collapse-card .tcm-collapse-inner {
	padding-top: 24px;
	padding-right: 24px;
	padding-bottom: 28px;
	padding-left: 24px;
}

@media (max-width: 980px) {
	.tcm-single-vehicle-page .tcm-collapse-card .tcm-collapse-inner {
		padding-top: 22px;
		padding-right: 20px;
		padding-bottom: 24px;
		padding-left: 20px;
	}
}

@media (max-width: 767px) {
	.tcm-single-vehicle-page .tcm-collapse-card .tcm-collapse-inner {
		padding-top: 18px;
		padding-right: 16px;
		padding-bottom: 20px;
		padding-left: 16px;
	}
}


/* Verfügbar-Badge bewusst vom allgemeinen Status-Farbschema trennen. */
.tcm-inventory .tcm-card-badges .tcm-vehicle-status-available {
	background: rgba(255,255,255,.82) !important;
	color: #020f26 !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* Ausstattung: zentral steuerbarer Hover-Zustand */
body.single-fahrzeug .tcm-single-vehicle-page .tcm-equipment-item:hover {
	background: var(--tcm-fe-equipment-hover-bg) !important;
	border-color: var(--tcm-fe-equipment-hover-border) !important;
	color: var(--tcm-fe-equipment-hover-text) !important;
}
body.single-fahrzeug .tcm-single-vehicle-page .tcm-equipment-item:hover .tcm-equipment-check,
body.single-fahrzeug .tcm-single-vehicle-page .tcm-equipment-item:hover .tcm-equipment-check svg,
body.single-fahrzeug .tcm-single-vehicle-page .tcm-equipment-item:hover .tcm-equipment-check i {
	color: var(--tcm-fe-equipment-hover-icon) !important;
	fill: currentColor;
}
