/*********************************************************/
/*****   Andreas N. Schubert Webdesign © 2026 ************/
/*****   www.andreas-n-schubert.de ***********************/
/*********************************************************/

/* Extra Styles */

.hero {
 	padding: 7rem 0;
 	color: #fff;
 	width: 100%;

 	text-align: center;

 	background: #000;	
	background-image: url(../images/lines_dark.jpg);
	background-repeat: repeat-y;
	background-position: center;
	background-size: 60%;
}

.hero__inner {
    max-width: 100%;
    margin: 0 auto;
}

.hero__headline {
    font-size: 2rem;
    margin-bottom: 1rem;
    color: #fff;
    background: linear-gradient(0deg, #ccc 0%, #fff 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero__text {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    color: #888;
    text-shadow: 0 0 4px #000;
}

.hero__button {
    position: relative;
    display: inline-block;
    padding: 0.75rem 1.5rem;
    border: 1px solid #888;
    font-weight: bold;
    text-decoration: none;
    color: #f5f7fa; /* Text weiß im Normalzustand */
    overflow: hidden;
    cursor: pointer;
    background-color: transparent; /* Kein Hintergrund normal */
}

.hero__button span {
    position: relative;
    z-index: 2;
    display: inline-block;
    transition: color 0.35s ease; /* Textfarbe animieren */
}

.hero__button::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background-color: rgba(245, 247, 250, 0); /* Start: transparent */
    transition: height 0.35s ease, background-color 0.35s ease;
    z-index: 1;
}


.hero__button:hover::after {
    height: 100%; /* Overlay fährt hoch */
    background-color: rgba(245, 247, 250, 1); /* Endfarbe: weiß */
}

.hero__button:hover span {
    color: #000; /* Text wird schwarz */
}





/*********/

@media(min-width: 768px) {

	.hero {
		background-size: 40%;
		padding: 8rem 0;
	}

	.hero__headline {
    	font-size: 4.5rem;
	}

	.hero__text {
    	font-size: 1.8rem;
	}

}


/**    Kacheln    *******/

section.kacheln + section.kacheln {
	margin-top: 0;
}

section.kacheln .row > div {
	padding: 0;
}

.kacheln a {
	color: #000;
}

.kacheln .card {
	border: 1px solid #666;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.kacheln .card:hover {
    /* transform: translateY(-10px); */
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

.kacheln .card {
    background-color: #f5f7fa;
    border-radius: 0;
}

.kacheln .kachel-bg {
    position: absolute;
    top:0; left:0; right:0; bottom:0;
    background-size: cover;
    background-position: center;
    opacity: 0.1;
    z-index: 0;
}

.kacheln .card .card-body {
    position: relative;
    z-index: 1;
    min-height: 150px;
}

.kacheln .card .card-body .linie {
	border-bottom: 1px solid #aaa;
	width: 30px;
	transition: transform 0.5s ease, width 0.5s ease;
	margin: 10px 0 20px 0;
}

.kacheln .card .card-body:hover .linie {
	transition: transform 0.5s ease, width 0.5s ease;
	width: 150px;
}

.kacheln .card .card-body h5 {
	font-size: 1rem;
	margin-bottom: 1rem;
}

.kacheln .card .card-body .card-text {
	font-size: .7rem;
}

.kacheln .card .card-body .card-text p {
	margin-bottom: 4px;
}

.kacheln .kachel-bg {
	background-repeat: no-repeat;
	background-size: 40%;
	background-position: calc(100% + 20px) calc(100% + 20px);
}

.kacheln .kachel-schatten {
	box-shadow: 0 4px 6px rgba(0,0,0,0.2);
	background-color: #eee;
}


.kacheln .card .card-body::before {
	content: "";
	position: absolute;
	inset: 0;                     /* top:0;left:0;right:0;bottom:0; */
	background-color: rgba(170, 170, 170, .2);
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.35s ease;
	z-index: 0;
}

.kacheln .card .card-body:hover::before {
	height: 100%;
	transform: scaleY(1);
}


.kacheln .card .card-body:hover {
	color: #fff;
}
