/*
 * CayGo appearance system
 *
 * This is deliberately loaded after the legacy presentation layers. Components
 * consume semantic variables here, so Light, Grey and Dark remain one product
 * rather than three sets of page-specific overrides.
 */

:root,
html[data-cg-theme="light"] {
	color-scheme: light;
	--cg-ui-page: #faf9f6;
	--cg-ui-page-muted: #f1f5f2;
	--cg-ui-surface: #fffefb;
	--cg-ui-surface-elevated: #ffffff;
	--cg-ui-surface-soft: #f5f8f6;
	--cg-ui-header: rgba(255, 254, 251, .96);
	--cg-ui-footer: #09283b;
	--cg-ui-text: #132c3d;
	--cg-ui-text-secondary: #405968;
	--cg-ui-text-muted: #657985;
	--cg-ui-text-inverse: #f8fcfa;
	--cg-ui-border: #d9e4df;
	--cg-ui-border-subtle: #eaf0ed;
	--cg-ui-input: #ffffff;
	--cg-ui-input-border: #cbd9d2;
	--cg-ui-input-placeholder: #74828c;
	--cg-ui-brand: #0a6a3e;
	--cg-ui-brand-hover: #075633;
	--cg-ui-brand-pressed: #054426;
	--cg-ui-accent: #0d3b84;
	--cg-ui-success: #087a45;
	--cg-ui-warning: #b66a00;
	--cg-ui-danger: #ba2830;
	--cg-ui-focus: rgba(13, 59, 132, .46);
	--cg-ui-overlay: rgba(5, 20, 26, .44);
	--cg-ui-shadow: 0 12px 30px rgba(19, 47, 55, .09);
	--cg-ui-shadow-float: 0 18px 42px rgba(19, 47, 55, .14);
	--cg-ui-brand-surface: #075b42;
	--cg-ui-brand-surface-raised: rgba(255, 255, 255, .10);
	--cg-ui-on-brand: #f8fcfa;
	--cg-ui-on-brand-muted: rgba(248, 252, 250, .82);
	--cg-access-section-bg: var(--cg-ui-page-muted);
	--cg-access-card-bg: var(--cg-ui-surface-elevated);
	--cg-access-card-border: var(--cg-ui-border);
	--cg-access-heading: var(--cg-ui-text);
	--cg-access-copy: var(--cg-ui-text-secondary);
	--cg-access-card-title: var(--cg-ui-text);
	--cg-access-card-copy: var(--cg-ui-text-secondary);

	/* Compatibility aliases used by the existing presentation layer. */
	--caygo-white: var(--cg-ui-surface);
	--caygo-mist: var(--cg-ui-page-muted);
	--caygo-line: var(--cg-ui-border);
	--caygo-ink: var(--cg-ui-text);
	--caygo-forest: var(--cg-ui-brand);
	--caygo-shadow: var(--cg-ui-shadow);
	--cg-ink: var(--cg-ui-text);
	--cg-muted: var(--cg-ui-text-secondary);
	--cg-text-muted: var(--cg-ui-text-muted);
	--cg-surface-warm: var(--cg-ui-page);
	--cg-soft: var(--cg-ui-surface-soft);
	--cg-border: var(--cg-ui-border);
	--cg-brand-green: var(--cg-ui-brand);
	--cg-brand-blue: var(--cg-ui-accent);
}

html[data-cg-theme="grey"] {
	color-scheme: light;
	--cg-ui-page: #edf1ef;
	--cg-ui-page-muted: #e2e8e5;
	--cg-ui-surface: #f9fbfa;
	--cg-ui-surface-elevated: #ffffff;
	--cg-ui-surface-soft: #e9efec;
	--cg-ui-header: rgba(244, 247, 245, .97);
	--cg-ui-footer: #102e3d;
	--cg-ui-text: #182d39;
	--cg-ui-text-secondary: #425862;
	--cg-ui-text-muted: #62747a;
	--cg-ui-text-inverse: #f8fbf9;
	--cg-ui-border: #c9d6d0;
	--cg-ui-border-subtle: #dce5e1;
	--cg-ui-input: #fcfdfc;
	--cg-ui-input-border: #bccdc6;
	--cg-ui-input-placeholder: #6b7b82;
	--cg-ui-brand: #08633a;
	--cg-ui-brand-hover: #064f2f;
	--cg-ui-brand-pressed: #043e24;
	--cg-ui-accent: #12498f;
	--cg-ui-success: #087442;
	--cg-ui-warning: #a65e00;
	--cg-ui-danger: #b6262e;
	--cg-ui-focus: rgba(18, 73, 143, .46);
	--cg-ui-overlay: rgba(14, 32, 37, .48);
	--cg-ui-shadow: 0 12px 28px rgba(25, 49, 52, .11);
	--cg-ui-shadow-float: 0 18px 42px rgba(25, 49, 52, .16);
	--cg-ui-brand-surface: #07563d;
	--cg-ui-brand-surface-raised: rgba(255, 255, 255, .11);
	--cg-ui-on-brand: #f8fbf9;
	--cg-ui-on-brand-muted: rgba(248, 251, 249, .82);
	--cg-access-section-bg: var(--cg-ui-page-muted);
	--cg-access-card-bg: var(--cg-ui-surface-elevated);
	--cg-access-card-border: var(--cg-ui-border);
	--cg-access-heading: var(--cg-ui-text);
	--cg-access-copy: var(--cg-ui-text-secondary);
	--cg-access-card-title: var(--cg-ui-text);
	--cg-access-card-copy: var(--cg-ui-text-secondary);
}

html[data-cg-theme="dark"] {
	color-scheme: dark;
	--cg-ui-page: #0d1a19;
	--cg-ui-page-muted: #132522;
	--cg-ui-surface: #172a27;
	--cg-ui-surface-elevated: #1d332f;
	--cg-ui-surface-soft: #203934;
	--cg-ui-header: rgba(13, 26, 25, .97);
	--cg-ui-footer: #071311;
	--cg-ui-text: #f2f7f4;
	--cg-ui-text-secondary: #c2d1ca;
	--cg-ui-text-muted: #94a79f;
	--cg-ui-text-inverse: #0c1916;
	--cg-ui-border: #355148;
	--cg-ui-border-subtle: #29443c;
	--cg-ui-input: #142724;
	--cg-ui-input-border: #48675d;
	--cg-ui-input-placeholder: #9caea6;
	--cg-ui-brand: #38be7b;
	--cg-ui-brand-hover: #57ce92;
	--cg-ui-brand-pressed: #259c61;
	--cg-ui-accent: #9ac0ff;
	--cg-ui-success: #58d891;
	--cg-ui-warning: #ffc66a;
	--cg-ui-danger: #ff9298;
	--cg-ui-focus: rgba(154, 192, 255, .68);
	--cg-ui-overlay: rgba(1, 9, 7, .74);
	--cg-ui-shadow: 0 12px 30px rgba(0, 0, 0, .28);
	--cg-ui-shadow-float: 0 18px 44px rgba(0, 0, 0, .42);
	--cg-ui-brand-surface: #063f2b;
	--cg-ui-brand-surface-raised: rgba(196, 255, 220, .10);
	--cg-ui-on-brand: #f2f7f4;
	--cg-ui-on-brand-muted: rgba(242, 247, 244, .82);
	--cg-access-section-bg: var(--cg-ui-brand-surface);
	--cg-access-card-bg: var(--cg-ui-surface-elevated);
	--cg-access-card-border: var(--cg-ui-border);
	--cg-access-heading: var(--cg-ui-text);
	--cg-access-copy: var(--cg-ui-text-secondary);
	--cg-access-card-title: var(--cg-ui-text);
	--cg-access-card-copy: var(--cg-ui-text-secondary);
}

html,
body.caygo-site {
	background: var(--cg-ui-page);
	color: var(--cg-ui-text);
}

.caygo-site {
	background: var(--cg-ui-page) !important;
	color: var(--cg-ui-text);
}

.caygo-site :is(h1, h2, h3, h4, h5, h6, strong, b) { color: var(--cg-ui-text); }
.caygo-site :is(p, li, dt, dd, small, .cg-muted, .cg-text-muted) { color: var(--cg-ui-text-secondary); }
.caygo-site :is(.cg-section-heading, .cg-section-title, .cg-page-title) { color: var(--cg-ui-text) !important; }
.caygo-site :is(.cg-section-lead, .cg-section-copy) { color: var(--cg-ui-text-secondary) !important; }
.caygo-site a { color: var(--cg-ui-accent); }
.caygo-site a:hover { color: var(--cg-ui-brand); }

