:root {
    --header-height: 64px;
    --font-size-body: 0.9375rem; /* 15px */
    --font-size-body-sm: 0.875rem; /* 14px */
    --font-size-h2: 1.375rem; /* 22px section title */
    --font-size-h3: clamp(1rem, 1.2vw, 1.0625rem);
    --font-size-hero-h1: clamp(1.625rem, 3.2vw, 1.75rem); /* ~26–28px */
    --font-size-hero-sub: 1rem; /* 16px hero body */
    --spacing-block: 1rem;
    --spacing-list: 0.35rem;
    --spacing-section-y: 2.25rem; /* 36px */
}

* {
    box-sizing: border-box;
}

html {
    overflow-x: clip;
    scroll-padding-top: calc(var(--header-height) + 12px);
}

body {
    margin: 0;
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--font-size-body);
    color: var(--text-body);
    background: var(--bg-dark);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: clip;
}

main {
    background: var(--bg-surface);
    overflow-x: clip;
}
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-heading);
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.6rem;
}

a {
    color: var(--purple-accent);
    text-decoration: none;
}

a:hover {
    color: var(--purple-accent-2);
}

.site-header {
    z-index: 1030;
}

.site-header .navbar {
    min-height: var(--header-height);
    background:
        radial-gradient(circle at 20% 0%, rgba(111, 53, 245, 0.18), transparent 32%),
        radial-gradient(circle at 85% 10%, rgba(142, 68, 255, 0.14), transparent 28%),
        linear-gradient(180deg, #090a10 0%, #11121a 100%);
    box-shadow: var(--shadow-frame);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.site-header .navbar-brand {
    color: var(--text-inverse) !important;
    font-weight: 600;
    /* Keep prod-scale product name; header CTAs use .site-header .btn.btn-primary sizing below */
    font-size: 1.25rem;
    letter-spacing: -0.02em;
}

.site-header .navbar-brand:hover,
.site-header .navbar-brand:focus {
    color: var(--text-inverse) !important;
    opacity: 0.92;
}

.site-header .nav-link {
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 500;
    font-size: 0.875rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus {
    color: var(--text-inverse) !important;
}

.site-header .nav-link.dropdown-toggle::after {
    border-top-color: rgba(255, 255, 255, 0.65);
}

.site-header .navbar-toggler {
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-menu);
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.03);
}

.site-header .navbar-toggler:focus {
    box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.35);
}

.site-header .navbar-toggler-icon {
    filter: invert(1) brightness(1.05);
}

.site-header .site-search-input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: var(--text-inverse);
    font-size: 0.8125rem;
    min-height: 2.125rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.site-header .site-search-input::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.site-header .site-search-input:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(167, 139, 250, 0.45);
    color: var(--text-inverse);
    box-shadow: 0 0 0 2px rgba(111, 53, 245, 0.25);
}

.brand-logo {
    border-radius: 12px;
    object-fit: contain;
}

.link-login {
    color: var(--text-inverse-soft) !important;
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    /* Match adjacent .btn-primary cap height so the row aligns optically */
    min-height: 2.125rem;
    padding: 0 0.25rem;
}

.link-login:hover {
    color: var(--text-inverse) !important;
}

.dropdown-menu-mega.guides-mega {
    padding: 0.85rem;
}

.mega-grid,
.guides-mega-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0.5rem;
}

.mega-grid section,
.guides-mega-grid section {
    min-width: 0;
}

.dropdown-menu-mega .dropdown-item {
    white-space: normal;
}

.guides-mega .dropdown-item {
    white-space: normal;
}

.dropdown-menu-mega .dropdown-header {
    margin-top: 0.25rem;
}

.guides-mega .dropdown-header {
    margin-top: 0.25rem;
}

.guides-mega-all-guides {
    margin-top: 0.35rem;
    font-weight: 600;
}

/* Bootstrap 5 adds inset highlight + variable radius; normalize for premium flat fill + true vertical center */
.btn {
    --bs-btn-border-radius: var(--radius-button);
}

