/*
 * Coach profile editor + public "Ποιοι είμαστε" directory.
 * The directory card layout deliberately stays borderless so it blends into the
 * existing Hestia team section.
 */

/* ---------------------------------------------------------------- editor - */

.ssc-coach-editor {
	width: 100%;
	max-width: var(--ssc-container-narrow);
	margin: 24px auto;
	padding: 24px;
	border: 1px solid var(--ssc-line-soft);
	border-radius: var(--ssc-radius-lg);
	background: var(--ssc-surface);
	box-sizing: border-box;
}

.ssc-coach-editor *    { box-sizing: border-box; }
.ssc-coach-editor form { display: grid; gap: 18px; }

.ssc-coach-editor-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: var(--ssc-space-3);
}

.ssc-coach-editor-header h2 { margin-top: 0; }

.ssc-coach-quick-actions { display: flex; flex-wrap: wrap; gap: var(--ssc-space-2); }

.ssc-coach-photo-field {
	display: flex;
	align-items: center;
	gap: 18px;
}

.ssc-coach-photo-field label { display: grid; gap: 7px; }

.ssc-coach-photo-preview {
	width: 140px;
	height: 140px;
	border-radius: 14px;
	object-fit: cover;
}

.ssc-coach-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ssc-space-4);
}

.ssc-coach-form-grid label { display: grid; gap: 7px; }

.ssc-coach-form-grid input,
.ssc-coach-form-grid textarea {
	width: 100%;
	min-height: var(--ssc-tap);
	padding: 11px;
	border: 1px solid var(--ssc-line-input);
	border-radius: var(--ssc-radius-sm);
	background: var(--ssc-surface);
	font: inherit;
}

.ssc-coach-form-grid textarea { min-height: 120px; line-height: 1.5; resize: vertical; }

.ssc-coach-form-grid input:focus,
.ssc-coach-form-grid textarea:focus {
	outline: none;
	border-color: #527aaa;
	box-shadow: var(--ssc-focus);
}

.ssc-coach-wide { grid-column: 1 / -1; }

.ssc-coach-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ssc-space-3);
}

.ssc-coach-feedback {
	margin: 14px 0;
	padding: 14px 16px;
	border-left: 4px solid #dba617;
	border-radius: var(--ssc-radius-sm);
	background: #fff8dc;
}

/* Roles are assigned by admin/moderator and shown read-only to the coach. */
.ssc-coach-assigned-roles {
	display: grid;
	gap: 7px;
	padding: 10px 12px;
	border: 1px solid #d7dee7;
	border-radius: var(--ssc-radius-sm);
	background: var(--ssc-surface-muted);
}

.ssc-coach-assigned-roles > div {
	min-height: var(--ssc-tap);
	padding: 9px 10px;
	border-radius: 6px;
	background: var(--ssc-surface);
	color: var(--ssc-accent);
	font-weight: 700;
	line-height: 1.45;
}