.caygo-site :is(.cg-panel, .cg-content-card, .cg-book-card, .cg-car, .cg-result-card,
	.cg-step, .cg-auth__box, .cg-dash-section, .cg-dashboard .cg-panel, .cg-filter-panel,
	.cg-discovery-trust article, .cg-community-band .cg-shell > a, .cg-choice-grid label > span,
	.cg-choice-stack label > span, .cg-payment-options label, .cg-doc-checklist > div,
	.cg-info-grid article, .cg-role-grid article, .cg-inspector-grid article, .cg-timeline article,
	.cg-notice, .cg-empty-runtime, .cg-collection-card, .cg-stat-grid article, .cg-chat-list,
	.cg-chat-thread, .cg-chat-info, .cg-runtime-record, .cg-summary-card, .cg-price-panel) {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	box-shadow: var(--cg-ui-shadow);
	color: var(--cg-ui-text);
}
.caygo-site :is(.cg-collection--sedan, .cg-similar-grid article, .cg-support-card,
	.cg-chat-context, .cg-message-bubble p, .cg-notice, .cg-alert > span, .cg-empty-state) {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
}

.caygo-site :is(.cg-panel, .cg-content-card, .cg-book-card, .cg-car, .cg-result-card,
	.cg-step, .cg-auth__box, .cg-dash-section, .cg-dashboard .cg-panel, .cg-filter-panel,
	.cg-choice-grid label > span, .cg-choice-stack label > span, .cg-payment-options label,
	.cg-info-grid article, .cg-role-grid article, .cg-inspector-grid article, .cg-collection-card) :is(h1, h2, h3, h4, h5, h6, strong, b) {
	color: var(--cg-ui-text);
}

.caygo-site :is(.cg-page, .cg-shell, .cg-discovery, .cg-detail-page, .cg-auth, .cg-flow,
	.cg-dashboard, .cg-dashboard__main, .cg-runtime-shell, .cg-account-page) { color: var(--cg-ui-text); }
.caygo-site .cg-dashboard { background: var(--cg-ui-page-muted) !important; }
.caygo-site .cg-dashboard__side { background: var(--cg-ui-surface) !important; border-color: var(--cg-ui-border) !important; }
.caygo-site .cg-dashboard__user { background: var(--cg-ui-surface-soft) !important; border-color: var(--cg-ui-border) !important; }
.caygo-site .cg-dashboard__side nav a { color: var(--cg-ui-text-secondary) !important; }
.caygo-site .cg-dashboard__side nav a:is(:hover, .is-active) { background: var(--cg-ui-surface-soft) !important; color: var(--cg-ui-brand) !important; }

.caygo-site :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	background: var(--cg-ui-input) !important;
	border-color: var(--cg-ui-input-border) !important;
	color: var(--cg-ui-text) !important;
	caret-color: var(--cg-ui-brand);
}
.caygo-site :is(input, select, textarea)::placeholder { color: var(--cg-ui-input-placeholder) !important; opacity: 1; }
.caygo-site :is(input, select, textarea):disabled { background: var(--cg-ui-surface-soft) !important; color: var(--cg-ui-text-muted) !important; opacity: .74; }
.caygo-site :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--cg-ui-brand); }
.caygo-site :is(input, select, textarea, button, a):focus-visible {
	outline: 3px solid var(--cg-ui-focus) !important;
	outline-offset: 2px;
}

.caygo-site :is(.cg-button, .cg-nav__host, .cg-filter-panel__actions button[type="submit"],
	.cg-market-search button[type="submit"], button[type="submit"]) {
	background: var(--cg-ui-brand) !important;
	border-color: var(--cg-ui-brand) !important;
	color: #ffffff !important;
}
.caygo-site :is(.cg-button, .cg-nav__host, .cg-filter-panel__actions button[type="submit"],
	.cg-market-search button[type="submit"], button[type="submit"]):hover {
	background: var(--cg-ui-brand-hover) !important;
	border-color: var(--cg-ui-brand-hover) !important;
	color: #ffffff !important;
}
.caygo-site :is(.cg-button, .cg-nav__host, .cg-filter-panel__actions button[type="submit"],
	.cg-market-search button[type="submit"], button[type="submit"]):active {
	background: var(--cg-ui-brand-pressed) !important;
	border-color: var(--cg-ui-brand-pressed) !important;
}

.caygo-site .cg-header {
	background: var(--cg-ui-header) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
}
/* Legacy app CSS previously forced a white header in dark mode with a more specific selector. */
html[data-cg-theme] .caygo-site .cg-header { background: var(--cg-ui-header) !important; }
html[data-cg-theme] .caygo-site .cg-header .cg-nav { background: transparent !important; color: var(--cg-ui-text) !important; }
.caygo-site .cg-header :is(.cg-menu, .cg-nav a, .cg-nav__login, .cg-language) { color: var(--cg-ui-text) !important; }
.caygo-site .cg-header :is(.cg-menu, .cg-nav a, .cg-nav__login, .cg-language):hover { color: var(--cg-ui-brand) !important; }
html[data-cg-theme="dark"] .caygo-site .cg-header .cg-brand {
	background: #fffefb;
	border-radius: 9px;
	padding: 3px 7px;
}

.caygo-site .cg-theme-toggle {
	align-items: center;
	background: var(--cg-ui-surface-elevated) !important;
	border-color: var(--cg-ui-border) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-ui-brand) 12%, transparent);
	color: var(--cg-ui-brand) !important;
	display: inline-flex;
	font-size: 0 !important;
	justify-content: center;
	min-height: 36px;
	min-width: 36px;
}
.caygo-site .cg-theme-toggle::before { content: "☀"; font-size: 16px; line-height: 1; }
html[data-cg-theme="grey"] .caygo-site .cg-theme-toggle::before { content: "◐"; }
html[data-cg-theme="dark"] .caygo-site .cg-theme-toggle::before { content: "☾"; }
.caygo-site .cg-theme-toggle:hover { background: var(--cg-ui-surface-soft) !important; border-color: var(--cg-ui-brand) !important; }

.caygo-site .cg-market-search,
.caygo-site .cg-market-search label {
	background: var(--cg-ui-surface-elevated) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
}
.caygo-site .cg-market-search label span { color: var(--cg-ui-text-muted) !important; }
.caygo-site .cg-market-search :is(input, select) { background: transparent !important; color: var(--cg-ui-text) !important; }
.caygo-site .cg-market-search button[type="submit"] { box-shadow: none; }

