/*
 * RBS Premium Theme
 *
 * Shared design system for plugin pages that were previously plain,
 * unstyled HTML (certificate view, wallet, marketplace settings, and
 * other instructor dashboard pages) — same gold/black/cream palette
 * already used elsewhere on the site (rbs-ui.css's #D4AF37 accent,
 * the redesigned certificate PDF), applied consistently so these
 * pages look like part of one considered product instead of raw
 * default markup.
 *
 * Classes are deliberately generic/reusable (.rbs-premium-card,
 * .rbs-stat-grid, .rbs-form-group, etc.) rather than one-off per
 * page, so any future plain page can adopt this look by using these
 * classes instead of writing new CSS from scratch.
 */

:root{
	--rbs-gold: #D4AF37;
	--rbs-gold-dark: #a9861f;
	--rbs-black: #16171a;
	--rbs-ink: #2b2d31;
	--rbs-muted: #6e727a;
	--rbs-border: #e7e3d8;
	--rbs-cream: #fdf9f0;
	--rbs-card-radius: 14px;
}

/* ---------- Page wrapper ---------- */
.rbs-premium-page{
	max-width: 960px;
	margin: 0 auto;
	padding: 32px 20px 56px;
	color: var(--rbs-ink);
	font-family: inherit;
}

.rbs-premium-page h1.rbs-page-title{
	font-size: 26px;
	font-weight: 800;
	margin: 0 0 6px;
	color: var(--rbs-black);
}

.rbs-premium-page p.rbs-page-subtitle{
	color: var(--rbs-muted);
	margin: 0 0 28px;
	font-size: 15px;
}

/* ---------- Generic card ---------- */
.rbs-premium-card{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	box-shadow: 0 2px 14px rgba(20,20,20,.05);
	padding: 24px;
	margin-bottom: 20px;
}

.rbs-premium-card h2,
.rbs-premium-card h3{
	margin-top: 0;
	color: var(--rbs-black);
}

/* ---------- Stat grid (wallet, earnings, etc.) ---------- */
.rbs-stat-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.rbs-stat-card{
	background: linear-gradient(145deg, var(--rbs-black), #26282d);
	color: #fff;
	border-radius: var(--rbs-card-radius);
	padding: 20px 22px;
	box-shadow: 0 4px 18px rgba(0,0,0,.18);
}

.rbs-stat-card .rbs-stat-label{
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255,255,255,.65);
	margin-bottom: 8px;
}

.rbs-stat-card .rbs-stat-value{
	display: block;
	font-size: 26px;
	font-weight: 800;
	color: var(--rbs-gold);
}

.rbs-stat-card.rbs-stat-card-accent{
	background: linear-gradient(145deg, var(--rbs-gold-dark), var(--rbs-gold));
}

.rbs-stat-card.rbs-stat-card-accent .rbs-stat-label{
	color: rgba(20,20,20,.6);
}

.rbs-stat-card.rbs-stat-card-accent .rbs-stat-value{
	color: var(--rbs-black);
}

/* ---------- Forms ---------- */
.rbs-form-group{
	margin-bottom: 20px;
}

.rbs-form-group label,
.rbs-form-group > strong{
	display: block;
	font-weight: 700;
	font-size: 14px;
	color: var(--rbs-black);
	margin-bottom: 6px;
}

.rbs-form-group .rbs-form-hint{
	display: block;
	font-size: 13px;
	color: var(--rbs-muted);
	margin-bottom: 8px;
}

.rbs-form-group input[type="text"],
.rbs-form-group input[type="url"],
.rbs-form-group input[type="email"],
.rbs-form-group input[type="number"],
.rbs-form-group textarea,
.rbs-form-group select{
	width: 100%;
	max-width: 480px;
	padding: 11px 14px;
	border: 1px solid var(--rbs-border);
	border-radius: 8px;
	font-size: 14px;
	background: #fff;
	box-sizing: border-box;
}

.rbs-form-group input:focus,
.rbs-form-group textarea:focus,
.rbs-form-group select:focus{
	outline: none;
	border-color: var(--rbs-gold);
	box-shadow: 0 0 0 3px rgba(212,175,55,.18);
}

.rbs-form-checkbox{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	margin-bottom: 20px;
}

/* ---------- Buttons ---------- */
.rbs-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 22px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: transform .15s ease, opacity .15s ease;
}

.rbs-btn:hover{
	opacity: .92;
}

.rbs-btn-primary{
	background: var(--rbs-gold);
	color: var(--rbs-black);
}

