/*
Theme Name: R3DTEC v1
Theme URI: https://9px.eu
Author: Snik von 9PX
Author URI: https://9px.eu
Description: R3DTEC Custom Design Version 1
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: erstestemplate
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready
*/

/* inter-100 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/inter-v20-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-100italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100;
  src: url('fonts/inter-v20-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/inter-v20-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/inter-v20-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/inter-v20-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/inter-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/inter-v20-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/inter-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/inter-v20-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/inter-v20-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/inter-v20-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/inter-v20-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/inter-v20-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* space-grotesk-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/space-grotesk-v22-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/space-grotesk-v22-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/space-grotesk-v22-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/space-grotesk-v22-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/space-grotesk-v22-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
    --bg-color: #121212;
    --border-color: #2E2E2E;
    --accent-red: #DA2028;
    --text-main: #ededed;
    --text-muted: #888888;
}

::-moz-selection { background: #DA2028; color: #ffffff; }
::selection { background: #DA2028; color: #ffffff; }

html {
    margin: 0;
    padding: 0;
    background-color: var(--bg-color);
    background-image: 
        linear-gradient(var(--border-color) 1px, transparent 1px),
        linear-gradient(90deg, var(--border-color) 1px, transparent 1px);
    background-size: 40px 40px;
	background-position: center top;
    font-family: "Inter", sans-serif;
    color: var(--text-main);
}

body {
    margin: 0;
    min-height: 100vh;
    /* Der Spotlight-Effekt */
    /* Wir starten in der Mitte (center) transparent (0% Sichtbarkeit) */
    /* Und gehen nach außen (100% Sichtbarkeit) der Hintergrundfarbe */
    background: radial-gradient(
        circle at center, 
        rgba(18, 18, 18, 0.0) 0%,   /* Mitte: Gitter komplett scharf */
        rgba(18, 18, 18, 0.8) 60%,  /* Mitte-Außen: Gitter wird weicher */
        rgba(18, 18, 18, 1.0) 90%   /* Rand: Gitter verschwindet fast */
    );
}

.uk-logo img,
.woocommerce .site-nav .uk-logo img,
.woocommerce-page .site-nav .uk-logo img {
	height: 35px;
	width: auto;
	max-width: none;
}

.uk-modal-body {
color: #000;
}

.uk-modal-body h3{
color: #000;
font-weight: 700;
font-size: 1.2rem;
}

h1, h2, h3, h4, h5, h6, h7, h8 {
	font-family: "Space Grotesk", sans-serif;
}

h2.service {
	font-weight: 700;
	font-size: 2.2rem;
}

h2.about {
	font-weight: 700;
	line-height: 1;
	font-size: 3rem;
	letter-spacing: -0.025em;
	color: #fff;
	margin-top: 0;
}

p.about {
	line-height: 1.625;
	font-size: 1.25rem;	
}

p.sub {
	color: #D92028;
	line-height: 1.625;
	font-size: 1.5rem;
	font-weight: 700;
	
}

.uk-button {
	font-family: Inter;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.uk-navbar-nav>li>a {
font-family: "Space Grotesk", sans-serif;
font-weight: 700;
letter-spacing: -0.025em;
color: #fff;
}

.uk-navbar-nav>li>a:hover {
	
}

.uk-navbar-container {
	background: rgba(19, 19, 19, 0.7) !important;
	backdrop-filter: blur(24px);
	border-bottom: 1px solid;
	border-color: rgb(229 226 225 / 0.15);
}

.site-nav {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.site-nav__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	box-sizing: border-box;
	max-width: 1340px;
	margin: 0 auto;
	padding: 0 32px;
	min-height: 80px;
}

.site-nav__logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.site-nav__desktop .uk-navbar-nav {
	gap: 0;
}

.site-nav .uk-navbar-nav > li > a {
	display: flex;
	align-items: center;
	min-height: 80px;
	padding: 0 14px;
	color: #fff;
	text-decoration: none;
}

.site-nav__cart {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	color: #fff !important;
	text-decoration: none !important;
}

.site-nav__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #DA2028;
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.site-nav__tools {
	display: none;
	align-items: center;
	gap: 2px;
}

.site-nav__burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.site-nav__burger-icon--close {
	display: none;
}

.site-nav__burger[aria-expanded="true"] .site-nav__burger-icon--open {
	display: none;
}

.site-nav__burger[aria-expanded="true"] .site-nav__burger-icon--close {
	display: inline-flex;
}

.site-nav__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.32s ease;
}

.site-nav__panel.is-open {
	max-height: 480px;
}

.site-nav__menu {
	overflow: hidden;
	list-style: none;
	margin: 0 auto;
	padding: 0 32px 12px;
	box-sizing: border-box;
	max-width: 1340px;
}

.site-nav__menu a {
	display: block;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: #fff;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
	letter-spacing: -0.025em;
	text-decoration: none;
}

.site-nav__menu a:hover {
	color: #DA2028;
	text-decoration: none;
}

@media (max-width: 959px) {
	.site-nav__bar {
		min-height: 60px;
		padding: 0 16px;
	}

	.site-nav__desktop {
		display: none;
	}

	.site-nav__tools {
		display: flex;
	}

	.site-nav__menu {
		padding: 0 16px 12px;
	}
}

@media (min-width: 960px) {
	.site-nav__panel {
		display: none;
	}
}

