/* FE-Schrift (GL-Nummernschild) – frei, auch kommerziell nutzbar. */
@font-face {
	font-family: 'GL-Nummernschild-Mtl';
	src: url('../fonts/GL-Nummernschild-Mtl.woff2') format('woff2'),
	     url('../fonts/GL-Nummernschild-Mtl.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'GL-Nummernschild-Eng';
	src: url('../fonts/GL-Nummernschild-Eng.woff2') format('woff2'),
	     url('../fonts/GL-Nummernschild-Eng.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.kfz-konfigurator {
	max-width: 760px;
	margin: 0 auto;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: #1a1a1a;
}

.kfz-vorschau {
	background: repeating-linear-gradient(45deg, #f3f3f3, #f3f3f3 10px, #ececec 10px, #ececec 20px);
	border-radius: 10px;
	padding: 22px;
	display: flex;
	justify-content: center;
	margin-bottom: 18px;
}
.kfz-svg-wrap { width: 100%; max-width: 560px; text-align: center; }
.kfz-svg { display: block; width: 100%; height: auto; margin: 0 auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,.25)); }
/* Viereckige (zweizeilige) Schilder kompakter darstellen – sonst auf dem Handy zu groß. */
.kfz-svg.kfz-svg--zweizeilig { width: 75%; }

.kfz-form { display: flex; flex-direction: column; gap: 14px; }
.kfz-row { display: flex; flex-wrap: wrap; gap: 12px; }
.kfz-row[hidden] { display: none; }
.kfz-row > label { flex: 1 1 140px; display: flex; flex-direction: column; font-size: 13px; font-weight: 600; gap: 4px; }
.kfz-form select,
.kfz-form input[type="text"],
.kfz-form input[type="number"] {
	padding: 9px 10px;
	border: 1px solid #ccc;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 400;
}
.kfz-form input.kfz-ort,
.kfz-form input.kfz-buchstaben,
.kfz-form input.kfz-ziffern { text-transform: uppercase; letter-spacing: 1px; }

.kfz-optionen { border: 1px solid #e2e2e2; border-radius: 8px; padding: 10px 12px; }
.kfz-optionen legend { font-size: 13px; font-weight: 700; padding: 0 6px; }
.kfz-optionen label { display: inline-flex; align-items: center; gap: 6px; margin-right: 16px; font-size: 14px; font-weight: 500; }

.kfz-footer { align-items: flex-end; }
.kfz-preis { margin-left: auto; text-align: right; }
.kfz-preis-betrag { font-size: 24px; font-weight: 800; display: block; }
.kfz-preis small { color: #666; }

.kfz-add-to-cart {
	background: #1c7a34;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.kfz-add-to-cart:disabled { background: #9bbfa6; opacity: .6; cursor: not-allowed; }
.kfz-add-to-cart:not(:disabled):hover { background: #166128; }

.kfz-info { font-size: 12px; color: #666; margin: 2px 0 0; }

/* Pop-up (Modal) bei automatischer Kürzung */
.kfz-modal { position: fixed; inset: 0; background: rgba(15,23,42,.55); display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 20px; }
.kfz-modal[hidden] { display: none; }
.kfz-modal__box { background: #fff; max-width: 420px; width: 100%; border-radius: 14px; padding: 26px 24px 22px; text-align: center; box-shadow: 0 18px 50px rgba(0,0,0,.35); animation: kfzPop .18s ease-out; }
@keyframes kfzPop { from { transform: scale(.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.kfz-modal__icon { width: 54px; height: 54px; line-height: 54px; margin: 0 auto 12px; border-radius: 50%; background: #fde68a; color: #92400e; font-size: 30px; font-weight: 800; }
.kfz-modal__title { margin: 0 0 8px; font-size: 18px; color: #1a1a1a; }
.kfz-modal__text { margin: 0 0 18px; font-size: 14px; color: #444; line-height: 1.5; }
.kfz-modal__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 0; }
.kfz-modal__cta { display: inline-block; background: #1c7a34; color: #fff; text-decoration: none; border-radius: 8px; padding: 11px 22px; font-size: 15px; font-weight: 700; cursor: pointer; }
/* Weiße Schrift in allen Link-Zuständen erzwingen – schlägt Theme-Link-Farben (sonst schwarze Schrift auf grünem Grund). */
.kfz-modal a.kfz-modal__cta,
.kfz-modal a.kfz-modal__cta:link,
.kfz-modal a.kfz-modal__cta:visited,
.kfz-modal a.kfz-modal__cta:hover,
.kfz-modal a.kfz-modal__cta:focus,
.kfz-modal a.kfz-modal__cta:active { color: #fff !important; text-decoration: none; }
.kfz-modal__cta:hover { background: #166128; }
.kfz-modal__cta[hidden] { display: none; }
.kfz-modal__ok { background: #e5e7eb; color: #1a1a1a; border: 0; border-radius: 8px; padding: 11px 26px; font-size: 15px; font-weight: 700; cursor: pointer; }
.kfz-modal__ok:hover { background: #d1d5db; }
/* Warn-Variante: OK-Button grün (einziger Button) */
.kfz-modal__box:not(.kfz-modal__box--success) .kfz-modal__ok { background: #1c7a34; color: #fff; }
.kfz-modal__box:not(.kfz-modal__box--success) .kfz-modal__ok:hover { background: #166128; }
/* Erfolgs-Variante: grünes Icon */
.kfz-modal__box--success .kfz-modal__icon { background: #d1fae5; color: #065f46; }
.kfz-hinweis { min-height: 20px; font-size: 13px; color: #b00020; }
.kfz-hinweis.kfz-hinweis--info { color: #555; }
.kfz-hinweis a { color: #1c7a34; font-weight: 700; margin-left: 6px; }

/* Preisübersicht unterhalb des Konfigurators (statische Referenztabelle). */
.kfz-preisliste{margin-top:28px;border-top:1px solid #e2e2e2;padding-top:20px;}
.kfz-preisliste h2{font-size:16px;margin:0 0 4px;}
.kfz-preisliste__hinweis{font-size:12px;color:#666;margin:0 0 16px;}
.kfz-preisliste__gruppen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.kfz-preisliste__karte{border:1px solid #e2e2e2;border-radius:10px;padding:14px 16px;}
.kfz-preisliste__karte h3{font-size:13px;margin:0 0 10px;color:#1a1a1a;text-transform:uppercase;letter-spacing:.03em;}
.kfz-preisliste__zeile{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:14px;padding:6px 0;border-bottom:1px solid #f0f0f0;}
.kfz-preisliste__zeile:last-child{border-bottom:0;}
.kfz-preisliste__label{color:#333;}
.kfz-preisliste__label small{display:block;color:#888;font-size:11px;margin-top:1px;}
.kfz-preisliste__preis{font-weight:700;white-space:nowrap;}
@media (max-width:480px){.kfz-preisliste__gruppen{grid-template-columns:1fr;}}
