#image-preview-overlay
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.85);
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#image-preview-overlay img
{
    max-width: 95%;
    max-height: 85%;
    object-fit: contain;

	border-radius: 10px;
}

#image-preview-controls
{
    margin-top: 15px;
}

.preview-button
{
    padding: 10px 20px;
    margin: 0 10px;
    font-size: 16px;
    cursor: pointer;

	border: 1px solid #efefef;
	color: #ffffff;
	background-color: #0c208a;
	transition: filter 0.2s ease;
}

.preview-button:hover
{
	filter: brightness(1.4);
}

.preview-button.disabled
{
    opacity: 0.3;
}

.sorter
{
	display: grid;
	grid-template-columns: 1fr min-content;
	align-items: center;
}

.sorter .caption
{
	text-align: right;
}

.sorter select
{
	margin: 5px 5px 10px 5px;
	padding: 10px;

	width: auto;

	outline: none;
	/* font-family: "OpenSans-Regular" !important; */
	font-size: 12px;

	background-color: #ffffff;
}

.offers-searchfieldsbrowse table
{
	table-layout: fixed;
}

.offers-searchfieldsbrowse table .title
{
	width: 300px;
}

.offers-searchfieldsbrowse table .enabled,
.offers-searchfieldsbrowse table .locked,
.offers-searchfieldsbrowse table .position
{
	width: 100px;
	text-align: center;
}

.image-loader
{
	position: relative; /* konieczne dla overlay */
}

/* loader w overlay */
.image-loader::after
{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--loader-size, 50px);
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #eaeaea;

	--b: 8px;

	-webkit-mask: repeating-conic-gradient(#0000 0deg, #000 1deg 70deg, #0000 71deg 90deg), radial-gradient(farthest-side, #0000 calc(100% - var(--b) - 1px), #000 calc(100% - var(--b)));
	-webkit-mask-composite: destination-in;
	mask-composite: intersect;

	animation: l5 1s infinite;
	pointer-events: none; /* żeby nie blokował kliknięć w element */
	z-index: 10;
}

@keyframes l5
{
	to
	{
		transform: translate(-50%, -50%) rotate(.5turn);
	}
}

/* ukrycie loadera po załadowaniu */
.image.loaded::after
{
	display: none;
}

.item-template
{
	display: none !important;
}

.containers
{
	display: grid;

	margin-top: 30px;

	grid-template-columns: 450px 1fr;
	grid-gap: 20px;
}

.containter
{
}

.offers-list
{
	display: grid;

	grid-template-columns: 1fr;
	grid-gap: 10px;

	/* width: 765px; */
}

.offers-list .links a
{
	display: inline-block;

	padding: 5px 10px;

	text-decoration: none;
	color: #0c208a;

	border: 1px solid #0c208a;
	background-color: #ffffff;
}

.offers-list .links a:hover
{
	color: #ffffff;

	background-color: #0c208a;
}

.offer-item
{
	display: grid;

	padding: 6px;
	margin-bottom: 10px;

	grid-template-columns: 300px 1fr;
	grid-gap: 10px;
}

.offer-item.template *
{
	min-height: 20px;
}

.offer-item .image
{
	display: grid;
	align-items: center;
	justify-content: center;

	border-radius: 10px;
	box-sizing: border-box;

}

.offer-item .image img
{
	display: block;

	padding: 5px;
	width: calc(100% - 1px);

	background-position: center center;
	background-size: cover;
	border: 1px solid #ebebeb;
	background-color: #f8f8f8;

	border-radius: 10px;
	box-sizing: border-box;
}

.offer-item .info
{
	display: grid;

	grid-template-columns: 1fr 1fr;
	grid-template-rows: min-content min-content max-content;
	grid-gap: 10px;
}

.offer-item .caption
{
	font-weight: bold;
	font-size: 18px;
}

.offer-item .caption a
{
	color: #3f3f3f !important;
	text-decoration: none;
}

.offer-item .price
{
	padding: 5px;

	text-align: right;
	font-size: 14px;
	color: #ffffff !important;

	background-color: #0c208a;
}

.offer-item .price b
{
	font-size: 16px;
}

.offer-item .invoice
{
	text-align: right;
}

.offer-item .features
{
	display: grid;

	grid-template-columns: 1fr 1fr;
	grid-gap: 2px;

	grid-column: 1/3;
}