.btn-primary {
    --bs-btn-bg: var(--purple-accent);
    --bs-btn-border-color: transparent;
    --bs-btn-hover-bg: #5e2ee0;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-bg: #5528d4;
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-bg: var(--purple-accent);
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: none;
    --bs-btn-focus-box-shadow: 0 0 0 0.2rem rgba(111, 53, 245, 0.35);
    --bs-btn-active-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    line-height: 1.2;
    border-radius: var(--radius-button);
    border-color: transparent;
    /* Slightly flatter gradient avoids a bright “rim” along the top edge */
    background: linear-gradient(180deg, #6a32ea 0%, #7c3aed 48%, #6d28d9 100%);
    font-weight: 600;
    min-height: 2.75rem;
    padding: 0.5625rem 1.125rem;
    box-shadow: none;
    transition: filter 0.2s ease, background 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus-visible {
    filter: brightness(1.04);
    background: linear-gradient(180deg, #6f37f0 0%, #8046f0 50%, #7230e0 100%);
    border-color: transparent;
    box-shadow: none;
}

.btn-primary:active {
    filter: brightness(0.98);
    box-shadow: none;
}

.site-header .btn.btn-primary {
    min-height: 2.125rem;
    padding: 0.375rem 0.875rem;
    font-size: 0.875rem;
}

.btn-outline-primary {
    --bs-btn-color: var(--purple-accent-2);
    --bs-btn-border-color: var(--border-purple-med);
    --bs-btn-hover-bg: #faf7ff;
    --bs-btn-hover-border-color: rgba(111, 53, 245, 0.38);
    --bs-btn-hover-color: var(--purple-accent-2);
    --bs-btn-active-bg: #f3effb;
    --bs-btn-active-border-color: rgba(111, 53, 245, 0.45);
    --bs-btn-active-color: var(--purple-accent-2);
    --bs-btn-box-shadow: none;
    --bs-btn-focus-box-shadow: 0 0 0 0.2rem rgba(111, 53, 245, 0.22);
    --bs-btn-active-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    line-height: 1.2;
    border-radius: var(--radius-button);
    background: #fff;
    font-weight: 500;
    min-height: 2.625rem;
    padding: 0.5rem 1.125rem;
    box-shadow: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
    background: #faf7ff;
    border-color: rgba(111, 53, 245, 0.38);
    color: var(--purple-accent-2);
    box-shadow: none;
}

.btn-outline-primary:active {
    box-shadow: none;
}

.btn-sm.btn-primary,
.btn-sm.btn-outline-primary {
    min-height: 0;
    padding: 0.375rem 0.75rem;
    line-height: 1.25;
}

.btn-lg.btn-primary,
.btn-lg.btn-outline-primary {
    min-height: 3rem;
    padding: 0.625rem 1.25rem;
}

/* Tertiary / low-emphasis actions: purple text, minimal chrome */
.btn-outline-secondary {
    --bs-btn-color: var(--purple-accent);
    --bs-btn-border-color: transparent;
    --bs-btn-hover-bg: rgba(111, 53, 245, 0.08);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-hover-color: var(--purple-accent-2);
    --bs-btn-active-bg: rgba(111, 53, 245, 0.12);
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-color: var(--purple-accent-2);
    --bs-btn-box-shadow: none;
    --bs-btn-focus-box-shadow: 0 0 0 0.2rem rgba(111, 53, 245, 0.2);
    --bs-btn-active-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    background: transparent;
    border-color: transparent;
    font-weight: 500;
    border-radius: var(--radius-button);
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    box-shadow: none;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    color: var(--purple-accent-2);
}

/* Inline / text-style link button (optional class) */
.btn-text,
.btn-text:link,
.btn-text:visited {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0;
    min-height: 0;
    border: none;
    background: none;
    color: var(--purple-accent);
    font-weight: 500;
    font-size: var(--font-size-body-sm);
    text-decoration: none;
}

.btn-text:hover {
    color: var(--purple-accent-2);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* Shared hero chrome: lavender panel, purple kicker, compact type (landing heroes with .hero-surface stay larger) */
.hero,
.page-hero {
    position: relative;
    overflow: hidden;
    padding: 1.125rem 0 1.375rem;
    background: var(--gradient-hero-panel);
    border-bottom: 1px solid var(--border-breadcrumb);
    color: var(--text-heading);
}

.hero::after,
.page-hero::after {
    display: none;
}

.hero .container,
.page-hero .container {
    position: relative;
    z-index: 1;
}

.hero h1,
.page-hero h1 {
    font-size: var(--font-size-hero-h1);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.12;
    color: var(--text-heading);
    margin-bottom: 0.5rem;
}

.hero-kicker,
.hero p.hero-kicker,
.page-hero .hero-kicker,
.page-hero p.hero-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    line-height: 1.2;
    color: var(--purple-accent);
    margin-bottom: 0.625rem;
}

.page-hero .hero-kicker a,
.hero .hero-kicker a {
    color: var(--purple-accent);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.page-hero .hero-kicker a:hover,
.page-hero .hero-kicker a:focus-visible,
.hero .hero-kicker a:hover,
.hero .hero-kicker a:focus-visible {
    color: var(--purple-accent-2);
}

/* Lavender heroes: legacy text-white kickers are illegible on the light panel */
.page-hero .hero-kicker a.text-white,
.hero .hero-kicker a.text-white {
    color: var(--purple-accent) !important;
}

.page-hero .hero-kicker a.text-white:hover,
.page-hero .hero-kicker a.text-white:focus-visible,
.hero .hero-kicker a.text-white:hover,
.hero .hero-kicker a.text-white:focus-visible {
    color: var(--purple-accent-2) !important;
}

.hero p:not(.hero-kicker),
.page-hero p:not(.hero-kicker) {
    font-size: var(--font-size-hero-sub);
    line-height: 1.5;
    font-weight: 400;
    color: var(--text-body);
    max-width: 78ch;
}

.hero-divider {
    display: none;
}

.hero-surface {
    background: var(--bg-surface);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: var(--shadow-card);
}

/* Home / product overview: screenshot column keeps a roomier landing scale */
.hero:has(.hero-surface) {
    padding: 1.75rem 0 2rem;
}

.hero:has(.hero-surface) h1 {
    font-size: clamp(1.875rem, 4.5vw, 2.5rem);
    margin-bottom: 1rem;
}

.hero:has(.hero-surface) p:not(.hero-kicker) {
    font-size: clamp(0.9375rem, 2vw, 1rem);
    max-width: 700px;
}

.hero:has(.hero-surface) .hero-kicker {
    margin-bottom: 0.875rem;
}

/* Home / product overview: tighter hero CTAs so four buttons fit on one row */
.hero:has(.hero-surface) .btn-lg {
    min-height: 2.5rem;
    padding: 0.4375rem 1rem;
    font-size: 0.875rem;
}

/* Compact heroes: normal button size (not oversized btn-lg) */
.hero:not(:has(.hero-surface)) .btn-lg {
    min-height: 2.625rem;
    padding: 0.5rem 1.125rem;
    font-size: 0.9375rem;
}

.hero:not(:has(.hero-surface)) a.text-white {
    color: var(--purple-accent) !important;
}

.hero:not(:has(.hero-surface)) a.text-white:hover {
    color: var(--purple-accent-2) !important;
}

/* Lavender heroes: legacy link-light / text-white inline links on light panels */
.hero .link-light,
.page-hero .link-light,
.hero a.link-light,
.page-hero a.link-light {
    color: var(--purple-accent) !important;
}

.hero .link-light:hover,
.hero .link-light:focus-visible,
.page-hero .link-light:hover,
.page-hero .link-light:focus-visible,
.hero a.link-light:hover,
.hero a.link-light:focus-visible,
.page-hero a.link-light:hover,
.page-hero a.link-light:focus-visible {
    color: var(--purple-accent-2) !important;
}

/* Remap legacy btn-light / btn-outline-light in heroes to purple CTA styles */
.hero .btn-light {
    --bs-btn-bg: var(--purple-accent);
    --bs-btn-border-color: transparent;
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: #5e2ee0;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #5528d4;
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-color: #fff;
    background: linear-gradient(180deg, #6a32ea 0%, #7c3aed 48%, #6d28d9 100%);
    border-color: transparent;
    color: #fff;
    font-weight: 600;
}

.hero .btn-light:hover,
.hero .btn-light:focus-visible {
    filter: brightness(1.04);
    background: linear-gradient(180deg, #6f37f0 0%, #8046f0 50%, #7230e0 100%);
    border-color: transparent;
    color: #fff;
}

.hero .btn-outline-light {
    --bs-btn-color: var(--purple-accent-2);
    --bs-btn-border-color: var(--border-purple-med);
    --bs-btn-hover-bg: #faf7ff;
    --bs-btn-hover-border-color: rgba(111, 53, 245, 0.38);
    --bs-btn-hover-color: var(--purple-accent-2);
    --bs-btn-active-bg: #f3effb;
    --bs-btn-active-border-color: rgba(111, 53, 245, 0.45);
    --bs-btn-active-color: var(--purple-accent-2);
    background: #fff;
    border-color: var(--border-purple-med);
    color: var(--purple-accent-2);
    font-weight: 500;
}

.hero .btn-outline-light:hover,
.hero .btn-outline-light:focus-visible {
    background: #faf7ff;
    border-color: rgba(111, 53, 245, 0.38);
    color: var(--purple-accent-2);
}

.section {
    padding: var(--spacing-section-y) 0;
    margin-bottom: 0;
}

.section-muted {
    background: var(--color-bg-light);
}

.section-tight {
    padding: 3.75rem 0;
}

.release-notes-archive-footer {
    padding-top: 1.25rem;
    padding-bottom: 1.75rem;
    border-top: 1px solid #e9ecef;
    background: #fff;
}

.release-notes-archive-footer a {
    font-weight: 600;
}

.article-postlude {
    padding-top: 0.75rem;
    padding-bottom: 2.75rem;
}

/* Tighten gap before article footer CTA: default .section uses 5rem bottom padding */
main > .section:not(.article-postlude):has(+ .article-postlude) {
    padding-bottom: 1.5rem;
}

.article-last-updated-footer {
    border-color: var(--color-border) !important;
    opacity: 0.88;
}

.logo-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 1rem;
    align-items: center;
}

.logo-card {
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.logo-card img {
    width: 100%;
    max-width: 120px;
    height: 36px;
    object-fit: contain;
}

.services-platform-logos .logo-card img {
    max-width: 168px;
    height: 48px;
}

.services-offering-icon {
    flex-shrink: 0;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pricing-step-badge {
    display: block;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.pricing-step-badge img {
    width: 48px;
    height: 48px;
    display: block;
}

/* Pricing “How it works” cards: numbered badge + title on one line, copy below */
.pricing-step-card-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.pricing-step-card-head .h5 {
    margin-bottom: 0;
    line-height: 1.25;
}

/*
 * Card title icons (marketing pages)
 * Markup: <h3 class="h5 card-title-with-icon"><span class="card-title-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">...</svg></span><span>Title</span></h3>
 * Section h2: add .section-heading-with-icon and use width/height 28 on the svg.
 * Reuse the same stroke icon for the same meaning across pages: pound (landed/margin), fileText (manifest/docs), zap (speed/listings), plug (integrations), user (personas), book (learning), search (discovery), check (checklists), link (traceability), gavel (auctions), truck (shipping), barChart (analytics), shield (risk/policy).
 * Reference copies: input/product-overview/index.md (feature-card + common problems rows).
 */
.card-title-with-icon {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.card-title-with-icon .card-title-icon {
    flex-shrink: 0;
    margin-top: 0.1rem;
    color: var(--color-primary);
    display: inline-flex;
}

/* Section-level heading with icon (e.g. product overview “Who this is for”) */
h2.section-heading-with-icon.card-title-with-icon {
    align-items: center;
    gap: 0.65rem;
}

h2.section-heading-with-icon.card-title-with-icon .card-title-icon {
    margin-top: 0;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
}

.feature-card {
    grid-column: span 4;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    padding: 1.375rem 1.25rem;
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-surface-soft) 100%);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 0;
}

.feature-card > .feature-card-actions,
.feature-card > .feature-card-links,
.feature-card > .btn.feature-card-link:only-of-type {
    margin-top: auto;
}

.feature-card .feature-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.feature-card .feature-card-actions .btn {
    margin-top: 0;
    align-self: center;
}

/* Match outline-primary pill shape on secondary actions inside feature cards */
.feature-card .feature-card-actions .btn-outline-secondary {
    --bs-btn-border-color: rgba(111, 53, 245, 0.32);
    border: 1px solid rgba(111, 53, 245, 0.32);
    background-color: #fff;
    min-height: 0;
    padding: 0.375rem 0.75rem;
    line-height: 1.25;
    box-shadow: none;
}

.feature-card .feature-card-actions .btn-outline-secondary:hover,
.feature-card .feature-card-actions .btn-outline-secondary:focus {
    background-color: rgba(111, 53, 245, 0.06);
    border-color: rgba(111, 53, 245, 0.45);
}

.feature-card .feature-card-secondary-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--purple-accent);
    text-decoration: none;
}

.feature-card .feature-card-secondary-link:hover {
    color: var(--purple-dark, #5a2d91);
    text-decoration: underline;
}

.feature-card-image-link {
    display: block;
    text-decoration: none;
    border-radius: var(--radius-card);
    overflow: hidden;
}

.feature-card-image-link:hover img,
.feature-card-image-link:focus-visible img {
    opacity: 0.92;
}

.feature-card-image-link:focus-visible {
    outline: 2px solid rgba(111, 53, 245, 0.45);
    outline-offset: 2px;
}

.feature-card-text-only .btn,
.feature-card-text-only .feature-card-link {
    margin-top: 0.5rem;
}

.feature-card-text-only .feature-card-links {
    margin-top: 0.5rem;
}

.feature-card.feature-wide {
    grid-column: span 8;
    background: linear-gradient(135deg, rgba(111, 53, 245, 0.08), rgba(139, 92, 246, 0.12));
    border-color: var(--border-soft);
}

/* Founder cards: circular LinkedIn-style headshot */
.founder-card__header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.founder-card__identity {
    min-width: 0;
    flex: 1 1 auto;
}

.founder-card__title {
    color: var(--text-muted, #5f6b7a);
    font-size: var(--font-size-body-sm);
    font-weight: 600;
    line-height: 1.35;
}

.founder-card__bio {
    margin-top: 0;
}

.founder-avatar {
    --founder-avatar-size: 96px;
    position: relative;
    display: inline-flex;
    width: var(--founder-avatar-size);
    height: var(--founder-avatar-size);
    margin-bottom: 0;
    border-radius: 50%;
    flex-shrink: 0;
    text-decoration: none;
}

.founder-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #0a66c2;
    box-shadow: 0 0 0 2px #fff;
    display: block;
    background: var(--bg-surface-soft);
}

.founder-avatar--placeholder img {
    border-color: var(--border-soft);
    box-shadow: none;
}

.founder-avatar__linkedin {
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0a66c2;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.18);
}

.founder-avatar__linkedin svg {
    width: 14px;
    height: 14px;
    display: block;
}

a.founder-avatar:hover img,
a.founder-avatar:focus-visible img {
    border-color: #004182;
}

a.founder-avatar.founder-avatar--placeholder:hover img,
a.founder-avatar.founder-avatar--placeholder:focus-visible img {
    border-color: #004182;
    box-shadow: 0 0 0 2px #fff;
}

a.founder-avatar:hover .founder-avatar__linkedin,
a.founder-avatar:focus-visible .founder-avatar__linkedin {
    background: #004182;
}

a.founder-avatar:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

.overview-card {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    padding: 1.375rem 1.25rem;
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-surface-soft) 100%);
    box-shadow: var(--shadow-card);
}

/*
 * Grid / row cards: title + copy stay top-aligned; CTA row sits on the bottom edge.
 * (.overview-card-links already has margin-top: auto — parent must be a column flex container.)
 */
.overview-card.h-100:not(.overview-card--clickable) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.overview-card.h-100:not(.overview-card--clickable) .overview-card-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-top: auto;
    padding-top: 1rem;
}

.overview-card.h-100:not(.overview-card--clickable) .overview-card-links .btn {
    align-self: flex-start;
}

/* Same bottom alignment when CTAs use Bootstrap utility rows instead of .overview-card-links */
.overview-card.h-100:not(.overview-card--clickable) > .d-flex.flex-wrap:last-child {
    margin-top: auto;
    padding-top: 1rem;
}

/* Card grids: equal-height columns when overview-card.h-100 is used */
main .section .row.g-3 > [class*="col-"],
main .section .row.g-4 > [class*="col-"],
main .section .row.g-2 > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

main .section .row.g-3 > [class*="col-"] > .overview-card,
main .section .row.g-4 > [class*="col-"] > .overview-card,
main .section .row.g-3 > [class*="col-"] > .feature-card,
main .section .row.g-4 > [class*="col-"] > .feature-card,
main .section .row.g-3 > [class*="col-"] > article,
main .section .row.g-4 > [class*="col-"] > article,
main .section .row.g-2 > [class*="col-"] > .doc-guide-article-card,
main .section .row.g-2 > [class*="col-"] > .overview-card,
main .section .row.g-2 > [class*="col-"] > .feature-card,
main .section .row.g-2 > [class*="col-"] > article {
    flex: 1 1 auto;
}

/* Docs app hub: text link CTAs (not .btn — keeps fold button count down) */
.docs-app-card-link {
    display: inline-block;
    margin-top: auto;
    padding-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--purple-accent);
    text-decoration: none;
}

.docs-app-card-link:hover {
    color: var(--purple-dark, #5a2d91);
    text-decoration: underline;
}

.overview-card.position-relative > .docs-app-card-link.stretched-link::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
}

/* Readable prose measure — mobile/tablet only; desktop uses full container width */
@media (max-width: 991.98px) {
    main .page-hero .container > p:not(.hero-kicker),
    main .section .container > p:not(.small):not(.text-muted),
    main .section .container > ul:not(.nav):not(.list-unstyled),
    main .section .container > ol,
    main .section .container > div:not(.row):not(.dropdown) > p:not(.small):not(.text-muted) {
        max-width: min(100%, 42rem);
    }

    main .section .container > p.lead,
    main .section .container > .lead {
        max-width: min(100%, 48rem);
    }
}

/* Cards, grids, and tables always use their layout width */
main .section .container .overview-card p,
main .section .container .feature-card p,
main .section .container .docs-app-directory-item p,
main .overview-card p,
main .feature-card p,
main .docs-app-directory-item p,
main .news-hub-card p,
main .table-responsive p {
    max-width: none;
}

.measure-full {
    max-width: none !important;
}

/* Full-card links (audience pickers): body left, “go to page” icon right */
.overview-card.overview-card--clickable {
    display: flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.overview-card.overview-card--clickable:hover {
    border-color: var(--border-purple-med);
    box-shadow: var(--shadow-card);
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-surface-tint) 100%);
    color: inherit;
}

