:root {
	--color-industriegueter: rgba(30, 162, 248, 1);
	--color-baugueter: rgba(254, 98, 255, 1);
	--color-fahrzeugteile: rgba(255, 104, 30, 1);
	--color-maschinen: rgba(30, 190, 94, 1);
	--opacity-industriegueter: rgba(30, 161, 248, 0.8);
	--opacity-baugueter: rgba(254, 98, 255, 0.8);
	--opacity-fahrzeugteile: rgba(255, 104, 30, 0.8);
	--opacity-maschinen: rgba(30, 190, 94, 0.8);

  --leistungen-shadow-border-default: 0 0 0 4px;
  --leistungen-shadow-border-active: 0 0 0 9px;
  --leistungen-shadow-outside: 0 2px 34px 14px;
  --leistungen-shadow-inside: 0 0 34px 3px;

  --leistungen-shadow-border-default-medium: 0 0 0 2.7px;
  --leistungen-shadow-border-active-medium: 0 0 0 5px;
  --leistungen-shadow-outside-medium: 0 2px 16px 4px;
  --leistungen-shadow-inside-medium: 0 0 14px 2px;

  --leistungen-shadow-border-default-small: 0 0 0 0.7px;
}

/* === LOGO HEADER TRANSITION === */
header img {
    transition: height 0.3s ease;
}

header.scroll .logo-header-default {
	display: none;
}

header .logo-header-scroll {
	display: none;
}


header.scroll .logo-header-scroll {
	display: block;
}

@media (min-width: 768px) {
    header.scroll .logo-header-default img {
        height: 85px;
    }
}

@media (max-width: 767px) {
	header .logo-header-default {
		display: none;
	}
	
	header .logo-header-scroll {
		display: block;
	}
}

/* === LEISTUNGEN SECTION BACKGROUND === */
.leistungen-section.tab-industriegueter::before {
    background-image: linear-gradient(180deg, #000 10%, #0f5380d6 100%) !important;
}

.leistungen-section.tab-baugueter::before {
    background-image: linear-gradient(180deg, #000 10%, #3d013ee6 100%) !important;
}

.leistungen-section.tab-fahrzeugteile::before {
    background-image: linear-gradient(180deg, #000 10%, #7b3310d1 100%) !important;
}

.leistungen-section.tab-maschinen::before {
    background-image: linear-gradient(180deg, #000 10%, #0c5228d9 100%) !important;
}

/* === STICKY TABS HEADER === */
.tps-leistungen-tabs .e-n-tabs-heading {
    position: sticky;
    width: 100%;
    z-index: 99;
    margin: 0 auto;
    transition: gap 0.3s ease-in-out 0s, width 0.5s ease-in-out 0s;
}

.tps-leistungen-tabs .e-n-tabs-heading.sticky {
    border-radius: 5px 5px 25px 25px;
    width: fit-content;
	padding: 4px;
    gap: 10px;
    margin: 0 auto;
	background: linear-gradient(90deg, rgba(25, 35, 45, 0.66) 0%, rgba(82, 114, 147, 0.66) 100%);
	backdrop-filter: blur(2.2px);
}

@media (max-width: 768px) {
    .tps-leistungen-tabs .e-n-tab-title-text {
        display: none;
    }
}

@media (max-width: 500px) {
	.tps-leistungen-tabs .e-n-tabs-heading.sticky {
		gap: 0;
	}
}

/* === BASE ICON STYLE === */
.tps-leistungen-tabs .e-n-tab-icon {
    box-sizing: border-box;
    border-radius: 100px;
    transition: all 0.3s ease;
    box-shadow: 0 0 0 4px transparent;
    color: inherit;
}

.tps-leistungen-tabs .e-n-tabs-heading .e-n-tab-title-text {
	transition: all 0.3s ease-in-out;
}

.tps-leistungen-tabs .e-n-tabs-heading.sticky .e-n-tab-title-text {
	font-size: 0px;
	line-height: 0px;
	opacity: 0px;
}

/* === WHEN STICKY ON DESKTOP === */
@media (min-width: 767px) {
	.tps-leistungen-tabs .e-n-tabs-heading {
		transition: gap 0.3s ease-in-out 0s, width 0s ease-in-out 0s;
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky {
		width: fit-content;
		gap: 5px;
		border-radius: 5px 5px 25px 25px;
		transition: gap 0.3s ease-in-out 0s, width 0.5s ease-in-out 0s;
	}
	
	.tps-leistungen-tabs .e-n-tab-icon{
		width: 70px;
		height: 70px;
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading .e-n-tab-title {
		transition: padding 0.5s ease-in-out 0.1s, gap 0.5s ease-in-out 0s;
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading.sticky .e-n-tab-title {
		gap: 0px;
		padding: 15px;
		transition: padding 0.5s ease-in-out 0s, gap 0.5s ease-in-out 0s;
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading.sticky .e-n-tab-icon {
		width: 30px;
		height: 30px;
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-industriegueter .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default-small) var(--color-industriegueter);
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-baugueter .e-n-tab-icon {
    	box-shadow: var(--leistungen-shadow-border-default-small) var(--color-baugueter);
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-fahrzeugteile .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default-small) var(--color-fahrzeugteile);
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-maschinen .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default-small) var(--color-maschinen);
	}
	
	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-industriegueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
    	box-shadow: var(--leistungen-shadow-border-default) var(--color-industriegueter), var(--leistungen-shadow-outside-medium) var(--color-industriegueter), var(--leistungen-shadow-inside-medium) var(--opacity-industriegueter) inset;
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-baugueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default) var(--color-baugueter), var(--leistungen-shadow-outside-medium) var(--color-baugueter), var(--leistungen-shadow-inside-medium) var(--opacity-baugueter) inset;
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-fahrzeugteile:is([aria-selected="true"], :hover) .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default) var(--color-fahrzeugteile), var(--leistungen-shadow-outside-medium) var(--color-fahrzeugteile), var(--leistungen-shadow-inside-medium) var(--opacity-fahrzeugteile) inset;
	}

	.tps-leistungen-tabs .e-n-tabs-heading.sticky button#tab-maschinen:is([aria-selected="true"], :hover) .e-n-tab-icon {
		box-shadow: var(--leistungen-shadow-border-default) var(--color-maschinen), var(--leistungen-shadow-outside-medium) var(--color-maschinen), var(--leistungen-shadow-inside-medium) var(--opacity-maschinen) inset;
	}
}

/* === DEFAULT SHADOW PER TAB === */
.tps-leistungen-tabs button#tab-industriegueter .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-default) var(--color-industriegueter);
}

.tps-leistungen-tabs button#tab-baugueter .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-default) var(--color-baugueter);
}

