@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
	--gc-primary: #8c1c26;
	--gc-secondary: #2b2b2b;
	--gc-gold: #c9a85c;
	--gc-bg: #f6f1eb;
	--gc-text: #1e1e1e;
	--gc-muted: #6b7280;
	--gc-border: #e5e7eb;
	--gc-card: #ffffff;
	--gc-radius: 20px;
	--gc-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	--gc-shadow-soft: 0 24px 60px rgba(15, 23, 42, 0.08);
	--gc-shadow-floating: 0 22px 52px rgba(15, 23, 42, 0.14);
	--gc-max-width: 1280px;
	--gc-container-padding: clamp(16px, 2.6vw, 32px);
	--gc-section-padding: clamp(48px, 7vw, 88px);
	--gc-input-height: 52px;
	--gc-button-height: 50px;

	--gc-color-primary: #8c1c26;
	--gc-color-primary-strong: #741720;
	--gc-color-primary-soft: rgba(140, 28, 38, 0.08);
	--gc-color-secondary: #2b2b2b;
	--gc-color-accent: #c9a85c;
	--gc-color-accent-soft: rgba(201, 168, 92, 0.16);
	--gc-color-cream: #f6f1eb;
	--gc-color-white: #ffffff;
	--gc-color-surface: #fffcfa;
	--gc-color-surface-subtle: #f8f4ef;
	--gc-color-surface-muted: #f1ebe4;
	--gc-color-surface-strong: #f0e7de;
	--gc-color-border: rgba(43, 43, 43, 0.1);
	--gc-color-border-strong: rgba(43, 43, 43, 0.16);
	--gc-color-text: #2b2b2b;
	--gc-color-text-muted: rgba(43, 43, 43, 0.66);
	--gc-color-text-soft: rgba(43, 43, 43, 0.48);
	--gc-color-success: #1f7a4a;
	--gc-color-success-soft: rgba(31, 122, 74, 0.12);
	--gc-color-warning: #9a6b12;
	--gc-color-warning-soft: rgba(154, 107, 18, 0.14);
	--gc-color-danger: #b63b45;
	--gc-color-danger-soft: rgba(182, 59, 69, 0.12);
	--gc-color-info: #7a6750;
	--gc-color-info-soft: rgba(122, 103, 80, 0.12);
	--gc-color-overlay: rgba(32, 24, 22, 0.42);

	--gc-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--gc-font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", monospace;

	--gc-text-h1: 3rem;
	--gc-text-h2: 2.25rem;
	--gc-text-h3: 1.75rem;
	--gc-text-h4: 1.375rem;
	--gc-text-body: 1rem;
	--gc-text-small: 0.875rem;
	--gc-text-caption: 0.75rem;
	--gc-line-tight: 1.08;
	--gc-line-body: 1.65;
	--gc-letter-tight: -0.03em;

	--gc-space-1: 4px;
	--gc-space-2: 8px;
	--gc-space-3: 12px;
	--gc-space-4: 16px;
	--gc-space-5: 24px;
	--gc-space-6: 32px;
	--gc-space-7: 48px;
	--gc-space-8: 64px;

	--gc-radius-card: 20px;
	--gc-radius-button: 14px;
	--gc-radius-input: 14px;
	--gc-radius-pill: 999px;

	--gc-shadow-xs: 0 1px 2px rgba(43, 43, 43, 0.04);
	--gc-shadow-sm: 0 10px 24px rgba(43, 43, 43, 0.05);
	--gc-shadow-md: 0 18px 40px rgba(43, 43, 43, 0.07);
	--gc-shadow-lg: 0 28px 56px rgba(43, 43, 43, 0.08);

	--gc-transition-fast: 0.16s ease;
	--gc-transition-base: 0.2s ease;
	--gc-focus-ring: 0 0 0 4px rgba(140, 28, 38, 0.12);

	--gc-container-xs: 720px;
	--gc-container-sm: 960px;
	--gc-container-md: 1160px;
	--gc-container-lg: 1280px;
	--gc-grid-gap: 24px;
}

@media (max-width: 767px) {
	:root {
		--gc-text-h1: 2.125rem;
		--gc-text-h2: 1.75rem;
		--gc-text-h3: 1.375rem;
		--gc-text-h4: 1.125rem;
	}
}

::selection {
	background: var(--gc-color-primary-soft);
	color: var(--gc-color-text);
}

html {
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}

body .gc-app-shell,
body .gc-public-page,
body .gc-dashboard,
body .gc-admin-wrap,
body .gc-admin-wrap *,
body .gc-public-page *,
body .gc-dashboard * {
	font-family: var(--gc-font-sans);
}

body .gc-app-shell,
body .gc-public-page,
body .gc-dashboard,
body .gc-admin-wrap {
	color: var(--gc-color-text);
	overflow-x: clip;
}

body.gc-is-loading {
	cursor: progress;
}

html {
	scrollbar-width: thin;
	scrollbar-color: rgba(140, 28, 38, 0.24) rgba(43, 43, 43, 0.06);
}

*::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

*::-webkit-scrollbar-track {
	background: rgba(43, 43, 43, 0.05);
}

*::-webkit-scrollbar-thumb {
	border: 2px solid transparent;
	border-radius: 999px;
	background: rgba(140, 28, 38, 0.2);
	background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
	background: rgba(140, 28, 38, 0.3);
	background-clip: padding-box;
}

.gc-app-shell *,
.gc-public-page *,
.gc-dashboard *,
.gc-admin-wrap * {
	box-sizing: border-box;
	min-width: 0;
}

.gc-app-shell a,
.gc-public-page a,
.gc-dashboard a,
.gc-admin-wrap a {
	color: inherit;
}

.gc-app-shell img,
.gc-public-page img,
.gc-dashboard img,
.gc-admin-wrap img {
	display: block;
	max-width: 100%;
}

.gc-container {
	width: min(var(--gc-max-width), calc(100% - (var(--gc-container-padding) * 2)));
	margin: 0 auto;
}

.gc-section {
	padding: var(--gc-section-padding) 0;
}

.gc-grid {
	display: grid;
	gap: var(--gc-grid-gap);
}

.gc-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gc-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gc-title {
	margin: 0;
	color: var(--gc-color-text);
	font-size: clamp(1.4rem, 2.2vw, 2.2rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: var(--gc-letter-tight);
}

.gc-title-sm {
	font-size: clamp(1.05rem, 1.4vw, 1.28rem);
}

.gc-title-lg {
	font-size: clamp(2rem, 4.2vw, 3.4rem);
}

.gc-muted {
	color: var(--gc-color-text-muted);
}

.gc-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid rgba(148, 163, 184, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--gc-color-secondary);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: var(--gc-shadow-xs);
}

.gc-card-flat {
	border: 1px solid rgba(226, 232, 240, 0.9);
	border-radius: calc(var(--gc-radius) + 4px);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--gc-shadow);
}

.gc-surface-soft {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(248, 244, 239, 0.72));
}

.gc-section-heading,
.gc-form-panel-heading,
.gc-panel-heading,
.gc-panel-heading-inline,
.gc-admin-panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--gc-space-4);
	flex-wrap: wrap;
}

.gc-section-heading {
	margin-bottom: var(--gc-space-5);
}

.gc-section-heading-tight {
	margin-bottom: var(--gc-space-4);
}

.gc-section-heading h1,
.gc-section-heading h2,
.gc-section-heading h3,
.gc-form-panel-heading h3,
.gc-panel-heading h2,
.gc-panel-heading-inline h2,
.gc-admin-hero h1,
.gc-admin-panel h2,
.gc-company-brand h1,
.gc-hero-copy h1 {
	margin: 0;
	color: var(--gc-color-text);
	line-height: var(--gc-line-tight);
	letter-spacing: var(--gc-letter-tight);
}

.gc-section-heading h1,
.gc-admin-hero h1,
.gc-company-brand h1,
.gc-hero-copy h1 {
	font-size: var(--gc-text-h1);
}

.gc-section-heading h2,
.gc-panel-heading h2,
.gc-panel-heading-inline h2,
.gc-admin-panel h2 {
	font-size: var(--gc-text-h2);
}

.gc-form-panel-heading h3,
.gc-section-heading h3 {
	font-size: var(--gc-text-h3);
}

.gc-section-heading p,
.gc-admin-hero p,
.gc-admin-panel p,
.gc-form-panel-heading p,
.gc-panel-heading p,
.gc-panel-heading-inline p,
.gc-company-brand p,
.gc-hero-copy p {
	margin: var(--gc-space-3) 0 0;
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-body);
	line-height: var(--gc-line-body);
}

