/*!
Theme Name: Borghs Catering
Theme URI: https://them.es/starter
Author: serend.design
Author URI: https://serend.design
Description: 
Version: 3.6.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: borghs-catering
*/

:root {
	--borghs-primary: #B61F29;
	--borghs-secondary: #B61F29;
	--borghs-bg: #F2E8E3;
	--borghs-text: #4a4a4a;
	--borghs-primary-rgb: 182, 31, 41;
	--borghs-secondary-rgb: 182, 31, 41;
	--borghs-success: #20bb55 !important;
}

.mobile-sticky-cta-wrapper {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 1050;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(24px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.mobile-sticky-cta-wrapper.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.mobile-sticky-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	font-size: 1.05rem;
	box-shadow: 0 16px 40px rgba(16, 24, 32, 0.22);
	color: white;
	transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
	background: linear-gradient(135deg, var(--borghs-primary), var(--borghs-secondary));
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
}

.mobile-sticky-cta-button:hover,
.mobile-sticky-cta-button:focus,
.mobile-sticky-cta-button:active {
	background: linear-gradient(135deg, var(--borghs-primary), var(--borghs-secondary));
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 20px 45px rgba(16, 24, 32, 0.26);
}

.mobile-sticky-cta-button svg {
	flex-shrink: 0;
}

@media (max-width: 575.98px) {
	.mobile-sticky-cta-wrapper {
		left: 12px;
		right: 12px;
		bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	}

	.mobile-sticky-cta-button {
		padding: 0.95rem 1rem;
		font-size: 1rem;
	}
}

@media (min-width: 992px) {
	.mobile-sticky-cta-wrapper {
		display: none;
	}
}

body {
	background-color: #E5D6C6;
	font-family: Inter, sans-serif;
    color: #32343c;
	font-style: normal; 
	font-variant: normal; 
	font-weight: 400; 
	letter-spacing: -0.08px;
	line-height: 27.2px;
	text-decoration: none solid rgb(109, 110, 108);
	text-align: left;
	word-spacing: 0px;

}

p {
font-size: 15px;
letter-spacing: -0.08px;
line-height: 25.2px;
text-decoration: none solid rgb(109, 110, 108);
text-align: left;
word-spacing: 0px;
color: #4d4949;
}

@media (min-width: 1200px) {
    .h2, h2 {
        font-size: 24px;
		line-height: 36px;
		color: var(--borghs-primary);
		}
		.h3, h3 {
			font-size: 18px;
			line-height: 27px;
			}		
		}

img {
    border-radius: 10px;
}
.alignnone {
	margin: 5px 20px 20px 0;
}
img.bio-icon {
    position: absolute;
    left: 20px;
    top: 10px;
    width: 100px;
}
.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}
button.navbar-toggler.ms-auto.d-lg-none {
    background: #fff;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-16018d1d.wp-block-buttons-is-layout-flex {
    justify-content: center;
    margin-bottom: 30px;
}
.wp-block-cover {
    border-radius: 20px;
}
.wp-block-cover a {
color: #fff}
.gallery-image-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
}
.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
figure.wp-block-video {
    border-radius: 15px;
    overflow: hidden;
}
.nav-link:focus-visible {
    outline: 0;
    box-shadow: none !important;
}
.brand-logo {
	color: var(--borghs-primary);
	font-weight: 700;
	font-size: 1.5rem;
	text-decoration: none;
	display: flex;
	align-items: center;
}

.brand-logo:hover {
	color: var(--borghs-secondary);
}

.brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.brand-main {
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: 2px;
}

.brand-sub {
	font-size: 0.9rem;
	font-weight: 400;
	color: var(--borghs-text);
	margin-top: -2px;
}

.dropdown-menu[data-bs-popper] {
top: 100%;
left: -50%;
margin-top: 15px;
}

.navbar-nav .nav-link {
color: var(--borghs-text);
font-weight: 500;
padding: 6px 15px !important;
border-radius: 25px;
transition: color 0.2s ease;
position: relative;
margin: 0px 5px;
z-index: 2;
background: transparent;
}
.navbar-nav .nav-link.pill-visible,
.navbar-nav .nav-link.pill-active {
	color: white;
}



