/* ==========================================================================
   CasinoBuddies Authors — scoped dark theme (matches the Lovable reference).
   Everything is namespaced under .cb-authors / .cb-review-author-box so it can
   never bleed into Elementor-designed pages.
   ========================================================================== */

.cb-authors,
.cb-review-author-box {
	--cb-bg: hsl(240 10% 4%);
	--cb-card: hsl(240 10% 7%);
	--cb-card2: hsl(240 9% 10%);
	--cb-border: hsl(240 8% 16%);
	--cb-fg: hsl(240 5% 96%);
	--cb-muted: hsl(240 5% 65%);
	--cb-cyan: hsl(190 100% 50%);
	--cb-gold: hsl(45 100% 50%);
	--cb-li: #0a66c2;
	--cb-radius: 14px;
	font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--cb-fg);
	-webkit-font-smoothing: antialiased;
}

.cb-authors a { text-decoration: none; }
.cb-authors *, .cb-review-author-box * { box-sizing: border-box; }

.cb-author-single,
.cb-author-archive { background: var(--cb-bg); }

.cb-shell {
	max-width: 880px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 4rem;
}

/* ---- Breadcrumb ---- */
.cb-crumbs {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
	font-size: .8rem; color: var(--cb-muted); margin-bottom: 1.5rem;
}
.cb-crumbs a { color: var(--cb-muted); }
.cb-crumbs a:hover { color: var(--cb-cyan); }
.cb-crumbs__cur { color: var(--cb-fg); }

