/* member.css — member page layout overrides */

/* Make the member card a bit more editorial */
.member-card{
    max-width: 920px;
    margin: 0 auto;
  }
  
  /* Member name */
  .member-name{
    margin: 0 0 14px;
    text-align: center;
    color: var(--gold);
    letter-spacing: 0.4px;
    font-size: clamp(26px, 3vw, 34px);
  }
  
  /* HERO WRAP: caps size reliably without cropping */
  .member-hero-frame{
    /* This is the key: the frame controls the height */
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
  
    /* “Not huge” on any screen */
    max-height: 420px;
  
    /* Nice shape + ensures no overflow */
    border-radius: calc(var(--radius) + 6px);
    overflow: hidden;
    position: relative;
  
    /* Your gold/purple rim */
    padding: 10px;
    background: linear-gradient(135deg, rgba(216,184,101,0.90), rgba(55,13,43,0.78));
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  }
  
  .member-hero-frame::after{
    content:"";
    position: absolute;
    inset: 10px;
    border-radius: 18px;
    border: 1px solid rgba(216,184,101,0.18);
    pointer-events: none;
  }
  
  /* HERO IMAGE: show the full photo, never crop */
  .member-hero-img{
    width: 100%;
    height: 100%;
    max-height: 400px;     /* double-safety cap */
    display: block;
    object-fit: contain;   /* NO CROPPING */
    background: rgba(0,0,0,0.18);
    border-radius: var(--radius);
  }
  
  /* Optional caption under hero */
  .caption{
    margin: 12px 6px 0;
    font-size: 14px;
    color: rgba(247,242,238,0.62);
    letter-spacing: 0.2px;
    text-align: center;
  }
  
  /* Message text */
  .member-message{
    margin: 14px 6px 6px;
    max-width: 78ch;
    color: rgba(247,242,238,0.88);
  }
  
  .member-message p{
    margin: 0 0 16px;
    line-height: 1.75;
  }
  
  .member-message p:last-child{
    margin-bottom: 0;
  }
  
  /* Section title */
  .section-title{
    margin: 24px 6px 12px;
    color: rgba(216,184,101,0.95);
    letter-spacing: 0.3px;
    font-size: 18px;
  }
  
  /* Gallery: more unique + captions, no cropping */
  .gallery{
    columns: 3;
    column-gap: 14px;
    padding: 6px;
  }
  
  .gallery-figure{
    break-inside: avoid;
    margin: 0 0 14px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(216,184,101,0.22);
    background: rgba(55,13,43,0.26);
    box-shadow: 0 12px 28px rgba(0,0,0,0.22);
    transition: transform 140ms ease, border-color 140ms ease;
  }
  
  .gallery-figure:hover{
    transform: translateY(-2px);
    border-color: rgba(216,184,101,0.55);
  }
  
  .gallery-figure img{
    width: 100%;
    height: auto;          /* prevents forced crop */
    display: block;
    object-fit: contain;   /* extra-safe */
    background: rgba(0,0,0,0.18);
  }
  
  .gallery-figure figcaption{
    padding: 10px 12px 12px;
    font-size: 14px;
    color: rgba(247,242,238,0.72);
    border-top: 1px solid rgba(216,184,101,0.16);
  }
  
  /* Responsive */
  @media (max-width: 980px){
    .gallery{ columns: 2; }
    .member-hero-frame{ max-height: 380px; }
    .member-hero-img{ max-height: 360px; }
  }
  
  @media (max-width: 560px){
    .gallery{ columns: 1; }
    .member-hero-frame{ max-height: 340px; }
    .member-hero-img{ max-height: 320px; }
  }
  