.btn-cta {
	background-color: var(--borghs-primary);
	border: none;
	color: white;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 25px;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(160, 85, 61, 0.3);
}

.btn-cta:hover {
	background-color: var(--borghs-secondary);
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(160, 85, 61, 0.4);
}

.navbar-toggler {
	border: none;
	padding: 0.25rem 0.5rem;
}

.navbar-toggler:focus {
	box-shadow: none;
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Crect fill='%23b61f29' x='4' y='13.74' width='16.92' height='2.52' rx='1.26' ry='1.26'/%3E%3Crect fill='%23b61f29' x='4' y='5.74' width='22' height='2.52' rx='1.26' ry='1.26'/%3E%3Crect fill='%23b61f29' x='4' y='21.74' width='22' height='2.52' rx='1.26' ry='1.26'/%3E%3C/svg%3E");
}

ul.navbar-nav.mx-auto {
background: #fff;
border-radius: 500px;
padding: 10px 5px;
position: relative;
z-index: 1;
}

div#anfragemodul {
    background: rgb(0 0 0 / 40%);
    z-index: 9999;
}

/* Sliding background element */
.nav-slider {
	position: absolute;
	background-color: var(--borghs-primary);
	border-radius: 25px;
	transition: left 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94), width 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.18s ease;
	z-index: 1;
	opacity: 0;
	top: 10px;
	height: calc(100% - 20px);
}

.nav-slider.active {
	opacity: 1;
}

/* Dropdown Styling */
.dropdown-menu {
	background-color: white;
	border: 1px solid rgba(160, 85, 61, 0.1);
	border-radius: 15px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	padding: 0.5rem;
	margin-top: 13px;
	min-width: 400px;
	display: none;
}

.dropdown-menu.show {
	display: block;
}

.dropdown-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin-bottom: 0.5rem;
}

.dropdown-item {
	color: var(--borghs-text);
	font-weight: 500;
	padding: 0.5rem 1rem;
	transition: all 0.3s ease;
	border-radius: 8px;
	margin: 0.1rem;
	text-align: center;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background-color: var(--borghs-primary);
	color: white;
}

.videocontainer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: -1;
overflow: hidden;
}

.videocontainer video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.dropdown-item.full-width {
	background-color: var(--borghs-primary);
	color: white;
	text-align: center;
	font-weight: 600;
	border-radius: 10px;
	margin: 0.5rem 0.1rem 0.1rem 0.1rem;
	padding: 0.75rem 1rem;
}

h1.subline-startpage.scroll-fade-in-left.fade-in-visible {
    color: #fff;
}

.dropdown-item.full-width:hover,
.dropdown-item.full-width:focus {
	background-color: var(--borghs-secondary);
	color: white;
	transform: translateY(-1px);
}

.nav-link.dropdown-toggle::after {
	display: none;
}

.dropdown-icon {
transition: color 0.3s ease;
margin-bottom: 3px;
}

.nav-link:hover .dropdown-icon,
.nav-link.pill-visible .dropdown-icon,
.nav-link.pill-active .dropdown-icon {
	stroke: white;
}

/* Mobile Fullscreen Modal */
.mobile-menu-modal {
	background-color: rgba(0, 0, 0, 0.95);
}

.mobile-menu-modal .modal-content {
	background-color: var(--borghs-bg);
	border: none;
	border-radius: 0;
	height: 100vh;
}

.mobile-menu-header {
	background-color: white;
	padding: 1rem 1.5rem;
	border-bottom: 1px solid rgba(182, 31, 41, 0.1);
}

.mobile-menu-body {
	padding: 2rem 1.5rem;
	overflow-y: auto;
}

.mobile-nav-link {
	display: block;
	color: var(--borghs-text);
	font-weight: 600;
	background-color: #fff;
	font-size: 1.1rem;
	padding: 1rem 10px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182, 31, 41, 0.1);
	transition: color 0.3s ease;
}

.mobile-nav-link:hover {
	color: var(--borghs-primary);
}

