/* ClinicFare design layer - generated, safe to regenerate */
:root{
  --ink:#14161a;        /* text */
  --ink-2:#39424c;      /* secondary text */
  --mute:#5b6670;       /* meta */
  --paper:#ffffff;
  --wash:#eef1f4;       /* page ground - cool, chart-paper */
  --rule:#d8dee5;
  --crit:#0e6e85;       /* signal only */
  --crit-d:#0b4f60;
  --crit-wash:#ecf7fa;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
body{background:var(--wash);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.entry-title,.widget .wp-block-heading{font-family:var(--serif);
  font-weight:500;letter-spacing:-.011em}

/* ============ header ============ */
#masthead,.site-header{position:sticky;top:0;z-index:500;background:var(--paper);
  border-bottom:1px solid var(--rule)}
.main-navigation{background:var(--paper)}
.site-branding .site-title,.site-branding .main-title,.site-branding .site-description,
.site-header .site-description{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap}
.site-logo img,.site-header img.header-image{max-height:44px!important;width:auto!important;height:auto!important}
@media(max-width:768px){.site-logo img,.site-header img.header-image{max-height:36px!important}}
.site-header .inside-header{padding-top:10px;padding-bottom:10px}
.inside-header,.site-header .grid-container,.main-navigation .inside-navigation{max-width:1420px}
.main-navigation .main-nav ul li a,.main-navigation .menu-toggle{line-height:44px;height:44px}
.main-navigation .main-nav ul li a{padding-left:14px;padding-right:14px;font-size:.92rem;
  font-weight:500;color:var(--ink-2)}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item>a{color:var(--ink)}
@media(min-width:1025px){.main-navigation .main-nav ul{flex-wrap:nowrap}
  .main-navigation .main-nav ul li a{white-space:nowrap}}
@media(max-width:1180px) and (min-width:1025px){
  .main-navigation .main-nav ul li a{padding-left:9px;padding-right:9px;font-size:.86rem}}
.main-navigation .main-nav ul li a{position:relative}
.main-navigation .main-nav ul li a:after{content:"";position:absolute;left:14px;right:14px;bottom:8px;
  height:2px;background:var(--crit);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.main-navigation .main-nav ul li:hover>a:after,
.main-navigation .main-nav ul li.current-menu-item>a:after{transform:scaleX(1)}

/* ============ post grid (home + archives) ============ */
@media(min-width:900px){
  .blog .site-main,.archive .site-main,.search .site-main{display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
  .blog .site-main>*:not(article),.archive .site-main>*:not(article),
  .search .site-main>*:not(article){grid-column:1/-1}
}
.blog article.post,.archive article.post,.search article.post{margin:0!important}
.inside-article{background:var(--paper);border:1px solid var(--rule);border-radius:4px}
/* GeneratePress sets .separate-containers .inside-article{padding:40px} - beat it, don't tie */
body.separate-containers .single .inside-article,
body.separate-containers .page .inside-article{padding:34px 40px 30px}
@media(max-width:768px){body.separate-containers .single .inside-article,
  body.separate-containers .page .inside-article{padding:18px 16px 16px}}

body.separate-containers .blog .inside-article,
body.separate-containers .archive .inside-article,
body.separate-containers .search .inside-article,
body.blog .inside-article,body.archive .inside-article,body.search .inside-article{
  display:flex;flex-direction:column;overflow:hidden;height:100%;padding:0}
.blog .post-image,.archive .post-image,.search .post-image{order:-1;margin:0;border-radius:0;
  aspect-ratio:16/9;overflow:hidden;background:var(--wash)}
.blog .post-image img,.archive .post-image img,.search .post-image img{
  width:100%;height:100%;object-fit:cover;display:block}
.blog .entry-header,.archive .entry-header,.search .entry-header{padding:18px 22px 0}
.blog .entry-summary,.archive .entry-summary,.search .entry-summary{padding:10px 22px 0;flex:1}
/* meta inside the header already sits in the header's gutter - don't add it twice */
.blog .entry-header .entry-meta,.archive .entry-header .entry-meta,
.search .entry-header .entry-meta{padding:0;margin:.3em 0 0}
.blog .inside-article>.entry-meta,.archive .inside-article>.entry-meta,
.search .inside-article>.entry-meta{padding:14px 22px 18px;margin:0}
.blog .entry-title,.archive .entry-title,.search .entry-title{font-size:1.24rem;line-height:1.26;margin:0 0 .35em}
.blog .entry-summary p,.archive .entry-summary p{color:var(--ink-2);font-size:.94rem;line-height:1.6;margin:0 0 .9em}
.entry-title a{color:var(--ink);text-decoration:none;
  background-image:linear-gradient(var(--crit),var(--crit));background-size:0 1px;
  background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s ease}
.entry-title a:hover{background-size:100% 1px;color:var(--ink)}
.entry-meta{font-size:.8rem;color:var(--mute)}
.entry-meta a{color:var(--mute);text-decoration:none}
.entry-meta a:hover{color:var(--crit)}
/* the byline repeats on every card - keep it for the article page only */
.blog .entry-meta .byline,.archive .entry-meta .byline,.search .entry-meta .byline{display:none}

/* ============ single article ============ */
.single .entry-header{margin-bottom:.4em}
.single .entry-title,.page .entry-title{font-size:clamp(1.65rem,2.6vw,2.3rem);line-height:1.17;
  max-width:24ch;letter-spacing:-.015em}
.single .post-image{margin:1.1em 0 1.4em;border-radius:3px;overflow:hidden}
.single .post-image img{width:100%;height:auto;display:block}
.single .entry-content,.page .entry-content{font-size:1.045rem;line-height:1.72;color:var(--ink-2)}
.single .entry-content>p,.page .entry-content>p,
.single .entry-content>ul,.single .entry-content>ol,
.single .entry-content>h2,.single .entry-content>h3,
.page .entry-content>ul,.page .entry-content>h2{max-width:68ch}
.single .entry-content>p:first-of-type{font-size:1.16rem;line-height:1.62;color:var(--ink)}
.entry-content h2{font-size:1.42rem;line-height:1.28;margin:2.1em 0 .55em;padding-top:.75em;
  border-top:1px solid var(--rule);color:var(--ink)}
.entry-content h2:before{content:"";display:block;width:34px;height:2px;background:var(--crit);
  margin-bottom:.7em}
.entry-content h3{font-size:1.1rem;margin:1.7em 0 .35em;color:var(--ink)}
.entry-content a{color:var(--crit-d);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:2px}
.entry-content a:hover{color:var(--crit)}
.entry-content ul li,.entry-content ol li{margin:.4em 0}
@media(max-width:768px){.entry-content h2{font-size:1.2rem;margin:1.6em 0 .5em}
  .single .entry-content,.page .entry-content{font-size:1rem}}

/* ============ cost tables - the data is the point ============ */
.entry-content figure.cc-table{margin:1.7em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--rule);border-radius:3px;background:var(--paper)}
.entry-content .cc-table table{width:100%;border-collapse:collapse;font-size:.93rem;
  font-variant-numeric:tabular-nums}
.entry-content .cc-table th{background:var(--ink);color:#fff;text-align:left;padding:11px 14px;
  font-family:var(--sans);font-weight:500;font-size:.82rem;white-space:nowrap}
.entry-content .cc-table td{padding:11px 14px;border-top:1px solid var(--rule);vertical-align:top;
  color:var(--ink-2)}
.entry-content .cc-table td:first-child{color:var(--ink);font-weight:500}
.entry-content .cc-table tbody tr:hover td{background:var(--crit-wash)}
.entry-content .cc-table figcaption{font-size:.79rem;color:var(--mute);padding:11px 14px;
  border-top:1px solid var(--rule);line-height:1.5;background:#fbfcfd}

/* ============ related + disclaimer ============ */
ul.cc-related{list-style:none;margin:1.6em 0;padding:0;border-top:1px solid var(--rule)}
ul.cc-related li{margin:0;border-bottom:1px solid var(--rule)}
ul.cc-related li a{display:block;padding:11px 0 11px 20px;position:relative;
  font-family:var(--serif);font-size:1.02rem;color:var(--ink);text-decoration:none}
ul.cc-related li a:before{content:"";position:absolute;left:0;top:50%;width:7px;height:1px;
  background:var(--crit);transition:width .2s ease}
ul.cc-related li a:hover{color:var(--crit-d)}
ul.cc-related li a:hover:before{width:13px}
.cc-disclaimer{margin:2.4em 0 .5em;padding:18px 20px;background:var(--crit-wash);
  border-left:3px solid var(--crit);border-radius:0 3px 3px 0;font-size:.89rem;
  color:var(--ink-2);line-height:1.62;max-width:none}
.cc-disclaimer p{margin:0}
.cc-disclaimer strong{color:var(--ink)}

/* ============ sidebar ============ */
.sidebar .widget{background:var(--paper);border:1px solid var(--rule);border-radius:4px;
  padding:20px 22px;margin-bottom:20px}
.sidebar .widget .wp-block-heading{font-size:1.06rem;margin:0 0 .75em;color:var(--ink)}
.sidebar .widget ul{list-style:none;margin:0;padding:0}
.sidebar .widget li{margin:0;border-top:1px solid var(--rule)}
.sidebar .widget li:first-child{border-top:0}
.sidebar .widget a{text-decoration:none;color:var(--ink);font-size:.93rem;line-height:1.45}
.sidebar .widget a:hover{color:var(--crit-d)}
/* categories: name left, count right as a figure */
.wp-block-categories-list li{display:flex;align-items:baseline;justify-content:space-between;
  gap:12px;padding:9px 0;font-size:.82rem;color:var(--mute);font-variant-numeric:tabular-nums}
.wp-block-categories-list li a{flex:1}
/* latest guides: serif titles, date under */
.wp-block-latest-posts__list li{padding:11px 0}
.wp-block-latest-posts__list a{font-family:var(--serif);font-size:1rem}
.wp-block-latest-posts__post-date{display:block;font-size:.76rem;color:var(--mute);margin-top:3px}
/* emergency note reads as a signal, not a paragraph */
.sidebar .widget p{font-size:.88rem;line-height:1.6;color:var(--ink-2);margin:0}
.sidebar .widget p strong{color:var(--crit-d);font-variant-numeric:tabular-nums}

/* ============ pagination ============ */
.paging-navigation .nav-links a,.paging-navigation .page-numbers{background:var(--paper);
  border:1px solid var(--rule);color:var(--ink);padding:9px 14px;border-radius:3px;
  text-decoration:none;font-size:.9rem}
.paging-navigation .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============ buttons ============ */
.read-more,.button,button,input[type=submit]{background:var(--crit);color:#fff!important;
  border-radius:3px;border:0;font-family:var(--sans);font-weight:500}
.read-more:hover,.button:hover{background:var(--crit-d)}

/* empty ad slots must not reserve height */
.code-block{min-height:0!important;margin:12px auto}
.code-block:empty{display:none}

/* ============ footer ============ */
.site-footer,.site-info{background:var(--ink);color:#aeb8c2}
.site-info{padding:26px 0;font-size:.86rem;border-top:0}
.cc-foot{max-width:1100px;margin:0 auto;padding:0 20px;text-align:center;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 20px}
.cc-foot a{color:#e7ebef;text-decoration:none;margin:0;white-space:nowrap;font-size:.88rem}
.cc-foot a:hover{color:#fff;text-decoration:underline}
.cc-foot .cc-copy{flex:0 0 100%;margin-top:10px;color:#78838f;font-size:.81rem}
.cc-foot .cc-note{flex:0 0 100%;margin:0 auto;color:#78838f;font-size:.78rem;max-width:660px;
  line-height:1.6}
@media(max-width:480px){.cc-foot{gap:4px 14px}.cc-foot a{font-size:.83rem}}

/* accessibility floor */
a:focus-visible,button:focus-visible{outline:2px solid var(--crit);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ---- ClinicFare ---- */
/* GeneratePress ships .entry-summary{margin-top:2em}; on a card that stacks on top of
   our own padding and leaves a 44px hole between the date and the excerpt. */
.blog .entry-summary,.archive .entry-summary,.search .entry-summary{margin-top:0}
.blog .entry-summary,.archive .entry-summary,.search .entry-summary{padding-top:8px}
.blog .entry-summary p:last-child,.archive .entry-summary p:last-child,
.search .entry-summary p:last-child{margin-bottom:0}
.blog .entry-header .entry-meta,.archive .entry-header .entry-meta,
.search .entry-header .entry-meta{margin-top:2px}

/* ---- our renderer's class names reuse the same rules ---- */
.entry-content figure.cf-table{margin:1.7em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--rule);border-radius:3px;background:var(--paper)}
.entry-content .cf-table table{width:100%;border-collapse:collapse;font-size:.93rem;
  font-variant-numeric:tabular-nums}
.entry-content .cf-table th{background:var(--ink);color:#fff;text-align:left;padding:11px 14px;
  font-family:var(--sans);font-weight:500;font-size:.82rem}
.entry-content .cf-table td{padding:11px 14px;border-top:1px solid var(--rule);vertical-align:top;
  color:var(--ink-2)}
.entry-content .cf-table td:first-child{color:var(--ink);font-weight:500}
.entry-content .cf-table tbody tr:hover td{background:var(--crit-wash)}
.entry-content .cf-table figcaption{font-size:.79rem;color:var(--mute);padding:11px 14px;
  border-top:1px solid var(--rule);line-height:1.5;background:#fbfcfd}
/* Break only where a word genuinely cannot fit - `anywhere` splits money
   ("$220,00 / 0") and city names ("Melbourn / e"), which reads as broken. */
.entry-content .cf-table th,.entry-content .cf-table td{overflow-wrap:break-word;hyphens:none}
/* a figure in a price column must never be split across lines */
.entry-content .cf-table td:last-child,.entry-content .cf-table td:nth-child(2){
  overflow-wrap:normal;word-break:keep-all}
@media(max-width:768px){
  .entry-content .cf-table table{font-size:.86rem;min-width:540px}  /* scroll, don't squeeze */
  .entry-content .cf-table th,.entry-content .cf-table td{padding:9px 10px;white-space:normal}
  .entry-content .cf-table{box-shadow:inset -14px 0 12px -12px rgba(20,22,26,.22)}
}

ul.cf-related{list-style:none;margin:1.6em 0;padding:0;border-top:1px solid var(--rule)}
ul.cf-related li{margin:0;border-bottom:1px solid var(--rule)}
ul.cf-related li a{display:block;padding:11px 0 11px 20px;position:relative;
  font-family:var(--serif);font-size:1.02rem;color:var(--ink);text-decoration:none}
ul.cf-related li a:before{content:"";position:absolute;left:0;top:50%;width:7px;height:1px;
  background:var(--crit);transition:width .2s ease}
ul.cf-related li a:hover{color:var(--crit-d)}
ul.cf-related li a:hover:before{width:13px}

.cf-disclaimer{margin:2.4em 0 .5em;padding:18px 20px;background:var(--crit-wash);
  border-left:3px solid var(--crit);border-radius:0 3px 3px 0;font-size:.89rem;
  color:var(--ink-2);line-height:1.62;max-width:none}
.cf-disclaimer p{margin:0}

/* ranked hospital entries */
.cf-item{border-top:1px solid var(--rule);padding:18px 0 4px;max-width:68ch}
.cf-item:first-of-type{border-top:0}
.cf-item h3{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .25em;font-size:1.14rem}
.cf-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-width:1.65rem;height:1.65rem;border-radius:50%;background:var(--crit);color:#fff;
  font-family:var(--sans);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums}
.cf-loc{color:var(--mute);font-size:.86rem;margin:0 0 .5em}
.cf-loc strong{color:var(--ink);font-variant-numeric:tabular-nums}
.cf-item p{margin:0 0 .7em}
.cf-note{background:var(--crit-wash);border:1px solid var(--rule);border-radius:3px;
  padding:14px 16px;font-size:.89rem;color:var(--ink-2);line-height:1.6;max-width:68ch}

/* mobile menu toggle visible */
.main-navigation .menu-toggle,.mobile-menu-control-wrapper .menu-toggle{color:var(--ink)!important;background:transparent!important}
.menu-toggle .gp-icon svg{fill:var(--ink)}

/* in-article figure */
.single .entry-content figure.cf-inline{margin:1.6em 0;}
.single .entry-content figure.cf-inline img{width:100%;height:auto;border-radius:6px;display:block;}
.single .entry-content figure.cf-inline figcaption{font-size:.85rem;color:var(--mute);margin-top:.5em;}
