/* Silvercreek Agent Profiles — front-end styles. Fonts are inherited from the theme. */
.scap { --scap-accent: #2d5c88; --scap-text: #1f1f1f; box-sizing: border-box; margin: 0 auto 40px; }
.scap *, .scap *::before, .scap *::after { box-sizing: inherit; }
.scap-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Buttons */
.scap .scap-btn { display: inline-block; padding: 7px 16px; border: 1px solid var(--scap-accent); border-radius: 3px; background: var(--scap-accent); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s; }
.scap .scap-btn:hover, .scap .scap-btn:focus { background: #fff; color: var(--scap-accent); text-decoration: none; }

/* Search */
/* !important here overrides theme form styles (margins, heights) that push the field and button out of line. */
.scap-search { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 0 0 20px; }
.scap-search__field { position: relative; flex: 0 1 340px; min-width: 0; }
.scap .scap-search input[type="search"] { display: block; width: 100% !important; height: 40px !important; min-height: 0; margin: 0 !important; padding: 0 12px !important; border: 1px solid #b9bec5; border-radius: 3px; background: #fff; color: var(--scap-text); font-size: 16px; line-height: normal; -webkit-appearance: none; appearance: none; }
.scap .scap-search .scap-btn { flex: 0 0 auto; height: 40px; margin: 0 !important; padding: 0 18px; line-height: 38px; }
.scap-search__clear { font-size: 14px; color: var(--scap-accent); }

/* Live search results */
.scap-suggest { position: absolute; z-index: 50; top: calc(100% + 4px); left: 0; right: 0; border: 1px solid #b9bec5; border-radius: 3px; background: #fff; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); text-align: left; overflow: hidden; }
.scap-suggest[hidden] { display: none; }
.scap .scap-suggest__item { display: flex; align-items: center; gap: 12px; padding: 8px 12px; color: var(--scap-text); font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.scap .scap-suggest__item + .scap-suggest__item { border-top: 1px solid #eceef0; }
.scap .scap-suggest__item:hover, .scap .scap-suggest__item:focus, .scap .scap-suggest__item.is-active { background: #eef3f8; color: var(--scap-accent); text-decoration: none; }
.scap-suggest__photo { flex: 0 0 36px; width: 36px; height: 45px; border-radius: 2px; background: #e6e8eb center top / cover no-repeat; }
.scap-suggest__none { padding: 10px 12px; color: #666; font-size: 14px; }

/* Copy protection: the grid cannot be highlighted. */
.scap-protect .scap-grid { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.scap-protect .scap-grid img { -webkit-user-drag: none; }
.scap-results, .scap-empty { text-align: center; margin: 0 0 20px; }

/* A–Z menu */
.scap-az { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 6px; margin: 0 0 30px; }
.scap .scap-az__link { min-width: 34px; padding: 2px 6px; border-bottom: 3px solid transparent; color: var(--scap-accent); font-size: 28px; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; }
.scap .scap-az__link:hover, .scap .scap-az__link:focus { border-bottom-color: var(--scap-accent); text-decoration: none; }
.scap .scap-az__link.is-active { border-bottom-color: var(--scap-accent); }
.scap .scap-az__link.is-empty { color: #c4c8cd; }

/* Grid: 6 columns on large screens, stepping down as the screen narrows */
.scap-grid { display: grid; grid-template-columns: repeat(var(--scap-cols, 6), minmax(0, 1fr)); gap: 36px 24px; }
@media (max-width: 1100px) { .scap-grid { grid-template-columns: repeat(var(--scap-cols-lg, 4), minmax(0, 1fr)); } }
@media (max-width: 800px) { .scap-grid { grid-template-columns: repeat(var(--scap-cols-md, 3), minmax(0, 1fr)); gap: 28px 16px; } }
@media (max-width: 540px) { .scap-grid { grid-template-columns: repeat(var(--scap-cols-sm, 2), minmax(0, 1fr)); } .scap .scap-az__link { font-size: 22px; min-width: 28px; } }

/* Card */
.scap-card { display: flex; flex-direction: column; min-width: 0; margin: 0; color: var(--scap-text); }
.scap .scap-card__photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid #1a1a1a; background: #e6e8eb; box-shadow: 0 8px 17px rgba(0, 0, 0, .2), 0 6px 20px rgba(0, 0, 0, .19); }
.scap .scap-photo { display: block; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; object-fit: cover; object-position: center top; }
.scap .scap-photo--none { background: #e6e8eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 100'%3E%3Ccircle cx='40' cy='38' r='17' fill='%23b4bac1'/%3E%3Cpath d='M8 100c0-21 14-34 32-34s32 13 32 34z' fill='%23b4bac1'/%3E%3C/svg%3E") center / cover no-repeat; }
.scap .scap-card__photo:hover .scap-photo, .scap .scap-card__photo:focus .scap-photo { opacity: .88; }
.scap-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding-top: 14px; }
.scap .scap-card__link { display: inline-block; margin-top: 3px; color: var(--scap-accent); font-size: 15px; line-height: 1.4; text-decoration: none; }
.scap .scap-card__link:hover, .scap .scap-card__link:focus { text-decoration: underline; }
.scap-card__name { font-size: 15px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.scap-card__cell { margin-top: 2px; font-size: 14px; line-height: 1.4; }
.scap .scap-card__cell a { color: inherit; text-decoration: none; }

/* Profile */
.scap-profile { max-width: 1000px; color: var(--scap-text); }
.scap-profile__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.scap-profile__photo { border: 1px solid #1a1a1a; background: #e6e8eb; box-shadow: 0 8px 17px rgba(0, 0, 0, .2), 0 6px 20px rgba(0, 0, 0, .19); }
.scap .scap-profile__photo .scap-photo { height: auto; }
.scap .scap-profile__photo .scap-photo--none { aspect-ratio: 4 / 5; }
.scap .scap-profile__name { margin: 0 0 6px; padding: 0; font-size: 40px; font-weight: 400; line-height: 1.15; text-transform: none; letter-spacing: 0; }
.scap-profile__position { margin: 0 0 18px; font-size: 16px; }
.scap .scap-profile__contact { list-style: none; margin: 0 0 20px; padding: 0; }
.scap .scap-profile__contact li { margin: 0 0 8px; padding: 0; list-style: none; font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
.scap-profile__label { font-weight: 700; }
.scap .scap-profile__contact a { color: var(--scap-accent); text-decoration: none; }
.scap .scap-profile__contact a:hover { text-decoration: underline; }
.scap-profile__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
.scap-profile__social { display: flex; flex-wrap: wrap; gap: 8px; }
.scap .scap-profile__social-link { padding: 4px 12px; border: 1px solid var(--scap-accent); border-radius: 999px; color: var(--scap-accent); font-size: 13px; text-decoration: none; }
.scap .scap-profile__social-link:hover { background: var(--scap-accent); color: #fff; }
.scap-profile__bio { margin-top: 36px; overflow-wrap: break-word; }
.scap-profile__bio img, .scap-profile__bio iframe, .scap-profile__bio video { max-width: 100%; }
.scap-profile__bio img { height: auto; }
.scap-profile__back { margin-top: 30px; }
.scap .scap-profile__back a { color: var(--scap-accent); text-decoration: none; }
@media (max-width: 700px) {
	.scap-profile__top { grid-template-columns: 1fr; gap: 24px; }
	.scap-profile__photo { max-width: 320px; margin: 0 auto; }
	.scap .scap-profile__name { font-size: 30px; }
}
