/* Drive: retailer selection and a readable, mobile-friendly review workflow. */
.drive-intro {
    background: linear-gradient(110deg, #f0f6f2, var(--bg-card));
    border: 1px solid #d5e4da;
    margin-bottom: 16px;
}

.drive-controls {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
}

.drive-controls label {
    display: grid;
    gap: 6px;
    min-width: 220px;
    flex: 1;
}

.drive-controls select,
.drive-product-card select,
.drive-product-card input {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-xs);
    padding: 10px;
    background: var(--bg-card);
    color: var(--text-main);
}

.drive-site-link {
    text-decoration: none;
    display: inline-block;
}

.drive-muted,
.drive-shopping-row span {
    color: var(--text-muted);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.drive-shopping-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.drive-product-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    background: var(--bg-soft);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.drive-product-card h4,
.drive-product-card p { margin: 0; }
.drive-product-card label { display: grid; gap: 6px; font-size: 0.9rem; }
.drive-result-added { color: #23653b; font-weight: bold; }
.drive-result-unconfirmed, .drive-result-not_found { color: #9a5b13; }

.drive-progress {
    padding: 12px 16px;
    background: #eef3ef;
    border-radius: var(--radius-xs);
    margin-bottom: 16px;
    line-height: 1.5;
}

.drive-working { border-left: 4px solid #41744e; }
#view-drive button:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 700px) {
    .drive-controls { flex-direction: column; align-items: stretch; }
    .drive-controls label { min-width: 0; }
    .drive-shopping-row { flex-direction: column; gap: 4px; }
    #view-drive .btn-group button { min-height: 44px; width: 100%; }
}
