/* Theme: MGL Customer Area */

/* Root colors */
:root {
	--mgl-primary: #0d6efd;
	--mgl-primary-600: #0b5ed7;
	--mgl-accent: #6610f2;
	--mgl-bg: #f7f9fc;
	--mgl-card-bg: #ffffff;
	--mgl-text: #1f2937;
	--mgl-muted: #6b7280;
	--mgl-success: #198754;
	--mgl-warning: #ffc107;
	--mgl-danger: #dc3545;
}

/* Page */
body {
	background-color: var(--mgl-bg);
	color: var(--mgl-text);
}

/* Navbar */
.navbar {
	box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.navbar .navbar-brand {
	font-weight: 700;
}
.navbar .nav-link.active {
	font-weight: 600;
	color: var(--mgl-primary) !important;
}

/* Cards */
.card {
	border: 1px solid rgba(0,0,0,.06);
	box-shadow: 0 2px 10px rgba(0,0,0,.04);
	border-radius: .75rem;
	background-color: var(--mgl-card-bg);
}
.card .card-title {
	font-weight: 600;
}

/* Buttons */
.btn-primary {
	background-color: var(--mgl-primary);
	border-color: var(--mgl-primary);
}
.btn-primary:hover {
	background-color: var(--mgl-primary-600);
	border-color: var(--mgl-primary-600);
}
.btn-outline-primary {
	color: var(--mgl-primary);
	border-color: var(--mgl-primary);
}
.btn-outline-primary:hover {
	background-color: var(--mgl-primary);
	color: #fff;
}

/* Badges */
.badge.bg-info { background-color: #0dcaf0 !important; }
.badge.bg-success { background-color: var(--mgl-success) !important; }
.badge.bg-warning { background-color: var(--mgl-warning) !important; color: #111; }
.badge.bg-danger { background-color: var(--mgl-danger) !important; }

/* Tables */
.table thead th {
	border-bottom-width: 1px;
	color: var(--mgl-muted);
	font-weight: 600;
}
.table-striped>tbody>tr:nth-of-type(odd)>* { --bs-table-accent-bg: rgba(13,110,253,.03); }

/* Lottery & Prize imagery */
.lottery-banner { border-top-left-radius: .75rem; border-top-right-radius: .75rem; }
.prize-image { object-fit: cover; }

/* Utilities */
.site-section-title { font-weight: 700; }
.site-muted { color: var(--mgl-muted) !important; }

/* Merged from site.css (refined) */
main>.container,
main>.container-fluid { padding: 20px 15px 20px; }

.form-text { font-size: 0.875em; color: var(--mgl-muted); }

.password-requirements {
	background-color: #f8f9fa;
	border-left: 4px solid var(--mgl-primary);
	padding: 15px; margin-bottom: 20px; border-radius: 5px;
}

.lottery-card { border: none; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,.08); transition: transform .3s ease; margin-bottom: 25px; }
.lottery-card:hover { transform: translateY(-5px); }
.lottery-banner { height: 200px; object-fit: cover; border-top-left-radius: 15px; border-top-right-radius: 15px; }
.status-badge { position: absolute; top: 15px; right: 15px; }
.ticket-price { font-size: 1.5rem; font-weight: 700; color: var(--mgl-success); }
.progress { height: 8px; margin: 10px 0; }
.prize-image { height: 120px; object-fit: cover; border-radius: 8px; }

.draw-card { border-left: 4px solid var(--mgl-primary); background-color: #f8f9fa; }
.bg-purple { background-color: #6f42c1 !important; }
.carousel-item img { height: 300px; object-fit: cover; }

.footer { background-color: #f5f5f5; font-size: .9em; height: 60px; }
.footer>.container,
.footer>.container-fluid { padding-right: 15px; padding-left: 15px; }

.not-set { color: #c55; font-style: italic; }

/* Breadcrumb refined */
.breadcrumb { background-color: #eef2ff; border: 1px solid rgba(13,110,253,.15); border-radius: .5rem; padding: .75rem 1rem; }
.breadcrumb-item>a { text-decoration: none; }

/* Sorting icons (kept minimal) */
a.asc:after, a.desc:after { content: ''; left: 3px; display: inline-block; width: 0; height: 0; border: solid 5px transparent; margin: 4px 4px 2px 4px; background: transparent; }
a.asc:after { border-bottom: solid 7px #212529; border-top-width: 0; }
a.desc:after { border-top: solid 7px #212529; border-bottom-width: 0; }

.grid-view th,
.grid-view td:last-child { white-space: nowrap; }
.grid-view .filters input,
.grid-view .filters select { min-width: 50px; }
.hint-block { display: block; margin-top: 5px; color: #999; }
.error-summary { color: #a94442; background: #fdf7f7; border-left: 3px solid #eed3d7; padding: 10px 20px; margin: 0 0 15px 0; }

/* ========================= */
/* App Page Helpers          */
/* ========================= */
.page-header { padding: .5rem 0 1rem; }
.page-header .page-title { font-weight: 700; }
.modal-banner { max-height: 300px; object-fit: cover; }
.w-80px { width: 80px; }
.terms-box { max-height: 200px; overflow-y: auto; }

