.eye-test-page {
  --header-offset: 160px;
  background: #fff;
}

.eye-test-page [id] { scroll-margin-top: var(--header-offset); }
.eye-test-page .skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 100;
  transform: translateY(-150%);
  padding: 12px 16px;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}
.eye-test-page .skip-link:focus { transform: none; }

.eye-test-page .topbar {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0 32px;
  min-height: 0;
  padding: 0 clamp(20px, 4vw, 64px);
  background: rgba(255,255,255,.98);
}
.eye-test-page .header-brand { display:flex; align-items:center; gap:26px; min-width:0; padding:24px 0; }
.eye-test-page .header-logo { display:block; flex:none; font-size:32px; line-height:1; white-space:nowrap; letter-spacing:-.035em; }
.eye-test-page .header-logo small { display:none; }
.eye-test-page .header-stock { margin:0; padding-left:26px; border-left:1px solid #c9cbd0; color:var(--ink); font-size:16px; line-height:1.45; }
.eye-test-page .header-reviews { padding:10px 16px; border-radius:8px; background:#f6f7f8; white-space:nowrap; }
.eye-test-page .header-reviews__rating { display:flex; align-items:center; gap:12px; color:var(--ink); font-size:20px; line-height:1.2; text-decoration:none; }
.eye-test-page .header-reviews__yandex { color:#f00; font-size:25px; font-weight:700; }
.eye-test-page .header-reviews__stars { margin-left:4px; color:#f5a400; letter-spacing:1px; }
.eye-test-page .header-reviews__details { display:flex; align-items:center; gap:12px; margin-top:5px; color:var(--muted); font-size:13px; line-height:1.3; }
.eye-test-page .header-reviews__details a { text-underline-offset:2px; }
.eye-test-page .header-reviews__years { padding-left:12px; border-left:1px solid #b8bbc2; }
.eye-test-page .topbar__phones { display:grid; min-width:0; gap:6px; justify-items:start; }
.eye-test-page .topbar__phones a { color:var(--ink); font-size:17px; font-weight:900; letter-spacing:-.015em; }
.eye-test-page .topbar__phones a span { display:inline-block; min-width:72px; margin-right:6px; color:#343944; font-size:12px; font-weight:700; }
.eye-test-page .nav { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; padding:0 20px; border-top:1px solid var(--line); color:var(--ink); font-size:16px; font-weight:400; }
.eye-test-page .nav > a { padding:18px 8px; font-size:18px; }
.eye-test-page .nav__phones { display:none; }
.eye-test-page .nav-group { position:relative; }
.eye-test-page .nav-group summary { padding:18px 8px; font-size:18px; cursor:pointer; list-style:none; }
.eye-test-page .nav-group summary::-webkit-details-marker { display:none; }
.eye-test-page .nav-group summary::after { content:"⌄"; display:inline-block; margin-left:7px; color:var(--red); font-weight:950; }
.eye-test-page .nav-group[open] summary::after { transform:rotate(180deg); }
.eye-test-page .nav-group > div { position:absolute; top:calc(100% - 4px); left:-16px; z-index:30; display:grid; width:240px; padding:8px; border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 16px 36px rgba(15,17,21,.14); }
.eye-test-page .nav-group > div a { padding:12px 14px; border-radius:6px; color:var(--ink); font-size:15px; text-decoration:none; white-space:nowrap; }
.eye-test-page .nav-group > div a:hover,
.eye-test-page .nav-group > div a:focus-visible,
.eye-test-page .nav-group > div a[aria-current="page"] { background:#fff1f2; color:var(--red); }
.eye-test-page .burger { display:none; position:static; width:44px; height:44px; padding:8px 6px; border:0; background:transparent; }
.eye-test-page .burger span { display:block; width:100%; height:2px; margin:6px 0; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
.eye-test-page .burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.eye-test-page .burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.eye-test-page .burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

.eye-test-page .breadcrumbs { padding-top:22px; }
.eye-test-page .hero { min-height:560px; }
.eye-test-page .test-board { border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; box-shadow:0 14px 35px rgba(15,17,21,.09); }
.eye-test-page .test-board__person img { object-position:center; }
.eye-test-page .test-board__tag { border:1px solid rgba(227,6,19,.22); border-radius:8px; }
.eye-test-page .quick-facts div,
.eye-test-page .card,
.eye-test-page .plain-list li,
.eye-test-page .booking-form,
.eye-test-page .location,
.eye-test-page .faq-list details {
  border:1px solid var(--line);
  border-top:3px solid var(--red);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 35px rgba(15,17,21,.07);
}
.eye-test-page .section,
.eye-test-page .section--paper,
.eye-test-page .section--soft { position:relative; background:#fff; }
.eye-test-page .section::before { content:""; position:absolute; top:0; right:0; left:0; height:1px; background:var(--line); }
.eye-test-page .plain-list li::before { display:grid; place-items:center; top:12px; left:14px; width:28px; height:28px; border-radius:50%; background:#258443; color:#fff; }
.eye-test-page .notice { border:1px solid #efb8bc; border-left:5px solid var(--red); background:#fff6f6; }
.eye-test-page .cta { background:#111318; }

.eye-test-page .site-footer { background:#fff; }
.eye-test-page .footer-top { display:grid; grid-template-columns:auto 1fr auto; gap:30px; align-items:center; width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:34px 0 26px; }
.eye-test-page .footer-logo { display:block; font-size:28px; white-space:nowrap; }
.eye-test-page .footer-logo small { display:none; }
.eye-test-page .footer-top p { margin:0; color:var(--muted); text-align:center; }
.eye-test-page .footer-phone { color:var(--red); font-size:18px; font-weight:950; text-decoration:none; }
.eye-test-page .footer-salons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:min(1280px,calc(100% - 40px)); margin:0 auto; padding-bottom:30px; }
.eye-test-page .footer-salons a { display:grid; gap:6px; padding:20px; border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 10px 26px rgba(15,17,21,.05); text-decoration:none; }
.eye-test-page .footer-salons span { color:var(--muted); font-size:14px; }
.eye-test-page .footer-salons b { color:var(--red); }
.eye-test-page .footer-legal { width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:24px 0 34px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; text-align:center; }
.eye-test-page .footer-legal p { margin:4px 0; }
.eye-test-page .mobile-call { display:none; }

@media (max-width:1240px) {
  .eye-test-page { --header-offset:120px; }
  .eye-test-page .topbar { grid-template-columns:minmax(0,1fr) auto auto auto; gap:24px; min-height:100px; }
  .eye-test-page .header-brand { padding:20px 0; }
  .eye-test-page .header-stock { display:none; }
  .eye-test-page .header-logo { font-size:30px; }
  .eye-test-page .burger { display:block; }
  .eye-test-page .nav { display:none; }
  .eye-test-page .nav.is-open { position:absolute; inset:100% 0 auto; display:grid; gap:0; padding:12px 24px 24px; max-height:calc(100dvh - 100px); overflow-y:auto; border-bottom:1px solid var(--line); background:#fff; box-shadow:0 18px 40px rgba(15,17,21,.12); }
  .eye-test-page .nav.is-open > a { padding:16px 4px; border-bottom:1px solid var(--line); }
  .eye-test-page .nav.is-open .nav__phones { display:grid; gap:8px; padding:18px 4px 0; }
  .eye-test-page .nav.is-open .nav__phones a { color:var(--red); }
  .eye-test-page .nav.is-open .nav__phones span { color:var(--muted); font-size:13px; }
  .eye-test-page .nav-group summary { padding:16px 4px; border-bottom:1px solid var(--line); }
  .eye-test-page .nav-group > div { position:static; width:auto; margin:0; padding:4px 0 8px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; }
  .eye-test-page .nav-group > div a { padding:12px 8px; white-space:normal; }
}

@media (max-width:1040px) {
  .eye-test-page .hero { grid-template-columns:1fr; min-height:0; padding-top:24px; }
  .eye-test-page .test-board { order:-1; min-height:460px; }
  .eye-test-page .topbar { grid-template-columns:minmax(0,1fr) auto auto; }
  .eye-test-page .topbar__phones { display:none; }
}

@media (max-width:820px) {
  .eye-test-page .footer-top { grid-template-columns:1fr; justify-items:center; }
  .eye-test-page .footer-top p { order:3; }
  .eye-test-page .footer-salons { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .eye-test-page { --header-offset:100px; padding-bottom:66px; }
  .eye-test-page .topbar { min-height:82px; gap:10px; padding:0 16px; }
  .eye-test-page .header-brand { padding:16px 0; }
  .eye-test-page .header-logo { display:grid; font-size:24px; line-height:.98; }
  .eye-test-page .header-reviews { padding:8px 10px; }
  .eye-test-page .header-reviews__rating { gap:8px; font-size:17px; }
  .eye-test-page .header-reviews__yandex { font-size:21px; }
  .eye-test-page .header-reviews__stars { margin-left:0; letter-spacing:0; }
  .eye-test-page .header-reviews__details { gap:8px; font-size:11px; }
  .eye-test-page .header-reviews__years { padding-left:8px; }
  .eye-test-page .nav.is-open { max-height:calc(100dvh - 82px); }
  .eye-test-page .test-board { min-height:0; }
  .eye-test-page .test-board__person img { height:auto; min-height:0; object-fit:contain; }
  .eye-test-page .mobile-call { position:fixed; right:12px; bottom:10px; left:12px; z-index:20; display:flex; min-height:50px; align-items:center; justify-content:center; border-radius:8px; background:var(--red); color:#fff; font-weight:950; text-decoration:none; box-shadow:0 10px 30px rgba(184,0,10,.32); }
}

@media (max-width:360px) {
  .eye-test-page .topbar { gap:6px; padding:0 10px; }
  .eye-test-page .header-logo { font-size:21px; }
  .eye-test-page .header-reviews { padding:8px; }
  .eye-test-page .header-reviews__details { gap:6px; font-size:10px; }
  .eye-test-page .header-reviews__years { padding-left:6px; }
}

@media (prefers-reduced-motion:reduce) { .eye-test-page { scroll-behavior:auto; } }
