/* Ultraline Legal & Epay. Все правила ограничены классами .ulg* и не затрагивают тему. */

/* ---------- Страницы документов ---------- */
.ulg {
	--ulg-ink: #0b2836;
	--ulg-muted: #4a6573;
	--ulg-blue: #17a6ec;
	--ulg-blue-dark: #0b7fba;
	--ulg-card: #f3f7ff;
	--ulg-line: #d5e9f5;
	padding: 40px 0 80px;
	color: var(--ulg-ink);
}
.ulg-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 14px;
	color: var(--ulg-muted);
	margin-bottom: 16px;
}
.ulg-crumbs a { color: var(--ulg-blue-dark); }
.ulg-crumbs a:hover { text-decoration: underline; }
.ulg .ulg-title {
	font-size: 40px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 32px;
	max-width: 900px;
}
.ulg-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 32px;
	align-items: start;
}
.ulg-card {
	background: var(--ulg-card);
	border-radius: 64px;
	padding: 48px 72px;
	min-width: 0;
}
.ulg-side {
	position: sticky;
	top: 24px;
	background: var(--ulg-card);
	border-radius: 32px;
	padding: 24px;
}
.ulg-side__head {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 12px;
}
.ulg-side ul { display: grid; gap: 4px; }
.ulg-side a {
	display: block;
	padding: 8px 12px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ulg-ink);
}
.ulg-side a:hover { background: #e4f6ff; color: var(--ulg-blue-dark); }
.ulg-side a.is-active { background: var(--ulg-blue); color: #fff; }

/* Типографика внутри документа: тема обнуляет отступы и маркеры списков. */
.ulg-doc { font-size: 16px; line-height: 1.6; overflow-wrap: break-word; }
.ulg-doc p { margin: 0 0 12px; }
.ulg-doc h2 {
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	margin: 32px 0 16px;
	padding-top: 24px;
	border-top: 1px solid var(--ulg-line);
}
.ulg-doc h2:first-child,
.ulg-doc .ulg-docmeta + h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.ulg-doc h3 {
	font-size: 19px;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	margin: 24px 0 12px;
}
.ulg-doc a { display: inline; color: var(--ulg-blue-dark); text-decoration: underline; text-underline-offset: 2px; }
.ulg-doc a:hover { color: var(--ulg-blue); }
.ulg-doc strong { font-weight: 700; }
.ulg-doc ul,
.ulg-doc ol { margin: 0 0 16px; padding-left: 24px; }
.ulg-doc ul { list-style: disc; }
.ulg-doc ol { list-style: decimal; }
.ulg-doc li { margin: 0 0 6px; padding-left: 4px; }
.ulg-doc .ulg-l1 { padding-left: 0; }
.ulg-doc .ulg-l2 { padding-left: 24px; }
.ulg-doc .ulg-bullet { position: relative; padding-left: 48px; }
.ulg-doc .ulg-bullet::before { content: "•"; position: absolute; left: 30px; }
.ulg-doc .ulg-addr { padding-left: 24px; margin-bottom: 2px; }
.ulg-doc .ulg-req { margin-bottom: 4px; }
.ulg-doc .ulg-docmeta {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: var(--ulg-muted);
	font-size: 15px;
	margin-bottom: 24px;
}

/* Лицензия */
.ulg-lic {
	background: #fff;
	border-radius: 24px;
	padding: 20px 24px;
	margin: 16px 0 20px;
}
.ulg-lic p { margin: 0 0 6px; }
.ulg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.ulg-doc a.ulg-btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 22px;
	border-radius: 12px;
	background: var(--ulg-blue);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
.ulg-doc a.ulg-btn:hover { background: var(--ulg-blue-dark); color: #fff; }
.ulg-doc a.ulg-btn--ghost { background: #fff; color: var(--ulg-blue-dark); box-shadow: inset 0 0 0 2px var(--ulg-blue); }
.ulg-doc a.ulg-btn--ghost:hover { background: #e4f6ff; color: var(--ulg-blue-dark); }
.ulg-table-wrap { overflow-x: auto; margin: 0 0 24px; border-radius: 16px; background: #fff; }
.ulg-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.ulg-table th,
.ulg-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ulg-line); }
.ulg-table th { background: #e4f6ff; font-weight: 700; white-space: nowrap; }
.ulg-table td:nth-child(1),
.ulg-table td:nth-child(2) { white-space: nowrap; }
.ulg-table tr:last-child td { border-bottom: 0; }
.ulg-pdf { margin-top: 24px; border-radius: 24px; overflow: hidden; background: #fff; }
.ulg-pdf object { display: block; width: 100%; height: 900px; border: 0; }
.ulg-pdf p { padding: 24px; margin: 0; }

/* ---------- Блок «Документы и оплата» в подвале ---------- */
.ulg-band {
	margin: 32px 0 8px;
	padding: 24px 0 8px;
	border-top: 1px solid rgba(243, 247, 255, 0.35);
	color: #f3f7ff;
	font-size: 14px;
	line-height: 1.5;
}
.ulg-band__row { display: flex; flex-wrap: wrap; gap: 24px 48px; justify-content: space-between; }
.ulg-band__col { min-width: 0; flex: 1 1 420px; }
.ulg-band__col--pay { flex: 0 1 440px; }
.ulg-band__head { font-weight: 700; font-size: 16px; margin-bottom: 10px; }
.ulg-band__docs { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ulg-band__docs a,
.ulg-band__lic a {
	display: inline;
	color: #f3f7ff;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(243, 247, 255, 0.5);
	text-underline-offset: 3px;
}
.ulg-band__docs a:hover,
.ulg-band__lic a:hover { text-decoration-color: #f3f7ff; }
.ulg-logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ulg-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	min-width: 56px;
	padding: 4px 10px;
	background: #fff;
	border-radius: 8px;
}
.ulg-logo img { display: block; height: 28px; width: auto; max-width: 96px; }
.ulg-logo-text { color: #0b2836; font-weight: 700; font-size: 13px; white-space: nowrap; }
.ulg-band__lic,
.ulg-band__note { margin: 16px 0 0; opacity: 0.95; }
.ulg-band__note { font-size: 13px; opacity: 0.85; }
.ulg-band-wrap { background: #17a6ec; padding: 8px 0 16px; }

/* ---------- Адаптив (брейкпоинты темы: 1250 / 991 / 767) ---------- */
@media (max-width: 1250px) {
	.ulg-card { padding: 40px 48px; }
}
@media (max-width: 991px) {
	.ulg-layout { grid-template-columns: 1fr; }
	.ulg-side { position: static; order: 2; }
	.ulg-card { border-radius: 30px; padding: 32px 28px; }
	.ulg .ulg-title { font-size: 32px; }
	.ulg-pdf object { height: 640px; }
}
@media (max-width: 767px) {
	.ulg { padding: 24px 0 48px; }
	.ulg .ulg-title { font-size: 26px; margin-bottom: 20px; }
	.ulg-card { border-radius: 24px; padding: 24px 16px; }
	.ulg-doc { font-size: 15px; }
	.ulg-doc h2 { font-size: 20px; }
	.ulg-doc .ulg-docmeta { flex-direction: column; gap: 4px; }
	.ulg-doc .ulg-bullet { padding-left: 32px; }
	.ulg-doc .ulg-bullet::before { left: 16px; }
	.ulg-side { border-radius: 24px; padding: 16px; }
	.ulg-band { margin-top: 24px; }
	.ulg-table-wrap { background: transparent; overflow: visible; }
	.ulg-table thead { display: none; }
	.ulg-table,
	.ulg-table tbody,
	.ulg-table tr,
	.ulg-table td { display: block; width: 100%; }
	.ulg-table tr { background: #fff; border-radius: 16px; padding: 12px 14px; margin-bottom: 10px; }
	.ulg-table td { border: 0; padding: 4px 0; white-space: normal !important; }
	.ulg-table td::before { display: block; font-size: 12px; font-weight: 700; color: var(--ulg-muted); text-transform: uppercase; letter-spacing: 0.03em; }
	.ulg-table td:nth-child(1)::before { content: "Приложение №"; }
	.ulg-table td:nth-child(2)::before { content: "Дата выдачи"; }
	.ulg-table td:nth-child(3)::before { content: "Адрес объекта"; }
	.ulg-table td:nth-child(4)::before { content: "Подвиды деятельности"; }
	.ulg-band__row { flex-direction: column; }
	.ulg-band__col,
	.ulg-band__col--pay { flex: 0 0 auto; }
	.ulg-pdf object { height: 520px; }
}
