
/* =========================================================
   BoG2026 Directory of Registered Geologists v4.0
   ========================================================= */

.geologist-register-page{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:28px;
  border:1px solid #dbe7ec;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 10%,rgba(12,119,146,.09),transparent 24%),
    radial-gradient(circle at 5% 92%,rgba(239,127,26,.06),transparent 22%),
    repeating-linear-gradient(
      135deg,
      rgba(6,58,102,.032) 0,
      rgba(6,58,102,.032) 1px,
      transparent 1px,
      transparent 15px
    ),
    #f7fafc;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 18px 44px rgba(6,58,102,.055);
}

.geologist-register-page::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-120px;
  right:-90px;
  width:340px;
  height:340px;
  border:1px solid rgba(6,58,102,.055);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(6,58,102,.018),
    0 0 0 72px rgba(6,58,102,.014);
}

.geologist-register-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:22px;
  border:1px solid #d8e5eb;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 24px rgba(6,58,102,.05);
}

.geologist-register-intro h2{
  margin:5px 0 6px;
  color:var(--navy);
}

.geologist-register-intro p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.geologist-privacy-note,
.geologist-source-note{
  margin-top:14px;
  padding:14px 16px;
  border-left:4px solid var(--orange);
  border-radius:0 14px 14px 0;
  background:rgba(255,248,239,.95);
}

.geologist-privacy-note strong,
.geologist-source-note strong{
  color:var(--navy);
}

.geologist-privacy-note p,
.geologist-source-note span{
  margin:4px 0 0;
  color:#655e57;
  font-size:.9rem;
  line-height:1.48;
}

.geologist-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.geologist-summary-card{
  display:flex;
  min-height:92px;
  flex-direction:column;
  justify-content:center;
  padding:15px;
  border:1px solid #d7e4ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 9px 22px rgba(6,58,102,.05);
}

.geologist-summary-card span{
  color:var(--muted);
  font-size:.9rem;
  font-weight:750;
  line-height:1.3;
}

.geologist-summary-card strong{
  margin-top:5px;
  color:var(--navy);
  font-size:1.35rem;
}

.geologist-summary-card.is-loading{
  opacity:.65;
}

.geologist-register-tools{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(210px,.8fr) minmax(190px,.7fr) auto;
  align-items:end;
  gap:13px;
  margin-top:18px;
  padding:18px;
  border:1px solid #d7e4ea;
  border-radius:18px;
  background:rgba(255,255,255,.94);
}

.geologist-register-tools label{
  display:grid;
  grid-template-rows:auto 48px;
  gap:7px;
  min-width:0;
}

.geologist-register-tools label > span{
  display:flex;
  align-items:flex-end;
  min-height:18px;
  color:#40556a;
  font-size:.9rem;
  font-weight:800;
  line-height:1.2;
}

.geologist-register-tools input,
.geologist-register-tools select{
  box-sizing:border-box;
  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 14px;
  border:1px solid #cfdde5;
  border-radius:12px;
  background:#fff;
  color:#23384b;
  font:600 .88rem/48px inherit;
  box-shadow:none;
}

.geologist-register-tools select{
  cursor:pointer;
}

.geologist-register-tools input:focus,
.geologist-register-tools select:focus{
  border-color:#6ea9bf;
  outline:3px solid rgba(14,108,139,.14);
  outline-offset:1px;
}

.geologist-tool-actions{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  gap:8px;
}

.geologist-tool-actions .btn{
  min-height:48px;
}

.geologist-directory-status{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:15px 2px 10px;
  color:#586b7d;
  font-size:.9rem;
}

.geologist-directory-error{
  margin:14px 0;
  padding:18px;
  border:1px solid #edc6c6;
  border-radius:16px;
  background:#fff6f6;
}

.geologist-directory-error strong{
  color:#8b2929;
}

.geologist-directory-error p{
  margin:5px 0 12px;
  color:#765757;
}

.geologist-directory-table-wrap{
  overflow-x:auto;
  border:1px solid #d7e4ea;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(6,58,102,.055);
}

.geologist-directory-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
}

.geologist-directory-table th,
.geologist-directory-table td{
  padding:14px 15px;
  border-bottom:1px solid #e7eef2;
  text-align:left;
  vertical-align:top;
}

.geologist-directory-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#edf6fa;
  color:var(--navy);
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.geologist-directory-table tbody tr:hover{
  background:#f8fbfc;
}

.geologist-directory-table tbody tr:last-child td{
  border-bottom:0;
}

