.elementor-31909 .elementor-element.elementor-element-f346860{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:60px;--padding-left:40px;--padding-right:40px;}.elementor-31909 .elementor-element.elementor-element-cb8664e{--display:flex;--gap:012px 0px;--row-gap:012px;--column-gap:0px;--margin-top:0px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:-10px;--padding-left:20px;--padding-right:20px;}.elementor-31909 .elementor-element.elementor-element-55ba8d7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:20px 0px 0px 0px;}.elementor-31909 .elementor-element.elementor-element-55ba8d7 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );-webkit-text-stroke-color:#000;stroke:#000;}.elementor-31909 .elementor-element.elementor-element-993e9dc{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-secondary );}.elementor-31909 .elementor-element.elementor-element-8ea22b5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:00px 0px 0px 0px;}body.elementor-page-31909{margin:00px 00px 0px 00px;padding:0px 0px 0px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-8ea22b5 *//* A–Z nav */
.fh-author-alpha-nav {
    margin-bottom: 20px;
    font-size: 0.9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fh-author-alpha-nav a {
    text-decoration: none;
    color: black;
    padding: 4px 6px;
    border-radius: 2px;
}

.fh-author-alpha-nav a:hover {
    color: #F12235;
    text-decoration: underline;
}

/* Group heading (A, B, C...) */
.fh-author-group {
    margin-bottom: 40px;
}

.fh-author-letter {
    font-size: 1.4rem;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
    padding-bottom: 4px;
}

/* Card grid */
.fh-author-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 1024px) {
    .fh-author-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .fh-author-grid {
        grid-template-columns: 1fr;
    }
}

/* Individual card */
.fh-author-card {
    background: #fff;
    border: 1px solid #eee;
    padding: 16px;
    border-radius: 4px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fh-author-card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}

/* Author name */
.fh-author-name {
    font-size: 1rem;
    margin: 0 0 6px 0;
}

.fh-author-name a {
    color:black;
    text-decoration: none;
    font-weight: 700;
}

.fh-author-name a:hover {
    color: #F12235;
    text-decoration: underline;
}

/* Bio */
.fh-author-bio {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
    margin: 0 0 8px 0;
}

/* "View all posts" link */
.fh-author-link-wrap {
    margin: 0;
}

.fh-author-link {
    font-size: 0.85rem;
    color: #F12235;
    text-decoration: none;
}

.fh-author-link:hover {
    text-decoration: underline;
}

/* -----------------------------------------
   A–Z NAVIGATION BAR — Improved UX Styling
------------------------------------------ */

/* Container spacing */
.fh-author-alpha-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px 0 24px 0;   /* space above & below nav */
    border-bottom: 1px solid #eee;
    margin-bottom: 32px;      /* separates nav from cards */
}

/* Individual letter “pills” */
.fh-author-alpha-nav a {
    display: inline-block;
    padding: 6px 10px;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 4px;
    color: blacl;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #e7e7e7;
    background: #fafafa;
}

/* Hover + focus states */
.fh-author-alpha-nav a:hover,
.fh-author-alpha-nav a:focus {
    background: #F12235;
    border-color: #F12235;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
}

/* Active letter (when user is viewing a section) */
.fh-author-alpha-nav a.active {
    background: #BA406A;
    color: white;
    border-color: #BA406A;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    .fh-author-alpha-nav {
        gap: 8px;
        padding: 14px 0 20px 0;
        justify-content: center;
    }
    .fh-author-alpha-nav a {
        padding: 6px 8px;
        font-size: 0.8rem;
    }
}

/* Sticky A–Z nav */
.fh-author-alpha-nav{
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  padding: 10px 0;
  margin-bottom: 18px;
  border-bottom: 10px solid rgba(0,0,0,0.0);
  border-top: 20px solid rgba(0,0,0,0);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fh-author-alpha-nav a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
\
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.12);
}

/* Floating Back-to-top button */
.fh-back-to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  text-decoration: none;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.18);
}

.fh-back-to-top.is-visible{
  display: inline-flex;
}

.fh-back-to-top:hover{
  opacity: 0.9;
}