.hero {
	
	width: 100%;
	max-width: 1240px;
	margin: auto;
}

.herobg {
	background-image: url('img/header.webp');
	background-position: center;
	background-size: auto 80%;
	background-repeat: no-repeat;
}

.solutionbg {
	background-image: url('img/solution_bg.webp');
	background-position: left;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.herocard {
	padding: 40px 0px;

}


.hero h1 {
	font-size: 3.5rem;
	line-height: 1;
	letter-spacing: -0.05em;
	font-weight: 700;
	margin-top: 0;
}

.hero-meta {
	font-family: "Space Grotesk", sans-serif;
	color: #DA2028;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.875rem;
    line-height: 1.25rem;
	display: flex;
	align-items: center; /* Zentriert Strich und Text vertikal */
	gap: 15px;           /* Abstand zwischen Strich und Text */
}

.hero-meta::before {
  content: "";
  display: block;
  width: 40px;         /* Länge des Strichs */
  height: 2px;         /* Dicke des Strichs */
  background-color: currentColor; /* Nutzt die Textfarbe (rot) */
}

.hero-text {
	font-size: 1.5rem;
    line-height: 2rem;
}

.instagram {
	font-family: "Space Grotesk", sans-serif;
	color: #DA2028;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.875rem;
    line-height: 1.25rem;
}

.cardsection {
	background: #EFEFEF;
	color: #000;
	max-width: 1240px;
	margin: auto;
}

.process-card {
            background-repeat: no-repeat;
            background-position: right bottom;
            background-size: auto 75%; /* Steuert die Größe des Hintergrund-Wasserzeichens */
            padding: 40px 25px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
		
		
/* 2px Trennlinie zwischen den Spalten (nur ab Desktop-Ansicht @m) */
        @media (min-width: 960px) {
            .uk-grid-collapse > div:not(:last-child) .process-card {
        border-right: 2px solid #fff;
    }
        }

        /* Falls auf Mobile untereinander, optional eine Linie unten hinzufügen */
        @media (max-width: 959px) {
            .process-card > div:not(:last-child) {
                border-bottom: 2px solid #e5e5e5;
                padding-bottom: 20px;
                margin-bottom: 20px;
            }
        }

        /* Die schwarzen runden Icons */
        .icon-circle {
            width: 46px;
            height: 46px;
            background-color: #111111;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            flex-shrink: 0;
        }

        /* Untertitel unter der Hauptüberschrift */
        .text-sub-title {
            font-size: 0.95rem;
            font-weight: 600;
            color: #222222;
            margin-top: 2px;
        }

        /* Roter "Mehr erfahren" Link mit Border-Bottom */
        .link-action {
            color: #bf201d !important; /* Das typische Industrie-Rot */
            text-decoration: none;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            border-bottom: 2px solid #bf201d;
            padding-bottom: 3px;
            transition: opacity 0.2s ease-in-out;
        }

        .link-action:hover {
            text-decoration: none;
            opacity: 0.8;
        }

        .link-action span {
            margin-left: 6px;
            font-size: 1.1rem;
            line-height: 1;
        }

.process-section {
    margin: auto;
    background: rgba(18, 18, 18, 0.8);
    backdrop-filter: blur(5px);
	margin-top: 40px;
	max-width: 1240px;
}

/* Timeline Items & Verbindungslinien */
        .timeline-item {
            position: relative;
            text-align: center;
        }

        /* Kreis-Container für die Icons */
        .icon-circle-outline {
            width: 64px;
            height: 64px;
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            background-color: #0b0c10; /* WICHTIG: Muss der Hintergrundfarbe entsprechen, um die Linie zu verdecken */
            position: relative;
            z-index: 2;
            transition: border-color 0.3s ease;
        }

        /* Farb-Akzent für die Nummern */
        .step-number {
            color: #D92028;
            font-weight: 700;
            font-size: 1rem;
            margin-top: 12px;
            margin-bottom: 4px;
            display: block;
        }

        .step-title {
            color: #ffffff;
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
            margin: 10px 0;
            letter-spacing: 0.5px;
        }

        .step-desc {
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.85rem;
            line-height: 1.5;
            padding: 0 10px;
        }


        @media (min-width: 960px) {
            .timeline-item:not(:last-child)::after {
                content: '';
                position: absolute;
                /* Platziert die Linie exakt auf die vertikale Mitte des 64px Kreises */
                top: 32px; 
                /* Startet in der Mitte des aktuellen Elements und geht bis zur Mitte des nächsten */
                left: 50%;
                right: -50%;
                border-top: 2px dashed rgba(255, 255, 255, 0.2);
                z-index: 1;
            }
        }

        @media (max-width: 959px) {
            .timeline-item {
                padding-bottom: 40px; /* Abstand nach unten für die vertikale Linie */
            }
            .timeline-item:not(:last-child)::after {
                content: '';
                position: absolute;
                /* Startet in der Mitte des Kreises und geht nach unten weg */
                top: 32px;
                bottom: -20px;
                left: 50%;
                border-left: 2px dashed rgba(255, 255, 255, 0.2);
                z-index: 1;
                transform: translateX(-50%);
            }
        }

.uk-card-primary {
	background: var(--bg-color);
	border: 1px solid;
	border-color: var(--border-color);
}

.uk-card-primary:hover {
    background: #1c1c1c; /* Etwas heller */
}


.uk-card-primary a {
    display: inline-block;
    transition: transform 0.3s ease;
    text-decoration: none;
}


.uk-card-primary:hover a {
    transform: translateX(8px);
}

.uk-section-default {
	background: var(--bg-color);
}

.uk-button-default {
	border-color: #DA2028;
	color: #DA2028;
}

.uk-button-default:hover {
	background-color: rgb(218 32 40 / 15%);
	color: #DA2028;
	border-color: #DA2028;
}

.uk-button-primary, .uk-button-primary:hover {
	background: #DA2028 !important;
	color: #fff !important;
}

.uk-form-label {
	font-family: "Space Grotesk", sans-serif;
	color: #DA2028 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.875rem;
    line-height: 1.25rem;
}

svg.icon {
	color: var(--accent-red) !important;
	height: 48px;
}

.number {
	color: var(--accent-red);
}

.cad-container {
    max-width: 1240px;
    margin: auto;
    border: 1px solid var(--border-color);
    background: rgba(18, 18, 18, 0.8);
    backdrop-filter: blur(5px);
	margin-top: 40px;
}

.header-section {
    padding: 40px 20px;
    text-align: center;
}

h1 {
	font-size: 1.2rem; 
	margin-top: 33px; 
	font-weight: 300; 
	letter-spacing: 1px;
	color: white;
}

.logo-img {
    max-height: 60px;
    filter: drop-shadow(0 0 10px rgba(62, 207, 142, 0.2));
}

.tech-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--accent-red);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 10px;
    display: block;
}

