/* ===== Sticky footer: keep footer at bottom on short pages ===== */
body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
/* Full-bleed rows stay full width; centered rows keep their max-width. */
body > .topbar,
body > footer { flex: 0 0 auto; width: 100%; }
body > footer { margin-top: auto; }
/* Content rows: keep their own max-width but stay centered (not left-aligned). */
body > .hero,
body > .container,
body > .section,
body > .category-hero {
	flex: 0 0 auto;
	width: 100%;
	align-self: center;
}

footer { padding: 24px 28px; }


/* ===== Load More button (links to Categories) ===== */

.load-more-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:12px 32px;border-radius:10px;font-size:14px;font-weight:700;color:#fff;
	background:var(--accent-grad);box-shadow:0 4px 16px rgba(99,102,241,.35);
	transition:.2s;letter-spacing:.3px;
}
.load-more-btn:hover{
	transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.5);filter:brightness(1.05);color:#fff;
}

/* ===== Recently Added: View Profile button ===== */
.recent-view{
	display:block;width:100%;text-align:center;margin-top:14px;
	border:1px solid var(--border);color:var(--text);background:transparent;
	transition:background .2s ease, border-color .2s ease, color .2s ease, transform .18s ease;
}
.recent-view:hover{
	background:var(--accent-grad);color:#fff;border-color:transparent;
	transform:translateY(-2px);box-shadow:0 6px 18px rgba(99,102,241,.35);
}

/* ===== Ghost View buttons: clear hover feedback (Featured / cards) ===== */
.feat-foot .btn-ghost,
.cc2-foot .btn-ghost{
	transition:background .2s ease, color .2s ease, border-color .2s ease, transform .18s ease, box-shadow .2s ease;
}
.feat-foot .btn-ghost:hover,
.cc2-foot .btn-ghost:hover{
	background:var(--accent-grad);color:#fff;border-color:transparent;
	transform:translateY(-2px);box-shadow:0 6px 18px rgba(99,102,241,.35);
}

/* ===== Featured ribbon fix (fully covers the corner for any label length) ===== */

.feat-card{position:relative;overflow:hidden;}
.feat-ribbon{
	position:absolute;
	top:16px;
	right:-42px;
	width:150px;
	padding:5px 0;
	text-align:center;
	background:var(--accent-grad);
	color:#fff;
	font-size:10px;
	font-weight:700;
	letter-spacing:.5px;
	transform:rotate(45deg);
	box-shadow:0 2px 6px rgba(0,0,0,.25);
	z-index:2;
	white-space:nowrap;
}


