.price-comparison-form { display: grid; gap: 1rem; }
.price-comparison-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; }
.price-comparison-form legend { padding: 0 .35rem; font-weight: 650; }
.price-comparison-form label { display: grid; gap: .4rem; min-width: 0; color: var(--text-secondary); font-size: .9rem; }
.price-comparison-form input, .price-comparison-form select { width: 100%; min-width: 0; min-height: 44px; padding: .7rem .8rem; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: .7rem; font: inherit; }
.price-comparison-form button { min-height: 48px; }
.price-comparison-error { color: var(--danger, #b42318); }
.price-comparison-result { margin-top: 1.25rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
.price-comparison-result h2 { margin-top: 0; }
.price-comparison-result p { display: flex; justify-content: space-between; gap: 1rem; margin: .5rem 0; }
.price-comparison-result output { font-weight: 650; text-align: right; }
@media (max-width: 480px) { .price-comparison-form fieldset { gap: .55rem; padding: .75rem; } }
