/* Leka Print — текстовые страницы (templates/page.liquid). Токены: leka-global.css, DESIGN.md */


.lk-page-wrap { font-family: var(--lk-font); }
.lk-page-head { margin: 4px 0 28px; }
.lk-page-head__title { font: 800 clamp(32px, 4vw, 52px)/1.05 var(--lk-font); letter-spacing: -.03em; margin: 0; color: var(--lk-ink); }

/* ---------- раскладка: текст + боковая карточка ---------- */
.lk-page { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 5vw, 72px); align-items: start; }
.lk-page__aside { position: sticky; top: 100px; }
.lk-aside-card { background: var(--lk-soft); border-radius: var(--lk-r-xl); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.lk-aside-card strong { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.lk-aside-card p { margin: 0; color: var(--lk-body); font-size: 15px; line-height: 1.5; }
.lk-aside-card .lk-btn { width: 100%; margin: 4px 0; }
.lk-aside-card__phone { font-size: 20px; font-weight: 800; color: var(--lk-ink) !important; text-decoration: none !important; }
.lk-aside-card__note { font-size: 14px; color: var(--lk-body) !important; text-decoration: none !important; }
.lk-aside-card a:hover { color: var(--lk-brand) !important; }

/* ---------- типографика текста из админки ---------- */
.lk-prose { max-width: 760px; font-size: 17px; line-height: 1.7; color: #2b2b2b; overflow: visible !important; }
/* текст из визуального редактора несёт инлайн-шрифты (Arial, 12pt) — приводим к шрифту сайта */
.lk-prose [style*="font-family"], .lk-prose [style*="font-size"] { font-family: inherit !important; font-size: inherit !important; }
.lk-prose [style*="color"] { color: var(--lk-brand) !important; }
.lk-prose p { margin: 0 0 1em; }
.lk-prose p:empty, .lk-prose p:has(> br:only-child) { display: none; }
.lk-prose h1, .lk-prose h2, .lk-prose h3, .lk-prose h4 { font-family: var(--lk-font); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; color: var(--lk-ink); margin: 1.8em 0 .6em; }
.lk-prose h2 { font-size: 28px; }
.lk-prose h3 { font-size: 22px; }
/* абзац, состоящий только из жирного текста, — подзаголовок (класс ставит скрипт в page.liquid) */
.lk-prose .lk-prose-h { font-size: 20px !important; font-weight: 800; letter-spacing: -.01em; color: var(--lk-ink); margin: 1.8em 0 .5em; line-height: 1.3; }
.lk-prose .lk-prose-h:first-child { margin-top: 0; }
.lk-prose strong, .lk-prose b { font-weight: 700; color: var(--lk-ink); }
.lk-prose a { color: var(--lk-ink); text-decoration: underline; text-decoration-color: var(--lk-brand); text-underline-offset: 3px; text-decoration-thickness: 2px; }
.lk-prose a:hover { color: var(--lk-brand); }
.lk-prose ul, .lk-prose ol { padding-left: 0; margin: 0 0 1.2em; list-style: none; }
.lk-prose ul li, .lk-prose ol li { position: relative; padding-left: 28px; margin-bottom: .5em; }
.lk-prose ul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--lk-brand); }
.lk-prose ol { counter-reset: lkol; }
.lk-prose ol li { counter-increment: lkol; }
.lk-prose ol li::before { content: counter(lkol) "."; position: absolute; left: 0; font-weight: 800; color: var(--lk-brand); }
.lk-prose img { max-width: 100%; height: auto !important; border-radius: var(--lk-r-lg); display: block; }
.lk-prose p:has(> img), .lk-prose p:has(> span > img) { text-align: left !important; }
.lk-prose table { width: 100% !important; border-collapse: collapse; margin: 0 0 1.5em; font-size: 15px; }
.lk-prose td, .lk-prose th { padding: 10px 14px; border-bottom: 1px solid var(--lk-line); height: auto !important; }
.lk-prose tr:has(td:only-child:empty), .lk-prose td:empty { display: none; }
.lk-prose blockquote { margin: 1.5em 0; padding: 18px 22px; background: var(--lk-soft); border-radius: var(--lk-r-lg); border: 0; }
.lk-prose hr { border: 0; border-top: 1px solid var(--lk-line); margin: 2em 0; }
.lk-prose [style*="text-align: center"] { text-align: left !important; }

/* ---------- «О компании»: подписи-курсивы становятся надзаголовками, список — карточками ---------- */
.lk-page--about-us .lk-prose p:has(> em:only-child) { margin: 2em 0 .4em; }
.lk-page--about-us .lk-prose p:first-child:has(> em:only-child) { margin-top: 0; }
.lk-page--about-us .lk-prose em { font-style: normal; font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--lk-brand); }
.lk-page--about-us .lk-prose ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0 2em; }
.lk-page--about-us .lk-prose ul li { margin: 0; padding: 18px 20px 18px 52px; background: var(--lk-soft); border-radius: var(--lk-r-lg); font-size: 15px; line-height: 1.5; }
.lk-page--about-us .lk-prose ul li::before {
	content: "✓"; left: 18px; top: 18px; width: 22px; height: 22px; border-radius: 50%; background: var(--lk-brand); color: #fff;
	display: grid; place-items: center; font-size: 12px; font-weight: 800;
}