html[data-cg-theme="dark"] .caygo-site .cg-home-hero::before,
html[data-cg-theme="dark"] .caygo-site .cg-discovery-hero::before {
	background: linear-gradient(90deg, rgba(4, 15, 13, .94), rgba(5, 21, 18, .82) 49%, rgba(5, 20, 17, .32)) !important;
}
html[data-cg-theme="dark"] .caygo-site .cg-home-hero__copy :is(h1, p),
html[data-cg-theme="dark"] .caygo-site .cg-discovery-hero :is(h1, h2, p) { color: var(--cg-ui-text-inverse) !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .48); }
html[data-cg-theme="dark"] body.caygo-site .cg-home-hero .cg-home-hero__copy h1 { color: #ffffff !important; }
html[data-cg-theme="dark"] body.caygo-site .cg-home-hero .cg-home-hero__copy > p { color: #e0ebe5 !important; }
html[data-cg-theme="dark"] body.caygo-site .cg-discovery-hero :is(h1, h2, p) { color: #ffffff !important; }
html[data-cg-theme="dark"] .caygo-site .cg-home-hero__copy h1 em { color: #62d59a !important; }
html[data-cg-theme="dark"] .caygo-site .cg-home-hero__copy h1 strong { color: #a8c7ff !important; }
html[data-cg-theme="dark"] .caygo-site :is(.cg-host-hero, .cg-flow-hero, .cg-subhero) {
	background: var(--cg-ui-page-muted) !important;
	color: var(--cg-ui-text) !important;
	color-scheme: dark;
}
html[data-cg-theme="dark"] body.caygo-site :is(.cg-host-hero, .cg-flow-hero, .cg-subhero) :is(h1, h2, h3, p, small) {
	color: var(--cg-ui-text) !important;
}

/* Host banner remains an intentional brand surface; homepage access maps by appearance mode below. */
.caygo-site .cg-host-banner { background: var(--cg-ui-brand-surface) !important; color: #ffffff !important; }
.caygo-site .cg-host-banner :is(h1, h2, h3, h4, b, strong) { color: #ffffff !important; }
.caygo-site .cg-host-banner :is(p, li, .cg-eyebrow) { color: color-mix(in srgb, #ffffff 83%, var(--cg-ui-brand)) !important; }
.caygo-site .cg-host-banner :is(.cg-host-stat, .cg-host-metrics, .cg-metric-card) {
	background: var(--cg-ui-brand-surface-raised) !important;
	border-color: color-mix(in srgb, #ffffff 20%, transparent) !important;
	box-shadow: none;
}

.caygo-site :is(.cg-discovery-trust, .cg-category-strip, .cg-how, .cg-faq, .cg-inspection, .cg-featured) { background-color: var(--cg-ui-page) !important; }
html[data-cg-theme] body.caygo-site .cg-section:not(.cg-access) :is(h1, h2, h3, h4, h5, h6, strong, b) { color: var(--cg-ui-text) !important; }
html[data-cg-theme] body.caygo-site .cg-section:not(.cg-access) :is(p, li, dt, dd, small) { color: var(--cg-ui-text-secondary) !important; }
html[data-cg-theme] .home.caygo-site :is(.cg-vehicle-types, .cg-section, .cg-inspection-teaser, .cg-faq) { background-color: var(--cg-ui-page) !important; }
html[data-cg-theme] .caygo-site .cg-vehicle-types { background-color: var(--cg-ui-page) !important; }
html[data-cg-theme] .home.caygo-site .cg-vehicle-types__rail > a,
html[data-cg-theme] .home.caygo-site .cg-journey article,
html[data-cg-theme] .home.caygo-site .cg-faq details {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
	box-shadow: var(--cg-ui-shadow);
}
html[data-cg-theme] .caygo-site .cg-vehicle-types__rail > a {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
	box-shadow: var(--cg-ui-shadow);
}
.caygo-site :is(.cg-category, .cg-category-card, .cg-filter-chip, .cg-chip-select button, .cg-choice-stack label, .cg-pagination a, .cg-pagination button) {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-text) !important;
}
.caygo-site .cg-share-row :is(button, a) {
	background: var(--cg-ui-surface) !important;
	border-color: var(--cg-ui-border) !important;
	color: var(--cg-ui-accent) !important;
}
.caygo-site .cg-share-row :is(button, a):hover { background: var(--cg-ui-surface-soft) !important; color: var(--cg-ui-brand) !important; }
.caygo-site :is(.cg-category, .cg-category-card, .cg-filter-chip, .cg-chip-select button, .cg-pagination a, .cg-pagination button):hover,
.caygo-site :is(.cg-category, .cg-category-card, .cg-filter-chip, .cg-chip-select button, .cg-pagination a, .cg-pagination button).is-active {
	background: var(--cg-ui-surface-soft) !important;
	border-color: var(--cg-ui-brand) !important;
	color: var(--cg-ui-brand) !important;
}

.caygo-site :is(table, th, td) { border-color: var(--cg-ui-border) !important; color: var(--cg-ui-text); }
.caygo-site th { background: var(--cg-ui-surface-soft) !important; }
.caygo-site tr:hover td { background: color-mix(in srgb, var(--cg-ui-surface-soft) 72%, transparent) !important; }
.caygo-site :is(.cg-alert, .cg-form-message, .cg-validation-message, .cg-error) { border-color: var(--cg-ui-border) !important; }
.caygo-site :is(.cg-error, .cg-validation-message) { color: var(--cg-ui-danger) !important; }

.caygo-site .cg-footer,
.caygo-site footer.cg-footer {
	background: var(--cg-ui-footer) !important;
	border-color: color-mix(in srgb, #ffffff 12%, transparent) !important;
	color: #e8f2ed;
}
.caygo-site .cg-footer :is(h1, h2, h3, h4, h5, h6, b, strong, a) { color: #ffffff !important; }
.caygo-site .cg-footer :is(p, li, small, span) { color: #b8cbc3 !important; }
.caygo-site .cg-footer a:hover { color: #79d7a4 !important; }

/* Browser and runtime overlays inherit the same elevated surface. */
.caygo-site :is(.cg-modal, .cg-popover, .cg-tooltip, .cg-calendar, .cg-date-picker,
	[role="dialog"], [role="menu"], [role="listbox"]) {
	background: var(--cg-ui-surface-elevated) !important;
	border-color: var(--cg-ui-border) !important;
	box-shadow: var(--cg-ui-shadow-float) !important;
	color: var(--cg-ui-text) !important;
}
.caygo-site .cg-filter-overlay { background: var(--cg-ui-overlay) !important; }

@media (max-width: 900px) {
	.caygo-site .cg-header .cg-nav { background: var(--cg-ui-surface-elevated) !important; border-color: var(--cg-ui-border) !important; }
	.caygo-site .cg-theme-toggle { min-height: 40px; min-width: 40px; }
}

@media (prefers-reduced-motion: no-preference) {
	.caygo-site,
	.caygo-site :is(.cg-header, .cg-panel, .cg-content-card, .cg-book-card, .cg-car, .cg-result-card,
	.cg-step, .cg-filter-panel, input, select, textarea, button, .cg-footer) {
		transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
	}
}

/* --------------------------------------------------------------------------
 * Marketplace typography and Explore Cars refinement.
 * Semantic sizes keep public pages, forms and dashboard surfaces on one scale.
 * -------------------------------------------------------------------------- */
:root {
	--cg-font-ui: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
	--cg-font-display: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
	--cg-type-display: clamp(3rem, 4.2vw, 3.75rem);
	--cg-type-h1: clamp(2.55rem, 3.45vw, 3.25rem);
	--cg-type-h2: clamp(2rem, 2.65vw, 2.5rem);
	--cg-type-h3: clamp(1.35rem, 1.6vw, 1.7rem);
	--cg-type-h4: 1.125rem;
	--cg-type-body-lg: 1.0625rem;
	--cg-type-body: .9375rem;
	--cg-type-body-sm: .8125rem;
	--cg-type-caption: .75rem;
	--cg-type-label: .8125rem;
	--cg-type-button: .875rem;
	--cg-leading-display: 1.01;
	--cg-leading-heading: 1.12;
	--cg-leading-body: 1.58;
	--cg-radius-control: 10px;
	--cg-radius-card: 15px;
	--cg-radius-panel: 20px;
}

.caygo-site { font-family: var(--cg-font-ui) !important; font-size: var(--cg-type-body); line-height: var(--cg-leading-body); }
.caygo-site :is(h1, h2, h3, h4) { font-family: var(--cg-font-display) !important; }
.caygo-site .cg-eyebrow {
	font-size: var(--cg-type-caption) !important;
	font-weight: 700 !important;
	letter-spacing: .075em !important;
	line-height: 1.25;
}
.caygo-site .cg-section-heading { font-size: var(--cg-type-h2) !important; font-weight: 700 !important; line-height: var(--cg-leading-heading) !important; }
.caygo-site .cg-section-lead { font-size: var(--cg-type-body) !important; line-height: var(--cg-leading-body) !important; }
.caygo-site :is(button, .cg-button, .cg-nav a, .cg-nav__host) { font-size: var(--cg-type-button); font-weight: 650; line-height: 1.2; }
.caygo-site :is(label, input, select, textarea) { font-size: var(--cg-type-body); }
.caygo-site :is(.cg-filter-label, .cg-market-search label span) { font-size: var(--cg-type-label) !important; font-weight: 650 !important; letter-spacing: .025em !important; }

/* Keep the discovery message in a deliberate readable column, away from the vehicle. */
.caygo-site .cg-discovery-hero__title {
	grid-template-columns: minmax(0, 720px) 1fr !important;
	align-items: start;
	gap: 12px 34px;
	margin-bottom: 24px;
}
.caygo-site .cg-discovery-hero h1 {
	max-width: 680px;
	font-size: var(--cg-type-display) !important;
	font-weight: 750 !important;
	line-height: var(--cg-leading-display) !important;
}
.caygo-site .cg-discovery-hero__title > p {
	grid-column: 1;
	max-width: 520px;
	margin: 0 !important;
	color: var(--cg-ui-text-secondary) !important;
	font-size: var(--cg-type-body-lg) !important;
	line-height: var(--cg-leading-body) !important;
}
.caygo-site .cg-market-search--discovery {
	margin-top: 26px;
	border-radius: var(--cg-radius-card) !important;
}
.caygo-site .cg-market-search--discovery label { min-height: 58px; padding: 8px 13px !important; }
.caygo-site .cg-market-search--discovery :is(input, select) { min-height: 25px; font-size: var(--cg-type-body) !important; }
.caygo-site .cg-market-search--discovery button { min-height: 50px; padding-inline: 18px; }

/* Results toolbar and three-zone desktop marketplace shell. */
.caygo-site .cg-discovery { padding: 28px 0 56px; }
.caygo-site .cg-discovery__toolbar { min-height: 52px; padding-bottom: 16px; }
.caygo-site .cg-discovery__toolbar p { font-size: var(--cg-type-body) !important; }
.caygo-site .cg-discovery__toolbar p strong { font-size: var(--cg-type-body-lg) !important; font-weight: 700; }
.caygo-site .cg-discovery__toolbar label { color: var(--cg-ui-text-muted) !important; font-size: var(--cg-type-label) !important; }
.caygo-site .cg-discovery__toolbar select { min-width: 194px; min-height: 42px; padding: 9px 34px 9px 13px; border-radius: var(--cg-radius-control); font-size: var(--cg-type-body-sm) !important; }
.caygo-site .cg-discovery__layout {
	grid-template-columns: minmax(270px, 280px) minmax(0, 1fr) minmax(205px, 220px) !important;
	gap: 20px;
}

/* Desktop filtering uses the document scroll instead of a cramped nested rail. */
.caygo-site .cg-filter-panel {
	top: 88px;
	max-height: none !important;
	overflow: visible !important;
	border-radius: var(--cg-radius-card);
	box-shadow: var(--cg-ui-shadow);
}
.caygo-site .cg-filter-panel__head {
	position: static;
	padding: 18px 19px 16px;
	background: var(--cg-ui-surface) !important;
}
.caygo-site .cg-filter-panel__head .cg-eyebrow { font-size: var(--cg-type-caption) !important; }
.caygo-site .cg-filter-panel__head h2 { margin-top: 5px; font-size: var(--cg-type-h3) !important; font-weight: 700; }
.caygo-site .cg-filter-form details { border-color: var(--cg-ui-border-subtle); }
.caygo-site .cg-filter-form summary {
	padding: 15px 19px;
	color: var(--cg-ui-text) !important;
	font-size: .9375rem;
	font-weight: 700;
}
.caygo-site .cg-filter-group { gap: 13px; padding: 0 19px 19px; }
.caygo-site .cg-filter-label { gap: 7px; color: var(--cg-ui-text-secondary) !important; text-transform: none; }
.caygo-site .cg-filter-group :is(select, input[type="search"], input[type="number"]) {
	min-height: 42px;
	padding: 9px 11px;
	border-radius: var(--cg-radius-control);
	font-size: var(--cg-type-body-sm) !important;
	font-weight: 500;
}
.caygo-site .cg-price-range label { font-size: var(--cg-type-caption); font-weight: 650; }
.caygo-site .cg-choice-grid { gap: 8px; }
.caygo-site .cg-choice-grid label > span {
	min-height: 40px;
	padding: 7px;
	border-radius: 9px;
	font-size: var(--cg-type-caption) !important;
	font-weight: 650;
}
.caygo-site .cg-choice-stack { gap: 8px; }
.caygo-site .cg-choice-stack label > span { min-height: 58px; padding: 11px 40px 11px 12px; border-radius: 10px; }
.caygo-site .cg-choice-stack b { font-size: var(--cg-type-body-sm); font-weight: 650; }
.caygo-site .cg-choice-stack small { font-size: var(--cg-type-caption); }
.caygo-site .cg-check-list-filter { gap: 8px; }
.caygo-site .cg-check-list-filter label { min-height: 34px; font-size: var(--cg-type-caption); }
.caygo-site .cg-switch-row b { font-size: var(--cg-type-body-sm); }
.caygo-site .cg-switch-row small { font-size: var(--cg-type-caption); }
.caygo-site .cg-filter-panel__actions {
	position: static;
	padding: 15px 19px 19px;
	background: var(--cg-ui-surface) !important;
}
.caygo-site .cg-filter-panel__actions button { min-height: 42px; border-radius: var(--cg-radius-control); font-size: var(--cg-type-body-sm) !important; }

/* Results remain the dominant column whether there is one live vehicle or many. */
.caygo-site .cg-results-summary { align-items: center; margin-bottom: 16px; }
.caygo-site .cg-results-summary h2 { font-size: var(--cg-type-h3) !important; font-weight: 700; }
.caygo-site .cg-results-summary p { font-size: var(--cg-type-caption); }
.caygo-site .cg-results-grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
	gap: 18px;
	align-items: start;
}
.caygo-site .cg-result-card,
.caygo-site .cg-results-grid .cg-car { border-radius: var(--cg-radius-card); box-shadow: var(--cg-ui-shadow); }
.caygo-site .cg-result-card__image { height: auto; aspect-ratio: 16 / 10; }
.caygo-site .cg-result-card__body { padding: 17px; }
.caygo-site .cg-result-card__heading small { font-size: var(--cg-type-caption) !important; font-weight: 650; }
.caygo-site .cg-result-card__heading h3 { font-size: var(--cg-type-h4) !important; font-weight: 700; line-height: 1.25; }
.caygo-site .cg-result-card__rating { font-size: var(--cg-type-caption) !important; }
.caygo-site .cg-result-card__body > p {
	display: block !important;
	min-height: 0;
	max-height: 3em;
	margin: 10px 0 12px;
	overflow: hidden;
	font-size: var(--cg-type-body-sm) !important;
	line-height: 1.5;
}
.caygo-site .cg-result-card__facts { gap: 6px; }
.caygo-site .cg-result-card__facts span { padding: 5px 7px; border-radius: 7px; font-size: var(--cg-type-caption) !important; }
.caygo-site .cg-result-card__foot { margin-top: 14px; padding-top: 12px; }
.caygo-site .cg-result-card__foot > div { font-size: var(--cg-type-caption); }
.caygo-site .cg-result-card__foot > div small,
.caygo-site .cg-result-card__foot > strong small { font-size: var(--cg-type-caption) !important; }
.caygo-site .cg-result-card__foot > strong { font-size: 1.3rem !important; font-weight: 750; }

/* Trust proof is intentionally secondary to live inventory. */
.caygo-site .cg-discovery-trust { top: 88px; gap: 10px; }
.caygo-site .cg-discovery-trust article { gap: 10px; padding: 13px; border-radius: 13px; box-shadow: none; }
.caygo-site .cg-discovery-trust article > span { flex-basis: 36px; height: 36px; border-radius: 10px; font-size: 16px; }
.caygo-site .cg-discovery-trust b { font-size: var(--cg-type-body-sm) !important; font-weight: 700; }
.caygo-site .cg-discovery-trust small { font-size: var(--cg-type-caption) !important; line-height: 1.42; }
.caygo-site .cg-community-band { padding: 30px 0 34px; background: var(--cg-ui-surface) !important; border-color: var(--cg-ui-border) !important; }
.caygo-site .cg-community-band h2 { font-size: var(--cg-type-h3) !important; font-weight: 700; }
.caygo-site .cg-community-band .cg-shell > a { min-height: 90px; padding: 16px 48px 16px 18px; border-radius: var(--cg-radius-card); }
.caygo-site .cg-community-band a b { font-size: var(--cg-type-body) !important; font-weight: 700; }
.caygo-site .cg-community-band a small { font-size: var(--cg-type-body-sm); }

@media (max-width: 1240px) {
	.caygo-site .cg-discovery__layout { grid-template-columns: minmax(270px, 280px) minmax(0, 1fr) !important; }
	.caygo-site .cg-discovery-trust { position: static; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 960px) {
	.caygo-site .cg-discovery__layout { display: block !important; }
	.caygo-site .cg-filter-panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(420px, 94vw);
		max-height: none !important;
		overflow-y: auto !important;
		border-radius: 18px 0 0 18px;
	}
	.caygo-site .cg-filter-panel__head,
	.caygo-site .cg-filter-panel__actions { position: sticky; }
	.caygo-site .cg-filter-panel__head { top: 0; z-index: 3; }
	.caygo-site .cg-filter-panel__actions { bottom: 0; z-index: 3; }
	.caygo-site .cg-discovery-trust { grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
}

@media (max-width: 680px) {
	.caygo-site .cg-discovery-hero__title { display: block; margin-bottom: 18px; }
	.caygo-site .cg-discovery-hero h1 { font-size: clamp(2.35rem, 11vw, 2.8rem) !important; }
	.caygo-site .cg-discovery-hero__title > p { margin-top: 12px !important; font-size: var(--cg-type-body) !important; }
	.caygo-site .cg-market-search--discovery { margin-top: 20px; }
	.caygo-site .cg-discovery { padding: 20px 0 42px; }
	.caygo-site .cg-discovery__toolbar { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
	.caygo-site .cg-discovery__toolbar > div { width: auto; }
	.caygo-site .cg-discovery__toolbar label { width: auto; }
	.caygo-site .cg-discovery__toolbar label > span { display: none; }
	.caygo-site .cg-discovery__toolbar select { min-width: 148px; }
	.caygo-site .cg-mobile-filter-button { min-height: 42px; font-size: var(--cg-type-body-sm); }
	.caygo-site .cg-results-summary { gap: 4px; margin-bottom: 14px; }
	.caygo-site .cg-results-summary h2 { font-size: 1.45rem !important; }
	.caygo-site .cg-results-grid { grid-template-columns: 1fr !important; }
	.caygo-site .cg-result-card__image { aspect-ratio: 16 / 10; }
	.caygo-site .cg-discovery-trust { grid-template-columns: 1fr; gap: 9px; }
	.caygo-site .cg-community-band .cg-shell { gap: 12px; }
	.caygo-site .cg-community-band .cg-shell > a { min-height: 78px; }
}

@media (max-width: 430px) {
	.caygo-site .cg-discovery__toolbar { grid-template-columns: 1fr; align-items: stretch; }
	.caygo-site .cg-discovery__toolbar > div,
	.caygo-site .cg-discovery__toolbar label { width: 100%; justify-content: space-between; }
	.caygo-site .cg-discovery__toolbar select { flex: 1; min-width: 0; }
	.caygo-site .cg-filter-panel { width: 100%; border-radius: 0; }
}

/* --------------------------------------------------------------------------
 * Authoritative primary CTA and registration refinement.
 * The header's generic nav-link colour must never win over a primary action.
 * -------------------------------------------------------------------------- */
.caygo-site .cg-header .cg-nav__host {
	min-height: 44px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 18px !important;
	border: 1px solid var(--cg-ui-brand) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-brand) !important;
	color: #fff !important;
	font-size: var(--cg-type-button) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none;
	text-shadow: none;
	box-shadow: 0 7px 16px color-mix(in srgb, var(--cg-ui-brand) 24%, transparent);
}
.caygo-site .cg-header .cg-nav__host:is(:hover, :focus-visible) {
	border-color: var(--cg-ui-brand-hover) !important;
	background: var(--cg-ui-brand-hover) !important;
	color: #fff !important;
}
.caygo-site .cg-header .cg-nav__host:hover { transform: translateY(-1px); }
.caygo-site .cg-header .cg-nav__host:active {
	border-color: var(--cg-ui-brand-pressed) !important;
	background: var(--cg-ui-brand-pressed) !important;
	color: #fff !important;
	transform: translateY(0);
}
.caygo-site .cg-header .cg-nav__host:focus-visible,
.caygo-site .cg-auth :is(.cg-button, button[type="submit"]):focus-visible,
.caygo-site .cg-role-select button:focus-visible {
	outline: 3px solid var(--cg-ui-focus);
	outline-offset: 3px;
}
.caygo-site .cg-header .cg-nav__host[aria-disabled="true"] {
	pointer-events: none;
	opacity: .58;
	box-shadow: none;
}
/* Guard against the generic header link rule in legacy presentation CSS. */
body.caygo-site main#caygo-main .cg-header .cg-nav__host,
body.caygo-site main#caygo-main .cg-header .cg-nav__host:is(:hover, :focus-visible, :active) {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Signup remains a familiar two-column composition, with content-led height. */
.caygo-site .cg-auth {
	grid-template-columns: minmax(0, 46fr) minmax(0, 54fr) !important;
	min-height: calc(100vh - 74px);
	background: var(--cg-ui-page-muted) !important;
}
.caygo-site .cg-auth__visual {
	align-items: center !important;
	min-height: clamp(660px, calc(100vh - 74px), 740px) !important;
	padding: clamp(36px, 5vw, 68px) !important;
	background-position: center !important;
}
.caygo-site .cg-auth--signup .cg-auth__visual {
	background-image:
		linear-gradient(90deg, rgba(2, 31, 24, .34) 0%, rgba(2, 31, 24, .10) 56%, transparent 100%),
		linear-gradient(0deg, rgba(2, 54, 38, .96) 0%, rgba(2, 54, 38, .78) 43%, rgba(2, 54, 38, .12) 88%),
		url('../images/signup-car.jpg') !important;
}
.caygo-site .cg-auth__visual > div { position: relative; z-index: 1; max-width: 490px; }
.caygo-site .cg-auth__visual .cg-eyebrow { color: #e9fff3 !important; }
.caygo-site .cg-auth__visual h1 {
	max-width: 470px;
	margin: 14px 0 16px;
	color: #fff !important;
	font-size: var(--cg-type-h1) !important;
	font-weight: 720 !important;
	line-height: var(--cg-leading-display) !important;
	letter-spacing: -.045em !important;
}
.caygo-site .cg-auth__visual :is(p, .cg-check-list li) {
	color: rgba(247, 255, 250, .90) !important;
	font-size: var(--cg-type-body) !important;
	line-height: var(--cg-leading-body) !important;
}
.caygo-site .cg-auth__visual p { max-width: 440px; margin-bottom: 20px; }
.caygo-site .cg-auth__visual .cg-check-list { display: grid; gap: 9px; margin: 0; }
.caygo-site .cg-auth__visual .cg-check-list li { padding-left: 29px; }
.caygo-site .cg-auth__visual .cg-check-list li::before {
	width: 19px;
	height: 19px;
	left: 0;
	top: .17em;
	background: #effff6;
	color: #087647;
	font-size: 12px;
}

.caygo-site .cg-auth__panel { padding: clamp(32px, 4.5vw, 58px) 28px !important; }
.caygo-site .cg-auth__box {
	width: min(100%, 570px) !important;
	padding: clamp(28px, 3.25vw, 42px) !important;
	border: 1px solid var(--cg-ui-border) !important;
	border-radius: var(--cg-radius-panel) !important;
	background: var(--cg-ui-surface-elevated) !important;
	box-shadow: var(--cg-ui-shadow-float) !important;
}
.caygo-site .cg-auth__box > .cg-eyebrow { color: var(--cg-ui-brand) !important; }
.caygo-site .cg-auth__box h2 {
	margin: 10px 0 6px !important;
	color: var(--cg-ui-text) !important;
	font-size: clamp(1.9rem, 2.3vw, 2.35rem) !important;
	font-weight: 720 !important;
	line-height: var(--cg-leading-heading) !important;
	letter-spacing: -.035em !important;
}
.caygo-site .cg-auth__box > p,
.caygo-site .cg-auth__foot {
	color: var(--cg-ui-text-secondary) !important;
	font-size: var(--cg-type-body-sm) !important;
	line-height: 1.5;
}
.caygo-site .cg-auth__box a { color: var(--cg-ui-brand) !important; font-weight: 700 !important; }
.caygo-site .cg-auth form { gap: 17px !important; margin-top: 20px !important; }
.caygo-site .cg-auth form > label,
.caygo-site .cg-form-grid label {
	color: var(--cg-ui-text) !important;
	font-size: var(--cg-type-label) !important;
	font-weight: 700 !important;
	line-height: 1.35;
}
.caygo-site .cg-auth :is(input:not([type="checkbox"]), select, textarea) {
	min-height: 46px;
	margin-top: 7px !important;
	padding: 10px 12px !important;
	border: 1px solid var(--cg-ui-input-border) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-input) !important;
	color: var(--cg-ui-text) !important;
	font-family: var(--cg-font-ui) !important;
	font-size: var(--cg-type-body) !important;
	font-weight: 500;
	line-height: 1.25;
}
.caygo-site .cg-auth :is(input, select, textarea)::placeholder { color: var(--cg-ui-input-placeholder) !important; opacity: 1; }
.caygo-site .cg-auth :is(input, select, textarea):focus {
	border-color: var(--cg-ui-brand) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-ui-brand) 18%, transparent) !important;
	outline: 0;
}
.caygo-site .cg-form-grid { gap: 14px !important; }
.caygo-site .cg-role-select {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
	margin-top: 18px !important;
}
.caygo-site .cg-role-select button {
	position: relative;
	min-height: 48px;
	padding: 10px 26px 10px 12px !important;
	border: 1px solid var(--cg-ui-input-border) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-surface) !important;
	color: var(--cg-ui-text) !important;
	font-size: var(--cg-type-body-sm) !important;
	font-weight: 700 !important;
}
.caygo-site .cg-role-select button:hover { border-color: var(--cg-ui-brand) !important; background: var(--cg-ui-surface-soft) !important; }
.caygo-site .cg-role-select button.is-active,
.caygo-site .cg-role-select button[aria-pressed="true"] {
	border-color: var(--cg-ui-brand) !important;
	background: color-mix(in srgb, var(--cg-ui-brand) 11%, var(--cg-ui-surface)) !important;
	color: var(--cg-ui-brand) !important;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cg-ui-brand) 28%, transparent);
}
.caygo-site .cg-role-select button.is-active::after,
.caygo-site .cg-role-select button[aria-pressed="true"]::after {
	content: "✓";
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
	font-weight: 800;
}
.caygo-site .cg-checkbox {
	align-items: flex-start !important;
	gap: 9px !important;
	color: var(--cg-ui-text-secondary) !important;
	font-size: var(--cg-type-body-sm) !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
}
.caygo-site .cg-checkbox input {
	width: 18px !important;
	height: 18px;
	min-height: 18px !important;
	margin: 1px 0 0 !important;
	accent-color: var(--cg-ui-brand);
}
.caygo-site .cg-auth :is(.cg-button, button[type="submit"]) {
	min-height: 46px;
	border: 1px solid var(--cg-ui-brand) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-brand) !important;
	color: #fff !important;
	font-size: var(--cg-type-button) !important;
	font-weight: 700 !important;
	box-shadow: 0 8px 17px color-mix(in srgb, var(--cg-ui-brand) 22%, transparent);
}
.caygo-site .cg-auth :is(.cg-button, button[type="submit"]):hover {
	border-color: var(--cg-ui-brand-hover) !important;
	background: var(--cg-ui-brand-hover) !important;
	color: #fff !important;
	transform: translateY(-1px);
}
.caygo-site .cg-auth :is(.cg-button, button[type="submit"]):active {
	border-color: var(--cg-ui-brand-pressed) !important;
	background: var(--cg-ui-brand-pressed) !important;
	color: #fff !important;
	transform: translateY(0);
}
.caygo-site .cg-auth__foot { margin: 22px 0 0 !important; }
.caygo-site .cg-form-message { min-height: 0 !important; font-size: var(--cg-type-caption) !important; }

@media (max-width: 960px) {
	.caygo-site .cg-auth { grid-template-columns: 1fr !important; }
	.caygo-site .cg-auth__visual { min-height: 360px !important; }
	.caygo-site .cg-auth__panel { padding-block: 38px !important; }
}
@media (max-width: 680px) {
	.caygo-site .cg-auth__visual { min-height: 0 !important; padding: 38px 24px 34px !important; }
	.caygo-site .cg-auth__visual h1 { max-width: 390px; font-size: clamp(2.2rem, 10vw, 2.65rem) !important; }
	.caygo-site .cg-auth__visual .cg-check-list { gap: 7px; }
	.caygo-site .cg-auth__panel { padding: 26px 15px !important; }
	.caygo-site .cg-auth__box { padding: 27px 20px !important; }
	.caygo-site .cg-role-select { grid-template-columns: 1fr 1fr !important; }
	.caygo-site .cg-role-select button:last-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	.caygo-site .cg-header .cg-menu {
		background: var(--cg-ui-surface-elevated) !important;
		border-color: var(--cg-ui-border) !important;
		color: var(--cg-ui-brand) !important;
	}
	/* The mobile menu needs an opaque surface; transparent links over imagery are not usable. */
	html[data-cg-theme] body.caygo-site .cg-header .cg-nav.is-open {
		z-index: 30;
		background: var(--cg-ui-surface-elevated) !important;
		border-color: var(--cg-ui-border) !important;
		box-shadow: var(--cg-ui-shadow-float) !important;
		backdrop-filter: none;
	}
	html[data-cg-theme] body.caygo-site .cg-header .cg-nav.is-open :is(a, .cg-nav__locale) {
		color: var(--cg-ui-text) !important;
	}
}
@media (max-width: 430px) {
	.caygo-site .cg-auth__visual { padding-inline: 20px !important; }
	.caygo-site .cg-auth__box { padding: 24px 17px !important; border-radius: 16px !important; }
	.caygo-site .cg-form-grid,
	.caygo-site .cg-role-select { grid-template-columns: 1fr !important; }
	.caygo-site .cg-role-select button:last-child { grid-column: auto; }
}

/* Driver/profile verification: semantic type scale and private-document controls. */
.caygo-site .cg-runtime-profile {
	padding: clamp(20px, 2.2vw, 28px) !important;
}
.caygo-site .cg-runtime-profile > form,
.caygo-site .cg-runtime-profile > .cg-runtime-requirements {
	margin-top: 26px;
	padding-top: 25px;
	border-color: var(--cg-ui-border) !important;
}
.caygo-site .cg-runtime-profile :is(h2, h3) {
	color: var(--cg-ui-text) !important;
	font-family: var(--cg-font-display) !important;
	font-weight: 700 !important;
	line-height: var(--cg-leading-heading) !important;
}
.caygo-site .cg-runtime-profile h2 { font-size: var(--cg-type-h4) !important; }
.caygo-site .cg-runtime-profile h3,
.caygo-site .cg-runtime-requirements > h3 { margin-bottom: 8px; font-size: var(--cg-type-h4) !important; }
.caygo-site .cg-runtime-profile .cg-panel-head > div > p,
.caygo-site .cg-runtime-profile .cg-muted,
.caygo-site .cg-runtime-requirements > p {
	font-size: var(--cg-type-body-sm) !important;
	line-height: 1.55 !important;
}
.caygo-site .cg-runtime-profile form { display: grid; gap: 14px; }
.caygo-site .cg-runtime-profile .cg-form-grid { gap: 16px !important; }
.caygo-site .cg-runtime-profile form label {
	color: var(--cg-ui-text) !important;
	font-size: var(--cg-type-label) !important;
	font-weight: 700 !important;
	line-height: 1.35;
}
.caygo-site .cg-runtime-profile form :is(input:not([type="file"]), select, textarea) {
	min-height: 44px;
	padding: 10px 12px !important;
	border-color: var(--cg-ui-input-border) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-input) !important;
	color: var(--cg-ui-text) !important;
	font-size: var(--cg-type-body) !important;
}
.caygo-site .cg-runtime-profile :is(input, select, textarea, button, a):focus-visible {
	outline: 3px solid var(--cg-ui-focus) !important;
	outline-offset: 2px;
}
.caygo-site .cg-runtime-profile [data-cg-avatar-form] > label {
	gap: 10px 14px;
	align-items: center;
}
.caygo-site .cg-runtime-profile input[type="file"] {
	min-height: 42px;
	padding: 5px !important;
	border: 1px solid var(--cg-ui-input-border) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-input) !important;
	color: var(--cg-ui-text) !important;
	font-size: var(--cg-type-body-sm) !important;
}
.caygo-site .cg-runtime-profile input[type="file"]::file-selector-button {
	margin-right: 10px;
	padding: 8px 11px;
	border: 0;
	border-radius: 7px;
	background: var(--cg-ui-surface-soft);
	color: var(--cg-ui-text);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.caygo-site .cg-runtime-profile [data-cg-avatar-form] small {
	font-size: var(--cg-type-caption) !important;
	line-height: 1.5;
}
.caygo-site .cg-runtime-profile :is(.cg-button, .cg-outline-button) {
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid var(--cg-ui-brand) !important;
	border-radius: var(--cg-radius-control) !important;
	background: var(--cg-ui-brand) !important;
	color: var(--cg-ui-on-brand) !important;
	font-size: var(--cg-type-button) !important;
	font-weight: 700 !important;
}
.caygo-site .cg-runtime-profile :is(.cg-button, .cg-outline-button):not(:disabled):hover {
	border-color: var(--cg-ui-brand-hover) !important;
	background: var(--cg-ui-brand-hover) !important;
	color: var(--cg-ui-on-brand) !important;
}
.caygo-site .cg-runtime-requirements { display: grid; gap: 10px; }
.caygo-site .cg-document-row {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 15px;
	border: 1px solid var(--cg-ui-border);
	border-radius: var(--cg-radius-control);
	background: var(--cg-ui-surface-soft) !important;
}
.caygo-site .cg-document-row > span { color: var(--cg-ui-accent); font-size: 21px; }
.caygo-site .cg-document-row > div { min-width: 0; }
.caygo-site .cg-document-row b {
	font-size: var(--cg-type-body) !important;
	font-weight: 700 !important;
	line-height: 1.35;
}
.caygo-site .cg-document-row small {
	margin-top: 3px;
	color: var(--cg-ui-text-secondary) !important;
	font-size: var(--cg-type-caption) !important;
	line-height: 1.45;
}
.caygo-site .cg-document-row .cg-document-row__help {
	max-width: 650px;
	color: var(--cg-ui-text-muted) !important;
}
.caygo-site .cg-document-row .cg-document-action {
	min-height: 38px;
	padding: 8px 11px;
	border: 1px solid var(--cg-ui-brand) !important;
	border-radius: 8px;
	background: var(--cg-ui-brand) !important;
	color: var(--cg-ui-on-brand) !important;
	font-size: var(--cg-type-button) !important;
	font-weight: 700 !important;
	line-height: 1.2;
	white-space: nowrap;
}
.caygo-site .cg-document-row .cg-document-action:not(:disabled):hover {
	border-color: var(--cg-ui-brand-hover) !important;
	background: var(--cg-ui-brand-hover) !important;
}
.caygo-site .cg-document-row > a {
	grid-column: 2;
	width: max-content;
	font-size: var(--cg-type-caption) !important;
	font-weight: 700;
}
.caygo-site .cg-document-row[data-document-status="rejected"] { border-color: var(--cg-ui-danger); }
.caygo-site .cg-document-row[data-document-status="approved"] { border-color: var(--cg-ui-success); }
.caygo-site .cg-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
@media (max-width: 620px) {
	.caygo-site .cg-runtime-profile { padding: 19px !important; }
	.caygo-site .cg-document-row { grid-template-columns: 26px minmax(0, 1fr); align-items: start; }
	.caygo-site .cg-document-row .cg-document-action { grid-column: 2; justify-self: start; }
	.caygo-site .cg-document-row > a { grid-column: 2; }
}
.caygo-site .cg-document-row .cg-document-row__review { color: var(--cg-ui-danger) !important; font-weight: 650; }

/* Rental policy readability: inherit CayGo semantic typography rather than legacy microtype. */
.caygo-site .cg-legal-layout {
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr);
  gap: clamp(22px, 3vw, 38px);
}

.caygo-site .cg-legal-layout > aside {
  gap: 10px;
  padding: 4px 0;
}

.caygo-site .cg-legal-layout > aside b {
  margin-bottom: 4px;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-label) !important;
  font-weight: 700 !important;
  line-height: 1.35;
}

.caygo-site .cg-legal-layout > aside a {
  display: block;
  padding: 3px 0;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body-sm) !important;
  font-weight: 600;
  line-height: 1.45;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.caygo-site .cg-legal-layout > aside a:hover,
.caygo-site .cg-legal-layout > aside a:focus-visible {
  color: var(--cg-ui-brand) !important;
}

.caygo-site .cg-legal-layout > main {
  width: 100%;
  max-width: 880px;
  justify-self: start;
}

.caygo-site .cg-legal-lead {
  max-width: 72ch;
  margin: 0;
  padding: 0 0 23px;
  border-color: var(--cg-ui-border) !important;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: var(--cg-leading-body);
}

.caygo-site .cg-legal-accordion {
  max-width: 78ch;
  margin-top: 4px;
}

.caygo-site .cg-legal-accordion details {
  border-color: var(--cg-ui-border) !important;
}

.caygo-site .cg-legal-accordion summary {
  position: relative;
  min-height: 56px;
  padding: 15px 36px 15px 0;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-h4) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  list-style: none;
}

.caygo-site .cg-legal-accordion summary::-webkit-details-marker {
  display: none;
}

.caygo-site .cg-legal-accordion summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  color: var(--cg-ui-text-secondary);
  content: '⌄';
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-55%);
  transition: color 160ms ease, transform 160ms ease;
}

.caygo-site .cg-legal-accordion details[open] summary::after {
  color: var(--cg-ui-brand);
  transform: translateY(-45%) rotate(180deg);
}

.caygo-site .cg-legal-accordion details:not([open]) summary:hover {
  color: var(--cg-ui-brand) !important;
}

.caygo-site .cg-legal-accordion summary:focus-visible {
  outline: 3px solid var(--cg-ui-focus);
  outline-offset: 4px;
  border-radius: var(--cg-radius-control);
}

.caygo-site .cg-legal-accordion details p {
  max-width: 72ch;
  margin: 0;
  padding: 0 36px 22px 0;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.65;
}

@media (max-width: 800px) {
  .caygo-site .cg-legal-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .caygo-site .cg-legal-layout > aside {
    padding: 0 0 18px;
    border-bottom: 1px solid var(--cg-ui-border);
  }

  .caygo-site .cg-legal-layout > main,
  .caygo-site .cg-legal-accordion {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .caygo-site .cg-legal-accordion summary {
    min-height: 54px;
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: var(--cg-type-h4) !important;
  }

  .caygo-site .cg-legal-accordion details p {
    padding-right: 0;
    padding-bottom: 20px;
  }
}
/* Contact support readability: replace legacy contact microtype with CayGo semantic tokens. */
.caygo-site .cg-contact-cards {
  gap: 12px;
  margin-bottom: 18px;
}

.caygo-site .cg-contact-cards article {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  border-color: var(--cg-ui-border) !important;
  background: var(--cg-ui-surface) !important;
}

.caygo-site .cg-contact-cards article > span {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: var(--cg-ui-brand) !important;
  font-size: 20px;
  line-height: 1;
}

.caygo-site .cg-contact-cards b {
  margin-top: 12px;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body-lg) !important;
  font-weight: 700 !important;
  line-height: 1.3;
}

.caygo-site .cg-contact-cards p {
  margin: 8px 0 0;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.55;
}

.caygo-site .cg-contact-cards a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  margin-top: 8px;
  color: var(--cg-ui-brand) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-button) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.caygo-site .cg-contact-cards a:hover,