.card-content {
    padding: 0px;
}

/* Button & Action Styles */
.action-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px; /* Erzeugt exakt 1px Platz zwischen den Buttons */
    background-color: #2E2E2E; /* Dies wird die Farbe deiner Trennlinien */
	border-top: 1px solid #2E2E2E;
	border-bottom: 1px solid #2E2E2E;
}

.btn-tech {
    background: var(--bg-color);
    color: var(--text-main);
    padding: 10.5px;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
}

.btn-tech:hover {
    background: #222;
	color: var(--accent-red);
}

.btn-tech span {
    font-size: 12px;
    margin-top: 8px;
    font-weight: 500;
}

.btn-primary-tech {
    background: var(--accent-red);
    color: #000 !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 8px;
    display: block;
    text-align: center;
    padding: 18px;
    margin-top: 20px;
    font-family: 'JetBrains Mono', monospace;
}

.btn-primary-tech:hover {
    opacity: 0.9;
    box-shadow: 0 0 20px rgba(62, 207, 142, 0.3);
}

.btn-primary-tech1 {
    background: var(--accent-red);
    color: #000 !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    text-align: center;
    padding: 21px;
    font-family: 'JetBrains Mono', monospace;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.social-links a {
    color: var(--text-muted);
    transition: color 0.2s;
}

.social-links a:hover {
    color: var(--accent-red);
}

hr {
    border: 0;
    border-top: 1px solid var(--border-color);
    margin: 0;
}


/* Grundaufbau der Card-Inhalte */
.contact-card .uk-card-body {
    display: flex;
    align-items: center;
    padding: 30px; /* Optional: Innenabstand der Card */
}

/* Der rote Icon-Hintergrund */
.contact-icon-wrapper {
    background-color: rgba(215, 25, 32, 0.1);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0; /* Verhindert das Stauchen des Icons */
}

/* Das UIkit Icon selbst */
.contact-icon-wrapper [uk-icon] {
    color: #DA2028;
}

/* Text-Container mit 40px Abstand zum Icon */
.contact-text-wrapper {
    margin-left: 40px;
}

/* Die kleine rote Beschriftung oben */
.contact-label {
    display: block;
    color: #DA2028;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 2px;
}

/* Die eigentliche E-Mail-Adresse */
.contact-value {
    display: block;
    color: #FFFFFF;
    font-size: 1.1rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

/* Kleiner Hover-Effekt für die E-Mail */
.contact-value:hover {
    color: #DA2028;
    text-decoration: none;
}



.timeline-arrow-grid > div {
    position: relative;
}

/* ---------------------------------------------------
   DESKTOP (3 Spalten) - ab 960px (UIkit @m)
--------------------------------------------------- */
@media (min-width: 960px) {
    /* Setzt Pfeile an alle Elemente, AUSSER an jedes 3. */
    .timeline-arrow-grid > div:not(:nth-child(3n))::after {
        content: "\2192"; /* Unicode Pfeil nach rechts: → */
        position: absolute;
        right: 0;
        top: 25px; /* Passe diesen Wert an die Höhe deines Icons an */
        font-size: 28px;
        color: #999;
        transform: translateX(50%); /* Zentriert den Pfeil genau zwischen den Spalten */
        z-index: 1;
    }
}

/* ---------------------------------------------------
   TABLET (2 Spalten) - 640px bis 959px (UIkit @s)
--------------------------------------------------- */
@media (min-width: 640px) and (max-width: 959px) {
    /* Setzt Pfeile an alle Elemente, AUSSER an jedes 2. */
    .timeline-arrow-grid > div:not(:nth-child(2n))::after {
        content: "\2192";
        position: absolute;
        right: 0;
        top: 25px;
        font-size: 28px;
        color: #999;
        transform: translateX(50%);
        z-index: 1;
    }
}

/* ---------------------------------------------------
   SMARTPHONE (1 Spalte) - unter 640px
--------------------------------------------------- */
@media (max-width: 639px) {
    /* Pfeil zeigt nach unten, außer beim allerletzten Element */
    .timeline-arrow-grid > div:not(:last-child)::after {
        content: "\2193"; /* Unicode Pfeil nach unten: ↓ */
        position: absolute;
        bottom: -20px; /* Schiebt den Pfeil unter das Element */
        left: 50%;
        font-size: 28px;
        color: #999;
        transform: translateX(-50%);
        z-index: 1;
    }
    
    /* Etwas Abstand nach unten, damit Platz für den Pfeil ist */
    .timeline-arrow-grid > div {
        margin-bottom: 30px; 
    }
}

@media (max-width: 1240px) {
	.herocard {
		padding-left: 15px;
	}
}

@media (max-width: 959px) {
	.uk-navbar {
		height: 60px;
	}
	
	.uk-navbar-item {
		min-height: 60px;
	}
	
	.uk-logo img,
	.woocommerce .site-nav .uk-logo img,
	.woocommerce-page .site-nav .uk-logo img {
		height: 30px;
		width: auto;
		max-width: none;
	}
}

@media (max-width: 650px) {
    html {
       /* Wir überschreiben das Gitter mit den schrägen Linien */
        background-image: repeating-linear-gradient(
            -45deg,
            #2E2E2E 0,
            #2E2E2E 1px,
            transparent 1px,
            transparent 12px /* Der Abstand der schrägen Linien */
        );
        /* Wichtig: background-size auf auto setzen, damit das Muster 
           nicht in 20px-Kästchen gezwungen wird */
        background-size: auto;
    }

    body {
        padding: 0; 
		background: none;
    }
	
	.page {
		padding: 0 15px; 
	}
	
	.herocard {
	padding: 15px;
	background: #121212;
}

.hero h1 {
    font-size: 3rem;
}

.hero-meta {
    font-size: 0.7rem;
    line-height: 1.25rem;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.hero-meta::before {
  content: "";
  display: none;
}

.hero-text {
    font-size: 1rem;
    line-height: 1.5rem;
}

p.about {
    line-height: 1.5rem;
    font-size: 1rem;
}

.uk-button {
	display: block;
	margin: 0;
}

h2.service {
    font-weight: 700;
    font-size: 1.8rem;
}

h2.about {
    font-weight: 700;
    font-size: 1.8rem;
}

.cad-container {
	margin-top: 25px;
}
	
}

/* Shop */
.shop-page {
	color: #ededed;
}

.shop-page__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.shop-layout {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 42px;
	box-sizing: border-box;
	max-width: 1340px;
	margin: 0 auto;
	padding: 42px 32px 88px;
}

.shop-sidebar {
	position: sticky;
	top: 96px;
	align-self: start;
	max-height: calc(100vh - 120px);
	overflow: auto;
	padding-right: 8px;
}

.shop-sidebar__label {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid #fff;
	font-family: "Space Grotesk", sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
}

.shop-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-sidebar__list li + li {
	margin-top: 2px;
}

.shop-page .shop-sidebar__link {
	display: block;
	padding: 7px 0;
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

.shop-page .shop-sidebar__link:hover {
	color: #fff;
	text-decoration: none;
}

.shop-page .shop-sidebar__link.is-active,
.shop-page .shop-sidebar__link.is-active:hover {
	color: #DA2028;
	font-weight: 700;
}

.shop-page .shop-sidebar__link.is-active .shop-sidebar__count,
.shop-page .shop-sidebar__link.is-active:hover .shop-sidebar__count {
	color: #fff;
	font-weight: 600;
}

.shop-sidebar__count {
	margin-left: 4px;
}

.shop-category {
	scroll-margin-top: 108px;
}

.shop-category + .shop-category {
	margin-top: 58px;
}

.shop-category__title {
	margin: 0 0 22px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 1.85rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: #fff;
}

.shop-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.shop-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #1b1b1b;
	border: 1px solid #2a2a2a;
	border-radius: 0;
	overflow: hidden;
}

.shop-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #f3f3f3;
	overflow: hidden;
}

.shop-card__slider,
.shop-card__slider .uk-slider-container,
.shop-card__slider .uk-slider-items,
.shop-card__slider .uk-slider-items > li,
.shop-page .shop-card__imagelink {
	height: 100%;
}

.shop-card__slider .uk-slider-items {
	align-items: stretch;
}

.shop-page .shop-card__imagelink {
	display: block;
	padding: 10px;
	box-sizing: border-box;
	text-decoration: none;
}

.woocommerce .shop-card__media img,
.woocommerce-page .shop-card__media img,
.shop-card__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	display: block;
	background: transparent;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.45s ease;
}

.shop-card__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 7;
	padding: 9px 12px;
	background: #DA2028;
	color: #fff;
	border-radius: 0;
	font-family: Inter, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}

