/* ==========================================================================
   1-on-1 Coaching — coach directory (root class: .coaches)
   Rebuilt from capture/assets/css/page-pages_1-on-1-coaching.css
   ========================================================================== */

/* ---------- Banner ---------- */
.coaches.coaches-hero { margin: 0; }
.coaches.coaches-hero .coaches-hero__img {
	display: block;
	width: 100%;
	height: 530px;
	object-fit: cover;
}

/* ---------- Directory section ---------- */
.coaches.coaches-directory {
	padding: 50px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Search */
.coaches .coaches-search {
	width: 42%;
	margin: 0 auto 20px;
	padding: 0 20px 0 0;
}
.coaches .coaches-search__box {
	position: relative;
	background: #f8f9fa;
	border-radius: 12px;
	padding: 5px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
	transition: box-shadow .3s ease;
}
.coaches .coaches-search__box:focus-within {
	box-shadow: 0 6px 20px rgba(0, 123, 255, .2);
	outline: 2px solid var(--purple);
	outline-offset: 2px;
}
.coaches .coaches-search__input {
	display: block;
	width: 100%;
	padding: 16px 20px 16px 50px;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.3;
	color: var(--text);
	border: 0;
	background: transparent;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}
.coaches .coaches-search__input::placeholder { color: #6c757d; opacity: 1; }
.coaches .coaches-search__input::-webkit-search-decoration { -webkit-appearance: none; }
.coaches .coaches-search__count {
	text-align: center;
	margin-top: 15px;
	font-weight: 600;
	color: #666;
	font-size: 14px;
	transform: translateY(10px);
}

/* Headings */
.coaches .coaches-title {
	margin: 0;
	font-size: 30px;
	line-height: 1.3em;
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	color: var(--text);
}
.coaches .coaches-title span,
.coaches .coaches-subtitle span { color: var(--purple); }
.coaches .coaches-subtitle {
	margin: 21px 0 0;
	padding: 0 15px;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 400;
	text-align: center;
	color: var(--text);
}

/* ---------- Grid ---------- */
.coaches .coaches-grid {
	width: 95%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap: 4%;
}
.coaches .coach-card {
	flex: 0 0 48%;
	width: 48%;
	padding: 20px;
	display: flex;
	flex-direction: column;
}
.coaches .coach-card[hidden] { display: none; }
.coaches .coach-card__media {
	padding: 20px 15px 0;
}
.coaches .coach-card__media img {
	display: block;
	width: 300px;
	height: 300px;
	max-width: 100%;
	object-fit: cover;
}
.coaches .coach-card__body {
	padding: 20px 15px 0;
}
.coaches .coach-card__name {
	margin: 0;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 400;
	color: var(--purple);
}
.coaches .coach-card__specialty {
	margin: 0;
	font-size: 24px;
	line-height: 1.3;
	color: var(--text);
}
.coaches .coach-card__bio {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--text);
}

/* Hidden "Read More" content */
.coaches .coach-card__more { padding-top: 16px; }
.coaches .coach-card__more[hidden] { display: none; }
.coaches .coach-card__more p {
	margin: 0 0 1rem;
	line-height: 1.5;
}
.coaches .coach-card__more h4 {
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 400;
	color: var(--text);
}
.coaches .coach-card__more .coach-card__languages { margin-bottom: 0; }
.coaches .tick-list {
	list-style: none;
	margin: 0 0 1rem;
	padding-left: 0;
}
.coaches .tick-list li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 10px;
	line-height: 1.6;
}
.coaches .tick-list li::before {
	content: "\2714";
	position: absolute;
	left: 0;
	top: 2px;
	color: var(--purple);
	font-weight: bold;
}

/* Read More / Read Less toggle */
.coaches .coach-card__toggle {
	display: inline-block;
	align-self: flex-start;
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.3;
	color: var(--purple);
	text-decoration: underline;
	cursor: pointer;
	transition: color .3s ease;
}
.coaches .coach-card__toggle:hover { color: var(--orange); }
.coaches .coach-card__toggle:focus-visible,
.coaches .coach-card__book:focus-visible {
	outline: 2px solid var(--purple);
	outline-offset: 3px;
}

/* Book button */
.coaches .coach-card__cta { margin-top: 30px; }
.coaches .coach-card__book {
	display: inline-block;
	background: var(--orange);
	border: 1px solid var(--orange);
	color: #fff;
	font-size: 16px;
	line-height: 25px;
	padding: 15px 30px;
	border-radius: 10px;
	transition: background .3s, color .3s;
}
.coaches .coach-card__book:hover {
	background: transparent;
	color: var(--orange);
}

/* No results */
.coaches .coaches-empty {
	margin: 20px 0 0;
	padding: 0 15px;
	font-size: 20px;
	text-align: center;
	color: var(--muted);
}
.coaches .coaches-empty[hidden] { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.coaches .coaches-search { width: 100%; }
	.coaches .coaches-subtitle { font-size: 20px; margin-top: 17px; padding: 0; }
	.coaches .coaches-grid {
		width: 100%;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
	}
	/* Original markup groups cards in pairs (20px gap inside a pair, none between pairs). */
	.coaches .coach-card:nth-child(even) { margin-top: 20px; }
	.coaches .coach-card {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		padding: 0;
	}
	.coaches .coach-card__media img {
		width: 100%;
		max-width: 300px;
		height: auto;
	}
	/* Original theme drops body text to 14px at this breakpoint. */
	.coaches .coach-card__bio,
	.coaches .coach-card__more,
	.coaches .coach-card__toggle,
	.coaches .coach-card__book { font-size: 14px; }
}
@media (max-width: 640px) {
	.coaches.coaches-hero .coaches-hero__img { height: auto; }
}
