/* Modern performance optimizations - targeted instead of global */

/* Modern performance optimizations */
img {
	backface-visibility: hidden;
	transform: translateZ(0);
}

/*
CSS für Scholz Bodenbeläge Schöningen www.teppich-scholz.de
Datum: 17.02.2024 */

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../Fonts/open-sans-v34-latin-300.woff2') format('woff2'),
       url('../Fonts/open-sans-v34-latin-300.woff') format('woff');
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../Fonts/open-sans-v34-latin-regular.woff2') format('woff2'),
       url('../Fonts/open-sans-v34-latin-regular.woff') format('woff');
}

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../Fonts/roboto-v30-latin-300.woff2') format('woff2'),
       url('../Fonts/roboto-v30-latin-300.woff') format('woff');
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../Fonts/roboto-v30-latin-regular.woff2') format('woff2'),
       url('../Fonts/roboto-v30-latin-regular.woff') format('woff');
}

@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../Fonts/PTSans-Regular.ttf') format('truetype');
}


#all {
	background: url(../Images/hg-scholz.webp) no-repeat center center;
	background-attachment: scroll;
	background-size: cover;
	font-family: "Open Sans", sans-serif, Arial;
	/* Performance optimizations */
	transform: translateZ(0);
	backface-visibility: hidden;
}

#page {
	margin: auto;
	margin-top: 0;
	padding-top: 0;
	max-width: 1080px;
	min-height: 1000px;
	box-shadow: 0px 4px 5px 3px rgba(0,0,0,0.35);
	/* Performance optimizations */
	transform: translateZ(0);
	backface-visibility: hidden;
}


#logo-area {
	padding-bottom: 2%;
	padding-top: 2%;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 3%;
}

#content {
	width: 100%;
	min-height: 600px;
	background: #fff;
	padding-top: 1%;
	display: flex;
	gap: 2%;
	flex-wrap: wrap;
}

.btn-primary {
	background-color: #172983;
}

#randspalte {
	flex: 0 0 28%;
	padding: 2%;
}

#hauptbereich {
	flex: 1;
	padding: 2%;
	padding-left: 5%;
}

#footer {
	color: #fff;
	background: #172983;
	margin: 0;
	padding: 1% 2% 5% 5% ;
}

/* Modern clearfix replacement - now using flexbox, these are no longer needed */
.clear-left { clear: left; }
.clear-right { clear: right; }

/* Modern logo-area styles with flexbox */

#logo-area #scholz-logo {
	flex: 0 0 27%;
	padding-left: 3%;
	text-align: center;
}

#logo-area #scholz-logo img { 
	max-width: 90%; 
	height: auto;
}

#logo-area #scholz-fotos {
	flex: 1;
}

#logo-area #scholz-fotos img { 
	max-width: 100%; 
	height: auto
}

/* content allgemein */

#content a {
	color: #172983;
}

#content h2,
#content h1 {
	font-size: 1.4em;
	text-transform: uppercase;
	color: #172983;
	padding-bottom: 10px;
}

#content h3 {
	font-size: 1.4em;
	color: #172983;
}

#content h4 {
	font-size: 1em;
	color: #172983;
}

#content p.gross {
	font-size: 1.5em;
	color: #172983;
}

#content #hauptbereich section {
	margin-top: 20px;
}

#hauptbereich ul {
	list-style-type: image;
	list-style-image:  url("../Images/icon-bar.gif");
	margin: 3% 0 3% 10%;
}

#designboden-acc {
	background: url(../Images/tarkett-designboden-eigenschaften.jpg) no-repeat bottom;
	border: 1px solid #ddd;
	padding: 1%;
}

#designboden-acc.design {
	background: url(../Images/tarkett-designboden-eigenschaften.jpg) no-repeat bottom;
}

#designboden-acc.kork {
	background: url(../Images/kork-wicanders.jpg) no-repeat bottom;
}

#designboden-acc.lino {
	background: url(../Images/forbo-linoleum.jpg) no-repeat bottom;
}

/* Designboden responsive accordion */

#hauptbereich #designboden-acc  ul {
	list-style-type: none;
	list-style-image: none;
	margin-left: 3%;
}

#designboden-acc  ul li { padding-left: 0; }

#designboden-acc div.responsive-accordion-head {
	text-align: left;
	font-size: 1.1em;
	font-weight: bold;
	color: #172983;
	background: url(../Images/info.png) no-repeat left;
	padding-left: 25px;
}

#designboden-acc div.responsive-accordion-panel {
	padding: 3px;
	padding-left: 25px;
	text-align: left;
	background: rgba(255,255,255,0.5);
}

/* kl-menu */

#content article#kl-menu {
	margin-bottom: 20px;
}
#content article#kl-menu a {
	text-decoration: none; 
}

#content article#kl-menu h2 {
	margin-bottom: 0;
}