/* ---- Avatars ---- */
.cb-av { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 999px; overflow: hidden; background: var(--cb-card2); }
.cb-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-av--sm { width: 40px; height: 40px; }
.cb-av--lg { width: 72px; height: 72px; }
.cb-av--xl { width: 104px; height: 104px; }
.cb-av--sm.cb-av--initials { font-size: .85rem; }
.cb-av--initials { font-weight: 800; color: #fff; background: linear-gradient(135deg, hsl(20 90% 55%), hsl(8 85% 50%)); letter-spacing: .02em; }
.cb-av--lg.cb-av--initials { font-size: 1.5rem; }
.cb-av--xl.cb-av--initials { font-size: 2.25rem; }

/* ---- Cards (team list + review box) ---- */
.cb-card,
.cb-author-card {
	background: var(--cb-card);
	border: 1px solid var(--cb-border);
	border-radius: var(--cb-radius);
}
.cb-author-card {
	display: flex; gap: 1.25rem; align-items: flex-start;
	padding: 1.5rem; margin: 0 0 1rem;
}
.cb-author-card__media { flex: none; }
.cb-author-card__body { min-width: 0; }
.cb-author-card__head { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.cb-author-card__name { font-size: 1.2rem; font-weight: 800; color: var(--cb-fg); }
.cb-author-card__name:hover { color: var(--cb-cyan); }
.cb-author-card__bio { margin: .6rem 0 0; color: var(--cb-muted); font-size: .92rem; line-height: 1.6; }
.cb-author-card__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.cb-author-card__actions--center { justify-content: center; }

/* ---- Badge ---- */
.cb-badge {
	display: inline-block; padding: .2rem .6rem; border-radius: 999px;
	font-size: .72rem; font-weight: 700; line-height: 1.4;
	background: hsl(190 100% 50% / .14); color: var(--cb-cyan);
}
.cb-badge--purple { background: hsl(265 90% 70% / .16); color: hsl(265 90% 78%); }
.cb-badge--green  { background: hsl(150 70% 50% / .16); color: hsl(150 70% 65%); }
.cb-badge--orange { background: hsl(28 90% 58% / .16); color: hsl(28 95% 66%); }
.cb-badge--gold   { background: hsl(45 100% 50% / .16); color: hsl(45 100% 60%); }

/* ---- Buttons ---- */
.cb-btn {
	display: inline-flex; align-items: center; gap: .45rem;
	padding: .5rem .9rem; border-radius: 9px; font-size: .82rem; font-weight: 700;
	border: 1px solid transparent; transition: filter .15s ease, background .15s ease, border-color .15s ease;
}
.cb-btn--linkedin { background: var(--cb-li); color: #fff; }
.cb-btn--linkedin:hover { filter: brightness(1.1); }
.cb-btn--ghost { background: transparent; border-color: var(--cb-border); color: var(--cb-cyan); }
.cb-btn--ghost:hover { border-color: var(--cb-cyan); }
.cb-ic-li { font-weight: 800; font-size: .8rem; }

/* ---- Author hero (detail top card) ---- */
.cb-author-hero {
	display: flex; gap: 1.5rem; align-items: flex-start; padding: 1.75rem;
}
.cb-author-hero__head { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.cb-author-hero__name { margin: 0; font-size: 1.6rem; font-weight: 800; color: var(--cb-fg); }
.cb-author-hero__bio { margin: .75rem 0 0; color: var(--cb-muted); font-size: .95rem; line-height: 1.65; }

/* ---- Stat row ---- */
.cb-stats {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 1rem;
}
.cb-stat {
	background: var(--cb-card); border: 1px solid var(--cb-border); border-radius: 12px;
	padding: 1rem 1.1rem; display: block;
}
.cb-stat--link:hover { border-color: var(--cb-cyan); }
.cb-stat__label { display: flex; align-items: center; gap: .4rem; color: var(--cb-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.cb-stat__val { margin-top: .4rem; font-weight: 700; font-size: .95rem; color: var(--cb-fg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cb-stat--link .cb-stat__val { color: var(--cb-cyan); }

/* ---- Sections ---- */
.cb-sec { margin-top: 2.5rem; }
.cb-sec__h { font-size: 1.25rem; font-weight: 800; margin: 0 0 1rem; color: var(--cb-fg); }
.cb-prose p { margin: 0 0 1rem; color: hsl(240 5% 80%); line-height: 1.75; font-size: .98rem; }
.cb-prose p:last-child { margin-bottom: 0; }

/* ---- Pills ---- */
.cb-pills { display: flex; flex-wrap: wrap; gap: .6rem; }
.cb-pill {
	display: inline-block; padding: .45rem .9rem; border-radius: 999px;
	background: var(--cb-card2); border: 1px solid var(--cb-border);
	font-size: .85rem; color: var(--cb-fg);
}

/* ---- Credentials checklist ---- */
.cb-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.cb-checks li { display: flex; align-items: flex-start; gap: .65rem; color: hsl(240 5% 82%); font-size: .95rem; }
.cb-check { color: var(--cb-gold); font-weight: 800; flex: none; }

/* ---- Recent articles ---- */
.cb-articles { display: grid; gap: .75rem; }
.cb-article {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	background: var(--cb-card); border: 1px solid var(--cb-border); border-radius: 12px;
	padding: 1rem 1.15rem; transition: border-color .15s ease;
}
.cb-article:hover { border-color: var(--cb-cyan); }
.cb-article__title { display: block; font-weight: 700; color: var(--cb-fg); font-size: .95rem; }
.cb-article__date { display: block; margin-top: .2rem; color: var(--cb-muted); font-size: .8rem; }
.cb-article__arrow { color: var(--cb-cyan); flex: none; }

/* ---- Get in touch ---- */
.cb-getintouch { margin-top: 3rem; text-align: center; }
.cb-getintouch p { color: var(--cb-muted); margin: 0 0 1rem; }

/* ---- Pagination ---- */
.cb-pagination ul { list-style: none; display: flex; gap: .5rem; justify-content: center; padding: 0; margin: 2rem 0 0; }
.cb-pagination a, .cb-pagination span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem;
	border: 1px solid var(--cb-border); border-radius: 8px; color: var(--cb-fg); font-weight: 700; font-size: .85rem;
}
.cb-pagination .current { background: var(--cb-cyan); color: #06121a; border-color: var(--cb-cyan); }

/* ---- Archive header + team grid ---- */
.cb-archive-head { margin-bottom: 2rem; }
.cb-archive-head__h { font-size: 2rem; font-weight: 800; margin: 0; color: var(--cb-fg); }
.cb-archive-head__sub { margin: .6rem 0 0; color: var(--cb-muted); font-size: 1rem; }
.cb-team { display: block; }

/* ---- Hide the old hardcoded Elementor author boxes (replaced by our card) ----
   Play single template = .elementor-element-0ce6299, Review single = ...-5a9f854.
   A JS fallback in the mu-plugin also hides any "What He Verifies" box by content. */
.elementor-element-0ce6299,
.elementor-element-5a9f854 { display: none !important; }

/* ---- Review byline box (after the Elementor single template) ---- */
.cb-review-after { background: transparent; }
.cb-review-after__inner { max-width: 880px; margin: 0 auto; padding: 1rem 1.25rem 3rem; }
.cb-review-author-box { margin: 2.5rem 0 0; }
.cb-review-after .cb-review-author-box { margin-top: 0; }
.cb-review-author-box::before {
	content: "Written by"; display: block; font-size: .72rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; color: var(--cb-muted); margin-bottom: .6rem;
}
.cb-review-author-box .cb-author-card { margin-bottom: 0; }

/* ---- "Meet the team" homepage section (moved under the FAQ via JS) ---- */
.cb-team-section { background: var(--cb-bg); border-top: 1px solid var(--cb-border); }
.cb-team-section .cb-shell { padding-top: 3rem; padding-bottom: 3.5rem; }
.cb-team-section--pending { display: none; }

/* ---- Responsive ---- */
@media (max-width: 720px) {
	.cb-stats { grid-template-columns: repeat(2, 1fr); }
	.cb-author-hero { flex-direction: column; }
	.cb-author-card { flex-direction: column; }
}
