/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/*
|--------------------------------------------------------------------------
| Platform — global design tokens (master-spec §3 / §4)
|--------------------------------------------------------------------------
| Main switches: use only var(--jw-*) in child theme CSS / Bricks custom CSS.
| No raw hex for status, Action Drawer, button profiles, or base theme.
| Phase 2 — Facebook Retina (light surface, Meta blue, sharp edges); hex only inside token definitions.
| Legacy dark baseline snapshot (historisk): dokumenterad i `castnation-log.md` (2026-04-18 Master Recovery); arkivfil kan ligga utanför detta repo.
*/
:root {
	/* Status colors — named by role */
	--jw-status-success: var(--bricks-color-jw-success);
	--jw-status-warning: var(--bricks-color-jw-warning);
	--jw-status-danger: var(--bricks-color-jw-danger);
	--jw-status-info: var(--bricks-color-jw-info);

	/* Action & navigation — light Retina chrome */
	--jw-color-action: var(--bricks-color-jw-action);
	--jw-color-accent: var(--bricks-color-jw-accent);

	/* BAS-TEMA — ljus feed-yta (FB-lik) */
	--jw-bg-main: var(--bricks-color-jw-bg-main);
	--jw-text-main: var(--bricks-color-jw-text-main);

	/* Derived UI chrome (slide-overs, panels) */
	--jw-ui-page: var(--bricks-color-jw-ui-page);
	--jw-ui-surface: var(--bricks-color-jw-ui-surface);
	--jw-ui-border: var(--bricks-color-jw-ui-border);
	--jw-ui-ink: var(--bricks-color-jw-ui-ink);
	--jw-ui-muted: var(--bricks-color-jw-ui-muted);
	--jw-ui-shade: rgba(0, 0, 0, 0.06);
	--jw-ui-shade-strong: rgba(0, 0, 0, 0.12);

	/* Glass & accent — light frosted glass; primary accent = Meta blue (replaces gold slot in Phase 2) */
	--jw-bg-glass-dark: rgba(255, 255, 255, 0.78);
	--jw-bg-glass-light: rgba(255, 255, 255, 0.92);
	--jw-accent-gold: var(--bricks-color-jw-accent-gold);
	--jw-text-gold: var(--bricks-color-jw-text-gold);
	--jw-blur: 12px;
	--jw-border-thin: 1px solid var(--jw-ui-border);

	/* Cards — The Wall (.jw-talent-card) + ID card (.id-card); tune theme by adjusting these */
	--jw-card-talent-radius: 16px;
	--jw-card-talent-border: 1px solid var(--jw-ui-border);
	--jw-card-talent-bg: var(--jw-ui-page);
	--jw-card-talent-text: var(--jw-text-main);
	--jw-card-talent-muted: var(--jw-ui-muted);
	--jw-card-talent-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 14px rgba(0, 0, 0, 0.04);
	--jw-card-talent-shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.08), 0 8px 24px rgba(8, 102, 255, 0.14);

	/* The Wall — Stories-style vertical talent cards (hex/rgba only in :root) */
	--jw-story-card-bg: rgba(255, 255, 255, 0.8);
	--jw-story-card-blur: 10px;
	--jw-story-card-border: 1px solid rgba(0, 0, 0, 0.05);
	--jw-story-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	--jw-story-card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.08), 0 4px 8px -2px rgba(8, 102, 255, 0.1);
	--jw-story-footer-bg: var(--bricks-color-jw-story-footer-bg);
	--jw-story-photo-object-position: center 22%;
	--jw-story-avatar-size: 4rem;
	--jw-story-avatar-ring: 0 0 0 2px var(--jw-ui-page), 0 0 0 4px var(--jw-color-action);
	/* The Wall — 3-column frame + Pods (Space Architecture) */
	--jw-radius-frame: 16px;
	--jw-radius-control: 8px;
	--jw-wall-gap: 12px;
	/* Facebook story tray — member cards (REFERENCE_FB_STORIES_TRAY_MEASUREMENTS.md) */
	--jw-mc-card-max-w: 112.5px;
	--jw-mc-card-gap: 8px;
	/* PLATFORM-BLUEPRINT: Star Cards (9:16) min track width; auto-fill → single column when tight */
	--jw-star-card-min: 220px;
	--jw-wall-nav-collapsed: 70px;
	--jw-wall-nav-expanded: 240px;
	--jw-wall-ctx-collapsed: 72px;
	--jw-wall-ctx-expanded: 320px;
	/* Mission Control — Deep Space (opt-in: `.jw-p-mission-control`, alias `.jw-mission-control`) */
	--jw-mc-void: var(--bricks-color-jw-mc-void);
	--jw-mc-cyan: var(--bricks-color-jw-mc-cyan);
	--jw-mc-text: var(--bricks-color-jw-mc-text);
	--jw-mc-glass: rgba(255, 255, 255, 0.06);
	--jw-mc-glow: 0 0 28px rgba(0, 212, 255, 0.12);
	--jw-story-ig-max-height: 400px;
	--jw-story-ig-gradient: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.82) 100%);
	/* Crocoblock Clean UI + 3-layer progressive disclosure (2026-04-19) */
	--jw-croco-name: var(--bricks-color-jw-croco-name);
	--jw-croco-meta: var(--bricks-color-jw-croco-meta);
	--jw-talent-teaser-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	--jw-talent-quick-blur: 8px;
	--jw-card-id-radius: 18px;
	--jw-card-id-shadow-outer: 0 12px 28px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(8, 102, 255, 0.22);
	--jw-card-id-scrim-a: rgba(255, 255, 255, 0);
	--jw-card-id-scrim-b: rgba(28, 30, 33, 0.38);
	--jw-card-id-scrim-c: rgba(28, 30, 33, 0.72);
	--jw-card-id-glass-bg: rgba(255, 255, 255, 0.9);
	--jw-card-id-glass-inset: rgba(255, 255, 255, 0.95);
	--jw-card-id-glass-shadow: 0 1px 0 rgba(255, 255, 255, 0.98) inset, 0 6px 20px rgba(0, 0, 0, 0.12);
	--jw-card-id-name: var(--jw-ui-ink);
	--jw-card-id-name-shadow: rgba(255, 255, 255, 0.65);
	--jw-card-id-row-border: var(--bricks-color-jw-card-id-row-border);
}

