/* Alder treatment for pricing, for-providers, search, clinic/partner/page full views (body.al-fallback). Owner: Felix.
 * Loads after alder-bridge.css. Same scoping rule: every selector starts with
 * `.al-fallback main` so nothing leaks into the native Alder pages. Base
 * templates write many colours inline; those are the only !important rules here. */

/* 1. Practice and provider-page heads (.pvx): Alder's flat mint profile band --- */
/* The city palette arrives inline on .pvx (pink for Portland, and so on);
   Alder has one hero colour, so the inline tokens are re-pointed. */
.al-fallback main .pvx { background: transparent; }
.al-fallback main .pvx[style] { --pvx-bg-mid: var(--al-paper) !important; --pvx-bg-soft: var(--al-paper) !important; }
.al-fallback main .pvx-hero { background: var(--al-paper); }
.al-fallback main :is(.pvx-hero__field, .pvx-hero__wave) { display: none; }
.al-fallback main .pvx-hero__inner { padding-top: 20px; padding-bottom: 32px; }
@media (min-width: 640px) { .al-fallback main .pvx-hero__inner { padding-bottom: 40px; } }

/* The practice breadcrumb sits above .pvx in its own strip: same band */
.al-fallback main > div:has(> nav[aria-label="Breadcrumb"]):has(~ .pvx) {
  background: var(--al-paper); box-shadow: 0 0 0 100vmax var(--al-paper); clip-path: inset(0 -100vmax);
}
.al-fallback main nav[aria-label="Breadcrumb"] { padding: 4px 0 0 !important; font-size: 13px !important; color: var(--al-muted) !important; }
.al-fallback main nav[aria-label="Breadcrumb"] a { display: inline-flex; align-items: center; min-height: 40px; color: var(--al-muted) !important; }
.al-fallback main nav[aria-label="Breadcrumb"] a:hover { color: var(--al-ink) !important; }
.al-fallback main nav[aria-label="Breadcrumb"] li > span { color: var(--al-ink) !important; font-weight: 500 !important; }

/* Identity: Golos name, Lora italic accent, eyebrow badges as small pills */
.al-fallback main .pvx-name { font: 800 32px/1.04 var(--al-display); letter-spacing: -.032em; color: var(--al-ink); }
@media (min-width: 921px) { .al-fallback main .pvx-name { font-size: 44px; } }
.al-fallback main .pvx-name em { font-family: var(--al-serif); font-weight: 500; letter-spacing: -.01em; color: var(--al-moss); }
.al-fallback main .pvx-tagline { font-size: 16px; color: var(--al-body); }
.al-fallback main .pvx-meta { color: var(--al-body); }
.al-fallback main .pvx-meta .pvx-meta__soft { color: var(--al-body); }
.al-fallback main .pvx-eyebrow { gap: 8px; margin-bottom: 10px; font: 500 12.5px/1 var(--al-sans); letter-spacing: .02em; color: var(--al-muted); }
.al-fallback main .pvx-eyebrow__sep { display: none; }
.al-fallback main .pvx-eyebrow .pvx-badge {
  min-height: 26px; padding: 0 10px; border-radius: 999px;
  font: 600 12.5px/1 var(--al-sans); letter-spacing: 0; text-transform: none;
  background: #fff; color: var(--al-moss) !important;
}
.al-fallback main .pvx-avatar--logo { border-color: transparent; }

