/**
 * Rhodes Boat — buttons & CTA patterns.
 */

.rb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--rb-space-2);
	padding: 0.9rem 1.6rem;
	border-radius: var(--rb-radius-sm);
	font-family: var(--rb-font-body);
	font-size: var(--rb-text-sm);
	font-weight: 600;
	letter-spacing: var(--rb-tracking-btn);
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	border: var(--rb-border-width) solid transparent;
	background: transparent;
	cursor: pointer;
	white-space: nowrap;
	transition:
		background-color var(--rb-duration) var(--rb-ease),
		color var(--rb-duration) var(--rb-ease),
		border-color var(--rb-duration) var(--rb-ease),
		box-shadow var(--rb-duration) var(--rb-ease),
		transform var(--rb-duration-fast) var(--rb-ease);
}

.rb-btn:hover {
	text-decoration: none;
}

.rb-btn:active:not(:disabled) {
	transform: translateY(1px);
}

.rb-btn:disabled,
.rb-btn.is-disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Gold primary */
.rb-btn--gold {
	background: var(--rb-gold);
	color: var(--rb-navy);
	border-color: var(--rb-gold);
}

.rb-btn--gold:hover,
.rb-btn--gold:focus-visible {
	background: var(--rb-gold-light);
	color: var(--rb-navy);
	border-color: var(--rb-gold-light);
	box-shadow: var(--rb-shadow-sm);
}

/* Outline on dark */
.rb-btn--outline {
	background: transparent;
	color: var(--rb-white);
	border-color: rgba(255, 255, 255, 0.45);
}

.rb-btn--outline:hover,
.rb-btn--outline:focus-visible {
	border-color: var(--rb-gold);
	color: var(--rb-gold);
}

/* Outline on light */
.rb-btn--outline-dark {
	background: transparent;
	color: var(--rb-text);
	border-color: var(--rb-border);
}

.rb-btn--outline-dark:hover,
.rb-btn--outline-dark:focus-visible {
	border-color: var(--rb-navy);
	color: var(--rb-navy);
}

/* Ghost / text */
.rb-btn--ghost {
	background: transparent;
	color: var(--rb-gold);
	border-color: transparent;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.rb-btn--ghost:hover,
.rb-btn--ghost:focus-visible {
	color: var(--rb-gold-light);
}

/* Dark solid */
.rb-btn--navy {
	background: var(--rb-navy);
	color: var(--rb-white);
	border-color: var(--rb-navy);
}

.rb-btn--navy:hover,
.rb-btn--navy:focus-visible {
	background: var(--rb-secondary-dark);
	border-color: var(--rb-secondary-dark);
	color: var(--rb-white);
}

/* Sizes */
.rb-btn--sm {
	padding: 0.55rem 1rem;
	font-size: 0.6875rem;
}

.rb-btn--lg {
	padding: 1.05rem 1.9rem;
	font-size: 0.875rem;
}

.rb-btn--block {
	width: 100%;
}

.rb-btn-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rb-space-3);
}

@media (max-width: 480px) {
	.rb-btn-group--stack-mobile {
		flex-direction: column;
		align-items: stretch;
	}

	.rb-btn-group--stack-mobile .rb-btn {
		width: 100%;
	}
}
