/* NK Core – Produktseite (Design: docs/Desktop.pdf). Farben/Schrift aus dem Elementor Kit. */

.nk-block {
	font-size: 18px;
	line-height: 1.45;
	--nk-black: var(--e-global-color-primary, #010101);
	--nk-red: var(--e-global-color-secondary, #ff0000);
	--nk-grey: var(--e-global-color-138eb51, #f4f4f4);
	--nk-line: #d9d9d9;
	margin: 0 0 2.2em;
	font-family: var(--e-global-typography-text-font-family, "Quicksand"), sans-serif;
	color: var(--nk-black);
}
.nk-block p { margin: 0 0 .6em; }
.nk-block__title {
	font-family: var(--e-global-typography-primary-font-family, "Quicksand"), sans-serif;
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 .5em;
	line-height: 1.4;
}
.nk-block__subtitle { font-size: 16px; font-weight: 600; margin: 1.4em 0 .5em; }

/* Buttons */
.nk-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.nk-btn {
	display: inline-block;
	padding: .55em 1em;
	border: 2px solid var(--nk-black);
	border-radius: 8px;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.nk-btn--primary { background: var(--nk-black); color: #fff; }
.nk-btn--primary:hover, .nk-btn--primary:focus { background: var(--nk-red); border-color: var(--nk-red); color: #fff !important; } /* globale Regel a:hover{color:…!important} überstimmen */
.nk-btn--outline { background: #fff; color: var(--nk-black); border-color: var(--nk-line); }
.nk-btn--outline:hover, .nk-btn--outline:focus { border-color: var(--nk-black); color: var(--nk-black) !important; }

/* Datenblatt */
.nk-datenblatt a { display: inline-flex; align-items: center; gap: .6em; color: var(--nk-black); font-weight: 500; font-size: 18px; text-decoration: none; }
.nk-datenblatt a:hover span { text-decoration: underline; }

/* Tabellen */
.nk-table-wrap { overflow-x: auto; margin: 0 0 1em; }
.nk-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.nk-table th { background: var(--nk-black); color: #fff; font-weight: 600; font-size: 18px; padding: .55em .8em; text-align: center; border: 1px solid #fff; }
.nk-table td { padding: .5em .8em; text-align: center; border: 1px solid var(--nk-line); }
.nk-table tbody tr:nth-child(odd) td { background: var(--nk-grey); }
.nk-table--mass { font-size: 14px; white-space: nowrap; }
.nk-table--mass th { font-size: 14px; }
.nk-hinweis { font-size: 15px; color: #555; }
.nk-masszeichnung { margin: 0 0 1em; }
.nk-masszeichnung img { max-width: 100%; height: auto; }

/* Verbindungen */
.nk-verbindungen__liste { list-style: none; margin: 0 0 .6em; padding: 0; }
.nk-verbindungen__liste li { margin: 0 0 .3em; }
.nk-verbindungen a { color: var(--nk-red); text-decoration: underline; }
.nk-verbindungen__gruppe { margin: 0 0 .6em; }
.nk-verbindungen__gruppe summary { cursor: pointer; }
.nk-verbindungen__gruppe p { margin: .5em 0 0 1em; line-height: 1.9; }
.nk-grundprodukt { margin-bottom: 1em; }

/* Karten: Passende Produkte */
.nk-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.nk-card { display: flex; flex-direction: column; text-decoration: none; background: #d9d9d9; }
.nk-card__img { aspect-ratio: 264 / 202; overflow: hidden; display: block; }
.nk-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nk-card__name { background: var(--nk-black); color: #fff; padding: 14px 16px; min-height: 62px; font-size: 16px; font-weight: 500; }
.nk-card:hover .nk-card__name { background: var(--nk-red); }

/* Erfolgsprojekte */
.nk-projekte { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.nk-projekt { display: flex; flex-direction: column; border: 1px solid #e6e6e6; border-radius: 14px; padding: 28px 30px; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); min-height: 280px; }
.nk-projekt__titel { font-size: 19px; }
.nk-projekt__text { font-size: 15px; color: #555; }
.nk-projekt__firma { margin-top: auto; }
.nk-projekt__firma span { display: block; color: #777; }

@media (max-width: 1024px) {
	.nk-cards { grid-template-columns: repeat(2, 1fr); }
	.nk-projekte { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.nk-buttons { flex-direction: column; }
	.nk-btn { font-size: 17px; text-align: center; width: 100%; }
	.nk-table { font-size: 14px; }
	.nk-table th { font-size: 15px; }
}

/* Breite Tabellen scrollen in sich, statt die Seite zu verbreitern (Flex-Elemente von Elementor) */
.elementor-widget-shortcode, .nk-block { min-width: 0; max-width: 100%; }
.nk-table-wrap { max-width: 100%; -webkit-overflow-scrolling: touch; }

/* Beschreibung */
.nk-beschreibung p { font-size: 18px; line-height: 1.45; }

/* Chat-Karte (Elementor-Container .nk-chatkarte) */
.e-con.nk-chatkarte { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; border: 1px solid #e6e6e6; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); max-width: 640px; margin-bottom: 2.2em; }
.nk-chatkarte > .nk-chatkarte__img { flex: 0 0 160px; width: 160px; margin: 0; }
.nk-chatkarte__img .elementor-widget-container, .nk-chatkarte__img img { height: 100%; }
.nk-chatkarte__img img { width: 100%; object-fit: cover; display: block; }
.e-con.nk-chatkarte__text { --padding-top: 22px; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 24px; --gap: 6px; }
.nk-chatkarte__titel .elementor-heading-title { font-size: 17px; font-weight: 600; text-transform: none; letter-spacing: normal; }
.nk-chatkarte__info p { font-size: 14px; color: #777; margin: 0; }
.nk-chatkarte__link .elementor-heading-title, .nk-chatkarte__link a { font-size: 17px; font-weight: 600; color: #010101; text-transform: none; }
.nk-chatkarte__link a:hover { color: #ff0000; }
@media (max-width: 767px) { .nk-chatkarte > .nk-chatkarte__img { flex-basis: auto; width: 100%; height: 180px; overflow: hidden; } }

/* Theme setzt h3/Buttons in Versalien – Design nicht */
.nk-block .nk-block__title, .nk-block .nk-block__subtitle { text-transform: none; letter-spacing: normal; }
.nk-band .elementor-heading-title { text-transform: none !important; letter-spacing: normal !important; font-size: 40px !important; font-weight: 500 !important; line-height: 1.2 !important; margin-bottom: .4em; }
.nk-band .elementor-button { text-transform: none !important; letter-spacing: normal !important; background: transparent !important; color: #fff !important; border: 2px solid #fff !important; border-radius: 8px !important; font-size: 19px !important; }
.nk-band .elementor-button:hover { background: #fff !important; color: #660000 !important; }
@media (max-width: 767px) { .nk-band .elementor-heading-title { font-size: 28px !important; } }

.nk-datenblatt { display: flex; flex-direction: column; gap: 10px; }
.nk-einsatzgebiete ul { margin: 0; padding-left: 1.2em; }

/* Theme-Standardfarbe der Links (#c36, pink) auf der Produktseite ersetzen */
.single-product .elementor-widget-breadcrumbs a { color: var(--e-global-color-primary, #010101); text-decoration: none; }
.single-product .elementor-widget-breadcrumbs a:hover, .single-product .elementor-widget-breadcrumbs a:focus { color: var(--e-global-color-secondary, #ff0000) !important; }
.single-product .woocommerce-product-gallery__trigger { color: var(--e-global-color-primary, #010101); }
.single-product a.nk-card, .single-product a.nk-card:hover { color: #fff !important; }

/* ---- Anpassungen nach Feedback NK (13.10.2026) ---- */

/* Mehr Abstand zwischen Breadcrumbs und Produktbeschreibung */
.single-product .elementor-widget-breadcrumbs { padding-bottom: 20px; }

/* „zum Produkt“: sichtbarer Hover (globale Regel a:hover färbt sonst nur rot auf rot) */
.nk-verbindungen a { transition: color .15s; }
.nk-verbindungen a:hover, .nk-verbindungen a:focus { color: var(--nk-black) !important; text-decoration-thickness: 2px; }

/* Maßangaben wie „3-mm-Teilung“ nicht umbrechen */
.nk-nowrap { white-space: nowrap; }

/* Links im Text (Akkordeon „Ablauf Anfrage“) */
a.nk-anfrage-link { color: inherit !important; text-decoration: underline !important; text-underline-offset: 3px; }
a.nk-anfrage-link:hover, a.nk-anfrage-link:focus { color: var(--e-global-color-secondary, #ff0000) !important; }

/* Chat-Karte: Bild füllt die linke Seite ganz (das Foto hat eingebaute runde Ecken → leicht vergrößert und beschnitten),
   mehr Abstand Überschrift ↔ Text, Text etwas breiter (kein einzelnes „Team.“ in der letzten Zeile) */
.e-con.nk-chatkarte { max-width: 700px; }
.nk-chatkarte > .nk-chatkarte__img { overflow: hidden; align-self: stretch; }
.nk-chatkarte__img img { transform: scale(1.3); }
.nk-chatkarte__info { margin-top: 10px !important; }
.nk-chatkarte__info p { text-wrap: pretty; }

/* Roter Kasten „Ihre Anforderung ist nicht dabei?“: Zahnriemen-Kante oben/unten wie auf der alten Website.
   Der Zeilenumbruch vor „Anwendung oder“ gilt nur ab Tablet. */
.nk-band .nk-band__zahn { width: 100% !important; max-width: 100%; left: 0 !important; right: 0; pointer-events: none; z-index: 1; }
.nk-band .nk-band__zahn img { width: 100%; height: auto; display: block; }
@media (max-width: 767px) { .nk-band br { display: none; } }