.tps-leistungen-tabs button#tab-fahrzeugteile .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-default) var(--color-fahrzeugteile);
}

.tps-leistungen-tabs button#tab-maschinen .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-default) var(--color-maschinen);
}

/* === COLOR ON ACTIVE & HOVER === */
.tps-leistungen-tabs button#tab-industriegueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-active) var(--color-industriegueter), var(--leistungen-shadow-outside) var(--color-industriegueter), var(--leistungen-shadow-inside) var(--opacity-industriegueter) inset;
}

.tps-leistungen-tabs button#tab-baugueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-active) var(--color-baugueter), var(--leistungen-shadow-outside) var(--color-baugueter), var(--leistungen-shadow-inside) var(--opacity-baugueter) inset;
}

.tps-leistungen-tabs button#tab-fahrzeugteile:is([aria-selected="true"], :hover) .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-active) var(--color-fahrzeugteile), var(--leistungen-shadow-outside) var(--color-fahrzeugteile), var(--leistungen-shadow-inside) var(--opacity-fahrzeugteile) inset;
}

.tps-leistungen-tabs button#tab-maschinen:is([aria-selected="true"], :hover) .e-n-tab-icon {
    box-shadow: var(--leistungen-shadow-border-active) var(--color-maschinen), var(--leistungen-shadow-outside) var(--color-maschinen), var(--leistungen-shadow-inside) var(--opacity-maschinen) inset;
}

@media (max-width: 768px) {
    .tps-leistungen-tabs button#tab-industriegueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
        box-shadow: var(--leistungen-shadow-border-active-medium) var(--color-industriegueter), var(--leistungen-shadow-outside-medium) var(--color-industriegueter), var(--leistungen-shadow-inside-medium) var(--opacity-industriegueter) inset;
    }

    .tps-leistungen-tabs button#tab-baugueter:is([aria-selected="true"], :hover) .e-n-tab-icon {
        box-shadow: var(--leistungen-shadow-border-active-medium) var(--color-baugueter), var(--leistungen-shadow-outside-medium) var(--color-baugueter), var(--leistungen-shadow-inside-medium) var(--opacity-baugueter) inset;
    }

    .tps-leistungen-tabs button#tab-fahrzeugteile:is([aria-selected="true"], :hover) .e-n-tab-icon {
        box-shadow: var(--leistungen-shadow-border-active-medium) var(--color-fahrzeugteile), var(--leistungen-shadow-outside-medium) var(--color-fahrzeugteile), var(--leistungen-shadow-inside-medium) var(--opacity-fahrzeugteile) inset;
    }

    .tps-leistungen-tabs button#tab-maschinen:is([aria-selected="true"], :hover) .e-n-tab-icon {
        box-shadow: var(--leistungen-shadow-border-active-medium) var(--color-maschinen), var(--leistungen-shadow-outside-medium) var(--color-maschinen), var(--leistungen-shadow-inside-medium) var(--opacity-maschinen) inset;
    }
}