#content article#kl-menu ul {
	list-style-position: inside;
	list-style-type: none;
	margin: 0;
}

#content article#kl-menu li {
	border-bottom: 1px solid #ddd;
	padding: 2%;
	
}

#content article#kl-menu li:last-child {
	border-bottom: 0 solid #fff;
	padding-bottom: 0;
}

/* Redesigned link card variant */
/* Links Content Block styles moved to ContentBlocks/ContentElements/links/assets/frontend.css */


#content aside article h2 {
	margin-top: 0;
}

#content aside article.angebot h2 {
	text-transform: none;
	margin-bottom: 12px;
	margin-top: 0;
	color: #172983;
	font-weight: 600;
}


#content #hauptbereich article section  {
	font-size: 1em
}


#content #hauptbereich article:last-child,
#content #hauptbereich section:last-child ,
#content #randspalte section:last-child  {
	border-bottom: none;
	padding-bottom: 0;
}

#content hr {
	clear: left;
}

#content article img {
	max-width: 100%;
	height: auto;
}

#content article ul {
	list-style-type: disc;
	list-style-position: outside;
}

#content article ul li{
	margin-bottom: 0.5%;
}

/* randspalte */

/* Modern aside articles */
aside article {
	padding: 0;
	margin-bottom: 5%;
	background: #fff;
	transition: box-shadow 0.3s ease;
}

aside article section { 
	border-bottom: 1px solid rgba(0, 0, 0, 0.08); 
	padding: 16px; 
}

aside article section:last-child { 
	border: none; 
}

aside article img {
	max-width: 100%;
	margin-bottom: 10px;
}

/* Angebot Content Block styles moved to ContentBlocks/ContentElements/angebot/assets/frontend.css */

div.img-galerie img {
	padding: 0 1% 1% 0;
}

/* Designboden iframe responsive */
iframe {
	max-width: 100%;
}

/* Layerslider */

#layerslider { max-width: 100%; }

#layerslider h3 {
	font-size: 1.2em;
	font-weight: bold;

	color: #fff;
	background: rgba(0,0,0,0.3);
}

#layerslider p {
	padding: 5px;
	color: #fff;
	background: rgba(0,0,0,0.3);
}

#layerslider.kork p ,
#layerslider.teppich p ,
#layerslider.tapete p ,
#layerslider.farben p ,
#layerslider.designboden p ,
#layerslider.ausstellung p {
	color: #fff;
	font-size: 0.9em;
	background: rgba(0,0,0,0.3);
	padding: 1px 5px 1px 5px;	
}

/* Teppich.php Rollover-Effekte */

div.img-galerie a.teppimg {
	color: #172983 !important;
	font-weight: bold;
	padding: 8px;
	padding-top: 5px;
	display: inline-block;
	width: 150px;
	height: 150px;
	margin: 0 1% 1% 0;
}

div.img-galerie a.coppimg {
	color: #fff !important;
	font-weight: bold;
	padding: 8px;
	display: inline-block;
	width: 149px;
	height: 149;
	margin: 0 1% 1% 0;
}

div.img-galerie a.teppimg:hover {
	color: #172983 !important;
	text-decoration: none;
	cursor: default;
}

div.img-galerie a.tseide { background: url(../Images/teppich_seide.jpg) no-repeat; }
div.img-galerie a.tseide:hover { background: url(../Images/teppich_seide-text.jpg) no-repeat; }

div.img-galerie a.tsisal-kokos { background: url(../Images/teppich_sisal-kokos.jpg) no-repeat; }
div.img-galerie a.tsisal-kokos:hover { background: url(../Images/teppich_sisal-kokos-text.jpg) no-repeat; }

div.img-galerie a.twolle { background: url(../Images/teppich_wolle.jpg) no-repeat; }
div.img-galerie a.twolle:hover { background: url(../Images/teppich_wolle-text.jpg) no-repeat; }

div.img-galerie a.tziegenhaar-wolle { background: url(../Images/teppich_ziegenhaar-wolle.jpg) no-repeat; }
div.img-galerie a.tziegenhaar-wolle:hover { background: url(../Images/teppich_ziegenhaar-wolle-text.jpg) no-repeat; }

div.img-galerie a.tbambus { background: url(../Images/teppich_bambus.jpg) no-repeat; }
div.img-galerie a.tbambus:hover { background: url(../Images/teppich_bambus-text.jpg) no-repeat; }

div.img-galerie a.tmais { background: url(../Images/teppich_mais.jpg) no-repeat; }
div.img-galerie a.tmais:hover { background: url(../Images/teppich_mais-text.jpg) no-repeat; }

div.img-galerie a.tpet{ background: url(../Images/teppich_pet.jpg) no-repeat; }
div.img-galerie a.tpet:hover { background: url(../Images/teppich_pet-text.jpg) no-repeat; }

/* Linoleum */

