/* Backend CSS Manager bundle (auto-generated). DO NOT EDIT. */

/* --- button-icon.css --- */
.button-icon img {
		width: 10px; /* Icon-Größe */
		height: auto;
		transition: filter 0.3s ease; /* sanfte Filter-Animation */
		filter: brightness(0) saturate(100%) invert(18%) sepia(54%) saturate(5206%) hue-rotate(342deg) brightness(79%) contrast(118%);
}

/* Target just this button variant */
.wp-block-button.button-icon > .wp-block-button__link {
		display: flex;
		align-items: center;
		gap: .6rem;          /* space between text and icon */
		width: 100%;         /* helps if you want it to fill the button width */
}

/* Push the icon to the right edge */
.wp-block-button.button-icon > .wp-block-button__link img {
		margin-left: auto;   /* key line */
		flex: 0 0 auto;
		height: auto;
}

/* Optional: keep text on the left even if it wraps */
.wp-block-button.button-icon > .wp-block-button__link strong {
		text-align: left;
}

.wp-block-button.button-icon:hover img {
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1390%) hue-rotate(137deg) brightness(116%) contrast(100%);
}

.ueber-uns-button.button-icon img {
		filter: unset;
}

.ueber-uns-button.button-icon:hover img {
		filter: brightness(0) saturate(100%) invert(18%) sepia(54%) saturate(5206%) hue-rotate(342deg) brightness(79%) contrast(118%);
}

.wp-block-button__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* --- buttons.css --- */
/* Button Hover Effekt 1 */
a.wp-block-button__link.has-text-color.has-link-color.wp-element-button:hover {
    color: var(--color-white) !important;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-white); /* optionaler Rand */
    border-radius: 50px; /* macht den Rand schön rund */
    transition: all 0.3s ease; /* sanfte Animation */
}

/* Button Hover Effekt 2 */
a.wp-block-button__link.has-base-color.has-text-color.has-link-color.wp-element-button:hover {
    color: var(--color-primary) !important;
    background-color: var(--color-white) !important;
    border: 2px solid var(--color-primary);
    border-radius: 50px;
    transition: all 0.3s ease;
}




/* --- cover-over-footer.css --- */
/* BCM: flattened @scope(.cover-over-footer) for Firefox. */
.cover-over-footer a{
				color: unset;
		}
/* End BCM @scope */

/* --- cover.css --- */
/* BCM: flattened @scope(.wp-block-cover) for Firefox. */
.wp-block-cover .wp-block-cover__inner-container{
				padding: 0;
		}
/* End BCM @scope */

/* --- cross-area.css --- */
.cross-area::before,
.cross-area::after {
    content: none ;
}

@media (min-width: 1100px) {
    .cross-area {
        position: relative;
        width: 100%;
        min-height: 400px;
    }

    .cross-area::before,
    .cross-area::after {
        content: "";
        position: absolute;
        background-color: #cb0119;
        z-index: 1;
    }

 /* ===== Horizontale Linie ==== */
    .cross-area::before {
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        transform: translateY(-50%);
    }

/* ===== Vertikale Linie ==== */
    .cross-area::after {
        top: 0;
        left: 50%;
        width: 1px;
        height: 100%;
        transform: translateX(-50%);
    }
}

/* ?? */
.wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-6c531013.wp-block-group-is-layout-flex {
    margin: 2rem;
}

/* --- external-link-icon.css --- */
/* New file: externer-link.css */
span.external-link-icon.Custom.Right {
    display: inline-block;
    max-width: 16px;
    transform: translateY(9px);
}

.no-external-link-icon span.external-link-icon.Custom.Right {
    display: none;
}

.page-template-marxen-unterseiten span.external-link-icon.Custom.Right {
    filter: brightness(0) saturate(100%) invert(98%) sepia(74%) saturate(357%) hue-rotate(167deg) brightness(120%) contrast(100%);
}

/* --- fonts.css --- */
h1, h2, h3, h4, h5, h6 {
		font-family: 'Open Sans' !important;
}

/* --- footer-hover-effekt.css --- */
.footer-hover-effekt {
  text-decoration: none !important;     

}

.footer-hover-effekt:hover {
 color: #cb0119;      
  transition: 0.3s;     
}

/* --- footer.css --- */
/* BCM: flattened @scope(.cover-above-footer) for Firefox. */
.cover-above-footer .wp-block-image img{
				vertical-align:unset;
		}
/* End BCM @scope */

