/**
 * WPSprintPlan brand tokens — shared by admin + frontend.
 * Reference: SprintOS brand UI (read-only).
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
	--tvb-brand-bg: #120016;
	--tvb-brand-bg-soft: #1f0826;
	--tvb-brand-primary: #6b1578;
	--tvb-brand-primary-strong: #4f0d5a;
	--tvb-brand-accent: #b832a8;
	--tvb-brand-accent-light: #d946c8;
	--tvb-brand-soft: #faf5fc;
	--tvb-brand-border: #e5cfea;
	--tvb-brand-text: #2b0b34;
	--tvb-brand-muted: #6b5570;
	--tvb-brand-white: #ffffff;
	--tvb-radius: 10px;
	--tvb-radius-sm: 6px;
	--tvb-shadow: 0 10px 30px rgba(18, 0, 22, 0.08);
	--tvb-font-display: 'Montserrat', 'Segoe UI', sans-serif;
	--tvb-font-body: 'Poppins', 'Segoe UI', sans-serif;
}

.tvb-branded,
.tvb-branded * {
	box-sizing: border-box;
}

.tvb-branded {
	font-family: var(--tvb-font-body);
	color: var(--tvb-brand-text);
}

.tvb-branded h1,
.tvb-branded h2,
.tvb-branded h3,
.tvb-branded h4 {
	font-family: var(--tvb-font-display);
	color: var(--tvb-brand-primary-strong);
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* Buttons */
.tvb-branded .button-primary,
.tvb-branded .tvb-btn-primary,
.tvb-branded button.tvb-btn-primary,
.tvb-branded input[type="submit"].tvb-btn-primary {
	background: var(--tvb-brand-primary) !important;
	border-color: var(--tvb-brand-primary) !important;
	color: #fff !important;
	border-radius: var(--tvb-radius-sm);
	font-family: var(--tvb-font-display);
	font-weight: 600;
	text-shadow: none;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
	transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.tvb-branded .button-primary:hover,
.tvb-branded .button-primary:focus,
.tvb-branded .tvb-btn-primary:hover,
.tvb-branded .tvb-btn-primary:focus {
	background: var(--tvb-brand-primary-strong) !important;
	border-color: var(--tvb-brand-primary-strong) !important;
	color: #fff !important;
	box-shadow: 0 0 0 1px var(--tvb-brand-primary-strong), 0 2px 8px rgba(79, 13, 90, 0.25);
}

.tvb-branded .button,
.tvb-branded .button-secondary,
.tvb-branded .tvb-btn-secondary {
	background: #fff;
	border: 1px solid var(--tvb-brand-border);
	color: var(--tvb-brand-primary-strong);
	border-radius: var(--tvb-radius-sm);
	font-family: var(--tvb-font-display);
	font-weight: 600;
	box-shadow: none;
}

.tvb-branded .button:hover,
.tvb-branded .button-secondary:hover,
.tvb-branded .tvb-btn-secondary:hover {
	background: #fdf8ff;
	border-color: var(--tvb-brand-accent);
	color: var(--tvb-brand-accent);
}

.tvb-branded a {
	color: var(--tvb-brand-primary);
	font-weight: 600;
}

.tvb-branded a:hover {
	color: var(--tvb-brand-accent);
}

/* Forms */
.tvb-branded input[type="text"],
.tvb-branded input[type="email"],
.tvb-branded input[type="tel"],
.tvb-branded input[type="number"],
.tvb-branded input[type="password"],
.tvb-branded input[type="date"],
.tvb-branded input[type="time"],
.tvb-branded select,
.tvb-branded textarea {
	border: 1px solid var(--tvb-brand-border);
	border-radius: var(--tvb-radius-sm);
	font-family: var(--tvb-font-body);
}

.tvb-branded input:focus,
.tvb-branded select:focus,
.tvb-branded textarea:focus {
	border-color: var(--tvb-brand-primary);
	box-shadow: 0 0 0 1px var(--tvb-brand-primary);
	outline: none;
}

.tvb-branded .description,
.tvb-branded .tvb-muted {
	color: var(--tvb-brand-muted);
	font-weight: 400;
}

/* Cards / panels */
.tvb-brand-panel {
	background: #fff;
	border: 1px solid var(--tvb-brand-border);
	border-radius: var(--tvb-radius);
	box-shadow: var(--tvb-shadow);
	padding: 20px 24px;
}

.tvb-brand-card {
	background: var(--tvb-brand-soft);
	border: 1px solid var(--tvb-brand-border);
	border-left: 4px solid var(--tvb-brand-primary);
	border-radius: 8px;
	padding: 16px 18px;
}

.tvb-brand-eyebrow {
	margin: 0 0 6px;
	font-family: var(--tvb-font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tvb-brand-accent);
}

/* Frontend button aliases used by dashboard/booking */
.tvb-branded .tvb-button,
.tvb-branded .tvb-button-primary {
	border-radius: var(--tvb-radius-sm);
	font-family: var(--tvb-font-display);
	font-weight: 600;
}

.tvb-branded .tvb-button-primary {
	background: var(--tvb-brand-primary) !important;
	border-color: var(--tvb-brand-primary) !important;
	color: #fff !important;
}

.tvb-branded .tvb-button-primary:hover,
.tvb-branded .tvb-button-primary:focus {
	background: var(--tvb-brand-primary-strong) !important;
	border-color: var(--tvb-brand-primary-strong) !important;
	box-shadow: 0 0 0 1px var(--tvb-brand-primary-strong), 0 2px 8px rgba(79, 13, 90, 0.25);
}