.overview-card.overview-card--clickable:focus-visible {
    outline: 2px solid var(--purple-accent);
    outline-offset: 2px;
}

.overview-card--clickable-body {
    flex: 1;
    min-width: 0;
}

.overview-card--clickable-body .h5 {
    margin-bottom: 0.35rem;
}

.overview-card--clickable-icon {
    flex-shrink: 0;
    margin-top: 0.2rem;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.overview-card.overview-card--clickable:hover .overview-card--clickable-icon {
    transform: translateX(3px);
    opacity: 1;
}

.overview-card.overview-card--clickable.h-100 {
    height: 100%;
    align-items: center;
}

/*
 * Compact scan rows (mobile-first): leading icon, title + one-line copy, optional chevron.
 * Keeps marketing chrome (lavender icon tile, not iOS settings list).
 */
.overview-card--row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.85rem 1rem;
    text-align: left;
}

.overview-card.h-100.overview-card--row {
    flex-direction: row;
    align-items: center;
}

.overview-card--row-icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    background: var(--bg-surface-tint);
    color: var(--purple-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.overview-card--row-icon svg {
    width: 1.25rem;
    height: 1.25rem;
    display: block;
}

.overview-card--row .overview-card--clickable-body,
.overview-card--row-body {
    flex: 1 1 auto;
    min-width: 0;
}

.overview-card--row h3,
.overview-card--row .h5,
.overview-card--row .h6 {
    margin-bottom: 0.15rem;
    letter-spacing: -0.02em;
}

.overview-card--row p {
    line-height: 1.4;
}

.overview-card--compact {
    padding: 0.95rem 1.05rem;
}

.journey-card-grid,
.audience-card-grid,
.cta-card-grid {
    --bs-gutter-x: 0.85rem;
    --bs-gutter-y: 0.75rem;
}

@media (min-width: 992px) {
    .journey-card-grid .overview-card.h-100.overview-card--row {
        flex-direction: row;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1.15rem 1.1rem;
    }

    .journey-card-grid .overview-card--row-icon {
        margin-top: 0.05rem;
    }

    .journey-card-grid .overview-card--clickable-icon {
        display: none;
    }
}

.feature-card-image {
    height: 140px;
    border: 1px solid #e6def4;
    border-radius: 10px;
    background: #faf8ff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-card-image img {
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

.feature-card-image-screen {
    height: 140px;
}

.feature-card-image-screen img {
    width: auto !important;
    max-width: 100%;
    height: 100% !important;
    max-height: 100%;
    object-fit: contain;
}

.feature-card-image--logo img {
    height: 82px !important;
    width: auto !important;
    max-width: 88%;
    object-fit: contain;
}

.feature-card-copy {
    margin-bottom: 0.75rem;
}

.feature-card-links,
.overview-card-links {
    margin-top: auto;
}

.feature-card-compact {
    min-height: 360px;
}

.auctions-card-grid .feature-card-compact {
    min-height: 0;
}

.auctions-card-grid .feature-card-text-only .feature-card-links,
.auctions-card-grid .feature-card-text-only .btn,
.auctions-card-grid .feature-card-text-only .feature-card-link {
    margin-top: auto;
}

.page-hero.jobalots {
    background:
        linear-gradient(180deg, rgba(255, 107, 53, 0.12) 0%, rgba(255, 107, 53, 0.04) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.jobalots::after {
    display: none;
}

.page-hero.bstock {
    background:
        linear-gradient(180deg, rgba(26, 77, 122, 0.12) 0%, rgba(26, 77, 122, 0.04) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.bstock::after {
    display: none;
}

.page-hero.bargainfox {
    background:
        linear-gradient(180deg, rgba(40, 167, 69, 0.12) 0%, rgba(40, 167, 69, 0.04) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.bargainfox::after {
    display: none;
}

.page-hero.ibidder {
    background:
        linear-gradient(180deg, rgba(42, 42, 42, 0.08) 0%, rgba(42, 42, 42, 0.03) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.ibidder::after {
    display: none;
}

.page-hero.bidspotter {
    background:
        linear-gradient(180deg, rgba(30, 58, 95, 0.12) 0%, rgba(30, 58, 95, 0.04) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.bidspotter::after {
    display: none;
}

.page-hero.gap {
    background:
        linear-gradient(180deg, rgba(42, 157, 143, 0.12) 0%, rgba(42, 157, 143, 0.04) 42%, transparent 100%),
        var(--gradient-hero-panel);
    color: var(--text-heading);
}

.page-hero.gap::after {
    display: none;
}

.section h2:not(.h5) {
    font-size: var(--font-size-h2);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--text-heading);
    margin-bottom: 0.875rem;
}

.section h3:not(.h5) {
    font-size: var(--font-size-h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--text-heading);
}

.feature-card h2.h4,
.overview-card h2.h4 {
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: -0.015em;
    color: var(--text-heading);
    margin-bottom: 0.5rem;
}

.feature-card h3:not(.h5) {
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.32;
    color: var(--text-heading);
    margin-bottom: 0.5rem;
}

.feature-card .h5,
.overview-card .h5 {
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: -0.015em;
    color: var(--text-heading);
    margin-bottom: 0.625rem;
}

.section p,
.section li,
.section td,
.section th {
    font-size: var(--font-size-body-sm);
    line-height: 1.7;
    color: var(--text-body);
}

.section strong {
    color: var(--text-body-strong);
    font-weight: 600;
}

.section .lead {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text-body);
    font-weight: 400;
}

.section p {
    margin-bottom: var(--spacing-block);
}

.section ul,
.section ol {
    margin-top: 0;
    margin-bottom: var(--spacing-block);
    padding-left: 1.3rem;
}

.section li + li {
    margin-top: var(--spacing-list);
}

.feature-problem-card {
    position: relative;
    overflow: hidden;
    background: var(--gradient-lavender-soft);
    border: 1px solid var(--border-purple-soft);
    border-radius: var(--radius-card);
    padding: 1.5rem 1.375rem 1.5rem 1.5rem;
    box-shadow: none;
}

.feature-problem-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #7c3aed 0%, #a78bfa 100%);
}

.feature-problem-card .h5 {
    color: var(--purple-accent-2);
    font-weight: 600;
    margin-bottom: 0.75rem;
    line-height: 1.35;
    letter-spacing: -0.015em;
    font-size: 1.0625rem;
}

.feature-problem-card p {
    margin-bottom: 0;
    line-height: 1.75;
    font-size: var(--font-size-body-sm);
    color: var(--text-body);
}

/* Editorial emphasis / pull-quote pattern */
.quote-card {
    position: relative;
    overflow: hidden;
    background: var(--gradient-lavender-soft);
    border: 1px solid var(--border-purple-soft);
    border-radius: var(--radius-card);
    padding: 1.5rem 1.375rem 1.5rem 1.5rem;
}

.quote-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #7c3aed 0%, #a78bfa 100%);
}

.quote-card__quote {
    margin: 0 0 1.125rem;
    font-size: 1.0625rem;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--purple-accent-2);
    max-width: 42ch;
}

.quote-card__body {
    margin: 0;
    font-size: var(--font-size-body-sm);
    line-height: 1.75;
    font-weight: 400;
    color: var(--text-body);
}

.quote-card__icon {
    display: inline-block;
    margin-right: 0.5rem;
    color: var(--purple-accent);
    font-style: normal;
}

.feature-problem-card + .overview-card,
.feature-problem-card + .screenshot-frame,
.feature-problem-card + .row {
    margin-top: 0.35rem;
}

.red-flag-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.9rem;
}

/*
 * .overview-card.h-100 forces a column flex layout for grid card height behaviour.
 * Red-flag cards must stay row: icon left, title + description stacked on the right.
 */
.overview-card.red-flag-card.h-100:not(.overview-card--clickable) {
    flex-direction: row;
    align-items: flex-start;
}

.red-flag-card > div:not(.red-flag-card-media) {
    flex: 1;
    min-width: 0;
}

.red-flag-card-media {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border: 1px solid #f0c3c1;
    border-radius: 12px;
    background: #fff4f4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.red-flag-card-media img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain;
    display: block;
}

.group-card-item {
    position: relative;
}

.group-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.65rem;
}

.group-card-icon img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
    display: block;
}

.group-card-item--faq {
    border-color: #d8dff6;
    background: #fcfdff;
}

.group-card-item--faq .group-card-icon {
    background: #eef2ff;
}

.group-card-item--checklist {
    border-color: #d5eedf;
    background: #fbfffc;
}

.group-card-item--checklist .group-card-icon {
    background: #eaf9f0;
}

.checklist-card {
    --checklist-accent: #198754;
    --checklist-border: #cfe9da;
    --checklist-bg: #f4fbf7;
    border-color: var(--checklist-border);
    border-left: 4px solid var(--checklist-accent);
    background: var(--checklist-bg);
}

.checklist-card-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.checklist-card-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.checklist-card-item + .checklist-card-item {
    margin-top: 0.55rem;
}

.checklist-card-mark {
    color: var(--checklist-accent);
    font-weight: 700;
    line-height: 1.2;
    margin-top: 0.05rem;
    flex: 0 0 auto;
    min-width: 0.95rem;
    text-align: center;
}

.checklist-card--success {
    --checklist-accent: #198754;
    --checklist-border: #cfe9da;
    --checklist-bg: #f4fbf7;
}

.checklist-card--warning {
    --checklist-accent: #b7791f;
    --checklist-border: #f3deb4;
    --checklist-bg: #fff9ec;
}

.checklist-card--danger {
    --checklist-accent: #c0392b;
    --checklist-border: #f2c5c1;
    --checklist-bg: #fff3f2;
}

.checklist-card--warning .checklist-card-mark {
    font-size: 0.95rem;
}

.checklist-card--danger .checklist-card-mark {
    font-size: 0.9rem;
}

.cta-banner {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 10%, rgba(111, 53, 245, 0.12), transparent 40%),
        var(--gradient-lavender-soft);
    border: 1px solid var(--border-purple-soft);
    border-radius: var(--radius-card);
    padding: 1.75rem 1.75rem 1.75rem 1.875rem;
    color: var(--text-heading);
    box-shadow: 0 1px 2px rgba(14, 12, 34, 0.04);
}

.cta-banner::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--purple-accent) 0%, var(--purple-accent-soft) 100%);
}