.geologist-member-no{
  color:var(--teal);
  font-weight:850;
  white-space:nowrap;
}

.geologist-member-name{
  color:#20384d;
  font-weight:800;
  line-height:1.4;
}

.geologist-category-badge,
.geologist-status-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:800;
  line-height:1.2;
}

.geologist-category-badge{
  background:#edf6fa;
  color:var(--navy);
}

.geologist-status-badge{
  background:#eaf7f0;
  color:#1c7650;
}

.geologist-expertise{
  max-width:340px;
  color:#53687a;
  font-size:.9rem;
  line-height:1.48;
}

.geologist-registration-meta{
  color:#53687a;
  font-size:.9rem;
  line-height:1.45;
}

.geologist-registration-meta strong{
  display:block;
  color:#294056;
}

.geologist-empty-cell,
.geologist-loading-cell{
  padding:34px!important;
  color:#6f7f8d;
  text-align:center!important;
}

.geologist-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #d7e4ea;
  border-radius:15px;
  background:rgba(255,255,255,.94);
  color:#53687a;
  font-size:.9rem;
}

.geologist-source-note{
  border-left-color:var(--teal);
  background:rgba(240,249,251,.95);
}

@media(max-width:1050px){
  .geologist-register-tools{
    grid-template-columns:1fr 1fr;
  }

  .geologist-tool-actions{
    align-self:end;
  }
}

@media(max-width:820px){
  .geologist-register-page{
    padding:20px;
    border-radius:22px;
  }

  .geologist-register-intro{
    align-items:flex-start;
    flex-direction:column;
  }

  .geologist-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .geologist-register-page{
    margin:0 -4px;
    padding:15px;
    border-radius:18px;
    background:
      repeating-linear-gradient(
        135deg,
        rgba(6,58,102,.03) 0,
        rgba(6,58,102,.03) 1px,
        transparent 1px,
        transparent 14px
      ),
      #f7fafc;
  }

  .geologist-register-page::before{
    display:none;
  }

  .geologist-register-tools{
    grid-template-columns:1fr;
  }

  .geologist-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  .geologist-tool-actions{
    grid-template-columns:1fr 1fr;
  }

  .geologist-tool-actions .btn{
    width:100%;
    justify-content:center;
  }

  .geologist-directory-status,
  .geologist-pagination{
    align-items:flex-start;
    flex-direction:column;
  }

  .geologist-pagination .actions{
    width:100%;
  }

  .geologist-pagination .btn{
    flex:1;
  }
}


/* =========================================================
   BoG2026 Registered Geologists — email, title and neutral sort v4.2
   ========================================================= */
.geologist-directory-table{
  min-width:1040px;
}

.geologist-member-name-wrap{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.28em;
}

.geologist-professional-title{
  color:var(--orange);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.015em;
  white-space:nowrap;
}

