/* =========================================================================
 * faf-browse.css — FindAFacilitator "Browse First" template
 * -------------------------------------------------------------------------
 * Mobile-first, fast, dependency-free. Brand palette (LSI/FAF):
 *   Teal   #00C7B1   Blue   #00467F   Yellow #F1B434
 *   Orange #F26522   Black  #2D2926   Gray   #C8C9C7
 * Scoped under #faf-browse to avoid colliding with the existing theme.
 * ========================================================================= */

/* Make the HTML [hidden] attribute authoritative. Several of our components
 * set display:grid / position:fixed, which would otherwise override the
 * user-agent's [hidden]{display:none}. This keeps the spinner overlay,
 * shortlist bar, request modal, etc. truly hidden until JS reveals them. */
[hidden] { display: none !important; }

:root {
  --faf-teal:   #00C7B1;
  --faf-blue:   #00467F;
  --faf-yellow: #F1B434;
  --faf-orange: #F26522;
  --faf-black:  #2D2926;
  --faf-gray:   #C8C9C7;
  --faf-gray-1: #f5f6f6;
  --faf-gray-2: #e6e7e7;
  --faf-radius: 12px;
  --faf-shadow: 0 2px 10px rgba(45,41,38,.08);
  --faf-shadow-lg: 0 14px 40px rgba(45,41,38,.18);
  --faf-maxw: 1200px;
}

#faf-browse * { box-sizing: border-box; }
#faf-browse {
  color: var(--faf-black);
  font-family: "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.5;
  /* v1.5.3: breathing room below the site nav (~10pt) so content isn't crammed against the header */
  padding-top: 13px;
}
#faf-browse img { max-width: 100%; display: block; }
.faf-noscroll { overflow: hidden; }

/* ---------- buttons ---------- */
.faf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  font: inherit; font-weight: 700; cursor: pointer;
  padding: .7em 1.25em; border-radius: 999px; border: 2px solid transparent;
  transition: background-color .15s, color .15s, border-color .15s, transform .05s;
  text-decoration: none; line-height: 1;
}
.faf-btn:active { transform: translateY(1px); }
/* Force white text on teal -- the parent theme colors <a> links yellow, which
   bleeds onto button links and produces unreadable yellow-on-teal. !important
   keeps button text white/legible regardless of theme link styles. */