.shop-slider__nav {
	position: absolute;
	top: 46%;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	color: #1a1a1a;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	text-decoration: none !important;
}

.shop-slider__nav--prev {
	left: 10px;
}

.shop-slider__nav--next {
	right: 10px;
}

.shop-page .shop-slider__nav:hover {
	color: #DA2028;
	text-decoration: none !important;
}

.shop-page .shop-slider__dots {
	position: absolute;
	left: 50%;
	bottom: 8px;
	z-index: 6;
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	flex-wrap: nowrap;
}

.shop-page .shop-slider__dots > * > * {
	width: 8px;
	height: 8px;
	background-color: #c8c8c8;
}

.shop-page .shop-slider__dots > .uk-active > * {
	background-color: #DA2028;
}

.shop-page .shop-card__cart {
	position: absolute;
	left: 50%;
	bottom: 16px;
	z-index: 6;
	transform: translateX(-50%);
	display: inline-block;
	padding: 11px 16px;
	background: #DA2028;
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: Inter, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

.shop-card--gallery .shop-card__cart {
	bottom: 32px;
}

.shop-page .shop-card__cart:hover {
	background: #c41c23;
	color: #fff;
	text-decoration: none;
}

.shop-page .shop-card__cart.loading {
	cursor: wait;
	opacity: 0.75;
}

.shop-page .shop-card__cart.is-added {
	background: #b11b22;
}

.shop-card .added_to_cart {
	display: none !important;
}

.shop-card__cart--disabled {
	background: #3a3a3a;
	color: #cfcfcf !important;
	cursor: default;
}

.shop-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 14px 16px;
	text-align: left;
}

