.gemz-browser {
	max-width: 780px;
	margin: 0 auto;
	font-family: var(--gemz-font-body);
	color: var(--gemz-navy);
}

.gemz-browser h2,
.gemz-browser h3 {
	font-family: var(--gemz-font-display);
}

.gemz-browser-step {
	display: none;
}

.gemz-browser-step.is-active {
	display: block;
}

/* Step 1: industry icon grid - the one "dark, cinematic" moment in the
   browser; steps 2/3 stay light/white like the rest of the site. */
.gemz-browser-step[data-step="industry"] {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse at 50% -10%, rgba(124, 58, 237, 0.35) 0%, rgba(47, 111, 237, 0) 45%),
		linear-gradient(180deg, #0B1220 0%, #05070C 100%);
	border-radius: 28px;
	padding: 48px 28px 40px;
	box-shadow: 0 24px 60px rgba(11, 18, 32, 0.35);
}

.gemz-browser-step[data-step="industry"] h2 {
	color: #ffffff;
	text-align: center;
}

.gemz-industry-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.gemz-industry-card {
	background: var(--gemz-white);
	border: 1px solid var(--gemz-line);
	border-radius: var(--gemz-radius);
	padding: 22px 16px;
	text-align: center;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gemz-industry-card:hover,
.gemz-industry-card:focus-visible {
	transform: translateY(-3px);
	box-shadow: var(--gemz-shadow-lg);
	border-color: var(--gemz-blue);
	outline: none;
}

.gemz-industry-card .gemz-badge {
	margin: 0 auto 14px;
}

.gemz-industry-card span {
	display: block;
	font-weight: 700;
	font-size: 14px;
	color: var(--gemz-navy);
}

/* Steps 2 & 3 need their own explicit light card too - this widget is now
   frequently embedded inside a dark glassmorphic hero card (see
   .gemz-hero-widget-card in gemz-frontend-theme.css), so a step that just
   inherits "whatever's behind it" can end up rendering dark navy heading
   text on a near-black background, unreadable. Giving every step its own
   opaque white surface keeps steps 2/3 reliably light regardless of what
   they're embedded in. */
.gemz-browser-step[data-step="location"],
.gemz-browser-step[data-step="offers"] {
	background: var(--gemz-white);
	border-radius: 28px;
	padding: 32px 28px;
	box-shadow: var(--shadow-floating, var(--gemz-shadow-lg));
}

.gemz-browser-step[data-step="location"] h2,
.gemz-browser-step[data-step="offers"] h2 {
	color: var(--gemz-navy);
}

/* Step 2: location entry */
.gemz-location-form {
	margin-top: 20px;
	background: var(--gemz-bg);
	border: 1px solid var(--gemz-line);
	border-radius: var(--gemz-radius);
	padding: 24px;
	box-shadow: none;
}

.gemz-location-form label {
	font-size: 13px;
	font-weight: 600;
	color: var(--gemz-slate);
	display: block;
	margin-bottom: 6px;
}

.gemz-location-form input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--gemz-line);
	border-radius: var(--gemz-radius-sm);
	font-size: 16px;
	margin-bottom: 16px;
	background: var(--gemz-bg);
}

.gemz-location-form input:focus {
	outline: none;
	border-color: var(--gemz-blue);
	box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.15);
	background: var(--gemz-white);
}

.gemz-btn {
	display: inline-block;
	padding: 12px 24px;
	background: var(--gemz-blue);
	color: var(--gemz-white);
	border: none;
	border-radius: var(--gemz-radius-sm);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease;
}

.gemz-btn:hover {
	background: var(--gemz-blue-dark);
	color: var(--gemz-white);
}

.gemz-btn-ghost {
	background: transparent;
	color: var(--gemz-slate);
	border: 1px solid var(--gemz-line);
	font-weight: 600;
	padding: 10px 18px;
}

.gemz-btn-ghost:hover {
	background: var(--gemz-bg);
	color: var(--gemz-navy);
}

/* Step 3: offer results */
.gemz-offers-list {
	margin-top: 20px;
	display: grid;
	gap: 14px;
}

.gemz-offer-card {
	background: var(--gemz-white);
	border: 1px solid var(--gemz-line);
	border-radius: var(--gemz-radius);
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-shadow: var(--gemz-shadow);
}

.gemz-offer-card h4 {
	margin: 0 0 4px;
	font-family: var(--gemz-font-display);
	font-size: 17px;
}

.gemz-offer-card p {
	margin: 0;
	color: var(--gemz-slate);
	font-size: 14px;
}

.gemz-empty-state {
	margin-top: 20px;
	padding: 30px;
	text-align: center;
	background: var(--gemz-bg);
	border-radius: var(--gemz-radius);
	color: var(--gemz-slate);
}

.gemz-breadcrumb {
	margin-bottom: 16px;
}

.gemz-breadcrumb button {
	background: none;
	border: none;
	color: var(--gemz-blue);
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	font-size: 14px;
}
