@page {
	size: A4;
	margin: 1.5cm 1.2cm 1.8cm 1.2cm;
}

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
	font-family: Gilroy, "Times New Roman", Times, serif;
	font-size: 9pt;
	color: #000;
	background: #fff;
	line-height: 1.4;
	background: #fff;
}

@font-face{
	font-family:Gilroy;
	src:url(../../10/fonts/Gilroy-SemiBold.woff2) format('woff2'),
		url(../../10/fonts/Gilroy-SemiBold.woff) format('woff');
	font-weight:600;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:Gilroy;
	src:url(../../10/fonts/Gilroy-ExtraBold.woff2) format('woff2'),
		url(../../10/fonts/Gilroy-ExtraBold.woff) format('woff');
	font-weight:700;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:Gilroy;
	src:url(../../10/fonts/Gilroy-Medium.woff2) format('woff2'),
		url(../../10/fonts/Gilroy-Medium.woff) format('woff');
	font-weight:500;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:Gilroy;
	src:url(../../10/fonts/Gilroy-Regular.woff2) format('woff2'),
		url(../../10/fonts/Gilroy-Regular.woff) format('woff');
	font-weight:400;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:Gilroy;
	src:url(../../10/fonts/Gilroy-Light.woff2) format('woff2'),
		url(../../10/fonts/Gilroy-Light.woff) format('woff');
	font-weight:300;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:'UNCAGE SB';
	src:url(../../10/fonts/UNCAGE-SemiBold.woff2) format('woff2'),
		url(../../10/fonts/UNCAGE-SemiBold.woff) format('woff');
	font-weight:600;
	font-style:normal;
	font-display:swap
}

@font-face{
	font-family:'UNCAGE M';
	src:url(../../10/fonts/UNCAGE-Medium.woff2) format('woff2'),
		url(../../10/fonts/UNCAGE-Medium.woff) format('woff');
	font-weight:500;
	font-style:normal;
	font-display:swap
}



.page {
	width: 100%;
	box-sizing: border-box;
	min-width: 21cm;
}

@media screen {
	.page {
		border:1px solid #ccc;
		padding: 1.5cm 1.2cm 1cm 1.2cm;  /* те же, что в @page margin */
		background: white;
	  	box-shadow: 0 0 12px rgba(0,0,0,0.08);  /* опционально, для экрана */
	  	margin: 0;
	}
}

@media (min-width: 1024px) {
	.page {
		max-width: 21cm;          /* ≈ A4 */
		margin: 0 auto;
	}
}

h1 {
	font-size: 18pt;
	margin: 0 0 18px;
	font-family: "UNCAGE M";
}

h2 {
	font-size: 14pt;
	margin: 1.2em 0 0.6em;
	font-family: "UNCAGE M";
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

th, td {
	border: 1px solid #000;
	padding: 6px 8px;
	text-align: left;
}

th {
	background: #f5f5f5;
}

.no-print {
	display: none;
}

/* Самые частые улучшения печати */
a {
	color: #000;
	text-decoration: underline;
}

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

/* BRAVO  */

.header {
	display: flex;
	justify-content: space-between;
}

.logo {
	min-width: 40%;
	max-width: 70%;
	margin-bottom: .5cm;
	display: block;
}

.logo img {
	display: block;
}

.base {
	display: flex;
	gap: 2cm;
	padding-left: .5cm;
	margin-bottom: .2cm;
}

.base .col {
	width: calc(50% - 1cm);
}

.base .item {
	width: 100%;
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .15cm .5cm;
    align-items: end;
}

.base .item span:nth-child(odd) {
	font-weight: 400;
}

.base .item span:nth-child(even) {
	font-weight: 500;
}

.cur_rate {
	display: flex;
	gap: 1cm;
	justify-content: space-between;
	padding: .2cm .2cm;
	background: #d8d8d8;
	border: 1px solid #ccc;
	border-width: 1px 1px 0 1px;
	max-width: calc(100% - 2px);
}

.price-breakdown {
	max-width: calc(100% - 2px);
}


.price-breakdown__header {
	display: none;
}

.price-breakdown__desc {
	display: none;
}

.price-breakdown__section,
.price-breakdown__total {
	display: flex;
	gap: 1cm;
	justify-content: space-between;
	border: 1px solid #ccc;
	border-width: 1px 1px 0 1px;
	padding: .05cm .2cm;
	align-items: center;
}


.price-breakdown__price {
	text-align: right;
}

.price-breakdown__subtitle {
	padding:0;
	margin:0;
}

.price-breakdown__price > span {
	display: block;
}

.price-breakdown__price > span:nth-child(1) {
	font-weight: 500;
}

.price-breakdown__footer {
	margin-bottom: .2cm;
	border-bottom: 1px solid #ccc;
	background: #d8d8d8;
}

.price-breakdown__footer .price-breakdown__total {
	border-bottom: 0;
	font-weight: 700;
}


.phones,
.address_box {
	margin-bottom: .3cm;
}

.address_box .item,
.phones .item {
	margin-bottom: .2cm;
}

.address_box .item {
	gap: .2cm;
	font-family: Arial, Tahoma;
	font-size: 10pt;
}

.address_box .item span:first-child {
	white-space: nowrap;
	margin-right: .2cm;
}


.sign_box .sign {
	position: relative;
	min-height: 130px;
}

.sign_box .sign img:nth-child(1) {
	display: block;
	margin-left: auto;
	margin-right: 3cm;
}

.sign_box .sign img:nth-child(2) {
	position: absolute;
	z-index: 1;
	right:0;
	top:-2cm;
}

.flag {
	max-width: .5cm;
	display: inline-block;
	margin-right: .2rem;
}