.mobile-nav-link.slider-active {
	color: var(--borghs-primary);
	font-weight: 700;
}

.mobile-nav-link:last-child {
	border-bottom: none;
}

/* Mobile Accordion Styling */
.mobile-accordion .accordion-button {
	background-color: transparent;
	border: none;
	border-bottom: 1px solid rgba(182, 31, 41, 0.1);
	border-radius: 0;
	color: var(--borghs-text);
	font-weight: 600;
	font-size: 1.1rem;
	padding: 1rem 10px;
	box-shadow: none;
}

.mobile-accordion .accordion-button:not(.collapsed) {
	background-color: transparent;
	color: var(--borghs-primary);
	box-shadow: none;
}

.mobile-accordion .accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23B61F29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	transform: scale(0.8);
}

.mobile-accordion .accordion-button:not(.collapsed)::after {
	transform: scale(0.8) rotate(-180deg);
}

.mobile-accordion .accordion-collapse {
	border: none;
}

.mobile-accordion .accordion-body {
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 10px;
	margin-bottom: 0.5rem;
}

.mobile-dropdown-item {
	display: block;
	color: var(--borghs-text);
	font-weight: 500;
	padding: 0.75rem 1rem;
	text-decoration: none;
	border-radius: 8px;
	margin: 0.25rem 0;
	transition: all 0.3s ease;
}

.mobile-dropdown-item:hover {
	background-color: var(--borghs-primary);
	color: white;
	transform: translateX(5px);
}

.mobile-dropdown-item.full-width {
	background-color: var(--borghs-primary);
	color: white;
	text-align: center;
	font-weight: 600;
	margin-top: 1rem;
	padding: 1rem;
}

.mobile-dropdown-item.full-width:hover {
	background-color: var(--borghs-secondary);
	transform: translateX(0) translateY(-2px);
}

.mobile-cta-button {
	margin-top: 2rem;
	width: 100%;
	padding: 1rem;
	font-size: 1.1rem;
	background-color: var(--borghs-primary);
	border: none;
	color: white;
	font-weight: 600;
	border-radius: 15px;
	transition: all 0.3s ease;
	color: white;
}