.rbs-btn-dark{
	background: var(--rbs-black);
	color: #fff;
}

.rbs-btn-outline{
	background: transparent;
	color: var(--rbs-black);
	border: 1.5px solid var(--rbs-black);
}

/* ---------- Tables ---------- */
.rbs-premium-table{
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.rbs-premium-table th{
	text-align: left;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rbs-muted);
	padding: 10px 12px;
	border-bottom: 2px solid var(--rbs-border);
}

.rbs-premium-table td{
	padding: 12px;
	border-bottom: 1px solid var(--rbs-border);
}

.rbs-premium-table tr:last-child td{
	border-bottom: none;
}

/* ==========================================================================
   Certificate view page ([rbs_certificate])
   ========================================================================== */

.rbs-certificate-wrapper{
	max-width: 900px;
	margin: 32px auto 56px;
	padding: 0 20px;
}

.rbs-certificate-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 24px;
}

.rbs-certificate-actions .button{
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
	border: 1.5px solid var(--rbs-black);
	background: #fff;
	color: var(--rbs-black);
	cursor: pointer;
	transition: opacity .15s ease;
}

.rbs-certificate-actions .button:hover{
	opacity: .85;
}

.rbs-certificate{
	background: var(--rbs-cream);
	border: 1px solid var(--rbs-border);
	border-radius: 18px;
	padding: 48px 40px;
	box-shadow: 0 8px 40px rgba(20,20,20,.08);
	position: relative;
	overflow: hidden;
}

.rbs-certificate::before{
	content: "";
	position: absolute;
	inset: 14px;
	border: 1.5px solid var(--rbs-gold);
	border-radius: 10px;
	pointer-events: none;
}

.rbs-certificate-header{
	text-align: center;
	margin-bottom: 28px;
}

.rbs-certificate-header h1{
	font-size: 32px;
	font-weight: 800;
	color: var(--rbs-black);
	margin: 0 0 6px;
	letter-spacing: .02em;
}

.rbs-certificate-header h2{
	font-size: 15px;
	font-weight: 700;
	color: var(--rbs-gold-dark);
	text-transform: uppercase;
	letter-spacing: .08em;
	margin: 0;
}

.rbs-certificate-body{
	text-align: center;
	margin-bottom: 32px;
}

.rbs-certificate-body p{
	color: var(--rbs-muted);
	font-size: 15px;
	margin: 0 0 6px;
}

.rbs-certificate-body .rbs-student-name{
	font-size: 34px;
	font-weight: 800;
	color: var(--rbs-black);
	margin: 6px 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--rbs-gold);
	display: inline-block;
}

.rbs-certificate-body .rbs-course-name{
	font-size: 20px;
	font-weight: 700;
	color: var(--rbs-black);
	margin: 0 0 22px;
}

.rbs-certificate-body p strong{
	color: var(--rbs-ink);
}

.rbs-certificate-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid var(--rbs-border);
	padding-top: 24px;
}

.rbs-signature hr{
	border: none;
	border-top: 1.5px solid var(--rbs-gold);
	width: 200px;
	margin: 0 0 8px;
}

.rbs-signature strong{
	display: block;
	color: var(--rbs-black);
	font-size: 15px;
}