/* ---------- прайс: картинка на всю ширину текста ---------- */
.lk-page--price .lk-prose { max-width: none; }
.lk-page--price .lk-prose p:first-child { background: var(--lk-soft); border-radius: var(--lk-r-lg); padding: 16px 20px; font-size: 15px; color: var(--lk-body); }
.lk-page--price .lk-prose img { border: 1px solid var(--lk-line); }

/* ---------- соглашение: мелкий юридический текст ---------- */
.lk-page--agreement .lk-prose { font-size: 15px; color: var(--lk-body); }

/* =====================================================================
   Лендинг «Печать логотипа» (/page/nanesenie)
   ===================================================================== */
.lk-landing { display: flex; flex-direction: column; gap: clamp(56px, 7vw, 96px); }
.lk-landing__hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-top: 8px; }
.lk-landing__title { font: 800 clamp(36px, 4.8vw, 64px)/1.03 var(--lk-font); letter-spacing: -.03em; margin: 0; color: var(--lk-ink); }
.lk-landing__lead { margin: 22px 0 0; font-size: 18px; line-height: 1.55; color: var(--lk-body); max-width: 34em; }
.lk-landing__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.lk-landing__facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lk-landing__facts li { background: var(--lk-soft); border-radius: var(--lk-r-lg); padding: 24px 22px; display: flex; flex-direction: column; gap: 6px; }
.lk-landing__facts li:first-child { background: var(--lk-ink); color: #fff; }
.lk-landing__facts li:first-child span { color: #a8a8a8; }
.lk-landing__facts strong { font-size: clamp(26px, 2.6vw, 34px); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.lk-landing__facts span { color: var(--lk-body); font-size: 14px; font-weight: 500; }
.lk-landing__block .lk-h2 { margin-bottom: 28px; }

.lk-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lk-method { background: var(--lk-soft); border-radius: var(--lk-r-lg); padding: 32px 28px 36px; }
.lk-method__num { display: inline-block; font-size: 14px; font-weight: 800; color: var(--lk-brand); background: #fff; border-radius: 999px; padding: 6px 12px; margin-bottom: 40px; }
.lk-method h3 { font: 800 24px/1.2 var(--lk-font); letter-spacing: -.01em; margin: 0 0 12px; }
.lk-method p { color: var(--lk-body); font-size: 16px; line-height: 1.55; margin: 0; }

.lk-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--lk-line); }
.lk-reasons > div { padding: 28px 28px 0 0; }
.lk-reasons > div + div { padding-left: 28px; border-left: 1px solid var(--lk-line); }
.lk-reasons strong { display: block; font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.lk-reasons p { margin: 0; color: var(--lk-body); line-height: 1.55; }

.lk-landing__cta {
	display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap;
	background: var(--lk-ink); color: #fff; border-radius: var(--lk-r-xl); padding: clamp(28px, 4vw, 56px);
	background-image: radial-gradient(600px 300px at 100% 0%, rgba(15,128,43,.45), transparent 70%);
}
.lk-landing__cta .lk-h2 { color: #fff; }
.lk-landing__cta p { margin: 12px 0 0; color: #c9c9c9; font-size: 17px; }
.lk-landing__cta a:not(.lk-btn) { color: #fff; font-weight: 700; white-space: nowrap; }
.lk-landing__seo .lk-prose { max-width: 820px; }

/* =====================================================================
   Контакты (/page/contacts)
   ===================================================================== */
.lk-contacts { display: flex; flex-direction: column; gap: 16px; }
.lk-contacts__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 16px; }
.lk-contact-card { background: var(--lk-soft); border-radius: var(--lk-r-xl); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-size: 15px; color: var(--lk-body); }
.lk-contact-card a { color: var(--lk-body); text-decoration: none; }
.lk-contact-card a:hover { color: var(--lk-brand); }
.lk-contact-card small { color: var(--lk-mute); font-size: 13px; }
.lk-contact-card__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lk-mute); }
.lk-contact-card__label:not(:first-child) { margin-top: 14px; }
.lk-contact-card__big { font-size: clamp(26px, 2.6vw, 34px); font-weight: 800; letter-spacing: -.02em; color: var(--lk-ink) !important; line-height: 1.1; margin-bottom: 4px; }
.lk-contact-card__mid { font-size: 18px; font-weight: 700; color: var(--lk-ink) !important; }
.lk-contact-card__warn { margin-top: auto; padding: 12px 14px; background: #fff; border-radius: 12px; font-size: 13px; line-height: 1.45; }
.lk-contact-card .lk-btn { margin-top: 12px; color: #fff !important; }
.lk-contact-card--main { background: var(--lk-ink); color: #c9c9c9; }
.lk-contact-card--main a { color: #c9c9c9; }
.lk-contact-card--main .lk-contact-card__big { color: #fff !important; }
.lk-contact-card--main .lk-btn--dark { background: var(--lk-brand); }
.lk-contact-card--main .lk-btn--dark:hover { background: var(--lk-brand-hover); }
.lk-contacts__map { border-radius: var(--lk-r-xl); overflow: hidden; background: var(--lk-soft); height: clamp(320px, 40vw, 460px); }
.lk-contacts__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.lk-contacts__req { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding: 4px 4px 0; font-size: 14px; color: var(--lk-body); }
.lk-contacts__req .lk-contact-card__label { margin: 0; }

@media (max-width: 991.98px) {
	.lk-page { grid-template-columns: 1fr; }
	.lk-page__aside { position: static; }
	.lk-landing__hero { grid-template-columns: 1fr; }
	.lk-methods { grid-template-columns: 1fr; }
	.lk-reasons { grid-template-columns: 1fr; }
	.lk-reasons > div, .lk-reasons > div + div { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--lk-line); }
	.lk-contacts__grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	.lk-prose { font-size: 16px; }
	.lk-page--about-us .lk-prose ul { grid-template-columns: 1fr; }
	.lk-landing__actions .lk-btn { flex: 1 1 100%; }
	.lk-landing__facts li { padding: 18px 16px; }
	.lk-contact-card { padding: 22px; }
}
.lk-prose .lk-prose-note { background: #fff6e0; border-radius: 14px; padding: 14px 18px; margin: 1.2em 0; }
.lk-prose .lk-prose-note strong { font-weight: 800; }