.mobile-cta-button:hover {
	background-color: var(--borghs-secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(182, 31, 41, 0.3);
}

.btn-close-custom {
	background: none;
	border: none;
	font-size: 1.5rem;
	color: var(--borghs-primary);
	padding: 0;
	width: auto;
	height: auto;
	opacity: 1;
}




.contentblock {
position: relative;
z-index: 1;
background-color: var(--borghs-bg);
padding: 30px 0px;
}

.contentblock::before {
	content: '';
	background: url(inc/border-top.svg);
	width: 100%;
	height: 150px;
	position: absolute;
	top: -60px;
	z-index: -1;
	}


.contentblock::after {
	content: '';
	background: url(inc/border-top.svg);
	width: 100%;
	height: 150px;
	position: absolute;
	bottom: -60px;
	z-index: -1;
    transform: rotate(180deg);
}

	.fulllineslogan {
		font-size: 82px;
		font-family: 'Archivo Black';
		text-align: center;
		line-height: 80px;
		letter-spacing: -5px;
		text-transform: uppercase;
	}
	
	.fulllinesloganrep.line4 {
		font-family: 'Michigan Signature';
		color: #b61f29;
		text-align: center;
		font-size: 34px;
	}

	.whiterow {
		background: #fff;
		border-radius: 15px;
		padding: 15px;
		margin-bottom: 15px;
	}
	
	

@media (max-width: 991.98px) {

	.whiterow {
		background: #fff;
		border-radius: 15px;
		padding: 15px;
	}
	
	

	.fulllineslogan {
		font-size: 38px;
		font-family: 'Archivo Black';
		text-align: center;
		line-height: 38px;
		letter-spacing: 0px;
		text-transform: uppercase;
	}
	
	.fulllinesloganrep.line4 {
		font-family: 'Michigan Signature';
		color: #b61f29;
		text-align: center;
		font-size: 28px;
	}

	.navbar-collapse {
		display: none !important;
	}


.contentblock::after {
	content: '';
	background: url(inc/border-top.svg);
	width: 100%;
	height: 30px;
	position: absolute;
	bottom: -20px;
	z-index: -1;
    transform: rotate(180deg);
}

	.contentblock::before {
        content: '';
        background: url(inc/border-top.svg);
        width: 100%;
        height: 30px;
        position: absolute;
        top: -20px;
        z-index: -1;
    }

}

a.btn.btn-primary:focus {
    background: transparent;
}

/* Jumbotron Styles */

.jumbatronfrontpage {
height: 80vh;
padding-bottom: 60px;

}

.jumbatronpage {
    background-color: #e4d7c6;
    height: 300px;
    margin-bottom: 60px;
}

.jumbotron h1 {
	color: var(--borghs-primary);
	font-weight: 600;
}

.jumbotron p {
	color: var(--borghs-secondary);
}

/* Header Front Text Styles 
.header-front-borghs {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 230px;
}
*/
.header-front-borghs {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

h1.fullline, .fullline {
	font-weight: 800;
	color: #fff;
	white-space: nowrap;
	line-height: 0.8;
	text-transform: uppercase;
	letter-spacing: -10px;
	font-family: 'Archivo Black';
	margin: 0;
	padding: 0;
	opacity: 0;
	font-size: 100px; /* Initial reasonable size */
	transition: opacity 0.6s ease-in-out;
}

h2.secondline, .secondline {
	font-weight: 600;
	color: var(--borghs-primary);
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	letter-spacing: 0.1em;
	font-family: 'Michigan Signature';
	margin: 0;
	padding: 0;
	opacity: 0;
	font-size: 40px; /* Initial reasonable size */
	transition: opacity 0.6s ease-in-out;
}

h1.fullline.loaded, .fullline.loaded {
	opacity: 1;
}

h2.secondline.loaded, .secondline.loaded {
	opacity: 1;
}
.subline-startpage {
background: #b61f29;
color: #fff;
display: inline-block;
padding: 5px 15px;
border-radius: 200px;
margin-bottom: 20px;
font-weight: 600;
}   

p.text-start {
color: #fff;
margin-top: 10px;
}

/* Modal Tab Styles - Like Main Navigation */
.modal-tab-container {
	background: #fff;
	border-radius: 500px;
	padding: 10px 10px;
	position: relative;
	border: 1px solid rgba(160, 85, 61, 0.1);
}

.modal-header {
border: 0px;
}

.modal-tab-container .nav-tabs {
	border: none;
	background: transparent;
	position: relative;
}

.modal-tab-container .nav-tabs .nav-link {
	color: var(--borghs-text);
	font-weight: 500;
	padding: 6px 15px !important;
	border-radius: 25px;
	transition: color 0.3s ease, transform 0.2s ease;
	position: relative;
	margin: 0px 5px;
	z-index: 2;
	background: transparent;
	border: none;
}

.modal-tab-container .nav-tabs .nav-link:hover {
	color: var(--borghs-primary);
	transform: translateY(-1px);
}

.modal-tab-container .nav-tabs .nav-link.slider-active {
	color: white;
	transform: translateY(-1px);
}

.modal-tab-container .nav-tabs .nav-link i {
	font-size: 1.1em;
}

/* Modal Tab Slider */
.modal-tab-slider {
	position: absolute;
	background-color: var(--borghs-primary);
	border-radius: 25px;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	z-index: 1;
	opacity: 0;
	top: 10px;
	height: calc(100% - 20px);
}

.modal-tab-slider.active {
	opacity: 1;
}

/* Form Styles */
.form-label {
	font-weight: 500;
	color: var(--borghs-text);
	margin-bottom: 8px;
}

.form-control, .form-select {
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 12px 16px;
	transition: all 0.3s ease;
}

.form-control:focus, .form-select:focus {
	border-color: var(--borghs-primary);
	box-shadow: 0 0 0 0.2rem rgba(var(--borghs-primary-rgb), 0.25);
}

.btn-cta {
	background: linear-gradient(135deg, var(--borghs-primary), var(--borghs-secondary));
	border: none;
	color: white;
	padding: 12px 24px;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn-cta:hover {
	background: linear-gradient(135deg, var(--borghs-secondary), var(--borghs-primary));
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(var(--borghs-primary-rgb), 0.3);
}

/* Modal Content Animation */
.tab-pane.fade {
	transition: opacity 0.3s ease-in-out;
}

.tab-pane.fade.show {
	opacity: 1;
}

.pagefullline {
    color: #353535 !important;
}


.sloganblock {
    padding: 150px 0px;
}
/* Scroll Animation für Slogan Zeilen */
.slogan-front-borghs .fulllineslogan,
.slogan-front-borghs .fulllinesloganrep {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.slogan-front-borghs .fulllineslogan.fade-in,
.slogan-front-borghs .fulllinesloganrep.fade-in {
    opacity: 1;
    transform: translateY(0);
}

/* Verzögerung für jede Zeile */
.slogan-front-borghs .line1 {
    transition-delay: 0.2s;
}

.slogan-front-borghs .line2 {
    transition-delay: 0.5s;
}

.slogan-front-borghs .line3 {
    transition-delay: 0.8s;
}

.slogan-front-borghs .line4 {
    transition-delay: 1.1s;
}

/* Footer Styles */
.footer {
	background-color: var(--borghs-bg);
	color: var(--borghs-text);
	padding: 3rem 0;
	margin-top: 3rem;
	position: relative;
}

.footer::before {
    content: '';
    background: url(inc/border-top.svg);
    width: 100%;
    height: 60px;
    position: absolute;
    top: -20px;
}

.footer-brand .brand-text .brand-main {
	color: var(--borghs-primary);
	font-weight: 800;
	font-size: 1.8rem;
	letter-spacing: 2px;
}

.footer-brand .brand-text .brand-sub {
	color: var(--borghs-text);
	font-size: 1rem;
}

.footer-description {
	color: var(--borghs-text);
	margin-bottom: 1.5rem;
}

.footer-social a {
	color: var(--borghs-text);
	margin-right: 1rem;
	transition: color 0.3s ease;
}

.footer-social a:hover {
	color: var(--borghs-primary);
}

.footer-section-title {
	color: var(--borghs-primary);
	font-weight: 600;
	margin-bottom: 1rem;
}

.footer-link {
	color: var(--borghs-text);
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-link:hover {
	color: var(--borghs-primary);
}

.footer-contact-item {
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
}

.footer-contact-icon {
	color: var(--borghs-primary);
	margin-right: 0.5rem;
}

.footer-contact-text {
	color: var(--borghs-text);
}

.footer-social a {
    text-decoration: none !important;
}

.footer-contact-link {
	color: var(--borghs-text);
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-contact-link:hover {
	color: var(--borghs-primary);
}

.footer-separator {
	border-color: rgba(182, 31, 41, 0.2);
	margin: 2rem 0;
}
a.btn.btn-primary.btnwebloc {
    position: absolute;
    top: 10px;
    right: 10px;
    border: 0px;
    background: #353535;
}

.footer-copyright {
	color: var(--borghs-text);
	margin: 0;
	font-size: 0.9rem;
}

.footer-legal-link {
	color: var(--borghs-text);
	text-decoration: none;
	margin-right: 1.5rem;
	margin-bottom: 0.5rem;
	font-size: 0.9rem;
	transition: color 0.3s ease;
}

.footer-legal-link:hover {
	color: var(--borghs-primary);
}

.footer-legal-link:last-child {
	margin-right: 0;
}

/* Arrow Button Styles */
.btn.arrow {
    background: none;
    border: none;
    border-bottom: 2px solid var(--borghs-primary);
    color: var(--borghs-primary);
    font-weight: 600;
    padding: 0.2rem 0;
    position: relative;
    transition: all 0.3s ease;
    text-decoration: none;
    border-radius: 0px;
	box-shadow: none;
}

.btn.arrow::after {
	content: '';
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B61F29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.btn.arrow:hover {
	color: var(--borghs-secondary);
	border-bottom-color: var(--borghs-secondary);
}

.btn.arrow:hover::after {
	transform: translateY(-50%) translateX(5px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B61F29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}

.img-border {
    border-radius: 10px;
}

        /* Multistep Form Styles */
        .multistep-progress {
            margin-bottom: 2rem;
        }
        
        .progress-steps {
            display: flex;
            justify-content: space-between;
            margin-bottom: 1rem;
            position: relative;
        }
        
        .step {
            display: flex;
            flex-direction: column;
            align-items: center;
            flex: 1;
            position: relative;
        }
        
        .step-number {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: #e9ecef;
            color: var(--borghs-text);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 600;
            margin-bottom: 0.5rem;
            transition: all 0.3s ease;
            border: 2px solid #e9ecef;
        }
        
        .step.active .step-number {
            background-color: var(--borghs-primary);
            color: white;
            border-color: var(--borghs-primary);
            box-shadow: 0 2px 8px rgba(var(--borghs-primary-rgb), 0.3);
        }
        
        .step.completed .step-number {
            background-color: var(--borghs-success);
            color: white;
            border-color: var(--borghs-success);
        }
        
        .step-title {
            font-size: 0.85rem;
            text-align: center;
            color: var(--borghs-text);
            font-weight: 500;
        }
        
        .step.active .step-title {
            color: var(--borghs-primary);
            font-weight: 600;
        }
        
        .step.completed .step-title {
            color: var(--borghs-success);
        }
        
        .progress-bar {
            height: 4px;
            background-color: #e9ecef;
            border-radius: 2px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: linear-gradient(135deg, var(--borghs-primary), var(--borghs-secondary));
            border-radius: 2px;
            transition: width 0.3s ease;
        }
        
        .form-step {
            display: none;
        }
        
        .form-step.active {
            display: block;
        }
        
        /* Button animations */
        .next-step, .prev-step, .privat-next-step {
            transition: all 0.3s ease;
            border-radius: 25px;
            font-weight: 600;
            padding: 0.75rem 1.5rem;
        }
        
		.next-step, .privat-next-step {
			background: #1fbb55;
			border: none;
			color: white;
			box-shadow: 0 2px 8px rgba(var(--borghs-primary-rgb), 0.3);
		}
		.next-step:hover, .privat-next-step:hover {
			background: #198754;
			color: white;
			transform: translateY(-2px) translateX(2px);
			box-shadow: 0 4px 12px #198754;
		}
        
        .prev-step {
            background-color: transparent;
            color: var(--borghs-primary);
        }
        
        .prev-step:hover {
            background-color: var(--borghs-primary);
            color: white;
            transform: translateY(-2px) translateX(-2px);
            box-shadow: 0 4px 12px rgba(var(--borghs-primary-rgb), 0.3);
        }
        
        /* Form validation styling */
        .form-control.is-invalid {
            border-color: var(--borghs-primary);
            background-image: none;
            box-shadow: 0 0 0 0.2rem rgba(var(--borghs-primary-rgb), 0.25);
        }
        
        .form-control.is-invalid:focus {
            border-color: var(--borghs-primary);
            box-shadow: 0 0 0 0.2rem rgba(var(--borghs-primary-rgb), 0.25);
        }
        
        /* Enhanced form styling */
        .multistep-progress {
            background: rgba(255, 255, 255, 0.9);
            border-radius: 15px;
            padding: 1.5rem;
        }
        
		.form-step {
			background: rgba(255, 255, 255, 0.95);
			border-radius: 15px;
			padding: 0px 15px;
			margin-top: 1rem;
		}
        
        .form-step h6 {
            color: var(--borghs-primary);
            padding-bottom: 0.5rem;
            margin-bottom: 1.5rem;
        }
        
        /* Step connector lines */
        .progress-steps::before {
            content: '';
            position: absolute;
            top: 20px;
            left: 0;
            right: 0;
            height: 2px;
            background-color: #e9ecef;
            z-index: 0;
        }
        
        /* Responsive improvements */
        @media (max-width: 768px) {
			.header-front-borghs {
				align-items: flex-start;
			}

			h1.fullline,
			.fullline {
				width: 100%;
				max-width: 100%;
				white-space: normal;
				text-align: left;
				line-height: 0.9;
				letter-spacing: -3px;
				text-wrap: normal;
				hyphens: none;
			}

			.secondline {
				display: none;
			}

            .step-title {
                font-size: 0.75rem;
            }
            
            .step-number {
                width: 35px;
                height: 35px;
                font-size: 0.9rem;
            }
            
            .multistep-progress,
            .form-step {
                padding: 1rem;
            }
            
            .next-step, .prev-step {
                padding: 0.6rem 1.2rem;
                font-size: 0.9rem;
            }
        }


		.nav-link.active {
			background: #b51f29 !important;
			color: #fff !important;
		}

/* Borghs Liste mit Häkchen */
.list-borghs {
	list-style: none;
	padding-left: 0;
}

.list-borghs li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 0.75rem;
	color: var(--borghs-text);
}

.list-borghs li::before {
	content: "✔";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--borghs-primary);
	font-weight: bold;
	font-size: 1.1rem;
}

/* Scroll Fade-In Animation */
.scroll-fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in.fade-in-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Varianten für verschiedene Richtungen */
.scroll-fade-in-left {
	opacity: 0;
	transform: translateX(-30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in-left.fade-in-visible {
	opacity: 1;
	transform: translateX(0);
}

.scroll-fade-in-right {
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in-right.fade-in-visible {
	opacity: 1;
	transform: translateX(0);
}

/* Langsamere Animation */
.scroll-fade-in-slow {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.scroll-fade-in-slow.fade-in-visible {
	opacity: 1;
	transform: translateY(0);
}

/* 404 Error Page Styles */
.error-title {
	font-size: 120px !important;
	color: var(--borghs-primary) !important;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.error-subtitle {
	font-size: 28px !important;
	color: var(--borghs-text) !important;
	margin-top: 10px;
}

.search-section {
	background: rgba(182, 31, 41, 0.05);
	border-radius: 15px;
	padding: 1.5rem;
	border: 1px solid rgba(182, 31, 41, 0.1);
}

.search-section h5 {
	color: var(--borghs-primary);
	margin-bottom: 1rem;
}

.search-section .search-form {
	max-width: 400px;
	margin: 0 auto;
}

.navigation-help {
	margin-top: 2rem;
}

.navigation-help h5 {
	color: var(--borghs-primary);
	font-weight: 600;
}

/* Mobile Responsive für 404-Seite */
@media (max-width: 991.98px) {
	.error-title {
		font-size: 80px !important;
		line-height: 1.1;
	}
	
	.error-subtitle {
		font-size: 20px !important;
		margin-top: 5px;
	}
	
	.jumbatronpage {
		height: auto;
		min-height: 250px;
		padding: 2rem 0;
	}
	
	.search-section {
		padding: 1rem;
	}
}

@media (max-width: 768px) {
	    .jumbatronpage {
        min-height: fit-content;
        padding: 0px;
    }
}


.mobile-menu-modal button.accordion-button {
	font-family: 'Inter';
	font-weight: 600;
}

.subline-startpage {
    font-size: 13px;
}

a.location-bofrost {
    padding: 30px 20px;
    margin-top: 5px;
    display: inline-block;
    width: 100%;
    border-radius: 10px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    background: linear-gradient(135deg, #113785 0%, #3a5ca8 100%);
    transition: all 0.3s ease;
    overflow: hidden;
    position: relative;
}

a.location-bofrost::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #113785 0%, #3a5ca8 100%);
    transition: transform 0.3s ease;
    z-index: -1;
}

a.location-bofrost:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(17, 55, 133, 0.3);
}

a.location-bofrost:hover::before {
    transform: scale(1.1);
}

span.location-bofrost-sub {
    font-weight: 200;
    font-size: 12px;
    line-height: 1;
    text-decoration: underline;
    display: block;
    margin-top: 0px;
}

.wp-block-cover__inner-container.is-layout-constrained.wp-block-cover-is-layout-constrained p {
    font-family: 'Archivo Black';
    font-size: 28px !important;
}

span.inprintmwst {
    font-family: 'Inter';
    font-size: 12px;
}