.home-angie
{
	width: auto;
}

.logo
{
	padding: 0 0 0 0;
	background-image: url(images/logo-large.png);
	background-image: url(images/logo.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.no-margin-padding
{
	padding: 0 0 !important;
	margin: 0 0 !important;
}

#gwarancje > .view > .content > .container
{
	padding-bottom: 48px;
}

.kontakt-background
{
	background: url(images/gabinet06.jpg), linear-gradient(transparent 0, transparent 70%, black 120%);
	background-size: cover;
	background-blend-mode: multiply;
	margin-bottom: 0;
}

	.kontakt-background h2
	{
		padding-top: 35vh;
		padding-bottom: 2vh;
		margin: 0 0;
		color: #fff;
	}

@media (max-width: 991px)
{
	.home-angie .full-size
	{
		padding-top: 210px !important;
		padding-bottom: 210px !important;
	}
}

#top-nav .navbar-brand
{
	display: inline;
	padding: 4px 0 4px 24px;
	padding-left: 24px;
}

.logo-small
{
	padding: 0 0 0 0;
	height: 40px;
}

.logo-background
{
	background-color: transparent;
}

.page-border.right
{
	bottom: 0;
	width: 0;
	border: none;
}

.page-border.left
{
	bottom: 0;
}

body
{
	padding-right: 0;
	font-size: 15px;
}

.guarantee
{
	margin: 20px 0;
}

	.guarantee em
	{
		padding-left: 10px;
		font-style: normal;
		font-weight: bold;
	}

.row
{
	padding: 0 0 0 0;
}

p
{
	font-size: 15px;
	letter-spacing: 0.75px;
}

ul
{
	letter-spacing: 0.5px;
}

#dot-scroll
{
	right: auto;
	left: 10px;
}

#top-nav
{
	margin-right: 0;
}

.ext-nav
{
	bottom: 0;
	right: 0;
}

.home-angie h1
{
	margin-left: 5%;
	font-size: 700%;
	font-weight: 700;
	text-transform: none;
}

.icon-margin
{
	padding: 15% 20% 0 20%;
}

.icon-personel
{
	padding: 10% 10% 10% 10%;
}

#map-canvas
{
	height: 70vh;
	width: 100%;
	margin: 0;
	padding: 0;
}

body > footer
{
	padding: 0 0 0 0;
}

	body > footer .bottom
	{
		margin-top: 0;
	}

.quotation
{
	height: 170px;
}

.incut
{
	height: 300px;
}

p.pricelist
{
	text-align: right;
	margin-right: 32px;
}

dl.open
{
	display: inline-block;
	width: 200px;
}

	dl.open dt
	{
		float: left;
		clear: left;
		width: 100px;
		text-align: right;
	}

	dl.open dd
	{
		margin: 0 0 0 110px;
	}

dl.pricelist dt
{
	float: left;
	width: calc(100% - 80px);
	clear: left;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	font-weight: normal;
	padding-left: 20px;
}

dl.pricelist dd
{
	margin-left: calc(100% - 70px);
	padding-bottom: 5px;
	font-weight: bold;
}

dl.pricelist-center dt
{
	width: calc(50% - 5px);
}

dl.pricelist-center dd
{
	margin-left: calc(50% + 5px);
	padding-bottom: 5px;
	font-weight: bold;
}

/* New pricelist grid: description (title + optional subtitle) and price aligned to subtitle row */
.pricelist {
	width: 100%;
}
.pricelist .price-grid {
	display: grid;
	grid-template-columns: 1fr 90px;
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: start;
	padding: 6px 0;
	border-bottom: 1px solid rgba(0,0,0,0.04);
}
.pricelist .p-title {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	font-weight: 600;
}
.pricelist .p-sub {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	color: #555;
	font-style: normal;
}
.pricelist .p-price {
	grid-column: 2 / 3;
	grid-row: 2 / 3; /* align price with subtitle row */
	text-align: right;
	font-weight: bold;
}

/* If there is no subtitle, keep price on first row by collapsing subtitle spacing */
.pricelist .p-sub:empty { min-height: 0; }

@media (max-width: 768px) {
	.pricelist .price-grid {
		grid-template-columns: 1fr 70px;
	}
}

@media (max-width: 480px) {
	/* On very small screens stack into two rows: title left, price right on same row; subtitle below spanning full width */
	.pricelist .price-grid {
		grid-template-columns: 1fr 70px;
		grid-template-rows: auto;
		align-items: center;
	}
	.pricelist .p-title { grid-row: 1; }
	.pricelist .p-price { grid-row: 1; }
	.pricelist .p-sub { grid-column: 1 / -1; grid-row: 2; margin-top: 4px; }
}

/* Sub-row (secondary price for same service) — visually group under previous item */
.pricelist .price-grid.sub-row {
	border-top: none;
	padding-top: 2px;
	padding-bottom: 6px;
	grid-template-rows: auto;
	align-items: center;
}
.pricelist .price-grid.sub-row .p-title { display: none; }
.pricelist .price-grid.sub-row .p-sub { grid-column: 1 / -1; grid-row: 1; margin-top: 0; font-style: italic; color: #555; }
.pricelist .price-grid.sub-row .p-price { grid-row: 1; grid-column: 2 / 3; }

/* Remove visible divider between a main item and its following sub-row */
.pricelist .price-grid.sub-row {
	margin-top: 0;
}
.pricelist .price-grid.no-divider { border-bottom: none; }

/* Ensure subtitle/inline italics in the cennik pricelist render as italic */
#cennik dl.pricelist dt i,
#cennik dl.pricelist dt em {
	font-style: italic !important;
}

	/* container for pricelist card to allow wider layout without affecting other elements */
	.pricelist-card { width: 100%; max-width: 740px; margin-left: auto; margin-right: auto; }


.card
{
	padding: 8px 8px 8px 8px;
	margin-top: 20px;
	background: rgba(255, 255, 255, 0.50);
}

.icon-caption
{
	letter-spacing: 0;
	font-size: 12px;
	line-height: 14px;
	padding-top: 10px;
	color: #333;
}

/* Styles moved from index.html */
dl.pricelist.pricelist-wider dd {
    margin-left: calc(100% - 90px);
}

dl.pricelist.pricelist-wider dt {
    width: calc(100% - 100px);
}

/* Larger Cennik styles (scoped to #cennik) */
#cennik h2 { font-size: 52px; line-height: 1.05; }
#cennik .card { padding: 26px 26px; }
#cennik dl.pricelist dt { font-size: 26px; padding-left: 12px; }
#cennik dl.pricelist dd { font-size: 26px; margin-left: calc(100% - 70px); }
@media (max-width: 768px) {
	#cennik h2 { font-size: 39px; }
	#cennik dl.pricelist dt, #cennik dl.pricelist dd { font-size: 24px; }
}

/* Mobile adjustments: fix pricelist alignment and add spacing for header images */
@media (max-width: 768px) {
	/* Make pricelist labels stack and prices align right for header images only
	   (do not affect the #cennik pricelist layout) */
	#wstep dl.pricelist dt {
		float: none;
		width: 100%;
		clear: none;
		text-align: left;
		padding-left: 0;
		margin-bottom: 6px;
	}
	#wstep dl.pricelist dd {
		margin-left: 0;
		padding-top: 0 !important;
		padding-bottom: 12px;
		font-weight: bold;
		text-align: right;
		padding-right: 15px;
	}

	/* Ensure special wider pricelist also stacks nicely */
	dl.pricelist.pricelist-wider dd {
		margin-left: 0;
	}

	/* Add vertical spacing between header images (those in /images/header) when stacked */
	#wstep img[src*="images/header/"] {
		margin-bottom: 12px;
	}
}