.gc-eyebrow,
.gc-admin-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--gc-space-2);
	margin-bottom: var(--gc-space-3);
	font-size: var(--gc-text-caption);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-color-primary);
}

.gc-card,
.gc-panel-card,
.gc-search-form,
.gc-dashboard-panel,
.gc-dashboard-company-card,
.gc-empty-state,
.gc-empty-panel,
.gc-form-panel,
.gc-company-preview,
.gc-dashboard-header,
.gc-dashboard-stat-card,
.gc-dashboard-media-summary,
.gc-dashboard-info-card,
.gc-dashboard-last-contact,
.gc-dashboard-request-card,
.gc-dashboard-contact-card,
.gc-admin-hero,
.gc-admin-panel,
.gc-admin-card,
.gc-admin-stat,
.gc-roadmap-item,
.gc-admin-status-item,
.gc-admin-company-item,
.gc-admin-table-head,
.gc-admin-table-row,
.gc-admin-log-item,
.gc-admin-alert,
.gc-admin-stack,
.gc-plan-card,
.gc-catalog-card,
.gc-promotion-card,
.gc-promo-list-card,
.gc-event-card,
.gc-company-review-card,
.gc-review-card,
.gc-catalog-quote-drawer,
.gc-search-suggestions,
.gc-modal-panel,
.gc-dropdown-menu {
	border: 1px solid var(--gc-color-border);
	border-radius: var(--gc-radius-card);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--gc-shadow-sm);
}

.gc-card,
.gc-panel-card,
.gc-dashboard-company-card,
.gc-admin-stat,
.gc-plan-card,
.gc-catalog-card,
.gc-promotion-card,
.gc-promo-list-card,
.gc-event-card,
.gc-company-review-card,
.gc-review-card,
.gc-admin-table-row,
.gc-admin-status-item,
.gc-admin-company-item,
.gc-admin-log-item,
.gc-admin-stack,
.gc-dashboard-request-card,
.gc-dashboard-contact-card {
	transition:
		transform var(--gc-transition-base),
		box-shadow var(--gc-transition-base),
		border-color var(--gc-transition-base),
		background-color var(--gc-transition-base);
}

.gc-card:hover,
.gc-panel-card:hover,
.gc-dashboard-company-card:hover,
.gc-admin-stat:hover,
.gc-plan-card:hover,
.gc-catalog-card:hover,
.gc-promotion-card:hover,
.gc-promo-list-card:hover,
.gc-event-card:hover,
.gc-company-review-card:hover,
.gc-review-card:hover,
.gc-dashboard-request-card:hover,
.gc-dashboard-contact-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--gc-shadow-md);
	border-color: var(--gc-color-border-strong);
}

.gc-card:active,
.gc-panel-card:active,
.gc-dashboard-company-card:active,
.gc-plan-card:active,
.gc-catalog-card:active,
.gc-promotion-card:active,
.gc-promo-list-card:active,
.gc-event-card:active,
.gc-company-review-card:active,
.gc-review-card:active {
	transform: translateY(-1px);
}

.gc-primary-button,
.gc-secondary-button,
.gc-link-button,
.button.button-primary,
.button.button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--gc-space-2);
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: var(--gc-radius-button);
	font-size: var(--gc-text-small);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: normal;
	text-align: center;
	cursor: pointer;
	transition:
		transform var(--gc-transition-base),
		box-shadow var(--gc-transition-base),
		background-color var(--gc-transition-base),
		border-color var(--gc-transition-base),
		color var(--gc-transition-base),
		opacity var(--gc-transition-base);
}

.gc-button,
.gc-button-primary,
.gc-button-secondary,
.gc-button-outline,
.gc-button-ghost,
.gc-button-danger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--gc-button-height);
	padding: 0 18px;
	border-radius: 16px;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: all 0.2s ease;
}

.gc-primary-button,
.button.button-primary {
	background: var(--gc-color-primary);
	color: var(--gc-color-cream);
	box-shadow: 0 10px 22px rgba(140, 28, 38, 0.16);
}

.gc-primary-button,
.gc-secondary-button,
.gc-link-button,
.button.button-primary,
.button.button-secondary,
.gc-button,
.gc-button-primary,
.gc-button-secondary,
.gc-button-outline,
.gc-button-ghost,
.gc-button-danger {
	min-height: var(--gc-button-height);
	padding-inline: 18px;
	border-radius: 16px;
	white-space: nowrap;
}

.gc-primary-button:hover,
.button.button-primary:hover {
	background: var(--gc-color-primary-strong);
	color: var(--gc-color-cream);
	transform: translateY(-1px);
	box-shadow: 0 14px 26px rgba(140, 28, 38, 0.18);
}

.gc-primary-button:active,
.gc-secondary-button:active,
.gc-link-button:active,
.button.button-primary:active,
.button.button-secondary:active {
	transform: translateY(0) scale(0.985);
}

.gc-secondary-button,
.gc-link-button,
.button.button-secondary {
	background: rgba(255, 255, 255, 0.94);
	color: var(--gc-color-accent);
	border-color: var(--gc-color-border);
}

.gc-secondary-button:hover,
.gc-link-button:hover,
.button.button-secondary:hover {
	background: var(--gc-color-surface-subtle);
	border-color: var(--gc-color-border-strong);
	transform: translateY(-1px);
}

.gc-link-button {
	background: transparent;
}

.gc-button-outline {
	border: 1px solid rgba(148, 163, 184, 0.28);
	background: rgba(255, 255, 255, 0.86);
	color: var(--gc-color-secondary);
	box-shadow: var(--gc-shadow-xs);
}

.gc-button-outline:hover {
	border-color: rgba(43, 43, 43, 0.18);
	background: rgba(255, 255, 255, 0.98);
	transform: translateY(-1px);
}

.gc-button-ghost {
	border: 1px solid transparent;
	background: transparent;
	color: var(--gc-color-text-muted);
}

.gc-button-ghost:hover {
	background: rgba(255, 255, 255, 0.72);
	color: var(--gc-color-text);
	transform: translateY(-1px);
}

.gc-button-danger {
	border: 1px solid rgba(182, 59, 69, 0.16);
	background: rgba(182, 59, 69, 0.08);
	color: var(--gc-color-danger);
}

.gc-button-danger:hover {
	background: rgba(182, 59, 69, 0.14);
	border-color: rgba(182, 59, 69, 0.24);
	transform: translateY(-1px);
}

.gc-primary-button.is-loading,
.gc-secondary-button.is-loading,
.gc-link-button.is-loading,
button.is-loading {
	pointer-events: none;
	opacity: 0.84;
}

.gc-primary-button.is-loading::after,
.gc-secondary-button.is-loading::after,
.gc-link-button.is-loading::after,
button.is-loading::after {
	content: "";
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: gc-spin 0.8s linear infinite;
}

.gc-primary-button[disabled],
.gc-secondary-button[disabled],
.gc-link-button[disabled],
button[disabled] {
	opacity: 0.56;
	cursor: not-allowed;
	transform: none;
}

.gc-primary-button:focus-visible,
.gc-secondary-button:focus-visible,
.gc-link-button:focus-visible,
.button.button-primary:focus-visible,
.button.button-secondary:focus-visible,
.gc-search-main input:focus-visible,
.gc-search-side select:focus-visible,
.gc-form-field input:focus-visible,
.gc-form-field select:focus-visible,
.gc-form-field textarea:focus-visible,
.gc-field input:focus-visible,
.gc-field select:focus-visible,
.gc-field textarea:focus-visible,
.gc-site-nav a:focus-visible,
.gc-mobile-nav a:focus-visible,
.gc-dashboard-nav a:focus-visible,
.gc-admin-company-item a:focus-visible {
	outline: none;
	box-shadow: var(--gc-focus-ring);
}

.gc-app-shell :where(
	a[href],
	button,
	[role="button"],
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"])
):focus-visible,
.gc-public-page :where(
	a[href],
	button,
	[role="button"],
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"])
):focus-visible,
.gc-dashboard :where(
	a[href],
	button,
	[role="button"],
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"])
):focus-visible {
	outline: none;
	box-shadow: var(--gc-focus-ring);
}

.gc-search-main input,
.gc-search-side select,
.gc-form-field input,
.gc-form-field select,
.gc-form-field textarea,
.gc-field input,
.gc-field select,
.gc-field textarea,
.gc-admin-form input,
.gc-admin-form select,
.gc-admin-form textarea,
.gc-review-form input,
.gc-review-form select,
.gc-review-form textarea,
.widefat input,
.widefat select,
.widefat textarea {
	width: 100%;
	min-height: var(--gc-input-height);
	padding: 14px 16px;
	border: 1px solid var(--gc-color-border);
	border-radius: var(--gc-radius-input);
	background: rgba(255, 255, 255, 0.92);
	color: var(--gc-color-text);
	font-size: var(--gc-text-body);
	line-height: 1.5;
	transition:
		border-color var(--gc-transition-base),
		box-shadow var(--gc-transition-base),
		background-color var(--gc-transition-base),
		transform var(--gc-transition-base);
}