/* Contact Form
======================================== */

body.elementor-page .tps-form-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

body.elementor-page .tps-form-container p {
    margin: 0 !important;
}

body.elementor-page .tps-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

body.elementor-page .tps-form-row.tps-less-gap {
    gap: 8px;
}

body.elementor-page .tps-form-column {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

body.elementor-page .tps-form-column.tps-form-column-right {
    max-width: 480px;
}

body.elementor-page .tps-form-group {
    width: 100%;
}

body.elementor-page .tps-form-group label {
    margin-bottom: 10px;
    color: #FFFFFF;
    font-family: "Inter", Sans-serif;
    font-size: 29px;
}

body.elementor-page .tps-form-group.tps-half {
    flex: 1;
}

body.elementor-page .tps-input,
body.elementor-page .tps-textarea {
    width: 100%;
    padding: 6px 11px;
    border: 1px solid #ccc;
    border-radius: 11px;
    box-sizing: border-box;
    font-size: 24px;
    font-family: "Inter", Sans-serif;
    color: #133C4E;
}

body.elementor-page .tps-input {
    min-height: 50px;
}

body.elementor-page .tps-input[type="date"] {
    font-size: 18px;
}

body.elementor-page .tps-textarea {
    min-height: 120px;
    max-height: 185px;
    resize: vertical;
}

body.elementor-page .tps-form-submit {
    text-align: right;
    margin-top: 30px;
    position: relative;
}

body.elementor-page .tps-form-submit .wpcf7-spinner {
    position: absolute;
    margin: 0;
}

body.elementor-page .tps-submit-button {
    background-color: var(--e-global-color-secondary);
    color: #000;
    padding: 11px 18px;
    font-size: 23px;
    border: none;
    border-radius: 9px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
    filter: brightness(1);
    transition: filter 0.3s ease;
    font-family: "Roboto Condensed", Sans-serif;
}

body.elementor-page .tps-submit-button:hover {
    filter: brightness(1.1);
}

body.elementor-page .tps-weight-lademeter-box {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
    background: #2C2F3D;
    color: #fff;
    font-family: "Inter", sans-serif;
    font-size: 22px;
    margin-top: 37px;
}

body.elementor-page .tps-weight-lademeter-box input {
    border: 0;
    max-width: 99px;
}

body.elementor-page .tps-weight-column,
body.elementor-page .tps-lademeter-column {
    flex: 1;
    padding: 18px 7px;
    display: flex;
    flex-direction: column;
}

body.elementor-page .tps-weight-column {
    background-color: #2A3140;
}

body.elementor-page .tps-lademeter-column {
    background-color: #697A9E;
    max-width: 190px;
}

body.elementor-page .tps-weight-label {
    font-size: 29px;
    font-weight: 500;
    margin-bottom: 10px;
}

body.elementor-page .tps-weight-sub {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0;
}

body.elementor-page .tps-value-box,
body.elementor-page .tps-value-box p {
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 10px;
    margin-inline: auto;
}

body.elementor-page .tps-weight-column .tps-value-box,
body.elementor-page .tps-weight-column .tps-value-box p {
    margin-left: 0;
}


body.elementor-page .tps-orange {
    background-color: #FF6B1B;
    color: white;
}

body.elementor-page .tps-blue {
    background-color: #28A9F1;
    color: white;
}

body.elementor-page .tps-inline-input {
    background: transparent;
    border: none;
    font-size: 30px;
    font-weight: bold;
    width: 80px;
    padding: 0;
    margin: 0;
    text-align: center;
    color: white;
}

body.elementor-page .tps-inline-input::-webkit-inner-spin-button,
body.elementor-page .tps-inline-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.elementor-page .tps-unit {
    font-size: 13px;
    font-weight: 500;
}

body.elementor-page .tps-icon-checkbox-group,
body.elementor-page .tps-icon-checkbox-group p {
    display: flex;
    justify-content: center;
    gap: 11px;
    flex-wrap: wrap;
    margin-top: 30px;
}

body.elementor-page .tps-icon-checkbox-group p {
    margin: 0;
}

body.elementor-page .tps-icon-checkbox {
    width: 110px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    gap: 11px;
    position: relative;
    background: transparent;
    cursor: pointer;
    transition: transform 0.3s ease, filter 0.3s ease;
}

body.elementor-page .tps-icon-checkbox .wpcf7-list-item {
    margin-left: 0;
}

body.elementor-page .tps-icon-checkbox .wpcf7-list-item-label {
    font-size: 10px;
    font-family: "Michroma", Sans-serif;
}

/* Remove all inner spacing CF7 adds */
body.elementor-page .tps-icon-checkbox br,
body.elementor-page .tps-icon-checkbox-group br {
    display: none;
}

body.elementor-page .tps-icon-checkbox img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    border: 4px solid transparent;
    border-radius: 100%;
}