@media (max-width: 768px)
{
	.mobile-fixedwidth
	{
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}
}

.ext-nav a
{
	height: 20% !important;
	padding: 0 0 0 0;
}

.ext-nav .full-height
{
	height: 100%;
}

.ext-nav .row
{
	margin: 0 0 0 0;
}

/*@media (min-width: 768px)
{
	dl.pricelist dt
	{
		margin-left: calc(80%);
	}
	dl.pricelist dd
	{
		margin-left: calc(85%);
	}
}*/

.view > .content
{
	padding-left: 24px;
	padding-right: 24px;
}

.ext-nav > .view > .content
{
	padding-left: 0;
	padding-right: 0;
}

#guarantee
{
	padding-bottom: 0;
}

@media (max-width: 991px)
{
	.view > .content
	{
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.text-justify
	{
		text-align: left;
	}
}

.text-huge
{
	font-size: 32px;
	font-weight: bold;
	line-height: 40px;
	text-align: center;
	padding: 10px 0 10px 0;
	margin: 0 0 0 0;
}

@media (max-width: 768px)
{
	.text-huge
	{
		font-size: 20px;
		line-height: 26px;
	}
}

@media (max-width: 600px) {
	/* Header images: compact grid thumbnails on small screens */
	/* Make the columns behave as 50% tiles so images form a grid (2 columns) */
	#wstep .row { margin-left: -6px; margin-right: -6px; }
	#wstep .row > .col-sm-6 {
		width: 50%;
		float: left;
		padding-left: 6px;
		padding-right: 6px;
		box-sizing: border-box;
	}

	/* Restrict image size so they become much smaller thumbnails */
	#wstep img[src*="images/header/"] {
		width: 100%;
		max-width: 160px;
		height: auto;
		display: block;
		margin: 6px auto 10px;
		border-radius: 4px;
	}
}

.info-window
{
	margin-left: auto;
	margin-right: auto;
	margin-top: 16px;
	display: block;
}

.filter-blur
{
	-webkit-filter: blur(6px);
	-moz-filter: blur(6px);
	-o-filter: blur(6px);
	-ms-filter: blur(6px);
	filter: blur(6px);
}