.caygo-site .cg-contact-cards a:focus-visible {
  color: var(--cg-ui-brand-hover) !important;
}

.caygo-site .cg-contact-cards a:focus-visible,
.caygo-site .cg-contact-form :is(input, select, textarea):focus-visible {
  outline: 3px solid var(--cg-ui-focus);
  outline-offset: 3px;
}

.caygo-site .cg-contact-layout > div > .cg-panel {
  padding: 26px;
  border-color: var(--cg-ui-border) !important;
  background: var(--cg-ui-surface) !important;
}

.caygo-site .cg-contact-layout > div > .cg-panel h2 {
  margin: 0 0 12px;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-h3) !important;
  font-weight: 700 !important;
  line-height: 1.2;
}

.caygo-site .cg-contact-layout > div > .cg-panel p {
  margin: 0;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.62;
}

.caygo-site .cg-contact-form {
  gap: 14px;
}

.caygo-site .cg-contact-form label {
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-label) !important;
  font-weight: 700 !important;
  line-height: 1.4;
}

.caygo-site .cg-contact-form :is(input, select, textarea) {
  border-color: var(--cg-ui-border) !important;
  background: var(--cg-ui-input) !important;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: var(--cg-leading-body);
}

@media (max-width: 800px) {
  .caygo-site .cg-contact-cards {
    gap: 12px;
  }

  .caygo-site .cg-contact-cards article {
    padding: 19px;
  }
}