.gc-form-field textarea,
.gc-field textarea,
.gc-admin-form textarea,
.gc-review-form textarea,
.widefat textarea {
	min-height: 120px;
	resize: vertical;
}

.gc-search-main input::placeholder,
.gc-form-field input::placeholder,
.gc-form-field textarea::placeholder,
.gc-field input::placeholder,
.gc-field textarea::placeholder,
.gc-review-form input::placeholder,
.gc-review-form textarea::placeholder {
	color: var(--gc-color-text-soft);
}

.gc-search-main input:focus,
.gc-search-side select:focus,
.gc-form-field input:focus,
.gc-form-field select:focus,
.gc-form-field textarea:focus,
.gc-field input:focus,
.gc-field select:focus,
.gc-field textarea:focus,
.gc-admin-form input:focus,
.gc-admin-form select:focus,
.gc-admin-form textarea:focus,
.gc-review-form input:focus,
.gc-review-form select:focus,
.gc-review-form textarea:focus,
.widefat input:focus,
.widefat select:focus,
.widefat textarea:focus {
	outline: none;
	border-color: rgba(140, 28, 38, 0.28);
	box-shadow: var(--gc-focus-ring);
	background: var(--gc-color-white);
}

.gc-search-main input[aria-invalid="true"],
.gc-search-side select[aria-invalid="true"],
.gc-form-field input[aria-invalid="true"],
.gc-form-field select[aria-invalid="true"],
.gc-form-field textarea[aria-invalid="true"],
.gc-field input[aria-invalid="true"],
.gc-field select[aria-invalid="true"],
.gc-field textarea[aria-invalid="true"] {
	border-color: rgba(182, 59, 69, 0.38);
	box-shadow: 0 0 0 4px rgba(182, 59, 69, 0.08);
	background: rgba(255, 248, 248, 0.96);
}

.gc-search-main input:hover,
.gc-search-side select:hover,
.gc-form-field input:hover,
.gc-form-field select:hover,
.gc-form-field textarea:hover,
.gc-field input:hover,
.gc-field select:hover,
.gc-field textarea:hover,
.gc-admin-form input:hover,
.gc-admin-form select:hover,
.gc-admin-form textarea:hover,
.gc-review-form input:hover,
.gc-review-form select:hover,
.gc-review-form textarea:hover {
	border-color: rgba(43, 43, 43, 0.16);
	background: rgba(255, 255, 255, 0.98);
}

.gc-form-grid,
.gc-admin-grid,
.gc-admin-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gc-space-4);
}

.gc-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.gc-plan-grid-dashboard {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gc-form-field,
.gc-field {
	display: grid;
	gap: var(--gc-space-2);
}

.gc-form-field,
.gc-field,
.comment-form-author,
.comment-form-email,
.comment-form-rating,
.comment-form-comment {
	transition:
		transform var(--gc-transition-fast),
		opacity var(--gc-transition-fast);
}

.gc-form-field-full,
.gc-field-wide {
	grid-column: 1 / -1;
}

.gc-form-field label,
.gc-field label,
.gc-review-form label,
.comment-form label,
.gc-admin-form label {
	display: inline-flex;
	align-items: center;
	gap: var(--gc-space-2);
	font-size: var(--gc-text-small);
	font-weight: 600;
	color: var(--gc-color-text);
}

.gc-input {
	width: 100%;
	min-height: var(--gc-input-height);
	padding: 14px 16px;
	border: 1px solid var(--gc-color-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.96);
	color: var(--gc-color-text);
	font-size: 0.96rem;
	line-height: 1.5;
}

.gc-input:focus {
	outline: none;
	border-color: rgba(140, 28, 38, 0.28);
	box-shadow: var(--gc-focus-ring);
}

.gc-field-help,
.gc-admin-inline-note,
.gc-review-form-note,
.gc-admin-panel-head span,
.gc-card-meta,
.gc-dashboard-company-meta,
.gc-dashboard-request-meta,
.gc-dashboard-request-note,
.gc-dashboard-contact-card span,
.gc-dashboard-last-contact span,
.gc-dashboard-last-contact p,
.gc-dashboard-info-card p,
.gc-dashboard-media-summary span,
.gc-dashboard-chip-grid span,
.gc-dashboard-company-card p,
.gc-admin-status-item span,
.gc-admin-company-item span,
.gc-admin-table-row span,
.gc-admin-log-item span,
.gc-admin-stack p,
.gc-empty-state p,
.gc-empty-panel p {
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-small);
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.gc-empty-state,
.gc-empty-panel {
	padding: var(--gc-space-5);
	text-align: center;
}

.gc-form-field.is-invalid input,
.gc-form-field.is-invalid select,
.gc-form-field.is-invalid textarea,
.gc-field.is-invalid input,
.gc-field.is-invalid select,
.gc-field.is-invalid textarea,
.comment-form-author.is-invalid input,
.comment-form-email.is-invalid input,
.comment-form-rating.is-invalid select,
.comment-form-comment.is-invalid textarea {
	border-color: rgba(182, 59, 69, 0.32);
	box-shadow: 0 0 0 4px rgba(182, 59, 69, 0.08);
	background: rgba(255, 248, 248, 0.96);
}

.gc-form-field.is-valid input,
.gc-form-field.is-valid select,
.gc-form-field.is-valid textarea,
.gc-field.is-valid input,
.gc-field.is-valid select,
.gc-field.is-valid textarea,
.comment-form-author.is-valid input,
.comment-form-email.is-valid input,
.comment-form-rating.is-valid select,
.comment-form-comment.is-valid textarea {
	border-color: rgba(31, 122, 74, 0.26);
	box-shadow: 0 0 0 4px rgba(31, 122, 74, 0.08);
}

.gc-inline-error {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--gc-color-danger);
	font-size: var(--gc-text-caption);
	font-weight: 600;
	line-height: 1.4;
}

.gc-inline-error::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.gc-mobile-nav a,
.gc-dashboard-nav a,
.gc-mobile-bottom-nav a,
.gc-search-suggestion,
.gc-category-pill,
.gc-home-category-chip,
.gc-home-trend-pill {
	min-height: 44px;
}

.gc-notice,
.gc-admin-alert {
	padding: 14px 16px;
	border-radius: 16px;
	font-size: var(--gc-text-small);
	font-weight: 500;
	animation: gc-rise-in var(--gc-transition-base) ease both;
}