.rbs-signature span{
	font-size: 12px;
	color: var(--rbs-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.rbs-qr{
	text-align: right;
}

.rbs-certificate-error,
.rbs-certificate-not-found,
.rbs-certificate-revoked{
	background: #fff5f5;
	border: 1px solid #f3c6c6;
	color: #8a1f1f;
	padding: 16px 20px;
	border-radius: 10px;
	font-size: 14px;
}

.rbs-certificate-valid{
	background: #eef9f0;
	border: 1px solid #b7e0c0;
	color: #0a4d26;
	padding: 14px 18px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 16px;
}

@media print{
	.rbs-certificate-actions{ display: none; }
	.rbs-certificate-wrapper{ margin: 0; padding: 0; max-width: none; }
}

@media (max-width: 640px){
	.rbs-certificate{ padding: 30px 20px; }
	.rbs-certificate-header h1{ font-size: 24px; }
	.rbs-certificate-body .rbs-student-name{ font-size: 24px; }
	.rbs-certificate-footer{ flex-direction: column; align-items: flex-start; }
	.rbs-qr{ text-align: left; }
}

/* ---------- Certificate search/verify form variant ---------- */
.rbs-certificate-verification{
	max-width: 640px;
	margin: 32px auto 56px;
	padding: 0 20px;
}

.rbs-certificate-verification h2{
	font-size: 24px;
	font-weight: 800;
	color: var(--rbs-black);
	margin-bottom: 20px;
}

.rbs-certificate-search-form{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 20px;
	margin-bottom: 24px;
}

.rbs-certificate-search-form label{
	display: block;
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 6px;
	color: var(--rbs-black);
	width: 100%;
}

.rbs-certificate-search-form input[type="text"]{
	flex: 1 1 240px;
	padding: 11px 14px;
	border: 1px solid var(--rbs-border);
	border-radius: 8px;
	font-size: 14px;
}

.rbs-certificate-search-form button{
	padding: 11px 24px;
	background: var(--rbs-gold);
	color: var(--rbs-black);
	border: none;
	border-radius: 8px;
	font-weight: 700;
	cursor: pointer;
}

.rbs-certificate-verify-result{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 20px;
}

.rbs-certificate-verify-details th{
	text-align: left;
	color: var(--rbs-muted);
	font-size: 12px;
	text-transform: uppercase;
	padding: 8px 12px 8px 0;
}

.rbs-certificate-verify-details td{
	padding: 8px 0;
	font-weight: 600;
	color: var(--rbs-ink);
}

/* ---------- Wallet balance widget ([rbs_wallet_balance]) ---------- */
/* Used on the Wallet dashboard page, the affiliate dashboard, and the
   instructor quick-links panel — restyled once here so all of them
   benefit, no PHP changes needed since the existing markup already
   has distinct, well-named classes. */
.rbs-wallet-balance{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin: 20px 0 28px;
}

.rbs-wallet-balance__main,
.rbs-wallet-balance__row{
	background: linear-gradient(145deg, var(--rbs-black), #26282d);
	border-radius: var(--rbs-card-radius);
	padding: 20px 22px;
	box-shadow: 0 4px 18px rgba(0,0,0,.18);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rbs-wallet-balance__main{
	background: linear-gradient(145deg, var(--rbs-gold-dark), var(--rbs-gold));
}

.rbs-wallet-balance__label{
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255,255,255,.65);
}

.rbs-wallet-balance__main .rbs-wallet-balance__label{
	color: rgba(20,20,20,.6);
}

.rbs-wallet-balance__amount{
	font-size: 24px;
	font-weight: 800;
	color: var(--rbs-gold);
}

.rbs-wallet-balance__main .rbs-wallet-balance__amount{
	color: var(--rbs-black);
	font-size: 28px;
}

.rbs-wallet-balance--logged-out{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 20px;
}

/* ---------- Upgrade existing shared dashboard classes to the premium look ---------- */
/* .rbs-cards-grid / .rbs-card / .rbs-table already exist (rbs-ui.css)
   and are used across Earnings, Sales History, Financial Reports,
   Payment History, Commission Settings, Withdrawals, etc. — this
   file loads after rbs-ui.css, so these rules upgrade the look on
   every one of those pages at once without editing each template. */

.rbs-dashboard-page .rbs-cards-grid,
.rbs-cards-grid-homepage{
	gap: 16px;
}

.rbs-dashboard-page .rbs-card,
.rbs-cards-grid-homepage .rbs-card{
	background: linear-gradient(145deg, var(--rbs-black), #26282d);
	border: none;
	border-radius: var(--rbs-card-radius);
	padding: 20px 22px;
	box-shadow: 0 4px 18px rgba(0,0,0,.18);
}

.rbs-dashboard-page .rbs-card .rbs-card-label,
.rbs-cards-grid-homepage .rbs-card .rbs-card-label{
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255,255,255,.65);
}

.rbs-dashboard-page .rbs-card .rbs-card-value,
.rbs-cards-grid-homepage .rbs-card .rbs-card-value{
	font-size: 24px;
	font-weight: 800;
	color: var(--rbs-gold);
}

.rbs-dashboard-page h3,
.rbs-dashboard-page h4{
	color: var(--rbs-black);
}

.rbs-dashboard-page .rbs-table,
.rbs-dashboard-page .tutor-table{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

.rbs-dashboard-page .rbs-table th,
.rbs-dashboard-page .tutor-table th{
	background: #faf8f2;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rbs-muted);
	border-bottom: 2px solid var(--rbs-border);
}

.rbs-dashboard-page .rbs-table td,
.rbs-dashboard-page .tutor-table td{
	border-bottom: 1px solid var(--rbs-border);
}

.rbs-dashboard-page .rbs-table tr:last-child td,
.rbs-dashboard-page .tutor-table tr:last-child td{
	border-bottom: none;
}

.rbs-dashboard-page .tutor-btn-primary,
.rbs-dashboard-page button.tutor-btn-primary{
	background: var(--rbs-gold) !important;
	border-color: var(--rbs-gold) !important;
	color: var(--rbs-black) !important;
	font-weight: 700 !important;
}

/* ---------- My Certificates list ([rbs_my_certificates]) ---------- */
.rbs-my-certificates{
	max-width: 900px;
	margin: 24px auto 48px;
	padding: 0 16px;
}

.rbs-my-certificates h2{
	font-size: 24px;
	font-weight: 800;
	color: var(--rbs-black);
	margin-bottom: 20px;
}

.rbs-my-certificates .rbs-certificates-table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	overflow: hidden;
	font-size: 14px;
}

.rbs-my-certificates .rbs-certificates-table th{
	background: #faf8f2;
	text-align: left;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rbs-muted);
	padding: 12px 14px;
	border-bottom: 2px solid var(--rbs-border);
}

.rbs-my-certificates .rbs-certificates-table td{
	padding: 12px 14px;
	border-bottom: 1px solid var(--rbs-border);
}

.rbs-my-certificates .rbs-certificates-table tr:last-child td{
	border-bottom: none;
}

.rbs-my-certificates .rbs-certificates-table a{
	color: var(--rbs-gold-dark);
	font-weight: 700;
	text-decoration: none;
}

.rbs-my-certificates .rbs-certificates-table a:hover{
	text-decoration: underline;
}

/* ---------- Affiliate Marketplace course cards ---------- */
/* No CSS existed for these at all before — each thumbnail rendered at
   its own image's natural size, so cards of different heights sat
   side by side depending on what each instructor uploaded. Fixed
   aspect-ratio + object-fit keeps every card the same shape
   regardless of the source image's actual dimensions. */
.rbs-aff-course-card{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 10px rgba(20,20,20,.05);
}

.rbs-aff-course-thumb{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f2efe6;
}

.rbs-aff-course-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rbs-aff-course-thumb-placeholder{
	width: 100%;
	height: 100%;
	background: linear-gradient(145deg, #e7e3d8, #f2efe6);
}

.rbs-aff-course-commission-badge{
	position: absolute;
	top: 10px;
	right: 10px;
	background: #0a7d3d;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 20px;
}

.rbs-aff-course-body{
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* ==========================================================================
   Learning Partners — directory + profile
   ========================================================================== */

.rbs-lp-directory{
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 16px 56px;
}

.rbs-lp-directory-header{
	text-align: center;
	margin-bottom: 24px;
}

.rbs-lp-directory-header h2,
.rbs-lp-directory-header h1{
	font-size: 28px;
	font-weight: 800;
	color: var(--rbs-black);
	margin-bottom: 6px;
}

.rbs-lp-directory-subtitle{
	color: var(--rbs-muted);
	font-size: 15px;
}

.rbs-lp-directory-filters{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 16px 18px;
	margin-bottom: 28px;
}

.rbs-lp-directory-filters select,
.rbs-lp-directory-filters input[type="text"]{
	padding: 9px 12px;
	border: 1px solid var(--rbs-border);
	border-radius: 8px;
	font-size: 13px;
}

.rbs-lp-directory-filters button{
	padding: 9px 20px;
	background: var(--rbs-gold);
	color: var(--rbs-black);
	border: none;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
}

.rbs-lp-directory-empty{
	text-align: center;
	color: var(--rbs-muted);
	padding: 40px 0;
}

.rbs-lp-directory-grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
}

/* ---------- Card ---------- */
.rbs-lp-card{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(20,20,20,.05);
	display: flex;
	flex-direction: column;
}

.rbs-lp-card-cover{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: linear-gradient(145deg, #e7e3d8, #f2efe6);
	overflow: hidden;
}

.rbs-lp-card-cover img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rbs-lp-badge{
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 20px;
}

.rbs-lp-badge-featured{
	background: var(--rbs-gold);
	color: var(--rbs-black);
}

.rbs-lp-card-body{
	padding: 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 10px;
}

.rbs-lp-card-header{
	display: flex;
	align-items: center;
	gap: 12px;
}

.rbs-lp-card-logo{
	width: 44px;
	height: 44px;
	border-radius: 8px;
	object-fit: cover;
	border: 1px solid var(--rbs-border);
	flex-shrink: 0;
}

.rbs-lp-card-title{
	font-size: 16px;
	font-weight: 800;
	color: var(--rbs-black);
	margin: 0;
}

.rbs-lp-verified-tick{
	color: #1a7f37;
	font-size: 13px;
	margin-left: 4px;
}

.rbs-lp-card-meta{
	display: block;
	font-size: 12px;
	color: var(--rbs-muted);
	margin-top: 2px;
}

.rbs-lp-card-desc{
	font-size: 13px;
	color: var(--rbs-ink);
	line-height: 1.5;
	margin: 0;
	flex: 1;
}

.rbs-lp-card-categories{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.rbs-lp-tag{
	background: #faf8f2;
	border: 1px solid var(--rbs-border);
	color: var(--rbs-gold-dark);
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
}

.rbs-lp-card-actions{
	margin-top: 6px;
}

.rbs-lp-view-btn{
	display: block;
	text-align: center;
	padding: 10px;
	background: var(--rbs-black);
	color: #fff;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
}

.rbs-lp-view-btn:hover{
	opacity: .9;
}

/* ---------- Profile page ---------- */
.rbs-lp-profile{
	max-width: 1000px;
	margin: 0 auto 56px;
}

.rbs-lp-profile-cover{
	width: 100%;
	aspect-ratio: 21 / 6;
	background: linear-gradient(145deg, var(--rbs-black), #26282d);
	border-radius: 0 0 var(--rbs-card-radius) var(--rbs-card-radius);
	overflow: hidden;
}

.rbs-lp-profile-cover img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rbs-lp-profile-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	padding: 0 20px;
	margin-top: -40px;
}

.rbs-lp-profile-logo{
	width: 88px;
	height: 88px;
	border-radius: 14px;
	object-fit: cover;
	background: #fff;
	border: 4px solid #fff;
	box-shadow: 0 4px 14px rgba(0,0,0,.15);
}

.rbs-lp-profile-title-block h1,
.rbs-lp-profile-title-block h2{
	font-size: 24px;
	font-weight: 800;
	color: var(--rbs-black);
	margin: 6px 0 4px;
}

.rbs-lp-profile-meta{
	color: var(--rbs-muted);
	font-size: 14px;
	margin: 0;
}

.rbs-lp-badge-featured-inline{
	background: var(--rbs-gold);
	color: var(--rbs-black);
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	margin-left: 8px;
}

.rbs-lp-enroll-btn{
	display: inline-block;
	padding: 12px 26px;
	background: var(--rbs-gold);
	color: var(--rbs-black);
	border-radius: 8px;
	font-weight: 800;
	font-size: 14px;
	text-decoration: none;
	margin-left: auto;
}

.rbs-lp-enroll-btn:hover{
	opacity: .9;
}

.rbs-lp-profile-short-desc{
	padding: 20px 20px 0;
	font-size: 15px;
	color: var(--rbs-ink);
	max-width: 720px;
}

.rbs-lp-profile-categories{
	padding: 12px 20px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rbs-lp-profile-body{
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 28px;
	padding: 24px 20px 0;
}

.rbs-lp-profile-main{
	color: var(--rbs-ink);
	line-height: 1.7;
}

.rbs-lp-profile-sidebar{
	background: #faf8f2;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 20px;
	align-self: start;
}

.rbs-lp-social-links{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 18px;
}

.rbs-lp-social-links a{
	color: var(--rbs-gold-dark);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.rbs-lp-enroll-btn-sidebar{
	display: block;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}

@media (max-width: 720px){
	.rbs-lp-profile-body{
		grid-template-columns: 1fr;
	}
	.rbs-lp-enroll-btn:not(.rbs-lp-enroll-btn-sidebar){
		margin-left: 0;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
}

/* ---------- Learning Partner application form ---------- */
.rbs-lp-application{
	max-width: 680px;
	margin: 0 auto 56px;
	padding: 0 16px;
}

.rbs-lp-application-success{
	background: #eef9f0;
	border: 1px solid #b7e0c0;
	color: #0a4d26;
	padding: 20px;
	border-radius: var(--rbs-card-radius);
	font-weight: 600;
}

.rbs-lp-application-intro{
	color: var(--rbs-muted);
	margin-bottom: 20px;
}

.rbs-lp-form{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-radius: var(--rbs-card-radius);
	padding: 26px;
}

.rbs-lp-form label{
	display: block;
	font-weight: 700;
	font-size: 14px;
	color: var(--rbs-black);
	margin: 16px 0 6px;
}

.rbs-lp-form h4{
	margin-top: 24px;
	color: var(--rbs-black);
}

.rbs-lp-form .description{
	color: var(--rbs-muted);
	font-size: 13px;
	margin-bottom: 6px;
}

.rbs-lp-form input[type="text"],
.rbs-lp-form input[type="url"],
.rbs-lp-form input[type="email"],
.rbs-lp-form select,
.rbs-lp-form textarea{
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--rbs-border);
	border-radius: 8px;
	font-size: 14px;
	box-sizing: border-box;
}

.rbs-lp-checkbox{
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400 !important;
	font-size: 14px;
}

.rbs-lp-submit-btn{
	margin-top: 24px;
	width: 100%;
	padding: 13px;
	background: var(--rbs-gold);
	color: var(--rbs-black);
	border: none;
	border-radius: 8px;
	font-weight: 800;
	font-size: 15px;
	cursor: pointer;
}

.rbs-lp-submit-btn:hover{
	opacity: .9;
}

/* ---------- Notifications ([rbs_notifications] + dashboard tabs) ---------- */
.rbs-notifications-list{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rbs-notification-item{
	background: #fff;
	border: 1px solid var(--rbs-border);
	border-left: 4px solid var(--rbs-border);
	border-radius: 10px;
	padding: 14px 18px;
}

.rbs-notification-item.rbs-notification-unread{
	border-left-color: var(--rbs-gold);
	background: #fffdf6;
}

.rbs-notification-item.rbs-notification-admin{
	border-left-color: var(--rbs-black);
}

.rbs-notification-type{
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rbs-gold-dark);
	margin-bottom: 6px;
}

.rbs-notification-item.rbs-notification-admin .rbs-notification-type{
	color: var(--rbs-black);
}

.rbs-notification-message{
	margin: 0 0 6px;
	font-size: 14px;
	color: var(--rbs-ink);
	line-height: 1.5;
}

.rbs-notification-date{
	font-size: 12px;
	color: var(--rbs-muted);
}

/* ---------- Mobile: scroll tables horizontally instead of squishing every cell ---------- */
/* Pure CSS, no markup changes needed. IMPORTANT: does NOT override the
   display of thead/tbody/tr — an earlier version did (splitting them
   into independent display:table contexts), which broke the header
   row's columns lining up with the data rows' columns once scrolled,
   since each ended up computing its own column widths separately
   instead of sharing one unified table layout. This version keeps the
   table as a single real table (overflow-x works directly on a table
   element in every modern browser) and only forces cells not to wrap,
   which is what actually makes the table wider than its container and
   triggers the scrollbar — column widths stay computed together
   across the whole table, so header and data always line up. */
@media (max-width: 782px){
	.rbs-affiliate-table,
	.rbs-aff-table,
	.rbs-premium-table,
	.rbs-certificates-table,
	.rbs-certificate-verify-details,
	.rbs-dashboard-page .rbs-table,
	.rbs-dashboard-page .tutor-table{
		display: table !important;
		width: 100%;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.rbs-affiliate-table,
	.rbs-aff-table,
	.rbs-premium-table,
	.rbs-certificates-table,
	.rbs-dashboard-page .rbs-table,
	.rbs-dashboard-page .tutor-table{
		border-collapse: collapse;
	}

	.rbs-affiliate-table th,
	.rbs-aff-table th,
	.rbs-premium-table th,
	.rbs-certificates-table th,
	.rbs-dashboard-page .rbs-table th,
	.rbs-dashboard-page .tutor-table th,
	.rbs-affiliate-table td,
	.rbs-aff-table td,
	.rbs-premium-table td,
	.rbs-certificates-table td,
	.rbs-dashboard-page .rbs-table td,
	.rbs-dashboard-page .tutor-table td{
		white-space: nowrap;
	}
}

/* ---------- Live bank account name preview (withdrawal forms) ---------- */
.rbs-account-name-preview{
	font-size: 13px;
	font-weight: 700;
	padding: 8px 12px;
	border-radius: 8px;
	margin: -6px 0 12px;
	background: #f4f4f4;
	color: var(--rbs-muted);
}

.rbs-account-name-preview-success{
	background: #eef9f0;
	color: #0a4d26;
}

.rbs-account-name-preview-error{
	background: #fff5f5;
	color: #8a1f1f;
}