/* View switcher [jw_switcher] */
.jw-switcher-wrapper {
	display: inline-block;
}

.jw-switcher-wrapper .jw-switcher-link {
	display: inline-block;
	padding: 0.45em 1.1em;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--jw-ui-page);
	text-decoration: none;
	line-height: 1.2;
	transition: filter 0.15s ease;
}

.jw-switcher-wrapper--agent .jw-switcher-link {
	background: color-mix(in srgb, var(--jw-bg-main) 88%, white);
}

.jw-switcher-wrapper--talent .jw-switcher-link {
	background: var(--jw-status-info);
}

.jw-switcher-wrapper .jw-switcher-link:hover {
	filter: brightness(1.12);
}

/*
 * 12-column layout (Grundlagen §3 / §7): configure in Bricks — NOT here.
 * Parent container: Style → Layout → Display: grid;
 *   Grid template columns: repeat(12, 1fr)  |  Gap: 20px  |  Align items: start (as needed).
 * Children (Navigator / Wall / Context): Style → Layout → Grid column: span 3 | span 6 | span 3
 *   Sticky columns: Position sticky, Top 20px, Align self: start.
 * See Bricks Academy: CSS Grid Layout (grid-column with "span N").
 * Avoid overflow: hidden on parent sections if sticky should work.
 */

/* Optional overflow helper for center column (Bricks otherwise outputs grid). */
.jw-region-center {
	min-width: 0;
}

/* Glassmorphism (Grundlagen §3) — add as extra class on Block/Div in Bricks. */
.jw-glass {
	backdrop-filter: blur(var(--jw-blur));
	-webkit-backdrop-filter: blur(var(--jw-blur));
	background: color-mix(in srgb, var(--jw-text-main) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--jw-text-main) 14%, transparent);
	border-radius: 12px;
	box-shadow: 0 4px 24px var(--jw-ui-shade);
}

/*
|--------------------------------------------------------------------------
| Phase 1 — Midnight Luxury utilities (jw-* classes, colors via var(--jw-*))
|--------------------------------------------------------------------------
*/
.jw-glass-card {
	backdrop-filter: blur(var(--jw-blur));
	-webkit-backdrop-filter: blur(var(--jw-blur));
	background: var(--jw-bg-glass-dark);
	border: var(--jw-border-thin);
	border-radius: 14px;
	box-shadow: 0 8px 36px color-mix(in srgb, var(--jw-bg-main) 55%, transparent);
	color: var(--jw-text-main);
	transition:
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		transform 0.22s ease,
		background 0.22s ease;
}

.jw-glass-card:hover {
	border-color: color-mix(in srgb, var(--jw-accent-gold) 55%, transparent);
	box-shadow:
		0 12px 44px color-mix(in srgb, var(--jw-bg-main) 45%, transparent),
		0 0 0 1px color-mix(in srgb, var(--jw-accent-gold) 22%, transparent);
	transform: translateY(-2px);
}

/* Subtle gold gradient — background, edge, or accent (combine with border-radius / clip). */
.jw-gold-gradient {
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--jw-text-gold) 92%, transparent) 0%,
		color-mix(in srgb, var(--jw-accent-gold) 88%, var(--jw-bg-main)) 100%
	);
}

/* [jw_pitch_list] — grid + empty state (jw-glass-card from PHP) */
.jw-pitch-list__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: start;
}

.jw-pitch-list--empty {
	max-width: 40rem;
}

.jw-pitch-list__empty-wrap {
	padding: clamp(1.25rem, 3vw, 1.75rem);
}

.jw-pitch-list__empty-wrap .jw-pitch-list__empty {
	margin: 0;
	text-align: center;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--jw-text-gold);
}

/* —— Agent zone: audition widget (zon 3) —— */
.jw-widget--audition-calendar {
	color: var(--jw-ui-ink);
	font-size: 0.9rem;
	line-height: 1.55;
	padding: 1.25rem 1.5rem;
	border-radius: 12px;
	background: color-mix(in srgb, var(--jw-ui-page) 88%, transparent);
	border: 1px solid var(--jw-ui-border);
	box-shadow: 0 8px 32px var(--jw-ui-shade);
}

.jw-widget__title {
	margin: 0 0 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jw-ui-muted);
}

.jw-widget__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.jw-widget__item {
	padding: 0.85rem 0;
	border-top: 1px solid var(--jw-ui-border);
	display: grid;
	gap: 0.25rem;
}

.jw-widget__item:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.jw-widget__date {
	font-variant-numeric: tabular-nums;
	color: var(--jw-ui-muted);
	font-size: 0.8rem;
}

.jw-widget__line-title {
	font-weight: 600;
}

.jw-widget__meta {
	font-size: 0.8rem;
	color: var(--jw-ui-muted);
}

/* —— Slide-over (talent panel, AJAX) —— SaaS / MatDash-inspired —— */
body.jw-slideover-open {
	overflow: hidden;
}

.jw-slideover {
	position: fixed;
	inset: 0;
	z-index: 100000;
	pointer-events: none;
}

.jw-slideover.jw-slideover--open {
	pointer-events: auto;
}

.jw-slideover__backdrop {
	position: absolute;
	inset: 0;
	background: var(--jw-ui-shade-strong);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.jw-slideover--open .jw-slideover__backdrop {
	opacity: 1;
}

.jw-slideover__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(560px, 100vw);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	box-shadow: -16px 0 48px var(--jw-ui-shade);
}

.jw-slideover--open .jw-slideover__panel {
	transform: translateX(0);
}

.jw-slideover__panel--saas {
	--jw-so-ink: var(--jw-ui-ink);
	--jw-so-muted: var(--jw-ui-muted);
	--jw-so-border: var(--jw-ui-border);
	--jw-so-surface: var(--jw-ui-surface);
	--jw-so-card: var(--jw-ui-page);
	--jw-so-primary: var(--jw-color-accent);
	--jw-so-primary-hover: color-mix(in srgb, var(--jw-color-accent) 78%, black);
	--jw-so-accent-soft: color-mix(in srgb, var(--jw-color-action) 14%, transparent);
	background: var(--jw-so-surface);
	color: var(--jw-so-ink);
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.jw-slideover__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px 14px;
	border-bottom: 1px solid var(--jw-so-border);
	flex-shrink: 0;
	background: var(--jw-so-card);
}