.gc-app-shell h1,
.gc-public-page h1,
.gc-dashboard h1,
.gc-admin-wrap h1 {
	font-size: clamp(2.1rem, 4vw, 3.35rem);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.gc-app-shell h2,
.gc-public-page h2,
.gc-dashboard h2,
.gc-admin-wrap h2 {
	font-size: clamp(1.6rem, 3vw, 2.45rem);
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.gc-app-shell h3,
.gc-public-page h3,
.gc-dashboard h3,
.gc-admin-wrap h3 {
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	line-height: 1.14;
	letter-spacing: -0.03em;
}

.gc-app-shell p,
.gc-public-page p,
.gc-dashboard p,
.gc-admin-wrap p,
.gc-app-shell li,
.gc-public-page li,
.gc-dashboard li,
.gc-admin-wrap li {
	line-height: 1.6;
}

.gc-notice-success,
.gc-admin-alert-success {
	background: var(--gc-color-success-soft);
	border-color: rgba(31, 122, 74, 0.18);
	color: var(--gc-color-success);
}

.gc-notice-error,
.gc-admin-alert-error {
	background: var(--gc-color-danger-soft);
	border-color: rgba(182, 59, 69, 0.18);
	color: var(--gc-color-danger);
}

.gc-notice-warning,
.gc-admin-alert-warning {
	background: var(--gc-color-warning-soft);
	border-color: rgba(154, 107, 18, 0.18);
	color: var(--gc-color-warning);
}

.gc-notice-info,
.gc-admin-alert-info {
	background: var(--gc-color-info-soft);
	border-color: rgba(122, 103, 80, 0.18);
	color: var(--gc-color-info);
}

.gc-company-badges,
.gc-preview-badges,
.gc-dashboard-company-meta,
.gc-dashboard-company-actions,
.gc-dashboard-request-meta,
.gc-dashboard-request-items,
.gc-dashboard-notices,
.gc-site-actions,
.gc-mobile-actions,
.gc-home-category-chip-row,
.gc-card-actions,
.gc-company-actions,
.gc-link-stack,
.gc-action-stack,
.gc-admin-actions,
.gc-admin-actions-wrap,
.gc-admin-chip-list,
.gc-site-footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gc-company-badge,
.gc-preview-badge,
.gc-admin-pill,
.gc-admin-chip,
.gc-search-flag,
.gc-request-status,
.gc-card-tag,
.gc-plan-name,
.gc-catalog-card-type,
.gc-catalog-card-feature,
.gc-promotion-price,
.gc-promotion-expiry,
.gc-catalog-card-category {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: var(--gc-radius-pill);
	font-size: var(--gc-text-caption);
	font-weight: 600;
	line-height: 1;
}

.gc-company-badge,
.gc-preview-badge,
.gc-admin-pill,
.gc-admin-chip,
.gc-search-flag,
.gc-card-tag,
.gc-plan-name,
.gc-catalog-card-category {
	background: var(--gc-color-surface-subtle);
	color: var(--gc-color-text);
	border-color: var(--gc-color-border);
}

.gc-company-badge-featured,
.gc-preview-badge-featured,
.gc-request-status-new {
	background: var(--gc-color-primary-soft);
	color: var(--gc-color-primary);
	border-color: rgba(140, 28, 38, 0.14);
}

.gc-company-badge-premium,
.gc-preview-badge-premium,
.gc-company-badge-spotlight,
.gc-request-status-viewing,
.gc-catalog-card-feature,
.gc-promotion-price {
	background: var(--gc-color-accent-soft);
	color: #7f6020;
	border-color: rgba(201, 168, 92, 0.24);
}

.gc-company-badge-verified,
.gc-preview-badge-verified,
.gc-request-status-replied {
	background: var(--gc-color-success-soft);
	color: var(--gc-color-success);
	border-color: rgba(31, 122, 74, 0.18);
}

.gc-request-status-archived {
	background: rgba(43, 43, 43, 0.08);
	color: var(--gc-color-text-muted);
	border-color: rgba(43, 43, 43, 0.12);
}

.gc-card-tag,
.gc-catalog-card-type,
.gc-catalog-card-category,
.gc-promotion-expiry {
	background: rgba(43, 43, 43, 0.05);
	color: var(--gc-color-text-muted);
	border-color: rgba(43, 43, 43, 0.08);
}

.gc-loading-shimmer,
.gc-promotion-card-fallback,
.gc-card-cover-fallback,
.gc-catalog-card-fallback,
.gc-site-brand-mark {
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.06) 0%,
			rgba(255, 255, 255, 0.22) 50%,
			rgba(255, 255, 255, 0.06) 100%
		),
		linear-gradient(135deg, rgba(140, 28, 38, 0.84), rgba(201, 168, 92, 0.72));
	background-size: 200% 100%, 100% 100%;
	animation: gc-shimmer 1.8s linear infinite;
}

.gc-loading-shimmer {
	width: 100%;
	height: 72px;
	border-radius: 18px;
}

.gc-skeleton-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.gc-skeleton-card,
.gc-skeleton-line {
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.2) 0%,
			rgba(255, 255, 255, 0.52) 50%,
			rgba(255, 255, 255, 0.2) 100%
		),
		linear-gradient(135deg, rgba(241, 235, 228, 0.86), rgba(248, 244, 239, 0.94));
	background-size: 200% 100%, 100% 100%;
	animation: gc-shimmer 1.35s linear infinite;
}

.gc-skeleton-card {
	min-height: 210px;
	border: 1px solid rgba(43, 43, 43, 0.06);
	border-radius: 22px;
}

.gc-skeleton-line {
	height: 12px;
	border-radius: 999px;
}

.gc-skeleton-line-lg {
	height: 16px;
}

.gc-loader-inline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	padding: 10px 14px;
	margin-top: 12px;
	border: 1px solid rgba(43, 43, 43, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.88);
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-small);
	font-weight: 500;
}

.gc-loader-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--gc-color-primary);
	box-shadow:
		0 0 0 0 rgba(140, 28, 38, 0.24),
		12px 0 0 -2px rgba(140, 28, 38, 0.2),
		24px 0 0 -4px rgba(140, 28, 38, 0.16);
	animation: gc-pulse-dot 1s ease infinite;
}

.gc-app-loader {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: grid;
	place-items: center;
	gap: 12px;
	background: rgba(246, 241, 235, 0.72);
	backdrop-filter: blur(10px);
}

.gc-app-loader span {
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-small);
	font-weight: 500;
}

.gc-app-loader-spinner,
.gc-spinner {
	width: 42px;
	height: 42px;
	border: 3px solid rgba(140, 28, 38, 0.14);
	border-top-color: var(--gc-color-primary);
	border-radius: 50%;
	animation: gc-spin 0.8s linear infinite;
}

.gc-toast-stack {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1000;
	display: grid;
	gap: 10px;
	max-width: min(360px, calc(100vw - 32px));
}

.gc-toast {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid rgba(43, 43, 43, 0.08);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--gc-shadow-md);
	color: var(--gc-color-text);
	font-size: var(--gc-text-small);
	line-height: 1.5;
	transform: translateY(8px) scale(0.98);
	opacity: 0;
	transition:
		transform var(--gc-transition-base),
		opacity var(--gc-transition-base),
		border-color var(--gc-transition-base);
}

.gc-toast.is-visible {
	transform: translateY(0) scale(1);
	opacity: 1;
}

.gc-toast-success {
	border-color: rgba(31, 122, 74, 0.16);
	background: rgba(248, 255, 251, 0.96);
}

.gc-toast-error {
	border-color: rgba(182, 59, 69, 0.16);
	background: rgba(255, 249, 250, 0.96);
}

.gc-toast-info {
	border-color: rgba(122, 103, 80, 0.14);
}

.gc-modal-panel,
.gc-dropdown-menu,
.gc-search-suggestions,
.gc-catalog-quote-drawer {
	backdrop-filter: blur(14px);
}

.gc-search-suggestions {
	position: absolute;
	inset: calc(100% + 10px) 0 auto;
	z-index: 20;
	display: grid;
	gap: 8px;
	padding: 10px;
}

.gc-search-suggestion {
	display: grid;
	gap: 4px;
	padding: 12px 14px;
	border-radius: 14px;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.9);
	transition: background-color var(--gc-transition-base), transform var(--gc-transition-base);
}

.gc-search-suggestion:hover {
	background: var(--gc-color-surface-subtle);
	transform: translateY(-1px);
}

.gc-search-suggestion:active {
	transform: translateY(0);
}

.gc-search-suggestion-title {
	font-size: var(--gc-text-small);
	font-weight: 600;
}

.gc-search-suggestion-meta,
.gc-search-suggestion-type {
	font-size: var(--gc-text-caption);
	color: var(--gc-color-text-muted);
}

.gc-switch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.gc-switch input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.gc-switch-ui {
	position: relative;
	width: 52px;
	height: 30px;
	border-radius: var(--gc-radius-pill);
	background: rgba(43, 43, 43, 0.14);
	transition: background-color var(--gc-transition-base);
}

.gc-switch-ui::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--gc-color-white);
	box-shadow: var(--gc-shadow-xs);
	transition: transform var(--gc-transition-base);
}

.gc-switch input:checked + .gc-switch-ui {
	background: var(--gc-color-primary);
}

.gc-switch input:checked + .gc-switch-ui::after {
	transform: translateX(22px);
}

.gc-media-picker,
.gc-media-dropzone,
.gc-media-preview,
.gc-gallery-preview {
	display: grid;
	gap: 12px;
}

.gc-media-dropzone {
	padding: 18px;
	border: 1px dashed rgba(43, 43, 43, 0.16);
	border-radius: var(--gc-radius-card);
	background: var(--gc-color-surface-subtle);
	transition:
		border-color var(--gc-transition-base),
		background-color var(--gc-transition-base),
		transform var(--gc-transition-base);
}

.gc-media-preview,
.gc-gallery-preview {
	min-height: 140px;
	place-items: center;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.72);
	overflow: hidden;
}

.gc-gallery-preview {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 10px;
}

.gc-gallery-preview img {
	width: 100%;
	height: 88px;
	object-fit: cover;
	border-radius: 12px;
}

.gc-dropzone-placeholder {
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-small);
	text-align: center;
}

.gc-media-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gc-catalog-quote-feedback {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	min-height: 24px;
	transition:
		color var(--gc-transition-base),
		opacity var(--gc-transition-base);
}

