/* ==================== START QUOTE (pantalla intermedia) ==================== */
.start-quote-page {
    max-width: 920px;
    margin: 0 auto;
    padding: 48px 16px 64px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.sq-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.sq-hero-title {
    margin: 0;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--m-text);
}

.sq-hero-subtitle {
    max-width: 480px;
    margin: 0;
    font-size: 15px;
    color: var(--m-text-muted);
}

.sq-search-form {
    display: flex;
    gap: 10px;
    width: 100%;
    max-width: 620px;
    margin-top: 8px;
}

.sq-search-wrap {
    flex: 1;
}

.sq-search-input {
    height: 44px;
    font-size: 14px;
}

.sq-search-btn {
    height: 44px;
}

.sq-suggestions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
}

.sq-suggestion {
    padding: 6px 14px;
    border: 1px solid var(--m-border);
    border-radius: 999px;
    background: var(--m-surface);
    font: 500 13px var(--m-font);
    color: var(--m-text-muted);
    cursor: pointer;
    transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
}

    .sq-suggestion:hover {
        border-color: var(--m-accent);
        color: var(--m-accent);
        background: var(--m-accent-soft);
    }

.sq-section-title {
    margin: 0 0 16px;
    font-size: 16px;
    font-weight: 600;
    color: var(--m-text);
    text-align: center;
}

.sq-category-list {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--m-border);
    border-radius: var(--m-radius-lg);
    background: var(--m-surface);
    box-shadow: var(--m-shadow-xs);
    overflow: hidden;
}

.sq-cat-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 18px;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--m-divider);
    text-align: left;
    cursor: pointer;
    transition: background 120ms ease;
}

    .sq-cat-row:last-child {
        border-bottom: none;
    }

    .sq-cat-row:hover {
        background: var(--m-surface-2);
    }

        .sq-cat-row:hover .sq-cat-row-arrow {
            transform: translateX(3px);
            color: var(--m-accent);
        }

.sq-cat-row-name {
    flex: 1;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--m-text);
}

.sq-cat-row-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 26px;
    padding: 0 4px;
    border-radius: var(--m-radius-sm);
    background: var(--m-accent-soft);
    color: var(--m-accent);
    font-size: 11px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.sq-cat-row-arrow {
    flex-shrink: 0;
    width: 16px !important;
    height: 16px !important;
    color: var(--m-text-faint);
    transition: transform 160ms cubic-bezier(.34, 1.56, .64, 1), color 120ms ease;
}

/* Skeleton (placeholder mientras cargan las categorías) */
.sq-skel-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 14px 18px;
    border-bottom: 1px solid var(--m-divider);
}

    .sq-skel-row:last-child {
        border-bottom: none;
    }

.sq-skel-line {
    border-radius: 4px;
    background: linear-gradient(90deg, var(--m-surface-2) 25%, var(--m-border) 37%, var(--m-surface-2) 63%);
    background-size: 400% 100%;
    animation: sq-skel-shimmer 1.4s ease infinite;
}

.sq-skel-line.is-name {
    width: 45%;
    height: 13px;
}

.sq-skel-line.is-count {
    width: 28px;
    height: 13px;
}

@keyframes sq-skel-shimmer {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

@media (max-width: 480px) {
    .sq-search-form {
        flex-direction: column;
    }
}