div.img-galerie a.tbildung{ background: url(../Images/linoleum_bildungswesen.jpg) no-repeat; }
div.img-galerie a.tbildung:hover { background: url(../Images/linoleum_bildungswesen-text.jpg) no-repeat; }

div.img-galerie a.tbuero{ background: url(../Images/linoleum_buero.jpg) no-repeat; }
div.img-galerie a.tbuero:hover { background: url(../Images/linoleum_buero-text.jpg) no-repeat; }

div.img-galerie a.tgesundheit{ background: url(../Images/linoleum_gesundheitswesen.jpg) no-repeat; }
div.img-galerie a.tgesundheit:hover { background: url(../Images/linoleum_gesundheitswesen-text.jpg) no-repeat; }

/* Parkett */

div.img-galerie a.tdiele{ background: url(../Images/boen-parkettdielen.jpg) no-repeat; }
div.img-galerie a.tdiele:hover { background: url(../Images/parkettdielen-text.jpg) no-repeat; }

div.img-galerie a.tschiffsboden{ background: url(../Images/boen-parkett-schiffsboden.jpg) no-repeat; }
div.img-galerie a.tschiffsboden:hover { background: url(../Images/schiffsboden-text.jpg) no-repeat; }

div.img-galerie a.tmosaik { background: url(../Images/boen-parkett-fischgraet.jpg) no-repeat; }
div.img-galerie a.tmosaik:hover { background: url(../Images/mosaik-text.jpg) no-repeat; }

div.img-galerie a.tbodendesigner { background: url(../Images/boen-bodendesigner.jpg) no-repeat; }
div.img-galerie a.tbodendesigner:hover { background: url(../Images/boen-bodendesigner-text.jpg) no-repeat; cursor: pointer; }


div.bild {
	width: 145px;
	height: 145px;
	border: 1px solid #ddd;
}


#footer a {
	color: #b3c1e2;
}

/* Bootstrap Abweichungen */

#page .navbar {
    border-radius: 0;
	margin-bottom: 0;
}


.fhmm .dropdown-menu li.active a {
    color: #fff;
}

/* Media Queries */

/* Improve performance on mobile devices */
@media screen and (max-width: 768px) {
	/* Force background scroll attachment on mobile for better performance */
	#all {
		background-attachment: scroll !important;
	}
}

@media screen and (min-width: 1024px) {
}

/* Modern responsive design with flexbox */
@media screen and (max-width: 768px) {
	/* Stack content vertically on mobile */
	#content {
		flex-direction: column;
		gap: 0;
		padding: 2%; /* Restore mobile padding around content */
	}
	
	#randspalte {
		flex: none;
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 3%;
		padding: 2%;
		justify-items: center;
	}
	
	#randspalte article {
		width: 100%;
		max-width: 320px; /* Card max width */
		margin: 0 0 5% 0;
		height: auto;
		/* Removed aspect-ratio to allow natural height and prevent footer overlap */
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	#hauptbereich {
		flex: none;
		width: 100%;
		padding: 2%; /* Restore proper padding for main content */
	}
	
	/* Logo area mobile adjustments - keep side by side layout */
	#logo-area {
		flex-direction: row;
		align-items: flex-start;
		gap: 2%;
		padding: 2% 1%;
	}
	
	#logo-area #scholz-logo {
		flex: 0 0 25%;
		padding-left: 1%;
	}
	
	#logo-area #scholz-fotos {
		flex: 1;
	}
}

/* Tablet specific optimizations */
@media screen and (min-width: 521px) and (max-width: 768px) {
	#randspalte {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Allow 2-3 columns on tablets */
		gap: 2%;
	}
	
	#randspalte article {
		max-width: 300px; /* Slightly larger on tablets */
	}
}

@media screen and (max-width: 520px) {
	/* Single column on phones */
	#randspalte {
		grid-template-columns: 1fr; /* Force single column on small screens */
		padding: 3%;
	}
	
	#randspalte article {
		max-width: 280px; /* Smaller max-width for phones */
		/* Removed aspect-ratio on very small screens to avoid content overflow */
	}
	
	/* Ensure proper padding on very small screens */
	#content {
		padding: 3%; /* Slightly more padding for very small screens */
	}
	
	#hauptbereich {
		padding: 3%;
	}
	
	/* Very small screens - adjust logo area spacing */
	#logo-area {
		padding: 2% 3%; /* More side padding for very small screens */
		gap: 1%;
	}
	
	#logo-area #scholz-logo {
		flex: 0 0 30%;
	}
}

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

/* Progressive widening of main page container on very large screens */
@media screen and (min-width: 1400px) {
	/* Slightly widen layout on large desktops */
	#page { max-width: 1080px; }
}

@media screen and (min-width: 1700px) {
	/* Cap ultra-wide displays */
	#page { max-width: 1280px; }
}