.offer-item .features div
{
	padding: 5px;
	padding-left: 26px;

	border: 1px solid #ebebeb;

	background-repeat: no-repeat;
	background-position: 4px center;
	background-size: 18px;
	background-color: #f8f8f8;
}

.offer-item .features .year
{
	background-image: url('../images/year.png');
}

.offer-item .features .odo
{
	background-image: url('../images/odo.png');
}

.offer-item .features .transmission
{
	background-image: url('../images/transmission.png');
}

.offer-item .features .fuel
{
	background-image: url('../images/fuel.png');
}

.offer-item .links
{
	grid-column: 1/3;
	text-align: right;
}

.offers-search
{
	border: 1px solid #ababab;
	border-top: 5px solid #333333;

	padding: 10px;

	background-color: #ffffff;
}

.offers-search > .caption
{
	margin-bottom: 10px;

	margin: 20px 0 10px 0;
	font-size: 20px;
	font-weight: bold;
	text-transform: uppercase;
}

.offers-search span
{
	position: absolute;
	display: inline-block;

	margin-left: 5px;
	padding: 0 5px;

	font-size: 10px;
	color: #909090;

	border-radius: 100px;
	background-color: #ffffff;

	z-index: 2;
}

.offers-search .parameters div:has(input.text:focus) span,
.offers-search .parameters div:has(select:focus) span
{
}

.offers-search input.text,
.offers-search select
{
	margin-top: 10px;
	padding: 10px;

	outline: none;
	font-family: "OpenSans-Regular" !important;
	font-size: 12px;

	background-color: #ffffff;
}

.offers-search select option
{
	font-family: "OpenSans-Regular" !important;
}

.offers-search .parameters
{
	display: grid;

	grid-template-columns: 1fr 1fr;
	grid-gap: 5px;
}

.offers-search .options
{
	display: grid;

	padding-top: 20px;

	grid-template-columns: 1fr 1fr;
}

.offers-search .options div:nth-child(2n)
{
	text-align: right;
}

/* Szczegóły oferty */

.offer-details
{
	margin-top: 40px;
	margin-bottom: 40px;
	display: grid;
	grid-template-columns: 1fr 400px;
	grid-gap: 10px 40px;
}

.offer-details > div
{
}

.offer-details .title h1
{
	font-size: 22px !important;
	padding: 10px !important;
	margin: 0 !important;
}

.offer-details .title h3
{
	padding: 0 10px !important;
	margin: 0 !important;
}

.offer-details .price
{
	text-align: center;
}

.offer-details .price .brutto
{
	padding: 10px;
	font-size: 18px;

	color: #ffffff;
	background-color: #0c208a;
}

.offer-details .price .netto
{
}

.offer-details .price .document
{
	font-size: 13px;
	font-weight: bold;
}

.offer-details .price .currency
{
	font-size: 14px;
}

.offer-details .image img
{
	border-radius: 5px;
}

.offer-details .summary
{
	display: grid;
	grid-template-rows: 1fr auto;
}

.offer-details .summary table
{
	width: 100%;
	border-spacing: 1px;
	table-layout: fixed;
}

.offer-details .summary table td,
.offer-details .summary table th
{
	padding: 3px 10px;

	border: 1px solid transparent;
}

.offer-details .summary table th
{
	border-left: 3px solid #dadada;
}

.offer-details .summary .options
{
	text-align: center;
}

.offer-details .summary .options a
{
	width: 40px;
	height: 40px;

	border-radius: 50px;
	background-size: 24px;

	border: 2px solid #ffffff;
}

.offer-details .summary .options a:hover
{
	border: 2px solid #dadada;
}