.jw-slideover__toolbar-title {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--jw-so-muted);
}

.jw-slideover__close {
	border: 0;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: var(--jw-so-muted);
	padding: 0.25rem 0.35rem;
	border-radius: 8px;
	transition: color 0.15s ease, background 0.15s ease;
}

.jw-slideover__close:hover {
	color: var(--jw-so-ink);
	background: var(--jw-so-surface);
}

.jw-slideover__body {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	-webkit-overflow-scrolling: touch;
}

.jw-slideover__layout {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

/* —— Slide-over v2 layout (profil + flikar) —— */
.jw-sov2-layout {
	min-height: 0;
}

.jw-sov2-header {
	flex-shrink: 0;
	padding: 20px 24px 16px;
	background: var(--jw-so-card);
	border-bottom: 1px solid var(--jw-so-border);
	box-shadow: 0 4px 24px var(--jw-ui-shade);
}

.jw-sov2-header__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px 20px;
}

.jw-sov2-header__identity {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	flex: 1;
}

.jw-sov2-header__avatar {
	width: 72px;
	height: 72px;
	border-radius: 16px;
	object-fit: cover;
	box-shadow: 0 4px 14px var(--jw-ui-shade);
	border: 2px solid var(--jw-ui-page);
	flex-shrink: 0;
}

.jw-sov2-header__text {
	min-width: 0;
}

.jw-sov2-header__title {
	margin: 0 0 4px;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--jw-so-ink);
}

.jw-sov2-header__idline {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--jw-so-muted);
	font-weight: 500;
}

.jw-sov2-header__actions {
	position: relative;
	flex-shrink: 0;
	align-self: center;
}

.jw-sov2-stats {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

@media (max-width: 480px) {
	.jw-sov2-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.jw-sov2-stats__item {
	background: var(--jw-so-surface);
	border: 1px solid var(--jw-so-border);
	border-radius: 12px;
	padding: 10px 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.jw-sov2-stats__value {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--jw-so-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.jw-sov2-stats__label {
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--jw-so-muted);
}

.jw-sov2-main {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	background: var(--jw-so-surface);
}

.jw-sov2-tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	padding: 12px 16px 0;
	border-bottom: 1px solid var(--jw-so-border);
	background: var(--jw-so-surface);
	flex-shrink: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.jw-sov2-tab {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--jw-so-muted);
	padding: 10px 8px 12px;
	cursor: pointer;
	border-radius: 10px 10px 0 0;
	position: relative;
	white-space: nowrap;
	transition: color 0.15s ease, background 0.15s ease;
}

.jw-sov2-tab:hover {
	color: var(--jw-so-ink);
	background: color-mix(in srgb, var(--jw-ui-page) 58%, transparent);
}

.jw-sov2-tab[aria-selected="true"] {
	color: var(--jw-so-primary);
	background: var(--jw-so-card);
	box-shadow: 0 -2px 0 var(--jw-so-primary) inset;
}

.jw-sov2-panels {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 16px 20px 28px;
}

.jw-sov2-tabpanel {
	min-height: 40px;
}

.jw-sov2-card {
	background: var(--jw-so-card);
	border: 1px solid var(--jw-so-border);
	border-radius: 14px;
	box-shadow: 0 1px 3px var(--jw-ui-shade);
	overflow: hidden;
}

.jw-sov2-card + .jw-sov2-card {
	margin-top: 12px;
}

.jw-sov2-card__body {
	padding: 16px 18px;
}

.jw-sov2-subtitle {
	margin: 0 0 12px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--jw-so-muted);
}

.jw-sov2-app-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.jw-sov2-app-row {
	padding: 12px 0;
	border-bottom: 1px solid var(--jw-so-border);
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--jw-so-ink);
}

.jw-sov2-app-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.jw-sov2-app-proj {
	font-weight: 600;
}

.jw-sov2-app-status {
	color: var(--jw-so-muted);
}

.jw-sov2-app-date {
	font-variant-numeric: tabular-nums;
	color: var(--jw-so-muted);
	font-size: 0.82rem;
}

.jw-sov2-app-sep {
	color: var(--jw-so-border);
	margin: 0 0.15em;
}

.jw-sov2-quick-actions {
	position: relative;
}

.jw-sov2-quick-actions__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.jw-sov2-btn {
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 10px 18px;
	border-radius: 10px;
	border: 1px solid var(--jw-so-border);
	background: var(--jw-so-card);
	color: var(--jw-so-ink);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 1px 2px var(--jw-ui-shade);
}

.jw-sov2-btn:hover {
	border-color: color-mix(in srgb, var(--jw-ui-border) 55%, var(--jw-ui-ink));
	background: color-mix(in srgb, var(--jw-ui-surface) 65%, white);
}

.jw-sov2-btn--primary {
	background: var(--jw-so-primary);
	color: var(--jw-ui-page);
	border-color: var(--jw-so-primary);
	box-shadow: 0 2px 8px color-mix(in srgb, var(--jw-color-accent) 38%, transparent);
}

.jw-sov2-btn--primary:hover {
	background: var(--jw-so-primary-hover);
	border-color: var(--jw-so-primary-hover);
	color: var(--jw-ui-page);
}

.jw-sov2-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 220px;
	max-width: min(280px, 85vw);
	padding: 14px;
	background: var(--jw-so-card);
	border: 1px solid var(--jw-so-border);
	border-radius: 12px;
	box-shadow: 0 12px 40px var(--jw-ui-shade);
	z-index: 5;
}

.jw-sov2-dropdown-hint {
	margin: 0 0 10px;
	font-size: 0.75rem;
	color: var(--jw-so-muted);
	font-weight: 500;
}