.gc-catalog-quote-feedback.is-info {
	color: var(--gc-color-text-muted);
}

.gc-catalog-quote-feedback.is-success {
	color: var(--gc-color-success);
}

.gc-catalog-quote-feedback.is-error {
	color: var(--gc-color-danger);
}

.gc-catalog-quote-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	border-top: 1px solid rgba(43, 43, 43, 0.06);
}

.gc-catalog-quote-item:first-child {
	padding-top: 0;
	border-top: 0;
}

.gc-catalog-quote-item strong {
	display: block;
	font-size: var(--gc-text-small);
	line-height: 1.4;
}

.gc-catalog-quote-item span {
	display: block;
	margin-top: 4px;
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-caption);
}

.gc-catalog-quote-item button {
	width: 30px;
	height: 30px;
	border: 1px solid rgba(43, 43, 43, 0.08);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--gc-color-text-muted);
	cursor: pointer;
	transition:
		background-color var(--gc-transition-base),
		color var(--gc-transition-base),
		transform var(--gc-transition-base);
}

.gc-catalog-quote-item button:hover {
	background: rgba(182, 59, 69, 0.08);
	color: var(--gc-color-danger);
}

.gc-catalog-add-button.is-selected {
	background: rgba(140, 28, 38, 0.08);
	color: var(--gc-color-primary);
	border-color: rgba(140, 28, 38, 0.16);
	box-shadow: inset 0 0 0 1px rgba(140, 28, 38, 0.06);
}

.gc-search-form[aria-busy="true"],
[data-gc-catalog-results].is-loading {
	pointer-events: none;
}

[data-gc-catalog-results].is-loading {
	opacity: 0.88;
	transition: opacity var(--gc-transition-base);
}

.gc-hero-shell > *,
.gc-page-shell > *,
.gc-single-grid > *,
.gc-dashboard > *,
.gc-dashboard-main > *,
.gc-dashboard-insight-grid > *,
.gc-dashboard-requests-grid > *,
.gc-catalog-dashboard-grid > *,
.gc-company-editor > *,
.gc-site-footer-grid > *,
.gc-site-header-inner > * {
	min-width: 0;
}

.gc-admin-table,
.gc-admin-log-list,
.gc-admin-alert-list,
.gc-admin-stack-list,
.gc-admin-status-list,
.gc-admin-company-list {
	display: grid;
	gap: 14px;
}

.gc-admin-table-head,
.gc-admin-table-row {
	display: grid;
	grid-template-columns: 1.4fr 0.9fr 0.8fr 1.2fr;
	gap: 14px;
	align-items: center;
	padding: 16px 18px;
}

.gc-admin-table-head {
	background: var(--gc-color-surface-subtle);
	color: var(--gc-color-text-muted);
	font-size: var(--gc-text-caption);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gc-admin-chart {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: end;
	gap: 14px;
	min-height: 220px;
}

.gc-admin-chart-compact {
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gc-admin-chart-col {
	display: grid;
	gap: 8px;
	justify-items: center;
}

.gc-admin-chart-bar-wrap {
	display: flex;
	align-items: end;
	width: 100%;
	min-height: 160px;
	padding: 10px;
	border-radius: 18px;
	background: var(--gc-color-surface-subtle);
	border: 1px solid var(--gc-color-border);
}

.gc-admin-chart-bar {
	display: block;
	width: 100%;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--gc-color-primary), var(--gc-color-primary-strong));
}

.gc-admin-chart-bar-accent {
	background: linear-gradient(180deg, var(--gc-color-accent), #b78c34);
}

.gc-design-system-stack {
	margin-top: var(--gc-space-5);
}

.gc-design-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}

.gc-design-system-title {
	font-size: 2rem;
	margin: 0;
}

.gc-color-swatch {
	background: var(--gc-color-primary);
}

.gc-color-swatch-accent {
	background: var(--gc-color-accent);
}

.gc-color-swatch-secondary {
	background: var(--gc-color-secondary);
}

.gc-surface-muted {
	margin-bottom: 18px;
}

.gc-visually-hidden,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gc-skip-link {
	position: absolute;
	left: 16px;
	top: 16px;
	z-index: 150;
	padding: 12px 16px;
	border-radius: 14px;
	background: var(--gc-color-primary);
	color: var(--gc-color-cream);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transform: translateY(-140%);
	transition: transform var(--gc-transition-fast), box-shadow var(--gc-transition-fast);
}

.gc-skip-link:focus,
.gc-skip-link:focus-visible {
	transform: translateY(0);
	box-shadow: var(--gc-focus-ring);
}

@keyframes gc-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes gc-shimmer {
	0% {
		background-position: 200% 0, 0 0;
	}

	100% {
		background-position: -200% 0, 0 0;
	}
}

@keyframes gc-pulse-dot {
	0%,
	100% {
		transform: scale(0.92);
		opacity: 0.82;
	}

	50% {
		transform: scale(1.08);
		opacity: 1;
	}
}