/* --- general.css --- */
:root {
  /* === Farben === */
    --color-white: #ffffff;
    --color-black: #000000;
    --color-primary: #cb0119;
    --color-bg-transparent: rgba(255, 255, 255, 0.7);
    --color-shadow: rgba(0, 0, 0, 0.3);

  /* === Clip-Path Formen === */
    --clip-desktop: polygon(0 0%, 100% 25%, 100% 88%, 0 70%);
    --clip-mobile: polygon(0 15%, 100% 25%, 100% 90%, 0 80%);
}

a {
		color: #cb0119;
}

/* --- headings.css --- */
/* ===== Unterstrich für die Headline ==== */
.heading-unterstrich {
    position: relative;
    padding-bottom: 8px;
}

.heading-unterstrich::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2em;
    height: 3px;
    background-color: var(--color-primary);
}

/* --- homepage-cover.css --- */
/* Make this cover block size itself by the image height */
.homepage-cover{
		min-height: 0 !important;
		padding: 0 !important;
		position: relative;
		display: block; /* stop the default flex sizing behavior */
		height: 80vh;
}

/* Let the image define the height (responsive) */
.homepage-cover > img.wp-block-cover__image-background{
		position: relative !important;  /* instead of absolute */
		inset: auto !important;
		min-width: 100%;
		width: auto !important;
		height: 100% !important;
		display: block;
		object-fit: cover !important; /* shows the whole image */
		z-index: 0;
		place-self: center;
}

/* Keep overlay + text on top */
.homepage-cover > .wp-block-cover__background{
		position: absolute;
		inset: 0;
		z-index: 1;
}

.homepage-cover > .wp-block-cover__inner-container{
		position: absolute;
		inset: 0;
		align-content: center;
		padding: 0;
		z-index: 2;
}

/* Slant: top-right down 2rem, bottom-left up 2rem */
.homepage-cover {
  /* optional: helps avoid a thin 1px seam on some browsers */
  overflow: hidden;

  clip-path: polygon(
    0 0,                          /* top-left */
    100% 0,                    /* top-right lowered */
    100% 100%,                    /* bottom-right */
    0 calc(100% - 10rem)           /* bottom-left raised */
  );
}

/* Optional: better Safari support */
.homepage-cover {
  -webkit-clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    0 calc(100% - 10rem)
  );
}

/* --- image-hover-effekt.css --- */
.image-hover-effekt {
    display: inline-block;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, filter 0.4s ease;
}


.image-hover-effekt::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #cb0119;
    opacity: 0; 
    transition: opacity 0.4s ease;
    pointer-events: none;
}


.image-hover-effekt:hover::after {
  opacity: 0.3; 
}

/* --- impressum-rote-bereiche.css --- */
/* New file: impressum rote bereiche.css */
.page-id-30 .entry-content a {
    color: #cb0119 !important;
}


/* --- navigation.css --- */
.navigation-homepage .wp-block-navigation a:hover,
.wp-block-navigation ul.wp-block-navigation-submenu a:hover {
		color: var(--color-primary) !important;
}

.wp-block-navigation a:hover {
		text-decoration: none !important;
}


.wp-block-navigation a:focus,
.wp-block-navigation__submenu-toggle:focus {
		outline: none !important;
		box-shadow: none !important;
}

/* --- parallelogram-block.css --- */
.parallelogram-block{
    clip-path:var(--clip-desktop);
    -webkit-clip-path: var(--clip-mobile);
    overflow: hidden;
}
@media (max-width: 768px) {
    .parallelogram-block{
        clip-path: var();
    }
}