.geologist-email-link{
  display:inline-flex;
  max-width:280px;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #d9e6ec;
  border-radius:10px;
  background:#f7fafc;
  color:var(--teal);
  font-size:.9rem;
  font-weight:720;
  line-height:1.35;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.geologist-email-link:hover{
  border-color:#9fc4d3;
  background:#eef7fa;
  color:var(--navy);
  text-decoration:underline;
}

.geologist-email-missing{
  color:#7b8792;
  font-size:.9rem;
  font-style:italic;
}

/* Registration metadata not used by the card directory remains hidden. */
.geologist-registration-meta{
  display:none!important;
}

.geologist-status-badge{
  display:inline-flex!important;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:850;
  line-height:1;
}

.geologist-status-active{
  background:#e8f8ef;
  color:#176b45;
}

.geologist-status-inactive{
  background:#fff0f2;
  color:#983448;
}

.geologist-status-deceased{
  background:#eef1f4;
  color:#475569;
}

.geologist-status-revoked{
  background:#fee8e8;
  color:#991b1b;
}


/* =========================================================
   BoG2026 Registered Geologists — table readability v4.2.1
   ========================================================= */

/* Compact the visible heading so it does not overpower the directory. */
.geologist-register-intro h2{
  margin:4px 0 6px;
  font-size:clamp(1.05rem,1.7vw,1.32rem);
  line-height:1.22;
  letter-spacing:-.01em;
}

/* Keep the accessibility caption hidden even if the global sr-only helper
   is missing or overridden on the live site. */
.geologist-directory-table caption{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Stable column proportions prevent NAME / EMAIL / CATEGORY headers from
   colliding. Horizontal scrolling is retained on smaller screens. */
.geologist-directory-table{
  min-width:1220px;
  table-layout:fixed;
}

.geologist-directory-table .geo-col-number{width:13%}
.geologist-directory-table .geo-col-name{width:24%}
.geologist-directory-table .geo-col-email{width:22%}
.geologist-directory-table .geo-col-category{width:18%}
.geologist-directory-table .geo-col-expertise{width:23%}

.geologist-directory-table th{
  white-space:nowrap;
  line-height:1.15;
}

.geologist-directory-table th,
.geologist-directory-table td{
  padding:13px 14px;
}

/* Name and P.Geol. stay on one clean line. */
.geologist-member-name-wrap{
  display:flex;
  min-width:0;
  align-items:baseline;
  flex-wrap:nowrap;
  gap:.3em;
  white-space:nowrap;
}

.geologist-member-name{
  overflow:hidden;
  color:#20384d;
  font-size:.9rem;
  font-weight:800;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.geologist-professional-title{
  flex:0 0 auto;
  font-size:.9rem;
}

/* Email is plain text — no box, pill or background. */
.geologist-email-link{
  display:inline;
  max-width:none;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--teal);
  font-size:.9rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  white-space:nowrap;
}

.geologist-email-link:hover{
  border:0;
  background:transparent;
  color:var(--navy);
  text-decoration:underline;
}

.geologist-email-missing{
  font-size:.9rem;
  white-space:nowrap;
}

/* Category is plain text — no badge or pill. */
.geologist-category-badge{
  display:inline;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#40566a;
  font-size:.9rem;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}

/* Expertise receives more usable width and wraps naturally. */
.geologist-expertise{
  display:block;
  max-width:none;
  color:#53687a;
  font-size:.9rem;
  line-height:1.48;
  overflow-wrap:anywhere;
  white-space:normal;
}

/* Keep the three central columns visually aligned on one row. */
.geologist-directory-table td:nth-child(2),
.geologist-directory-table td:nth-child(3),
.geologist-directory-table td:nth-child(4){
  vertical-align:middle;
}

@media(max-width:820px){
  .geologist-register-intro h2{
    font-size:1.08rem;
  }
}


/* =========================================================
   BoG2026 Registered Geologists Cards and Expertise Search v1.1.5
   ========================================================= */

.geologist-register-intro{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
}

.geologist-register-intro-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid #cfe1e8;
  border-radius:16px;
  background:#edf6fa;
  color:var(--navy);
  font-size:1.18rem;
}

.geologist-register-intro .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.geologist-summary-grid{
  gap:12px;
}

.geologist-summary-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:96px;
  border:1px solid #d8e5eb;
  background:#fff;
}

.geologist-summary-card::before{
  display:none;
}

.geologist-summary-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:13px;
  background:#edf6fa;
  color:var(--navy);
}

.geologist-summary-pg .geologist-summary-icon{
  background:#fff5e9;
  color:#a6500c;
}

.geologist-summary-gg .geologist-summary-icon{
  background:#eef8fa;
  color:#0b6280;
}

.geologist-summary-fg .geologist-summary-icon{
  background:#f2f7ea;
  color:#557911;
}

.geologist-summary-rp .geologist-summary-icon{
  background:#f1f4ff;
  color:#334c9a;
}

.geologist-summary-copy{
  min-width:0;
}

.geologist-summary-label{
  display:block;
  color:#5e7283;
  font-size:.9rem;
  font-weight:800;
  line-height:1.25;
}

.geologist-summary-total{
  display:block;
  margin-top:5px;
  color:var(--navy);
  font-size:1.45rem;
  line-height:1;
}

.geologist-register-tools{
  grid-template-columns:minmax(300px,1.8fr) minmax(170px,.75fr) minmax(170px,.75fr) auto;
  align-items:start;
}

.geologist-register-tools .geologist-primary-search{
  grid-template-rows:auto 48px auto;
}

.geologist-primary-search-note{
  display:block;
  margin-top:1px;
  color:#687b8c;
  font-size:.78rem;
  font-weight:600;
  line-height:1.4;
}

.geologist-tool-actions{
  margin-top:25px;
}

