.mobile-sections{display:none}
#app .catalog-intro .office-label,.office-label:has(.office-address){position:relative;display:inline-flex;align-items:center;flex:none;gap:.6rem;width:max-content;max-width:100%;font-size:15px;color:#402e2b}
.office-address{display:flex;align-items:center;gap:7px}.office-address svg{width:17px;height:17px;color:#852e25}.office-change{font-size:14px;color:#852e25;text-decoration:underline;text-underline-offset:3px}
#app .office-label:has(.office-address) select{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.office-label:focus-within{outline:2px solid #88281e;outline-offset:2px}
#app .smart-options{padding:0;background:none;border:0;margin:4px 0 0}
.smart-options summary{font:500 14px/1.4 system-ui;color:#6d4a43;cursor:pointer;padding:10px 0}
#app .smart-options .search-options small{display:block!important}
#app .smart-options .search-options{display:grid;gap:5px;padding:2px 0 8px}
#app .test-row .test-category{font-size:14px;line-height:1.45;color:#605653}
@media(max-width:800px){
#app .catalog-intro{border:0;margin:0;padding:20px 0 9px}
#app .catalog-intro h1{font:600 clamp(32px,8.5vw,43px)/1.12 Georgia,serif;letter-spacing:-.045em}
#app .catalog-intro .breadcrumb{display:none}
#app .search-form{padding:0;background:transparent;border:0;border-radius:0;margin:0}
#app .search-form .search-input{min-height:54px;border:1.5px solid #9a6258;border-radius:10px;background:white}
#app .search-form #query{font-size:16px;min-width:0}
#app .office-label:has(.office-address){margin:0 0 5px;height:44px}
.mobile-sections{display:block;border-top:1px solid #e4d9d5;border-bottom:1px solid #e4d9d5}
.mobile-sections>summary{list-style:none;display:flex;align-items:center;gap:9px;padding:13px 0;color:#472923;font:650 16px/1.3 system-ui;cursor:pointer}
.mobile-sections>summary::-webkit-details-marker{display:none}
.mobile-sections>summary svg{width:18px;height:18px}
.mobile-sections>summary::after{content:'⌄';margin-left:auto;color:#88281e}
.mobile-sections[open]>summary::after{content:'⌃'}
.mobile-sections .catalog-branches{margin-bottom:8px}
.mobile-sections .catalog-picker{margin-bottom:12px}
#app .unified-sidebar{display:none}
#app .unified-layout{padding-top:10px}
#app .results .list{border:0;border-radius:0}
#app .results .test-row{border:0;border-bottom:1px solid #e5dcda;border-radius:0;padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;background:transparent}
#app .results .test-row h3{font:650 17px/1.32 system-ui;color:#2b211e;letter-spacing:-.018em}
#app .results .test-buy strong{font:700 18px/1.3 system-ui;white-space:nowrap}
#app .test-meta{font-size:12px}
#app .results-top{padding:6px 0 9px;border-bottom:1px solid #ddceca}
#app .results-top h2{font:600 23px/1.17 Georgia,serif;letter-spacing:-.025em}
}

/* Visual language shared by the directory, medical guides, service detail and checkout.
   Loaded after the compact mobile search/list stylesheet. */
:root {
  --lab-accent: #812d24;
  --lab-heading: #392521;
  --lab-ink: #2b2522;
  --lab-muted: #605753;
  --lab-line: #e3dad5;
  --lab-surface: #faf7f4;
  --lab-field: #97857d;
  --lab-display: Georgia, "Times New Roman", serif;
  --lab-text: system-ui, -apple-system, "Segoe UI", sans-serif;
}
body { font-family: var(--lab-text); color: var(--lab-ink); }
#app, dialog, .topics-page main { min-width: 0; }
:where(#app,dialog,.topics-page main) :where(h1,h2,h3,p,dd,li,summary) { overflow-wrap: anywhere; }
#app .lab-intro h1, .topics-page main h1, dialog .dialog-head h2 {
  font-family: var(--lab-display);
  color: var(--lab-heading);
  letter-spacing: -.035em;
  line-height: 1.12;
}
#app .lab-intro .service-lead { color: var(--lab-ink); max-width: 65ch; }
#app .detail-breadcrumb, .topics-page .patient-nav nav {
  color: var(--lab-muted);
  font-size: .8125rem;
  line-height: 1.5;
}
#app .detail-breadcrumb { padding-block: 10px; }
#app .lab-intro .service-facts { border-top: 1px solid var(--lab-line); padding-top: 12px; }
#app .lab-intro .service-facts dt { color: var(--lab-muted); font-size: .8125rem; }
#app .lab-intro .service-facts dd { color: var(--lab-ink); font-size: 1rem; line-height: 1.45; }
#app .lab-card .booking-panel { background: var(--lab-surface); border: 1px solid var(--lab-line); border-radius: 12px; }
#app .lab-card .card-bill #detail-price, #cart-dialog .cart-total strong {
  color: var(--lab-heading);
  font-size: clamp(1.25rem,1.7vw,1.6rem);
  letter-spacing: -.035em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#app .lab-card .detail-section :where(p,li), .topics-page main :where(section,header)>p {
  max-width: 72ch;
  line-height: 1.65;
}
#app .lab-card .detail-section h2, .topics-page main h2 { letter-spacing: -.02em; }
#app .lab-card #preparation { border-left: 3px solid var(--lab-accent); background: var(--lab-surface); }
#app .booking-panel select, #app .filters select, .topics-page .office select {
  min-height: 44px;
  padding-block: 6px;
  line-height: 1.35;
}
#app .test-row .test-meta { gap: 8px 12px; flex-wrap: wrap; }
#app .test-row .result-code { color: var(--lab-muted); font-size: .8125rem; line-height: 1.4; }
#app .test-category { overflow-wrap: anywhere; }
#app .test-row mark { color: inherit; background: #f9e5bf; border-radius: 2px; }
#app .test-row .add { border-color: #ac8d83; color: var(--lab-accent); }
#app .test-row .add.added { background: var(--lab-accent); color: white; }
#app .catalog-subnav a { min-height: 44px; padding: 8px 12px; }
#app .catalog-subnav a[aria-current], #app .catalog-picker a[aria-current] {
  background: #f2e8e3;
  color: #592821;
  box-shadow: inset 3px 0 var(--lab-accent);
}
.topics-page { background: white; }
.topics-page main > header {
  background: transparent;
  border-radius: 0;
  padding: 6px 0;
  margin-block: 4px 16px;
}
.topics-page main :is(.new-tests,.topic-groups,.source-list,.topics-alphabet section) {
  border: 1px solid var(--lab-line);
  border-radius: 12px;
  background: #fff;
}
.topics-page .new-tests>ul>li>a { align-items: baseline; }
.topics-page .variant { min-width: 0; }
.topics-page .new-tests .variant .service-title { font-weight: 640; line-height: 1.42; }
.topics-page .new-tests .variant small { color: var(--lab-muted); margin-top: 4px; }
.topics-page .new-tests .variant+b { color: var(--lab-heading); font-variant-numeric: tabular-nums; }
.topics-page .topics-alphabet section h2 { color: var(--lab-accent); font-family: var(--lab-display); }
.topics-page .topic-letters a { min-height:44px; min-width:44px; border-radius:7px; }
.topics-page .topics-search { background: var(--lab-surface); border-color: var(--lab-line); }
.topics-page .topic-groups summary, .topics-page .source-list summary { min-height: 44px; align-content: center; }
#cart-dialog[open] {
  color: var(--lab-ink);
  border: 1px solid var(--lab-line);
  border-radius: 14px;
  max-height: 90vh; max-height: 90dvh;
  overscroll-behavior: contain;
}
#cart-dialog::backdrop { background: rgb(38 25 22 / 47%); }
#cart-dialog .cart-row { gap: 12px; }
#cart-dialog .cart-row small, #cart-dialog .price-note { color: var(--lab-muted); }
#cart-dialog .cart-row>span { white-space: nowrap; font-variant-numeric: tabular-nums; }
#cart-dialog .cart-total { padding: 12px; background: var(--lab-surface); border-radius: 8px; }
#cart-dialog .lcp-order-form button[type=submit] { min-height:48px; }
#cart-dialog .lcp-order-form input:not([type=checkbox]) { font-size: 1rem; }
body :is(a,button,summary,input,textarea,select):focus-visible { outline: 3px solid #783721; outline-offset: 3px; }
@media (hover:hover) {
  #app .test-row .add:hover { background: var(--lab-accent); color: white; }
  .topics-page .new-tests li>a:hover .service-title { text-decoration: underline; text-underline-offset: .14em; }
}
@media (min-width: 801px) {
  #app .unified-layout .list { border: 1px solid var(--lab-line); border-radius: 12px; }
  #app .unified-layout .test-row { padding: 18px clamp(12px,1.6vw,24px); }
  #app .unified-layout .test-row:first-child { border-radius: 12px 12px 0 0; }
  #app .unified-layout .test-row:last-child { border-radius: 0 0 12px 12px; border-bottom: 0; }
  #app .lab-card .booking-panel { box-shadow: 0 6px 24px rgb(55 34 29 / 5%); }
  .topics-page main:has(.new-tests) { max-width: 1080px; }
}
@media (max-width: 800px) {
  .topics-page main { padding-inline: max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)); }
  .topics-page main section.new-tests { padding: 14px; margin: 14px 0; }
  .topics-page .new-tests>ul>li>a { gap: 8px; min-height: 44px; }
  #app .lab-intro h1, .topics-page main h1 { font-size: clamp(2rem,8.5vw,2.65rem); }
  #app .lab-menu + .detail-breadcrumb { margin-bottom:0 !important; }
  #app .booking-panel select, #app .filters select, .topics-page .office select { font-size: 1rem; }
  #cart-dialog[open] { padding-bottom:max(16px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) {
  #app :is(a,button)[aria-current], .topics-page a[aria-current] { outline: 2px solid Highlight; }
  #app .test-row mark { outline:1px solid MarkText; }
}

.topic-mobile-nav>summary{display:none}
@media(max-width:800px){.topic-mobile-nav{margin:8px 14px}.topic-mobile-nav>summary,.topic-search-disclosure>summary{display:block;padding:12px 0;color:#70291e;font-weight:650;cursor:pointer}.topic-mobile-nav:not([open])>nav{display:none}}
@media(min-width:801px){.topic-mobile-nav:not([open])>nav{display:grid}.topic-mobile-nav::details-content{content-visibility:visible}}
.topic-search-disclosure{margin:12px auto;max-width:1160px;padding-inline:16px}