/* Beat .section h2:not(.h5) { color: var(--text-heading) } — CTA lives inside <section class="section"> */
.section .cta-banner h2,
.cta-banner h2 {
    color: var(--text-heading);
    margin-bottom: 0.625rem;
}

.section .cta-banner p,
.cta-banner p {
    color: var(--text-body);
    max-width: 62ch;
    margin-bottom: 1.125rem;
}

/* Legacy markup uses light buttons on the old dark banner — remap for lavender panel */
.cta-banner .btn-light {
    background: var(--purple-accent);
    border-color: var(--purple-accent);
    color: var(--text-inverse);
}

.cta-banner .btn-light:hover,
.cta-banner .btn-light:focus-visible {
    background: var(--purple-accent-2);
    border-color: var(--purple-accent-2);
    color: var(--text-inverse);
}

.cta-banner .btn-outline-light {
    color: var(--purple-accent-2);
    border-color: var(--border-purple-med);
    background: rgba(255, 255, 255, 0.72);
}

.cta-banner .btn-outline-light:hover,
.cta-banner .btn-outline-light:focus-visible {
    background: rgba(111, 53, 245, 0.08);
    border-color: var(--purple-accent);
    color: var(--purple-accent);
}

/* “Was this helpful?” — above site footer */
.article-helpful-bar {
    border-top: 1px solid var(--color-border);
    background: #fafafa;
    padding: 1rem 0 1.25rem;
}

.article-helpful-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
}

.article-helpful-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.article-helpful-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

.article-helpful-prompt {
    color: #5c5c5c;
    font-size: 0.95rem;
    margin: 0;
}

.article-helpful-prompt-short {
    display: none;
}

.article-helpful-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
}

.article-helpful-share {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    align-self: center;
    gap: 0.25rem;
    padding-left: 1.25rem;
    border-left: 1px solid var(--color-border);
}