.jw-sov2-project-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.jw-sov2-project-btn {
	display: block;
	width: 100%;
	text-align: left;
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 500;
	padding: 10px 12px;
	border: 1px solid var(--jw-so-border);
	border-radius: 10px;
	background: var(--jw-so-surface);
	color: var(--jw-so-ink);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.jw-sov2-project-btn:hover {
	border-color: var(--jw-color-action);
	background: var(--jw-so-accent-soft);
}

.jw-sov2-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.jw-sov2-list__row {
	padding: 12px 0;
	border-bottom: 1px solid var(--jw-so-border);
	font-size: 0.9rem;
	line-height: 1.55;
}

.jw-sov2-list__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.jw-sov2-muted {
	color: var(--jw-so-muted);
	font-size: 0.875rem;
}

.jw-sov2-strong {
	font-weight: 600;
	color: var(--jw-so-ink);
}

.jw-sov2-pill {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.12rem 0.45rem;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: 999px;
	background: var(--jw-so-surface);
	color: var(--jw-so-muted);
	border: 1px solid var(--jw-so-border);
}

.jw-sov2-pill--ok {
	background: color-mix(in srgb, var(--jw-status-success) 16%, transparent);
	color: color-mix(in srgb, var(--jw-status-success) 52%, black);
	border-color: color-mix(in srgb, var(--jw-status-success) 30%, transparent);
}

.jw-sov2-empty {
	margin: 8px 0 0;
	font-size: 0.9rem;
	color: var(--jw-so-muted);
}

.jw-sov2-notes {
	list-style: none;
	margin: 0;
	padding: 0;
}

.jw-sov2-note {
	padding: 14px 0;
	border-bottom: 1px solid var(--jw-so-border);
}

.jw-sov2-note:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.jw-sov2-note-body {
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--jw-so-ink);
}

.jw-sov2-note-meta {
	margin-top: 8px;
	font-size: 0.75rem;
	color: var(--jw-so-muted);
	font-weight: 500;
}

.jw-sov2-media-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.jw-sov2-media-link {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--jw-so-border);
	box-shadow: 0 1px 3px var(--jw-ui-shade);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.jw-sov2-media-link:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px var(--jw-ui-shade);
}

.jw-sov2-media-link img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.jw-slideover__toast {
	margin: 0 0 12px;
	padding: 10px 14px;
	font-size: 0.8rem;
	background: var(--jw-so-accent-soft);
	border: 1px solid color-mix(in srgb, var(--jw-color-action) 24%, transparent);
	border-radius: 10px;
	color: var(--jw-so-ink);
	font-weight: 500;
}

.jw-slideover__loading,
.jw-slideover__error {
	margin: 16px 24px;
	font-size: 0.9rem;
	color: var(--jw-so-muted);
}

/* —— Purple Action Drawer (master-spec §4) —— */
body.jw-action-drawer-open {
	overflow: hidden;
}

/* Jet action_required — UI hooks */
.is-action-required,
.jw--action-required {
	box-shadow: 0 0 0 2px var(--jw-color-action), 0 0 0 6px color-mix(in srgb, var(--jw-color-action) 25%, transparent);
}

.jw-action-drawer {
	position: fixed;
	inset: 0;
	z-index: 100001;
	pointer-events: none;
}

.jw-action-drawer.jw-action-drawer--open {
	pointer-events: auto;
}

.jw-action-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: var(--jw-ui-shade-strong);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.jw-action-drawer--open .jw-action-drawer__backdrop {
	opacity: 1;
}

.jw-action-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(440px, 100vw);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	background: color-mix(in srgb, var(--jw-color-action) 24%, var(--jw-bg-main));
	color: var(--jw-text-main);
	border-left: 4px solid var(--jw-color-action);
	box-shadow: -16px 0 48px color-mix(in srgb, var(--jw-color-action) 40%, transparent);
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.jw-action-drawer--open .jw-action-drawer__panel {
	transform: translateX(0);
}

.jw-action-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px 14px;
	border-bottom: 1px solid color-mix(in srgb, var(--jw-color-action) 35%, transparent);
	flex-shrink: 0;
	background: color-mix(in srgb, var(--jw-color-action) 12%, transparent);
}

.jw-action-drawer__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--jw-text-main);
}

.jw-action-drawer__close {
	border: 0;
	background: color-mix(in srgb, var(--jw-text-main) 8%, transparent);
	color: var(--jw-text-main);
	font-size: 1.5rem;
	line-height: 1;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.jw-action-drawer__close:hover {
	background: color-mix(in srgb, var(--jw-text-main) 14%, transparent);
}

.jw-action-drawer__body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	-webkit-overflow-scrolling: touch;
}

.jw-action-drawer__alert {
	margin: 0;
	padding: 10px 12px;
	font-size: 0.85rem;
	border-radius: 8px;
	background: color-mix(in srgb, var(--jw-status-danger) 18%, var(--jw-bg-main));
	border: 1px solid color-mix(in srgb, var(--jw-status-danger) 35%, transparent);
	color: var(--jw-text-main);
}

.jw-action-drawer__audit-item--empty,
.jw-action-drawer__audit-line {
	font-size: 0.875rem;
	line-height: 1.5;
}

.jw-action-drawer__audit-item--empty {
	color: color-mix(in srgb, var(--jw-text-main) 55%, transparent);
	font-style: italic;
}

.jw-action-drawer__section-title {
	margin: 0 0 10px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--jw-text-main) 72%, var(--jw-color-action));
}

.jw-action-drawer__audit {
	list-style: none;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--jw-color-action) 28%, transparent);
	background: color-mix(in srgb, var(--jw-bg-main) 55%, transparent);
}

.jw-action-drawer__audit-item {
	padding: 12px 14px;
	border-bottom: 1px solid color-mix(in srgb, var(--jw-color-action) 22%, transparent);
	font-size: 0.875rem;
	line-height: 1.5;
}

.jw-action-drawer__audit-item:last-child {
	border-bottom: 0;
}

.jw-action-drawer__audit-time {
	font-variant-numeric: tabular-nums;
	color: color-mix(in srgb, var(--jw-text-main) 65%, var(--jw-color-action));
	margin-right: 0.35rem;
}