@keyframes gc-rise-in {
	0% {
		transform: translateY(8px);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (max-width: 1024px) {
	.gc-container {
		width: min(var(--gc-container-md), calc(100% - (var(--gc-container-padding) * 2)));
	}

	.gc-form-grid,
	.gc-admin-grid,
	.gc-admin-form-grid,
	.gc-admin-table-head,
	.gc-admin-table-row {
		grid-template-columns: 1fr;
	}

	.gc-plan-grid,
	.gc-plan-grid-dashboard {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gc-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.gc-section {
		padding: clamp(36px, 8vw, 56px) 0;
	}

	.gc-container {
		width: calc(100% - (var(--gc-container-padding) * 2));
	}

	.gc-primary-button,
	.gc-secondary-button,
	.gc-link-button,
	.button.button-primary,
	.button.button-secondary {
		width: 100%;
	}

	.gc-company-badges,
	.gc-preview-badges,
	.gc-dashboard-notices,
	.gc-site-actions,
	.gc-mobile-actions,
	.gc-home-category-chip-row,
	.gc-card-actions,
	.gc-company-actions,
	.gc-link-stack,
	.gc-action-stack,
	.gc-admin-actions,
	.gc-admin-actions-wrap {
		flex-direction: column;
	}

	.gc-gallery-preview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gc-admin-chart,
	.gc-admin-chart-compact {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.gc-plan-grid,
	.gc-plan-grid-dashboard {
		grid-template-columns: 1fr;
	}

	.gc-grid-2,
	.gc-grid-3,
	.gc-grid-4 {
		grid-template-columns: 1fr;
	}

	.gc-primary-button,
	.gc-secondary-button,
	.gc-link-button,
	.button.button-primary,
	.button.button-secondary,
	.gc-button,
	.gc-button-primary,
	.gc-button-secondary,
	.gc-button-outline,
	.gc-button-ghost,
	.gc-button-danger {
		min-height: 48px;
		white-space: normal;
	}
}

/* Official design system layer */

:root,
[data-gc-theme="light"] {
	color-scheme: light;

	/* Primitive tokens */
	--gc-base-color-brand-500: var(--gc-color-primary);
	--gc-base-color-brand-600: var(--gc-color-primary-strong);
	--gc-base-color-brand-100: var(--gc-color-primary-soft);
	--gc-base-color-accent-500: var(--gc-color-accent);
	--gc-base-color-neutral-0: var(--gc-color-white);
	--gc-base-color-neutral-25: #fdfaf7;
	--gc-base-color-neutral-50: var(--gc-color-surface-subtle);
	--gc-base-color-neutral-100: var(--gc-color-surface-muted);
	--gc-base-color-neutral-200: var(--gc-color-surface-strong);
	--gc-base-color-neutral-300: rgba(148, 163, 184, 0.22);
	--gc-base-color-neutral-400: rgba(100, 116, 139, 0.58);
	--gc-base-color-neutral-700: var(--gc-color-text-muted);
	--gc-base-color-neutral-900: var(--gc-color-text);
	--gc-base-color-success-500: var(--gc-color-success);
	--gc-base-color-success-100: var(--gc-color-success-soft);
	--gc-base-color-warning-500: var(--gc-color-warning);
	--gc-base-color-warning-100: var(--gc-color-warning-soft);
	--gc-base-color-danger-500: var(--gc-color-danger);
	--gc-base-color-danger-100: var(--gc-color-danger-soft);
	--gc-base-color-info-500: var(--gc-color-info);
	--gc-base-color-info-100: var(--gc-color-info-soft);

	--gc-base-space-0: 0;
	--gc-base-space-1: 4px;
	--gc-base-space-2: 8px;
	--gc-base-space-3: 12px;
	--gc-base-space-4: 16px;
	--gc-base-space-5: 20px;
	--gc-base-space-6: 24px;
	--gc-base-space-7: 32px;
	--gc-base-space-8: 40px;
	--gc-base-space-9: 48px;
	--gc-base-space-10: 64px;

	--gc-base-radius-sm: 12px;
	--gc-base-radius-md: 16px;
	--gc-base-radius-lg: 20px;
	--gc-base-radius-xl: 24px;
	--gc-base-radius-2xl: 28px;
	--gc-base-radius-pill: 999px;

	--gc-base-shadow-xs: var(--gc-shadow-xs);
	--gc-base-shadow-sm: var(--gc-shadow-sm);
	--gc-base-shadow-md: var(--gc-shadow-md);
	--gc-base-shadow-lg: var(--gc-shadow-lg);
	--gc-base-shadow-xl: 0 36px 80px rgba(15, 23, 42, 0.14);

	--gc-base-font-family-sans: var(--gc-font-sans);
	--gc-base-font-family-mono: var(--gc-font-mono);
	--gc-base-font-size-caption: var(--gc-text-caption);
	--gc-base-font-size-sm: var(--gc-text-small);
	--gc-base-font-size-md: var(--gc-text-body);
	--gc-base-font-size-lg: var(--gc-text-h4);
	--gc-base-font-size-xl: var(--gc-text-h3);
	--gc-base-font-size-2xl: var(--gc-text-h2);
	--gc-base-font-size-3xl: var(--gc-text-h1);
	--gc-base-line-height-tight: var(--gc-line-tight);
	--gc-base-line-height-body: var(--gc-line-body);
	--gc-base-letter-spacing-tight: var(--gc-letter-tight);

	--gc-base-duration-instant: 120ms;
	--gc-base-duration-fast: 160ms;
	--gc-base-duration-base: 200ms;
	--gc-base-duration-slow: 280ms;
	--gc-base-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
	--gc-base-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);

	--gc-base-icon-xs: 14px;
	--gc-base-icon-sm: 16px;
	--gc-base-icon-md: 18px;
	--gc-base-icon-lg: 20px;
	--gc-base-icon-stroke: 1.85;

	/* Semantic tokens */
	--gc-semantic-primary: var(--gc-base-color-brand-500);
	--gc-semantic-primary-hover: var(--gc-base-color-brand-600);
	--gc-semantic-primary-soft: var(--gc-base-color-brand-100);
	--gc-semantic-secondary: var(--gc-base-color-accent-500);
	--gc-semantic-surface-page: var(--gc-color-cream);
	--gc-semantic-surface-base: var(--gc-color-surface);
	--gc-semantic-surface-muted: var(--gc-color-surface-subtle);
	--gc-semantic-surface-raised: rgba(255, 255, 255, 0.94);
	--gc-semantic-surface-overlay: rgba(255, 255, 255, 0.78);
	--gc-semantic-text-primary: var(--gc-base-color-neutral-900);
	--gc-semantic-text-secondary: var(--gc-base-color-neutral-700);
	--gc-semantic-text-tertiary: var(--gc-color-text-soft);
	--gc-semantic-border-subtle: var(--gc-color-border);
	--gc-semantic-border-strong: var(--gc-color-border-strong);
	--gc-semantic-success: var(--gc-base-color-success-500);
	--gc-semantic-success-soft: var(--gc-base-color-success-100);
	--gc-semantic-warning: var(--gc-base-color-warning-500);
	--gc-semantic-warning-soft: var(--gc-base-color-warning-100);
	--gc-semantic-danger: var(--gc-base-color-danger-500);
	--gc-semantic-danger-soft: var(--gc-base-color-danger-100);
	--gc-semantic-info: var(--gc-base-color-info-500);
	--gc-semantic-info-soft: var(--gc-base-color-info-100);
	--gc-semantic-focus-ring: 0 0 0 4px color-mix(in srgb, var(--gc-semantic-primary) 14%, transparent);

	/* Layout and responsive tokens */
	--gc-space-xs: var(--gc-base-space-1);
	--gc-space-sm: var(--gc-base-space-2);
	--gc-space-md: var(--gc-base-space-4);
	--gc-space-lg: var(--gc-base-space-6);
	--gc-space-xl: var(--gc-base-space-7);
	--gc-space-2xl: var(--gc-base-space-9);
	--gc-space-3xl: var(--gc-base-space-10);
	--gc-grid-columns-2: repeat(2, minmax(0, 1fr));
	--gc-grid-columns-3: repeat(3, minmax(0, 1fr));
	--gc-grid-columns-4: repeat(4, minmax(0, 1fr));
	--gc-grid-gutter: var(--gc-grid-gap);

	/* Component tokens */
	--gc-component-button-height-md: clamp(48px, var(--gc-control-height, 48px), 56px);
	--gc-component-button-height-lg: 56px;
	--gc-component-button-radius: var(--gc-radius-button);
	--gc-component-button-font-size: var(--gc-base-font-size-sm);
	--gc-component-button-font-weight: 600;
	--gc-component-button-primary-bg: var(--gc-semantic-primary);
	--gc-component-button-primary-bg-hover: var(--gc-semantic-primary-hover);
	--gc-component-button-primary-text: var(--gc-color-cream);
	--gc-component-button-primary-shadow: 0 10px 22px color-mix(in srgb, var(--gc-semantic-primary) 18%, transparent);
	--gc-component-button-secondary-bg: var(--gc-semantic-surface-raised);
	--gc-component-button-secondary-text: var(--gc-semantic-secondary);
	--gc-component-button-secondary-border: var(--gc-semantic-border-subtle);
	--gc-component-button-secondary-hover-bg: var(--gc-semantic-surface-muted);
	--gc-component-button-ghost-text: var(--gc-semantic-text-secondary);
	--gc-component-button-danger-bg: var(--gc-semantic-danger-soft);
	--gc-component-button-danger-border: color-mix(in srgb, var(--gc-semantic-danger) 22%, white);
	--gc-component-button-danger-text: var(--gc-semantic-danger);

	--gc-component-card-radius: var(--gc-radius-card);
	--gc-component-card-padding: clamp(18px, 1.8vw, 24px);
	--gc-component-card-bg: var(--gc-semantic-surface-raised);
	--gc-component-card-border: var(--gc-semantic-border-subtle);
	--gc-component-card-shadow: var(--gc-base-shadow-sm);
	--gc-component-card-shadow-hover: var(--gc-base-shadow-md);

	--gc-component-input-height: var(--gc-input-height);
	--gc-component-input-radius: var(--gc-radius-input);
	--gc-component-input-bg: rgba(255, 255, 255, 0.94);
	--gc-component-input-border: var(--gc-semantic-border-subtle);
	--gc-component-input-border-hover: var(--gc-semantic-border-strong);
	--gc-component-input-border-focus: color-mix(in srgb, var(--gc-semantic-primary) 28%, white);
	--gc-component-input-placeholder: var(--gc-semantic-text-tertiary);
	--gc-component-input-danger-ring: 0 0 0 4px color-mix(in srgb, var(--gc-semantic-danger) 10%, transparent);
	--gc-component-input-success-ring: 0 0 0 4px color-mix(in srgb, var(--gc-semantic-success) 10%, transparent);

	--gc-component-badge-height: 32px;
	--gc-component-badge-radius: var(--gc-base-radius-pill);
	--gc-component-badge-bg: rgba(255, 255, 255, 0.92);
	--gc-component-badge-border: color-mix(in srgb, var(--gc-semantic-border-subtle) 90%, white);
	--gc-component-badge-text: var(--gc-semantic-text-primary);

	--gc-component-modal-radius: var(--gc-base-radius-xl);
	--gc-component-modal-shadow: var(--gc-base-shadow-lg);
	--gc-component-dropdown-radius: var(--gc-base-radius-lg);
	--gc-component-nav-radius: var(--gc-base-radius-md);
	--gc-component-nav-item-height: 44px;
}

/*
 * TODO: Dark mode — não implementado.
 * Para implementar, defina aqui as variáveis sobrescritas:
 * [data-gc-theme="dark"] {
 *     --gc-color-text: #f0ece6;
 *     --gc-color-surface: #1a1614;
 *     --gc-bg: #141210;
 *     ... (mapear todos os tokens de design-system.css)
 * }
 * Ativar via: document.documentElement.dataset.gcTheme = 'dark';
 */

.gc-app-shell,
.gc-public-page,
.gc-dashboard,
.gc-admin-wrap {
	--gc-focus-ring: var(--gc-semantic-focus-ring);
}

.gc-app-shell,
.gc-public-page,
.gc-dashboard,
.gc-admin-wrap,
.gc-app-shell :where(h1, h2, h3, h4, h5, h6),
.gc-public-page :where(h1, h2, h3, h4, h5, h6),
.gc-dashboard :where(h1, h2, h3, h4, h5, h6),
.gc-admin-wrap :where(h1, h2, h3, h4, h5, h6) {
	color: var(--gc-semantic-text-primary);
}

.gc-muted,
.gc-field-help,
.gc-empty-state p,
.gc-empty-panel p,
.gc-notice,
.gc-admin-alert,
.gc-card-meta,
.gc-dashboard-company-meta,
.gc-dashboard-request-meta {
	color: var(--gc-semantic-text-secondary);
}

.gc-primary-button,
.gc-secondary-button,
.gc-link-button,
.button.button-primary,
.button.button-secondary,
.gc-button,
.gc-button-primary,
.gc-button-secondary,
.gc-button-outline,
.gc-button-ghost,
.gc-button-danger {
	min-height: var(--gc-component-button-height-md);
	border-radius: var(--gc-component-button-radius);
	font-size: var(--gc-component-button-font-size);
	font-weight: var(--gc-component-button-font-weight);
	transition:
		transform var(--gc-base-duration-fast) var(--gc-base-ease-standard),
		box-shadow var(--gc-base-duration-base) var(--gc-base-ease-standard),
		background-color var(--gc-base-duration-base) var(--gc-base-ease-standard),
		border-color var(--gc-base-duration-base) var(--gc-base-ease-standard),
		color var(--gc-base-duration-base) var(--gc-base-ease-standard),
		opacity var(--gc-base-duration-fast) var(--gc-base-ease-standard);
}

.gc-primary-button,
.button.button-primary,
.gc-button-primary {
	background: var(--gc-component-button-primary-bg);
	color: var(--gc-component-button-primary-text);
	box-shadow: var(--gc-component-button-primary-shadow);
}

.gc-primary-button:hover,
.button.button-primary:hover,
.gc-button-primary:hover {
	background: var(--gc-component-button-primary-bg-hover);
	color: var(--gc-component-button-primary-text);
}

.gc-secondary-button,
.gc-link-button,
.button.button-secondary,
.gc-button-secondary,
.gc-button-outline {
	background: var(--gc-component-button-secondary-bg);
	color: var(--gc-component-button-secondary-text);
	border-color: var(--gc-component-button-secondary-border);
}

.gc-secondary-button:hover,
.gc-link-button:hover,
.button.button-secondary:hover,
.gc-button-secondary:hover,
.gc-button-outline:hover {
	background: var(--gc-component-button-secondary-hover-bg);
	border-color: var(--gc-semantic-border-strong);
}

.gc-button-ghost {
	background: transparent;
	color: var(--gc-component-button-ghost-text);
}

.gc-button-danger {
	background: var(--gc-component-button-danger-bg);
	color: var(--gc-component-button-danger-text);
	border-color: var(--gc-component-button-danger-border);
}

.gc-card,
.gc-panel-card,
.gc-search-form,
.gc-dashboard-panel,
.gc-dashboard-company-card,
.gc-empty-state,
.gc-empty-panel,
.gc-form-panel,
.gc-company-preview,
.gc-dashboard-header,
.gc-dashboard-stat-card,
.gc-dashboard-media-summary,
.gc-dashboard-info-card,
.gc-dashboard-last-contact,
.gc-dashboard-request-card,
.gc-dashboard-contact-card,
.gc-admin-hero,
.gc-admin-panel,
.gc-admin-card,
.gc-admin-stat,
.gc-plan-card,
.gc-catalog-card,
.gc-promotion-card,
.gc-promo-list-card,
.gc-event-card,
.gc-review-card,
.gc-company-review-card,
.gc-modal-panel,
.gc-dropdown-menu,
.gc-search-suggestions,
.gc-catalog-quote-drawer {
	border-color: var(--gc-component-card-border);
	border-radius: var(--gc-component-card-radius);
	background: var(--gc-component-card-bg);
	box-shadow: var(--gc-component-card-shadow);
}

.gc-card:hover,
.gc-panel-card:hover,
.gc-dashboard-company-card:hover,
.gc-admin-stat:hover,
.gc-plan-card:hover,
.gc-catalog-card:hover,
.gc-promotion-card:hover,
.gc-promo-list-card:hover,
.gc-event-card:hover,
.gc-company-review-card:hover,
.gc-review-card:hover,
.gc-dashboard-request-card:hover,
.gc-dashboard-contact-card:hover {
	box-shadow: var(--gc-component-card-shadow-hover);
}

.gc-card-body,
.gc-catalog-card-body,
.gc-promotion-card-body,
.gc-promo-list-body,
.gc-event-card-body,
.gc-plan-card-body,
.gc-dashboard-panel,
.gc-dashboard-company-card,
.gc-empty-state,
.gc-empty-panel,
.gc-form-panel,
.gc-admin-panel,
.gc-admin-card,
.gc-review-card,
.gc-company-review-card {
	padding: var(--gc-component-card-padding);
}

.gc-search-main input,
.gc-search-side select,
.gc-form-field input,
.gc-form-field select,
.gc-form-field textarea,
.gc-field input,
.gc-field select,
.gc-field textarea,
.gc-admin-form input,
.gc-admin-form select,
.gc-admin-form textarea,
.gc-review-form input,
.gc-review-form select,
.gc-review-form textarea,
.widefat input,
.widefat select,
.widefat textarea,
.gc-input {
	min-height: var(--gc-component-input-height);
	border-color: var(--gc-component-input-border);
	border-radius: var(--gc-component-input-radius);
	background: var(--gc-component-input-bg);
	color: var(--gc-semantic-text-primary);
}

.gc-search-main input::placeholder,
.gc-form-field input::placeholder,
.gc-form-field textarea::placeholder,
.gc-field input::placeholder,
.gc-field textarea::placeholder,
.gc-review-form input::placeholder,
.gc-review-form textarea::placeholder,
.gc-input::placeholder {
	color: var(--gc-component-input-placeholder);
}

.gc-search-main input:hover,
.gc-search-side select:hover,
.gc-form-field input:hover,
.gc-form-field select:hover,
.gc-form-field textarea:hover,
.gc-field input:hover,
.gc-field select:hover,
.gc-field textarea:hover,
.gc-admin-form input:hover,
.gc-admin-form select:hover,
.gc-admin-form textarea:hover,
.gc-review-form input:hover,
.gc-review-form select:hover,
.gc-review-form textarea:hover,
.gc-input:hover {
	border-color: var(--gc-component-input-border-hover);
}

.gc-search-main input:focus,
.gc-search-side select:focus,
.gc-form-field input:focus,
.gc-form-field select:focus,
.gc-form-field textarea:focus,
.gc-field input:focus,
.gc-field select:focus,
.gc-field textarea:focus,
.gc-admin-form input:focus,
.gc-admin-form select:focus,
.gc-admin-form textarea:focus,
.gc-review-form input:focus,
.gc-review-form select:focus,
.gc-review-form textarea:focus,
.widefat input:focus,
.widefat select:focus,
.widefat textarea:focus,
.gc-input:focus {
	border-color: var(--gc-component-input-border-focus);
	box-shadow: var(--gc-semantic-focus-ring);
}

.gc-search-main input[aria-invalid="true"],
.gc-search-side select[aria-invalid="true"],
.gc-form-field input[aria-invalid="true"],
.gc-form-field select[aria-invalid="true"],
.gc-form-field textarea[aria-invalid="true"],
.gc-field input[aria-invalid="true"],
.gc-field select[aria-invalid="true"],
.gc-field textarea[aria-invalid="true"] {
	box-shadow: var(--gc-component-input-danger-ring);
}

.gc-form-field.is-valid input,
.gc-form-field.is-valid select,
.gc-form-field.is-valid textarea,
.gc-field.is-valid input,
.gc-field.is-valid select,
.gc-field.is-valid textarea {
	box-shadow: var(--gc-component-input-success-ring);
}

.gc-badge,
.gc-card-tag,
.gc-plan-name,
.gc-catalog-card-type,
.gc-catalog-card-feature,
.gc-promotion-price,
.gc-promotion-expiry,
.gc-catalog-card-category,
.gc-company-hero-pill,
.gc-discovery-card-badge {
	border-radius: var(--gc-component-badge-radius);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.gc-badge {
	min-height: var(--gc-component-badge-height);
	background: var(--gc-component-badge-bg);
	border-color: var(--gc-component-badge-border);
	color: var(--gc-component-badge-text);
}

.gc-alert,
.gc-notice,
.gc-admin-alert {
	display: grid;
	gap: var(--gc-space-xs);
	padding: var(--gc-space-md);
	border: 1px solid var(--gc-semantic-border-subtle);
	border-radius: var(--gc-base-radius-md);
	background: var(--gc-semantic-surface-raised);
	box-shadow: var(--gc-base-shadow-xs);
}

.gc-empty-state,
.gc-empty-panel {
	display: grid;
	justify-items: center;
	gap: var(--gc-space-sm);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 244, 239, 0.94));
}

.gc-modal-panel,
.gc-dropdown-menu,
.gc-search-suggestions,
.gc-catalog-quote-drawer {
	border-radius: var(--gc-component-modal-radius);
	box-shadow: var(--gc-component-modal-shadow);
}

.gc-nav-item,
.gc-site-nav a,
.gc-mobile-nav a,
.gc-dashboard-nav a,
.gc-mobile-bottom-nav-item {
	min-height: var(--gc-component-nav-item-height);
	border-radius: var(--gc-component-nav-radius);
	transition:
		background-color var(--gc-base-duration-fast) var(--gc-base-ease-standard),
		color var(--gc-base-duration-fast) var(--gc-base-ease-standard),
		transform var(--gc-base-duration-fast) var(--gc-base-ease-standard),
		box-shadow var(--gc-base-duration-fast) var(--gc-base-ease-standard);
}

.gc-tabs,
.gc-tab-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gc-space-sm);
}