.shop-card__title {
	margin: 0 0 10px;
	min-height: 2.7em;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #fff;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.shop-page .shop-card__title a {
	color: #fff;
	text-decoration: none;
}

.shop-page .shop-card__title a:hover {
	color: #fff;
	text-decoration: none;
}

.shop-card__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}

.shop-card__price {
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.3;
}

.shop-card__rating .star-rating {
	float: none;
	margin: 0 0 2px;
	font-size: 0.85rem;
}

.shop-card .star-rating::before {
	color: #6a6a6a;
}

.shop-card .star-rating span::before {
	color: #e8e8e8;
}

.shop-card__price .price,
.shop-card__price .woocommerce-Price-amount {
	color: inherit;
	font-weight: 700;
}

.shop-card__price del,
.shop-card__price del .woocommerce-Price-amount {
	color: #8a8a8a;
	font-weight: 500;
	text-decoration: line-through;
	margin-right: 6px;
}

.shop-card__price ins {
	background: none;
	color: #DA2028;
	text-decoration: none;
}

.shop-card__tax,
.shop-card__price .woocommerce-price-suffix {
	display: block;
	margin-top: 2px;
	color: #8d8d8d;
	font-size: 0.78rem;
	font-weight: 500;
}

.shop-empty {
	margin: 0;
	color: #bdbdbd;
}

.shop-page .woocommerce-message,
.shop-page .woocommerce-info,
.shop-page .woocommerce-error {
	background: #1c1c1c;
	color: #fff;
	border-top: 3px solid #DA2028;
	margin-bottom: 24px;
}

.shop-page .woocommerce-message a,
.shop-page .woocommerce-info a,
.shop-page .woocommerce-error a {
	color: #fff;
}

@media (hover: hover) and (pointer: fine) {
	.shop-card__cart,
	.shop-slider__nav {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.18s ease;
	}

	.shop-card:hover .shop-card__cart,
	.shop-card:hover .shop-slider__nav,
	.shop-slider__nav:focus-visible,
	.shop-card__cart:focus-visible {
		opacity: 1;
		pointer-events: auto;
	}

	.shop-card:hover .shop-card__media img {
		transform: scale(1.08);
	}
}

@media (max-width: 1280px) {
	.shop-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 959px) {
	.shop-layout {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 24px 16px 64px;
	}

	.shop-sidebar,
	.shop-main {
		background: #121212;
		padding: 18px 14px;
	}

	.shop-sidebar {
		position: static;
		max-height: none;
		overflow: visible;
		border-right: 0;
	}

	.shop-category__title {
		font-size: 1.5rem;
	}

	.shop-card__media,
	.related .shop-card__media {
		display: flex;
		flex-direction: column;
		aspect-ratio: auto;
		overflow: visible;
		background: transparent;
	}

	.shop-card__media > .shop-card__slider,
	.shop-card__media > .shop-card__imagelink {
		aspect-ratio: 1 / 1;
		width: 100%;
		height: auto;
		background: #f3f3f3;
		overflow: hidden;
	}

	.related .shop-card__media > .shop-card__slider,
	.related .shop-card__media > .shop-card__imagelink {
		aspect-ratio: 4 / 3;
	}

	.shop-page .shop-card__cart,
	.shop-card--gallery .shop-card__cart {
		position: static;
		left: auto;
		right: auto;
		bottom: auto;
		transform: none;
		display: block;
		width: calc(100% - 20px);
		max-width: none;
		margin: 10px 10px 12px;
		box-sizing: border-box;
		opacity: 1;
		pointer-events: auto;
		white-space: normal;
		text-align: center;
	}

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

	.related__title {
		font-size: 1.55rem;
	}
}

@media (max-width: 560px) {
	.shop-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.shop-card__body {
		padding: 12px 10px 14px;
	}

	.shop-card__title {
		font-size: 0.86rem;
	}

	.shop-card__price {
		font-size: 0.92rem;
	}

	.shop-page .shop-card__cart {
		white-space: normal;
	}
}

/* Einzelprodukt */
body.single-product #primary {
	max-width: 1340px;
	margin: 0 auto;
	padding: 36px 32px 88px;
	box-sizing: border-box;
	background: transparent;
	color: #ededed;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 0.85rem;
	text-decoration: none;
}

