.gp-member-pages .page-wrapper { padding-top: 35px; padding-bottom: 45px; }
.gp-member-pages h1 { margin-bottom: 12px; }
.gp-member-list, .gp-member-list ul { list-style: none; margin: 0; padding: 0; }
.gp-member-list { padding: 20px; border: 1px solid #e7d7b9; border-radius: 12px; background: rgba(255, 253, 247, .90); box-shadow: 0 8px 26px rgba(78, 44, 17, .08); }
.gp-member-list li { margin: 0; padding: 0; min-width: 0; }
.gp-family-member + .gp-family-member { margin-top: 14px; }
.gp-family-card { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: center; gap: 12px; padding: 12px; border: 1px solid #d9bb81; border-radius: 9px; background: #fffdfa; box-shadow: 0 3px 10px rgba(66, 40, 19, .08); }
.gp-generation { display: inline-block; justify-self: start; padding: 8px 9px; border-radius: 6px; background: #681a23; color: white; font-size: 12px; font-weight: 700; white-space: nowrap; }
.gp-couple-pair { display: flex; align-items: center; min-width: 0; gap: 12px; }
.gp-person { display: flex; align-items: center; flex: 1 1 0; gap: 8px; min-width: 0; }
.gp-person-info { display: flex; align-items: center; flex: 1 1 auto; gap: 12px; min-width: 0; text-decoration: none; }
.gp-person-copy { min-width: 0; }
.gp-person-copy strong { display: block; font-size: 16px; line-height: 1.35; color: #075d61; }
.gp-person-female .gp-person-copy strong { color: #a43650; }
.gp-person-copy small { display: block; margin-top: 4px; font-size: 12px; }
.gp-couple-label { flex: 0 0 62px; display: flex; flex-direction: column; align-items: center; color: #811d30; line-height: 1.2; }
.gp-couple-label > span { font-size: 18px; }
.gp-couple-label small { font-size: 11px; white-space: nowrap; }
.gp-family-children { margin: 12px 0 0 30px; padding-left: 14px; border-left: 3px solid #d6ae64; }
.gp-family-children > span { display: block; margin-bottom: 8px; color: #78685d; font-size: 12px; }
.gp-additional-spouse { margin-top: 12px; background: #fff8f6; }
.gp-spouse-caption { color: #765245; font-size: 12px; }
.gp-view-branch { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; padding: 7px 11px; border: 1px solid #a46a31; border-radius: 6px; background: #fffaf0; color: #82391c; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.gp-view-branch:hover, .gp-view-branch:focus { background: #82391c; border-color: #82391c; color: #fff; }
.gp-detail-branch { margin-top: 12px; }
.gp-member-branch { width: 100%; }
.gp-relationship-note { color: #685a50; font-style: normal; font-weight: 400; }
.gp-list-avatar { width: 54px; height: 54px; flex: 0 0 54px; object-fit: cover; border: 2px solid #d8c29a; border-radius: 50%; margin: 0; }
.gp-list-avatar-placeholder { display: inline-flex; align-items: center; justify-content: center; background: #f4ead7; color: #926c36; font-size: 22px; }
.gp-member-list .gp-view-branch { padding: 6px 8px; font-size: 11px; }
.gp-member-back { display: inline-block; margin-bottom: 18px; }
.gp-member-detail { max-width: 850px; }
.gp-member-header { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.gp-member-header h1 { margin: 0; }
.gp-member-header p { margin: 5px 0 0; }
.gp-member-portrait { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; margin: 0; }
.gp-member-facts { margin: 0 0 30px; border-top: 1px solid #e9dfd4; }
.gp-member-facts > div { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 14px; padding: 11px 0; border-bottom: 1px solid #e9dfd4; }
.gp-member-facts dt { font-weight: 700; }
.gp-member-facts dd { margin: 0; }
.gp-member-facts dd small { color: #685a50; }
@media(max-width:850px) { .gp-couple-pair { flex-direction: column; align-items: stretch; } .gp-couple-label { flex: 0 0 auto; flex-direction: row; justify-content: center; gap: 5px; } }
@media(max-width:600px) { .gp-member-list { padding: 10px; } .gp-family-card { grid-template-columns: 1fr; gap: 8px; padding: 10px; } .gp-family-children { margin-left: 10px; padding-left: 8px; } .gp-person { flex-wrap: wrap; } .gp-person-copy strong { font-size: 14px; } .gp-list-avatar { width: 40px; height: 40px; flex-basis: 40px; } .gp-member-facts > div { grid-template-columns: 1fr; gap: 2px; } .gp-member-portrait { width: 85px; height: 85px; } }
