/* Patient pharmacy and diagnostics parity with Flutter's Byd component system. */
.byd-service-page{--byd-blue:#075fe6;--byd-teal:#00a99d;--byd-ink:#071a33;--byd-muted:#51677f;--byd-bg:#f1f7ff;--byd-line:#d6e3f3;--byd-green:#0f9d58;--byd-amber:#f0a202;--byd-danger:#d1453b;width:100%;max-width:100vw;overflow-x:hidden;background:var(--byd-bg);color:var(--byd-ink)}
.byd-service-shell{width:min(1120px,100%);margin-inline:auto;padding-inline:20px}
.byd-service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(520px,100%);margin:20px auto 0;padding:4px;border:1px solid var(--byd-line);border-radius:16px;background:#fff;box-shadow:0 12px 30px -24px rgba(7,95,230,.6)}
.byd-service-tabs a{display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:12px;color:var(--byd-muted);font-size:14px;font-weight:800;text-decoration:none;transition:background .22s ease,color .22s ease,transform .22s ease}
.byd-service-tabs a:hover{background:#edf4ff;color:var(--byd-blue)}
.byd-service-tabs a.is-active{background:var(--byd-blue);color:#fff;box-shadow:0 8px 18px -12px rgba(7,95,230,.9)}
.byd-service-tabs a:focus-visible,.byd-search-action:focus-visible,.byd-result-action:focus-visible{outline:3px solid rgba(7,95,230,.32);outline-offset:2px}
.byd-service-page .byd-service-hero{position:relative;padding-block:42px 26px;text-align:left}
.byd-service-page .byd-service-hero::after{position:absolute;z-index:0;right:2%;top:20px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,169,157,.17),rgba(7,95,230,.03) 62%,transparent 64%);content:"";pointer-events:none}
.byd-service-page .byd-service-hero>*{position:relative;z-index:1}
.byd-service-eyebrow{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 11px;border:1px solid var(--byd-line);border-radius:999px;background:#fff;color:#0a4fa8;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.byd-service-page .byd-service-hero h1{max-width:720px;margin:14px 0 8px;font-size:clamp(30px,5vw,50px);font-weight:800;line-height:1.06;letter-spacing:-1.4px;color:var(--byd-ink)}
.byd-service-page .byd-service-hero>p{max-width:680px;margin:0;color:var(--byd-muted);font-size:15px;line-height:1.55}
.byd-search-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr) auto;gap:8px;margin-top:20px;padding:8px;border:1px solid var(--byd-line);border-radius:18px;background:#fff;box-shadow:0 18px 44px -34px rgba(13,72,126,.7)}
.byd-search-field{position:relative;min-width:0}
.byd-search-field i{position:absolute;z-index:1;left:16px;top:50%;transform:translateY(-50%);color:var(--byd-muted)}
.byd-search-field input{width:100%!important;min-height:52px!important;margin:0!important;padding:0 14px 0 44px!important;border:1px solid transparent!important;border-radius:14px!important;background:#f8fbff!important;color:var(--byd-ink)!important;font-size:15px!important;outline:0}
.byd-search-field input:focus{border-color:var(--byd-blue)!important;box-shadow:0 0 0 3px rgba(7,95,230,.11)!important}
.byd-search-action{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--byd-blue),var(--byd-teal));color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.byd-compare{margin:6px 0 22px}
.byd-compare[hidden]{display:none!important}
.byd-compare-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}
.byd-compare-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.3px;color:var(--byd-ink)}
.byd-compare-head p{margin:3px 0 0;color:var(--byd-muted);font-size:13px}
.byd-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.byd-result-card{display:flex;min-width:0;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--byd-line);border-radius:20px;background:#fff;box-shadow:0 14px 34px -29px rgba(13,72,126,.7);animation:byd-rise .24s ease both}
.byd-result-top{display:flex;align-items:start;justify-content:space-between;gap:12px}
.byd-result-card h3{margin:0;font-size:16px;font-weight:800;line-height:1.3;color:var(--byd-ink)}
.byd-result-card p{margin:0;color:var(--byd-muted);font-size:13px;line-height:1.45}
.byd-result-meta{display:flex;flex-wrap:wrap;gap:6px}
.byd-pill{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#edf4ff;color:#0a4fa8;font-size:11px;font-weight:800}
.byd-pill.is-green{background:rgba(15,157,88,.1);color:#0b6b41}.byd-pill.is-amber{background:rgba(240,162,2,.13);color:#8a5200}
.byd-price{text-align:right;white-space:nowrap}.byd-price strong{display:block;font-size:18px;color:var(--byd-blue);font-variant-numeric:tabular-nums}.byd-price small{color:var(--byd-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.byd-result-action{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;margin-top:auto;border:1px solid var(--byd-line);border-radius:13px;color:var(--byd-blue);font-size:13px;font-weight:800;text-decoration:none}
.byd-state{grid-column:1/-1;display:flex;min-height:128px;align-items:center;justify-content:center;gap:10px;padding:22px;border:1px dashed var(--byd-line);border-radius:20px;background:#fff;color:var(--byd-muted);text-align:center}
.byd-state button{min-height:44px;padding:0 14px;border:1px solid var(--byd-line);border-radius:12px;background:#fff;color:var(--byd-blue);font-weight:800}
.byd-skeleton{height:126px;border:1px solid var(--byd-line);border-radius:20px;background:linear-gradient(90deg,#edf3fa 25%,#fafcff 38%,#edf3fa 63%);background-size:400% 100%;animation:byd-shimmer 1.35s ease infinite}
@keyframes byd-shimmer{to{background-position:-100% 50%}}@keyframes byd-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.byd-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:8px 0 14px}.byd-section-head h2{margin:0;font-size:20px;font-weight:800;color:var(--byd-ink)}.byd-section-head p{margin:3px 0 0;color:var(--byd-muted);font-size:13px}
.byd-partner-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.byd-service-page .boyodo-lab-card,.byd-service-page .boyodo-pharmacy-card{border-color:var(--byd-line);border-radius:20px;box-shadow:none;transition:transform .22s ease,box-shadow .22s ease}
.byd-service-page .boyodo-lab-card:hover,.byd-service-page .boyodo-pharmacy-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px -32px rgba(13,72,126,.8)}
.byd-service-page .boyodo-lab-media,.byd-service-page .boyodo-pharmacy-media{height:132px}
.byd-service-page .boyodo-lab-body,.byd-service-page .boyodo-pharmacy-body{padding:16px 16px 10px}
.byd-service-page .boyodo-lab-actions,.byd-service-page .boyodo-pharmacy-actions{padding:0 16px 16px}
.byd-service-page .boyodo-lab-btn{min-height:50px!important}
.byd-service-page .boyodo-lab-body h3,.byd-service-page .boyodo-pharmacy-heading h3{font-size:16px}
.byd-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.byd-card-badge{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#0a4fa8;font-size:11px;font-weight:800}
.byd-card-badge.is-green{background:rgba(15,157,88,.1);color:#0b6b41}.byd-card-badge.is-amber{background:rgba(240,162,2,.13);color:#8a5200}
.byd-mobile-cta{display:none}
.byd-service-page,.byd-service-shell{box-sizing:border-box;max-width:100%}
@media(max-width:760px){
  .byd-service-shell{width:100%;padding-inline:14px}.byd-service-tabs{position:sticky;z-index:20;top:8px;width:100%;max-width:none;margin:10px 0 0;box-sizing:border-box}.byd-service-tabs a{min-width:0;padding-inline:6px;font-size:12px;white-space:nowrap}.byd-service-tabs a i{font-size:13px}
  .byd-service-hero{padding-block:26px 18px}.byd-service-hero::after{right:-80px;top:12px;width:190px;height:190px}.byd-service-hero h1{font-size:30px;letter-spacing:-.9px}.byd-service-hero>p{font-size:14px}
  .byd-search-panel{grid-template-columns:minmax(0,1fr);padding:6px;border-radius:16px}.byd-search-field input,.byd-search-action{min-height:48px!important}
  .byd-results,.byd-partner-grid{grid-template-columns:minmax(0,1fr)!important}.byd-compare-head,.byd-section-head{align-items:start;flex-direction:column}.byd-result-card{padding:14px;border-radius:18px}
  .byd-service-page .boyodo-lab-media,.byd-service-page .boyodo-pharmacy-media{height:118px}.byd-service-page .boyodo-lab-actions,.byd-service-page .boyodo-pharmacy-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.byd-result-card,.byd-skeleton,.byd-service-tabs a,.byd-service-page .boyodo-lab-card,.byd-service-page .boyodo-pharmacy-card{animation:none;transition:none}.byd-service-page .boyodo-lab-card:hover,.byd-service-page .boyodo-pharmacy-card:hover{transform:none}}

/* Final narrow-screen guard: the legacy marketplace rules above predate the
   shared service shell and can otherwise keep an intrinsic desktop min-width. */
@media(max-width:760px){
  .byd-service-page,.lab-marketplace,.pharmacy-marketplace{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:clip!important;box-sizing:border-box!important}
  .byd-service-page .byd-service-shell{width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:auto!important;padding-inline:12px!important;box-sizing:border-box!important}
  .byd-service-page .byd-service-tabs{display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important;padding:4px!important;box-sizing:border-box!important}
  .byd-service-page .byd-service-tabs a{min-width:0!important;gap:5px!important;padding-inline:3px!important;font-size:11px!important;white-space:nowrap!important}
  .byd-service-page .byd-service-hero{width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:auto!important;padding-inline:12px!important;box-sizing:border-box!important}
  .byd-service-page .byd-service-hero h1{width:100%!important;max-width:100%!important;font-size:clamp(27px,7.6vw,31px)!important;line-height:1.08!important;letter-spacing:-.7px!important;overflow-wrap:anywhere!important}
  .byd-service-page .byd-service-hero>p{max-width:100%!important;overflow-wrap:anywhere}
  .byd-service-page .byd-search-panel,.byd-service-page .lab-search{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .byd-service-page .byd-search-field,.byd-service-page .byd-search-field input,.byd-service-page .lab-search input,.byd-service-page .lab-search select{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
