/**
 * FindCaptains Design System — tokens
 * Single source of truth for color, type, space, radius, shadow, z-index.
 * Dark mode is not implemented; token names are ready for a future theme.
 */
:root {
	/* Brand */
	--fc-color-ocean-navy: #0b1f33;
	--fc-color-deep-blue: #134a6e;
	--fc-color-seafoam: #1f8a7a;
	--fc-color-slate: #475569;
	--fc-color-light-sand: #eef2f6;

	/* Semantic */
	--fc-color-success: #1b7f4e;
	--fc-color-success-bg: #e8f6ef;
	--fc-color-success-ink: #14532d;
	--fc-color-warning: #a16207;
	--fc-color-warning-bg: #fef6e7;
	--fc-color-warning-ink: #713f12;
	--fc-color-danger: #b91c1c;
	--fc-color-danger-bg: #fef2f2;
	--fc-color-danger-ink: #7f1d1d;
	--fc-color-danger-hover: #991b1b;
	--fc-color-info: #1d4f91;
	--fc-color-info-bg: #e8f1fa;
	--fc-color-info-ink: #1e3a5f;
	--fc-color-skeleton-mid: #e2e8f0;

	/* Surfaces */
	--fc-color-bg: #f3f6f9;
	--fc-color-surface: #ffffff;
	--fc-color-surface-raised: #ffffff;
	--fc-color-muted: #64748b;
	--fc-color-border: #d5dde6;
	--fc-color-border-strong: #b8c4d1;
	--fc-color-text: #0f172a;
	--fc-color-text-inverse: #f8fafc;
	--fc-color-focus: #1d4f91;
	--fc-color-overlay: rgba(11, 31, 51, 0.48);

	/* Typography */
	--fc-font-sans: "Avenir Next", "Segoe UI", "Helvetica Neue", Helvetica, sans-serif;
	--fc-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
	--fc-font-display: var(--fc-font-sans);

	--fc-text-display: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
	--fc-text-h1: clamp(1.75rem, 1.5rem + 0.8vw, 2.125rem);
	--fc-text-h2: 1.5rem;
	--fc-text-h3: 1.25rem;
	--fc-text-h4: 1.125rem;
	--fc-text-h5: 1rem;
	--fc-text-h6: 0.875rem;
	--fc-text-body: 1rem;
	--fc-text-small: 0.875rem;
	--fc-text-caption: 0.75rem;

	--fc-leading-tight: 1.25;
	--fc-leading-snug: 1.375;
	--fc-leading-normal: 1.55;
	--fc-leading-relaxed: 1.7;

	--fc-weight-regular: 400;
	--fc-weight-medium: 500;
	--fc-weight-semibold: 600;
	--fc-weight-bold: 700;

	/* Spacing scale (px) */
	--fc-space-1: 0.25rem; /* 4 */
	--fc-space-2: 0.5rem; /* 8 */
	--fc-space-3: 0.75rem; /* 12 */
	--fc-space-4: 1rem; /* 16 */
	--fc-space-5: 1.25rem; /* 20 */
	--fc-space-6: 1.5rem; /* 24 */
	--fc-space-8: 2rem; /* 32 */
	--fc-space-10: 2.5rem; /* 40 */
	--fc-space-12: 3rem; /* 48 */
	--fc-space-16: 4rem; /* 64 */

	/* Radius */
	--fc-radius-sm: 0.25rem;
	--fc-radius-md: 0.5rem;
	--fc-radius-lg: 0.75rem;
	--fc-radius-xl: 1rem;
	--fc-radius-full: 9999px;

	/* Shadow */
	--fc-shadow-none: none;
	--fc-shadow-sm: 0 1px 2px rgba(11, 31, 51, 0.06);
	--fc-shadow-md: 0 4px 12px rgba(11, 31, 51, 0.08);
	--fc-shadow-lg: 0 12px 28px rgba(11, 31, 51, 0.12);

	/* Layout */
	--fc-container: 72rem;
	--fc-content-width: 48rem;
	--fc-sidebar-width: 15.5rem;
	--fc-logo-width: 9.5rem;
	--fc-logo-height: 2rem;
	--fc-touch-min: 2.75rem;

	/* Motion */
	--fc-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--fc-duration-fast: 120ms;
	--fc-duration: 180ms;
	--fc-duration-slow: 280ms;

	/* Z-index */
	--fc-z-base: 1;
	--fc-z-sticky: 20;
	--fc-z-dropdown: 40;
	--fc-z-overlay: 60;
	--fc-z-modal: 80;

	/* Breakpoints (documentation; media queries use raw values) */
	--fc-bp-mobile: 0;
	--fc-bp-tablet: 48rem;
	--fc-bp-desktop: 64rem;
	--fc-bp-wide: 80rem;
}

/* Scoped surface defaults — do not reset the host WordPress theme globally */
.fc-ds,
.fc-captain-portal-root,
.fc-captain-dashboard-root,
.fc-page,
.fc-directory-root,
.fc-public-profile-root {
	color: var(--fc-color-text);
	font-family: var(--fc-font-sans);
	font-size: var(--fc-text-body);
	line-height: var(--fc-leading-normal);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.fc-ds *,
.fc-ds *::before,
.fc-ds *::after,
.fc-captain-portal-root *,
.fc-captain-portal-root *::before,
.fc-captain-portal-root *::after {
	box-sizing: border-box;
}
