/* nextgenlab.bg/zabotehnicheska-laboratoria — the landing page for Google Search. Loaded after razgovor.css (tokens, form card, Q&A, buttons);
   this file holds only what that page adds: the phone in the header, the three facts, prices, terms, the steps with photos, contacts. */
.top-phone { display: grid; justify-items: end; gap: 1px; text-decoration: none; line-height: 1.15; }
.top-phone b { font-size: 17px; font-weight: 600; letter-spacing: .02em; font-variant-numeric: tabular-nums; color: var(--ink-light); }
.top-phone span { font-size: 11px; letter-spacing: .04em; color: var(--muted-light); }

.lab h1 { font-size: clamp(27px, 7.3vw, 60px); line-height: 1.06; }
.lab h1 em { display: block; margin-top: .12em; font-size: .86em; line-height: 1.12; }
.lab .lead { font-size: clamp(16px, 4.1vw, 19px); }

.facts3 { display: grid; margin: 16px 0 0; border-top: 1px solid #e5f1df26; }
.facts3 > div { display: grid; gap: 1px; padding: 9px 0; border-bottom: 1px solid #e5f1df26; }
.facts3 dt { font-size: clamp(18px, 4.8vw, 22px); font-weight: 600; color: var(--lime); line-height: 1.2; }
.facts3 dd { margin: 0; font-size: 14px; color: var(--muted-light); line-height: 1.35; }
.hero-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px; font-size: 15px; }
.hero-links a { color: var(--ink-light); text-underline-offset: 4px; }

.sec-head h2, .who h2 { font-size: clamp(28px, 7.4vw, 46px); line-height: 1.08; font-weight: 600; letter-spacing: -.02em; }
.sec-head p { margin-top: 12px; max-width: 40em; color: var(--muted-light); font-size: clamp(15px, 4vw, 17px); }

/* ---------------------------------------------------------------- prices: the light band, the reason most searches end with „цени“ */
.prices { margin-top: 8px; padding: 44px var(--pad) 40px; background: var(--paper); color: var(--ink); }
.prices > * { max-width: calc(1180px - 2 * var(--pad)); margin-inline: auto; }
.prices .sec-head p { color: var(--muted-dark); }
.price-grid { display: grid; gap: 26px; margin-top: 26px; }
.price-group h3 { margin: 0 0 6px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-dark); font-weight: 600; }
.price-group dl { margin: 0; border-top: 1px solid #123d3126; }
.price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid #123d3126; }
.price-row dt { font-size: 16px; line-height: 1.3; }
.price-row dt small { color: var(--muted-dark); font-size: 13px; }
.price-row dd { margin: 0; flex: none; font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-row dd.ask { font-weight: 400; font-size: 14px; color: var(--muted-dark); }
.prices-foot { margin-top: 22px; font-size: 15px; }
.prices-foot a { color: var(--ink); font-weight: 600; text-underline-offset: 4px; }

/* ---------------------------------------------------------------- terms */
.terms, .how { padding: 48px var(--pad) 8px; max-width: 1180px; margin: 0 auto; }
.term-list { margin: 24px 0 0; border-top: 1px solid #e5f1df26; }
.term-list > div { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid #e5f1df26; }
.term-list dt { font-size: 17px; }
.term-list dd { margin: 0; font-size: 17px; font-weight: 600; color: var(--lime); }
.term-list dd small { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--muted-light); }

/* ---------------------------------------------------------------- how we work: real frames from the lab */
.how-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.how-photos figure { position: relative; margin: 0; border-radius: 16px; overflow: hidden; background: var(--night-2); }
.how-photos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.how-photos figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 12px 10px; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: #f3f8ee; background: linear-gradient(#061f1900, #061f19d9); }
.steps { margin: 26px 0 0; padding: 0; list-style: none; counter-reset: step; border-top: 1px solid #e5f1df26; }
.steps li { counter-increment: step; display: grid; grid-template-columns: 2.2em 1fr; align-items: baseline; padding: 14px 0; border-bottom: 1px solid #e5f1df26; font-size: 17px; line-height: 1.4; }
.steps li::before { content: counter(step); font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 22px; color: var(--lime); }
.channels { margin-top: 18px; font-size: 14px; line-height: 1.5; color: var(--muted-light); }
.channels b { color: var(--ink-light); font-weight: 600; }

.lab .qa { padding-top: 56px; }

/* ---------------------------------------------------------------- who */
.who { display: grid; gap: 22px; margin: 40px var(--pad) 0; padding: clamp(18px, 4.6vw, 40px); border-radius: 26px; background: var(--night-2); border: 1px solid #e5f1df1a; max-width: calc(1180px - 2 * var(--pad)); }
.who img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; }
.who p { margin-top: 12px; color: #c6d8c8; font-size: 16px; line-height: 1.55; }
.contacts { margin: 18px 0 0; border-top: 1px solid #e5f1df26; }
.contacts > div { display: grid; grid-template-columns: 7.2em 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e5f1df26; font-size: 15px; }
.contacts dt { color: var(--muted-light); }
.contacts dd { margin: 0; }
.contacts a { color: var(--ink-light); font-weight: 600; text-underline-offset: 3px; }

.close-actions { display: grid; gap: 12px; margin-top: 26px; justify-content: center; }
.close-actions .btn { margin-top: 0; min-width: min(100%, 320px); }
.close .patients { margin-top: 28px; font-size: 13px; color: var(--muted-light); }

@media (min-width: 900px) {
  .facts3 { grid-template-columns: repeat(3, 1fr); gap: 0 28px; border-top: 0; }
  .facts3 > div { grid-template-columns: 1fr; gap: 4px; border-top: 1px solid #e5f1df26; border-bottom: 0; align-content: start; }
  .price-grid { grid-template-columns: repeat(3, 1fr); gap: 40px; }
  .prices { padding-block: 72px 64px; }
  .term-list > div { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; }
  .how-photos { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 24px; border-top: 0; }
  .steps li { grid-template-columns: 1fr; gap: 6px; border-top: 1px solid #e5f1df26; border-bottom: 0; align-content: start; font-size: 16px; }
  .who { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 44px; align-items: center; margin-inline: auto; }
  .close-actions { grid-template-columns: auto auto; }
}