@media (max-width: 575px) {
    .article-helpful-bar {
        padding: 0.65rem 0 0.85rem;
    }

    .article-helpful-inner {
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0.35rem 0.5rem;
        justify-content: flex-start;
    }

    .article-helpful-body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .article-helpful-left {
        flex-wrap: nowrap;
        min-width: 0;
        gap: 0.35rem 0.5rem;
    }

    .article-helpful-prompt-full {
        display: none;
    }

    .article-helpful-prompt-short {
        display: inline;
    }

    .article-helpful-prompt {
        font-size: 0.8125rem;
        flex-shrink: 0;
        white-space: nowrap;
    }

    .article-helpful-actions {
        flex-shrink: 0;
        flex-wrap: nowrap;
        gap: 0.2rem 0.35rem;
    }

    .article-helpful-share {
        display: flex;
        flex-shrink: 0;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.15rem;
        padding-left: 0.5rem;
        margin-left: auto;
        border-left: 1px solid var(--color-border);
    }

    .article-helpful-btn {
        font-size: 0.8125rem;
        padding: 0.15rem 0.2rem;
        gap: 0.25rem;
    }

    .article-helpful-btn svg {
        width: 15px;
        height: 15px;
    }
}

.article-helpful-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: none;
    background: transparent;
    color: #1a1a1a;
    font-size: 0.95rem;
    padding: 0.25rem 0.35rem;
    cursor: pointer;
    border-radius: 0.25rem;
}

.article-helpful-btn:hover,
.article-helpful-btn:focus-visible {
    background: rgba(0, 0, 0, 0.06);
    outline: none;
}

.article-helpful-comment {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    width: 100%;
}

.article-helpful-comment-label {
    font-size: 0.875rem;
    color: #5c5c5c;
    margin: 0;
}

.article-helpful-comment-input {
    width: 100%;
    min-height: 4.5rem;
    resize: vertical;
    border: 1px solid var(--color-border);
    border-radius: 0.35rem;
    padding: 0.5rem 0.65rem;
    font: inherit;
    font-size: 0.9rem;
    color: #1a1a1a;
    background: #fff;
}

.article-helpful-comment-input:focus-visible {
    outline: 2px solid #6040b8;
    outline-offset: 1px;
}

.article-helpful-comment-error {
    font-size: 0.8125rem;
    color: #b42318;
}

.article-helpful-comment-submit {
    align-self: flex-start;
    border: 1px solid var(--color-border);
    background: #fff;
    padding: 0.35rem 0.75rem;
}

html.rp-embed-mode .article-helpful-share {
    display: none;
}

.article-helpful-btn:focus-visible {
    box-shadow: 0 0 0 2px rgba(96, 64, 184, 0.35);
}

.article-helpful-btn svg {
    flex-shrink: 0;
}

.article-helpful-btn--copied {
    color: #1a7a4a;
}

.article-helpful-btn--copied:hover,
.article-helpful-btn--copied:focus-visible {
    background: rgba(26, 122, 74, 0.08);
}

.article-helpful-thanks {
    color: #5c5c5c;
    font-size: 0.95rem;
    margin: 0;
}

.site-footer {
    border-top: 1px solid var(--color-border);
    background: #fff;
}

.breadcrumb-wrap {
    background: #fff;
    color: var(--text-breadcrumb);
    border-top: none;
    border-bottom: 1px solid var(--border-breadcrumb);
}

.breadcrumb-wrap .breadcrumb {
    --bs-breadcrumb-divider: ">";
    --bs-breadcrumb-divider-color: var(--text-breadcrumb);
    padding-top: 0.625rem;
    padding-bottom: 0.75rem;
}

.breadcrumb-wrap .breadcrumb-item,
.breadcrumb-wrap .breadcrumb-item a {
    font-size: 0.875rem;
    line-height: 1.45;
}

.breadcrumb-wrap .breadcrumb-item {
    color: var(--text-breadcrumb);
    font-weight: 500;
}

.breadcrumb-wrap .breadcrumb-item a {
    color: var(--text-breadcrumb);
    font-weight: 500;
    text-decoration: none;
}

.breadcrumb-wrap .breadcrumb-item a:hover {
    color: var(--purple-accent);
}

.breadcrumb-wrap .breadcrumb-item.active {
    color: var(--text-breadcrumb-active);
    font-weight: 600;
}

.breadcrumb-wrap .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    float: none;
    display: inline-block;
    padding: 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-breadcrumb);
    opacity: 0.72;
}

.footer-link {
    margin-left: 1rem;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    border: 1px solid var(--color-border);
    padding: 0.75rem;
}

th {
    background: var(--color-bg-light);
    color: var(--text-heading);
}

@media (max-width: 767.98px) {
    .table-responsive {
        overflow-x: visible;
    }

    .table-responsive table {
        border: 0;
    }

    .table-responsive thead {
        display: none;
    }

    .table-responsive tbody,
    .table-responsive tr,
    .table-responsive td {
        display: block;
        width: 100%;
    }

    .table-responsive tr {
        margin-bottom: 1rem;
        border: 1px solid var(--color-border);
        border-radius: 8px;
        overflow: hidden;
        background: #fff;
    }

    .table-responsive td {
        border: 0;
        border-bottom: 1px solid var(--color-border);
        padding: 0.65rem 0.75rem;
    }

    .table-responsive td:last-child {
        border-bottom: 0;
    }

    .table-responsive td::before {
        content: attr(data-label);
        display: block;
        font-weight: 600;
        color: var(--text-heading);
        margin-bottom: 0.25rem;
        font-size: 0.8125rem;
    }
}

.site-footer h2,
.site-footer .h6 {
    color: var(--text-heading);
}

.screenshot-frame {
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--color-border);
    max-width: 100%;
}

.screenshot-frame.screenshot-frame--responsive {
    max-width: min(100%, 1024px);
}

.screenshot-frame img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.screenshot-frame--responsive img {
    width: 100%;
    height: auto;
    max-height: 560px;
    max-width: 100%;
    object-fit: contain;
    object-position: top center;
    background: #fff;
}

.search-result-card {
    --search-accent: #8c6adf;
    --search-accent-soft: #f2edff;
    --search-accent-soft-border: #dfd3fb;
    --search-accent-text: #6047a5;
    border: 1px solid #dddff0;
    border-left: 5px solid var(--search-accent);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(22, 28, 45, 0.04);
    padding: 1.05rem 1.1rem 1.1rem 1.1rem;
}

