/* Elite Strategies, single people CPT (mockup 3 / profile card) layout. */

/* ---- Avada chrome adjustments ---- */
.single-people .fusion-page-title-bar,
.single-people .fusion-tb-page-title-bar,
.single-people .awb-tb-ptb-people {
  display: none !important;
}
.single-people .fusion-tb-header > header,
.single-people .fusion-tb-header .fusion-builder-row-1 {
  background-color: var(--awb-color8) !important;
  --awb-background-color: var(--awb-color8) !important;
}

/* ---- Outer profile wrapper ---- */
.es-profile {
  --es-ink: var(--awb-color7);
  --es-muted: var(--awb-color6);
  --es-line: #e3dfd7;
  --es-card: #ffffff;
  --es-accent: var(--awb-color4);
  --es-accent-soft: #efeaff;
  --es-accent-dark: #3d2bc5;
  --es-good: #22a06b;
  background-image:
    radial-gradient(1000px 600px at 80% -10%, rgba(112, 90, 239, .18) 0%, rgba(112, 90, 239, 0) 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(255, 184, 130, .22) 0%, rgba(255, 184, 130, 0) 55%);
}
/* Avada's outer container is flex row + nowrap, so multiple inner rows collide on
   one horizontal line. Force the outer container to stack its children as blocks. */
.es-profile.fusion-flex-container {
  display: block !important;
}
.es-profile > .fusion-builder-row,
.es-profile > .fusion-row > .fusion-builder-row {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.es-profile > .fusion-builder-row + .fusion-builder-row {
  margin-top: 24px !important;
}

/* Inner rows (avatar-row, repeater wrappers) keep Fusion's flex behavior. */

/* ---- Breadcrumbs ---- */
.es-crumbs {
  font-size: 13px !important;
  color: var(--es-muted) !important;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 6px !important;
}
.es-crumbs a {
  color: inherit !important;
  text-decoration: none;
}
.es-crumbs a:hover { color: var(--es-accent) !important; }
.es-crumbs span[aria-hidden] { opacity: .5; }

/* ---- Identity card (the row that holds avatar + identity) ---- */
.es-profile > .fusion-builder-row:has(.es-card__avatar-col) {
  background: var(--es-card);
  border: 1px solid var(--es-line);
  border-radius: 28px;
  box-shadow: 0 30px 60px -25px rgba(20, 20, 40, .18);
  padding: 32px;
  align-items: center;
}
@media (max-width: 760px) {
  .es-profile > .fusion-builder-row:has(.es-card__avatar-col) {
    padding: 22px;
  }
}
.es-card__avatar-col {
  --awb-spacing-right-large: 0 !important;
  --awb-spacing-left-large: 0 !important;
  --awb-margin-bottom-large: 0 !important;
  padding-left: 12px;
  padding-right: 24px;
}
.es-card__identity-col {
  --awb-spacing-right-large: 0 !important;
  --awb-spacing-left-large: 0 !important;
  --awb-margin-bottom-large: 0 !important;
}
@media (max-width: 760px) {
  .es-card__avatar-col { padding-right: 0; padding-bottom: 18px; }
  .es-card__avatar-col,
  .es-card__identity-col { width: 100% !important; --awb-width-large: 100% !important; }
}

.es-card__avatar,
.es-card__avatar .fusion-image-element,
.es-card__avatar .imageframe-align-none,
.es-card__avatar .fusion-imageframe {
  width: 100% !important;
  display: block;
  max-width: none !important;
}
.es-card__avatar img,
.es-card__avatar .imageframe-2 img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover;
  object-position: center 18%;
  border-radius: 6px;
  display: block;
}
.es-card__avatar { position: relative; margin: 0 !important; }
.es-card__avatar-col { position: relative; }

.es-card__status-wrap { margin: -18px 0 0 !important; text-align: center; }
.es-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--es-line);
  border-radius: 99px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--es-ink);
  box-shadow: 0 6px 18px -6px rgba(20, 20, 40, .15);
  white-space: nowrap;
}
.es-status:empty,
.es-status:has(:only-child:empty) { display: none; }
.es-status__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--es-good);
}

.es-card__identity-col { display: flex; flex-direction: column; gap: 12px; }
.es-card__role-tag-wrap { margin: 0 !important; }
.es-role-tag {
  display: inline-block;
  background: var(--es-accent-soft);
  color: var(--es-accent-dark);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 8px;
  letter-spacing: .04em;
}
.es-card__name h1,
.es-card__name {
  font-size: clamp(36px, 5.2vw, 56px) !important;
  letter-spacing: -.025em !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin: 4px 0 4px !important;
  color: var(--es-ink) !important;
}
.es-card__tagline {
  font-size: 18px !important;
  color: var(--es-muted) !important;
  margin: 0 !important;
  line-height: 1.4;
}
.es-card__meta-wrap { margin: 0 !important; }
.es-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--es-muted);
}
.es-meta__item:empty { display: none; }

.es-card__cta-wrap {
  margin-top: 12px;
}
.es-card__cta-wrap .fusion-column-wrapper {
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap;
  align-items: center;
}
/* Each button is wrapped in its own anonymous div; force them into flex layout
   with margin so the gap is real. */
