/* Page-scoped stand-in for css/cnc-site.css on fixed-clinics.html.
   Same card chrome, icon layout, ticks and hover as the shared sheet,
   without the site-wide chained :is() / :nth-child-of selectors that
   dominate Style & Layout on this page. Visual tokens match cnc-site.css. */
:root{
  --cnc-c1:#E01018;
  --cnc-c2:#0F0F0F;
  --cnc-c3:#FFB81C;
  --cnc-c4:#B7141A;
  --cnc-bar:4px;
  --cnc-ring:2px;
  --red-on-dark:#FF5158;
}
.pain,.ben,.cat,.feat,.clin,.vid,.retain,.matrix-wrap{
  --cnc-accent:var(--cnc-c1);
  border-top:var(--cnc-bar) solid var(--cnc-accent);
  border-right:1px solid var(--line,#E5E5E5);
  border-bottom:1px solid var(--line,#E5E5E5);
  border-left:1px solid var(--line,#E5E5E5);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.paingrid > :nth-child(4n+2),
.bengrid > :nth-child(4n+2),
.featgrid > :nth-child(4n+2),
.clingrid > :nth-child(4n+2),
.vidgrid > :nth-child(4n+2){--cnc-accent:var(--cnc-c2)}
.paingrid > :nth-child(4n+3),
.bengrid > :nth-child(4n+3),
.featgrid > :nth-child(4n+3),
.clingrid > :nth-child(4n+3),
.vidgrid > :nth-child(4n+3){--cnc-accent:var(--cnc-c3)}
.paingrid > :nth-child(4n+4),
.bengrid > :nth-child(4n+4),
.featgrid > :nth-child(4n+4),
.clingrid > :nth-child(4n+4),
.vidgrid > :nth-child(4n+4){--cnc-accent:var(--cnc-c4)}
.catgrid > .cat:nth-child(4n+2){--cnc-accent:var(--cnc-c3)}
.catgrid > .cat:nth-child(4n+3){--cnc-accent:var(--cnc-c4)}
.catgrid > .cat:nth-child(4n+4){--cnc-accent:var(--cnc-c1)}
.pain:hover,.ben:hover,.cat:hover,.feat:hover,.clin:hover,.vid:hover,.retain:hover,.matrix-wrap:hover,
.pain:focus-within,.ben:focus-within,.cat:focus-within,.feat:focus-within,.clin:focus-within,.vid:focus-within,.retain:focus-within,.matrix-wrap:focus-within{
  border-color:var(--cnc-accent);
  box-shadow:inset 0 0 0 var(--cnc-ring) var(--cnc-accent),0 12px 28px rgba(15,15,15,.14);
  transform:translateY(-3px);
}
.pain::before,.retain::before{display:none}
@media (prefers-reduced-motion:reduce){
  .pain,.ben,.cat,.feat,.clin,.vid,.retain,.matrix-wrap,
  .pain:hover,.ben:hover,.cat:hover,.feat:hover,.clin:hover,.vid:hover,.retain:hover,.matrix-wrap:hover,
  .pain:focus-within,.ben:focus-within,.cat:focus-within,.feat:focus-within,.clin:focus-within,.vid:focus-within,.retain:focus-within,.matrix-wrap:focus-within{
    transition:none;transform:none;
  }
}
@media (hover:none){
  .pain:hover,.ben:hover,.cat:hover,.feat:hover,.clin:hover,.vid:hover,.retain:hover,.matrix-wrap:hover{
    transform:none;
    box-shadow:inset 0 0 0 var(--cnc-ring) var(--cnc-accent);
  }
}

/* Icon tiles: same selectors and specificity as css/cnc-site.css so
   the page's .pic/.bic/.cic chrome (pink tile, 26px img) is overridden. */
.pic.pic.pic:has(img),.bic.bic.bic:has(img),.cic.cic.cic:has(img){
  background:none;border:0;padding:0;overflow:visible;box-shadow:none;
}
.pic.pic.pic:has(img),.bic.bic.bic:has(img){width:52px;height:52px}
.cic.cic.cic:has(img){width:50px;height:50px}
.pic.pic.pic:has(img) img,.bic.bic.bic:has(img) img,.cic.cic.cic:has(img) img{
  width:100%;height:100%;max-width:none;object-fit:contain;display:block;
}
.pain:has(> .pic img){
  display:grid;grid-template-columns:auto 1fr;
  column-gap:14px;row-gap:12px;align-items:start;align-content:start;
}
.pain:has(> .pic img) > .pic{grid-column:1;grid-row:1;margin:0;width:56px;height:56px}
.pain:has(> .pic img) > b,.pain:has(> .pic img) > h3{grid-column:2;grid-row:1;align-self:center;margin:0}
.pain:has(> .pic img) > *:not(.pic):not(b):not(h3){grid-column:1 / -1;margin:0}
.pain:has(> .pic img) > *:not(.pic):not(b):not(h3):not(p){justify-self:start}
@media (max-width:560px){
  .pain:has(> .pic img){grid-template-columns:1fr}
  .pain:has(> .pic img) > .pic,
  .pain:has(> .pic img) > b,
  .pain:has(> .pic img) > h3{grid-column:1;grid-row:auto}
}
.ben:has(> .bic img){
  display:grid;grid-template-columns:auto 1fr;
  column-gap:14px;row-gap:12px;align-items:start;align-content:start;
}
.ben:has(> .bic img) > .bic{grid-column:1;grid-row:1;margin:0;width:56px;height:56px}
.ben:has(> .bic img) > b,.ben:has(> .bic img) > h3{grid-column:2;grid-row:1;align-self:center;margin:0}
.ben:has(> .bic img) > *:not(.bic):not(b):not(h3){grid-column:1 / -1;margin:0}
.ben:has(> .bic img) > *:not(.bic):not(b):not(h3):not(p){justify-self:start}
@media (max-width:560px){
  .ben:has(> .bic img){grid-template-columns:1fr}
  .ben:has(> .bic img) > .bic,.ben:has(> .bic img) > b,.ben:has(> .bic img) > h3{grid-column:1;grid-row:auto}
}
.cat .cic.cic.cic:has(img) img{width:calc(100% + 10px);height:calc(100% + 10px)}
.btn .btn-ico{
  width:36px;height:36px;max-width:none;object-fit:contain;
  flex:none;display:block;align-self:center;
  margin-top:-9.5px;margin-bottom:-9.5px;
  border:0;border-radius:0;box-shadow:none;background:none;padding:0;
}
.btn-red .btn-ico,.ctaband .btn-red .btn-ico{filter:url(#cnc-icon-flip)}
.feat .img img.slot-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.docrow .docact{display:flex;flex-direction:column;align-items:center;gap:9px}
.docrow .docstars{color:#fbbc04;font-size:22px;line-height:1;letter-spacing:4px}
@media (max-width:560px){.docrow .docact{align-items:flex-start}}
.hero .eyebrow,.legis .eyebrow{color:var(--red-on-dark)}
.hero h1 .r,.hero h2 .r,.legis h2 .r{color:var(--red-on-dark)!important}
table.matrix tbody th,table.matrix tbody td{height:64px}
table.matrix tbody tr.band th{height:auto;background:var(--ink,#0F0F0F)!important;color:#fff!important}
a[style*="#d6d6d8"]:hover,a[style*="#d6d6d8"]:focus-visible{color:#E01018!important}
a.chip{color:inherit;text-decoration:none;cursor:pointer}
a.chip:hover,a.chip:focus-visible{border-color:var(--red,#E01018)}
@media (min-width:1600px){:root{--maxw:1320px}}
@media (min-width:1840px){:root{--maxw:1440px}}
.cnc-secnav a{height:31px;padding:0 9px;font-size:11px}
@media (max-width:1419px){
  .cnc-secnav a{height:24px;padding:0 9px}
  .cnc-secnav a .lbl{display:none}
  .cnc-secnav a::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#C4C4CB}
  .cnc-secnav a.is-active::before{background:var(--red,#E01018)}
  .cnc-secnav a:hover::before,.cnc-secnav a:focus-visible::before{background:#fff}
  .cnc-secnav a:hover .lbl,.cnc-secnav a:focus-visible .lbl{display:inline;margin-left:8px}
}
.cat li .c{
  display:inline-block;flex:0 0 auto;align-self:center;
  width:11px;height:11px;border-radius:50%;
  border:1.5px solid var(--red,#E01018);
  background:radial-gradient(circle at 50% 50%,var(--red,#E01018) 0 2px,transparent 2.1px);
  font-size:0;line-height:0;color:transparent;overflow:hidden;
}
.timing .tpill{
  transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;
  animation:cncPillGlow 3.2s ease-in-out var(--d,0ms) infinite;
}
.timing .tpill:nth-child(2){--d:140ms}
.timing .tpill:nth-child(3){--d:280ms}
.timing .tpill:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.10);border-color:var(--red,#E01018)}
@media (prefers-reduced-motion:reduce){
  .timing .tpill{animation:none;transition:none}
  .timing .tpill:hover{transform:none}
}
.cnc-mainnav .submenu a.is-here{color:var(--red,#E01018);font-weight:700}
.cnc-pattern-strip{line-height:0;margin:0}
.cnc-pattern-strip img{display:block;width:100%;height:auto}
.cnc-footer-pattern{margin-top:0}
.cnc-footer-pattern + *{margin-top:0}
@media (max-width:760px){.cnc-footer-pattern img{max-height:44px;object-fit:cover;object-position:center}}

/* Thandi launcher: reserve 48x48 so the injected face cannot shift layout */
button.cnc-thandi-launcher .cnc-thandi-face,
button.cnc-thandi-launcher img{width:48px;height:48px;aspect-ratio:1/1;object-fit:fill}
body .cnc-thandi-panel .cnc-thandi-head h2{font-size:17px!important;line-height:1.1!important;letter-spacing:.02em!important}
body .cnc-thandi-panel .cnc-thandi-head{padding:10px 14px}
body .cnc-thandi-panel .cnc-thandi-head p{font-size:10.5px;margin:0}
body .cnc-thandi-panel .cnc-thandi-headface{width:34px;height:34px;display:none}
body .cnc-thandi-panel .cnc-thandi-head .cnc-headtext{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}

/* Skip style/layout of off-screen bands. contain-intrinsic-size:auto
   remembers the real height after first paint so the scrollbar stays put. */
.cnc-cv{
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}
.clinics.cnc-cv,.medicals.cnc-cv{contain-intrinsic-size:auto 1400px}
.faq.cnc-cv{contain-intrinsic-size:auto 1100px}
.ctaband.cnc-cv,.verifyband.cnc-cv{contain-intrinsic-size:auto 280px}
.cnc-sitefoot{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* Hover-only: do not watch the whole nav tree on touch phones */
@media (hover:hover) and (min-width:1025px){
  body:has(.cnc-mainnav li.has:hover) .cnc-secnav{opacity:0;visibility:hidden;pointer-events:none}
}
.btn,.clin .gbtn,.crow a[data-cta]{will-change:auto}