.search-result-head {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.search-result-section {
    display: inline-block;
    font-size: 0.78rem;
    line-height: 1;
    padding: 0.3rem 0.45rem;
    border-radius: 999px;
    background: var(--search-accent-soft);
    border: 1px solid var(--search-accent-soft-border);
    color: var(--search-accent-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.search-result-card .h5 {
    margin-bottom: 0.6rem !important;
}

.search-result-card p {
    margin-bottom: 0.6rem !important;
    line-height: 1.55;
}

.search-result-card--buying { --search-accent: #7f62d6; --search-accent-soft: #f2edff; --search-accent-soft-border: #dfd3fb; --search-accent-text: #5f46a5; }
.search-result-card--selling { --search-accent: #0f8b7d; --search-accent-soft: #eafaf7; --search-accent-soft-border: #bfece3; --search-accent-text: #0f6e63; }
.search-result-card--auctions { --search-accent: #d57a1b; --search-accent-soft: #fff4e8; --search-accent-soft-border: #f7d8b5; --search-accent-text: #a85d12; }
.search-result-card--fba { --search-accent: #2f7dde; --search-accent-soft: #eaf3ff; --search-accent-soft-border: #caddf8; --search-accent-text: #265fb2; }
.search-result-card--platform { --search-accent: #5d72d8; --search-accent-soft: #edf0ff; --search-accent-soft-border: #d2daf9; --search-accent-text: #4258b6; }
.search-result-card--guides { --search-accent: #2c8f5e; --search-accent-soft: #e9f8ef; --search-accent-soft-border: #c6ebd4; --search-accent-text: #216d48; }
.search-result-card--legal { --search-accent: #7b8496; --search-accent-soft: #f2f4f8; --search-accent-soft-border: #dde2ec; --search-accent-text: #5f6778; }
.search-result-card--reseller { --search-accent: #6040b8; --search-accent-soft: #efe7ff; --search-accent-soft-border: #d9c9fb; --search-accent-text: #54319f; }
.search-result-card--site { --search-accent: #8e72c8; --search-accent-soft: #f3effb; --search-accent-soft-border: #e0d5f3; --search-accent-text: #665197; }

.search-result-badge--reseller {
    background: #efe7ff;
    border-color: #d9c9fb;
    color: #54319f;
}

/* Dynamic filter chips above search results */
.search-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.3rem 0.6rem 0.3rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s;
    background: var(--sf-bg);
    border-color: var(--sf-border);
    color: var(--sf-text);
}

.search-filter-chip:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(96, 64, 184, 0.3);
}

.search-filter-chip:hover:not(.is-active) {
    filter: brightness(0.96);
}

.search-filter-chip.is-active {
    background: var(--sf-active-bg);
    border-color: var(--sf-active-bg);
    color: #fff;
}

.search-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 0 0.2rem;
    background: rgba(0, 0, 0, 0.1);
}

.search-filter-chip.is-active .search-filter-count {
    background: rgba(255, 255, 255, 0.28);
}

/* Per-tone chip palette — mirrors search-result-card color tokens */
.search-filter-chip--all      { --sf-bg: #f2edff; --sf-border: #dfd3fb; --sf-text: #5f46a5; --sf-active-bg: #7f62d6; }
.search-filter-chip--buying   { --sf-bg: #f2edff; --sf-border: #dfd3fb; --sf-text: #5f46a5; --sf-active-bg: #7f62d6; }
.search-filter-chip--selling  { --sf-bg: #eafaf7; --sf-border: #bfece3; --sf-text: #0f6e63; --sf-active-bg: #0f8b7d; }
.search-filter-chip--auctions { --sf-bg: #fff4e8; --sf-border: #f7d8b5; --sf-text: #a85d12; --sf-active-bg: #d57a1b; }
.search-filter-chip--fba      { --sf-bg: #eaf3ff; --sf-border: #caddf8; --sf-text: #265fb2; --sf-active-bg: #2f7dde; }
.search-filter-chip--platform { --sf-bg: #edf0ff; --sf-border: #d2daf9; --sf-text: #4258b6; --sf-active-bg: #5d72d8; }
.search-filter-chip--guides   { --sf-bg: #e9f8ef; --sf-border: #c6ebd4; --sf-text: #216d48; --sf-active-bg: #2c8f5e; }
.search-filter-chip--legal    { --sf-bg: #f2f4f8; --sf-border: #dde2ec; --sf-text: #5f6778; --sf-active-bg: #7b8496; }
.search-filter-chip--site     { --sf-bg: #f3effb; --sf-border: #e0d5f3; --sf-text: #665197; --sf-active-bg: #8e72c8; }
.search-filter-chip--reseller { --sf-bg: #efe7ff; --sf-border: #d9c9fb; --sf-text: #54319f; --sf-active-bg: #6040b8; }
.search-filter-chip--auctioneer { --sf-bg: #fff4e8; --sf-border: #f7d8b5; --sf-text: #a85d12; --sf-active-bg: #d57a1b; }
.search-filter-chip--amazon { --sf-bg: #eaf3ff; --sf-border: #caddf8; --sf-text: #265fb2; --sf-active-bg: #2f7dde; }
/* Marketplace filters — same color-mix tokens as .search-result-platform--* on cards (no generic
   [class*="--platform-"] rule: it beat per-platform selectors and forced neutral gray). */
.search-filter-chip--platform-ebay {
    --sf-bg: color-mix(in srgb, var(--color-ebay) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-ebay) 35%, #fff);
    --sf-text: color-mix(in srgb, var(--color-ebay) 72%, #000);
    --sf-active-bg: var(--color-ebay);
}
.search-filter-chip--platform-allegro {
    --sf-bg: color-mix(in srgb, var(--color-allegro) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-allegro) 38%, #fff);
    --sf-text: color-mix(in srgb, var(--color-allegro) 65%, #000);
    --sf-active-bg: var(--color-allegro);
}
.search-filter-chip--platform-jobalots {
    --sf-bg: color-mix(in srgb, var(--color-jobalots) 16%, #fff);
    --sf-border: color-mix(in srgb, var(--color-jobalots) 40%, #fff);
    --sf-text: color-mix(in srgb, var(--color-jobalots) 55%, #1a1a1a);
    --sf-active-bg: var(--color-jobalots);
}
.search-filter-chip--platform-ibidder {
    --sf-bg: color-mix(in srgb, var(--color-ibidder) 16%, #fff);
    --sf-border: color-mix(in srgb, var(--color-ibidder) 40%, #fff);
    --sf-text: color-mix(in srgb, var(--color-ibidder) 55%, #1a1a1a);
    --sf-active-bg: var(--color-ibidder);
}
.search-filter-chip--platform-bidspotter {
    --sf-bg: color-mix(in srgb, var(--color-bidspotter) 16%, #fff);
    --sf-border: color-mix(in srgb, var(--color-bidspotter) 42%, #fff);
    --sf-text: color-mix(in srgb, var(--color-bidspotter) 45%, #0d1f2a);
    --sf-active-bg: var(--color-bidspotter);
}
.search-filter-chip--platform-bstock {
    --sf-bg: color-mix(in srgb, var(--color-bstock) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-bstock) 38%, #fff);
    --sf-text: color-mix(in srgb, var(--color-bstock) 55%, #000);
    --sf-active-bg: var(--color-bstock);
}
.search-filter-chip--platform-bargainfox {
    --sf-bg: color-mix(in srgb, var(--color-bargainfox) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-bargainfox) 38%, #fff);
    --sf-text: color-mix(in srgb, var(--color-bargainfox) 50%, #0d1f14);
    --sf-active-bg: var(--color-bargainfox);
}
.search-filter-chip--platform-gap {
    --sf-bg: color-mix(in srgb, var(--color-gap) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-gap) 40%, #fff);
    --sf-text: color-mix(in srgb, var(--color-gap) 48%, #0a1f1c);
    --sf-active-bg: var(--color-gap);
}
.search-filter-chip--platform-atg {
    --sf-bg: color-mix(in srgb, var(--color-atg) 14%, #fff);
    --sf-border: color-mix(in srgb, var(--color-atg) 38%, #fff);
    --sf-text: color-mix(in srgb, var(--color-atg) 58%, #000);
    --sf-active-bg: var(--color-atg);
}

/* /docs/app/ hub — search + audience chips + card pills */
.docs-app-mode-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.docs-app-mode-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
}

.docs-app-mode-pill {
    display: inline-block;
    font-size: 0.68rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.docs-app-mode-pill--reseller {
    background: #efe7ff;
    border-color: #d9c9fb;
    color: #54319f;
}

.docs-app-mode-pill--auctioneer {
    background: #fff4e8;
    border-color: #f7d8b5;
    color: #a85d12;
}

.docs-app-mode-pill--amazon {
    background: #eaf3ff;
    border-color: #caddf8;
    color: #265fb2;
}

#search-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

/* Marketplace / sourcing platform badges (search results) */
.search-result-platform {
    display: inline-block;
    font-size: 0.78rem;
    line-height: 1;
    padding: 0.3rem 0.45rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.search-result-platform--ebay {
    background: color-mix(in srgb, var(--color-ebay) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-ebay) 35%, #fff);
    color: color-mix(in srgb, var(--color-ebay) 72%, #000);
}

.search-result-platform--allegro {
    background: color-mix(in srgb, var(--color-allegro) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-allegro) 38%, #fff);
    color: color-mix(in srgb, var(--color-allegro) 65%, #000);
}

.search-result-platform--jobalots {
    background: color-mix(in srgb, var(--color-jobalots) 16%, #fff);
    border-color: color-mix(in srgb, var(--color-jobalots) 40%, #fff);
    color: color-mix(in srgb, var(--color-jobalots) 55%, #1a1a1a);
}

.search-result-platform--ibidder {
    background: color-mix(in srgb, var(--color-ibidder) 16%, #fff);
    border-color: color-mix(in srgb, var(--color-ibidder) 40%, #fff);
    color: color-mix(in srgb, var(--color-ibidder) 55%, #1a1a1a);
}

.search-result-platform--bidspotter {
    background: color-mix(in srgb, var(--color-bidspotter) 16%, #fff);
    border-color: color-mix(in srgb, var(--color-bidspotter) 42%, #fff);
    color: color-mix(in srgb, var(--color-bidspotter) 45%, #0d1f2a);
}

.search-result-platform--bstock {
    background: color-mix(in srgb, var(--color-bstock) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-bstock) 38%, #fff);
    color: color-mix(in srgb, var(--color-bstock) 55%, #000);
}

.search-result-platform--bargainfox {
    background: color-mix(in srgb, var(--color-bargainfox) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-bargainfox) 38%, #fff);
    color: color-mix(in srgb, var(--color-bargainfox) 50%, #0d1f14);
}

.search-result-platform--gap {
    background: color-mix(in srgb, var(--color-gap) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-gap) 40%, #fff);
    color: color-mix(in srgb, var(--color-gap) 48%, #0a1f1c);
}

.search-result-platform--atg {
    background: color-mix(in srgb, var(--color-atg) 14%, #fff);
    border-color: color-mix(in srgb, var(--color-atg) 38%, #fff);
    color: color-mix(in srgb, var(--color-atg) 58%, #000);
}

.search-result-url {
    font-size: 0.83rem;
    color: #6f7482;
    word-break: break-all;
}

/* Inline search form on /search/ results page */
.search-page-toolbar {
    max-width: 640px;
}

.search-page-form {
    max-width: 560px;
}

.search-page-form-row {
    display: flex;
    border-radius: var(--radius-button);
    overflow: hidden;
    border: 1px solid var(--border-purple-soft);
    background: var(--bg-surface);
    box-shadow: 0 1px 2px rgba(14, 12, 34, 0.04);
}

.search-page-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: var(--text-heading);
    font-size: 1rem;
    padding: 0.55rem 0.875rem;
    outline: none;
}

.search-page-input::placeholder {
    color: var(--text-body);
    opacity: 0.72;
}

.search-page-input:focus {
    background: var(--bg-surface);
}

/* Remove default webkit search cancel button to keep styling clean */
.search-page-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.search-page-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    border: none;
    background: var(--purple-accent);
    border-left: 1px solid var(--purple-accent-2);
    color: var(--text-inverse);
    font-size: 0.95rem;
    font-weight: 500;
    padding: 0.55rem 1rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.search-page-submit:hover,
.search-page-submit:focus-visible {
    background: var(--purple-accent-2);
    outline: none;
}

.search-page-submit:focus-visible {
    box-shadow: 0 0 0 2px rgba(111, 53, 245, 0.35);
}

/* Popular search chips on /search/ */
.search-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
}

.search-chips-label {
    font-size: 0.85rem;
    color: var(--text-body);
    margin-right: 0.15rem;
    white-space: nowrap;
}

.search-chip {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--purple-accent-2);
    background: var(--lavender-soft-top);
    border: 1px solid var(--border-purple-soft);
    border-radius: 999px;
    padding: 0.22rem 0.7rem;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}

.search-chip:hover,
.search-chip:focus-visible {
    background: var(--lavender-soft-mid);
    border-color: var(--border-purple-med);
    color: var(--purple-accent);
    outline: none;
}

.search-chip:focus-visible {
    box-shadow: 0 0 0 2px rgba(111, 53, 245, 0.25);
}

/* Browse-by-topic link list in search sidebar */
.search-browse-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.search-browse-links li {
    border-bottom: 1px solid var(--color-border);
    padding: 0.4rem 0;
}

.search-browse-links li:last-child {
    border-bottom: none;
}

.search-browse-links a {
    font-size: 0.9rem;
    color: var(--color-link);
    text-decoration: none;
}

.search-browse-links a:hover {
    text-decoration: underline;
}

.glossary-table tr[id] {
    scroll-margin-top: calc(var(--header-height) + 18px);
}

.glossary-table tr:target td {
    background: #fff9d6;
    transition: background-color 0.2s ease;
    box-shadow: inset 0 0 0 1px #f1de7a;
}

.glossary-table tr:target td:first-child {
    box-shadow: inset 3px 0 0 #d3ad00, inset 0 0 0 1px #f1de7a;
}

@media (max-width: 992px) {
    .feature-card,
    .feature-card.feature-wide {
        grid-column: span 12;
    }
}

@media (min-width: 992px) {
    .navbar .dropdown-menu.dropdown-menu-mega {
        width: min(1120px, 96vw);
        left: 50%;
        transform: translateX(-50%);
        max-height: 75vh;
        overflow-y: auto;
    }

    .navbar .dropdown-menu.dropdown-menu-mega > li {
        list-style: none;
    }

    .mega-grid {
        grid-template-columns: repeat(3, minmax(210px, 1fr));
        gap: 0.75rem;
    }

    .product-mega .mega-grid {
        grid-template-columns: repeat(4, minmax(170px, 1fr));
    }

    .buying-mega .mega-grid,
    .selling-mega .mega-grid {
        grid-template-columns: repeat(4, minmax(170px, 1fr));
    }

    .guides-mega-grid {
        grid-template-columns: repeat(4, minmax(160px, 1fr));
        gap: 0.75rem 0.5rem;
    }
}

/* Clickable overview cards: keyboard focus on stretched-link parent */
.overview-card.position-relative:focus-within,
.feature-card.position-relative:focus-within {
    outline: 2px solid var(--purple-accent);
    outline-offset: 2px;
    border-radius: var(--radius-card);
}

.ebay-seo-guide .ebay-seo-guide-lead {
    border-color: var(--color-primary) !important;
}

@media (max-width: 768px) {
    .section {
        padding: 1.75rem 0;
    }

    .section-tight {
        padding: 1.35rem 0;
    }

    .hero:has(.hero-surface) {
        padding: 1.25rem 0 1.5rem;
    }

    .hero:has(.hero-surface) h1 {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
    }

    .footer-link {
        margin-left: 0.75rem;
    }

    .screenshot-frame--responsive img {
        max-height: 320px;
    }

    .news-figure .screenshot-frame--responsive img {
        max-height: 320px;
    }

    .feature-card,
    .overview-card {
        padding: 0.9rem 1rem;
        border-radius: 16px;
        box-shadow: 0 1px 2px rgba(14, 12, 34, 0.04), 0 6px 16px rgba(14, 12, 34, 0.05);
    }

    .feature-card .h5,
    .overview-card .h5 {
        font-size: 1rem;
        margin-bottom: 0.25rem;
    }

    .overview-card p,
    .feature-card p {
        font-size: 0.8125rem;
        line-height: 1.45;
    }

    .overview-card--row,
    .overview-card--compact {
        padding: 0.8rem 0.9rem;
    }

    .overview-card--row-icon {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 10px;
    }

    .overview-card.overview-card--clickable {
        gap: 0.65rem 0.75rem;
    }

    .overview-card--clickable-body .h5 {
        margin-bottom: 0.15rem;
    }

    .overview-card--clickable-icon {
        width: 18px;
        height: 18px;
        margin-top: 0;
        opacity: 0.7;
    }

    .overview-card--clickable-icon svg {
        width: 18px;
        height: 18px;
    }

    .hero-surface {
        padding: 0.5rem;
        border-radius: 12px;
    }

    .hero-surface img {
        max-height: 200px;
        width: 100%;
        object-fit: cover;
        object-position: top left;
    }

    h2.section-heading-with-icon.card-title-with-icon {
        margin-bottom: 0.85rem;
        font-size: 1.2rem;
        gap: 0.45rem;
    }

    h2.section-heading-with-icon.card-title-with-icon .card-title-icon svg {
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 480px) {
    .site-header .navbar {
        min-height: 60px;
    }

    .page-hero,
    .hero:not(:has(.hero-surface)) {
        padding: 1rem 0 1.25rem;
    }

    .page-hero h1,
    .hero:not(:has(.hero-surface)) h1 {
        font-size: 1.625rem;
        line-height: 1.12;
    }

    .page-hero p:not(.hero-kicker),
    .hero:not(:has(.hero-surface)) p:not(.hero-kicker) {
        font-size: 0.9375rem;
        line-height: 1.55;
    }

    .hero:has(.hero-surface) {
        padding: 1.5rem 0 1.75rem;
    }

    .hero:has(.hero-surface) h1 {
        font-size: 1.75rem;
        line-height: 1.12;
    }

    .hero:has(.hero-surface) p:not(.hero-kicker) {
        font-size: 0.9375rem;
        line-height: 1.55;
    }

    .section h2:not(.h5) {
        font-size: 1.3125rem;
        line-height: 1.2;
    }

    .quote-card {
        padding: 1.375rem 1.25rem 1.375rem 1.35rem;
    }

    .quote-card__quote {
        font-size: 1rem;
    }

    .breadcrumb-wrap .breadcrumb-item,
    .breadcrumb-wrap .breadcrumb-item a {
        font-size: 0.8125rem;
    }
}

@media (max-width: 991.98px) {
    .site-header .navbar-toggler {
        margin-left: auto;
    }

    .site-header .navbar-collapse {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .site-header .navbar-nav {
        width: 100%;
    }

    .site-header .navbar .d-flex.gap-2.align-items-center {
        width: 100%;
        flex-direction: column;
        align-items: stretch !important;
        margin-top: 0.75rem;
    }

    .site-search-form {
        width: 100%;
    }

    .link-login,
    .site-header .btn.btn-primary {
        text-align: center;
    }
}

/* --- In-app user guide (/docs/app/) screenshot figures --- */
.doc-screenshot {
    margin: 1.5rem 0;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    background: var(--bg-muted, #f3f4f8);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 8px 28px rgba(15, 18, 30, 0.08);
}

.doc-screenshot img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.doc-screenshot figcaption {
    padding: 0.65rem 1rem 0.85rem;
    font-size: 0.875rem;
    color: var(--text-muted, #5c6170);
    background: rgba(255, 255, 255, 0.65);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.doc-screenshot--wide {
    max-width: 100%;
}

.doc-screenshot--card {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.doc-screenshot--narrow {
    max-width: 28rem;
}

.doc-screenshot--chip {
    max-width: 22rem;
}

@media (max-width: 767.98px) {
    .doc-screenshot--wide img,
    .doc-screenshot img {
        max-height: min(50vh, 280px);
        width: 100%;
        object-fit: contain;
        object-position: top left;
    }
}

/* Pair of detail placeholders (card + chip) before Related — reads as part of the article */
.doc-guide-detail-shots {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-soft, rgba(0, 0, 0, 0.08));
}

.doc-guide-detail-shots .doc-screenshot {
    margin-top: 0;
    margin-bottom: 0;
}

.doc-guide-detail-shots .col-lg-5 {
    display: flex;
    justify-content: flex-start;
}

@media (min-width: 992px) {
    .doc-guide-detail-shots .col-lg-5 {
        justify-content: center;
    }
}

/* User guide (/docs/app/): intro What + How to access as two cards */
.doc-guide-intro-row .overview-card {
    height: 100%;
    margin-bottom: 0;
}

.doc-guide-intro-row .overview-card p:last-child {
    margin-bottom: 0;
}

/* Compact On this page article cards (not the full news-hub card) */
.doc-guide-article-card {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--border-soft, rgba(0, 0, 0, 0.1));
    border-radius: 0.65rem;
    background: var(--surface-elevated, #fff);
    min-height: 4.5rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.doc-guide-article-card:hover {
    border-color: var(--border-purple-med, #b9a8e8);
    box-shadow: var(--shadow-card, 0 8px 24px rgba(47, 24, 89, 0.08));
}

.doc-guide-article-card-thumb {
    flex: 0 0 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
    min-height: 3.5rem;
    margin: 0.5rem 0 0.5rem 0.65rem;
    border-radius: 10px;
    background: #f4eefc;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.doc-guide-article-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 0.3rem;
}

/* Hide leftover screenshot src until JS swaps in a type icon. */
.doc-guide-article-card-thumb img:not([src*="help-icon-"]) {
    visibility: hidden;
}

.doc-guide-article-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0.65rem 0.85rem 0.65rem 0;
}

.doc-guide-article-card-body .stretched-link {
    color: inherit;
}

.doc-guide-article-cards {
    margin-top: 0.35rem;
}

.col-md-6 > .doc-guide-article-cards.faq-followup-cards {
    margin-top: 0.65rem;
}

h2.doc-guide-section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 2.25rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--border-soft, rgba(0, 0, 0, 0.08));
}

/* Demo locale hub: GB/PL flag cards on /demo/ */
.demo-locale-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.demo-locale-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.75rem;
    border: 1px solid var(--border-soft, rgba(0, 0, 0, 0.1));
    border-radius: 0.75rem;
    background: var(--surface-elevated, #fff);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.demo-locale-card:hover,
.demo-locale-card:focus-visible {
    border-color: var(--brand-primary, #0d6efd);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
    text-decoration: none;
    color: inherit;
}

.demo-locale-flag {
    display: inline-block;
    width: 3.5rem;
    height: 2.25rem;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-size: cover;
    background-position: center;
}

.demo-locale-flag-gb {
    background-image: linear-gradient(to bottom, #012169 33%, #fff 33%, #fff 66%, #C8102E 66%);
}

.demo-locale-flag-pl {
    background-image: linear-gradient(to bottom, #fff 50%, #DC143C 50%);
}

.demo-currency-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.demo-currency-chip {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: var(--surface-muted, #f4f5f7);
    font-size: 0.9rem;
}

/* What's new / news posts (Allegro-style short updates) */
.news-date {
    color: var(--text-muted, #6c757d);
    font-size: 0.85rem;
}

.news-article .lead {
    font-size: 1.0625rem;
}

.news-figure {
    margin: 0;
    text-align: center;
}

/* Hug the image (no full-width white letterboxing); keep centered in the article. */
.news-figure .screenshot-frame {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    vertical-align: top;
}

.news-figure .screenshot-frame--responsive img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: unset;
    background: transparent;
}

/* Wider phone UI crops (progress sheets, short panels) — keep phone-sized on desktop. */
.news-figure .screenshot-frame--phone {
    max-width: min(100%, 360px);
}

.news-figcaption {
    margin-top: 0.65rem;
    color: var(--text-muted, #6c757d);
    font-size: 0.925rem;
    line-height: 1.45;
    text-align: left;
}

.news-steps {
    padding-left: 1.25rem;
}

.news-steps > li {
    margin-bottom: 0.75rem;
    padding-left: 0.25rem;
}

.news-steps > li:last-child {
    margin-bottom: 0;
}

.news-hub-card {
    position: relative;
    padding: 0;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

/* Override overview-card.h-100 column flex so the thumb+body row can layout. */
.overview-card.news-hub-card.h-100:not(.overview-card--clickable) {
    display: block;
}

.news-hub-card:hover {
    border-color: var(--border-purple-med);
    box-shadow: var(--shadow-card);
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-surface-tint) 100%);
}

.news-hub-card-layout {
    display: flex;
    align-items: stretch;
    min-height: 148px;
}

.news-hub-card-thumb {
    flex: 0 0 240px;
    max-width: 38%;
    position: relative;
    align-self: stretch;
    min-height: 148px;
    background: var(--surface-muted, #f4f5f7);
    border-right: 1px solid var(--border-soft);
    overflow: hidden;
}

/* Absolute crop so tall phone screenshots can't stretch the card; overflow clips at the bottom. */
.news-hub-card-thumb img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.news-hub-card-thumb--top-left img {
    object-position: top left;
}

/* Release notes hub — branded checklist icon, not feature screenshots. */
.news-hub-card-thumb--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fbfffc 0%, #f4fbf7 100%);
}

.news-hub-card-thumb--icon img {
    position: static;
    inset: auto;
    width: auto;
    height: auto;
    max-width: 5.5rem;
    max-height: 5.5rem;
    object-fit: contain;
}

/* Release notes hub cards — compact icon rail on /news/release-notes/ and /news/ rollups. */
.news-hub-list--release-notes .news-hub-card-layout,
.news-hub-card--release-notes .news-hub-card-layout {
    min-height: 0;
    align-items: center;
}

.news-hub-list--release-notes .news-hub-card-thumb--icon,
.news-hub-card--release-notes .news-hub-card-thumb--icon {
    flex: 0 0 4.25rem;
    max-width: none;
    min-height: 0;
    align-self: stretch;
    padding: 0.65rem 0.5rem;
}

.news-hub-list--release-notes .news-hub-card-thumb--icon img,
.news-hub-card--release-notes .news-hub-card-thumb--icon img {
    max-width: 2.25rem;
    max-height: 2.25rem;
}

.news-hub-list--release-notes .news-hub-card-body,
.news-hub-card--release-notes .news-hub-card-body {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.news-hub-card-body {
    flex: 1;
    min-width: 0;
    padding: 1.25rem 1.35rem;
}

.news-hub-card-body .h5 {
    margin-bottom: 0.5rem;
}

@media (max-width: 767.98px) {
    .news-hub-card-layout {
        flex-direction: column;
        min-height: 0;
    }

    .news-hub-card-thumb {
        flex: none;
        max-width: none;
        width: 100%;
        aspect-ratio: 16 / 9;
        border-right: none;
        border-bottom: 1px solid var(--border-soft);
    }

    .news-hub-card-body {
        padding: 1.125rem 1.15rem 1.25rem;
    }

    .news-hub-list--release-notes .news-hub-card-layout,
    .news-hub-card--release-notes .news-hub-card-layout {
        flex-direction: row;
        min-height: 0;
    }

    .news-hub-list--release-notes .news-hub-card-thumb--icon,
    .news-hub-card--release-notes .news-hub-card-thumb--icon {
        flex: 0 0 3.5rem;
        width: auto;
        aspect-ratio: auto;
        border-bottom: none;
        border-right: 1px solid var(--border-soft);
        padding: 0.5rem 0.35rem;
    }

    .news-hub-list--release-notes .news-hub-card-thumb--icon img,
    .news-hub-card--release-notes .news-hub-card-thumb--icon img {
        max-width: 1.75rem;
        max-height: 1.75rem;
    }
}

.news-hub-scroll-sentinel {
    height: 1px;
    width: 100%;
    pointer-events: none;
}

.news-hub-scroll-loading[hidden] {
    display: none !important;
}

/* Help corpus language switcher (standalone marketing pages only) */
.page-hero .container.rp-help-hero-with-switcher {
    position: relative;
}

.rp-help-hero-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.625rem;
}

.rp-help-hero-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.5rem;
}

.rp-help-hero-title-row h1 {
    flex: 1 1 12rem;
    margin-bottom: 0;
    min-width: 0;
}

.rp-help-locale-switcher {
    flex: 0 0 auto;
    margin-left: auto;
}

.rp-help-locale-switcher .rp-language-switcher-toggle {
    gap: 0.4rem;
    padding: 0.3rem 0.65rem;
    border-color: rgba(111, 53, 245, 0.45);
    color: #3d2a6b;
    font-weight: 500;
    white-space: nowrap;
}

.rp-help-locale-switcher .rp-language-switcher-toggle:hover,
.rp-help-locale-switcher .rp-language-switcher-toggle:focus {
    background-color: rgba(111, 53, 245, 0.06);
    border-color: rgba(111, 53, 245, 0.65);
    color: #3d2a6b;
}

.rp-language-switcher-flag {
    width: 24px;
    height: 18px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.rp-help-locale-switcher .rp-language-switcher-option {
    gap: 0.55rem;
    min-width: 11rem;
}

.rp-help-locale-switcher .rp-language-switcher-option-label {
    flex: 1 1 auto;
    text-align: left;
}

@media (max-width: 575.98px) {
    .rp-help-locale-switcher .rp-language-switcher-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .rp-help-locale-switcher .rp-language-switcher-toggle {
        padding: 0.35rem 0.5rem;
        min-width: 2.25rem;
        justify-content: center;
    }
}