.geologist-advanced-filters{
  grid-column:1/-1;
  padding:2px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.geologist-advanced-filters summary{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid #d4e1e7;
  border-radius:10px;
  background:#f7fafc;
  color:var(--navy);
  cursor:pointer;
  font-size:.84rem;
  font-weight:800;
  list-style:none;
}

.geologist-advanced-filters summary::-webkit-details-marker{
  display:none;
}

.geologist-advanced-filters summary::after{
  content:"⌄";
  color:var(--teal);
  font-size:1rem;
  line-height:1;
}

.geologist-advanced-filters[open] summary::after{
  content:"⌃";
}

.geologist-advanced-filters summary:focus-visible{
  border-color:#6ea9bf;
  outline:3px solid rgba(14,108,139,.14);
  outline-offset:1px;
}

.geologist-advanced-filter-panel{
  max-width:290px;
  margin-top:11px;
  padding:13px;
  border:1px solid #dce7ec;
  border-radius:13px;
  background:#f9fbfc;
}

.geologist-register-tools .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.geologist-directory-card-wrap{
  margin-top:15px;
}

.geologist-directory-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.geologist-member-card,
.geologist-loading-card,
.geologist-empty-card{
  position:relative;
  overflow:hidden;
  border:1px solid #d8e5eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 22px rgba(6,58,102,.045);
}

.geologist-member-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--teal);
}

.geologist-member-pg::before{background:var(--orange);}
.geologist-member-gg::before{background:var(--teal);}
.geologist-member-fg::before{background:#79a833;}
.geologist-member-rp::before{background:#4057a8;}

.geologist-member-summary{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:108px;
  padding:16px 17px 16px 20px;
  cursor:pointer;
  list-style:none;
}

.geologist-member-summary::-webkit-details-marker{
  display:none;
}

.geologist-card-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#edf6fa;
  color:var(--navy);
  font-size:1rem;
}

.geologist-member-pg .geologist-card-icon{
  background:#fff5e9;
  color:#a6500c;
}

.geologist-member-gg .geologist-card-icon{
  background:#eef8fa;
  color:#0b6280;
}

.geologist-member-fg .geologist-card-icon{
  background:#f2f7ea;
  color:#557911;
}

.geologist-member-rp .geologist-card-icon{
  background:#f1f4ff;
  color:#334c9a;
}

.geologist-member-card-name-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}

.geologist-member-name{
  color:var(--navy);
  font-size:.92rem;
  line-height:1.25;
}

.geologist-member-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}

.geologist-member-no,
.geologist-category-pill{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  background:#f3f8fa;
  color:#355166;
  font-size:.9rem;
  font-weight:850;
  line-height:1;
}

.geologist-category-pill{
  background:#fff5e9;
  color:#8d460d;
}

.geologist-card-action{
  color:#6b7f90;
  font-size:.9rem;
  font-weight:850;
  white-space:nowrap;
}

.geologist-member-card[open] .geologist-card-action{
  color:var(--orange);
}

.geologist-card-detail{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 17px 17px 20px;
}

.geologist-detail-item{
  min-width:0;
  padding:12px;
  border:1px solid #e0ebef;
  border-radius:13px;
  background:#f8fbfc;
}

.geologist-detail-label{
  display:block;
  color:#607385;
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.geologist-detail-value,
.geologist-detail-item a{
  display:block;
  margin-top:5px;
  color:var(--navy);
  font-size:.9rem;
  font-weight:800;
  line-height:1.38;
  overflow-wrap:anywhere;
  text-decoration:none;
}

.geologist-detail-item a:hover{
  text-decoration:underline;
}

.geologist-loading-card,
.geologist-empty-card{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:90px;
  padding:18px;
  color:#607385;
  font-weight:800;
}

.geologist-loading-card .geologist-card-icon,
.geologist-empty-card .geologist-card-icon{
  background:#edf6fa;
  color:var(--navy);
}

.geologist-directory-table-wrap,
.geo-col-expertise,
.geologist-directory-table th:nth-child(5),
.geologist-directory-table td:nth-child(5){
  display:none!important;
}

@media(max-width:1120px){
  .geologist-register-tools{
    grid-template-columns:1fr 1fr;
  }

  .geologist-primary-search{
    grid-column:1/-1;
  }

  .geologist-tool-actions{
    grid-column:1/-1;
    margin-top:0;
  }
}

@media(max-width:860px){
  .geologist-register-intro{
    grid-template-columns:54px minmax(0,1fr);
  }

  .geologist-register-intro .btn{
    grid-column:1/-1;
    justify-self:start;
  }

  .geologist-directory-cards{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .geologist-register-tools{
    grid-template-columns:1fr;
  }

  .geologist-tool-actions{
    grid-column:auto;
    margin-top:0;
  }

  .geologist-member-summary{
    grid-template-columns:42px minmax(0,1fr);
  }

  .geologist-card-action{
    grid-column:2;
  }

  .geologist-card-detail{
    grid-template-columns:1fr;
  }
}