.ssc-coach-assigned-roles small { color: #6c7784; }

/* --------------------------------------------------------------- status -- */

.ssc-coach-status {
	display: inline-flex;
	padding: 4px 10px;
	border-radius: var(--ssc-radius-pill);
	background: #eef2f7;
	font-size: 14px;
	font-weight: 700;
}

.ssc-coach-status-approved    { background: var(--ssc-success-bg); color: var(--ssc-success-ink); }
.ssc-coach-status-pending     { background: #fff5cc; color: #745600; }
.ssc-coach-status-rejected    { background: var(--ssc-danger-bg); color: #9c2525; }
.ssc-coach-status-unpublished { background: #eef0f3; color: #4f5964; }

/* ------------------------------------------------------------ directory -- */

.ssc-coach-directory-section { margin-top: 32px; }
.ssc-coach-directory { display: grid; gap: 34px; }

.ssc-coach-card {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
	gap: 10px;
	border: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.ssc-coach-card-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 248px;
	height: 248px;
	background: #eef2f7;
	font-size: 76px;
}

.ssc-coach-card-photo img { width: 100%; height: 100%; object-fit: cover; }

.ssc-coach-card-body h3 {
	margin: 0 0 18px;
	color: #3d4857;
	font-size: 32px;
	line-height: 1.12;
}

.ssc-coach-roles {
	margin: 0 0 var(--ssc-space-4);
	color: var(--ssc-accent);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.ssc-coach-roles div { margin-bottom: 2px; }

.ssc-coach-highlights {
	margin: 0;
	padding-left: 40px;
	color: #667181;
	font-size: 17px;
	line-height: 1.55;
}

.ssc-coach-highlights li { margin-bottom: 3px; }

.ssc-coach-directory-empty {
	padding: 22px;
	border-radius: var(--ssc-radius);
	background: var(--ssc-surface-muted);
	text-align: center;
}

/* ------------------------------------------------------------ responsive - */

@media (max-width: 760px) {
	.ssc-coach-form-grid { grid-template-columns: 1fr; }
	.ssc-coach-wide      { grid-column: auto; }

	.ssc-coach-photo-field   { flex-direction: column; align-items: flex-start; }
	.ssc-coach-editor-header { display: block; }
	.ssc-coach-quick-actions { margin-top: var(--ssc-space-3); }
	.ssc-coach-form-actions  { flex-direction: column; align-items: stretch; }
	.ssc-coach-form-actions .ssc-button { width: 100%; }

	.ssc-coach-card       { grid-template-columns: 1fr; gap: var(--ssc-space-4); }
	.ssc-coach-card-photo { width: min(100%, 320px); height: auto; aspect-ratio: 1 / 1; }

	.ssc-coach-card-body h3 { margin-bottom: 10px; font-size: 26px; }
	.ssc-coach-roles        { font-size: 18px; }
	.ssc-coach-highlights   { padding-left: 24px; font-size: 16px; }
}

/* ------------------------------------------------------ private account -- */

.ssc-coach-private-account {
	margin-top: 26px;
	padding: 18px;
	border: 1px dashed #b8c1cc;
	border-radius: var(--ssc-radius);
	background: #f7f9fb;
}

.ssc-coach-private-account-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 14px;
}

.ssc-coach-private-account-head h3 { margin: 0 0 5px; }
.ssc-coach-private-account-head p  { margin: 0; color: #5f6975; }

.ssc-private-badge {
	white-space: nowrap;
	padding: 5px 9px;
	border-radius: var(--ssc-radius-pill);
	background: #e9eef4;
	color: #4d5966;
	font-size: 13px;
	font-weight: 700;
}

.ssc-coach-account-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.ssc-coach-account-grid > div {
	display: grid;
	gap: 3px;
	padding: 12px;
	border: 1px solid #dce2e8;
	border-radius: var(--ssc-radius-sm);
	background: var(--ssc-surface);
	min-width: 0;
}

.ssc-coach-account-grid span { color: #6b7480; font-size: 13px; }
.ssc-coach-account-grid strong { overflow-wrap: anywhere; }

.ssc-coach-password-box {
	border-top: 1px solid #dce2e8;
	padding-top: 12px;
}

.ssc-coach-password-box summary {
	cursor: pointer;
	font-weight: 700;
}

.ssc-coach-password-form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.ssc-coach-password-form label { display: grid; gap: 6px; }
.ssc-coach-password-form input {
	width: 100%;
	min-height: var(--ssc-tap);
	padding: 10px;
	border: 1px solid var(--ssc-line-input);
	border-radius: var(--ssc-radius-sm);
	background: var(--ssc-surface);
}

.ssc-coach-password-form .ssc-button { align-self: end; justify-self: start; }

@media (max-width: 760px) {
	.ssc-coach-private-account-head { display: block; }
	.ssc-private-badge { display: inline-block; margin-top: 10px; }
	.ssc-coach-account-grid,
	.ssc-coach-password-form { grid-template-columns: 1fr; }
	.ssc-coach-password-form .ssc-button { width: 100%; }
}

/* v0.35.2: editable private account identity. */
.ssc-coach-account-edit { margin: 0 0 14px; border-bottom: 1px solid #dce2e8; padding-bottom: 12px; }
.ssc-coach-account-edit summary { cursor: pointer; font-weight: 700; }
.ssc-coach-account-edit-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.ssc-coach-account-edit-form label { display:grid; gap:6px; font-weight:700; }
.ssc-coach-account-edit-form input { min-height:var(--ssc-tap); padding:10px 11px; border:1px solid var(--ssc-line-input); border-radius:var(--ssc-radius-sm); }
.ssc-coach-account-edit-form small { color:var(--ssc-text-muted); font-weight:400; }
.ssc-coach-account-wide { grid-column:1 / -1; }
@media(max-width:700px){.ssc-coach-account-edit-form{grid-template-columns:1fr}.ssc-coach-account-wide{grid-column:auto}}