.jw-action-drawer__notes {
	width: 100%;
	min-height: 140px;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--jw-color-action) 30%, transparent);
	background: color-mix(in srgb, var(--jw-bg-main) 40%, transparent);
	color: var(--jw-text-main);
	font: inherit;
	font-size: 0.9rem;
	line-height: 1.55;
	resize: vertical;
}

.jw-action-drawer__notes:focus {
	outline: 2px solid var(--jw-color-action);
	outline-offset: 2px;
}

.jw-action-drawer__resolve {
	margin-top: auto;
	align-self: stretch;
	padding: 12px 18px;
	border: 0;
	border-radius: 10px;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	background: var(--jw-color-action);
	color: var(--jw-text-main);
	box-shadow: 0 4px 16px color-mix(in srgb, var(--jw-color-action) 45%, transparent);
	transition: filter 0.15s ease, transform 0.1s ease;
}

.jw-action-drawer__resolve:hover {
	filter: brightness(1.08);
}

.jw-action-drawer__resolve:active {
	transform: scale(0.99);
}

.jw-action-drawer__resolve:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	filter: none;
	transform: none;
}

/* Wall layout and grid overrides removed so Bricks can control the page directly. */

/* Wall-specific card, story and mission-control styling removed so Bricks can drive the layout. */

/* —— ID-kort (CPT id-card, Bricks .id-card + [id_card]) —— */
.id-card {
	--id-card-accent: var(--bricks-color-jw-person);
	--id-card-accent-soft: color-mix(in srgb, var(--id-card-accent) 22%, transparent);
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(220px, 52vw, 340px);
	aspect-ratio: 1.586 / 1;
	max-width: 100%;
	overflow: hidden;
	border-radius: var(--jw-card-id-radius);
	border: 1px solid var(--id-card-accent-soft);
	box-shadow: var(--jw-card-id-shadow-outer);
	isolation: isolate;
}

.id-card--person { --id-card-accent: var(--bricks-color-jw-person); }
.id-card--crew { --id-card-accent: var(--bricks-color-jw-crew); }
.id-card--place { --id-card-accent: var(--bricks-color-jw-place); }
.id-card--animal { --id-card-accent: var(--bricks-color-jw-animal); }
.id-card--alumni { --id-card-accent: var(--bricks-color-jw-alumni); }

.id-card__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	transform: scale(1.02);
	transition: transform 0.35s ease;
}

.id-card:hover .id-card__bg {
	transform: scale(1.06);
}

.id-card__bg--placeholder {
	background:
		linear-gradient(
			145deg,
			color-mix(in srgb, var(--id-card-accent) 22%, var(--jw-ui-page)) 0%,
			var(--jw-bg-main) 50%,
			color-mix(in srgb, var(--id-card-accent) 18%, var(--jw-ui-page)) 100%
		);
}

.id-card__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		var(--jw-card-id-scrim-a) 0%,
		var(--jw-card-id-scrim-b) 48%,
		var(--jw-card-id-scrim-c) 100%
	);
}

.id-card__glass {
	position: relative;
	z-index: 2;
	margin: 0.65rem;
	padding: clamp(0.85rem, 2.2vw, 1.15rem) clamp(1rem, 2.5vw, 1.35rem);
	border-radius: 14px;
	color: var(--jw-text-main);
	/* Retina-readable panel over photo (light frosted). */
	background: var(--jw-card-id-glass-bg);
	border: var(--jw-border-thin);
	backdrop-filter: blur(18px) saturate(1.2);
	-webkit-backdrop-filter: blur(18px) saturate(1.2);
	box-shadow: var(--jw-card-id-glass-shadow);
}

.id-card__name {
	margin: 0 0 0.55rem;
	font-size: clamp(0.95rem, 2.1vw, 1.1rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: var(--jw-card-id-name);
	text-shadow: 0 0.5px 0 var(--jw-card-id-name-shadow);
}

.id-card__name::after {
	content: "";
	display: block;
	width: clamp(2rem, 12vw, 3.5rem);
	height: 2px;
	margin-top: 0.45rem;
	background: color-mix(in srgb, var(--id-card-accent) 70%, transparent);
}

.id-card__fields {
	margin: 0;
	display: grid;
	gap: 0.4rem 0.75rem;
}

.id-card__row {
	display: grid;
	grid-template-columns: minmax(4.5rem, 32%) 1fr;
	align-items: baseline;
	gap: 0.35rem 0.65rem;
	margin: 0;
	padding: 0.28rem 0;
	border-bottom: 1px solid var(--jw-card-id-row-border);
}

.id-card__row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.id-card__label,
.id-card__value {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.35;
}

.id-card__label {
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jw-card-talent-muted);
}

.id-card__value {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: right;
	color: var(--jw-text-main);
}

/*
|--------------------------------------------------------------------------
| JetFormBuilder — Media field: preview constraints (micro-styling)
|--------------------------------------------------------------------------
| Yttre ram: JetStyleManager → Block Style (Border, Border Radius, Padding).
| Miniatyr: JSM dokumenterar inte width/object-fit på img — se spec §6.
*/
.jet-form-builder .media-item-preview img,
.jet-form-builder__field-template .media-item-preview img {
	width: 150px !important;
	height: 150px !important;
	object-fit: cover !important;
	object-position: center;
	border-radius: 8px; /* 50% för cirkel på 150×150 */
}

/*
|--------------------------------------------------------------------------
| The Wall — Overview v2 (Bricks subtree `.jw-wall-overview-v2`)
|--------------------------------------------------------------------------
| Shell `data-jw-wall-mode`: default `list` in Bricks; `v3/v3_logic.js` may set `app` on mobile.
| Hide native overview rows when pulse (`app`) is active so Bricks grid + injected overview do not stack.
| Generic layout hook: `.app-main-layout` (replaces legacy `.jw-the-wall-shell` on the same node as `.jw-the-wall`).
*/
.jw-the-wall.app-main-layout {
	--sys-primary: #3b82f6;
	--layout-shell-max-width: 1400px;
}

.jw-the-wall.app-main-layout[data-jw-wall-mode="app"] .jw-wall-overview-v2 {
	display: none !important;
}