@media (max-width: 480px) {
  .caygo-site .cg-contact-cards article,
  .caygo-site .cg-contact-layout > div > .cg-panel {
    padding: 18px;
  }
}
/* Homepage FAQ readability: use the shared semantic scale instead of legacy FAQ microtype. */
.home.caygo-site .cg-faq-layout > div:first-child .cg-eyebrow {
  color: var(--cg-ui-brand) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-label) !important;
  font-weight: 700 !important;
  letter-spacing: .075em !important;
  line-height: 1.3;
}

.home.caygo-site .cg-faq-layout > div:first-child .cg-section-heading {
  max-width: 18ch;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-display) !important;
  font-size: var(--cg-type-h2) !important;
  font-weight: 700 !important;
  line-height: var(--cg-leading-heading) !important;
}

.home.caygo-site .cg-faq-layout > div:first-child .cg-section-lead {
  max-width: 42ch;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.62 !important;
}

.home.caygo-site .cg-faq details {
  border-color: var(--cg-ui-border) !important;
}

.home.caygo-site .cg-faq summary {
  position: relative;
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 16px;
  padding: 17px 42px 17px 0;
  color: var(--cg-ui-text) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body-lg) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.home.caygo-site .cg-faq summary::-webkit-details-marker {
  display: none;
}

