/**
 * SEB Theme — Components
 * -----------------------
 * Reusable, opt-in classes only. Nothing here targets Elementor's own
 * elements or applies globally — every rule is scoped to a .seb-* class,
 * so it is safe to load alongside Elementor Free.
 */

/* ---------------------------------------------------------------------
   Button system
   --------------------------------------------------------------------- */
.seb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--seb-space-xs);
	padding: var(--seb-space-sm) var(--seb-space-lg);
	border-radius: var(--seb-radius-pill);
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.2;
	min-height: 44px;
	max-width: 100%;
	box-sizing: border-box;
	text-align: center;
	transition: background-color var(--seb-transition),
		border-color var(--seb-transition),
		color var(--seb-transition),
		box-shadow var(--seb-transition),
		transform var(--seb-transition-fast);
}

.seb-btn:active {
	transform: translateY(1px);
}

.seb-btn:disabled,
.seb-btn[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
	transform: none;
}

/* Primary — main CTA */
.seb-btn-primary {
	background-color: var(--seb-accent);
	border-color: var(--seb-accent);
	color: var(--seb-white);
}

.seb-btn-primary:hover {
	background-color: var(--seb-accent-dark);
	border-color: var(--seb-accent-dark);
	color: var(--seb-white);
}

.seb-btn-primary:focus-visible {
	box-shadow: var(--seb-focus-ring);
}

/* Secondary — brand blue */
.seb-btn-secondary {
	background-color: var(--seb-primary);
	border-color: var(--seb-primary);
	color: var(--seb-white);
}

.seb-btn-secondary:hover {
	background-color: var(--seb-primary-light);
	border-color: var(--seb-primary-light);
	color: var(--seb-white);
}

.seb-btn-secondary:focus-visible {
	box-shadow: var(--seb-focus-ring);
}

/* Outline */
.seb-btn-outline {
	background-color: transparent;
	border-color: var(--seb-primary);
	color: var(--seb-primary);
}

.seb-btn-outline:hover {
	background-color: var(--seb-primary);
	color: var(--seb-white);
}

.seb-btn-outline:focus-visible {
	box-shadow: var(--seb-focus-ring);
}

/* Text-only button / link-style action */
.seb-btn-text {
	background-color: transparent;
	border-color: transparent;
	color: var(--seb-primary-light);
	padding-inline: var(--seb-space-xs);
	border-radius: var(--seb-radius-sm);
}

.seb-btn-text:hover {
	color: var(--seb-primary);
}

.seb-btn-text:focus-visible {
	box-shadow: var(--seb-focus-ring);
}

/* ---------------------------------------------------------------------
   Card foundation — base utility only, no Blog/Tour card variants yet
   --------------------------------------------------------------------- */
.seb-card {
	background-color: var(--seb-white);
	border: 1px solid var(--seb-border);
	border-radius: var(--seb-radius-md);
	box-shadow: var(--seb-shadow-sm);
	padding: var(--seb-space-lg);
}
