* { margin: 0; padding: 0; box-sizing: border-box; } :root { --white: #fff; --gray-100: #e5e5e5; --gray-300: #bdbdbd; --gray-500: #333; --orange-300: #f6ad55; --orange-500: #ed8936; } body, input, button { font-family: "Roboto", sans-serif; font-size: 16px; color: var(--gray-500); } button { cursor: pointer; } .shopping-container { max-width: 1200px; margin: 0 auto; padding: 0 15px; } .shopping-title { margin: 32px 0; font-size: 32px; } .shopping-form { margin-bottom: 32px; } .shopping-form-inputs { display: flex; align-items: flex-end; margin-bottom: 24px; } .shopping-form-item-wrapper { flex: 1; max-width: 256px; } .shopping-form-label { display: block; margin-bottom: 4px; } .shopping-form-item-input, .shopping-form-quantity-input { width: 100%; height: 32px; padding: 0px 12px; border: 1px solid var(--gray-300); border-radius: 4px; background-color: var(--white); } .shopping-form-quantity-wrapper { display: flex; align-items: center; margin-left: 24px; } .shopping-form-quantity-input { max-width: 64px; text-align: center; margin: 0px 4px; } .shopping-form-quantity-button { position: relative; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; border-radius: 4px; background-color: var(--gray-100); transition: background-color 0.2s linear; } .shopping-form-quantity-button:hover { background: var(--orange-500); } .shopping-form-quantity-button:active { background: var(--orange-300); } .shopping-form-quantity-button::before, .shopping-form-increment-button::after { content: ""; position: absolute; width: 16px; height: 4px; border-radius: 4px; background: var(--white); } .shopping-form-increment-button::after { transform: rotate(90deg); } .shopping-form-submit-button { width: 100%; max-width: 128px; height: 32px; bottom: 0; border-radius: 4px; border: none; color: var(--white); font-weight: 700; background: var(--orange-500); transition: background-color 0.2s linear; } .shopping-form-submit-button:hover { background: var(--orange-300); } .shopping-form-submit-button:active { background: var(--orange-500); } .shopping-result { max-width: 416px; } .shopping-result-head, .shopping-item { display: grid; grid-template-columns: 3fr 1fr; padding: 8px 16px; } .shopping-result-head { background: var(--gray-100); } .shopping-items { list-style: none; } .shopping-item:nth-child(even) { background: var(--gray-100); }