.home.caygo-site .cg-faq summary::marker {
  content: '';
  font-size: 0;
}

.home.caygo-site .cg-faq summary::before,
.home.caygo-site .cg-faq summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  display: block;
  background: var(--cg-ui-brand);
  content: '';
  pointer-events: none;
  transform: translateY(-50%);
  transition: background-color 160ms ease, transform 160ms ease;
}

.home.caygo-site .cg-faq summary::after {
  width: 16px;
  height: 2px;
}

.home.caygo-site .cg-faq summary::before {
  width: 2px;
  height: 16px;
  right: 11px;
}

.home.caygo-site .cg-faq details[open] summary::before {
  transform: translateY(-50%) scaleY(0);
}

.home.caygo-site .cg-faq details:not([open]) summary:hover {
  color: var(--cg-ui-brand) !important;
}

.home.caygo-site .cg-faq summary:focus-visible {
  outline: 3px solid var(--cg-ui-focus);
  outline-offset: 4px;
  border-radius: var(--cg-radius-control);
}

.home.caygo-site .cg-faq details p {
  max-width: 58ch;
  margin: 0;
  padding: 0 42px 18px 0;
  color: var(--cg-ui-text-secondary) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.62;
}

@media (max-width: 800px) {
  .home.caygo-site .cg-faq-layout > div:first-child .cg-section-heading,
  .home.caygo-site .cg-faq-layout > div:first-child .cg-section-lead,
  .home.caygo-site .cg-faq details p {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .home.caygo-site .cg-faq summary {
    min-height: 56px;
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: var(--cg-type-body-lg) !important;
  }

  .home.caygo-site .cg-faq details p {
    padding-right: 30px;
    padding-bottom: 17px;
  }
}
/* Homepage vehicle access: semantic contrast mappings prevent inverse brand text leaking into light surfaces. */
html[data-cg-theme] .home.caygo-site .cg-access {
  background: var(--cg-access-section-bg) !important;
  color: var(--cg-access-heading) !important;
}

html[data-cg-theme] .home.caygo-site .cg-access .cg-eyebrow {
  color: var(--cg-ui-brand) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-label) !important;
  font-weight: 700 !important;
  letter-spacing: .075em !important;
  line-height: 1.3;
}