.gc-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 var(--gc-space-md);
	border: 1px solid var(--gc-semantic-border-subtle);
	border-radius: var(--gc-base-radius-pill);
	background: var(--gc-semantic-surface-overlay);
	color: var(--gc-semantic-text-secondary);
	font-size: var(--gc-base-font-size-sm);
	font-weight: 600;
	text-decoration: none;
}

.gc-tab.is-active,
.gc-tab[aria-selected="true"] {
	background: var(--gc-semantic-primary-soft);
	border-color: color-mix(in srgb, var(--gc-semantic-primary) 18%, white);
	color: var(--gc-semantic-primary);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc-semantic-primary) 10%, transparent);
}

.gc-dropdown-trigger,
.gc-nav-item,
.gc-search-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--gc-space-sm);
	min-height: 44px;
	padding: 0 var(--gc-space-md);
	border: 1px solid var(--gc-semantic-border-subtle);
	border-radius: var(--gc-base-radius-md);
	background: var(--gc-semantic-surface-raised);
	color: var(--gc-semantic-text-primary);
	text-decoration: none;
}

.gc-surface-raised {
	background: var(--gc-semantic-surface-raised);
	box-shadow: var(--gc-base-shadow-sm);
}

.gc-surface-muted {
	background: var(--gc-semantic-surface-muted);
}

