/* Standard look for the plain pages: Insurance, Privacy Policy, Resources, Terms of Use, Thank You, Veterans.
   Templates: Standard Page / Legal Page / Thank You Page - Professional. Markup helpers: avesta-pages.js. px only (root font is 62.5%). */

body.avesta-sp-page { background: linear-gradient(180deg, #d9e7f3 0, #eaf2f9 520px, #fbfcfe 900px) !important; }

/* ---------- hero ---------- */
.avesta-lp.avesta-sp__hero { padding: clamp(8px, 1.5vw, 16px) 0 0 !important; }
.avesta-lp .avesta-sp__hero .avesta-lp__crumbs { padding-top: 10px; }
.avesta-lp .avesta-sp__hero-grid { display: grid; grid-template-columns: 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(22px, 3.5vw, 44px) 0 clamp(26px, 4vw, 48px); }
.avesta-lp .avesta-sp__hero-grid:has(.avesta-sp__hero-media) { grid-template-columns: 1.15fr .85fr; }
.avesta-lp .avesta-sp__hero-copy { min-width: 0; max-width: 780px; }
.avesta-lp .avesta-sp__hero .avesta-lp__hero-eyebrow { color: var(--lp-primary); margin-bottom: 10px; font-size: 16px; }
.avesta-lp .avesta-sp__hero .avesta-lp__hero-eyebrow:empty { display: none; }
.avesta-lp .avesta-sp__hero .avesta-lp__h1 { font-size: clamp(32px, 4.2vw, 50px); margin-bottom: 14px; }
.avesta-lp .avesta-sp__lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--lp-muted); max-width: 62ch; margin: 0 0 22px; }
.avesta-lp .avesta-sp__lead:empty { display: none; }
.avesta-lp .avesta-sp__hero .avesta-lp__cta-row { margin-top: 6px; }
.avesta-lp .avesta-sp__updated { font-size: 14px; color: var(--lp-muted); margin-top: 4px; }
.avesta-lp .avesta-sp__updated:empty { display: none; }
.avesta-lp .avesta-sp__hero-media img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; border-radius: var(--lp-radius-media); box-shadow: var(--lp-shadow-media); }