.es-card__cta-wrap .fusion-button {
  margin-right: 16px !important;
}
.es-card__cta-wrap .fusion-button:last-child {
  margin-right: 0 !important;
}
.es-card__cta-primary.fusion-button,
.es-card__cta-secondary.fusion-button {
  padding: 11px 20px !important;
  border-radius: 99px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
/* Hide CTAs when label or URL is empty (people without CTAs configured). */
.es-card__cta-wrap a[href=""],
.es-card__cta-wrap a[href="https://elite-strategies.com"],
.es-card__cta-wrap a:has(span:empty),
.es-card__cta-wrap a.fusion-button:not([href]) {
  display: none !important;
}
/* If the empty role tag span only has whitespace, hide it. */
.es-role-tag:empty { display: none; }
/* Hide section heading + content when content is empty (best-effort, optional). */
.es-fact-cards:empty + * { display: none; }

/* ---- Bio + glance row ---- */
/* Style the OUTER column as the panel so the white card spans the full Avada column
   width (matching the identity card above). Carve out a 24px gap between bio and
   glance by trimming each column's width. */
.es-panel {
  background: var(--es-card) !important;
  border: 1px solid var(--es-line) !important;
  border-radius: 24px !important;
  padding: 28px !important;
  box-sizing: border-box !important;
}
.es-panel--bio {
  --awb-width-large: calc(66.6667% - 12px) !important;
  --awb-width-medium: calc(66.6667% - 12px) !important;
  margin-right: 24px !important;
}
.es-panel--glance {
  --awb-width-large: calc(33.3333% - 12px) !important;
  --awb-width-medium: calc(33.3333% - 12px) !important;
}
@media (max-width: 880px) {
  .es-panel--bio,
  .es-panel--glance {
    --awb-width-large: 100% !important;
    --awb-width-medium: 100% !important;
    margin-right: 0 !important;
  }
  .es-panel--bio { margin-bottom: 24px !important; }
}
.es-panel__heading h2,
.es-panel__heading {
  font-size: 13px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--es-muted) !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
}
.es-panel__bio { font-size: 18px; line-height: 1.6; color: var(--es-ink); }
.es-panel__bio p { font-size: 18px !important; line-height: 1.6; margin: 0 0 14px; }
.es-panel__bio p:last-child { margin-bottom: 0; }

/* At a glance: each row is a tight LABEL / value pair, with generous space between rows. */
.es-panel--glance .es-panel__heading,
.es-panel--glance .es-panel__heading h2 { text-align: center !important; }

.es-glance-list {
  --awb-item-margin-bottom: 0 !important;
  text-align: center;
}
.es-glance-list .content-box-column {
  margin-bottom: 0 !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--es-line);
}
.es-glance-list .content-box-column:last-child {
  border-bottom: none;
  padding-bottom: 0 !important;
}
.es-glance-list .content-box-column:first-child {
  padding-top: 6px !important;
}
.es-glance-list .content-box-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
.es-glance-list .heading { margin-bottom: 0 !important; }
.es-glance-list .content-container {
  margin: 2px 0 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 500;
  color: var(--es-ink) !important;
  line-height: 1.3 !important;
}
.es-glance-list .content-box-heading,
.es-glance-list .heading-with-icon {
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--es-muted) !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.es-glance-list .heading.icon-left { text-align: center !important; }
.es-glance-list .icon { display: none !important; }

/* ---- Expertise ---- */
.es-expertise { padding: 0 !important; }
.es-expertise__heading h2,
.es-expertise__heading {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  color: var(--es-ink) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}
.es-tile {
  background: var(--es-card) !important;
  border: 1px solid var(--es-line);
  border-radius: 16px;
  padding: 20px !important;
  min-height: 140px;
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  transition: transform .2s ease, border-color .2s ease;
  margin-bottom: 14px !important;
}
.es-tile:hover { transform: translateY(-2px); border-color: var(--es-accent); }
.es-tile__abbr-wrap { margin: 0 !important; }
.es-tile__abbr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--es-accent-soft);
  color: var(--es-accent-dark);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
}
.es-tile__title h3,
.es-tile__title {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  color: var(--es-ink) !important;
  margin: 0 !important;
}
.es-tile__blurb {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--es-muted) !important;
  margin: 0 !important;
}

/* ---- Off the clock ---- */
.es-facts { padding: 0 !important; }
.es-facts__heading h2,
.es-facts__heading {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  color: var(--es-ink) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}
.es-fact {
  background: var(--es-card) !important;
  border: 1px solid var(--es-line);
  border-radius: 16px;
  padding: 20px !important;
  margin-bottom: 14px !important;
}
.es-fact__icon { font-size: 22px !important; line-height: 1 !important; margin: 0 0 6px !important; }
.es-fact__label {
  font-size: 11px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--es-accent-dark) !important;
  font-weight: 700 !important;
  margin: 0 !important;
}
.es-fact__value h4,
.es-fact__value {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  color: var(--es-ink) !important;
  margin: 4px 0 6px !important;
}
.es-fact__sub {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--es-muted) !important;
  margin: 0 !important;
}

/* ---- Geo line ---- */
.es-geo {
  display: block;
  padding: 14px 18px;
  background: #fff;
  border: 1px dashed var(--es-line);
  border-radius: 14px;
  font-size: 13.5px;
  color: var(--es-muted);
  line-height: 1.6;
}
.es-geo a {
  display: inline !important;
  color: var(--es-ink);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid var(--es-line);
}
.es-geo a:hover { border-bottom-color: var(--es-accent); color: var(--es-accent-dark); }
.es-geo__pin {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--es-accent-soft);
  color: var(--es-accent-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  flex-shrink: 0;
  vertical-align: middle;
  margin-right: 8px;
}