body.single-product .woocommerce-breadcrumb a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-product .woocommerce-breadcrumb a:hover {
	color: #fff;
}

body.single-product div.product .product_title {
	margin: 0 0 16px;
	color: #fff;
	font-size: 2.45rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

body.single-product div.product p.price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
}

body.single-product div.product p.price,
body.single-product div.product p.price .woocommerce-Price-amount,
body.single-product div.product p.price .product-tax {
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 1.45rem;
	font-weight: 700;
}

body.single-product div.product p.price del,
body.single-product div.product p.price del .woocommerce-Price-amount {
	color: #8a8a8a;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: line-through;
	opacity: 1;
}

body.single-product div.product p.price ins {
	background: none;
	color: #DA2028;
	font-weight: 700;
	text-decoration: none;
}

body.single-product div.product .woocommerce-product-details__short-description {
	margin: 0 0 22px;
	color: #c8c8c8;
	font-family: Inter, sans-serif;
	font-size: 1rem;
	line-height: 1.55;
}

body.single-product div.product .stock {
	color: #cfcfcf;
	font-family: Inter, sans-serif;
}

body.single-product div.product .product_meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 26px;
	color: #d5d5d5;
	font-family: Inter, sans-serif;
	font-size: 0.98rem;
	font-weight: 500;
}

body.single-product div.product .product_meta .sku_wrapper,
body.single-product div.product .product_meta .posted_in,
body.single-product div.product .product_meta .tagged_as {
	display: block;
}

body.single-product div.product .product_meta a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-product div.product .product_meta a:hover {
	color: #fff;
}

body.single-product div.product div.images {
	position: relative;
	background: transparent;
	border-radius: 0;
	overflow: visible;
	margin-bottom: 0;
	padding: 0;
}

body.single-product div.product div.images .flex-viewport,
body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .woocommerce-product-gallery__image {
	background: transparent;
	margin: 0;
}

body.single-product div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	overflow: visible;
}

body.single-product div.product div.images .flex-control-thumbs li {
	width: 104px;
	float: none;
	margin: 0;
	list-style: none;
}

body.single-product div.product div.images .flex-control-thumbs li img,
body.single-product div.product div.images .flex-control-thumbs li img.flex-active,
body.single-product div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
	margin: 0;
	outline: 2px solid transparent;
	outline-offset: 0;
}

body.single-product div.product div.images .flex-control-thumbs li img.flex-active {
	outline-color: #DA2028;
}

body.single-product div.product div.images .flex-direction-nav {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 104px;
	left: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	pointer-events: none;
}

body.single-product div.product div.images .flex-direction-nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-product div.product div.images .flex-direction-nav a {
	position: absolute;
	top: 50%;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
	color: transparent;
	font-size: 0;
	text-decoration: none;
	pointer-events: auto;
}

body.single-product div.product div.images .flex-direction-nav a::before {
	content: "";
	width: 9px;
	height: 9px;
	border-top: 2px solid #1a1a1a;
	border-right: 2px solid #1a1a1a;
}

body.single-product div.product div.images .flex-direction-nav a.flex-prev {
	left: 12px;
}

body.single-product div.product div.images .flex-direction-nav a.flex-prev::before {
	transform: rotate(-135deg);
	margin-left: 3px;
}

body.single-product div.product div.images .flex-direction-nav a.flex-next {
	right: 12px;
}

body.single-product div.product div.images .flex-direction-nav a.flex-next::before {
	transform: rotate(45deg);
	margin-right: 3px;
}

body.single-product div.product div.images .flex-direction-nav a.flex-disabled {
	opacity: 0.45;
	cursor: default;
}

body.single-product div.product div.images .flex-direction-nav a:hover {
	color: transparent;
}

body.single-product div.product div.images img {
	border-radius: 0;
}

body.single-product .woocommerce-product-gallery__trigger {
	display: none !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image a {
	cursor: zoom-in;
}

body.single-product span.onsale {
	top: 12px;
	right: auto;
	left: 12px;
	transform: none;
	margin: 0;
	min-height: 0;
	min-width: 0;
	padding: 6px 9px;
	border-radius: 3px;
	background: #DA2028;
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}

body.single-product div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin: 22px 0 8px;
}

body.single-product div.product form.cart .quantity {
	display: flex;
	float: none;
	margin: 0;
}

body.single-product div.product form.cart .quantity .qty,
body.single-product div.product form.cart button.single_add_to_cart_button {
	height: 48px;
	box-sizing: border-box;
	border-radius: 6px;
}

body.single-product div.product form.cart .quantity .qty {
	width: 48px;
	margin: 0;
	padding: 0;
	background: #1a1a1a;
	color: #fff;
	border: 1px solid #2a2a2a;
	font-family: Inter, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 48px;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

body.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.single-product div.product form.cart button.single_add_to_cart_button {
	float: none;
	margin: 0;
	padding: 0 22px;
	background: #ff2b2b;
	color: #fff;
	border: 0;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 48px;
	text-transform: none;
}

body.single-product div.product form.cart button.single_add_to_cart_button:hover {
	background: #e42222;
	color: #fff;
}

body.single-product div.product .woocommerce-tabs {
	clear: both;
	padding-top: 36px;
}

body.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	overflow: visible;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

body.single-product div.product .woocommerce-tabs ul.tabs::before,
body.single-product div.product .woocommerce-tabs ul.tabs::after,
body.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

body.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

body.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 16px;
	color: #8d8d8d;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
	text-decoration: none;
}