/* Corner socials: 40px round, white on mint (phone row sits under the CTAs) */
.al-fallback main .pvx-socials a { width: 40px; height: 40px; background: #fff; border: 1px solid var(--al-line); color: var(--al-ink); box-shadow: none; }
.al-fallback main .pvx-socials a:hover { transform: none; border-color: var(--al-ink); }
@media (max-width: 639px) {
  .al-fallback main .pvx-hero__inner { padding-bottom: 84px; }
  .al-fallback main .pvx-hero:not(:has(.pvx-socials)) .pvx-hero__inner { padding-bottom: 28px; }
  .al-fallback main .pvx-socials { bottom: 24px; }
  .al-fallback main .pvx-socials a { width: 44px; height: 44px; }
  .al-fallback main .pvx-ctas .pvx-btn--solid { border-radius: 999px; padding: 12px; }
  .al-fallback main .pvx-ctas .pvx-btn--ghost { flex: 1 1 100%; justify-content: center; }
}
/* Tooltips stay inside a 390px screen */
.al-fallback main .pvx-tip .pvx-bub { max-width: min(200px, calc(100vw - 32px)); }
@media (max-width: 639px) { .al-fallback main .pvx-tip .pvx-bub--auto { white-space: normal; width: max-content; } }

/* 2. Practice body: unboxed main column, sand rail ------------------------- */
.al-fallback main .pvx-body { padding-top: 28px; }
/* No wave to tuck under: rail and main start below the band, as on Alder */
@media (min-width: 1024px) {
  .al-fallback main .pvx-grid { gap: 48px; grid-template-columns: minmax(0, 1fr) 320px; }
  .al-fallback main .pvx-grid :is(.pvx-aside, .pvx-main) { margin-top: 0; }
  .al-fallback main .pvx-body { padding-top: 40px; }
}
.al-fallback main .pvx-h { font: 800 24px/1.1 var(--al-display); letter-spacing: -.026em; color: var(--al-ink); }

/* Team, gallery and other Tailwind panels in the main column: flat, no box */
.al-fallback main .pvx-main > section.bg-white:not(#reviews) {
  background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none !important;
}
.al-fallback main .pvx-main > section > h2.text-base {
  font: 800 22px/1.1 var(--al-display); letter-spacing: -.024em; color: var(--al-ink);
  border-top: 0; padding-top: 8px !important;
}
.al-fallback main .pvx-main > section > h2 > span.w-1 { display: none; }
.al-fallback main .pvx-main > section > h2 > span.text-slate-400 { font: 500 15px var(--al-sans); color: var(--al-muted); letter-spacing: 0; }

/* Member cards: the .al-pcard recipe */
.al-fallback main .pvx-main > section a.rounded-2xl.border {
  min-height: 72px; padding: 12px 16px; border-radius: var(--al-r);
  background: #fff !important; border-color: var(--al-line) !important; box-shadow: none;
  transition: border-color .18s;
}
.al-fallback main .pvx-main > section a.rounded-2xl.border:hover { box-shadow: none; border-color: var(--al-ink) !important; }
.al-fallback main .pvx-main > section a.rounded-2xl.border > div:first-child { width: 48px; height: 48px; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000; }
.al-fallback main .pvx-main > section a.rounded-2xl.border .min-w-0 > .font-semibold:first-child { font: 700 16px/1.25 var(--al-display); letter-spacing: -.01em; color: var(--al-ink); }
.al-fallback main .pvx-main > section a.rounded-2xl.border .group-hover\:text-surf-600 { transition: none; }
.al-fallback main .pvx-main > section a.rounded-2xl.border:hover .min-w-0 > .font-semibold:first-child { color: var(--al-ink); }
.al-fallback main .pvx-main > section a.rounded-2xl.border .min-w-0 > .text-xs > .ml-auto { margin-left: 10px; }
.al-fallback main .pvx-main > section a.rounded-2xl.border .space-y-1 > .font-semibold { font-size: 12.5px; color: var(--al-moss) !important; }
.al-fallback main .pvx-main > section a.rounded-2xl.border .space-y-1 > .font-semibold > span { background: var(--al-brand) !important; }
.al-fallback main .pvx-main > section a.rounded-2xl.border :is(.text-slate-400, .text-slate-300, .text-slate-500) { color: var(--al-muted); }
.al-fallback main .pvx-main > section a.rounded-2xl.border span[title="Practice admin"] {
  background: var(--al-sand) !important; color: var(--al-ink) !important; font-size: 11px; text-transform: none;
}

/* Practice posts list: white hairline rows, 16px, Golos titles */
.al-fallback main .pvx-main > section > p.ml-3 { margin-left: 0; font-size: 14px; color: var(--al-muted); }
.al-fallback main .pvx-main > section a.rounded-lg.border {
  align-items: center; min-height: 72px; padding: 10px 14px; border-radius: var(--al-r);
  background: #fff; border-color: var(--al-line);
}
.al-fallback main .pvx-main > section a.rounded-lg.border:hover { background: #fff; border-color: var(--al-ink); }
.al-fallback main .pvx-main > section a.rounded-lg.border h3[style] { font: 700 15px/1.3 var(--al-display) !important; letter-spacing: -.01em; color: var(--al-ink) !important; }
.al-fallback main .pvx-main > section a.rounded-lg.border p[style] { font-size: 12.5px !important; color: var(--al-muted) !important; }
.al-fallback main .pvx-main > section a.rounded-lg.border img[style] { border-radius: 12px !important; }

/* Gallery: 16px tiles, captions muted */
.al-fallback main .ocd-gallery-grid__item { border-radius: 12px; }
.al-fallback main .ocd-gallery-grid__caption { color: var(--al-muted); }

/* Reviews: a hairline panel, no shadow */
.al-fallback main .pvx-main #reviews { background: #fff; border: 1px solid var(--al-line); border-radius: var(--al-r); box-shadow: none; }
.al-fallback main .pvx-main #reviews > h2 { font: 800 22px/1.1 var(--al-display); letter-spacing: -.024em; }
.al-fallback main .pvx-main #reviews .border-b { border-bottom-width: 0; }

/* Rail: sand panels with Lora italic labels, white chips */
.al-fallback main .pvx-aside { gap: 12px; }
.al-fallback main .pvx-aside .pvx-card { background: var(--al-sand); border: 0; padding: 18px 20px 20px; }
.al-fallback main .pvx-aside .pvx-card[style*="padding:0"] { padding: 0 !important; }
.al-fallback main .pvx-aside .pvx-card__head {
  margin-bottom: 12px; font: italic 400 17px/1.35 var(--al-serif); letter-spacing: 0; text-transform: none; color: var(--al-moss);
}
.al-fallback main .pvx-aside .pvx-card__head > svg { display: none; }
.al-fallback main .pvx-aside .pvx-chip { min-height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 0; color: var(--al-ink); font: 500 14px var(--al-sans); }
.al-fallback main .pvx-aside .pvx-chip--check svg { color: var(--al-brand); }
.al-fallback main .pvx-aside ul a, .al-fallback main .pvx-aside ul button { min-height: 44px; color: var(--al-ink); font-size: 15px; }
.al-fallback main .pvx-aside ul a:hover, .al-fallback main .pvx-aside ul button:hover { color: var(--al-moss); }
.al-fallback main .pvx-aside ul > li > :is(a, button) > div[style] { width: 36px; height: 36px; background: #fff !important; border: 0 !important; color: var(--al-moss); }
.al-fallback main .pvx-aside .space-y-2\.5 > * + * { margin-top: 2px; }
.al-fallback main .pvx-aside a.w-8.h-8 { width: 44px; height: 44px; border: 0; color: var(--al-ink); }
.al-fallback main .pvx-aside a.w-8.h-8:hover { color: var(--al-moss); background: var(--al-page); }
.al-fallback main .pvx-aside :is(.text-slate-700) { color: var(--al-ink); }
.al-fallback main .pvx-aside a[href*="google.com/maps"] {
  min-height: 44px; font: 600 14px var(--al-sans); letter-spacing: 0; text-transform: none; color: var(--al-ink);
  text-decoration: underline; text-decoration-color: var(--al-line); text-underline-offset: 4px;
}
.al-fallback main .pvx-aside [data-ocd-map] { background: var(--al-sand-2); }
/* The rail Book button: an ink pill, same as the hero */
.al-fallback main .pvx-aside > a[data-ocd-contact="booking"] {
  display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px;
  border-radius: 999px; background: var(--al-pill) !important; color: #fff !important; box-shadow: var(--al-raise);
  font: 600 15px var(--al-sans);
}
.al-fallback main .pvx-aside > a[data-ocd-contact="booking"]:hover { background: var(--al-moss) !important; }

/* 3. Provider pages (/provider/<slug>/<page>): article under the band ------- */
.al-fallback main .pvx + nav.max-w-4xl { font-size: 13px; color: var(--al-muted); }
.al-fallback main .pvx + nav.max-w-4xl a { display: inline-flex; align-items: center; min-height: 40px; color: var(--al-muted); }
.al-fallback main .pvx + nav.max-w-4xl a:hover { color: var(--al-ink); }
.al-fallback main .pvx + nav.max-w-4xl .text-slate-600 { color: var(--al-ink); }
.al-fallback main .pvx ~ article > header img.rounded-xl { border-radius: var(--al-r); }
.al-fallback main .pvx ~ article > header h1 { font-size: clamp(2rem, 4.4vw, 3rem); }
.al-fallback main .pvx ~ article > header > div.flex { flex-wrap: wrap; row-gap: 6px; color: var(--al-muted); }
.al-fallback main .pvx ~ article > header > div.flex > a { flex-wrap: wrap; column-gap: 8px; row-gap: 2px; min-height: 44px; color: var(--al-ink); }
.al-fallback main .pvx ~ article > header > div.flex > a .text-slate-400 { color: var(--al-muted); }
.al-fallback main .pvx ~ article > div.mt-12 { background: var(--al-sand); border: 0; border-radius: var(--al-r); flex-wrap: wrap; }
.al-fallback main .pvx ~ article > div.mt-12 > a {
  min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--al-pill); color: #fff; box-shadow: var(--al-raise);
}
.al-fallback main .pvx ~ article > div.mt-12 > a:hover { background: var(--al-moss); }

/* 4. Partner page (/partner/<slug>) ---------------------------------------- */
.al-fallback main .ocd-partner-hero { background: var(--al-paper); border-bottom: 0; }
.al-fallback main .ocd-partner-hero__inner > a:first-child { min-height: 40px; margin-bottom: 8px !important; font-size: 13px !important; color: var(--al-muted) !important; }
.al-fallback main .ocd-partner-hero__inner > a:first-child:hover { color: var(--al-ink) !important; }
.al-fallback main .ocd-partner-hero__avatar { border: 0; border-radius: var(--al-r); background: #fff; }
.al-fallback main .ocd-partner-hero__badge {
  min-height: 26px; align-items: center; padding: 0 10px; margin-bottom: 10px;
  font: 600 12.5px/1 var(--al-sans); letter-spacing: 0; text-transform: none;
  background: #fff !important; color: var(--al-moss) !important; border: 0 !important;
}
.al-fallback main .ocd-partner-hero__title { font: 800 32px/1.04 var(--al-display); letter-spacing: -.032em; color: var(--al-ink); margin-bottom: 10px; }
@media (min-width: 921px) { .al-fallback main .ocd-partner-hero__title { font-size: 44px; } }
.al-fallback main .ocd-partner-hero__summary { font-size: 16px; line-height: 1.6; color: var(--al-body); }
.al-fallback main .ocd-partner-hero__cta {
  min-height: 44px; padding: 0 20px; border-radius: 999px; font: 600 15px var(--al-sans);
  background: var(--al-pill); border-color: var(--al-pill); box-shadow: var(--al-raise);
}
.al-fallback main .ocd-partner-hero__cta:hover { background: var(--al-moss); border-color: var(--al-moss); }
.al-fallback main .ocd-partner-hero__cta--ghost { background: transparent; color: var(--al-ink); border-color: var(--al-line); box-shadow: none; }
.al-fallback main .ocd-partner-hero__cta--ghost:hover { background: rgba(14, 42, 27, .04); border-color: var(--al-ink); }
@media (max-width: 599px) {
  .al-fallback main .ocd-partner-hero__row { flex-direction: column; gap: 14px; }
  .al-fallback main .ocd-partner-hero__ctas .ocd-partner-hero__cta { flex: 1 1 100%; }
}
/* About: unboxed, like the profile bio */
.al-fallback main .ocd-partner-body .ocd-mob-bio { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
.al-fallback main .ocd-partner-body h2[style] { font: 800 24px/1.1 var(--al-display) !important; letter-spacing: -.026em; color: var(--al-ink) !important; }
.al-fallback main .ocd-partner-body .ocd-prose { font-size: 17px; }
.al-fallback main .ocd-partner-body .ocd-prose img { border-radius: var(--al-r); }
/* Articles row */
.al-fallback main .ocd-partner-posts > a { border-radius: var(--al-r) !important; border-color: var(--al-line) !important; box-shadow: none !important; }
.al-fallback main .ocd-partner-posts > a:hover { border-color: var(--al-ink) !important; }
.al-fallback main .ocd-partner-posts > a > div:first-child { background: var(--al-sand) !important; }
.al-fallback main .ocd-partner-posts h3[style] { font-family: var(--al-display) !important; font-size: 15px !important; color: var(--al-ink) !important; }
/* Rail: sand panel, Lora labels, white chips and icon buttons */
.al-fallback main .ocd-partner-body .ocd-mob-priority { background: var(--al-sand) !important; border: 0 !important; border-radius: var(--al-r) !important; padding: 18px 20px 20px !important; }
.al-fallback main .ocd-partner-body .ocd-mob-priority :is(h3, h4)[style] {
  font: italic 400 17px/1.35 var(--al-serif) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--al-moss) !important;
}
.al-fallback main .ocd-partner-body .ocd-mob-priority li { min-height: 36px; color: var(--al-ink) !important; font-size: 15px; }
.al-fallback main .ocd-partner-body .ocd-mob-priority li a { display: inline-flex; align-items: center; min-height: 44px; color: var(--al-ink) !important; text-decoration: underline !important; text-decoration-color: var(--al-line) !important; text-underline-offset: 4px; }
.al-fallback main .ocd-partner-body .ocd-mob-priority li a:hover { color: var(--al-moss) !important; }
.al-fallback main .ocd-partner-body .ocd-mob-priority ul { gap: 2px !important; }
.al-fallback main .ocd-partner-body .ocd-mob-priority a[aria-label][style*="width:44px"] { border-radius: 999px !important; border: 0 !important; background: #fff; color: var(--al-ink) !important; }
.al-fallback main .ocd-partner-body .ocd-mob-priority div[style*="border-top"] { border-top: 0 !important; padding-top: 4px !important; }
.al-fallback main .ocd-partner-body .ocd-mob-priority a[href*="?tag="] {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px !important;
  font: 500 14px var(--al-sans) !important; background: #fff !important; color: var(--al-ink) !important; border: 0 !important;
}
.al-fallback main .ocd-partner-body .ocd-mob-priority a[href*="?tag="]:hover { background: var(--al-page) !important; }
/* "Want to partner with us?": a mint panel, ink link */
.al-fallback main .ocd-partner-body > div > div[style*="#f0fdfa"] { background: var(--al-paper) !important; border: 0 !important; border-radius: var(--al-r) !important; }
.al-fallback main .ocd-partner-body > div > div[style*="#f0fdfa"] p[style] { color: var(--al-body) !important; font-size: 14px !important; }
.al-fallback main .ocd-partner-body > div > div[style*="#f0fdfa"] p[style]:first-child { font: 700 17px/1.3 var(--al-display) !important; color: var(--al-ink) !important; }
.al-fallback main .ocd-partner-body > div > div[style*="#f0fdfa"] a[style] {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 15px !important; color: var(--al-ink) !important;
  text-decoration: underline !important; text-decoration-color: var(--al-line) !important; text-underline-offset: 4px;
}

/* Office hours: the "Today" marker in moss, not link blue */
.al-fallback main .pvx-card li span[style*="#1D4ED8"] { color: var(--al-moss) !important; }

/* 5. Legal pages (/privacy, /terms): the flat mint head band, like /about */
.al-fallback main > div.max-w-3xl.py-12:first-child { padding-top: 0; }
.al-fallback main > div.max-w-3xl.py-12:first-child > h1.text-3xl:first-child {
  margin: 0; padding: 40px 0 8px;
  font: 800 32px/1.08 var(--al-display); letter-spacing: -.025em; color: var(--al-ink);
  background: var(--al-paper); box-shadow: 0 0 0 100vmax var(--al-paper); clip-path: inset(0 -100vmax);
}
.al-fallback main > div.max-w-3xl.py-12:first-child > h1.text-3xl:first-child + p.text-sm {
  margin: 0 0 32px; padding: 0 0 32px; font-size: 14px; color: var(--al-muted);
  background: var(--al-paper); box-shadow: 0 0 0 100vmax var(--al-paper); clip-path: inset(0 -100vmax);
}
.al-fallback main > div.max-w-3xl.py-12:first-child > h1.text-3xl:first-child:not(:has(+ p.text-sm)) { padding-bottom: 32px; margin-bottom: 32px; }
@media (min-width: 921px) {
  .al-fallback main > div.max-w-3xl.py-12:first-child > h1.text-3xl:first-child { padding-top: 56px; font-size: 44px; }
}
.al-fallback main .ocd-prose a.text-indigo-600 { color: var(--al-ink); }