html[data-cg-theme] .home.caygo-site .cg-access__intro h2 {
  max-width: 18ch;
  margin: 0;
  color: var(--cg-access-heading) !important;
  font-family: var(--cg-font-display) !important;
  font-size: var(--cg-type-h2) !important;
  font-weight: 700 !important;
  line-height: var(--cg-leading-heading) !important;
}

html[data-cg-theme] .home.caygo-site .cg-access__intro p {
  max-width: 42ch;
  margin: 0 0 3px;
  color: var(--cg-access-copy) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.6;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid article {
  min-width: 0;
  min-height: 168px;
  padding: 21px;
  border-color: var(--cg-access-card-border) !important;
  background: var(--cg-access-card-bg) !important;
  box-shadow: var(--cg-ui-shadow) !important;
  color: var(--cg-access-card-title) !important;
  transition: none;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid article:hover {
  border-color: var(--cg-access-card-border) !important;
  background: var(--cg-access-card-bg) !important;
  box-shadow: var(--cg-ui-shadow) !important;
  transform: none;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid span {
  width: 40px;
  height: 40px;
  margin-bottom: 22px;
  background: color-mix(in srgb, var(--cg-ui-warning) 14%, var(--cg-access-card-bg)) !important;
  color: var(--cg-ui-warning) !important;
  font-size: var(--cg-type-h4) !important;
  line-height: 1;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid article:nth-child(2) span {
  background: color-mix(in srgb, var(--cg-ui-warning) 16%, var(--cg-access-card-bg)) !important;
  color: var(--cg-ui-warning) !important;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid article:nth-child(3) span {
  background: color-mix(in srgb, var(--cg-ui-accent) 15%, var(--cg-access-card-bg)) !important;
  color: var(--cg-ui-accent) !important;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid article:nth-child(4) span {
  background: color-mix(in srgb, var(--cg-ui-danger) 14%, var(--cg-access-card-bg)) !important;
  color: var(--cg-ui-danger) !important;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid b {
  color: var(--cg-access-card-title) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body-lg) !important;
  font-weight: 700 !important;
  line-height: 1.3;
}

html[data-cg-theme] .home.caygo-site .cg-access__grid p {
  margin: 6px 0 0;
  color: var(--cg-access-card-copy) !important;
  font-family: var(--cg-font-ui) !important;
  font-size: var(--cg-type-body) !important;
  line-height: 1.55;
}

@media (max-width: 800px) {
  html[data-cg-theme] .home.caygo-site .cg-access__intro h2,
  html[data-cg-theme] .home.caygo-site .cg-access__intro p {
    max-width: none;
  }
}

@media (max-width: 480px) {
  html[data-cg-theme] .home.caygo-site .cg-access__grid article {
    min-height: 0;
    padding: 18px;
  }

  html[data-cg-theme] .home.caygo-site .cg-access__grid span {
    margin-bottom: 15px;
  }
}
/* Homepage FAQ panel: one integrated semantic surface instead of detached per-row cards. */
html[data-cg-theme] .home.caygo-site .cg-faq {
  overflow: hidden;
  border: 1px solid var(--cg-ui-border);
  border-radius: var(--cg-radius-panel);
  background: var(--cg-ui-surface-elevated) !important;
  box-shadow: var(--cg-ui-shadow);
}

html[data-cg-theme] .home.caygo-site .cg-faq details {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--cg-ui-border);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-cg-theme] .home.caygo-site .cg-faq details:last-child {
  border-bottom: 0;
}

html[data-cg-theme] .home.caygo-site .cg-faq details[open] {
  background: var(--cg-ui-surface-soft) !important;
}

html[data-cg-theme] .home.caygo-site .cg-faq summary {
  padding-left: 22px;
}

html[data-cg-theme] .home.caygo-site .cg-faq details:not([open]) summary:hover {
  background: color-mix(in srgb, var(--cg-ui-surface-soft) 76%, transparent);
}

html[data-cg-theme] .home.caygo-site .cg-faq details p {
  padding-left: 22px;
}

@media (max-width: 480px) {
  html[data-cg-theme] .home.caygo-site .cg-faq {
    border-radius: var(--cg-radius-card);
  }

  html[data-cg-theme] .home.caygo-site .cg-faq summary,
  html[data-cg-theme] .home.caygo-site .cg-faq details p {
    padding-left: 18px;
  }
}

/* Help Centre hero and topic cards consume shared appearance and type tokens. */
html[data-cg-theme] body.caygo-site .cg-support-hero h1 {
    color: var(--cg-ui-on-brand) !important;
}
.caygo-site .cg-support-hero label {
    background: var(--cg-ui-input);
    border: 1px solid var(--cg-ui-input-border);
    color: var(--cg-ui-text);
}
.caygo-site .cg-support-hero input {
    background: transparent !important;
    border: 0 !important;
}
.caygo-site .cg-help-grid a {
    background: var(--cg-ui-surface-elevated);
    border-color: var(--cg-ui-border);
}
.caygo-site .cg-help-grid b {
    font-size: var(--cg-type-body-lg);
    font-weight: 650;
    line-height: var(--cg-leading-heading);
}
.caygo-site .cg-help-grid p {
    color: var(--cg-ui-text-secondary);
    font-size: var(--cg-type-body);
    line-height: var(--cg-leading-body);
}

/* Dark editorial heroes use the current mint accent, not the legacy light-island green. */
html[data-cg-theme="dark"] body.caygo-site :is(.cg-home-hero, .cg-discovery-hero, .cg-host-hero, .cg-flow-hero, .cg-subhero) .cg-eyebrow {
    color: var(--cg-ui-brand) !important;
}
/* Runtime profile and verification use an information rail beside the actual form.
   The legacy profile grid reserved its first 220px track for a navigation menu. */
.caygo-runtime-portal .cg-runtime-verification-layout {
	display: grid;
	grid-template-columns: minmax(270px, 310px) minmax(0, 1fr);
	gap: clamp(20px, 2.5vw, 32px);
	align-items: start;
}
.caygo-runtime-portal .cg-runtime-verification-layout > .cg-verification-side,
.caygo-runtime-portal .cg-runtime-verification-layout > main {
	min-width: 0;
}
.caygo-runtime-portal .cg-runtime-verification-layout > .cg-verification-side {
	grid-column: 1;
	grid-row: 1;
}
.caygo-runtime-portal .cg-runtime-verification-layout > main {
	grid-column: 2;
	grid-row: 1;
}
.caygo-runtime-portal .cg-runtime-verification-layout .cg-verification-side > .cg-panel {
	margin: 0;
}
.caygo-runtime-portal .cg-runtime-verification-layout .cg-runtime-profile .cg-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.caygo-runtime-portal .cg-runtime-verification-layout .cg-runtime-profile :is(form, .cg-runtime-requirements),
.caygo-runtime-portal .cg-runtime-verification-layout .cg-document-row {
	min-width: 0;
}
.caygo-runtime-portal .cg-runtime-verification-layout .cg-verification-side :is(p, .cg-process-list span) {
	color: var(--cg-ui-text-muted);
	font-size: var(--cg-type-body-sm);
	line-height: 1.55;
}
.caygo-runtime-portal .cg-runtime-verification-layout .cg-process-list b {
	color: var(--cg-ui-text);
	font-size: var(--cg-type-label);
}
@media (max-width: 900px) {
	.caygo-runtime-portal .cg-runtime-verification-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.caygo-runtime-portal .cg-runtime-verification-layout > .cg-verification-side {
		grid-column: 1;
		grid-row: 2;
	}
	.caygo-runtime-portal .cg-runtime-verification-layout > main {
		grid-column: 1;
		grid-row: 1;
	}
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-verification-side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-my-roles {
		grid-row: span 2;
	}
}
@media (max-width: 620px) {
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-verification-side,
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-runtime-profile .cg-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-my-roles {
		grid-row: auto;
	}
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-runtime-profile [data-cg-avatar-form] > label {
		grid-template-columns: minmax(0, 1fr);
	}
	.caygo-runtime-portal .cg-runtime-verification-layout .cg-runtime-profile [data-cg-avatar-form] > label :is(input, small) {
		grid-column: 1;
	}
}
.caygo-runtime-portal :is(.cg-profile-layout, .cg-verification-layout) > :only-child {
	grid-column: 1 / -1;
}