body.single-product div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border-bottom: 2px solid #DA2028;
}

body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

body.single-product div.product .woocommerce-Tabs-panel,
body.single-product div.product .woocommerce-Tabs-panel h2,
body.single-product div.product .woocommerce-Tabs-panel p,
body.single-product #reviews {
	color: #ededed;
}

body.single-product #reviews .comment-reply-title,
body.single-product #reviews .comment-notes,
body.single-product #reviews .comment-form label {
	color: #ededed;
	font-family: Inter, sans-serif;
}

body.single-product #reviews .comment-reply-title {
	display: block;
	margin: 0 0 8px;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
}

body.single-product #reviews p.stars {
	margin: 6px 0 0;
	line-height: 1;
}

body.single-product #reviews p.stars a,
body.single-product #reviews p.stars a::before,
body.single-product #reviews .star-rating,
body.single-product #reviews .star-rating::before,
body.single-product #reviews .star-rating span::before {
	color: #fff;
	text-decoration: none;
}

body.single-product #reviews p.stars a:hover,
body.single-product #reviews p.stars a:focus,
body.single-product #reviews p.stars a:hover::before {
	color: #fff;
	text-decoration: none;
}

body.single-product #reviews .comment-form-author,
body.single-product #reviews .comment-form-email,
body.single-product #reviews .comment-form-comment,
body.single-product #reviews .comment-form-rating,
body.single-product #reviews .comment-form-cookies-consent {
	float: none;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
}

body.woocommerce.single-product #review_form #respond input#author,
body.woocommerce.single-product #review_form #respond input#email,
body.woocommerce.single-product #review_form #respond textarea#comment {
	display: block;
	width: 100%;
	max-width: 640px;
	box-sizing: border-box;
	margin: 8px 0 0;
	padding: 12px 14px;
	background: #161616;
	color: #fff;
	border: 1px solid #4a4a4a;
	border-radius: 0;
	box-shadow: none;
	font-family: Inter, sans-serif;
	font-size: 0.95rem;
	line-height: 1.45;
}

body.woocommerce.single-product #review_form #respond textarea#comment {
	min-height: 140px;
	resize: vertical;
}

body.woocommerce.single-product #review_form #respond input#author:focus,
body.woocommerce.single-product #review_form #respond input#email:focus,
body.woocommerce.single-product #review_form #respond textarea#comment:focus {
	outline: none;
	border-color: #fff;
	background: #161616;
	color: #fff;
}

body.single-product #reviews .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

body.single-product #reviews .comment-form-cookies-consent input {
	margin: 4px 0 0;
	accent-color: #fff;
}

body.woocommerce.single-product #review_form #respond input#submit {
	padding: 12px 22px;
	background: #ff2b2b;
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.woocommerce.single-product #review_form #respond input#submit:hover {
	background: #e42222;
	color: #fff;
}

body.single-product .related.products {
	clear: both;
	margin-top: 56px;
}

.related__title {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.related-grid.shop-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.related-slider__items {
	gap: 12px;
}

.related-slider__items > li,
.related .shop-card {
	width: 135px;
	max-width: 135px;
	flex: 0 0 135px;
	box-sizing: border-box;
}

.related.products .related-slider,
.related.products .related-grid {
	max-width: 429px;
	margin-left: auto;
	margin-right: auto;
}

.related .shop-card__body {
	padding: 10px 8px 12px;
}

.related .shop-card__title {
	font-size: 0.82rem;
}

.related .shop-card__price {
	font-size: 0.85rem;
}

.related .shop-card__media {
	aspect-ratio: 4 / 3;
}

.related .shop-page .shop-card__imagelink,
.related .shop-card__imagelink {
	padding: 0;
}

@media (min-width: 960px) {
	body.single-product div.product div.images {
		width: 34%;
		max-width: 440px;
		float: left;
	}

	body.single-product div.product div.summary {
		width: 58%;
		float: right;
	}
}

.related-slider__nav {
	position: absolute;
	top: 32%;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	color: #1a1a1a;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
	text-decoration: none !important;
}

.related-slider__nav--prev {
	left: 6px;
}

.related-slider__nav--next {
	right: 6px;
}

.related-slider__nav.uk-invisible {
	display: none;
}

.related-slider__nav:hover {
	color: #DA2028;
	text-decoration: none !important;
}

.related-slider__dots {
	justify-content: center;
	margin: 18px 0 0;
	padding: 0;
}

.related-slider__dots > * > * {
	width: 9px;
	height: 9px;
	background-color: #8a8a8a;
}

.related-slider__dots > .uk-active > * {
	background-color: #DA2028;
}

.footer-withdrawal-wrap {
	margin: 0 0 16px;
}

.footer-withdrawal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	background: #DA2028;
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.footer-withdrawal:hover {
	background: #c41c23;
	color: #fff;
	text-decoration: none;
}

body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error {
	background: #1c1c1c;
	color: #fff;
	border-top: 3px solid #DA2028;
}

body.single-product .woocommerce-message a,
body.single-product .woocommerce-info a,
body.single-product .woocommerce-error a {
	color: #fff;
}

.shop-page .woocommerce-message a.button,
.shop-page .woocommerce-info a.button,
body.single-product .woocommerce-message a.button,
body.single-product .woocommerce-info a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 16px;
	padding: 10px 16px;
	background: #ff2b2b;
	color: #fff;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.shop-page .woocommerce-message a.button:hover,
.shop-page .woocommerce-info a.button:hover,
body.single-product .woocommerce-message a.button:hover,
body.single-product .woocommerce-info a.button:hover {
	background: #e42222;
	color: #fff;
	text-decoration: none;
}

@media (max-width: 959px) {
	body.single-product #primary {
		padding: 24px 16px 64px;
	}

	body.single-product div.product .product_title {
		font-size: 1.55rem;
	}
}