.offer-details .summary .options a.icon-email { background-color: #555555; }
.offer-details .summary .options a.icon-facebook { background-color: #3b5999; }
.offer-details .summary .options a.icon-instagram { background-color: #d93175; }
.offer-details .summary .options a.icon-print { background-color: #0c208a; }
.offer-details .summary .options a.icon-twitter { background-color: #55acee; }
.offer-details .summary .options a.icon-whatsapp { background-color: #4ec95c; }

.offer-details .main-features
{
	display: grid;

	grid-template-columns: repeat(6, 1fr);
	grid-gap: 10px;
}

.offer-details .main-features div
{
	width: 100%;
	border: 2px solid #efefef;
	border-radius: 5px;
}

.offer-details .main-features div
{
	height: 120px;
	display: grid;
	align-items: center;
	justify-items: center;
	row-gap: 0;
}

.offer-details .main-features div span.icon
{
	display: block;

	height: 60px;
	margin: 0px auto;

	width: 58px;
	height: 58px;

	padding: 10px;
	border-radius: 100px;

	background: #676767 no-repeat center center;
	background-size: 28px;
}

.offer-details .main-features div.f-year span.icon
{
	background-image: url('../images/f-year.png');
}

.offer-details .main-features div.f-body span.icon
{
	background-image: url('../images/f-body.png');
}

.offer-details .main-features div.f-doors span.icon
{
	background-image: url('../images/f-doors.png');
}

.offer-details .main-features div.f-odo span.icon
{
	background-image: url('../images/f-odo.png');
}

.offer-details .main-features div.f-fuel span.icon
{
	background-image: url('../images/f-fuel.png');
}

.offer-details .main-features div.f-transmission span.icon
{
	background-image: url('../images/f-transmission.png');
}

.offer-details .main-features div span
{
	width: 100%;
	display: block;
	bottom: 10px;
	background: #efefef;
	text-align: center;
	padding: 3px;
	box-sizing: border-box;
}

.offer-details .additional-features,
.offer-details .description
{
	grid-column: 1/2;
}

.offer-details .additional-features .list
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
	gap: 10px;
}

.offer-details .additional-features .list div
{
	padding: 7px;
	box-sizing: border-box;
	border-left: 3px solid #cacaca;
	background: #f7f7f7;
}

.offer-details .contact
{
	grid-gap: 20px;
	grid-row: span 3;
	align-items: start;
}

.offer-details .contact table
{
	width: 100%;
	border-spacing: 1px;
}

.offer-details .contact table td,
.offer-details .contact table th
{
	padding: 3px 10px;

	vertical-align: top;

	border: 1px solid transparent;
}

.offer-details .contact table th
{
	border-left: 3px solid #dadada;
}

.offer-details .contact a
{
	display: block;
	color: #0c208a;
	text-decoration: none;
}

.offer-details .contact .sell
{
	color: #ffffff;
	margin: 20px 0;
	padding: 5px 0;
	background-color: #0c208a;
	text-align: center;
}

.offer-details .contact .sell a
{
	width: 130px;
	padding: 5px 10px;
	margin: 10px auto;
	display: block;
	border: 1px solid #ffffff;
	color: #ffffff;
}

.offer-details .contact .sell a:hover
{
	border: 1px solid #0c208a;
	color: #0c208a;
	background-color: #ffffff;
}

.offer-details .contact .share
{

}

.offer-details .thumbnails
{
	display: grid;
	grid-template-columns: repeat(auto-fill, 100px);
	gap: 5px;
	grid-template-rows: auto auto;
	align-items: start;
}

.offer-details .thumbnails .thumbnail
{
}

.offer-details .thumbnails .thumbnail img
{
	width: 100%;
	height: auto;
	display: block;

	padding: 0;
	margin: 0;

	cursor: pointer;

	border-radius: 5px;
	border: 3px solid transparent;
}

.offer-details .thumbnails .thumbnail img:hover
{
	border: 3px solid #efefef;
}

.offer-details div .caption
{
	margin: 10px 0;

	font-weight: bold;
	font-size: 19px;
	text-align: center;
}

.offer-details .description .content
{
	padding: 7px;
	box-sizing: border-box;
	border-left: 3px solid #cacaca;
	background: #f7f7f7;
}

.offer-details .links
{
	grid-column: 1/2;
}

.offer-details .links .content
{
	padding: 7px;
	box-sizing: border-box;
	border-left: 3px solid #cacaca;
	background: #f7f7f7;
}

#module-offers-action-printout #header-panel,
#module-offers-action-printout #left-panel,
#module-offers-action-printout #right-panel,
#module-offers-action-printout #footer-panel
{
	display: none;
}

#module-offers-action-printout #page-panel
{
	/* width: 19cm; */
}

@media screen and (max-width: 1470px)
{
	.offer-details
	{
	}

	.offer-details .image img
	{
		width: calc(100% - 1px);
	}

	.offer-details .thumbnails
	{
	}
}

@media screen and (max-width: 1180px)
{
	.offer-details
	{
		grid-template-columns: 1fr !important;
	}

	.offer-details .image img
	{
	}
}

@media screen and (max-width: 700px)
{
	.offer-details .main-features
	{
		grid-template-columns: repeat(3, 1fr);
	}

	.offer-details .additional-features .list
	{
		grid-template-columns: repeat(2, 1fr);
	}
}
