/* Webcams Feature Page */

/* ==========================================================================
   Hero preview wrapper
   ========================================================================== */

.hero__demo {
    margin-top: var(--space-10);
    padding-bottom: var(--space-12);
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.hero__demo-image {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
}

/* ==========================================================================
   Flow Diagrams (Push vs. Pull)
   ========================================================================== */

.flow-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-8) var(--space-4);
    background: var(--color-neutral-50);
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--radius-xl);
}

.flow-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    width: 88px;
    text-align: center;
}

.flow-node__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--radius-full);
    color: var(--color-primary-500);
    box-shadow: var(--shadow-sm);
}

.flow-node__icon svg {
    width: 26px;
    height: 26px;
}

.flow-node__label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-neutral-900);
}

.flow-node__sublabel {
    font-size: var(--font-size-xs);
    color: var(--color-neutral-500);
}

.flow-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
    margin-inline: var(--space-2);
    color: var(--color-neutral-300);
}

.flow-arrow svg {
    width: 28px;
    height: 28px;
}

.flow-arrow__label {
    max-width: 56px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-neutral-500);
    text-align: center;
}

@container (max-width: 480px) {
    .flow-diagram {
        flex-direction: column;
    }

    .flow-arrow {
        flex-direction: row;
        margin-inline: 0;
        margin-block: var(--space-2);
    }

    .flow-arrow svg {
        transform: rotate(90deg);
    }
}

/* ==========================================================================
   Single centered pricing card (add-on pricing)
   ========================================================================== */

.pricing-cards--single {
    max-width: 420px;
    grid-template-columns: 1fr;
}