@media (max-width: 768px) {
	body.single-product div.product div.images,
	body.single-product div.product div.summary {
		float: none;
		width: 100%;
	}

	body.single-product div.product div.images .flex-direction-nav {
		bottom: 104px;
	}

	body.single-product div.product div.summary {
		clear: both;
		margin-top: 40px;
	}

	body.single-product span.onsale {
		left: 12px;
		right: auto;
		transform: none;
	}
}

/* Editor-Inhalte auf Seiten wie Impressum und AGB */
.cad-container .wp-block-heading {
	color: #fff;
}

/* Warenkorb */
body.woocommerce-cart .wp-block-paragraph a,
body.woocommerce-cart .wc-block-grid__product-link,
body.woocommerce-cart .wc-block-grid__product-title {
	color: #ff2b2b;
	text-decoration: none;
}

body.woocommerce-cart .wp-block-paragraph a:hover,
body.woocommerce-cart .wc-block-grid__product-link:hover,
body.woocommerce-cart .wc-block-grid__product-link:hover .wc-block-grid__product-title {
	color: #e42222;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-cart a.wc-block-components-product-name {
	color: #fff;
	text-decoration: none;
}

.wc-block-cart a.wc-block-components-product-name:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-cart a.wc-block-cart__submit-button.contained,
.wc-block-checkout button.wc-block-components-checkout-place-order-button {
	height: 48px;
	padding: 0 22px;
	background: #ff2b2b;
	color: #fff;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 48px;
	text-transform: none;
	text-decoration: none;
}

.wc-block-cart a.wc-block-cart__submit-button.contained:hover,
.wc-block-checkout button.wc-block-components-checkout-place-order-button:hover {
	background: #e42222;
	color: #fff;
	text-decoration: none;
}

.wc-block-components-quantity-selector {
	background: #1a1a1a;
	border-color: #3a3a3a;
	color: #fff;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent;
	color: #fff;
}

.wc-block-cart .wc-block-components-product-price,
.wc-block-cart .wc-block-components-product-price .woocommerce-Price-amount,
.wc-block-cart .wc-block-components-product-price .wc-block-formatted-money-amount,
.wc-block-components-order-summary .wc-block-components-product-price,
.wc-block-components-order-summary .wc-block-components-product-price .woocommerce-Price-amount,
.wc-block-components-order-summary .wc-block-components-product-price .wc-block-formatted-money-amount {
	color: #fff;
}

.wc-block-cart .wc-block-components-product-price ins,
.wc-block-components-order-summary .wc-block-components-product-price ins {
	background: transparent;
	color: #fff;
	text-decoration: none;
}

.wc-block-cart .wc-block-components-product-price del,
.wc-block-cart .wc-block-components-product-price del .woocommerce-Price-amount,
.wc-block-cart .wc-block-components-product-price del .wc-block-formatted-money-amount,
.wc-block-components-order-summary .wc-block-components-product-price del,
.wc-block-components-order-summary .wc-block-components-product-price del .woocommerce-Price-amount,
.wc-block-components-order-summary .wc-block-components-product-price del .wc-block-formatted-money-amount {
	color: #9a9a9a;
	background: transparent;
	opacity: 1;
}

.wc-block-components-totals-coupon .wc-block-components-text-input label,
.has-dark-controls .wc-block-components-totals-coupon .wc-block-components-text-input label,
.wc-block-components-totals-coupon .wc-block-components-text-input input::placeholder {
	color: #3a3a3a;
	opacity: 1;
}

.wc-block-components-totals-coupon .wc-block-components-text-input input {
	color: #1a1a1a;
	background: #fff;
}

/* Kasse */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-textarea,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container {
	background: #1a1a1a;
	color: #fff;
	border: 1px solid #3a3a3a;
	border-radius: 6px;
	box-shadow: none;
	color-scheme: dark;
}

body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	color: #9a9a9a;
	background: #121212;
}

body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: #1a1a1a;
	border-color: #3a3a3a;
}

body.woocommerce-checkout .wc-block-components-notice-banner.is-error,
body.woocommerce-checkout .wc-block-components-notice-banner {
	background: #1c1c1c;
	color: #fff;
	border-color: #DA2028;
}

body.woocommerce-checkout .wc-block-checkout a,
body.woocommerce-checkout .wc-block-components-notice-banner a {
	color: #fff;
}

body.woocommerce-checkout .wc-block-checkout a:hover,
body.woocommerce-checkout .wc-block-components-notice-banner a:hover {
	color: #fff;
	text-decoration: underline;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-cart .wc-block-components-order-summary-item__quantity {
	background: #ff2b2b;
	color: #fff;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity span,
body.woocommerce-cart .wc-block-components-order-summary-item__quantity span {
	color: #fff;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title {
	color: #fff;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
}