/* ---------- body: contents column + white reading panel ---------- */
.avesta-lp.avesta-sp__body { padding: 0 0 clamp(40px, 6vw, 80px) !important; }
.avesta-lp .avesta-sp__layout { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
.avesta-lp .avesta-sp__layout.has-toc { grid-template-columns: 290px minmax(0, 1fr); gap: clamp(24px, 3.5vw, 48px); }
.avesta-lp .avesta-sp__main { order: 1; min-width: 0; background: #fff; border-radius: 20px; box-shadow: var(--lp-shadow-card); padding: clamp(22px, 4.5vw, 56px); }
.avesta-lp .avesta-sp__layout:not(.has-toc) .avesta-sp__main { max-width: 880px; width: 100%; margin-inline: auto; }
.avesta-lp .avesta-sp__layout.has-toc .avesta-sp__side { order: 0; position: sticky; top: 104px; max-height: calc(100vh - 124px); overflow: auto; }
.avesta-lp .avesta-sp__layout:not(.has-toc) .avesta-sp__side { order: 2; max-width: 880px; width: 100%; margin-inline: auto; }
.avesta-lp .avesta-sp__layout:not(.has-toc) .avesta-sp__toc { display: none; }
.avesta-lp .avesta-sp__side { display: grid; gap: 16px; align-content: start; }

/* contents list */
.avesta-lp .avesta-sp__toc { background: #fff; border-radius: 16px; box-shadow: var(--lp-shadow-card); padding: 18px 18px 14px; }
.avesta-lp .avesta-sp__toc summary { list-style: none; cursor: default; font: 800 12px/1 var(--lp-body); letter-spacing: .15em; text-transform: uppercase; color: var(--lp-primary-dark); margin-bottom: 12px; }
.avesta-lp .avesta-sp__toc summary::-webkit-details-marker { display: none; }
.avesta-lp .avesta-sp__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: sp; }
.avesta-lp .avesta-sp__toc li { counter-increment: sp; }
.avesta-lp .avesta-sp__toc a { display: flex; gap: 10px; align-items: baseline; padding: 8px 10px; border-radius: 10px; font-size: 15px; line-height: 1.35; color: var(--lp-text); text-decoration: none; }
.avesta-lp .avesta-sp__toc a::before { content: counter(sp, decimal-leading-zero); font-size: 12px; font-weight: 800; color: var(--lp-primary); flex: none; min-width: 20px; }
.avesta-lp .avesta-sp__toc a:hover { background: var(--lp-ultra-light); color: var(--lp-primary-dark); }
.avesta-lp .avesta-sp__toc a.is-on { background: var(--lp-ultra-light); color: var(--lp-primary-dark); font-weight: 700; }

/* help card */
.avesta-lp .avesta-sp__card { background: var(--lp-ultra-light); border-radius: 16px; padding: 20px; }
.avesta-lp .avesta-sp__card h3, .avesta-lp .avesta-sp__card p.brxe-heading { font: 700 22px/1.2 var(--lp-head); margin: 0 0 6px; color: var(--lp-text); }
.avesta-lp .avesta-sp__card p { font-size: 15px; color: var(--lp-muted); margin-bottom: 14px; }
.avesta-lp .avesta-sp__card .avesta-lp__btn { width: 100%; min-height: 46px; font-size: 15px; margin-bottom: 8px; }
.avesta-lp .avesta-sp__card .avesta-lp__btn:last-child { margin-bottom: 0; }

/* ---------- prose (the page's own content) ---------- */
.avesta-sp__content { font-family: var(--lp-body); font-size: 17.5px; line-height: 1.75; color: #1d2b39; overflow-wrap: anywhere; }
.avesta-sp__content > *:first-child { margin-top: 0; }
.avesta-sp__content p, .avesta-sp__content ul, .avesta-sp__content ol, .avesta-sp__content table, .avesta-sp__content figure, .avesta-sp__content blockquote { margin: 0 0 1.15em; }
.avesta-sp__content p:empty, .avesta-sp__content h2:empty, .avesta-sp__content h3:empty, .avesta-sp__content h4:empty { display: none; }
.avesta-sp__content h2 { font: 700 clamp(26px, 3vw, 34px)/1.18 var(--lp-head); color: var(--lp-text); margin: 2em 0 .55em; scroll-margin-top: 110px; letter-spacing: -.005em; }
.avesta-sp__content h2:first-child { margin-top: 0; }
.avesta-sp__content h3 { font: 700 clamp(21px, 2.2vw, 25px)/1.25 var(--lp-head); color: var(--lp-text); margin: 1.7em 0 .5em; scroll-margin-top: 110px; }
.avesta-sp__content h4 { font: 800 12.5px/1.4 var(--lp-body); letter-spacing: .12em; text-transform: uppercase; color: var(--lp-primary-dark); margin: 1.6em 0 .5em; }
/* headings whose tag was corrected for the page outline (inc/avesta-a11y.php) keep the look of their original level */
.avesta-sp__content .avesta-hv-3 { font: 700 clamp(21px, 2.2vw, 25px)/1.25 var(--lp-head); letter-spacing: normal; color: var(--lp-text); margin: 1.7em 0 .5em; }
.avesta-sp__content .avesta-hv-3:first-child { margin-top: 1.7em; }
.avesta-sp__content .avesta-hv-4 { font: 800 12.5px/1.4 var(--lp-body); letter-spacing: .12em; text-transform: uppercase; color: var(--lp-primary-dark); margin: 1.6em 0 .5em; }
.avesta-sp__content h2.avesta-sp__lede { font: 400 clamp(20px, 2vw, 24px)/1.5 var(--lp-body); color: #33485c; margin: 0 0 1.1em; padding-bottom: 1em; border-bottom: 1px solid var(--lp-neutral); letter-spacing: 0; }
.avesta-sp__content a { color: var(--lp-primary-dark); text-decoration: underline; text-decoration-color: rgba(50, 163, 195, .5); text-underline-offset: 3px; font-weight: 600; }
.avesta-sp__content a:hover { text-decoration-color: var(--lp-primary-dark); }
.avesta-sp__content ul, .avesta-sp__content ol { padding-left: 1.35em; }
.avesta-sp__content li { margin: 0 0 .5em; padding-left: .2em; }
.avesta-sp__content li::marker { color: var(--lp-primary); font-weight: 700; }
.avesta-sp__content strong, .avesta-sp__content b { color: var(--lp-text); font-weight: 800; }
.avesta-sp__content hr { border: 0; border-top: 1px solid var(--lp-neutral); margin: 2em 0; }
.avesta-sp__content img { max-width: 100%; height: auto; border-radius: 14px; }
.avesta-sp__content figure { text-align: center; }
.avesta-sp__content figure.aligncenter img, .avesta-sp__content .wp-block-image img { box-shadow: var(--lp-shadow-card); }
.avesta-sp__content .wp-block-image { max-width: 680px; margin-inline: auto; }
.avesta-sp__content blockquote { border-left: 4px solid var(--lp-primary); background: var(--lp-ultra-light); padding: 14px 18px; border-radius: 0 12px 12px 0; }
.avesta-sp__content blockquote p:last-child { margin-bottom: 0; }
.avesta-sp__content em { color: #33485c; }
/* tables */
.avesta-sp__table, .avesta-sp__content .avesta-payer-table-wrap { overflow-x: auto; margin: 1.2em 0 1.4em; -webkit-overflow-scrolling: touch; border-radius: 12px; border: 1px solid var(--lp-neutral); }
.avesta-sp__content table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; margin: 0; min-width: 560px; }
.avesta-sp__content th, .avesta-sp__content td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--lp-neutral); }
.avesta-sp__content th { background: var(--lp-ultra-light); color: var(--lp-primary-dark); font-weight: 800; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.avesta-sp__content tbody tr:nth-child(even) td { background: #f8fbfd; }
.avesta-sp__content tr:last-child td { border-bottom: 0; }
.avesta-sp__content caption, .avesta-sp__content .avesta-payer-table-caption { caption-side: top; text-align: left; font-weight: 800; font-size: 16px; color: var(--lp-text); padding: 0 0 10px; margin: 0; }
.avesta-sp__content .avesta-payer-table-wrap { border: 1px solid var(--lp-neutral); }
/* insurance partner logos */
.avesta-sp__content .avesta-sp__logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: center; margin: 1.2em 0 1.6em; }
@media (max-width: 600px) { .avesta-sp__content .avesta-sp__logos { grid-template-columns: repeat(2, 1fr); } }
.avesta-sp__content .avesta-sp__logos a, .avesta-sp__content .avesta-sp__logos span { display: grid; place-items: center; background: #fff; border: 1px solid var(--lp-neutral); border-radius: 14px; padding: 14px; min-height: 84px; }
.avesta-sp__content .avesta-sp__logos img { max-height: 52px; width: auto; max-width: 100%; object-fit: contain; border-radius: 0; box-shadow: none; }
.avesta-sp__content .avesta-sp__btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 999px; background: var(--lp-primary); color: #fff; text-decoration: none; font-weight: 700; }
.avesta-sp__content .avesta-sp__btn:hover { background: #2b92b0; color: #fff; }
.avesta-sp__content .avesta-sp__review { font-size: 15px; color: var(--lp-muted); padding: 10px 14px; background: var(--lp-ultra-light); border-radius: 10px; }
.avesta-lp .avesta-sp__note { text-align: center; font-size: 15px; color: var(--lp-muted); margin-top: 22px; }
.avesta-lp .avesta-sp__note a { color: var(--lp-primary-dark); font-weight: 700; }

/* ---------- thank you ---------- */
.avesta-lp.avesta-sp__ty { padding: clamp(36px, 7vw, 96px) 0 clamp(40px, 7vw, 100px) !important; }
.avesta-lp .avesta-sp__ty-card { max-width: 760px; margin: 0 auto; background: #fff; border-radius: 24px; box-shadow: var(--lp-shadow-lift); padding: clamp(28px, 5vw, 60px); text-align: center; }
.avesta-lp .avesta-sp__ty-ico { width: 72px; height: 72px; border-radius: 50%; background: var(--lp-ultra-light); color: var(--lp-primary); display: grid; place-items: center; margin: 0 auto 18px; }
.avesta-lp .avesta-sp__ty-ico svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.avesta-lp .avesta-sp__ty-card .avesta-lp__hero-eyebrow { justify-content: center; margin-bottom: 8px; }
.avesta-lp .avesta-sp__ty-card .avesta-lp__h1 { margin-bottom: 12px; }
.avesta-lp .avesta-sp__ty-msg { font-size: clamp(18px, 1.8vw, 21px); color: #33485c; max-width: 52ch; margin: 0 auto 26px; }
.avesta-lp .avesta-sp__ty-msg p, .avesta-lp .avesta-sp__ty-msg div { margin: 0; text-align: center !important; }
.avesta-lp .avesta-sp__steps { list-style: none; margin: 0 auto 26px; padding: 0; display: grid; gap: 12px; text-align: left; max-width: 560px; counter-reset: st; }
.avesta-lp .avesta-sp__steps li { counter-increment: st; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; background: #f6fafc; border-radius: 14px; padding: 14px 16px; font-size: 16px; line-height: 1.5; }
.avesta-lp .avesta-sp__steps li::before { content: counter(st); width: 38px; height: 38px; border-radius: 50%; background: var(--lp-primary); color: #fff; display: grid; place-items: center; font-weight: 800; }
.avesta-lp .avesta-sp__steps b { display: block; color: var(--lp-text); }
.avesta-lp .avesta-sp__ty-card .avesta-lp__cta-row { justify-content: center; }
.avesta-lp .avesta-sp__crisis { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--lp-neutral); font-size: 14.5px; color: var(--lp-muted); }

/* ---------- small screens ---------- */
@media (max-width: 960px) {
  .avesta-lp .avesta-sp__layout.has-toc { grid-template-columns: 1fr; }
  .avesta-lp .avesta-sp__layout.has-toc .avesta-sp__side { position: static; max-height: none; overflow: visible; order: 0; }
  .avesta-lp .avesta-sp__toc summary { cursor: pointer; margin-bottom: 0; display: flex; justify-content: space-between; }
  .avesta-lp .avesta-sp__toc summary::after { content: "+"; font-size: 18px; line-height: 1; }
  .avesta-lp .avesta-sp__toc[open] summary::after { content: "\2212"; }
  .avesta-lp .avesta-sp__toc[open] summary { margin-bottom: 12px; }
  .avesta-lp .avesta-sp__hero-grid:has(.avesta-sp__hero-media) { grid-template-columns: 1fr; }
  .avesta-lp .avesta-sp__layout.has-toc .avesta-sp__card { display: none; } /* the call-to-action band at the bottom covers it on phones */
}
@media (max-width: 600px) {
  .avesta-lp .avesta-sp__hero .avesta-lp__cta-row .avesta-lp__btn { width: 100%; }
  .avesta-sp__content { font-size: 17px; }
}
@media print {
  .avesta-lp .avesta-sp__side, .avesta-lp .avesta-sp__hero .avesta-lp__cta-row { display: none; }
  .avesta-lp .avesta-sp__main { box-shadow: none; padding: 0; }
}

/* ---------- Veterans pages for one clinic ---------- */
.avesta-lp .avesta-sp__clinic { background: #fff; border-radius: 16px; box-shadow: var(--lp-shadow-card); overflow: hidden; }
.avesta-lp .avesta-sp__clinic-ph { height: 150px; background: #dbe6ef center / cover; }
.avesta-lp .avesta-sp__clinic-b { padding: 18px 18px 20px; }
.avesta-lp .avesta-sp__clinic-k { font: 800 12px/1 var(--lp-body); letter-spacing: .15em; text-transform: uppercase; color: var(--lp-primary-dark); margin-bottom: 8px; }
.avesta-lp .avesta-sp__clinic-name { font: 700 22px/1.2 var(--lp-head); margin: 0 0 8px; }
.avesta-lp .avesta-sp__clinic-l { font-size: 14.5px; line-height: 1.45; color: var(--lp-muted); margin: 0 0 2px; }
.avesta-lp .avesta-sp__clinic-tel { margin: 10px 0 14px; font-size: 18px; font-weight: 800; }
.avesta-lp .avesta-sp__clinic-tel a { color: var(--lp-primary-dark); text-decoration: none; }
.avesta-lp .avesta-sp__clinic-btns { display: grid; gap: 8px; }
.avesta-lp .avesta-sp__clinic-btns .avesta-lp__btn { width: 100%; min-height: 46px; font-size: 15px; }

.avesta-lp.avesta-sp__othersec { padding: 0 0 clamp(40px, 6vw, 80px) !important; }
.avesta-lp .avesta-sp__others { background: var(--lp-ultra-light); border-radius: 20px; padding: clamp(24px, 4vw, 44px); text-align: center; }
.avesta-lp .avesta-sp__others h2 { font-size: clamp(24px, 2.6vw, 32px); margin-bottom: 8px; }
.avesta-lp .avesta-sp__others p { color: var(--lp-muted); margin: 0 auto 18px; max-width: 60ch; }
.avesta-lp .avesta-sp__chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.avesta-lp .avesta-sp__chips a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; background: #fff; border: 1px solid var(--lp-neutral); font-weight: 700; color: var(--lp-primary-dark); text-decoration: none; }
.avesta-lp .avesta-sp__chips a:hover { border-color: var(--lp-primary); box-shadow: var(--lp-shadow-card); }
.avesta-lp .avesta-sp__chips a.is-all { background: var(--lp-primary); border-color: var(--lp-primary); color: #fff; }
@media (max-width: 960px) {
  /* phones: contents list, then the page text, then the clinic card (address, hours, directions) */
  .avesta-lp .avesta-sp__layout.has-toc .avesta-sp__side:has(.avesta-sp__clinic) { display: contents; }
  .avesta-lp .avesta-sp__layout.has-toc .avesta-sp__side:has(.avesta-sp__clinic) > .brxe-code { order: 2; }
  .avesta-lp .avesta-sp__clinic { display: grid; grid-template-columns: 1fr; }
}
.avesta-lp .avesta-lp__cta-row > .brxe-code { display: contents; }
/* With a clinic card in the column, only the contents list stays in view while reading; the card scrolls away with the page. */
@media (min-width: 961px) {
  .avesta-lp .avesta-sp__layout.has-toc .avesta-sp__side:has(.avesta-sp__clinic) { position: static; max-height: none; overflow: visible; align-self: stretch; }
  .avesta-lp .avesta-sp__side:has(.avesta-sp__clinic) > .brxe-code { order: -1; }
  .avesta-lp .avesta-sp__side:has(.avesta-sp__clinic) .avesta-sp__toc { position: sticky; top: 104px; max-height: calc(100vh - 124px); overflow: auto; }
}
