/*
 * 0.38.31 – Public species-profile overview on the frontend foundation.
 * Astra owns normal content typography and button appearance. This file owns
 * only the profiles hero, section surfaces, the overview layout integration
 * and page-specific responsive behaviour.
 */
body.ftpm-public-page--profiles {
  --ftpm-profiles-container: var(--ast-container-width, 1200px);
  --ftpm-profiles-edge: clamp(18px, 3vw, 36px);
  --ftpm-profiles-radius: clamp(18px, 2vw, 28px);
  --ftpm-profiles-border: color-mix(in srgb, var(--ast-global-color-0, #123b24) 18%, transparent);
  --ftpm-profiles-surface: #fff;
  --ftpm-profiles-surface-soft: color-mix(in srgb, var(--ast-global-color-6, #eef3ee) 68%, #fff);
}

body.ftpm-public-page--profiles .site-content > .ast-container,
body.ftpm-public-page--profiles .content-area,
body.ftpm-public-page--profiles .site-main,
body.ftpm-public-page--profiles article,
body.ftpm-public-page--profiles .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

body.ftpm-public-page--profiles .entry-header,
body.ftpm-public-page--profiles .entry-title { display: none !important; }

body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles {
  --ftpm-public-hero-title-width: 27ch;
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: clamp(430px, 38vw, 610px) !important;
  margin: 0 0 clamp(38px, 5vw, 70px) !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  background:
    linear-gradient(104deg, rgba(226, 194, 73, .18) 0%, rgba(226, 194, 73, 0) 31%),
    linear-gradient(105deg, var(--ast-global-color-1, #355d31) 0%, var(--ast-global-color-0, #123f27) 55%, #1f5137 100%) !important;
}

body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles::before,
body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -18%;
  bottom: -18%;
  transform: skewX(-20deg);
  pointer-events: none;
}
body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles::before {
  left: 54%; width: 10rem; background: rgba(255,255,255,.055);
}
body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles::after {
  left: 66%; width: 5rem; background: rgba(255,255,255,.03);
}
body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles > .wp-block-cover__background {
  display: none !important;
}
body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.ftpm-public-page--profiles .ftpm-public-hero__inner {
  width: min(calc(100% - (2 * var(--ftpm-profiles-edge))), var(--ftpm-profiles-container)) !important;
  max-width: var(--ftpm-profiles-container) !important;
  margin-inline: auto !important;
  padding-block: clamp(58px, 7vw, 94px) !important;
}
body.ftpm-public-page--profiles .ftpm-profiles-hero__columns {
  align-items: center !important;
  gap: clamp(34px, 5vw, 82px) !important;
}
body.ftpm-public-page--profiles .ftpm-public-hero__content {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 !important;
}
body.ftpm-public-page--profiles .ftpm-public-hero__title {
  margin: 0 !important;
  font-size: clamp(2.75rem, 5.05vw, 4.75rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -.035em !important;
}
body.ftpm-public-page--profiles .ftpm-public-hero__intro {
  max-width: 760px !important;
  margin: 24px 0 0 !important;
  font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
  line-height: 1.62 !important;
}
body.ftpm-public-page--profiles .ftpm-profiles-hero__stat {
  display: flex;
  justify-content: center;
}
body.ftpm-public-page--profiles .ftpm-profiles-hero__stat .ftpm-home-stat {
  min-width: 176px;
  padding: 28px 24px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: rgba(255,255,255,.13);
  box-shadow: 0 18px 45px rgba(0,0,0,.14);
  backdrop-filter: blur(6px);
  text-align: center;
}
body.ftpm-public-page--profiles .ftpm-profiles-hero__stat .ftpm-home-stat strong {
  display: block;
  color: var(--ftpm-public-hero-title-color, #fff);
  font-size: clamp(2.6rem, 4vw, 4rem);
  line-height: 1;
}
body.ftpm-public-page--profiles .ftpm-profiles-hero__stat .ftpm-home-stat span {
  display: block;
  margin-top: 8px;
  color: var(--ftpm-public-hero-intro-color, rgba(255,255,255,.94));
}

body.ftpm-public-page--profiles .ftpm-public-section--profiles {
  width: min(calc(100% - (2 * var(--ftpm-profiles-edge))), var(--ftpm-profiles-container)) !important;
  max-width: var(--ftpm-profiles-container) !important;
  margin: clamp(28px, 4vw, 58px) auto !important;
  padding: clamp(32px, 4vw, 58px) !important;
  border: 1px solid var(--ftpm-profiles-border);
  border-radius: var(--ftpm-profiles-radius);
  background: var(--ftpm-profiles-surface);
  box-shadow: 0 18px 46px rgba(20, 53, 34, .07);
}
body.ftpm-public-page--profiles .ftpm-public-section--profiles > :first-child { margin-top: 0 !important; }
body.ftpm-public-page--profiles .ftpm-public-section--profiles > :last-child { margin-bottom: 0 !important; }
body.ftpm-public-page--profiles .ftpm-public-section--profiles > h2,
body.ftpm-public-page--profiles .ftpm-public-section--profiles > p,
body.ftpm-public-page--profiles .ftpm-public-section--profiles > ul {
  width: min(100%, 1040px);
  margin-left: auto;
  margin-right: auto;
}
body.ftpm-public-page--profiles .ftpm-profiles-search {
  max-width: min(1360px, calc(100% - (2 * var(--ftpm-profiles-edge)))) !important;
}
body.ftpm-public-page--profiles .ftpm-profiles-search > h2,
body.ftpm-public-page--profiles .ftpm-profiles-search > p {
  width: min(100%, 1220px);
  max-width: 1220px;
}
body.ftpm-public-page--profiles .ftpm-profiles-search > .wp-block-ftpm-species-overview,
body.ftpm-public-page--profiles .ftpm-profiles-search > .ftpm-overview,
body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview.ftpm-profiles-page {
  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}
body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-shell {
  grid-template-columns: 292px minmax(0, 1fr) !important;
  gap: clamp(30px, 3vw, 44px) !important;
  width: 100% !important;
  max-width: 1280px !important;
  align-items: start;
}
body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 1.8vw, 24px) !important;
  align-items: stretch;
}
body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-card {
  min-width: 0 !important;
  height: 100% !important;
}
body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-resultbar {
  min-height: 48px;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
  padding: 13px 18px !important;
}
@media (min-width: 1025px) {
  body.ftpm-public-page--profiles .ftpm-profiles-search,
  body.ftpm-public-page--profiles .ftpm-profiles-search > .wp-block-ftpm-species-overview,
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview,
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-shell { overflow: visible !important; }
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-sidebar {
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 3;
  }
  body.admin-bar.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-sidebar { top: 128px !important; }
}
@media (max-width: 1180px) {
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 1024px) {
  body.ftpm-public-page--profiles .ftpm-profiles-hero__columns { flex-direction: column; align-items: flex-start !important; }
  body.ftpm-public-page--profiles .ftpm-profiles-hero__columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
  body.ftpm-public-page--profiles .ftpm-profiles-hero__stat { justify-content: flex-start; }
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-overview-shell { grid-template-columns: 1fr !important; }
}
@media (max-width: 781px) {
  body.ftpm-public-page--profiles .wp-block-cover.ftpm-public-hero--profiles { min-height: auto !important; }
  body.ftpm-public-page--profiles .ftpm-public-hero__inner { width: min(100% - 32px, var(--ftpm-profiles-container)) !important; padding-block: 52px !important; }
  body.ftpm-public-page--profiles .ftpm-public-hero__title { --ftpm-public-hero-title-width: 100%; font-size: clamp(2.25rem, 10vw, 3.5rem) !important; }
  body.ftpm-public-page--profiles .ftpm-profiles-hero__stat .ftpm-home-stat { min-width: 154px; }
  body.ftpm-public-page--profiles .ftpm-public-section--profiles { width: min(calc(100% - 24px), var(--ftpm-profiles-container)) !important; padding: 26px 18px !important; border-radius: 22px; }
  body.ftpm-public-page--profiles .ftpm-profiles-search .ftpm-card-grid { grid-template-columns: 1fr !important; }
}



/* 0.38.31 – the profiles overview owns its complete component cascade here. */
body.ftpm-public-page--profiles .ftpm-overview,
body.ftpm-public-page--profiles .ftpm-overview * { box-sizing: border-box; }
body.ftpm-public-page--profiles .ftpm-overview { width:100%; max-width:1280px; margin:0 auto; padding:0; overflow:visible; }
body.ftpm-public-page--profiles .ftpm-overview-shell { display:grid; grid-template-columns:292px minmax(0,1fr); gap:clamp(28px,3vw,44px); align-items:start; }
body.ftpm-public-page--profiles .ftpm-overview-sidebar,
body.ftpm-public-page--profiles .ftpm-overview-results { min-width:0; }
body.ftpm-public-page--profiles .ftpm-filter-panel { display:grid; gap:18px; margin:0; padding:22px; border:1px solid var(--ftpm-profiles-border); border-radius:22px; background:#fff; box-shadow:0 14px 36px rgba(20,53,34,.055); }
body.ftpm-public-page--profiles .ftpm-filter-search { position:relative; margin:0; }
body.ftpm-public-page--profiles .ftpm-filter-search label,
body.ftpm-public-page--profiles .ftpm-filter-label { display:block; margin:0 0 9px; font-size:.84rem; font-weight:800; letter-spacing:.025em; color:var(--ast-global-color-2,#0b1f2a); }
body.ftpm-public-page--profiles .ftpm-search-row { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; align-items:stretch; }
body.ftpm-public-page--profiles .ftpm-search-row input[type="search"] { width:100%; min-width:0; min-height:46px; margin:0; padding:.7rem .85rem; border:1px solid var(--ftpm-profiles-border); border-radius:14px; background:#fff; color:inherit; }
body.ftpm-public-page--profiles .ftpm-live-search-results { position:absolute; z-index:20; left:0; right:0; top:calc(100% + .35rem); border:1px solid var(--ftpm-profiles-border); border-radius:14px; background:#fff; box-shadow:0 16px 36px rgba(20,53,34,.12); overflow:hidden; }
body.ftpm-public-page--profiles .ftpm-filter-details { margin:0; padding-top:2px; border-top:1px solid var(--ftpm-profiles-border); }
body.ftpm-public-page--profiles .ftpm-filter-details summary { cursor:pointer; margin:0 0 12px; font-weight:800; color:var(--ast-global-color-0,#123b24); }
body.ftpm-public-page--profiles .ftpm-filter-block { padding:15px 0; border-top:1px solid var(--ftpm-profiles-border); }
body.ftpm-public-page--profiles .ftpm-filter-block:first-of-type { border-top:0; }
body.ftpm-public-page--profiles .ftpm-filter-links,
body.ftpm-public-page--profiles .ftpm-active-filters { display:flex; flex-wrap:wrap; gap:8px; }
body.ftpm-public-page--profiles .ftpm-filter-links a,
body.ftpm-public-page--profiles .ftpm-active-filters a { display:inline-flex; align-items:center; gap:5px; padding:7px 11px; border:1px solid var(--ftpm-profiles-border); border-radius:999px; background:#fff; color:var(--ast-global-color-2,#0b1f2a); font-size:.86rem; line-height:1.15; text-decoration:none; }
body.ftpm-public-page--profiles .ftpm-filter-links a:hover,
body.ftpm-public-page--profiles .ftpm-active-filters a:hover { border-color:var(--ast-global-color-0,#123b24); color:var(--ast-global-color-0,#123b24); }
body.ftpm-public-page--profiles .ftpm-filter-links a.is-active,
body.ftpm-public-page--profiles .ftpm-active-filters .ftpm-reset-chip { border-color:var(--ast-global-color-0,#123b24); background:var(--ast-global-color-0,#123b24); color:#fff; }
body.ftpm-public-page--profiles .ftpm-active-filters { margin-top:14px; }
body.ftpm-public-page--profiles .ftpm-active-filters > span { flex-basis:100%; font-size:.84rem; font-weight:800; }
body.ftpm-public-page--profiles .ftpm-resultbar { display:flex; justify-content:space-between; gap:14px; align-items:center; min-height:48px; margin:0 0 22px; padding:13px 18px; border:1px solid var(--ftpm-profiles-border); border-radius:16px; background:var(--ftpm-profiles-surface-soft); color:#6b7280; }
body.ftpm-public-page--profiles .ftpm-resultbar a { color:var(--ast-global-color-0,#123b24); font-weight:800; }
body.ftpm-public-page--profiles .ftpm-overview-group { margin:0 0 clamp(34px,4vw,52px); }
body.ftpm-public-page--profiles .ftpm-overview-group h3 { margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid var(--ftpm-profiles-border); color:var(--ast-global-color-0,#123b24); font-size:clamp(1.35rem,2vw,1.9rem); }
body.ftpm-public-page--profiles .ftpm-overview-group h3 span { color:#738179; font-size:.72em; }
body.ftpm-public-page--profiles .ftpm-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),340px)) !important; gap:clamp(18px,2vw,24px) !important; align-items:stretch; justify-content:start; }
body.ftpm-public-page--profiles .ftpm-overview-card { display:flex; min-width:0; height:100%; flex-direction:column; overflow:hidden; border:1px solid var(--ftpm-profiles-border); border-radius:22px; background:#fff; box-shadow:0 15px 36px rgba(11,31,42,.055); }
body.ftpm-public-page--profiles .ftpm-overview-card-image { display:block; aspect-ratio:4/3; overflow:hidden; background:#f3f4f6; }
body.ftpm-public-page--profiles .ftpm-overview-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
body.ftpm-public-page--profiles .ftpm-overview-card-body { display:flex; flex:1 1 auto; flex-direction:column; padding:18px; }
body.ftpm-public-page--profiles .ftpm-overview-card-content { flex:1 1 auto; min-width:0; }
body.ftpm-public-page--profiles .ftpm-overview-card h4 { margin:0 0 8px; font-size:1.08rem; line-height:1.25; }
body.ftpm-public-page--profiles .ftpm-overview-card h4 a { color:inherit; text-decoration:none; }
body.ftpm-public-page--profiles .ftpm-card-scientific { margin:0 0 10px; color:#66736b; }
body.ftpm-public-page--profiles .ftpm-card-intro { margin:.6rem 0; line-height:1.5; }
body.ftpm-public-page--profiles .ftpm-card-meta { display:block; margin:.65rem 0 0; font-size:.91rem; line-height:1.38; }
body.ftpm-public-page--profiles .ftpm-card-meta strong { display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; color:#66736b; }
body.ftpm-public-page--profiles .ftpm-card-actions { width:100%; margin-top:auto; padding-top:18px; }
body.ftpm-public-page--profiles .ftpm-overview-card-action { width:100%; max-width:100%; margin:0; align-self:stretch; }
body.ftpm-public-page--profiles .ftpm-overview-card-action .wp-block-button__link { display:flex; width:100%; max-width:100%; align-items:center; justify-content:center; text-align:center; white-space:nowrap; }
@media (min-width:1025px){body.ftpm-public-page--profiles .ftpm-overview-sidebar{position:sticky;top:96px;align-self:start}body.admin-bar.ftpm-public-page--profiles .ftpm-overview-sidebar{top:128px}body.ftpm-public-page--profiles .ftpm-filter-details summary{display:none}}
@media (max-width:1024px){body.ftpm-public-page--profiles .ftpm-overview-shell{grid-template-columns:1fr}body.ftpm-public-page--profiles .ftpm-overview-sidebar{position:static}}
@media (max-width:700px){
  body.ftpm-public-page--profiles .ftpm-resultbar{display:grid;grid-template-columns:1fr}
  body.ftpm-public-page--profiles .ftpm-card-grid{grid-template-columns:1fr !important}
  body.ftpm-public-page--profiles .ftpm-overview-card-action,
  body.ftpm-public-page--profiles .ftpm-overview-card-action .wp-block-button__link{width:100%}
}