body.elementor-page .tps-icon-checkbox.tps-blue img {
    border-color: #1EA2F8;
}

body.elementor-page .tps-icon-checkbox.tps-orange img {
    border-color: #FF681E;
}

body.elementor-page .tps-icon-checkbox.tps-pink img {
    border-color: #FE62FF;
}

body.elementor-page .tps-icon-checkbox.tps-green img {
    border-color: #1EBE5E;
}

body.elementor-page .tps-icon-checkbox>span:last-of-type {
    margin-top: 0;
    font-size: 14px;
    color: #fff;
    font-family: 'Orbitron', 'Inter', sans-serif;
    font-weight: 400;
}

/* Hide native checkbox but keep it functional */
body.elementor-page .tps-icon-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Highlight when checked */
body.elementor-page .tps-icon-checkbox.tps-blue input[type="checkbox"]:checked~img {
    box-shadow: 0 2px 34px 0 #1EA2F8;
}

body.elementor-page .tps-icon-checkbox.tps-orange:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #FF681E;
}

body.elementor-page .tps-icon-checkbox.tps-pink:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #FE62FF;
}

body.elementor-page .tps-icon-checkbox.tps-green:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #1EBE5E;
}

/* Alternative approach using label:has() for better browser support */
body.elementor-page .tps-icon-checkbox.tps-blue:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #1EA2F8;
}

body.elementor-page .tps-icon-checkbox.tps-orange:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #FF681E;
}

body.elementor-page .tps-icon-checkbox.tps-pink:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #FE62FF;
}

body.elementor-page .tps-icon-checkbox.tps-green:has(input[type="checkbox"]:checked) img {
    box-shadow: 0 2px 34px 0 #1EBE5E;
}

/* Contact form 7 valdiation */
.wpcf7 form .wpcf7-response-output {
    margin: 10px 0;
    padding: 15px 20px;
    border: 2px solid #00a0d2;
    /* Blue */
    background-color: #00a0d2;
    color: #fff;
}

.wpcf7-not-valid-tip {
    margin-top: 4px !important;
    font-size: 14px !important;
    line-height: 1.1em;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    /* Green */
    background-color: #46b450;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #dc3232;
    /* Red */
    background-color: #dc3232;
}

.wpcf7 form.spam .wpcf7-response-output {
    border-color: #f56e28;
    /* Orange */
    background-color: #f56e28;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    /* Yellow */
    background-color: #ffb900;
    color: #000;
}

@media screen and (max-width: 1200px) {

    body.elementor-page .tps-form-group label,
    body.elementor-page .tps-weight-label {
        font-size: 20px;
    }

    body.elementor-page .tps-weight-sub {
        font-size: 14px;
    }

    body.elementor-page .tps-form-row {
        gap: 30px;
    }

    body.elementor-page .tps-icon-checkbox {
        width: 90px;
    }

    body.elementor-page .tps-icon-checkbox img {
        width: 43px;
        height: 43px;
    }

    body.elementor-page .tps-icon-checkbox .wpcf7-list-item-label {
        font-size: 8px;
    }
}

@media screen and (max-width: 991px) {
    body.elementor-page .tps-form-container>.tps-form-row {
        flex-direction: column;
        gap: 75px;
    }

    body.elementor-page .tps-form-column,
    body.elementor-page .tps-form-row.tps-less-gap,
    body.elementor-page .tps-form-row {
        gap: 20px;
    }

    body.elementor-page .tps-form-column.tps-form-column-right {
        max-width: 100%;
    }

    body.elementor-page .tps-form-submit {
        text-align: center;
    }

    .tps-weight-lademeter-box,
    .tps-icon-checkbox-group {
        margin-top: 50px;
    }
}

@media screen and (max-width: 767px) {

    body.elementor-page .tps-icon-checkbox-group,
    body.elementor-page .tps-icon-checkbox-group p {
        gap: 7px;
    }

    body.elementor-page .tps-form-group label,
    body.elementor-page .tps-weight-label {
        font-size: 16px;
    }

    body.elementor-page .tps-lademeter-column {
        max-width: 127px;
    }

    body.elementor-page .tps-icon-checkbox {
        width: 75px;
    }

    body.elementor-page .tps-icon-checkbox img {
        width: 34px;
        height: 34px;
    }

    body.elementor-page .tps-icon-checkbox .wpcf7-list-item-label {
        font-size: 7px;
    }
}

@media screen and (max-width: 400px) {
    body.elementor-page .tps-icon-checkbox {
        width: 65px;
    }

    body.elementor-page .tps-icon-checkbox-group,
    body.elementor-page .tps-icon-checkbox-group p {
        gap: 3px;
    }

    body.elementor-page .tps-form-row {
        flex-direction: column;
    }
}