/*
|--------------------------------------------------------------------------
| The Wall — main feed post card (`.app-main-feed-thumb`, Bricks paste v5.0.0+ / tidigare v4.3.1.1.*.21+)
|--------------------------------------------------------------------------
| Featured image comes from `{featured_image}` in the post query loop. Hide broken/empty
| <img> so posts without a featured image (e.g. default “Hello world”) do not show a torn icon.
*/
.app-main-feed-card .app-main-feed-thumb img[src=""] {
	display: none;
}

/*
|--------------------------------------------------------------------------
| Directory feed — member card hit layer, image fill, user-store control slot (`.app-card-action-slot`)
|--------------------------------------------------------------------------
| Card wrapper is a `div`; an empty stretched inner `a` carries `{post_url}` so
| JetEngine store links are not nested inside an outer anchor.
| Grid: stretch each loop item so row tracks share height (Bricks may emit
| duplicate align-items; theme reinforces predictable layout).
*/
.jw-wall-grid > .jw-wall-member-card,
.jw-wall-grid > .facetwp-template > .jw-wall-member-card {
	align-self: stretch;
	justify-self: stretch;
	min-width: 0;
	min-height: 0;
	width: 100%;
}

.jw-wall-member-card__hit {
	display: block;
	width: 100%;
	height: 100%;
}

.app-card-action-slot .jet-data-store-link-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* Neutral default; red / “saved” accent only when JetEngine marks the link (in-store / store slug). */
.app-card-action-slot .jet-data-store-link:not(.in-store):not(.jet-data-store-link--in-store):not(.user-bookmarks-added) {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none !important;
	color: rgba(255, 255, 255, 0.95) !important;
	background: transparent !important;
}

.app-card-action-slot .jet-data-store-link.in-store,
.app-card-action-slot .jet-data-store-link.jet-data-store-link--in-store,
.app-card-action-slot .jet-data-store-link.user-bookmarks-added {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none !important;
	color: #fb7185 !important;
	background: transparent !important;
}

/* JetEngine wraps the <i> in .jet-data-store-link__icon — must flex-center the wrapper (v6.2.0.12) */
.app-card-action-slot .jet-data-store-link__icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	flex: 1 1 auto;
	min-height: 0;
}

.app-card-action-slot .jet-data-store-link:not(.in-store):not(.jet-data-store-link--in-store):not(.user-bookmarks-added) i {
	font-size: 12px;
	line-height: 0;
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.45);
	margin: 0;
	padding: 0;
	width: 1em;
	height: 1em;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.app-card-action-slot .jet-data-store-link.in-store i,
.app-card-action-slot .jet-data-store-link.jet-data-store-link--in-store i,
.app-card-action-slot .jet-data-store-link.user-bookmarks-added i {
	font-size: 12px;
	color: inherit !important;
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.35);
	margin: 0;
	padding: 0;
	width: 1em;
	height: 1em;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 0;
}

