/*
 * polish.css — typographic and layout polish, layered over main.css.
 *
 * main.css is a 286 KB artefact mirrored from the original site and is never
 * edited. Everything here is additive and scoped, so this whole file can be
 * removed by deleting its <link> tag and the site returns to its mirrored look.
 *
 * Scoping rules of thumb:
 *   .container ...   content only — the nav, language switcher, homepage menu
 *                    and footer live outside it and keep their own styling.
 *   .kdo_jsme / .kontakt / .specializace — page wrappers, shared by the Czech
 *                    and English versions of each page, so one rule covers both.
 */

:root {
	--ps-purple: #5a1d61;
	--ps-purple-dark: #42164a;
	--ps-ink: #2b2b2b;
	--ps-muted: #6f6f6f;
	--ps-rule: #d9d9d9;
	--ps-sans: Hind, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------------------------------------------------------------- links --
   The mirrored CSS leaves content links at Bootstrap's default #337ab7,
   which clashes with the brand purple. Carousel arrows already carry their
   own colour and are excluded. */
.container a {
	color: var(--ps-purple);
	transition: color .15s ease;
}
.container a:hover,
.container a:focus {
	color: var(--ps-purple-dark);
	text-decoration: underline;
}
.container .carousel-control,
.container .carousel-control:hover,
.container .carousel-control:focus {
	color: inherit;
	text-decoration: none;
}

/* ----------------------------------------------------------- breadcrumb --
   Marked up as `<a>HOME</a> > Page<br><br>`. The <br>s are replaced by real
   margin; the class is added only on the pages polished so far. */
.breadcrumb-ps {
	font-family: var(--ps-sans);
	font-size: 12px;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ps-muted);
	margin: 26px 0 34px;
}
.breadcrumb-ps br { display: none; }
.breadcrumb-ps a { color: var(--ps-muted); text-decoration: none; }
.breadcrumb-ps a:hover,
.breadcrumb-ps a:focus { color: var(--ps-purple); text-decoration: none; }

/* ----------------------------------------------------- content typography --
   Base font-size is deliberately left alone: raising it on <body> reflows the
   homepage video overlay and the menus. Reading size is lifted here only. */
.container h1,
.container h2,
.container h3,
.container h4 {
	font-family: var(--ps-sans);
	line-height: 1.25;
	color: var(--ps-ink);
}
.container h2 {
	font-size: 25px;
	font-weight: 700;
	color: var(--ps-purple);
	margin: 0 0 16px;
}
.container h3 {
	font-size: 19px;
	font-weight: 700;
	margin: 0 0 14px;
}
.container p,
.container .wysiwyg {
	font-family: var(--ps-sans);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ps-ink);
}
/* Empty paragraphs were used as spacers in the original markup. */
.container p:empty { display: none; }

/* ------------------------------------------------ kdo jsme / who we are --
   The rotating tagline is the page's claim; at body size in a tall empty band
   it read as a stray sentence. item-rotate.js sets inline margins when it
   reveals a block, so the margin here needs !important to win. */
.kdo_jsme .container .item-animate {
	font-family: var(--ps-sans);
	font-size: 23px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--ps-ink);
	max-width: 34em;
	border-left: 3px solid var(--ps-purple);
	padding-left: 22px;
	margin: 4px 0 42px !important;
}
@media (max-width: 767px) {
	.kdo_jsme .container .item-animate {
		font-size: 19px;
		padding-left: 16px;
		margin-bottom: 30px !important;
	}
}

/* ------------------------------------------------------ kontakt / contact --
   Office blocks are h2 + .wysiwyg stacks of one-line paragraphs. They had no
   consistent rhythm, and the office anchor list sat in default blue. */
.kontakt .ps-office-nav {
	text-align: center;
	margin: 0 0 42px;
	font-size: 15px;
	color: var(--ps-muted);
}
.kontakt .ps-office-nav a {
	display: inline-block;
	padding: 2px 4px;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.kontakt .ps-office-nav a:hover {
	text-decoration: none;
	border-bottom-color: var(--ps-purple);
}

.kontakt .ps-social { margin: 0 0 10px; }
.kontakt .ps-social a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	font-size: 15px;
}
.kontakt .ps-social a:hover { text-decoration: underline; }
.kontakt .ps-social img {
	width: 22px;
	height: auto;
	flex: 0 0 auto;
}

.kontakt .container h2 {
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ps-purple);
	margin-bottom: 18px;
}
.kontakt .wysiwyg p { margin: 0 0 9px; }
.kontakt .wysiwyg p:last-child { margin-bottom: 0; }
.kontakt .ps-intro { margin-bottom: 26px; }
/* Vertical breathing room between the stacked office blocks. */
.kontakt .container .row + .row { margin-top: 46px; }

/* ------------------------------------------- specializace / specialties --
   The carousel sized itself to whichever slide was active, so the box jumped
   between 1-line and 5-line entries and the arrows sat off-centre against the
   short ones. A floor sized for the longest entry stops the resizing; it is
   desktop-only, since on narrow screens the text wraps far taller anyway. */
.specializace .bottomSlider h3 {
	color: var(--ps-purple);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 16px;
	margin-bottom: 18px;
}
.specializace .bottomSlider { padding: 26px 0 22px; }
.specializace .bottomSlider .item {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ps-ink);
}
@media (min-width: 992px) {
	.specializace .bottomSlider .carousel-inner { min-height: 118px; }
}

/* The § 14 consumer-disputes notice floated loose under the carousel. */
.specializace p.small {
	margin: 44px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--ps-rule);
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ps-muted);
}

/* On narrow screens the hero image is hidden (.image-header.hidden-xs) and the
   navbar is fixed, so page content started underneath it — the breadcrumb was
   invisible at top: 0 in the original too. Clear the 50px bar. */
@media (max-width: 767px) {
	.breadcrumb-ps { margin-top: 70px; }
}
