.cm-team-profiles {
	--cm-team-ink: var(--craft-ink, #24212a);
	--cm-team-accent: var(--craft-purple, #28006f);
	--cm-team-line: var(--craft-line, #e4dfe7);
	color: var(--cm-team-ink);
}

.cm-team-group + .cm-team-group { margin-top: 3rem; }
.cm-team-group > h2 { margin: 0 0 1.25rem; color: var(--cm-team-accent); }
.cm-team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.cm-team-card { min-width: 0; }
.cm-team-card-button { display: flex; width: 100%; height: 100%; flex-direction: column; overflow: hidden; padding: 0; border: 1px solid var(--cm-team-line); border-radius: .75rem; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.cm-team-card-button:hover { border-color: var(--cm-team-accent); box-shadow: 0 8px 24px rgb(40 0 111 / 12%); }
.cm-team-card-button:focus-visible, .cm-team-dialog button:focus-visible, .cm-team-links a:focus-visible { outline: 3px solid #b54c09; outline-offset: 3px; }
.cm-team-card-button > img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cm-team-card-copy { display: grid; gap: .35rem; padding: 1rem; }
.cm-team-card-copy strong { font-size: 1.1rem; }
.cm-team-card-copy small { opacity: .82; }
.cm-team-dialog { width: min(54rem, calc(100vw - 2rem)); max-width: 54rem; max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 0; border-radius: .75rem; color: var(--cm-team-ink); box-shadow: 0 20px 60px rgb(0 0 0 / 24%); }
.cm-team-dialog::backdrop { background: rgb(21 13 33 / 70%); }
.cm-team-dialog-inner { position: relative; padding: clamp(1.25rem, 4vw, 2.5rem); }
.cm-team-dialog-close { position: absolute; top: .75rem; right: .75rem; width: 2.75rem; height: 2.75rem; border: 1px solid var(--cm-team-line); border-radius: 50%; background: #fff; color: var(--cm-team-accent); font-size: 1.6rem; cursor: pointer; }
.cm-team-dialog-photo { display: block; width: min(14rem, 45%); max-height: 19rem; margin: 0 1.5rem 1rem 0; float: left; border-radius: .5rem; object-fit: cover; }
.cm-team-profile-detail::after { display: block; clear: both; content: ""; }
.cm-team-profile-detail h3 { margin-top: .5rem; color: var(--cm-team-accent); }
.cm-team-preview-language + .cm-team-preview-language { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--cm-team-line); }
.cm-team-preview-language > h5 { color: var(--cm-team-accent); }
.cm-team-role { font-weight: 700; }
.cm-team-bio { white-space: normal; line-height: 1.65; }
.cm-team-links { display: flex; flex-wrap: wrap; gap: .65rem; clear: both; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.cm-team-links a { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .65rem; border: 1px solid var(--cm-team-line); border-radius: 999px; color: var(--cm-team-accent); text-decoration: none; }
.cm-team-link-icon { position: relative; display: inline-grid; flex: 0 0 1.35rem; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: var(--cm-team-accent); }
.cm-team-link-icon::before, .cm-team-link-icon::after { position: absolute; width: .42rem; height: .24rem; border: 1px solid #fff; border-radius: .2rem; content: ""; transform: rotate(-45deg); }
.cm-team-link-icon::before { top: .35rem; left: .22rem; }
.cm-team-link-icon::after { right: .22rem; bottom: .35rem; }
.cm-team-private-preview, .cm-team-history { margin: 1rem 0; padding: 1rem; border: 1px solid var(--cm-team-line); border-radius: .6rem; }
.cm-team-private-card { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: 1.25rem; }
.cm-team-private-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cm-team-private-copy section { margin: 1rem 0; }
.cm-team-private-copy h6 { margin: .25rem 0; }
.cm-team-profile-form fieldset { min-width: 0; margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--cm-team-line); border-radius: .6rem; }
.cm-team-profile-form legend { padding: 0 .4rem; font-weight: 700; }
.cm-team-profile-form .cm-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cm-team-profile-form textarea, .cm-team-profile-form input[type="text"], .cm-team-profile-form input[type="email"] { width: 100%; }
.cm-team-editor-photo { display: block; width: 10rem; aspect-ratio: 4 / 5; margin: .5rem 0 1rem; border-radius: .5rem; object-fit: cover; }
.cm-team-crop-controls { display: grid; max-width: 24rem; gap: .5rem; margin: 1rem 0; }
.cm-team-crop-controls[hidden] { display: none; }
.cm-team-crop-window { width: 10rem; aspect-ratio: 4 / 5; overflow: hidden; border: 2px solid var(--cm-team-accent); border-radius: .5rem; background: #f5f2f7; }
.cm-team-crop-window img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cm-team-actions { display: grid; justify-items: start; gap: .75rem; }
.cm-team-field-errors { padding: .75rem 1rem; border-left: 4px solid #b42318; background: #fff1f0; }
.cm-team-status { padding: .75rem 1rem; border-left: 4px solid var(--cm-team-accent); background: #f8f5fb; }
.cm-team-withdraw { margin-top: 1.5rem; }
.cm-team-admin-editor { max-width: 60rem; }
.cm-team-admin-editor input.regular-text { width: min(100%, 38rem); }
.cm-team-review-detail { margin-top: 2rem; }
.cm-team-review-detail img { display: block; width: 10rem; height: 12.5rem; object-fit: cover; }
.cm-team-order-list > li { margin-bottom: .75rem; }
.cm-inline-form { display: inline-block; margin-left: .5rem; }
.cm-team-bulk-form { margin-top: 1rem; }

@media (max-width: 640px) {
	.cm-team-profile-form .cm-field-row, .cm-team-private-card { grid-template-columns: 1fr; }
	.cm-team-dialog-photo { float: none; width: min(12rem, 70%); margin: 1rem 0; }
}