/* --- produkte-columns.css --- */
/* BCM: flattened @scope(.produkte-columns) for Firefox. */
.produkte-columns .wp-block-cover{
				position: relative;
				overflow: hidden;
		}.produkte-columns .wp-block-cover::after{
				content: "";
				position: absolute;
				inset: 0;
				background: #cb011999;
				transform: translateX(-105%);
				transition: transform 320ms cubic-bezier(.2,.8,.2,1);
				z-index: 1;
				pointer-events: none;
		}.produkte-columns .wp-block-cover:hover::after, .produkte-columns .wp-block-cover:focus-within::after{
				transform: translateX(0);
		}.produkte-columns .wp-block-cover .wp-block-cover__inner-container{
				position: static; /* (overrides earlier "position: relative") */
		}.produkte-columns .wp-block-cover .wp-block-cover__inner-container > *{
				position: relative;
				z-index: 2;
		}.produkte-columns .wp-block-cover .wp-block-cover__inner-container p:not(.cover-overlay-text){
				transform: translateY(0);
				opacity: 1;
				transition: transform 350ms ease, opacity 250ms ease;
		}.produkte-columns .wp-block-cover:hover .wp-block-cover__inner-container p:not(.cover-overlay-text), .produkte-columns .wp-block-cover:focus-within .wp-block-cover__inner-container p:not(.cover-overlay-text){
						transform: translateY(140%);
						opacity: 0;
		}.produkte-columns .wp-block-cover .wp-block-cover__inner-container p.cover-overlay-text{
				position: absolute;          /* now relative to .wp-block-cover */
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%) translateX(-1rem);

				width: min(60ch, calc(100% - 4rem));
				margin: 0;

				color: #fff;
				opacity: 0;

				z-index: 2;
				transition: opacity 220ms ease, transform 220ms ease;
				transition-delay: 120ms;
				pointer-events: none;
				text-align: center;
		}.produkte-columns .wp-block-cover:hover .wp-block-cover__inner-container p.cover-overlay-text, .produkte-columns .wp-block-cover:focus-within .wp-block-cover__inner-container p.cover-overlay-text{
				opacity: 1;
				transform: translate(-50%, -50%) translateX(0);
		}@media (prefers-reduced-motion: reduce){.produkte-columns .wp-block-cover::after, .produkte-columns .wp-block-cover .wp-block-cover__inner-container p{
						transition: none;
				}}
/* End BCM @scope */

/* --- resolution-optimizations/a-1024.css --- */
@media (max-width: 1024px) {
		.wp-block-gallery.is-slideshow { --c2-carousel-amount-shown: 4; }
}

/* --- resolution-optimizations/b-781.css --- */
@media (max-width: 781px) {
		.cross-area.is-layout-grid {
				grid-template-columns: 1fr !important;
		}

		/* optional: make sure each grid item stretches full width */
		.cross-area.is-layout-grid > * {
				width: 100%;
		}

		.contact-us-strip .wp-block-column {
				place-items: center;
		}

		/* When the columns stack, force the column content to align left */
		.subpage-contact-header .wp-block-columns {
				justify-content: flex-start;
		}

		/* Override the "is-content-justification-right" on the inner flex group */
		.subpage-contact-header .wp-block-group.is-layout-flex.is-content-justification-right {
				justify-content: flex-start !important;
		}

		/* Optional: ensure text aligns left too */
		.subpage-contact-header .wp-block-column,
		.subpage-contact-header .wp-block-column * {
				text-align: left;
		}
		
		.wp-block-gallery.is-slideshow { --c2-carousel-amount-shown: 2; }
}


/* --- resolution-optimizations/c-480.css --- */
/* New file: resolution-optimizations/480.css */


/* --- rolling-numbers.css --- */
.c2rn {
		font-size: clamp(1.5rem, 1.318rem + 0.973vi, 3.75rem);
}

/* --- slanted-cover.css --- */
/* Slant: top-right down 2rem, bottom-left up 2rem */
.slanted-cover {
  /* optional: helps avoid a thin 1px seam on some browsers */
  overflow: hidden;

  clip-path: polygon(
    0 0,                          /* top-left */
    100% 10rem,                    /* top-right lowered */
    100% 100%,                    /* bottom-right */
    0 calc(100% - 10rem)           /* bottom-left raised */
  );
}

/* Optional: better Safari support */
.slanted-cover {
  -webkit-clip-path: polygon(
    0 0,
    100% 10rem,
    100% 100%,
    0 calc(100% - 10rem)
  );
}


/* --- tabelle.css --- */
/* BCM: flattened @scope(.wp-block-table) for Firefox. */
.wp-block-table thead{
				background: #cb0119;
		}.wp-block-table thead th{
				color: #fff;
				border-color: #cb0119;
		}.wp-block-table tbody tr:nth-child(odd){
				background-color: #f9f9f9;
		}.wp-block-table tbody td{
				border: 1px solid rgba(0, 0, 0, .07);
		}
/* End BCM @scope */

/* --- white-icon.css --- */
.white-icon {
		filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(162%) hue-rotate(79deg) brightness(115%) contrast(100%);
}

/* --- youtube-links.css --- */
/* BCM: flattened @scope(.youtube-links) for Firefox. */
.youtube-links a{
				text-decoration: underline;
		}.youtube-links a:hover{
				text-decoration: none;
				color: #000;
		}
/* End BCM @scope */