/* ==============================
   AUTHOR DIRECTORY — CLEAN CONTROLS
   Matches global header search styling
================================= */

.fh-author-controls{
  position: sticky;
  top: 0;
  z-index: 60;
  background: #fff;
  padding: 0 0 12px 0;
  margin: 0 0 18px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* --- Search row --- */
.fh-author-search{
  position: relative !important;     /* force anchor for absolute clear btn */
  display: block;
  width: 100%;
  max-width: 720px;
  margin: 0 0 12px 0;
  padding: 0 !important;
}

.fh-author-search-input{
  width: 100%;
  padding: 10px 40px 10px 12px;      /* room for × */
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  font-size: 0.95rem;
  background: #fff;
  box-sizing: border-box;
  outline: none;
}

/* Optional: softer focus that still looks intentional */
.fh-author-search-input:focus{
  border-color: #cfcfcf;
  box-shadow: 0 0 0 2px rgba(241,34,55,0.15);
}

/* Clear button INSIDE input */
.fh-author-search-clear{
  position: absolute !important;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 4px;
  border: 1px solid #dcdcdc;
  background: #fff;
  padding: 0;
  margin: 0 !important;              /* prevents it from dropping below */
  line-height: 1;
  font-size: 18px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Hide clear button when input is empty */
.fh-author-search-input:placeholder-shown + .fh-author-search-clear{
  display: none;
}

/* --- A–Z nav row --- */
.fh-author-alpha-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 10px 0;
  padding: 0 !important;
}

.fh-author-alpha-nav a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 34px;
  padding: 0 10px;
  border-radius: 4px;                /* match header style */
  text-decoration: none;
  border: 1px solid #dcdcdc;
  background: #fff;
  font-size: 0.9rem;
}

/* FINAL A–Z HOVER OVERRIDE */
.fh-author-alpha-nav a:hover,
.fh-author-alpha-nav a:focus {
  background: #F12235 !important;
  border-color: #F12235 !important;
  color: #ffffff !important;
  text-decoration: none;
}


/* --- State text --- */
.fh-author-state{
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  color: #333;
  opacity: 0.9;
}

/* Better anchor positioning under sticky controls */
.fh-author-group{
  scroll-margin-top: 140px;
}

/* Back-to-top button (keep but align visually) */
.fh-back-to-top{
  border-radius: 4px;
}

.fh-author-state{
  margin-bottom: 8px;   /* adds space below the status line */
}

/* Make anchor jumps land below the sticky controls */
.fh-author-group{
  scroll-margin-top: 200px;  /* bump this up/down if needed */
}

@media (max-width: 767px){
  .fh-author-group{
    scroll-margin-top: 230px;
  }
}

/* ==============================
   FORCE A–Z NAV INTO ONE ROW
================================= */

.fh-author-alpha-nav{
  display: flex;
  flex-wrap: nowrap;        /* ← KEY: prevents wrapping */
  gap: 6px;                 /* tighter spacing */
  overflow-x: auto;         /* safety net for very small screens */
  padding-bottom: 4px;      /* prevents scrollbar overlap */
}

/* Individual letter buttons */
.fh-author-alpha-nav a{
  min-width: 28px;          /* smaller than before */
  height: 28px;
  padding: 0 6px;
  font-size: 0.8rem;        /* slightly smaller text */
  line-height: 1;
  border-radius: 4px;
  white-space: nowrap;
}

/* "All" button slightly wider so it reads clearly */
.fh-author-alpha-nav a.fh-author-nav-all{
  min-width: 42px;
  font-size: 0.8rem;
  padding: 0 8px;
}

/* Hide scrollbar visually but keep scroll functionality */
.fh-author-alpha-nav::-webkit-scrollbar{
  height: 4px;
}

.fh-author-alpha-nav::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,0.15);
  border-radius: 4px;
}

.fh-author-alpha-nav::-webkit-scrollbar-track{
  background: transparent;
}

/* Add breathing room at top of sticky controls */
.fh-author-controls{
  padding-top: 40px;   /* adjust to taste: 12–18px is the sweet spot */
}/* End custom CSS */