.gc-stack-xs,
.gc-stack-sm,
.gc-stack-md,
.gc-stack-lg {
	display: grid;
}

.gc-stack-xs {
	gap: var(--gc-space-xs);
}

.gc-stack-sm {
	gap: var(--gc-space-sm);
}

.gc-stack-md {
	gap: var(--gc-space-md);
}

.gc-stack-lg {
	gap: var(--gc-space-lg);
}

.gc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.gc-icon svg,
.gc-mobile-bottom-nav-icon svg,
.gc-mobile-quick-search-icon svg,
.gc-mobile-search-close svg {
	width: var(--gc-base-icon-md);
	height: var(--gc-base-icon-md);
	stroke-width: var(--gc-base-icon-stroke);
}

/* Stage 1 premium visual refinement */

:root,
[data-gc-theme="light"] {
	--gc-component-card-padding: clamp(18px, 1.5vw, 22px);
	--gc-component-card-bg:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 248, 244, 0.96));
	--gc-component-card-shadow:
		0 12px 28px rgba(15, 23, 42, 0.045),
		0 2px 8px rgba(15, 23, 42, 0.03);
	--gc-component-card-shadow-hover:
		0 18px 38px rgba(15, 23, 42, 0.055),
		0 6px 18px rgba(15, 23, 42, 0.035);
	--gc-component-button-font-weight: 650;
	--gc-component-button-primary-shadow:
		0 10px 22px color-mix(in srgb, var(--gc-semantic-primary) 14%, transparent);
	--gc-component-input-bg: rgba(255, 255, 255, 0.9);
	--gc-component-input-border-hover: color-mix(in srgb, var(--gc-semantic-text-primary) 14%, white);
	--gc-semantic-focus-ring: 0 0 0 4px color-mix(in srgb, var(--gc-semantic-primary) 10%, transparent);
}

.gc-app-shell h1,
.gc-public-page h1,
.gc-dashboard h1,
.gc-admin-wrap h1,
.gc-app-shell h2,
.gc-public-page h2,
.gc-dashboard h2,
.gc-admin-wrap h2,
.gc-app-shell h3,
.gc-public-page h3,
.gc-dashboard h3,
.gc-admin-wrap h3 {
	font-weight: 760;
	letter-spacing: clamp(-0.038em, -0.5vw, -0.024em);
	text-wrap: balance;
}

.gc-app-shell h1,
.gc-public-page h1,
.gc-dashboard h1,
.gc-admin-wrap h1 {
	line-height: 0.98;
}

.gc-app-shell h2,
.gc-public-page h2,
.gc-dashboard h2,
.gc-admin-wrap h2 {
	line-height: 1.02;
}

.gc-app-shell h3,
.gc-public-page h3,
.gc-dashboard h3,
.gc-admin-wrap h3 {
	line-height: 1.1;
}

.gc-section-heading p,
.gc-admin-hero p,
.gc-admin-panel p,
.gc-form-panel-heading p,
.gc-panel-heading p,
.gc-panel-heading-inline p,
.gc-company-brand p,
.gc-hero-copy p,
.gc-card p,
.gc-discovery-card-body p,
.gc-promotion-card p,
.gc-promo-list-card p,
.gc-event-card p,
.gc-dashboard-panel p {
	line-height: 1.58;
	color: color-mix(in srgb, var(--gc-semantic-text-secondary) 92%, white);
}

.gc-primary-button,
.gc-secondary-button,
.gc-link-button,
.button.button-primary,
.button.button-secondary,
.gc-button,
.gc-button-primary,
.gc-button-secondary,
.gc-button-outline,
.gc-button-ghost,
.gc-button-danger {
	letter-spacing: -0.012em;
}

.gc-primary-button:hover,
.button.button-primary:hover,
.gc-button-primary:hover,
.gc-secondary-button:hover,
.gc-link-button:hover,
.button.button-secondary:hover,
.gc-button-secondary:hover,
.gc-button-outline:hover,
.gc-button-ghost:hover,
.gc-button-danger:hover {
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.gc-badge,
.gc-card-tag,
.gc-plan-name,
.gc-catalog-card-type,
.gc-catalog-card-feature,
.gc-promotion-price,
.gc-promotion-expiry,
.gc-catalog-card-category,
.gc-company-hero-pill,
.gc-discovery-card-badge {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.gc-search-main input,
.gc-search-side select,
.gc-form-field input,
.gc-form-field select,
.gc-form-field textarea,
.gc-field input,
.gc-field select,
.gc-field textarea,
.gc-admin-form input,
.gc-admin-form select,
.gc-admin-form textarea,
.gc-review-form input,
.gc-review-form select,
.gc-review-form textarea,
.widefat input,
.widefat select,
.widefat textarea,
.gc-input {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.gc-skeleton-card,
.gc-skeleton-line,
.gc-promotion-feed-skeleton-line,
.gc-promotion-feed-skeleton-pill,
.gc-promotion-feed-card-skeleton .gc-promotion-feed-media {
	background:
		linear-gradient(
			100deg,
			rgba(244, 239, 233, 0.88) 0%,
			rgba(255, 255, 255, 0.98) 44%,
			rgba(242, 236, 229, 0.92) 100%
		);
	background-size: 220% 100%;
	animation-duration: 1.2s;
}

@media (max-width: 767px) {
	.gc-app-shell h1,
	.gc-public-page h1,
	.gc-dashboard h1,
	.gc-admin-wrap h1 {
		line-height: 1;
	}

	.gc-app-shell h2,
	.gc-public-page h2,
	.gc-dashboard h2,
	.gc-admin-wrap h2 {
		line-height: 1.06;
	}

	.gc-primary-button,
	.gc-secondary-button,
	.gc-link-button,
	.button.button-primary,
	.button.button-secondary,
	.gc-button,
	.gc-button-primary,
	.gc-button-secondary,
	.gc-button-outline,
	.gc-button-ghost,
	.gc-button-danger {
		font-size: 0.86rem;
	}
}
