/* Medical College Manager — front-end styles
   All visual values pull from CSS variables set in the admin Design panel,
   so editing settings restyles everything without touching this file. */

.mcm-wrap{
	font-family: var(--mcm-font, inherit);
	color: var(--mcm-text, #1f2933);
	box-sizing: border-box;
}
.mcm-wrap *,
.mcm-wrap *::before,
.mcm-wrap *::after{ box-sizing: border-box; }

/* ---------- Filter bar ---------- */
.mcm-filters{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:center;
	margin-bottom: var(--mcm-gap, 24px);
	padding: 14px;
	background: var(--mcm-page-bg, #f5f7fa);
	border:1px solid var(--mcm-border, #e5e7eb);
	border-radius: var(--mcm-radius, 12px);
}
.mcm-filters .mcm-search,
.mcm-filters .mcm-filter-tax{
	padding:10px 12px;
	border:1px solid var(--mcm-border, #e5e7eb);
	border-radius: 8px;
	background:#fff;
	font-size:14px;
	color: var(--mcm-text, #1f2933);
	min-width:160px;
}
.mcm-filters .mcm-search{ flex:1 1 220px; }
.mcm-filters .mcm-reset{
	padding:10px 16px;
	border:none;
	border-radius:8px;
	background: var(--mcm-primary, #0a6b5d);
	color:#fff;
	cursor:pointer;
	font-size:14px;
}
.mcm-filters .mcm-reset:hover{ background: var(--mcm-accent, #13a594); }

/* ---------- Grid ---------- */
.mcm-grid{
	display:grid;
	grid-template-columns: repeat( var(--mcm-cols, 3), minmax(0, 1fr) );
	gap: var(--mcm-gap, 24px);
}
@media (max-width: 980px){ .mcm-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px){ .mcm-grid{ grid-template-columns: 1fr; } }

.mcm-card{
	background: var(--mcm-card-bg, #fff);
	border:1px solid var(--mcm-border, #e5e7eb);
	border-radius: var(--mcm-radius, 12px);
	box-shadow: var(--mcm-shadow, 0 6px 20px rgba(0,0,0,.08));
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.mcm-card:hover{ transform: var(--mcm-lift, translateY(-4px)); }
.mcm-card-media{ display:block; overflow:hidden; }
.mcm-card-media .mcm-card-img,
.mcm-card-media img{
	width:100%;
	height: var(--mcm-img-h, 220px);
	object-fit:cover;
	display:block;
	transition: transform .3s ease;
}
.mcm-card:hover .mcm-card-img{ transform: scale(1.04); }
.mcm-card-body{ padding: var(--mcm-pad, 20px); display:flex; flex-direction:column; gap:8px; }
.mcm-card-title{ font-size: var(--mcm-title-size, 18px); line-height:1.3; margin:0; }
.mcm-card-title a{ color: var(--mcm-text, #1f2933); text-decoration:none; }
.mcm-card-title a:hover{ color: var(--mcm-primary, #0a6b5d); }
.mcm-card-excerpt{ color: var(--mcm-muted, #6b7280); font-size:14px; margin:4px 0 0; }
.mcm-card-link{
	margin-top:auto;
	color: var(--mcm-primary, #0a6b5d);
	font-weight:600;
	font-size:14px;
	text-decoration:none;
}
.mcm-card-link:hover{ color: var(--mcm-accent, #13a594); }

/* ---------- Meta lines ---------- */
.mcm-meta{ display:flex; flex-direction:column; gap:2px; font-size:13px; color: var(--mcm-muted, #6b7280); }
.mcm-meta-label{ font-weight:600; color: var(--mcm-text, #1f2933); }

/* ---------- List ---------- */
.mcm-list{ display:flex; flex-direction:column; gap: 14px; }
.mcm-list-item{
	display:flex;
	align-items:center;
	gap:16px;
	background: var(--mcm-card-bg, #fff);
	border:1px solid var(--mcm-border, #e5e7eb);
	border-radius: var(--mcm-radius, 12px);
	box-shadow: var(--mcm-shadow, 0 6px 20px rgba(0,0,0,.08));
	padding: 14px;
	transition: transform .15s ease;
}
.mcm-list-item:hover{ transform: var(--mcm-lift, translateY(-4px)); }
.mcm-list-media img{ width:72px; height:72px; object-fit:cover; border-radius: 8px; display:block; }
.mcm-list-body{ flex:1 1 auto; display:flex; flex-direction:column; gap:4px; }
.mcm-list-title{ margin:0; font-size: calc( var(--mcm-title-size, 18px) - 1px ); }
.mcm-list-title a{ color: var(--mcm-text, #1f2933); text-decoration:none; }
.mcm-list-title a:hover{ color: var(--mcm-primary, #0a6b5d); }
.mcm-list-link{
	white-space:nowrap;
	color:#fff;
	background: var(--mcm-primary, #0a6b5d);
	padding:8px 14px;
	border-radius:8px;
	text-decoration:none;
	font-size:13px;
	font-weight:600;
}
.mcm-list-link:hover{ background: var(--mcm-accent, #13a594); }

/* ---------- Single / detail ---------- */
.mcm-single{ display:grid; grid-template-columns: 320px 1fr; gap: var(--mcm-gap, 24px); }
@media (max-width: 760px){ .mcm-single{ grid-template-columns: 1fr; } }
.mcm-single-media img{ width:100%; border-radius: var(--mcm-radius, 12px); display:block; }
.mcm-single-title{ margin:0 0 8px; color: var(--mcm-text, #1f2933); }
.mcm-single-content{ margin-top:12px; line-height:1.6; }
.mcm-single-contact{ display:flex; gap:16px; margin-top:16px; flex-wrap:wrap; }
.mcm-single-contact a{
	color: var(--mcm-primary, #0a6b5d);
	text-decoration:none;
	font-weight:600;
	border:1px solid var(--mcm-border, #e5e7eb);
	padding:8px 14px;
	border-radius:8px;
}
.mcm-single-contact a:hover{ background: var(--mcm-page-bg, #f5f7fa); }

/* ---------- Toolbar (filters + print) ---------- */
.mcm-toolbar{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:stretch;
	margin-bottom: var(--mcm-gap, 24px);
}
.mcm-toolbar .mcm-filters{ flex:1 1 auto; margin-bottom:0; }
.mcm-print-btn{
	align-self:flex-start;
	padding:10px 18px;
	border:1px solid var(--mcm-border, #e5e7eb);
	border-radius:8px;
	background: var(--mcm-card-bg, #fff);
	color: var(--mcm-primary, #0a6b5d);
	font-weight:600;
	cursor:pointer;
	white-space:nowrap;
}
.mcm-print-btn:hover{ background: var(--mcm-primary, #0a6b5d); color:#fff; }

/* ---------- Table view ---------- */
.mcm-table-wrap{ overflow-x:auto; border:1px solid var(--mcm-border, #e5e7eb); border-radius: var(--mcm-radius, 12px); }
.mcm-table{ width:100%; border-collapse:collapse; background: var(--mcm-card-bg, #fff); font-size:14px; }
.mcm-table thead th{
	text-align:left;
	padding:14px 16px;
	background: var(--mcm-primary, #0a6b5d);
	color:#fff;
	font-weight:600;
	white-space:nowrap;
}
.mcm-table tbody td{ padding:12px 16px; border-top:1px solid var(--mcm-border, #e5e7eb); color: var(--mcm-text, #1f2933); vertical-align:top; }
.mcm-table tbody tr:nth-child(even){ background: var(--mcm-page-bg, #f5f7fa); }
.mcm-table tbody tr:hover{ background: rgba(0,0,0,.03); }

@media (max-width: 700px){
	.mcm-table thead{ display:none; }
	.mcm-table, .mcm-table tbody, .mcm-table tr, .mcm-table td{ display:block; width:100%; }
	.mcm-table tr{ border-top:1px solid var(--mcm-border, #e5e7eb); padding:6px 0; }
	.mcm-table td{ border:none; padding:6px 16px; display:flex; justify-content:space-between; gap:12px; }
	.mcm-table td::before{ content: attr(data-label); font-weight:600; color: var(--mcm-muted, #6b7280); }
}

/* ---------- States ---------- */
.mcm-results.mcm-loading{ opacity:.45; pointer-events:none; transition:opacity .2s ease; }
.mcm-empty{ padding:30px; text-align:center; color: var(--mcm-muted, #6b7280); }

/* ---------- Print ---------- */
@media print{
	.mcm-print-btn,
	.mcm-filters,
	.mcm-card-link,
	.mcm-list-link{ display:none !important; }
	.mcm-print-target .mcm-results{ opacity:1 !important; }
	.mcm-table thead th{ background:#eee !important; color:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.mcm-table tbody tr:nth-child(even){ background:#f7f7f7 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.mcm-card, .mcm-list-item{ box-shadow:none !important; border:1px solid #ccc !important; break-inside:avoid; }
	.mcm-grid{ display:block; }
	.mcm-card{ display:inline-block; width:48%; vertical-align:top; margin:1%; }
}