.app-card-action-slot .jet-data-store-link svg {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/*
|--------------------------------------------------------------------------
| The Wall — layout + sticky sidebars (§5E-h · shell architecture)
|--------------------------------------------------------------------------
| SSOT policy (human + AI): `pages/wall/WALL_SHELL_POLICY_V5.0.0_SSOT.md` + `.cursorrules` §5M.
| Pairs with Bricks paste `BRICK-PAGE-ARCHITECTURE-BY-CURSOR/pages/wall/releases/`
| `releases/v5.0.0/v5.0.0_BRICKS_PASTE_EXAMPLE.latest.json` + `v3/v3_logic.js` (`#jw-wall-v4-shell-policy`).
| Column hooks (Bricks v5.0.0 semantic cleanup): `.jw-wall-left-sidebar-nav`, `.jw-wall-grid-center-main`,
| `.jw-wall-right-sidebar-info` — use with existing `.jw-wall-sidebar--*` / `.jw-the-wall__*` (no #brxe-* in theme).
| Material / SwiftUI-style spatial rhythm: 2rem inset from
| viewport for sticky offset; side rails scroll in isolation when taller than the viewport.
| Primary vertical scroll: document (main feed); do not reintroduce section-level overflow: hidden
| on `.jw-wall-page-wrap` / `.jw-the-wall.app-main-layout` or sticky will fail.
|--------------------------------------------------------------------------
*/
:root {
	--jw-wall-sticky-top: 2rem;
	--jw-wall-sticky-gutter: 4rem; /* 2rem top + 2rem bottom for max-height */
}

.jw-the-wall.app-main-layout {
	display: grid;
	align-items: flex-start;
	box-sizing: border-box;
}

/*
| Wall shell column tracks — failsafe vs Bricks drift (`min-content` first column).
| SSOT: `BRICK-PAGE-ARCHITECTURE-BY-CURSOR/pages/wall/v4.3_BRICKS_AI_WALL_RULES.md`
| (260↔70 nav, 300↔0 context, center `minmax(0,1fr)`). Live paste used `min-content`
| which under-allocates side rails and over-feeds the center column.
*/
.jw-the-wall.app-main-layout.is-left-expanded.is-right-expanded {
	grid-template-columns: 260px minmax(0, 1fr) 300px !important;
}

/* JetEngine listing on Wall: SSOT v4.3 §15 — desktop 16px gap; mobile 12px (no #brxe; !important beats Bricks id rules). */
.jw-the-wall.app-main-layout .brxe-jet-engine-listing-grid.facetwp-template > .jet-listing-grid > .jet-listing-grid__items {
	--column-gap: 16px !important;
	--row-gap: 16px !important;
}

@media (max-width: 767px) {
	.jw-the-wall.app-main-layout .brxe-jet-engine-listing-grid.facetwp-template > .jet-listing-grid > .jet-listing-grid__items {
		--column-gap: 12px !important;
		--row-gap: 12px !important;
	}
}

.jw-the-wall .jw-wall-grid {
	display: grid;
	align-items: flex-start !important;
	align-content: flex-start !important;
}

.jw-the-wall .jw-wall-sidebar,
.jw-the-wall .jw-wall-sidebar--nav,
.jw-the-wall .jw-wall-sidebar--context,
.jw-the-wall .jw-wall-left-sidebar-nav,
.jw-the-wall .jw-wall-right-sidebar-info {
	position: sticky;
	top: var(--jw-wall-sticky-top);
	z-index: 3;
	max-height: calc(100vh - var(--jw-wall-sticky-gutter));
	overflow-y: auto;
	overflow-x: hidden;
	align-self: flex-start;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

.jw-the-wall__main,
.jw-the-wall .jw-wall-grid-center-main,
.jw-the-wall__main .app-content-scroll,
.jw-the-wall .jw-wall-grid-center-main .app-content-scroll {
	min-width: 0;
}

/*
|--------------------------------------------------------------------------
| Member Card (castnation-live) — SSOT (§5E-h) — semantic jw- classes only
|--------------------------------------------------------------------------
| Bricks `*_castnation-live_member-card*.bricks.json` v6.2.0.12+ pairs with this block.
| No #brxe-* / element-id selectors. Root = `.jw-wall-member-card.jw-mc-card`.
| Bottom anchor: text stack 16px from card inner bottom; last line of name = stack foot.
|--------------------------------------------------------------------------
*/
:root {
	--jw-mc-padding: 16px;
	--jw-mc-radius: 16px;
	--jw-mc-bg-fallback: #e2e8f0;
	--jw-mc-border: #e3eaf2;
	--jw-mc-name-shadow: rgba(0, 0, 0, 0.85);
	--jw-status-online: #10b981;
	--jw-status-offline: #94a3b8;
	--jw-mc-motion: 400ms cubic-bezier(0.22, 1, 0.36, 1);
	--jw-mc-lift: translateY(-4px);
	--jw-mc-heart-rose: #fb7185;
	/* Like-ring: same vertical center as `.jw-mc-status-dot` (top/left = --jw-mc-padding, dot = --jw-mc-status-dot-size) */
	--jw-mc-status-dot-size: 10px;
	--jw-mc-action-ring: 28px;
}

.jw-wall-member-card.jw-mc-card {
	container-type: inline-size !important;
	isolation: isolate;
	position: relative;
	z-index: 2;
	border-radius: var(--jw-mc-radius) !important;
	background-color: var(--jw-mc-bg-fallback) !important;
	border-color: var(--jw-mc-border) !important;
	will-change: transform, box-shadow;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
	transform: translateY(0);
	transition:
		box-shadow var(--jw-mc-motion),
		transform var(--jw-mc-motion);
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot {
	position: absolute !important;
	/* Center Y = padding + half dot, same as status dot geometry (v6.2.0.12) */
	top: calc(var(--jw-mc-padding) + (var(--jw-mc-status-dot-size) / 2) - (var(--jw-mc-action-ring) / 2)) !important;
	right: var(--jw-mc-padding) !important;
	width: var(--jw-mc-action-ring) !important;
	height: var(--jw-mc-action-ring) !important;
	background: rgba(255, 255, 255, 0.15) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	/* v6.2.0.12: smaller ring, aligned to status-dot center; Jet __icon unchanged */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot > * {
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link,
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link-wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

/* Heart: motion + saved-state rose (v6.2.0.12); Jet __icon + i (FA ::before) */
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link,
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link i {
	transition: color var(--jw-mc-motion), filter var(--jw-mc-motion), text-shadow var(--jw-mc-motion);
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link__icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	flex: 1 1 auto;
	min-height: 0;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link {
	display: grid !important;
	place-items: center !important;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link i {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 0 !important;
	width: 1em !important;
	height: 1em !important;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link:not(.in-store):not(.jet-data-store-link--in-store):not(.user-bookmarks-added),
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link:not(.in-store):not(.jet-data-store-link--in-store):not(.user-bookmarks-added) i {
	color: rgba(255, 255, 255, 0.92) !important;
	background: transparent !important;
}

.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link.in-store i,
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link.jet-data-store-link--in-store i,
.jw-wall-member-card.jw-mc-card .app-card-action-slot .jet-data-store-link.user-bookmarks-added i {
	color: var(--jw-mc-heart-rose) !important;
}

.jw-wall-member-card.jw-mc-card:hover .app-card-action-slot .jet-data-store-link i,
.jw-wall-member-card.jw-mc-card:focus-within .app-card-action-slot .jet-data-store-link i {
	text-shadow: 0 0 12px rgba(251, 113, 133, 0.5);
}

.jw-wall-member-card:hover,
.jw-wall-member-card:focus-within {
	z-index: 40;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02), 0 10px 15px rgba(0, 0, 0, 0.05), 0 20px 25px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
	transform: var(--jw-mc-lift);
}

.jw-wall-member-card .jw-wall-member-card__scrim {
	transition: opacity var(--jw-mc-motion);
	opacity: 0.72;
}

.jw-wall-member-card:hover .jw-wall-member-card__scrim,
.jw-wall-member-card:focus-within .jw-wall-member-card__scrim {
	opacity: 0.95;
}

/* Text stack: bottom 16px; flex-end so long names grow upward (§5E-g) */
.jw-wall-member-card .jw-mc-text-stack {
	position: absolute !important;
	left: var(--jw-mc-padding) !important;
	right: var(--jw-mc-padding) !important;
	bottom: var(--jw-mc-padding) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: calc(100% - 32px) !important;
	box-sizing: border-box !important;
	z-index: 12 !important;
	text-align: left !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	row-gap: 2px !important;
	column-gap: 0 !important;
}

.jw-wall-member-card .jw-mc-text-stack > * {
	position: relative !important;
	margin: 0 !important;
	inset: auto !important;
	left: 0 !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
}

.jw-wall-member-card .jw-mc-text-stack .jw-card-label {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

.jw-wall-member-card .jw-card-label {
	text-align: left !important;
	padding-left: 4px;
	box-sizing: border-box;
	transition: transform var(--jw-mc-motion), opacity var(--jw-mc-motion);
}

.jw-wall-member-card .jw-mc-text-stack .jw-card-label--cat {
	margin-bottom: 0 !important;
}

.jw-wall-member-card .jw-card-label--cat {
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 700;
	line-height: 1.2;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(8px, 2cqi, 9px) !important;
}

.jw-wall-member-card .jw-card-label--loc {
	font-size: clamp(10px, 2.5cqi, 11px) !important;
	opacity: 0.85;
}

.jw-wall-member-card .jw-card-label--name {
	text-shadow: 0 2px 12px var(--jw-mc-name-shadow) !important;
	font-weight: 600;
	color: #ffffff;
	font-size: clamp(14px, 4cqi, 16px) !important;
	line-height: 1.1 !important;
	max-width: 100% !important;
	overflow-wrap: break-word !important;
}

.jw-wall-member-card .jw-card-label--name .bricks-heading,
.jw-wall-member-card .jw-card-label--name h4 {
	line-height: 1.1 !important;
	max-width: 100% !important;
	overflow-wrap: break-word !important;
	font-size: inherit !important;
}

/* Card lift = root translateY; labels inherit motion (v6.2.0.9 SSOT) */
.jw-wall-member-card:hover .jw-card-label,
.jw-wall-member-card:focus-within .jw-card-label {
	transform: none;
}

.jw-wall-member-card .jw-mc-status-dot {
	width: var(--jw-mc-status-dot-size);
	height: var(--jw-mc-status-dot-size);
	border-radius: 50%;
	border: 1.5px solid #fff;
	position: absolute;
	top: var(--jw-mc-padding);
	left: var(--jw-mc-padding);
	z-index: 10;
	pointer-events: none;
	background-color: var(--jw-status-offline);
}

.jw-wall-member-card .jw-mc-status-dot.jw-mc-status--online {
	background-color: var(--jw-status-online);
}

.jw-wall-member-card .jw-mc-status-dot.jw-mc-status--offline {
	background-color: var(--jw-status-offline);
}

.jw-wall-member-card[data-status="publish"] .jw-mc-status-dot {
	background-color: var(--jw-status-online);
}

.jw-wall-member-card[data-status="draft"] .jw-mc-status-dot,
.jw-wall-member-card[data-status="pending"] .jw-mc-status-dot,
.jw-wall-member-card[data-status="private"] .jw-mc-status-dot {
	background-color: var(--jw-status-offline);
}

@media (max-width: 767px) {
	.jw-wall-member-card .jw-card-label--name {
		line-height: 1.1 !important;
	}
}

.jw-wall-member-card .brxe-image:not(.tag),
.jw-wall-member-card .brxe-image img,
.jw-wall-member-card .brxe-image picture,
.jw-wall-member-card .brxe-image .bricks-image {
	width: 100%;
	height: 100%;
	max-width: none;
	display: block;
	object-fit: cover;
}

.jw-wall-member-card .jw-mc-image.brxe-image img,
.jw-wall-member-card .jw-mc-image.brxe-image picture,
.jw-wall-member-card .jw-mc-image.brxe-image .bricks-image,
.jw-wall-member-card .brxe-image img,
.jw-wall-member-card .brxe-image picture,
.jw-wall-member-card .brxe-image .bricks-image {
	transform: scale(1);
	transform-origin: center center;
	transition: transform var(--jw-mc-motion);
}

.jw-wall-member-card:hover .jw-mc-image.brxe-image img,
.jw-wall-member-card:focus-within .jw-mc-image.brxe-image img,
.jw-wall-member-card:hover .jw-mc-image.brxe-image picture,
.jw-wall-member-card:focus-within .jw-mc-image.brxe-image picture,
.jw-wall-member-card:hover .jw-mc-image.brxe-image .bricks-image,
.jw-wall-member-card:focus-within .jw-mc-image.brxe-image .bricks-image,
.jw-wall-member-card:hover .brxe-image img,
.jw-wall-member-card:focus-within .brxe-image img,
.jw-wall-member-card:hover .brxe-image picture,
.jw-wall-member-card:focus-within .brxe-image picture,
.jw-wall-member-card:hover .brxe-image .bricks-image,
.jw-wall-member-card:focus-within .brxe-image .bricks-image {
	transform: scale(1.05);
}

.jw-wall-member-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	min-height: 40%;
	height: 40%;
	pointer-events: none;
	z-index: 4;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.46) 100%);
}

/*
|--------------------------------------------------------------------------
| Join / registration (page ID 64) — canvas + typographic rhythm
|--------------------------------------------------------------------------
| Complements Bricks layout on the JetForm block (max-width, card surface).
| Header/footer: assign in Bricks Theme Builder / page template when ready.
*/
body.page-id-64.bricks-is-frontend #brx-content {
	background-color: var(--jw-bg-main);
	padding: clamp(1.5rem, 5vw, 4rem) 1rem 4rem;
	min-height: 65vh;
}

/* Hide stray empty Section below the form (no JetForm inside). Safe if structure changes. */
body.page-id-64 #brxe-divynz.brxe-section:not(:has(.jet-form-builder)) {
	display: none !important;
}

body.page-id-64 .brxe-jet-form-builder-form .jet-form-builder {
	color: var(--jw-text-main);
	font-family: inherit;
}

body.page-id-64 .brxe-jet-form-builder-form .jet-form-builder__label-text {
	font-weight: 600;
}

body.page-id-64 .brxe-jet-form-builder-form .jet-form-builder__submit {
	background-color: var(--jw-primary);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 0.65rem 1.5rem;
	font-weight: 600;
	cursor: pointer;
}

body.page-id-64 .brxe-jet-form-builder-form .jet-form-builder__submit:hover {
	filter: brightness(1.05);
}

/* Demo — Staff user cards (/demo-staff-user-cards/): SSR grid matching Jet listing 854 MVP */
.jw-demo-staff-user-cards__grid[data-jw-demo-staff-cards="1"] {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

@media (max-width: 900px) {
	.jw-demo-staff-user-cards__grid[data-jw-demo-staff-cards="1"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.jw-demo-staff-user-cards__grid[data-jw-demo-staff-cards="1"] {
		grid-template-columns: 1fr;
	}
}

.jw-demo-staff-user-cards__grid[data-jw-demo-staff-cards="1"] .jw-staff-user-card {
	min-width: 0;
}