/* ==========================================================
   Nový obsah: Profil společnosti, Osvědčení, Služby, úvodní dlaždice
   Barvy převzaty z webu (pravý sloupec a dlaždice na úvodu):
   červená #b7012a, modrá #31c0d0, zelená #689142, žlutá #debb3d
   ========================================================== */

.bs-content {
	color: #444;
	line-height: 1.6;
	font-size: 14px;
}

.bs-content p,
.bs-content h2,
.bs-content h3 {
	clear: none;
}

.bs-content p {
	margin: 0 0 12px 0;
}

.bs-content .bs-lead {
	font-size: 16px;
	color: #555;
	margin: -5px 0 25px 0;
}

.bs-content h1 {
	margin-bottom: 10px;
}

.bs-content h3 {
	font-size: 17px;
	color: #3a3a3a;
	margin: 30px 0 12px 0;
	padding-bottom: 6px;
	border-bottom: 2px solid #cfcfcf;
}

.bs-content ul {
	margin: 10px 0 20px 0;
	padding-left: 22px;
}

.bs-content ul li {
	font-size: 14px;
	margin: 6px 0;
}

/* Bílý panel na šedém pozadí webu */
.bs-panel {
	background: #FFFFFF;
	border-radius: 3px;
	padding: 25px 30px;
	margin-bottom: 25px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.bs-panel > h3:first-child {
	margin-top: 0;
}

/* Úvodní text s červenou linkou (jako blockquote na webu) */
.bs-intro {
	font-size: 16px;
	border-left: 6px solid #b7012a;
	padding-left: 25px;
	margin: 0 0 20px 0;
}

/* Profilová fotka */
.bs-photo {
	float: right;
	width: 210px;
	margin: 0 0 15px 25px;
	text-align: center;
}

.bs-photo img {
	width: 100%;
	height: auto;
	border-radius: 3px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.bs-photo span {
	display: block;
	font-size: 12px;
	color: #777;
	margin-top: 6px;
}

.bs-clear {
	clear: both;
}

/* Mřížky karet */
.bs-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 15px -8px 10px -8px;
}

.bs-grid > div {
	box-sizing: border-box;
	padding: 0 8px;
	margin-bottom: 16px;
}

.bs-grid.col2 > div { width: 50%; }
.bs-grid.col4 > div { width: 25%; }

/* Karta (tým, osvědčení) */
.bs-card {
	height: 100%;
	background: #f4f4f4;
	border-left: 4px solid #b7012a;
	border-radius: 3px;
	padding: 15px 18px;
}

.bs-card strong.name {
	display: block;
	font-size: 16px;
	color: #3a3a3a;
	margin-bottom: 6px;
}

.bs-card p {
	margin: 0 0 4px 0;
	font-size: 13px;
}

.bs-card a {
	color: #3F75EC;
	text-decoration: none;
}

.bs-card a:hover {
	text-decoration: underline;
}

.bs-card.bs-card-sm strong.name {
	font-size: 14px;
	margin-bottom: 3px;
}

.bs-card.bs-card-sm p {
	font-size: 12.5px;
}

/* Barevné varianty */
.bs-red    { border-color: #b7012a !important; }
.bs-blue   { border-color: #31c0d0 !important; }
.bs-green  { border-color: #689142 !important; }
.bs-yellow { border-color: #debb3d !important; }

/* Reference – kategorie */
.bs-ref {
	height: 100%;
	background: #f4f4f4;
	border-radius: 3px;
	padding: 15px 18px;
}

.bs-ref h4 {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: #3a3a3a;
	margin: 0 0 10px 0;
	padding-bottom: 6px;
	border-bottom: 3px solid #b7012a;
}

.bs-ref ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bs-ref ul li {
	position: relative;
	padding-left: 14px;
	margin: 5px 0;
	font-size: 13px;
}

.bs-ref ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 6px;
	height: 6px;
	border-radius: 1px;
	background: #b7012a;
}

.bs-ref.bs-blue h4   { border-bottom-color: #31c0d0; }
.bs-ref.bs-blue li:before   { background: #31c0d0; }
.bs-ref.bs-green h4  { border-bottom-color: #689142; }
.bs-ref.bs-green li:before  { background: #689142; }
.bs-ref.bs-yellow h4 { border-bottom-color: #debb3d; }
.bs-ref.bs-yellow li:before { background: #debb3d; }

.bs-more {
	text-align: center;
	font-style: italic;
	color: #777;
	margin-top: 10px;
}

/* Rozbalovací služby */
.bs-services {
	margin: 20px 0;
}

.bs-service {
	background: #FFFFFF;
	border-left: 6px solid #b7012a;
	border-radius: 3px;
	margin-bottom: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	scroll-margin-top: 20px;
}

.bs-service summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	font-size: 17px;
	font-weight: 600;
	color: #3a3a3a;
	cursor: pointer;
	list-style: none;
	user-select: none;
	outline: none;
}

.bs-service summary::-webkit-details-marker {
	display: none;
}

.bs-service summary:after {
	content: "+";
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	line-height: 28px;
	margin-left: 15px;
	text-align: center;
	font-size: 22px;
	font-weight: 400;
	color: #FFFFFF;
	background: #b7012a;
	border-radius: 3px;
}

.bs-service[open] summary:after {
	content: "\2212";
}

.bs-service summary:hover {
	background: #f7f7f7;
}

.bs-service.bs-blue summary:after   { background: #31c0d0; }
.bs-service.bs-green summary:after  { background: #689142; }
.bs-service.bs-yellow summary:after { background: #debb3d; }

.bs-service-body {
	padding: 5px 25px 18px 25px;
	border-top: 1px solid #eeeeee;
}

.bs-service-body h4 {
	font-size: 15px;
	font-weight: 600;
	color: #3a3a3a;
	margin: 18px 0 8px 0;
}

.bs-service-body p {
	margin: 10px 0;
}

/* Úvodní strana – 8 dlaždic služeb */
article.tile.bs-tile h2 {
	font-size: 1.55em;
	min-height: 2.6em;
	margin: 0 0 15px 0;
}

article.tile.bs-tile h2 a {
	text-decoration: none;
}

article.tile.bs-tile h2 a:hover {
	text-decoration: underline;
}

article.tile.bs-tile p {
	font-size: 13px;
}

article.tile.bs-tile p a {
	text-decoration: underline;
}

article.tile.bs-photo-tile {
	background-size: cover;
	background-position: center center;
}

/* Responzivita */
@media (max-width: 1000px) {
	.bs-grid.col4 > div { width: 50%; }
}

/* Všechny dlaždice v jednom bloku – řadí se plynule za sebou,
   dlaždice v jednom řádku mají vždy stejnou výšku */
section.bs-tiles {
	display: flex;
	flex-wrap: wrap;
}

section.bs-tiles:before,
section.bs-tiles:after {
	display: none;
}

section.bs-tiles > article {
	float: none;
}

/* Pozadí vždy vyplní celou dlaždici, i když je vyšší než obrázek */
article.tile.bs-tile {
	background-size: cover;
	background-position: bottom right;
}

article.tile.bs-tile.red    { background-color: #b7012a; }
article.tile.bs-tile.blue   { background-color: #31c0d0; }
article.tile.bs-tile.green  { background-color: #689142; }
article.tile.bs-tile.yellow { background-color: #debb3d; }

@media (max-width: 800px) {
	article.tile.bs-tile { height: auto; min-height: 230px; }
}

/* Pod 600 px jsou dva sloupce příliš úzké – dlaždice pod sebou */
@media (max-width: 600px) {
	section.bs-tiles > article.bs-tile { width: 100%; min-height: 0; }
	article.tile.bs-tile .padding { padding: 20px 20px 25px 25px; }
	article.tile.bs-tile h2 { min-height: 0; font-size: 1.4em; }
	article.tile.bs-tile p { padding-left: 45px; padding-right: 0; }
}

@media (max-width: 600px) {
	.bs-grid.col2 > div,
	.bs-grid.col4 > div { width: 100%; }
	.bs-photo { float: none; margin: 0 auto 20px auto; }
	.bs-panel { padding: 20px 18px; }
	.bs-service summary { font-size: 15px; padding: 14px 15px; }
	.bs-service-body { padding: 5px 15px 15px 15px; }
}

/* Úvodní strana – hlavní nadpis nad dlaždicemi (jen text) */
.bs-hero {
	text-align: center;
	padding: 35px 30px 60px 30px;
}

.bs-hero h1 {
	font-size: 2.4em;
	font-weight: 700;
	margin: 0 0 12px 0;
	color: #3a3a3a;
}

.bs-hero p {
	font-size: 16px;
	max-width: 700px;
	margin: 0 auto 22px auto;
	color: #555555;
}

.bs-hero a.bs-btn {
	display: inline-block;
	padding: 10px 28px;
	background: #b7012a;
	color: #FFFFFF;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 3px;
	transition: background 0.2s;
}

.bs-hero a.bs-btn:hover {
	background: #8f0121;
}

@media (max-width: 600px) {
	.bs-hero { padding: 25px 18px 40px 18px; }
	.bs-hero h1 { font-size: 1.9em; }
	.bs-hero p { font-size: 15px; }
}

/* Úvodní strana – sekce „O společnosti“ */
body.index section.center > article.g6 {
	float: none;
	width: 100%;
	padding: 55px 20px 60px 20px;
}

body.index section.center > article.g6 h2 {
	margin: 0 0 18px 0;
}

body.index section.center > article.g6 p {
	max-width: 760px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.7;
}

@media (max-width: 600px) {
	body.index section.center > article.g6 { padding: 35px 18px 40px 18px; }
}

/* Služby – emoji se stejnou šířkou, nadpisy zarovnané pod sebou */
.bs-service summary .bs-ico {
	flex: 0 0 34px;
	width: 34px;
	text-align: center;
	margin-right: 10px;
	font-size: 20px;
	line-height: 1;
}

.bs-service summary .bs-title {
	flex: 1 1 auto;
}

/* Osvědčení – 4 karty: 4 vedle sebe, 2 × 2, nebo pod sebou */
.bs-grid.col4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 15px 0 10px 0;
}

.bs-grid.col4 > div {
	width: auto !important;
	padding: 0;
	margin: 0;
}

@media (max-width: 1250px) {
	.bs-grid.col4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
	.bs-grid.col4 { grid-template-columns: 1fr; }
}
