/* Academy Management System - v2 (lean) */

:root {
	--ams-primary: #7bc043;
	--ams-primary-dark: #1d4ed8;
	--ams-success: #059669;
	--ams-warning: #d97706;
	--ams-danger: #dc2626;
	--ams-text: #111827;
	--ams-muted: #6b7280;
	--ams-border: #e5e7eb;
	--ams-bg: #f8fafc;
	--ams-card: #ffffff;
	--ams-radius: 20px;
}

.ams-panel,
.ams-public-container {
	direction: rtl;
	color: var(--ams-text);
	max-width: 1100px;
	margin: 0 auto;
}

.ams-page-title { font-size: 24px; margin: 0 0 20px; }
.ams-section-title { font-size: 19px; margin: 28px 0 14px; }
.ams-muted { color: var(--ams-muted); font-size: 14px;     text-align: right;
    height: 26px;
    overflow: hidden;}

.ams-card {
	background: var(--ams-card);
	border: 1px solid var(--ams-border);
	border-radius: var(--ams-radius);
	padding: 20px;
	margin-bottom: 20px;
}

.ams-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 10px;
}

.ams-alert {
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 16px;
	font-size: 14px;
	line-height: 1.8;
}
.ams-alert-warning { background: #fef3c7; color: #92400e; }
.ams-alert-success { background: #d1fae5; color: #065f46; }
.ams-alert-danger  { background: #fee2e2; color: #991b1b; }

.ams-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: 10px;
	border: 1px solid transparent;
	cursor: pointer;
	font-size: 14px;
	text-decoration: none;
}
.ams-btn-primary { background: var(--ams-primary); color: #fff;width:100%; }
.ams-btn-primary:hover { background: var(--ams-primary-dark); color: #fff !important; }
.ams-btn-secondary { background: #f3f4f6; color: var(--ams-text); border-color: var(--ams-border); }

.ams-table { width: 100%; border-collapse: collapse; text-align: right; }
.ams-table th, .ams-table td { padding: 10px 12px; border-bottom: 1px solid var(--ams-border); font-size: 14px; }
.ams-table th { background: var(--ams-bg); }

.ams-status { padding: 3px 10px; border-radius: 999px; font-size: 12px; }
.ams-status-approved { background: #d1fae5; color: #065f46; }
.ams-status-pending  { background: #fef3c7; color: #92400e; }
.ams-status-rejected { background: #fee2e2; color: #991b1b; }
.ams-status-none     { background: #f3f4f6; color: var(--ams-muted); }

.ams-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.ams-badge {
	display: inline-block;
	background: var(--ams-primary);
	color: #fff;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 999px;
	margin-bottom: 8px;
}

.ams-course-card, .ams-coach-card { text-align: center; }
.ams-coach-card img, .ams-coach-profile img { border-radius: 50%; margin-bottom: 10px;    width: 100px;
    height: 100px; }
.ams-coach-profile { text-align: center; }

.ams-field { margin-bottom: 14px; }
.ams-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.ams-field input[type="text"],
.ams-field input[type="number"],
.ams-field input[type="url"],
.ams-field input[type="date"],
.ams-field input[type="time"],
.ams-field select,
.ams-field textarea {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--ams-border);
	border-radius: 8px;
	box-sizing: border-box;
	font-family: inherit;
}
.ams-checkbox-row { display: flex; flex-wrap: wrap; gap: 12px; }
.ams-checkbox-row label { font-weight: normal; }

.ams-contract-box {
	max-height: 140px;
	overflow-y: auto;
	background: var(--ams-bg);
	border: 1px solid var(--ams-border);
	border-radius: 8px;
	padding: 12px;
	font-size: 13px;
	line-height: 1.9;
	margin-bottom: 14px;
}

.ams-text-success { color: var(--ams-success); margin-right: 10px; }
.ams-text-danger  { color: var(--ams-danger); margin-right: 10px; }

/* Coach contract and verification */
.ams-verification-card {
	max-width: 780px;
}

.ams-verification-card h3,
.ams-verification-status-card h3 {
	margin: 8px 0 10px;
}

.ams-contract-box {
	max-height: 320px;
	min-height: 220px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--ams-border);
	box-shadow: inset 0 0 0 4px var(--ams-bg);
	font-size: 14px;
	line-height: 2;
}

.ams-contract-box h4 {
	font-size: 18px;
	margin: 0 0 12px;
}

.ams-contract-box ol {
	margin: 12px 22px 12px 0;
}

.ams-contract-box li {
	margin-bottom: 8px;
}

.ams-contract-end {
	padding: 10px;
	margin: 18px 0 0;
	text-align: center;
	background: var(--ams-bg);
	border-radius: 8px;
}

.ams-contract-hint {
	margin: 8px 0 16px;
	font-size: 13px;
	color: var(--ams-warning);
}

.ams-accept-field {
	padding: 12px 14px;
	border: 1px solid var(--ams-border);
	border-radius: 10px;
	background: var(--ams-bg);
}

.ams-accept-field label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	font-weight: 600;
}

.ams-field input[type="file"] {
	display: block;
	width: 100%;
	padding: 10px;
	margin-bottom: 5px;
	border: 1px dashed var(--ams-border);
	border-radius: 8px;
	box-sizing: border-box;
	background: var(--ams-bg);
}

.ams-btn:disabled,
.ams-btn.ams-is-loading {
	opacity: .65;
	cursor: not-allowed;
}

.ams-verification-status-card {
	max-width: 680px;
}

/* Admin coach review */
.ams-admin-review-wrap {
	direction: rtl;
}

.ams-admin-review-table th,
.ams-admin-review-table td {
	vertical-align: top;
}

.ams-admin-review-table .ams-status {
	display: inline-block;
	white-space: nowrap;
}

.ams-review-actions textarea {
	width: 100%;
	min-width: 180px;
	margin-bottom: 7px;
}

.ams-review-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

@media (max-width: 782px) {
	.ams-contract-box {
		max-height: 280px;
		min-height: 190px;
	}

	.ams-admin-review-table {
		display: block;
		overflow-x: auto;
	}
}

/* Single product: class/event information */
.ams-product-info {
	direction: rtl;
	margin: 22px 0 26px;
	padding: 20px;
	border: 1px solid var(--ams-border);
	border-radius: 18px;
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
	box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
}

.ams-product-info__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--ams-border);
}

.ams-product-info__heading h3 {
	font-size: 19px;
	line-height: 1.4;
	margin: 3px 0 0;
	color: var(--ams-text);
}

.ams-product-info__eyebrow {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--ams-primary);
}

.ams-product-info__status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.ams-product-info__status::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.ams-product-info__status--active { background: #d1fae5; color: #047857; }
.ams-product-info__status--cancelled { background: #fee2e2; color: #b91c1c; }

.ams-product-info__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.ams-product-info__item {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 12px;
	border: 1px solid #edf0f4;
	border-radius: 12px;
	background: rgba(255,255,255,.8);
}

.ams-product-info__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #eff6ff;
	color: var(--ams-primary);
}

.ams-product-info__icon svg {
	width: 20px;
	height: 20px;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ams-product-info__content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ams-product-info__label {
	margin-bottom: 2px;
	font-size: 11px;
	color: var(--ams-muted);
}

.ams-product-info__value {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--ams-text);
	word-break: break-word;
}

.ams-product-info__coach {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--ams-border);
}

.ams-product-info__coach img {
	width: 48px;
	height: 48px;
	margin: 0;
	border-radius: 50%;
}

.ams-product-info__coach div {
	display: flex;
	flex-direction: column;
}

.ams-product-info__coach span {
	font-size: 11px;
	color: var(--ams-muted);
}

.ams-product-info__coach strong {
	font-size: 14px;
	color: var(--ams-text);
}

@media (max-width: 600px) {
	.ams-product-info {
		padding: 16px;
		border-radius: 15px;
	}

	.ams-product-info__grid {
		grid-template-columns: 1fr;
	}
}


/* Homepage coaches preview */
.ams-coaches-home__footer {
	margin-top: 18px;
	text-align: center;
}

.ams-coaches-home .ams-coach-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ams-coaches-home .ams-coach-card .ams-btn {
	margin-top: auto;
}

/* My Account: Academy manager dashboard */
.ams-manager-dashboard { max-width: 1180px; }

.ams-manager-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px;
	margin-bottom: 18px;
	border-radius: 18px;
	background: linear-gradient(135deg, #08273e 0%, #123f5e 100%);
	color: #fff;
}

.ams-manager-heading h2 { margin: 3px 0 6px; color: #fff; font-size: 24px; }
.ams-manager-heading p { margin: 0; color: rgba(255,255,255,.76); }
.ams-manager-eyebrow { color: #a8d94a; font-size: 12px; font-weight: 800; }

.ams-manager-stats {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}

.ams-manager-stat {
	position: relative;
	padding: 18px;
	border: 1px solid var(--ams-border);
	border-radius: 15px;
	background: #fff;
	overflow: hidden;
}

.ams-manager-stat::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 5px;
	height: 100%;
	background: #83bd18;
}

.ams-manager-stat strong { display: block; font-size: 25px; color: #08273e; line-height: 1.2; }
.ams-manager-stat span { display: block; margin-top: 6px; color: var(--ams-muted); font-size: 12px; }
.ams-manager-stat--pending::before { background: #f59e0b; }
.ams-manager-stat--approved::before { background: #10b981; }
.ams-manager-stat--products::before { background: #2563eb; }
.ams-manager-stat--sales::before { background: #8b5cf6; }

.ams-manager-tabs,
.ams-manager-filterbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 15px;
}

.ams-manager-tabs a,
.ams-manager-filterbar a {
	padding: 9px 15px;
	border: 1px solid var(--ams-border);
	border-radius: 999px;
	background: #fff;
	color: var(--ams-text);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.ams-manager-tabs a.is-active,
.ams-manager-filterbar a.is-active {
	border-color: #08273e;
	background: #08273e;
	color: #fff;
}

.ams-manager-table-card { padding: 0; overflow: hidden; }
.ams-table-scroll { width: 100%; overflow-x: auto; }
.ams-manager-table { min-width: 820px; }
.ams-manager-table th { white-space: nowrap; }
.ams-manager-table td { vertical-align: middle; }
.ams-manager-table td:first-child { min-width: 210px; }

.ams-manager-coach-cell {
	display: flex;
	align-items: center;
	gap: 11px;
}

.ams-manager-coach-cell img { flex: 0 0 auto; border-radius: 50%; margin: 0; }
.ams-manager-coach-cell strong,
.ams-manager-coach-cell small { display: block; }
.ams-manager-coach-cell small { margin-top: 3px; color: var(--ams-muted); font-size: 11px; }

.ams-status-active { background: #d1fae5; color: #047857; }
.ams-status-cancelled { background: #fee2e2; color: #b91c1c; }

.ams-manager-coach-detail {
	margin-top: 22px;
	border-top: 4px solid #83bd18;
}

.ams-manager-coach-detail .ams-card-header h3 { margin: 0; }

.ams-manager-detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.ams-manager-detail-grid > div {
	padding: 14px;
	border: 1px solid var(--ams-border);
	border-radius: 12px;
	background: var(--ams-bg);
}

.ams-manager-detail-grid span,
.ams-manager-detail-grid strong { display: block; }
.ams-manager-detail-grid > div > span { margin-bottom: 7px; color: var(--ams-muted); font-size: 11px; }
.ams-manager-detail-grid strong { color: var(--ams-text); font-size: 13px; }

.ams-manager-review-form label { display: block; margin-bottom: 7px; font-weight: 700; }
.ams-manager-review-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--ams-border);
	border-radius: 10px;
	box-sizing: border-box;
	font-family: inherit;
}

.ams-manager-actions,
.ams-manager-row-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.ams-btn-danger { background: #dc2626; color: #fff; }
.ams-btn-danger:hover { background: #b91c1c; color: #fff; }

.ams-link-button {
	padding: 0;
	border: 0;
	background: transparent;
	color: #b91c1c;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.ams-manager-row-actions a { font-size: 12px; font-weight: 700; text-decoration: none; }
.ams-manager-row-actions form { margin: 0; }
.ams-manager-post-status { display: block; margin-top: 4px; color: var(--ams-muted); font-size: 10px; }

@media (max-width: 980px) {
	.ams-manager-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ams-manager-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.ams-manager-heading { align-items: stretch; flex-direction: column; padding: 19px; }
	.ams-manager-heading .ams-btn { width: 100%; }
	.ams-manager-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ams-manager-detail-grid { grid-template-columns: 1fr; }
	.ams-manager-actions .ams-btn { width: 100%; }
}

/* v2.4.0: manager class editor and destructive actions */
.ams-manager-card-tools {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.ams-manager-form-card {
	max-width: 900px;
	margin: 0 auto;
}

.ams-manager-form-card .ams-course-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 18px;
}

.ams-manager-form-card .ams-course-form > .ams-field:has(textarea),
.ams-manager-form-card .ams-course-form > p:last-child,
.ams-manager-form-card .ams-course-form > .ams-field:has(.ams-checkbox-row) {
	grid-column: 1 / -1;
}

.ams-manager-form-card .ams-course-form input,
.ams-manager-form-card .ams-course-form select,
.ams-manager-form-card .ams-course-form textarea {
	width: 100%;
	box-sizing: border-box;
}

.ams-manager-danger-zone {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 17px;
	margin-top: 22px;
	border: 1px solid #fecaca;
	border-radius: 13px;
	background: #fff7f7;
}

.ams-manager-danger-zone strong {
	display: block;
	margin-bottom: 4px;
	color: #991b1b;
}

.ams-manager-danger-zone p {
	margin: 0;
	color: #7f1d1d;
	font-size: 12px;
	line-height: 1.9;
}

.ams-manager-danger-zone form { flex: 0 0 auto; margin: 0; }
.ams-link-button-danger { color: #dc2626; }
.ams-link-button-danger:hover { color: #991b1b; text-decoration: underline; }

@media (max-width: 760px) {
	.ams-manager-form-card .ams-course-form { grid-template-columns: 1fr; }
	.ams-manager-form-card .ams-course-form > * { grid-column: 1; }
	.ams-manager-danger-zone { align-items: stretch; flex-direction: column; }
	.ams-manager-danger-zone .ams-btn { width: 100%; }
	.ams-manager-card-tools { width: 100%; }
}

/* v2.5.0: short description, features and featured image fields */
.ams-field-help {
	display: block;
	margin-top: 7px;
	color: var(--ams-muted);
	font-size: 11px;
	line-height: 1.8;
}

.ams-manager-form-card .ams-course-form > .ams-featured-image-field {
	grid-column: 1 / -1;
}

.ams-featured-image-control {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 18px;
	padding: 15px;
	border: 1px solid var(--ams-border);
	border-radius: 13px;
	background: var(--ams-bg);
}

.ams-featured-image-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 12px;
	border: 2px dashed #cfd8df;
	border-radius: 12px;
	background: #fff;
	color: var(--ams-muted);
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
}

.ams-featured-image-preview.has-image { padding: 0; border-style: solid; }
.ams-featured-image-preview img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.ams-featured-image-actions { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; gap: 10px; }
.ams-featured-image-actions input[type="file"] { width: 100%; padding: 12px; border: 1px dashed var(--ams-border); border-radius: 10px; background: #fff; }
.ams-remove-image { display: flex !important; align-items: center; gap: 7px; color: #b91c1c !important; cursor: pointer; }

.ams-product-info__features {
	padding: 18px 20px;
	margin-top: 17px;
	border: 1px solid rgba(131, 189, 24, .28);
	border-radius: 14px;
	background: rgba(131, 189, 24, .07);
}

.ams-product-info__features h4 { margin: 0 0 11px; color: #08273e; font-size: 15px; }
.ams-product-info__features ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; padding: 0; margin: 0; list-style: none; }
.ams-product-info__features li { position: relative; padding-right: 20px; color: #344450; line-height: 1.8; }
.ams-product-info__features li::before { content: "✓"; position: absolute; right: 0; top: 0; color: #659c0d; font-weight: 900; }

@media (max-width: 620px) {
	.ams-featured-image-control { grid-template-columns: 1fr; }
	.ams-featured-image-preview { max-width: 230px; width: 100%; margin: 0 auto; }
	.ams-product-info__features ul { grid-template-columns: 1fr; }
}

/* =====================================================
   Events landing and homepage cards
   ===================================================== */
.ams-events-directory,
.ams-events-home {
	direction: rtl;
}

.ams-events-section + .ams-events-section {
	margin-top: 60px;
	padding-top: 44px;
	border-top: 1px solid var(--ams-border);
}

.ams-events-section__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.ams-events-section__heading h2 {
	margin: 5px 0 0;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.35;
	color: var(--ams-text);
}

.ams-events-section__heading p {
	max-width: 470px;
	margin: 0;
	color: var(--ams-muted);
	font-size: 14px;
	line-height: 1.9;
}

.ams-events-section__heading--compact {
	align-items: center;
}

.ams-events-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ams-primary);
	font-size: 12px;
	font-weight: 800;
}

.ams-events-eyebrow::before {
	content: '';
	width: 20px;
	height: 3px;
	border-radius: 99px;
	background: currentColor;
}

.ams-events-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.ams-event-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--ams-border);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 14px 38px rgba(15, 23, 42, .07);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ams-event-card:hover {
	transform: translateY(-5px);
	border-color: rgba(37, 99, 235, .35);
	box-shadow: 0 22px 48px rgba(15, 23, 42, .12);
}

.ams-event-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / .72;
	overflow: hidden;
	background: #eef2f7;
}

.ams-event-card__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform .4s ease;
}

.ams-event-card:hover .ams-event-card__image {
	transform: scale(1.045);
}

.ams-event-card__date-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	min-height: 62px;
	padding: 5px 8px;
	background: rgba(255,255,255,.94);
	color: var(--ams-text);
	border-radius: 14px;
	box-shadow: 0 10px 25px rgba(15, 23, 42, .16);
	backdrop-filter: blur(8px);
}

.ams-event-card__date-badge strong {
	font-size: 24px;
	line-height: 1;
	color: var(--ams-primary);
}

.ams-event-card__date-badge span {
	margin-top: 5px;
	font-size: 11px;
	font-weight: 800;
}

.ams-event-card__past-label,
.ams-event-card__sold-label {
	position: absolute;
	left: 14px;
	bottom: 14px;
	display: inline-flex;
	padding: 6px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	color: #fff;
	background: rgba(17, 24, 39, .82);
	backdrop-filter: blur(6px);
}

.ams-event-card__sold-label {
	background: rgba(185, 28, 28, .9);
}

.ams-event-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.ams-event-card__type {
	display: inline-flex;
	align-self: flex-start;
	padding: 4px 10px;
	margin-bottom: 10px;
	border-radius: 999px;
	background: #eff6ff;
	color: var(--ams-primary-dark);
	font-size: 11px;
	font-weight: 800;
}

.ams-event-card h3 {
	margin: 0 0 9px;
	font-size: 19px;
	line-height: 1.65;
}

.ams-event-card h3 a {
	color: var(--ams-text);
	text-decoration: none;
}

.ams-event-card h3 a:hover {
	color: var(--ams-primary);
}

.ams-event-card__excerpt {
	margin: 0 0 15px;
	color: var(--ams-muted);
	font-size: 13px;
	line-height: 1.9;
}

.ams-event-card__meta {
	display: grid;
	gap: 8px;
	padding: 14px 0;
	margin-top: auto;
	border-top: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
}

.ams-event-card__meta span {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: #485467;
	font-size: 12px;
	line-height: 1.7;
}

.ams-event-card__meta svg {
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	color: var(--ams-primary);
}

.ams-event-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 16px;
}

.ams-event-card__price {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ams-event-card__price > span {
	margin-bottom: 2px;
	color: var(--ams-muted);
	font-size: 10px;
}

.ams-event-card__price strong,
.ams-event-card__price .amount {
	color: var(--ams-text);
	font-size: 15px;
	font-weight: 800;
}

.ams-event-card__footer .ams-btn {
	flex: 0 0 auto;
	padding: 8px 13px;
	font-size: 12px;
}

.ams-event-card__capacity {
	margin: 10px 0 0;
	color: var(--ams-success);
	font-size: 11px;
	font-weight: 700;
}

.ams-event-card--past {
	box-shadow: none;
}

.ams-event-card--past .ams-event-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, .18);
	pointer-events: none;
}

.ams-event-card--past .ams-event-card__date-badge,
.ams-event-card--past .ams-event-card__past-label {
	z-index: 1;
}

.ams-events-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 28px;
	text-align: center;
	border: 1px dashed #cbd5e1;
	border-radius: 18px;
	background: var(--ams-bg);
}

.ams-events-empty strong {
	margin-bottom: 7px;
	font-size: 17px;
	color: var(--ams-text);
}

.ams-events-empty span {
	color: var(--ams-muted);
	font-size: 13px;
}

.ams-events-empty--compact {
	min-height: 110px;
}

.ams-events-home__footer {
	margin-top: 22px;
	text-align: center;
}

@media (max-width: 960px) {
	.ams-events-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.ams-events-section__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.ams-events-grid {
		grid-template-columns: 1fr;
	}

	.ams-event-card__media {
		aspect-ratio: 1 / .68;
	}

	.ams-event-card__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.ams-event-card__footer .ams-btn {
		width: 100%;
	}
}

/* =====================================================
   لیبل دستی نوع محصول برای Grid Layout: کلاس / رویداد
   محل قرارگیری از داخل تنظیمات خود Grid Layout کنترل می‌شود.
   ===================================================== */
.ams-product-type-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	min-height: 30px;
	padding: 5px 13px;
	border-radius: 999px;
	box-sizing: border-box;
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 6px 16px rgba(8, 39, 62, .16);
}

.ams-product-type-badge--class {
	background: #08273e;
}

.ams-product-type-badge--event {
	background: #6fa412;
}

@media (max-width: 600px) {
	.ams-product-type-badge {
		min-width: 52px;
		min-height: 27px;
		padding: 4px 10px;
		font-size: 11px;
	}
}

/* v2.8.0: coach students and printable enrollment lists */
.ams-coach-tabs {
	margin-bottom: 20px;
}

.ams-students-overview .ams-card-header,
.ams-students-detail .ams-card-header {
	align-items: flex-start;
}

.ams-students-overview .ams-card-header h3,
.ams-students-detail .ams-card-header h3 {
	margin: 0 0 5px;
}

.ams-students-back {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.ams-students-summary-table,
.ams-students-table {
	min-width: 850px;
}

.ams-students-table td:nth-child(3),
.ams-students-table td:nth-child(4) {
	direction: ltr;
	text-align: right;
}

@media (max-width: 620px) {
	.ams-coach-tabs {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.ams-coach-tabs a {
		justify-content: center;
		text-align: center;
	}

	.ams-students-detail .ams-manager-card-tools {
		align-items: stretch;
		flex-direction: column;
	}

	.ams-students-detail .ams-manager-card-tools .ams-btn {
		width: 100%;
	}
}