.faf-btn--primary,
.faf-btn--primary:link,
.faf-btn--primary:visited { background: var(--faf-teal); color: #fff !important; }
.faf-btn--primary:hover,
.faf-btn--primary:focus { background: #00b3a0; color:#fff !important; }
/* Ghost = blue border + blue text on transparent. No yellow on buttons:
   yellow text/border against teal or white fails contrast. Hover fills blue
   with white text for a clear, accessible state on any background. */
.faf-btn--ghost,
.faf-btn--ghost:link,
.faf-btn--ghost:visited { background: transparent; color: var(--faf-blue) !important; border-color: var(--faf-blue); }
.faf-btn--ghost:hover,
.faf-btn--ghost:focus { background: var(--faf-blue); color: #fff !important; border-color: var(--faf-blue); }
.faf-btn--add { background:#fff; color: var(--faf-blue) !important; border-color: var(--faf-gray); font-weight:700; }
.faf-btn--add:hover { border-color: var(--faf-blue); color: var(--faf-blue) !important; }
.faf-btn--add.is-added { background: var(--faf-teal); color:#fff !important; border-color: var(--faf-teal); cursor: default; }
.faf-btn--block { width: 100%; }
.faf-link { background:none; border:none; color: var(--faf-blue); text-decoration: underline; cursor:pointer; font: inherit; padding:0; }

/* ---------- hero ---------- */
.faf-hero { background: var(--faf-gray-1); padding: 2rem 1rem; }
.faf-hero__inner { max-width: var(--faf-maxw); margin: 0 auto; display: grid; gap: 1.5rem; }
.faf-hero__title { font-size: clamp(1.7rem, 5vw, 2.8rem); line-height: 1.08; margin: 0 0 .6rem; color: var(--faf-black); font-weight: 800; }
.faf-hero__sub { font-size: clamp(1rem, 2.2vw, 1.18rem); max-width: 46ch; margin: 0; color: #444; }
.faf-hero__sub strong { color: var(--faf-blue); }
.faf-hero__filters { display: grid; grid-template-columns: 1fr; gap: .75rem; background:#fff; padding: 1rem; border-radius: var(--faf-radius); box-shadow: var(--faf-shadow); }

/* fields */
.faf-field { display: grid; gap: .3rem; }
.faf-field--full { grid-column: 1 / -1; }
.faf-field__label { font-size: .95rem; font-weight: 700; color: var(--faf-blue); letter-spacing: .01em; }
.faf-field__label em { font-style: normal; font-weight: 400; color:#777; }
.faf-field select, .faf-field input, .faf-field textarea {
  font-family: inherit; font-size: 1.05rem; line-height: 1.3;
  padding: .7rem .85rem; border: 1.5px solid var(--faf-gray);
  border-radius: 8px; background:#fff; color: var(--faf-black); width: 100%;
}
.faf-field select { font-weight: 600; }
.faf-field select option { color: var(--faf-black); }
.faf-field ::placeholder { color: #8a8a8a; opacity: 1; }
.faf-field select:focus, .faf-field input:focus, .faf-field textarea:focus {
  outline: none; border-color: var(--faf-teal); box-shadow: 0 0 0 3px rgba(0,199,177,.18);
}
.faf-filters__more { justify-self: start; }

/* ---------- trust bar ---------- */
.faf-trust { background: var(--faf-blue); color:#fff; padding: 1rem; }
.faf-trust__list {
  max-width: var(--faf-maxw); margin: 0 auto; list-style: none; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1rem;
  font-size: .9rem; text-align: center;
}
.faf-trust__list strong { color: var(--faf-teal); display: block; font-size: 1.15rem; }

/* ---------- advanced drawer ---------- */
.faf-advanced { background: var(--faf-gray-1); border-bottom: 1px solid var(--faf-gray-2); }
.faf-advanced__inner { max-width: var(--faf-maxw); margin: 0 auto; padding: 1.25rem 1rem; display: grid; gap: 1.25rem; }
.faf-advanced__group { border: none; padding: 0; margin: 0; }
.faf-advanced__group legend { font-weight: 800; color: var(--faf-blue); margin-bottom: .5rem; padding:0; }
.faf-checks { display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.faf-check { display: inline-flex; align-items: center; gap: .35rem; font-size: .9rem; }

/* ---------- grid ---------- */
.faf-grid-wrap { max-width: var(--faf-maxw); margin: 0 auto; padding: 2rem 1rem; }
.faf-grid-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.faf-grid-title { font-size: clamp(1.4rem, 3.5vw, 2rem); margin: 0; font-weight: 800; color: var(--faf-black); }
.faf-grid-count { color:#777; font-size: .9rem; margin: 0; }
.faf-grid-help { color:#555; margin: .5rem 0 1.5rem; max-width: 60ch; }
.faf-grid-help strong { color: var(--faf-orange); }

.faf-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.faf-card { background:#fff; border: 1px solid var(--faf-gray-2); border-radius: var(--faf-radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--faf-shadow); transition: box-shadow .15s, transform .15s; }
.faf-card:hover { box-shadow: var(--faf-shadow-lg); transform: translateY(-2px); }
.faf-card__photo { position: relative; aspect-ratio: 4 / 3; background: var(--faf-gray-1); overflow: hidden; }
/* Force uniform photos even if the theme sets img{height:auto}. Absolute-fill
 * the wrapper and cover-crop, so every card photo is identical in size. */
#faf-browse .faf-card__photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center top; display: block; margin: 0; }
.faf-card__body { padding: .8rem .9rem .2rem; flex: 1; }
.faf-card__name { font-size: .92rem; margin: 0 0 .15rem; font-weight: 800; line-height: 1.2; }
.faf-card__meta { font-size: .76rem; color:#666; margin: 0; }
.faf-card__loc { color: var(--faf-blue); }
.faf-card__actions { padding: .7rem .9rem 1rem; display: grid; gap: .5rem; grid-template-columns: 1fr 1fr; }
.faf-card__actions .faf-btn { padding: .45em .4em; font-size: .78rem; }
.faf-card__body { padding: .6rem .7rem .15rem; }
.faf-card__actions { padding: .5rem .7rem .8rem; gap: .4rem; }

.faf-empty { text-align: center; color:#666; padding: 2rem 1rem; }
.faf-grid-foot { text-align: center; margin-top: 1.75rem; }

/* ---------- how it works ---------- */
.faf-how { background: var(--faf-gray-1); padding: 2.5rem 1rem; }
.faf-how__title { text-align: center; font-weight: 800; font-size: clamp(1.4rem,3.5vw,2rem); margin: 0 0 1.5rem; }
.faf-how__steps { list-style: none; padding: 0; margin: 0 auto; max-width: var(--faf-maxw); display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
.faf-how__steps li { background:#fff; border-radius: var(--faf-radius); padding: 1.25rem; box-shadow: var(--faf-shadow); }
.faf-how__num { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: var(--faf-teal); color:#fff; font-weight: 800; margin-bottom: .5rem; }

/* ---------- CMF authority ---------- */
.faf-cmf { background: var(--faf-black); color:#fff; padding: 2.5rem 1rem; text-align: center; }
.faf-cmf__title { color: var(--faf-teal); font-weight: 800; font-size: clamp(1.3rem,3.2vw,1.9rem); margin: 0 0 .75rem; }
.faf-cmf__body { max-width: 60ch; margin: 0 auto; font-size: 1.08rem; color: #e8e8e8; }

/* ---------- quick view drawer ---------- */
.faf-quickview { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.faf-quickview.is-open { visibility: visible; }
.faf-quickview__scrim { position: absolute; inset: 0; background: rgba(45,41,38,.5); opacity: 0; transition: opacity .2s; }
.faf-quickview.is-open .faf-quickview__scrim { opacity: 1; }
.faf-quickview__panel {
  position: absolute; top: 0; right: 0; height: 100%; width: min(440px, 92vw);
  background:#fff; box-shadow: var(--faf-shadow-lg); transform: translateX(100%);
  transition: transform .25s ease; overflow-y: auto; padding: 1.5rem;
}
.faf-quickview.is-open .faf-quickview__panel { transform: translateX(0); }
.faf-quickview__close { position: absolute; top: .6rem; right: .8rem; background:none; border:none; font-size: 1.8rem; line-height:1; cursor:pointer; color:#999; }
.faf-qv__photo { width: 150px; height: 150px; object-fit: cover; border-radius: 999px; margin: .5rem auto 1rem; }
.faf-qv { text-align: center; }
.faf-qv__name { font-size: 1.4rem; margin: 0 0 .25rem; font-weight: 800; }
.faf-qv__rating { color: var(--faf-orange); font-weight: 700; margin: 0 0 .25rem; }
.faf-qv__loc { color: var(--faf-blue); margin: 0 0 .5rem; }
.faf-qv__fee { margin: 0 0 1rem; font-weight: 700; }
.faf-qv__fee span { color:#888; font-weight: 400; }
.faf-qv__bio { text-align: left; color:#444; margin: 0 0 1.25rem; }
.faf-qv__actions { display: grid; gap: .6rem; }

/* ---------- sticky shortlist bar ---------- */
.faf-shortlist { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background:#fff; border-top: 2px solid var(--faf-teal); box-shadow: 0 -6px 24px rgba(45,41,38,.14); }
.faf-shortlist__inner { max-width: var(--faf-maxw); margin: 0 auto; padding: .7rem 1rem; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.faf-shortlist__label { font-weight: 800; color: var(--faf-blue); }
.faf-shortlist__chips { list-style: none; margin: 0; padding: 0; display: flex; gap: .5rem; flex-wrap: wrap; flex: 1; }
.faf-chip, .faf-selected { display: inline-flex; align-items: center; gap: .4rem; background: var(--faf-gray-1); border-radius: 999px; padding: .25rem .6rem .25rem .25rem; font-size: .85rem; font-weight: 700; }
.faf-chip img, .faf-selected img { width: 24px; height: 24px; border-radius: 999px; object-fit: cover; }
.faf-chip__remove, .faf-selected__remove { background:none; border:none; cursor:pointer; font-size: 1.1rem; line-height:1; color:#999; padding:0 .1rem; }
.faf-shortlist .faf-btn--primary { white-space: nowrap; }

/* ---------- request modal ---------- */
.faf-request { position: fixed; inset: 0; z-index: 1100; }
.faf-request__scrim { position: absolute; inset: 0; background: rgba(45,41,38,.55); }
.faf-request__panel {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: min(640px, 94vw); max-height: 92vh; overflow-y: auto; background:#fff;
  border-radius: var(--faf-radius); box-shadow: var(--faf-shadow-lg); padding: 1.75rem;
}
.faf-request__close { position: absolute; top: .6rem; right: .9rem; background:none; border:none; font-size: 1.9rem; line-height:1; cursor:pointer; color:#999; }
.faf-request__title { margin: 0 0 .75rem; font-weight: 800; font-size: 1.5rem; }
.faf-request__selected-label { font-weight: 700; color: var(--faf-blue); margin: 0 0 .4rem; }
.faf-request__selected { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.faf-request__note { color:#555; font-size: .92rem; margin: 0 0 1.25rem; }
.faf-request__note a { color: var(--faf-blue); font-weight: 700; }
.faf-request__form { display: grid; gap: .9rem; }
.faf-row { display: grid; gap: .9rem; grid-template-columns: 1fr; }
.faf-errors { background: #fdecea; border: 1px solid #f5c2bd; border-radius: 8px; padding: .75rem 1rem; color: #a3271b; }
.faf-errors p { margin: .15rem 0; }

/* ---------- submit overlay + toast ---------- */
.faf-overlay { position: fixed; inset: 0; z-index: 1200; background: rgba(255,255,255,.85); display: grid; place-items: center; }
.faf-overlay__spinner { width: 56px; height: 56px; border: 5px solid var(--faf-gray-2); border-top-color: var(--faf-teal); border-radius: 999px; animation: faf-spin .8s linear infinite; }
@keyframes faf-spin { to { transform: rotate(360deg); } }
.faf-toast { position: fixed; left: 50%; bottom: 5.5rem; transform: translateX(-50%); background: var(--faf-black); color:#fff; padding: .6rem 1.1rem; border-radius: 999px; z-index: 1300; font-weight: 700; font-size: .9rem; box-shadow: var(--faf-shadow-lg); opacity: 1; transition: opacity .3s; }
.faf-toast.is-out { opacity: 0; }

/* =========================================================================
 * SHARED SECTION HEADINGS
 * ========================================================================= */
.faf-section-title { font-size: clamp(1.4rem, 3.5vw, 2.1rem); font-weight: 800; color: var(--faf-black); margin: 0 0 1rem; text-align: center; }
.faf-section-title--invert { color: #fff; }

/* ---------- why use a professional facilitator ---------- */
.faf-why-pro { background:#fff; padding: 2.75rem 1rem; }
.faf-why-pro__inner { max-width: var(--faf-maxw); margin: 0 auto; }
.faf-why-pro__lede { max-width: 62ch; margin: 0 auto 1.75rem; text-align: center; color:#444; font-size: 1.05rem; }
.faf-why-pro__grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; }
.faf-why-pro__item { border-left: 4px solid var(--faf-teal); background: var(--faf-gray-1); border-radius: 0 var(--faf-radius) var(--faf-radius) 0; padding: 1.1rem 1.25rem; }
.faf-why-pro__item h3 { margin: 0 0 .35rem; font-size: 1.08rem; color: var(--faf-blue); }
.faf-why-pro__item p { margin: 0; color:#555; }

/* ---------- why find a facilitator here (4 benefit blocks) ---------- */
.faf-why-here { background: var(--faf-gray-1); padding: 2.75rem 1rem; }
.faf-why-here__inner { max-width: var(--faf-maxw); margin: 0 auto; }
.faf-benefits { display: grid; gap: 1.1rem; grid-template-columns: 1fr; }
.faf-benefit { background:#fff; border-radius: var(--faf-radius); overflow: hidden; box-shadow: var(--faf-shadow); display: grid; grid-template-columns: 1fr; }
.faf-benefit__img { background: linear-gradient(135deg, var(--faf-blue), var(--faf-teal)); min-height: 160px; background-size: cover; background-position: center; }
  /* Benefit-block photography. Paths are relative to this stylesheet (css/ -> ../images/). */
  .faf-benefit__img[data-img="dedicated-ce"]   { background-image: url("../images/benefit-dedicated-ce_16x9.png"); }
  .faf-benefit__img[data-img="team-breakouts"] { background-image: url("../images/benefit-team-breakouts_16x9.png"); }
  .faf-benefit__img[data-img="best-of-best"]   { background-image: url("../images/benefit-best-of-best_16x9.png"); }
  .faf-benefit__img[data-img="vet-three"]      { background-image: url("../images/benefit-vet-three_16x9.png"); }
.faf-benefit__copy { padding: 1.25rem 1.4rem; }
.faf-benefit__copy h3 { margin: 0 0 .4rem; font-size: 1.15rem; }
.faf-benefit__lead { color: var(--faf-teal); font-weight: 800; }
.faf-benefit__copy p { margin: 0; color:#555; }
.faf-benefit__copy strong { color: var(--faf-black); }

/* ---------- satisfying clients ---------- */
.faf-clients { background: var(--faf-blue); color:#fff; padding: 2.75rem 1rem; }
.faf-clients__inner { max-width: var(--faf-maxw); margin: 0 auto; text-align: center; }
.faf-clients__lede { max-width: 60ch; margin: 0 auto 1.75rem; color:#dbe6f0; }
/* v1.5.3: real testimonials in place of unapproved client logos. White cards on
   the blue section, teal top accent + quote mark to match the original page. */
.faf-testimonials { list-style: none; padding: 0; margin: 1.75rem 0 0; display: grid; grid-template-columns: 1fr; gap: 1.25rem; text-align: left; }
.faf-testimonial { position: relative; background: #fff; color: var(--faf-black); border-radius: var(--faf-radius); padding: 1.5rem 1.4rem 1.4rem; box-shadow: var(--faf-shadow); border-top: 4px solid var(--faf-teal); display: flex; flex-direction: column; }
.faf-testimonial__quote { margin: 0 0 1rem; font-size: 1.02rem; line-height: 1.5; color: #2d2926; }
.faf-testimonial__quote::before { content: "\201C"; display: block; font-family: Georgia, "Times New Roman", serif; font-size: 3rem; line-height: .6; color: var(--faf-teal); margin-bottom: .35rem; }
.faf-testimonial__cite { margin: auto 0 0; padding-top: .9rem; border-top: 1px solid var(--faf-gray-1); }
.faf-testimonial__name { display: block; font-weight: 700; color: var(--faf-black); }
.faf-testimonial__role { display: block; font-size: .9rem; color: #6b6b6b; margin-top: .15rem; }

/* ---------- meet the facilitators ---------- */
.faf-meet { background:#fff; padding: 2.75rem 1rem; }
.faf-meet__inner { max-width: var(--faf-maxw); margin: 0 auto; }
.faf-meet__lede { text-align: center; color:#555; margin: 0 0 1.75rem; }
.faf-meet__grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(2, 1fr); }
.faf-meet__card { text-align: center; }
.faf-meet__photo { width: 120px; height: 120px; object-fit: cover; border-radius: 999px; margin: 0 auto .75rem; box-shadow: var(--faf-shadow); }
.faf-meet__name { font-size: 1.05rem; margin: 0 0 .1rem; font-weight: 800; }
.faf-meet__meta { font-size: .82rem; color:#666; margin: 0; }
.faf-meet__loc { color: var(--faf-blue); margin-bottom: .6rem; }
.faf-meet__foot { text-align: center; margin-top: 1.75rem; }

/* ---------- more than a database ---------- */
.faf-more { background: var(--faf-gray-1); padding: 2.75rem 1rem; }
.faf-more__inner { max-width: var(--faf-maxw); margin: 0 auto; }
.faf-more__lede { text-align: center; max-width: 64ch; margin: 0 auto 1.75rem; color:#444; font-size: 1.05rem; }
.faf-more__steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.1rem; grid-template-columns: 1fr; counter-reset: faf-more; }
.faf-more__step { background:#fff; border-radius: var(--faf-radius); padding: 1.4rem; box-shadow: var(--faf-shadow); }
.faf-more__num { display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 999px; background: var(--faf-yellow); color: var(--faf-black); font-weight: 800; margin-bottom: .5rem; }
.faf-more__step h3 { margin: 0 0 .35rem; font-size: 1.1rem; }
.faf-more__step p { margin: 0 0 .3rem; color:#555; }
.faf-more__link { font-weight: 700; }

/* =========================================================================
 * RESPONSIVE — scale up from mobile
 * ========================================================================= */
@media (min-width: 600px) {
  .faf-trust__list { grid-template-columns: repeat(3, 1fr); }
  .faf-row { grid-template-columns: 1fr 1fr; }
  .faf-grid { gap: 1rem; }
}
@media (min-width: 880px) {
  .faf-hero { padding: 3rem 1.5rem; }
  .faf-hero__inner { grid-template-columns: 1.2fr .9fr; align-items: center; gap: 2.5rem; }
  .faf-hero__filters { grid-template-columns: 1fr 1fr; }
  .faf-hero__filters .faf-field:first-child { grid-column: 1 / -1; }
  .faf-filters__more { grid-column: 1 / -1; }
  .faf-trust__list { grid-template-columns: repeat(6, 1fr); font-size: .92rem; }
  .faf-advanced__inner { grid-template-columns: 1fr 1fr auto; align-items: start; }
  .faf-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 1rem; }
  .faf-how__steps { grid-template-columns: repeat(3, 1fr); }
  .faf-why-pro__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
  .faf-benefits { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .faf-benefit { grid-template-columns: 38% 1fr; align-items: stretch; }
  .faf-benefit__img { min-height: 100%; }
  .faf-testimonials { grid-template-columns: repeat(3, 1fr); }
  .faf-meet__grid { grid-template-columns: repeat(6, 1fr); }
  .faf-meet__photo { width: 110px; height: 110px; }
  .faf-more__steps { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
  .faf-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1.1rem; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce) {
  #faf-browse *, .faf-quickview__panel { transition: none !important; animation: none !important; }
}

/* =====================================================================
   v1.5 ADDITIONS — brief Fixes 9–12 + New Sections A/B/C
   Brand tokens reused; brief inline colors mapped to palette.
   ===================================================================== */

/* Fix 9 — section CTA */
#faf-browse .faf-section-cta { text-align: center; margin-top: 2rem; }

/* New A — Browse by session type */
.faf-session-nav { background: var(--faf-gray-1); padding: 1.5rem 1rem; border-top: 1px solid var(--faf-gray-2); }
.faf-session-nav__inner { max-width: var(--faf-maxw); margin: 0 auto; text-align: center; }
.faf-session-nav__eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--faf-blue); margin: 0 0 1rem; }
.faf-session-nav__links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.faf-session-nav__link { display: inline-block; padding: .6rem 1.25rem; border: 1px solid var(--faf-gray); border-radius: 9999px; font-size: .9rem; font-weight: 600; color: var(--faf-black); text-decoration: none; background: #fff; transition: border-color .15s, color .15s; }
.faf-session-nav__link:hover { border-color: var(--faf-teal); color: var(--faf-teal); }

/* Fix 11 — client industry tags */
.faf-client-industries { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.faf-client-industries__tag { padding: .4rem 1rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35); border-radius: 9999px; font-size: .85rem; font-weight: 600; color: #fff; }

/* New B — Executive Retreat Blueprint resource card */
.faf-resource-callout { padding: 2rem 1rem; }
.faf-resource-callout__inner { max-width: var(--faf-maxw); margin: 0 auto; }
.faf-resource-callout__card { background: #eaf6f4; border: 1px solid #b3ede8; border-radius: var(--faf-radius); padding: 2rem; max-width: 720px; margin: 0 auto; }
.faf-resource-callout__eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--faf-teal); margin: 0 0 .5rem; }
.faf-resource-callout__title { font-size: 1.25rem; font-weight: 800; color: var(--faf-black); margin: 0 0 .5rem; line-height: 1.2; }
.faf-resource-callout__copy { font-size: .95rem; color: #4a5f70; margin: 0 0 1rem; line-height: 1.5; }

/* New C — FAQ */
.faf-faq { padding: 3rem 1rem; background: var(--faf-gray-1); }
.faf-faq__inner { max-width: 760px; margin: 0 auto; }
.faf-faq__eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--faf-blue); margin: 0 0 .5rem; }
.faf-faq__list { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; }
.faf-faq__item { background: #fff; border: 1px solid var(--faf-gray-2); border-radius: 8px; padding: 1.5rem; }
.faf-faq__q { font-size: 1.05rem; font-weight: 700; color: var(--faf-black); margin: 0 0 .75rem; }
.faf-faq__a { font-size: .95rem; color: #4a5f70; line-height: 1.6; margin: 0; }
.faf-faq__a a { color: var(--faf-blue); }
.faf-faq__cta { padding: 1.25rem 1.5rem; background: #fff; border: 1px solid var(--faf-gray-2); border-radius: 8px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.faf-faq__cta-title { display: block; font-size: 1rem; color: var(--faf-black); margin-bottom: .2rem; }
.faf-faq__cta-sub { font-size: .9rem; color: #6b7a85; }

/* Fix 12 — sticky bottom CTA bar */
.faf-sticky-bar { position: fixed; bottom: 0; left: 0; right: 0; background: var(--faf-black); color: #fff; padding: .75rem 1.5rem; display: flex; align-items: center; justify-content: space-between; z-index: 9999; flex-wrap: wrap; gap: .75rem; box-shadow: 0 -4px 20px rgba(45,41,38,.25); }
.faf-sticky-bar__text { font-size: .95rem; }
.faf-sticky-bar__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.faf-sticky-bar__btn { padding: .6rem 1.25rem; font-weight: 700; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: background .15s; }
.faf-sticky-bar__btn--primary,
.faf-sticky-bar__btn--primary:link,
.faf-sticky-bar__btn--primary:visited { background: var(--faf-teal); color: #fff !important; }
.faf-sticky-bar__btn--primary:hover,
.faf-sticky-bar__btn--primary:focus { background: #00b3a0; color: #fff !important; }
.faf-sticky-bar__btn--ghost,
.faf-sticky-bar__btn--ghost:link,
.faf-sticky-bar__btn--ghost:visited { border: 1px solid rgba(255,255,255,.4); color: #fff !important; }
.faf-sticky-bar__btn--ghost:hover,
.faf-sticky-bar__btn--ghost:focus { background: rgba(255,255,255,.12); color:#fff !important; }
/* keep sticky bar from covering page bottom + drawer */
body.faf-has-sticky { padding-bottom: 4.5rem; }
/* v1.5.2: when a shortlist is active, the shortlist bar REPLACES the sticky
   CTA bar (they both pin to the bottom, so showing both overlaps). Hide the
   CTA bar and raise the shortlist bar above it. */
body.faf-shortlist-active .faf-sticky-bar { display: none !important; }
body.faf-shortlist-active .faf-shortlist { z-index: 10000; }
@media (max-width: 640px) {
  .faf-sticky-bar { flex-direction: column; align-items: stretch; text-align: center; padding: .6rem 1rem; }
  .faf-sticky-bar__actions { justify-content: center; }
  body.faf-has-sticky { padding-bottom: 7.5rem; }
}
